From d1cab1f3b30196e862316a79db47778bf9daf468 Mon Sep 17 00:00:00 2001 From: Vladislav Khorev Date: Fri, 9 Jan 2026 22:33:46 +0300 Subject: [PATCH] refactoring --- CMakeLists.txt | 42 +- blender scripts/output/spaceship005.txt | 15036 ---------------- .../space-game001plain.html | 0 .../thirdparty}/libzip-1.11.3/.clang-format | 0 .../.github/ISSUE_TEMPLATE/bug-report.md | 0 .../.github/ISSUE_TEMPLATE/compile-error.md | 0 .../.github/ISSUE_TEMPLATE/feature-request.md | 0 .../.github/ISSUE_TEMPLATE/other.md | 0 .../.github/workflows/CIFuzz.yml | 0 .../libzip-1.11.3/.github/workflows/bsd.yml | 0 .../libzip-1.11.3/.github/workflows/build.yml | 0 .../.github/workflows/codeql-analysis.yml | 0 .../.github/workflows/coverity.yml | 0 .../thirdparty}/libzip-1.11.3/API-CHANGES.md | 0 .../thirdparty}/libzip-1.11.3/AUTHORS | 0 .../thirdparty}/libzip-1.11.3/CMakeLists.txt | 0 .../thirdparty}/libzip-1.11.3/INSTALL.md | 0 .../thirdparty}/libzip-1.11.3/LICENSE | 0 .../thirdparty}/libzip-1.11.3/NEWS.md | 0 .../thirdparty}/libzip-1.11.3/README.md | 0 .../thirdparty}/libzip-1.11.3/SECURITY.md | 0 .../thirdparty}/libzip-1.11.3/THANKS | 0 .../thirdparty}/libzip-1.11.3/TODO.md | 0 .../thirdparty}/libzip-1.11.3/android/do.sh | 0 .../libzip-1.11.3/android/docker/Dockerfile | 0 .../libzip-1.11.3/android/readme.txt | 0 .../thirdparty}/libzip-1.11.3/appveyor.yml | 0 .../cmake-compat/CMakePushCheckState.cmake | 0 .../cmake-compat/CheckLibraryExists.cmake | 0 .../cmake-compat/CheckSymbolExists.cmake | 0 .../cmake-compat/FindBZip2.cmake | 0 .../cmake-compat/FindGnuTLS.cmake | 0 .../cmake-compat/FindLibLZMA.cmake | 0 .../FindPackageHandleStandardArgs.cmake | 0 .../cmake-compat/FindPackageMessage.cmake | 0 .../SelectLibraryConfigurations.cmake | 0 .../libzip-1.11.3/cmake/Dist.cmake | 0 .../libzip-1.11.3/cmake}/FindMbedTLS.cmake | 0 .../libzip-1.11.3/cmake}/FindNettle.cmake | 0 .../libzip-1.11.3/cmake}/Findzstd.cmake | 0 .../cmake/GenerateZipErrorStrings.cmake | 0 .../thirdparty}/libzip-1.11.3/config.h.in | 0 .../libzip-1.11.3/examples/CMakeLists.txt | 0 .../examples/add-compressed-data.c | 0 .../examples/autoclose-archive.c | 0 .../examples/cmake-project/CMakeLists.txt | 0 .../examples/cmake-project/cmake-example.c | 0 .../libzip-1.11.3/examples/in-memory.c | 0 .../libzip-1.11.3/examples/windows-open.c | 0 .../libzip-1.11.3/lib/CMakeLists.txt | 0 .../thirdparty}/libzip-1.11.3/lib/compat.h | 0 .../thirdparty/libzip-1.11.3/lib}/zip.h | 0 .../thirdparty}/libzip-1.11.3/lib/zip_add.c | 0 .../libzip-1.11.3/lib/zip_add_dir.c | 0 .../libzip-1.11.3/lib/zip_add_entry.c | 0 .../libzip-1.11.3/lib/zip_algorithm_bzip2.c | 0 .../libzip-1.11.3/lib/zip_algorithm_deflate.c | 0 .../libzip-1.11.3/lib/zip_algorithm_xz.c | 0 .../libzip-1.11.3/lib/zip_algorithm_zstd.c | 0 .../libzip-1.11.3/lib/zip_buffer.c | 0 .../thirdparty}/libzip-1.11.3/lib/zip_close.c | 0 .../libzip-1.11.3/lib/zip_crypto.h | 0 .../lib/zip_crypto_commoncrypto.c | 0 .../lib/zip_crypto_commoncrypto.h | 0 .../libzip-1.11.3/lib/zip_crypto_gnutls.c | 0 .../libzip-1.11.3/lib/zip_crypto_gnutls.h | 0 .../libzip-1.11.3/lib/zip_crypto_mbedtls.c | 0 .../libzip-1.11.3/lib/zip_crypto_mbedtls.h | 0 .../libzip-1.11.3/lib/zip_crypto_openssl.c | 0 .../libzip-1.11.3/lib/zip_crypto_openssl.h | 0 .../libzip-1.11.3/lib/zip_crypto_win.c | 0 .../libzip-1.11.3/lib/zip_crypto_win.h | 0 .../libzip-1.11.3/lib/zip_delete.c | 0 .../libzip-1.11.3/lib/zip_dir_add.c | 0 .../libzip-1.11.3/lib/zip_dirent.c | 0 .../libzip-1.11.3/lib/zip_discard.c | 0 .../thirdparty}/libzip-1.11.3/lib/zip_entry.c | 0 .../thirdparty}/libzip-1.11.3/lib/zip_error.c | 0 .../libzip-1.11.3/lib/zip_error_clear.c | 0 .../libzip-1.11.3/lib/zip_error_get.c | 0 .../lib/zip_error_get_sys_type.c | 0 .../libzip-1.11.3/lib/zip_error_strerror.c | 0 .../libzip-1.11.3/lib/zip_error_to_str.c | 0 .../libzip-1.11.3/lib/zip_extra_field.c | 0 .../libzip-1.11.3/lib/zip_extra_field_api.c | 0 .../libzip-1.11.3/lib/zip_fclose.c | 0 .../libzip-1.11.3/lib/zip_fdopen.c | 0 .../libzip-1.11.3/lib/zip_file_add.c | 0 .../libzip-1.11.3/lib/zip_file_error_clear.c | 0 .../libzip-1.11.3/lib/zip_file_error_get.c | 0 .../libzip-1.11.3/lib/zip_file_get_comment.c | 0 .../lib/zip_file_get_external_attributes.c | 0 .../libzip-1.11.3/lib/zip_file_get_offset.c | 0 .../libzip-1.11.3/lib/zip_file_rename.c | 0 .../libzip-1.11.3/lib/zip_file_replace.c | 0 .../libzip-1.11.3/lib/zip_file_set_comment.c | 0 .../lib/zip_file_set_encryption.c | 0 .../lib/zip_file_set_external_attributes.c | 0 .../libzip-1.11.3/lib/zip_file_set_mtime.c | 0 .../libzip-1.11.3/lib/zip_file_strerror.c | 0 .../thirdparty}/libzip-1.11.3/lib/zip_fopen.c | 0 .../libzip-1.11.3/lib/zip_fopen_encrypted.c | 0 .../libzip-1.11.3/lib/zip_fopen_index.c | 0 .../lib/zip_fopen_index_encrypted.c | 0 .../thirdparty}/libzip-1.11.3/lib/zip_fread.c | 0 .../thirdparty}/libzip-1.11.3/lib/zip_fseek.c | 0 .../thirdparty}/libzip-1.11.3/lib/zip_ftell.c | 0 .../lib/zip_get_archive_comment.c | 0 .../libzip-1.11.3/lib/zip_get_archive_flag.c | 0 .../lib/zip_get_encryption_implementation.c | 0 .../libzip-1.11.3/lib/zip_get_file_comment.c | 0 .../libzip-1.11.3/lib/zip_get_name.c | 0 .../libzip-1.11.3/lib/zip_get_num_entries.c | 0 .../libzip-1.11.3/lib/zip_get_num_files.c | 0 .../thirdparty}/libzip-1.11.3/lib/zip_hash.c | 0 .../libzip-1.11.3/lib/zip_io_util.c | 0 .../libzip-1.11.3/lib/zip_libzip_version.c | 0 .../libzip-1.11.3/lib/zip_memdup.c | 0 .../libzip-1.11.3/lib/zip_name_locate.c | 0 .../thirdparty}/libzip-1.11.3/lib/zip_new.c | 0 .../thirdparty}/libzip-1.11.3/lib/zip_open.c | 0 .../libzip-1.11.3/lib/zip_pkware.c | 0 .../libzip-1.11.3/lib/zip_progress.c | 0 .../libzip-1.11.3/lib/zip_random_unix.c | 0 .../libzip-1.11.3/lib/zip_random_uwp.c | 0 .../libzip-1.11.3/lib/zip_random_win32.c | 0 .../libzip-1.11.3/lib/zip_rename.c | 0 .../libzip-1.11.3/lib/zip_replace.c | 0 .../lib/zip_set_archive_comment.c | 0 .../libzip-1.11.3/lib/zip_set_archive_flag.c | 0 .../lib/zip_set_default_password.c | 0 .../libzip-1.11.3/lib/zip_set_file_comment.c | 0 .../lib/zip_set_file_compression.c | 0 .../libzip-1.11.3/lib/zip_set_name.c | 0 .../lib/zip_source_accept_empty.c | 0 .../lib/zip_source_begin_write.c | 0 .../lib/zip_source_begin_write_cloning.c | 0 .../libzip-1.11.3/lib/zip_source_buffer.c | 0 .../libzip-1.11.3/lib/zip_source_call.c | 0 .../libzip-1.11.3/lib/zip_source_close.c | 0 .../lib/zip_source_commit_write.c | 0 .../libzip-1.11.3/lib/zip_source_compress.c | 0 .../libzip-1.11.3/lib/zip_source_crc.c | 0 .../libzip-1.11.3/lib/zip_source_error.c | 0 .../libzip-1.11.3/lib/zip_source_file.h | 0 .../lib/zip_source_file_common.c | 0 .../libzip-1.11.3/lib/zip_source_file_stdio.c | 0 .../libzip-1.11.3/lib/zip_source_file_stdio.h | 0 .../lib/zip_source_file_stdio_named.c | 0 .../libzip-1.11.3/lib/zip_source_file_win32.c | 0 .../libzip-1.11.3/lib/zip_source_file_win32.h | 0 .../lib/zip_source_file_win32_ansi.c | 0 .../lib/zip_source_file_win32_named.c | 0 .../lib/zip_source_file_win32_utf16.c | 0 .../lib/zip_source_file_win32_utf8.c | 0 .../libzip-1.11.3/lib/zip_source_free.c | 0 .../libzip-1.11.3/lib/zip_source_function.c | 0 .../lib/zip_source_get_dostime.c | 0 .../lib/zip_source_get_file_attributes.c | 0 .../libzip-1.11.3/lib/zip_source_is_deleted.c | 0 .../libzip-1.11.3/lib/zip_source_layered.c | 0 .../libzip-1.11.3/lib/zip_source_open.c | 0 .../lib/zip_source_pass_to_lower_layer.c | 0 .../lib/zip_source_pkware_decode.c | 0 .../lib/zip_source_pkware_encode.c | 0 .../libzip-1.11.3/lib/zip_source_read.c | 0 .../libzip-1.11.3/lib/zip_source_remove.c | 0 .../lib/zip_source_rollback_write.c | 0 .../libzip-1.11.3/lib/zip_source_seek.c | 0 .../libzip-1.11.3/lib/zip_source_seek_write.c | 0 .../libzip-1.11.3/lib/zip_source_stat.c | 0 .../libzip-1.11.3/lib/zip_source_supports.c | 0 .../libzip-1.11.3/lib/zip_source_tell.c | 0 .../libzip-1.11.3/lib/zip_source_tell_write.c | 0 .../libzip-1.11.3/lib/zip_source_window.c | 0 .../lib/zip_source_winzip_aes_decode.c | 0 .../lib/zip_source_winzip_aes_encode.c | 0 .../libzip-1.11.3/lib/zip_source_write.c | 0 .../libzip-1.11.3/lib/zip_source_zip.c | 0 .../libzip-1.11.3/lib/zip_source_zip_new.c | 0 .../thirdparty}/libzip-1.11.3/lib/zip_stat.c | 0 .../libzip-1.11.3/lib/zip_stat_index.c | 0 .../libzip-1.11.3/lib/zip_stat_init.c | 0 .../libzip-1.11.3/lib/zip_strerror.c | 0 .../libzip-1.11.3/lib/zip_string.c | 0 .../libzip-1.11.3/lib/zip_unchange.c | 0 .../libzip-1.11.3/lib/zip_unchange_all.c | 0 .../libzip-1.11.3/lib/zip_unchange_archive.c | 0 .../libzip-1.11.3/lib/zip_unchange_data.c | 0 .../thirdparty}/libzip-1.11.3/lib/zip_utf-8.c | 0 .../libzip-1.11.3/lib/zip_winzip_aes.c | 0 .../thirdparty}/libzip-1.11.3/lib/zipint.h | 0 .../libzip-1.11.3/libzip-config.cmake.in | 0 .../thirdparty}/libzip-1.11.3/libzip.pc.in | 0 .../libzip-1.11.3/man/CMakeLists.txt | 0 .../man/ZIP_SOURCE_GET_ARGS.html | 0 .../libzip-1.11.3/man/ZIP_SOURCE_GET_ARGS.man | 0 .../man/ZIP_SOURCE_GET_ARGS.mdoc | 0 .../libzip-1.11.3/man/handle_links | 0 .../thirdparty}/libzip-1.11.3/man/libzip.html | 0 .../thirdparty}/libzip-1.11.3/man/libzip.man | 0 .../thirdparty}/libzip-1.11.3/man/libzip.mdoc | 0 .../thirdparty}/libzip-1.11.3/man/links | 0 .../libzip-1.11.3/man/update-html.cmake | 0 .../libzip-1.11.3/man/update-man.cmake | 0 .../libzip-1.11.3/man/zip_add.html | 0 .../thirdparty}/libzip-1.11.3/man/zip_add.man | 0 .../libzip-1.11.3/man/zip_add.mdoc | 0 .../libzip-1.11.3/man/zip_add_dir.html | 0 .../libzip-1.11.3/man/zip_add_dir.man | 0 .../libzip-1.11.3/man/zip_add_dir.mdoc | 0 .../libzip-1.11.3/man/zip_close.html | 0 .../libzip-1.11.3/man/zip_close.man | 0 .../libzip-1.11.3/man/zip_close.mdoc | 0 .../man/zip_compression_method_supported.html | 0 .../man/zip_compression_method_supported.man | 0 .../man/zip_compression_method_supported.mdoc | 0 .../libzip-1.11.3/man/zip_delete.html | 0 .../libzip-1.11.3/man/zip_delete.man | 0 .../libzip-1.11.3/man/zip_delete.mdoc | 0 .../libzip-1.11.3/man/zip_dir_add.html | 0 .../libzip-1.11.3/man/zip_dir_add.man | 0 .../libzip-1.11.3/man/zip_dir_add.mdoc | 0 .../libzip-1.11.3/man/zip_discard.html | 0 .../libzip-1.11.3/man/zip_discard.man | 0 .../libzip-1.11.3/man/zip_discard.mdoc | 0 .../man/zip_encryption_method_supported.html | 0 .../man/zip_encryption_method_supported.man | 0 .../man/zip_encryption_method_supported.mdoc | 0 .../libzip-1.11.3/man/zip_error_clear.html | 0 .../libzip-1.11.3/man/zip_error_clear.man | 0 .../libzip-1.11.3/man/zip_error_clear.mdoc | 0 .../man/zip_error_code_system.html | 0 .../man/zip_error_code_system.man | 0 .../man/zip_error_code_system.mdoc | 0 .../libzip-1.11.3/man/zip_error_code_zip.html | 0 .../libzip-1.11.3/man/zip_error_code_zip.man | 0 .../libzip-1.11.3/man/zip_error_code_zip.mdoc | 0 .../libzip-1.11.3/man/zip_error_fini.html | 0 .../libzip-1.11.3/man/zip_error_fini.man | 0 .../libzip-1.11.3/man/zip_error_fini.mdoc | 0 .../libzip-1.11.3/man/zip_error_get.html | 0 .../libzip-1.11.3/man/zip_error_get.man | 0 .../libzip-1.11.3/man/zip_error_get.mdoc | 0 .../man/zip_error_get_sys_type.html | 0 .../man/zip_error_get_sys_type.man | 0 .../man/zip_error_get_sys_type.mdoc | 0 .../libzip-1.11.3/man/zip_error_init.html | 0 .../libzip-1.11.3/man/zip_error_init.man | 0 .../libzip-1.11.3/man/zip_error_init.mdoc | 0 .../libzip-1.11.3/man/zip_error_set.html | 0 .../libzip-1.11.3/man/zip_error_set.man | 0 .../libzip-1.11.3/man/zip_error_set.mdoc | 0 .../man/zip_error_set_from_source.html | 0 .../man/zip_error_set_from_source.man | 0 .../man/zip_error_set_from_source.mdoc | 0 .../libzip-1.11.3/man/zip_error_strerror.html | 0 .../libzip-1.11.3/man/zip_error_strerror.man | 0 .../libzip-1.11.3/man/zip_error_strerror.mdoc | 0 .../man/zip_error_system_type.html | 0 .../man/zip_error_system_type.man | 0 .../man/zip_error_system_type.mdoc | 0 .../libzip-1.11.3/man/zip_error_to_data.html | 0 .../libzip-1.11.3/man/zip_error_to_data.man | 0 .../libzip-1.11.3/man/zip_error_to_data.mdoc | 0 .../libzip-1.11.3/man/zip_error_to_str.html | 0 .../libzip-1.11.3/man/zip_error_to_str.man | 0 .../libzip-1.11.3/man/zip_error_to_str.mdoc | 0 .../libzip-1.11.3/man/zip_errors.html | 0 .../libzip-1.11.3/man/zip_errors.man | 0 .../libzip-1.11.3/man/zip_errors.mdoc | 0 .../libzip-1.11.3/man/zip_fclose.html | 0 .../libzip-1.11.3/man/zip_fclose.man | 0 .../libzip-1.11.3/man/zip_fclose.mdoc | 0 .../libzip-1.11.3/man/zip_fdopen.html | 0 .../libzip-1.11.3/man/zip_fdopen.man | 0 .../libzip-1.11.3/man/zip_fdopen.mdoc | 0 .../libzip-1.11.3/man/zip_file_add.html | 0 .../libzip-1.11.3/man/zip_file_add.man | 0 .../libzip-1.11.3/man/zip_file_add.mdoc | 0 .../man/zip_file_attributes_init.html | 0 .../man/zip_file_attributes_init.man | 0 .../man/zip_file_attributes_init.mdoc | 0 .../man/zip_file_extra_field_delete.html | 0 .../man/zip_file_extra_field_delete.man | 0 .../man/zip_file_extra_field_delete.mdoc | 0 .../man/zip_file_extra_field_get.html | 0 .../man/zip_file_extra_field_get.man | 0 .../man/zip_file_extra_field_get.mdoc | 0 .../man/zip_file_extra_field_set.html | 0 .../man/zip_file_extra_field_set.man | 0 .../man/zip_file_extra_field_set.mdoc | 0 .../man/zip_file_extra_fields_count.html | 0 .../man/zip_file_extra_fields_count.man | 0 .../man/zip_file_extra_fields_count.mdoc | 0 .../man/zip_file_get_comment.html | 0 .../man/zip_file_get_comment.man | 0 .../man/zip_file_get_comment.mdoc | 0 .../libzip-1.11.3/man/zip_file_get_error.html | 0 .../libzip-1.11.3/man/zip_file_get_error.man | 0 .../libzip-1.11.3/man/zip_file_get_error.mdoc | 0 .../man/zip_file_get_external_attributes.html | 0 .../man/zip_file_get_external_attributes.man | 0 .../man/zip_file_get_external_attributes.mdoc | 0 .../libzip-1.11.3/man/zip_file_rename.html | 0 .../libzip-1.11.3/man/zip_file_rename.man | 0 .../libzip-1.11.3/man/zip_file_rename.mdoc | 0 .../man/zip_file_set_comment.html | 0 .../man/zip_file_set_comment.man | 0 .../man/zip_file_set_comment.mdoc | 0 .../man/zip_file_set_encryption.html | 0 .../man/zip_file_set_encryption.man | 0 .../man/zip_file_set_encryption.mdoc | 0 .../man/zip_file_set_external_attributes.html | 0 .../man/zip_file_set_external_attributes.man | 0 .../man/zip_file_set_external_attributes.mdoc | 0 .../libzip-1.11.3/man/zip_file_set_mtime.html | 0 .../libzip-1.11.3/man/zip_file_set_mtime.man | 0 .../libzip-1.11.3/man/zip_file_set_mtime.mdoc | 0 .../libzip-1.11.3/man/zip_file_strerror.html | 0 .../libzip-1.11.3/man/zip_file_strerror.man | 0 .../libzip-1.11.3/man/zip_file_strerror.mdoc | 0 .../libzip-1.11.3/man/zip_fopen.html | 0 .../libzip-1.11.3/man/zip_fopen.man | 0 .../libzip-1.11.3/man/zip_fopen.mdoc | 0 .../man/zip_fopen_encrypted.html | 0 .../libzip-1.11.3/man/zip_fopen_encrypted.man | 0 .../man/zip_fopen_encrypted.mdoc | 0 .../libzip-1.11.3/man/zip_fread.html | 0 .../libzip-1.11.3/man/zip_fread.man | 0 .../libzip-1.11.3/man/zip_fread.mdoc | 0 .../libzip-1.11.3/man/zip_fseek.html | 0 .../libzip-1.11.3/man/zip_fseek.man | 0 .../libzip-1.11.3/man/zip_fseek.mdoc | 0 .../libzip-1.11.3/man/zip_ftell.html | 0 .../libzip-1.11.3/man/zip_ftell.man | 0 .../libzip-1.11.3/man/zip_ftell.mdoc | 0 .../man/zip_get_archive_comment.html | 0 .../man/zip_get_archive_comment.man | 0 .../man/zip_get_archive_comment.mdoc | 0 .../man/zip_get_archive_flag.html | 0 .../man/zip_get_archive_flag.man | 0 .../man/zip_get_archive_flag.mdoc | 0 .../libzip-1.11.3/man/zip_get_error.html | 0 .../libzip-1.11.3/man/zip_get_error.man | 0 .../libzip-1.11.3/man/zip_get_error.mdoc | 0 .../man/zip_get_file_comment.html | 0 .../man/zip_get_file_comment.man | 0 .../man/zip_get_file_comment.mdoc | 0 .../libzip-1.11.3/man/zip_get_name.html | 0 .../libzip-1.11.3/man/zip_get_name.man | 0 .../libzip-1.11.3/man/zip_get_name.mdoc | 0 .../man/zip_get_num_entries.html | 0 .../libzip-1.11.3/man/zip_get_num_entries.man | 0 .../man/zip_get_num_entries.mdoc | 0 .../libzip-1.11.3/man/zip_get_num_files.html | 0 .../libzip-1.11.3/man/zip_get_num_files.man | 0 .../libzip-1.11.3/man/zip_get_num_files.mdoc | 0 .../libzip-1.11.3/man/zip_libzip_version.html | 0 .../libzip-1.11.3/man/zip_libzip_version.man | 0 .../libzip-1.11.3/man/zip_libzip_version.mdoc | 0 .../libzip-1.11.3/man/zip_name_locate.html | 0 .../libzip-1.11.3/man/zip_name_locate.man | 0 .../libzip-1.11.3/man/zip_name_locate.mdoc | 0 .../libzip-1.11.3/man/zip_open.html | 0 .../libzip-1.11.3/man/zip_open.man | 0 .../libzip-1.11.3/man/zip_open.mdoc | 0 ...p_register_cancel_callback_with_state.html | 0 ...ip_register_cancel_callback_with_state.man | 0 ...p_register_cancel_callback_with_state.mdoc | 0 .../man/zip_register_progress_callback.html | 0 .../man/zip_register_progress_callback.man | 0 .../man/zip_register_progress_callback.mdoc | 0 ...register_progress_callback_with_state.html | 0 ..._register_progress_callback_with_state.man | 0 ...register_progress_callback_with_state.mdoc | 0 .../libzip-1.11.3/man/zip_rename.html | 0 .../libzip-1.11.3/man/zip_rename.man | 0 .../libzip-1.11.3/man/zip_rename.mdoc | 0 .../man/zip_set_archive_comment.html | 0 .../man/zip_set_archive_comment.man | 0 .../man/zip_set_archive_comment.mdoc | 0 .../man/zip_set_archive_flag.html | 0 .../man/zip_set_archive_flag.man | 0 .../man/zip_set_archive_flag.mdoc | 0 .../man/zip_set_default_password.html | 0 .../man/zip_set_default_password.man | 0 .../man/zip_set_default_password.mdoc | 0 .../man/zip_set_file_comment.html | 0 .../man/zip_set_file_comment.man | 0 .../man/zip_set_file_comment.mdoc | 0 .../man/zip_set_file_compression.html | 0 .../man/zip_set_file_compression.man | 0 .../man/zip_set_file_compression.mdoc | 0 .../libzip-1.11.3/man/zip_source.html | 0 .../libzip-1.11.3/man/zip_source.man | 0 .../libzip-1.11.3/man/zip_source.mdoc | 0 .../man/zip_source_begin_write.html | 0 .../man/zip_source_begin_write.man | 0 .../man/zip_source_begin_write.mdoc | 0 .../libzip-1.11.3/man/zip_source_buffer.html | 0 .../libzip-1.11.3/man/zip_source_buffer.man | 0 .../libzip-1.11.3/man/zip_source_buffer.mdoc | 0 .../man/zip_source_buffer_fragment.html | 0 .../man/zip_source_buffer_fragment.man | 0 .../man/zip_source_buffer_fragment.mdoc | 0 .../libzip-1.11.3/man/zip_source_close.html | 0 .../libzip-1.11.3/man/zip_source_close.man | 0 .../libzip-1.11.3/man/zip_source_close.mdoc | 0 .../man/zip_source_commit_write.html | 0 .../man/zip_source_commit_write.man | 0 .../man/zip_source_commit_write.mdoc | 0 .../libzip-1.11.3/man/zip_source_error.html | 0 .../libzip-1.11.3/man/zip_source_error.man | 0 .../libzip-1.11.3/man/zip_source_error.mdoc | 0 .../libzip-1.11.3/man/zip_source_file.html | 0 .../libzip-1.11.3/man/zip_source_file.man | 0 .../libzip-1.11.3/man/zip_source_file.mdoc | 0 .../libzip-1.11.3/man/zip_source_filep.html | 0 .../libzip-1.11.3/man/zip_source_filep.man | 0 .../libzip-1.11.3/man/zip_source_filep.mdoc | 0 .../libzip-1.11.3/man/zip_source_free.html | 0 .../libzip-1.11.3/man/zip_source_free.man | 0 .../libzip-1.11.3/man/zip_source_free.mdoc | 0 .../man/zip_source_function.html | 0 .../libzip-1.11.3/man/zip_source_function.man | 0 .../man/zip_source_function.mdoc | 0 .../man/zip_source_is_deleted.html | 0 .../man/zip_source_is_deleted.man | 0 .../man/zip_source_is_deleted.mdoc | 0 .../man/zip_source_is_seekable.html | 0 .../man/zip_source_is_seekable.man | 0 .../man/zip_source_is_seekable.mdoc | 0 .../libzip-1.11.3/man/zip_source_keep.html | 0 .../libzip-1.11.3/man/zip_source_keep.man | 0 .../libzip-1.11.3/man/zip_source_keep.mdoc | 0 .../libzip-1.11.3/man/zip_source_layered.html | 0 .../libzip-1.11.3/man/zip_source_layered.man | 0 .../libzip-1.11.3/man/zip_source_layered.mdoc | 0 .../man/zip_source_make_command_bitmap.html | 0 .../man/zip_source_make_command_bitmap.man | 0 .../man/zip_source_make_command_bitmap.mdoc | 0 .../libzip-1.11.3/man/zip_source_open.html | 0 .../libzip-1.11.3/man/zip_source_open.man | 0 .../libzip-1.11.3/man/zip_source_open.mdoc | 0 .../man/zip_source_pass_to_lower_layer.mdoc | 0 .../libzip-1.11.3/man/zip_source_read.html | 0 .../libzip-1.11.3/man/zip_source_read.man | 0 .../libzip-1.11.3/man/zip_source_read.mdoc | 0 .../man/zip_source_rollback_write.html | 0 .../man/zip_source_rollback_write.man | 0 .../man/zip_source_rollback_write.mdoc | 0 .../libzip-1.11.3/man/zip_source_seek.html | 0 .../libzip-1.11.3/man/zip_source_seek.man | 0 .../libzip-1.11.3/man/zip_source_seek.mdoc | 0 .../man/zip_source_seek_compute_offset.html | 0 .../man/zip_source_seek_compute_offset.man | 0 .../man/zip_source_seek_compute_offset.mdoc | 0 .../man/zip_source_seek_write.html | 0 .../man/zip_source_seek_write.man | 0 .../man/zip_source_seek_write.mdoc | 0 .../libzip-1.11.3/man/zip_source_stat.html | 0 .../libzip-1.11.3/man/zip_source_stat.man | 0 .../libzip-1.11.3/man/zip_source_stat.mdoc | 0 .../libzip-1.11.3/man/zip_source_tell.html | 0 .../libzip-1.11.3/man/zip_source_tell.man | 0 .../libzip-1.11.3/man/zip_source_tell.mdoc | 0 .../man/zip_source_tell_write.html | 0 .../man/zip_source_tell_write.man | 0 .../man/zip_source_tell_write.mdoc | 0 .../libzip-1.11.3/man/zip_source_win32a.html | 0 .../libzip-1.11.3/man/zip_source_win32a.man | 0 .../libzip-1.11.3/man/zip_source_win32a.mdoc | 0 .../man/zip_source_win32handle.html | 0 .../man/zip_source_win32handle.man | 0 .../man/zip_source_win32handle.mdoc | 0 .../libzip-1.11.3/man/zip_source_win32w.html | 0 .../libzip-1.11.3/man/zip_source_win32w.man | 0 .../libzip-1.11.3/man/zip_source_win32w.mdoc | 0 .../man/zip_source_window_create.html | 0 .../man/zip_source_window_create.man | 0 .../man/zip_source_window_create.mdoc | 0 .../libzip-1.11.3/man/zip_source_write.html | 0 .../libzip-1.11.3/man/zip_source_write.man | 0 .../libzip-1.11.3/man/zip_source_write.mdoc | 0 .../libzip-1.11.3/man/zip_source_zip.html | 0 .../libzip-1.11.3/man/zip_source_zip.man | 0 .../libzip-1.11.3/man/zip_source_zip.mdoc | 0 .../man/zip_source_zip_file.html | 0 .../libzip-1.11.3/man/zip_source_zip_file.man | 0 .../man/zip_source_zip_file.mdoc | 0 .../libzip-1.11.3/man/zip_stat.html | 0 .../libzip-1.11.3/man/zip_stat.man | 0 .../libzip-1.11.3/man/zip_stat.mdoc | 0 .../libzip-1.11.3/man/zip_stat_init.html | 0 .../libzip-1.11.3/man/zip_stat_init.man | 0 .../libzip-1.11.3/man/zip_stat_init.mdoc | 0 .../libzip-1.11.3/man/zip_unchange.html | 0 .../libzip-1.11.3/man/zip_unchange.man | 0 .../libzip-1.11.3/man/zip_unchange.mdoc | 0 .../libzip-1.11.3/man/zip_unchange_all.html | 0 .../libzip-1.11.3/man/zip_unchange_all.man | 0 .../libzip-1.11.3/man/zip_unchange_all.mdoc | 0 .../man/zip_unchange_archive.html | 0 .../man/zip_unchange_archive.man | 0 .../man/zip_unchange_archive.mdoc | 0 .../thirdparty}/libzip-1.11.3/man/zipcmp.html | 0 .../thirdparty}/libzip-1.11.3/man/zipcmp.man | 0 .../thirdparty}/libzip-1.11.3/man/zipcmp.mdoc | 0 .../libzip-1.11.3/man/zipmerge.html | 0 .../libzip-1.11.3/man/zipmerge.man | 0 .../libzip-1.11.3/man/zipmerge.mdoc | 0 .../libzip-1.11.3/man/ziptool.html | 0 .../thirdparty}/libzip-1.11.3/man/ziptool.man | 0 .../libzip-1.11.3/man/ziptool.mdoc | 0 .../libzip-1.11.3/ossfuzz/CMakeLists.txt | 0 .../libzip-1.11.3/ossfuzz/fuzz_main.c | 0 .../libzip-1.11.3/ossfuzz/ossfuzz.sh | 0 .../ossfuzz/zip_read_file_fuzzer.c | 0 .../libzip-1.11.3/ossfuzz/zip_read_fuzzer.c | 0 .../ossfuzz/zip_read_fuzzer.dict | 0 .../ossfuzz/zip_read_fuzzer_common.h | 0 .../zip_write_encrypt_aes256_file_fuzzer.c | 0 ...encrypt_aes256_file_fuzzer_seed_corpus.zip | Bin .../zip_write_encrypt_pkware_file_fuzzer.c | 0 .../libzip-1.11.3/regress/CMakeLists.txt | 0 .../libzip-1.11.3/regress/add_dir.test | 0 .../regress/add_from_buffer.test | 0 .../libzip-1.11.3/regress/add_from_file.test | 0 .../regress/add_from_file_duplicate.test | 0 .../add_from_file_twice_duplicate.test | 0 .../regress/add_from_file_unchange.test | 0 .../libzip-1.11.3/regress/add_from_filep.c | 0 .../libzip-1.11.3/regress/add_from_filep.test | 0 .../libzip-1.11.3/regress/add_from_stdin.test | 0 .../regress/add_from_zip_closed.test | 0 .../regress/add_from_zip_deflated.test | 0 .../regress/add_from_zip_deflated2.test | 0 .../add_from_zip_partial_deflated.test | 0 .../regress/add_from_zip_partial_stored.test | 0 .../regress/add_from_zip_stored.test | 0 .../libzip-1.11.3/regress/add_stored.test | 0 .../regress/add_stored_in_memory.test | 0 .../libzip-1.11.3/regress/bigstored.zh | Bin .../libzip-1.11.3/regress/bigzero-zip.zip | Bin .../libzip-1.11.3/regress/bogus.zip | 0 .../libzip-1.11.3/regress/broken.zip | Bin .../regress/buffer-fragment-read.test | 0 .../regress/buffer-fragment-write.test | 0 .../libzip-1.11.3/regress/can_clone_file.c | 0 .../libzip-1.11.3/regress/cancel_45.test | 0 .../libzip-1.11.3/regress/cancel_90.test | 0 .../changing-size-decreases-fixed.test | 0 .../regress/changing-size-decreases.test | 0 .../changing-size-increases-fixed.test | 0 .../changing-size-increases-unchecked.test | 0 .../regress/changing-size-increases.test | 0 .../regress/changing-size-muchl.zip | Bin .../regress/changing-size-muchlo.zip | Bin .../regress/changing-size-muchlonger.zip | Bin .../libzip-1.11.3/regress/changing-size.zip | Bin .../regress/check_torrentzip_fail.test | 0 .../regress/check_torrentzip_modified.test | 0 .../regress/check_torrentzip_success.test | 0 .../libzip-1.11.3/regress/cleanup.cmake | 0 .../regress/clone-buffer-add.test | 0 .../regress/clone-buffer-delete.test | 0 .../regress/clone-buffer-replace.test | 0 .../libzip-1.11.3/regress/clone-fs-add.test | 0 .../regress/clone-fs-delete.test | 0 .../regress/clone-fs-replace.test | 0 .../libzip-1.11.3/regress/cm-default.test | 0 .../libzip-1.11.3/regress/cm-default.zip | Bin .../regress/convert_to_torrentzip.test | 0 .../regress/convert_to_torrentzip_ef.test | 0 .../libzip-1.11.3/regress/count_entries.test | 0 .../regress/create_empty_keep.test | 0 .../decrypt-correct-password-aes128.test | 0 .../decrypt-correct-password-aes192.test | 0 .../decrypt-correct-password-aes256.test | 0 .../decrypt-correct-password-pkware-2.test | 0 .../decrypt-correct-password-pkware.test | 0 .../regress/decrypt-empty-file-pkware.test | 0 .../regress/decrypt-no-password-aes256.test | 0 .../decrypt-wrong-password-aes128.test | 0 .../decrypt-wrong-password-aes192.test | 0 .../decrypt-wrong-password-aes256.test | 0 .../decrypt-wrong-password-pkware-2.test | 0 .../decrypt-wrong-password-pkware.test | 0 .../regress/delete_add_same.test | 0 .../libzip-1.11.3/regress/delete_invalid.test | 0 .../libzip-1.11.3/regress/delete_last.test | 0 .../regress/delete_last_keep.test | 0 .../regress/delete_multiple_last.test | 0 .../regress/delete_multiple_partial.test | 0 .../regress/delete_renamed_rename.test | 0 .../libzip-1.11.3/regress/empty-pkware.zip | Bin .../libzip-1.11.3/regress/encrypt-1234.zip | Bin .../regress/encrypt-aes128-noentropy.zip | Bin .../libzip-1.11.3/regress/encrypt-aes128.zip | Bin .../regress/encrypt-aes192-noentropy.zip | Bin .../libzip-1.11.3/regress/encrypt-aes192.zip | Bin .../regress/encrypt-aes256-noentropy.zip | Bin .../libzip-1.11.3/regress/encrypt-aes256.zip | Bin .../libzip-1.11.3/regress/encrypt-none.zip | Bin .../regress/encrypt-pkware-noentropy-2.zip | Bin .../regress/encrypt-pkware-noentropy.zip | Bin .../libzip-1.11.3/regress/encrypt.test | 0 .../libzip-1.11.3/regress/encrypt.zip | Bin .../regress/encrypt_plus_extra.zip | Bin .../regress/encrypt_plus_extra_modified_c.zip | Bin .../regress/encrypt_plus_extra_modified_l.zip | Bin .../regress/encryption-nonrandom-aes128.test | 0 .../regress/encryption-nonrandom-aes192.test | 0 .../regress/encryption-nonrandom-aes256.test | 0 .../encryption-nonrandom-pkware-2.test | 0 .../regress/encryption-nonrandom-pkware.test | 0 .../regress/encryption-remove.test | 0 .../regress/encryption-stat.test | 0 .../libzip-1.11.3/regress/extra_add.test | 0 .../regress/extra_add_multiple.test | 0 .../libzip-1.11.3/regress/extra_count.test | 0 .../regress/extra_count_by_id.test | 0 .../regress/extra_count_ignore_zip64.test | 0 .../libzip-1.11.3/regress/extra_delete.test | 0 .../regress/extra_delete_by_id.test | 0 .../regress/extra_field_align.test | 0 .../regress/extra_field_align_1-0.zip | Bin .../regress/extra_field_align_1-ef_00.zip | Bin .../regress/extra_field_align_1-ef_ff.zip | Bin .../regress/extra_field_align_1-ff.zip | Bin .../regress/extra_field_align_2-0.zip | Bin .../regress/extra_field_align_2-ef_00.zip | Bin .../regress/extra_field_align_2-ef_ff.zip | Bin .../regress/extra_field_align_2-ff.zip | Bin .../regress/extra_field_align_3-0.zip | Bin .../regress/extra_field_align_3-ef_00.zip | Bin .../regress/extra_field_align_3-ef_ff.zip | Bin .../regress/extra_field_align_3-ff.zip | Bin .../regress/extra_field_align_4-ff.zip | Bin .../libzip-1.11.3/regress/extra_get.test | 0 .../regress/extra_get_by_id.test | 0 .../libzip-1.11.3/regress/extra_set.test | 0 .../regress/extra_set_modify_c.test | 0 .../regress/extra_set_modify_l.test | 0 .../libzip-1.11.3/regress/fdopen_ok.test | 0 .../regress/file_comment_encmismatch.test | 0 .../regress/filename_duplicate.zip | Bin .../regress/filename_duplicate_empty.zip | Bin .../libzip-1.11.3/regress/filename_empty.zip | Bin .../libzip-1.11.3/regress/fileorder.zip | Bin .../regress/firstsecond-split-deflated.zip | Bin .../regress/firstsecond-split-stored.zip | Bin .../libzip-1.11.3/regress/firstsecond.zip | Bin .../libzip-1.11.3/regress/foo-stored.zip | Bin .../libzip-1.11.3/regress/fopen_multiple.test | 0 .../regress/fopen_multiple_reopen.test | 0 .../libzip-1.11.3/regress/fopen_unchanged.c | 0 .../regress/fopen_unchanged.test | 0 .../thirdparty}/libzip-1.11.3/regress/fread.c | 0 .../libzip-1.11.3/regress/fread.test | 0 .../thirdparty}/libzip-1.11.3/regress/fseek.c | 0 .../libzip-1.11.3/regress/fseek_deflated.test | 0 .../libzip-1.11.3/regress/fseek_fail.test | 0 .../libzip-1.11.3/regress/fseek_ok.test | 0 .../libzip-1.11.3/regress/gap-add.zip | Bin .../libzip-1.11.3/regress/gap-delete.zip | Bin .../libzip-1.11.3/regress/gap-replace.zip | Bin .../thirdparty}/libzip-1.11.3/regress/gap.zip | Bin .../libzip-1.11.3/regress/get_comment.test | 0 .../regress/get_comment_long.test | 0 .../libzip-1.11.3/regress/hmac-error.test | 0 .../libzip-1.11.3/regress/hmac-error.zip | Bin .../thirdparty}/libzip-1.11.3/regress/hole.c | 0 .../regress/incons-archive-comment-longer.zip | Bin .../incons-archive-comment-shorter.zip | Bin .../libzip-1.11.3/regress/incons-cdoffset.zip | Bin .../regress/incons-cdsize-large.zip | Bin .../regress/incons-cdsize-small.zip | Bin .../incons-central-compression-method.zip | Bin ...ncons-central-compsize-larger-toolarge.zip | Bin .../incons-central-compsize-larger.zip | Bin .../incons-central-compsize-smaller.zip | Bin .../regress/incons-central-crc.zip | Bin .../regress/incons-central-date.zip | Bin .../incons-central-file-comment-longer.zip | Bin .../incons-central-file-comment-shorter.zip | Bin ...incons-central-file-comment-utf8-ascii.zip | Bin .../regress/incons-central-magic-bad.zip | Bin .../regress/incons-central-magic-bad2.zip | Bin .../regress/incons-central-size-larger.zip | Bin .../libzip-1.11.3/regress/incons-data.zip | Bin .../regress/incons-ef-central-size-wrong.zip | Bin .../incons-ef-local-dupe-utf8comment.zip | Bin .../regress/incons-ef-local-dupe-utf8name.zip | Bin .../regress/incons-ef-local-dupe-zip64-v1.zip | Bin .../regress/incons-ef-local-dupe-zip64-v2.zip | Bin .../regress/incons-ef-local-id-size.zip | Bin .../regress/incons-ef-local-id.zip | Bin .../regress/incons-ef-local-size.zip | Bin .../incons-ef-local-utf8name-ascii.zip | Bin .../regress/incons-eocd-magic-bad.zip | Bin .../libzip-1.11.3/regress/incons-eocd64.zip | Bin .../regress/incons-file-count-high.zip | Bin .../regress/incons-file-count-low.zip | Bin .../regress/incons-file-count-overflow.zip | Bin .../regress/incons-gap-before-cd.zip | Bin .../regress/incons-gap-before-eocd.zip | Bin .../regress/incons-gap-before-local.zip | Bin .../incons-local-compression-method.zip | Bin .../regress/incons-local-compsize-larger.zip | Bin .../regress/incons-local-compsize-smaller.zip | Bin .../regress/incons-local-crc.zip | Bin .../regress/incons-local-filename-long.zip | Bin .../regress/incons-local-filename-missing.zip | Bin .../incons-local-filename-nil-byte.zip | Bin .../regress/incons-local-filename-short.zip | Bin .../regress/incons-local-filename.zip | Bin .../regress/incons-local-magic-bad.zip | Bin .../regress/incons-local-size-larger.zip | Bin .../regress/incons-stored-size.zip | Bin .../regress/incons-streamed-2.zip | Bin .../libzip-1.11.3/regress/incons-streamed.zip | Bin .../regress/incons-trailing-garbage.zip | Bin .../libzip-1.11.3/regress/junk-at-end.zip | Bin .../libzip-1.11.3/regress/junk-at-start.zip | Bin .../libzip-1.11.3/regress/junk_at_end.test | 0 .../libzip-1.11.3/regress/junk_at_start.test | 0 .../regress/large-uncompressible | Bin .../libzip-1.11.3/regress/liboverride-test.c | 0 .../libzip-1.11.3/regress/liboverride.c | 0 .../libzip-1.11.3/regress/lzma-no-eos.zip | Bin .../libzip-1.11.3/regress/malloc.c | 0 .../libzip-1.11.3/regress/manyfiles-zip.zip | Bin .../libzip-1.11.3/regress/mtime-default.zip | Bin .../regress/mtime-dstpoint-deflated.zip | Bin .../libzip-1.11.3/regress/mtime-dstpoint.test | 0 .../libzip-1.11.3/regress/mtime-dstpoint.zip | Bin .../regress/mtime-post-dstpoint-deflated.zip | Bin .../regress/mtime-post-dstpoint.test | 0 .../regress/mtime-post-dstpoint.zip | Bin .../regress/mtime-pre-dstpoint-deflated.zip | Bin .../regress/mtime-pre-dstpoint.test | 0 .../regress/mtime-pre-dstpoint.zip | Bin .../libzip-1.11.3/regress/multidisk.zip | Bin .../regress/name_locate-cp437.test | 0 .../regress/name_locate-utf8.test | 0 .../libzip-1.11.3/regress/name_locate.test | 0 .../libzip-1.11.3/regress/nihtest.conf.in | 0 .../libzip-1.11.3/regress/nonrandomopen.c | 0 .../libzip-1.11.3/regress/nonrandomopentest.c | 0 .../regress/open_archive_comment_wrong.test | 0 .../regress/open_cons_extrabytes.test | 0 .../libzip-1.11.3/regress/open_empty.test | 0 .../libzip-1.11.3/regress/open_empty_2.test | 0 .../regress/open_extrabytes.test | 0 .../regress/open_file_count.test | 0 .../regress/open_filename_duplicate.test | 0 .../open_filename_duplicate_consistency.test | 0 .../open_filename_duplicate_empty.test | 0 ..._filename_duplicate_empty_consistency.test | 0 .../regress/open_filename_empty.test | 0 .../libzip-1.11.3/regress/open_incons.test | 0 .../libzip-1.11.3/regress/open_many_fail.test | 0 .../libzip-1.11.3/regress/open_many_ok.test | 0 .../libzip-1.11.3/regress/open_multidisk.test | 0 .../regress/open_new_but_exists.test | 0 .../libzip-1.11.3/regress/open_new_ok.test | 0 .../regress/open_nonarchive.test | 0 .../regress/open_nosuchfile.test | 0 .../libzip-1.11.3/regress/open_ok.test | 0 .../libzip-1.11.3/regress/open_too_short.test | 0 .../libzip-1.11.3/regress/open_truncate.test | 0 .../libzip-1.11.3/regress/open_truncated.test | 0 .../libzip-1.11.3/regress/open_zip64_3mf.test | 0 .../libzip-1.11.3/regress/open_zip64_ok.test | 0 .../libzip-1.11.3/regress/preload.test | 0 .../libzip-1.11.3/regress/progress.test | 0 .../libzip-1.11.3/regress/read_incons.test | 0 .../libzip-1.11.3/regress/read_seek_read.test | 0 .../libzip-1.11.3/regress/rename_ascii.test | 0 .../libzip-1.11.3/regress/rename_cp437.test | 0 .../libzip-1.11.3/regress/rename_deleted.test | 0 .../libzip-1.11.3/regress/rename_fail.test | 0 .../libzip-1.11.3/regress/rename_ok.test | 0 .../libzip-1.11.3/regress/rename_ok.zip | Bin .../libzip-1.11.3/regress/rename_utf8.test | 0 .../regress/rename_utf8_encmismatch.test | 0 .../libzip-1.11.3/regress/reopen.test | 0 .../libzip-1.11.3/regress/reopen_partial.test | 0 .../regress/reopen_partial_rest.test | 0 .../regress/set_comment_all.test | 0 .../regress/set_comment_localonly.test | 0 .../regress/set_comment_removeglobal.test | 0 .../regress/set_comment_revert.test | 0 .../set_compression_bzip2_to_deflate.test | 0 .../set_compression_deflate_to_bzip2.test | 0 .../set_compression_deflate_to_deflate.test | 0 .../set_compression_deflate_to_store.test | 0 .../set_compression_lzma_no_eos_to_store.test | 0 .../set_compression_lzma_to_store.test | 0 .../set_compression_store_to_bzip2.test | 0 .../set_compression_store_to_deflate.test | 0 .../set_compression_store_to_lzma.test | 0 .../set_compression_store_to_store.test | 0 .../regress/set_compression_store_to_xz.test | 0 .../set_compression_store_to_zstd.test | 0 .../regress/set_compression_unknown.test | 0 .../regress/set_compression_xz_to_store.test | 0 .../set_compression_zstd_to_store.test | 0 .../regress/set_file_dostime.test | 0 .../libzip-1.11.3/regress/set_file_mtime.test | 0 .../regress/set_file_mtime_pkware.test | 0 .../thirdparty}/libzip-1.11.3/regress/short | 0 .../libzip-1.11.3/regress/source_hole.c | 0 .../regress/stat_index_cp437_guess.test | 0 .../regress/stat_index_cp437_raw.test | 0 .../regress/stat_index_cp437_strict.test | 0 .../regress/stat_index_fileorder.test | 0 .../regress/stat_index_streamed.test | 0 .../regress/stat_index_streamed_zip64.test | 0 .../regress/stat_index_utf8_guess.test | 0 .../regress/stat_index_utf8_raw.test | 0 .../regress/stat_index_utf8_strict.test | 0 .../stat_index_utf8_unmarked_strict.test | 0 .../regress/stat_index_zip64.test | 0 .../libzip-1.11.3/regress/stored-no-eos.zip | Bin .../libzip-1.11.3/regress/streamed-zip64.zip | Bin .../libzip-1.11.3/regress/streamed.zip | Bin .../regress/test-cp437-comment-utf-8.zip | Bin .../regress/test-cp437-fc-utf-8-filename.zip | Bin .../libzip-1.11.3/regress/test-cp437-fc.zip | Bin .../libzip-1.11.3/regress/test-cp437.zip | Bin .../regress/test-utf8-unmarked.zip | Bin .../libzip-1.11.3/regress/test-utf8.zip | Bin .../libzip-1.11.3/regress/test.zip | Bin .../libzip-1.11.3/regress/test2.zip | Bin .../regress/test_open_multiple.zip | Bin .../libzip-1.11.3/regress/testbuffer.zip | Bin .../regress/testbuffer_reopen.zip | Bin .../libzip-1.11.3/regress/testbzip2.zip | Bin .../libzip-1.11.3/regress/testchanged.zip | Bin .../regress/testchangedlocal.zip | Bin .../libzip-1.11.3/regress/testcomment.zip | Bin .../libzip-1.11.3/regress/testcomment13.zip | Bin .../regress/testcommentremoved.zip | Bin .../libzip-1.11.3/regress/testdeflated.zip | Bin .../libzip-1.11.3/regress/testdeflated2.zip | Bin .../libzip-1.11.3/regress/testdir.zip | Bin .../libzip-1.11.3/regress/testempty.zip | Bin .../libzip-1.11.3/regress/testextrabytes.zip | Bin .../libzip-1.11.3/regress/testfile-UTF8.zip | Bin .../libzip-1.11.3/regress/testfile-cp437.zip | Bin .../libzip-1.11.3/regress/testfile-ef.zip | Bin .../regress/testfile-long-comment.zip | Bin .../libzip-1.11.3/regress/testfile-lzma.zip | Bin .../regress/testfile-plus-extra.zip | Bin .../regress/testfile-stored-dos.zip | Bin .../regress/testfile-torrentzip-modified.zip | Bin .../regress/testfile-torrentzip.zip | Bin .../regress/testfile-truncated.zip | Bin .../libzip-1.11.3/regress/testfile-xz.zip | Bin .../libzip-1.11.3/regress/testfile-zstd.zip | Bin .../libzip-1.11.3/regress/testfile.txt | 0 .../libzip-1.11.3/regress/testfile.zip | Bin .../libzip-1.11.3/regress/testfile0.zip | Bin .../libzip-1.11.3/regress/testfile2014.zip | Bin .../libzip-1.11.3/regress/teststdin.zip | Bin .../libzip-1.11.3/regress/teststored.zip | Bin .../regress/truncate_empty_keep.test | 0 .../libzip-1.11.3/regress/tryopen.c | 0 .../regress/unchange-delete-namelocate.test | 0 .../regress/utf-8-standardization-input.zip | Bin .../regress/utf-8-standardization-output.zip | Bin .../regress/utf-8-standardization.test | 0 .../regress/want_torrentzip_stat.test | 0 .../regress/zip-in-archive-comment.test | 0 .../regress/zip-in-archive-comment.zip | Bin .../libzip-1.11.3/regress/zip64-3mf.zip | Bin .../regress/zip64-in-archive-comment.test | 0 .../regress/zip64-in-archive-comment.zip | Bin .../libzip-1.11.3/regress/zip64.zip | Bin .../libzip-1.11.3/regress/zip64_creation.test | 0 .../regress/zip64_stored_creation.test | 0 .../libzip-1.11.3/regress/zipcmp_zip_dir.test | 0 .../libzip-1.11.3/regress/zipcmp_zip_dir.zip | Bin .../regress/zipcmp_zip_dir_slash.test | 0 .../libzip-1.11.3/regress/ziptool_regress.c | 0 .../libzip-1.11.3/src/CMakeLists.txt | 0 .../libzip-1.11.3/src/diff_output.c | 0 .../libzip-1.11.3/src/diff_output.h | 0 .../thirdparty}/libzip-1.11.3/src/getopt.c | 0 .../thirdparty}/libzip-1.11.3/src/getopt.h | 0 .../thirdparty}/libzip-1.11.3/src/zipcmp.c | 0 .../thirdparty}/libzip-1.11.3/src/zipmerge.c | 0 .../thirdparty}/libzip-1.11.3/src/ziptool.c | 0 .../thirdparty}/libzip-1.11.3/vcpkg.json | 0 .../thirdparty}/libzip-1.11.3/zipconf.h.in | 0 .../thirdparty}/zlib-1.3.1/CMakeLists.txt | 0 .../thirdparty}/zlib-1.3.1/ChangeLog | 0 .../thirdparty}/zlib-1.3.1/FAQ | 0 .../thirdparty}/zlib-1.3.1/INDEX | 0 .../thirdparty}/zlib-1.3.1/LICENSE | 0 .../thirdparty}/zlib-1.3.1/Makefile | 0 .../thirdparty}/zlib-1.3.1/Makefile.in | 0 .../thirdparty}/zlib-1.3.1/README | 0 .../thirdparty}/zlib-1.3.1/adler32.c | 0 .../thirdparty}/zlib-1.3.1/amiga/Makefile.pup | 0 .../thirdparty}/zlib-1.3.1/amiga/Makefile.sas | 0 .../thirdparty}/zlib-1.3.1/compress.c | 0 .../thirdparty}/zlib-1.3.1/configure | 0 .../zlib-1.3.1/contrib/README.contrib | 0 .../zlib-1.3.1/contrib/ada/buffer_demo.adb | 0 .../zlib-1.3.1/contrib/ada/mtest.adb | 0 .../zlib-1.3.1/contrib/ada/read.adb | 0 .../zlib-1.3.1/contrib/ada/readme.txt | 0 .../zlib-1.3.1/contrib/ada/test.adb | 0 .../zlib-1.3.1/contrib/ada/zlib-streams.adb | 0 .../zlib-1.3.1/contrib/ada/zlib-streams.ads | 0 .../zlib-1.3.1/contrib/ada/zlib-thin.adb | 0 .../zlib-1.3.1/contrib/ada/zlib-thin.ads | 0 .../zlib-1.3.1/contrib/ada/zlib.adb | 0 .../zlib-1.3.1/contrib/ada/zlib.ads | 0 .../zlib-1.3.1/contrib/ada/zlib.gpr | 0 .../zlib-1.3.1/contrib/blast/Makefile | 0 .../zlib-1.3.1/contrib/blast/README | 0 .../zlib-1.3.1/contrib/blast/blast.c | 0 .../zlib-1.3.1/contrib/blast/blast.h | 0 .../zlib-1.3.1/contrib/blast/test.pk | Bin .../zlib-1.3.1/contrib/blast/test.txt | 0 .../zlib-1.3.1/contrib/delphi/ZLib.pas | 0 .../zlib-1.3.1/contrib/delphi/ZLibConst.pas | 0 .../zlib-1.3.1/contrib/delphi/readme.txt | 0 .../zlib-1.3.1/contrib/delphi/zlibd32.mak | 0 .../zlib-1.3.1/contrib/dotzlib/DotZLib.build | 64 +- .../zlib-1.3.1/contrib/dotzlib/DotZLib.chm | Bin .../zlib-1.3.1/contrib/dotzlib/DotZLib.sln | 42 +- .../contrib/dotzlib/DotZLib/AssemblyInfo.cs | 116 +- .../contrib/dotzlib/DotZLib/ChecksumImpl.cs | 402 +- .../contrib/dotzlib/DotZLib/CircularBuffer.cs | 166 +- .../contrib/dotzlib/DotZLib/CodecBase.cs | 396 +- .../contrib/dotzlib/DotZLib/Deflater.cs | 212 +- .../contrib/dotzlib/DotZLib/DotZLib.cs | 576 +- .../contrib/dotzlib/DotZLib/DotZLib.csproj | 282 +- .../contrib/dotzlib/DotZLib/GZipStream.cs | 602 +- .../contrib/dotzlib/DotZLib/Inflater.cs | 210 +- .../contrib/dotzlib/DotZLib/UnitTests.cs | 548 +- .../contrib/dotzlib/LICENSE_1_0.txt | 44 +- .../zlib-1.3.1/contrib/dotzlib/readme.txt | 116 +- .../zlib-1.3.1/contrib/gcc_gvmat64/gvmat64.S | 1148 +- .../zlib-1.3.1/contrib/infback9/README | 0 .../zlib-1.3.1/contrib/infback9/infback9.c | 0 .../zlib-1.3.1/contrib/infback9/infback9.h | 0 .../zlib-1.3.1/contrib/infback9/inffix9.h | 0 .../zlib-1.3.1/contrib/infback9/inflate9.h | 0 .../zlib-1.3.1/contrib/infback9/inftree9.c | 0 .../zlib-1.3.1/contrib/infback9/inftree9.h | 0 .../zlib-1.3.1/contrib/iostream/test.cpp | 0 .../zlib-1.3.1/contrib/iostream/zfstream.cpp | 0 .../zlib-1.3.1/contrib/iostream/zfstream.h | 0 .../zlib-1.3.1/contrib/iostream2/zstream.h | 0 .../contrib/iostream2/zstream_test.cpp | 0 .../zlib-1.3.1/contrib/iostream3/README | 0 .../zlib-1.3.1/contrib/iostream3/TODO | 0 .../zlib-1.3.1/contrib/iostream3/test.cc | 0 .../zlib-1.3.1/contrib/iostream3/zfstream.cc | 0 .../zlib-1.3.1/contrib/iostream3/zfstream.h | 0 .../zlib-1.3.1/contrib/minizip/Makefile | 0 .../zlib-1.3.1/contrib/minizip/Makefile.am | 0 .../contrib/minizip/MiniZip64_Changes.txt | 0 .../contrib/minizip/MiniZip64_info.txt | 0 .../zlib-1.3.1/contrib/minizip/configure.ac | 0 .../zlib-1.3.1/contrib/minizip/crypt.h | 0 .../zlib-1.3.1/contrib/minizip/ioapi.c | 0 .../zlib-1.3.1/contrib/minizip/ioapi.h | 0 .../zlib-1.3.1/contrib/minizip/iowin32.c | 0 .../zlib-1.3.1/contrib/minizip/iowin32.h | 0 .../zlib-1.3.1/contrib/minizip/make_vms.com | 0 .../zlib-1.3.1/contrib/minizip/miniunz.c | 0 .../zlib-1.3.1/contrib/minizip/miniunzip.1 | 0 .../zlib-1.3.1/contrib/minizip/minizip.1 | 0 .../zlib-1.3.1/contrib/minizip/minizip.c | 0 .../zlib-1.3.1/contrib/minizip/minizip.pc.in | 0 .../zlib-1.3.1/contrib/minizip/mztools.c | 0 .../zlib-1.3.1/contrib/minizip/mztools.h | 0 .../zlib-1.3.1/contrib/minizip/unzip.c | 0 .../zlib-1.3.1/contrib/minizip/unzip.h | 0 .../zlib-1.3.1/contrib/minizip/zip.c | 0 .../zlib-1.3.1/contrib/minizip/zip.h | 0 .../zlib-1.3.1/contrib/nuget/nuget.csproj | 0 .../zlib-1.3.1/contrib/nuget/nuget.sln | 0 .../zlib-1.3.1/contrib/pascal/example.pas | 0 .../zlib-1.3.1/contrib/pascal/readme.txt | 0 .../zlib-1.3.1/contrib/pascal/zlibd32.mak | 0 .../zlib-1.3.1/contrib/pascal/zlibpas.pas | 0 .../zlib-1.3.1/contrib/puff/Makefile | 0 .../zlib-1.3.1/contrib/puff/README | 0 .../zlib-1.3.1/contrib/puff/puff.c | 0 .../zlib-1.3.1/contrib/puff/puff.h | 0 .../zlib-1.3.1/contrib/puff/pufftest.c | 0 .../zlib-1.3.1/contrib/puff/zeros.raw | Bin .../zlib-1.3.1/contrib/testzlib/testzlib.c | 550 +- .../zlib-1.3.1/contrib/testzlib/testzlib.txt | 18 +- .../zlib-1.3.1/contrib/untgz/Makefile | 0 .../zlib-1.3.1/contrib/untgz/Makefile.msc | 0 .../zlib-1.3.1/contrib/untgz/untgz.c | 0 .../zlib-1.3.1/contrib/vstudio/readme.txt | 0 .../contrib/vstudio/vc10/miniunz.vcxproj | 618 +- .../vstudio/vc10/miniunz.vcxproj.filters | 42 +- .../contrib/vstudio/vc10/minizip.vcxproj | 612 +- .../vstudio/vc10/minizip.vcxproj.filters | 42 +- .../contrib/vstudio/vc10/testzlib.vcxproj | 822 +- .../vstudio/vc10/testzlib.vcxproj.filters | 108 +- .../contrib/vstudio/vc10/testzlibdll.vcxproj | 618 +- .../vstudio/vc10/testzlibdll.vcxproj.filters | 42 +- .../zlib-1.3.1/contrib/vstudio/vc10}/zlib.rc | 0 .../contrib/vstudio/vc10/zlibstat.vcxproj | 896 +- .../vstudio/vc10/zlibstat.vcxproj.filters | 146 +- .../contrib/vstudio/vc10}/zlibvc.def | 0 .../contrib/vstudio/vc10/zlibvc.sln | 270 +- .../contrib/vstudio/vc10/zlibvc.vcxproj | 1264 +- .../vstudio/vc10/zlibvc.vcxproj.filters | 228 +- .../contrib/vstudio/vc11/miniunz.vcxproj | 626 +- .../contrib/vstudio/vc11/minizip.vcxproj | 620 +- .../contrib/vstudio/vc11/testzlib.vcxproj | 834 +- .../contrib/vstudio/vc11/testzlibdll.vcxproj | 626 +- .../zlib-1.3.1/contrib/vstudio/vc11}/zlib.rc | 0 .../contrib/vstudio/vc11/zlibstat.vcxproj | 910 +- .../contrib/vstudio/vc11/zlibvc.def | 316 +- .../contrib/vstudio/vc11/zlibvc.sln | 234 +- .../contrib/vstudio/vc11/zlibvc.vcxproj | 1326 +- .../contrib/vstudio/vc12/miniunz.vcxproj | 0 .../contrib/vstudio/vc12/minizip.vcxproj | 0 .../contrib/vstudio/vc12/testzlib.vcxproj | 0 .../contrib/vstudio/vc12/testzlibdll.vcxproj | 0 .../zlib-1.3.1/contrib/vstudio/vc12}/zlib.rc | 0 .../contrib/vstudio/vc12/zlibstat.vcxproj | 0 .../contrib/vstudio/vc12}/zlibvc.def | 316 +- .../contrib/vstudio/vc12/zlibvc.sln | 0 .../contrib/vstudio/vc12/zlibvc.vcxproj | 0 .../contrib/vstudio/vc14/miniunz.vcxproj | 0 .../contrib/vstudio/vc14/minizip.vcxproj | 0 .../contrib/vstudio/vc14/testzlib.vcxproj | 0 .../contrib/vstudio/vc14/testzlibdll.vcxproj | 0 .../zlib-1.3.1/contrib/vstudio/vc14}/zlib.rc | 64 +- .../contrib/vstudio/vc14/zlibstat.vcxproj | 0 .../contrib/vstudio/vc14}/zlibvc.def | 316 +- .../contrib/vstudio/vc14/zlibvc.sln | 0 .../contrib/vstudio/vc14/zlibvc.vcxproj | 0 .../contrib/vstudio/vc17/miniunz.vcxproj | 0 .../contrib/vstudio/vc17/minizip.vcxproj | 0 .../contrib/vstudio/vc17/testzlib.vcxproj | 0 .../contrib/vstudio/vc17/testzlibdll.vcxproj | 0 .../zlib-1.3.1/contrib/vstudio/vc17/zlib.rc | 32 + .../contrib/vstudio/vc17/zlibstat.vcxproj | 0 .../contrib/vstudio/vc17/zlibvc.def | 158 + .../contrib/vstudio/vc17/zlibvc.sln | 0 .../contrib/vstudio/vc17/zlibvc.vcxproj | 0 .../contrib/vstudio/vc9/miniunz.vcproj | 1130 +- .../contrib/vstudio/vc9/minizip.vcproj | 1124 +- .../contrib/vstudio/vc9/testzlib.vcproj | 1592 +- .../contrib/vstudio/vc9/testzlibdll.vcproj | 1130 +- .../zlib-1.3.1/contrib/vstudio/vc9/zlib.rc | 32 + .../contrib/vstudio/vc9/zlibstat.vcproj | 1562 +- .../zlib-1.3.1/contrib/vstudio/vc9/zlibvc.def | 158 + .../zlib-1.3.1/contrib/vstudio/vc9/zlibvc.sln | 288 +- .../contrib/vstudio/vc9/zlibvc.vcproj | 2200 +-- .../thirdparty}/zlib-1.3.1/crc32.c | 0 .../thirdparty}/zlib-1.3.1/crc32.h | 0 .../thirdparty}/zlib-1.3.1/deflate.c | 0 .../thirdparty}/zlib-1.3.1/deflate.h | 0 .../thirdparty}/zlib-1.3.1/doc/algorithm.txt | 0 .../zlib-1.3.1/doc/crc-doc.1.0.pdf | Bin .../thirdparty}/zlib-1.3.1/doc/rfc1950.txt | 0 .../thirdparty}/zlib-1.3.1/doc/rfc1951.txt | 0 .../thirdparty}/zlib-1.3.1/doc/rfc1952.txt | 0 .../thirdparty}/zlib-1.3.1/doc/txtvsbin.txt | 0 .../zlib-1.3.1/examples/README.examples | 0 .../thirdparty}/zlib-1.3.1/examples/enough.c | 0 .../thirdparty}/zlib-1.3.1/examples/fitblk.c | 0 .../thirdparty}/zlib-1.3.1/examples/gun.c | 0 .../zlib-1.3.1/examples/gzappend.c | 0 .../thirdparty}/zlib-1.3.1/examples/gzjoin.c | 0 .../thirdparty}/zlib-1.3.1/examples/gzlog.c | 0 .../thirdparty}/zlib-1.3.1/examples/gzlog.h | 0 .../thirdparty}/zlib-1.3.1/examples/gznorm.c | 0 .../zlib-1.3.1/examples/zlib_how.html | 0 .../thirdparty}/zlib-1.3.1/examples/zpipe.c | 0 .../thirdparty}/zlib-1.3.1/examples/zran.c | 0 .../thirdparty}/zlib-1.3.1/examples/zran.h | 0 .../thirdparty}/zlib-1.3.1/gzclose.c | 0 .../thirdparty}/zlib-1.3.1/gzguts.h | 0 .../thirdparty}/zlib-1.3.1/gzlib.c | 0 .../thirdparty}/zlib-1.3.1/gzread.c | 0 .../thirdparty}/zlib-1.3.1/gzwrite.c | 0 .../thirdparty}/zlib-1.3.1/infback.c | 0 .../thirdparty}/zlib-1.3.1/inffast.c | 0 .../thirdparty}/zlib-1.3.1/inffast.h | 0 .../thirdparty}/zlib-1.3.1/inffixed.h | 0 .../thirdparty}/zlib-1.3.1/inflate.c | 0 .../thirdparty}/zlib-1.3.1/inflate.h | 0 .../thirdparty}/zlib-1.3.1/inftrees.c | 0 .../thirdparty}/zlib-1.3.1/inftrees.h | 0 .../zlib-1.3.1/install/include}/zconf.h | 0 .../zlib-1.3.1/install/include/zlib.h | 0 .../thirdparty/zlib-1.3.1/install/lib}/libz.a | Bin .../zlib-1.3.1/install/share/man/man3/zlib.3 | 0 .../install/share/pkgconfig}/zlib.pc | 0 .../thirdparty}/zlib-1.3.1/make_vms.com | 0 .../thirdparty}/zlib-1.3.1/msdos/Makefile.bor | 0 .../thirdparty}/zlib-1.3.1/msdos/Makefile.dj2 | 0 .../thirdparty}/zlib-1.3.1/msdos/Makefile.emx | 0 .../thirdparty}/zlib-1.3.1/msdos/Makefile.msc | 0 .../thirdparty}/zlib-1.3.1/msdos/Makefile.tc | 0 .../zlib-1.3.1/nintendods/Makefile | 0 .../thirdparty}/zlib-1.3.1/nintendods/README | 0 .../thirdparty}/zlib-1.3.1/old/Makefile.emx | 0 .../zlib-1.3.1/old/Makefile.riscos | 0 .../thirdparty}/zlib-1.3.1/old/README | 0 .../thirdparty}/zlib-1.3.1/old/descrip.mms | 0 .../zlib-1.3.1/old/os2/Makefile.os2 | 0 .../thirdparty}/zlib-1.3.1/old/os2/zlib.def | 0 .../zlib-1.3.1/old/visual-basic.txt | 0 .../thirdparty}/zlib-1.3.1/os400/README400 | 0 .../thirdparty}/zlib-1.3.1/os400/bndsrc | 0 .../thirdparty}/zlib-1.3.1/os400/make.sh | 0 .../thirdparty}/zlib-1.3.1/os400/zlib.inc | 0 .../thirdparty}/zlib-1.3.1/qnx/package.qpg | 0 .../thirdparty}/zlib-1.3.1/test/example.c | 0 .../thirdparty}/zlib-1.3.1/test/infcover.c | 0 .../thirdparty}/zlib-1.3.1/test/minigzip.c | 0 .../thirdparty}/zlib-1.3.1/treebuild.xml | 0 .../thirdparty}/zlib-1.3.1/trees.c | 0 .../thirdparty}/zlib-1.3.1/trees.h | 0 .../thirdparty}/zlib-1.3.1/uncompr.c | 0 .../zlib-1.3.1/watcom/watcom_f.mak | 0 .../zlib-1.3.1/watcom/watcom_l.mak | 0 .../thirdparty}/zlib-1.3.1/zconf.h.cmakein | 0 .../thirdparty}/zlib-1.3.1/zconf.h.in | 0 .../thirdparty}/zlib-1.3.1/zconf.h.included | 0 .../thirdparty}/zlib-1.3.1/zlib.3 | 0 .../thirdparty}/zlib-1.3.1/zlib.3.pdf | Bin .../thirdparty}/zlib-1.3.1/zlib.h | 0 .../thirdparty}/zlib-1.3.1/zlib.map | 0 .../thirdparty}/zlib-1.3.1/zlib.pc.cmakein | 0 .../thirdparty}/zlib-1.3.1/zlib.pc.in | 0 .../thirdparty}/zlib-1.3.1/zutil.c | 0 .../thirdparty}/zlib-1.3.1/zutil.h | 0 {config => resources/config}/settings.json | 0 .../config}/spark_config.json | 4 +- .../config}/spark_projectile_config.json | 0 {config => resources/config}/ui.json | 0 {shaders => resources/shaders}/default.vertex | 0 .../shaders}/defaultAtmosphere.vertex | 0 .../shaders}/defaultAtmosphere_web.fragment | 0 .../shaders}/defaultColor.vertex | 0 .../shaders}/defaultColor_web.fragment | 0 .../shaders}/default_env.vertex | 0 .../shaders}/default_env_web.fragment | 0 .../shaders}/default_texture.vertex | 0 .../shaders}/default_texture_web.fragment | 0 .../shaders}/default_web.fragment | 0 {shaders => resources/shaders}/env_sky.vertex | 0 .../shaders}/env_sky_web.fragment | 0 .../shaders}/planet_bake.vertex | 0 .../shaders}/planet_bake_web.fragment | 0 .../shaders}/planet_land.vertex | 0 .../shaders}/planet_land_web.fragment | 0 .../shaders}/planet_stone.vertex | 0 .../shaders}/planet_stone_web.fragment | 0 {shaders => resources/shaders}/spark.fragment | 0 {shaders => resources/shaders}/spark.vertex | 0 src/Game.cpp | 32 +- .../build-emcmake/CMakeCache.txt | 887 - .../CMakeFiles/3.28.3/CMakeCCompiler.cmake | 74 - .../3.28.3/CMakeDetermineCompilerABI_C.bin | 1521 -- .../CMakeFiles/3.28.3/CMakeSystem.cmake | 15 - .../3.28.3/CompilerIdC/CMakeCCompilerId.c | 880 - .../CMakeFiles/3.28.3/CompilerIdC/a.out.js | 1521 -- .../CMakeFiles/3.28.3/CompilerIdC/a.out.wasm | Bin 1791 -> 0 bytes .../CMakeFiles/CMakeConfigureLog.yaml | 2887 --- .../CMakeDirectoryInformation.cmake | 16 - .../CMakeFiles/CMakeRuleHashes.txt | 324 - .../CheckTypeSize/INT16_T_LIBZIP.bin | Bin 1166 -> 0 bytes .../CMakeFiles/CheckTypeSize/INT16_T_LIBZIP.c | 46 - .../CheckTypeSize/INT32_T_LIBZIP.bin | Bin 1166 -> 0 bytes .../CMakeFiles/CheckTypeSize/INT32_T_LIBZIP.c | 46 - .../CheckTypeSize/INT64_T_LIBZIP.bin | Bin 1166 -> 0 bytes .../CMakeFiles/CheckTypeSize/INT64_T_LIBZIP.c | 46 - .../CheckTypeSize/INT8_T_LIBZIP.bin | Bin 1166 -> 0 bytes .../CMakeFiles/CheckTypeSize/INT8_T_LIBZIP.c | 46 - .../CMakeFiles/CheckTypeSize/INT_LIBZIP.bin | Bin 1166 -> 0 bytes .../CMakeFiles/CheckTypeSize/INT_LIBZIP.c | 46 - .../CMakeFiles/CheckTypeSize/LONG_LIBZIP.bin | Bin 1166 -> 0 bytes .../CMakeFiles/CheckTypeSize/LONG_LIBZIP.c | 46 - .../CheckTypeSize/LONG_LONG_LIBZIP.bin | Bin 1166 -> 0 bytes .../CheckTypeSize/LONG_LONG_LIBZIP.c | 46 - .../CMakeFiles/CheckTypeSize/SHORT_LIBZIP.bin | Bin 1166 -> 0 bytes .../CMakeFiles/CheckTypeSize/SHORT_LIBZIP.c | 46 - .../CMakeFiles/CheckTypeSize/SIZEOF_OFF_T.bin | Bin 1166 -> 0 bytes .../CMakeFiles/CheckTypeSize/SIZEOF_OFF_T.c | 46 - .../CheckTypeSize/SIZEOF_SIZE_T.bin | Bin 1166 -> 0 bytes .../CMakeFiles/CheckTypeSize/SIZEOF_SIZE_T.c | 46 - .../CheckTypeSize/UINT16_T_LIBZIP.bin | Bin 1166 -> 0 bytes .../CheckTypeSize/UINT16_T_LIBZIP.c | 46 - .../CheckTypeSize/UINT32_T_LIBZIP.bin | Bin 1166 -> 0 bytes .../CheckTypeSize/UINT32_T_LIBZIP.c | 46 - .../CheckTypeSize/UINT64_T_LIBZIP.bin | Bin 1166 -> 0 bytes .../CheckTypeSize/UINT64_T_LIBZIP.c | 46 - .../CheckTypeSize/UINT8_T_LIBZIP.bin | Bin 1166 -> 0 bytes .../CMakeFiles/CheckTypeSize/UINT8_T_LIBZIP.c | 46 - .../CMakeFiles/CheckTypeSize/__INT16_LIBZIP.c | 46 - .../CMakeFiles/CheckTypeSize/__INT32_LIBZIP.c | 46 - .../CMakeFiles/CheckTypeSize/__INT64_LIBZIP.c | 46 - .../CMakeFiles/CheckTypeSize/__INT8_LIBZIP.c | 46 - .../libzip-targets-noconfig.cmake | 46 - .../libzip-targets.cmake | 116 - .../build-emcmake/CMakeFiles/Makefile.cmake | 209 - .../build-emcmake/CMakeFiles/Makefile2 | 661 - .../CMakeFiles/TargetDirectories.txt | 60 - .../CMakeFiles/cmake.check_cache | 1 - .../CMakeFiles/dist.dir/DependInfo.cmake | 22 - .../CMakeFiles/dist.dir/build.make | 89 - .../CMakeFiles/dist.dir/cmake_clean.cmake | 8 - .../CMakeFiles/dist.dir/compiler_depend.make | 2 - .../CMakeFiles/dist.dir/compiler_depend.ts | 2 - .../CMakeFiles/dist.dir/progress.make | 1 - .../CMakeFiles/distcheck.dir/DependInfo.cmake | 22 - .../CMakeFiles/distcheck.dir/build.make | 100 - .../distcheck.dir/cmake_clean.cmake | 8 - .../distcheck.dir/compiler_depend.make | 2 - .../distcheck.dir/compiler_depend.ts | 2 - .../CMakeFiles/distcheck.dir/progress.make | 1 - .../build-emcmake/CMakeFiles/progress.marks | 1 - .../build-emcmake/CTestTestfile.cmake | 11 - .../libzip-1.11.3/build-emcmake/Makefile | 452 - .../build-emcmake/cmake_install.cmake | 105 - .../build-emcmake/compile_commands.json | 770 - .../libzip-1.11.3/build-emcmake/config.h | 75 - .../CMakeDirectoryInformation.cmake | 16 - .../add-compressed-data.dir/DependInfo.cmake | 23 - .../add-compressed-data.c.o | Bin 4318 -> 0 bytes .../add-compressed-data.c.o.d | 33 - .../add-compressed-data.dir/build.make | 115 - .../add-compressed-data.dir/cmake_clean.cmake | 11 - .../compiler_depend.make | 2 - .../compiler_depend.ts | 2 - .../add-compressed-data.dir/depend.make | 2 - .../add-compressed-data.dir/flags.make | 10 - .../add-compressed-data.dir/link.txt | 1 - .../add-compressed-data.dir/progress.make | 3 - .../autoclose-archive.dir/DependInfo.cmake | 23 - .../autoclose-archive.c.o | Bin 4566 -> 0 bytes .../autoclose-archive.c.o.d | 33 - .../autoclose-archive.dir/build.make | 115 - .../autoclose-archive.dir/cmake_clean.cmake | 11 - .../compiler_depend.make | 2 - .../autoclose-archive.dir/compiler_depend.ts | 2 - .../autoclose-archive.dir/depend.make | 2 - .../autoclose-archive.dir/flags.make | 10 - .../CMakeFiles/autoclose-archive.dir/link.txt | 1 - .../autoclose-archive.dir/progress.make | 3 - .../CMakeFiles/in-memory.dir/DependInfo.cmake | 23 - .../CMakeFiles/in-memory.dir/build.make | 115 - .../in-memory.dir/cmake_clean.cmake | 11 - .../in-memory.dir/compiler_depend.make | 2 - .../in-memory.dir/compiler_depend.ts | 2 - .../CMakeFiles/in-memory.dir/depend.make | 2 - .../CMakeFiles/in-memory.dir/flags.make | 10 - .../CMakeFiles/in-memory.dir/in-memory.c.o | Bin 6533 -> 0 bytes .../CMakeFiles/in-memory.dir/in-memory.c.o.d | 38 - .../CMakeFiles/in-memory.dir/link.txt | 1 - .../CMakeFiles/in-memory.dir/progress.make | 3 - .../examples/CMakeFiles/progress.marks | 1 - .../examples/CTestTestfile.cmake | 6 - .../build-emcmake/examples/Makefile | 326 - .../examples/add-compressed-data.js | 4814 ----- .../examples/add-compressed-data.wasm | Bin 398069 -> 0 bytes .../examples/autoclose-archive.js | 4814 ----- .../examples/autoclose-archive.wasm | Bin 398520 -> 0 bytes .../examples/cmake_install.cmake | 39 - .../build-emcmake/examples/in-memory.js | 4737 ----- .../build-emcmake/examples/in-memory.wasm | Bin 371069 -> 0 bytes .../build-emcmake/install/include/zipconf.h | 48 - .../cmake/libzip/libzip-config-version.cmake | 43 - .../lib/cmake/libzip/libzip-config.cmake | 69 - .../libzip/libzip-targets-noconfig.cmake | 46 - .../lib/cmake/libzip/libzip-targets.cmake | 116 - .../build-emcmake/install/lib/libzip.a | Bin 353784 -> 0 bytes .../install/lib/pkgconfig/libzip.pc | 14 - .../install/share/man/man1/zipcmp.1 | 99 - .../install/share/man/man1/zipmerge.1 | 105 - .../install/share/man/man1/ziptool.1 | 364 - .../share/man/man3/ZIP_SOURCE_GET_ARGS.3 | 79 - .../install/share/man/man3/libzip.3 | 299 - .../install/share/man/man3/zip_add.3 | 96 - .../install/share/man/man3/zip_add_dir.3 | 69 - .../install/share/man/man3/zip_close.3 | 136 - .../man3/zip_compression_method_supported.3 | 65 - .../install/share/man/man3/zip_delete.3 | 80 - .../install/share/man/man3/zip_dir_add.3 | 109 - .../install/share/man/man3/zip_discard.3 | 61 - .../man3/zip_encryption_method_supported.3 | 65 - .../install/share/man/man3/zip_error_clear.3 | 69 - .../share/man/man3/zip_error_code_system.3 | 63 - .../share/man/man3/zip_error_code_zip.3 | 60 - .../install/share/man/man3/zip_error_fini.3 | 60 - .../install/share/man/man3/zip_error_get.3 | 117 - .../share/man/man3/zip_error_get_sys_type.3 | 77 - .../install/share/man/man3/zip_error_init.3 | 76 - .../share/man/man3/zip_error_init_with_code.3 | 76 - .../install/share/man/man3/zip_error_set.3 | 70 - .../man/man3/zip_error_set_from_source.3 | 69 - .../share/man/man3/zip_error_strerror.3 | 67 - .../share/man/man3/zip_error_system_type.3 | 77 - .../share/man/man3/zip_error_to_data.3 | 69 - .../install/share/man/man3/zip_error_to_str.3 | 88 - .../install/share/man/man3/zip_errors.3 | 125 - .../install/share/man/man3/zip_fclose.3 | 65 - .../install/share/man/man3/zip_fdopen.3 | 149 - .../install/share/man/man3/zip_file_add.3 | 175 - .../share/man/man3/zip_file_attributes_init.3 | 61 - .../share/man/man3/zip_file_error_clear.3 | 69 - .../share/man/man3/zip_file_error_get.3 | 117 - .../man/man3/zip_file_extra_field_delete.3 | 130 - .../man3/zip_file_extra_field_delete_by_id.3 | 130 - .../share/man/man3/zip_file_extra_field_get.3 | 157 - .../man/man3/zip_file_extra_field_get_by_id.3 | 157 - .../share/man/man3/zip_file_extra_field_set.3 | 115 - .../man/man3/zip_file_extra_fields_count.3 | 113 - .../man3/zip_file_extra_fields_count_by_id.3 | 113 - .../share/man/man3/zip_file_get_comment.3 | 119 - .../share/man/man3/zip_file_get_error.3 | 57 - .../man3/zip_file_get_external_attributes.3 | 165 - .../share/man/man3/zip_file_is_seekable.3 | 89 - .../install/share/man/man3/zip_file_rename.3 | 104 - .../install/share/man/man3/zip_file_replace.3 | 175 - .../share/man/man3/zip_file_set_comment.3 | 116 - .../share/man/man3/zip_file_set_dostime.3 | 126 - .../share/man/man3/zip_file_set_encryption.3 | 121 - .../man3/zip_file_set_external_attributes.3 | 89 - .../share/man/man3/zip_file_set_mtime.3 | 126 - .../share/man/man3/zip_file_strerror.3 | 85 - .../install/share/man/man3/zip_fopen.3 | 148 - .../share/man/man3/zip_fopen_encrypted.3 | 135 - .../install/share/man/man3/zip_fopen_index.3 | 148 - .../man/man3/zip_fopen_index_encrypted.3 | 135 - .../install/share/man/man3/zip_fread.3 | 85 - .../install/share/man/man3/zip_fseek.3 | 89 - .../install/share/man/man3/zip_ftell.3 | 67 - .../share/man/man3/zip_get_archive_comment.3 | 112 - .../share/man/man3/zip_get_archive_flag.3 | 110 - .../install/share/man/man3/zip_get_error.3 | 60 - .../share/man/man3/zip_get_file_comment.3 | 73 - .../install/share/man/man3/zip_get_name.3 | 132 - .../share/man/man3/zip_get_num_entries.3 | 88 - .../share/man/man3/zip_get_num_files.3 | 75 - .../share/man/man3/zip_libzip_version.3 | 66 - .../install/share/man/man3/zip_name_locate.3 | 148 - .../install/share/man/man3/zip_open.3 | 192 - .../share/man/man3/zip_open_from_source.3 | 192 - .../zip_register_cancel_callback_with_state.3 | 84 - .../man/man3/zip_register_progress_callback.3 | 77 - ...ip_register_progress_callback_with_state.3 | 87 - .../install/share/man/man3/zip_rename.3 | 70 - .../install/share/man/man3/zip_replace.3 | 96 - .../share/man/man3/zip_set_archive_comment.3 | 93 - .../share/man/man3/zip_set_archive_flag.3 | 90 - .../share/man/man3/zip_set_default_password.3 | 90 - .../share/man/man3/zip_set_file_comment.3 | 79 - .../share/man/man3/zip_set_file_compression.3 | 146 - .../install/share/man/man3/zip_source.3 | 90 - .../share/man/man3/zip_source_begin_write.3 | 89 - .../man/man3/zip_source_begin_write_cloning.3 | 89 - .../share/man/man3/zip_source_buffer.3 | 102 - .../share/man/man3/zip_source_buffer_create.3 | 102 - .../man/man3/zip_source_buffer_fragment.3 | 112 - .../man3/zip_source_buffer_fragment_create.3 | 112 - .../install/share/man/man3/zip_source_close.3 | 67 - .../share/man/man3/zip_source_commit_write.3 | 70 - .../install/share/man/man3/zip_source_error.3 | 60 - .../install/share/man/man3/zip_source_file.3 | 147 - .../share/man/man3/zip_source_file_create.3 | 147 - .../install/share/man/man3/zip_source_filep.3 | 112 - .../share/man/man3/zip_source_filep_create.3 | 112 - .../install/share/man/man3/zip_source_free.3 | 76 - .../share/man/man3/zip_source_function.3 | 415 - .../man/man3/zip_source_function_create.3 | 415 - .../share/man/man3/zip_source_is_deleted.3 | 62 - .../share/man/man3/zip_source_is_seekable.3 | 65 - .../install/share/man/man3/zip_source_keep.3 | 60 - .../share/man/man3/zip_source_layered.3 | 166 - .../man/man3/zip_source_layered_create.3 | 166 - .../man/man3/zip_source_make_command_bitmap.3 | 62 - .../install/share/man/man3/zip_source_open.3 | 70 - .../install/share/man/man3/zip_source_read.3 | 80 - .../man/man3/zip_source_rollback_write.3 | 68 - .../install/share/man/man3/zip_source_seek.3 | 82 - .../man/man3/zip_source_seek_compute_offset.3 | 81 - .../share/man/man3/zip_source_seek_write.3 | 84 - .../install/share/man/man3/zip_source_stat.3 | 125 - .../install/share/man/man3/zip_source_tell.3 | 74 - .../share/man/man3/zip_source_tell_write.3 | 77 - .../share/man/man3/zip_source_win32a.3 | 121 - .../share/man/man3/zip_source_win32a_create.3 | 121 - .../share/man/man3/zip_source_win32handle.3 | 110 - .../man/man3/zip_source_win32handle_create.3 | 110 - .../share/man/man3/zip_source_win32w.3 | 119 - .../share/man/man3/zip_source_win32w_create.3 | 119 - .../share/man/man3/zip_source_window_create.3 | 98 - .../install/share/man/man3/zip_source_write.3 | 80 - .../install/share/man/man3/zip_source_zip.3 | 144 - .../share/man/man3/zip_source_zip_create.3 | 144 - .../share/man/man3/zip_source_zip_file.3 | 144 - .../man/man3/zip_source_zip_file_create.3 | 144 - .../install/share/man/man3/zip_stat.3 | 179 - .../install/share/man/man3/zip_stat_index.3 | 179 - .../install/share/man/man3/zip_stat_init.3 | 76 - .../install/share/man/man3/zip_strerror.3 | 85 - .../install/share/man/man3/zip_unchange.3 | 81 - .../install/share/man/man3/zip_unchange_all.3 | 64 - .../share/man/man3/zip_unchange_archive.3 | 64 - .../build-emcmake/install_manifest.txt | 146 - .../CMakeDirectoryInformation.cmake | 16 - .../lib/CMakeFiles/progress.marks | 1 - .../lib/CMakeFiles/zip.dir/DependInfo.cmake | 135 - .../lib/CMakeFiles/zip.dir/build.make | 2022 --- .../lib/CMakeFiles/zip.dir/cmake_clean.cmake | 236 - .../zip.dir/cmake_clean_target.cmake | 3 - .../CMakeFiles/zip.dir/compiler_depend.make | 2 - .../lib/CMakeFiles/zip.dir/compiler_depend.ts | 2 - .../lib/CMakeFiles/zip.dir/depend.make | 2 - .../lib/CMakeFiles/zip.dir/flags.make | 10 - .../lib/CMakeFiles/zip.dir/link.txt | 2 - .../lib/CMakeFiles/zip.dir/progress.make | 116 - .../lib/CMakeFiles/zip.dir/zip_add.c.o | Bin 587 -> 0 bytes .../lib/CMakeFiles/zip.dir/zip_add.c.o.d | 41 - .../lib/CMakeFiles/zip.dir/zip_add_dir.c.o | Bin 572 -> 0 bytes .../lib/CMakeFiles/zip.dir/zip_add_dir.c.o.d | 41 - .../lib/CMakeFiles/zip.dir/zip_add_entry.c.o | Bin 1366 -> 0 bytes .../CMakeFiles/zip.dir/zip_add_entry.c.o.d | 44 - .../zip.dir/zip_algorithm_deflate.c.o | Bin 4579 -> 0 bytes .../zip.dir/zip_algorithm_deflate.c.o.d | 60 - .../lib/CMakeFiles/zip.dir/zip_buffer.c.o | Bin 7286 -> 0 bytes .../lib/CMakeFiles/zip.dir/zip_buffer.c.o.d | 44 - .../lib/CMakeFiles/zip.dir/zip_close.c.o | Bin 22626 -> 0 bytes .../lib/CMakeFiles/zip.dir/zip_close.c.o.d | 44 - .../lib/CMakeFiles/zip.dir/zip_delete.c.o | Bin 1166 -> 0 bytes .../lib/CMakeFiles/zip.dir/zip_delete.c.o.d | 41 - .../lib/CMakeFiles/zip.dir/zip_dir_add.c.o | Bin 1877 -> 0 bytes .../lib/CMakeFiles/zip.dir/zip_dir_add.c.o.d | 44 - .../lib/CMakeFiles/zip.dir/zip_dirent.c.o | Bin 35910 -> 0 bytes .../lib/CMakeFiles/zip.dir/zip_dirent.c.o.d | 59 - .../lib/CMakeFiles/zip.dir/zip_discard.c.o | Bin 1479 -> 0 bytes .../lib/CMakeFiles/zip.dir/zip_discard.c.o.d | 44 - .../lib/CMakeFiles/zip.dir/zip_entry.c.o | Bin 751 -> 0 bytes .../lib/CMakeFiles/zip.dir/zip_entry.c.o.d | 41 - .../lib/CMakeFiles/zip.dir/zip_err_str.c.o | Bin 5668 -> 0 bytes .../lib/CMakeFiles/zip.dir/zip_err_str.c.o.d | 41 - .../lib/CMakeFiles/zip.dir/zip_error.c.o | Bin 2673 -> 0 bytes .../lib/CMakeFiles/zip.dir/zip_error.c.o.d | 44 - .../CMakeFiles/zip.dir/zip_error_clear.c.o | Bin 595 -> 0 bytes .../CMakeFiles/zip.dir/zip_error_clear.c.o.d | 41 - .../lib/CMakeFiles/zip.dir/zip_error_get.c.o | Bin 729 -> 0 bytes .../CMakeFiles/zip.dir/zip_error_get.c.o.d | 41 - .../zip.dir/zip_error_get_sys_type.c.o | Bin 675 -> 0 bytes .../zip.dir/zip_error_get_sys_type.c.o.d | 41 - .../CMakeFiles/zip.dir/zip_error_strerror.c.o | Bin 3781 -> 0 bytes .../zip.dir/zip_error_strerror.c.o.d | 59 - .../CMakeFiles/zip.dir/zip_error_to_str.c.o | Bin 980 -> 0 bytes .../CMakeFiles/zip.dir/zip_error_to_str.c.o.d | 40 - .../CMakeFiles/zip.dir/zip_extra_field.c.o | Bin 9981 -> 0 bytes .../CMakeFiles/zip.dir/zip_extra_field.c.o.d | 44 - .../zip.dir/zip_extra_field_api.c.o | Bin 9231 -> 0 bytes .../zip.dir/zip_extra_field_api.c.o.d | 41 - .../lib/CMakeFiles/zip.dir/zip_fclose.c.o | Bin 733 -> 0 bytes .../lib/CMakeFiles/zip.dir/zip_fclose.c.o.d | 44 - .../lib/CMakeFiles/zip.dir/zip_fdopen.c.o | Bin 1647 -> 0 bytes .../lib/CMakeFiles/zip.dir/zip_fdopen.c.o.d | 43 - .../lib/CMakeFiles/zip.dir/zip_file_add.c.o | Bin 796 -> 0 bytes .../lib/CMakeFiles/zip.dir/zip_file_add.c.o.d | 41 - .../zip.dir/zip_file_error_clear.c.o | Bin 589 -> 0 bytes .../zip.dir/zip_file_error_clear.c.o.d | 41 - .../CMakeFiles/zip.dir/zip_file_error_get.c.o | Bin 577 -> 0 bytes .../zip.dir/zip_file_error_get.c.o.d | 41 - .../zip.dir/zip_file_get_comment.c.o | Bin 894 -> 0 bytes .../zip.dir/zip_file_get_comment.c.o.d | 41 - .../zip_file_get_external_attributes.c.o | Bin 870 -> 0 bytes .../zip_file_get_external_attributes.c.o.d | 41 - .../zip.dir/zip_file_get_offset.c.o | Bin 2479 -> 0 bytes .../zip.dir/zip_file_get_offset.c.o.d | 40 - .../CMakeFiles/zip.dir/zip_file_rename.c.o | Bin 1420 -> 0 bytes .../CMakeFiles/zip.dir/zip_file_rename.c.o.d | 41 - .../CMakeFiles/zip.dir/zip_file_replace.c.o | Bin 2899 -> 0 bytes .../CMakeFiles/zip.dir/zip_file_replace.c.o.d | 41 - .../zip.dir/zip_file_set_comment.c.o | Bin 2439 -> 0 bytes .../zip.dir/zip_file_set_comment.c.o.d | 44 - .../zip.dir/zip_file_set_encryption.c.o | Bin 3040 -> 0 bytes .../zip.dir/zip_file_set_encryption.c.o.d | 44 - .../zip_file_set_external_attributes.c.o | Bin 2107 -> 0 bytes .../zip_file_set_external_attributes.c.o.d | 41 - .../CMakeFiles/zip.dir/zip_file_set_mtime.c.o | Bin 2264 -> 0 bytes .../zip.dir/zip_file_set_mtime.c.o.d | 41 - .../CMakeFiles/zip.dir/zip_file_strerror.c.o | Bin 551 -> 0 bytes .../zip.dir/zip_file_strerror.c.o.d | 41 - .../lib/CMakeFiles/zip.dir/zip_fopen.c.o | Bin 756 -> 0 bytes .../lib/CMakeFiles/zip.dir/zip_fopen.c.o.d | 41 - .../zip.dir/zip_fopen_encrypted.c.o | Bin 767 -> 0 bytes .../zip.dir/zip_fopen_encrypted.c.o.d | 41 - .../CMakeFiles/zip.dir/zip_fopen_index.c.o | Bin 619 -> 0 bytes .../CMakeFiles/zip.dir/zip_fopen_index.c.o.d | 41 - .../zip.dir/zip_fopen_index_encrypted.c.o | Bin 1494 -> 0 bytes .../zip.dir/zip_fopen_index_encrypted.c.o.d | 43 - .../lib/CMakeFiles/zip.dir/zip_fread.c.o | Bin 1011 -> 0 bytes .../lib/CMakeFiles/zip.dir/zip_fread.c.o.d | 41 - .../lib/CMakeFiles/zip.dir/zip_fseek.c.o | Bin 1064 -> 0 bytes .../lib/CMakeFiles/zip.dir/zip_fseek.c.o.d | 41 - .../lib/CMakeFiles/zip.dir/zip_ftell.c.o | Bin 807 -> 0 bytes .../lib/CMakeFiles/zip.dir/zip_ftell.c.o.d | 41 - .../zip.dir/zip_get_archive_comment.c.o | Bin 875 -> 0 bytes .../zip.dir/zip_get_archive_comment.c.o.d | 41 - .../zip.dir/zip_get_archive_flag.c.o | Bin 606 -> 0 bytes .../zip.dir/zip_get_archive_flag.c.o.d | 41 - .../zip_get_encryption_implementation.c.o | Bin 973 -> 0 bytes .../zip_get_encryption_implementation.c.o.d | 41 - .../zip.dir/zip_get_file_comment.c.o | Bin 723 -> 0 bytes .../zip.dir/zip_get_file_comment.c.o.d | 41 - .../lib/CMakeFiles/zip.dir/zip_get_name.c.o | Bin 984 -> 0 bytes .../lib/CMakeFiles/zip.dir/zip_get_name.c.o.d | 41 - .../zip.dir/zip_get_num_entries.c.o | Bin 818 -> 0 bytes .../zip.dir/zip_get_num_entries.c.o.d | 41 - .../CMakeFiles/zip.dir/zip_get_num_files.c.o | Bin 731 -> 0 bytes .../zip.dir/zip_get_num_files.c.o.d | 44 - .../lib/CMakeFiles/zip.dir/zip_hash.c.o | Bin 8119 -> 0 bytes .../lib/CMakeFiles/zip.dir/zip_hash.c.o.d | 44 - .../lib/CMakeFiles/zip.dir/zip_io_util.c.o | Bin 3120 -> 0 bytes .../lib/CMakeFiles/zip.dir/zip_io_util.c.o.d | 59 - .../CMakeFiles/zip.dir/zip_libzip_version.c.o | Bin 489 -> 0 bytes .../zip.dir/zip_libzip_version.c.o.d | 41 - .../lib/CMakeFiles/zip.dir/zip_memdup.c.o | Bin 767 -> 0 bytes .../lib/CMakeFiles/zip.dir/zip_memdup.c.o.d | 44 - .../CMakeFiles/zip.dir/zip_name_locate.c.o | Bin 2309 -> 0 bytes .../CMakeFiles/zip.dir/zip_name_locate.c.o.d | 41 - .../lib/CMakeFiles/zip.dir/zip_new.c.o | Bin 1163 -> 0 bytes .../lib/CMakeFiles/zip.dir/zip_new.c.o.d | 44 - .../lib/CMakeFiles/zip.dir/zip_open.c.o | Bin 26926 -> 0 bytes .../lib/CMakeFiles/zip.dir/zip_open.c.o.d | 46 - .../lib/CMakeFiles/zip.dir/zip_pkware.c.o | Bin 2092 -> 0 bytes .../lib/CMakeFiles/zip.dir/zip_pkware.c.o.d | 59 - .../lib/CMakeFiles/zip.dir/zip_progress.c.o | Bin 5667 -> 0 bytes .../lib/CMakeFiles/zip.dir/zip_progress.c.o.d | 44 - .../CMakeFiles/zip.dir/zip_random_unix.c.o | Bin 1361 -> 0 bytes .../CMakeFiles/zip.dir/zip_random_unix.c.o.d | 48 - .../lib/CMakeFiles/zip.dir/zip_rename.c.o | Bin 593 -> 0 bytes .../lib/CMakeFiles/zip.dir/zip_rename.c.o.d | 41 - .../lib/CMakeFiles/zip.dir/zip_replace.c.o | Bin 595 -> 0 bytes .../lib/CMakeFiles/zip.dir/zip_replace.c.o.d | 41 - .../zip.dir/zip_set_archive_comment.c.o | Bin 1623 -> 0 bytes .../zip.dir/zip_set_archive_comment.c.o.d | 44 - .../zip.dir/zip_set_archive_flag.c.o | Bin 1120 -> 0 bytes .../zip.dir/zip_set_archive_flag.c.o.d | 41 - .../zip.dir/zip_set_default_password.c.o | Bin 901 -> 0 bytes .../zip.dir/zip_set_default_password.c.o.d | 44 - .../zip.dir/zip_set_file_comment.c.o | Bin 818 -> 0 bytes .../zip.dir/zip_set_file_comment.c.o.d | 41 - .../zip.dir/zip_set_file_compression.c.o | Bin 1727 -> 0 bytes .../zip.dir/zip_set_file_compression.c.o.d | 41 - .../lib/CMakeFiles/zip.dir/zip_set_name.c.o | Bin 3630 -> 0 bytes .../lib/CMakeFiles/zip.dir/zip_set_name.c.o.d | 44 - .../zip.dir/zip_source_accept_empty.c.o | Bin 873 -> 0 bytes .../zip.dir/zip_source_accept_empty.c.o.d | 41 - .../zip.dir/zip_source_begin_write.c.o | Bin 899 -> 0 bytes .../zip.dir/zip_source_begin_write.c.o.d | 41 - .../zip_source_begin_write_cloning.c.o | Bin 919 -> 0 bytes .../zip_source_begin_write_cloning.c.o.d | 41 - .../CMakeFiles/zip.dir/zip_source_buffer.c.o | Bin 16267 -> 0 bytes .../zip.dir/zip_source_buffer.c.o.d | 44 - .../CMakeFiles/zip.dir/zip_source_call.c.o | Bin 1311 -> 0 bytes .../CMakeFiles/zip.dir/zip_source_call.c.o.d | 41 - .../CMakeFiles/zip.dir/zip_source_close.c.o | Bin 924 -> 0 bytes .../CMakeFiles/zip.dir/zip_source_close.c.o.d | 41 - .../zip.dir/zip_source_commit_write.c.o | Bin 1150 -> 0 bytes .../zip.dir/zip_source_commit_write.c.o.d | 41 - .../zip.dir/zip_source_compress.c.o | Bin 8706 -> 0 bytes .../zip.dir/zip_source_compress.c.o.d | 44 - .../lib/CMakeFiles/zip.dir/zip_source_crc.c.o | Bin 4760 -> 0 bytes .../CMakeFiles/zip.dir/zip_source_crc.c.o.d | 59 - .../CMakeFiles/zip.dir/zip_source_error.c.o | Bin 633 -> 0 bytes .../CMakeFiles/zip.dir/zip_source_error.c.o.d | 41 - .../zip.dir/zip_source_file_common.c.o | Bin 10358 -> 0 bytes .../zip.dir/zip_source_file_common.c.o.d | 44 - .../zip.dir/zip_source_file_stdio.c.o | Bin 3298 -> 0 bytes .../zip.dir/zip_source_file_stdio.c.o.d | 48 - .../zip.dir/zip_source_file_stdio_named.c.o | Bin 6073 -> 0 bytes .../zip.dir/zip_source_file_stdio_named.c.o.d | 50 - .../CMakeFiles/zip.dir/zip_source_free.c.o | Bin 1199 -> 0 bytes .../CMakeFiles/zip.dir/zip_source_free.c.o.d | 44 - .../zip.dir/zip_source_function.c.o | Bin 1819 -> 0 bytes .../zip.dir/zip_source_function.c.o.d | 44 - .../zip.dir/zip_source_get_dostime.c.o | Bin 1200 -> 0 bytes .../zip.dir/zip_source_get_dostime.c.o.d | 41 - .../zip_source_get_file_attributes.c.o | Bin 2692 -> 0 bytes .../zip_source_get_file_attributes.c.o.d | 41 - .../zip.dir/zip_source_is_deleted.c.o | Bin 510 -> 0 bytes .../zip.dir/zip_source_is_deleted.c.o.d | 41 - .../CMakeFiles/zip.dir/zip_source_layered.c.o | Bin 1418 -> 0 bytes .../zip.dir/zip_source_layered.c.o.d | 44 - .../CMakeFiles/zip.dir/zip_source_open.c.o | Bin 1467 -> 0 bytes .../CMakeFiles/zip.dir/zip_source_open.c.o.d | 41 - .../zip_source_pass_to_lower_layer.c.o | Bin 1004 -> 0 bytes .../zip_source_pass_to_lower_layer.c.o.d | 41 - .../zip.dir/zip_source_pkware_decode.c.o | Bin 4296 -> 0 bytes .../zip.dir/zip_source_pkware_decode.c.o.d | 44 - .../zip.dir/zip_source_pkware_encode.c.o | Bin 5618 -> 0 bytes .../zip.dir/zip_source_pkware_encode.c.o.d | 44 - .../CMakeFiles/zip.dir/zip_source_read.c.o | Bin 1635 -> 0 bytes .../CMakeFiles/zip.dir/zip_source_read.c.o.d | 41 - .../CMakeFiles/zip.dir/zip_source_remove.c.o | Bin 1066 -> 0 bytes .../zip.dir/zip_source_remove.c.o.d | 41 - .../zip.dir/zip_source_rollback_write.c.o | Bin 740 -> 0 bytes .../zip.dir/zip_source_rollback_write.c.o.d | 41 - .../CMakeFiles/zip.dir/zip_source_seek.c.o | Bin 1651 -> 0 bytes .../CMakeFiles/zip.dir/zip_source_seek.c.o.d | 41 - .../zip.dir/zip_source_seek_write.c.o | Bin 1015 -> 0 bytes .../zip.dir/zip_source_seek_write.c.o.d | 41 - .../CMakeFiles/zip.dir/zip_source_stat.c.o | Bin 1169 -> 0 bytes .../CMakeFiles/zip.dir/zip_source_stat.c.o.d | 41 - .../zip.dir/zip_source_supports.c.o | Bin 1089 -> 0 bytes .../zip.dir/zip_source_supports.c.o.d | 50 - .../CMakeFiles/zip.dir/zip_source_tell.c.o | Bin 985 -> 0 bytes .../CMakeFiles/zip.dir/zip_source_tell.c.o.d | 41 - .../zip.dir/zip_source_tell_write.c.o | Bin 841 -> 0 bytes .../zip.dir/zip_source_tell_write.c.o.d | 41 - .../CMakeFiles/zip.dir/zip_source_window.c.o | Bin 9541 -> 0 bytes .../zip.dir/zip_source_window.c.o.d | 44 - .../CMakeFiles/zip.dir/zip_source_write.c.o | Bin 806 -> 0 bytes .../CMakeFiles/zip.dir/zip_source_write.c.o.d | 41 - .../lib/CMakeFiles/zip.dir/zip_source_zip.c.o | Bin 1216 -> 0 bytes .../CMakeFiles/zip.dir/zip_source_zip.c.o.d | 44 - .../CMakeFiles/zip.dir/zip_source_zip_new.c.o | Bin 8276 -> 0 bytes .../zip.dir/zip_source_zip_new.c.o.d | 44 - .../lib/CMakeFiles/zip.dir/zip_stat.c.o | Bin 745 -> 0 bytes .../lib/CMakeFiles/zip.dir/zip_stat.c.o.d | 41 - .../lib/CMakeFiles/zip.dir/zip_stat_index.c.o | Bin 3212 -> 0 bytes .../CMakeFiles/zip.dir/zip_stat_index.c.o.d | 41 - .../lib/CMakeFiles/zip.dir/zip_stat_init.c.o | Bin 1495 -> 0 bytes .../CMakeFiles/zip.dir/zip_stat_init.c.o.d | 41 - .../lib/CMakeFiles/zip.dir/zip_strerror.c.o | Bin 557 -> 0 bytes .../lib/CMakeFiles/zip.dir/zip_strerror.c.o.d | 41 - .../lib/CMakeFiles/zip.dir/zip_string.c.o | Bin 4056 -> 0 bytes .../lib/CMakeFiles/zip.dir/zip_string.c.o.d | 59 - .../lib/CMakeFiles/zip.dir/zip_unchange.c.o | Bin 2467 -> 0 bytes .../lib/CMakeFiles/zip.dir/zip_unchange.c.o.d | 44 - .../CMakeFiles/zip.dir/zip_unchange_all.c.o | Bin 912 -> 0 bytes .../CMakeFiles/zip.dir/zip_unchange_all.c.o.d | 41 - .../zip.dir/zip_unchange_archive.c.o | Bin 664 -> 0 bytes .../zip.dir/zip_unchange_archive.c.o.d | 44 - .../CMakeFiles/zip.dir/zip_unchange_data.c.o | Bin 899 -> 0 bytes .../zip.dir/zip_unchange_data.c.o.d | 41 - .../lib/CMakeFiles/zip.dir/zip_utf-8.c.o | Bin 4857 -> 0 bytes .../lib/CMakeFiles/zip.dir/zip_utf-8.c.o.d | 44 - .../build-emcmake/lib/CTestTestfile.cmake | 6 - .../libzip-1.11.3/build-emcmake/lib/Makefile | 3266 ---- .../build-emcmake/lib/cmake_install.cmake | 47 - .../libzip-1.11.3/build-emcmake/lib/libzip.a | Bin 353784 -> 0 bytes .../build-emcmake/lib/zip_err_str.c | 86 - .../build-emcmake/libzip-config-version.cmake | 43 - .../build-emcmake/libzip-config.cmake | 69 - .../build-emcmake/libzip-targets.cmake | 69 - .../libzip-1.11.3/build-emcmake/libzip.pc | 14 - .../CMakeDirectoryInformation.cmake | 16 - .../man/CMakeFiles/man.dir/DependInfo.cmake | 22 - .../man/CMakeFiles/man.dir/build.make | 715 - .../man/CMakeFiles/man.dir/cmake_clean.cmake | 113 - .../CMakeFiles/man.dir/compiler_depend.make | 2 - .../man/CMakeFiles/man.dir/compiler_depend.ts | 2 - .../man/CMakeFiles/man.dir/progress.make | 106 - .../man/CMakeFiles/progress.marks | 1 - .../update-html.dir/DependInfo.cmake | 22 - .../man/CMakeFiles/update-html.dir/build.make | 820 - .../update-html.dir/cmake_clean.cmake | 113 - .../update-html.dir/compiler_depend.make | 2 - .../update-html.dir/compiler_depend.ts | 2 - .../CMakeFiles/update-html.dir/progress.make | 106 - .../update-man.dir/DependInfo.cmake | 22 - .../man/CMakeFiles/update-man.dir/build.make | 820 - .../update-man.dir/cmake_clean.cmake | 113 - .../update-man.dir/compiler_depend.make | 2 - .../update-man.dir/compiler_depend.ts | 2 - .../CMakeFiles/update-man.dir/progress.make | 106 - .../update_zip_errors.dir/DependInfo.cmake | 22 - .../update_zip_errors.dir/build.make | 88 - .../update_zip_errors.dir/cmake_clean.cmake | 8 - .../compiler_depend.make | 2 - .../update_zip_errors.dir/compiler_depend.ts | 2 - .../update_zip_errors.dir/progress.make | 1 - .../build-emcmake/man/CTestTestfile.cmake | 6 - .../libzip-1.11.3/build-emcmake/man/Makefile | 260 - .../build-emcmake/man/ZIP_SOURCE_GET_ARGS.3 | 79 - .../build-emcmake/man/cmake_install.cmake | 567 - .../libzip-1.11.3/build-emcmake/man/libzip.3 | 299 - .../libzip-1.11.3/build-emcmake/man/zip_add.3 | 96 - .../build-emcmake/man/zip_add_dir.3 | 69 - .../build-emcmake/man/zip_close.3 | 136 - .../man/zip_compression_method_supported.3 | 65 - .../build-emcmake/man/zip_delete.3 | 80 - .../build-emcmake/man/zip_dir_add.3 | 109 - .../build-emcmake/man/zip_discard.3 | 61 - .../man/zip_encryption_method_supported.3 | 65 - .../build-emcmake/man/zip_error_clear.3 | 69 - .../build-emcmake/man/zip_error_code_system.3 | 63 - .../build-emcmake/man/zip_error_code_zip.3 | 60 - .../build-emcmake/man/zip_error_fini.3 | 60 - .../build-emcmake/man/zip_error_get.3 | 117 - .../man/zip_error_get_sys_type.3 | 77 - .../build-emcmake/man/zip_error_init.3 | 76 - .../build-emcmake/man/zip_error_set.3 | 70 - .../man/zip_error_set_from_source.3 | 69 - .../build-emcmake/man/zip_error_strerror.3 | 67 - .../build-emcmake/man/zip_error_system_type.3 | 77 - .../build-emcmake/man/zip_error_to_data.3 | 69 - .../build-emcmake/man/zip_error_to_str.3 | 88 - .../build-emcmake/man/zip_errors.3 | 125 - .../build-emcmake/man/zip_fclose.3 | 65 - .../build-emcmake/man/zip_fdopen.3 | 149 - .../build-emcmake/man/zip_file_add.3 | 175 - .../man/zip_file_attributes_init.3 | 61 - .../man/zip_file_extra_field_delete.3 | 130 - .../man/zip_file_extra_field_get.3 | 157 - .../man/zip_file_extra_field_set.3 | 115 - .../man/zip_file_extra_fields_count.3 | 113 - .../build-emcmake/man/zip_file_get_comment.3 | 119 - .../build-emcmake/man/zip_file_get_error.3 | 57 - .../man/zip_file_get_external_attributes.3 | 165 - .../build-emcmake/man/zip_file_rename.3 | 104 - .../build-emcmake/man/zip_file_set_comment.3 | 116 - .../man/zip_file_set_encryption.3 | 121 - .../man/zip_file_set_external_attributes.3 | 89 - .../build-emcmake/man/zip_file_set_mtime.3 | 126 - .../build-emcmake/man/zip_file_strerror.3 | 85 - .../build-emcmake/man/zip_fopen.3 | 148 - .../build-emcmake/man/zip_fopen_encrypted.3 | 135 - .../build-emcmake/man/zip_fread.3 | 85 - .../build-emcmake/man/zip_fseek.3 | 89 - .../build-emcmake/man/zip_ftell.3 | 67 - .../man/zip_get_archive_comment.3 | 112 - .../build-emcmake/man/zip_get_archive_flag.3 | 110 - .../build-emcmake/man/zip_get_error.3 | 60 - .../build-emcmake/man/zip_get_file_comment.3 | 73 - .../build-emcmake/man/zip_get_name.3 | 132 - .../build-emcmake/man/zip_get_num_entries.3 | 88 - .../build-emcmake/man/zip_get_num_files.3 | 75 - .../build-emcmake/man/zip_libzip_version.3 | 66 - .../build-emcmake/man/zip_name_locate.3 | 148 - .../build-emcmake/man/zip_open.3 | 192 - .../zip_register_cancel_callback_with_state.3 | 84 - .../man/zip_register_progress_callback.3 | 77 - ...ip_register_progress_callback_with_state.3 | 87 - .../build-emcmake/man/zip_rename.3 | 70 - .../man/zip_set_archive_comment.3 | 93 - .../build-emcmake/man/zip_set_archive_flag.3 | 90 - .../man/zip_set_default_password.3 | 90 - .../build-emcmake/man/zip_set_file_comment.3 | 79 - .../man/zip_set_file_compression.3 | 146 - .../build-emcmake/man/zip_source.3 | 90 - .../man/zip_source_begin_write.3 | 89 - .../build-emcmake/man/zip_source_buffer.3 | 102 - .../man/zip_source_buffer_fragment.3 | 112 - .../build-emcmake/man/zip_source_close.3 | 67 - .../man/zip_source_commit_write.3 | 70 - .../build-emcmake/man/zip_source_error.3 | 60 - .../build-emcmake/man/zip_source_file.3 | 147 - .../build-emcmake/man/zip_source_filep.3 | 112 - .../build-emcmake/man/zip_source_free.3 | 76 - .../build-emcmake/man/zip_source_function.3 | 415 - .../build-emcmake/man/zip_source_is_deleted.3 | 62 - .../man/zip_source_is_seekable.3 | 65 - .../build-emcmake/man/zip_source_keep.3 | 60 - .../build-emcmake/man/zip_source_layered.3 | 166 - .../man/zip_source_make_command_bitmap.3 | 62 - .../build-emcmake/man/zip_source_open.3 | 70 - .../build-emcmake/man/zip_source_read.3 | 80 - .../man/zip_source_rollback_write.3 | 68 - .../build-emcmake/man/zip_source_seek.3 | 82 - .../man/zip_source_seek_compute_offset.3 | 81 - .../build-emcmake/man/zip_source_seek_write.3 | 84 - .../build-emcmake/man/zip_source_stat.3 | 125 - .../build-emcmake/man/zip_source_tell.3 | 74 - .../build-emcmake/man/zip_source_tell_write.3 | 77 - .../build-emcmake/man/zip_source_win32a.3 | 121 - .../man/zip_source_win32handle.3 | 110 - .../build-emcmake/man/zip_source_win32w.3 | 119 - .../man/zip_source_window_create.3 | 98 - .../build-emcmake/man/zip_source_write.3 | 80 - .../build-emcmake/man/zip_source_zip.3 | 144 - .../build-emcmake/man/zip_source_zip_file.3 | 144 - .../build-emcmake/man/zip_stat.3 | 179 - .../build-emcmake/man/zip_stat_init.3 | 76 - .../build-emcmake/man/zip_unchange.3 | 81 - .../build-emcmake/man/zip_unchange_all.3 | 64 - .../build-emcmake/man/zip_unchange_archive.3 | 64 - .../libzip-1.11.3/build-emcmake/man/zipcmp.1 | 99 - .../build-emcmake/man/zipmerge.1 | 105 - .../libzip-1.11.3/build-emcmake/man/ziptool.1 | 364 - .../CMakeDirectoryInformation.cmake | 16 - .../list-fuzzers.dir/DependInfo.cmake | 22 - .../CMakeFiles/list-fuzzers.dir/build.make | 87 - .../list-fuzzers.dir/cmake_clean.cmake | 8 - .../list-fuzzers.dir/compiler_depend.make | 2 - .../list-fuzzers.dir/compiler_depend.ts | 2 - .../CMakeFiles/list-fuzzers.dir/progress.make | 1 - .../ossfuzz/CMakeFiles/progress.marks | 1 - .../zip_read_file_fuzzer.dir/DependInfo.cmake | 24 - .../zip_read_file_fuzzer.dir/build.make | 132 - .../cmake_clean.cmake | 13 - .../compiler_depend.make | 2 - .../compiler_depend.ts | 2 - .../zip_read_file_fuzzer.dir/depend.make | 2 - .../zip_read_file_fuzzer.dir/flags.make | 10 - .../zip_read_file_fuzzer.dir/fuzz_main.c.o | Bin 1925 -> 0 bytes .../zip_read_file_fuzzer.dir/fuzz_main.c.o.d | 21 - .../zip_read_file_fuzzer.dir/link.txt | 1 - .../zip_read_file_fuzzer.dir/progress.make | 4 - .../zip_read_file_fuzzer.c.o | Bin 3745 -> 0 bytes .../zip_read_file_fuzzer.c.o.d | 36 - .../zip_read_fuzzer.dir/DependInfo.cmake | 24 - .../CMakeFiles/zip_read_fuzzer.dir/build.make | 132 - .../zip_read_fuzzer.dir/cmake_clean.cmake | 13 - .../zip_read_fuzzer.dir/compiler_depend.make | 2 - .../zip_read_fuzzer.dir/compiler_depend.ts | 2 - .../zip_read_fuzzer.dir/depend.make | 2 - .../CMakeFiles/zip_read_fuzzer.dir/flags.make | 10 - .../zip_read_fuzzer.dir/fuzz_main.c.o | Bin 1925 -> 0 bytes .../zip_read_fuzzer.dir/fuzz_main.c.o.d | 21 - .../CMakeFiles/zip_read_fuzzer.dir/link.txt | 1 - .../zip_read_fuzzer.dir/progress.make | 4 - .../zip_read_fuzzer.dir/zip_read_fuzzer.c.o | Bin 2938 -> 0 bytes .../zip_read_fuzzer.dir/zip_read_fuzzer.c.o.d | 28 - .../DependInfo.cmake | 24 - .../build.make | 132 - .../cmake_clean.cmake | 13 - .../compiler_depend.make | 2 - .../compiler_depend.ts | 2 - .../depend.make | 2 - .../flags.make | 10 - .../fuzz_main.c.o | Bin 1925 -> 0 bytes .../fuzz_main.c.o.d | 21 - .../link.txt | 1 - .../progress.make | 4 - .../zip_write_encrypt_aes256_file_fuzzer.c.o | Bin 2312 -> 0 bytes ...zip_write_encrypt_aes256_file_fuzzer.c.o.d | 33 - .../DependInfo.cmake | 24 - .../build.make | 132 - .../cmake_clean.cmake | 13 - .../compiler_depend.make | 2 - .../compiler_depend.ts | 2 - .../depend.make | 2 - .../flags.make | 10 - .../fuzz_main.c.o | Bin 1925 -> 0 bytes .../fuzz_main.c.o.d | 21 - .../link.txt | 1 - .../progress.make | 4 - .../zip_write_encrypt_pkware_file_fuzzer.c.o | Bin 2267 -> 0 bytes ...zip_write_encrypt_pkware_file_fuzzer.c.o.d | 33 - .../build-emcmake/ossfuzz/CTestTestfile.cmake | 6 - .../build-emcmake/ossfuzz/Makefile | 419 - .../build-emcmake/ossfuzz/cmake_install.cmake | 39 - .../ossfuzz/zip_read_file_fuzzer.js | 4809 ----- .../ossfuzz/zip_read_file_fuzzer.wasm | Bin 389285 -> 0 bytes .../build-emcmake/ossfuzz/zip_read_fuzzer.js | 4646 ----- .../ossfuzz/zip_read_fuzzer.wasm | Bin 371655 -> 0 bytes .../zip_write_encrypt_aes256_file_fuzzer.js | 4809 ----- .../zip_write_encrypt_aes256_file_fuzzer.wasm | Bin 400122 -> 0 bytes .../zip_write_encrypt_pkware_file_fuzzer.js | 4809 ----- .../zip_write_encrypt_pkware_file_fuzzer.wasm | Bin 400106 -> 0 bytes .../CMakeDirectoryInformation.cmake | 16 - .../src/CMakeFiles/progress.marks | 1 - .../CMakeFiles/zipcmp.dir/DependInfo.cmake | 24 - .../src/CMakeFiles/zipcmp.dir/build.make | 132 - .../CMakeFiles/zipcmp.dir/cmake_clean.cmake | 13 - .../zipcmp.dir/compiler_depend.make | 2 - .../CMakeFiles/zipcmp.dir/compiler_depend.ts | 2 - .../src/CMakeFiles/zipcmp.dir/depend.make | 2 - .../src/CMakeFiles/zipcmp.dir/diff_output.c.o | Bin 3758 -> 0 bytes .../CMakeFiles/zipcmp.dir/diff_output.c.o.d | 52 - .../src/CMakeFiles/zipcmp.dir/flags.make | 10 - .../src/CMakeFiles/zipcmp.dir/link.txt | 1 - .../src/CMakeFiles/zipcmp.dir/progress.make | 4 - .../src/CMakeFiles/zipcmp.dir/zipcmp.c.o | Bin 28320 -> 0 bytes .../src/CMakeFiles/zipcmp.dir/zipcmp.c.o.d | 60 - .../CMakeFiles/zipmerge.dir/DependInfo.cmake | 23 - .../src/CMakeFiles/zipmerge.dir/build.make | 115 - .../CMakeFiles/zipmerge.dir/cmake_clean.cmake | 11 - .../zipmerge.dir/compiler_depend.make | 2 - .../zipmerge.dir/compiler_depend.ts | 2 - .../src/CMakeFiles/zipmerge.dir/depend.make | 2 - .../src/CMakeFiles/zipmerge.dir/flags.make | 10 - .../src/CMakeFiles/zipmerge.dir/link.txt | 1 - .../src/CMakeFiles/zipmerge.dir/progress.make | 3 - .../src/CMakeFiles/zipmerge.dir/zipmerge.c.o | Bin 10717 -> 0 bytes .../CMakeFiles/zipmerge.dir/zipmerge.c.o.d | 38 - .../CMakeFiles/ziptool.dir/DependInfo.cmake | 23 - .../src/CMakeFiles/ziptool.dir/build.make | 115 - .../CMakeFiles/ziptool.dir/cmake_clean.cmake | 11 - .../ziptool.dir/compiler_depend.make | 2 - .../CMakeFiles/ziptool.dir/compiler_depend.ts | 2 - .../src/CMakeFiles/ziptool.dir/depend.make | 2 - .../src/CMakeFiles/ziptool.dir/flags.make | 10 - .../src/CMakeFiles/ziptool.dir/link.txt | 1 - .../src/CMakeFiles/ziptool.dir/progress.make | 3 - .../src/CMakeFiles/ziptool.dir/ziptool.c.o | Bin 181061 -> 0 bytes .../src/CMakeFiles/ziptool.dir/ziptool.c.o.d | 46 - .../build-emcmake/src/CTestTestfile.cmake | 6 - .../libzip-1.11.3/build-emcmake/src/Makefile | 353 - .../build-emcmake/src/cmake_install.cmake | 81 - .../libzip-1.11.3/build-emcmake/src/zipcmp.js | 4814 ----- .../build-emcmake/src/zipcmp.wasm | Bin 412967 -> 0 bytes .../build-emcmake/src/zipmerge.js | 4814 ----- .../build-emcmake/src/zipmerge.wasm | Bin 412829 -> 0 bytes .../build-emcmake/src/ziptool.js | 4827 ----- .../build-emcmake/src/ziptool.wasm | Bin 461566 -> 0 bytes .../libzip-1.11.3/build-emcmake/zipconf.h | 48 - .../libzip-1.11.3/cmake/FindMbedTLS.cmake | 141 - .../libzip-1.11.3/cmake/FindNettle.cmake | 141 - thirdparty/libzip-1.11.3/cmake/Findzstd.cmake | 186 - thirdparty/libzip-1.11.3/lib/zip.h | 528 - .../zlib-1.3.1/build-emcmake/CMakeCache.txt | 353 - .../CMakeFiles/3.28.3/CMakeCCompiler.cmake | 74 - .../3.28.3/CMakeDetermineCompilerABI_C.bin | 1521 -- .../CMakeFiles/3.28.3/CMakeSystem.cmake | 15 - .../3.28.3/CompilerIdC/CMakeCCompilerId.c | 880 - .../CMakeFiles/3.28.3/CompilerIdC/a.out.js | 1521 -- .../CMakeFiles/3.28.3/CompilerIdC/a.out.wasm | Bin 1791 -> 0 bytes .../CMakeFiles/CMakeConfigureLog.yaml | 409 - .../CMakeDirectoryInformation.cmake | 16 - .../CMakeFiles/CheckTypeSize/OFF64_T.bin | Bin 1166 -> 0 bytes .../CMakeFiles/CheckTypeSize/OFF64_T.c | 46 - .../build-emcmake/CMakeFiles/Makefile.cmake | 122 - .../build-emcmake/CMakeFiles/Makefile2 | 252 - .../CMakeFiles/TargetDirectories.txt | 13 - .../CMakeFiles/cmake.check_cache | 1 - .../CMakeFiles/example.dir/DependInfo.cmake | 23 - .../CMakeFiles/example.dir/build.make | 114 - .../CMakeFiles/example.dir/cmake_clean.cmake | 11 - .../example.dir/compiler_depend.make | 2 - .../CMakeFiles/example.dir/compiler_depend.ts | 2 - .../CMakeFiles/example.dir/depend.make | 2 - .../CMakeFiles/example.dir/flags.make | 10 - .../CMakeFiles/example.dir/link.txt | 1 - .../CMakeFiles/example.dir/progress.make | 3 - .../CMakeFiles/example.dir/test/example.c.o | Bin 18191 -> 0 bytes .../CMakeFiles/example.dir/test/example.c.o.d | 43 - .../CMakeFiles/example64.dir/DependInfo.cmake | 23 - .../CMakeFiles/example64.dir/build.make | 114 - .../example64.dir/cmake_clean.cmake | 11 - .../example64.dir/compiler_depend.make | 2 - .../example64.dir/compiler_depend.ts | 2 - .../CMakeFiles/example64.dir/depend.make | 2 - .../CMakeFiles/example64.dir/flags.make | 10 - .../CMakeFiles/example64.dir/link.txt | 1 - .../CMakeFiles/example64.dir/progress.make | 3 - .../CMakeFiles/example64.dir/test/example.c.o | Bin 18191 -> 0 bytes .../example64.dir/test/example.c.o.d | 43 - .../CMakeFiles/minigzip.dir/DependInfo.cmake | 23 - .../CMakeFiles/minigzip.dir/build.make | 114 - .../CMakeFiles/minigzip.dir/cmake_clean.cmake | 11 - .../minigzip.dir/compiler_depend.make | 2 - .../minigzip.dir/compiler_depend.ts | 2 - .../CMakeFiles/minigzip.dir/depend.make | 2 - .../CMakeFiles/minigzip.dir/flags.make | 10 - .../CMakeFiles/minigzip.dir/link.txt | 1 - .../CMakeFiles/minigzip.dir/progress.make | 3 - .../CMakeFiles/minigzip.dir/test/minigzip.c.o | Bin 7450 -> 0 bytes .../minigzip.dir/test/minigzip.c.o.d | 43 - .../minigzip64.dir/DependInfo.cmake | 23 - .../CMakeFiles/minigzip64.dir/build.make | 114 - .../minigzip64.dir/cmake_clean.cmake | 11 - .../minigzip64.dir/compiler_depend.make | 2 - .../minigzip64.dir/compiler_depend.ts | 2 - .../CMakeFiles/minigzip64.dir/depend.make | 2 - .../CMakeFiles/minigzip64.dir/flags.make | 10 - .../CMakeFiles/minigzip64.dir/link.txt | 1 - .../CMakeFiles/minigzip64.dir/progress.make | 3 - .../minigzip64.dir/test/minigzip.c.o | Bin 7450 -> 0 bytes .../minigzip64.dir/test/minigzip.c.o.d | 43 - .../build-emcmake/CMakeFiles/progress.marks | 1 - .../CMakeFiles/zlib.dir/DependInfo.cmake | 37 - .../CMakeFiles/zlib.dir/adler32.c.o | Bin 5938 -> 0 bytes .../CMakeFiles/zlib.dir/adler32.c.o.d | 43 - .../CMakeFiles/zlib.dir/build.make | 350 - .../CMakeFiles/zlib.dir/cmake_clean.cmake | 39 - .../zlib.dir/cmake_clean_target.cmake | 3 - .../CMakeFiles/zlib.dir/compiler_depend.make | 2 - .../CMakeFiles/zlib.dir/compiler_depend.ts | 2 - .../CMakeFiles/zlib.dir/compress.c.o | Bin 1647 -> 0 bytes .../CMakeFiles/zlib.dir/compress.c.o.d | 36 - .../CMakeFiles/zlib.dir/crc32.c.o | Bin 19892 -> 0 bytes .../CMakeFiles/zlib.dir/crc32.c.o.d | 44 - .../CMakeFiles/zlib.dir/deflate.c.o | Bin 58064 -> 0 bytes .../CMakeFiles/zlib.dir/deflate.c.o.d | 44 - .../CMakeFiles/zlib.dir/depend.make | 2 - .../CMakeFiles/zlib.dir/flags.make | 10 - .../CMakeFiles/zlib.dir/gzclose.c.o | Bin 718 -> 0 bytes .../CMakeFiles/zlib.dir/gzclose.c.o.d | 48 - .../CMakeFiles/zlib.dir/gzlib.c.o | Bin 10154 -> 0 bytes .../CMakeFiles/zlib.dir/gzlib.c.o.d | 48 - .../CMakeFiles/zlib.dir/gzread.c.o | Bin 12516 -> 0 bytes .../CMakeFiles/zlib.dir/gzread.c.o.d | 48 - .../CMakeFiles/zlib.dir/gzwrite.c.o | Bin 11463 -> 0 bytes .../CMakeFiles/zlib.dir/gzwrite.c.o.d | 48 - .../CMakeFiles/zlib.dir/infback.c.o | Bin 20892 -> 0 bytes .../CMakeFiles/zlib.dir/infback.c.o.d | 47 - .../CMakeFiles/zlib.dir/inffast.c.o | Bin 7230 -> 0 bytes .../CMakeFiles/zlib.dir/inffast.c.o.d | 46 - .../CMakeFiles/zlib.dir/inflate.c.o | Bin 41957 -> 0 bytes .../CMakeFiles/zlib.dir/inflate.c.o.d | 47 - .../CMakeFiles/zlib.dir/inftrees.c.o | Bin 6596 -> 0 bytes .../CMakeFiles/zlib.dir/inftrees.c.o.d | 44 - .../CMakeFiles/zlib.dir/link.txt | 2 - .../CMakeFiles/zlib.dir/progress.make | 17 - .../CMakeFiles/zlib.dir/trees.c.o | Bin 39596 -> 0 bytes .../CMakeFiles/zlib.dir/trees.c.o.d | 45 - .../CMakeFiles/zlib.dir/uncompr.c.o | Bin 1839 -> 0 bytes .../CMakeFiles/zlib.dir/uncompr.c.o.d | 36 - .../CMakeFiles/zlib.dir/zutil.c.o | Bin 1781 -> 0 bytes .../CMakeFiles/zlib.dir/zutil.c.o.d | 49 - .../zlibstatic.dir/DependInfo.cmake | 37 - .../CMakeFiles/zlibstatic.dir/adler32.c.o | Bin 5938 -> 0 bytes .../CMakeFiles/zlibstatic.dir/adler32.c.o.d | 43 - .../CMakeFiles/zlibstatic.dir/build.make | 350 - .../zlibstatic.dir/cmake_clean.cmake | 39 - .../zlibstatic.dir/cmake_clean_target.cmake | 3 - .../zlibstatic.dir/compiler_depend.make | 2 - .../zlibstatic.dir/compiler_depend.ts | 2 - .../CMakeFiles/zlibstatic.dir/compress.c.o | Bin 1647 -> 0 bytes .../CMakeFiles/zlibstatic.dir/compress.c.o.d | 36 - .../CMakeFiles/zlibstatic.dir/crc32.c.o | Bin 19892 -> 0 bytes .../CMakeFiles/zlibstatic.dir/crc32.c.o.d | 44 - .../CMakeFiles/zlibstatic.dir/deflate.c.o | Bin 58064 -> 0 bytes .../CMakeFiles/zlibstatic.dir/deflate.c.o.d | 44 - .../CMakeFiles/zlibstatic.dir/depend.make | 2 - .../CMakeFiles/zlibstatic.dir/flags.make | 10 - .../CMakeFiles/zlibstatic.dir/gzclose.c.o | Bin 718 -> 0 bytes .../CMakeFiles/zlibstatic.dir/gzclose.c.o.d | 48 - .../CMakeFiles/zlibstatic.dir/gzlib.c.o | Bin 10154 -> 0 bytes .../CMakeFiles/zlibstatic.dir/gzlib.c.o.d | 48 - .../CMakeFiles/zlibstatic.dir/gzread.c.o | Bin 12516 -> 0 bytes .../CMakeFiles/zlibstatic.dir/gzread.c.o.d | 48 - .../CMakeFiles/zlibstatic.dir/gzwrite.c.o | Bin 11463 -> 0 bytes .../CMakeFiles/zlibstatic.dir/gzwrite.c.o.d | 48 - .../CMakeFiles/zlibstatic.dir/infback.c.o | Bin 20892 -> 0 bytes .../CMakeFiles/zlibstatic.dir/infback.c.o.d | 47 - .../CMakeFiles/zlibstatic.dir/inffast.c.o | Bin 7230 -> 0 bytes .../CMakeFiles/zlibstatic.dir/inffast.c.o.d | 46 - .../CMakeFiles/zlibstatic.dir/inflate.c.o | Bin 41957 -> 0 bytes .../CMakeFiles/zlibstatic.dir/inflate.c.o.d | 47 - .../CMakeFiles/zlibstatic.dir/inftrees.c.o | Bin 6596 -> 0 bytes .../CMakeFiles/zlibstatic.dir/inftrees.c.o.d | 44 - .../CMakeFiles/zlibstatic.dir/link.txt | 2 - .../CMakeFiles/zlibstatic.dir/progress.make | 17 - .../CMakeFiles/zlibstatic.dir/trees.c.o | Bin 39596 -> 0 bytes .../CMakeFiles/zlibstatic.dir/trees.c.o.d | 45 - .../CMakeFiles/zlibstatic.dir/uncompr.c.o | Bin 1839 -> 0 bytes .../CMakeFiles/zlibstatic.dir/uncompr.c.o.d | 36 - .../CMakeFiles/zlibstatic.dir/zutil.c.o | Bin 1781 -> 0 bytes .../CMakeFiles/zlibstatic.dir/zutil.c.o.d | 49 - .../build-emcmake/CTestTestfile.cmake | 10 - thirdparty/zlib-1.3.1/build-emcmake/Makefile | 794 - .../build-emcmake/cmake_install.cmake | 112 - .../zlib-1.3.1/build-emcmake/example.js | 4342 ----- .../zlib-1.3.1/build-emcmake/example.wasm | Bin 222066 -> 0 bytes .../zlib-1.3.1/build-emcmake/example64.js | 4342 ----- .../zlib-1.3.1/build-emcmake/example64.wasm | Bin 222066 -> 0 bytes .../build-emcmake/install_manifest.txt | 6 - .../zlib-1.3.1/build-emcmake/minigzip.js | 4517 ----- .../zlib-1.3.1/build-emcmake/minigzip.wasm | Bin 201173 -> 0 bytes .../zlib-1.3.1/build-emcmake/minigzip64.js | 4517 ----- .../zlib-1.3.1/build-emcmake/minigzip64.wasm | Bin 201173 -> 0 bytes .../zlib-1.3.1/contrib/vstudio/vc10/zlib.rc | 32 - .../contrib/vstudio/vc10/zlibvc.def | 158 - .../zlib-1.3.1/contrib/vstudio/vc9/zlib.rc | 32 - .../zlib-1.3.1/contrib/vstudio/vc9/zlibvc.def | 158 - thirdparty/zlib-1.3.1/install/include/zconf.h | 545 - thirdparty/zlib-1.3.1/install/lib/libz.a | Bin 242940 -> 0 bytes .../install/share/pkgconfig/zlib.pc | 13 - 2085 files changed, 13644 insertions(+), 161518 deletions(-) delete mode 100644 blender scripts/output/spaceship005.txt rename space-game001plain.html => proj-web/space-game001plain.html (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/.clang-format (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/.github/ISSUE_TEMPLATE/bug-report.md (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/.github/ISSUE_TEMPLATE/compile-error.md (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/.github/ISSUE_TEMPLATE/feature-request.md (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/.github/ISSUE_TEMPLATE/other.md (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/.github/workflows/CIFuzz.yml (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/.github/workflows/bsd.yml (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/.github/workflows/build.yml (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/.github/workflows/codeql-analysis.yml (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/.github/workflows/coverity.yml (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/API-CHANGES.md (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/AUTHORS (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/CMakeLists.txt (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/INSTALL.md (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/LICENSE (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/NEWS.md (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/README.md (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/SECURITY.md (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/THANKS (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/TODO.md (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/android/do.sh (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/android/docker/Dockerfile (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/android/readme.txt (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/appveyor.yml (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/cmake-compat/CMakePushCheckState.cmake (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/cmake-compat/CheckLibraryExists.cmake (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/cmake-compat/CheckSymbolExists.cmake (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/cmake-compat/FindBZip2.cmake (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/cmake-compat/FindGnuTLS.cmake (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/cmake-compat/FindLibLZMA.cmake (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/cmake-compat/FindPackageHandleStandardArgs.cmake (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/cmake-compat/FindPackageMessage.cmake (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/cmake-compat/SelectLibraryConfigurations.cmake (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/cmake/Dist.cmake (100%) rename {thirdparty/libzip-1.11.3/build-emcmake/install/lib/cmake/libzip/modules => proj-web/thirdparty/libzip-1.11.3/cmake}/FindMbedTLS.cmake (100%) rename {thirdparty/libzip-1.11.3/build-emcmake/install/lib/cmake/libzip/modules => proj-web/thirdparty/libzip-1.11.3/cmake}/FindNettle.cmake (100%) rename {thirdparty/libzip-1.11.3/build-emcmake/install/lib/cmake/libzip/modules => proj-web/thirdparty/libzip-1.11.3/cmake}/Findzstd.cmake (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/cmake/GenerateZipErrorStrings.cmake (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/config.h.in (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/examples/CMakeLists.txt (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/examples/add-compressed-data.c (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/examples/autoclose-archive.c (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/examples/cmake-project/CMakeLists.txt (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/examples/cmake-project/cmake-example.c (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/examples/in-memory.c (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/examples/windows-open.c (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/lib/CMakeLists.txt (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/lib/compat.h (100%) rename {thirdparty/libzip-1.11.3/build-emcmake/install/include => proj-web/thirdparty/libzip-1.11.3/lib}/zip.h (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/lib/zip_add.c (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/lib/zip_add_dir.c (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/lib/zip_add_entry.c (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/lib/zip_algorithm_bzip2.c (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/lib/zip_algorithm_deflate.c (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/lib/zip_algorithm_xz.c (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/lib/zip_algorithm_zstd.c (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/lib/zip_buffer.c (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/lib/zip_close.c (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/lib/zip_crypto.h (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/lib/zip_crypto_commoncrypto.c (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/lib/zip_crypto_commoncrypto.h (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/lib/zip_crypto_gnutls.c (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/lib/zip_crypto_gnutls.h (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/lib/zip_crypto_mbedtls.c (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/lib/zip_crypto_mbedtls.h (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/lib/zip_crypto_openssl.c (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/lib/zip_crypto_openssl.h (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/lib/zip_crypto_win.c (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/lib/zip_crypto_win.h (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/lib/zip_delete.c (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/lib/zip_dir_add.c (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/lib/zip_dirent.c (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/lib/zip_discard.c (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/lib/zip_entry.c (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/lib/zip_error.c (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/lib/zip_error_clear.c (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/lib/zip_error_get.c (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/lib/zip_error_get_sys_type.c (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/lib/zip_error_strerror.c (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/lib/zip_error_to_str.c (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/lib/zip_extra_field.c (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/lib/zip_extra_field_api.c (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/lib/zip_fclose.c (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/lib/zip_fdopen.c (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/lib/zip_file_add.c (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/lib/zip_file_error_clear.c (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/lib/zip_file_error_get.c (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/lib/zip_file_get_comment.c (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/lib/zip_file_get_external_attributes.c (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/lib/zip_file_get_offset.c (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/lib/zip_file_rename.c (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/lib/zip_file_replace.c (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/lib/zip_file_set_comment.c (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/lib/zip_file_set_encryption.c (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/lib/zip_file_set_external_attributes.c (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/lib/zip_file_set_mtime.c (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/lib/zip_file_strerror.c (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/lib/zip_fopen.c (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/lib/zip_fopen_encrypted.c (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/lib/zip_fopen_index.c (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/lib/zip_fopen_index_encrypted.c (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/lib/zip_fread.c (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/lib/zip_fseek.c (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/lib/zip_ftell.c (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/lib/zip_get_archive_comment.c (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/lib/zip_get_archive_flag.c (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/lib/zip_get_encryption_implementation.c (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/lib/zip_get_file_comment.c (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/lib/zip_get_name.c (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/lib/zip_get_num_entries.c (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/lib/zip_get_num_files.c (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/lib/zip_hash.c (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/lib/zip_io_util.c (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/lib/zip_libzip_version.c (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/lib/zip_memdup.c (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/lib/zip_name_locate.c (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/lib/zip_new.c (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/lib/zip_open.c (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/lib/zip_pkware.c (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/lib/zip_progress.c (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/lib/zip_random_unix.c (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/lib/zip_random_uwp.c (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/lib/zip_random_win32.c (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/lib/zip_rename.c (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/lib/zip_replace.c (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/lib/zip_set_archive_comment.c (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/lib/zip_set_archive_flag.c (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/lib/zip_set_default_password.c (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/lib/zip_set_file_comment.c (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/lib/zip_set_file_compression.c (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/lib/zip_set_name.c (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/lib/zip_source_accept_empty.c (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/lib/zip_source_begin_write.c (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/lib/zip_source_begin_write_cloning.c (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/lib/zip_source_buffer.c (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/lib/zip_source_call.c (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/lib/zip_source_close.c (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/lib/zip_source_commit_write.c (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/lib/zip_source_compress.c (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/lib/zip_source_crc.c (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/lib/zip_source_error.c (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/lib/zip_source_file.h (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/lib/zip_source_file_common.c (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/lib/zip_source_file_stdio.c (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/lib/zip_source_file_stdio.h (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/lib/zip_source_file_stdio_named.c (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/lib/zip_source_file_win32.c (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/lib/zip_source_file_win32.h (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/lib/zip_source_file_win32_ansi.c (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/lib/zip_source_file_win32_named.c (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/lib/zip_source_file_win32_utf16.c (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/lib/zip_source_file_win32_utf8.c (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/lib/zip_source_free.c (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/lib/zip_source_function.c (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/lib/zip_source_get_dostime.c (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/lib/zip_source_get_file_attributes.c (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/lib/zip_source_is_deleted.c (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/lib/zip_source_layered.c (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/lib/zip_source_open.c (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/lib/zip_source_pass_to_lower_layer.c (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/lib/zip_source_pkware_decode.c (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/lib/zip_source_pkware_encode.c (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/lib/zip_source_read.c (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/lib/zip_source_remove.c (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/lib/zip_source_rollback_write.c (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/lib/zip_source_seek.c (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/lib/zip_source_seek_write.c (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/lib/zip_source_stat.c (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/lib/zip_source_supports.c (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/lib/zip_source_tell.c (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/lib/zip_source_tell_write.c (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/lib/zip_source_window.c (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/lib/zip_source_winzip_aes_decode.c (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/lib/zip_source_winzip_aes_encode.c (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/lib/zip_source_write.c (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/lib/zip_source_zip.c (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/lib/zip_source_zip_new.c (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/lib/zip_stat.c (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/lib/zip_stat_index.c (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/lib/zip_stat_init.c (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/lib/zip_strerror.c (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/lib/zip_string.c (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/lib/zip_unchange.c (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/lib/zip_unchange_all.c (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/lib/zip_unchange_archive.c (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/lib/zip_unchange_data.c (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/lib/zip_utf-8.c (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/lib/zip_winzip_aes.c (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/lib/zipint.h (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/libzip-config.cmake.in (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/libzip.pc.in (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/CMakeLists.txt (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/ZIP_SOURCE_GET_ARGS.html (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/ZIP_SOURCE_GET_ARGS.man (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/ZIP_SOURCE_GET_ARGS.mdoc (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/handle_links (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/libzip.html (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/libzip.man (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/libzip.mdoc (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/links (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/update-html.cmake (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/update-man.cmake (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_add.html (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_add.man (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_add.mdoc (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_add_dir.html (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_add_dir.man (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_add_dir.mdoc (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_close.html (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_close.man (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_close.mdoc (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_compression_method_supported.html (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_compression_method_supported.man (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_compression_method_supported.mdoc (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_delete.html (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_delete.man (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_delete.mdoc (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_dir_add.html (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_dir_add.man (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_dir_add.mdoc (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_discard.html (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_discard.man (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_discard.mdoc (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_encryption_method_supported.html (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_encryption_method_supported.man (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_encryption_method_supported.mdoc (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_error_clear.html (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_error_clear.man (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_error_clear.mdoc (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_error_code_system.html (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_error_code_system.man (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_error_code_system.mdoc (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_error_code_zip.html (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_error_code_zip.man (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_error_code_zip.mdoc (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_error_fini.html (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_error_fini.man (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_error_fini.mdoc (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_error_get.html (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_error_get.man (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_error_get.mdoc (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_error_get_sys_type.html (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_error_get_sys_type.man (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_error_get_sys_type.mdoc (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_error_init.html (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_error_init.man (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_error_init.mdoc (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_error_set.html (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_error_set.man (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_error_set.mdoc (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_error_set_from_source.html (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_error_set_from_source.man (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_error_set_from_source.mdoc (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_error_strerror.html (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_error_strerror.man (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_error_strerror.mdoc (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_error_system_type.html (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_error_system_type.man (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_error_system_type.mdoc (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_error_to_data.html (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_error_to_data.man (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_error_to_data.mdoc (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_error_to_str.html (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_error_to_str.man (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_error_to_str.mdoc (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_errors.html (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_errors.man (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_errors.mdoc (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_fclose.html (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_fclose.man (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_fclose.mdoc (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_fdopen.html (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_fdopen.man (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_fdopen.mdoc (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_file_add.html (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_file_add.man (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_file_add.mdoc (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_file_attributes_init.html (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_file_attributes_init.man (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_file_attributes_init.mdoc (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_file_extra_field_delete.html (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_file_extra_field_delete.man (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_file_extra_field_delete.mdoc (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_file_extra_field_get.html (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_file_extra_field_get.man (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_file_extra_field_get.mdoc (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_file_extra_field_set.html (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_file_extra_field_set.man (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_file_extra_field_set.mdoc (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_file_extra_fields_count.html (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_file_extra_fields_count.man (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_file_extra_fields_count.mdoc (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_file_get_comment.html (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_file_get_comment.man (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_file_get_comment.mdoc (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_file_get_error.html (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_file_get_error.man (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_file_get_error.mdoc (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_file_get_external_attributes.html (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_file_get_external_attributes.man (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_file_get_external_attributes.mdoc (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_file_rename.html (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_file_rename.man (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_file_rename.mdoc (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_file_set_comment.html (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_file_set_comment.man (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_file_set_comment.mdoc (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_file_set_encryption.html (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_file_set_encryption.man (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_file_set_encryption.mdoc (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_file_set_external_attributes.html (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_file_set_external_attributes.man (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_file_set_external_attributes.mdoc (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_file_set_mtime.html (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_file_set_mtime.man (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_file_set_mtime.mdoc (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_file_strerror.html (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_file_strerror.man (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_file_strerror.mdoc (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_fopen.html (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_fopen.man (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_fopen.mdoc (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_fopen_encrypted.html (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_fopen_encrypted.man (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_fopen_encrypted.mdoc (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_fread.html (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_fread.man (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_fread.mdoc (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_fseek.html (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_fseek.man (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_fseek.mdoc (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_ftell.html (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_ftell.man (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_ftell.mdoc (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_get_archive_comment.html (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_get_archive_comment.man (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_get_archive_comment.mdoc (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_get_archive_flag.html (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_get_archive_flag.man (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_get_archive_flag.mdoc (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_get_error.html (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_get_error.man (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_get_error.mdoc (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_get_file_comment.html (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_get_file_comment.man (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_get_file_comment.mdoc (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_get_name.html (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_get_name.man (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_get_name.mdoc (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_get_num_entries.html (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_get_num_entries.man (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_get_num_entries.mdoc (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_get_num_files.html (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_get_num_files.man (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_get_num_files.mdoc (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_libzip_version.html (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_libzip_version.man (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_libzip_version.mdoc (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_name_locate.html (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_name_locate.man (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_name_locate.mdoc (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_open.html (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_open.man (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_open.mdoc (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_register_cancel_callback_with_state.html (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_register_cancel_callback_with_state.man (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_register_cancel_callback_with_state.mdoc (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_register_progress_callback.html (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_register_progress_callback.man (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_register_progress_callback.mdoc (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_register_progress_callback_with_state.html (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_register_progress_callback_with_state.man (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_register_progress_callback_with_state.mdoc (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_rename.html (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_rename.man (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_rename.mdoc (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_set_archive_comment.html (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_set_archive_comment.man (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_set_archive_comment.mdoc (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_set_archive_flag.html (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_set_archive_flag.man (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_set_archive_flag.mdoc (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_set_default_password.html (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_set_default_password.man (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_set_default_password.mdoc (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_set_file_comment.html (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_set_file_comment.man (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_set_file_comment.mdoc (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_set_file_compression.html (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_set_file_compression.man (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_set_file_compression.mdoc (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_source.html (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_source.man (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_source.mdoc (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_source_begin_write.html (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_source_begin_write.man (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_source_begin_write.mdoc (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_source_buffer.html (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_source_buffer.man (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_source_buffer.mdoc (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_source_buffer_fragment.html (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_source_buffer_fragment.man (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_source_buffer_fragment.mdoc (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_source_close.html (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_source_close.man (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_source_close.mdoc (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_source_commit_write.html (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_source_commit_write.man (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_source_commit_write.mdoc (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_source_error.html (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_source_error.man (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_source_error.mdoc (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_source_file.html (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_source_file.man (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_source_file.mdoc (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_source_filep.html (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_source_filep.man (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_source_filep.mdoc (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_source_free.html (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_source_free.man (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_source_free.mdoc (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_source_function.html (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_source_function.man (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_source_function.mdoc (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_source_is_deleted.html (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_source_is_deleted.man (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_source_is_deleted.mdoc (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_source_is_seekable.html (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_source_is_seekable.man (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_source_is_seekable.mdoc (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_source_keep.html (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_source_keep.man (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_source_keep.mdoc (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_source_layered.html (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_source_layered.man (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_source_layered.mdoc (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_source_make_command_bitmap.html (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_source_make_command_bitmap.man (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_source_make_command_bitmap.mdoc (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_source_open.html (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_source_open.man (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_source_open.mdoc (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_source_pass_to_lower_layer.mdoc (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_source_read.html (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_source_read.man (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_source_read.mdoc (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_source_rollback_write.html (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_source_rollback_write.man (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_source_rollback_write.mdoc (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_source_seek.html (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_source_seek.man (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_source_seek.mdoc (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_source_seek_compute_offset.html (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_source_seek_compute_offset.man (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_source_seek_compute_offset.mdoc (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_source_seek_write.html (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_source_seek_write.man (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_source_seek_write.mdoc (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_source_stat.html (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_source_stat.man (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_source_stat.mdoc (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_source_tell.html (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_source_tell.man (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_source_tell.mdoc (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_source_tell_write.html (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_source_tell_write.man (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_source_tell_write.mdoc (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_source_win32a.html (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_source_win32a.man (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_source_win32a.mdoc (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_source_win32handle.html (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_source_win32handle.man (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_source_win32handle.mdoc (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_source_win32w.html (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_source_win32w.man (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_source_win32w.mdoc (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_source_window_create.html (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_source_window_create.man (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_source_window_create.mdoc (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_source_write.html (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_source_write.man (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_source_write.mdoc (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_source_zip.html (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_source_zip.man (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_source_zip.mdoc (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_source_zip_file.html (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_source_zip_file.man (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_source_zip_file.mdoc (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_stat.html (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_stat.man (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_stat.mdoc (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_stat_init.html (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_stat_init.man (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_stat_init.mdoc (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_unchange.html (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_unchange.man (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_unchange.mdoc (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_unchange_all.html (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_unchange_all.man (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_unchange_all.mdoc (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_unchange_archive.html (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_unchange_archive.man (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zip_unchange_archive.mdoc (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zipcmp.html (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zipcmp.man (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zipcmp.mdoc (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zipmerge.html (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zipmerge.man (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/zipmerge.mdoc (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/ziptool.html (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/ziptool.man (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/man/ziptool.mdoc (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/ossfuzz/CMakeLists.txt (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/ossfuzz/fuzz_main.c (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/ossfuzz/ossfuzz.sh (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/ossfuzz/zip_read_file_fuzzer.c (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/ossfuzz/zip_read_fuzzer.c (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/ossfuzz/zip_read_fuzzer.dict (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/ossfuzz/zip_read_fuzzer_common.h (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/ossfuzz/zip_write_encrypt_aes256_file_fuzzer.c (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/ossfuzz/zip_write_encrypt_aes256_file_fuzzer_seed_corpus.zip (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/ossfuzz/zip_write_encrypt_pkware_file_fuzzer.c (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/CMakeLists.txt (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/add_dir.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/add_from_buffer.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/add_from_file.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/add_from_file_duplicate.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/add_from_file_twice_duplicate.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/add_from_file_unchange.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/add_from_filep.c (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/add_from_filep.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/add_from_stdin.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/add_from_zip_closed.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/add_from_zip_deflated.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/add_from_zip_deflated2.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/add_from_zip_partial_deflated.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/add_from_zip_partial_stored.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/add_from_zip_stored.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/add_stored.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/add_stored_in_memory.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/bigstored.zh (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/bigzero-zip.zip (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/bogus.zip (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/broken.zip (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/buffer-fragment-read.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/buffer-fragment-write.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/can_clone_file.c (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/cancel_45.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/cancel_90.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/changing-size-decreases-fixed.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/changing-size-decreases.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/changing-size-increases-fixed.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/changing-size-increases-unchecked.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/changing-size-increases.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/changing-size-muchl.zip (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/changing-size-muchlo.zip (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/changing-size-muchlonger.zip (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/changing-size.zip (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/check_torrentzip_fail.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/check_torrentzip_modified.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/check_torrentzip_success.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/cleanup.cmake (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/clone-buffer-add.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/clone-buffer-delete.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/clone-buffer-replace.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/clone-fs-add.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/clone-fs-delete.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/clone-fs-replace.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/cm-default.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/cm-default.zip (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/convert_to_torrentzip.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/convert_to_torrentzip_ef.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/count_entries.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/create_empty_keep.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/decrypt-correct-password-aes128.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/decrypt-correct-password-aes192.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/decrypt-correct-password-aes256.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/decrypt-correct-password-pkware-2.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/decrypt-correct-password-pkware.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/decrypt-empty-file-pkware.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/decrypt-no-password-aes256.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/decrypt-wrong-password-aes128.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/decrypt-wrong-password-aes192.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/decrypt-wrong-password-aes256.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/decrypt-wrong-password-pkware-2.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/decrypt-wrong-password-pkware.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/delete_add_same.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/delete_invalid.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/delete_last.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/delete_last_keep.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/delete_multiple_last.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/delete_multiple_partial.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/delete_renamed_rename.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/empty-pkware.zip (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/encrypt-1234.zip (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/encrypt-aes128-noentropy.zip (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/encrypt-aes128.zip (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/encrypt-aes192-noentropy.zip (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/encrypt-aes192.zip (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/encrypt-aes256-noentropy.zip (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/encrypt-aes256.zip (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/encrypt-none.zip (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/encrypt-pkware-noentropy-2.zip (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/encrypt-pkware-noentropy.zip (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/encrypt.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/encrypt.zip (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/encrypt_plus_extra.zip (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/encrypt_plus_extra_modified_c.zip (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/encrypt_plus_extra_modified_l.zip (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/encryption-nonrandom-aes128.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/encryption-nonrandom-aes192.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/encryption-nonrandom-aes256.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/encryption-nonrandom-pkware-2.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/encryption-nonrandom-pkware.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/encryption-remove.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/encryption-stat.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/extra_add.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/extra_add_multiple.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/extra_count.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/extra_count_by_id.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/extra_count_ignore_zip64.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/extra_delete.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/extra_delete_by_id.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/extra_field_align.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/extra_field_align_1-0.zip (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/extra_field_align_1-ef_00.zip (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/extra_field_align_1-ef_ff.zip (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/extra_field_align_1-ff.zip (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/extra_field_align_2-0.zip (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/extra_field_align_2-ef_00.zip (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/extra_field_align_2-ef_ff.zip (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/extra_field_align_2-ff.zip (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/extra_field_align_3-0.zip (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/extra_field_align_3-ef_00.zip (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/extra_field_align_3-ef_ff.zip (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/extra_field_align_3-ff.zip (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/extra_field_align_4-ff.zip (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/extra_get.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/extra_get_by_id.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/extra_set.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/extra_set_modify_c.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/extra_set_modify_l.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/fdopen_ok.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/file_comment_encmismatch.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/filename_duplicate.zip (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/filename_duplicate_empty.zip (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/filename_empty.zip (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/fileorder.zip (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/firstsecond-split-deflated.zip (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/firstsecond-split-stored.zip (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/firstsecond.zip (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/foo-stored.zip (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/fopen_multiple.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/fopen_multiple_reopen.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/fopen_unchanged.c (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/fopen_unchanged.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/fread.c (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/fread.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/fseek.c (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/fseek_deflated.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/fseek_fail.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/fseek_ok.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/gap-add.zip (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/gap-delete.zip (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/gap-replace.zip (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/gap.zip (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/get_comment.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/get_comment_long.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/hmac-error.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/hmac-error.zip (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/hole.c (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/incons-archive-comment-longer.zip (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/incons-archive-comment-shorter.zip (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/incons-cdoffset.zip (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/incons-cdsize-large.zip (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/incons-cdsize-small.zip (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/incons-central-compression-method.zip (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/incons-central-compsize-larger-toolarge.zip (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/incons-central-compsize-larger.zip (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/incons-central-compsize-smaller.zip (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/incons-central-crc.zip (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/incons-central-date.zip (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/incons-central-file-comment-longer.zip (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/incons-central-file-comment-shorter.zip (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/incons-central-file-comment-utf8-ascii.zip (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/incons-central-magic-bad.zip (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/incons-central-magic-bad2.zip (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/incons-central-size-larger.zip (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/incons-data.zip (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/incons-ef-central-size-wrong.zip (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/incons-ef-local-dupe-utf8comment.zip (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/incons-ef-local-dupe-utf8name.zip (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/incons-ef-local-dupe-zip64-v1.zip (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/incons-ef-local-dupe-zip64-v2.zip (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/incons-ef-local-id-size.zip (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/incons-ef-local-id.zip (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/incons-ef-local-size.zip (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/incons-ef-local-utf8name-ascii.zip (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/incons-eocd-magic-bad.zip (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/incons-eocd64.zip (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/incons-file-count-high.zip (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/incons-file-count-low.zip (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/incons-file-count-overflow.zip (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/incons-gap-before-cd.zip (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/incons-gap-before-eocd.zip (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/incons-gap-before-local.zip (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/incons-local-compression-method.zip (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/incons-local-compsize-larger.zip (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/incons-local-compsize-smaller.zip (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/incons-local-crc.zip (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/incons-local-filename-long.zip (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/incons-local-filename-missing.zip (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/incons-local-filename-nil-byte.zip (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/incons-local-filename-short.zip (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/incons-local-filename.zip (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/incons-local-magic-bad.zip (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/incons-local-size-larger.zip (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/incons-stored-size.zip (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/incons-streamed-2.zip (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/incons-streamed.zip (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/incons-trailing-garbage.zip (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/junk-at-end.zip (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/junk-at-start.zip (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/junk_at_end.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/junk_at_start.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/large-uncompressible (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/liboverride-test.c (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/liboverride.c (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/lzma-no-eos.zip (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/malloc.c (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/manyfiles-zip.zip (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/mtime-default.zip (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/mtime-dstpoint-deflated.zip (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/mtime-dstpoint.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/mtime-dstpoint.zip (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/mtime-post-dstpoint-deflated.zip (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/mtime-post-dstpoint.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/mtime-post-dstpoint.zip (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/mtime-pre-dstpoint-deflated.zip (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/mtime-pre-dstpoint.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/mtime-pre-dstpoint.zip (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/multidisk.zip (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/name_locate-cp437.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/name_locate-utf8.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/name_locate.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/nihtest.conf.in (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/nonrandomopen.c (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/nonrandomopentest.c (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/open_archive_comment_wrong.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/open_cons_extrabytes.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/open_empty.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/open_empty_2.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/open_extrabytes.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/open_file_count.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/open_filename_duplicate.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/open_filename_duplicate_consistency.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/open_filename_duplicate_empty.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/open_filename_duplicate_empty_consistency.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/open_filename_empty.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/open_incons.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/open_many_fail.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/open_many_ok.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/open_multidisk.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/open_new_but_exists.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/open_new_ok.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/open_nonarchive.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/open_nosuchfile.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/open_ok.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/open_too_short.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/open_truncate.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/open_truncated.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/open_zip64_3mf.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/open_zip64_ok.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/preload.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/progress.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/read_incons.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/read_seek_read.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/rename_ascii.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/rename_cp437.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/rename_deleted.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/rename_fail.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/rename_ok.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/rename_ok.zip (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/rename_utf8.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/rename_utf8_encmismatch.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/reopen.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/reopen_partial.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/reopen_partial_rest.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/set_comment_all.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/set_comment_localonly.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/set_comment_removeglobal.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/set_comment_revert.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/set_compression_bzip2_to_deflate.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/set_compression_deflate_to_bzip2.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/set_compression_deflate_to_deflate.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/set_compression_deflate_to_store.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/set_compression_lzma_no_eos_to_store.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/set_compression_lzma_to_store.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/set_compression_store_to_bzip2.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/set_compression_store_to_deflate.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/set_compression_store_to_lzma.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/set_compression_store_to_store.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/set_compression_store_to_xz.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/set_compression_store_to_zstd.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/set_compression_unknown.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/set_compression_xz_to_store.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/set_compression_zstd_to_store.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/set_file_dostime.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/set_file_mtime.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/set_file_mtime_pkware.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/short (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/source_hole.c (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/stat_index_cp437_guess.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/stat_index_cp437_raw.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/stat_index_cp437_strict.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/stat_index_fileorder.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/stat_index_streamed.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/stat_index_streamed_zip64.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/stat_index_utf8_guess.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/stat_index_utf8_raw.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/stat_index_utf8_strict.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/stat_index_utf8_unmarked_strict.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/stat_index_zip64.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/stored-no-eos.zip (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/streamed-zip64.zip (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/streamed.zip (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/test-cp437-comment-utf-8.zip (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/test-cp437-fc-utf-8-filename.zip (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/test-cp437-fc.zip (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/test-cp437.zip (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/test-utf8-unmarked.zip (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/test-utf8.zip (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/test.zip (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/test2.zip (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/test_open_multiple.zip (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/testbuffer.zip (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/testbuffer_reopen.zip (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/testbzip2.zip (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/testchanged.zip (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/testchangedlocal.zip (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/testcomment.zip (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/testcomment13.zip (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/testcommentremoved.zip (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/testdeflated.zip (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/testdeflated2.zip (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/testdir.zip (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/testempty.zip (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/testextrabytes.zip (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/testfile-UTF8.zip (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/testfile-cp437.zip (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/testfile-ef.zip (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/testfile-long-comment.zip (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/testfile-lzma.zip (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/testfile-plus-extra.zip (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/testfile-stored-dos.zip (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/testfile-torrentzip-modified.zip (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/testfile-torrentzip.zip (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/testfile-truncated.zip (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/testfile-xz.zip (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/testfile-zstd.zip (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/testfile.txt (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/testfile.zip (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/testfile0.zip (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/testfile2014.zip (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/teststdin.zip (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/teststored.zip (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/truncate_empty_keep.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/tryopen.c (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/unchange-delete-namelocate.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/utf-8-standardization-input.zip (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/utf-8-standardization-output.zip (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/utf-8-standardization.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/want_torrentzip_stat.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/zip-in-archive-comment.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/zip-in-archive-comment.zip (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/zip64-3mf.zip (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/zip64-in-archive-comment.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/zip64-in-archive-comment.zip (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/zip64.zip (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/zip64_creation.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/zip64_stored_creation.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/zipcmp_zip_dir.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/zipcmp_zip_dir.zip (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/zipcmp_zip_dir_slash.test (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/regress/ziptool_regress.c (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/src/CMakeLists.txt (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/src/diff_output.c (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/src/diff_output.h (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/src/getopt.c (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/src/getopt.h (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/src/zipcmp.c (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/src/zipmerge.c (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/src/ziptool.c (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/vcpkg.json (100%) rename {thirdparty => proj-web/thirdparty}/libzip-1.11.3/zipconf.h.in (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/CMakeLists.txt (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/ChangeLog (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/FAQ (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/INDEX (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/LICENSE (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/Makefile (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/Makefile.in (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/README (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/adler32.c (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/amiga/Makefile.pup (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/amiga/Makefile.sas (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/compress.c (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/configure (100%) mode change 100755 => 100644 rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/contrib/README.contrib (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/contrib/ada/buffer_demo.adb (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/contrib/ada/mtest.adb (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/contrib/ada/read.adb (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/contrib/ada/readme.txt (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/contrib/ada/test.adb (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/contrib/ada/zlib-streams.adb (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/contrib/ada/zlib-streams.ads (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/contrib/ada/zlib-thin.adb (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/contrib/ada/zlib-thin.ads (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/contrib/ada/zlib.adb (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/contrib/ada/zlib.ads (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/contrib/ada/zlib.gpr (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/contrib/blast/Makefile (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/contrib/blast/README (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/contrib/blast/blast.c (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/contrib/blast/blast.h (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/contrib/blast/test.pk (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/contrib/blast/test.txt (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/contrib/delphi/ZLib.pas (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/contrib/delphi/ZLibConst.pas (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/contrib/delphi/readme.txt (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/contrib/delphi/zlibd32.mak (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/contrib/dotzlib/DotZLib.build (96%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/contrib/dotzlib/DotZLib.chm (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/contrib/dotzlib/DotZLib.sln (97%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/contrib/dotzlib/DotZLib/AssemblyInfo.cs (97%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/contrib/dotzlib/DotZLib/ChecksumImpl.cs (97%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/contrib/dotzlib/DotZLib/CircularBuffer.cs (96%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/contrib/dotzlib/DotZLib/CodecBase.cs (96%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/contrib/dotzlib/DotZLib/Deflater.cs (97%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/contrib/dotzlib/DotZLib/DotZLib.cs (97%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/contrib/dotzlib/DotZLib/DotZLib.csproj (97%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/contrib/dotzlib/DotZLib/GZipStream.cs (97%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/contrib/dotzlib/DotZLib/Inflater.cs (97%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/contrib/dotzlib/DotZLib/UnitTests.cs (96%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/contrib/dotzlib/LICENSE_1_0.txt (96%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/contrib/dotzlib/readme.txt (97%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/contrib/gcc_gvmat64/gvmat64.S (96%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/contrib/infback9/README (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/contrib/infback9/infback9.c (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/contrib/infback9/infback9.h (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/contrib/infback9/inffix9.h (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/contrib/infback9/inflate9.h (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/contrib/infback9/inftree9.c (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/contrib/infback9/inftree9.h (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/contrib/iostream/test.cpp (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/contrib/iostream/zfstream.cpp (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/contrib/iostream/zfstream.h (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/contrib/iostream2/zstream.h (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/contrib/iostream2/zstream_test.cpp (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/contrib/iostream3/README (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/contrib/iostream3/TODO (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/contrib/iostream3/test.cc (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/contrib/iostream3/zfstream.cc (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/contrib/iostream3/zfstream.h (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/contrib/minizip/Makefile (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/contrib/minizip/Makefile.am (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/contrib/minizip/MiniZip64_Changes.txt (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/contrib/minizip/MiniZip64_info.txt (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/contrib/minizip/configure.ac (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/contrib/minizip/crypt.h (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/contrib/minizip/ioapi.c (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/contrib/minizip/ioapi.h (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/contrib/minizip/iowin32.c (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/contrib/minizip/iowin32.h (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/contrib/minizip/make_vms.com (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/contrib/minizip/miniunz.c (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/contrib/minizip/miniunzip.1 (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/contrib/minizip/minizip.1 (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/contrib/minizip/minizip.c (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/contrib/minizip/minizip.pc.in (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/contrib/minizip/mztools.c (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/contrib/minizip/mztools.h (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/contrib/minizip/unzip.c (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/contrib/minizip/unzip.h (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/contrib/minizip/zip.c (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/contrib/minizip/zip.h (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/contrib/nuget/nuget.csproj (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/contrib/nuget/nuget.sln (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/contrib/pascal/example.pas (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/contrib/pascal/readme.txt (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/contrib/pascal/zlibd32.mak (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/contrib/pascal/zlibpas.pas (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/contrib/puff/Makefile (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/contrib/puff/README (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/contrib/puff/puff.c (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/contrib/puff/puff.h (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/contrib/puff/pufftest.c (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/contrib/puff/zeros.raw (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/contrib/testzlib/testzlib.c (96%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/contrib/testzlib/testzlib.txt (84%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/contrib/untgz/Makefile (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/contrib/untgz/Makefile.msc (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/contrib/untgz/untgz.c (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/contrib/vstudio/readme.txt (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/contrib/vstudio/vc10/miniunz.vcxproj (98%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/contrib/vstudio/vc10/miniunz.vcxproj.filters (96%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/contrib/vstudio/vc10/minizip.vcxproj (98%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/contrib/vstudio/vc10/minizip.vcxproj.filters (96%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/contrib/vstudio/vc10/testzlib.vcxproj (98%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/contrib/vstudio/vc10/testzlib.vcxproj.filters (96%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/contrib/vstudio/vc10/testzlibdll.vcxproj (98%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/contrib/vstudio/vc10/testzlibdll.vcxproj.filters (96%) rename {thirdparty/zlib-1.3.1/contrib/vstudio/vc12 => proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/vc10}/zlib.rc (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/contrib/vstudio/vc10/zlibstat.vcxproj (98%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/contrib/vstudio/vc10/zlibstat.vcxproj.filters (96%) rename {thirdparty/zlib-1.3.1/contrib/vstudio/vc17 => proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/vc10}/zlibvc.def (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/contrib/vstudio/vc10/zlibvc.sln (98%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/contrib/vstudio/vc10/zlibvc.vcxproj (98%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/contrib/vstudio/vc10/zlibvc.vcxproj.filters (96%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/contrib/vstudio/vc11/miniunz.vcxproj (98%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/contrib/vstudio/vc11/minizip.vcxproj (98%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/contrib/vstudio/vc11/testzlib.vcxproj (98%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/contrib/vstudio/vc11/testzlibdll.vcxproj (98%) rename {thirdparty/zlib-1.3.1/contrib/vstudio/vc14 => proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/vc11}/zlib.rc (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/contrib/vstudio/vc11/zlibstat.vcxproj (98%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/contrib/vstudio/vc11/zlibvc.def (97%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/contrib/vstudio/vc11/zlibvc.sln (98%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/contrib/vstudio/vc11/zlibvc.vcxproj (98%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/contrib/vstudio/vc12/miniunz.vcxproj (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/contrib/vstudio/vc12/minizip.vcxproj (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/contrib/vstudio/vc12/testzlib.vcxproj (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/contrib/vstudio/vc12/testzlibdll.vcxproj (100%) rename {thirdparty/zlib-1.3.1/contrib/vstudio/vc17 => proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/vc12}/zlib.rc (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/contrib/vstudio/vc12/zlibstat.vcxproj (100%) rename {thirdparty/zlib-1.3.1/contrib/vstudio/vc14 => proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/vc12}/zlibvc.def (97%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/contrib/vstudio/vc12/zlibvc.sln (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/contrib/vstudio/vc12/zlibvc.vcxproj (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/contrib/vstudio/vc14/miniunz.vcxproj (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/contrib/vstudio/vc14/minizip.vcxproj (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/contrib/vstudio/vc14/testzlib.vcxproj (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/contrib/vstudio/vc14/testzlibdll.vcxproj (100%) rename {thirdparty/zlib-1.3.1/contrib/vstudio/vc11 => proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/vc14}/zlib.rc (96%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/contrib/vstudio/vc14/zlibstat.vcxproj (100%) rename {thirdparty/zlib-1.3.1/contrib/vstudio/vc12 => proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/vc14}/zlibvc.def (97%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/contrib/vstudio/vc14/zlibvc.sln (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/contrib/vstudio/vc14/zlibvc.vcxproj (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/contrib/vstudio/vc17/miniunz.vcxproj (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/contrib/vstudio/vc17/minizip.vcxproj (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/contrib/vstudio/vc17/testzlib.vcxproj (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/contrib/vstudio/vc17/testzlibdll.vcxproj (100%) create mode 100644 proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/vc17/zlib.rc rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/contrib/vstudio/vc17/zlibstat.vcxproj (100%) create mode 100644 proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/vc17/zlibvc.def rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/contrib/vstudio/vc17/zlibvc.sln (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/contrib/vstudio/vc17/zlibvc.vcxproj (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/contrib/vstudio/vc9/miniunz.vcproj (95%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/contrib/vstudio/vc9/minizip.vcproj (95%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/contrib/vstudio/vc9/testzlib.vcproj (95%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/contrib/vstudio/vc9/testzlibdll.vcproj (95%) create mode 100644 proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/vc9/zlib.rc rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/contrib/vstudio/vc9/zlibstat.vcproj (95%) create mode 100644 proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/vc9/zlibvc.def rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/contrib/vstudio/vc9/zlibvc.sln (98%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/contrib/vstudio/vc9/zlibvc.vcproj (95%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/crc32.c (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/crc32.h (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/deflate.c (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/deflate.h (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/doc/algorithm.txt (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/doc/crc-doc.1.0.pdf (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/doc/rfc1950.txt (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/doc/rfc1951.txt (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/doc/rfc1952.txt (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/doc/txtvsbin.txt (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/examples/README.examples (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/examples/enough.c (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/examples/fitblk.c (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/examples/gun.c (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/examples/gzappend.c (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/examples/gzjoin.c (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/examples/gzlog.c (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/examples/gzlog.h (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/examples/gznorm.c (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/examples/zlib_how.html (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/examples/zpipe.c (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/examples/zran.c (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/examples/zran.h (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/gzclose.c (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/gzguts.h (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/gzlib.c (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/gzread.c (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/gzwrite.c (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/infback.c (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/inffast.c (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/inffast.h (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/inffixed.h (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/inflate.c (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/inflate.h (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/inftrees.c (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/inftrees.h (100%) rename {thirdparty/zlib-1.3.1/build-emcmake => proj-web/thirdparty/zlib-1.3.1/install/include}/zconf.h (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/install/include/zlib.h (100%) rename {thirdparty/zlib-1.3.1/build-emcmake => proj-web/thirdparty/zlib-1.3.1/install/lib}/libz.a (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/install/share/man/man3/zlib.3 (100%) rename {thirdparty/zlib-1.3.1/build-emcmake => proj-web/thirdparty/zlib-1.3.1/install/share/pkgconfig}/zlib.pc (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/make_vms.com (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/msdos/Makefile.bor (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/msdos/Makefile.dj2 (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/msdos/Makefile.emx (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/msdos/Makefile.msc (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/msdos/Makefile.tc (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/nintendods/Makefile (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/nintendods/README (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/old/Makefile.emx (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/old/Makefile.riscos (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/old/README (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/old/descrip.mms (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/old/os2/Makefile.os2 (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/old/os2/zlib.def (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/old/visual-basic.txt (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/os400/README400 (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/os400/bndsrc (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/os400/make.sh (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/os400/zlib.inc (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/qnx/package.qpg (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/test/example.c (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/test/infcover.c (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/test/minigzip.c (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/treebuild.xml (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/trees.c (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/trees.h (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/uncompr.c (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/watcom/watcom_f.mak (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/watcom/watcom_l.mak (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/zconf.h.cmakein (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/zconf.h.in (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/zconf.h.included (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/zlib.3 (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/zlib.3.pdf (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/zlib.h (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/zlib.map (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/zlib.pc.cmakein (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/zlib.pc.in (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/zutil.c (100%) rename {thirdparty => proj-web/thirdparty}/zlib-1.3.1/zutil.h (100%) rename {config => resources/config}/settings.json (100%) rename {config => resources/config}/spark_config.json (79%) rename {config => resources/config}/spark_projectile_config.json (100%) rename {config => resources/config}/ui.json (100%) rename {shaders => resources/shaders}/default.vertex (100%) rename {shaders => resources/shaders}/defaultAtmosphere.vertex (100%) rename {shaders => resources/shaders}/defaultAtmosphere_web.fragment (100%) rename {shaders => resources/shaders}/defaultColor.vertex (100%) rename {shaders => resources/shaders}/defaultColor_web.fragment (100%) rename {shaders => resources/shaders}/default_env.vertex (100%) rename {shaders => resources/shaders}/default_env_web.fragment (100%) rename {shaders => resources/shaders}/default_texture.vertex (100%) rename {shaders => resources/shaders}/default_texture_web.fragment (100%) rename {shaders => resources/shaders}/default_web.fragment (100%) rename {shaders => resources/shaders}/env_sky.vertex (100%) rename {shaders => resources/shaders}/env_sky_web.fragment (100%) rename {shaders => resources/shaders}/planet_bake.vertex (100%) rename {shaders => resources/shaders}/planet_bake_web.fragment (100%) rename {shaders => resources/shaders}/planet_land.vertex (100%) rename {shaders => resources/shaders}/planet_land_web.fragment (100%) rename {shaders => resources/shaders}/planet_stone.vertex (100%) rename {shaders => resources/shaders}/planet_stone_web.fragment (100%) rename {shaders => resources/shaders}/spark.fragment (100%) rename {shaders => resources/shaders}/spark.vertex (100%) delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/CMakeCache.txt delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/3.28.3/CMakeCCompiler.cmake delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/3.28.3/CMakeDetermineCompilerABI_C.bin delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/3.28.3/CMakeSystem.cmake delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/3.28.3/CompilerIdC/CMakeCCompilerId.c delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/3.28.3/CompilerIdC/a.out.js delete mode 100755 thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/3.28.3/CompilerIdC/a.out.wasm delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeConfigureLog.yaml delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeDirectoryInformation.cmake delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeRuleHashes.txt delete mode 100755 thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CheckTypeSize/INT16_T_LIBZIP.bin delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CheckTypeSize/INT16_T_LIBZIP.c delete mode 100755 thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CheckTypeSize/INT32_T_LIBZIP.bin delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CheckTypeSize/INT32_T_LIBZIP.c delete mode 100755 thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CheckTypeSize/INT64_T_LIBZIP.bin delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CheckTypeSize/INT64_T_LIBZIP.c delete mode 100755 thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CheckTypeSize/INT8_T_LIBZIP.bin delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CheckTypeSize/INT8_T_LIBZIP.c delete mode 100755 thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CheckTypeSize/INT_LIBZIP.bin delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CheckTypeSize/INT_LIBZIP.c delete mode 100755 thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CheckTypeSize/LONG_LIBZIP.bin delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CheckTypeSize/LONG_LIBZIP.c delete mode 100755 thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CheckTypeSize/LONG_LONG_LIBZIP.bin delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CheckTypeSize/LONG_LONG_LIBZIP.c delete mode 100755 thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CheckTypeSize/SHORT_LIBZIP.bin delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CheckTypeSize/SHORT_LIBZIP.c delete mode 100755 thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CheckTypeSize/SIZEOF_OFF_T.bin delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CheckTypeSize/SIZEOF_OFF_T.c delete mode 100755 thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CheckTypeSize/SIZEOF_SIZE_T.bin delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CheckTypeSize/SIZEOF_SIZE_T.c delete mode 100755 thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CheckTypeSize/UINT16_T_LIBZIP.bin delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CheckTypeSize/UINT16_T_LIBZIP.c delete mode 100755 thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CheckTypeSize/UINT32_T_LIBZIP.bin delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CheckTypeSize/UINT32_T_LIBZIP.c delete mode 100755 thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CheckTypeSize/UINT64_T_LIBZIP.bin delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CheckTypeSize/UINT64_T_LIBZIP.c delete mode 100755 thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CheckTypeSize/UINT8_T_LIBZIP.bin delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CheckTypeSize/UINT8_T_LIBZIP.c delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CheckTypeSize/__INT16_LIBZIP.c delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CheckTypeSize/__INT32_LIBZIP.c delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CheckTypeSize/__INT64_LIBZIP.c delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CheckTypeSize/__INT8_LIBZIP.c delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/Export/ab63c3a9eda5ec24a2943b813039874c/libzip-targets-noconfig.cmake delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/Export/ab63c3a9eda5ec24a2943b813039874c/libzip-targets.cmake delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/Makefile.cmake delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/Makefile2 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/TargetDirectories.txt delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/cmake.check_cache delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/dist.dir/DependInfo.cmake delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/dist.dir/build.make delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/dist.dir/cmake_clean.cmake delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/dist.dir/compiler_depend.make delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/dist.dir/compiler_depend.ts delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/dist.dir/progress.make delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/distcheck.dir/DependInfo.cmake delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/distcheck.dir/build.make delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/distcheck.dir/cmake_clean.cmake delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/distcheck.dir/compiler_depend.make delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/distcheck.dir/compiler_depend.ts delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/distcheck.dir/progress.make delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/progress.marks delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/CTestTestfile.cmake delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/Makefile delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/cmake_install.cmake delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/compile_commands.json delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/config.h delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/examples/CMakeFiles/CMakeDirectoryInformation.cmake delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/examples/CMakeFiles/add-compressed-data.dir/DependInfo.cmake delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/examples/CMakeFiles/add-compressed-data.dir/add-compressed-data.c.o delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/examples/CMakeFiles/add-compressed-data.dir/add-compressed-data.c.o.d delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/examples/CMakeFiles/add-compressed-data.dir/build.make delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/examples/CMakeFiles/add-compressed-data.dir/cmake_clean.cmake delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/examples/CMakeFiles/add-compressed-data.dir/compiler_depend.make delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/examples/CMakeFiles/add-compressed-data.dir/compiler_depend.ts delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/examples/CMakeFiles/add-compressed-data.dir/depend.make delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/examples/CMakeFiles/add-compressed-data.dir/flags.make delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/examples/CMakeFiles/add-compressed-data.dir/link.txt delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/examples/CMakeFiles/add-compressed-data.dir/progress.make delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/examples/CMakeFiles/autoclose-archive.dir/DependInfo.cmake delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/examples/CMakeFiles/autoclose-archive.dir/autoclose-archive.c.o delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/examples/CMakeFiles/autoclose-archive.dir/autoclose-archive.c.o.d delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/examples/CMakeFiles/autoclose-archive.dir/build.make delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/examples/CMakeFiles/autoclose-archive.dir/cmake_clean.cmake delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/examples/CMakeFiles/autoclose-archive.dir/compiler_depend.make delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/examples/CMakeFiles/autoclose-archive.dir/compiler_depend.ts delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/examples/CMakeFiles/autoclose-archive.dir/depend.make delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/examples/CMakeFiles/autoclose-archive.dir/flags.make delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/examples/CMakeFiles/autoclose-archive.dir/link.txt delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/examples/CMakeFiles/autoclose-archive.dir/progress.make delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/examples/CMakeFiles/in-memory.dir/DependInfo.cmake delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/examples/CMakeFiles/in-memory.dir/build.make delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/examples/CMakeFiles/in-memory.dir/cmake_clean.cmake delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/examples/CMakeFiles/in-memory.dir/compiler_depend.make delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/examples/CMakeFiles/in-memory.dir/compiler_depend.ts delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/examples/CMakeFiles/in-memory.dir/depend.make delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/examples/CMakeFiles/in-memory.dir/flags.make delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/examples/CMakeFiles/in-memory.dir/in-memory.c.o delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/examples/CMakeFiles/in-memory.dir/in-memory.c.o.d delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/examples/CMakeFiles/in-memory.dir/link.txt delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/examples/CMakeFiles/in-memory.dir/progress.make delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/examples/CMakeFiles/progress.marks delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/examples/CTestTestfile.cmake delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/examples/Makefile delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/examples/add-compressed-data.js delete mode 100755 thirdparty/libzip-1.11.3/build-emcmake/examples/add-compressed-data.wasm delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/examples/autoclose-archive.js delete mode 100755 thirdparty/libzip-1.11.3/build-emcmake/examples/autoclose-archive.wasm delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/examples/cmake_install.cmake delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/examples/in-memory.js delete mode 100755 thirdparty/libzip-1.11.3/build-emcmake/examples/in-memory.wasm delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/install/include/zipconf.h delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/install/lib/cmake/libzip/libzip-config-version.cmake delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/install/lib/cmake/libzip/libzip-config.cmake delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/install/lib/cmake/libzip/libzip-targets-noconfig.cmake delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/install/lib/cmake/libzip/libzip-targets.cmake delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/install/lib/libzip.a delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/install/lib/pkgconfig/libzip.pc delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man1/zipcmp.1 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man1/zipmerge.1 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man1/ziptool.1 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/ZIP_SOURCE_GET_ARGS.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/libzip.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_add.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_add_dir.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_close.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_compression_method_supported.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_delete.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_dir_add.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_discard.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_encryption_method_supported.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_error_clear.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_error_code_system.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_error_code_zip.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_error_fini.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_error_get.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_error_get_sys_type.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_error_init.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_error_init_with_code.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_error_set.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_error_set_from_source.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_error_strerror.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_error_system_type.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_error_to_data.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_error_to_str.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_errors.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_fclose.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_fdopen.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_file_add.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_file_attributes_init.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_file_error_clear.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_file_error_get.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_file_extra_field_delete.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_file_extra_field_delete_by_id.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_file_extra_field_get.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_file_extra_field_get_by_id.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_file_extra_field_set.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_file_extra_fields_count.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_file_extra_fields_count_by_id.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_file_get_comment.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_file_get_error.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_file_get_external_attributes.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_file_is_seekable.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_file_rename.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_file_replace.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_file_set_comment.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_file_set_dostime.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_file_set_encryption.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_file_set_external_attributes.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_file_set_mtime.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_file_strerror.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_fopen.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_fopen_encrypted.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_fopen_index.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_fopen_index_encrypted.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_fread.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_fseek.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_ftell.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_get_archive_comment.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_get_archive_flag.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_get_error.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_get_file_comment.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_get_name.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_get_num_entries.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_get_num_files.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_libzip_version.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_name_locate.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_open.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_open_from_source.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_register_cancel_callback_with_state.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_register_progress_callback.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_register_progress_callback_with_state.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_rename.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_replace.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_set_archive_comment.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_set_archive_flag.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_set_default_password.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_set_file_comment.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_set_file_compression.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_begin_write.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_begin_write_cloning.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_buffer.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_buffer_create.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_buffer_fragment.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_buffer_fragment_create.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_close.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_commit_write.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_error.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_file.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_file_create.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_filep.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_filep_create.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_free.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_function.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_function_create.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_is_deleted.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_is_seekable.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_keep.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_layered.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_layered_create.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_make_command_bitmap.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_open.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_read.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_rollback_write.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_seek.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_seek_compute_offset.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_seek_write.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_stat.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_tell.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_tell_write.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_win32a.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_win32a_create.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_win32handle.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_win32handle_create.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_win32w.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_win32w_create.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_window_create.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_write.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_zip.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_zip_create.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_zip_file.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_zip_file_create.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_stat.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_stat_index.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_stat_init.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_strerror.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_unchange.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_unchange_all.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_unchange_archive.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/install_manifest.txt delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/CMakeDirectoryInformation.cmake delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/progress.marks delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/DependInfo.cmake delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/build.make delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/cmake_clean.cmake delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/cmake_clean_target.cmake delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/compiler_depend.make delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/compiler_depend.ts delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/depend.make delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/flags.make delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/link.txt delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/progress.make delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_add.c.o delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_add.c.o.d delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_add_dir.c.o delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_add_dir.c.o.d delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_add_entry.c.o delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_add_entry.c.o.d delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_algorithm_deflate.c.o delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_algorithm_deflate.c.o.d delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_buffer.c.o delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_buffer.c.o.d delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_close.c.o delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_close.c.o.d delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_delete.c.o delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_delete.c.o.d delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_dir_add.c.o delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_dir_add.c.o.d delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_dirent.c.o delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_dirent.c.o.d delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_discard.c.o delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_discard.c.o.d delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_entry.c.o delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_entry.c.o.d delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_err_str.c.o delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_err_str.c.o.d delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_error.c.o delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_error.c.o.d delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_error_clear.c.o delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_error_clear.c.o.d delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_error_get.c.o delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_error_get.c.o.d delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_error_get_sys_type.c.o delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_error_get_sys_type.c.o.d delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_error_strerror.c.o delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_error_strerror.c.o.d delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_error_to_str.c.o delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_error_to_str.c.o.d delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_extra_field.c.o delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_extra_field.c.o.d delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_extra_field_api.c.o delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_extra_field_api.c.o.d delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_fclose.c.o delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_fclose.c.o.d delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_fdopen.c.o delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_fdopen.c.o.d delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_file_add.c.o delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_file_add.c.o.d delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_file_error_clear.c.o delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_file_error_clear.c.o.d delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_file_error_get.c.o delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_file_error_get.c.o.d delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_file_get_comment.c.o delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_file_get_comment.c.o.d delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_file_get_external_attributes.c.o delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_file_get_external_attributes.c.o.d delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_file_get_offset.c.o delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_file_get_offset.c.o.d delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_file_rename.c.o delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_file_rename.c.o.d delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_file_replace.c.o delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_file_replace.c.o.d delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_file_set_comment.c.o delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_file_set_comment.c.o.d delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_file_set_encryption.c.o delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_file_set_encryption.c.o.d delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_file_set_external_attributes.c.o delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_file_set_external_attributes.c.o.d delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_file_set_mtime.c.o delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_file_set_mtime.c.o.d delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_file_strerror.c.o delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_file_strerror.c.o.d delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_fopen.c.o delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_fopen.c.o.d delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_fopen_encrypted.c.o delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_fopen_encrypted.c.o.d delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_fopen_index.c.o delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_fopen_index.c.o.d delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_fopen_index_encrypted.c.o delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_fopen_index_encrypted.c.o.d delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_fread.c.o delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_fread.c.o.d delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_fseek.c.o delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_fseek.c.o.d delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_ftell.c.o delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_ftell.c.o.d delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_get_archive_comment.c.o delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_get_archive_comment.c.o.d delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_get_archive_flag.c.o delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_get_archive_flag.c.o.d delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_get_encryption_implementation.c.o delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_get_encryption_implementation.c.o.d delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_get_file_comment.c.o delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_get_file_comment.c.o.d delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_get_name.c.o delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_get_name.c.o.d delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_get_num_entries.c.o delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_get_num_entries.c.o.d delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_get_num_files.c.o delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_get_num_files.c.o.d delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_hash.c.o delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_hash.c.o.d delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_io_util.c.o delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_io_util.c.o.d delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_libzip_version.c.o delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_libzip_version.c.o.d delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_memdup.c.o delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_memdup.c.o.d delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_name_locate.c.o delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_name_locate.c.o.d delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_new.c.o delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_new.c.o.d delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_open.c.o delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_open.c.o.d delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_pkware.c.o delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_pkware.c.o.d delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_progress.c.o delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_progress.c.o.d delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_random_unix.c.o delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_random_unix.c.o.d delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_rename.c.o delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_rename.c.o.d delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_replace.c.o delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_replace.c.o.d delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_set_archive_comment.c.o delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_set_archive_comment.c.o.d delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_set_archive_flag.c.o delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_set_archive_flag.c.o.d delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_set_default_password.c.o delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_set_default_password.c.o.d delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_set_file_comment.c.o delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_set_file_comment.c.o.d delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_set_file_compression.c.o delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_set_file_compression.c.o.d delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_set_name.c.o delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_set_name.c.o.d delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_accept_empty.c.o delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_accept_empty.c.o.d delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_begin_write.c.o delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_begin_write.c.o.d delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_begin_write_cloning.c.o delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_begin_write_cloning.c.o.d delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_buffer.c.o delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_buffer.c.o.d delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_call.c.o delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_call.c.o.d delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_close.c.o delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_close.c.o.d delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_commit_write.c.o delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_commit_write.c.o.d delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_compress.c.o delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_compress.c.o.d delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_crc.c.o delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_crc.c.o.d delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_error.c.o delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_error.c.o.d delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_file_common.c.o delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_file_common.c.o.d delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_file_stdio.c.o delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_file_stdio.c.o.d delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_file_stdio_named.c.o delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_file_stdio_named.c.o.d delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_free.c.o delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_free.c.o.d delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_function.c.o delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_function.c.o.d delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_get_dostime.c.o delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_get_dostime.c.o.d delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_get_file_attributes.c.o delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_get_file_attributes.c.o.d delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_is_deleted.c.o delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_is_deleted.c.o.d delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_layered.c.o delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_layered.c.o.d delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_open.c.o delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_open.c.o.d delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_pass_to_lower_layer.c.o delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_pass_to_lower_layer.c.o.d delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_pkware_decode.c.o delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_pkware_decode.c.o.d delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_pkware_encode.c.o delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_pkware_encode.c.o.d delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_read.c.o delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_read.c.o.d delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_remove.c.o delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_remove.c.o.d delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_rollback_write.c.o delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_rollback_write.c.o.d delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_seek.c.o delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_seek.c.o.d delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_seek_write.c.o delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_seek_write.c.o.d delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_stat.c.o delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_stat.c.o.d delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_supports.c.o delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_supports.c.o.d delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_tell.c.o delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_tell.c.o.d delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_tell_write.c.o delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_tell_write.c.o.d delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_window.c.o delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_window.c.o.d delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_write.c.o delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_write.c.o.d delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_zip.c.o delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_zip.c.o.d delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_zip_new.c.o delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_zip_new.c.o.d delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_stat.c.o delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_stat.c.o.d delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_stat_index.c.o delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_stat_index.c.o.d delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_stat_init.c.o delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_stat_init.c.o.d delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_strerror.c.o delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_strerror.c.o.d delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_string.c.o delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_string.c.o.d delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_unchange.c.o delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_unchange.c.o.d delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_unchange_all.c.o delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_unchange_all.c.o.d delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_unchange_archive.c.o delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_unchange_archive.c.o.d delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_unchange_data.c.o delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_unchange_data.c.o.d delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_utf-8.c.o delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_utf-8.c.o.d delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/CTestTestfile.cmake delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/Makefile delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/cmake_install.cmake delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/libzip.a delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/lib/zip_err_str.c delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/libzip-config-version.cmake delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/libzip-config.cmake delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/libzip-targets.cmake delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/libzip.pc delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/man/CMakeFiles/CMakeDirectoryInformation.cmake delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/man/CMakeFiles/man.dir/DependInfo.cmake delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/man/CMakeFiles/man.dir/build.make delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/man/CMakeFiles/man.dir/cmake_clean.cmake delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/man/CMakeFiles/man.dir/compiler_depend.make delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/man/CMakeFiles/man.dir/compiler_depend.ts delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/man/CMakeFiles/man.dir/progress.make delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/man/CMakeFiles/progress.marks delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/man/CMakeFiles/update-html.dir/DependInfo.cmake delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/man/CMakeFiles/update-html.dir/build.make delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/man/CMakeFiles/update-html.dir/cmake_clean.cmake delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/man/CMakeFiles/update-html.dir/compiler_depend.make delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/man/CMakeFiles/update-html.dir/compiler_depend.ts delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/man/CMakeFiles/update-html.dir/progress.make delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/man/CMakeFiles/update-man.dir/DependInfo.cmake delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/man/CMakeFiles/update-man.dir/build.make delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/man/CMakeFiles/update-man.dir/cmake_clean.cmake delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/man/CMakeFiles/update-man.dir/compiler_depend.make delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/man/CMakeFiles/update-man.dir/compiler_depend.ts delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/man/CMakeFiles/update-man.dir/progress.make delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/man/CMakeFiles/update_zip_errors.dir/DependInfo.cmake delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/man/CMakeFiles/update_zip_errors.dir/build.make delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/man/CMakeFiles/update_zip_errors.dir/cmake_clean.cmake delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/man/CMakeFiles/update_zip_errors.dir/compiler_depend.make delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/man/CMakeFiles/update_zip_errors.dir/compiler_depend.ts delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/man/CMakeFiles/update_zip_errors.dir/progress.make delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/man/CTestTestfile.cmake delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/man/Makefile delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/man/ZIP_SOURCE_GET_ARGS.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/man/cmake_install.cmake delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/man/libzip.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/man/zip_add.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/man/zip_add_dir.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/man/zip_close.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/man/zip_compression_method_supported.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/man/zip_delete.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/man/zip_dir_add.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/man/zip_discard.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/man/zip_encryption_method_supported.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/man/zip_error_clear.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/man/zip_error_code_system.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/man/zip_error_code_zip.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/man/zip_error_fini.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/man/zip_error_get.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/man/zip_error_get_sys_type.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/man/zip_error_init.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/man/zip_error_set.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/man/zip_error_set_from_source.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/man/zip_error_strerror.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/man/zip_error_system_type.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/man/zip_error_to_data.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/man/zip_error_to_str.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/man/zip_errors.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/man/zip_fclose.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/man/zip_fdopen.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/man/zip_file_add.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/man/zip_file_attributes_init.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/man/zip_file_extra_field_delete.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/man/zip_file_extra_field_get.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/man/zip_file_extra_field_set.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/man/zip_file_extra_fields_count.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/man/zip_file_get_comment.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/man/zip_file_get_error.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/man/zip_file_get_external_attributes.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/man/zip_file_rename.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/man/zip_file_set_comment.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/man/zip_file_set_encryption.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/man/zip_file_set_external_attributes.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/man/zip_file_set_mtime.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/man/zip_file_strerror.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/man/zip_fopen.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/man/zip_fopen_encrypted.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/man/zip_fread.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/man/zip_fseek.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/man/zip_ftell.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/man/zip_get_archive_comment.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/man/zip_get_archive_flag.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/man/zip_get_error.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/man/zip_get_file_comment.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/man/zip_get_name.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/man/zip_get_num_entries.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/man/zip_get_num_files.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/man/zip_libzip_version.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/man/zip_name_locate.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/man/zip_open.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/man/zip_register_cancel_callback_with_state.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/man/zip_register_progress_callback.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/man/zip_register_progress_callback_with_state.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/man/zip_rename.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/man/zip_set_archive_comment.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/man/zip_set_archive_flag.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/man/zip_set_default_password.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/man/zip_set_file_comment.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/man/zip_set_file_compression.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/man/zip_source.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_begin_write.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_buffer.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_buffer_fragment.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_close.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_commit_write.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_error.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_file.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_filep.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_free.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_function.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_is_deleted.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_is_seekable.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_keep.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_layered.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_make_command_bitmap.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_open.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_read.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_rollback_write.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_seek.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_seek_compute_offset.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_seek_write.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_stat.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_tell.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_tell_write.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_win32a.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_win32handle.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_win32w.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_window_create.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_write.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_zip.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_zip_file.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/man/zip_stat.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/man/zip_stat_init.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/man/zip_unchange.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/man/zip_unchange_all.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/man/zip_unchange_archive.3 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/man/zipcmp.1 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/man/zipmerge.1 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/man/ziptool.1 delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/CMakeDirectoryInformation.cmake delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/list-fuzzers.dir/DependInfo.cmake delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/list-fuzzers.dir/build.make delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/list-fuzzers.dir/cmake_clean.cmake delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/list-fuzzers.dir/compiler_depend.make delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/list-fuzzers.dir/compiler_depend.ts delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/list-fuzzers.dir/progress.make delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/progress.marks delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_read_file_fuzzer.dir/DependInfo.cmake delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_read_file_fuzzer.dir/build.make delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_read_file_fuzzer.dir/cmake_clean.cmake delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_read_file_fuzzer.dir/compiler_depend.make delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_read_file_fuzzer.dir/compiler_depend.ts delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_read_file_fuzzer.dir/depend.make delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_read_file_fuzzer.dir/flags.make delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_read_file_fuzzer.dir/fuzz_main.c.o delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_read_file_fuzzer.dir/fuzz_main.c.o.d delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_read_file_fuzzer.dir/link.txt delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_read_file_fuzzer.dir/progress.make delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_read_file_fuzzer.dir/zip_read_file_fuzzer.c.o delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_read_file_fuzzer.dir/zip_read_file_fuzzer.c.o.d delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_read_fuzzer.dir/DependInfo.cmake delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_read_fuzzer.dir/build.make delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_read_fuzzer.dir/cmake_clean.cmake delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_read_fuzzer.dir/compiler_depend.make delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_read_fuzzer.dir/compiler_depend.ts delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_read_fuzzer.dir/depend.make delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_read_fuzzer.dir/flags.make delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_read_fuzzer.dir/fuzz_main.c.o delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_read_fuzzer.dir/fuzz_main.c.o.d delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_read_fuzzer.dir/link.txt delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_read_fuzzer.dir/progress.make delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_read_fuzzer.dir/zip_read_fuzzer.c.o delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_read_fuzzer.dir/zip_read_fuzzer.c.o.d delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_write_encrypt_aes256_file_fuzzer.dir/DependInfo.cmake delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_write_encrypt_aes256_file_fuzzer.dir/build.make delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_write_encrypt_aes256_file_fuzzer.dir/cmake_clean.cmake delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_write_encrypt_aes256_file_fuzzer.dir/compiler_depend.make delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_write_encrypt_aes256_file_fuzzer.dir/compiler_depend.ts delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_write_encrypt_aes256_file_fuzzer.dir/depend.make delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_write_encrypt_aes256_file_fuzzer.dir/flags.make delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_write_encrypt_aes256_file_fuzzer.dir/fuzz_main.c.o delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_write_encrypt_aes256_file_fuzzer.dir/fuzz_main.c.o.d delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_write_encrypt_aes256_file_fuzzer.dir/link.txt delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_write_encrypt_aes256_file_fuzzer.dir/progress.make delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_write_encrypt_aes256_file_fuzzer.dir/zip_write_encrypt_aes256_file_fuzzer.c.o delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_write_encrypt_aes256_file_fuzzer.dir/zip_write_encrypt_aes256_file_fuzzer.c.o.d delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_write_encrypt_pkware_file_fuzzer.dir/DependInfo.cmake delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_write_encrypt_pkware_file_fuzzer.dir/build.make delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_write_encrypt_pkware_file_fuzzer.dir/cmake_clean.cmake delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_write_encrypt_pkware_file_fuzzer.dir/compiler_depend.make delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_write_encrypt_pkware_file_fuzzer.dir/compiler_depend.ts delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_write_encrypt_pkware_file_fuzzer.dir/depend.make delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_write_encrypt_pkware_file_fuzzer.dir/flags.make delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_write_encrypt_pkware_file_fuzzer.dir/fuzz_main.c.o delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_write_encrypt_pkware_file_fuzzer.dir/fuzz_main.c.o.d delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_write_encrypt_pkware_file_fuzzer.dir/link.txt delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_write_encrypt_pkware_file_fuzzer.dir/progress.make delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_write_encrypt_pkware_file_fuzzer.dir/zip_write_encrypt_pkware_file_fuzzer.c.o delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_write_encrypt_pkware_file_fuzzer.dir/zip_write_encrypt_pkware_file_fuzzer.c.o.d delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CTestTestfile.cmake delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/Makefile delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/cmake_install.cmake delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/zip_read_file_fuzzer.js delete mode 100755 thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/zip_read_file_fuzzer.wasm delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/zip_read_fuzzer.js delete mode 100755 thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/zip_read_fuzzer.wasm delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/zip_write_encrypt_aes256_file_fuzzer.js delete mode 100755 thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/zip_write_encrypt_aes256_file_fuzzer.wasm delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/zip_write_encrypt_pkware_file_fuzzer.js delete mode 100755 thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/zip_write_encrypt_pkware_file_fuzzer.wasm delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/src/CMakeFiles/CMakeDirectoryInformation.cmake delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/src/CMakeFiles/progress.marks delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/src/CMakeFiles/zipcmp.dir/DependInfo.cmake delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/src/CMakeFiles/zipcmp.dir/build.make delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/src/CMakeFiles/zipcmp.dir/cmake_clean.cmake delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/src/CMakeFiles/zipcmp.dir/compiler_depend.make delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/src/CMakeFiles/zipcmp.dir/compiler_depend.ts delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/src/CMakeFiles/zipcmp.dir/depend.make delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/src/CMakeFiles/zipcmp.dir/diff_output.c.o delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/src/CMakeFiles/zipcmp.dir/diff_output.c.o.d delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/src/CMakeFiles/zipcmp.dir/flags.make delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/src/CMakeFiles/zipcmp.dir/link.txt delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/src/CMakeFiles/zipcmp.dir/progress.make delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/src/CMakeFiles/zipcmp.dir/zipcmp.c.o delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/src/CMakeFiles/zipcmp.dir/zipcmp.c.o.d delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/src/CMakeFiles/zipmerge.dir/DependInfo.cmake delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/src/CMakeFiles/zipmerge.dir/build.make delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/src/CMakeFiles/zipmerge.dir/cmake_clean.cmake delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/src/CMakeFiles/zipmerge.dir/compiler_depend.make delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/src/CMakeFiles/zipmerge.dir/compiler_depend.ts delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/src/CMakeFiles/zipmerge.dir/depend.make delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/src/CMakeFiles/zipmerge.dir/flags.make delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/src/CMakeFiles/zipmerge.dir/link.txt delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/src/CMakeFiles/zipmerge.dir/progress.make delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/src/CMakeFiles/zipmerge.dir/zipmerge.c.o delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/src/CMakeFiles/zipmerge.dir/zipmerge.c.o.d delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/src/CMakeFiles/ziptool.dir/DependInfo.cmake delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/src/CMakeFiles/ziptool.dir/build.make delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/src/CMakeFiles/ziptool.dir/cmake_clean.cmake delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/src/CMakeFiles/ziptool.dir/compiler_depend.make delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/src/CMakeFiles/ziptool.dir/compiler_depend.ts delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/src/CMakeFiles/ziptool.dir/depend.make delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/src/CMakeFiles/ziptool.dir/flags.make delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/src/CMakeFiles/ziptool.dir/link.txt delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/src/CMakeFiles/ziptool.dir/progress.make delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/src/CMakeFiles/ziptool.dir/ziptool.c.o delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/src/CMakeFiles/ziptool.dir/ziptool.c.o.d delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/src/CTestTestfile.cmake delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/src/Makefile delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/src/cmake_install.cmake delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/src/zipcmp.js delete mode 100755 thirdparty/libzip-1.11.3/build-emcmake/src/zipcmp.wasm delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/src/zipmerge.js delete mode 100755 thirdparty/libzip-1.11.3/build-emcmake/src/zipmerge.wasm delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/src/ziptool.js delete mode 100755 thirdparty/libzip-1.11.3/build-emcmake/src/ziptool.wasm delete mode 100644 thirdparty/libzip-1.11.3/build-emcmake/zipconf.h delete mode 100644 thirdparty/libzip-1.11.3/cmake/FindMbedTLS.cmake delete mode 100644 thirdparty/libzip-1.11.3/cmake/FindNettle.cmake delete mode 100644 thirdparty/libzip-1.11.3/cmake/Findzstd.cmake delete mode 100644 thirdparty/libzip-1.11.3/lib/zip.h delete mode 100644 thirdparty/zlib-1.3.1/build-emcmake/CMakeCache.txt delete mode 100644 thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/3.28.3/CMakeCCompiler.cmake delete mode 100644 thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/3.28.3/CMakeDetermineCompilerABI_C.bin delete mode 100644 thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/3.28.3/CMakeSystem.cmake delete mode 100644 thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/3.28.3/CompilerIdC/CMakeCCompilerId.c delete mode 100644 thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/3.28.3/CompilerIdC/a.out.js delete mode 100755 thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/3.28.3/CompilerIdC/a.out.wasm delete mode 100644 thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/CMakeConfigureLog.yaml delete mode 100644 thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/CMakeDirectoryInformation.cmake delete mode 100755 thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/CheckTypeSize/OFF64_T.bin delete mode 100644 thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/CheckTypeSize/OFF64_T.c delete mode 100644 thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/Makefile.cmake delete mode 100644 thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/Makefile2 delete mode 100644 thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/TargetDirectories.txt delete mode 100644 thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/cmake.check_cache delete mode 100644 thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/example.dir/DependInfo.cmake delete mode 100644 thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/example.dir/build.make delete mode 100644 thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/example.dir/cmake_clean.cmake delete mode 100644 thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/example.dir/compiler_depend.make delete mode 100644 thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/example.dir/compiler_depend.ts delete mode 100644 thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/example.dir/depend.make delete mode 100644 thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/example.dir/flags.make delete mode 100644 thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/example.dir/link.txt delete mode 100644 thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/example.dir/progress.make delete mode 100644 thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/example.dir/test/example.c.o delete mode 100644 thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/example.dir/test/example.c.o.d delete mode 100644 thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/example64.dir/DependInfo.cmake delete mode 100644 thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/example64.dir/build.make delete mode 100644 thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/example64.dir/cmake_clean.cmake delete mode 100644 thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/example64.dir/compiler_depend.make delete mode 100644 thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/example64.dir/compiler_depend.ts delete mode 100644 thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/example64.dir/depend.make delete mode 100644 thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/example64.dir/flags.make delete mode 100644 thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/example64.dir/link.txt delete mode 100644 thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/example64.dir/progress.make delete mode 100644 thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/example64.dir/test/example.c.o delete mode 100644 thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/example64.dir/test/example.c.o.d delete mode 100644 thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/minigzip.dir/DependInfo.cmake delete mode 100644 thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/minigzip.dir/build.make delete mode 100644 thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/minigzip.dir/cmake_clean.cmake delete mode 100644 thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/minigzip.dir/compiler_depend.make delete mode 100644 thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/minigzip.dir/compiler_depend.ts delete mode 100644 thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/minigzip.dir/depend.make delete mode 100644 thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/minigzip.dir/flags.make delete mode 100644 thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/minigzip.dir/link.txt delete mode 100644 thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/minigzip.dir/progress.make delete mode 100644 thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/minigzip.dir/test/minigzip.c.o delete mode 100644 thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/minigzip.dir/test/minigzip.c.o.d delete mode 100644 thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/minigzip64.dir/DependInfo.cmake delete mode 100644 thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/minigzip64.dir/build.make delete mode 100644 thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/minigzip64.dir/cmake_clean.cmake delete mode 100644 thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/minigzip64.dir/compiler_depend.make delete mode 100644 thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/minigzip64.dir/compiler_depend.ts delete mode 100644 thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/minigzip64.dir/depend.make delete mode 100644 thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/minigzip64.dir/flags.make delete mode 100644 thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/minigzip64.dir/link.txt delete mode 100644 thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/minigzip64.dir/progress.make delete mode 100644 thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/minigzip64.dir/test/minigzip.c.o delete mode 100644 thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/minigzip64.dir/test/minigzip.c.o.d delete mode 100644 thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/progress.marks delete mode 100644 thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlib.dir/DependInfo.cmake delete mode 100644 thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlib.dir/adler32.c.o delete mode 100644 thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlib.dir/adler32.c.o.d delete mode 100644 thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlib.dir/build.make delete mode 100644 thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlib.dir/cmake_clean.cmake delete mode 100644 thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlib.dir/cmake_clean_target.cmake delete mode 100644 thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlib.dir/compiler_depend.make delete mode 100644 thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlib.dir/compiler_depend.ts delete mode 100644 thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlib.dir/compress.c.o delete mode 100644 thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlib.dir/compress.c.o.d delete mode 100644 thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlib.dir/crc32.c.o delete mode 100644 thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlib.dir/crc32.c.o.d delete mode 100644 thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlib.dir/deflate.c.o delete mode 100644 thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlib.dir/deflate.c.o.d delete mode 100644 thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlib.dir/depend.make delete mode 100644 thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlib.dir/flags.make delete mode 100644 thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlib.dir/gzclose.c.o delete mode 100644 thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlib.dir/gzclose.c.o.d delete mode 100644 thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlib.dir/gzlib.c.o delete mode 100644 thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlib.dir/gzlib.c.o.d delete mode 100644 thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlib.dir/gzread.c.o delete mode 100644 thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlib.dir/gzread.c.o.d delete mode 100644 thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlib.dir/gzwrite.c.o delete mode 100644 thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlib.dir/gzwrite.c.o.d delete mode 100644 thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlib.dir/infback.c.o delete mode 100644 thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlib.dir/infback.c.o.d delete mode 100644 thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlib.dir/inffast.c.o delete mode 100644 thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlib.dir/inffast.c.o.d delete mode 100644 thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlib.dir/inflate.c.o delete mode 100644 thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlib.dir/inflate.c.o.d delete mode 100644 thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlib.dir/inftrees.c.o delete mode 100644 thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlib.dir/inftrees.c.o.d delete mode 100644 thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlib.dir/link.txt delete mode 100644 thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlib.dir/progress.make delete mode 100644 thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlib.dir/trees.c.o delete mode 100644 thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlib.dir/trees.c.o.d delete mode 100644 thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlib.dir/uncompr.c.o delete mode 100644 thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlib.dir/uncompr.c.o.d delete mode 100644 thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlib.dir/zutil.c.o delete mode 100644 thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlib.dir/zutil.c.o.d delete mode 100644 thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlibstatic.dir/DependInfo.cmake delete mode 100644 thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlibstatic.dir/adler32.c.o delete mode 100644 thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlibstatic.dir/adler32.c.o.d delete mode 100644 thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlibstatic.dir/build.make delete mode 100644 thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlibstatic.dir/cmake_clean.cmake delete mode 100644 thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlibstatic.dir/cmake_clean_target.cmake delete mode 100644 thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlibstatic.dir/compiler_depend.make delete mode 100644 thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlibstatic.dir/compiler_depend.ts delete mode 100644 thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlibstatic.dir/compress.c.o delete mode 100644 thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlibstatic.dir/compress.c.o.d delete mode 100644 thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlibstatic.dir/crc32.c.o delete mode 100644 thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlibstatic.dir/crc32.c.o.d delete mode 100644 thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlibstatic.dir/deflate.c.o delete mode 100644 thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlibstatic.dir/deflate.c.o.d delete mode 100644 thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlibstatic.dir/depend.make delete mode 100644 thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlibstatic.dir/flags.make delete mode 100644 thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlibstatic.dir/gzclose.c.o delete mode 100644 thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlibstatic.dir/gzclose.c.o.d delete mode 100644 thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlibstatic.dir/gzlib.c.o delete mode 100644 thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlibstatic.dir/gzlib.c.o.d delete mode 100644 thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlibstatic.dir/gzread.c.o delete mode 100644 thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlibstatic.dir/gzread.c.o.d delete mode 100644 thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlibstatic.dir/gzwrite.c.o delete mode 100644 thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlibstatic.dir/gzwrite.c.o.d delete mode 100644 thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlibstatic.dir/infback.c.o delete mode 100644 thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlibstatic.dir/infback.c.o.d delete mode 100644 thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlibstatic.dir/inffast.c.o delete mode 100644 thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlibstatic.dir/inffast.c.o.d delete mode 100644 thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlibstatic.dir/inflate.c.o delete mode 100644 thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlibstatic.dir/inflate.c.o.d delete mode 100644 thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlibstatic.dir/inftrees.c.o delete mode 100644 thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlibstatic.dir/inftrees.c.o.d delete mode 100644 thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlibstatic.dir/link.txt delete mode 100644 thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlibstatic.dir/progress.make delete mode 100644 thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlibstatic.dir/trees.c.o delete mode 100644 thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlibstatic.dir/trees.c.o.d delete mode 100644 thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlibstatic.dir/uncompr.c.o delete mode 100644 thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlibstatic.dir/uncompr.c.o.d delete mode 100644 thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlibstatic.dir/zutil.c.o delete mode 100644 thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlibstatic.dir/zutil.c.o.d delete mode 100644 thirdparty/zlib-1.3.1/build-emcmake/CTestTestfile.cmake delete mode 100644 thirdparty/zlib-1.3.1/build-emcmake/Makefile delete mode 100644 thirdparty/zlib-1.3.1/build-emcmake/cmake_install.cmake delete mode 100644 thirdparty/zlib-1.3.1/build-emcmake/example.js delete mode 100755 thirdparty/zlib-1.3.1/build-emcmake/example.wasm delete mode 100644 thirdparty/zlib-1.3.1/build-emcmake/example64.js delete mode 100755 thirdparty/zlib-1.3.1/build-emcmake/example64.wasm delete mode 100644 thirdparty/zlib-1.3.1/build-emcmake/install_manifest.txt delete mode 100644 thirdparty/zlib-1.3.1/build-emcmake/minigzip.js delete mode 100755 thirdparty/zlib-1.3.1/build-emcmake/minigzip.wasm delete mode 100644 thirdparty/zlib-1.3.1/build-emcmake/minigzip64.js delete mode 100755 thirdparty/zlib-1.3.1/build-emcmake/minigzip64.wasm delete mode 100644 thirdparty/zlib-1.3.1/contrib/vstudio/vc10/zlib.rc delete mode 100644 thirdparty/zlib-1.3.1/contrib/vstudio/vc10/zlibvc.def delete mode 100644 thirdparty/zlib-1.3.1/contrib/vstudio/vc9/zlib.rc delete mode 100644 thirdparty/zlib-1.3.1/contrib/vstudio/vc9/zlibvc.def delete mode 100644 thirdparty/zlib-1.3.1/install/include/zconf.h delete mode 100644 thirdparty/zlib-1.3.1/install/lib/libz.a delete mode 100644 thirdparty/zlib-1.3.1/install/share/pkgconfig/zlib.pc diff --git a/CMakeLists.txt b/CMakeLists.txt index 9e71a29..9af205d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -441,6 +441,42 @@ if(NOT TARGET eigen_external_lib) target_include_directories(eigen_external_lib INTERFACE "${EIGEN_SRC_DIR}") endif() +# =========================================== +# 6) Boost (1.90.0) - HEADER-ONLY +# =========================================== +set(BOOST_VERSION "1.90.0") +set(BOOST_ARCHIVE_NAME "boost_1_90_0.zip") +set(BOOST_ARCHIVE "${THIRDPARTY_DIR}/${BOOST_ARCHIVE_NAME}") +# Внутри архива папка называется boost_1_90_0 +set(BOOST_SRC_DIR "${THIRDPARTY_DIR}/boost_1_90_0") + +if(NOT EXISTS "${BOOST_ARCHIVE}") + log("Downloading Boost ${BOOST_VERSION} ...") + file(DOWNLOAD + "https://archives.boost.io/release/1.90.0/source/${BOOST_ARCHIVE_NAME}" + "${BOOST_ARCHIVE}" + SHOW_PROGRESS + ) +endif() + +if(NOT EXISTS "${BOOST_SRC_DIR}/boost") + log("Extracting Boost ... (this may take a while)") + execute_process( + COMMAND ${CMAKE_COMMAND} -E tar xvf "${BOOST_ARCHIVE}" + WORKING_DIRECTORY "${THIRDPARTY_DIR}" + RESULT_VARIABLE _boost_extract_res + ) + if(NOT _boost_extract_res EQUAL 0) + message(FATAL_ERROR "Failed to extract Boost archive") + endif() +endif() + +if(NOT TARGET boost_external_lib) + add_library(boost_external_lib INTERFACE) + # Boost заголовки находятся непосредственно в корне распакованной папки + target_include_directories(boost_external_lib INTERFACE "${BOOST_SRC_DIR}") +endif() + # =========================================== # Основной проект space-game001 # =========================================== @@ -493,7 +529,6 @@ set_property(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} PROPERTY VS_STARTUP_PROJECT s target_include_directories(space-game001 PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}/src" "${CMAKE_CURRENT_SOURCE_DIR}/external" - "C:/Boost/include/boost-1_84" ) set_target_properties(space-game001 PROPERTIES @@ -520,6 +555,7 @@ target_link_libraries(space-game001 PRIVATE zlib_external_lib libzip_external_lib eigen_external_lib + boost_external_lib ) # Линкуем OpenGL (Windows) @@ -569,8 +605,8 @@ endif() # Какие папки с ресурсами нужно копировать set(RUNTIME_RESOURCE_DIRS "resources" - "shaders" - "config" + #"shaders" + #"config" ) # Копируем ресурсы и шейдеры в папку exe и в корень build/ diff --git a/blender scripts/output/spaceship005.txt b/blender scripts/output/spaceship005.txt deleted file mode 100644 index 8536f6e..0000000 --- a/blender scripts/output/spaceship005.txt +++ /dev/null @@ -1,15036 +0,0 @@ -===Vertices (Split by UV/Normal): 5561 -V 0: Pos(-1.136363, -11.849344, 9.093531) Norm(0.0, 0.007351, 0.999973) UV(0.003906, 0.003906) -V 1: Pos(-0.93586, -11.849344, 9.093531) Norm(0.321601, -0.088988, 0.942684) UV(0.003906, 0.003906) -V 2: Pos(-0.929922, -11.827643, 9.076807) Norm(-0.006667, 0.611542, 0.791184) UV(0.003906, 0.003906) -V 3: Pos(-1.136363, -11.827643, 9.076807) Norm(0.0, 0.610409, 0.792087) UV(0.003906, 0.003906) -V 4: Pos(-0.908963, -11.827564, 9.077099) Norm(0.709417, 0.181448, 0.681032) UV(0.003906, 0.003906) -V 5: Pos(-0.908963, -11.751051, 9.017784) Norm(0.787298, 0.199212, 0.583504) UV(0.003906, 0.003906) -V 6: Pos(-1.337089, -11.849344, 9.093531) Norm(-0.321597, -0.088975, 0.942687) UV(0.003906, 0.003906) -V 7: Pos(-1.343027, -11.827643, 9.076807) Norm(0.006666, 0.611542, 0.791184) UV(0.003906, 0.003906) -V 8: Pos(-1.136363, -11.751051, 9.017784) Norm(0.0, 0.322418, 0.946598) UV(0.003906, 0.003906) -V 9: Pos(-1.136363, -11.694645, 9.017784) Norm(0.0, -0.707107, 0.707107) UV(0.003906, 0.003906) -V 10: Pos(-1.237504, -11.694645, 9.017784) Norm(-0.302085, -0.300965, 0.904525) UV(0.003906, 0.003906) -V 11: Pos(-1.363986, -11.751051, 9.017784) Norm(-0.787298, 0.199212, 0.583503) UV(0.003906, 0.003906) -V 12: Pos(-1.136363, -11.785119, 8.982917) Norm(0.0, -0.584063, -0.811708) UV(0.003906, 0.003906) -V 13: Pos(-1.136363, -11.796848, 9.017784) Norm(0.0, -0.850059, -0.526688) UV(0.003906, 0.003906) -V 14: Pos(-1.363986, -11.796848, 9.017784) Norm(-0.762158, -0.550319, -0.340975) UV(0.003906, 0.003906) -V 15: Pos(-1.363986, -11.785119, 8.982917) Norm(-0.596436, -0.468804, -0.651526) UV(0.003906, 0.003906) -V 16: Pos(-1.237504, -11.116051, 9.016983) Norm(-0.301493, 0.30291, 0.904073) UV(0.003906, 0.003906) -V 17: Pos(-1.136363, -11.116051, 9.016983) Norm(0.0, 0.707837, 0.706376) UV(0.003906, 0.003906) -V 18: Pos(-1.136363, -10.922256, 9.016582) Norm(0.0, -0.396474, 0.918046) UV(0.003906, 0.003906) -V 19: Pos(-1.363986, -10.922256, 9.016582) Norm(-0.808637, -0.233314, 0.540066) UV(0.003906, 0.003906) -V 20: Pos(-1.363986, -10.902708, 9.037423) Norm(-0.70711, -0.515747, 0.483736) UV(0.003906, 0.003906) -V 21: Pos(-1.136363, -10.902708, 9.037423) Norm(0.0, -0.729378, 0.684111) UV(0.003906, 0.003906) -V 22: Pos(-1.136363, -10.736837, 9.016182) Norm(0.0, 0.849709, -0.527253) UV(0.003906, 0.003906) -V 23: Pos(-1.136363, -10.719525, 9.034617) Norm(0.0, 0.984552, -0.175092) UV(0.003906, 0.003906) -V 24: Pos(-0.908963, -10.719525, 9.034617) Norm(0.602354, 0.785899, -0.139756) UV(0.003906, 0.003906) -V 25: Pos(-0.908963, -10.736837, 9.016182) Norm(0.754329, 0.55783, -0.34614) UV(0.003906, 0.003906) -V 26: Pos(-0.908963, -10.883162, 9.058264) Norm(0.627636, -0.309395, 0.714386) UV(0.003906, 0.003906) -V 27: Pos(-0.908963, -10.902708, 9.037423) Norm(0.707109, -0.515744, 0.483739) UV(0.003906, 0.003906) -V 28: Pos(-0.908963, -10.729578, 9.058264) Norm(0.601486, 0.440751, 0.666298) UV(0.003906, 0.003906) -V 29: Pos(-1.305969, -11.057968, 9.156855) Norm(-0.665584, 0.501892, 0.552361) UV(0.142546, 0.871554) -V 30: Pos(-1.305969, -10.949621, 9.01017) Norm(-0.510112, 0.691842, 0.511019) UV(0.141707, 0.876829) -V 31: Pos(-1.305969, -11.102088, 9.061469) Norm(-0.849414, -0.527708, 0.004533) UV(0.141702, 0.871096) -V 32: Pos(-1.305969, -11.13448, 9.11357) Norm(-0.764827, -0.450395, -0.460634) UV(0.142185, 0.870205) -V 33: Pos(-1.276849, -11.13448, 9.11357) Norm(0.764827, -0.450395, -0.460634) UV(0.142079, 0.870222) -V 34: Pos(-1.276849, -11.057968, 9.156855) Norm(0.665584, 0.501891, 0.552361) UV(0.141732, 0.871632) -V 35: Pos(-1.276849, -11.088685, 9.175289) Norm(0.651747, 0.202833, 0.730811) UV(0.141764, 0.871794) -V 36: Pos(-1.276849, -11.153469, 9.124792) Norm(0.771423, -0.168136, -0.613708) UV(0.14205, 0.869246) -V 37: Pos(-0.96698, -11.088685, 9.175289) Norm(0.651747, 0.202834, 0.730811) UV(0.10188, 0.640254) -V 38: Pos(-0.9961, -11.088685, 9.175289) Norm(-0.651747, 0.202833, 0.730811) UV(0.102705, 0.640203) -V 39: Pos(-0.9961, -11.512019, 9.17569) Norm(-0.672866, -0.117452, 0.730381) UV(0.100881, 0.617361) -V 40: Pos(-0.96698, -11.512019, 9.17569) Norm(0.672866, -0.117452, 0.730381) UV(0.101353, 0.617335) -V 41: Pos(-0.9961, -11.533799, 9.168476) Norm(-0.671589, -0.346457, 0.654932) UV(0.101219, 0.616256) -V 42: Pos(-0.96698, -11.533799, 9.168476) Norm(0.671589, -0.346457, 0.654932) UV(0.100897, 0.616272) -V 43: Pos(-0.9961, -11.642705, 9.085114) Norm(-0.765229, -0.25739, 0.590063) UV(0.100799, 0.612372) -V 44: Pos(-0.9961, -11.531566, 9.125193) Norm(-0.786505, 0.196551, -0.585472) UV(0.100927, 0.615955) -V 45: Pos(-0.9961, -11.62986, 9.050648) Norm(-0.876708, 0.465976, -0.119371) UV(0.100371, 0.61256) -V 46: Pos(-1.305969, -11.512019, 9.17569) Norm(-0.672866, -0.117452, 0.730381) UV(0.140767, 0.84894) -V 47: Pos(-1.305969, -11.533799, 9.168476) Norm(-0.671589, -0.346457, 0.654932) UV(0.141104, 0.847838) -V 48: Pos(-1.276849, -11.533799, 9.168476) Norm(0.671589, -0.346457, 0.654932) UV(0.140783, 0.847854) -V 49: Pos(-1.276849, -11.512019, 9.17569) Norm(0.672866, -0.117452, 0.730381) UV(0.141238, 0.848915) -V 50: Pos(-1.276849, -11.62986, 9.050648) Norm(0.876708, 0.465975, -0.119371) UV(0.141246, 0.844042) -V 51: Pos(-1.305969, -11.62986, 9.050648) Norm(-0.876709, 0.465975, -0.119372) UV(0.140258, 0.844148) -V 52: Pos(-1.276849, -11.531566, 9.125193) Norm(0.786505, 0.196551, -0.585472) UV(0.141038, 0.847524) -V 53: Pos(-1.305969, -11.531566, 9.125193) Norm(-0.786505, 0.196551, -0.585472) UV(0.140813, 0.847537) -V 54: Pos(-1.305969, -11.153469, 9.124792) Norm(-0.771423, -0.168136, -0.613708) UV(0.142083, 0.86924) -V 55: Pos(-1.276849, -11.102088, 9.061469) Norm(0.849413, -0.52771, 0.004529) UV(0.142772, 0.871126) -V 56: Pos(-1.276849, -11.123311, 9.028605) Norm(0.832294, -0.264732, 0.487036) UV(0.14297, 0.869629) -V 57: Pos(-1.305969, -11.123311, 9.028605) Norm(-0.832293, -0.264729, 0.48704) UV(0.141422, 0.869584) -V 58: Pos(-1.276849, -11.620365, 9.029407) Norm(0.851909, 0.285245, 0.439187) UV(0.141834, 0.844596) -V 59: Pos(-1.305969, -11.620365, 9.029407) Norm(-0.85191, 0.285245, 0.439187) UV(0.139786, 0.844828) -V 60: Pos(-1.136363, -10.749683, 8.981715) Norm(0.0, 0.569943, -0.821684) UV(0.003906, 0.003906) -V 61: Pos(-1.363986, -10.749683, 8.981715) Norm(-0.598391, 0.456645, -0.658334) UV(0.003906, 0.003906) -V 62: Pos(-1.363986, -10.736837, 9.016182) Norm(-0.754331, 0.557829, -0.346138) UV(0.003906, 0.003906) -V 63: Pos(-0.908963, -10.749683, 8.981715) Norm(0.598388, 0.456638, -0.658342) UV(0.003906, 0.003906) -V 64: Pos(-1.136363, -11.748775, 8.982875) Norm(0.0, -0.001158, -0.999999) UV(0.003906, 0.003906) -V 65: Pos(-0.908963, -11.748775, 8.982875) Norm(0.707107, -0.000818, -0.707106) UV(0.003906, 0.003906) -V 66: Pos(-0.908963, -11.785119, 8.982917) Norm(0.596437, -0.468804, -0.651526) UV(0.003906, 0.003906) -V 67: Pos(-0.908963, -11.796848, 9.017784) Norm(0.762158, -0.550322, -0.340971) UV(0.003906, 0.003906) -V 68: Pos(-1.363986, -11.827564, 9.077099) Norm(-0.709413, 0.18145, 0.681036) UV(0.003906, 0.003906) -V 69: Pos(-0.908963, -11.841527, 9.062671) Norm(0.717123, -0.654264, -0.240154) UV(0.003906, 0.003906) -V 70: Pos(-1.136363, -11.841765, 9.062583) Norm(0.0, -0.705541, -0.708669) UV(0.003906, 0.003906) -V 71: Pos(-0.93875, -11.862749, 9.083511) Norm(0.269068, -0.957262, 0.106077) UV(0.003906, 0.003906) -V 72: Pos(-1.136363, -11.862749, 9.083511) Norm(0.0, -0.9976, 0.06924) UV(0.003906, 0.003906) -V 73: Pos(-1.035445, -11.694645, 9.029006) Norm(0.584725, -0.610739, 0.533943) UV(0.003906, 0.003906) -V 74: Pos(-1.136363, -11.694645, 9.029006) Norm(0.0, -0.752853, 0.658188) UV(0.003906, 0.003906) -V 75: Pos(-1.035445, -11.694645, 9.017784) Norm(0.302085, -0.300965, 0.904525) UV(0.003906, 0.003906) -V 76: Pos(-1.136363, -10.929711, 8.981924) Norm(0.0, -0.00116, -0.999999) UV(0.003906, 0.003906) -V 77: Pos(-1.363986, -10.929711, 8.981924) Norm(-0.707107, -0.000821, -0.707106) UV(0.003906, 0.003906) -V 78: Pos(-1.363986, -11.748775, 8.982875) Norm(-0.707107, -0.000819, -0.707106) UV(0.003906, 0.003906) -V 79: Pos(-1.363986, -10.729578, 9.058264) Norm(-0.601488, 0.440755, 0.666294) UV(0.003906, 0.003906) -V 80: Pos(-1.363986, -10.883162, 9.058264) Norm(-0.627637, -0.309396, 0.714385) UV(0.003906, 0.003906) -V 81: Pos(-1.136363, -10.883162, 9.058264) Norm(0.0, -0.397422, 0.917636) UV(0.003906, 0.003906) -V 82: Pos(-1.136363, -10.729578, 9.058264) Norm(0.0, 0.551712, 0.834035) UV(0.003906, 0.003906) -V 83: Pos(-0.908963, -10.922256, 9.016582) Norm(0.808636, -0.233312, 0.540068) UV(0.003906, 0.003906) -V 84: Pos(-0.908963, -10.929711, 8.981924) Norm(0.707107, -0.000821, -0.707106) UV(0.003906, 0.003906) -V 85: Pos(-1.363986, -11.841527, 9.062671) Norm(-0.717126, -0.654262, -0.24015) UV(0.003906, 0.003906) -V 86: Pos(-1.334199, -11.862749, 9.083511) Norm(-0.269068, -0.95726, 0.106096) UV(0.003906, 0.003906) -V 87: Pos(-1.003339, -11.157774, 9.485871) Norm(0.909774, 1e-06, 0.415103) UV(0.017835, 0.166433) -V 88: Pos(-1.004221, -11.148817, 9.485871) Norm(0.892293, 0.177493, 0.415103) UV(0.01784, 0.166422) -V 89: Pos(-1.004221, -11.148817, 9.935919) Norm(0.980784, 0.195095, 0.0) UV(0.018435, 0.277724) -V 90: Pos(-1.003339, -11.157774, 9.935919) Norm(1.0, 0.0, 0.0) UV(0.01831, 0.278824) -V 91: Pos(-1.363986, -10.719525, 9.034617) Norm(-0.602355, 0.785896, -0.139771) UV(0.003906, 0.003906) -V 92: Pos(-1.035445, -11.116051, 9.069485) Norm(0.624517, 0.710532, 0.324227) UV(0.003906, 0.003906) -V 93: Pos(-1.035445, -11.153469, 9.101948) Norm(0.625125, 0.223429, 0.747862) UV(0.003906, 0.003906) -V 94: Pos(-1.035445, -11.116051, 9.016983) Norm(0.301492, 0.30291, 0.904073) UV(0.003906, 0.003906) -V 95: Pos(-1.237504, -11.694645, 9.029006) Norm(-0.584725, -0.610739, 0.533943) UV(0.003906, 0.003906) -V 96: Pos(-1.237504, -11.153469, 9.101948) Norm(-0.625125, 0.223428, 0.747863) UV(0.003906, 0.003906) -V 97: Pos(-1.091662, -11.140205, 9.485871) Norm(-0.840534, 0.348152, 0.415082) UV(0.017814, 0.166341) -V 98: Pos(-1.094275, -11.148817, 9.485871) Norm(-0.892293, 0.177496, 0.415101) UV(0.017808, 0.166347) -V 99: Pos(-1.094275, -11.148817, 9.935919) Norm(-0.980784, 0.195098, 0.0) UV(0.017372, 0.271491) -V 100: Pos(-1.091662, -11.140205, 9.935919) Norm(-0.923881, 0.38268, 0.0) UV(0.017517, 0.271357) -V 101: Pos(-1.058204, -11.202801, 9.485871) Norm(-0.177509, -0.892287, 0.415108) UV(0.017789, 0.166453) -V 102: Pos(-1.049248, -11.203683, 9.485871) Norm(-0.0, -0.909773, 0.415105) UV(0.01779, 0.166465) -V 103: Pos(-1.049248, -11.203683, 9.935919) Norm(0.0, -1.0, 0.0) UV(0.016796, 0.276706) -V 104: Pos(-1.058204, -11.202801, 9.935919) Norm(-0.19512, -0.980779, 0.0) UV(0.016754, 0.275776) -V 105: Pos(-0.9961, -11.750493, 9.012574) Norm(-1.0, 0.0, 0.0) UV(0.097496, 0.606713) -V 106: Pos(-0.9961, -11.809134, 9.05666) Norm(-0.460093, -0.14963, 0.875172) UV(0.099214, 0.602571) -V 107: Pos(-0.96698, -11.642705, 9.085114) Norm(0.765229, -0.257391, 0.590063) UV(0.100872, 0.612349) -V 108: Pos(-0.96698, -11.62986, 9.050648) Norm(0.876708, 0.465975, -0.119372) UV(0.101361, 0.612454) -V 109: Pos(-0.96698, -11.531566, 9.125193) Norm(0.786505, 0.19655, -0.585472) UV(0.101153, 0.615942) -V 110: Pos(-0.96698, -11.153469, 9.124792) Norm(0.771423, -0.168136, -0.613708) UV(0.102167, 0.637702) -V 111: Pos(-0.96698, -11.102088, 9.061469) Norm(0.849414, -0.527708, 0.004533) UV(0.10289, 0.639586) -V 112: Pos(-0.96698, -10.949621, 9.01017) Norm(0.510112, 0.691842, 0.511019) UV(0.103464, 0.646051) -V 113: Pos(-0.96698, -11.057968, 9.156855) Norm(0.665584, 0.501892, 0.552361) UV(0.101848, 0.640092) -V 114: Pos(-0.96698, -11.13448, 9.11357) Norm(0.764827, -0.450395, -0.460635) UV(0.102196, 0.63868) -V 115: Pos(-0.9961, -10.949621, 9.01017) Norm(-0.510112, 0.691842, 0.511019) UV(0.101823, 0.645298) -V 116: Pos(-0.9961, -11.057968, 9.156855) Norm(-0.665584, 0.501891, 0.552362) UV(0.102663, 0.640014) -V 117: Pos(-0.96698, -11.123311, 9.028605) Norm(0.832293, -0.264729, 0.487039) UV(0.103088, 0.638086) -V 118: Pos(-0.96698, -11.620365, 9.029407) Norm(0.85191, 0.285245, 0.439187) UV(0.101951, 0.613008) -V 119: Pos(-0.96698, -11.750493, 9.012574) Norm(1.0, -0.0, 0.0) UV(0.103464, 0.605723) -V 120: Pos(-0.9961, -11.620365, 9.029407) Norm(-0.851909, 0.285245, 0.439187) UV(0.099899, 0.613242) -V 121: Pos(-0.9961, -11.123311, 9.028605) Norm(-0.832294, -0.264733, 0.487036) UV(0.101538, 0.638041) -V 122: Pos(-0.9961, -11.102088, 9.061469) Norm(-0.849412, -0.52771, 0.004528) UV(0.101818, 0.639555) -V 123: Pos(-0.9961, -11.13448, 9.11357) Norm(-0.764826, -0.450396, -0.460635) UV(0.102302, 0.638662) -V 124: Pos(-0.9961, -11.153469, 9.124792) Norm(-0.771422, -0.168137, -0.613708) UV(0.1022, 0.637695) -V 125: Pos(-1.305969, -11.642705, 9.085114) Norm(-0.765229, -0.257391, 0.590063) UV(0.140685, 0.84396) -V 126: Pos(-1.305969, -11.809134, 9.05666) Norm(-0.460093, -0.149631, 0.875172) UV(0.139103, 0.834177) -V 127: Pos(-1.276849, -11.809134, 9.05666) Norm(0.460093, -0.149631, 0.875171) UV(0.140518, 0.833046) -V 128: Pos(-1.276849, -11.642705, 9.085114) Norm(0.765229, -0.257391, 0.590063) UV(0.140758, 0.843937) -V 129: Pos(-0.96698, -11.809134, 9.05666) Norm(0.460093, -0.149631, 0.875172) UV(0.100632, 0.601438) -V 130: Pos(-1.276849, -11.750493, 9.012574) Norm(1.0, 0.0, 0.0) UV(0.143345, 0.837323) -V 131: Pos(-1.305969, -11.088685, 9.175289) Norm(-0.651747, 0.202834, 0.730811) UV(0.142587, 0.871743) -V 132: Pos(-1.136363, -11.153469, 9.101948) Norm(0.0, 0.286254, 0.958154) UV(0.003906, 0.003906) -V 133: Pos(-1.136363, -11.116051, 9.069485) Norm(0.0, 0.909758, 0.415138) UV(0.003906, 0.003906) -V 134: Pos(-1.237504, -11.116051, 9.069485) Norm(-0.624517, 0.710531, 0.324228) UV(0.003906, 0.003906) -V 135: Pos(-1.305969, -11.750493, 9.012574) Norm(-1.0, 0.0, 0.0) UV(0.137388, 0.838311) -V 136: Pos(-1.276849, -10.949621, 9.01017) Norm(0.510112, 0.691842, 0.511019) UV(0.143345, 0.877581) -V 137: Pos(-1.049248, -10.932342, 9.016983) Norm(0.0, 0.798424, 0.602096) UV(0.016778, 0.108006) -V 138: Pos(-1.049248, -11.111865, 9.255044) Norm(-0.0, 0.946194, 0.323599) UV(0.017794, 0.157051) -V 139: Pos(-1.040291, -11.112747, 9.255044) Norm(0.18819, 0.929001, 0.318656) UV(0.017595, 0.157083) -V 140: Pos(-1.040291, -10.933224, 9.016983) Norm(0.151263, 0.789237, 0.595168) UV(0.016751, 0.107877) -V 141: Pos(-1.031679, -11.115359, 9.255044) Norm(0.370777, 0.877702, 0.303584) UV(0.017412, 0.157197) -V 142: Pos(-1.031679, -10.935836, 9.016983) Norm(0.30293, 0.760908, 0.573805) UV(0.016747, 0.107788) -V 143: Pos(-1.023742, -11.119601, 9.255044) Norm(0.542043, 0.793143, 0.277693) UV(0.017258, 0.157389) -V 144: Pos(-1.023742, -10.940078, 9.016983) Norm(0.454564, 0.711168, 0.536295) UV(0.016767, 0.107739) -V 145: Pos(-1.016785, -11.125311, 9.255044) Norm(0.69576, 0.676951, 0.240113) UV(0.017144, 0.157652) -V 146: Pos(-1.016785, -10.945787, 9.016983) Norm(0.603827, 0.636435, 0.479941) UV(0.016818, 0.10772) -V 147: Pos(-1.011076, -11.132268, 9.255044) Norm(0.825172, 0.531861, 0.190302) UV(0.017076, 0.157972) -V 148: Pos(-1.011076, -10.952744, 9.016983) Norm(0.745002, 0.532597, 0.401638) UV(0.016901, 0.107724) -V 149: Pos(-1.006833, -11.140205, 9.255044) Norm(0.923098, 0.362318, 0.128904) UV(0.017058, 0.158337) -V 150: Pos(-1.006833, -10.960682, 9.016983) Norm(0.867921, 0.396579, 0.299063) UV(0.017012, 0.107743) -V 151: Pos(-1.004221, -11.148817, 9.255044) Norm(0.982783, 0.175194, 0.058698) UV(0.017086, 0.158731) -V 152: Pos(-1.004221, -10.969294, 9.016983) Norm(0.957775, 0.22956, 0.173113) UV(0.017146, 0.107762) -V 153: Pos(-1.003339, -11.157774, 9.255044) Norm(0.999683, -0.020108, -0.015164) UV(0.017152, 0.159138) -V 154: Pos(-1.003339, -10.978251, 9.016983) Norm(0.99873, 0.040232, 0.03034) UV(0.017294, 0.10777) -V 155: Pos(-1.004221, -11.166731, 9.255044) Norm(0.973201, -0.213086, -0.086452) UV(0.017244, 0.159541) -V 156: Pos(-1.004221, -10.987207, 9.016983) Norm(0.98103, -0.154777, -0.116719) UV(0.017443, 0.107748) -V 157: Pos(-1.006833, -11.175343, 9.255044) Norm(0.906714, -0.394194, -0.149937) UV(0.017349, 0.159927) -V 158: Pos(-1.006833, -10.995819, 9.016983) Norm(0.906983, -0.33627, -0.253583) UV(0.017584, 0.107677) -V 159: Pos(-1.011076, -11.183279, 9.255044) Norm(0.806019, -0.5561, -0.202699) UV(0.017456, 0.160281) -V 160: Pos(-1.011076, -11.003756, 9.016983) Norm(0.789693, -0.489835, -0.369388) UV(0.017707, 0.107531) -V 161: Pos(-1.016785, -11.190237, 9.255044) Norm(0.677371, -0.693964, -0.244096) UV(0.017555, 0.160593) -V 162: Pos(-1.016785, -11.010714, 9.016983) Norm(0.645689, -0.609676, -0.459762) UV(0.017812, 0.107288) -V 163: Pos(-1.023742, -11.195946, 9.255044) Norm(0.52683, -0.804349, -0.274722) UV(0.017644, 0.160852) -V 164: Pos(-1.023742, -11.016422, 9.016983) Norm(0.488369, -0.696734, -0.525412) UV(0.017904, 0.106926) -V 165: Pos(-1.031679, -11.200188, 9.255044) Norm(0.360216, -0.884798, -0.295595) UV(0.017721, 0.161037) -V 166: Pos(-1.031679, -11.020664, 9.016983) Norm(0.326248, -0.754737, -0.569152) UV(0.017941, 0.107923) -V 167: Pos(-1.040291, -11.202801, 9.255044) Norm(0.182814, -0.933757, -0.307696) UV(0.017789, 0.161147) -V 168: Pos(-1.040291, -11.023277, 9.016983) Norm(0.163095, -0.787733, -0.594034) UV(0.017893, 0.108793) -V 169: Pos(-1.049248, -11.203683, 9.255044) Norm(-0.0, -0.950193, -0.311661) UV(0.017851, 0.161182) -V 170: Pos(-1.049248, -11.024159, 9.016983) Norm(0.0, -0.798424, -0.602096) UV(0.017794, 0.1095) -V 171: Pos(-1.058204, -11.202801, 9.255044) Norm(-0.182812, -0.933757, -0.307696) UV(0.017914, 0.161144) -V 172: Pos(-1.058204, -11.023277, 9.016983) Norm(-0.163094, -0.787733, -0.594034) UV(0.01768, 0.11002) -V 173: Pos(-1.066817, -11.200188, 9.255044) Norm(-0.360216, -0.884798, -0.295595) UV(0.017983, 0.161034) -V 174: Pos(-1.066817, -11.020664, 9.016983) Norm(-0.326251, -0.754735, -0.569153) UV(0.017541, 0.110393) -V 175: Pos(-1.074754, -11.195946, 9.255044) Norm(-0.526835, -0.804346, -0.274722) UV(0.018059, 0.160857) -V 176: Pos(-1.074754, -11.016422, 9.016983) Norm(-0.488371, -0.696732, -0.525412) UV(0.0174, 0.110623) -V 177: Pos(-1.08171, -11.190237, 9.255044) Norm(-0.677367, -0.693967, -0.244097) UV(0.018145, 0.16062) -V 178: Pos(-1.08171, -11.010714, 9.016983) Norm(-0.645681, -0.609683, -0.459764) UV(0.017267, 0.110727) -V 179: Pos(-1.08742, -11.183279, 9.255044) Norm(-0.806017, -0.556103, -0.202699) UV(0.018241, 0.160328) -V 180: Pos(-1.08742, -11.003756, 9.016983) Norm(-0.789697, -0.48983, -0.369385) UV(0.017149, 0.110719) -V 181: Pos(-1.091662, -11.175343, 9.255044) Norm(-0.906718, -0.394185, -0.149935) UV(0.01834, 0.159991) -V 182: Pos(-1.091662, -10.995819, 9.016983) Norm(-0.906984, -0.336269, -0.25358) UV(0.017059, 0.110613) -V 183: Pos(-1.094275, -11.166731, 9.255044) Norm(-0.973201, -0.213085, -0.086452) UV(0.018434, 0.159619) -V 184: Pos(-1.094275, -10.987207, 9.016983) Norm(-0.981031, -0.154774, -0.116719) UV(0.016997, 0.110428) -V 185: Pos(-1.095157, -11.157774, 9.255044) Norm(-0.999683, -0.020107, -0.015164) UV(0.018514, 0.159224) -V 186: Pos(-1.095157, -10.978251, 9.016983) Norm(-0.99873, 0.04023, 0.03034) UV(0.016957, 0.110186) -V 187: Pos(-1.094275, -11.148817, 9.255044) Norm(-0.982783, 0.17519, 0.058698) UV(0.018566, 0.158821) -V 188: Pos(-1.094275, -10.969294, 9.016983) Norm(-0.957775, 0.229563, 0.173113) UV(0.016935, 0.109903) -V 189: Pos(-1.091662, -11.140205, 9.255044) Norm(-0.9231, 0.362313, 0.128903) UV(0.01858, 0.158426) -V 190: Pos(-1.091662, -10.960682, 9.016983) Norm(-0.867926, 0.396571, 0.299058) UV(0.016921, 0.109597) -V 191: Pos(-1.08742, -11.132268, 9.255044) Norm(-0.825173, 0.53186, 0.1903) UV(0.018547, 0.158056) -V 192: Pos(-1.08742, -10.952744, 9.016983) Norm(-0.745, 0.5326, 0.401637) UV(0.016908, 0.109282) -V 193: Pos(-1.08171, -11.125311, 9.255044) Norm(-0.695755, 0.676956, 0.240113) UV(0.018468, 0.157725) -V 194: Pos(-1.08171, -10.945787, 9.016983) Norm(-0.603824, 0.636438, 0.479941) UV(0.016893, 0.108973) -V 195: Pos(-1.074754, -11.119601, 9.255044) Norm(-0.542047, 0.79314, 0.277693) UV(0.018343, 0.157448) -V 196: Pos(-1.074754, -10.940078, 9.016983) Norm(-0.454568, 0.711165, 0.536295) UV(0.016869, 0.108684) -V 197: Pos(-1.066817, -11.115359, 9.255044) Norm(-0.370778, 0.877701, 0.303585) UV(0.018182, 0.157238) -V 198: Pos(-1.066817, -10.935836, 9.016983) Norm(-0.302931, 0.760907, 0.573806) UV(0.01684, 0.108422) -V 199: Pos(-1.049248, -11.111865, 9.336753) Norm(-1e-06, 0.90977, -0.415112) UV(0.01782, 0.162399) -V 200: Pos(-1.040291, -11.112747, 9.336753) Norm(0.17748, 0.892292, -0.415109) UV(0.017778, 0.162409) -V 201: Pos(-1.058204, -11.112747, 9.255044) Norm(-0.188188, 0.929002, 0.318656) UV(0.017994, 0.157104) -V 202: Pos(-1.058204, -10.933224, 9.016983) Norm(-0.151261, 0.789237, 0.595168) UV(0.016809, 0.108191) -V 203: Pos(-1.006833, -11.175343, 9.336753) Norm(0.840514, -0.348187, -0.415093) UV(0.017657, 0.162917) -V 204: Pos(-1.011076, -11.183279, 9.336753) Norm(0.756466, -0.505432, -0.415087) UV(0.017677, 0.162975) -V 205: Pos(-1.074754, -11.195946, 9.336753) Norm(-0.505412, -0.756476, -0.415094) UV(0.017918, 0.163072) -V 206: Pos(-1.08171, -11.190237, 9.336753) Norm(-0.643314, -0.643299, -0.415107) UV(0.017945, 0.163031) -V 207: Pos(-1.08171, -11.125311, 9.336753) Norm(-0.643323, 0.643299, -0.415092) UV(0.017968, 0.162515) -V 208: Pos(-1.074754, -11.119601, 9.336753) Norm(-0.505442, 0.756455, -0.415096) UV(0.017937, 0.162462) -V 209: Pos(-1.006833, -11.140205, 9.336753) Norm(0.840517, 0.34816, -0.41511) UV(0.017638, 0.162634) -V 210: Pos(-1.004221, -11.148817, 9.336753) Norm(0.892287, 0.177496, -0.415114) UV(0.017632, 0.162709) -V 211: Pos(-1.040291, -11.202801, 9.336753) Norm(0.177515, -0.892283, -0.415114) UV(0.017792, 0.16313) -V 212: Pos(-1.049248, -11.203683, 9.336753) Norm(-0.0, -0.909773, -0.415105) UV(0.017826, 0.163133) -V 213: Pos(-1.095157, -11.157774, 9.336753) Norm(-0.909774, 1e-06, -0.415104) UV(0.018013, 0.162788) -V 214: Pos(-1.094275, -11.148817, 9.336753) Norm(-0.892291, 0.177494, -0.415105) UV(0.018014, 0.162711) -V 215: Pos(-1.023742, -11.119601, 9.485871) Norm(0.505445, 0.756453, 0.415095) UV(0.017846, 0.166359) -V 216: Pos(-1.031679, -11.115359, 9.485871) Norm(0.348132, 0.840534, 0.415099) UV(0.017844, 0.166341) -V 217: Pos(-1.031679, -11.115359, 9.935919) Norm(0.382644, 0.923896, 0.0) UV(0.018501, 0.273507) -V 218: Pos(-1.023742, -11.119601, 9.935919) Norm(0.555559, 0.831477, 0.0) UV(0.018551, 0.274176) -V 219: Pos(-1.066817, -11.200188, 9.336753) Norm(-0.348174, -0.840521, -0.415089) UV(0.017889, 0.1631) -V 220: Pos(-1.08742, -11.132268, 9.336753) Norm(-0.756457, 0.505434, -0.415102) UV(0.017991, 0.162577) -V 221: Pos(-1.011076, -11.132268, 9.336753) Norm(0.756458, 0.505431, -0.415104) UV(0.017653, 0.162575) -V 222: Pos(-1.031679, -11.200188, 9.336753) Norm(0.348174, -0.840517, -0.415097) UV(0.01776, 0.163105) -V 223: Pos(-1.094275, -11.166731, 9.336753) Norm(-0.89229, -0.177491, -0.415109) UV(0.018004, 0.162856) -V 224: Pos(-1.016785, -11.125311, 9.485871) Norm(0.643322, 0.6433, 0.415093) UV(0.017847, 0.166369) -V 225: Pos(-1.016785, -11.125311, 9.935919) Norm(0.707121, 0.707093, 0.0) UV(0.018573, 0.274933) -V 226: Pos(-1.023742, -11.195946, 9.485871) Norm(0.505411, -0.756476, 0.415095) UV(0.017805, 0.166485) -V 227: Pos(-1.016785, -11.190237, 9.485871) Norm(0.643306, -0.6433, 0.415118) UV(0.017812, 0.166477) -V 228: Pos(-1.016785, -11.190237, 9.935919) Norm(0.707115, -0.707099, 0.0) UV(0.017381, 0.281277) -V 229: Pos(-1.023742, -11.195946, 9.935919) Norm(0.555525, -0.8315, 0.0) UV(0.017165, 0.280008) -V 230: Pos(-1.091662, -11.175343, 9.485871) Norm(-0.840525, -0.348175, 0.415081) UV(0.017793, 0.16639) -V 231: Pos(-1.08742, -11.183279, 9.485871) Norm(-0.756465, -0.505434, 0.415088) UV(0.01779, 0.166408) -V 232: Pos(-1.08742, -11.183279, 9.935919) Norm(-0.831484, -0.555549, 0.0) UV(0.016897, 0.272925) -V 233: Pos(-1.091662, -11.175343, 9.935919) Norm(-0.923872, -0.382703, 0.0) UV(0.016994, 0.272433) -V 234: Pos(-1.058204, -11.112747, 9.485871) Norm(-0.177467, 0.892297, 0.415105) UV(0.017835, 0.16633) -V 235: Pos(-1.066817, -11.115359, 9.485871) Norm(-0.348133, 0.840537, 0.415092) UV(0.017831, 0.166323) -V 236: Pos(-1.066817, -11.115359, 9.935919) Norm(-0.382643, 0.923896, 0.0) UV(0.018094, 0.271716) -V 237: Pos(-1.058204, -11.112747, 9.935919) Norm(-0.195071, 0.980789, 0.0) UV(0.01822, 0.27203) -V 238: Pos(-1.004221, -11.166731, 9.485871) Norm(0.892299, -0.177492, 0.41509) UV(0.017831, 0.166444) -V 239: Pos(-1.004221, -11.166731, 9.935919) Norm(0.980784, -0.195095, 0.0) UV(0.018139, 0.280009) -V 240: Pos(-1.066817, -11.200188, 9.485871) Norm(-0.348172, -0.840522, 0.41509) UV(0.017787, 0.166448) -V 241: Pos(-1.066817, -11.200188, 9.935919) Norm(-0.38269, -0.923877, 0.0) UV(0.016747, 0.274932) -V 242: Pos(-1.08742, -11.132268, 9.485871) Norm(-0.75646, 0.505435, 0.415094) UV(0.017819, 0.166337) -V 243: Pos(-1.08742, -11.132268, 9.935919) Norm(-0.831479, 0.555556, 0.0) UV(0.017665, 0.271311) -V 244: Pos(-1.011076, -11.132268, 9.485871) Norm(0.75646, 0.505433, 0.415097) UV(0.017846, 0.166389) -V 245: Pos(-1.011076, -11.132268, 9.935919) Norm(0.831477, 0.555559, 0.0) UV(0.018563, 0.275777) -V 246: Pos(-1.031679, -11.200188, 9.485871) Norm(0.348172, -0.840518, 0.415097) UV(0.017799, 0.166481) -V 247: Pos(-1.031679, -11.200188, 9.935919) Norm(0.382691, -0.923877, 0.0) UV(0.016998, 0.278823) -V 248: Pos(-1.094275, -11.166731, 9.485871) Norm(-0.892291, -0.177491, 0.415108) UV(0.017798, 0.166372) -V 249: Pos(-1.094275, -11.166731, 9.935919) Norm(-0.980784, -0.195098, 0.0) UV(0.017107, 0.27203) -V 250: Pos(-1.049248, -11.111865, 9.485871) Norm(-1e-06, 0.90977, 0.415112) UV(0.017838, 0.166331) -V 251: Pos(-1.049248, -11.111865, 9.935919) Norm(0.0, 1.0, 0.0) UV(0.018333, 0.272434) -V 252: Pos(-0.9825, -11.171052, 9.465815) Norm(0.900472, -0.179121, 0.396314) UV(0.017804, 0.166101) -V 253: Pos(-0.986373, -11.183818, 9.465815) Norm(0.848219, -0.351379, 0.396304) UV(0.017803, 0.166111) -V 254: Pos(-0.986373, -11.183818, 9.35681) Norm(0.848212, -0.351382, -0.396317) UV(0.017746, 0.163214) -V 255: Pos(-0.9825, -11.171052, 9.35681) Norm(0.900465, -0.179121, -0.396331) UV(0.01774, 0.163164) -V 256: Pos(-0.992662, -11.195582, 9.465815) Norm(0.763385, -0.510068, 0.396326) UV(0.017801, 0.166119) -V 257: Pos(-1.001125, -11.205896, 9.465815) Norm(0.649203, -0.649197, 0.396331) UV(0.0178, 0.166131) -V 258: Pos(-1.001125, -11.205896, 9.35681) Norm(0.649215, -0.64919, -0.396324) UV(0.017766, 0.163294) -V 259: Pos(-0.992662, -11.195582, 9.35681) Norm(0.763385, -0.510067, -0.396326) UV(0.017754, 0.16326) -V 260: Pos(-1.09737, -11.205896, 9.465815) Norm(-0.649194, -0.649204, 0.396336) UV(0.017817, 0.166096) -V 261: Pos(-1.105834, -11.195582, 9.465815) Norm(-0.763384, -0.510071, 0.396324) UV(0.017821, 0.166078) -V 262: Pos(-1.105834, -11.195582, 9.35681) Norm(-0.763391, -0.510067, -0.396315) UV(0.017888, 0.163255) -V 263: Pos(-1.09737, -11.205896, 9.35681) Norm(-0.64921, -0.649196, -0.396322) UV(0.017878, 0.163294) -V 264: Pos(-1.087057, -11.101188, 9.465815) Norm(-0.510095, 0.763377, 0.396305) UV(0.017835, 0.165983) -V 265: Pos(-1.075292, -11.094898, 9.465815) Norm(-0.351337, 0.848232, 0.396314) UV(0.017834, 0.165982) -V 266: Pos(-1.075292, -11.094898, 9.35681) Norm(-0.351336, 0.848229, -0.396321) UV(0.017859, 0.162877) -V 267: Pos(-1.087057, -11.101188, 9.35681) Norm(-0.510089, 0.763374, -0.39632) UV(0.017877, 0.162904) -V 268: Pos(-0.9825, -11.144497, 9.465815) Norm(0.900467, 0.179123, 0.396327) UV(0.017807, 0.166066) -V 269: Pos(-0.981193, -11.157774, 9.465815) Norm(0.918108, 2e-06, 0.39633) UV(0.017805, 0.166084) -V 270: Pos(-0.981193, -11.157774, 9.35681) Norm(0.918102, 2e-06, -0.396344) UV(0.017735, 0.163118) -V 271: Pos(-0.9825, -11.144497, 9.35681) Norm(0.900462, 0.179124, -0.396337) UV(0.017736, 0.163065) -V 272: Pos(-1.049248, -11.225829, 9.465815) Norm(-1e-06, -0.918105, 0.396338) UV(0.017803, 0.166134) -V 273: Pos(-1.062525, -11.224523, 9.465815) Norm(-0.179135, -0.900467, 0.396321) UV(0.017807, 0.16613) -V 274: Pos(-1.062525, -11.224523, 9.35681) Norm(-0.17914, -0.900466, -0.396321) UV(0.017838, 0.163365) -V 275: Pos(-1.049248, -11.225829, 9.35681) Norm(-1e-06, -0.918105, -0.396338) UV(0.017823, 0.163368) -V 276: Pos(-1.115996, -11.144497, 9.465815) Norm(-0.900467, 0.179124, 0.396326) UV(0.017835, 0.166025) -V 277: Pos(-1.112123, -11.131731, 9.465815) Norm(-0.848231, 0.35134, 0.396313) UV(0.017837, 0.16601) -V 278: Pos(-1.112123, -11.131731, 9.35681) Norm(-0.848221, 0.351344, -0.39633) UV(0.017908, 0.163018) -V 279: Pos(-1.115996, -11.144497, 9.35681) Norm(-0.900465, 0.179124, -0.39633) UV(0.01791, 0.163063) -V 280: Pos(-1.074754, -11.119601, 9.485871) Norm(-0.505449, 0.756458, 0.415081) UV(0.017826, 0.166328) -V 281: Pos(-1.074754, -11.119601, 9.935919) Norm(-0.555561, 0.831476, 0.0) UV(0.017956, 0.271491) -V 282: Pos(-1.08171, -11.190237, 9.485871) Norm(-0.643297, -0.643306, 0.415122) UV(0.017788, 0.166416) -V 283: Pos(-1.08171, -11.190237, 9.935919) Norm(-0.707113, -0.707101, 0.0) UV(0.016822, 0.273506) -V 284: Pos(-1.011076, -11.183279, 9.485871) Norm(0.756466, -0.505433, 0.415087) UV(0.017819, 0.166476) -V 285: Pos(-1.011076, -11.183279, 9.935919) Norm(0.831482, -0.555552, 0.0) UV(0.017649, 0.282627) -V 286: Pos(-1.040291, -11.112747, 9.485871) Norm(0.177468, 0.892294, 0.415111) UV(0.017841, 0.166335) -V 287: Pos(-1.040291, -11.112747, 9.935919) Norm(0.195073, 0.980789, 0.0) UV(0.018428, 0.272926) -V 288: Pos(-1.062525, -11.091026, 9.465815) Norm(-0.179083, 0.900471, 0.396335) UV(0.017832, 0.165977) -V 289: Pos(-1.049248, -11.089719, 9.465815) Norm(-1e-06, 0.918104, 0.396339) UV(0.017829, 0.165982) -V 290: Pos(-1.049248, -11.089719, 9.35681) Norm(-1e-06, 0.918104, -0.396339) UV(0.01782, 0.162859) -V 291: Pos(-1.062525, -11.091026, 9.35681) Norm(-0.179096, 0.900469, -0.396333) UV(0.01784, 0.162866) -V 292: Pos(-1.112123, -11.183818, 9.465815) Norm(-0.848222, -0.351369, 0.396307) UV(0.017824, 0.166065) -V 293: Pos(-1.115996, -11.171052, 9.465815) Norm(-0.900465, -0.179118, 0.396332) UV(0.017829, 0.166053) -V 294: Pos(-1.115996, -11.171052, 9.35681) Norm(-0.900465, -0.179121, -0.396332) UV(0.017904, 0.163161) -V 295: Pos(-1.112123, -11.183818, 9.35681) Norm(-0.848216, -0.351373, -0.396317) UV(0.017897, 0.16321) -V 296: Pos(-1.011438, -11.214359, 9.465815) Norm(0.510051, -0.763398, 0.396323) UV(0.0178, 0.166132) -V 297: Pos(-1.023204, -11.220648, 9.465815) Norm(0.351385, -0.848201, 0.396337) UV(0.0178, 0.166136) -V 298: Pos(-1.023204, -11.220648, 9.35681) Norm(0.351387, -0.848201, -0.396337) UV(0.017792, 0.163352) -V 299: Pos(-1.011438, -11.214359, 9.35681) Norm(0.510055, -0.763397, -0.39632) UV(0.017779, 0.163327) -V 300: Pos(-1.001125, -11.109652, 9.465815) Norm(0.649214, 0.649193, 0.39632) UV(0.017817, 0.166023) -V 301: Pos(-0.992662, -11.119965, 9.465815) Norm(0.76339, 0.510062, 0.396325) UV(0.017815, 0.166035) -V 302: Pos(-0.992662, -11.119965, 9.35681) Norm(0.763387, 0.51006, -0.396332) UV(0.017746, 0.162972) -V 303: Pos(-1.001125, -11.109652, 9.35681) Norm(0.649223, 0.649192, -0.396308) UV(0.017756, 0.16293) -V 304: Pos(-1.105834, -11.119965, 9.465815) Norm(-0.76339, 0.510066, 0.396319) UV(0.017837, 0.165997) -V 305: Pos(-1.105834, -11.119965, 9.35681) Norm(-0.763388, 0.510063, -0.396326) UV(0.0179, 0.16297) -V 306: Pos(-1.075292, -11.220648, 9.465815) Norm(-0.351384, -0.848206, 0.396329) UV(0.01781, 0.166116) -V 307: Pos(-1.075292, -11.220648, 9.35681) Norm(-0.351387, -0.848205, -0.396329) UV(0.017852, 0.163354) -V 308: Pos(-1.011438, -11.101188, 9.465815) Norm(0.510091, 0.763373, 0.396319) UV(0.017821, 0.166007) -V 309: Pos(-1.011438, -11.101188, 9.35681) Norm(0.51009, 0.763377, -0.396313) UV(0.017767, 0.1629) -V 310: Pos(-1.117303, -11.157774, 9.465815) Norm(-0.918102, 2e-06, 0.396344) UV(0.017832, 0.166035) -V 311: Pos(-1.117303, -11.157774, 9.35681) Norm(-0.918108, 2e-06, -0.396331) UV(0.017908, 0.163109) -V 312: Pos(-1.035971, -11.224523, 9.465815) Norm(0.179136, -0.900464, 0.396327) UV(0.017801, 0.166137) -V 313: Pos(-1.035971, -11.224523, 9.35681) Norm(0.179141, -0.900463, -0.396326) UV(0.017807, 0.163361) -V 314: Pos(-0.986373, -11.131731, 9.465815) Norm(0.848222, 0.351348, 0.396325) UV(0.017811, 0.166047) -V 315: Pos(-0.986373, -11.131731, 9.35681) Norm(0.848215, 0.351349, -0.396339) UV(0.017738, 0.16302) -V 316: Pos(-1.09737, -11.109652, 9.465815) Norm(-0.649207, 0.649204, 0.396315) UV(0.017837, 0.165985) -V 317: Pos(-1.09737, -11.109652, 9.35681) Norm(-0.649214, 0.649193, -0.39632) UV(0.017891, 0.162933) -V 318: Pos(-1.087057, -11.214359, 9.465815) Norm(-0.510052, -0.763397, 0.396323) UV(0.017813, 0.166107) -V 319: Pos(-1.087057, -11.214359, 9.35681) Norm(-0.510051, -0.763398, -0.396322) UV(0.017865, 0.163327) -V 320: Pos(-1.004221, -11.166731, 9.336753) Norm(0.89229, -0.177494, -0.415108) UV(0.017641, 0.162853) -V 321: Pos(-1.095157, -11.157774, 9.485871) Norm(-0.909768, 1e-06, 0.415118) UV(0.017803, 0.166364) -V 322: Pos(-1.095157, -11.157774, 9.935919) Norm(-1.0, 0.0, 0.0) UV(0.017234, 0.271716) -V 323: Pos(-1.040291, -11.202801, 9.485871) Norm(0.177509, -0.892284, 0.415114) UV(0.017794, 0.166474) -V 324: Pos(-1.040291, -11.202801, 9.935919) Norm(0.195122, -0.980779, 0.0) UV(0.016877, 0.277722) -V 325: Pos(-1.006833, -11.140205, 9.485871) Norm(0.840525, 0.348157, 0.415096) UV(0.017843, 0.16641) -V 326: Pos(-1.006833, -11.140205, 9.935919) Norm(0.923879, 0.382686, 0.0) UV(0.018518, 0.276708) -V 327: Pos(-1.08171, -11.125311, 9.485871) Norm(-0.643317, 0.643309, 0.415087) UV(0.017823, 0.166335) -V 328: Pos(-1.08171, -11.125311, 9.935919) Norm(-0.707119, 0.707095, 0.0) UV(0.017812, 0.271357) -V 329: Pos(-1.074754, -11.195946, 9.485871) Norm(-0.505412, -0.756475, 0.415095) UV(0.017787, 0.166433) -V 330: Pos(-1.074754, -11.195946, 9.935919) Norm(-0.555527, -0.831499, 0.0) UV(0.01677, 0.274175) -V 331: Pos(-1.006833, -11.175343, 9.485871) Norm(0.840522, -0.348183, 0.415079) UV(0.017826, 0.166461) -V 332: Pos(-1.006833, -11.175343, 9.935919) Norm(0.923869, -0.382709, 0.0) UV(0.01792, 0.281277) -V 333: Pos(-1.031679, -11.115359, 9.336753) Norm(0.348131, 0.840534, -0.415099) UV(0.017739, 0.162434) -V 334: Pos(-1.058204, -11.112747, 9.336753) Norm(-0.177479, 0.892295, -0.415103) UV(0.017862, 0.162403) -V 335: Pos(-1.035971, -11.091026, 9.465815) Norm(0.179085, 0.900468, 0.396341) UV(0.017826, 0.16599) -V 336: Pos(-1.023204, -11.094898, 9.465815) Norm(0.351337, 0.848228, 0.396322) UV(0.017823, 0.166) -V 337: Pos(-1.023204, -11.094898, 9.35681) Norm(0.351337, 0.848228, -0.396323) UV(0.017782, 0.162877) -V 338: Pos(-1.035971, -11.091026, 9.35681) Norm(0.179098, 0.900466, -0.396339) UV(0.0178, 0.162863) -V 339: Pos(-1.091662, -11.175343, 9.336753) Norm(-0.840517, -0.34818, -0.415092) UV(0.017989, 0.16292) -V 340: Pos(-1.023742, -11.195946, 9.336753) Norm(0.505414, -0.756475, -0.415092) UV(0.01773, 0.163076) -V 341: Pos(-1.016785, -11.125311, 9.336753) Norm(0.643331, 0.643299, -0.415081) UV(0.017675, 0.162524) -V 342: Pos(-1.091662, -11.140205, 9.336753) Norm(-0.840523, 0.348156, -0.4151) UV(0.018006, 0.162637) -V 343: Pos(-1.058204, -11.202801, 9.336753) Norm(-0.177515, -0.892286, -0.415107) UV(0.017858, 0.163124) -V 344: Pos(-1.003339, -11.157774, 9.336753) Norm(0.909768, 1e-06, -0.415117) UV(0.017633, 0.162776) -V 345: Pos(-1.066817, -11.115359, 9.336753) Norm(-0.34813, 0.840535, -0.415099) UV(0.017902, 0.162432) -V 346: Pos(-1.08742, -11.183279, 9.336753) Norm(-0.756471, -0.505432, -0.415078) UV(0.017969, 0.16298) -V 347: Pos(-1.016785, -11.190237, 9.336753) Norm(0.643317, -0.643294, -0.41511) UV(0.017701, 0.163035) -V 348: Pos(-1.023742, -11.119601, 9.336753) Norm(0.505442, 0.756459, -0.415089) UV(0.017704, 0.162472) -V 349: Pos(-1.166577, -11.157774, 9.485871) Norm(0.909772, 2e-06, 0.415109) UV(0.008596, 0.651704) -V 350: Pos(-1.167459, -11.148817, 9.485871) Norm(0.892291, 0.177496, 0.415105) UV(0.0086, 0.651692) -V 351: Pos(-1.167459, -11.148817, 9.935919) Norm(0.980783, 0.195101, 0.0) UV(0.009315, 0.767214) -V 352: Pos(-1.166577, -11.157774, 9.935919) Norm(1.0, 0.0, 0.0) UV(0.009142, 0.768432) -V 353: Pos(-1.254901, -11.140205, 9.485871) Norm(-0.840531, 0.348148, 0.41509) UV(0.008587, 0.651619) -V 354: Pos(-1.257513, -11.148817, 9.485871) Norm(-0.892295, 0.177488, 0.415101) UV(0.008583, 0.651624) -V 355: Pos(-1.257513, -11.148817, 9.935919) Norm(-0.980786, 0.195088, 0.0) UV(0.008485, 0.759541) -V 356: Pos(-1.254901, -11.140205, 9.935919) Norm(-0.923884, 0.382673, 0.0) UV(0.008637, 0.759494) -V 357: Pos(-1.221443, -11.202801, 9.485871) Norm(-0.177511, -0.892287, 0.415107) UV(0.008557, 0.651717) -V 358: Pos(-1.212486, -11.203683, 9.485871) Norm(0.0, -0.909773, 0.415105) UV(0.008558, 0.651731) -V 359: Pos(-1.212486, -11.203683, 9.935919) Norm(0.0, -1.0, 0.0) UV(0.00771, 0.764084) -V 360: Pos(-1.221443, -11.202801, 9.935919) Norm(-0.195123, -0.980779, 0.0) UV(0.007701, 0.763217) -V 361: Pos(-1.212486, -10.932342, 9.016983) Norm(0.0, 0.798424, 0.602096) UV(0.007754, 0.592098) -V 362: Pos(-1.212486, -11.111865, 9.255044) Norm(0.0, 0.946194, 0.323599) UV(0.008554, 0.642088) -V 363: Pos(-1.20353, -11.112747, 9.255044) Norm(0.188189, 0.929001, 0.318656) UV(0.008351, 0.642124) -V 364: Pos(-1.20353, -10.933224, 9.016983) Norm(0.151263, 0.789237, 0.595168) UV(0.007719, 0.59202) -V 365: Pos(-1.194918, -11.115359, 9.255044) Norm(0.370774, 0.877703, 0.303585) UV(0.008164, 0.642243) -V 366: Pos(-1.194918, -10.935836, 9.016983) Norm(0.302928, 0.760908, 0.573806) UV(0.007701, 0.591982) -V 367: Pos(-1.186981, -11.119601, 9.255044) Norm(0.542047, 0.79314, 0.277693) UV(0.008006, 0.642442) -V 368: Pos(-1.186981, -10.940078, 9.016983) Norm(0.454564, 0.711166, 0.536296) UV(0.007706, 0.591984) -V 369: Pos(-1.180024, -11.125311, 9.255044) Norm(0.695758, 0.676954, 0.240112) UV(0.007889, 0.64271) -V 370: Pos(-1.180024, -10.945787, 9.016983) Norm(0.603828, 0.636436, 0.479939) UV(0.007738, 0.592013) -V 371: Pos(-1.174314, -11.132268, 9.255044) Norm(0.825173, 0.53186, 0.1903) UV(0.007819, 0.643037) -V 372: Pos(-1.174314, -10.952744, 9.016983) Norm(0.745, 0.5326, 0.401637) UV(0.007798, 0.592066) -V 373: Pos(-1.170072, -11.140205, 9.255044) Norm(0.923097, 0.362319, 0.128906) UV(0.007799, 0.643408) -V 374: Pos(-1.170072, -10.960682, 9.016983) Norm(0.867924, 0.396574, 0.29906) UV(0.007884, 0.59213) -V 375: Pos(-1.167459, -11.148817, 9.255044) Norm(0.982782, 0.175197, 0.058699) UV(0.007826, 0.643808) -V 376: Pos(-1.167459, -10.969294, 9.016983) Norm(0.957772, 0.229572, 0.173119) UV(0.007989, 0.592195) -V 377: Pos(-1.166577, -11.157774, 9.255044) Norm(0.999683, -0.020107, -0.015164) UV(0.007892, 0.644219) -V 378: Pos(-1.166577, -10.978251, 9.016983) Norm(0.99873, 0.04023, 0.03034) UV(0.008104, 0.592244) -V 379: Pos(-1.167459, -11.166731, 9.255044) Norm(0.973199, -0.213094, -0.086455) UV(0.007985, 0.644625) -V 380: Pos(-1.167459, -10.987207, 9.016983) Norm(0.98103, -0.154778, -0.116722) UV(0.008219, 0.592261) -V 381: Pos(-1.170072, -11.175343, 9.255044) Norm(0.906716, -0.39419, -0.149936) UV(0.008091, 0.645013) -V 382: Pos(-1.170072, -10.995819, 9.016983) Norm(0.906979, -0.336277, -0.253586) UV(0.008322, 0.592226) -V 383: Pos(-1.174314, -11.183279, 9.255044) Norm(0.806017, -0.556103, -0.202699) UV(0.0082, 0.645367) -V 384: Pos(-1.174314, -11.003756, 9.016983) Norm(0.789697, -0.48983, -0.369385) UV(0.008406, 0.592114) -V 385: Pos(-1.180024, -11.190237, 9.255044) Norm(0.67737, -0.693964, -0.244096) UV(0.008301, 0.645677) -V 386: Pos(-1.180024, -11.010714, 9.016983) Norm(0.645684, -0.609681, -0.459762) UV(0.008469, 0.591903) -V 387: Pos(-1.186981, -11.195946, 9.255044) Norm(0.526833, -0.804348, -0.274722) UV(0.008391, 0.645933) -V 388: Pos(-1.186981, -11.016422, 9.016983) Norm(0.488372, -0.696732, -0.525412) UV(0.008516, 0.591563) -V 389: Pos(-1.194918, -11.200188, 9.255044) Norm(0.360213, -0.884799, -0.295596) UV(0.008469, 0.646127) -V 390: Pos(-1.194918, -11.020664, 9.016983) Norm(0.326246, -0.754736, -0.569154) UV(0.008556, 0.591078) -V 391: Pos(-1.20353, -11.202801, 9.255044) Norm(0.182813, -0.933757, -0.307696) UV(0.008538, 0.646242) -V 392: Pos(-1.20353, -11.023277, 9.016983) Norm(0.163095, -0.787733, -0.594034) UV(0.008555, 0.592012) -V 393: Pos(-1.212486, -11.203683, 9.255044) Norm(0.0, -0.950193, -0.311661) UV(0.008601, 0.646281) -V 394: Pos(-1.212486, -11.024159, 9.016983) Norm(0.0, -0.798424, -0.602096) UV(0.008489, 0.592796) -V 395: Pos(-1.221443, -11.202801, 9.255044) Norm(-0.182814, -0.933757, -0.307696) UV(0.008664, 0.646242) -V 396: Pos(-1.221443, -11.023277, 9.016983) Norm(-0.163095, -0.787733, -0.594034) UV(0.008406, 0.593386) -V 397: Pos(-1.230055, -11.200188, 9.255044) Norm(-0.360218, -0.884798, -0.295594) UV(0.008733, 0.646131) -V 398: Pos(-1.230055, -11.020664, 9.016983) Norm(-0.326251, -0.754738, -0.56915) UV(0.008305, 0.593814) -V 399: Pos(-1.237992, -11.195946, 9.255044) Norm(-0.526831, -0.804349, -0.274722) UV(0.008811, 0.64595) -V 400: Pos(-1.237992, -11.016422, 9.016983) Norm(-0.488368, -0.696732, -0.525414) UV(0.008194, 0.594103) -V 401: Pos(-1.244949, -11.190237, 9.255044) Norm(-0.677366, -0.693968, -0.244099) UV(0.008899, 0.645707) -V 402: Pos(-1.244949, -11.010714, 9.016983) Norm(-0.64568, -0.609682, -0.459766) UV(0.008086, 0.594261) -V 403: Pos(-1.250658, -11.183279, 9.255044) Norm(-0.806017, -0.556103, -0.202699) UV(0.008996, 0.645408) -V 404: Pos(-1.250658, -11.003756, 9.016983) Norm(-0.789694, -0.489836, -0.369384) UV(0.007999, 0.5943) -V 405: Pos(-1.254901, -11.175343, 9.255044) Norm(-0.906719, -0.394183, -0.149933) UV(0.009098, 0.645064) -V 406: Pos(-1.254901, -10.995819, 9.016983) Norm(-0.90699, -0.336257, -0.253575) UV(0.007936, 0.59424) -V 407: Pos(-1.257513, -11.166731, 9.255044) Norm(-0.973203, -0.213078, -0.08645) UV(0.009196, 0.644684) -V 408: Pos(-1.257513, -10.987207, 9.016983) Norm(-0.981031, -0.154776, -0.116716) UV(0.0079, 0.594099) -V 409: Pos(-1.258395, -11.157774, 9.255044) Norm(-0.999683, -0.020109, -0.015164) UV(0.009279, 0.644282) -V 410: Pos(-1.258395, -10.978251, 9.016983) Norm(-0.998729, 0.040235, 0.03034) UV(0.007885, 0.5939) -V 411: Pos(-1.257513, -11.148817, 9.255044) Norm(-0.982783, 0.175191, 0.058696) UV(0.009333, 0.643872) -V 412: Pos(-1.257513, -10.969294, 9.016983) Norm(-0.957779, 0.229549, 0.173107) UV(0.007882, 0.593663) -V 413: Pos(-1.254901, -11.140205, 9.255044) Norm(-0.923104, 0.362304, 0.1289) UV(0.009349, 0.643471) -V 414: Pos(-1.254901, -10.960682, 9.016983) Norm(-0.867927, 0.396571, 0.299055) UV(0.007885, 0.593402) -V 415: Pos(-1.250658, -11.132268, 9.255044) Norm(-0.825172, 0.531861, 0.1903) UV(0.009319, 0.643095) -V 416: Pos(-1.250658, -10.952744, 9.016983) Norm(-0.744998, 0.532604, 0.401636) UV(0.007886, 0.593133) -V 417: Pos(-1.244949, -11.125311, 9.255044) Norm(-0.695754, 0.676957, 0.240115) UV(0.009239, 0.64276) -V 418: Pos(-1.244949, -10.945787, 9.016983) Norm(-0.603822, 0.636436, 0.479946) UV(0.007878, 0.592871) -V 419: Pos(-1.237992, -11.119601, 9.255044) Norm(-0.542043, 0.793142, 0.277694) UV(0.009113, 0.642481) -V 420: Pos(-1.237992, -10.940078, 9.016983) Norm(-0.454565, 0.711167, 0.536295) UV(0.007859, 0.592628) -V 421: Pos(-1.230055, -11.115359, 9.255044) Norm(-0.370779, 0.877702, 0.303583) UV(0.008949, 0.642271) -V 422: Pos(-1.230055, -10.935836, 9.016983) Norm(-0.302931, 0.760909, 0.573803) UV(0.007829, 0.592415) -V 423: Pos(-1.212486, -11.111865, 9.336753) Norm(-0.0, 0.90977, -0.415112) UV(0.008582, 0.647568) -V 424: Pos(-1.20353, -11.112747, 9.336753) Norm(0.17748, 0.892292, -0.41511) UV(0.008539, 0.647569) -V 425: Pos(-1.221443, -11.112747, 9.255044) Norm(-0.18819, 0.929001, 0.318656) UV(0.008758, 0.642138) -V 426: Pos(-1.221443, -10.933224, 9.016983) Norm(-0.151263, 0.789237, 0.595168) UV(0.007794, 0.592234) -V 427: Pos(-1.170072, -11.175343, 9.336753) Norm(0.840517, -0.348185, -0.415089) UV(0.008413, 0.648089) -V 428: Pos(-1.174314, -11.183279, 9.336753) Norm(0.756461, -0.505434, -0.415094) UV(0.008433, 0.648148) -V 429: Pos(-1.237992, -11.195946, 9.336753) Norm(-0.50541, -0.756479, -0.41509) UV(0.008681, 0.64825) -V 430: Pos(-1.244949, -11.190237, 9.336753) Norm(-0.643314, -0.643301, -0.415104) UV(0.00871, 0.64821) -V 431: Pos(-1.244949, -11.125311, 9.336753) Norm(-0.643321, 0.643299, -0.415096) UV(0.008732, 0.647678) -V 432: Pos(-1.237992, -11.119601, 9.336753) Norm(-0.505439, 0.756459, -0.415092) UV(0.008701, 0.647626) -V 433: Pos(-1.170072, -11.140205, 9.336753) Norm(0.840518, 0.348159, -0.415109) UV(0.008395, 0.647802) -V 434: Pos(-1.167459, -11.148817, 9.336753) Norm(0.892289, 0.177498, -0.415108) UV(0.008388, 0.647878) -V 435: Pos(-1.20353, -11.202801, 9.336753) Norm(0.177514, -0.892283, -0.415114) UV(0.00855, 0.648302) -V 436: Pos(-1.212486, -11.203683, 9.336753) Norm(0.0, -0.909773, -0.415105) UV(0.008583, 0.648305) -V 437: Pos(-1.258395, -11.157774, 9.336753) Norm(-0.909771, 3e-06, -0.415111) UV(0.00878, 0.647945) -V 438: Pos(-1.257513, -11.148817, 9.336753) Norm(-0.892295, 0.177494, -0.415097) UV(0.00878, 0.647871) -V 439: Pos(-1.186981, -11.119601, 9.485871) Norm(0.505446, 0.756452, 0.415096) UV(0.008612, 0.651644) -V 440: Pos(-1.194918, -11.115359, 9.485871) Norm(0.348129, 0.840536, 0.415097) UV(0.008612, 0.651625) -V 441: Pos(-1.194918, -11.115359, 9.935919) Norm(0.38264, 0.923898, 0.0) UV(0.009554, 0.762437) -V 442: Pos(-1.186981, -11.119601, 9.935919) Norm(0.555562, 0.831475, 0.0) UV(0.009577, 0.763214) -V 443: Pos(-1.230055, -11.200188, 9.336753) Norm(-0.348176, -0.84052, -0.41509) UV(0.00865, 0.648279) -V 444: Pos(-1.250658, -11.132268, 9.336753) Norm(-0.756458, 0.505432, -0.415102) UV(0.008756, 0.64774) -V 445: Pos(-1.174314, -11.132268, 9.336753) Norm(0.756455, 0.505432, -0.415108) UV(0.00841, 0.647742) -V 446: Pos(-1.194918, -11.200188, 9.336753) Norm(0.348172, -0.84052, -0.415094) UV(0.008518, 0.648278) -V 447: Pos(-1.257513, -11.166731, 9.336753) Norm(-0.892286, -0.177492, -0.415117) UV(0.008772, 0.648018) -V 448: Pos(-1.180024, -11.125311, 9.485871) Norm(0.64332, 0.6433, 0.415096) UV(0.008609, 0.651655) -V 449: Pos(-1.180024, -11.125311, 9.935919) Norm(0.70712, 0.707094, 0.0) UV(0.009569, 0.764082) -V 450: Pos(-1.186981, -11.195946, 9.485871) Norm(0.505412, -0.756473, 0.415099) UV(0.00857, 0.651742) -V 451: Pos(-1.180024, -11.190237, 9.485871) Norm(0.643301, -0.643298, 0.415128) UV(0.008575, 0.651737) -V 452: Pos(-1.180024, -11.190237, 9.935919) Norm(0.707114, -0.7071, 0.0) UV(0.008141, 0.768433) -V 453: Pos(-1.186981, -11.195946, 9.935919) Norm(0.555528, -0.831498, 0.0) UV(0.007967, 0.767215) -V 454: Pos(-1.254901, -11.175343, 9.485871) Norm(-0.84053, -0.348171, 0.415073) UV(0.008568, 0.651649) -V 455: Pos(-1.250658, -11.183279, 9.485871) Norm(-0.756462, -0.505434, 0.415091) UV(0.008563, 0.651668) -V 456: Pos(-1.250658, -11.183279, 9.935919) Norm(-0.831482, -0.555552, 0.0) UV(0.00795, 0.760648) -V 457: Pos(-1.254901, -11.175343, 9.935919) Norm(-0.923874, -0.382696, 0.0) UV(0.008066, 0.760233) -V 458: Pos(-1.221443, -11.112747, 9.485871) Norm(-0.177468, 0.892297, 0.415104) UV(0.008607, 0.651604) -V 459: Pos(-1.230055, -11.115359, 9.485871) Norm(-0.348134, 0.840536, 0.415092) UV(0.008604, 0.651596) -V 460: Pos(-1.230055, -11.115359, 9.935919) Norm(-0.382645, 0.923896, 0.0) UV(0.009209, 0.760232) -V 461: Pos(-1.221443, -11.112747, 9.935919) Norm(-0.195074, 0.980789, 0.0) UV(0.009326, 0.760646) -V 462: Pos(-1.167459, -11.166731, 9.485871) Norm(0.892292, -0.177496, 0.415103) UV(0.008591, 0.651712) -V 463: Pos(-1.167459, -11.166731, 9.935919) Norm(0.980783, -0.195101, 0.0) UV(0.008919, 0.769736) -V 464: Pos(-1.230055, -11.200188, 9.485871) Norm(-0.348175, -0.840524, 0.415083) UV(0.008556, 0.651711) -V 465: Pos(-1.230055, -11.200188, 9.935919) Norm(-0.382692, -0.923876, 0.0) UV(0.007724, 0.762439) -V 466: Pos(-1.250658, -11.132268, 9.485871) Norm(-0.756463, 0.505437, 0.415087) UV(0.008591, 0.651606) -V 467: Pos(-1.250658, -11.132268, 9.935919) Norm(-0.831477, 0.555559, 0.0) UV(0.008789, 0.75954) -V 468: Pos(-1.174314, -11.132268, 9.485871) Norm(0.756461, 0.505435, 0.415094) UV(0.008607, 0.651667) -V 469: Pos(-1.174314, -11.132268, 9.935919) Norm(0.831478, 0.555558, 0.0) UV(0.009525, 0.765038) -V 470: Pos(-1.194918, -11.200188, 9.485871) Norm(0.348169, -0.84052, 0.415095) UV(0.008565, 0.651744) -V 471: Pos(-1.194918, -11.200188, 9.935919) Norm(0.382686, -0.923878, 0.0) UV(0.00784, 0.766084) -V 472: Pos(-1.257513, -11.166731, 9.485871) Norm(-0.892294, -0.177487, 0.415102) UV(0.008573, 0.65164) -V 473: Pos(-1.257513, -11.166731, 9.935919) Norm(-0.980786, -0.195088, 0.0) UV(0.008196, 0.75991) -V 474: Pos(-1.212486, -11.111865, 9.485871) Norm(-1e-06, 0.90977, 0.415112) UV(0.00861, 0.651605) -V 475: Pos(-1.212486, -11.111865, 9.935919) Norm(0.0, 1.0, 0.0) UV(0.009424, 0.761152) -V 476: Pos(-1.145738, -11.171052, 9.465815) Norm(0.900468, -0.179119, 0.396325) UV(0.008566, 0.651364) -V 477: Pos(-1.149611, -11.183818, 9.465815) Norm(0.848217, -0.351381, 0.396307) UV(0.008566, 0.651372) -V 478: Pos(-1.149611, -11.183818, 9.35681) Norm(0.848213, -0.351384, -0.396314) UV(0.008504, 0.648394) -V 479: Pos(-1.145738, -11.171052, 9.35681) Norm(0.900466, -0.17912, -0.396329) UV(0.008498, 0.648344) -V 480: Pos(-1.155901, -11.195582, 9.465815) Norm(0.763379, -0.510069, 0.396335) UV(0.008565, 0.651379) -V 481: Pos(-1.164364, -11.205896, 9.465815) Norm(0.6492, -0.649194, 0.396342) UV(0.008565, 0.65139) -V 482: Pos(-1.164364, -11.205896, 9.35681) Norm(0.649213, -0.649189, -0.396328) UV(0.008525, 0.648475) -V 483: Pos(-1.155901, -11.195582, 9.35681) Norm(0.76338, -0.51007, -0.396332) UV(0.008512, 0.648441) -V 484: Pos(-1.260609, -11.205896, 9.465815) Norm(-0.649192, -0.649205, 0.396336) UV(0.008586, 0.651353) -V 485: Pos(-1.269072, -11.195582, 9.465815) Norm(-0.763384, -0.510069, 0.396327) UV(0.008591, 0.651336) -V 486: Pos(-1.269072, -11.195582, 9.35681) Norm(-0.763391, -0.510065, -0.396318) UV(0.008653, 0.648432) -V 487: Pos(-1.260609, -11.205896, 9.35681) Norm(-0.649209, -0.649199, -0.396319) UV(0.008639, 0.648469) -V 488: Pos(-1.250296, -11.101188, 9.465815) Norm(-0.510092, 0.763374, 0.396316) UV(0.008605, 0.651246) -V 489: Pos(-1.23853, -11.094898, 9.465815) Norm(-0.351338, 0.848231, 0.396315) UV(0.008603, 0.651247) -V 490: Pos(-1.23853, -11.094898, 9.35681) Norm(-0.351339, 0.848231, -0.396315) UV(0.008622, 0.648051) -V 491: Pos(-1.250296, -11.101188, 9.35681) Norm(-0.51009, 0.763375, -0.396317) UV(0.00864, 0.648078) -V 492: Pos(-1.145738, -11.144497, 9.465815) Norm(0.900467, 0.179119, 0.396327) UV(0.008569, 0.651332) -V 493: Pos(-1.144431, -11.157774, 9.465815) Norm(0.918105, 4e-06, 0.396337) UV(0.008567, 0.651348) -V 494: Pos(-1.144431, -11.157774, 9.35681) Norm(0.918105, 4e-06, -0.396337) UV(0.008493, 0.648297) -V 495: Pos(-1.145738, -11.144497, 9.35681) Norm(0.900465, 0.17912, -0.396331) UV(0.008494, 0.648244) -V 496: Pos(-1.212486, -11.225829, 9.465815) Norm(-0.0, -0.918105, 0.396338) UV(0.008571, 0.651386) -V 497: Pos(-1.225763, -11.224523, 9.465815) Norm(-0.179135, -0.900467, 0.396321) UV(0.008574, 0.651383) -V 498: Pos(-1.225763, -11.224523, 9.35681) Norm(-0.17914, -0.900466, -0.39632) UV(0.008597, 0.648543) -V 499: Pos(-1.212486, -11.225829, 9.35681) Norm(-0.0, -0.918105, -0.396338) UV(0.008582, 0.648552) -V 500: Pos(-1.279234, -11.144497, 9.465815) Norm(-0.900467, 0.179123, 0.396326) UV(0.008606, 0.651279) -V 501: Pos(-1.275361, -11.131731, 9.465815) Norm(-0.848228, 0.351339, 0.396321) UV(0.008607, 0.651265) -V 502: Pos(-1.275361, -11.131731, 9.35681) Norm(-0.848222, 0.351343, -0.396331) UV(0.008673, 0.648196) -V 503: Pos(-1.279234, -11.144497, 9.35681) Norm(-0.900468, 0.179125, -0.396323) UV(0.008676, 0.648243) -V 504: Pos(-1.237992, -11.119601, 9.485871) Norm(-0.505444, 0.756456, 0.415091) UV(0.008599, 0.651599) -V 505: Pos(-1.237992, -11.119601, 9.935919) Norm(-0.555557, 0.831478, 0.0) UV(0.009079, 0.759909) -V 506: Pos(-1.244949, -11.190237, 9.485871) Norm(-0.643296, -0.643306, 0.415122) UV(0.008559, 0.651677) -V 507: Pos(-1.244949, -11.190237, 9.935919) Norm(-0.707111, -0.707102, 0.0) UV(0.007852, 0.761154) -V 508: Pos(-1.174314, -11.183279, 9.485871) Norm(0.75646, -0.505432, 0.415098) UV(0.00858, 0.651739) -V 509: Pos(-1.174314, -11.183279, 9.935919) Norm(0.831482, -0.555551, 0.0) UV(0.008365, 0.769736) -V 510: Pos(-1.20353, -11.112747, 9.485871) Norm(0.177467, 0.892293, 0.415112) UV(0.008612, 0.651619) -V 511: Pos(-1.20353, -11.112747, 9.935919) Norm(0.195072, 0.980789, 0.0) UV(0.009502, 0.761749) -V 512: Pos(-1.225763, -11.091026, 9.465815) Norm(-0.179083, 0.900471, 0.396334) UV(0.008601, 0.651243) -V 513: Pos(-1.212486, -11.089719, 9.465815) Norm(-1e-06, 0.918104, 0.396339) UV(0.008598, 0.651249) -V 514: Pos(-1.212486, -11.089719, 9.35681) Norm(-1e-06, 0.918104, -0.396339) UV(0.008584, 0.648031) -V 515: Pos(-1.225763, -11.091026, 9.35681) Norm(-0.179095, 0.900469, -0.396333) UV(0.008604, 0.648039) -V 516: Pos(-1.275361, -11.183818, 9.465815) Norm(-0.848226, -0.351368, 0.396299) UV(0.008596, 0.651326) -V 517: Pos(-1.279234, -11.171052, 9.465815) Norm(-0.900467, -0.179122, 0.396327) UV(0.008601, 0.65131) -V 518: Pos(-1.279234, -11.171052, 9.35681) Norm(-0.900461, -0.179123, -0.396341) UV(0.008671, 0.648342) -V 519: Pos(-1.275361, -11.183818, 9.35681) Norm(-0.848217, -0.351372, -0.396316) UV(0.008663, 0.648389) -V 520: Pos(-1.174677, -11.214359, 9.465815) Norm(0.51005, -0.763397, 0.396326) UV(0.008566, 0.651392) -V 521: Pos(-1.186443, -11.220648, 9.465815) Norm(0.351384, -0.848203, 0.396335) UV(0.008566, 0.651391) -V 522: Pos(-1.186443, -11.220648, 9.35681) Norm(0.351387, -0.848202, -0.396335) UV(0.008551, 0.648534) -V 523: Pos(-1.174677, -11.214359, 9.35681) Norm(0.510056, -0.763396, -0.39632) UV(0.008537, 0.648508) -V 524: Pos(-1.164364, -11.109652, 9.465815) Norm(0.649212, 0.649193, 0.396324) UV(0.008581, 0.651284) -V 525: Pos(-1.155901, -11.119965, 9.465815) Norm(0.763389, 0.510066, 0.39632) UV(0.008576, 0.6513) -V 526: Pos(-1.155901, -11.119965, 9.35681) Norm(0.763384, 0.510062, -0.396334) UV(0.008505, 0.648149) -V 527: Pos(-1.164364, -11.109652, 9.35681) Norm(0.649217, 0.649187, -0.396326) UV(0.008514, 0.648112) -V 528: Pos(-1.269072, -11.119965, 9.465815) Norm(-0.763393, 0.510066, 0.396313) UV(0.008607, 0.651259) -V 529: Pos(-1.269072, -11.119965, 9.35681) Norm(-0.763389, 0.510062, -0.396326) UV(0.008664, 0.648146) -V 530: Pos(-1.23853, -11.220648, 9.465815) Norm(-0.351387, -0.848207, 0.396323) UV(0.008577, 0.65137) -V 531: Pos(-1.23853, -11.220648, 9.35681) Norm(-0.351388, -0.848204, -0.396329) UV(0.008612, 0.648531) -V 532: Pos(-1.174677, -11.101188, 9.465815) Norm(0.510091, 0.763373, 0.396318) UV(0.008586, 0.65127) -V 533: Pos(-1.174677, -11.101188, 9.35681) Norm(0.510089, 0.763374, -0.396319) UV(0.008529, 0.648075) -V 534: Pos(-1.280542, -11.157774, 9.465815) Norm(-0.918105, 4e-06, 0.396337) UV(0.008604, 0.651294) -V 535: Pos(-1.280542, -11.157774, 9.35681) Norm(-0.918105, 4e-06, -0.396337) UV(0.008676, 0.648293) -V 536: Pos(-1.199209, -11.224523, 9.465815) Norm(0.179135, -0.900464, 0.396328) UV(0.008568, 0.651393) -V 537: Pos(-1.199209, -11.224523, 9.35681) Norm(0.17914, -0.900463, -0.396327) UV(0.008566, 0.648544) -V 538: Pos(-1.149611, -11.131731, 9.465815) Norm(0.848221, 0.351351, 0.396325) UV(0.008572, 0.651316) -V 539: Pos(-1.149611, -11.131731, 9.35681) Norm(0.848214, 0.351352, -0.396339) UV(0.008496, 0.648198) -V 540: Pos(-1.260609, -11.109652, 9.465815) Norm(-0.649203, 0.649202, 0.396325) UV(0.008606, 0.651248) -V 541: Pos(-1.260609, -11.109652, 9.35681) Norm(-0.649211, 0.649193, -0.396323) UV(0.008654, 0.648109) -V 542: Pos(-1.250296, -11.214359, 9.465815) Norm(-0.510053, -0.7634, 0.396316) UV(0.008581, 0.651362) -V 543: Pos(-1.250296, -11.214359, 9.35681) Norm(-0.510053, -0.763398, -0.39632) UV(0.008626, 0.648504) -V 544: Pos(-1.167459, -11.166731, 9.336753) Norm(0.89229, -0.177498, -0.415106) UV(0.008398, 0.648024) -V 545: Pos(-1.258395, -11.157774, 9.485871) Norm(-0.909771, 3e-06, 0.415111) UV(0.008578, 0.651631) -V 546: Pos(-1.258395, -11.157774, 9.935919) Norm(-1.0, 0.0, 0.0) UV(0.008337, 0.759679) -V 547: Pos(-1.20353, -11.202801, 9.485871) Norm(0.177509, -0.892284, 0.415115) UV(0.008561, 0.651734) -V 548: Pos(-1.20353, -11.202801, 9.935919) Norm(0.195121, -0.980779, 0.0) UV(0.007756, 0.76504) -V 549: Pos(-1.170072, -11.140205, 9.485871) Norm(0.840525, 0.348158, 0.415094) UV(0.008603, 0.65168) -V 550: Pos(-1.170072, -11.140205, 9.935919) Norm(0.923878, 0.382687, 0.0) UV(0.009441, 0.766082) -V 551: Pos(-1.244949, -11.125311, 9.485871) Norm(-0.643313, 0.643306, 0.415098) UV(0.008595, 0.651606) -V 552: Pos(-1.244949, -11.125311, 9.935919) Norm(-0.707117, 0.707097, 0.0) UV(0.008937, 0.759679) -V 553: Pos(-1.237992, -11.195946, 9.485871) Norm(-0.505412, -0.75648, 0.415087) UV(0.008557, 0.651694) -V 554: Pos(-1.237992, -11.195946, 9.935919) Norm(-0.555523, -0.831501, 0.0) UV(0.007775, 0.761751) -V 555: Pos(-1.170072, -11.175343, 9.485871) Norm(0.840522, -0.348183, 0.415081) UV(0.008587, 0.651728) -V 556: Pos(-1.170072, -11.175343, 9.935919) Norm(0.923869, -0.382709, 0.0) UV(0.008643, 0.771124) -V 557: Pos(-1.194918, -11.115359, 9.336753) Norm(0.348128, 0.840536, -0.415097) UV(0.008499, 0.647596) -V 558: Pos(-1.221443, -11.112747, 9.336753) Norm(-0.17748, 0.892295, -0.415102) UV(0.008624, 0.647569) -V 559: Pos(-1.199209, -11.091026, 9.465815) Norm(0.179085, 0.900468, 0.396342) UV(0.008595, 0.651252) -V 560: Pos(-1.186443, -11.094898, 9.465815) Norm(0.351336, 0.848229, 0.396321) UV(0.00859, 0.651263) -V 561: Pos(-1.186443, -11.094898, 9.35681) Norm(0.351336, 0.848229, -0.396321) UV(0.008544, 0.648053) -V 562: Pos(-1.199209, -11.091026, 9.35681) Norm(0.179097, 0.900466, -0.39634) UV(0.008564, 0.64804) -V 563: Pos(-1.254901, -11.175343, 9.336753) Norm(-0.840519, -0.348176, -0.415091) UV(0.008757, 0.648089) -V 564: Pos(-1.186981, -11.195946, 9.336753) Norm(0.505416, -0.756474, -0.415093) UV(0.008487, 0.648248) -V 565: Pos(-1.180024, -11.125311, 9.336753) Norm(0.643324, 0.643294, -0.415098) UV(0.008433, 0.647678) -V 566: Pos(-1.254901, -11.140205, 9.336753) Norm(-0.840524, 0.348154, -0.415101) UV(0.008772, 0.647798) -V 567: Pos(-1.221443, -11.202801, 9.336753) Norm(-0.177516, -0.892286, -0.415106) UV(0.008617, 0.648302) -V 568: Pos(-1.166577, -11.157774, 9.336753) Norm(0.909772, 2e-06, -0.415109) UV(0.008389, 0.647946) -V 569: Pos(-1.230055, -11.115359, 9.336753) Norm(-0.348134, 0.840536, -0.415093) UV(0.008664, 0.647597) -V 570: Pos(-1.250658, -11.183279, 9.336753) Norm(-0.756471, -0.50543, -0.415082) UV(0.008736, 0.648153) -V 571: Pos(-1.180024, -11.190237, 9.336753) Norm(0.643316, -0.643294, -0.415112) UV(0.008458, 0.648207) -V 572: Pos(-1.186981, -11.119601, 9.336753) Norm(0.505441, 0.756455, -0.415097) UV(0.008463, 0.647637) -V 573: Pos(-0.965202, -11.105439, 9.239014) Norm(-0.396978, 0.621224, -0.67564) UV(0.003906, 0.003906) -V 574: Pos(-0.966536, -11.279688, 9.138018) Norm(-0.711113, 0.280326, -0.644776) UV(0.003906, 0.003906) -V 575: Pos(-0.966091, -11.334978, 9.166472) Norm(-0.657907, -0.229042, 0.717425) UV(0.003906, 0.003906) -V 576: Pos(-0.964757, -11.214904, 9.240616) Norm(-0.634316, -0.739583, 0.225077) UV(0.003906, 0.003906) -V 577: Pos(-0.982096, -11.102648, 9.253441) Norm(-0.216961, 0.770873, -0.598902) UV(0.003906, 0.003906) -V 578: Pos(-0.98254, -11.212111, 9.255044) Norm(-0.196598, -0.809002, -0.553954) UV(0.003906, 0.003906) -V 579: Pos(-1.136363, -11.212111, 9.255044) Norm(0.0, 1.0, 0.0) UV(0.003906, 0.003906) -V 580: Pos(-1.136363, -11.102648, 9.253441) Norm(0.0, 1.0, 0.0) UV(0.003906, 0.003906) -V 581: Pos(-1.136363, -11.102648, 9.25825) Norm(0.0, -1.0, 0.0) UV(0.003906, 0.003906) -V 582: Pos(-0.974983, -11.102648, 9.25825) Norm(0.272016, 0.676846, 0.684022) UV(0.003906, 0.003906) -V 583: Pos(-0.974538, -11.212111, 9.25785) Norm(0.338583, -0.550483, 0.763105) UV(0.003906, 0.003906) -V 584: Pos(-1.136363, -11.212111, 9.25785) Norm(-0.077915, -0.768764, 0.634769) UV(0.003906, 0.003906) -V 585: Pos(-0.968759, -11.362903, 9.160461) Norm(-0.715129, -0.058445, 0.696545) UV(0.003906, 0.003906) -V 586: Pos(-0.968759, -11.446675, 9.16046) Norm(-0.624849, -0.296769, 0.722144) UV(0.003906, 0.003906) -V 587: Pos(-0.960089, -11.446675, 9.16046) Norm(0.635834, -0.293378, 0.713894) UV(0.003906, 0.003906) -V 588: Pos(-0.960089, -11.362903, 9.16006) Norm(0.74731, -0.079831, 0.659663) UV(0.003906, 0.003906) -V 589: Pos(-0.968759, -11.446675, 9.131205) Norm(-0.641518, -0.291526, -0.709554) UV(0.003906, 0.003906) -V 590: Pos(-0.968759, -11.453937, 9.153247) Norm(-0.629991, -0.716997, 0.298375) UV(0.003906, 0.003906) -V 591: Pos(-0.968759, -11.307612, 9.132006) Norm(-0.752435, 0.110937, -0.649257) UV(0.003906, 0.003906) -V 592: Pos(-0.960089, -11.453937, 9.153247) Norm(0.629991, -0.716996, 0.298375) UV(0.003906, 0.003906) -V 593: Pos(-0.968759, -11.453937, 9.138418) Norm(-0.629991, -0.716997, -0.298375) UV(0.003906, 0.003906) -V 594: Pos(-0.960089, -11.446675, 9.131205) Norm(0.619084, -0.298449, -0.726404) UV(0.003906, 0.003906) -V 595: Pos(-0.960089, -11.453937, 9.138418) Norm(0.629991, -0.716997, -0.298375) UV(0.003906, 0.003906) -V 596: Pos(-0.957644, -11.335536, 9.16527) Norm(0.818079, -0.25544, 0.515264) UV(0.003906, 0.003906) -V 597: Pos(-0.956533, -11.212111, 9.239414) Norm(0.828673, -0.28259, 0.48316) UV(0.003906, 0.003906) -V 598: Pos(-0.956533, -11.102648, 9.240215) Norm(0.68592, 0.724868, -0.063874) UV(0.003906, 0.003906) -V 599: Pos(-0.960089, -11.307612, 9.131205) Norm(0.609967, 0.045842, -0.7911) UV(0.003906, 0.003906) -V 600: Pos(-0.958089, -11.280805, 9.136415) Norm(0.631698, 0.250954, -0.733471) UV(0.003906, 0.003906) -V 601: Pos(-1.307525, -11.105439, 9.239014) Norm(-0.396978, -0.621223, 0.675641) UV(0.003906, 0.003906) -V 602: Pos(-1.306191, -11.279688, 9.138018) Norm(-0.711112, -0.280323, 0.644777) UV(0.003906, 0.003906) -V 603: Pos(-1.306636, -11.334978, 9.166472) Norm(-0.657905, 0.22904, -0.717427) UV(0.003906, 0.003906) -V 604: Pos(-1.30797, -11.214904, 9.240616) Norm(-0.634314, 0.739555, -0.225176) UV(0.003906, 0.003906) -V 605: Pos(-1.290631, -11.102648, 9.253441) Norm(-0.216961, -0.770873, 0.598901) UV(0.003906, 0.003906) -V 606: Pos(-1.290187, -11.212111, 9.255044) Norm(-0.196606, 0.809016, 0.553931) UV(0.003906, 0.003906) -V 607: Pos(-1.297744, -11.102648, 9.25825) Norm(0.272017, -0.676846, -0.684022) UV(0.003906, 0.003906) -V 608: Pos(-1.298189, -11.212111, 9.25785) Norm(0.338562, 0.550432, -0.763152) UV(0.003906, 0.003906) -V 609: Pos(-1.303968, -11.362903, 9.160461) Norm(-0.715129, 0.058445, -0.696544) UV(0.003906, 0.003906) -V 610: Pos(-1.303968, -11.446675, 9.16046) Norm(-0.62485, 0.29677, -0.722143) UV(0.003906, 0.003906) -V 611: Pos(-1.312638, -11.446675, 9.16046) Norm(0.635834, 0.293381, -0.713892) UV(0.003906, 0.003906) -V 612: Pos(-1.312638, -11.362903, 9.16006) Norm(0.74731, 0.079832, -0.659663) UV(0.003906, 0.003906) -V 613: Pos(-1.303968, -11.446675, 9.131205) Norm(-0.641519, 0.291529, 0.709552) UV(0.003906, 0.003906) -V 614: Pos(-1.303968, -11.453937, 9.153247) Norm(-0.62999, 0.716998, -0.298372) UV(0.003906, 0.003906) -V 615: Pos(-1.303968, -11.307612, 9.132006) Norm(-0.752436, -0.110939, 0.649255) UV(0.003906, 0.003906) -V 616: Pos(-1.312638, -11.453937, 9.153247) Norm(0.62999, 0.716998, -0.298372) UV(0.003906, 0.003906) -V 617: Pos(-1.303968, -11.453937, 9.138418) Norm(-0.62999, 0.716998, 0.298372) UV(0.003906, 0.003906) -V 618: Pos(-1.312638, -11.446675, 9.131205) Norm(0.619085, 0.298451, 0.726403) UV(0.003906, 0.003906) -V 619: Pos(-1.312638, -11.453937, 9.138418) Norm(0.62999, 0.716998, 0.298372) UV(0.003906, 0.003906) -V 620: Pos(-1.315083, -11.335536, 9.16527) Norm(0.818079, 0.255441, -0.515264) UV(0.003906, 0.003906) -V 621: Pos(-1.316194, -11.212111, 9.239414) Norm(0.828664, 0.28258, -0.483181) UV(0.003906, 0.003906) -V 622: Pos(-1.316194, -11.102648, 9.240215) Norm(0.685922, -0.724867, 0.063877) UV(0.003906, 0.003906) -V 623: Pos(-1.312638, -11.307612, 9.131205) Norm(0.609967, -0.045841, 0.7911) UV(0.003906, 0.003906) -V 624: Pos(-1.314638, -11.280805, 9.136415) Norm(0.631698, -0.250951, 0.733472) UV(0.003906, 0.003906) -V 625: Pos(-0.715513, -12.765841, 9.156855) Norm(-0.665583, 0.501894, 0.55236) UV(0.069109, 0.98407) -V 626: Pos(-0.715513, -12.657494, 9.01017) Norm(-0.510112, 0.69184, 0.511022) UV(0.067493, 0.990029) -V 627: Pos(-0.715513, -12.80996, 9.061469) Norm(-0.849414, -0.527707, 0.004535) UV(0.068067, 0.983564) -V 628: Pos(-0.715513, -12.842353, 9.11357) Norm(-0.764824, -0.450404, -0.460631) UV(0.068761, 0.982658) -V 629: Pos(-0.686393, -12.842353, 9.11357) Norm(0.764825, -0.450395, -0.460638) UV(0.068655, 0.98264) -V 630: Pos(-0.686393, -12.765841, 9.156855) Norm(0.665583, 0.501894, 0.55236) UV(0.068294, 0.983992) -V 631: Pos(-0.686393, -12.796557, 9.175289) Norm(0.651748, 0.202838, 0.730809) UV(0.068252, 0.984182) -V 632: Pos(-0.686393, -12.861341, 9.124792) Norm(0.771422, -0.168136, -0.613708) UV(0.068757, 0.981673) -V 633: Pos(-0.715513, -13.219892, 9.17569) Norm(-0.672866, -0.117452, 0.730381) UV(0.069604, 0.961313) -V 634: Pos(-0.715513, -13.241672, 9.168476) Norm(-0.671589, -0.346455, 0.654933) UV(0.07006, 0.96025) -V 635: Pos(-0.686393, -13.241672, 9.168476) Norm(0.671589, -0.346455, 0.654933) UV(0.069737, 0.960234) -V 636: Pos(-0.686393, -13.219892, 9.17569) Norm(0.672866, -0.117452, 0.730381) UV(0.070076, 0.961339) -V 637: Pos(-0.686393, -13.337732, 9.050648) Norm(0.876705, 0.465979, -0.119383) UV(0.070586, 0.956538) -V 638: Pos(-0.715513, -13.337732, 9.050648) Norm(-0.876708, 0.465975, -0.119371) UV(0.069595, 0.956432) -V 639: Pos(-0.686393, -13.239438, 9.125193) Norm(0.786505, 0.196551, -0.585472) UV(0.070029, 0.959933) -V 640: Pos(-0.715513, -13.239438, 9.125193) Norm(-0.786505, 0.196551, -0.585472) UV(0.069804, 0.95992) -V 641: Pos(-0.715513, -12.861341, 9.124792) Norm(-0.771424, -0.168145, -0.613704) UV(0.06879, 0.98168) -V 642: Pos(-0.686393, -12.80996, 9.061469) Norm(0.849416, -0.527704, 0.004537) UV(0.069139, 0.983533) -V 643: Pos(-0.686393, -12.831183, 9.028605) Norm(0.832294, -0.264734, 0.487034) UV(0.069419, 0.982019) -V 644: Pos(-0.715513, -12.831183, 9.028605) Norm(-0.832296, -0.264737, 0.48703) UV(0.067868, 0.982064) -V 645: Pos(-0.686393, -13.328238, 9.029407) Norm(0.851916, 0.285257, 0.439168) UV(0.071058, 0.95722) -V 646: Pos(-0.715513, -13.328238, 9.029407) Norm(-0.851912, 0.28525, 0.439179) UV(0.069006, 0.956986) -V 647: Pos(-0.715513, -13.350577, 9.085114) Norm(-0.765229, -0.257389, 0.590064) UV(0.070084, 0.956327) -V 648: Pos(-0.715513, -13.517006, 9.05666) Norm(-0.460093, -0.149631, 0.875171) UV(0.070325, 0.945416) -V 649: Pos(-0.686393, -13.517006, 9.05666) Norm(0.460093, -0.149631, 0.875171) UV(0.071743, 0.946549) -V 650: Pos(-0.686393, -13.350577, 9.085114) Norm(0.765229, -0.257389, 0.590064) UV(0.070158, 0.95635) -V 651: Pos(-0.686393, -13.458365, 9.012574) Norm(1.0, 0.0, 0.0) UV(0.073461, 0.950691) -V 652: Pos(-0.715513, -12.796557, 9.175289) Norm(-0.651748, 0.202838, 0.730809) UV(0.069077, 0.984233) -V 653: Pos(-0.715513, -13.458365, 9.012574) Norm(-1.0, 0.0, 0.0) UV(0.067493, 0.949701) -V 654: Pos(-0.686393, -12.657494, 9.01017) Norm(0.510112, 0.69184, 0.511022) UV(0.069134, 0.989276) -V 655: Pos(-0.576121, -12.865646, 9.485871) Norm(0.909768, 1e-06, 0.415117) UV(0.008429, 0.126869) -V 656: Pos(-0.577003, -12.856689, 9.485871) Norm(0.892292, 0.1775, 0.415101) UV(0.008433, 0.12687) -V 657: Pos(-0.577003, -12.856689, 9.935919) Norm(0.980782, 0.195105, 0.0) UV(0.007934, 0.244876) -V 658: Pos(-0.576121, -12.865646, 9.935919) Norm(1.0, 0.0, 0.0) UV(0.007802, 0.24372) -V 659: Pos(-0.664445, -12.848078, 9.485871) Norm(-0.840534, 0.348146, 0.415087) UV(0.00848, 0.126803) -V 660: Pos(-0.667057, -12.856689, 9.485871) Norm(-0.892296, 0.177493, 0.415094) UV(0.008476, 0.126809) -V 661: Pos(-0.667057, -12.856689, 9.935919) Norm(-0.980786, 0.195088, 0.0) UV(0.009314, 0.238165) -V 662: Pos(-0.664445, -12.848078, 9.935919) Norm(-0.923882, 0.382676, 0.0) UV(0.009416, 0.238682) -V 663: Pos(-0.630987, -12.910673, 9.485871) Norm(-0.17751, -0.89228, 0.415122) UV(0.008437, 0.126852) -V 664: Pos(-0.62203, -12.911555, 9.485871) Norm(1e-06, -0.90977, 0.415112) UV(0.008433, 0.126862) -V 665: Pos(-0.62203, -12.911555, 9.935919) Norm(0.0, -1.0, 0.0) UV(0.008027, 0.237745) -V 666: Pos(-0.630987, -12.910673, 9.935919) Norm(-0.195123, -0.980779, 0.0) UV(0.00816, 0.237415) -V 667: Pos(-0.62203, -12.640214, 9.016983) Norm(0.0, 0.798424, 0.602096) UV(0.008785, 0.066282) -V 668: Pos(-0.62203, -12.819737, 9.255044) Norm(-0.0, 0.946194, 0.323599) UV(0.008452, 0.117077) -V 669: Pos(-0.613074, -12.82062, 9.255044) Norm(0.18819, 0.929001, 0.318656) UV(0.008246, 0.117125) -V 670: Pos(-0.613074, -12.641096, 9.016983) Norm(0.151263, 0.789236, 0.595169) UV(0.008743, 0.066367) -V 671: Pos(-0.604462, -12.823232, 9.255044) Norm(0.370773, 0.877703, 0.303585) UV(0.008053, 0.117257) -V 672: Pos(-0.604462, -12.643708, 9.016983) Norm(0.302928, 0.760908, 0.573807) UV(0.008707, 0.066493) -V 673: Pos(-0.596524, -12.827474, 9.255044) Norm(0.542046, 0.793141, 0.277693) UV(0.007888, 0.117468) -V 674: Pos(-0.596524, -12.64795, 9.016983) Norm(0.454563, 0.711168, 0.536295) UV(0.008683, 0.066658) -V 675: Pos(-0.589568, -12.833183, 9.255044) Norm(0.695758, 0.676953, 0.240113) UV(0.007763, 0.117748) -V 676: Pos(-0.589568, -12.65366, 9.016983) Norm(0.603827, 0.636435, 0.47994) UV(0.008672, 0.066849) -V 677: Pos(-0.583858, -12.84014, 9.255044) Norm(0.825174, 0.531859, 0.190301) UV(0.007686, 0.118086) -V 678: Pos(-0.583858, -12.660617, 9.016983) Norm(0.744999, 0.5326, 0.401638) UV(0.008678, 0.06706) -V 679: Pos(-0.579616, -12.848078, 9.255044) Norm(0.923097, 0.362319, 0.128906) UV(0.007658, 0.118466) -V 680: Pos(-0.579616, -12.668554, 9.016983) Norm(0.867925, 0.396572, 0.299061) UV(0.008696, 0.067279) -V 681: Pos(-0.577003, -12.856689, 9.255044) Norm(0.982782, 0.175198, 0.058699) UV(0.007678, 0.118872) -V 682: Pos(-0.577003, -12.677166, 9.016983) Norm(0.957772, 0.229569, 0.173119) UV(0.008723, 0.067494) -V 683: Pos(-0.576121, -12.865646, 9.255044) Norm(0.999683, -0.020108, -0.015164) UV(0.007737, 0.119287) -V 684: Pos(-0.576121, -12.686123, 9.016983) Norm(0.99873, 0.040232, 0.03034) UV(0.008748, 0.067686) -V 685: Pos(-0.577003, -12.874603, 9.255044) Norm(0.973199, -0.213093, -0.086456) UV(0.007825, 0.119695) -V 686: Pos(-0.577003, -12.69508, 9.016983) Norm(0.981029, -0.154781, -0.116722) UV(0.008762, 0.067839) -V 687: Pos(-0.579616, -12.883215, 9.255044) Norm(0.906716, -0.39419, -0.149936) UV(0.007927, 0.12008) -V 688: Pos(-0.579616, -12.703691, 9.016983) Norm(0.906981, -0.336273, -0.253587) UV(0.008757, 0.067934) -V 689: Pos(-0.583858, -12.891151, 9.255044) Norm(0.806017, -0.556102, -0.2027) UV(0.008033, 0.12043) -V 690: Pos(-0.583858, -12.711628, 9.016983) Norm(0.789697, -0.489829, -0.369386) UV(0.008728, 0.06795) -V 691: Pos(-0.589568, -12.898109, 9.255044) Norm(0.677371, -0.693964, -0.244097) UV(0.008133, 0.120734) -V 692: Pos(-0.589568, -12.718586, 9.016983) Norm(0.645683, -0.60968, -0.459764) UV(0.008675, 0.067865) -V 693: Pos(-0.596524, -12.903818, 9.255044) Norm(0.526832, -0.804349, -0.274721) UV(0.008223, 0.120982) -V 694: Pos(-0.596524, -12.724295, 9.016983) Norm(0.488371, -0.696733, -0.525411) UV(0.008603, 0.067657) -V 695: Pos(-0.604462, -12.90806, 9.255044) Norm(0.360213, -0.884799, -0.295596) UV(0.008302, 0.121166) -V 696: Pos(-0.604462, -12.728537, 9.016983) Norm(0.326246, -0.754737, -0.569153) UV(0.008522, 0.067308) -V 697: Pos(-0.613074, -12.910673, 9.255044) Norm(0.182814, -0.933757, -0.307696) UV(0.008372, 0.121279) -V 698: Pos(-0.613074, -12.73115, 9.016983) Norm(0.163096, -0.787732, -0.594036) UV(0.008446, 0.066795) -V 699: Pos(-0.62203, -12.911555, 9.255044) Norm(-0.0, -0.950193, -0.311662) UV(0.008435, 0.121318) -V 700: Pos(-0.62203, -12.732032, 9.016983) Norm(0.0, -0.798422, -0.602098) UV(0.008395, 0.066103) -V 701: Pos(-0.630987, -12.910673, 9.255044) Norm(-0.182814, -0.933757, -0.307696) UV(0.008498, 0.121277) -V 702: Pos(-0.630987, -12.73115, 9.016983) Norm(-0.163096, -0.787733, -0.594034) UV(0.008364, 0.065213) -V 703: Pos(-0.639599, -12.90806, 9.255044) Norm(-0.360217, -0.884798, -0.295594) UV(0.008567, 0.121157) -V 704: Pos(-0.639599, -12.728537, 9.016983) Norm(-0.326252, -0.754737, -0.569151) UV(0.008359, 0.065906) -V 705: Pos(-0.647536, -12.903818, 9.255044) Norm(-0.526831, -0.804349, -0.274722) UV(0.008646, 0.120966) -V 706: Pos(-0.647536, -12.724295, 9.016983) Norm(-0.488366, -0.696735, -0.525413) UV(0.008356, 0.066368) -V 707: Pos(-0.654493, -12.898109, 9.255044) Norm(-0.677365, -0.693969, -0.244099) UV(0.008736, 0.120712) -V 708: Pos(-0.654493, -12.718586, 9.016983) Norm(-0.64568, -0.609681, -0.459767) UV(0.008363, 0.066664) -V 709: Pos(-0.660202, -12.891151, 9.255044) Norm(-0.806017, -0.556101, -0.2027) UV(0.008838, 0.120402) -V 710: Pos(-0.660202, -12.711628, 9.016983) Norm(-0.789696, -0.489831, -0.369386) UV(0.008388, 0.066836) -V 711: Pos(-0.664445, -12.883215, 9.255044) Norm(-0.90672, -0.394182, -0.149933) UV(0.008946, 0.120047) -V 712: Pos(-0.664445, -12.703691, 9.016983) Norm(-0.90699, -0.336259, -0.253574) UV(0.008434, 0.066908) -V 713: Pos(-0.667057, -12.874603, 9.255044) Norm(-0.973203, -0.213078, -0.086449) UV(0.009051, 0.119658) -V 714: Pos(-0.667057, -12.69508, 9.016983) Norm(-0.981031, -0.154773, -0.116716) UV(0.0085, 0.066902) -V 715: Pos(-0.667939, -12.865646, 9.255044) Norm(-0.999683, -0.020108, -0.015164) UV(0.009143, 0.119248) -V 716: Pos(-0.667939, -12.686123, 9.016983) Norm(-0.99873, 0.040232, 0.03034) UV(0.00858, 0.066841) -V 717: Pos(-0.667057, -12.856689, 9.255044) Norm(-0.982784, 0.175188, 0.058696) UV(0.009206, 0.118832) -V 718: Pos(-0.667057, -12.677166, 9.016983) Norm(-0.957779, 0.229552, 0.173106) UV(0.008664, 0.066746) -V 719: Pos(-0.664445, -12.848078, 9.255044) Norm(-0.923103, 0.362305, 0.1289) UV(0.009231, 0.118427) -V 720: Pos(-0.664445, -12.668554, 9.016983) Norm(-0.867928, 0.39657, 0.299055) UV(0.008742, 0.066632) -V 721: Pos(-0.660202, -12.84014, 9.255044) Norm(-0.825173, 0.53186, 0.190301) UV(0.009208, 0.118051) -V 722: Pos(-0.660202, -12.660617, 9.016983) Norm(-0.745, 0.532599, 0.401639) UV(0.008804, 0.066516) -V 723: Pos(-0.654493, -12.833183, 9.255044) Norm(-0.695754, 0.676957, 0.240116) UV(0.009134, 0.117718) -V 724: Pos(-0.654493, -12.65366, 9.016983) Norm(-0.60382, 0.636439, 0.479945) UV(0.008844, 0.06641) -V 725: Pos(-0.647536, -12.827474, 9.255044) Norm(-0.542043, 0.793143, 0.277694) UV(0.009012, 0.117444) -V 726: Pos(-0.647536, -12.64795, 9.016983) Norm(-0.454564, 0.711167, 0.536296) UV(0.00886, 0.066326) -V 727: Pos(-0.639599, -12.823232, 9.255044) Norm(-0.370779, 0.877701, 0.303585) UV(0.00885, 0.11724) -V 728: Pos(-0.639599, -12.643708, 9.016983) Norm(-0.302932, 0.760907, 0.573805) UV(0.008852, 0.066273) -V 729: Pos(-0.62203, -12.819737, 9.336753) Norm(-0.0, 0.909767, -0.415119) UV(0.008449, 0.12265) -V 730: Pos(-0.613074, -12.82062, 9.336753) Norm(0.17748, 0.892292, -0.41511) UV(0.008405, 0.122665) -V 731: Pos(-0.630987, -12.82062, 9.255044) Norm(-0.188189, 0.929001, 0.318656) UV(0.008659, 0.117116) -V 732: Pos(-0.630987, -12.641096, 9.016983) Norm(-0.151263, 0.789237, 0.595168) UV(0.008825, 0.066255) -V 733: Pos(-0.579616, -12.883215, 9.336753) Norm(0.840514, -0.348187, -0.415092) UV(0.008271, 0.123188) -V 734: Pos(-0.583858, -12.891151, 9.336753) Norm(0.756468, -0.505437, -0.415077) UV(0.008292, 0.123246) -V 735: Pos(-0.647536, -12.903818, 9.336753) Norm(-0.505408, -0.756474, -0.415101) UV(0.008544, 0.123341) -V 736: Pos(-0.654493, -12.898109, 9.336753) Norm(-0.643315, -0.643303, -0.4151) UV(0.008574, 0.1233) -V 737: Pos(-0.654493, -12.833183, 9.336753) Norm(-0.643321, 0.643301, -0.415092) UV(0.008602, 0.122775) -V 738: Pos(-0.647536, -12.827474, 9.336753) Norm(-0.505437, 0.756452, -0.415106) UV(0.008571, 0.122725) -V 739: Pos(-0.579616, -12.848078, 9.336753) Norm(0.840531, 0.348166, -0.415077) UV(0.008256, 0.122902) -V 740: Pos(-0.577003, -12.856689, 9.336753) Norm(0.892293, 0.177501, -0.415098) UV(0.008248, 0.122979) -V 741: Pos(-0.613074, -12.910673, 9.336753) Norm(0.177514, -0.892283, -0.415114) UV(0.008411, 0.123397) -V 742: Pos(-0.62203, -12.911555, 9.336753) Norm(0.0, -0.90977, -0.415112) UV(0.008445, 0.1234) -V 743: Pos(-0.667939, -12.865646, 9.336753) Norm(-0.909768, 1e-06, -0.415118) UV(0.008646, 0.123043) -V 744: Pos(-0.667057, -12.856689, 9.336753) Norm(-0.892291, 0.177494, -0.415105) UV(0.008648, 0.122967) -V 745: Pos(-0.596524, -12.827474, 9.485871) Norm(0.505445, 0.756454, 0.415092) UV(0.008458, 0.126853) -V 746: Pos(-0.604462, -12.823232, 9.485871) Norm(0.34813, 0.840536, 0.415097) UV(0.008465, 0.126848) -V 747: Pos(-0.604462, -12.823232, 9.935919) Norm(0.382641, 0.923897, 0.0) UV(0.009135, 0.246118) -V 748: Pos(-0.596524, -12.827474, 9.935919) Norm(0.555559, 0.831477, 0.0) UV(0.008908, 0.247449) -V 749: Pos(-0.639599, -12.90806, 9.336753) Norm(-0.348173, -0.840514, -0.415104) UV(0.008512, 0.123371) -V 750: Pos(-0.660202, -12.84014, 9.336753) Norm(-0.756457, 0.505434, -0.415102) UV(0.008625, 0.122825) -V 751: Pos(-0.583858, -12.84014, 9.336753) Norm(0.756462, 0.505433, -0.415094) UV(0.008272, 0.122842) -V 752: Pos(-0.604462, -12.90806, 9.336753) Norm(0.348172, -0.840519, -0.415095) UV(0.008378, 0.123373) -V 753: Pos(-0.667057, -12.874603, 9.336753) Norm(-0.892296, -0.177493, -0.415094) UV(0.008636, 0.12311) -V 754: Pos(-0.589568, -12.833183, 9.485871) Norm(0.64332, 0.643299, 0.415096) UV(0.008451, 0.126857) -V 755: Pos(-0.589568, -12.833183, 9.935919) Norm(0.70712, 0.707093, 0.0) UV(0.008628, 0.248867) -V 756: Pos(-0.596524, -12.903818, 9.485871) Norm(0.505411, -0.756476, 0.415096) UV(0.008427, 0.12687) -V 757: Pos(-0.589568, -12.898109, 9.485871) Norm(0.64331, -0.643303, 0.415107) UV(0.008425, 0.126869) -V 758: Pos(-0.589568, -12.898109, 9.935919) Norm(0.707115, -0.707099, 0.0) UV(0.00768, 0.239998) -V 759: Pos(-0.596524, -12.903818, 9.935919) Norm(0.555524, -0.8315, 0.0) UV(0.007732, 0.239295) -V 760: Pos(-0.664445, -12.883215, 9.485871) Norm(-0.840524, -0.348168, 0.415088) UV(0.008461, 0.126822) -V 761: Pos(-0.660202, -12.891151, 9.485871) Norm(-0.75646, -0.505435, 0.415095) UV(0.008456, 0.126831) -V 762: Pos(-0.660202, -12.891151, 9.935919) Norm(-0.831482, -0.555552, 0.0) UV(0.008765, 0.237037) -V 763: Pos(-0.664445, -12.883215, 9.935919) Norm(-0.923873, -0.382699, 0.0) UV(0.008917, 0.237178) -V 764: Pos(-0.630987, -12.82062, 9.485871) Norm(-0.177468, 0.892293, 0.415112) UV(0.008481, 0.126827) -V 765: Pos(-0.639599, -12.823232, 9.485871) Norm(-0.348132, 0.84053, 0.415106) UV(0.008483, 0.126816) -V 766: Pos(-0.639599, -12.823232, 9.935919) Norm(-0.382646, 0.923895, 0.0) UV(0.009566, 0.241674) -V 767: Pos(-0.630987, -12.82062, 9.935919) Norm(-0.195074, 0.980789, 0.0) UV(0.009522, 0.24265) -V 768: Pos(-0.577003, -12.874603, 9.485871) Norm(0.89229, -0.177497, 0.415107) UV(0.008427, 0.126866) -V 769: Pos(-0.577003, -12.874603, 9.935919) Norm(0.980782, -0.195105, 0.0) UV(0.007715, 0.242654) -V 770: Pos(-0.639599, -12.90806, 9.485871) Norm(-0.348174, -0.840517, 0.415097) UV(0.008441, 0.126852) -V 771: Pos(-0.639599, -12.90806, 9.935919) Norm(-0.382693, -0.923876, 0.0) UV(0.008304, 0.237179) -V 772: Pos(-0.660202, -12.84014, 9.485871) Norm(-0.756456, 0.505435, 0.415101) UV(0.008482, 0.126809) -V 773: Pos(-0.660202, -12.84014, 9.935919) Norm(-0.831477, 0.555559, 0.0) UV(0.009495, 0.239291) -V 774: Pos(-0.583858, -12.84014, 9.485871) Norm(0.756459, 0.505431, 0.415101) UV(0.008445, 0.12687) -V 775: Pos(-0.583858, -12.84014, 9.935919) Norm(0.831479, 0.555556, 0.0) UV(0.008342, 0.24745) -V 776: Pos(-0.604462, -12.90806, 9.485871) Norm(0.34817, -0.840523, 0.415088) UV(0.008428, 0.126872) -V 777: Pos(-0.604462, -12.90806, 9.935919) Norm(0.382687, -0.923878, 0.0) UV(0.007809, 0.238685) -V 778: Pos(-0.667057, -12.874603, 9.485871) Norm(-0.892298, -0.177488, 0.415094) UV(0.008466, 0.126813) -V 779: Pos(-0.667057, -12.874603, 9.935919) Norm(-0.980786, -0.195088, 0.0) UV(0.009062, 0.237413) -V 780: Pos(-0.62203, -12.819737, 9.485871) Norm(-0.0, 0.909767, 0.415119) UV(0.008477, 0.12683) -V 781: Pos(-0.62203, -12.819737, 9.935919) Norm(0.0, 1.0, 0.0) UV(0.009438, 0.243717) -V 782: Pos(-0.555282, -12.878924, 9.465815) Norm(0.900467, -0.179117, 0.396329) UV(0.008417, 0.126518) -V 783: Pos(-0.559155, -12.89169, 9.465815) Norm(0.848215, -0.351382, 0.39631) UV(0.008418, 0.126521) -V 784: Pos(-0.559155, -12.89169, 9.35681) Norm(0.848211, -0.351385, -0.396317) UV(0.008362, 0.123498) -V 785: Pos(-0.555282, -12.878924, 9.35681) Norm(0.900465, -0.179118, -0.396333) UV(0.008356, 0.123449) -V 786: Pos(-0.565444, -12.903455, 9.465815) Norm(0.763386, -0.510075, 0.396315) UV(0.008419, 0.126522) -V 787: Pos(-0.573908, -12.913769, 9.465815) Norm(0.649208, -0.649198, 0.396322) UV(0.008422, 0.12653) -V 788: Pos(-0.573908, -12.913769, 9.35681) Norm(0.649218, -0.649189, -0.396321) UV(0.008383, 0.123576) -V 789: Pos(-0.565444, -12.903455, 9.35681) Norm(0.763386, -0.510074, -0.396315) UV(0.00837, 0.123543) -V 790: Pos(-0.670153, -12.913769, 9.465815) Norm(-0.649196, -0.649208, 0.396325) UV(0.008467, 0.126502) -V 791: Pos(-0.678616, -12.903455, 9.465815) Norm(-0.763382, -0.510069, 0.39633) UV(0.008472, 0.126489) -V 792: Pos(-0.678616, -12.903455, 9.35681) Norm(-0.763388, -0.510064, -0.396325) UV(0.00852, 0.12353) -V 793: Pos(-0.670153, -12.913769, 9.35681) Norm(-0.64921, -0.6492, -0.396315) UV(0.008505, 0.123565) -V 794: Pos(-0.65984, -12.80906, 9.465815) Norm(-0.510089, 0.763369, 0.396329) UV(0.008482, 0.126443) -V 795: Pos(-0.648074, -12.802771, 9.465815) Norm(-0.351336, 0.848226, 0.396328) UV(0.008478, 0.12644) -V 796: Pos(-0.648074, -12.802771, 9.35681) Norm(-0.351336, 0.848225, -0.396329) UV(0.008495, 0.123157) -V 797: Pos(-0.65984, -12.80906, 9.35681) Norm(-0.510086, 0.76337, -0.39633) UV(0.008512, 0.123178) -V 798: Pos(-0.555282, -12.852369, 9.465815) Norm(0.900468, 0.17912, 0.396324) UV(0.008419, 0.1265) -V 799: Pos(-0.553975, -12.865646, 9.465815) Norm(0.918102, 3e-06, 0.396344) UV(0.008416, 0.126509) -V 800: Pos(-0.553975, -12.865646, 9.35681) Norm(0.918102, 3e-06, -0.396344) UV(0.008351, 0.123404) -V 801: Pos(-0.555282, -12.852369, 9.35681) Norm(0.900469, 0.179123, -0.396321) UV(0.008353, 0.123351) -V 802: Pos(-0.62203, -12.933702, 9.465815) Norm(0.0, -0.918102, 0.396345) UV(0.008441, 0.126523) -V 803: Pos(-0.635307, -12.932395, 9.465815) Norm(-0.179134, -0.900461, 0.396334) UV(0.008448, 0.126522) -V 804: Pos(-0.635307, -12.932395, 9.35681) Norm(-0.179139, -0.90046, -0.396334) UV(0.00846, 0.123645) -V 805: Pos(-0.62203, -12.933702, 9.35681) Norm(0.0, -0.918102, -0.396345) UV(0.008444, 0.123648) -V 806: Pos(-0.688778, -12.852369, 9.465815) Norm(-0.900469, 0.179127, 0.39632) UV(0.008487, 0.126455) -V 807: Pos(-0.684905, -12.839603, 9.465815) Norm(-0.84823, 0.351337, 0.396318) UV(0.008488, 0.126452) -V 808: Pos(-0.684905, -12.839603, 9.35681) Norm(-0.848223, 0.351343, -0.396328) UV(0.008543, 0.123292) -V 809: Pos(-0.688778, -12.852369, 9.35681) Norm(-0.900464, 0.179127, -0.39633) UV(0.008545, 0.123338) -V 810: Pos(-0.647536, -12.827474, 9.485871) Norm(-0.505441, 0.75645, 0.415105) UV(0.008484, 0.126805) -V 811: Pos(-0.647536, -12.827474, 9.935919) Norm(-0.555557, 0.831478, 0.0) UV(0.009574, 0.240788) -V 812: Pos(-0.654493, -12.898109, 9.485871) Norm(-0.643299, -0.643311, 0.415111) UV(0.008451, 0.126831) -V 813: Pos(-0.654493, -12.898109, 9.935919) Norm(-0.70711, -0.707104, 0.0) UV(0.00861, 0.23699) -V 814: Pos(-0.583858, -12.891151, 9.485871) Norm(0.756469, -0.505436, 0.415077) UV(0.008425, 0.126876) -V 815: Pos(-0.583858, -12.891151, 9.935919) Norm(0.831484, -0.555549, 0.0) UV(0.007658, 0.240792) -V 816: Pos(-0.613074, -12.82062, 9.485871) Norm(0.177468, 0.892293, 0.415112) UV(0.008471, 0.126844) -V 817: Pos(-0.613074, -12.82062, 9.935919) Norm(0.195073, 0.980789, 0.0) UV(0.00931, 0.244873) -V 818: Pos(-0.635307, -12.798899, 9.465815) Norm(-0.179083, 0.900468, 0.396341) UV(0.008472, 0.126439) -V 819: Pos(-0.62203, -12.797591, 9.465815) Norm(-0.0, 0.918101, 0.396346) UV(0.008465, 0.126447) -V 820: Pos(-0.62203, -12.797591, 9.35681) Norm(-0.0, 0.918101, -0.396345) UV(0.008452, 0.123144) -V 821: Pos(-0.635307, -12.798899, 9.35681) Norm(-0.179095, 0.900466, -0.39634) UV(0.008475, 0.123145) -V 822: Pos(-0.684905, -12.89169, 9.465815) Norm(-0.848221, -0.351364, 0.396313) UV(0.008477, 0.126481) -V 823: Pos(-0.688778, -12.878924, 9.465815) Norm(-0.90047, -0.179122, 0.396319) UV(0.008481, 0.126474) -V 824: Pos(-0.688778, -12.878924, 9.35681) Norm(-0.900469, -0.179126, -0.396319) UV(0.008537, 0.123438) -V 825: Pos(-0.684905, -12.89169, 9.35681) Norm(-0.848217, -0.351369, -0.396317) UV(0.008531, 0.123489) -V 826: Pos(-0.584221, -12.922232, 9.465815) Norm(0.510052, -0.763397, 0.396322) UV(0.008427, 0.126529) -V 827: Pos(-0.595987, -12.92852, 9.465815) Norm(0.351384, -0.848205, 0.396329) UV(0.00843, 0.126527) -V 828: Pos(-0.595987, -12.92852, 9.35681) Norm(0.351386, -0.848202, -0.396335) UV(0.00841, 0.123633) -V 829: Pos(-0.584221, -12.922232, 9.35681) Norm(0.510054, -0.763394, -0.396326) UV(0.008396, 0.123608) -V 830: Pos(-0.573908, -12.817524, 9.465815) Norm(0.649213, 0.649192, 0.396324) UV(0.008435, 0.126477) -V 831: Pos(-0.565444, -12.827837, 9.465815) Norm(0.763387, 0.510064, 0.396328) UV(0.008429, 0.12648) -V 832: Pos(-0.565444, -12.827837, 9.35681) Norm(0.76339, 0.510064, -0.396321) UV(0.008365, 0.123257) -V 833: Pos(-0.573908, -12.817524, 9.35681) Norm(0.64922, 0.649188, -0.396319) UV(0.008376, 0.123221) -V 834: Pos(-0.678616, -12.827837, 9.465815) Norm(-0.763388, 0.510063, 0.396326) UV(0.008487, 0.126442) -V 835: Pos(-0.678616, -12.827837, 9.35681) Norm(-0.763389, 0.510061, -0.396326) UV(0.008536, 0.12325) -V 836: Pos(-0.648074, -12.92852, 9.465815) Norm(-0.351385, -0.848202, 0.396336) UV(0.008454, 0.126512) -V 837: Pos(-0.648074, -12.92852, 9.35681) Norm(-0.351386, -0.848198, -0.396343) UV(0.008475, 0.123627) -V 838: Pos(-0.584221, -12.80906, 9.465815) Norm(0.510093, 0.763374, 0.396315) UV(0.008441, 0.126467) -V 839: Pos(-0.584221, -12.80906, 9.35681) Norm(0.510091, 0.763375, -0.396316) UV(0.008392, 0.123183) -V 840: Pos(-0.690086, -12.865646, 9.465815) Norm(-0.918102, 2e-06, 0.396343) UV(0.008485, 0.126468) -V 841: Pos(-0.690086, -12.865646, 9.35681) Norm(-0.918102, 2e-06, -0.396343) UV(0.008542, 0.123385) -V 842: Pos(-0.608753, -12.932395, 9.465815) Norm(0.179136, -0.900467, 0.396321) UV(0.008436, 0.126529) -V 843: Pos(-0.608753, -12.932395, 9.35681) Norm(0.17914, -0.900463, -0.396327) UV(0.008427, 0.123642) -V 844: Pos(-0.559155, -12.839603, 9.465815) Norm(0.848225, 0.351352, 0.396315) UV(0.008423, 0.12649) -V 845: Pos(-0.559155, -12.839603, 9.35681) Norm(0.848226, 0.351357, -0.396308) UV(0.008356, 0.123306) -V 846: Pos(-0.670153, -12.817524, 9.465815) Norm(-0.649204, 0.649203, 0.396321) UV(0.008485, 0.126442) -V 847: Pos(-0.670153, -12.817524, 9.35681) Norm(-0.649212, 0.649195, -0.39632) UV(0.008524, 0.123208) -V 848: Pos(-0.65984, -12.922232, 9.465815) Norm(-0.510051, -0.763398, 0.396323) UV(0.00846, 0.126508) -V 849: Pos(-0.65984, -12.922232, 9.35681) Norm(-0.51005, -0.763395, -0.39633) UV(0.008491, 0.1236) -V 850: Pos(-0.577003, -12.874603, 9.336753) Norm(0.892288, -0.177497, -0.41511) UV(0.008256, 0.123124) -V 851: Pos(-0.667939, -12.865646, 9.485871) Norm(-0.909768, 1e-06, 0.415118) UV(0.008471, 0.126806) -V 852: Pos(-0.667939, -12.865646, 9.935919) Norm(-1.0, 0.0, 0.0) UV(0.009195, 0.237742) -V 853: Pos(-0.613074, -12.910673, 9.485871) Norm(0.17751, -0.892287, 0.415108) UV(0.00843, 0.126862) -V 854: Pos(-0.613074, -12.910673, 9.935919) Norm(0.195122, -0.980779, 0.0) UV(0.007909, 0.238168) -V 855: Pos(-0.579616, -12.848078, 9.485871) Norm(0.84053, 0.348159, 0.415084) UV(0.008438, 0.12687) -V 856: Pos(-0.579616, -12.848078, 9.935919) Norm(0.923878, 0.382686, 0.0) UV(0.008112, 0.24612) -V 857: Pos(-0.654493, -12.833183, 9.485871) Norm(-0.643313, 0.643309, 0.415093) UV(0.008483, 0.126807) -V 858: Pos(-0.654493, -12.833183, 9.935919) Norm(-0.707115, 0.707098, 0.0) UV(0.009549, 0.239994) -V 859: Pos(-0.647536, -12.903818, 9.485871) Norm(-0.50541, -0.756477, 0.415094) UV(0.008445, 0.126841) -V 860: Pos(-0.647536, -12.903818, 9.935919) Norm(-0.555523, -0.831501, 0.0) UV(0.008455, 0.237037) -V 861: Pos(-0.579616, -12.883215, 9.485871) Norm(0.840519, -0.348184, 0.415085) UV(0.008426, 0.126872) -V 862: Pos(-0.579616, -12.883215, 9.935919) Norm(0.923869, -0.382709, 0.0) UV(0.007668, 0.241678) -V 863: Pos(-0.604462, -12.823232, 9.336753) Norm(0.348128, 0.840536, -0.415098) UV(0.008364, 0.122693) -V 864: Pos(-0.630987, -12.82062, 9.336753) Norm(-0.17748, 0.892292, -0.41511) UV(0.008493, 0.122661) -V 865: Pos(-0.608753, -12.798899, 9.465815) Norm(0.179084, 0.900468, 0.396341) UV(0.008457, 0.126448) -V 866: Pos(-0.595987, -12.802771, 9.465815) Norm(0.351336, 0.848229, 0.396321) UV(0.008449, 0.126457) -V 867: Pos(-0.595987, -12.802771, 9.35681) Norm(0.351336, 0.848229, -0.396322) UV(0.008409, 0.123161) -V 868: Pos(-0.608753, -12.798899, 9.35681) Norm(0.179097, 0.900466, -0.396339) UV(0.008429, 0.123147) -V 869: Pos(-0.664445, -12.883215, 9.336753) Norm(-0.840521, -0.348173, -0.415091) UV(0.008621, 0.123173) -V 870: Pos(-0.596524, -12.903818, 9.336753) Norm(0.505413, -0.756472, -0.4151) UV(0.008347, 0.123345) -V 871: Pos(-0.589568, -12.833183, 9.336753) Norm(0.643328, 0.643295, -0.415091) UV(0.008296, 0.122778) -V 872: Pos(-0.664445, -12.848078, 9.336753) Norm(-0.840526, 0.348152, -0.415097) UV(0.008641, 0.122893) -V 873: Pos(-0.630987, -12.910673, 9.336753) Norm(-0.177514, -0.89228, -0.415121) UV(0.008479, 0.123388) -V 874: Pos(-0.576121, -12.865646, 9.336753) Norm(0.909768, 1e-06, -0.415117) UV(0.008248, 0.123047) -V 875: Pos(-0.639599, -12.823232, 9.336753) Norm(-0.34813, 0.840531, -0.415107) UV(0.008535, 0.122686) -V 876: Pos(-0.660202, -12.891151, 9.336753) Norm(-0.756466, -0.50543, -0.415089) UV(0.0086, 0.12324) -V 877: Pos(-0.589568, -12.898109, 9.336753) Norm(0.64332, -0.643293, -0.415106) UV(0.008317, 0.123305) -V 878: Pos(-0.596524, -12.827474, 9.336753) Norm(0.505442, 0.756456, -0.415093) UV(0.008327, 0.122736) -V 879: Pos(-0.374746, -12.813312, 9.239014) Norm(-0.396986, 0.621241, -0.675619) UV(0.003906, 0.003906) -V 880: Pos(-0.376079, -12.98756, 9.138018) Norm(-0.711112, 0.28032, -0.644779) UV(0.003906, 0.003906) -V 881: Pos(-0.375635, -13.04285, 9.166472) Norm(-0.657907, -0.229041, 0.717425) UV(0.003906, 0.003906) -V 882: Pos(-0.374301, -12.922776, 9.240616) Norm(-0.634316, -0.739561, 0.225151) UV(0.003906, 0.003906) -V 883: Pos(-0.391639, -12.81052, 9.253441) Norm(-0.216953, 0.770846, -0.598939) UV(0.003906, 0.003906) -V 884: Pos(-0.392084, -12.919983, 9.255044) Norm(-0.196603, -0.809013, -0.553936) UV(0.003906, 0.003906) -V 885: Pos(-0.545907, -12.919983, 9.255044) Norm(-0.034329, -0.812465, 0.581998) UV(0.003906, 0.003906) -V 886: Pos(-0.545907, -12.81052, 9.253441) Norm(0.0, 0.0, -1.0) UV(0.003906, 0.003906) -V 887: Pos(-0.545907, -12.81052, 9.25825) Norm(0.0, 3.4e-05, -1.0) UV(0.003906, 0.003906) -V 888: Pos(-0.384526, -12.81052, 9.25825) Norm(0.272011, 0.676845, 0.684026) UV(0.003906, 0.003906) -V 889: Pos(-0.384082, -12.919983, 9.25785) Norm(0.338566, -0.550445, 0.76314) UV(0.003906, 0.003906) -V 890: Pos(-0.545907, -12.919983, 9.25785) Norm(-0.034326, -0.812382, 0.582115) UV(0.003906, 0.003906) -V 891: Pos(-0.378302, -13.070775, 9.160461) Norm(-0.715129, -0.058445, 0.696544) UV(0.003906, 0.003906) -V 892: Pos(-0.378302, -13.154548, 9.16046) Norm(-0.624849, -0.296769, 0.722144) UV(0.003906, 0.003906) -V 893: Pos(-0.369633, -13.154548, 9.16046) Norm(0.635834, -0.293378, 0.713894) UV(0.003906, 0.003906) -V 894: Pos(-0.369633, -13.070775, 9.16006) Norm(0.74731, -0.079831, 0.659663) UV(0.003906, 0.003906) -V 895: Pos(-0.378302, -13.154548, 9.131205) Norm(-0.641518, -0.291527, -0.709554) UV(0.003906, 0.003906) -V 896: Pos(-0.378302, -13.161809, 9.153247) Norm(-0.629991, -0.716997, 0.298375) UV(0.003906, 0.003906) -V 897: Pos(-0.378302, -13.015485, 9.132006) Norm(-0.752434, 0.110932, -0.649259) UV(0.003906, 0.003906) -V 898: Pos(-0.369633, -13.161809, 9.153247) Norm(0.629991, -0.716996, 0.298375) UV(0.003906, 0.003906) -V 899: Pos(-0.378302, -13.161809, 9.138418) Norm(-0.629988, -0.716999, -0.298373) UV(0.003906, 0.003906) -V 900: Pos(-0.369633, -13.154548, 9.131205) Norm(0.619084, -0.298449, -0.726404) UV(0.003906, 0.003906) -V 901: Pos(-0.369633, -13.161809, 9.138418) Norm(0.629991, -0.716997, -0.298375) UV(0.003906, 0.003906) -V 902: Pos(-0.367188, -13.043408, 9.16527) Norm(0.818079, -0.25544, 0.515265) UV(0.003906, 0.003906) -V 903: Pos(-0.366076, -12.919983, 9.239414) Norm(0.828666, -0.282582, 0.483177) UV(0.003906, 0.003906) -V 904: Pos(-0.366076, -12.81052, 9.240215) Norm(0.685918, 0.724873, -0.063841) UV(0.003906, 0.003906) -V 905: Pos(-0.369633, -13.015485, 9.131205) Norm(0.609968, 0.045837, -0.791099) UV(0.003906, 0.003906) -V 906: Pos(-0.367633, -12.988677, 9.136415) Norm(0.6317, 0.250946, -0.733472) UV(0.003906, 0.003906) -V 907: Pos(-0.717069, -12.813312, 9.239014) Norm(-0.396989, -0.621249, 0.67561) UV(0.003906, 0.003906) -V 908: Pos(-0.715735, -12.98756, 9.138018) Norm(-0.711112, -0.280321, 0.644779) UV(0.003906, 0.003906) -V 909: Pos(-0.71618, -13.04285, 9.166472) Norm(-0.657906, 0.229038, -0.717427) UV(0.003906, 0.003906) -V 910: Pos(-0.717514, -12.922776, 9.240616) Norm(-0.634314, 0.739563, -0.225151) UV(0.003906, 0.003906) -V 911: Pos(-0.700175, -12.81052, 9.253441) Norm(-0.216964, -0.770889, 0.598879) UV(0.003906, 0.003906) -V 912: Pos(-0.69973, -12.919983, 9.255044) Norm(-0.196603, 0.809012, 0.553938) UV(0.003906, 0.003906) -V 913: Pos(-0.707288, -12.81052, 9.25825) Norm(0.272003, -0.676825, -0.684049) UV(0.003906, 0.003906) -V 914: Pos(-0.707733, -12.919983, 9.25785) Norm(0.338568, 0.550445, -0.76314) UV(0.003906, 0.003906) -V 915: Pos(-0.713512, -13.070775, 9.160461) Norm(-0.71513, 0.058442, -0.696544) UV(0.003906, 0.003906) -V 916: Pos(-0.713512, -13.154548, 9.16046) Norm(-0.62485, 0.296772, -0.722142) UV(0.003906, 0.003906) -V 917: Pos(-0.722182, -13.154548, 9.16046) Norm(0.635834, 0.293381, -0.713892) UV(0.003906, 0.003906) -V 918: Pos(-0.722182, -13.070775, 9.16006) Norm(0.747309, 0.07983, -0.659664) UV(0.003906, 0.003906) -V 919: Pos(-0.713512, -13.154548, 9.131205) Norm(-0.641518, 0.29153, 0.709552) UV(0.003906, 0.003906) -V 920: Pos(-0.713512, -13.161809, 9.153247) Norm(-0.62999, 0.716999, -0.298372) UV(0.003906, 0.003906) -V 921: Pos(-0.713512, -13.015485, 9.132006) Norm(-0.752435, -0.110936, 0.649257) UV(0.003906, 0.003906) -V 922: Pos(-0.722182, -13.161809, 9.153247) Norm(0.62999, 0.716998, -0.298372) UV(0.003906, 0.003906) -V 923: Pos(-0.713512, -13.161809, 9.138418) Norm(-0.629985, 0.717003, 0.29837) UV(0.003906, 0.003906) -V 924: Pos(-0.722182, -13.154548, 9.131205) Norm(0.619085, 0.298451, 0.726403) UV(0.003906, 0.003906) -V 925: Pos(-0.722182, -13.161809, 9.138418) Norm(0.62999, 0.716998, 0.298372) UV(0.003906, 0.003906) -V 926: Pos(-0.724627, -13.043408, 9.16527) Norm(0.818079, 0.255438, -0.515266) UV(0.003906, 0.003906) -V 927: Pos(-0.725738, -12.919983, 9.239414) Norm(0.828667, 0.282583, -0.483175) UV(0.003906, 0.003906) -V 928: Pos(-0.725738, -12.81052, 9.240215) Norm(0.685919, -0.724874, 0.063826) UV(0.003906, 0.003906) -V 929: Pos(-0.722182, -13.015485, 9.131205) Norm(0.609969, -0.04584, 0.791099) UV(0.003906, 0.003906) -V 930: Pos(-0.724182, -12.988677, 9.136415) Norm(0.631699, -0.250947, 0.733472) UV(0.003906, 0.003906) -V 931: Pos(0.076413, -11.849343, 9.093531) Norm(0.0, 0.007369, 0.999973) UV(0.003906, 0.003906) -V 932: Pos(0.076413, -11.827642, 9.076807) Norm(0.0, 0.610406, 0.792089) UV(0.003906, 0.003906) -V 933: Pos(-0.130029, -11.827642, 9.076807) Norm(0.006667, 0.611537, 0.791187) UV(0.003906, 0.003906) -V 934: Pos(-0.124091, -11.849343, 9.093531) Norm(-0.321609, -0.08899, 0.942681) UV(0.003906, 0.003906) -V 935: Pos(-0.150988, -11.827563, 9.077099) Norm(-0.709429, 0.181448, 0.681019) UV(0.003906, 0.003906) -V 936: Pos(-0.150988, -11.75105, 9.017784) Norm(-0.787298, 0.199212, 0.583503) UV(0.003906, 0.003906) -V 937: Pos(0.277138, -11.849343, 9.093531) Norm(0.321613, -0.088983, 0.942681) UV(0.003906, 0.003906) -V 938: Pos(0.283077, -11.827642, 9.076807) Norm(-0.006666, 0.611526, 0.791196) UV(0.003906, 0.003906) -V 939: Pos(0.076413, -11.75105, 9.017784) Norm(0.0, 0.322417, 0.946598) UV(0.003906, 0.003906) -V 940: Pos(0.304035, -11.75105, 9.017784) Norm(0.787298, 0.199214, 0.583503) UV(0.003906, 0.003906) -V 941: Pos(0.177553, -11.694644, 9.017784) Norm(0.302085, -0.300965, 0.904525) UV(0.003906, 0.003906) -V 942: Pos(0.076413, -11.694644, 9.017784) Norm(0.0, -0.707107, 0.707107) UV(0.003906, 0.003906) -V 943: Pos(0.076413, -11.785118, 8.982917) Norm(0.0, -0.584063, -0.811708) UV(0.003906, 0.003906) -V 944: Pos(0.304035, -11.785118, 8.982917) Norm(0.596436, -0.468804, -0.651526) UV(0.003906, 0.003906) -V 945: Pos(0.304035, -11.796847, 9.017784) Norm(0.762158, -0.550319, -0.340975) UV(0.003906, 0.003906) -V 946: Pos(0.076413, -11.796847, 9.017784) Norm(-0.0, -0.850057, -0.52669) UV(0.003906, 0.003906) -V 947: Pos(0.177553, -11.11605, 9.016983) Norm(0.301492, 0.30291, 0.904073) UV(0.003906, 0.003906) -V 948: Pos(0.304035, -10.922255, 9.016582) Norm(0.808637, -0.233314, 0.540066) UV(0.003906, 0.003906) -V 949: Pos(0.076413, -10.922255, 9.016582) Norm(0.0, -0.396474, 0.918046) UV(0.003906, 0.003906) -V 950: Pos(0.076413, -11.11605, 9.016983) Norm(0.0, 0.707837, 0.706376) UV(0.003906, 0.003906) -V 951: Pos(0.304035, -10.902707, 9.037423) Norm(0.70711, -0.515747, 0.483736) UV(0.003906, 0.003906) -V 952: Pos(0.076413, -10.902707, 9.037423) Norm(0.0, -0.729382, 0.684106) UV(0.003906, 0.003906) -V 953: Pos(0.076413, -10.736836, 9.016182) Norm(0.0, 0.849708, -0.527254) UV(0.003906, 0.003906) -V 954: Pos(-0.150988, -10.736836, 9.016182) Norm(-0.754331, 0.557828, -0.34614) UV(0.003906, 0.003906) -V 955: Pos(-0.150988, -10.719524, 9.034617) Norm(-0.602358, 0.785895, -0.139767) UV(0.003906, 0.003906) -V 956: Pos(0.076413, -10.719524, 9.034617) Norm(0.0, 0.984551, -0.175099) UV(0.003906, 0.003906) -V 957: Pos(-0.150988, -10.883161, 9.058264) Norm(-0.627639, -0.309403, 0.71438) UV(0.003906, 0.003906) -V 958: Pos(-0.150988, -10.729577, 9.058264) Norm(-0.601486, 0.440751, 0.666298) UV(0.003906, 0.003906) -V 959: Pos(-0.150988, -10.902707, 9.037423) Norm(-0.70711, -0.515751, 0.483733) UV(0.003906, 0.003906) -V 960: Pos(0.246018, -11.057967, 9.156855) Norm(0.665583, 0.501894, 0.55236) UV(0.088238, 0.673243) -V 961: Pos(0.246018, -11.13448, 9.11357) Norm(0.764829, -0.450383, -0.460644) UV(0.088598, 0.671894) -V 962: Pos(0.246018, -11.102087, 9.061469) Norm(0.849414, -0.527708, 0.004532) UV(0.089082, 0.672785) -V 963: Pos(0.246018, -10.94962, 9.01017) Norm(0.510112, 0.69184, 0.511022) UV(0.089077, 0.678518) -V 964: Pos(0.216898, -11.13448, 9.11357) Norm(-0.764826, -0.450397, -0.460633) UV(0.088705, 0.671911) -V 965: Pos(0.216898, -11.153468, 9.124792) Norm(-0.771424, -0.16815, -0.613702) UV(0.088733, 0.670935) -V 966: Pos(0.216898, -11.088684, 9.175289) Norm(-0.651748, 0.202838, 0.730809) UV(0.08902, 0.673483) -V 967: Pos(0.216898, -11.057967, 9.156855) Norm(-0.665583, 0.501894, 0.55236) UV(0.089052, 0.673321) -V 968: Pos(-0.09297, -11.088684, 9.175289) Norm(-0.651748, 0.202838, 0.730809) UV(0.013119, 0.326495) -V 969: Pos(-0.09297, -11.512018, 9.17569) Norm(-0.672866, -0.117452, 0.730381) UV(0.0111, 0.303694) -V 970: Pos(-0.063851, -11.512018, 9.17569) Norm(0.672866, -0.117452, 0.730381) UV(0.01157, 0.303668) -V 971: Pos(-0.063851, -11.088684, 9.175289) Norm(0.651748, 0.202838, 0.730809) UV(0.012296, 0.326536) -V 972: Pos(-0.09297, -11.533798, 9.168476) Norm(-0.671589, -0.346455, 0.654933) UV(0.011434, 0.302589) -V 973: Pos(-0.063851, -11.533798, 9.168476) Norm(0.671589, -0.346455, 0.654933) UV(0.011112, 0.302609) -V 974: Pos(-0.063851, -11.642704, 9.085114) Norm(0.765229, -0.25739, 0.590064) UV(0.011083, 0.298695) -V 975: Pos(-0.063851, -11.629859, 9.050648) Norm(0.876709, 0.465974, -0.119373) UV(0.011571, 0.298806) -V 976: Pos(-0.063851, -11.531565, 9.125193) Norm(0.786505, 0.196553, -0.585471) UV(0.011368, 0.302277) -V 977: Pos(0.246018, -11.512018, 9.17569) Norm(0.672866, -0.117452, 0.730381) UV(0.090017, 0.65063) -V 978: Pos(0.216898, -11.512018, 9.17569) Norm(-0.672866, -0.117452, 0.730381) UV(0.089546, 0.650604) -V 979: Pos(0.216898, -11.533798, 9.168476) Norm(-0.671589, -0.346456, 0.654933) UV(0.090001, 0.649543) -V 980: Pos(0.246018, -11.533798, 9.168476) Norm(0.671589, -0.346455, 0.654933) UV(0.089679, 0.649527) -V 981: Pos(0.216898, -11.629859, 9.050648) Norm(-0.876709, 0.465973, -0.119373) UV(0.089537, 0.645731) -V 982: Pos(0.216898, -11.531565, 9.125193) Norm(-0.786505, 0.196553, -0.585471) UV(0.089745, 0.649213) -V 983: Pos(0.246018, -11.629859, 9.050648) Norm(0.876709, 0.465974, -0.119373) UV(0.090526, 0.645837) -V 984: Pos(0.246018, -11.531565, 9.125193) Norm(0.786505, 0.196554, -0.585471) UV(0.089971, 0.649226) -V 985: Pos(0.246018, -11.153468, 9.124792) Norm(0.771422, -0.168134, -0.613709) UV(0.0887, 0.670929) -V 986: Pos(0.216898, -11.102087, 9.061469) Norm(-0.849412, -0.52771, 0.004528) UV(0.088012, 0.672816) -V 987: Pos(0.216898, -11.12331, 9.028605) Norm(-0.832294, -0.264732, 0.487036) UV(0.087814, 0.671319) -V 988: Pos(0.246018, -11.12331, 9.028605) Norm(0.832293, -0.264729, 0.48704) UV(0.089361, 0.671273) -V 989: Pos(0.216898, -11.620364, 9.029407) Norm(-0.851909, 0.285245, 0.439187) UV(0.088949, 0.646285) -V 990: Pos(0.246018, -11.620364, 9.029407) Norm(0.85191, 0.285245, 0.439187) UV(0.090997, 0.646518) -V 991: Pos(0.076413, -10.749682, 8.981715) Norm(0.0, 0.569948, -0.821681) UV(0.003906, 0.003906) -V 992: Pos(0.304035, -10.736836, 9.016182) Norm(0.754331, 0.557829, -0.346138) UV(0.003906, 0.003906) -V 993: Pos(0.304035, -10.749682, 8.981715) Norm(0.598391, 0.456645, -0.658334) UV(0.003906, 0.003906) -V 994: Pos(-0.150988, -10.749682, 8.981715) Norm(-0.598391, 0.456645, -0.658334) UV(0.003906, 0.003906) -V 995: Pos(0.076413, -11.748775, 8.982875) Norm(0.0, -0.001158, -0.999999) UV(0.003906, 0.003906) -V 996: Pos(-0.150988, -11.785118, 8.982917) Norm(-0.596437, -0.468804, -0.651526) UV(0.003906, 0.003906) -V 997: Pos(-0.150988, -11.748775, 8.982875) Norm(-0.707107, -0.000819, -0.707106) UV(0.003906, 0.003906) -V 998: Pos(-0.150988, -11.796847, 9.017784) Norm(-0.762158, -0.550319, -0.340974) UV(0.003906, 0.003906) -V 999: Pos(0.304035, -11.827563, 9.077099) Norm(0.709429, 0.181438, 0.681022) UV(0.003906, 0.003906) -V 1000: Pos(-0.150988, -11.841526, 9.062671) Norm(-0.717122, -0.654258, -0.240171) UV(0.003906, 0.003906) -V 1001: Pos(0.076413, -11.841764, 9.062583) Norm(-0.0, -0.705534, -0.708676) UV(0.003906, 0.003906) -V 1002: Pos(0.076413, -11.862748, 9.083511) Norm(-0.0, -0.997599, 0.069254) UV(0.003906, 0.003906) -V 1003: Pos(-0.121201, -11.862748, 9.083511) Norm(-0.269077, -0.957259, 0.106076) UV(0.003906, 0.003906) -V 1004: Pos(-0.024506, -11.694644, 9.029006) Norm(-0.584725, -0.610739, 0.533943) UV(0.003906, 0.003906) -V 1005: Pos(-0.024506, -11.694644, 9.017784) Norm(-0.302085, -0.300965, 0.904525) UV(0.003906, 0.003906) -V 1006: Pos(0.076413, -11.694644, 9.029006) Norm(0.0, -0.752853, 0.658188) UV(0.003906, 0.003906) -V 1007: Pos(0.304035, -10.92971, 8.981924) Norm(0.707107, -0.000821, -0.707106) UV(0.003906, 0.003906) -V 1008: Pos(0.076413, -10.92971, 8.981924) Norm(0.0, -0.00116, -0.999999) UV(0.003906, 0.003906) -V 1009: Pos(0.304035, -11.748775, 8.982875) Norm(0.707107, -0.000819, -0.707106) UV(0.003906, 0.003906) -V 1010: Pos(0.304035, -10.729577, 9.058264) Norm(0.601488, 0.440755, 0.666294) UV(0.003906, 0.003906) -V 1011: Pos(0.076413, -10.729577, 9.058264) Norm(0.0, 0.551711, 0.834035) UV(0.003906, 0.003906) -V 1012: Pos(0.076413, -10.883161, 9.058264) Norm(0.0, -0.397428, 0.917633) UV(0.003906, 0.003906) -V 1013: Pos(0.304035, -10.883161, 9.058264) Norm(0.627637, -0.309397, 0.714385) UV(0.003906, 0.003906) -V 1014: Pos(-0.150988, -10.922255, 9.016582) Norm(-0.808636, -0.233312, 0.540067) UV(0.003906, 0.003906) -V 1015: Pos(-0.150988, -10.92971, 8.981924) Norm(-0.707107, -0.000821, -0.707106) UV(0.003906, 0.003906) -V 1016: Pos(0.274249, -11.862748, 9.083511) Norm(0.269084, -0.957257, 0.106075) UV(0.003906, 0.003906) -V 1017: Pos(0.304035, -11.841526, 9.062671) Norm(0.717125, -0.654253, -0.240175) UV(0.003906, 0.003906) -V 1018: Pos(-0.056612, -11.157773, 9.485871) Norm(-0.90978, -0.0, 0.415091) UV(0.026875, 0.200031) -V 1019: Pos(-0.056612, -11.157773, 9.935919) Norm(-1.0, 0.0, 0.0) UV(0.027547, 0.277203) -V 1020: Pos(-0.05573, -11.148816, 9.935919) Norm(-0.980784, 0.195097, 0.0) UV(0.027434, 0.277102) -V 1021: Pos(-0.05573, -11.148816, 9.485871) Norm(-0.892293, 0.177495, 0.4151) UV(0.026876, 0.200024) -V 1022: Pos(0.304035, -10.719524, 9.034617) Norm(0.602355, 0.785896, -0.139771) UV(0.003906, 0.003906) -V 1023: Pos(-0.024506, -11.11605, 9.069485) Norm(-0.624517, 0.710532, 0.324227) UV(0.003906, 0.003906) -V 1024: Pos(-0.024506, -11.11605, 9.016983) Norm(-0.301493, 0.30291, 0.904073) UV(0.003906, 0.003906) -V 1025: Pos(-0.024506, -11.153468, 9.101948) Norm(-0.625125, 0.223429, 0.747862) UV(0.003906, 0.003906) -V 1026: Pos(0.177553, -11.153468, 9.101948) Norm(0.625125, 0.223428, 0.747863) UV(0.003906, 0.003906) -V 1027: Pos(0.177553, -11.694644, 9.029006) Norm(0.584725, -0.610739, 0.533943) UV(0.003906, 0.003906) -V 1028: Pos(0.031712, -11.140204, 9.485871) Norm(0.840532, 0.348153, 0.415084) UV(0.026873, 0.200032) -V 1029: Pos(0.031712, -11.140204, 9.935919) Norm(0.923881, 0.382681, 0.0) UV(0.026521, 0.279352) -V 1030: Pos(0.034324, -11.148816, 9.935919) Norm(0.980784, 0.195097, 0.0) UV(0.0266, 0.279766) -V 1031: Pos(0.034324, -11.148816, 9.485871) Norm(0.892293, 0.177494, 0.4151) UV(0.026874, 0.200038) -V 1032: Pos(-0.001746, -11.2028, 9.485871) Norm(0.177501, -0.892289, 0.415108) UV(0.026871, 0.200091) -V 1033: Pos(-0.001746, -11.2028, 9.935919) Norm(0.195121, -0.980779, 0.0) UV(0.027786, 0.279763) -V 1034: Pos(-0.010703, -11.203682, 9.935919) Norm(0.0, -1.0, 0.0) UV(0.02785, 0.279343) -V 1035: Pos(-0.010703, -11.203682, 9.485871) Norm(0.0, -0.909775, 0.415102) UV(0.02687, 0.200092) -V 1036: Pos(-0.063851, -11.809133, 9.05666) Norm(0.460093, -0.149631, 0.875171) UV(0.011058, 0.287818) -V 1037: Pos(-0.063851, -11.750492, 9.012574) Norm(1.0, 0.0, 0.0) UV(0.013737, 0.292193) -V 1038: Pos(-0.09297, -11.642704, 9.085114) Norm(-0.765229, -0.25739, 0.590064) UV(0.011009, 0.298709) -V 1039: Pos(-0.09297, -11.531565, 9.125193) Norm(-0.786505, 0.196553, -0.585471) UV(0.011143, 0.302291) -V 1040: Pos(-0.09297, -11.629859, 9.050648) Norm(-0.876709, 0.465974, -0.119373) UV(0.01058, 0.298892) -V 1041: Pos(-0.09297, -11.153468, 9.124792) Norm(-0.771422, -0.168134, -0.613709) UV(0.012553, 0.323993) -V 1042: Pos(-0.09297, -11.102087, 9.061469) Norm(-0.849414, -0.527708, 0.004532) UV(0.01205, 0.325938) -V 1043: Pos(-0.09297, -11.13448, 9.11357) Norm(-0.764829, -0.450383, -0.460644) UV(0.012634, 0.324966) -V 1044: Pos(-0.09297, -11.057967, 9.156855) Norm(-0.665583, 0.501894, 0.55236) UV(0.013131, 0.326331) -V 1045: Pos(-0.09297, -10.94962, 9.01017) Norm(-0.510112, 0.69184, 0.511022) UV(0.012171, 0.332392) -V 1046: Pos(-0.063851, -11.057967, 9.156855) Norm(0.665583, 0.501894, 0.55236) UV(0.012314, 0.326344) -V 1047: Pos(-0.063851, -10.94962, 9.01017) Norm(0.510112, 0.69184, 0.511022) UV(0.013737, 0.33152) -V 1048: Pos(-0.09297, -11.12331, 9.028605) Norm(-0.832293, -0.264729, 0.48704) UV(0.011693, 0.324473) -V 1049: Pos(-0.09297, -11.620364, 9.029407) Norm(-0.85191, 0.285245, 0.439187) UV(0.010103, 0.299562) -V 1050: Pos(-0.09297, -11.750492, 9.012574) Norm(-1.0, 0.0, 0.0) UV(0.007748, 0.292942) -V 1051: Pos(-0.063851, -11.620364, 9.029407) Norm(0.85191, 0.285245, 0.439187) UV(0.012157, 0.299372) -V 1052: Pos(-0.063851, -11.12331, 9.028605) Norm(0.832294, -0.264732, 0.487036) UV(0.013229, 0.324258) -V 1053: Pos(-0.063851, -11.102087, 9.061469) Norm(0.849412, -0.52771, 0.004527) UV(0.013112, 0.325795) -V 1054: Pos(-0.063851, -11.13448, 9.11357) Norm(0.764826, -0.450397, -0.460633) UV(0.012527, 0.324961) -V 1055: Pos(-0.063851, -11.153468, 9.124792) Norm(0.771424, -0.16815, -0.613702) UV(0.01252, 0.323991) -V 1056: Pos(0.246018, -11.642704, 9.085114) Norm(0.765229, -0.257389, 0.590064) UV(0.090099, 0.645649) -V 1057: Pos(0.216898, -11.642704, 9.085114) Norm(-0.765229, -0.25739, 0.590064) UV(0.090026, 0.645627) -V 1058: Pos(0.216898, -11.809133, 9.05666) Norm(-0.460093, -0.149631, 0.875171) UV(0.090266, 0.634735) -V 1059: Pos(0.246018, -11.809133, 9.05666) Norm(0.460093, -0.149631, 0.875171) UV(0.091681, 0.635866) -V 1060: Pos(-0.09297, -11.809133, 9.05666) Norm(-0.460093, -0.149631, 0.875171) UV(0.0096, 0.288873) -V 1061: Pos(0.216898, -11.750492, 9.012574) Norm(-1.0, 0.0, 0.0) UV(0.087439, 0.639012) -V 1062: Pos(0.246018, -11.088684, 9.175289) Norm(0.651748, 0.202838, 0.730809) UV(0.088197, 0.673432) -V 1063: Pos(0.076413, -11.153468, 9.101948) Norm(0.0, 0.286254, 0.958154) UV(0.003906, 0.003906) -V 1064: Pos(0.076413, -11.11605, 9.069485) Norm(0.0, 0.909758, 0.415138) UV(0.003906, 0.003906) -V 1065: Pos(0.177553, -11.11605, 9.069485) Norm(0.624517, 0.710531, 0.324229) UV(0.003906, 0.003906) -V 1066: Pos(0.246018, -11.750492, 9.012574) Norm(1.0, -0.0, 0.0) UV(0.093396, 0.64) -V 1067: Pos(0.216898, -10.94962, 9.01017) Norm(-0.510112, 0.69184, 0.511022) UV(0.087439, 0.67927) -V 1068: Pos(-0.010703, -10.932341, 9.016983) Norm(0.0, 0.798422, 0.602098) UV(0.028879, 0.146969) -V 1069: Pos(-0.019659, -10.933223, 9.016983) Norm(-0.151261, 0.789236, 0.59517) UV(0.02927, 0.147767) -V 1070: Pos(-0.019659, -11.112746, 9.255044) Norm(-0.188187, 0.929001, 0.318657) UV(0.027118, 0.192895) -V 1071: Pos(-0.010703, -11.111864, 9.255044) Norm(-0.0, 0.946194, 0.3236) UV(0.026912, 0.192817) -V 1072: Pos(-0.028271, -10.935835, 9.016983) Norm(-0.302927, 0.760909, 0.573806) UV(0.029591, 0.148663) -V 1073: Pos(-0.028271, -11.115358, 9.255044) Norm(-0.370778, 0.877702, 0.303584) UV(0.0273, 0.193053) -V 1074: Pos(-0.036209, -10.940077, 9.016983) Norm(-0.45457, 0.711165, 0.536293) UV(0.02982, 0.149645) -V 1075: Pos(-0.036209, -11.1196, 9.255044) Norm(-0.542044, 0.793142, 0.277694) UV(0.027445, 0.193281) -V 1076: Pos(-0.043165, -10.945786, 9.016983) Norm(-0.603822, 0.636438, 0.479943) UV(0.029945, 0.150692) -V 1077: Pos(-0.043165, -11.12531, 9.255044) Norm(-0.695761, 0.676951, 0.240112) UV(0.027546, 0.193565) -V 1078: Pos(-0.048875, -10.952744, 9.016983) Norm(-0.745006, 0.532594, 0.401633) UV(0.029961, 0.15178) -V 1079: Pos(-0.048875, -11.132267, 9.255044) Norm(-0.825172, 0.531861, 0.190301) UV(0.027597, 0.193889) -V 1080: Pos(-0.053117, -10.960681, 9.016983) Norm(-0.867921, 0.396579, 0.299063) UV(0.029871, 0.152881) -V 1081: Pos(-0.053117, -11.140204, 9.255044) Norm(-0.923099, 0.362315, 0.128903) UV(0.027599, 0.194236) -V 1082: Pos(-0.05573, -10.969293, 9.016983) Norm(-0.957777, 0.229556, 0.17311) UV(0.029688, 0.153967) -V 1083: Pos(-0.05573, -11.148816, 9.255044) Norm(-0.982783, 0.175193, 0.058697) UV(0.027559, 0.194591) -V 1084: Pos(-0.056612, -10.97825, 9.016983) Norm(-0.99873, 0.040233, 0.03034) UV(0.029432, 0.155007) -V 1085: Pos(-0.056612, -11.157773, 9.255044) Norm(-0.999683, -0.020108, -0.015164) UV(0.027486, 0.19494) -V 1086: Pos(-0.05573, -10.987206, 9.016983) Norm(-0.981031, -0.154776, -0.116718) UV(0.029128, 0.155972) -V 1087: Pos(-0.05573, -11.16673, 9.255044) Norm(-0.973202, -0.213083, -0.086451) UV(0.027394, 0.19527) -V 1088: Pos(-0.053117, -10.995818, 9.016983) Norm(-0.906985, -0.336267, -0.253582) UV(0.0288, 0.156833) -V 1089: Pos(-0.053117, -11.175342, 9.255044) Norm(-0.906714, -0.394193, -0.149937) UV(0.027293, 0.195573) -V 1090: Pos(-0.048875, -11.003755, 9.016983) Norm(-0.789693, -0.489834, -0.369388) UV(0.028468, 0.157563) -V 1091: Pos(-0.048875, -11.183278, 9.255044) Norm(-0.80602, -0.556098, -0.202698) UV(0.027195, 0.19584) -V 1092: Pos(-0.043165, -11.010713, 9.016983) Norm(-0.645689, -0.609676, -0.459762) UV(0.028149, 0.158137) -V 1093: Pos(-0.043165, -11.190236, 9.255044) Norm(-0.677368, -0.693966, -0.244098) UV(0.027105, 0.196068) -V 1094: Pos(-0.036209, -11.016421, 9.016983) Norm(-0.488366, -0.696735, -0.525413) UV(0.027851, 0.158533) -V 1095: Pos(-0.036209, -11.195945, 9.255044) Norm(-0.526834, -0.804347, -0.274721) UV(0.027027, 0.196252) -V 1096: Pos(-0.028271, -11.020663, 9.016983) Norm(-0.326253, -0.754735, -0.569152) UV(0.027579, 0.158735) -V 1097: Pos(-0.028271, -11.200187, 9.255044) Norm(-0.360214, -0.884799, -0.295596) UV(0.026959, 0.19639) -V 1098: Pos(-0.019659, -11.023276, 9.016983) Norm(-0.163092, -0.787733, -0.594035) UV(0.027334, 0.158731) -V 1099: Pos(-0.019659, -11.2028, 9.255044) Norm(-0.182813, -0.933757, -0.307696) UV(0.026899, 0.196478) -V 1100: Pos(-0.010703, -11.024158, 9.016983) Norm(0.0, -0.798424, -0.602096) UV(0.027113, 0.158513) -V 1101: Pos(-0.010703, -11.203682, 9.255044) Norm(-0.0, -0.950193, -0.311661) UV(0.026843, 0.196515) -V 1102: Pos(-0.001746, -11.023276, 9.016983) Norm(0.16309, -0.787733, -0.594035) UV(0.026914, 0.158077) -V 1103: Pos(-0.001746, -11.2028, 9.255044) Norm(0.182811, -0.933757, -0.307696) UV(0.026786, 0.196499) -V 1104: Pos(0.006866, -11.020663, 9.016983) Norm(0.326255, -0.754735, -0.569151) UV(0.026732, 0.157423) -V 1105: Pos(0.006866, -11.200187, 9.255044) Norm(0.360215, -0.884799, -0.295595) UV(0.026724, 0.196431) -V 1106: Pos(0.014803, -11.016421, 9.016983) Norm(0.488368, -0.696734, -0.525412) UV(0.026565, 0.156558) -V 1107: Pos(0.014803, -11.195945, 9.255044) Norm(0.526837, -0.804346, -0.27472) UV(0.026652, 0.196309) -V 1108: Pos(0.02176, -11.010713, 9.016983) Norm(0.645684, -0.609679, -0.459764) UV(0.026412, 0.155493) -V 1109: Pos(0.02176, -11.190236, 9.255044) Norm(0.677365, -0.693969, -0.244099) UV(0.026568, 0.196134) -V 1110: Pos(0.027469, -11.003755, 9.016983) Norm(0.789697, -0.489831, -0.369385) UV(0.026277, 0.154244) -V 1111: Pos(0.027469, -11.183278, 9.255044) Norm(0.806019, -0.556099, -0.202698) UV(0.026472, 0.195905) -V 1112: Pos(0.031712, -10.995818, 9.016983) Norm(0.906986, -0.336264, -0.253579) UV(0.026166, 0.152836) -V 1113: Pos(0.031712, -11.175342, 9.255044) Norm(0.906717, -0.394187, -0.149935) UV(0.026368, 0.195627) -V 1114: Pos(0.034324, -10.987206, 9.016983) Norm(0.981031, -0.154776, -0.116718) UV(0.026094, 0.151293) -V 1115: Pos(0.034324, -11.16673, 9.255044) Norm(0.973202, -0.213083, -0.086451) UV(0.026265, 0.195302) -V 1116: Pos(0.035206, -10.97825, 9.016983) Norm(0.99873, 0.040233, 0.03034) UV(0.026081, 0.149648) -V 1117: Pos(0.035206, -11.157773, 9.255044) Norm(0.999683, -0.020108, -0.015164) UV(0.026173, 0.194941) -V 1118: Pos(0.034324, -10.969293, 9.016983) Norm(0.957777, 0.229556, 0.17311) UV(0.026153, 0.147934) -V 1119: Pos(0.034324, -11.148816, 9.255044) Norm(0.982783, 0.175193, 0.058697) UV(0.026107, 0.194554) -V 1120: Pos(0.031712, -10.960681, 9.016983) Norm(0.867926, 0.396572, 0.299058) UV(0.026336, 0.146188) -V 1121: Pos(0.031712, -11.140204, 9.255044) Norm(0.923101, 0.36231, 0.128902) UV(0.026081, 0.194158) -V 1122: Pos(0.027469, -10.952744, 9.016983) Norm(0.745004, 0.532595, 0.401635) UV(0.026652, 0.144449) -V 1123: Pos(0.027469, -11.132267, 9.255044) Norm(0.825174, 0.531859, 0.1903) UV(0.026106, 0.19377) -V 1124: Pos(0.02176, -10.945786, 9.016983) Norm(0.603819, 0.63644, 0.479944) UV(0.027065, 0.14479) -V 1125: Pos(0.02176, -11.12531, 9.255044) Norm(0.695757, 0.676955, 0.240114) UV(0.026187, 0.193412) -V 1126: Pos(0.014803, -10.940077, 9.016983) Norm(0.454573, 0.711164, 0.536292) UV(0.027511, 0.145197) -V 1127: Pos(0.014803, -11.1196, 9.255044) Norm(0.542046, 0.793141, 0.277693) UV(0.026321, 0.193129) -V 1128: Pos(0.006866, -10.935835, 9.016983) Norm(0.302928, 0.760908, 0.573806) UV(0.027976, 0.145688) -V 1129: Pos(0.006866, -11.115358, 9.255044) Norm(0.370779, 0.877701, 0.303584) UV(0.026497, 0.192933) -V 1130: Pos(-0.019659, -11.112746, 9.336753) Norm(-0.177477, 0.892298, -0.415097) UV(0.026911, 0.197082) -V 1131: Pos(-0.010703, -11.111864, 9.336753) Norm(1e-06, 0.909778, -0.415096) UV(0.026871, 0.197077) -V 1132: Pos(-0.001746, -10.933223, 9.016983) Norm(0.15126, 0.789236, 0.59517) UV(0.02844, 0.146276) -V 1133: Pos(-0.001746, -11.112746, 9.255044) Norm(0.188185, 0.929002, 0.318657) UV(0.026699, 0.192828) -V 1134: Pos(-0.048875, -11.183278, 9.336753) Norm(-0.756463, -0.505434, -0.415091) UV(0.026997, 0.197603) -V 1135: Pos(-0.053117, -11.175342, 9.336753) Norm(-0.840509, -0.348181, -0.415108) UV(0.027016, 0.197554) -V 1136: Pos(0.02176, -11.190236, 9.336753) Norm(0.643318, -0.643302, -0.415097) UV(0.026746, 0.197658) -V 1137: Pos(0.014803, -11.195945, 9.336753) Norm(0.505404, -0.756477, -0.415102) UV(0.026773, 0.197691) -V 1138: Pos(0.014803, -11.1196, 9.336753) Norm(0.505441, 0.756457, -0.415094) UV(0.026754, 0.197134) -V 1139: Pos(0.02176, -11.12531, 9.336753) Norm(0.643321, 0.643298, -0.415096) UV(0.026723, 0.19718) -V 1140: Pos(-0.05573, -11.148816, 9.336753) Norm(-0.892288, 0.177494, -0.415113) UV(0.027044, 0.197377) -V 1141: Pos(-0.053117, -11.140204, 9.336753) Norm(-0.840527, 0.348162, -0.415087) UV(0.027041, 0.19731) -V 1142: Pos(-0.010703, -11.203682, 9.336753) Norm(1e-06, -0.909777, -0.415098) UV(0.02686, 0.19774) -V 1143: Pos(-0.019659, -11.2028, 9.336753) Norm(-0.177516, -0.892287, -0.415104) UV(0.026891, 0.197735) -V 1144: Pos(0.034324, -11.148816, 9.336753) Norm(0.89229, 0.177496, -0.415106) UV(0.026678, 0.197365) -V 1145: Pos(0.035206, -11.157773, 9.336753) Norm(0.909775, 1e-06, -0.415102) UV(0.026679, 0.197432) -V 1146: Pos(-0.036209, -11.1196, 9.485871) Norm(-0.50544, 0.756457, 0.415093) UV(0.026876, 0.2) -V 1147: Pos(-0.036209, -11.1196, 9.935919) Norm(-0.555558, 0.831478, 0.0) UV(0.026939, 0.277103) -V 1148: Pos(-0.028271, -11.115358, 9.935919) Norm(-0.382643, 0.923896, 0.0) UV(0.026824, 0.277205) -V 1149: Pos(-0.028271, -11.115358, 9.485871) Norm(-0.348135, 0.840536, 0.415091) UV(0.026876, 0.2) -V 1150: Pos(0.006866, -11.200187, 9.336753) Norm(0.34817, -0.840517, -0.4151) UV(0.026801, 0.197715) -V 1151: Pos(0.027469, -11.132267, 9.336753) Norm(0.756455, 0.505431, -0.415109) UV(0.0267, 0.197236) -V 1152: Pos(-0.048875, -11.132267, 9.336753) Norm(-0.756461, 0.505431, -0.415097) UV(0.027029, 0.197247) -V 1153: Pos(-0.028271, -11.200187, 9.336753) Norm(-0.348172, -0.840523, -0.415087) UV(0.02692, 0.197716) -V 1154: Pos(0.034324, -11.16673, 9.336753) Norm(0.892295, -0.177495, -0.415097) UV(0.026688, 0.197498) -V 1155: Pos(-0.043165, -11.12531, 9.485871) Norm(-0.643313, 0.6433, 0.415107) UV(0.026876, 0.200009) -V 1156: Pos(-0.043165, -11.12531, 9.935919) Norm(-0.707121, 0.707093, 0.0) UV(0.027062, 0.277042) -V 1157: Pos(-0.036209, -11.195945, 9.485871) Norm(-0.505412, -0.756474, 0.415097) UV(0.02687, 0.200074) -V 1158: Pos(-0.036209, -11.195945, 9.935919) Norm(-0.555524, -0.831501, 0.0) UV(0.027888, 0.278271) -V 1159: Pos(-0.043165, -11.190236, 9.935919) Norm(-0.707115, -0.707098, 0.0) UV(0.027867, 0.277991) -V 1160: Pos(-0.043165, -11.190236, 9.485871) Norm(-0.643314, -0.6433, 0.415105) UV(0.02687, 0.200063) -V 1161: Pos(0.031712, -11.175342, 9.485871) Norm(0.840519, -0.348169, 0.415097) UV(0.026875, 0.200068) -V 1162: Pos(0.031712, -11.175342, 9.935919) Norm(0.923871, -0.382704, 0.0) UV(0.026996, 0.281193) -V 1163: Pos(0.027469, -11.183278, 9.935919) Norm(0.831483, -0.55555, 0.0) UV(0.027199, 0.281712) -V 1164: Pos(0.027469, -11.183278, 9.485871) Norm(0.756454, -0.505432, 0.415109) UV(0.026875, 0.200077) -V 1165: Pos(-0.001746, -11.112746, 9.485871) Norm(0.177475, 0.8923, 0.415094) UV(0.026874, 0.199999) -V 1166: Pos(-0.001746, -11.112746, 9.935919) Norm(0.195071, 0.980789, 0.0) UV(0.026554, 0.277743) -V 1167: Pos(0.006866, -11.115358, 9.935919) Norm(0.382644, 0.923896, 0.0) UV(0.026498, 0.277998) -V 1168: Pos(0.006866, -11.115358, 9.485871) Norm(0.348134, 0.840533, 0.415099) UV(0.026874, 0.2) -V 1169: Pos(-0.05573, -11.16673, 9.485871) Norm(-0.892302, -0.177492, 0.415082) UV(0.026874, 0.200038) -V 1170: Pos(-0.05573, -11.16673, 9.935919) Norm(-0.980784, -0.195097, 0.0) UV(0.02765, 0.277343) -V 1171: Pos(0.006866, -11.200187, 9.485871) Norm(0.348172, -0.84052, 0.415093) UV(0.026872, 0.200095) -V 1172: Pos(0.006866, -11.200187, 9.935919) Norm(0.382691, -0.923876, 0.0) UV(0.027691, 0.28021) -V 1173: Pos(0.027469, -11.132267, 9.485871) Norm(0.756458, 0.505433, 0.415101) UV(0.026873, 0.200026) -V 1174: Pos(0.027469, -11.132267, 9.935919) Norm(0.831478, 0.555557, 0.0) UV(0.026469, 0.278969) -V 1175: Pos(-0.048875, -11.132267, 9.485871) Norm(-0.756462, 0.50543, 0.415097) UV(0.026876, 0.200012) -V 1176: Pos(-0.048875, -11.132267, 9.935919) Norm(-0.831478, 0.555558, 0.0) UV(0.027188, 0.277021) -V 1177: Pos(-0.028271, -11.200187, 9.485871) Norm(-0.348172, -0.840522, 0.41509) UV(0.02687, 0.200084) -V 1178: Pos(-0.028271, -11.200187, 9.935919) Norm(-0.38269, -0.923877, 0.0) UV(0.027897, 0.278594) -V 1179: Pos(0.034324, -11.16673, 9.485871) Norm(0.892299, -0.177492, 0.415089) UV(0.026874, 0.200057) -V 1180: Pos(0.034324, -11.16673, 9.935919) Norm(0.980784, -0.195097, 0.0) UV(0.026831, 0.280693) -V 1181: Pos(-0.010703, -11.111864, 9.485871) Norm(0.0, 0.909778, 0.415094) UV(0.026874, 0.199999) -V 1182: Pos(-0.010703, -11.111864, 9.935919) Norm(0.0, 1.0, 0.0) UV(0.026629, 0.277526) -V 1183: Pos(-0.077451, -11.171051, 9.465815) Norm(-0.900476, -0.179119, 0.396306) UV(0.026894, 0.199802) -V 1184: Pos(-0.077451, -11.171051, 9.35681) Norm(-0.90047, -0.179121, -0.39632) UV(0.026945, 0.197715) -V 1185: Pos(-0.073578, -11.183817, 9.35681) Norm(-0.848207, -0.351378, -0.396331) UV(0.026938, 0.197757) -V 1186: Pos(-0.073578, -11.183817, 9.465815) Norm(-0.848209, -0.351373, 0.396331) UV(0.026892, 0.199815) -V 1187: Pos(-0.067289, -11.195581, 9.465815) Norm(-0.763383, -0.510065, 0.396333) UV(0.026889, 0.199822) -V 1188: Pos(-0.067289, -11.195581, 9.35681) Norm(-0.763383, -0.510068, -0.39633) UV(0.02693, 0.197797) -V 1189: Pos(-0.058825, -11.205895, 9.35681) Norm(-0.64922, -0.649191, -0.396314) UV(0.026918, 0.197827) -V 1190: Pos(-0.058825, -11.205895, 9.465815) Norm(-0.649212, -0.649196, 0.396319) UV(0.026886, 0.199834) -V 1191: Pos(0.03742, -11.205895, 9.465815) Norm(0.649196, -0.649205, 0.39633) UV(0.02686, 0.199843) -V 1192: Pos(0.03742, -11.205895, 9.35681) Norm(0.649213, -0.649198, -0.396312) UV(0.026807, 0.197828) -V 1193: Pos(0.045883, -11.195581, 9.35681) Norm(0.763389, -0.510065, -0.396322) UV(0.026796, 0.197797) -V 1194: Pos(0.045883, -11.195581, 9.465815) Norm(0.763375, -0.510069, 0.396344) UV(0.026857, 0.199836) -V 1195: Pos(0.027107, -11.101187, 9.465815) Norm(0.510097, 0.76337, 0.396317) UV(0.02686, 0.199752) -V 1196: Pos(0.027107, -11.101187, 9.35681) Norm(0.510088, 0.763376, -0.396318) UV(0.026812, 0.197478) -V 1197: Pos(0.015341, -11.094897, 9.35681) Norm(0.351328, 0.848233, -0.39632) UV(0.026829, 0.197452) -V 1198: Pos(0.015341, -11.094897, 9.465815) Norm(0.351338, 0.848228, 0.396322) UV(0.026864, 0.199748) -V 1199: Pos(-0.077451, -11.144496, 9.465815) Norm(-0.900468, 0.179123, 0.396324) UV(0.026895, 0.199779) -V 1200: Pos(-0.077451, -11.144496, 9.35681) Norm(-0.900463, 0.179121, -0.396336) UV(0.02695, 0.197624) -V 1201: Pos(-0.078758, -11.157773, 9.35681) Norm(-0.918106, 1e-06, -0.396334) UV(0.026949, 0.19767) -V 1202: Pos(-0.078758, -11.157773, 9.465815) Norm(-0.918113, 1e-06, 0.396319) UV(0.026895, 0.19979) -V 1203: Pos(-0.010703, -11.225828, 9.465815) Norm(1e-06, -0.918106, 0.396335) UV(0.026871, 0.199853) -V 1204: Pos(-0.010703, -11.225828, 9.35681) Norm(1e-06, -0.918108, -0.396331) UV(0.026861, 0.19789) -V 1205: Pos(0.002574, -11.224522, 9.35681) Norm(0.179138, -0.900467, -0.39632) UV(0.026846, 0.197888) -V 1206: Pos(0.002574, -11.224522, 9.465815) Norm(0.179127, -0.900468, 0.396321) UV(0.026868, 0.199855) -V 1207: Pos(0.056045, -11.144496, 9.465815) Norm(0.900468, 0.179122, 0.396325) UV(0.026851, 0.199795) -V 1208: Pos(0.056045, -11.144496, 9.35681) Norm(0.900465, 0.179124, -0.396331) UV(0.026775, 0.197627) -V 1209: Pos(0.052172, -11.13173, 9.35681) Norm(0.84822, 0.351344, -0.396334) UV(0.026778, 0.197584) -V 1210: Pos(0.052172, -11.13173, 9.465815) Norm(0.84823, 0.351341, 0.396315) UV(0.026851, 0.199782) -V 1211: Pos(0.014803, -11.1196, 9.935919) Norm(0.555561, 0.831476, 0.0) UV(0.026464, 0.278287) -V 1212: Pos(0.014803, -11.1196, 9.485871) Norm(0.505451, 0.75645, 0.415093) UV(0.026875, 0.200009) -V 1213: Pos(0.02176, -11.190236, 9.935919) Norm(0.707112, -0.707102, 0.0) UV(0.027398, 0.281175) -V 1214: Pos(0.02176, -11.190236, 9.485871) Norm(0.6433, -0.643308, 0.415115) UV(0.026874, 0.200085) -V 1215: Pos(-0.048875, -11.183278, 9.935919) Norm(-0.831483, -0.555551, 0.0) UV(0.027812, 0.277738) -V 1216: Pos(-0.048875, -11.183278, 9.485871) Norm(-0.756464, -0.50543, 0.415095) UV(0.026871, 0.200058) -V 1217: Pos(-0.019659, -11.112746, 9.485871) Norm(-0.177478, 0.8923, 0.415094) UV(0.026875, 0.200002) -V 1218: Pos(-0.019659, -11.112746, 9.935919) Norm(-0.195073, 0.980789, 0.0) UV(0.02672, 0.277345) -V 1219: Pos(0.002574, -11.091025, 9.465815) Norm(0.179091, 0.900474, 0.396325) UV(0.026867, 0.199741) -V 1220: Pos(0.002574, -11.091025, 9.35681) Norm(0.179092, 0.900475, -0.396321) UV(0.026848, 0.19744) -V 1221: Pos(-0.010703, -11.089718, 9.35681) Norm(1e-06, 0.918111, -0.396323) UV(0.026867, 0.197437) -V 1222: Pos(-0.010703, -11.089718, 9.465815) Norm(1e-06, 0.918112, 0.396322) UV(0.026872, 0.199737) -V 1223: Pos(0.052172, -11.183817, 9.465815) Norm(0.848218, -0.351363, 0.396322) UV(0.026855, 0.199828) -V 1224: Pos(0.052172, -11.183817, 9.35681) Norm(0.848213, -0.351369, -0.396326) UV(0.026787, 0.197756) -V 1225: Pos(0.056045, -11.171051, 9.35681) Norm(0.900469, -0.179122, -0.396321) UV(0.02678, 0.197715) -V 1226: Pos(0.056045, -11.171051, 9.465815) Norm(0.900473, -0.17912, 0.396314) UV(0.026852, 0.199818) -V 1227: Pos(-0.048512, -11.214358, 9.465815) Norm(-0.510052, -0.763396, 0.396324) UV(0.026882, 0.19984) -V 1228: Pos(-0.048512, -11.214358, 9.35681) Norm(-0.510052, -0.763398, -0.396321) UV(0.026905, 0.197856) -V 1229: Pos(-0.036746, -11.220647, 9.35681) Norm(-0.351385, -0.848206, -0.396327) UV(0.026891, 0.197873) -V 1230: Pos(-0.036746, -11.220647, 9.465815) Norm(-0.351384, -0.848205, 0.39633) UV(0.026879, 0.199845) -V 1231: Pos(-0.058825, -11.109651, 9.465815) Norm(-0.649206, 0.649193, 0.396333) UV(0.026889, 0.199748) -V 1232: Pos(-0.058825, -11.109651, 9.35681) Norm(-0.649218, 0.649186, -0.396325) UV(0.026934, 0.197507) -V 1233: Pos(-0.067289, -11.119964, 9.35681) Norm(-0.763392, 0.510059, -0.396325) UV(0.026945, 0.197546) -V 1234: Pos(-0.067289, -11.119964, 9.465815) Norm(-0.763391, 0.510059, 0.396325) UV(0.026892, 0.199758) -V 1235: Pos(0.045883, -11.119964, 9.35681) Norm(0.763386, 0.510061, -0.396333) UV(0.026786, 0.197543) -V 1236: Pos(0.045883, -11.119964, 9.465815) Norm(0.763388, 0.510063, 0.396326) UV(0.026853, 0.199769) -V 1237: Pos(0.015341, -11.220647, 9.35681) Norm(0.351383, -0.848201, -0.396339) UV(0.026832, 0.197879) -V 1238: Pos(0.015341, -11.220647, 9.465815) Norm(0.351384, -0.848204, 0.396332) UV(0.026865, 0.199851) -V 1239: Pos(-0.048512, -11.101187, 9.465815) Norm(-0.510087, 0.763377, 0.396317) UV(0.026886, 0.199746) -V 1240: Pos(-0.048512, -11.101187, 9.35681) Norm(-0.510086, 0.763376, -0.39632) UV(0.026923, 0.197478) -V 1241: Pos(0.057353, -11.157773, 9.35681) Norm(0.918109, 3e-06, -0.396328) UV(0.026776, 0.197672) -V 1242: Pos(0.057353, -11.157773, 9.465815) Norm(0.918109, 3e-06, 0.396328) UV(0.026851, 0.199805) -V 1243: Pos(-0.02398, -11.224522, 9.35681) Norm(-0.179142, -0.900467, -0.396317) UV(0.026876, 0.197883) -V 1244: Pos(-0.02398, -11.224522, 9.465815) Norm(-0.17913, -0.900469, 0.396319) UV(0.026875, 0.199852) -V 1245: Pos(-0.073578, -11.13173, 9.35681) Norm(-0.848224, 0.351352, -0.396317) UV(0.02695, 0.197584) -V 1246: Pos(-0.073578, -11.13173, 9.465815) Norm(-0.84823, 0.351351, 0.396307) UV(0.026894, 0.199768) -V 1247: Pos(0.03742, -11.109651, 9.35681) Norm(0.649212, 0.649192, -0.396324) UV(0.026797, 0.197507) -V 1248: Pos(0.03742, -11.109651, 9.465815) Norm(0.649205, 0.649196, 0.39633) UV(0.026856, 0.199758) -V 1249: Pos(0.027107, -11.214358, 9.35681) Norm(0.510044, -0.763399, -0.396329) UV(0.026819, 0.197857) -V 1250: Pos(0.027107, -11.214358, 9.465815) Norm(0.510054, -0.763396, 0.396322) UV(0.026862, 0.199849) -V 1251: Pos(-0.05573, -11.16673, 9.336753) Norm(-0.892295, -0.177494, -0.415097) UV(0.027031, 0.197497) -V 1252: Pos(0.035206, -11.157773, 9.485871) Norm(0.909775, 1e-06, 0.415102) UV(0.026874, 0.200052) -V 1253: Pos(0.035206, -11.157773, 9.935919) Norm(1.0, 0.0, 0.0) UV(0.026706, 0.280211) -V 1254: Pos(-0.019659, -11.2028, 9.485871) Norm(-0.177504, -0.892289, 0.415106) UV(0.02687, 0.200085) -V 1255: Pos(-0.019659, -11.2028, 9.935919) Norm(-0.195123, -0.980779, 0.0) UV(0.027886, 0.278952) -V 1256: Pos(-0.053117, -11.140204, 9.485871) Norm(-0.840533, 0.34816, 0.415076) UV(0.026877, 0.200017) -V 1257: Pos(-0.053117, -11.140204, 9.935919) Norm(-0.923878, 0.382686, 0.0) UV(0.027313, 0.277041) -V 1258: Pos(0.02176, -11.12531, 9.485871) Norm(0.643314, 0.643302, 0.415102) UV(0.026874, 0.200021) -V 1259: Pos(0.02176, -11.12531, 9.935919) Norm(0.707117, 0.707096, 0.0) UV(0.026454, 0.278612) -V 1260: Pos(0.014803, -11.195945, 9.485871) Norm(0.505415, -0.756474, 0.415094) UV(0.026873, 0.200091) -V 1261: Pos(0.014803, -11.195945, 9.935919) Norm(0.555527, -0.831499, 0.0) UV(0.027563, 0.280682) -V 1262: Pos(-0.053117, -11.175342, 9.485871) Norm(-0.840511, -0.348176, 0.415107) UV(0.026872, 0.200045) -V 1263: Pos(-0.053117, -11.175342, 9.935919) Norm(-0.923869, -0.382709, 0.0) UV(0.027739, 0.277522) -V 1264: Pos(-0.028271, -11.115358, 9.336753) Norm(-0.348121, 0.840539, -0.415098) UV(0.026949, 0.197109) -V 1265: Pos(-0.001746, -11.112746, 9.336753) Norm(0.177475, 0.892302, -0.41509) UV(0.026829, 0.197085) -V 1266: Pos(-0.02398, -11.091025, 9.465815) Norm(-0.179095, 0.900474, 0.396324) UV(0.026877, 0.199735) -V 1267: Pos(-0.02398, -11.091025, 9.35681) Norm(-0.179095, 0.900472, -0.396327) UV(0.026888, 0.197444) -V 1268: Pos(-0.036746, -11.094897, 9.35681) Norm(-0.351329, 0.848232, -0.396322) UV(0.026907, 0.197457) -V 1269: Pos(-0.036746, -11.094897, 9.465815) Norm(-0.35134, 0.84823, 0.396315) UV(0.026882, 0.19974) -V 1270: Pos(0.031712, -11.175342, 9.336753) Norm(0.840515, -0.348176, -0.415101) UV(0.026703, 0.197559) -V 1271: Pos(-0.036209, -11.195945, 9.336753) Norm(-0.505412, -0.756476, -0.415093) UV(0.026948, 0.197686) -V 1272: Pos(-0.043165, -11.12531, 9.336753) Norm(-0.643325, 0.643294, -0.415099) UV(0.027009, 0.197197) -V 1273: Pos(0.031712, -11.140204, 9.336753) Norm(0.840521, 0.348157, -0.415103) UV(0.026685, 0.197299) -V 1274: Pos(-0.001746, -11.2028, 9.336753) Norm(0.177512, -0.892287, -0.415106) UV(0.02683, 0.197733) -V 1275: Pos(-0.056612, -11.157773, 9.336753) Norm(-0.909773, -1e-06, -0.415107) UV(0.027041, 0.197438) -V 1276: Pos(0.006866, -11.115358, 9.336753) Norm(0.348122, 0.840539, -0.415097) UV(0.02679, 0.197107) -V 1277: Pos(0.027469, -11.183278, 9.336753) Norm(0.756469, -0.505429, -0.415085) UV(0.026723, 0.19761) -V 1278: Pos(-0.043165, -11.190236, 9.336753) Norm(-0.643322, -0.643296, -0.415099) UV(0.026974, 0.197652) -V 1279: Pos(-0.036209, -11.1196, 9.336753) Norm(-0.505438, 0.756457, -0.415096) UV(0.026983, 0.197148) -V 1280: Pos(0.106627, -11.157773, 9.485871) Norm(-0.90978, -0.0, 0.415091) UV(0.120571, 0.91369) -V 1281: Pos(0.106627, -11.157773, 9.935919) Norm(-1.0, 0.0, 0.0) UV(0.121359, 0.988498) -V 1282: Pos(0.107509, -11.148816, 9.935919) Norm(-0.980783, 0.195103, 0.0) UV(0.121275, 0.988326) -V 1283: Pos(0.107509, -11.148816, 9.485871) Norm(-0.892289, 0.177497, 0.415108) UV(0.120571, 0.913682) -V 1284: Pos(0.19495, -11.140204, 9.485871) Norm(0.840534, 0.348149, 0.415085) UV(0.120572, 0.91369) -V 1285: Pos(0.19495, -11.140204, 9.935919) Norm(0.923883, 0.382675, 0.0) UV(0.120141, 0.989551) -V 1286: Pos(0.197562, -11.148816, 9.935919) Norm(0.980785, 0.19509, 0.0) UV(0.120156, 0.989895) -V 1287: Pos(0.197562, -11.148816, 9.485871) Norm(0.892291, 0.177491, 0.415107) UV(0.120571, 0.913696) -V 1288: Pos(0.161492, -11.2028, 9.485871) Norm(0.177502, -0.892288, 0.415109) UV(0.120569, 0.913745) -V 1289: Pos(0.161492, -11.2028, 9.935919) Norm(0.195123, -0.980779, 0.0) UV(0.121186, 0.991546) -V 1290: Pos(0.152536, -11.203682, 9.935919) Norm(0.0, -1.0, 0.0) UV(0.121307, 0.991087) -V 1291: Pos(0.152536, -11.203682, 9.485871) Norm(0.0, -0.909775, 0.415102) UV(0.120569, 0.913747) -V 1292: Pos(0.152536, -10.932341, 9.016983) Norm(0.0, 0.798422, 0.602098) UV(0.118754, 0.859721) -V 1293: Pos(0.143579, -10.933223, 9.016983) Norm(-0.151261, 0.789236, 0.59517) UV(0.119273, 0.858939) -V 1294: Pos(0.143579, -11.112746, 9.255044) Norm(-0.188187, 0.929001, 0.318657) UV(0.120721, 0.906704) -V 1295: Pos(0.152536, -11.111864, 9.255044) Norm(0.0, 0.946194, 0.3236) UV(0.120508, 0.906678) -V 1296: Pos(0.134967, -10.935835, 9.016983) Norm(-0.302925, 0.760909, 0.573807) UV(0.119822, 0.858268) -V 1297: Pos(0.134967, -11.115358, 9.255044) Norm(-0.370775, 0.877703, 0.303584) UV(0.120921, 0.906829) -V 1298: Pos(0.12703, -10.940077, 9.016983) Norm(-0.45457, 0.711165, 0.536294) UV(0.120375, 0.857702) -V 1299: Pos(0.12703, -11.1196, 9.255044) Norm(-0.542045, 0.793141, 0.277694) UV(0.12109, 0.90705) -V 1300: Pos(0.120073, -10.945786, 9.016983) Norm(-0.603823, 0.636438, 0.479942) UV(0.120862, 0.85919) -V 1301: Pos(0.120073, -11.12531, 9.255044) Norm(-0.695759, 0.676952, 0.240113) UV(0.121214, 0.907339) -V 1302: Pos(0.114364, -10.952744, 9.016983) Norm(-0.745004, 0.532595, 0.401635) UV(0.121212, 0.860745) -V 1303: Pos(0.114364, -11.132267, 9.255044) Norm(-0.825174, 0.531859, 0.1903) UV(0.121285, 0.907677) -V 1304: Pos(0.110121, -10.960681, 9.016983) Norm(-0.867923, 0.396575, 0.29906) UV(0.121426, 0.862337) -V 1305: Pos(0.110121, -11.140204, 9.255044) Norm(-0.923098, 0.362317, 0.128905) UV(0.121303, 0.908043) -V 1306: Pos(0.107509, -10.969293, 9.016983) Norm(-0.957774, 0.229565, 0.173116) UV(0.121518, 0.863929) -V 1307: Pos(0.107509, -11.148816, 9.255044) Norm(-0.982782, 0.175198, 0.058699) UV(0.121274, 0.908419) -V 1308: Pos(0.106627, -10.97825, 9.016983) Norm(-0.99873, 0.040233, 0.03034) UV(0.121509, 0.865486) -V 1309: Pos(0.106627, -11.157773, 9.255044) Norm(-0.999683, -0.020108, -0.015164) UV(0.121207, 0.908786) -V 1310: Pos(0.107509, -10.987206, 9.016983) Norm(-0.98103, -0.15478, -0.116721) UV(0.121422, 0.866974) -V 1311: Pos(0.107509, -11.16673, 9.255044) Norm(-0.9732, -0.213091, -0.086454) UV(0.121118, 0.909129) -V 1312: Pos(0.110121, -10.995818, 9.016983) Norm(-0.906982, -0.336271, -0.253585) UV(0.121283, 0.86836) -V 1313: Pos(0.110121, -11.175342, 9.255044) Norm(-0.906715, -0.394191, -0.149936) UV(0.121018, 0.909439) -V 1314: Pos(0.114364, -11.003755, 9.016983) Norm(-0.789697, -0.48983, -0.369385) UV(0.121112, 0.869615) -V 1315: Pos(0.114364, -11.183278, 9.255044) Norm(-0.80602, -0.556099, -0.202698) UV(0.120919, 0.909707) -V 1316: Pos(0.120073, -11.010713, 9.016983) Norm(-0.645686, -0.609678, -0.459763) UV(0.120923, 0.870712) -V 1317: Pos(0.120073, -11.190236, 9.255044) Norm(-0.677368, -0.693966, -0.244098) UV(0.120828, 0.909927) -V 1318: Pos(0.12703, -11.016421, 9.016983) Norm(-0.488369, -0.696734, -0.525412) UV(0.120724, 0.871629) -V 1319: Pos(0.12703, -11.195945, 9.255044) Norm(-0.526834, -0.804347, -0.274721) UV(0.120748, 0.910098) -V 1320: Pos(0.134967, -11.020663, 9.016983) Norm(-0.32625, -0.754736, -0.569153) UV(0.120517, 0.87235) -V 1321: Pos(0.134967, -11.200187, 9.255044) Norm(-0.360212, -0.8848, -0.295596) UV(0.12068, 0.910219) -V 1322: Pos(0.143579, -11.023276, 9.016983) Norm(-0.163092, -0.787733, -0.594035) UV(0.120302, 0.872864) -V 1323: Pos(0.143579, -11.2028, 9.255044) Norm(-0.182813, -0.933757, -0.307696) UV(0.120622, 0.910288) -V 1324: Pos(0.152536, -11.024158, 9.016983) Norm(0.0, -0.798424, -0.602096) UV(0.120076, 0.873164) -V 1325: Pos(0.152536, -11.203682, 9.255044) Norm(0.0, -0.950193, -0.311661) UV(0.120567, 0.910306) -V 1326: Pos(0.161492, -11.023276, 9.016983) Norm(0.163092, -0.787733, -0.594035) UV(0.119836, 0.87325) -V 1327: Pos(0.161492, -11.2028, 9.255044) Norm(0.182813, -0.933757, -0.307696) UV(0.120514, 0.910274) -V 1328: Pos(0.170104, -11.020663, 9.016983) Norm(0.326256, -0.754735, -0.56915) UV(0.119579, 0.873125) -V 1329: Pos(0.170104, -11.200187, 9.255044) Norm(0.360217, -0.884798, -0.295595) UV(0.120455, 0.910191) -V 1330: Pos(0.178041, -11.016421, 9.016983) Norm(0.488364, -0.696736, -0.525413) UV(0.119301, 0.872795) -V 1331: Pos(0.178041, -11.195945, 9.255044) Norm(0.526834, -0.804347, -0.274721) UV(0.120388, 0.91006) -V 1332: Pos(0.184998, -11.010713, 9.016983) Norm(0.645682, -0.609681, -0.459766) UV(0.119004, 0.872272) -V 1333: Pos(0.184998, -11.190236, 9.255044) Norm(0.677361, -0.693972, -0.2441) UV(0.12031, 0.909883) -V 1334: Pos(0.190708, -11.003755, 9.016983) Norm(0.789697, -0.48983, -0.369385) UV(0.118692, 0.871573) -V 1335: Pos(0.190708, -11.183278, 9.255044) Norm(0.80602, -0.556099, -0.202698) UV(0.12022, 0.909661) -V 1336: Pos(0.19495, -10.995818, 9.016983) Norm(0.906991, -0.336256, -0.253573) UV(0.118373, 0.87072) -V 1337: Pos(0.19495, -11.175342, 9.255044) Norm(0.90672, -0.394182, -0.149934) UV(0.12012, 0.909399) -V 1338: Pos(0.197562, -10.987206, 9.016983) Norm(0.981032, -0.154773, -0.116715) UV(0.118063, 0.869736) -V 1339: Pos(0.197562, -11.16673, 9.255044) Norm(0.973204, -0.213076, -0.086448) UV(0.120019, 0.9091) -V 1340: Pos(0.198445, -10.97825, 9.016983) Norm(0.99873, 0.040233, 0.03034) UV(0.117783, 0.868649) -V 1341: Pos(0.198445, -11.157773, 9.255044) Norm(0.999683, -0.020108, -0.015164) UV(0.119925, 0.908773) -V 1342: Pos(0.197562, -10.969293, 9.016983) Norm(0.95778, 0.229549, 0.173104) UV(0.117557, 0.867487) -V 1343: Pos(0.197562, -11.148816, 9.255044) Norm(0.982784, 0.175188, 0.058696) UV(0.119851, 0.908426) -V 1344: Pos(0.19495, -10.960681, 9.016983) Norm(0.867928, 0.396569, 0.299056) UV(0.117409, 0.866282) -V 1345: Pos(0.19495, -11.140204, 9.255044) Norm(0.923104, 0.362303, 0.128899) UV(0.119811, 0.908073) -V 1346: Pos(0.190708, -10.952744, 9.016983) Norm(0.745005, 0.532595, 0.401635) UV(0.117361, 0.865063) -V 1347: Pos(0.190708, -11.132267, 9.255044) Norm(0.825174, 0.531859, 0.1903) UV(0.119813, 0.907726) -V 1348: Pos(0.184998, -10.945786, 9.016983) Norm(0.603815, 0.636442, 0.479946) UV(0.117426, 0.86386) -V 1349: Pos(0.184998, -11.12531, 9.255044) Norm(0.695754, 0.676957, 0.240115) UV(0.119865, 0.907404) -V 1350: Pos(0.178041, -10.940077, 9.016983) Norm(0.45457, 0.711165, 0.536293) UV(0.117607, 0.862701) -V 1351: Pos(0.178041, -11.1196, 9.255044) Norm(0.542042, 0.793143, 0.277694) UV(0.119967, 0.907122) -V 1352: Pos(0.170104, -10.935835, 9.016983) Norm(0.30293, 0.760908, 0.573806) UV(0.117899, 0.861612) -V 1353: Pos(0.170104, -11.115358, 9.255044) Norm(0.370781, 0.877701, 0.303584) UV(0.120115, 0.906898) -V 1354: Pos(0.143579, -11.112746, 9.336753) Norm(-0.177476, 0.892299, -0.415096) UV(0.120596, 0.910839) -V 1355: Pos(0.152536, -11.111864, 9.336753) Norm(1e-06, 0.909778, -0.415096) UV(0.120556, 0.910836) -V 1356: Pos(0.161492, -10.933223, 9.016983) Norm(0.151261, 0.789236, 0.59517) UV(0.118288, 0.860614) -V 1357: Pos(0.161492, -11.112746, 9.255044) Norm(0.188187, 0.929001, 0.318657) UV(0.1203, 0.906746) -V 1358: Pos(0.114364, -11.183278, 9.336753) Norm(-0.756457, -0.505431, -0.415105) UV(0.120699, 0.911347) -V 1359: Pos(0.110121, -11.175342, 9.336753) Norm(-0.840507, -0.348181, -0.415113) UV(0.120717, 0.911297) -V 1360: Pos(0.184998, -11.190236, 9.336753) Norm(0.643315, -0.643304, -0.415096) UV(0.120454, 0.911398) -V 1361: Pos(0.178041, -11.195945, 9.336753) Norm(0.505401, -0.756477, -0.415104) UV(0.120481, 0.911431) -V 1362: Pos(0.178041, -11.1196, 9.336753) Norm(0.505436, 0.756456, -0.4151) UV(0.120445, 0.9109) -V 1363: Pos(0.184998, -11.12531, 9.336753) Norm(0.643317, 0.643298, -0.415103) UV(0.120419, 0.910946) -V 1364: Pos(0.107509, -11.148816, 9.336753) Norm(-0.892287, 0.177498, -0.415113) UV(0.120741, 0.911114) -V 1365: Pos(0.110121, -11.140204, 9.336753) Norm(-0.840528, 0.348163, -0.415085) UV(0.120735, 0.911046) -V 1366: Pos(0.152536, -11.203682, 9.336753) Norm(1e-06, -0.909777, -0.415098) UV(0.120567, 0.911478) -V 1367: Pos(0.143579, -11.2028, 9.336753) Norm(-0.177515, -0.892286, -0.415107) UV(0.120596, 0.91147) -V 1368: Pos(0.197562, -11.148816, 9.336753) Norm(0.892294, 0.177494, -0.415098) UV(0.120383, 0.911118) -V 1369: Pos(0.198445, -11.157773, 9.336753) Norm(0.909778, 1e-06, -0.415095) UV(0.120385, 0.911182) -V 1370: Pos(0.12703, -11.1196, 9.485871) Norm(-0.505441, 0.756456, 0.415095) UV(0.120571, 0.913655) -V 1371: Pos(0.12703, -11.1196, 9.935919) Norm(-0.555559, 0.831477, 0.0) UV(0.120842, 0.988018) -V 1372: Pos(0.134967, -11.115358, 9.935919) Norm(-0.38264, 0.923897, 0.0) UV(0.120724, 0.988038) -V 1373: Pos(0.134967, -11.115358, 9.485871) Norm(-0.348133, 0.840538, 0.41509) UV(0.120571, 0.913654) -V 1374: Pos(0.170104, -11.200187, 9.336753) Norm(0.348171, -0.840515, -0.415105) UV(0.120508, 0.911455) -V 1375: Pos(0.190708, -11.132267, 9.336753) Norm(0.756458, 0.505432, -0.415102) UV(0.120399, 0.911001) -V 1376: Pos(0.114364, -11.132267, 9.336753) Norm(-0.756463, 0.505434, -0.415091) UV(0.12072, 0.910989) -V 1377: Pos(0.134967, -11.200187, 9.336753) Norm(-0.348169, -0.840523, -0.415089) UV(0.120624, 0.911452) -V 1378: Pos(0.197562, -11.16673, 9.336753) Norm(0.892296, -0.17749, -0.415096) UV(0.120395, 0.911244) -V 1379: Pos(0.120073, -11.12531, 9.485871) Norm(-0.643313, 0.6433, 0.415106) UV(0.120571, 0.913665) -V 1380: Pos(0.120073, -11.12531, 9.935919) Norm(-0.707121, 0.707093, 0.0) UV(0.120959, 0.988037) -V 1381: Pos(0.12703, -11.195945, 9.485871) Norm(-0.505414, -0.756474, 0.415095) UV(0.120567, 0.913734) -V 1382: Pos(0.12703, -11.195945, 9.935919) Norm(-0.555525, -0.8315, 0.0) UV(0.121494, 0.989871) -V 1383: Pos(0.120073, -11.190236, 9.935919) Norm(-0.707115, -0.707099, 0.0) UV(0.121518, 0.989535) -V 1384: Pos(0.120073, -11.190236, 9.485871) Norm(-0.643308, -0.643297, 0.415118) UV(0.120568, 0.913724) -V 1385: Pos(0.19495, -11.175342, 9.485871) Norm(0.84052, -0.348166, 0.415098) UV(0.120571, 0.91372) -V 1386: Pos(0.19495, -11.175342, 9.935919) Norm(0.923874, -0.382698, 0.0) UV(0.120366, 0.991114) -V 1387: Pos(0.190708, -11.183278, 9.935919) Norm(0.831483, -0.55555, 0.0) UV(0.120496, 0.991588) -V 1388: Pos(0.190708, -11.183278, 9.485871) Norm(0.756458, -0.505433, 0.415102) UV(0.120571, 0.913731) -V 1389: Pos(0.161492, -11.112746, 9.485871) Norm(0.177476, 0.8923, 0.415095) UV(0.12057, 0.913651) -V 1390: Pos(0.161492, -11.112746, 9.935919) Norm(0.195073, 0.980789, 0.0) UV(0.120398, 0.98833) -V 1391: Pos(0.170104, -11.115358, 9.935919) Norm(0.382646, 0.923895, 0.0) UV(0.12031, 0.988503) -V 1392: Pos(0.170104, -11.115358, 9.485871) Norm(0.348135, 0.840532, 0.4151) UV(0.120571, 0.913651) -V 1393: Pos(0.107509, -11.16673, 9.485871) Norm(-0.892301, -0.177495, 0.415083) UV(0.12057, 0.913697) -V 1394: Pos(0.107509, -11.16673, 9.935919) Norm(-0.980783, -0.195103, 0.0) UV(0.121428, 0.988706) -V 1395: Pos(0.170104, -11.200187, 9.485871) Norm(0.348173, -0.840519, 0.415094) UV(0.120569, 0.913748) -V 1396: Pos(0.170104, -11.200187, 9.935919) Norm(0.382693, -0.923876, 0.0) UV(0.12103, 0.992058) -V 1397: Pos(0.190708, -11.132267, 9.485871) Norm(0.756458, 0.505432, 0.415102) UV(0.120572, 0.913679) -V 1398: Pos(0.190708, -11.132267, 9.935919) Norm(0.831478, 0.555558, 0.0) UV(0.120152, 0.989238) -V 1399: Pos(0.114364, -11.132267, 9.485871) Norm(-0.756461, 0.505431, 0.415098) UV(0.120571, 0.913669) -V 1400: Pos(0.114364, -11.132267, 9.935919) Norm(-0.831478, 0.555557, 0.0) UV(0.121073, 0.988095) -V 1401: Pos(0.134967, -11.200187, 9.485871) Norm(-0.34817, -0.840522, 0.415092) UV(0.120568, 0.913744) -V 1402: Pos(0.134967, -11.200187, 9.935919) Norm(-0.382687, -0.923878, 0.0) UV(0.121457, 0.990246) -V 1403: Pos(0.197562, -11.16673, 9.485871) Norm(0.892297, -0.177488, 0.415095) UV(0.120571, 0.913715) -V 1404: Pos(0.197562, -11.16673, 9.935919) Norm(0.980785, -0.19509, 0.0) UV(0.120267, 0.990677) -V 1405: Pos(0.152536, -11.111864, 9.485871) Norm(0.0, 0.909778, 0.415094) UV(0.120569, 0.913652) -V 1406: Pos(0.152536, -11.111864, 9.935919) Norm(0.0, 1.0, 0.0) UV(0.120497, 0.988194) -V 1407: Pos(0.085788, -11.171051, 9.465815) Norm(-0.900477, -0.179117, 0.396306) UV(0.120591, 0.913469) -V 1408: Pos(0.085788, -11.171051, 9.35681) Norm(-0.90047, -0.179119, -0.39632) UV(0.120644, 0.911449) -V 1409: Pos(0.089661, -11.183817, 9.35681) Norm(-0.848204, -0.351379, -0.396337) UV(0.120638, 0.911492) -V 1410: Pos(0.089661, -11.183817, 9.465815) Norm(-0.848211, -0.351378, 0.396324) UV(0.120589, 0.913481) -V 1411: Pos(0.09595, -11.195581, 9.465815) Norm(-0.763379, -0.510066, 0.396339) UV(0.120586, 0.913489) -V 1412: Pos(0.09595, -11.195581, 9.35681) Norm(-0.763376, -0.510069, -0.396342) UV(0.12063, 0.911531) -V 1413: Pos(0.104413, -11.205895, 9.35681) Norm(-0.649218, -0.649193, -0.396314) UV(0.120619, 0.91156) -V 1414: Pos(0.104413, -11.205895, 9.465815) Norm(-0.649206, -0.649193, 0.396333) UV(0.120583, 0.9135) -V 1415: Pos(0.200658, -11.205895, 9.465815) Norm(0.649194, -0.649207, 0.396329) UV(0.120556, 0.913507) -V 1416: Pos(0.200658, -11.205895, 9.35681) Norm(0.649212, -0.649201, -0.396311) UV(0.120511, 0.911561) -V 1417: Pos(0.209122, -11.195581, 9.35681) Norm(0.763393, -0.510064, -0.396315) UV(0.120499, 0.911532) -V 1418: Pos(0.209122, -11.195581, 9.465815) Norm(0.763379, -0.510068, 0.396337) UV(0.120554, 0.9135) -V 1419: Pos(0.190345, -11.101187, 9.465815) Norm(0.510096, 0.763371, 0.396317) UV(0.120557, 0.913416) -V 1420: Pos(0.190345, -11.101187, 9.35681) Norm(0.510085, 0.763374, -0.396324) UV(0.120505, 0.911222) -V 1421: Pos(0.178579, -11.094897, 9.35681) Norm(0.35133, 0.848232, -0.396321) UV(0.120521, 0.9112) -V 1422: Pos(0.178579, -11.094897, 9.465815) Norm(0.351339, 0.848227, 0.396323) UV(0.12056, 0.913411) -V 1423: Pos(0.085788, -11.144496, 9.465815) Norm(-0.900466, 0.179119, 0.396331) UV(0.120591, 0.913445) -V 1424: Pos(0.085788, -11.144496, 9.35681) Norm(-0.900463, 0.179119, -0.396336) UV(0.120648, 0.911363) -V 1425: Pos(0.08448, -11.157773, 9.35681) Norm(-0.918106, 1e-06, -0.396335) UV(0.120649, 0.911409) -V 1426: Pos(0.08448, -11.157773, 9.465815) Norm(-0.918113, 1e-06, 0.396319) UV(0.120591, 0.913456) -V 1427: Pos(0.152536, -11.225828, 9.465815) Norm(1e-06, -0.918106, 0.396335) UV(0.120571, 0.913521) -V 1428: Pos(0.152536, -11.225828, 9.35681) Norm(1e-06, -0.918108, -0.396331) UV(0.120566, 0.911623) -V 1429: Pos(0.165812, -11.224522, 9.35681) Norm(0.179138, -0.900466, -0.39632) UV(0.120551, 0.911618) -V 1430: Pos(0.165812, -11.224522, 9.465815) Norm(0.179127, -0.900468, 0.396322) UV(0.120566, 0.913523) -V 1431: Pos(0.219283, -11.144496, 9.465815) Norm(0.900464, 0.179124, 0.396332) UV(0.120549, 0.913455) -V 1432: Pos(0.219283, -11.144496, 9.35681) Norm(0.900467, 0.179127, -0.396323) UV(0.120475, 0.91137) -V 1433: Pos(0.21541, -11.13173, 9.35681) Norm(0.848225, 0.351346, -0.396321) UV(0.120477, 0.911328) -V 1434: Pos(0.21541, -11.13173, 9.465815) Norm(0.84823, 0.35134, 0.396316) UV(0.12055, 0.913441) -V 1435: Pos(0.178041, -11.1196, 9.935919) Norm(0.555557, 0.831478, 0.0) UV(0.120238, 0.988712) -V 1436: Pos(0.178041, -11.1196, 9.485871) Norm(0.505449, 0.756452, 0.415092) UV(0.120572, 0.913659) -V 1437: Pos(0.184998, -11.190236, 9.935919) Norm(0.707109, -0.707105, 0.0) UV(0.120661, 0.992101) -V 1438: Pos(0.184998, -11.190236, 9.485871) Norm(0.643298, -0.64331, 0.415115) UV(0.120571, 0.913741) -V 1439: Pos(0.114364, -11.183278, 9.935919) Norm(-0.831483, -0.55555, 0.0) UV(0.12151, 0.989225) -V 1440: Pos(0.114364, -11.183278, 9.485871) Norm(-0.756461, -0.505427, 0.415102) UV(0.120568, 0.913718) -V 1441: Pos(0.143579, -11.112746, 9.485871) Norm(-0.177477, 0.8923, 0.415093) UV(0.12057, 0.913655) -V 1442: Pos(0.143579, -11.112746, 9.935919) Norm(-0.195073, 0.980789, 0.0) UV(0.120608, 0.988096) -V 1443: Pos(0.165812, -11.091025, 9.465815) Norm(0.179092, 0.900473, 0.396325) UV(0.120563, 0.913405) -V 1444: Pos(0.165812, -11.091025, 9.35681) Norm(0.179092, 0.900475, -0.396322) UV(0.120539, 0.911187) -V 1445: Pos(0.152536, -11.089718, 9.35681) Norm(1e-06, 0.918111, -0.396323) UV(0.120558, 0.911178) -V 1446: Pos(0.152536, -11.089718, 9.465815) Norm(1e-06, 0.918112, 0.396322) UV(0.120567, 0.913401) -V 1447: Pos(0.21541, -11.183817, 9.465815) Norm(0.848217, -0.351363, 0.396323) UV(0.120551, 0.913492) -V 1448: Pos(0.21541, -11.183817, 9.35681) Norm(0.848213, -0.351369, -0.396327) UV(0.120491, 0.911492) -V 1449: Pos(0.219283, -11.171051, 9.35681) Norm(0.900469, -0.179123, -0.396321) UV(0.120482, 0.911454) -V 1450: Pos(0.219283, -11.171051, 9.465815) Norm(0.90047, -0.179121, 0.39632) UV(0.120549, 0.913479) -V 1451: Pos(0.114726, -11.214358, 9.465815) Norm(-0.510054, -0.763396, 0.396321) UV(0.12058, 0.913507) -V 1452: Pos(0.114726, -11.214358, 9.35681) Norm(-0.510056, -0.763399, -0.396314) UV(0.120607, 0.911589) -V 1453: Pos(0.126492, -11.220647, 9.35681) Norm(-0.351384, -0.848205, -0.39633) UV(0.120594, 0.91161) -V 1454: Pos(0.126492, -11.220647, 9.465815) Norm(-0.351384, -0.848204, 0.396332) UV(0.120577, 0.913511) -V 1455: Pos(0.104413, -11.109651, 9.465815) Norm(-0.649206, 0.649193, 0.396333) UV(0.120584, 0.913413) -V 1456: Pos(0.104413, -11.109651, 9.35681) Norm(-0.649217, 0.649183, -0.396332) UV(0.120625, 0.911246) -V 1457: Pos(0.09595, -11.119964, 9.35681) Norm(-0.763391, 0.510065, -0.396318) UV(0.120637, 0.911282) -V 1458: Pos(0.09595, -11.119964, 9.465815) Norm(-0.763389, 0.510064, 0.396324) UV(0.120587, 0.913423) -V 1459: Pos(0.209122, -11.119964, 9.35681) Norm(0.76339, 0.51006, -0.396326) UV(0.120485, 0.911285) -V 1460: Pos(0.209122, -11.119964, 9.465815) Norm(0.76339, 0.510061, 0.396326) UV(0.120552, 0.913432) -V 1461: Pos(0.178579, -11.220647, 9.35681) Norm(0.351383, -0.848199, -0.396343) UV(0.120537, 0.911609) -V 1462: Pos(0.178579, -11.220647, 9.465815) Norm(0.351385, -0.848203, 0.396333) UV(0.120562, 0.913518) -V 1463: Pos(0.114726, -11.101187, 9.465815) Norm(-0.510089, 0.763375, 0.396317) UV(0.120581, 0.91341) -V 1464: Pos(0.114726, -11.101187, 9.35681) Norm(-0.510084, 0.76337, -0.396334) UV(0.120611, 0.911216) -V 1465: Pos(0.220591, -11.157773, 9.35681) Norm(0.918112, 2e-06, -0.396322) UV(0.120477, 0.911412) -V 1466: Pos(0.220591, -11.157773, 9.465815) Norm(0.918106, 2e-06, 0.396335) UV(0.120548, 0.913465) -V 1467: Pos(0.139259, -11.224522, 9.35681) Norm(-0.17914, -0.900466, -0.39632) UV(0.12058, 0.911621) -V 1468: Pos(0.139259, -11.224522, 9.465815) Norm(-0.179128, -0.900466, 0.396325) UV(0.120574, 0.913517) -V 1469: Pos(0.089661, -11.13173, 9.35681) Norm(-0.848223, 0.351355, -0.396316) UV(0.120645, 0.911323) -V 1470: Pos(0.089661, -11.13173, 9.465815) Norm(-0.848226, 0.351353, 0.396313) UV(0.12059, 0.913433) -V 1471: Pos(0.200658, -11.109651, 9.35681) Norm(0.649209, 0.649192, -0.39633) UV(0.120493, 0.91125) -V 1472: Pos(0.200658, -11.109651, 9.465815) Norm(0.649203, 0.649199, 0.396329) UV(0.120555, 0.913423) -V 1473: Pos(0.190345, -11.214358, 9.35681) Norm(0.510043, -0.763398, -0.396333) UV(0.120524, 0.911589) -V 1474: Pos(0.190345, -11.214358, 9.465815) Norm(0.510053, -0.763396, 0.396322) UV(0.120559, 0.913512) -V 1475: Pos(0.107509, -11.16673, 9.336753) Norm(-0.892294, -0.177497, -0.415097) UV(0.120732, 0.911241) -V 1476: Pos(0.198445, -11.157773, 9.485871) Norm(0.909772, 1e-06, 0.415109) UV(0.120571, 0.913709) -V 1477: Pos(0.198445, -11.157773, 9.935919) Norm(1.0, 0.0, 0.0) UV(0.120197, 0.990271) -V 1478: Pos(0.143579, -11.2028, 9.485871) Norm(-0.177502, -0.892286, 0.415112) UV(0.120569, 0.913746) -V 1479: Pos(0.143579, -11.2028, 9.935919) Norm(-0.195123, -0.980779, 0.0) UV(0.121396, 0.990652) -V 1480: Pos(0.110121, -11.140204, 9.485871) Norm(-0.84053, 0.348161, 0.415082) UV(0.120572, 0.913675) -V 1481: Pos(0.110121, -11.140204, 9.935919) Norm(-0.923878, 0.382687, 0.0) UV(0.121179, 0.988192) -V 1482: Pos(0.184998, -11.12531, 9.485871) Norm(0.643312, 0.643304, 0.415102) UV(0.120572, 0.913668) -V 1483: Pos(0.184998, -11.12531, 9.935919) Norm(0.707115, 0.707099, 0.0) UV(0.120185, 0.988958) -V 1484: Pos(0.178041, -11.195945, 9.485871) Norm(0.505413, -0.756476, 0.415093) UV(0.12057, 0.913749) -V 1485: Pos(0.178041, -11.195945, 9.935919) Norm(0.555523, -0.831501, 0.0) UV(0.120846, 0.992649) -V 1486: Pos(0.110121, -11.175342, 9.485871) Norm(-0.840514, -0.34818, 0.415099) UV(0.120569, 0.913705) -V 1487: Pos(0.110121, -11.175342, 9.935919) Norm(-0.923869, -0.38271, 0.0) UV(0.121479, 0.988949) -V 1488: Pos(0.134967, -11.115358, 9.336753) Norm(-0.348119, 0.84054, -0.415097) UV(0.120635, 0.910865) -V 1489: Pos(0.161492, -11.112746, 9.336753) Norm(0.177476, 0.892301, -0.415091) UV(0.120516, 0.910839) -V 1490: Pos(0.139259, -11.091025, 9.465815) Norm(-0.179094, 0.900474, 0.396323) UV(0.120572, 0.913399) -V 1491: Pos(0.139259, -11.091025, 9.35681) Norm(-0.179094, 0.900472, -0.396327) UV(0.120578, 0.911183) -V 1492: Pos(0.126492, -11.094897, 9.35681) Norm(-0.351328, 0.848233, -0.39632) UV(0.120595, 0.911194) -V 1493: Pos(0.126492, -11.094897, 9.465815) Norm(-0.351339, 0.848231, 0.396314) UV(0.120577, 0.913403) -V 1494: Pos(0.19495, -11.175342, 9.336753) Norm(0.840516, -0.348172, -0.415102) UV(0.120411, 0.911303) -V 1495: Pos(0.12703, -11.195945, 9.336753) Norm(-0.505415, -0.756477, -0.415087) UV(0.120651, 0.911429) -V 1496: Pos(0.120073, -11.12531, 9.336753) Norm(-0.643324, 0.643291, -0.415105) UV(0.120698, 0.910938) -V 1497: Pos(0.19495, -11.140204, 9.336753) Norm(0.840528, 0.348155, -0.41509) UV(0.120387, 0.911054) -V 1498: Pos(0.161492, -11.2028, 9.336753) Norm(0.177514, -0.892286, -0.415107) UV(0.120537, 0.911474) -V 1499: Pos(0.106627, -11.157773, 9.336753) Norm(-0.909773, -1e-06, -0.415107) UV(0.12074, 0.911175) -V 1500: Pos(0.170104, -11.115358, 9.336753) Norm(0.348124, 0.840538, -0.415098) UV(0.120478, 0.910863) -V 1501: Pos(0.190708, -11.183278, 9.336753) Norm(0.756472, -0.50543, -0.415079) UV(0.120431, 0.911351) -V 1502: Pos(0.120073, -11.190236, 9.336753) Norm(-0.643321, -0.643298, -0.415098) UV(0.120676, 0.911395) -V 1503: Pos(0.12703, -11.1196, 9.336753) Norm(-0.505434, 0.756451, -0.415112) UV(0.120669, 0.910896) -V 1504: Pos(-0.094749, -11.105438, 9.239014) Norm(0.396992, 0.621269, -0.67559) UV(0.003906, 0.003906) -V 1505: Pos(-0.095193, -11.214903, 9.240616) Norm(0.634309, -0.739574, 0.225125) UV(0.003906, 0.003906) -V 1506: Pos(-0.09386, -11.334977, 9.166472) Norm(0.657901, -0.229043, 0.71743) UV(0.003906, 0.003906) -V 1507: Pos(-0.093415, -11.279687, 9.138018) Norm(0.711109, 0.280322, -0.644782) UV(0.003906, 0.003906) -V 1508: Pos(-0.077855, -11.102647, 9.253441) Norm(0.216968, 0.770907, -0.598855) UV(0.003906, 0.003906) -V 1509: Pos(0.076413, -11.102647, 9.253441) Norm(0.0, 0.003866, 0.999993) UV(0.003906, 0.003906) -V 1510: Pos(0.076413, -11.21211, 9.255044) Norm(0.005256, -0.771192, 0.636581) UV(0.003906, 0.003906) -V 1511: Pos(-0.07741, -11.21211, 9.255044) Norm(0.1966, -0.809009, -0.553944) UV(0.003906, 0.003906) -V 1512: Pos(0.076413, -11.102647, 9.25825) Norm(0.0, 0.002881, 0.999996) UV(0.003906, 0.003906) -V 1513: Pos(-0.084968, -11.102647, 9.25825) Norm(-0.271989, 0.676808, 0.68407) UV(0.003906, 0.003906) -V 1514: Pos(-0.085413, -11.21211, 9.25785) Norm(-0.338571, -0.550458, 0.763129) UV(0.003906, 0.003906) -V 1515: Pos(0.076413, -11.21211, 9.25785) Norm(0.005255, -0.771097, 0.636696) UV(0.003906, 0.003906) -V 1516: Pos(-0.091192, -11.362902, 9.160461) Norm(0.715129, -0.058447, 0.696545) UV(0.003906, 0.003906) -V 1517: Pos(-0.099861, -11.362902, 9.16006) Norm(-0.74731, -0.079834, 0.659662) UV(0.003906, 0.003906) -V 1518: Pos(-0.099861, -11.446674, 9.16046) Norm(-0.635834, -0.293379, 0.713894) UV(0.003906, 0.003906) -V 1519: Pos(-0.091192, -11.446674, 9.16046) Norm(0.624849, -0.296769, 0.722144) UV(0.003906, 0.003906) -V 1520: Pos(-0.091192, -11.446674, 9.131205) Norm(0.641518, -0.291526, -0.709554) UV(0.003906, 0.003906) -V 1521: Pos(-0.091192, -11.307611, 9.132006) Norm(0.752435, 0.110933, -0.649258) UV(0.003906, 0.003906) -V 1522: Pos(-0.091192, -11.453936, 9.153247) Norm(0.629991, -0.716997, 0.298375) UV(0.003906, 0.003906) -V 1523: Pos(-0.099861, -11.453936, 9.153247) Norm(-0.629991, -0.716997, 0.298375) UV(0.003906, 0.003906) -V 1524: Pos(-0.091192, -11.453936, 9.138418) Norm(0.629991, -0.716997, -0.298375) UV(0.003906, 0.003906) -V 1525: Pos(-0.099861, -11.453936, 9.138418) Norm(-0.629991, -0.716997, -0.298375) UV(0.003906, 0.003906) -V 1526: Pos(-0.099861, -11.446674, 9.131205) Norm(-0.619084, -0.298449, -0.726404) UV(0.003906, 0.003906) -V 1527: Pos(-0.102307, -11.335535, 9.16527) Norm(-0.818083, -0.25544, 0.515258) UV(0.003906, 0.003906) -V 1528: Pos(-0.103418, -11.21211, 9.239414) Norm(-0.828671, -0.282583, 0.483168) UV(0.003906, 0.003906) -V 1529: Pos(-0.103418, -11.102647, 9.240215) Norm(-0.685919, 0.724877, -0.063787) UV(0.003906, 0.003906) -V 1530: Pos(-0.099861, -11.307611, 9.131205) Norm(-0.609967, 0.045837, -0.7911) UV(0.003906, 0.003906) -V 1531: Pos(-0.101862, -11.280804, 9.136415) Norm(-0.631702, 0.250945, -0.733471) UV(0.003906, 0.003906) -V 1532: Pos(0.247574, -11.105438, 9.239014) Norm(0.396991, -0.621269, 0.67559) UV(0.003906, 0.003906) -V 1533: Pos(0.248019, -11.214903, 9.240616) Norm(0.634307, 0.739546, -0.225225) UV(0.003906, 0.003906) -V 1534: Pos(0.246685, -11.334977, 9.166472) Norm(0.657899, 0.229042, -0.717432) UV(0.003906, 0.003906) -V 1535: Pos(0.246241, -11.279687, 9.138018) Norm(0.711109, -0.280323, 0.644781) UV(0.003906, 0.003906) -V 1536: Pos(0.23068, -11.102647, 9.253441) Norm(0.216965, -0.770902, 0.598862) UV(0.003906, 0.003906) -V 1537: Pos(0.230236, -11.21211, 9.255044) Norm(0.196606, 0.809022, 0.553922) UV(0.003906, 0.003906) -V 1538: Pos(0.237794, -11.102647, 9.25825) Norm(-0.271993, -0.67681, -0.684067) UV(0.003906, 0.003906) -V 1539: Pos(0.238238, -11.21211, 9.25785) Norm(-0.338552, 0.550406, -0.763175) UV(0.003906, 0.003906) -V 1540: Pos(0.244018, -11.362902, 9.160461) Norm(0.715129, 0.058447, -0.696545) UV(0.003906, 0.003906) -V 1541: Pos(0.252687, -11.362902, 9.16006) Norm(-0.74731, 0.079834, -0.659662) UV(0.003906, 0.003906) -V 1542: Pos(0.252687, -11.446674, 9.16046) Norm(-0.635834, 0.293381, -0.713892) UV(0.003906, 0.003906) -V 1543: Pos(0.244018, -11.446674, 9.16046) Norm(0.62485, 0.296771, -0.722142) UV(0.003906, 0.003906) -V 1544: Pos(0.244018, -11.446674, 9.131205) Norm(0.641519, 0.291528, 0.709553) UV(0.003906, 0.003906) -V 1545: Pos(0.244018, -11.307611, 9.132006) Norm(0.752436, -0.110936, 0.649256) UV(0.003906, 0.003906) -V 1546: Pos(0.244018, -11.453936, 9.153247) Norm(0.62999, 0.716998, -0.298372) UV(0.003906, 0.003906) -V 1547: Pos(0.252687, -11.453936, 9.153247) Norm(-0.62999, 0.716998, -0.298372) UV(0.003906, 0.003906) -V 1548: Pos(0.244018, -11.453936, 9.138418) Norm(0.629991, 0.716997, 0.298373) UV(0.003906, 0.003906) -V 1549: Pos(0.252687, -11.453936, 9.138418) Norm(-0.62999, 0.716998, 0.298372) UV(0.003906, 0.003906) -V 1550: Pos(0.252687, -11.446674, 9.131205) Norm(-0.619085, 0.298452, 0.726403) UV(0.003906, 0.003906) -V 1551: Pos(0.255132, -11.335535, 9.16527) Norm(-0.818083, 0.25544, -0.515258) UV(0.003906, 0.003906) -V 1552: Pos(0.256243, -11.21211, 9.239414) Norm(-0.828663, 0.282573, -0.483188) UV(0.003906, 0.003906) -V 1553: Pos(0.256243, -11.102647, 9.240215) Norm(-0.68592, -0.724876, 0.063791) UV(0.003906, 0.003906) -V 1554: Pos(0.252687, -11.307611, 9.131205) Norm(-0.609967, -0.045837, 0.7911) UV(0.003906, 0.003906) -V 1555: Pos(0.254688, -11.280804, 9.136415) Norm(-0.631702, -0.250946, 0.73347) UV(0.003906, 0.003906) -V 1556: Pos(-0.514043, -13.557216, 9.093531) Norm(0.0, 0.007358, 0.999973) UV(0.003906, 0.003906) -V 1557: Pos(-0.514043, -13.535515, 9.076807) Norm(0.0, 0.610404, 0.79209) UV(0.003906, 0.003906) -V 1558: Pos(-0.720485, -13.535515, 9.076807) Norm(0.006668, 0.611542, 0.791184) UV(0.003906, 0.003906) -V 1559: Pos(-0.714547, -13.557216, 9.093531) Norm(-0.321612, -0.089, 0.942679) UV(0.003906, 0.003906) -V 1560: Pos(-0.741444, -13.535436, 9.077099) Norm(-0.70943, 0.181451, 0.681018) UV(0.003906, 0.003906) -V 1561: Pos(-0.741444, -13.458922, 9.017784) Norm(-0.787298, 0.199211, 0.583503) UV(0.003906, 0.003906) -V 1562: Pos(-0.313318, -13.557216, 9.093531) Norm(0.321613, -0.08898, 0.942681) UV(0.003906, 0.003906) -V 1563: Pos(-0.307379, -13.535515, 9.076807) Norm(-0.006666, 0.611529, 0.791194) UV(0.003906, 0.003906) -V 1564: Pos(-0.514043, -13.458922, 9.017784) Norm(0.0, 0.322416, 0.946598) UV(0.003906, 0.003906) -V 1565: Pos(-0.286421, -13.458922, 9.017784) Norm(0.787298, 0.199212, 0.583504) UV(0.003906, 0.003906) -V 1566: Pos(-0.412903, -13.402516, 9.017784) Norm(0.302085, -0.300965, 0.904525) UV(0.003906, 0.003906) -V 1567: Pos(-0.514043, -13.402516, 9.017784) Norm(0.0, -0.707107, 0.707107) UV(0.003906, 0.003906) -V 1568: Pos(-0.514043, -13.49299, 8.982917) Norm(0.0, -0.584057, -0.811712) UV(0.003906, 0.003906) -V 1569: Pos(-0.286421, -13.49299, 8.982917) Norm(0.596433, -0.468797, -0.651535) UV(0.003906, 0.003906) -V 1570: Pos(-0.286421, -13.50472, 9.017784) Norm(0.762157, -0.550318, -0.34098) UV(0.003906, 0.003906) -V 1571: Pos(-0.514043, -13.50472, 9.017784) Norm(-0.0, -0.850055, -0.526694) UV(0.003906, 0.003906) -V 1572: Pos(-0.412903, -12.823922, 9.016983) Norm(0.301492, 0.30291, 0.904073) UV(0.003906, 0.003906) -V 1573: Pos(-0.286421, -12.630127, 9.016582) Norm(0.808637, -0.233314, 0.540066) UV(0.003906, 0.003906) -V 1574: Pos(-0.514043, -12.630127, 9.016582) Norm(0.0, -0.396474, 0.918046) UV(0.003906, 0.003906) -V 1575: Pos(-0.514043, -12.823922, 9.016983) Norm(0.0, 0.707837, 0.706376) UV(0.003906, 0.003906) -V 1576: Pos(-0.286421, -12.610579, 9.037423) Norm(0.70711, -0.515748, 0.483736) UV(0.003906, 0.003906) -V 1577: Pos(-0.514043, -12.610579, 9.037423) Norm(0.0, -0.729382, 0.684106) UV(0.003906, 0.003906) -V 1578: Pos(-0.514043, -12.444709, 9.016182) Norm(0.0, 0.849708, -0.527254) UV(0.003906, 0.003906) -V 1579: Pos(-0.741444, -12.444709, 9.016182) Norm(-0.754331, 0.557828, -0.346139) UV(0.003906, 0.003906) -V 1580: Pos(-0.741444, -12.427397, 9.034617) Norm(-0.602358, 0.785895, -0.139767) UV(0.003906, 0.003906) -V 1581: Pos(-0.514043, -12.427397, 9.034617) Norm(0.0, 0.984551, -0.175099) UV(0.003906, 0.003906) -V 1582: Pos(-0.741444, -12.591033, 9.058264) Norm(-0.627639, -0.309404, 0.71438) UV(0.003906, 0.003906) -V 1583: Pos(-0.741444, -12.437449, 9.058264) Norm(-0.601486, 0.440751, 0.666298) UV(0.003906, 0.003906) -V 1584: Pos(-0.741444, -12.610579, 9.037423) Norm(-0.70711, -0.515751, 0.483733) UV(0.003906, 0.003906) -V 1585: Pos(-0.375817, -12.76584, 9.156855) Norm(0.665583, 0.501895, 0.552359) UV(0.115012, 0.631141) -V 1586: Pos(-0.375817, -12.842352, 9.11357) Norm(0.764826, -0.450391, -0.46064) UV(0.115225, 0.629761) -V 1587: Pos(-0.375817, -12.809959, 9.061469) Norm(0.849414, -0.527707, 0.004534) UV(0.115809, 0.630593) -V 1588: Pos(-0.375817, -12.657493, 9.01017) Norm(0.510112, 0.69184, 0.511022) UV(0.116432, 0.63631) -V 1589: Pos(-0.404936, -12.842352, 9.11357) Norm(-0.764825, -0.450397, -0.460637) UV(0.115332, 0.629766) -V 1590: Pos(-0.404936, -12.861341, 9.124792) Norm(-0.771425, -0.16815, -0.613702) UV(0.115251, 0.628795) -V 1591: Pos(-0.404936, -12.796556, 9.175289) Norm(-0.651748, 0.202838, 0.730809) UV(0.115816, 0.631292) -V 1592: Pos(-0.404936, -12.76584, 9.156855) Norm(-0.665583, 0.501895, 0.552359) UV(0.115828, 0.631128) -V 1593: Pos(-0.375817, -13.219891, 9.17569) Norm(0.672866, -0.117452, 0.730381) UV(0.11427, 0.608502) -V 1594: Pos(-0.404936, -13.219891, 9.17569) Norm(-0.672866, -0.117451, 0.730381) UV(0.1138, 0.608529) -V 1595: Pos(-0.404936, -13.241671, 9.168476) Norm(-0.671589, -0.346455, 0.654933) UV(0.114133, 0.607426) -V 1596: Pos(-0.375817, -13.241671, 9.168476) Norm(0.671589, -0.346455, 0.654933) UV(0.113812, 0.607446) -V 1597: Pos(-0.404936, -13.337731, 9.050648) Norm(-0.876705, 0.465978, -0.119385) UV(0.113281, 0.603735) -V 1598: Pos(-0.404936, -13.239437, 9.125193) Norm(-0.786505, 0.196553, -0.585471) UV(0.113843, 0.607127) -V 1599: Pos(-0.375817, -13.337731, 9.050648) Norm(0.876709, 0.465974, -0.119373) UV(0.114271, 0.603649) -V 1600: Pos(-0.375817, -13.239437, 9.125193) Norm(0.786505, 0.196553, -0.585471) UV(0.114068, 0.607114) -V 1601: Pos(-0.375817, -12.861341, 9.124792) Norm(0.771423, -0.168142, -0.613706) UV(0.115218, 0.628792) -V 1602: Pos(-0.404936, -12.809959, 9.061469) Norm(-0.849416, -0.527704, 0.004537) UV(0.114748, 0.630736) -V 1603: Pos(-0.404936, -12.831182, 9.028605) Norm(-0.832294, -0.264734, 0.487034) UV(0.114392, 0.629273) -V 1604: Pos(-0.375817, -12.831182, 9.028605) Norm(0.832296, -0.264737, 0.48703) UV(0.115926, 0.629059) -V 1605: Pos(-0.404936, -13.328237, 9.029407) Norm(-0.851916, 0.285258, 0.439167) UV(0.112805, 0.604404) -V 1606: Pos(-0.375817, -13.328237, 9.029407) Norm(0.851912, 0.28525, 0.439179) UV(0.114856, 0.604214) -V 1607: Pos(-0.514043, -12.457555, 8.981715) Norm(0.0, 0.569948, -0.821681) UV(0.003906, 0.003906) -V 1608: Pos(-0.286421, -12.444709, 9.016182) Norm(0.754331, 0.557829, -0.346138) UV(0.003906, 0.003906) -V 1609: Pos(-0.286421, -12.457555, 8.981715) Norm(0.598391, 0.456645, -0.658334) UV(0.003906, 0.003906) -V 1610: Pos(-0.741444, -12.457555, 8.981715) Norm(-0.598391, 0.456645, -0.658333) UV(0.003906, 0.003906) -V 1611: Pos(-0.514043, -13.456647, 8.982875) Norm(0.0, -0.001158, -0.999999) UV(0.003906, 0.003906) -V 1612: Pos(-0.741444, -13.49299, 8.982917) Norm(-0.596436, -0.468805, -0.651526) UV(0.003906, 0.003906) -V 1613: Pos(-0.741444, -13.456647, 8.982875) Norm(-0.707107, -0.000819, -0.707106) UV(0.003906, 0.003906) -V 1614: Pos(-0.741444, -13.50472, 9.017784) Norm(-0.762158, -0.55032, -0.340974) UV(0.003906, 0.003906) -V 1615: Pos(-0.286421, -13.535436, 9.077099) Norm(0.70943, 0.18144, 0.68102) UV(0.003906, 0.003906) -V 1616: Pos(-0.741444, -13.549398, 9.062671) Norm(-0.717121, -0.654261, -0.240167) UV(0.003906, 0.003906) -V 1617: Pos(-0.514043, -13.549637, 9.062583) Norm(-0.0, -0.705541, -0.708669) UV(0.003906, 0.003906) -V 1618: Pos(-0.514043, -13.570621, 9.083511) Norm(-0.0, -0.997599, 0.06925) UV(0.003906, 0.003906) -V 1619: Pos(-0.711657, -13.570621, 9.083511) Norm(-0.26907, -0.957262, 0.106073) UV(0.003906, 0.003906) -V 1620: Pos(-0.614962, -13.402516, 9.029006) Norm(-0.584725, -0.610739, 0.533943) UV(0.003906, 0.003906) -V 1621: Pos(-0.614962, -13.402516, 9.017784) Norm(-0.302085, -0.300965, 0.904525) UV(0.003906, 0.003906) -V 1622: Pos(-0.514043, -13.402516, 9.029006) Norm(0.0, -0.752853, 0.658188) UV(0.003906, 0.003906) -V 1623: Pos(-0.286421, -12.637583, 8.981924) Norm(0.707107, -0.000821, -0.707106) UV(0.003906, 0.003906) -V 1624: Pos(-0.514043, -12.637583, 8.981924) Norm(0.0, -0.00116, -0.999999) UV(0.003906, 0.003906) -V 1625: Pos(-0.286421, -13.456647, 8.982875) Norm(0.707107, -0.000819, -0.707106) UV(0.003906, 0.003906) -V 1626: Pos(-0.286421, -12.437449, 9.058264) Norm(0.601488, 0.440755, 0.666294) UV(0.003906, 0.003906) -V 1627: Pos(-0.514043, -12.437449, 9.058264) Norm(0.0, 0.551711, 0.834035) UV(0.003906, 0.003906) -V 1628: Pos(-0.514043, -12.591033, 9.058264) Norm(0.0, -0.397428, 0.917633) UV(0.003906, 0.003906) -V 1629: Pos(-0.286421, -12.591033, 9.058264) Norm(0.627637, -0.309397, 0.714385) UV(0.003906, 0.003906) -V 1630: Pos(-0.741444, -12.630127, 9.016582) Norm(-0.808636, -0.233312, 0.540067) UV(0.003906, 0.003906) -V 1631: Pos(-0.741444, -12.637583, 8.981924) Norm(-0.707107, -0.00082, -0.707106) UV(0.003906, 0.003906) -V 1632: Pos(-0.316207, -13.570621, 9.083511) Norm(0.269084, -0.957257, 0.106075) UV(0.003906, 0.003906) -V 1633: Pos(-0.286421, -13.549398, 9.062671) Norm(0.717124, -0.654256, -0.240172) UV(0.003906, 0.003906) -V 1634: Pos(-0.286421, -12.427397, 9.034617) Norm(0.602355, 0.785896, -0.139771) UV(0.003906, 0.003906) -V 1635: Pos(-0.614962, -12.823922, 9.069485) Norm(-0.624518, 0.710531, 0.324228) UV(0.003906, 0.003906) -V 1636: Pos(-0.614962, -12.823922, 9.016983) Norm(-0.301493, 0.30291, 0.904073) UV(0.003906, 0.003906) -V 1637: Pos(-0.614962, -12.861341, 9.101948) Norm(-0.625125, 0.223429, 0.747863) UV(0.003906, 0.003906) -V 1638: Pos(-0.412903, -12.861341, 9.101948) Norm(0.625125, 0.223428, 0.747863) UV(0.003906, 0.003906) -V 1639: Pos(-0.412903, -13.402516, 9.029006) Norm(0.584725, -0.610739, 0.533943) UV(0.003906, 0.003906) -V 1640: Pos(-0.375817, -13.350576, 9.085114) Norm(0.765229, -0.257389, 0.590064) UV(0.113784, 0.603538) -V 1641: Pos(-0.404936, -13.350576, 9.085114) Norm(-0.765229, -0.25739, 0.590064) UV(0.113709, 0.603552) -V 1642: Pos(-0.404936, -13.517005, 9.05666) Norm(-0.460093, -0.149631, 0.875171) UV(0.112303, 0.593732) -V 1643: Pos(-0.375817, -13.517005, 9.05666) Norm(0.460093, -0.149631, 0.875171) UV(0.113758, 0.592679) -V 1644: Pos(-0.404936, -13.458364, 9.012574) Norm(-1.0, -0.0, 0.0) UV(0.110453, 0.597795) -V 1645: Pos(-0.375817, -12.796556, 9.175289) Norm(0.651748, 0.202838, 0.730809) UV(0.114994, 0.631333) -V 1646: Pos(-0.514043, -12.861341, 9.101948) Norm(0.0, 0.286254, 0.958154) UV(0.003906, 0.003906) -V 1647: Pos(-0.514043, -12.823922, 9.069485) Norm(0.0, 0.909758, 0.415138) UV(0.003906, 0.003906) -V 1648: Pos(-0.412903, -12.823922, 9.069485) Norm(0.624517, 0.710531, 0.324228) UV(0.003906, 0.003906) -V 1649: Pos(-0.375817, -13.458364, 9.012574) Norm(1.0, 0.0, 0.0) UV(0.116432, 0.597047) -V 1650: Pos(-0.404936, -12.657493, 9.01017) Norm(-0.510112, 0.69184, 0.511022) UV(0.11487, 0.63718) -V 1651: Pos(-0.48383, -12.865645, 9.485871) Norm(-0.90978, -2e-06, 0.415091) UV(0.017303, 0.709384) -V 1652: Pos(-0.48383, -12.865645, 9.935919) Norm(-1.0, 0.0, 0.0) UV(0.017312, 0.817489) -V 1653: Pos(-0.482947, -12.856688, 9.935919) Norm(-0.980783, 0.195102, 0.0) UV(0.017147, 0.816362) -V 1654: Pos(-0.482947, -12.856688, 9.485871) Norm(-0.892289, 0.177498, 0.415108) UV(0.017298, 0.709372) -V 1655: Pos(-0.395506, -12.848077, 9.485871) Norm(0.84054, 0.348151, 0.415071) UV(0.017315, 0.709295) -V 1656: Pos(-0.395506, -12.848077, 9.935919) Norm(0.923883, 0.382675, 0.0) UV(0.01774, 0.809209) -V 1657: Pos(-0.392894, -12.856688, 9.935919) Norm(0.980785, 0.195091, 0.0) UV(0.017881, 0.809251) -V 1658: Pos(-0.392894, -12.856688, 9.485871) Norm(0.892297, 0.177493, 0.415093) UV(0.01732, 0.709298) -V 1659: Pos(-0.428964, -12.910672, 9.485871) Norm(0.177503, -0.892289, 0.415107) UV(0.017337, 0.709394) -V 1660: Pos(-0.428964, -12.910672, 9.935919) Norm(0.195122, -0.980779, 0.0) UV(0.018624, 0.812653) -V 1661: Pos(-0.43792, -12.911554, 9.935919) Norm(-0.0, -1.0, 0.0) UV(0.018619, 0.813456) -V 1662: Pos(-0.43792, -12.911554, 9.485871) Norm(0.0, -0.909774, 0.415104) UV(0.017336, 0.709407) -V 1663: Pos(-0.43792, -12.640213, 9.016983) Norm(0.0, 0.798422, 0.602098) UV(0.018624, 0.652534) -V 1664: Pos(-0.446877, -12.641095, 9.016983) Norm(-0.151261, 0.789237, 0.595168) UV(0.018621, 0.652313) -V 1665: Pos(-0.446877, -12.820619, 9.255044) Norm(-0.188187, 0.929002, 0.318656) UV(0.017519, 0.700401) -V 1666: Pos(-0.43792, -12.819736, 9.255044) Norm(-0.0, 0.946194, 0.3236) UV(0.017325, 0.700375) -V 1667: Pos(-0.455489, -12.643707, 9.016983) Norm(-0.302925, 0.76091, 0.573805) UV(0.018592, 0.652134) -V 1668: Pos(-0.455489, -12.823231, 9.255044) Norm(-0.370775, 0.877703, 0.303584) UV(0.017696, 0.700509) -V 1669: Pos(-0.463426, -12.647949, 9.016983) Norm(-0.45457, 0.711165, 0.536294) UV(0.018532, 0.651994) -V 1670: Pos(-0.463426, -12.827473, 9.255044) Norm(-0.542046, 0.793141, 0.277694) UV(0.017846, 0.700695) -V 1671: Pos(-0.470383, -12.653659, 9.016983) Norm(-0.603824, 0.636438, 0.479942) UV(0.018434, 0.651887) -V 1672: Pos(-0.470383, -12.833182, 9.255044) Norm(-0.695759, 0.676953, 0.240112) UV(0.017956, 0.700951) -V 1673: Pos(-0.476092, -12.660616, 9.016983) Norm(-0.745005, 0.532596, 0.401633) UV(0.018299, 0.651808) -V 1674: Pos(-0.476092, -12.840139, 9.255044) Norm(-0.825174, 0.531859, 0.1903) UV(0.018021, 0.701266) -V 1675: Pos(-0.480335, -12.668553, 9.016983) Norm(-0.867923, 0.396576, 0.29906) UV(0.018129, 0.651746) -V 1676: Pos(-0.480335, -12.848077, 9.255044) Norm(-0.923098, 0.362318, 0.128905) UV(0.018037, 0.701627) -V 1677: Pos(-0.482947, -12.677165, 9.016983) Norm(-0.957774, 0.229565, 0.173116) UV(0.017931, 0.651691) -V 1678: Pos(-0.482947, -12.856688, 9.255044) Norm(-0.982782, 0.175199, 0.058698) UV(0.018009, 0.70202) -V 1679: Pos(-0.48383, -12.686122, 9.016983) Norm(-0.99873, 0.040232, 0.03034) UV(0.017714, 0.65163) -V 1680: Pos(-0.48383, -12.865645, 9.255044) Norm(-0.999683, -0.020108, -0.015164) UV(0.017944, 0.702428) -V 1681: Pos(-0.482947, -12.695079, 9.016983) Norm(-0.98103, -0.154779, -0.11672) UV(0.017489, 0.651546) -V 1682: Pos(-0.482947, -12.874602, 9.255044) Norm(-0.9732, -0.213092, -0.086454) UV(0.017854, 0.702836) -V 1683: Pos(-0.480335, -12.703691, 9.016983) Norm(-0.906982, -0.336273, -0.253584) UV(0.01727, 0.651417) -V 1684: Pos(-0.480335, -12.883214, 9.255044) Norm(-0.906715, -0.394192, -0.149936) UV(0.017752, 0.703228) -V 1685: Pos(-0.476092, -12.711627, 9.016983) Norm(-0.789697, -0.489831, -0.369384) UV(0.017064, 0.651218) -V 1686: Pos(-0.476092, -12.89115, 9.255044) Norm(-0.80602, -0.556099, -0.202697) UV(0.017648, 0.703593) -V 1687: Pos(-0.470383, -12.718585, 9.016983) Norm(-0.645687, -0.609678, -0.459762) UV(0.016925, 0.652318) -V 1688: Pos(-0.470383, -12.898108, 9.255044) Norm(-0.677368, -0.693966, -0.244097) UV(0.01755, 0.703898) -V 1689: Pos(-0.463426, -12.724294, 9.016983) Norm(-0.488369, -0.696734, -0.525413) UV(0.016888, 0.653318) -V 1690: Pos(-0.463426, -12.903817, 9.255044) Norm(-0.526835, -0.804347, -0.274721) UV(0.017464, 0.704137) -V 1691: Pos(-0.455489, -12.728536, 9.016983) Norm(-0.32625, -0.754737, -0.569152) UV(0.016937, 0.654193) -V 1692: Pos(-0.455489, -12.908059, 9.255044) Norm(-0.360212, -0.8848, -0.295595) UV(0.017387, 0.704308) -V 1693: Pos(-0.446877, -12.731149, 9.016983) Norm(-0.163092, -0.787733, -0.594034) UV(0.01706, 0.654941) -V 1694: Pos(-0.446877, -12.910672, 9.255044) Norm(-0.182813, -0.933757, -0.307696) UV(0.017319, 0.704408) -V 1695: Pos(-0.43792, -12.732031, 9.016983) Norm(0.0, -0.798422, -0.602098) UV(0.017227, 0.655533) -V 1696: Pos(-0.43792, -12.911554, 9.255044) Norm(-0.0, -0.950193, -0.311662) UV(0.017255, 0.704437) -V 1697: Pos(-0.428964, -12.731149, 9.016983) Norm(0.163092, -0.787733, -0.594035) UV(0.017406, 0.655945) -V 1698: Pos(-0.428964, -12.910672, 9.255044) Norm(0.182813, -0.933757, -0.307696) UV(0.017191, 0.704398) -V 1699: Pos(-0.420352, -12.728536, 9.016983) Norm(0.326256, -0.754735, -0.56915) UV(0.017603, 0.656214) -V 1700: Pos(-0.420352, -12.908059, 9.255044) Norm(0.360217, -0.884798, -0.295595) UV(0.017123, 0.704289) -V 1701: Pos(-0.412415, -12.724294, 9.016983) Norm(0.488364, -0.696736, -0.525414) UV(0.017796, 0.656343) -V 1702: Pos(-0.412415, -12.903817, 9.255044) Norm(0.526833, -0.804347, -0.274721) UV(0.017047, 0.704118) -V 1703: Pos(-0.405458, -12.718585, 9.016983) Norm(0.645682, -0.609681, -0.459764) UV(0.01798, 0.656351) -V 1704: Pos(-0.405458, -12.898108, 9.255044) Norm(0.677361, -0.693972, -0.244099) UV(0.016962, 0.703887) -V 1705: Pos(-0.399748, -12.711627, 9.016983) Norm(0.789698, -0.489829, -0.369384) UV(0.018142, 0.656249) -V 1706: Pos(-0.399748, -12.89115, 9.255044) Norm(0.80602, -0.556099, -0.202697) UV(0.016869, 0.703604) -V 1707: Pos(-0.395506, -12.703691, 9.016983) Norm(0.906991, -0.336256, -0.253574) UV(0.018274, 0.656053) -V 1708: Pos(-0.395506, -12.883214, 9.255044) Norm(0.90672, -0.394181, -0.149934) UV(0.016774, 0.703276) -V 1709: Pos(-0.392894, -12.695079, 9.016983) Norm(0.981031, -0.154774, -0.116715) UV(0.018374, 0.655777) -V 1710: Pos(-0.392894, -12.874602, 9.255044) Norm(0.973203, -0.213077, -0.086448) UV(0.016684, 0.702914) -V 1711: Pos(-0.392011, -12.686122, 9.016983) Norm(0.99873, 0.040234, 0.03034) UV(0.018447, 0.655445) -V 1712: Pos(-0.392011, -12.865645, 9.255044) Norm(0.999683, -0.020109, -0.015164) UV(0.01661, 0.702529) -V 1713: Pos(-0.392894, -12.677165, 9.016983) Norm(0.95778, 0.229549, 0.173104) UV(0.018498, 0.655073) -V 1714: Pos(-0.392894, -12.856688, 9.255044) Norm(0.982784, 0.175189, 0.058696) UV(0.016562, 0.702135) -V 1715: Pos(-0.395506, -12.668553, 9.016983) Norm(0.867928, 0.396568, 0.299056) UV(0.018531, 0.654676) -V 1716: Pos(-0.395506, -12.848077, 9.255044) Norm(0.923105, 0.362303, 0.128899) UV(0.016552, 0.701747) -V 1717: Pos(-0.399748, -12.660616, 9.016983) Norm(0.745005, 0.532595, 0.401633) UV(0.018553, 0.654269) -V 1718: Pos(-0.399748, -12.840139, 9.255044) Norm(0.825174, 0.531859, 0.1903) UV(0.016586, 0.701382) -V 1719: Pos(-0.405458, -12.653659, 9.016983) Norm(0.603815, 0.636443, 0.479945) UV(0.018573, 0.653869) -V 1720: Pos(-0.405458, -12.833182, 9.255044) Norm(0.695754, 0.676958, 0.240114) UV(0.016665, 0.701055) -V 1721: Pos(-0.412415, -12.647949, 9.016983) Norm(0.45457, 0.711165, 0.536294) UV(0.01859, 0.653486) -V 1722: Pos(-0.412415, -12.827473, 9.255044) Norm(0.542042, 0.793143, 0.277694) UV(0.016788, 0.70078) -V 1723: Pos(-0.420352, -12.643707, 9.016983) Norm(0.302929, 0.760908, 0.573805) UV(0.018608, 0.653132) -V 1724: Pos(-0.420352, -12.823231, 9.255044) Norm(0.370781, 0.877701, 0.303584) UV(0.016947, 0.70057) -V 1725: Pos(-0.446877, -12.820619, 9.336753) Norm(-0.177476, 0.892299, -0.415096) UV(0.017341, 0.705538) -V 1726: Pos(-0.43792, -12.819736, 9.336753) Norm(0.0, 0.909775, -0.415101) UV(0.0173, 0.705525) -V 1727: Pos(-0.428964, -12.641095, 9.016983) Norm(0.151262, 0.789236, 0.595169) UV(0.018618, 0.65281) -V 1728: Pos(-0.428964, -12.820619, 9.255044) Norm(0.188187, 0.929001, 0.318656) UV(0.01713, 0.700433) -V 1729: Pos(-0.476092, -12.89115, 9.336753) Norm(-0.756459, -0.505434, -0.415098) UV(0.017444, 0.706097) -V 1730: Pos(-0.480335, -12.883214, 9.336753) Norm(-0.840503, -0.34818, -0.41512) UV(0.017464, 0.706032) -V 1731: Pos(-0.405458, -12.898108, 9.336753) Norm(0.643316, -0.643304, -0.415096) UV(0.017175, 0.706156) -V 1732: Pos(-0.412415, -12.903817, 9.336753) Norm(0.505401, -0.756481, -0.415097) UV(0.017203, 0.706195) -V 1733: Pos(-0.412415, -12.827473, 9.336753) Norm(0.505436, 0.756453, -0.415107) UV(0.017185, 0.705593) -V 1734: Pos(-0.405458, -12.833182, 9.336753) Norm(0.643321, 0.643303, -0.415089) UV(0.017156, 0.705643) -V 1735: Pos(-0.482947, -12.856688, 9.336753) Norm(-0.892283, 0.177497, -0.41512) UV(0.017488, 0.705829) -V 1736: Pos(-0.480335, -12.848077, 9.336753) Norm(-0.840522, 0.348161, -0.4151) UV(0.017481, 0.705756) -V 1737: Pos(-0.43792, -12.911554, 9.336753) Norm(0.0, -0.909773, -0.415105) UV(0.017296, 0.70625) -V 1738: Pos(-0.446877, -12.910672, 9.336753) Norm(-0.177515, -0.892286, -0.415107) UV(0.017329, 0.706248) -V 1739: Pos(-0.392894, -12.856688, 9.336753) Norm(0.892288, 0.177492, -0.415112) UV(0.017109, 0.705831) -V 1740: Pos(-0.392011, -12.865645, 9.336753) Norm(0.909778, 1e-06, -0.415095) UV(0.017109, 0.705903) -V 1741: Pos(-0.463426, -12.827473, 9.485871) Norm(-0.505438, 0.75645, 0.415109) UV(0.017285, 0.709319) -V 1742: Pos(-0.463426, -12.827473, 9.935919) Norm(-0.555559, 0.831477, 0.0) UV(0.016886, 0.812658) -V 1743: Pos(-0.455489, -12.823231, 9.935919) Norm(-0.38264, 0.923898, 0.0) UV(0.016904, 0.811938) -V 1744: Pos(-0.455489, -12.823231, 9.485871) Norm(-0.34813, 0.840534, 0.415101) UV(0.017285, 0.709302) -V 1745: Pos(-0.420352, -12.908059, 9.336753) Norm(0.348175, -0.840521, -0.415089) UV(0.017232, 0.706223) -V 1746: Pos(-0.399748, -12.840139, 9.336753) Norm(0.756464, 0.505435, -0.415088) UV(0.017133, 0.705703) -V 1747: Pos(-0.476092, -12.840139, 9.336753) Norm(-0.756457, 0.505431, -0.415105) UV(0.017466, 0.705687) -V 1748: Pos(-0.455489, -12.908059, 9.336753) Norm(-0.348168, -0.84052, -0.415096) UV(0.017361, 0.706226) -V 1749: Pos(-0.392894, -12.874602, 9.336753) Norm(0.892299, -0.177492, -0.415089) UV(0.017116, 0.705975) -V 1750: Pos(-0.470383, -12.833182, 9.485871) Norm(-0.643313, 0.6433, 0.415106) UV(0.017287, 0.709337) -V 1751: Pos(-0.470383, -12.833182, 9.935919) Norm(-0.707121, 0.707093, 0.0) UV(0.016898, 0.813462) -V 1752: Pos(-0.463426, -12.903817, 9.485871) Norm(-0.505413, -0.756474, 0.415095) UV(0.017326, 0.709416) -V 1753: Pos(-0.463426, -12.903817, 9.935919) Norm(-0.555525, -0.8315, 0.0) UV(0.018394, 0.816357) -V 1754: Pos(-0.470383, -12.898108, 9.935919) Norm(-0.707115, -0.707098, 0.0) UV(0.018239, 0.817486) -V 1755: Pos(-0.470383, -12.898108, 9.485871) Norm(-0.643311, -0.643299, 0.415111) UV(0.017322, 0.709411) -V 1756: Pos(-0.395506, -12.883214, 9.485871) Norm(0.840514, -0.348164, 0.415112) UV(0.017333, 0.709341) -V 1757: Pos(-0.395506, -12.883214, 9.935919) Norm(0.923874, -0.382698, 0.0) UV(0.018273, 0.809891) -V 1758: Pos(-0.399748, -12.89115, 9.935919) Norm(0.831483, -0.55555, 0.0) UV(0.018382, 0.810275) -V 1759: Pos(-0.399748, -12.89115, 9.485871) Norm(0.756457, -0.505433, 0.415102) UV(0.017335, 0.709357) -V 1760: Pos(-0.428964, -12.820619, 9.485871) Norm(0.177477, 0.892302, 0.415089) UV(0.01729, 0.709283) -V 1761: Pos(-0.428964, -12.820619, 9.935919) Norm(0.195073, 0.980789, 0.0) UV(0.017108, 0.810279) -V 1762: Pos(-0.420352, -12.823231, 9.935919) Norm(0.382646, 0.923895, 0.0) UV(0.017213, 0.809894) -V 1763: Pos(-0.420352, -12.823231, 9.485871) Norm(0.348135, 0.840533, 0.415099) UV(0.017294, 0.709276) -V 1764: Pos(-0.482947, -12.874602, 9.485871) Norm(-0.892308, -0.177495, 0.415069) UV(0.017308, 0.709393) -V 1765: Pos(-0.482947, -12.874602, 9.935919) Norm(-0.980783, -0.195102, 0.0) UV(0.017524, 0.818695) -V 1766: Pos(-0.420352, -12.908059, 9.485871) Norm(0.348174, -0.840521, 0.41509) UV(0.017337, 0.709388) -V 1767: Pos(-0.420352, -12.908059, 9.935919) Norm(0.382693, -0.923876, 0.0) UV(0.018599, 0.811932) -V 1768: Pos(-0.399748, -12.840139, 9.485871) Norm(0.756464, 0.505435, 0.415087) UV(0.017311, 0.709285) -V 1769: Pos(-0.399748, -12.840139, 9.935919) Norm(0.831478, 0.555557, 0.0) UV(0.0176, 0.809252) -V 1770: Pos(-0.476092, -12.840139, 9.485871) Norm(-0.756458, 0.50543, 0.415105) UV(0.01729, 0.709348) -V 1771: Pos(-0.476092, -12.840139, 9.935919) Norm(-0.831478, 0.555558, 0.0) UV(0.016943, 0.814347) -V 1772: Pos(-0.455489, -12.908059, 9.485871) Norm(-0.34817, -0.840522, 0.415092) UV(0.01733, 0.709419) -V 1773: Pos(-0.455489, -12.908059, 9.935919) Norm(-0.382687, -0.923878, 0.0) UV(0.018507, 0.815309) -V 1774: Pos(-0.392894, -12.874602, 9.485871) Norm(0.892297, -0.177487, 0.415095) UV(0.01733, 0.709326) -V 1775: Pos(-0.392894, -12.874602, 9.935919) Norm(0.980785, -0.195091, 0.0) UV(0.01815, 0.809593) -V 1776: Pos(-0.43792, -12.819736, 9.485871) Norm(0.0, 0.909778, 0.415094) UV(0.017288, 0.709284) -V 1777: Pos(-0.43792, -12.819736, 9.935919) Norm(-0.0, 1.0, 0.0) UV(0.017018, 0.810748) -V 1778: Pos(-0.504668, -12.878923, 9.465815) Norm(-0.900483, -0.179117, 0.396293) UV(0.017331, 0.709064) -V 1779: Pos(-0.504668, -12.878923, 9.35681) Norm(-0.900474, -0.179117, -0.396313) UV(0.017382, 0.70627) -V 1780: Pos(-0.500795, -12.891689, 9.35681) Norm(-0.848201, -0.351378, -0.396344) UV(0.017377, 0.706321) -V 1781: Pos(-0.500795, -12.891689, 9.465815) Norm(-0.848211, -0.351376, 0.396324) UV(0.017331, 0.709077) -V 1782: Pos(-0.494506, -12.903454, 9.465815) Norm(-0.763378, -0.510068, 0.396339) UV(0.017331, 0.709083) -V 1783: Pos(-0.494506, -12.903454, 9.35681) Norm(-0.763377, -0.510072, -0.396335) UV(0.017368, 0.706362) -V 1784: Pos(-0.486043, -12.913768, 9.35681) Norm(-0.649219, -0.649192, -0.396314) UV(0.017355, 0.706397) -V 1785: Pos(-0.486043, -12.913768, 9.465815) Norm(-0.649209, -0.649195, 0.396326) UV(0.01733, 0.709093) -V 1786: Pos(-0.389798, -12.913768, 9.465815) Norm(0.649197, -0.649209, 0.396322) UV(0.017309, 0.709055) -V 1787: Pos(-0.389798, -12.913768, 9.35681) Norm(0.649212, -0.6492, -0.396311) UV(0.017244, 0.706395) -V 1788: Pos(-0.381334, -12.903454, 9.35681) Norm(0.76339, -0.510064, -0.396322) UV(0.017232, 0.70636) -V 1789: Pos(-0.381334, -12.903454, 9.465815) Norm(0.763379, -0.510069, 0.396337) UV(0.017306, 0.709039) -V 1790: Pos(-0.400111, -12.809059, 9.465815) Norm(0.510096, 0.763369, 0.39632) UV(0.017292, 0.708957) -V 1791: Pos(-0.400111, -12.809059, 9.35681) Norm(0.510085, 0.763371, -0.396331) UV(0.017246, 0.706014) -V 1792: Pos(-0.411877, -12.80277, 9.35681) Norm(0.351327, 0.84823, -0.396328) UV(0.017263, 0.705986) -V 1793: Pos(-0.411877, -12.80277, 9.465815) Norm(0.351339, 0.848228, 0.396321) UV(0.017292, 0.708951) -V 1794: Pos(-0.504668, -12.852368, 9.465815) Norm(-0.900465, 0.17912, 0.396331) UV(0.017326, 0.709034) -V 1795: Pos(-0.504668, -12.852368, 9.35681) Norm(-0.900461, 0.179117, -0.396342) UV(0.017386, 0.70617) -V 1796: Pos(-0.505976, -12.865645, 9.35681) Norm(-0.918112, -0.0, -0.396321) UV(0.017387, 0.706224) -V 1797: Pos(-0.505976, -12.865645, 9.465815) Norm(-0.918113, 0.0, 0.396319) UV(0.017329, 0.709049) -V 1798: Pos(-0.43792, -12.933701, 9.465815) Norm(1e-06, -0.918105, 0.396336) UV(0.017323, 0.70909) -V 1799: Pos(-0.43792, -12.933701, 9.35681) Norm(1e-06, -0.918105, -0.396338) UV(0.017299, 0.706472) -V 1800: Pos(-0.424644, -12.932394, 9.35681) Norm(0.179138, -0.900464, -0.396325) UV(0.017284, 0.706464) -V 1801: Pos(-0.424644, -12.932394, 9.465815) Norm(0.179128, -0.900469, 0.39632) UV(0.01732, 0.709088) -V 1802: Pos(-0.371173, -12.852368, 9.465815) Norm(0.90047, 0.179125, 0.396318) UV(0.017294, 0.70899) -V 1803: Pos(-0.371173, -12.852368, 9.35681) Norm(0.900462, 0.179124, -0.396337) UV(0.017211, 0.706174) -V 1804: Pos(-0.375046, -12.839602, 9.35681) Norm(0.848222, 0.351347, -0.396328) UV(0.017214, 0.706129) -V 1805: Pos(-0.375046, -12.839602, 9.465815) Norm(0.848235, 0.351342, 0.396302) UV(0.017292, 0.708974) -V 1806: Pos(-0.412415, -12.827473, 9.935919) Norm(0.555558, 0.831478, 0.0) UV(0.017333, 0.809595) -V 1807: Pos(-0.412415, -12.827473, 9.485871) Norm(0.505448, 0.756451, 0.415096) UV(0.017299, 0.709271) -V 1808: Pos(-0.405458, -12.898108, 9.935919) Norm(0.707109, -0.707105, 0.0) UV(0.018475, 0.810743) -V 1809: Pos(-0.405458, -12.898108, 9.485871) Norm(0.6433, -0.643313, 0.415107) UV(0.017336, 0.709365) -V 1810: Pos(-0.476092, -12.89115, 9.935919) Norm(-0.831483, -0.555551, 0.0) UV(0.018037, 0.818693) -V 1811: Pos(-0.476092, -12.89115, 9.485871) Norm(-0.75646, -0.505429, 0.415102) UV(0.017317, 0.709412) -V 1812: Pos(-0.446877, -12.820619, 9.485871) Norm(-0.177478, 0.892302, 0.415089) UV(0.017286, 0.709297) -V 1813: Pos(-0.446877, -12.820619, 9.935919) Norm(-0.195073, 0.980789, 0.0) UV(0.01695, 0.811301) -V 1814: Pos(-0.424644, -12.798898, 9.465815) Norm(0.179092, 0.900476, 0.39632) UV(0.017294, 0.708948) -V 1815: Pos(-0.424644, -12.798898, 9.35681) Norm(0.179093, 0.900475, -0.39632) UV(0.01728, 0.705973) -V 1816: Pos(-0.43792, -12.79759, 9.35681) Norm(1e-06, 0.918109, -0.396328) UV(0.0173, 0.70597) -V 1817: Pos(-0.43792, -12.79759, 9.465815) Norm(1e-06, 0.918112, 0.396322) UV(0.017298, 0.708955) -V 1818: Pos(-0.375046, -12.891689, 9.465815) Norm(0.848211, -0.351361, 0.396337) UV(0.017303, 0.709027) -V 1819: Pos(-0.375046, -12.891689, 9.35681) Norm(0.848211, -0.351366, -0.396333) UV(0.017224, 0.706314) -V 1820: Pos(-0.371173, -12.878923, 9.35681) Norm(0.900472, -0.179124, -0.396314) UV(0.017215, 0.706269) -V 1821: Pos(-0.371173, -12.878923, 9.465815) Norm(0.90047, -0.17912, 0.39632) UV(0.0173, 0.709014) -V 1822: Pos(-0.47573, -12.922231, 9.465815) Norm(-0.510054, -0.763396, 0.396321) UV(0.017329, 0.709095) -V 1823: Pos(-0.47573, -12.922231, 9.35681) Norm(-0.510053, -0.763394, -0.396327) UV(0.017344, 0.706432) -V 1824: Pos(-0.463964, -12.928519, 9.35681) Norm(-0.351383, -0.848202, -0.396337) UV(0.017329, 0.706452) -V 1825: Pos(-0.463964, -12.928519, 9.465815) Norm(-0.351384, -0.848204, 0.396333) UV(0.017328, 0.709094) -V 1826: Pos(-0.486043, -12.817523, 9.465815) Norm(-0.649206, 0.649193, 0.396333) UV(0.017313, 0.708986) -V 1827: Pos(-0.486043, -12.817523, 9.35681) Norm(-0.649216, 0.649184, -0.396332) UV(0.017365, 0.706043) -V 1828: Pos(-0.494506, -12.827836, 9.35681) Norm(-0.763386, 0.510063, -0.396331) UV(0.017377, 0.706084) -V 1829: Pos(-0.494506, -12.827836, 9.465815) Norm(-0.763386, 0.510063, 0.396331) UV(0.017318, 0.709002) -V 1830: Pos(-0.381334, -12.827836, 9.35681) Norm(0.763395, 0.510063, -0.396313) UV(0.017223, 0.70608) -V 1831: Pos(-0.381334, -12.827836, 9.465815) Norm(0.763394, 0.510064, 0.396312) UV(0.017292, 0.708966) -V 1832: Pos(-0.411877, -12.928519, 9.35681) Norm(0.351387, -0.848205, -0.396328) UV(0.017269, 0.706453) -V 1833: Pos(-0.411877, -12.928519, 9.465815) Norm(0.351386, -0.848205, 0.39633) UV(0.017316, 0.709077) -V 1834: Pos(-0.47573, -12.809059, 9.465815) Norm(-0.510087, 0.76337, 0.396331) UV(0.017308, 0.708977) -V 1835: Pos(-0.47573, -12.809059, 9.35681) Norm(-0.510084, 0.763368, -0.396337) UV(0.017351, 0.706009) -V 1836: Pos(-0.369865, -12.865645, 9.35681) Norm(0.918112, 2e-06, -0.396322) UV(0.017211, 0.706222) -V 1837: Pos(-0.369865, -12.865645, 9.465815) Norm(0.918112, 2e-06, 0.396322) UV(0.017297, 0.709002) -V 1838: Pos(-0.451197, -12.932394, 9.35681) Norm(-0.179141, -0.900466, -0.39632) UV(0.017314, 0.706464) -V 1839: Pos(-0.451197, -12.932394, 9.465815) Norm(-0.179128, -0.900466, 0.396325) UV(0.017326, 0.709096) -V 1840: Pos(-0.500795, -12.839602, 9.35681) Norm(-0.848218, 0.351353, -0.39633) UV(0.017384, 0.706125) -V 1841: Pos(-0.500795, -12.839602, 9.465815) Norm(-0.848226, 0.351352, 0.396313) UV(0.017323, 0.709018) -V 1842: Pos(-0.389798, -12.817523, 9.35681) Norm(0.649213, 0.649197, -0.396316) UV(0.017232, 0.706044) -V 1843: Pos(-0.389798, -12.817523, 9.465815) Norm(0.649205, 0.649201, 0.396322) UV(0.017292, 0.70896) -V 1844: Pos(-0.400111, -12.922231, 9.35681) Norm(0.510043, -0.763402, -0.396326) UV(0.017256, 0.706428) -V 1845: Pos(-0.400111, -12.922231, 9.465815) Norm(0.510053, -0.763397, 0.396322) UV(0.017313, 0.709064) -V 1846: Pos(-0.482947, -12.874602, 9.336753) Norm(-0.892298, -0.177497, -0.41509) UV(0.017479, 0.70597) -V 1847: Pos(-0.392011, -12.865645, 9.485871) Norm(0.909778, 1e-06, 0.415095) UV(0.017325, 0.709312) -V 1848: Pos(-0.392011, -12.865645, 9.935919) Norm(1.0, 0.0, 0.0) UV(0.018019, 0.809379) -V 1849: Pos(-0.446877, -12.910672, 9.485871) Norm(-0.177502, -0.892286, 0.415112) UV(0.017334, 0.709409) -V 1850: Pos(-0.446877, -12.910672, 9.935919) Norm(-0.195123, -0.980779, 0.0) UV(0.018581, 0.814341) -V 1851: Pos(-0.480335, -12.848077, 9.485871) Norm(-0.84053, 0.34816, 0.415082) UV(0.017294, 0.70936) -V 1852: Pos(-0.480335, -12.848077, 9.935919) Norm(-0.923878, 0.382688, 0.0) UV(0.017025, 0.815314) -V 1853: Pos(-0.405458, -12.833182, 9.485871) Norm(0.643314, 0.643307, 0.415094) UV(0.017305, 0.709277) -V 1854: Pos(-0.405458, -12.833182, 9.935919) Norm(0.707114, 0.707099, 0.0) UV(0.017463, 0.809381) -V 1855: Pos(-0.412415, -12.903817, 9.485871) Norm(0.505413, -0.756476, 0.415093) UV(0.017337, 0.709381) -V 1856: Pos(-0.412415, -12.903817, 9.935919) Norm(0.555524, -0.831501, 0.0) UV(0.018549, 0.811296) -V 1857: Pos(-0.480335, -12.883214, 9.485871) Norm(-0.840514, -0.348179, 0.415099) UV(0.017312, 0.7094) -V 1858: Pos(-0.480335, -12.883214, 9.935919) Norm(-0.923868, -0.382711, 0.0) UV(0.017786, 0.819979) -V 1859: Pos(-0.455489, -12.823231, 9.336753) Norm(-0.348117, 0.840536, -0.415107) UV(0.017379, 0.705564) -V 1860: Pos(-0.428964, -12.820619, 9.336753) Norm(0.177477, 0.892302, -0.415089) UV(0.017259, 0.705538) -V 1861: Pos(-0.451197, -12.798898, 9.465815) Norm(-0.179094, 0.900475, 0.39632) UV(0.017301, 0.708958) -V 1862: Pos(-0.451197, -12.798898, 9.35681) Norm(-0.179094, 0.900472, -0.396327) UV(0.017319, 0.705972) -V 1863: Pos(-0.463964, -12.80277, 9.35681) Norm(-0.351325, 0.848229, -0.396331) UV(0.017335, 0.705983) -V 1864: Pos(-0.463964, -12.80277, 9.465815) Norm(-0.351336, 0.848228, 0.396324) UV(0.017305, 0.708969) -V 1865: Pos(-0.395506, -12.883214, 9.336753) Norm(0.840514, -0.348169, -0.415109) UV(0.017131, 0.706044) -V 1866: Pos(-0.463426, -12.903817, 9.336753) Norm(-0.505412, -0.756472, -0.415101) UV(0.017391, 0.706191) -V 1867: Pos(-0.470383, -12.833182, 9.336753) Norm(-0.643322, 0.643292, -0.415105) UV(0.017443, 0.705636) -V 1868: Pos(-0.395506, -12.848077, 9.336753) Norm(0.840525, 0.348155, -0.415097) UV(0.017117, 0.70576) -V 1869: Pos(-0.428964, -12.910672, 9.336753) Norm(0.177514, -0.892284, -0.415112) UV(0.017264, 0.706246) -V 1870: Pos(-0.48383, -12.865645, 9.336753) Norm(-0.909779, -2e-06, -0.415093) UV(0.017487, 0.705895) -V 1871: Pos(-0.420352, -12.823231, 9.336753) Norm(0.348121, 0.840535, -0.415105) UV(0.017221, 0.705564) -V 1872: Pos(-0.399748, -12.89115, 9.336753) Norm(0.756469, -0.505429, -0.415086) UV(0.017151, 0.7061) -V 1873: Pos(-0.470383, -12.898108, 9.336753) Norm(-0.643321, -0.643297, -0.415098) UV(0.01742, 0.706153) -V 1874: Pos(-0.463426, -12.827473, 9.336753) Norm(-0.505435, 0.756449, -0.415115) UV(0.017414, 0.705594) -V 1875: Pos(-1.813249, -12.618541, 9.005267) Norm(-0.591633, -0.052776, -0.804478) UV(0.192232, 0.031718) -V 1876: Pos(-2.137782, -12.617983, 9.190081) Norm(-0.511715, -0.038914, -0.858273) UV(0.192891, 0.044399) -V 1877: Pos(-2.113581, -11.946148, 9.148588) Norm(-0.527374, -0.001622, -0.849632) UV(0.169655, 0.043741) -V 1878: Pos(-1.826858, -11.946148, 8.984811) Norm(-0.624904, -0.018423, -0.780484) UV(0.169299, 0.032385) -V 1879: Pos(-1.187225, -13.121551, 8.863171) Norm(-0.456925, -0.116072, -0.8819) UV(0.208707, 0.008143) -V 1880: Pos(-1.435854, -13.121202, 8.844603) Norm(-0.084129, -0.197416, -0.976703) UV(0.208238, 0.016476) -V 1881: Pos(-1.435854, -12.382905, 8.774108) Norm(0.025114, -0.041644, -0.998817) UV(0.183796, 0.015965) -V 1882: Pos(-1.19064, -12.382905, 8.789777) Norm(-0.415302, -0.048259, -0.908403) UV(0.183868, 0.007669) -V 1883: Pos(-1.652621, -14.309753, 9.522182) Norm(-0.13606, -0.285981, -0.948527) UV(0.254461, 0.029432) -V 1884: Pos(-1.349931, -14.338383, 9.515397) Norm(0.48885, -0.356973, -0.795987) UV(0.256328, 0.018935) -V 1885: Pos(-1.373724, -14.621969, 9.549634) Norm(0.445364, -0.113645, -0.888108) UV(0.266005, 0.020395) -V 1886: Pos(-1.634896, -14.696083, 9.560887) Norm(0.004776, -0.106677, -0.994282) UV(0.268114, 0.029476) -V 1887: Pos(-0.74954, -14.783587, 11.109747) Norm(0.002151, -0.480861, 0.876794) UV(0.048959, 0.406354) -V 1888: Pos(-0.529975, -14.783586, 11.109747) Norm(1e-06, -0.480846, 0.876805) UV(0.05713, 0.406483) -V 1889: Pos(-0.529975, -14.734409, 11.171654) Norm(0.0, -0.589003, 0.808131) UV(0.05707, 0.409413) -V 1890: Pos(-0.731471, -14.734411, 11.171654) Norm(-0.00476, -0.586821, 0.809703) UV(0.049598, 0.409299) -V 1891: Pos(-0.75777, -12.550772, 11.773037) Norm(-0.011695, -0.011276, 0.999868) UV(0.04842, 0.484676) -V 1892: Pos(-0.760702, -12.611209, 11.771132) Norm(-0.016258, -0.1132, 0.993439) UV(0.048397, 0.482793) -V 1893: Pos(-0.529975, -12.611528, 11.774892) Norm(-0.0, -0.111822, 0.993728) UV(0.055564, 0.482986) -V 1894: Pos(-0.529975, -12.55109, 11.776463) Norm(0.0, -0.008486, 0.999964) UV(0.055525, 0.48487) -V 1895: Pos(-0.969782, -16.213043, 10.945545) Norm(-0.418312, -0.195386, 0.88704) UV(0.043575, 0.355723) -V 1896: Pos(-0.529975, -16.213037, 10.945544) Norm(0.0, -0.155513, 0.987834) UV(0.058158, 0.356281) -V 1897: Pos(-0.529975, -15.453671, 11.04019) Norm(1e-06, -0.113612, 0.993525) UV(0.057633, 0.381923) -V 1898: Pos(-1.014066, -15.453674, 11.04019) Norm(-0.376523, -0.138131, 0.916052) UV(0.040329, 0.38102) -V 1899: Pos(-0.603597, -5.099787, 10.960801) Norm(-0.464303, 0.846878, 0.25927) UV(0.048526, 0.74696) -V 1900: Pos(-0.625008, -5.635293, 11.06281) Norm(-0.105784, 0.209989, 0.971964) UV(0.047181, 0.730488) -V 1901: Pos(-0.529975, -5.635293, 11.066749) Norm(0.0, 0.197498, 0.980303) UV(0.050497, 0.730485) -V 1902: Pos(-0.529975, -5.028123, 10.973922) Norm(0.0, 0.974213, 0.22563) UV(0.050158, 0.747018) -V 1903: Pos(-0.780381, -17.611206, 10.537682) Norm(-0.489983, -0.800511, 0.345109) UV(0.052158, 0.316832) -V 1904: Pos(-0.529975, -17.616053, 10.539742) Norm(0.0, -0.999826, 0.018674) UV(0.058982, 0.316035) -V 1905: Pos(-0.529975, -17.611353, 10.676368) Norm(0.0, -0.768508, 0.63984) UV(0.058907, 0.319704) -V 1906: Pos(-0.747799, -17.611359, 10.680434) Norm(-0.344893, -0.64861, 0.678494) UV(0.054316, 0.319911) -V 1907: Pos(-0.75135, -12.002631, 11.768512) Norm(0.002993, 0.043786, 0.999036) UV(0.047942, 0.50224) -V 1908: Pos(-0.529975, -12.002631, 11.768512) Norm(0.0, 0.047208, 0.998885) UV(0.055166, 0.502442) -V 1909: Pos(-0.672965, -5.498948, 10.458104) Norm(0.001174, 0.878791, 0.477205) UV(0.239932, 0.499101) -V 1910: Pos(-0.529975, -5.49895, 10.457414) Norm(-1e-06, 0.879837, 0.475275) UV(0.240046, 0.503638) -V 1911: Pos(-0.529975, -5.49895, 10.374368) Norm(-0.0, 0.729641, -0.683831) UV(0.237531, 0.503637) -V 1912: Pos(-0.849602, -5.498949, 10.374091) Norm(0.111211, 0.650358, -0.751443) UV(0.236808, 0.49374) -V 1913: Pos(-0.636286, -7.467391, 11.395685) Norm(-0.023648, 0.131491, 0.991035) UV(0.048013, 0.663686) -V 1914: Pos(-0.65729, -7.937566, 11.452072) Norm(-0.017519, 0.109032, 0.993884) UV(0.047634, 0.646582) -V 1915: Pos(-0.529975, -7.938572, 11.452459) Norm(-0.0, 0.103845, 0.994594) UV(0.052213, 0.646642) -V 1916: Pos(-0.529975, -7.467411, 11.403747) Norm(2e-06, 0.131419, 0.991327) UV(0.051863, 0.663727) -V 1917: Pos(-0.637312, -6.352781, 11.19637) Norm(0.03735, 0.194912, 0.980109) UV(0.047137, 0.704551) -V 1918: Pos(-0.529975, -6.352781, 11.19018) Norm(0.0, 0.18935, 0.98191) UV(0.051025, 0.704669) -V 1919: Pos(-0.529975, -5.973804, 11.143464) Norm(0.0, 0.17852, 0.983936) UV(0.050745, 0.718345) -V 1920: Pos(-0.635765, -5.973804, 11.14062) Norm(-0.004976, 0.184754, 0.982772) UV(0.046984, 0.718299) -V 1921: Pos(-0.672965, -5.860602, 10.739367) Norm(9e-06, 0.857665, 0.514209) UV(0.254736, 0.498996) -V 1922: Pos(-0.529975, -5.860604, 10.739367) Norm(0.0, 0.857665, 0.514209) UV(0.254766, 0.503654) -V 1923: Pos(-0.529975, -5.772873, 10.659025) Norm(1e-06, 0.652828, 0.757506) UV(0.250938, 0.503648) -V 1924: Pos(-0.672965, -5.772872, 10.659025) Norm(7e-06, 0.652828, 0.757506) UV(0.250977, 0.498952) -V 1925: Pos(-0.94488, -5.996615, 10.995941) Norm(-0.531377, 0.197526, 0.823785) UV(0.033545, 0.718428) -V 1926: Pos(-0.947178, -6.352781, 11.036345) Norm(-0.482174, 0.155269, 0.862206) UV(0.033071, 0.705353) -V 1927: Pos(-0.841436, -6.352781, 11.181109) Norm(-0.544735, 0.1445, 0.826065) UV(0.039595, 0.70454) -V 1928: Pos(-0.826269, -5.973803, 11.137924) Norm(-0.437882, 0.176661, 0.881505) UV(0.040222, 0.71826) -V 1929: Pos(-0.687414, -9.491978, 11.592623) Norm(0.003503, 0.076185, 0.997088) UV(0.047676, 0.590278) -V 1930: Pos(-0.529975, -9.491978, 11.592035) Norm(0.0, 0.07657, 0.997064) UV(0.053365, 0.590398) -V 1931: Pos(-0.529975, -8.869688, 11.538654) Norm(0.0, 0.088187, 0.996104) UV(0.052903, 0.612975) -V 1932: Pos(-0.685016, -8.869688, 11.539713) Norm(0.005162, 0.088208, 0.996089) UV(0.047306, 0.61286) -V 1933: Pos(-0.630556, -6.714837, 11.287401) Norm(0.022299, 0.193894, 0.980769) UV(0.047678, 0.691071) -V 1934: Pos(-0.529975, -6.714837, 11.281735) Norm(1e-06, 0.198669, 0.980067) UV(0.051301, 0.691189) -V 1935: Pos(-0.529975, -5.204648, 10.85706) Norm(1e-06, 0.399343, -0.916802) UV(0.050046, 0.752487) -V 1936: Pos(-0.625542, -5.216838, 10.85706) Norm(-0.180141, 0.4277, -0.885789) UV(0.045368, 0.750838) -V 1937: Pos(-0.529975, -17.631042, 10.103935) Norm(0.0, -0.961504, -0.27479) UV(0.146166, 0.449735) -V 1938: Pos(-0.801384, -17.604631, 10.144748) Norm(-0.397076, -0.873766, -0.280828) UV(0.154237, 0.450016) -V 1939: Pos(-0.802062, -17.53898, 10.036661) Norm(-0.469094, -0.653738, -0.593783) UV(0.153567, 0.453639) -V 1940: Pos(-0.529975, -17.575806, 9.994814) Norm(1e-06, -0.745636, -0.666354) UV(0.145949, 0.453273) -V 1941: Pos(-0.738059, -5.966882, 11.137775) Norm(-0.039151, 0.193705, 0.980278) UV(0.043351, 0.718524) -V 1942: Pos(-0.716544, -5.635293, 11.05887) Norm(-0.09566, 0.235123, 0.967247) UV(0.043959, 0.730528) -V 1943: Pos(-0.798795, -5.635293, 11.053866) Norm(-0.42042, 0.262316, 0.868584) UV(0.041081, 0.730599) -V 1944: Pos(-0.72764, -6.714837, 11.293067) Norm(-0.159131, 0.176383, 0.971373) UV(0.044188, 0.690957) -V 1945: Pos(-0.7391, -7.467411, 11.387623) Norm(-0.192412, 0.137068, 0.971694) UV(0.044272, 0.663644) -V 1946: Pos(-0.673454, -8.24662, 11.482265) Norm(0.00284, 0.094472, 0.995523) UV(0.04728, 0.635408) -V 1947: Pos(-0.529975, -8.24651, 11.481801) Norm(-0.0, 0.09366, 0.995604) UV(0.052441, 0.635518) -V 1948: Pos(-0.735526, -11.201272, 11.704627) Norm(0.014414, 0.071087, 0.997366) UV(0.047445, 0.529303) -V 1949: Pos(-0.941078, -11.200978, 11.710431) Norm(-0.264348, 0.054504, 0.962886) UV(0.040262, 0.529038) -V 1950: Pos(-0.972724, -12.002631, 11.768512) Norm(-0.34599, 0.037221, 0.9375) UV(0.040724, 0.50192) -V 1951: Pos(-1.473392, -14.129045, 10.839348) Norm(-0.343086, -0.142398, 0.928447) UV(0.117981, 0.156255) -V 1952: Pos(-1.571275, -14.2756, 10.804464) Norm(-0.603521, -0.404405, 0.687181) UV(0.111738, 0.154697) -V 1953: Pos(-1.542796, -14.530905, 10.670832) Norm(-0.095052, -0.167323, 0.981309) UV(0.105039, 0.147273) -V 1954: Pos(-1.485558, -14.515833, 10.729332) Norm(-0.481555, -0.202088, 0.852798) UV(0.107795, 0.146381) -V 1955: Pos(-0.741152, -6.352781, 11.20256) Norm(-0.094639, 0.184321, 0.978299) UV(0.043348, 0.704437) -V 1956: Pos(-1.094406, -10.288738, 11.59748) Norm(-0.613255, 0.090785, 0.78465) UV(0.033596, 0.561263) -V 1957: Pos(-1.166744, -11.31928, 11.589983) Norm(-0.765998, -0.011152, 0.642747) UV(0.031144, 0.524611) -V 1958: Pos(-1.017742, -10.744859, 11.666515) Norm(-0.348534, 0.057256, 0.935546) UV(0.03709, 0.54514) -V 1959: Pos(-0.70611, -10.288738, 11.64669) Norm(0.008491, 0.065233, 0.997834) UV(0.047676, 0.561564) -V 1960: Pos(-0.882245, -10.288738, 11.64669) Norm(-0.120489, 0.083981, 0.989156) UV(0.041399, 0.561398) -V 1961: Pos(-1.274211, -7.641842, 11.099125) Norm(-0.054726, 0.05701, 0.996872) UV(0.290365, 0.34352) -V 1962: Pos(-1.292092, -8.120556, 11.137504) Norm(-0.107239, -0.139537, 0.984393) UV(0.269583, 0.341464) -V 1963: Pos(-1.121884, -8.259396, 11.136215) Norm(-0.576998, 0.029325, 0.816219) UV(0.267697, 0.332559) -V 1964: Pos(-1.085383, -7.955532, 11.137898) Norm(-0.523054, 0.08997, 0.847538) UV(0.2787, 0.334779) -V 1965: Pos(-0.844852, -9.491978, 11.59321) Norm(-0.192585, 0.088119, 0.977316) UV(0.041981, 0.59015) -V 1966: Pos(-1.012998, -5.692852, 10.734535) Norm(0.061546, 0.466956, 0.882136) UV(0.250461, 0.485161) -V 1967: Pos(-1.071473, -5.546937, 10.592614) Norm(0.321607, 0.692068, 0.646228) UV(0.242951, 0.485449) -V 1968: Pos(-1.146136, -5.569281, 10.665711) Norm(0.078216, 0.540889, 0.837449) UV(0.244298, 0.482346) -V 1969: Pos(-0.677219, -5.171452, 10.94768) Norm(-0.564433, 0.736823, 0.372165) UV(0.046168, 0.746317) -V 1970: Pos(-0.766664, -5.366412, 10.981031) Norm(-0.548901, 0.391903, 0.738322) UV(0.04265, 0.740239) -V 1971: Pos(-0.862572, -6.714837, 11.233347) Norm(-0.608243, 0.144328, 0.780519) UV(0.038902, 0.691234) -V 1972: Pos(-0.963695, -6.714837, 11.0858) Norm(-0.495977, 0.109517, 0.861402) UV(0.03247, 0.692028) -V 1973: Pos(-0.784606, -7.93656, 11.451685) Norm(-0.207897, 0.1246, 0.970182) UV(0.04306, 0.646517) -V 1974: Pos(-0.902974, -7.467411, 11.329699) Norm(-0.62781, 0.131837, 0.767121) UV(0.03795, 0.663798) -V 1975: Pos(-0.94079, -7.942636, 11.384399) Norm(-0.653556, 0.124441, 0.746578) UV(0.036944, 0.646478) -V 1976: Pos(-0.813436, -8.24673, 11.482728) Norm(-0.229265, 0.103293, 0.967868) UV(0.042243, 0.635304) -V 1977: Pos(-0.965019, -8.250694, 11.406264) Norm(-0.68043, 0.106731, 0.724999) UV(0.03612, 0.635355) -V 1978: Pos(-1.004964, -8.869688, 11.451316) Norm(-0.681936, 0.098025, 0.724813) UV(0.034935, 0.612934) -V 1979: Pos(-0.840057, -8.869688, 11.540771) Norm(-0.233976, 0.093131, 0.967772) UV(0.041705, 0.612748) -V 1980: Pos(-1.036442, -17.189369, 10.37456) Norm(-0.585822, -0.392713, 0.708935) UV(0.040119, 0.323204) -V 1981: Pos(-1.044204, -17.413155, 10.33747) Norm(-0.391939, -0.394779, 0.830984) UV(0.041225, 0.316434) -V 1982: Pos(-0.842929, -17.610914, 10.263648) Norm(-0.421525, -0.899284, 0.116639) UV(0.047678, 0.309582) -V 1983: Pos(-0.820318, -17.611019, 10.362709) Norm(-0.394469, -0.826801, 0.400992) UV(0.049385, 0.312404) -V 1984: Pos(-1.36246, -5.409958, 10.580017) Norm(0.004491, 0.60991, 0.792458) UV(0.238147, 0.47801) -V 1985: Pos(-1.365926, -5.330895, 10.468236) Norm(0.223952, 0.954691, 0.195984) UV(0.235, 0.478578) -V 1986: Pos(-1.036308, -9.491978, 11.503345) Norm(-0.651553, 0.102255, 0.751679) UV(0.034304, 0.590234) -V 1987: Pos(-1.08717, -12.036906, 11.651344) Norm(-0.949369, -0.024306, 0.313223) UV(0.035448, 0.50063) -V 1988: Pos(-1.071048, -14.449153, 11.200875) Norm(-0.896062, -0.283278, 0.341799) UV(0.036664, 0.419522) -V 1989: Pos(-1.018328, -14.616371, 11.155311) Norm(-0.798831, -0.365149, 0.478054) UV(0.038312, 0.41304) -V 1990: Pos(-0.965608, -14.783589, 11.109747) Norm(-0.270681, -0.286503, 0.919047) UV(0.040372, 0.406024) -V 1991: Pos(-0.929469, -14.734413, 11.171654) Norm(-0.260307, -0.543224, 0.798216) UV(0.042247, 0.409151) -V 1992: Pos(-0.99474, -14.434437, 11.278111) Norm(-0.372737, -0.350305, 0.859275) UV(0.040305, 0.420891) -V 1993: Pos(-1.156911, -14.431056, 11.065418) Norm(-0.779614, -0.137495, 0.610981) UV(0.030355, 0.41823) -V 1994: Pos(-1.129005, -14.425464, 11.094136) Norm(-0.446176, -0.076673, 0.891655) UV(0.031777, 0.418789) -V 1995: Pos(-1.186491, -14.166553, 11.074982) Norm(-0.681249, -0.078316, 0.72785) UV(0.027697, 0.427587) -V 1996: Pos(-1.177655, -14.298805, 11.0702) Norm(-0.795706, -0.110518, 0.595515) UV(0.028901, 0.422916) -V 1997: Pos(-1.236411, -16.286886, 10.625539) Norm(-0.814686, -0.223795, 0.53498) UV(0.030545, 0.349802) -V 1998: Pos(-1.256981, -6.714838, 11.077728) Norm(-0.061833, 0.078687, 0.99498) UV(0.326723, 0.340934) -V 1999: Pos(-0.963695, -6.714837, 11.0858) Norm(-0.495977, 0.109517, 0.861402) UV(0.325875, 0.329826) -V 2000: Pos(-0.947178, -6.352781, 11.036345) Norm(-0.482174, 0.155269, 0.862206) UV(0.33957, 0.328116) -V 2001: Pos(-1.269375, -6.293025, 11.029684) Norm(-0.123324, 0.286854, 0.950003) UV(0.342685, 0.339989) -V 2002: Pos(-1.239607, -6.13002, 10.794174) Norm(-0.390603, 0.786994, 0.477566) UV(0.25776, 0.471608) -V 2003: Pos(-1.233946, -6.144948, 10.881975) Norm(-0.514437, 0.856646, -0.038897) UV(0.260258, 0.47145) -V 2004: Pos(-1.043265, -5.960667, 10.904093) Norm(-0.796388, 0.604366, -0.022514) UV(0.261076, 0.478481) -V 2005: Pos(-1.05232, -6.03854, 10.783877) Norm(-0.634138, 0.638185, 0.436565) UV(0.258058, 0.476633) -V 2006: Pos(-1.254604, -7.206603, 11.072265) Norm(-0.056525, 0.042992, 0.997475) UV(0.307753, 0.342236) -V 2007: Pos(-1.044146, -7.495818, 11.119686) Norm(-0.52762, 0.090295, 0.844668) UV(0.296328, 0.334514) -V 2008: Pos(-1.411737, -10.449221, 11.055216) Norm(-0.581264, 0.017802, 0.813521) UV(0.010702, 0.556726) -V 2009: Pos(-1.438745, -11.258108, 11.00945) Norm(-0.584815, -0.028061, 0.810681) UV(0.007827, 0.527115) -V 2010: Pos(-1.167989, -14.16584, 11.085279) Norm(-0.693599, -0.10123, 0.713213) UV(0.028447, 0.427764) -V 2011: Pos(-1.215811, -13.833342, 11.069529) Norm(-0.697914, -0.071096, 0.712644) UV(0.024526, 0.43916) -V 2012: Pos(-1.252268, -13.804165, 11.059676) Norm(-0.664027, -0.085626, 0.742789) UV(0.023041, 0.439942) -V 2013: Pos(-1.22752, -16.831728, 10.050759) Norm(0.281582, -0.286918, -0.915636) UV(0.171096, 0.474291) -V 2014: Pos(-1.214355, -17.154877, 10.190921) Norm(0.103268, -0.394345, -0.913142) UV(0.170813, 0.461722) -V 2015: Pos(-1.247907, -17.160233, 10.160663) Norm(0.835028, -0.177457, -0.520804) UV(0.17239, 0.461964) -V 2016: Pos(-1.296187, -16.886652, 9.945797) Norm(0.880135, -0.097112, -0.464684) UV(0.17598, 0.473874) -V 2017: Pos(-0.842929, -17.610914, 10.263648) Norm(-0.421525, -0.899284, 0.116639) UV(0.156814, 0.44687) -V 2018: Pos(-1.019959, -17.527853, 10.288622) Norm(-0.50034, -0.85863, 0.111419) UV(0.163327, 0.44873) -V 2019: Pos(-1.022327, -17.38258, 10.208937) Norm(-0.552613, -0.44402, -0.705312) UV(0.163567, 0.454399) -V 2020: Pos(-1.190112, -17.361893, 10.274363) Norm(-0.628362, -0.777183, 0.033871) UV(0.036079, 0.31691) -V 2021: Pos(-1.019959, -17.527853, 10.288622) Norm(-0.50034, -0.85863, 0.111419) UV(0.042005, 0.312437) -V 2022: Pos(-1.017269, -5.436759, 10.462289) Norm(0.291686, 0.915247, 0.277926) UV(0.23792, 0.487892) -V 2023: Pos(-1.104508, -5.960488, 10.752725) Norm(-0.252785, 0.241147, 0.936989) UV(0.255625, 0.477007) -V 2024: Pos(-1.301755, -6.054401, 10.714135) Norm(-0.153188, 0.366172, 0.917852) UV(0.254406, 0.471207) -V 2025: Pos(-1.266694, -12.02697, 11.269761) Norm(-0.714449, -0.18607, 0.674493) UV(0.020149, 0.50035) -V 2026: Pos(-1.30696, -12.550453, 11.088028) Norm(-0.642311, -0.169161, 0.747544) UV(0.016587, 0.482222) -V 2027: Pos(-1.246804, -12.550453, 11.10218) Norm(-0.697777, -0.154391, 0.699479) UV(0.018606, 0.48219) -V 2028: Pos(-1.202195, -12.023941, 11.318316) Norm(-0.735167, -0.160189, 0.658687) UV(0.022937, 0.500428) -V 2029: Pos(-1.505692, -5.633644, 10.603598) Norm(-0.654177, 0.279586, 0.702769) UV(0.241202, 0.472339) -V 2030: Pos(-1.353834, -5.599326, 10.638965) Norm(-0.220287, 0.241851, 0.944977) UV(0.242616, 0.476385) -V 2031: Pos(-1.473931, -5.330895, 10.512909) Norm(-0.491014, 0.698572, 0.520483) UV(0.235808, 0.476401) -V 2032: Pos(-1.219342, -5.79461, 10.70172) Norm(-0.199429, 0.168957, 0.965237) UV(0.249632, 0.477261) -V 2033: Pos(-0.995936, -5.850981, 10.765058) Norm(-0.684742, 0.34677, 0.640999) UV(0.256009, 0.482251) -V 2034: Pos(-1.077392, -5.757263, 10.71636) Norm(-0.26434, 0.172978, 0.94879) UV(0.251209, 0.481956) -V 2035: Pos(-1.204181, -5.600734, 10.665233) Norm(-0.185623, 0.225242, 0.956457) UV(0.244533, 0.480351) -V 2036: Pos(-1.560087, -5.884259, 10.666577) Norm(-0.562894, 0.322898, 0.760846) UV(0.246603, 0.467266) -V 2037: Pos(-1.399335, -5.849935, 10.67636) Norm(-0.139113, 0.203987, 0.969039) UV(0.248159, 0.471807) -V 2038: Pos(-1.424389, -11.916042, 10.9701) Norm(-0.581453, -0.068077, 0.810727) UV(0.007656, 0.50307) -V 2039: Pos(-1.40158, -12.610888, 10.907252) Norm(-0.480882, -0.0366, 0.876021) UV(0.010358, 0.479559) -V 2040: Pos(-1.355769, -12.610888, 10.992192) Norm(-0.873173, -0.042524, 0.485552) UV(0.013337, 0.479878) -V 2041: Pos(-1.309959, -12.610888, 11.077132) Norm(-0.62492, -0.077345, 0.776848) UV(0.016432, 0.480198) -V 2042: Pos(-1.344167, -13.064171, 11.004714) Norm(-0.861689, -0.035133, 0.50622) UV(0.015174, 0.464796) -V 2043: Pos(-1.387052, -13.024474, 10.941593) Norm(-0.607111, -0.022016, 0.794312) UV(0.012376, 0.465879) -V 2044: Pos(-1.021206, -13.305736, 11.62882) Norm(-0.398576, -0.203348, 0.894308) UV(0.040429, 0.460491) -V 2045: Pos(-0.987931, -12.610888, 11.767374) Norm(-0.402002, -0.075695, 0.912505) UV(0.041426, 0.482495) -V 2046: Pos(-1.090048, -12.610888, 11.656427) Norm(-0.967236, 0.045573, 0.249756) UV(0.036857, 0.481931) -V 2047: Pos(-1.13747, -13.25584, 11.516879) Norm(-0.968431, -0.020075, 0.248471) UV(0.035136, 0.46133) -V 2048: Pos(-2.343951, -14.895481, 9.605906) Norm(-0.261726, -0.126715, -0.956788) UV(0.274094, 0.054136) -V 2049: Pos(-2.447605, -14.24136, 9.560217) Norm(-0.305612, -0.118621, -0.944738) UV(0.251462, 0.057363) -V 2050: Pos(-2.182886, -14.192274, 9.535975) Norm(-0.070132, -0.095284, -0.992977) UV(0.24975, 0.048089) -V 2051: Pos(-1.139086, -13.755318, 9.532556) Norm(0.124383, -0.89602, -0.426236) UV(0.159665, 0.584469) -V 2052: Pos(-1.317272, -14.23223, 9.466191) Norm(0.622617, -0.46513, -0.629287) UV(0.170127, 0.569655) -V 2053: Pos(-1.270965, -13.900246, 9.179587) Norm(0.552143, -0.580019, -0.598929) UV(0.173923, 0.584765) -V 2054: Pos(-1.408183, -15.673578, 10.603617) Norm(-0.53571, -0.13604, 0.833371) UV(0.021189, 0.368794) -V 2055: Pos(-1.243135, -9.182344, 11.112895) Norm(-0.593871, 0.060561, 0.802277) UV(0.235556, 0.305475) -V 2056: Pos(-1.573668, -8.870115, 11.026826) Norm(-0.379414, 0.102474, 0.919535) UV(0.231225, 0.325405) -V 2057: Pos(-1.842288, -9.154688, 10.945724) Norm(-0.366833, 0.155851, 0.917139) UV(0.21378, 0.320654) -V 2058: Pos(-1.737479, -9.481436, 11.006216) Norm(-0.245141, 0.032068, 0.968957) UV(0.211567, 0.305605) -V 2059: Pos(-1.321298, -13.421515, 11.003428) Norm(-0.886489, -0.083312, 0.455189) UV(0.017354, 0.452502) -V 2060: Pos(-1.290191, -13.448198, 11.060121) Norm(-0.663203, -0.065058, 0.745606) UV(0.019742, 0.452002) -V 2061: Pos(-1.301282, -13.103868, 11.067835) Norm(-0.624025, -0.031059, 0.780787) UV(0.017938, 0.463775) -V 2062: Pos(-1.270965, -13.900246, 9.179587) Norm(0.552143, -0.580019, -0.598929) UV(0.237882, 0.013393) -V 2063: Pos(-1.317272, -14.23223, 9.466191) Norm(0.622617, -0.46513, -0.629287) UV(0.25261, 0.017031) -V 2064: Pos(-1.372926, -14.279038, 9.463096) Norm(0.085439, -0.602367, -0.793634) UV(0.253525, 0.019369) -V 2065: Pos(-1.403971, -13.844193, 9.13813) Norm(-0.152812, -0.555515, -0.817344) UV(0.234877, 0.017591) -V 2066: Pos(-1.571275, -14.2756, 10.704041) Norm(-0.711965, -0.286244, 0.641226) UV(0.108438, 0.155276) -V 2067: Pos(-1.824262, -13.920992, 10.713941) Norm(-0.699955, -0.319677, 0.638647) UV(0.109739, 0.170559) -V 2068: Pos(-2.050453, -14.39336, 10.633224) Norm(-0.261021, -0.03238, 0.96479) UV(0.092697, 0.161662) -V 2069: Pos(-1.660759, -14.394012, 10.735187) Norm(0.050722, -0.039282, 0.99794) UV(0.103726, 0.153884) -V 2070: Pos(-1.264839, -14.400174, 9.654901) Norm(0.32709, -0.203088, -0.922912) UV(0.165686, 0.561965) -V 2071: Pos(-1.373724, -14.621969, 9.549634) Norm(0.445364, -0.113645, -0.888108) UV(0.172289, 0.555593) -V 2072: Pos(-1.349931, -14.338383, 9.515397) Norm(0.48885, -0.356973, -0.795987) UV(0.170558, 0.565422) -V 2073: Pos(-1.024604, -14.309196, 9.520744) Norm(-0.259639, -0.102872, -0.960211) UV(0.156228, 0.565026) -V 2074: Pos(-1.031932, -15.109277, 9.7103) Norm(-0.310357, -0.141506, -0.940029) UV(0.159377, 0.536827) -V 2075: Pos(-1.26312, -15.425302, 9.798166) Norm(0.301527, -0.127103, -0.944948) UV(0.168503, 0.526054) -V 2076: Pos(-1.260783, -17.543135, 10.111504) Norm(0.99428, -0.041018, -0.098613) UV(0.368413, 0.016897) -V 2077: Pos(-1.247907, -17.160233, 10.160663) Norm(0.835028, -0.177457, -0.520804) UV(0.35554, 0.01347) -V 2078: Pos(-1.247728, -17.340864, 10.259338) Norm(0.925036, -0.342971, 0.16334) UV(0.362163, 0.010915) -V 2079: Pos(-1.473931, -5.330895, 10.409933) Norm(-0.598949, 0.787317, 0.146262) UV(0.233735, 0.475911) -V 2080: Pos(-1.325778, -16.764282, 9.902725) Norm(0.625172, -0.08819, -0.775489) UV(0.340787, 0.021081) -V 2081: Pos(-1.331352, -17.554974, 9.941673) Norm(0.701479, -0.05695, -0.710411) UV(0.367976, 0.023225) -V 2082: Pos(-1.632898, -17.328251, 9.808561) Norm(0.145566, -0.089888, -0.985257) UV(0.359177, 0.033824) -V 2083: Pos(-1.660293, -16.828564, 9.756091) Norm(0.163078, -0.089243, -0.982569) UV(0.341853, 0.033816) -V 2084: Pos(-1.308095, -18.260746, 10.332523) Norm(0.865418, -0.053709, 0.498163) UV(0.036238, 0.03324) -V 2085: Pos(-1.280582, -18.260746, 10.149389) Norm(0.995065, -0.042469, -0.089675) UV(0.041193, 0.028945) -V 2086: Pos(-1.260783, -17.543135, 10.111504) Norm(0.99428, -0.041018, -0.098613) UV(0.058658, 0.047749) -V 2087: Pos(-1.307548, -17.595695, 10.348552) Norm(0.882304, -0.049286, 0.468092) UV(0.050835, 0.051964) -V 2088: Pos(-1.368876, -18.671581, 10.326416) Norm(0.462069, -0.097444, 0.881474) UV(0.025862, 0.022691) -V 2089: Pos(-1.330768, -18.660645, 10.283776) Norm(0.877107, -0.063807, 0.476038) UV(0.027698, 0.021674) -V 2090: Pos(-1.37674, -18.260746, 10.383937) Norm(0.421594, -0.083305, 0.90295) UV(0.033865, 0.035109) -V 2091: Pos(-1.292693, -18.628233, 10.165611) Norm(0.995802, -0.05335, -0.074379) UV(0.031844, 0.019599) -V 2092: Pos(-1.349708, -19.037971, 10.278857) Norm(0.3865, -0.676458, 0.626915) UV(0.018659, 0.011469) -V 2093: Pos(-1.323919, -19.037821, 10.251081) Norm(0.694345, -0.637343, 0.334185) UV(0.019699, 0.010598) -V 2094: Pos(-1.7419, -7.184052, 11.07903) Norm(-0.003107, 0.069257, 0.997594) UV(0.310101, 0.361413) -V 2095: Pos(-1.73402, -6.723176, 11.032492) Norm(-0.045965, 0.10507, 0.993402) UV(0.328317, 0.359284) -V 2096: Pos(-1.757421, -8.653952, 10.867053) Norm(-0.660177, 0.397624, 0.637229) UV(0.227147, 0.340826) -V 2097: Pos(-1.913367, -8.803967, 10.814029) Norm(-0.647013, 0.460799, 0.607486) UV(0.216503, 0.33791) -V 2098: Pos(-1.482154, -13.394543, 10.886303) Norm(-0.290652, -0.034869, 0.956193) UV(0.133994, 0.177198) -V 2099: Pos(-2.102404, -13.127293, 10.788873) Norm(-0.748866, -0.359404, 0.556802) UV(0.121336, 0.198965) -V 2100: Pos(-1.824262, -13.920992, 10.804184) Norm(-0.730603, -0.364642, 0.577282) UV(0.112991, 0.169938) -V 2101: Pos(-1.521131, -13.728933, 10.869245) Norm(-0.270841, -0.060893, 0.960696) UV(0.125656, 0.168566) -V 2102: Pos(-1.302738, -13.697623, 10.965414) Norm(-0.750907, -0.078941, 0.655673) UV(0.018498, 0.442747) -V 2103: Pos(-1.385092, -13.703549, 10.918309) Norm(-0.454161, -0.04192, 0.889933) UV(0.015208, 0.441969) -V 2104: Pos(-1.412168, -14.143468, 10.874098) Norm(-0.551439, -0.10594, 0.827461) UV(0.016448, 0.426088) -V 2105: Pos(-1.222303, -14.171404, 11.004946) Norm(-0.789895, -0.115087, 0.602346) UV(0.02493, 0.4267) -V 2106: Pos(-1.47847, -16.36364, 10.548183) Norm(0.311039, -0.032466, 0.949842) UV(0.070496, 0.092239) -V 2107: Pos(-1.380615, -16.335007, 10.506907) Norm(0.037615, -0.11113, 0.993094) UV(0.074137, 0.090811) -V 2108: Pos(-1.477532, -15.726151, 10.570805) Norm(-0.022506, -0.090489, 0.995643) UV(0.083455, 0.110742) -V 2109: Pos(-1.530066, -15.774645, 10.578667) Norm(0.275042, -0.033504, 0.960848) UV(0.080924, 0.110409) -V 2110: Pos(-1.349852, -16.749731, 10.490902) Norm(0.621033, -0.034334, 0.783032) UV(0.066207, 0.078426) -V 2111: Pos(-1.303004, -16.724356, 10.412094) Norm(0.240408, -0.169859, 0.955694) UV(0.06931, 0.077122) -V 2112: Pos(-2.075184, -8.088758, 11.025453) Norm(-0.190002, -0.918051, 0.347967) UV(0.272364, 0.3833) -V 2113: Pos(-2.351863, -8.028337, 11.00076) Norm(-0.206862, -0.923119, 0.324128) UV(0.2791, 0.393766) -V 2114: Pos(-2.310163, -8.020205, 10.928261) Norm(-0.100689, -0.872948, -0.477308) UV(0.275854, 0.394884) -V 2115: Pos(-2.110488, -8.080958, 10.951355) Norm(-0.221669, -0.854333, -0.470082) UV(0.270555, 0.386786) -V 2116: Pos(-1.411737, -10.449221, 11.055216) Norm(-0.581264, 0.017802, 0.813521) UV(0.205158, 0.264808) -V 2117: Pos(-1.987228, -10.51475, 10.938002) Norm(-0.189968, -0.014569, 0.981682) UV(0.18417, 0.273662) -V 2118: Pos(-2.079195, -11.233336, 10.912705) Norm(-0.163646, -0.023348, 0.986243) UV(0.167256, 0.252763) -V 2119: Pos(-1.438745, -11.258108, 11.00945) Norm(-0.584815, -0.028061, 0.810681) UV(0.186845, 0.238044) -V 2120: Pos(-1.556002, -6.622393, 10.215128) Norm(-0.498205, 0.097507, -0.861559) UV(0.17646, 0.834594) -V 2121: Pos(-1.169228, -6.79208, 10.176466) Norm(-0.065532, 0.164872, -0.984136) UV(0.189648, 0.840986) -V 2122: Pos(-1.169228, -7.282605, 10.078014) Norm(-0.144541, 0.188615, -0.971356) UV(0.189384, 0.858661) -V 2123: Pos(-1.477652, -7.340909, 10.154701) Norm(-0.56454, 0.099866, -0.819342) UV(0.177904, 0.859984) -V 2124: Pos(-1.251633, -6.16066, 10.950506) Norm(-0.382373, 0.74086, 0.552193) UV(0.348421, 0.338887) -V 2125: Pos(-1.698439, -6.287322, 10.923629) Norm(-0.195826, 0.964582, 0.17673) UV(0.345959, 0.356303) -V 2126: Pos(-1.725091, -6.376571, 10.987803) Norm(-0.08128, 0.34198, 0.936186) UV(0.341804, 0.357596) -V 2127: Pos(-1.617766, -8.434889, 10.834444) Norm(-0.671976, 0.251828, 0.696441) UV(0.23828, 0.349772) -V 2128: Pos(-1.742207, -8.560911, 10.777143) Norm(-0.64331, 0.342189, 0.684879) UV(0.228135, 0.347637) -V 2129: Pos(-1.630251, -8.52635, 10.927332) Norm(-0.670639, 0.350265, 0.653879) UV(0.237049, 0.342557) -V 2130: Pos(-1.67005, -9.910973, 11.019643) Norm(-0.20717, -0.017017, 0.978157) UV(0.206067, 0.288687) -V 2131: Pos(-1.317743, -9.68861, 11.091059) Norm(-0.576325, 0.047715, 0.815826) UV(0.222816, 0.289737) -V 2132: Pos(-1.887853, -10.029766, 10.96452) Norm(-0.208193, -0.01195, 0.978015) UV(0.196029, 0.28846) -V 2133: Pos(-2.134971, -9.70014, 10.915341) Norm(-0.243251, 0.049563, 0.968696) UV(0.192497, 0.304508) -V 2134: Pos(-2.147362, -11.913094, 10.88158) Norm(-0.145363, -0.045959, 0.98831) UV(0.149937, 0.234574) -V 2135: Pos(-1.424389, -11.916042, 10.9701) Norm(-0.581453, -0.068077, 0.810727) UV(0.171301, 0.217289) -V 2136: Pos(-1.457396, -13.006702, 10.901332) Norm(-0.154592, -0.043077, 0.987039) UV(0.143145, 0.187501) -V 2137: Pos(-2.14361, -12.708069, 10.83277) Norm(-0.243065, -0.121518, 0.962368) UV(0.12981, 0.212134) -V 2138: Pos(-1.482154, -13.394543, 10.886303) Norm(-0.290652, -0.034869, 0.956193) UV(0.00992, 0.452357) -V 2139: Pos(-1.521131, -13.728933, 10.869245) Norm(-0.270841, -0.060893, 0.960696) UV(0.01023, 0.440255) -V 2140: Pos(-1.352405, -13.394832, 10.946735) Norm(-0.68195, -0.054182, 0.729389) UV(0.014956, 0.453021) -V 2141: Pos(-1.569724, -13.804028, 9.178466) Norm(-0.341949, -0.477665, -0.809263) UV(0.233645, 0.023522) -V 2142: Pos(-1.556554, -15.176327, 10.612765) Norm(0.066495, -0.078288, 0.994711) UV(0.092126, 0.128448) -V 2143: Pos(-1.523833, -15.174119, 10.608152) Norm(-0.40228, -0.105274, 0.909444) UV(0.093128, 0.127858) -V 2144: Pos(-1.278733, -16.310947, 10.527024) Norm(-0.643748, -0.219998, 0.732932) UV(0.027842, 0.347936) -V 2145: Pos(-1.6946, -17.508713, 10.486735) Norm(-0.099202, -0.136538, 0.985655) UV(0.040393, 0.063768) -V 2146: Pos(-1.647792, -18.260746, 10.417665) Norm(-0.172422, -0.125914, 0.976942) UV(0.026091, 0.040764) -V 2147: Pos(-1.377964, -17.649883, 10.417703) Norm(0.465096, -0.065915, 0.882803) UV(0.046815, 0.052676) -V 2148: Pos(-1.60527, -18.64419, 10.374501) Norm(-0.174056, -0.140076, 0.974722) UV(0.019451, 0.028627) -V 2149: Pos(-2.104193, -7.992638, 11.111403) Norm(-0.072148, -0.376925, 0.923429) UV(0.278526, 0.38226) -V 2150: Pos(-1.735761, -8.047741, 11.115379) Norm(-0.082987, -0.287091, 0.954302) UV(0.27102, 0.365693) -V 2151: Pos(-1.740451, -7.576472, 11.102057) Norm(0.00507, 0.047757, 0.998846) UV(0.293807, 0.363025) -V 2152: Pos(-2.086476, -7.527957, 11.104234) Norm(0.008774, 0.038146, 0.999234) UV(0.298024, 0.377035) -V 2153: Pos(-1.384921, -8.23473, 10.984883) Norm(-0.855629, -0.329147, 0.399451) UV(0.255137, 0.348183) -V 2154: Pos(-1.423346, -8.235925, 11.065187) Norm(-0.465629, -0.702542, 0.538168) UV(0.259828, 0.346563) -V 2155: Pos(-1.704351, -8.192849, 11.00651) Norm(-0.211731, -0.924057, 0.318258) UV(0.260945, 0.365509) -V 2156: Pos(-1.639197, -8.145466, 10.936614) Norm(-0.409582, -0.912272, -0.001451) UV(0.254178, 0.363637) -V 2157: Pos(-1.513784, -8.193819, 10.945643) Norm(-0.536579, -0.768278, 0.349044) UV(0.254576, 0.354934) -V 2158: Pos(-1.773695, -7.975519, 10.829988) Norm(-0.43893, -0.119102, -0.890592) UV(0.25016, 0.384363) -V 2159: Pos(-1.743839, -8.089314, 10.837792) Norm(-0.511612, -0.619766, -0.595099) UV(0.249803, 0.375155) -V 2160: Pos(-1.835904, -8.151918, 10.936614) Norm(-0.206734, -0.850287, -0.484018) UV(0.261148, 0.374559) -V 2161: Pos(-1.903431, -8.095817, 10.89316) Norm(-0.221028, -0.463868, -0.857889) UV(0.261175, 0.380221) -V 2162: Pos(-1.768573, -8.227393, 10.729417) Norm(-0.777845, 0.128296, 0.615221) UV(0.234518, 0.367984) -V 2163: Pos(-1.879506, -8.354883, 10.671727) Norm(-0.62447, 0.395239, 0.673665) UV(0.224025, 0.36266) -V 2164: Pos(-1.862876, -8.719995, 10.74529) Norm(-0.641834, 0.426855, 0.637059) UV(0.218715, 0.343199) -V 2165: Pos(-1.549752, -7.32883, 10.276046) Norm(-0.723059, -0.239191, -0.648053) UV(0.229505, 0.41498) -V 2166: Pos(-1.613087, -7.368873, 10.58026) Norm(-0.904105, -0.335864, -0.264176) UV(0.238316, 0.41098) -V 2167: Pos(-1.642139, -7.342097, 10.578309) Norm(-0.351063, -0.924374, -0.149293) UV(0.238885, 0.412121) -V 2168: Pos(-1.429233, -8.353521, 11.046021) Norm(-0.602907, 0.214404, 0.768462) UV(0.253561, 0.341922) -V 2169: Pos(-1.491613, -8.741117, 11.048288) Norm(-0.400889, 0.075741, 0.91299) UV(0.237929, 0.328279) -V 2170: Pos(-1.549592, -19.040344, 10.324235) Norm(-0.113241, -0.707934, 0.697141) UV(0.012747, 0.015838) -V 2171: Pos(-1.549592, -19.040344, 10.324235) Norm(-0.113241, -0.707934, 0.697141) UV(0.0558, 0.294538) -V 2172: Pos(-1.704544, -19.018551, 10.249135) Norm(-0.644384, -0.692458, 0.324454) UV(0.052078, 0.299207) -V 2173: Pos(-1.718959, -19.010527, 10.123274) Norm(-0.60471, -0.583525, -0.542055) UV(0.047735, 0.298753) -V 2174: Pos(-1.525424, -19.037752, 10.073204) Norm(-0.085389, -0.729266, -0.678882) UV(0.047562, 0.291814) -V 2175: Pos(-1.666733, -6.314691, 10.861187) Norm(-0.534583, 0.835402, -0.12777) UV(0.25896, 0.45673) -V 2176: Pos(-1.626238, -6.141716, 10.746528) Norm(-0.595374, 0.484935, 0.6406) UV(0.252814, 0.46088) -V 2177: Pos(-1.672721, -6.25221, 10.72152) Norm(-0.928179, 0.349543, 0.127687) UV(0.253669, 0.456969) -V 2178: Pos(-1.733558, -6.388943, 10.83286) Norm(-0.813524, 0.479756, -0.328653) UV(0.258956, 0.452949) -V 2179: Pos(-2.33828, -6.358179, 10.968492) Norm(0.0058, 0.348014, 0.937472) UV(0.344877, 0.381182) -V 2180: Pos(-2.387362, -6.697659, 11.029477) Norm(0.020449, 0.144941, 0.989229) UV(0.33198, 0.384366) -V 2181: Pos(-2.085678, -6.715359, 11.022316) Norm(0.000197, 0.137467, 0.990506) UV(0.330097, 0.372863) -V 2182: Pos(-2.063187, -6.375161, 10.969993) Norm(-0.010552, 0.356268, 0.934324) UV(0.34331, 0.370686) -V 2183: Pos(-1.549752, -7.32883, 10.276046) Norm(-0.723059, -0.239191, -0.648053) UV(0.17301, 0.858965) -V 2184: Pos(-1.907469, -7.388284, 10.271775) Norm(-0.558232, -0.56554, -0.607076) UV(0.160705, 0.859827) -V 2185: Pos(-1.801304, -6.719275, 10.347168) Norm(-0.69432, 0.191642, -0.693681) UV(0.166247, 0.837105) -V 2186: Pos(-1.636458, -6.750103, 10.303492) Norm(-0.500897, 0.013884, -0.865395) UV(0.171989, 0.838662) -V 2187: Pos(-1.708224, -8.121936, 10.79423) Norm(-0.843733, -0.39647, 0.361837) UV(0.244576, 0.372611) -V 2188: Pos(-1.343785, -8.263358, 11.080988) Norm(-0.381961, -0.196896, 0.902961) UV(0.260983, 0.341081) -V 2189: Pos(-1.864269, -15.105555, 10.701365) Norm(-0.048215, -0.050662, 0.997551) UV(0.084365, 0.136918) -V 2190: Pos(-1.651784, -7.405212, 10.71756) Norm(-0.906709, -0.169684, -0.386117) UV(0.242063, 0.408827) -V 2191: Pos(-1.663777, -7.352599, 10.71521) Norm(-0.425984, -0.783319, -0.452712) UV(0.242338, 0.410232) -V 2192: Pos(-2.405185, -7.168142, 11.087761) Norm(0.015549, 0.090906, 0.995738) UV(0.314078, 0.387176) -V 2193: Pos(-2.405165, -7.576842, 11.109221) Norm(0.00875, 0.030746, 0.999489) UV(0.298731, 0.38986) -V 2194: Pos(-2.085678, -7.168142, 11.083803) Norm(0.010617, 0.089935, 0.995891) UV(0.312361, 0.374935) -V 2195: Pos(-1.457396, -13.006702, 10.901332) Norm(-0.154592, -0.043077, 0.987039) UV(0.009437, 0.46625) -V 2196: Pos(-2.091886, -8.019276, 10.894547) Norm(-0.126412, -0.431924, -0.893007) UV(0.267433, 0.389345) -V 2197: Pos(-2.157909, -7.937413, 10.873955) Norm(-0.031654, -0.310354, -0.950094) UV(0.268106, 0.394163) -V 2198: Pos(-1.906151, -7.796192, 10.841178) Norm(-0.10101, -0.141172, -0.984818) UV(0.255243, 0.395633) -V 2199: Pos(-2.008223, -8.431429, 10.611705) Norm(-0.583783, 0.476379, 0.657465) UV(0.215519, 0.36041) -V 2200: Pos(-1.788707, -16.384779, 10.648664) Norm(-0.029815, -0.073411, 0.996856) UV(0.060891, 0.098348) -V 2201: Pos(-1.742436, -16.888905, 10.582976) Norm(-0.052185, -0.133194, 0.989715) UV(0.051927, 0.083033) -V 2202: Pos(-1.43321, -16.757023, 10.520564) Norm(0.299958, -0.06985, 0.951392) UV(0.063565, 0.080101) -V 2203: Pos(-1.791214, -18.71126, 10.254866) Norm(-0.754315, -0.217324, 0.619499) UV(0.011437, 0.030622) -V 2204: Pos(-1.704544, -19.018551, 10.249135) Norm(-0.644384, -0.692458, 0.324454) UV(0.007891, 0.019747) -V 2205: Pos(-1.924191, -18.260746, 10.24688) Norm(-0.831753, -0.217635, 0.510707) UV(0.01619, 0.04671) -V 2206: Pos(-2.266857, -9.08555, 10.706399) Norm(-0.579804, 0.641036, 0.502893) UV(0.195478, 0.333218) -V 2207: Pos(-2.448282, -9.184258, 10.659735) Norm(-0.540954, 0.717357, 0.439053) UV(0.186277, 0.331946) -V 2208: Pos(-2.299289, -9.465522, 10.833062) Norm(-0.32988, 0.2199, 0.918054) UV(0.189388, 0.316594) -V 2209: Pos(-2.283073, -9.275537, 10.769731) Norm(-0.4118, 0.315184, 0.855032) UV(0.192428, 0.324788) -V 2210: Pos(-1.072804, -12.610888, 11.619287) Norm(-0.997913, 0.063975, 0.008813) UV(0.035594, 0.481861) -V 2211: Pos(-1.127813, -13.243471, 11.473637) Norm(-0.998519, 0.043837, 0.032225) UV(0.033663, 0.461494) -V 2212: Pos(-2.04794, -16.932194, 10.468987) Norm(-0.471976, -0.169556, 0.865153) UV(0.041481, 0.087924) -V 2213: Pos(-1.990131, -17.543177, 10.37325) Norm(-0.528222, -0.179885, 0.829833) UV(0.030097, 0.06895) -V 2214: Pos(-1.83461, -15.815684, 10.654882) Norm(-0.031926, -0.045139, 0.99847) UV(0.070969, 0.115622) -V 2215: Pos(-2.068865, -8.918087, 10.681447) Norm(-0.609895, 0.491666, 0.621525) UV(0.205766, 0.338946) -V 2216: Pos(-2.417051, -8.835452, 10.512468) Norm(-0.824266, 0.522224, 0.218787) UV(0.193456, 0.349122) -V 2217: Pos(-2.207391, -15.078072, 10.572803) Norm(-0.344301, -0.049958, 0.937529) UV(0.074114, 0.144938) -V 2218: Pos(-2.177045, -15.833379, 10.551816) Norm(-0.427823, -0.079463, 0.900363) UV(0.060038, 0.122137) -V 2219: Pos(-2.093703, -17.534761, 10.272506) Norm(-0.89844, -0.230732, 0.373589) UV(0.025682, 0.071708) -V 2220: Pos(-1.966319, -9.06039, 10.851115) Norm(-0.454246, 0.265916, 0.850264) UV(0.209685, 0.327711) -V 2221: Pos(-2.223232, -16.977337, 10.330315) Norm(-0.870486, -0.235218, 0.432351) UV(0.03386, 0.090529) -V 2222: Pos(-2.109481, -16.439014, 10.5207) Norm(-0.455691, -0.123344, 0.881551) UV(0.049816, 0.103301) -V 2223: Pos(-2.334428, -16.556122, 10.330315) Norm(-0.878794, -0.208099, 0.429437) UV(0.038849, 0.105046) -V 2224: Pos(-2.090349, -8.966093, 10.756506) Norm(-0.599027, 0.535772, 0.595076) UV(0.205398, 0.334794) -V 2225: Pos(-2.751169, -10.557201, 10.787947) Norm(-0.319336, 0.019909, 0.947432) UV(0.159323, 0.284706) -V 2226: Pos(-2.729798, -9.995911, 10.781733) Norm(-0.383136, 0.068865, 0.921121) UV(0.166605, 0.302301) -V 2227: Pos(-2.394967, -7.933569, 11.111086) Norm(-0.05423, -0.301157, 0.952031) UV(0.285324, 0.392693) -V 2228: Pos(-2.372285, -7.999986, 11.068898) Norm(-0.141619, -0.734171, 0.664031) UV(0.282086, 0.39313) -V 2229: Pos(-2.046647, -8.442286, 10.563846) Norm(-0.673687, 0.73443, -0.082207) UV(0.212617, 0.361261) -V 2230: Pos(-1.849795, -8.301254, 10.626569) Norm(-0.722077, 0.690777, -0.037844) UV(0.224701, 0.367108) -V 2231: Pos(-2.466145, -8.938522, 10.501971) Norm(-0.892385, 0.382483, 0.239488) UV(0.189589, 0.34709) -V 2232: Pos(-2.373246, -9.009398, 10.339214) Norm(-0.746223, 0.469444, -0.471989) UV(0.184695, 0.35312) -V 2233: Pos(-2.578704, -9.240252, 10.483292) Norm(-0.812963, 0.574665, -0.094078) UV(0.176573, 0.338393) -V 2234: Pos(-2.553082, -12.400418, 10.7947) Norm(-0.276022, -0.254164, 0.926937) UV(0.126407, 0.2314) -V 2235: Pos(-2.629663, -12.497499, 10.712932) Norm(-0.61373, -0.770221, 0.17348) UV(0.121121, 0.231025) -V 2236: Pos(-2.402103, -12.66237, 10.717752) Norm(-0.709735, -0.661293, 0.242834) UV(0.122244, 0.220221) -V 2237: Pos(-2.305578, -7.688093, 10.816572) Norm(0.163879, -0.172132, -0.971346) UV(0.269109, 0.405146) -V 2238: Pos(-2.205755, -7.703571, 10.837906) Norm(0.070025, -0.165237, -0.983765) UV(0.265933, 0.403404) -V 2239: Pos(-2.314135, -7.9052, 10.855486) Norm(0.144867, -0.332018, -0.932082) UV(0.272295, 0.398614) -V 2240: Pos(-2.067234, -13.127293, 10.699453) Norm(-0.815098, -0.328482, 0.477194) UV(0.11789, 0.199227) -V 2241: Pos(-2.36761, -12.629505, 10.622917) Norm(-0.738344, -0.550157, 0.390097) UV(0.118292, 0.2203) -V 2242: Pos(-2.501775, -12.741263, 10.590595) Norm(-0.260692, -0.037249, 0.964703) UV(0.111968, 0.21955) -V 2243: Pos(-2.198422, -13.263322, 10.67575) Norm(-0.235216, -0.034269, 0.971339) UV(0.111459, 0.197814) -V 2244: Pos(-2.655018, -14.455397, 10.467563) Norm(-0.436325, -0.098256, 0.894408) UV(0.073053, 0.172466) -V 2245: Pos(-2.854212, -13.194789, 10.48543) Norm(-0.417491, -0.065497, 0.906317) UV(0.092451, 0.21326) -V 2246: Pos(-2.482379, -15.891846, 10.348961) Norm(-0.874031, -0.178265, 0.451986) UV(0.04794, 0.127276) -V 2247: Pos(-2.227589, -9.040765, 10.622972) Norm(-0.604185, 0.525128, 0.599334) UV(0.196533, 0.337709) -V 2248: Pos(-2.721328, -9.354946, 10.519536) Norm(-0.490254, 0.794132, -0.359174) UV(0.168472, 0.332222) -V 2249: Pos(-2.81154, -9.429537, 10.610997) Norm(-0.544331, 0.573615, 0.612103) UV(0.165955, 0.325914) -V 2250: Pos(-2.388005, -9.190729, 10.55649) Norm(-0.623649, 0.631264, 0.461051) UV(0.186827, 0.33714) -V 2251: Pos(-2.713609, -9.737015, 10.769185) Norm(-0.423062, 0.1896, 0.886042) UV(0.16956, 0.311265) -V 2252: Pos(-2.331592, -8.002198, 10.885482) Norm(0.648413, -0.528996, -0.54747) UV(0.275526, 0.396933) -V 2253: Pos(-1.84307, -18.260746, 10.041556) Norm(-0.589493, -0.216923, -0.778102) UV(0.391525, 0.043558) -V 2254: Pos(-1.922392, -18.278978, 10.137504) Norm(-0.912953, -0.251327, -0.321485) UV(0.392642, 0.04774) -V 2255: Pos(-2.092446, -17.477962, 10.073608) Norm(-0.896965, -0.240931, -0.370684) UV(0.364807, 0.052586) -V 2256: Pos(-2.005365, -17.428305, 9.968328) Norm(-0.58066, -0.205189, -0.787865) UV(0.362657, 0.048053) -V 2257: Pos(-2.494581, -9.18966, 10.381351) Norm(-0.820993, 0.462104, -0.335307) UV(0.177552, 0.346047) -V 2258: Pos(-2.656921, -9.465759, 10.339932) Norm(-0.81926, 0.558789, -0.128713) UV(0.163309, 0.341742) -V 2259: Pos(-2.7163, -9.56761, 9.977742) Norm(-0.793026, 0.607371, -0.047014) UV(0.1534, 0.353037) -V 2260: Pos(-2.770328, -9.642969, 9.994534) Norm(-0.839099, 0.543956, 0.004994) UV(0.150558, 0.350949) -V 2261: Pos(-2.778081, -9.64354, 10.389163) Norm(-0.857967, 0.504826, -0.095099) UV(0.155858, 0.337887) -V 2262: Pos(-2.908974, -12.000732, 10.76703) Norm(-0.229102, -0.041112, 0.972534) UV(0.127578, 0.250157) -V 2263: Pos(-2.808774, -11.221302, 10.781642) Norm(-0.270314, 0.015353, 0.96265) UV(0.14686, 0.267203) -V 2264: Pos(-3.00726, -11.210028, 10.70614) Norm(-0.223263, 0.032724, 0.974209) UV(0.141751, 0.271336) -V 2265: Pos(-3.096545, -12.072074, 10.711435) Norm(-0.296158, -0.251879, 0.921329) UV(0.121383, 0.252918) -V 2266: Pos(-2.587489, -15.395438, 10.352603) Norm(-0.875286, -0.19023, 0.444619) UV(0.054794, 0.143962) -V 2267: Pos(-2.518812, -15.331497, 10.400558) Norm(-0.490424, -0.101783, 0.86552) UV(0.058541, 0.144296) -V 2268: Pos(-2.89286, -12.185476, 10.742253) Norm(-0.280253, -0.260625, 0.923868) UV(0.12332, 0.245461) -V 2269: Pos(-2.640792, -12.378565, 10.600274) Norm(-0.698271, -0.71533, 0.026824) UV(0.115333, 0.233337) -V 2270: Pos(-2.658064, -12.402692, 10.564727) Norm(-0.357903, -0.172445, 0.917697) UV(0.113686, 0.23279) -V 2271: Pos(-2.864407, -9.43811, 10.514826) Norm(-0.338674, 0.837534, -0.428762) UV(0.161899, 0.32821) -V 2272: Pos(-2.862229, -9.439671, 10.569406) Norm(-0.464526, 0.660378, 0.590014) UV(0.163185, 0.326286) -V 2273: Pos(-2.913175, -12.966008, 10.473389) Norm(-0.41802, -0.062637, 0.906276) UV(0.095145, 0.221144) -V 2274: Pos(-2.607447, -15.153191, 9.869965) Norm(-0.91461, -0.215539, -0.342098) UV(0.283798, 0.066735) -V 2275: Pos(-2.734756, -14.372398, 9.790362) Norm(-0.863706, -0.176876, -0.47194) UV(0.256837, 0.069804) -V 2276: Pos(-2.532157, -14.981848, 9.697548) Norm(-0.628008, -0.182824, -0.756427) UV(0.277185, 0.061181) -V 2277: Pos(-2.766062, -9.642654, 9.77739) Norm(-0.628983, 0.661143, 0.408987) UV(0.14676, 0.358105) -V 2278: Pos(-2.566023, -9.415908, 9.667233) Norm(-0.626746, 0.629283, -0.459557) UV(0.154666, 0.367496) -V 2279: Pos(-2.84213, -9.596098, 9.704655) Norm(-0.518467, 0.775525, 0.360214) UV(0.143716, 0.361183) -V 2280: Pos(-2.752372, -9.669886, 9.618478) Norm(-0.286501, 0.338308, -0.896362) UV(0.091245, 0.073277) -V 2281: Pos(-2.818924, -9.593734, 9.661773) Norm(-0.445122, 0.629248, -0.637113) UV(0.088732, 0.076051) -V 2282: Pos(-2.566023, -9.415908, 9.667233) Norm(-0.626746, 0.629283, -0.459557) UV(0.081579, 0.068456) -V 2283: Pos(-2.858445, -12.156058, 10.561052) Norm(-0.4984, -0.859454, 0.113738) UV(0.111802, 0.2431) -V 2284: Pos(-3.036678, -12.283954, 10.483794) Norm(-0.446267, -0.13954, 0.883954) UV(0.104456, 0.242875) -V 2285: Pos(-2.972191, -12.612654, 10.474722) Norm(-0.411991, -0.091007, 0.906632) UV(0.100267, 0.232396) -V 2286: Pos(-2.764992, -12.225802, 10.562225) Norm(-0.558376, -0.798242, 0.225889) UV(0.112829, 0.239646) -V 2287: Pos(-1.044146, -7.495818, 11.119686) Norm(-0.52762, 0.090295, 0.844668) UV(0.028694, 0.663775) -V 2288: Pos(-1.085383, -7.955532, 11.137898) Norm(-0.523054, 0.08997, 0.847538) UV(0.026613, 0.647075) -V 2289: Pos(-2.903601, -9.965091, 10.678426) Norm(-0.351655, 0.11833, 0.928621) UV(0.16035, 0.305343) -V 2290: Pos(-3.308419, -9.620587, 10.553886) Norm(-0.2298, 0.52565, 0.819075) UV(0.147918, 0.317717) -V 2291: Pos(-3.288734, -9.946285, 10.609207) Norm(-0.122834, 0.127089, 0.984256) UV(0.148299, 0.307743) -V 2292: Pos(-2.866857, -9.769486, 9.828421) Norm(-0.648404, 0.656204, 0.385965) UV(0.142687, 0.353403) -V 2293: Pos(-2.953817, -9.838591, 9.82445) Norm(-0.510242, 0.722499, 0.466527) UV(0.139238, 0.351676) -V 2294: Pos(-2.917527, -9.85483, 10.020202) Norm(-0.558631, 0.826186, 0.073135) UV(0.142908, 0.346088) -V 2295: Pos(-2.849001, -9.796637, 10.039325) Norm(-0.75855, 0.650283, 0.041631) UV(0.145847, 0.346835) -V 2296: Pos(-3.160873, -9.840553, 9.72998) Norm(-0.504131, 0.742031, 0.441863) UV(0.131372, 0.353452) -V 2297: Pos(-2.957024, -9.760721, 9.764094) Norm(-0.380007, 0.550006, 0.743699) UV(0.139151, 0.355098) -V 2298: Pos(-2.910234, -12.114196, 10.561384) Norm(-0.394568, -0.844574, -0.361954) UV(0.111308, 0.245354) -V 2299: Pos(-3.016322, -12.06806, 10.527814) Norm(-0.807879, -0.546908, -0.219596) UV(0.109439, 0.248569) -V 2300: Pos(-2.936323, -10.530775, 10.69096) Norm(-0.287246, 0.042789, 0.956901) UV(0.153716, 0.288341) -V 2301: Pos(-3.224179, -11.203824, 10.687927) Norm(-0.08995, 0.025561, 0.995618) UV(0.136631, 0.275364) -V 2302: Pos(-3.255465, -11.990829, 10.704931) Norm(-0.260743, -0.275053, 0.925397) UV(0.119792, 0.258305) -V 2303: Pos(-4.090023, -11.625453, 10.485364) Norm(-0.510101, -0.859622, -0.029082) UV(0.112218, 0.284678) -V 2304: Pos(-4.055443, -11.57448, 10.431709) Norm(-0.142713, -0.404383, -0.903386) UV(0.110148, 0.284931) -V 2305: Pos(-3.210847, -12.049461, 10.54399) Norm(-0.150272, -0.38005, -0.912678) UV(0.11188, 0.254974) -V 2306: Pos(-3.283368, -12.109606, 10.597438) Norm(-0.514724, -0.85624, -0.043723) UV(0.115071, 0.256386) -V 2307: Pos(-1.780114, -8.205711, 10.675238) Norm(-0.872941, 0.487679, -0.01198) UV(0.231821, 0.371059) -V 2308: Pos(-1.669861, -8.168641, 10.51627) Norm(-0.851943, 0.456931, -0.255749) UV(0.226063, 0.38093) -V 2309: Pos(-1.880324, -8.439331, 10.3913) Norm(-0.654032, 0.670598, -0.350058) UV(0.21077, 0.3716) -V 2310: Pos(-3.196675, -10.503183, 10.665097) Norm(-0.108499, 0.051448, 0.992764) UV(0.147152, 0.292063) -V 2311: Pos(-3.006472, -13.175342, 10.385448) Norm(-0.885324, -0.144174, 0.442058) UV(0.087372, 0.217321) -V 2312: Pos(-2.976125, -13.408341, 10.378344) Norm(-0.893525, -0.160862, 0.41921) UV(0.083583, 0.209921) -V 2313: Pos(-3.260331, -12.742928, 9.787264) Norm(-0.697622, -0.499405, -0.513729) UV(0.20028, 0.089514) -V 2314: Pos(-3.29783, -12.592721, 9.665867) Norm(-0.637717, -0.489979, -0.594338) UV(0.193523, 0.088682) -V 2315: Pos(-3.10816, -12.852532, 9.675258) Norm(-0.606275, -0.445258, -0.658921) UV(0.202783, 0.0823) -V 2316: Pos(-3.137525, -12.918606, 9.783612) Norm(-0.772333, -0.626148, 0.10696) UV(0.206298, 0.085195) -V 2317: Pos(-2.818924, -9.593734, 9.661773) Norm(-0.445122, 0.629248, -0.637113) UV(0.143682, 0.363003) -V 2318: Pos(-3.378786, -10.3075, 9.63063) Norm(-0.14065, 0.004309, -0.99005) UV(0.115025, 0.093199) -V 2319: Pos(-3.477529, -10.315073, 9.637736) Norm(-0.089928, 0.006048, -0.99593) UV(0.11548, 0.096598) -V 2320: Pos(-3.482049, -10.134243, 9.649328) Norm(-0.276838, 0.297584, -0.913676) UV(0.109221, 0.097147) -V 2321: Pos(-3.188444, -10.093182, 9.610175) Norm(-0.184383, 0.12827, -0.974448) UV(0.107239, 0.086978) -V 2322: Pos(-4.36619, -11.100297, 10.561359) Norm(-0.123894, 0.016455, 0.992159) UV(0.120499, 0.294157) -V 2323: Pos(-4.408142, -11.305372, 10.556713) Norm(-0.288454, -0.298956, 0.909626) UV(0.117304, 0.293119) -V 2324: Pos(-3.976998, -11.5569, 10.610034) Norm(-0.288234, -0.292904, 0.911663) UV(0.116507, 0.282673) -V 2325: Pos(-3.858698, -11.153721, 10.621688) Norm(-0.109894, 0.021382, 0.993713) UV(0.125632, 0.286577) -V 2326: Pos(-3.149572, -12.176467, 10.416687) Norm(-0.905091, -0.139699, 0.401616) UV(0.102471, 0.247852) -V 2327: Pos(-3.077405, -12.113234, 10.489515) Norm(-0.586074, -0.177934, 0.790479) UV(0.106372, 0.248314) -V 2328: Pos(-3.121529, -11.945573, 10.521354) Norm(-0.711024, -0.621649, -0.32863) UV(0.108004, 0.253915) -V 2329: Pos(-3.155978, -11.909833, 10.436028) Norm(-0.591715, -0.649197, 0.47793) UV(0.105632, 0.25541) -V 2330: Pos(-3.127365, -12.379873, 10.396976) Norm(-0.896077, -0.153374, 0.416559) UV(0.099385, 0.242086) -V 2331: Pos(-3.313597, -12.659753, 9.837851) Norm(-0.273061, -0.352928, 0.894919) UV(0.074966, 0.248434) -V 2332: Pos(-2.945592, -13.136658, 9.781243) Norm(-0.876021, -0.407291, 0.258266) UV(0.067812, 0.227787) -V 2333: Pos(-3.091988, -12.59893, 9.860486) Norm(-0.601761, -0.246544, 0.759671) UV(0.080639, 0.243809) -V 2334: Pos(-3.068042, -12.766568, 10.394522) Norm(-0.883642, -0.147469, 0.44433) UV(0.09388, 0.230201) -V 2335: Pos(-3.095748, -12.472841, 9.970595) Norm(-0.9788, -0.191293, 0.073198) UV(0.085789, 0.245262) -V 2336: Pos(-3.043196, -12.736666, 9.9058) Norm(-0.97608, -0.213038, 0.043396) UV(0.079459, 0.238774) -V 2337: Pos(-3.265914, -12.055745, 10.167423) Norm(-0.271334, -0.910397, 0.312339) UV(0.096237, 0.256915) -V 2338: Pos(-3.155249, -12.083374, 10.175799) Norm(-0.822358, -0.53479, 0.194235) UV(0.096424, 0.253309) -V 2339: Pos(-3.149529, -12.141628, 10.106615) Norm(-0.976002, -0.200003, 0.086137) UV(0.093818, 0.252255) -V 2340: Pos(-3.726186, -10.063347, 10.572745) Norm(-0.105096, 0.121084, 0.987063) UV(0.137209, 0.305703) -V 2341: Pos(-3.706351, -9.75007, 10.529536) Norm(-0.192334, 0.449545, 0.872306) UV(0.137168, 0.313085) -V 2342: Pos(-4.091561, -9.864157, 10.502254) Norm(-0.167101, 0.436667, 0.883968) UV(0.129705, 0.309079) -V 2343: Pos(-4.212321, -10.060001, 10.521699) Norm(-0.11071, 0.129142, 0.985427) UV(0.128487, 0.305668) -V 2344: Pos(-3.189012, -12.083374, 9.988599) Norm(-0.566425, -0.678553, 0.467684) UV(0.091451, 0.254866) -V 2345: Pos(-3.157864, -12.239388, 9.926642) Norm(-0.624196, -0.306874, 0.718476) UV(0.088132, 0.252154) -V 2346: Pos(-3.106947, -12.453196, 9.89397) Norm(-0.653734, -0.263995, 0.709182) UV(0.084081, 0.247057) -V 2347: Pos(-3.556982, -12.385485, 9.885464) Norm(-0.134551, -0.250508, 0.958719) UV(0.078563, 0.25965) -V 2348: Pos(-3.602459, -12.24355, 9.76733) Norm(-0.714575, -0.51116, -0.477595) UV(0.074495, 0.265406) -V 2349: Pos(-3.457225, -12.467001, 9.786224) Norm(-0.700128, -0.510342, -0.499371) UV(0.073496, 0.256834) -V 2350: Pos(-3.378272, -12.63625, 9.837485) Norm(-0.712471, -0.648369, 0.268333) UV(0.074508, 0.250623) -V 2351: Pos(-3.588567, -12.397696, 9.874467) Norm(-0.720035, -0.654086, 0.231777) UV(0.07767, 0.260324) -V 2352: Pos(-3.463119, -10.05141, 9.688941) Norm(-0.572887, 0.733353, -0.366051) UV(0.105984, 0.096984) -V 2353: Pos(-3.12214, -9.804996, 9.66156) Norm(-0.482, 0.643339, -0.594804) UV(0.097018, 0.08559) -V 2354: Pos(-3.471537, -10.069489, 9.752176) Norm(-0.527318, 0.749504, 0.400225) UV(0.120458, 0.344942) -V 2355: Pos(-3.463119, -10.05141, 9.688941) Norm(-0.572887, 0.733353, -0.366051) UV(0.119536, 0.347187) -V 2356: Pos(-3.665874, -10.211595, 9.702301) Norm(-0.631793, 0.722248, -0.281418) UV(0.112524, 0.340642) -V 2357: Pos(-3.645476, -10.203206, 9.747971) Norm(-0.616317, 0.727876, 0.300583) UV(0.114259, 0.339935) -V 2358: Pos(-3.119996, -12.216958, 10.627561) Norm(-0.498024, -0.867143, 0.005931) UV(0.116646, 0.250361) -V 2359: Pos(-3.824407, -11.700101, 10.346353) Norm(-0.514347, -0.693615, 0.504326) UV(0.103368, 0.277034) -V 2360: Pos(-3.870122, -11.886867, 10.121688) Norm(-0.609702, -0.751705, 0.251401) UV(0.094282, 0.275181) -V 2361: Pos(-3.772861, -10.479422, 10.610777) Norm(-0.102533, 0.063143, 0.992724) UV(0.134737, 0.297276) -V 2362: Pos(-3.870287, -11.858734, 9.977242) Norm(-0.56351, -0.524834, 0.637971) UV(0.089637, 0.276599) -V 2363: Pos(-3.328821, -12.055745, 9.981318) Norm(-0.258742, -0.806963, 0.530908) UV(0.090572, 0.258514) -V 2364: Pos(-3.432128, -12.110918, 9.927185) Norm(-0.10997, -0.311531, 0.943851) UV(0.087571, 0.260368) -V 2365: Pos(-3.910312, -11.974414, 9.926496) Norm(-0.398035, -0.341477, 0.851447) UV(0.085087, 0.275632) -V 2366: Pos(-3.737972, -12.188134, 9.914747) Norm(-0.239044, -0.316815, 0.917871) UV(0.081593, 0.267493) -V 2367: Pos(-3.968431, -11.133887, 9.631636) Norm(0.274475, -0.001746, -0.961593) UV(0.144404, 0.111537) -V 2368: Pos(-3.912663, -10.588465, 9.628172) Norm(0.082292, 0.072775, -0.993948) UV(0.1258, 0.111094) -V 2369: Pos(-3.80505, -10.638601, 9.654922) Norm(0.130978, -0.054025, -0.989912) UV(0.1273, 0.107198) -V 2370: Pos(-3.835178, -11.133887, 9.66107) Norm(0.127297, 0.006626, -0.991843) UV(0.144021, 0.107067) -V 2371: Pos(-3.771517, -12.185535, 9.893526) Norm(-0.775866, -0.625261, 0.084143) UV(0.080886, 0.268548) -V 2372: Pos(-3.791686, -12.047046, 9.831679) Norm(-0.625475, -0.44688, -0.639593) UV(0.079377, 0.273322) -V 2373: Pos(-3.739969, -12.05131, 9.770644) Norm(-0.721995, -0.524004, -0.451822) UV(0.076718, 0.273005) -V 2374: Pos(-3.92397, -11.641424, 10.311417) Norm(-0.799243, -0.466654, 0.378742) UV(0.10238, 0.28076) -V 2375: Pos(-3.914781, -11.746284, 10.124917) Norm(-0.895547, -0.409269, 0.174628) UV(0.09564, 0.279324) -V 2376: Pos(-3.966005, -11.530141, 10.333027) Norm(-0.8179, -0.485153, 0.309301) UV(0.103983, 0.284075) -V 2377: Pos(-3.963961, -11.460775, 10.404913) Norm(-0.677396, -0.628678, -0.381967) UV(0.106587, 0.285159) -V 2378: Pos(-4.331882, -11.071762, 10.377054) Norm(-0.747749, -0.324099, -0.579509) UV(0.108888, 0.300171) -V 2379: Pos(-3.805161, -11.621471, 10.440938) Norm(-0.438264, -0.834992, -0.332737) UV(0.107723, 0.277849) -V 2380: Pos(-3.914311, -11.523964, 10.43109) Norm(-0.658652, -0.64598, -0.385859) UV(0.107049, 0.282789) -V 2381: Pos(-4.296278, -10.43214, 10.551233) Norm(-0.117886, 0.065679, 0.990853) UV(0.127079, 0.300632) -V 2382: Pos(-4.044213, -10.756116, 9.591293) Norm(-0.078316, 0.102923, -0.991601) UV(0.13181, 0.115236) -V 2383: Pos(-3.976511, -11.577749, 10.11306) Norm(-0.882293, -0.466584, 0.062112) UV(0.096898, 0.284845) -V 2384: Pos(-3.936088, -11.728063, 9.631042) Norm(-0.461677, -0.373595, -0.804538) UV(0.162923, 0.110618) -V 2385: Pos(-4.111187, -11.538223, 9.599883) Norm(-0.32173, -0.15554, -0.933969) UV(0.155953, 0.113435) -V 2386: Pos(-3.947571, -11.578018, 9.623493) Norm(0.159889, -0.001775, -0.987133) UV(0.157577, 0.109722) -V 2387: Pos(-4.046303, -11.772637, 9.921839) Norm(-0.608663, -0.295554, 0.736327) UV(0.087332, 0.283168) -V 2388: Pos(-3.92456, -11.727432, 9.978444) Norm(-0.775854, -0.324686, 0.540953) UV(0.091394, 0.281298) -V 2389: Pos(-3.983006, -11.607186, 9.977052) Norm(-0.761121, -0.379993, 0.525643) UV(0.092649, 0.28531) -V 2390: Pos(-4.15457, -11.533579, 9.917492) Norm(-0.637036, -0.271472, 0.721449) UV(0.09016, 0.290899) -V 2391: Pos(-4.819672, -10.418373, 10.482132) Norm(-0.139401, 0.064759, 0.988116) UV(0.122303, 0.302131) -V 2392: Pos(-4.773922, -9.96978, 10.444189) Norm(-0.132421, 0.449618, 0.883351) UV(0.122461, 0.305069) -V 2393: Pos(-4.945379, -10.997784, 10.482132) Norm(-0.296558, -0.259815, 0.918994) UV(0.118997, 0.300702) -V 2394: Pos(-4.02913, -11.546509, 9.974909) Norm(-0.726966, -0.455519, 0.513831) UV(0.093075, 0.287633) -V 2395: Pos(-3.602137, -12.172229, 9.648364) Norm(-0.469261, -0.341406, -0.814393) UV(0.178654, 0.098987) -V 2396: Pos(-3.602459, -12.24355, 9.76733) Norm(-0.714575, -0.51116, -0.477595) UV(0.182916, 0.101293) -V 2397: Pos(-3.739969, -12.05131, 9.770644) Norm(-0.721995, -0.524004, -0.451822) UV(0.176426, 0.106393) -V 2398: Pos(-3.798341, -11.969585, 9.766771) Norm(-0.739301, -0.553562, -0.38341) UV(0.173567, 0.108409) -V 2399: Pos(-3.747552, -11.978821, 9.640821) Norm(-0.445461, -0.362607, -0.818585) UV(0.171861, 0.104011) -V 2400: Pos(-3.842368, -11.971707, 9.828241) Norm(-0.647567, -0.471195, -0.598859) UV(0.080247, 0.276193) -V 2401: Pos(-3.933607, -11.985428, 9.900023) Norm(-0.812, -0.582862, -0.030469) UV(0.084012, 0.27618) -V 2402: Pos(-4.041349, -11.807811, 9.89884) Norm(-0.852581, -0.521858, -0.027751) UV(0.086174, 0.282445) -V 2403: Pos(-3.998628, -11.739429, 9.817639) Norm(-0.731051, -0.481088, -0.483859) UV(0.083368, 0.284847) -V 2404: Pos(-3.31674, -9.575517, 10.492373) Norm(-0.286817, 0.907004, -0.30835) UV(0.146961, 0.319855) -V 2405: Pos(-3.699945, -9.69172, 10.468014) Norm(-0.248554, 0.944796, -0.213496) UV(0.1367, 0.315104) -V 2406: Pos(-4.12644, -9.796011, 10.430256) Norm(-0.173838, 0.978671, -0.109468) UV(0.128402, 0.310317) -V 2407: Pos(-4.334126, -9.834526, 10.415021) Norm(-0.165778, 0.985977, -0.019134) UV(0.125756, 0.308291) -V 2408: Pos(-4.76964, -9.917847, 10.376956) Norm(-0.078658, 0.996849, -0.010259) UV(0.122141, 0.305522) -V 2409: Pos(-5.482219, -9.900102, 10.343817) Norm(-0.197235, 0.569515, 0.797966) UV(0.120492, 0.303733) -V 2410: Pos(-5.482219, -10.451326, 10.381976) Norm(-0.362542, 0.041323, 0.931051) UV(0.120194, 0.303278) -V 2411: Pos(-5.221561, -10.462249, 10.41915) Norm(-0.149992, 0.05491, 0.987161) UV(0.120579, 0.302942) -V 2412: Pos(-5.126699, -9.940458, 10.391211) Norm(-0.082132, 0.540522, 0.837311) UV(0.121026, 0.304164) -V 2413: Pos(-5.249636, -10.795758, 10.430723) Norm(-0.300607, -0.207045, 0.931004) UV(0.119839, 0.302438) -V 2414: Pos(-5.482219, -10.464588, 10.298527) Norm(-0.32857, -0.006779, -0.944455) UV(0.120024, 0.303388) -V 2415: Pos(-5.482219, -10.675086, 10.298527) Norm(-0.382756, -0.163434, -0.909279) UV(0.119819, 0.303141) -V 2416: Pos(-5.534324, -10.62731, 10.345407) Norm(-0.99308, -0.100142, 0.061353) UV(0.119954, 0.303146) -V 2417: Pos(-5.534324, -10.460518, 10.339834) Norm(-0.999868, 0.013305, 0.009352) UV(0.120096, 0.303335) -V 2418: Pos(-4.59109, -11.312376, 10.44697) Norm(-0.535829, -0.842386, 0.057209) UV(0.115893, 0.296151) -V 2419: Pos(-5.280281, -10.898594, 10.364237) Norm(-0.571792, -0.820398, 0.000506) UV(0.119448, 0.302584) -V 2420: Pos(-4.94562, -11.085231, 10.412179) Norm(-0.54259, -0.837067, 0.070107) UV(0.118165, 0.300808) -V 2421: Pos(-5.488577, -10.644031, 10.378421) Norm(-0.440089, -0.145422, 0.8861) UV(0.119996, 0.303062) -V 2422: Pos(-5.509284, -10.721109, 10.330832) Norm(-0.789624, -0.609688, -0.069099) UV(0.119862, 0.30305) -V 2423: Pos(-5.212198, -10.81434, 10.288183) Norm(-0.099583, -0.284226, -0.953571) UV(0.11917, 0.302876) -V 2424: Pos(-1.19064, -11.946148, 8.777954) Norm(-0.112576, -0.011415, -0.993578) UV(0.242898, 0.180061) -V 2425: Pos(-0.833632, -11.946148, 8.812037) Norm(0.074452, -0.014173, -0.997124) UV(0.230536, 0.180042) -V 2426: Pos(-0.833632, -12.382905, 8.813573) Norm(0.066687, -0.039235, -0.997002) UV(0.230532, 0.164978) -V 2427: Pos(-1.19064, -12.382905, 8.789777) Norm(-0.415302, -0.048259, -0.908403) UV(0.242877, 0.164987) -V 2428: Pos(-0.811516, -15.109277, 9.60224) Norm(-0.177695, -0.109479, -0.977977) UV(0.150742, 0.536747) -V 2429: Pos(-0.800098, -16.261761, 9.718607) Norm(-0.266158, -0.116672, -0.956843) UV(0.152857, 0.495917) -V 2430: Pos(-1.042396, -16.276228, 9.83554) Norm(-0.384833, -0.150412, -0.910648) UV(0.162466, 0.495366) -V 2431: Pos(-0.849602, -8.249635, 9.772346) Norm(-0.022361, 0.365298, -0.930622) UV(0.201244, 0.894588) -V 2432: Pos(-1.169228, -8.249635, 9.782836) Norm(-0.021662, 0.382288, -0.923789) UV(0.190068, 0.894703) -V 2433: Pos(-1.169228, -8.035152, 9.891067) Norm(-0.070337, 0.366269, -0.927847) UV(0.189803, 0.886274) -V 2434: Pos(-0.849602, -8.035152, 9.88095) Norm(-0.038625, 0.338212, -0.940277) UV(0.201071, 0.886157) -V 2435: Pos(-0.672965, -5.629778, 10.543036) Norm(0.001033, 0.587912, 0.808924) UV(0.244955, 0.498965) -V 2436: Pos(-0.529975, -5.629779, 10.543036) Norm(-0.0, 0.588664, 0.808378) UV(0.245001, 0.503641) -V 2437: Pos(-0.625542, -5.216838, 10.85706) Norm(-0.180141, 0.4277, -0.885789) UV(0.278008, 0.500505) -V 2438: Pos(-0.529975, -5.204648, 10.85706) Norm(1e-06, 0.399343, -0.916802) UV(0.278401, 0.503701) -V 2439: Pos(-0.529975, -5.868719, 10.77104) Norm(1e-06, 0.828235, -0.56038) UV(0.255831, 0.503655) -V 2440: Pos(-0.672965, -5.868718, 10.77104) Norm(-0.028807, 0.831212, -0.555208) UV(0.255815, 0.498996) -V 2441: Pos(-0.942298, -5.669748, 10.922654) Norm(-0.940071, 0.312321, 0.136832) UV(0.034053, 0.730814) -V 2442: Pos(-1.000314, -5.927032, 10.959153) Norm(-0.778791, 0.380872, 0.498419) UV(0.031629, 0.721385) -V 2443: Pos(-0.812458, -5.629776, 10.543036) Norm(0.17593, 0.620646, 0.764099) UV(0.244855, 0.494371) -V 2444: Pos(-0.812458, -5.772871, 10.659025) Norm(0.239694, 0.671399, 0.701263) UV(0.251155, 0.494348) -V 2445: Pos(-0.849602, -6.100002, 10.330626) Norm(0.031673, 0.17954, -0.983241) UV(0.200952, 0.816744) -V 2446: Pos(-1.169228, -6.049315, 10.323895) Norm(0.145741, 0.131732, -0.980513) UV(0.190194, 0.815042) -V 2447: Pos(-1.169228, -5.436759, 10.360969) Norm(0.271446, 0.57559, -0.771371) UV(0.18998, 0.794435) -V 2448: Pos(-0.849602, -5.498949, 10.374091) Norm(0.111211, 0.650358, -0.751443) UV(0.200805, 0.796411) -V 2449: Pos(-0.849602, -8.51499, 9.69622) Norm(-0.007982, 0.124048, -0.992244) UV(0.201391, 0.904214) -V 2450: Pos(-1.169228, -8.51499, 9.69622) Norm(-0.007196, 0.140979, -0.989986) UV(0.190308, 0.904417) -V 2451: Pos(-0.849602, -6.810968, 10.148752) Norm(-0.055832, 0.219926, -0.973917) UV(0.200815, 0.841948) -V 2452: Pos(-0.849602, -6.254771, 10.283937) Norm(0.000941, 0.266742, -0.963768) UV(0.200922, 0.822233) -V 2453: Pos(-0.529975, -6.254466, 10.285172) Norm(-0.0, 0.306957, -0.951723) UV(0.211787, 0.82223) -V 2454: Pos(-0.529975, -6.829856, 10.121038) Norm(-0.0, 0.230494, -0.973074) UV(0.211964, 0.842786) -V 2455: Pos(-0.849602, -7.55182, 9.990015) Norm(-0.060922, 0.219587, -0.973689) UV(0.200838, 0.868632) -V 2456: Pos(-1.169228, -7.543304, 10.013251) Norm(-0.147401, 0.248376, -0.957383) UV(0.189409, 0.868268) -V 2457: Pos(-0.849602, -7.295634, 10.047823) Norm(-0.076075, 0.211609, -0.974389) UV(0.200775, 0.859332) -V 2458: Pos(-1.435853, -11.133887, 8.774108) Norm(0.002022, -0.000552, -0.999998) UV(0.140986, 0.016165) -V 2459: Pos(-1.19064, -11.133887, 8.774108) Norm(0.030997, -0.007464, -0.999492) UV(0.140996, 0.007726) -V 2460: Pos(-1.19064, -11.946148, 8.777954) Norm(-0.112576, -0.011415, -0.993578) UV(0.168942, 0.007673) -V 2461: Pos(-1.412315, -11.946148, 8.774108) Norm(0.012898, -0.00436, -0.999907) UV(0.168954, 0.01527) -V 2462: Pos(-0.804202, -16.724285, 9.760915) Norm(-0.344959, -0.157676, -0.925279) UV(0.153469, 0.479966) -V 2463: Pos(-0.529975, -16.724285, 9.76524) Norm(-0.0, -0.137655, -0.99048) UV(0.144337, 0.479623) -V 2464: Pos(-0.529975, -17.348076, 9.826417) Norm(0.0, -0.36617, -0.930548) UV(0.145484, 0.460882) -V 2465: Pos(-0.804202, -17.354906, 9.907699) Norm(-0.434727, -0.379823, -0.816546) UV(0.1534, 0.45991) -V 2466: Pos(-1.253302, -13.45626, 11.070753) Norm(-0.693444, -0.061209, 0.717906) UV(0.021098, 0.451921) -V 2467: Pos(-1.264965, -13.131918, 11.083632) Norm(-0.707927, -0.027119, 0.705765) UV(0.019398, 0.46297) -V 2468: Pos(-1.169228, -6.255075, 10.282701) Norm(0.103129, 0.188249, -0.976692) UV(0.190049, 0.822117) -V 2469: Pos(-0.856929, -13.601337, 8.924864) Norm(-0.000938, -0.661715, -0.749755) UV(0.231103, 0.122873) -V 2470: Pos(-0.529975, -13.601337, 8.914726) Norm(-0.0, -0.652069, -0.758159) UV(0.21998, 0.123094) -V 2471: Pos(-0.529975, -13.735504, 9.498158) Norm(-0.0, -0.430257, -0.902707) UV(0.219966, 0.102667) -V 2472: Pos(-0.819512, -13.748554, 9.520744) Norm(-0.04079, -0.611956, -0.789839) UV(0.229914, 0.101837) -V 2473: Pos(-0.851469, -5.431247, 10.8993) Norm(-0.889722, 0.41084, -0.199012) UV(0.037861, 0.739292) -V 2474: Pos(-0.812458, -5.860601, 10.739367) Norm(0.306302, 0.859075, 0.410085) UV(0.25479, 0.494601) -V 2475: Pos(-0.812458, -5.868717, 10.77104) Norm(0.162391, 0.857525, -0.48814) UV(0.255768, 0.494664) -V 2476: Pos(-0.942298, -5.669748, 10.922654) Norm(-0.940071, 0.312321, 0.136832) UV(0.265037, 0.48851) -V 2477: Pos(-0.851469, -5.431247, 10.8993) Norm(-0.889722, 0.41084, -0.199012) UV(0.271214, 0.492357) -V 2478: Pos(-0.919063, -5.769064, 10.839827) Norm(-0.683642, 0.584497, -0.437032) UV(0.258515, 0.48894) -V 2479: Pos(-0.954584, -5.752596, 10.768215) Norm(-0.007285, 0.728708, 0.684786) UV(0.254184, 0.487047) -V 2480: Pos(-1.319275, -6.541738, 10.215596) Norm(0.056965, 0.114639, -0.991773) UV(0.184663, 0.832064) -V 2481: Pos(-1.514802, -6.449798, 10.215072) Norm(-0.406542, 0.141846, -0.902554) UV(0.178058, 0.828762) -V 2482: Pos(-1.474922, -6.28274, 10.215018) Norm(-0.327988, 0.117147, -0.93739) UV(0.179467, 0.823149) -V 2483: Pos(-1.361619, -6.295385, 10.235296) Norm(0.169462, 0.107894, -0.979613) UV(0.18334, 0.823592) -V 2484: Pos(-0.529975, -7.308663, 10.017632) Norm(-1e-06, 0.20838, -0.978048) UV(0.212112, 0.859931) -V 2485: Pos(-1.068928, -16.724285, 9.982242) Norm(-0.401449, -0.217201, -0.889754) UV(0.16521, 0.478593) -V 2486: Pos(-1.190112, -17.361893, 10.274363) Norm(-0.628362, -0.777183, 0.033871) UV(0.169808, 0.45392) -V 2487: Pos(-1.098979, -17.152201, 10.154994) Norm(-0.517202, -0.351306, -0.78044) UV(0.166679, 0.462311) -V 2488: Pos(-1.121884, -8.259396, 11.136215) Norm(-0.576998, 0.029325, 0.816219) UV(0.024835, 0.636073) -V 2489: Pos(-1.187225, -13.121551, 8.863171) Norm(-0.456925, -0.116072, -0.8819) UV(0.242619, 0.13938) -V 2490: Pos(-0.833632, -13.124526, 8.869218) Norm(0.019647, -0.094914, -0.995292) UV(0.230438, 0.139345) -V 2491: Pos(-1.183882, -13.601337, 8.935) Norm(-0.296787, -0.538673, -0.788511) UV(0.24232, 0.122659) -V 2492: Pos(-1.247728, -17.340864, 10.259338) Norm(0.925036, -0.342971, 0.16334) UV(0.171857, 0.454759) -V 2493: Pos(-1.698439, -6.287322, 10.923629) Norm(-0.195826, 0.964582, 0.17673) UV(0.261399, 0.45675) -V 2494: Pos(-1.251633, -6.16066, 10.950506) Norm(-0.382373, 0.74086, 0.552193) UV(0.262044, 0.470774) -V 2495: Pos(-1.375046, -5.892511, 10.276651) Norm(0.240379, 0.09886, -0.965632) UV(0.183016, 0.809973) -V 2496: Pos(-1.389093, -5.471021, 10.319918) Norm(0.182455, 0.154841, -0.970945) UV(0.182481, 0.795793) -V 2497: Pos(-1.243135, -9.182344, 11.112895) Norm(-0.593871, 0.060561, 0.802277) UV(0.019111, 0.602771) -V 2498: Pos(-1.317743, -9.68861, 11.091059) Norm(-0.576325, 0.047715, 0.815826) UV(0.015533, 0.584424) -V 2499: Pos(-0.985564, -12.550453, 11.76961) Norm(-0.407671, 0.007275, 0.9131) UV(0.041364, 0.484343) -V 2500: Pos(-1.077301, -12.550453, 11.662568) Norm(-0.956693, 0.039418, 0.288418) UV(0.036923, 0.483884) -V 2501: Pos(-1.070828, -14.44124, 11.161957) Norm(-0.952078, -0.238543, 0.19143) UV(0.035274, 0.419173) -V 2502: Pos(-1.023039, -14.616964, 11.115097) Norm(-0.858468, -0.301816, 0.414658) UV(0.036962, 0.412315) -V 2503: Pos(-1.023925, -16.901318, 9.992834) Norm(-0.548917, -0.24759, -0.798367) UV(0.163369, 0.472457) -V 2504: Pos(-1.373171, -5.330895, 10.351089) Norm(0.168609, 0.758716, -0.629223) UV(0.183025, 0.790955) -V 2505: Pos(-1.46397, -7.564707, 10.106297) Norm(-0.572645, 0.251883, -0.780149) UV(0.178283, 0.868245) -V 2506: Pos(-1.250587, -12.610888, 11.088865) Norm(-0.660612, -0.061627, 0.748194) UV(0.018381, 0.480249) -V 2507: Pos(-1.130023, -13.525674, 11.403976) Norm(-0.998421, -0.013279, 0.054576) UV(0.033351, 0.452015) -V 2508: Pos(-1.14082, -13.533645, 11.442239) Norm(-0.962969, -0.077897, 0.258112) UV(0.034679, 0.452057) -V 2509: Pos(-2.179712, -13.071664, 9.243257) Norm(-0.493622, -0.171146, -0.85267) UV(0.208743, 0.045546) -V 2510: Pos(-2.510664, -13.025769, 9.43911) Norm(-0.437737, -0.133682, -0.889109) UV(0.208087, 0.059236) -V 2511: Pos(-2.457994, -12.617983, 9.382049) Norm(-0.474541, -0.037853, -0.879419) UV(0.193519, 0.057342) -V 2512: Pos(-1.253302, -13.45626, 11.070753) Norm(-0.693444, -0.061209, 0.717906) UV(0.10073, 0.946985) -V 2513: Pos(-1.215811, -13.833342, 11.069529) Norm(-0.697914, -0.071096, 0.712644) UV(0.097509, 0.959617) -V 2514: Pos(-1.123953, -13.931129, 11.300824) Norm(-0.9945, -0.063681, 0.083154) UV(0.088422, 0.961051) -V 2515: Pos(-1.130023, -13.525674, 11.403976) Norm(-0.998421, -0.013279, 0.054576) UV(0.08828, 0.946657) -V 2516: Pos(-1.129317, -13.943139, 11.332123) Norm(-0.952296, -0.127571, 0.277233) UV(0.034756, 0.437864) -V 2517: Pos(-1.123953, -13.931129, 11.300824) Norm(-0.9945, -0.063681, 0.083154) UV(0.033594, 0.437935) -V 2518: Pos(-1.105879, -14.168096, 11.238145) Norm(-0.980288, -0.131596, 0.14737) UV(0.034112, 0.429369) -V 2519: Pos(-1.10815, -14.167484, 11.272739) Norm(-0.931493, -0.18512, 0.313132) UV(0.035256, 0.42982) -V 2520: Pos(-1.021865, -14.160269, 11.371373) Norm(-0.401058, -0.308845, 0.86242) UV(0.039667, 0.431067) -V 2521: Pos(-1.202195, -12.023941, 11.318316) Norm(-0.735167, -0.160189, 0.658687) UV(0.103077, 0.896976) -V 2522: Pos(-1.07721, -12.035993, 11.62269) Norm(-0.998754, -0.034546, 0.036026) UV(0.091936, 0.894929) -V 2523: Pos(-1.091873, -11.675451, 11.495037) Norm(-0.905586, -0.209101, 0.36904) UV(0.098786, 0.883684) -V 2524: Pos(-1.023831, -13.961123, 11.437797) Norm(-0.398373, -0.278089, 0.874051) UV(0.039827, 0.43821) -V 2525: Pos(-1.325778, -16.764282, 9.902725) Norm(0.625172, -0.08819, -0.775489) UV(0.176397, 0.478533) -V 2526: Pos(-1.241794, -16.6546, 9.979042) Norm(0.309847, -0.187141, -0.932187) UV(0.171399, 0.481399) -V 2527: Pos(-1.373171, -5.330895, 10.351089) Norm(0.168609, 0.758716, -0.629223) UV(0.231848, 0.478471) -V 2528: Pos(-1.473931, -5.330895, 10.349476) Norm(-0.52707, 0.690828, -0.494928) UV(0.232196, 0.475466) -V 2529: Pos(-1.411917, -13.584673, 8.987967) Norm(-0.213516, -0.398392, -0.892017) UV(0.224644, 0.016557) -V 2530: Pos(-1.183882, -13.601337, 8.935) Norm(-0.296787, -0.538673, -0.788511) UV(0.225216, 0.00857) -V 2531: Pos(-1.261725, -16.256882, 9.914383) Norm(0.297183, -0.154581, -0.942225) UV(0.170737, 0.496256) -V 2532: Pos(-0.849602, -9.214898, 9.597691) Norm(0.0, 0.316904, -0.948458) UV(0.20171, 0.929007) -V 2533: Pos(-0.849602, -9.530691, 9.491154) Norm(0.0, 0.407393, -0.913253) UV(0.201846, 0.940452) -V 2534: Pos(-1.169228, -9.530691, 9.491154) Norm(0.0, 0.407392, -0.913253) UV(0.19089, 0.940598) -V 2535: Pos(-1.169228, -9.214898, 9.597691) Norm(0.0, 0.316904, -0.948458) UV(0.190719, 0.929157) -V 2536: Pos(-1.183882, -13.601337, 8.935) Norm(-0.296787, -0.538673, -0.788511) UV(0.176397, 0.59853) -V 2537: Pos(-1.962106, -14.008664, 9.503461) Norm(-0.257062, -0.24511, -0.934794) UV(0.24337, 0.040143) -V 2538: Pos(-1.79836, -13.73636, 9.255897) Norm(-0.501952, -0.38615, -0.773907) UV(0.231777, 0.031998) -V 2539: Pos(-2.13158, -15.757146, 9.700528) Norm(-0.236521, -0.136089, -0.962049) UV(0.304275, 0.048493) -V 2540: Pos(-1.541718, -15.628141, 9.649933) Norm(0.119088, -0.119975, -0.985608) UV(0.300571, 0.027885) -V 2541: Pos(-1.612787, -16.377426, 9.725335) Norm(0.180243, -0.10598, -0.977896) UV(0.326371, 0.031374) -V 2542: Pos(-2.021571, -16.414995, 9.738705) Norm(-0.261792, -0.129865, -0.956347) UV(0.327061, 0.045425) -V 2543: Pos(-1.341606, -16.362818, 9.850606) Norm(0.569876, -0.104964, -0.814999) UV(0.174987, 0.493192) -V 2544: Pos(-1.583163, -5.7632, 10.386906) Norm(-0.907126, 0.174989, -0.382755) UV(0.238069, 0.466091) -V 2545: Pos(-1.539988, -5.646367, 10.532852) Norm(-0.956083, 0.234554, 0.175756) UV(0.239723, 0.470715) -V 2546: Pos(-1.639046, -6.621024, 10.303492) Norm(-0.548957, 0.094653, -0.830474) UV(0.172283, 0.834157) -V 2547: Pos(-1.580944, -6.418467, 10.31621) Norm(-0.581125, 0.157377, -0.798452) UV(0.174157, 0.827201) -V 2548: Pos(-1.000314, -5.927032, 10.959153) Norm(-0.778791, 0.380872, 0.498419) UV(0.262617, 0.479797) -V 2549: Pos(-1.547088, -13.562391, 9.035126) Norm(-0.386501, -0.374984, -0.842618) UV(0.224155, 0.021493) -V 2550: Pos(-1.810463, -13.50368, 9.161128) Norm(-0.516235, -0.339378, -0.786336) UV(0.223068, 0.031664) -V 2551: Pos(-1.340239, -18.260746, 9.992282) Norm(0.681506, -0.099167, -0.725062) UV(0.392013, 0.025031) -V 2552: Pos(-1.45173, -5.863933, 10.25495) Norm(-0.260692, 0.120837, -0.95783) UV(0.180325, 0.809094) -V 2553: Pos(-1.432909, -5.462158, 10.313559) Norm(-0.211344, 0.1708, -0.962373) UV(0.180985, 0.795534) -V 2554: Pos(-1.767902, -8.883187, 9.707452) Norm(-0.033379, 0.222935, -0.974262) UV(0.169857, 0.917454) -V 2555: Pos(-1.473764, -8.883187, 9.707452) Norm(-0.033712, 0.17076, -0.984736) UV(0.180044, 0.9173) -V 2556: Pos(-1.473764, -9.214898, 9.597691) Norm(0.0, 0.316904, -0.948458) UV(0.180253, 0.929328) -V 2557: Pos(-1.779854, -9.214898, 9.597691) Norm(0.0, 0.316904, -0.948458) UV(0.169741, 0.929536) -V 2558: Pos(-1.169228, -10.427848, 8.984811) Norm(0.001668, 0.593831, -0.804588) UV(0.191374, 0.975757) -V 2559: Pos(-1.473764, -10.427848, 8.984811) Norm(-0.005545, 0.590306, -0.80716) UV(0.181018, 0.975916) -V 2560: Pos(-1.473764, -9.530691, 9.491154) Norm(0.0, 0.407392, -0.913253) UV(0.180458, 0.940764) -V 2561: Pos(-1.595672, -13.115414, 8.885694) Norm(-0.387966, -0.220699, -0.89486) UV(0.208137, 0.022047) -V 2562: Pos(-1.595672, -12.618541, 8.774108) Norm(-0.366206, -0.095673, -0.925603) UV(0.191474, 0.021324) -V 2563: Pos(-0.529975, -12.382905, 8.837368) Norm(0.0, -0.027534, -0.999621) UV(0.220009, 0.164968) -V 2564: Pos(-0.529975, -13.132727, 8.876047) Norm(0.0, -0.081468, -0.996676) UV(0.219991, 0.139083) -V 2565: Pos(-0.529975, -15.109277, 9.591947) Norm(0.0, -0.0915, -0.995805) UV(0.140879, 0.53615) -V 2566: Pos(-0.819512, -14.206033, 9.520744) Norm(-0.060398, -0.052982, -0.996767) UV(0.148974, 0.56823) -V 2567: Pos(-0.529975, -14.128944, 9.513925) Norm(1e-06, -0.046056, -0.998939) UV(0.138786, 0.570366) -V 2568: Pos(-1.341606, -16.362818, 9.850606) Norm(0.569876, -0.104964, -0.814999) UV(0.32681, 0.021073) -V 2569: Pos(-1.550577, -18.688894, 10.011444) Norm(-0.086366, -0.183005, -0.979311) UV(0.406359, 0.033218) -V 2570: Pos(-1.595509, -18.260746, 9.901118) Norm(-0.074346, -0.177375, -0.981331) UV(0.391177, 0.034039) -V 2571: Pos(-1.342556, -18.66398, 10.054461) Norm(0.666336, -0.12121, -0.735734) UV(0.406057, 0.025671) -V 2572: Pos(-1.744094, -18.673643, 10.09498) Norm(-0.633781, -0.23855, -0.73581) UV(0.406194, 0.040725) -V 2573: Pos(-1.525424, -19.037752, 10.073204) Norm(-0.085389, -0.729266, -0.678882) UV(0.418828, 0.032763) -V 2574: Pos(-1.718959, -19.010527, 10.123274) Norm(-0.60471, -0.583525, -0.542055) UV(0.418024, 0.039702) -V 2575: Pos(-0.812458, -5.498947, 10.458796) Norm(0.136767, 0.895024, 0.424531) UV(0.239619, 0.494514) -V 2576: Pos(-1.771752, -6.58348, 10.357114) Norm(-0.710028, 0.273287, -0.64898) UV(0.167424, 0.832566) -V 2577: Pos(-1.72825, -6.383579, 10.371755) Norm(-0.803814, 0.244571, -0.54228) UV(0.168923, 0.825779) -V 2578: Pos(-1.635215, -6.022049, 10.377628) Norm(-0.863021, 0.194043, -0.466415) UV(0.241186, 0.459718) -V 2579: Pos(-1.582755, -5.906385, 10.620442) Norm(-0.941198, 0.264673, 0.209989) UV(0.24576, 0.465868) -V 2580: Pos(-1.765923, -8.51499, 9.775161) Norm(-0.428664, 0.419636, -0.800096) UV(0.169525, 0.904569) -V 2581: Pos(-2.041718, -8.883187, 9.707452) Norm(-0.315756, 0.457321, -0.831357) UV(0.160358, 0.917707) -V 2582: Pos(-1.473764, -8.51499, 9.69622) Norm(-0.112242, 0.190658, -0.975219) UV(0.17983, 0.904664) -V 2583: Pos(-1.473764, -8.249635, 9.790993) Norm(-0.176786, 0.394467, -0.901744) UV(0.179464, 0.894921) -V 2584: Pos(-1.595672, -11.946148, 8.774108) Norm(-0.378688, -0.01486, -0.925405) UV(0.168992, 0.021563) -V 2585: Pos(-2.027057, -13.792121, 9.471597) Norm(-0.394093, -0.243841, -0.886133) UV(0.235606, 0.042419) -V 2586: Pos(-2.151222, -13.472012, 9.409037) Norm(-0.420273, -0.277381, -0.863962) UV(0.223986, 0.046403) -V 2587: Pos(-1.542269, -6.202011, 10.313504) Norm(-0.610383, 0.106581, -0.784903) UV(0.175761, 0.820028) -V 2588: Pos(-1.502141, -5.845642, 10.313141) Norm(-0.625758, 0.098672, -0.773751) UV(0.177833, 0.808199) -V 2589: Pos(-1.72825, -6.383579, 10.371755) Norm(-0.803814, 0.244571, -0.54228) UV(0.244151, 0.45035) -V 2590: Pos(-1.583163, -5.7632, 10.386906) Norm(-0.907126, 0.174989, -0.382755) UV(0.174463, 0.805074) -V 2591: Pos(-1.473931, -5.330895, 10.349476) Norm(-0.52707, 0.690828, -0.494928) UV(0.179604, 0.790959) -V 2592: Pos(-1.635215, -6.022049, 10.377628) Norm(-0.863021, 0.194043, -0.466415) UV(0.172438, 0.813729) -V 2593: Pos(-1.771752, -6.58348, 10.357114) Norm(-0.710028, 0.273287, -0.64898) UV(0.244513, 0.444864) -V 2594: Pos(-1.435854, -10.648867, 8.774108) Norm(-0.005218, 0.372506, -0.928015) UV(0.182476, 0.986262) -V 2595: Pos(-1.761754, -10.668038, 8.774108) Norm(-0.328055, 0.210854, -0.920826) UV(0.171431, 0.986929) -V 2596: Pos(-1.779854, -10.427848, 8.984811) Norm(-0.018089, 0.585945, -0.810149) UV(0.170609, 0.976097) -V 2597: Pos(-1.600447, -17.827684, 9.860824) Norm(-0.028763, -0.1254, -0.991689) UV(0.376517, 0.03364) -V 2598: Pos(-1.623254, -7.680558, 10.63894) Norm(-0.9494, 0.034016, -0.31222) UV(0.238415, 0.400185) -V 2599: Pos(-1.56565, -7.652631, 10.424071) Norm(-0.976174, 0.036413, -0.21391) UV(0.230791, 0.403184) -V 2600: Pos(-1.549913, -8.035152, 9.957069) Norm(-0.92226, 0.264145, -0.282249) UV(0.210378, 0.398997) -V 2601: Pos(-1.592088, -8.229571, 9.898129) Norm(-0.853842, 0.44815, -0.264794) UV(0.204603, 0.394972) -V 2602: Pos(-1.62741, -8.183842, 10.271389) Norm(-0.880975, 0.441454, -0.170295) UV(0.216449, 0.387244) -V 2603: Pos(-1.577086, -7.945396, 10.341508) Norm(-0.969609, 0.174437, -0.171553) UV(0.223942, 0.394074) -V 2604: Pos(-1.627899, -7.926964, 10.588347) Norm(-0.94497, 0.181055, -0.272488) UV(0.234218, 0.389997) -V 2605: Pos(-1.79964, -13.127203, 9.02352) Norm(-0.550278, -0.203391, -0.809831) UV(0.209385, 0.030277) -V 2606: Pos(-1.349255, -15.576323, 9.701592) Norm(0.530949, -0.120005, -0.838863) UV(0.299265, 0.020918) -V 2607: Pos(-1.501269, -7.571367, 10.159451) Norm(-0.925608, 0.113228, -0.361149) UV(0.223292, 0.409122) -V 2608: Pos(-1.587884, -8.249635, 9.853705) Norm(-0.558271, 0.473213, -0.681471) UV(0.174906, 0.894216) -V 2609: Pos(-1.528652, -8.035152, 9.913342) Norm(-0.601958, 0.38319, -0.70058) UV(0.177123, 0.886422) -V 2610: Pos(-1.473764, -8.035152, 9.902951) Norm(-0.189905, 0.392431, -0.899963) UV(0.179054, 0.886497) -V 2611: Pos(-1.169228, -8.883187, 9.707452) Norm(0.0, 0.144027, -0.989574) UV(0.190532, 0.917125) -V 2612: Pos(-1.682336, -7.443178, 10.782503) Norm(-0.523944, -0.16678, -0.835265) UV(0.244136, 0.407686) -V 2613: Pos(-1.691304, -7.939326, 10.779441) Norm(-0.791742, 0.104193, -0.601904) UV(0.244442, 0.386881) -V 2614: Pos(-1.687086, -7.70597, 10.780881) Norm(-0.736559, 0.023785, -0.675955) UV(0.24461, 0.398437) -V 2615: Pos(-1.71425, -8.071122, 10.768422) Norm(-0.956226, 0.073144, -0.283341) UV(0.243663, 0.377222) -V 2616: Pos(-1.866403, -8.476166, 10.254218) Norm(-0.7373, 0.636517, -0.226352) UV(0.205776, 0.37538) -V 2617: Pos(-0.849602, -8.883187, 9.707452) Norm(0.0, 0.144027, -0.989574) UV(0.201561, 0.916967) -V 2618: Pos(-1.78601, -17.298725, 9.820689) Norm(-0.278546, -0.148025, -0.948947) UV(0.357923, 0.039058) -V 2619: Pos(-1.815774, -6.351326, 10.877997) Norm(-0.257166, 0.414316, -0.873045) UV(0.262425, 0.452508) -V 2620: Pos(-1.79492, -8.514387, 9.812925) Norm(-0.701668, 0.614566, -0.360514) UV(0.193887, 0.388297) -V 2621: Pos(-1.776643, -7.723546, 10.824318) Norm(-0.265812, -0.071933, -0.961338) UV(0.248928, 0.397843) -V 2622: Pos(-1.79492, -8.514387, 9.812925) Norm(-0.701668, 0.614566, -0.360514) UV(0.168002, 0.904) -V 2623: Pos(-1.592088, -8.229571, 9.898129) Norm(-0.853842, 0.44815, -0.264794) UV(0.173911, 0.892795) -V 2624: Pos(-2.242964, -10.226053, 9.148588) Norm(-0.423629, 0.223045, -0.877946) UV(0.15471, 0.967656) -V 2625: Pos(-2.063801, -10.427848, 8.984811) Norm(-0.426352, 0.256477, -0.867435) UV(0.160976, 0.976309) -V 2626: Pos(-2.242964, -10.226053, 9.148588) Norm(-0.423629, 0.223045, -0.877946) UV(0.110352, 0.048854) -V 2627: Pos(-2.063801, -10.427848, 8.984811) Norm(-0.426352, 0.256477, -0.867435) UV(0.116876, 0.040169) -V 2628: Pos(-1.834245, -11.133887, 8.984811) Norm(-0.676538, -0.098505, -0.729789) UV(0.141439, 0.033457) -V 2629: Pos(-2.046745, -11.133887, 9.148588) Norm(-0.597041, -0.055522, -0.800287) UV(0.141677, 0.042639) -V 2630: Pos(-0.529975, -10.427848, 8.984811) Norm(-0.0, 0.587209, -0.809435) UV(0.213109, 0.975518) -V 2631: Pos(-0.849602, -10.427848, 8.984811) Norm(0.003091, 0.589928, -0.80745) UV(0.202241, 0.975625) -V 2632: Pos(-0.529975, -9.530691, 9.491154) Norm(0.0, 0.407392, -0.913253) UV(0.212805, 0.940336) -V 2633: Pos(-1.907469, -7.388284, 10.271775) Norm(-0.558232, -0.56554, -0.607076) UV(0.235649, 0.423983) -V 2634: Pos(-1.907469, -7.388284, 10.785774) Norm(-0.289082, -0.326254, -0.899994) UV(0.251252, 0.413652) -V 2635: Pos(-2.431608, -11.946148, 9.362715) Norm(-0.485612, 0.004741, -0.874162) UV(0.170079, 0.056964) -V 2636: Pos(-1.858085, -16.878952, 9.777104) Norm(-0.244086, -0.148861, -0.95826) UV(0.343277, 0.040739) -V 2637: Pos(-1.816674, -18.712654, 10.197899) Norm(-0.959032, -0.269117, -0.088512) UV(0.009372, 0.031477) -V 2638: Pos(-1.501269, -7.571367, 10.159451) Norm(-0.925608, 0.113228, -0.361149) UV(0.176008, 0.867954) -V 2639: Pos(-2.366607, -15.81671, 9.825591) Norm(-0.617002, -0.193365, -0.762836) UV(0.306503, 0.05774) -V 2640: Pos(-2.268822, -16.556122, 9.897237) Norm(-0.638694, -0.207052, -0.74108) UV(0.332124, 0.055264) -V 2641: Pos(-1.704544, -19.018551, 10.249135) Norm(-0.644384, -0.692458, 0.324454) UV(0.41953, 0.043853) -V 2642: Pos(-1.816674, -18.712654, 10.197899) Norm(-0.959032, -0.269117, -0.088512) UV(0.408109, 0.044931) -V 2643: Pos(-2.309411, -6.261583, 10.897414) Norm(-0.018035, 0.999799, -0.008723) UV(0.349322, 0.379669) -V 2644: Pos(-1.907259, -7.555073, 10.806311) Norm(-0.029603, -0.185985, -0.982107) UV(0.253006, 0.406241) -V 2645: Pos(-2.288644, -8.878713, 10.352042) Norm(-0.661358, 0.563439, -0.495119) UV(0.190096, 0.356444) -V 2646: Pos(-1.349255, -15.576323, 9.701592) Norm(0.530949, -0.120005, -0.838863) UV(0.173973, 0.521662) -V 2647: Pos(-2.254244, -7.419304, 10.774562) Norm(0.105237, -0.03823, -0.993712) UV(0.265656, 0.413933) -V 2648: Pos(-2.313559, -7.419906, 10.760708) Norm(0.212528, -0.023412, -0.976874) UV(0.267656, 0.414155) -V 2649: Pos(-2.308537, -7.047545, 10.816162) Norm(-0.015957, 0.099052, -0.994954) UV(0.267065, 0.425783) -V 2650: Pos(-1.674319, -11.133887, 8.774108) Norm(-0.386675, -0.059691, -0.920282) UV(0.140979, 0.024383) -V 2651: Pos(-2.412581, -11.133887, 9.362502) Norm(-0.530306, -0.008922, -0.847759) UV(0.142094, 0.057158) -V 2652: Pos(-2.085455, -8.866416, 9.756652) Norm(-0.677983, 0.621677, -0.392245) UV(0.179844, 0.378972) -V 2653: Pos(-2.217266, -8.893396, 10.226733) Norm(-0.728972, 0.627098, -0.274494) UV(0.187721, 0.361756) -V 2654: Pos(-2.314576, -6.307861, 10.89488) Norm(-0.027092, 0.280949, -0.95934) UV(0.276154, 0.443781) -V 2655: Pos(-2.309411, -6.261583, 10.897414) Norm(-0.018035, 0.999799, -0.008723) UV(0.276902, 0.445003) -V 2656: Pos(-1.801304, -6.719275, 10.347168) Norm(-0.69432, 0.191642, -0.693681) UV(0.244022, 0.441203) -V 2657: Pos(-1.908804, -6.718246, 10.829842) Norm(-0.596499, 0.220722, -0.771668) UV(0.258538, 0.439362) -V 2658: Pos(-2.350752, -9.187865, 9.705266) Norm(-0.680316, 0.614454, -0.399521) UV(0.165948, 0.372105) -V 2659: Pos(-0.529975, -11.946148, 8.846119) Norm(0.0, -0.01382, -0.999904) UV(0.220019, 0.180032) -V 2660: Pos(-2.365041, -9.068324, 10.226966) Norm(-0.779732, 0.578637, -0.239159) UV(0.180498, 0.35608) -V 2661: Pos(-2.208864, -17.021191, 10.028584) Norm(-0.90308, -0.265304, -0.337729) UV(0.34876, 0.055695) -V 2662: Pos(-2.134547, -17.005287, 9.934217) Norm(-0.605003, -0.23338, -0.761252) UV(0.347767, 0.051641) -V 2663: Pos(-1.761754, -10.668038, 8.774108) Norm(-0.328055, 0.210854, -0.920826) UV(0.124883, 0.027258) -V 2664: Pos(-2.542716, -11.133887, 9.438228) Norm(-0.403842, 0.004488, -0.914818) UV(0.142243, 0.062327) -V 2665: Pos(-2.519828, -10.308848, 9.421988) Norm(-0.446803, 0.013819, -0.894526) UV(0.113662, 0.062301) -V 2666: Pos(-2.413709, -10.351027, 9.348378) Norm(-0.609733, -0.020219, -0.792349) UV(0.114997, 0.057769) -V 2667: Pos(-2.493054, -14.04618, 9.556674) Norm(-0.346771, -0.120934, -0.930121) UV(0.244657, 0.058971) -V 2668: Pos(-2.3496, -13.91561, 9.5331) Norm(-0.150779, -0.107754, -0.982677) UV(0.24002, 0.05392) -V 2669: Pos(-2.453023, -15.835152, 9.92938) Norm(-0.912098, -0.214423, -0.349428) UV(0.307581, 0.062331) -V 2670: Pos(-2.331488, -16.556122, 10.002055) Norm(-0.922378, -0.229592, -0.310656) UV(0.332665, 0.059407) -V 2671: Pos(-2.3274, -6.467778, 10.888588) Norm(-0.040339, 0.106867, -0.993455) UV(0.273694, 0.43986) -V 2672: Pos(-2.085455, -8.866416, 9.756652) Norm(-0.677983, 0.621677, -0.392245) UV(0.158375, 0.916485) -V 2673: Pos(-2.399341, -9.892169, 9.345613) Norm(-0.437095, 0.330107, -0.836646) UV(0.099121, 0.057612) -V 2674: Pos(-2.335918, -10.075572, 9.26807) Norm(-0.483487, 0.244713, -0.84045) UV(0.105379, 0.054175) -V 2675: Pos(-2.410854, -10.03592, 9.346817) Norm(-0.674216, 0.048447, -0.736944) UV(0.104051, 0.057925) -V 2676: Pos(-2.64574, -13.236611, 9.539085) Norm(-0.458194, -0.167619, -0.872905) UV(0.215975, 0.064827) -V 2677: Pos(-2.79883, -13.312866, 9.659083) Norm(-0.565517, -0.160701, -0.808929) UV(0.219194, 0.071605) -V 2678: Pos(-2.774157, -14.427995, 10.379407) Norm(-0.885419, -0.176936, 0.429798) UV(0.069082, 0.176094) -V 2679: Pos(-2.738149, -13.022185, 9.542929) Norm(-0.416398, -0.171256, -0.892908) UV(0.208309, 0.068155) -V 2680: Pos(-2.613853, -12.617983, 9.455332) Norm(-0.371152, -0.04871, -0.927294) UV(0.193736, 0.063367) -V 2681: Pos(-2.503921, -13.517595, 9.520607) Norm(-0.255574, -0.144721, -0.955896) UV(0.225925, 0.059502) -V 2682: Pos(-1.922392, -18.278978, 10.137504) Norm(-0.912953, -0.251327, -0.321485) UV(0.012277, 0.047332) -V 2683: Pos(-2.486723, -9.855577, 9.441483) Norm(-0.502655, 0.285131, -0.816112) UV(0.097609, 0.062004) -V 2684: Pos(-2.513327, -9.981698, 9.430211) Norm(-0.479426, 0.11403, -0.870143) UV(0.102168, 0.062569) -V 2685: Pos(-2.610072, -11.946148, 9.44314) Norm(-0.373075, 0.00319, -0.927795) UV(0.170275, 0.063736) -V 2686: Pos(-2.64021, -9.423792, 10.472842) Norm(-0.695244, 0.560126, -0.450438) UV(0.166517, 0.336946) -V 2687: Pos(-2.411018, -9.410623, 9.584963) Norm(-0.492876, 0.399511, -0.772958) UV(0.081251, 0.062425) -V 2688: Pos(-2.649248, -9.787519, 9.53304) Norm(-0.316976, 0.323915, -0.891406) UV(0.095343, 0.068705) -V 2689: Pos(-2.980824, -10.338238, 9.564405) Norm(-0.243488, 0.024323, -0.969599) UV(0.11534, 0.079123) -V 2690: Pos(-2.739765, -9.922207, 9.517178) Norm(-0.306353, 0.190461, -0.93267) UV(0.100436, 0.071228) -V 2691: Pos(-2.623628, -14.321686, 9.701296) Norm(-0.549299, -0.134078, -0.824799) UV(0.254754, 0.064994) -V 2692: Pos(-2.350752, -9.187865, 9.705266) Norm(-0.680316, 0.614454, -0.399521) UV(0.072184, 0.062962) -V 2693: Pos(-2.276583, -9.214898, 9.597691) Norm(-0.320101, 0.452709, -0.83222) UV(0.073804, 0.058691) -V 2694: Pos(-2.351499, -9.530691, 9.491154) Norm(-0.35352, 0.387361, -0.851454) UV(0.085799, 0.058811) -V 2695: Pos(-2.409655, -9.573712, 9.547895) Norm(-0.462452, 0.354888, -0.812522) UV(0.086994, 0.061693) -V 2696: Pos(-2.969365, -11.133887, 9.580532) Norm(-0.253803, -0.00261, -0.967252) UV(0.142785, 0.077672) -V 2697: Pos(-2.906329, -12.859801, 9.575648) Norm(-0.361032, -0.18831, -0.913343) UV(0.20258, 0.074331) -V 2698: Pos(-2.974295, -12.617983, 9.577017) Norm(-0.245516, -0.032248, -0.968856) UV(0.194016, 0.076738) -V 2699: Pos(-2.71253, -13.882635, 9.665802) Norm(-0.52392, -0.131675, -0.841528) UV(0.239374, 0.067823) -V 2700: Pos(-2.863533, -13.770114, 9.740883) Norm(-0.835144, -0.159477, -0.526404) UV(0.235787, 0.073901) -V 2701: Pos(-2.926132, -13.134965, 9.670527) Norm(-0.626241, -0.388188, -0.676116) UV(0.21277, 0.075946) -V 2702: Pos(-2.276583, -9.214898, 9.597691) Norm(-0.320101, 0.452709, -0.83222) UV(0.152799, 0.929996) -V 2703: Pos(-2.350752, -9.187865, 9.705266) Norm(-0.680316, 0.614454, -0.399521) UV(0.149063, 0.927389) -V 2704: Pos(-2.801788, -9.645041, 10.474378) Norm(-0.493824, 0.361391, -0.790907) UV(0.155968, 0.334587) -V 2705: Pos(-2.834108, -9.478948, 10.49048) Norm(-0.094062, 0.263079, -0.960178) UV(0.161032, 0.330345) -V 2706: Pos(-2.955264, -9.865213, 9.611774) Norm(-0.233824, 0.222869, -0.946391) UV(0.098752, 0.079485) -V 2707: Pos(-3.269034, -12.34296, 9.634767) Norm(-0.130351, 0.012614, -0.991388) UV(0.184486, 0.087302) -V 2708: Pos(-3.235166, -11.946148, 9.628056) Norm(-0.166591, 0.005558, -0.98601) UV(0.170696, 0.086232) -V 2709: Pos(-3.004322, -11.946148, 9.570744) Norm(-0.263907, 0.001263, -0.964547) UV(0.170584, 0.078049) -V 2710: Pos(-2.874538, -12.342351, 10.669975) Norm(-0.518802, -0.854166, 0.035285) UV(0.118831, 0.241505) -V 2711: Pos(-2.869682, -9.81502, 10.446188) Norm(-0.536363, 0.546019, -0.643567) UV(0.149995, 0.334953) -V 2712: Pos(-3.172801, -12.657672, 9.613468) Norm(-0.333163, -0.222804, -0.916166) UV(0.195422, 0.083808) -V 2713: Pos(-2.995192, -9.902635, 10.425072) Norm(-0.331129, 0.694047, -0.63926) UV(0.145734, 0.333742) -V 2714: Pos(-3.128327, -9.599931, 10.461658) Norm(-0.022168, 0.275742, -0.960976) UV(0.150322, 0.324866) -V 2715: Pos(-2.899224, -13.220189, 9.725098) Norm(-0.850994, -0.328901, -0.40943) UV(0.216406, 0.076188) -V 2716: Pos(-4.331882, -11.071762, 10.15194) Norm(-0.950441, -0.300529, -0.079653) UV(0.103383, 0.301856) -V 2717: Pos(-3.161995, -9.980515, 9.828673) Norm(-0.449894, 0.782864, 0.42979) UV(0.131763, 0.34746) -V 2718: Pos(-2.899224, -13.220189, 9.725098) Norm(-0.850994, -0.328901, -0.40943) UV(0.06467, 0.224974) -V 2719: Pos(-2.863533, -13.770114, 9.740883) Norm(-0.835144, -0.159477, -0.526404) UV(0.057593, 0.20733) -V 2720: Pos(-2.950574, -13.358417, 9.900567) Norm(-0.973784, -0.132792, -0.184692) UV(0.068706, 0.218532) -V 2721: Pos(-3.148196, -9.521886, 10.497334) Norm(-0.282348, 0.886428, -0.366776) UV(0.151884, 0.322534) -V 2722: Pos(-3.12214, -9.804996, 9.66156) Norm(-0.482, 0.643339, -0.594804) UV(0.131697, 0.356566) -V 2723: Pos(-3.140983, -9.958003, 10.413013) Norm(-0.261836, 0.68006, -0.684807) UV(0.141642, 0.331681) -V 2724: Pos(-3.386952, -10.108855, 9.940565) Norm(-0.453164, 0.891257, -0.017438) UV(0.126132, 0.339852) -V 2725: Pos(-3.622022, -10.214589, 10.070232) Norm(-0.452058, 0.881857, -0.134062) UV(0.121978, 0.331439) -V 2726: Pos(-3.65386, -10.160017, 10.378246) Norm(-0.244134, 0.627728, -0.739159) UV(0.127601, 0.324002) -V 2727: Pos(-3.084851, -9.945375, 9.991816) Norm(-0.479737, 0.876281, 0.044537) UV(0.136884, 0.344056) -V 2728: Pos(-3.791819, -11.673506, 9.6403) Norm(0.084131, 0.017741, -0.996297) UV(0.161356, 0.105087) -V 2729: Pos(-3.60532, -11.810831, 9.651272) Norm(0.032896, 0.019828, -0.999262) UV(0.166102, 0.098935) -V 2730: Pos(-3.058812, -12.15709, 10.548896) Norm(-0.11498, -0.401251, -0.908723) UV(0.113229, 0.249123) -V 2731: Pos(-3.618725, -10.239793, 9.833508) Norm(-0.561404, 0.808654, 0.175796) UV(0.116518, 0.337303) -V 2732: Pos(-3.45677, -10.128654, 9.834273) Norm(-0.485721, 0.810667, 0.326947) UV(0.121997, 0.341601) -V 2733: Pos(-3.617923, -10.325841, 9.64784) Norm(-0.021199, 0.018023, -0.999613) UV(0.116143, 0.10143) -V 2734: Pos(-3.455178, -11.133887, 9.67112) Norm(-0.073145, -0.007083, -0.997296) UV(0.143404, 0.094409) -V 2735: Pos(-3.629242, -11.133887, 9.672878) Norm(0.01761, 0.001735, -0.999843) UV(0.143651, 0.100238) -V 2736: Pos(-3.416871, -11.946148, 9.649624) Norm(-0.059315, 0.012256, -0.998164) UV(0.170745, 0.0925) -V 2737: Pos(-3.488599, -12.32495, 9.64715) Norm(-0.489207, -0.319918, -0.811375) UV(0.183943, 0.094963) -V 2738: Pos(-3.457225, -12.467001, 9.786224) Norm(-0.700128, -0.510342, -0.499371) UV(0.190785, 0.096401) -V 2739: Pos(-3.269506, -9.656481, 10.450261) Norm(-0.028916, 0.264992, -0.963817) UV(0.146077, 0.322804) -V 2740: Pos(-3.678648, -9.820366, 10.417233) Norm(-0.000852, 0.248735, -0.968571) UV(0.134664, 0.317941) -V 2741: Pos(-3.737191, -10.326525, 9.821217) Norm(-0.604935, 0.794982, 0.045355) UV(0.112446, 0.334111) -V 2742: Pos(-3.766541, -10.288885, 10.079262) Norm(-0.474523, 0.855788, -0.206046) UV(0.11845, 0.327961) -V 2743: Pos(-3.778148, -10.327266, 9.706711) Norm(-0.700664, 0.663719, 0.261816) UV(0.108532, 0.33618) -V 2744: Pos(-3.786814, -10.329092, 9.680916) Norm(-0.642836, 0.712751, -0.28062) UV(0.10762, 0.3366) -V 2745: Pos(-3.973007, -11.734773, 9.741197) Norm(-0.772046, -0.542228, -0.331562) UV(0.16475, 0.113975) -V 2746: Pos(-3.808451, -10.232826, 10.37799) Norm(-0.249577, 0.588324, -0.769147) UV(0.123834, 0.321506) -V 2747: Pos(-3.650078, -10.261823, 9.64973) Norm(-0.247151, 0.322467, -0.913746) UV(0.113998, 0.102671) -V 2748: Pos(-3.665874, -10.211595, 9.702301) Norm(-0.631793, 0.722248, -0.281418) UV(0.111712, 0.10383) -V 2749: Pos(-3.959002, -10.496379, 9.650467) Norm(-0.4518, 0.589865, -0.66928) UV(0.122633, 0.112902) -V 2750: Pos(-3.785837, -10.364901, 9.650054) Norm(-0.262155, 0.362727, -0.894262) UV(0.117802, 0.10716) -V 2751: Pos(-3.789515, -10.478736, 9.63639) Norm(0.051313, 0.001525, -0.998681) UV(0.121758, 0.107069) -V 2752: Pos(-4.146891, -11.517592, 9.815622) Norm(-0.868377, -0.26687, -0.417974) UV(0.087102, 0.292657) -V 2753: Pos(-4.106428, -11.525615, 9.735175) Norm(-0.895151, -0.352855, -0.272393) UV(0.084169, 0.293186) -V 2754: Pos(-3.973007, -11.734773, 9.741197) Norm(-0.772046, -0.542228, -0.331562) UV(0.080805, 0.285604) -V 2755: Pos(-3.302563, -11.133887, 9.646635) Norm(-0.163095, -0.009354, -0.986566) UV(0.143202, 0.089188) -V 2756: Pos(-3.798341, -11.969585, 9.766771) Norm(-0.739301, -0.553562, -0.38341) UV(0.077716, 0.276278) -V 2757: Pos(-4.089526, -9.848999, 10.392017) Norm(0.012069, 0.301268, -0.953463) UV(0.127961, 0.311657) -V 2758: Pos(-4.315226, -9.869107, 10.376476) Norm(0.000662, 0.396918, -0.917854) UV(0.125428, 0.308875) -V 2759: Pos(-3.943608, -10.379915, 10.090324) Norm(-0.42144, 0.856022, -0.299356) UV(0.114822, 0.32339) -V 2760: Pos(-3.963863, -10.306388, 10.372807) Norm(-0.208911, 0.581595, -0.786196) UV(0.120731, 0.318844) -V 2761: Pos(-4.106428, -11.525615, 9.735175) Norm(-0.895151, -0.352855, -0.272393) UV(0.157578, 0.11836) -V 2762: Pos(-4.056286, -11.535555, 9.635485) Norm(-0.917899, -0.396632, -0.012044) UV(0.15682, 0.114927) -V 2763: Pos(-4.249815, -11.1261, 9.967607) Norm(-0.936393, -0.279219, -0.212613) UV(0.097338, 0.302298) -V 2764: Pos(-4.168252, -11.534491, 9.89884) Norm(-0.944358, -0.328225, 0.021362) UV(0.089551, 0.291284) -V 2765: Pos(-4.037406, -11.135311, 9.595665) Norm(-0.039746, -0.010293, -0.999157) UV(0.144765, 0.114392) -V 2766: Pos(-3.895508, -10.432275, 9.842867) Norm(-0.509274, 0.825347, -0.243807) UV(0.108721, 0.328679) -V 2767: Pos(-3.959002, -10.496379, 9.650467) Norm(-0.4518, 0.589865, -0.66928) UV(0.10128, 0.330263) -V 2768: Pos(-4.122983, -10.653118, 9.671741) Norm(-0.542972, 0.602653, -0.5848) UV(0.097084, 0.322407) -V 2769: Pos(-4.213628, -10.655459, 9.798812) Norm(-0.821882, 0.441872, -0.359527) UV(0.100629, 0.318172) -V 2770: Pos(-4.165329, -10.724318, 9.650182) Norm(-0.709338, 0.298453, -0.638565) UV(0.094946, 0.319735) -V 2771: Pos(-4.210283, -10.711572, 9.709587) Norm(-0.911898, 0.241414, -0.331906) UV(0.097213, 0.31835) -V 2772: Pos(-4.583311, -11.26227, 10.377422) Norm(-0.185208, -0.415453, -0.89056) UV(0.11487, 0.297029) -V 2773: Pos(-4.331882, -10.968565, 10.373868) Norm(-0.664994, -0.039012, -0.745829) UV(0.108911, 0.30236) -V 2774: Pos(-4.265942, -10.544394, 10.042896) Norm(-0.761319, 0.526865, -0.377898) UV(0.108356, 0.315544) -V 2775: Pos(-4.394472, -10.429899, 10.362121) Norm(-0.423636, 0.364215, -0.829385) UV(0.115179, 0.31116) -V 2776: Pos(-4.122983, -10.653118, 9.671741) Norm(-0.542972, 0.602653, -0.5848) UV(0.128051, 0.118667) -V 2777: Pos(-4.165329, -10.724318, 9.650182) Norm(-0.709338, 0.298453, -0.638565) UV(0.130814, 0.119715) -V 2778: Pos(-4.788056, -9.958867, 10.327435) Norm(0.067926, 0.400579, -0.913741) UV(0.121742, 0.305693) -V 2779: Pos(-4.407351, -10.522722, 10.369551) Norm(-0.500829, 0.010193, -0.865486) UV(0.113838, 0.309937) -V 2780: Pos(-4.823018, -10.427421, 10.327488) Norm(0.093207, -0.014358, -0.995543) UV(0.118522, 0.305394) -V 2781: Pos(-4.193536, -11.17097, 9.644156) Norm(-0.903044, -0.091987, -0.419584) UV(0.14594, 0.119361) -V 2782: Pos(-4.128417, -11.241211, 9.721634) Norm(-0.984554, -0.167946, -0.049484) UV(0.14904, 0.12069) -V 2783: Pos(-4.148691, -11.133887, 9.709833) Norm(-0.992562, -0.109043, -0.054129) UV(0.088486, 0.306116) -V 2784: Pos(-4.193536, -11.17097, 9.644156) Norm(-0.903044, -0.091987, -0.419584) UV(0.085357, 0.306531) -V 2785: Pos(-4.249515, -11.023043, 9.928221) Norm(-0.939319, -0.083929, -0.332621) UV(0.097564, 0.305831) -V 2786: Pos(-4.331882, -10.932488, 10.106631) Norm(-0.967933, -0.02565, -0.249896) UV(0.103755, 0.30571) -V 2787: Pos(-4.144725, -11.225748, 9.754676) Norm(-0.968532, -0.131268, -0.211457) UV(0.088509, 0.302523) -V 2788: Pos(-4.940804, -11.013206, 10.332464) Norm(-0.125522, -0.367087, -0.921678) UV(0.117734, 0.301491) -V 2789: Pos(-5.212198, -10.401407, 10.288183) Norm(0.033863, -0.008952, -0.999386) UV(0.119697, 0.303831) -V 2790: Pos(-5.130303, -9.946959, 10.284436) Norm(0.065905, 0.437077, -0.897006) UV(0.120758, 0.30436) -V 2791: Pos(-5.126256, -9.909887, 10.336178) Norm(0.049479, 0.995823, -0.076739) UV(0.120902, 0.304273) -V 2792: Pos(-5.534324, -9.896329, 10.320985) Norm(-0.879535, 0.475776, -0.007392) UV(0.120434, 0.303722) -V 2793: Pos(-5.482219, -9.908354, 10.298527) Norm(-0.162946, 0.458689, -0.873529) UV(0.120425, 0.303782) -V 2794: Pos(-0.775591, -13.305736, 11.633051) Norm(-0.018039, -0.231956, 0.972559) UV(0.048219, 0.460526) -V 2795: Pos(-0.529975, -13.305736, 11.637282) Norm(0.0, -0.23067, 0.973032) UV(0.056021, 0.460664) -V 2796: Pos(-1.024109, -13.576867, 11.551586) Norm(-0.396892, -0.25177, 0.88266) UV(0.040103, 0.451495) -V 2797: Pos(-1.008739, -14.857088, 11.104099) Norm(-0.113272, -0.053324, 0.992132) UV(0.039034, 0.402984) -V 2798: Pos(-1.05187, -14.930587, 11.098452) Norm(-0.37533, -0.09807, 0.921688) UV(0.037738, 0.400151) -V 2799: Pos(-1.163257, -14.436649, 11.036701) Norm(-0.832948, -0.140001, 0.535347) UV(0.029357, 0.417714) -V 2800: Pos(-1.207133, -14.168979, 11.039964) Norm(-0.915596, -0.134303, 0.379008) UV(0.02625, 0.427132) -V 2801: Pos(-1.277503, -13.750895, 11.012545) Norm(-0.9105, -0.117304, 0.396522) UV(0.020771, 0.441334) -V 2802: Pos(-1.467764, -15.167814, 10.6512) Norm(-0.658063, -0.123147, 0.742824) UV(0.017019, 0.38703) -V 2803: Pos(-1.523833, -15.174119, 10.608152) Norm(-0.40228, -0.105274, 0.909444) UV(0.014499, 0.386314) -V 2804: Pos(-1.473392, -14.129045, 10.839348) Norm(-0.343086, -0.142398, 0.928447) UV(0.013838, 0.426159) -V 2805: Pos(-0.721109, -5.229028, 10.871285) Norm(-0.621109, 0.561734, -0.546515) UV(0.277684, 0.497265) -V 2806: Pos(-1.000314, -5.927032, 10.959153) Norm(-0.778791, 0.380872, 0.498419) UV(0.356029, 0.328434) -V 2807: Pos(-0.94488, -5.996615, 10.995941) Norm(-0.531377, 0.197526, 0.823785) UV(0.352973, 0.326482) -V 2808: Pos(-1.169228, -5.436759, 10.360969) Norm(0.271446, 0.57559, -0.771371) UV(0.233605, 0.484796) -V 2809: Pos(-1.170649, -16.839523, 10.479129) Norm(-0.643646, -0.310114, 0.699678) UV(0.035157, 0.333608) -V 2810: Pos(-1.296187, -16.886652, 9.945797) Norm(0.880135, -0.097112, -0.464684) UV(0.345185, 0.019769) -V 2811: Pos(-0.529975, -16.261761, 9.703357) Norm(0.0, -0.10518, -0.994453) UV(0.143369, 0.49546) -V 2812: Pos(-1.485558, -14.515833, 10.729332) Norm(-0.481555, -0.202088, 0.852798) UV(0.013746, 0.411347) -V 2813: Pos(-1.426973, -14.500408, 10.789208) Norm(-0.648212, -0.125228, 0.751092) UV(0.016674, 0.412547) -V 2814: Pos(-1.280582, -18.260746, 10.149389) Norm(0.995065, -0.042469, -0.089675) UV(0.392939, 0.019373) -V 2815: Pos(-1.292693, -18.628233, 10.165611) Norm(0.995802, -0.05335, -0.074379) UV(0.405514, 0.021276) -V 2816: Pos(-1.323378, -19.038101, 10.185481) Norm(0.702503, -0.710886, -0.033635) UV(0.021467, 0.009054) -V 2817: Pos(-1.250587, -12.610888, 11.088865) Norm(-0.660612, -0.061627, 0.748194) UV(0.106485, 0.918453) -V 2818: Pos(-1.072804, -12.610888, 11.619287) Norm(-0.997913, 0.063975, 0.008813) UV(0.087704, 0.914251) -V 2819: Pos(-1.075021, -12.550453, 11.620171) Norm(-0.997933, 0.007345, 0.063847) UV(0.088153, 0.912219) -V 2820: Pos(-1.246804, -12.550453, 11.10218) Norm(-0.697777, -0.154391, 0.699479) UV(0.106474, 0.91632) -V 2821: Pos(-3.260331, -12.742928, 9.787264) Norm(-0.697622, -0.499405, -0.513729) UV(0.071696, 0.245858) -V 2822: Pos(-3.137525, -12.918606, 9.783612) Norm(-0.772333, -0.626148, 0.10696) UV(0.070484, 0.238768) -V 2823: Pos(-0.819512, -13.748554, 9.520744) Norm(-0.04079, -0.611956, -0.789839) UV(0.148276, 0.584281) -V 2824: Pos(-0.529975, -13.735504, 9.498158) Norm(-0.0, -0.430257, -0.902707) UV(0.13794, 0.584196) -V 2825: Pos(-1.549913, -8.035152, 9.957069) Norm(-0.92226, 0.264145, -0.282249) UV(0.175551, 0.885804) -V 2826: Pos(-0.721109, -5.229028, 10.871285) Norm(-0.621109, 0.561734, -0.546515) UV(0.042553, 0.747121) -V 2827: Pos(-3.786814, -10.329092, 9.680916) Norm(-0.642836, 0.712751, -0.28062) UV(0.116221, 0.107555) -V 2828: Pos(-3.848096, -10.426018, 9.735842) Norm(-0.64463, 0.760168, 0.081223) UV(0.106779, 0.332066) -V 2829: Pos(-1.19064, -10.648867, 8.774108) Norm(0.017257, 0.366269, -0.930349) UV(0.190792, 0.986139) -V 2830: Pos(-2.335918, -10.075572, 9.26807) Norm(-0.483487, 0.244713, -0.84045) UV(0.151302, 0.961266) -V 2831: Pos(-2.399341, -9.892169, 9.345613) Norm(-0.437095, 0.330107, -0.836646) UV(0.149063, 0.954539) -V 2832: Pos(-2.351499, -9.530691, 9.491154) Norm(-0.35352, 0.387361, -0.851454) UV(0.150493, 0.941321) -V 2833: Pos(-1.779854, -9.530691, 9.491154) Norm(-0.019326, 0.39897, -0.91676) UV(0.169986, 0.940967) -V 2834: Pos(-1.19064, -11.133887, 8.774108) Norm(0.030997, -0.007464, -0.999492) UV(0.242841, 0.208063) -V 2835: Pos(-1.19064, -10.648867, 8.774108) Norm(0.017257, 0.366269, -0.930349) UV(0.242816, 0.224775) -V 2836: Pos(-0.833632, -10.648867, 8.779996) Norm(0.036267, 0.353749, -0.934637) UV(0.230513, 0.224757) -V 2837: Pos(-1.435854, -10.648867, 8.774108) Norm(-0.005218, 0.372506, -0.928015) UV(0.124303, 0.016092) -V 2838: Pos(-1.19064, -10.648867, 8.774108) Norm(0.017257, 0.366269, -0.930349) UV(0.124335, 0.007669) -V 2839: Pos(-0.777042, -13.576867, 11.557286) Norm(-0.022924, -0.273891, 0.961487) UV(0.048166, 0.451454) -V 2840: Pos(-0.529975, -13.576867, 11.562986) Norm(0.0, -0.271481, 0.962444) UV(0.056207, 0.451589) -V 2841: Pos(-0.776903, -13.961123, 11.445701) Norm(-0.028429, -0.297655, 0.95425) UV(0.048147, 0.438167) -V 2842: Pos(-0.77592, -14.160269, 11.379276) Norm(-0.027157, -0.325299, 0.945221) UV(0.048144, 0.430994) -V 2843: Pos(-0.762358, -14.434437, 11.282341) Norm(-0.016542, -0.340574, 0.940072) UV(0.04856, 0.420801) -V 2844: Pos(-2.208864, -17.021191, 10.028584) Norm(-0.90308, -0.265304, -0.337729) UV(0.023174, 0.092359) -V 2845: Pos(-2.331488, -16.556122, 10.002055) Norm(-0.922378, -0.229592, -0.310656) UV(0.02784, 0.108962) -V 2846: Pos(-2.734756, -14.372398, 9.790362) Norm(-0.863706, -0.176876, -0.47194) UV(0.050235, 0.186047) -V 2847: Pos(-2.092446, -17.477962, 10.073608) Norm(-0.896965, -0.240931, -0.370684) UV(0.019517, 0.075826) -V 2848: Pos(-2.453023, -15.835152, 9.92938) Norm(-0.912098, -0.214423, -0.349428) UV(0.034589, 0.134389) -V 2849: Pos(-2.607447, -15.153191, 9.869965) Norm(-0.91461, -0.215539, -0.342098) UV(0.041975, 0.158507) -V 2850: Pos(-4.128417, -11.241211, 9.721634) Norm(-0.984554, -0.167946, -0.049484) UV(0.087136, 0.302469) -V 2851: Pos(-1.091873, -11.675451, 11.495037) Norm(-0.905586, -0.209101, 0.36904) UV(0.029589, 0.511408) -V 2852: Pos(-1.105879, -14.168096, 11.238145) Norm(-0.980288, -0.131596, 0.14737) UV(0.088401, 0.969506) -V 2853: Pos(-1.167989, -14.16584, 11.085279) Norm(-0.693599, -0.10123, 0.713213) UV(0.093965, 0.97063) -V 2854: Pos(-1.075021, -12.550453, 11.620171) Norm(-0.997933, 0.007345, 0.063847) UV(0.035542, 0.483786) -V 2855: Pos(-1.070828, -14.44124, 11.161957) Norm(-0.952078, -0.238543, 0.19143) UV(0.088282, 0.979335) -V 2856: Pos(-1.107882, -14.428632, 11.099936) Norm(-0.671778, -0.18383, 0.71758) UV(0.090805, 0.979364) -V 2857: Pos(-1.07721, -12.035993, 11.62269) Norm(-0.998754, -0.034546, 0.036026) UV(0.034453, 0.500565) -V 2858: Pos(-1.127813, -13.243471, 11.473637) Norm(-0.998519, 0.043837, 0.032225) UV(0.088173, 0.936658) -V 2859: Pos(-1.264965, -13.131918, 11.083632) Norm(-0.707927, -0.027119, 0.705765) UV(0.10289, 0.936021) -V 2860: Pos(-1.107882, -14.428632, 11.099936) Norm(-0.671778, -0.18383, 0.71758) UV(0.032592, 0.418815) -V 2861: Pos(-1.023039, -14.616964, 11.115097) Norm(-0.858468, -0.301816, 0.414658) UV(0.087704, 0.985778) -V 2862: Pos(-1.303004, -16.724356, 10.412094) Norm(0.240408, -0.169859, 0.955694) UV(0.029853, 0.335434) -V 2863: Pos(-1.247728, -17.340864, 10.259338) Norm(0.925036, -0.342971, 0.16334) UV(0.034259, 0.317156) -V 2864: Pos(-1.343888, -19.038507, 10.090205) Norm(0.519477, -0.623501, -0.584286) UV(0.419196, 0.026468) -V 2865: Pos(-1.323378, -19.038101, 10.185481) Norm(0.702503, -0.710886, -0.033635) UV(0.419701, 0.023133) -V 2866: Pos(-1.047306, -14.604527, 11.101941) Norm(-0.458356, -0.132209, 0.87888) UV(0.035854, 0.412558) -V 2867: Pos(-1.380615, -16.335007, 10.506907) Norm(0.037615, -0.11113, 0.993094) UV(0.024847, 0.346552) -V 2868: Pos(-1.477532, -15.726151, 10.570805) Norm(-0.022506, -0.090489, 0.995643) UV(0.018858, 0.366537) -V 2869: Pos(-0.529975, -14.434437, 11.286572) Norm(-0.0, -0.345907, 0.938269) UV(0.056834, 0.420941) -V 2870: Pos(-0.529975, -14.160269, 11.38718) Norm(-0.0, -0.327914, 0.944708) UV(0.056626, 0.431133) -V 2871: Pos(-0.529975, -13.961123, 11.453605) Norm(-0.0, -0.29635, 0.95508) UV(0.056479, 0.438314) -V 2872: Pos(-0.529975, -8.883187, 9.707452) Norm(0.0, 0.144027, -0.989574) UV(0.212603, 0.916854) -V 2873: Pos(-0.529975, -8.51499, 9.69622) Norm(0.0, 0.115001, -0.993365) UV(0.212493, 0.904091) -V 2874: Pos(-0.529975, -9.214898, 9.597691) Norm(0.0, 0.316904, -0.948458) UV(0.212707, 0.928893) -V 2875: Pos(-0.529975, -6.150689, 10.337356) Norm(-0.0, 0.226623, -0.973983) UV(0.211753, 0.818308) -V 2876: Pos(-0.529975, -7.560335, 9.966778) Norm(-0.0, 0.209227, -0.977867) UV(0.21219, 0.868999) -V 2877: Pos(-0.529975, -8.249635, 9.761857) Norm(0.0, 0.356429, -0.934323) UV(0.212411, 0.894574) -V 2878: Pos(-0.529975, -5.49895, 10.374368) Norm(-0.0, 0.729641, -0.683831) UV(0.211564, 0.796328) -V 2879: Pos(-0.529975, -8.035152, 9.870833) Norm(0.0, 0.334426, -0.942422) UV(0.212338, 0.886123) -V 2880: Pos(-0.529975, -10.288738, 11.64669) Norm(-0.0, 0.063998, 0.99795) UV(0.053952, 0.561704) -V 2881: Pos(-0.529975, -11.201567, 11.698822) Norm(-0.0, 0.071441, 0.997445) UV(0.054612, 0.529484) -V 2882: Pos(-0.529975, -12.853063, 9.487405) Norm(0.0, -0.011684, -0.999932) UV(0.16091, 0.406011) -V 2883: Pos(-0.819512, -12.861806, 9.489315) Norm(-0.980736, 0.194895, -0.013178) UV(0.170951, 0.406326) -V 2884: Pos(-0.819512, -12.324382, 9.489315) Norm(-0.781303, 0.0, -0.624152) UV(0.170842, 0.387844) -V 2885: Pos(-0.529975, -12.315638, 9.487405) Norm(1e-06, 0.0, -1.0) UV(0.160983, 0.387538) -V 2886: Pos(-1.120493, -12.799871, 9.297012) Norm(-0.999864, 0.009148, 0.01376) UV(0.163217, 0.144301) -V 2887: Pos(-1.139086, -12.882915, 9.464819) Norm(-0.771105, 0.016815, 0.636486) UV(0.157504, 0.147446) -V 2888: Pos(-1.139086, -12.345491, 9.464819) Norm(-0.835395, 0.0, 0.549649) UV(0.157034, 0.1289) -V 2889: Pos(-1.120493, -12.262447, 9.297012) Norm(-0.998655, 0.001094, 0.051832) UV(0.162714, 0.1259) -V 2890: Pos(-1.19064, -12.382905, 8.789777) Norm(-0.415302, -0.048259, -0.908403) UV(0.180289, 0.129377) -V 2891: Pos(-1.19064, -11.946148, 8.777954) Norm(-0.112576, -0.011415, -0.993578) UV(0.180157, 0.114498) -V 2892: Pos(-0.819512, -12.861806, 9.489315) Norm(-0.980736, 0.194895, -0.013178) UV(0.146301, 0.14681) -V 2893: Pos(-0.819512, -12.324382, 9.489315) Norm(-0.781303, 0.0, -0.624152) UV(0.146142, 0.12833) -V 2894: Pos(-1.139086, -13.755318, 9.532556) Norm(0.124383, -0.89602, -0.426236) UV(0.156983, 0.177769) -V 2895: Pos(-0.819512, -13.748554, 9.520744) Norm(-0.04079, -0.611956, -0.789839) UV(0.146142, 0.177373) -V 2896: Pos(-1.183882, -13.601337, 8.935) Norm(-0.296787, -0.538673, -0.788511) UV(0.177232, 0.171333) -V 2897: Pos(-1.187225, -13.121551, 8.863171) Norm(-0.456925, -0.116072, -0.8819) UV(0.178867, 0.154693) -V 2898: Pos(-0.529975, -13.735504, 9.498158) Norm(-0.0, -0.430257, -0.902707) UV(0.16079, 0.436355) -V 2899: Pos(-0.819512, -13.748554, 9.520744) Norm(-0.04079, -0.611956, -0.789839) UV(0.170708, 0.436891) -V 2900: Pos(-0.529975, -10.648867, 8.785004) Norm(-0.0, 0.347127, -0.937818) UV(0.213196, 0.985637) -V 2901: Pos(-0.833632, -10.648867, 8.779996) Norm(0.036267, 0.353749, -0.934637) UV(0.202897, 0.985849) -V 2902: Pos(-0.529975, -10.648867, 8.785004) Norm(-0.0, 0.347127, -0.937818) UV(0.22005, 0.224746) -V 2903: Pos(-1.139086, -13.755318, 9.532556) Norm(0.124383, -0.89602, -0.426236) UV(0.240901, 0.101439) -V 2904: Pos(-2.480722, -5.49018, 11.039805) Norm(-0.092888, 0.933386, -0.346646) UV(0.342395, 0.24803) -V 2905: Pos(-2.503946, -5.49018, 11.021986) Norm(-0.107809, 0.577192, -0.809461) UV(0.342609, 0.248977) -V 2906: Pos(-2.554743, -5.49018, 11.088598) Norm(-0.476827, 0.738425, -0.476827) UV(0.341532, 0.250266) -V 2907: Pos(-2.534045, -5.49018, 11.109297) Norm(0.0, 1.0, 1e-06) UV(0.341066, 0.25005) -V 2908: Pos(-2.55916, -6.203906, 11.23948) Norm(0.493005, 0.16669, 0.853909) UV(0.32049, 0.24827) -V 2909: Pos(-2.514532, -6.370966, 11.316777) Norm(0.485602, 0.238263, 0.841084) UV(0.314421, 0.24756) -V 2910: Pos(-2.408175, -6.370966, 11.235167) Norm(0.686743, 0.238263, 0.686742) UV(0.314963, 0.243533) -V 2911: Pos(-2.471288, -6.203906, 11.172053) Norm(0.697216, 0.166691, 0.697212) UV(0.320978, 0.244521) -V 2912: Pos(-2.352472, -5.847043, 11.113851) Norm(0.866026, -0.0, 0.499999) UV(0.332514, 0.243733) -V 2913: Pos(-2.403862, -6.203906, 11.084181) Norm(0.853909, 0.166691, 0.493004) UV(0.321757, 0.240766) -V 2914: Pos(-2.361475, -6.203906, 10.981853) Norm(0.952412, 0.166691, 0.255198) UV(0.322741, 0.23692) -V 2915: Pos(-2.304158, -5.847043, 10.997211) Norm(0.965926, -0.0, 0.25882) UV(0.333742, 0.240688) -V 2916: Pos(-3.238445, -5.847043, 10.997211) Norm(-0.965926, 0.0, 0.25882) UV(0.333255, 0.27139) -V 2917: Pos(-3.181128, -6.203906, 10.981853) Norm(-0.952412, 0.166691, 0.255199) UV(0.321921, 0.274725) -V 2918: Pos(-3.138741, -6.203906, 11.084181) Norm(-0.85391, 0.16669, 0.493003) UV(0.321104, 0.270783) -V 2919: Pos(-3.190131, -5.847043, 11.113851) Norm(-0.866026, -0.0, 0.499999) UV(0.332157, 0.268167) -V 2920: Pos(-2.771302, -5.847043, 10.388417) Norm(-0.0, 0.0, -1.0) UV(0.350988, 0.300876) -V 2921: Pos(-2.771302, -6.203906, 10.447757) Norm(-0.0, 0.166691, -0.986009) UV(0.332188, 0.307745) -V 2922: Pos(-2.881114, -6.203906, 10.462214) Norm(-0.255198, 0.16669, -0.952412) UV(0.330287, 0.302336) -V 2923: Pos(-2.896472, -5.847043, 10.404897) Norm(-0.258819, -0.0, -0.965926) UV(0.347259, 0.295257) -V 2924: Pos(-2.347018, -6.203906, 10.87204) Norm(0.986009, 0.166691, -0.0) UV(0.324018, 0.233017) -V 2925: Pos(-2.287679, -5.847043, 10.87204) Norm(1.0, -0.0, -0.0) UV(0.335219, 0.237486) -V 2926: Pos(-3.071315, -6.203906, 11.172053) Norm(-0.697216, 0.16669, 0.697212) UV(0.320603, 0.26688) -V 2927: Pos(-3.113274, -5.847043, 11.214012) Norm(-0.70711, -0.0, 0.707104) UV(0.331267, 0.265043) -V 2928: Pos(-2.983443, -6.203906, 10.5046) Norm(-0.493003, 0.16669, -0.85391) UV(0.328565, 0.297167) -V 2929: Pos(-3.013113, -5.847043, 10.453211) Norm(-0.499997, 0.0, -0.866027) UV(0.343974, 0.290285) -V 2930: Pos(-2.361475, -6.203906, 10.762227) Norm(0.952412, 0.16669, -0.255198) UV(0.325325, 0.228923) -V 2931: Pos(-2.304158, -5.847043, 10.746869) Norm(0.965926, -0.0, -0.258819) UV(0.337, 0.234278) -V 2932: Pos(-2.983443, -6.203906, 11.23948) Norm(-0.493004, 0.16669, 0.85391) UV(0.320119, 0.263085) -V 2933: Pos(-3.013113, -5.847043, 11.290869) Norm(-0.499999, 0.0, 0.866026) UV(0.330693, 0.261911) -V 2934: Pos(-3.071315, -6.203906, 10.572026) Norm(-0.697214, 0.16669, -0.697213) UV(0.326944, 0.292196) -V 2935: Pos(-3.113274, -5.847043, 10.530067) Norm(-0.707107, 0.0, -0.707107) UV(0.340999, 0.285905) -V 2936: Pos(-2.403862, -6.203906, 10.659898) Norm(0.853909, 0.16669, -0.493005) UV(0.326849, 0.224682) -V 2937: Pos(-2.352472, -5.847043, 10.630229) Norm(0.866026, 0.0, -0.5) UV(0.339153, 0.230862) -V 2938: Pos(-2.881114, -6.203906, 11.281866) Norm(-0.255193, 0.16669, 0.952413) UV(0.319836, 0.259347) -V 2939: Pos(-2.896472, -5.847043, 11.339183) Norm(-0.258814, 0.0, 0.965927) UV(0.330378, 0.258868) -V 2940: Pos(-2.771302, -5.847043, 11.355662) Norm(-0.0, -0.0, 1.0) UV(0.330319, 0.255855) -V 2941: Pos(-2.771302, -6.203906, 11.296323) Norm(-0.0, 0.16669, 0.986009) UV(0.319836, 0.255648) -V 2942: Pos(-2.661489, -6.203906, 11.281866) Norm(0.255193, 0.16669, 0.952413) UV(0.320014, 0.251964) -V 2943: Pos(-2.646131, -5.847043, 11.339183) Norm(0.258814, -0.0, 0.965927) UV(0.330504, 0.252853) -V 2944: Pos(-3.138741, -6.203906, 10.659898) Norm(-0.853909, 0.166691, -0.493004) UV(0.325395, 0.287564) -V 2945: Pos(-3.190131, -5.847043, 10.630229) Norm(-0.866026, 0.0, -0.5) UV(0.338551, 0.281881) -V 2946: Pos(-2.471288, -6.203906, 10.572026) Norm(0.697214, 0.16669, -0.697213) UV(0.32862, 0.220337) -V 2947: Pos(-2.429329, -5.847043, 10.530067) Norm(0.707107, 0.0, -0.707107) UV(0.341614, 0.227196) -V 2948: Pos(-2.52949, -5.847043, 11.290869) Norm(0.499999, -0.0, 0.866026) UV(0.330894, 0.249844) -V 2949: Pos(-3.181128, -6.203906, 10.762227) Norm(-0.952412, 0.16669, -0.255198) UV(0.324071, 0.283075) -V 2950: Pos(-3.238445, -5.847043, 10.746869) Norm(-0.965926, 0.0, -0.258819) UV(0.336423, 0.278203) -V 2951: Pos(-2.55916, -6.203906, 10.5046) Norm(0.493004, 0.16669, -0.85391) UV(0.330556, 0.215772) -V 2952: Pos(-2.52949, -5.847043, 10.453211) Norm(0.499997, 0.0, -0.866027) UV(0.344528, 0.223218) -V 2953: Pos(-2.429329, -5.847043, 11.214012) Norm(0.70711, -0.0, 0.707104) UV(0.331596, 0.246836) -V 2954: Pos(-3.195585, -6.203906, 10.87204) Norm(-0.986009, 0.166691, -0.0) UV(0.322855, 0.278857) -V 2955: Pos(-3.254924, -5.847043, 10.87204) Norm(-1.0, -0.0, -0.0) UV(0.334688, 0.274672) -V 2956: Pos(-2.661489, -6.203906, 10.462214) Norm(0.255197, 0.166691, -0.952412) UV(0.332621, 0.210991) -V 2957: Pos(-2.646131, -5.847043, 10.404897) Norm(0.258819, 0.0, -0.965926) UV(0.347842, 0.218858) -V 2958: Pos(-2.771302, -6.203906, 10.447757) Norm(-0.0, 0.166691, -0.986009) UV(0.33476, 0.206094) -V 2959: Pos(-2.771302, -5.847043, 10.388417) Norm(-0.0, 0.0, -1.0) UV(0.351606, 0.213973) -V 2960: Pos(-2.661489, -5.49018, 10.462214) Norm(0.174906, 0.7371, -0.652757) UV(0.358716, 0.231418) -V 2961: Pos(-2.771302, -5.49018, 10.447757) Norm(-0.0, 0.737102, -0.675782) UV(0.36366, 0.2286) -V 2962: Pos(-3.195585, -5.49018, 10.87204) Norm(-0.675784, 0.7371, -2e-06) UV(0.343281, 0.269653) -V 2963: Pos(-3.181128, -5.49018, 10.981853) Norm(-0.652756, 0.737101, 0.174903) UV(0.341515, 0.267221) -V 2964: Pos(-2.471288, -5.49018, 11.172053) Norm(0.477853, 0.7371, 0.477849) UV(0.339279, 0.249271) -V 2965: Pos(-2.403862, -5.49018, 11.084182) Norm(0.585246, 0.7371, 0.337892) UV(0.340464, 0.246942) -V 2966: Pos(-2.55916, -5.49018, 10.5046) Norm(0.33789, 0.737101, -0.585246) UV(0.354525, 0.233727) -V 2967: Pos(-3.181128, -5.49018, 10.762227) Norm(-0.652756, 0.737101, -0.174906) UV(0.345327, 0.271743) -V 2968: Pos(-2.55916, -5.49018, 11.23948) Norm(0.337891, 0.7371, 0.585246) UV(0.338701, 0.251559) -V 2969: Pos(-2.471288, -5.49018, 10.572026) Norm(0.477851, 0.737101, -0.47785) UV(0.350456, 0.236036) -V 2970: Pos(-3.138741, -5.49018, 10.659898) Norm(-0.585246, 0.7371, -0.337891) UV(0.347775, 0.274038) -V 2971: Pos(-2.661489, -5.49018, 11.281866) Norm(0.174902, 0.7371, 0.652757) UV(0.338261, 0.253624) -V 2972: Pos(-2.881114, -5.49018, 11.281866) Norm(-0.174902, 0.7371, 0.652758) UV(0.338217, 0.258256) -V 2973: Pos(-2.771302, -5.49018, 11.296323) Norm(-0.0, 0.737101, 0.675782) UV(0.337975, 0.255986) -V 2974: Pos(-2.403862, -5.49018, 10.659898) Norm(0.585246, 0.7371, -0.337891) UV(0.347616, 0.238461) -V 2975: Pos(-3.071315, -5.49018, 10.572026) Norm(-0.477851, 0.7371, -0.477851) UV(0.351112, 0.276739) -V 2976: Pos(-2.983443, -5.49018, 11.23948) Norm(-0.337891, 0.737101, 0.585245) UV(0.338568, 0.260354) -V 2977: Pos(-2.361475, -5.49018, 10.762227) Norm(0.652757, 0.737101, -0.174903) UV(0.345307, 0.24062) -V 2978: Pos(-2.983443, -5.49018, 10.5046) Norm(-0.33789, 0.7371, -0.585247) UV(0.355282, 0.279023) -V 2979: Pos(-3.071315, -5.49018, 11.172053) Norm(-0.477854, 0.7371, 0.477849) UV(0.339174, 0.26275) -V 2980: Pos(-2.347018, -5.49018, 10.87204) Norm(0.675783, 0.7371, 2e-06) UV(0.34329, 0.242757) -V 2981: Pos(-2.881114, -5.49018, 10.462214) Norm(-0.174906, 0.7371, -0.652757) UV(0.359908, 0.28184) -V 2982: Pos(-3.138741, -5.49018, 11.084182) Norm(-0.585246, 0.7371, 0.33789) UV(0.340281, 0.265021) -V 2983: Pos(-2.361475, -5.49018, 10.981853) Norm(0.652756, 0.737101, 0.174906) UV(0.341759, 0.244818) -V 2984: Pos(-2.771302, -5.49018, 10.447757) Norm(-0.0, 0.737102, -0.675782) UV(0.36625, 0.285518) -V 2985: Pos(-3.263402, -8.134203, 11.003898) Norm(-0.783467, 0.584904, 0.209921) UV(0.349583, 0.4101) -V 2986: Pos(-3.280762, -8.134203, 10.87204) Norm(-0.811103, 0.584903, -3e-06) UV(0.350479, 0.406035) -V 2987: Pos(-3.189775, -8.694091, 10.87204) Norm(-0.973213, -0.229906, 0.0) UV(0.367944, 0.410122) -V 2988: Pos(-3.175515, -8.694091, 10.980349) Norm(-0.940052, -0.229905, 0.251885) UV(0.367193, 0.413615) -V 2989: Pos(-3.267342, -6.370966, 10.739126) Norm(-0.938108, 0.238263, -0.251366) UV(0.317065, 0.284917) -V 2990: Pos(-3.284841, -6.370966, 10.87204) Norm(-0.9712, 0.238264, 0.0) UV(0.316155, 0.280392) -V 2991: Pos(-2.514532, -6.370966, 10.427302) Norm(0.4856, 0.238263, -0.841085) UV(0.322966, 0.212767) -V 2992: Pos(-2.638388, -6.370966, 10.375999) Norm(0.251363, 0.238263, -0.938108) UV(0.324656, 0.207697) -V 2993: Pos(-2.326564, -6.370966, 11.128809) Norm(0.841084, 0.238264, 0.485601) UV(0.315672, 0.239482) -V 2994: Pos(-3.267342, -6.370966, 11.004953) Norm(-0.938107, 0.238264, 0.251366) UV(0.315394, 0.27601) -V 2995: Pos(-2.771302, -6.370966, 10.3585) Norm(-0.0, 0.238264, -0.9712) UV(0.326449, 0.202322) -V 2996: Pos(-2.275261, -6.370966, 11.004953) Norm(0.938108, 0.238263, 0.251365) UV(0.316475, 0.235371) -V 2997: Pos(-3.216039, -6.370966, 11.128809) Norm(-0.841084, 0.238264, 0.4856) UV(0.314778, 0.271746) -V 2998: Pos(-2.771302, -6.370966, 10.3585) Norm(-0.0, 0.238264, -0.9712) UV(0.322942, 0.310503) -V 2999: Pos(-2.904215, -6.370966, 10.375999) Norm(-0.251363, 0.238263, -0.938108) UV(0.321797, 0.30498) -V 3000: Pos(-2.257763, -6.370966, 10.87204) Norm(0.9712, 0.238264, 0.0) UV(0.317429, 0.231148) -V 3001: Pos(-3.134429, -6.370966, 11.235167) Norm(-0.686743, 0.238263, 0.686742) UV(0.314315, 0.26757) -V 3002: Pos(-3.028071, -6.370966, 10.427302) Norm(-0.485599, 0.238262, -0.841085) UV(0.320486, 0.299598) -V 3003: Pos(-2.275261, -6.370966, 10.739126) Norm(0.938108, 0.238263, -0.251365) UV(0.318605, 0.226772) -V 3004: Pos(-3.028071, -6.370966, 11.316777) Norm(-0.485601, 0.238262, 0.841085) UV(0.314054, 0.263499) -V 3005: Pos(-3.134429, -6.370966, 10.508913) Norm(-0.686745, 0.238263, -0.68674) UV(0.319253, 0.294497) -V 3006: Pos(-2.326564, -6.370966, 10.615271) Norm(0.841085, 0.238263, -0.4856) UV(0.319923, 0.222264) -V 3007: Pos(-2.904215, -6.370966, 11.36808) Norm(-0.251364, 0.238263, 0.938108) UV(0.313936, 0.259505) -V 3008: Pos(-2.771302, -6.370966, 11.385578) Norm(-0.0, 0.238263, 0.971201) UV(0.313925, 0.255535) -V 3009: Pos(-2.638388, -6.370966, 11.36808) Norm(0.251364, 0.238263, 0.938108) UV(0.314089, 0.251555) -V 3010: Pos(-3.216039, -6.370966, 10.615271) Norm(-0.841085, 0.238263, -0.485599) UV(0.318102, 0.289613) -V 3011: Pos(-2.408175, -6.370966, 10.508913) Norm(0.686745, 0.238263, -0.68674) UV(0.321383, 0.217608) -V 3012: Pos(-2.411059, -8.134203, 10.511797) Norm(0.573538, 0.584903, -0.573536) UV(0.35312, 0.469171) -V 3013: Pos(-2.330096, -8.134203, 10.61731) Norm(0.702436, 0.584904, -0.40555) UV(0.35194, 0.465121) -V 3014: Pos(-2.408893, -8.694091, 10.662804) Norm(0.842827, -0.229905, -0.486607) UV(0.369482, 0.460116) -V 3015: Pos(-2.475397, -8.694091, 10.576135) Norm(0.688167, -0.229905, -0.688164) UV(0.370601, 0.463625) -V 3016: Pos(-2.771302, -8.134203, 10.362579) Norm(-0.0, 0.584908, -0.8111) UV(0.357298, 0.481796) -V 3017: Pos(-2.639443, -8.134203, 10.379939) Norm(0.209927, 0.584913, -0.783459) UV(0.35597, 0.477491) -V 3018: Pos(-2.662992, -8.694091, 10.467826) Norm(0.251882, -0.229905, -0.940053) UV(0.373392, 0.470542) -V 3019: Pos(-2.771302, -8.694091, 10.453567) Norm(-0.0, -0.229905, -0.973213) UV(0.375068, 0.473946) -V 3020: Pos(-2.279201, -8.134203, 11.003898) Norm(0.783466, 0.584905, 0.209922) UV(0.349106, 0.452747) -V 3021: Pos(-2.330096, -8.134203, 11.12677) Norm(0.702436, 0.584904, 0.40555) UV(0.34839, 0.448528) -V 3022: Pos(-2.408893, -8.694091, 11.081276) Norm(0.842828, -0.229905, 0.486606) UV(0.366333, 0.445962) -V 3023: Pos(-2.367088, -8.694091, 10.980349) Norm(0.940052, -0.229905, 0.251886) UV(0.366926, 0.449526) -V 3024: Pos(-3.212507, -8.134203, 11.12677) Norm(-0.702437, 0.584904, 0.405549) UV(0.348806, 0.41427) -V 3025: Pos(-3.133709, -8.694091, 11.081276) Norm(-0.842827, -0.229905, 0.486607) UV(0.366568, 0.417143) -V 3026: Pos(-2.90316, -8.134203, 10.379939) Norm(-0.209925, 0.58491, -0.783461) UV(0.356858, 0.385664) -V 3027: Pos(-2.771302, -8.134203, 10.362579) Norm(-0.0, 0.584908, -0.8111) UV(0.358272, 0.381431) -V 3028: Pos(-2.771302, -8.694091, 10.453567) Norm(-0.0, -0.229905, -0.973213) UV(0.375694, 0.38963) -V 3029: Pos(-2.87961, -8.694091, 10.467826) Norm(-0.251882, -0.229905, -0.940053) UV(0.373988, 0.392935) -V 3030: Pos(-2.261841, -8.134203, 10.87204) Norm(0.811103, 0.584903, 2e-06) UV(0.349959, 0.456926) -V 3031: Pos(-2.352829, -8.694091, 10.87204) Norm(0.973213, -0.229906, 1e-06) UV(0.367645, 0.453064) -V 3032: Pos(-3.131544, -8.134203, 11.232283) Norm(-0.573532, 0.584901, 0.573543) UV(0.348211, 0.418569) -V 3033: Pos(-3.067206, -8.694091, 11.167945) Norm(-0.688164, -0.229905, 0.688167) UV(0.366083, 0.420709) -V 3034: Pos(-3.026032, -8.134203, 10.430834) Norm(-0.405555, 0.584907, -0.702431) UV(0.35532, 0.389756) -V 3035: Pos(-2.980538, -8.694091, 10.509631) Norm(-0.486608, -0.229905, -0.842826) UV(0.372436, 0.396331) -V 3036: Pos(-2.279201, -8.134203, 10.740182) Norm(0.783466, 0.584905, -0.209919) UV(0.350904, 0.461066) -V 3037: Pos(-2.367088, -8.694091, 10.763731) Norm(0.940052, -0.229905, -0.251886) UV(0.368491, 0.456595) -V 3038: Pos(-3.026032, -8.134203, 11.313245) Norm(-0.405554, 0.584904, 0.702434) UV(0.347782, 0.422879) -V 3039: Pos(-2.980538, -8.694091, 11.234447) Norm(-0.486608, -0.229905, 0.842826) UV(0.365737, 0.424299) -V 3040: Pos(-3.131544, -8.134203, 10.511797) Norm(-0.573535, 0.584901, -0.57354) UV(0.353884, 0.39386) -V 3041: Pos(-3.067206, -8.694091, 10.576135) Norm(-0.688167, -0.229905, -0.688164) UV(0.371053, 0.399754) -V 3042: Pos(-2.275261, -8.083642, 10.739126) Norm(0.68126, -0.708918, -0.182539) UV(0.260851, 0.21966) -V 3043: Pos(-2.326564, -8.083642, 10.615271) Norm(0.610801, -0.708917, -0.352647) UV(0.261374, 0.214756) -V 3044: Pos(-2.90316, -8.134203, 11.364141) Norm(-0.209933, 0.584912, 0.783458) UV(0.347479, 0.427051) -V 3045: Pos(-2.87961, -8.694091, 11.276254) Norm(-0.251884, -0.229907, 0.940052) UV(0.36549, 0.427892) -V 3046: Pos(-3.212507, -8.134203, 10.61731) Norm(-0.702435, 0.584902, -0.405556) UV(0.352624, 0.397866) -V 3047: Pos(-3.133709, -8.694091, 10.662804) Norm(-0.842827, -0.229905, -0.486607) UV(0.369873, 0.4032) -V 3048: Pos(-2.771302, -8.082157, 11.369227) Norm(-1e-06, -0.794868, 0.606783) UV(0.036783, 0.79478) -V 3049: Pos(-2.771302, -8.132718, 11.365149) Norm(-1e-06, 0.674431, 0.738338) UV(0.035037, 0.79478) -V 3050: Pos(-2.643676, -8.132718, 11.348346) Norm(0.191097, 0.674425, 0.713185) UV(0.034991, 0.790351) -V 3051: Pos(-2.64262, -8.082157, 11.352285) Norm(0.15705, -0.794863, 0.586113) UV(0.036736, 0.790315) -V 3052: Pos(-2.771302, -8.134203, 11.3815) Norm(-0.0, 0.584909, 0.811099) UV(0.347314, 0.431223) -V 3053: Pos(-2.771302, -8.694091, 11.290512) Norm(-0.0, -0.229906, 0.973213) UV(0.365374, 0.431503) -V 3054: Pos(-3.263402, -8.134203, 10.740182) Norm(-0.783466, 0.584904, -0.209925) UV(0.351497, 0.401941) -V 3055: Pos(-3.175515, -8.694091, 10.763731) Norm(-0.940052, -0.229905, -0.251886) UV(0.368821, 0.406649) -V 3056: Pos(-2.516572, -8.134203, 10.430834) Norm(0.405555, 0.584908, -0.70243) UV(0.354506, 0.473329) -V 3057: Pos(-2.562065, -8.694091, 10.509631) Norm(0.486608, -0.229905, -0.842826) UV(0.371917, 0.46709) -V 3058: Pos(-2.771302, -8.083642, 11.385578) Norm(-0.0, -0.70892, 0.705288) UV(0.25817, 0.253242) -V 3059: Pos(-2.638388, -8.083642, 11.36808) Norm(0.182544, -0.708918, 0.681258) UV(0.258407, 0.248447) -V 3060: Pos(-2.411059, -8.134203, 11.232283) Norm(0.573535, 0.584903, 0.573538) UV(0.347829, 0.444256) -V 3061: Pos(-2.516572, -8.134203, 11.313245) Norm(0.405555, 0.584906, 0.702432) UV(0.347451, 0.43988) -V 3062: Pos(-2.562065, -8.694091, 11.234447) Norm(0.486609, -0.229905, 0.842826) UV(0.365539, 0.438752) -V 3063: Pos(-2.475397, -8.694091, 11.167945) Norm(0.688164, -0.229905, 0.688167) UV(0.36587, 0.44237) -V 3064: Pos(-2.638388, -8.083642, 10.375999) Norm(0.182543, -0.708925, -0.681252) UV(0.26285, 0.200122) -V 3065: Pos(-2.771302, -8.083642, 10.3585) Norm(-0.0, -0.708919, -0.70529) UV(0.26293, 0.19517) -V 3066: Pos(-3.028071, -8.083642, 11.316777) Norm(-0.352646, -0.708916, 0.610802) UV(0.257822, 0.262858) -V 3067: Pos(-2.904215, -8.083642, 11.36808) Norm(-0.182543, -0.708915, 0.681262) UV(0.257963, 0.258043) -V 3068: Pos(-3.134429, -8.083642, 10.508913) Norm(-0.498719, -0.708916, -0.498715) UV(0.257961, 0.297169) -V 3069: Pos(-3.216039, -8.083642, 10.615271) Norm(-0.610801, -0.708918, -0.352643) UV(0.257861, 0.292256) -V 3070: Pos(-2.408175, -8.083642, 10.508913) Norm(0.49872, -0.708919, -0.498711) UV(0.261912, 0.209877) -V 3071: Pos(-2.639443, -8.134203, 11.364141) Norm(0.209931, 0.584905, 0.783463) UV(0.347288, 0.435499) -V 3072: Pos(-2.662992, -8.694091, 11.276254) Norm(0.251884, -0.229906, 0.940052) UV(0.365391, 0.435124) -V 3073: Pos(-2.514532, -8.083642, 11.316777) Norm(0.352646, -0.708915, 0.610802) UV(0.258715, 0.243645) -V 3074: Pos(-3.267342, -8.083642, 10.739126) Norm(-0.681259, -0.708917, -0.182548) UV(0.257762, 0.287323) -V 3075: Pos(-2.514532, -8.083642, 10.427301) Norm(0.352646, -0.708919, -0.610798) UV(0.262433, 0.204994) -V 3076: Pos(-2.408175, -8.083642, 11.235167) Norm(0.498715, -0.708916, 0.49872) UV(0.259069, 0.238799) -V 3077: Pos(-3.284841, -8.083642, 10.87204) Norm(-0.705292, -0.708917, -2e-06) UV(0.257687, 0.282403) -V 3078: Pos(-2.326564, -8.083642, 11.128809) Norm(0.6108, -0.708916, 0.352649) UV(0.259469, 0.234002) -V 3079: Pos(-3.267342, -8.083642, 11.004953) Norm(-0.68126, -0.708917, 0.182542) UV(0.257648, 0.277493) -V 3080: Pos(-2.275261, -8.083642, 11.004953) Norm(0.68126, -0.708917, 0.18254) UV(0.259903, 0.229223) -V 3081: Pos(-3.216039, -8.083642, 11.128809) Norm(-0.610802, -0.708919, 0.352642) UV(0.257659, 0.272557) -V 3082: Pos(-2.771302, -8.083642, 10.3585) Norm(-0.0, -0.708919, -0.70529) UV(0.257678, 0.312426) -V 3083: Pos(-2.904215, -8.083642, 10.375999) Norm(-0.182538, -0.708911, -0.681267) UV(0.258033, 0.307253) -V 3084: Pos(-2.257763, -8.083642, 10.87204) Norm(0.705292, -0.708917, 2e-06) UV(0.260351, 0.224481) -V 3085: Pos(-3.134429, -8.083642, 11.235167) Norm(-0.498717, -0.708916, 0.498717) UV(0.257707, 0.267691) -V 3086: Pos(-3.028071, -8.083642, 10.427301) Norm(-0.352642, -0.708912, -0.610809) UV(0.258059, 0.302177) -V 3087: Pos(-3.023043, -8.892056, 11.123781) Norm(-0.439449, -0.783434, 0.439449) UV(0.373119, 0.421517) -V 3088: Pos(-2.949309, -8.892056, 11.180358) Norm(-0.310737, -0.783437, 0.53821) UV(0.372778, 0.424859) -V 3089: Pos(-2.695056, -8.892056, 10.587487) Norm(-0.174731, -0.7377, 0.652126) UV(0.381888, 0.46631) -V 3090: Pos(-2.695056, -8.652523, 10.587487) Norm(-0.190032, -0.678871, 0.709241) UV(0.390765, 0.462813) -V 3091: Pos(-2.771302, -8.652523, 10.57745) Norm(0.0, -0.678875, 0.734254) UV(0.391844, 0.465584) -V 3092: Pos(-2.771302, -8.892056, 10.57745) Norm(0.0, -0.737695, 0.675134) UV(0.383215, 0.468945) -V 3093: Pos(-2.949309, -8.892056, 10.563721) Norm(-0.310737, -0.783434, -0.538213) UV(0.378919, 0.399232) -V 3094: Pos(-3.023043, -8.892056, 10.620298) Norm(-0.439448, -0.783435, -0.439448) UV(0.377654, 0.402279) -V 3095: Pos(-2.427417, -8.892056, 10.779896) Norm(0.600296, -0.783436, -0.160849) UV(0.375391, 0.45477) -V 3096: Pos(-2.462983, -8.892056, 10.694032) Norm(0.538211, -0.783435, -0.310737) UV(0.376288, 0.458031) -V 3097: Pos(-2.863445, -8.892056, 11.215924) Norm(-0.160845, -0.783437, 0.600296) UV(0.372615, 0.428202) -V 3098: Pos(-2.771302, -8.892056, 11.228055) Norm(-0.0, -0.783437, 0.621471) UV(0.372496, 0.431543) -V 3099: Pos(-2.679158, -8.892056, 11.215924) Norm(0.160845, -0.783435, 0.600299) UV(0.372571, 0.434904) -V 3100: Pos(-3.07962, -8.892056, 10.694032) Norm(-0.538212, -0.783435, -0.310735) UV(0.376575, 0.405421) -V 3101: Pos(-2.51956, -8.892056, 10.620298) Norm(0.439448, -0.783436, -0.439447) UV(0.377348, 0.461235) -V 3102: Pos(-2.593294, -8.892056, 11.180358) Norm(0.310736, -0.783435, 0.538212) UV(0.372694, 0.438267) -V 3103: Pos(-3.115186, -8.892056, 10.779896) Norm(-0.600297, -0.783436, -0.160849) UV(0.375621, 0.408591) -V 3104: Pos(-2.593294, -8.892056, 10.563721) Norm(0.310737, -0.783436, -0.538211) UV(0.378529, 0.464342) -V 3105: Pos(-2.51956, -8.892056, 11.123781) Norm(0.439449, -0.783435, 0.439449) UV(0.373001, 0.441651) -V 3106: Pos(-3.127317, -8.892056, 10.87204) Norm(-0.621473, -0.783435, 0.0) UV(0.374808, 0.41179) -V 3107: Pos(-2.679158, -8.892056, 10.528154) Norm(0.160849, -0.783436, -0.600297) UV(0.379863, 0.467343) -V 3108: Pos(-2.462983, -8.892056, 11.050048) Norm(0.538213, -0.783435, 0.310734) UV(0.373423, 0.444986) -V 3109: Pos(-3.115186, -8.892056, 10.964183) Norm(-0.600296, -0.783437, 0.160848) UV(0.37415, 0.414996) -V 3110: Pos(-2.771302, -8.892056, 10.516024) Norm(-0.0, -0.783438, -0.62147) UV(0.381464, 0.47021) -V 3111: Pos(-2.427417, -8.892056, 10.964183) Norm(0.600295, -0.783436, 0.160852) UV(0.373982, 0.448258) -V 3112: Pos(-3.07962, -8.892056, 11.050048) Norm(-0.538213, -0.783435, 0.310736) UV(0.373568, 0.418225) -V 3113: Pos(-2.771302, -8.892056, 10.516024) Norm(-0.0, -0.783438, -0.62147) UV(0.381988, 0.393503) -V 3114: Pos(-2.863445, -8.892056, 10.528154) Norm(-0.160849, -0.783436, -0.600296) UV(0.380321, 0.39631) -V 3115: Pos(-2.415286, -8.892056, 10.87204) Norm(0.621473, -0.783436, 5e-06) UV(0.374615, 0.451512) -V 3116: Pos(-2.771302, -5.49018, 11.207572) Norm(0.0, 1.0, -1e-06) UV(0.339805, 0.256053) -V 3117: Pos(-2.68446, -5.49018, 11.196138) Norm(0.179435, 0.933387, -0.310792) UV(0.340164, 0.253843) -V 3118: Pos(-2.603536, -5.49018, 11.162619) Norm(-0.34664, 0.933388, -0.09288) UV(0.340715, 0.251999) -V 3119: Pos(-2.447203, -5.49018, 10.958881) Norm(-0.31078, 0.933391, 0.179437) UV(0.343557, 0.246221) -V 3120: Pos(-2.43577, -5.49018, 10.87204) Norm(0.0, 1.0, 2e-06) UV(0.344774, 0.244131) -V 3121: Pos(-2.447203, -5.49018, 10.785198) Norm(-0.310788, 0.933389, -0.179432) UV(0.347325, 0.242588) -V 3122: Pos(-2.480722, -5.49018, 10.704274) Norm(-0.092883, 0.933387, 0.346643) UV(0.349654, 0.240826) -V 3123: Pos(-2.534045, -5.49018, 10.634783) Norm(0.0, 1.0, 0.0) UV(0.352141, 0.238868) -V 3124: Pos(-2.603536, -5.49018, 10.581461) Norm(-0.346637, 0.93339, 0.092878) UV(0.356432, 0.237642) -V 3125: Pos(-2.68446, -5.49018, 10.547941) Norm(0.179435, 0.933387, 0.310792) UV(0.360658, 0.235765) -V 3126: Pos(-2.771302, -5.49018, 10.536508) Norm(0.0, 1.0, 1e-06) UV(0.365259, 0.233471) -V 3127: Pos(-2.771302, -5.49018, 10.536508) Norm(0.0, 1.0, 1e-06) UV(0.36909, 0.278976) -V 3128: Pos(-2.858144, -5.49018, 10.547941) Norm(-0.179434, 0.933387, 0.310792) UV(0.362226, 0.276548) -V 3129: Pos(-2.939067, -5.49018, 10.581461) Norm(0.346638, 0.93339, 0.092876) UV(0.357301, 0.274819) -V 3130: Pos(-3.008558, -5.49018, 10.634783) Norm(0.0, 1.0, -1e-06) UV(0.353136, 0.273702) -V 3131: Pos(-3.061881, -5.49018, 10.704274) Norm(0.092883, 0.933388, 0.346642) UV(0.34979, 0.27142) -V 3132: Pos(-3.0954, -5.49018, 10.785198) Norm(0.310789, 0.933388, -0.179435) UV(0.347361, 0.269645) -V 3133: Pos(-3.106833, -5.49018, 10.87204) Norm(0.0, 1.0, -2e-06) UV(0.344902, 0.268194) -V 3134: Pos(-3.0954, -5.49018, 10.958881) Norm(0.310781, 0.933391, 0.179434) UV(0.343318, 0.265738) -V 3135: Pos(-3.061881, -5.49018, 11.039805) Norm(0.092888, 0.933385, -0.346647) UV(0.342247, 0.263819) -V 3136: Pos(-3.008558, -5.49018, 11.109297) Norm(0.0, 1.0, -0.0) UV(0.34102, 0.262108) -V 3137: Pos(-2.939067, -5.49018, 11.162619) Norm(0.346641, 0.933388, -0.092882) UV(0.340441, 0.259836) -V 3138: Pos(-2.858144, -5.49018, 11.196138) Norm(-0.179435, 0.933388, -0.310791) UV(0.34023, 0.257916) -V 3139: Pos(-2.836884, -5.744655, 10.627284) Norm(-0.174737, 0.737698, -0.652126) UV(0.359464, 0.259195) -V 3140: Pos(-2.836884, -5.659437, 10.627284) Norm(-0.255671, 0.155541, -0.954169) UV(0.356392, 0.257316) -V 3141: Pos(-2.771302, -5.659437, 10.618649) Norm(-1e-06, 0.155541, -0.987829) UV(0.356703, 0.255747) -V 3142: Pos(-2.771302, -5.744655, 10.618649) Norm(-0.0, 0.737702, -0.675126) UV(0.361453, 0.255604) -V 3143: Pos(-2.480722, -5.744655, 10.704274) Norm(-0.213582, 0.564825, 0.797092) UV(0.352003, 0.247308) -V 3144: Pos(-2.503946, -5.744655, 10.722094) Norm(-0.107798, -0.577197, 0.809458) UV(0.352586, 0.246531) -V 3145: Pos(-2.554744, -5.744655, 10.655481) Norm(-0.476831, -0.738425, 0.476823) UV(0.354679, 0.24674) -V 3146: Pos(-2.534045, -5.744655, 10.634783) Norm(0.0, 0.003753, -0.999993) UV(0.354686, 0.247466) -V 3147: Pos(-2.621356, -5.49018, 11.139396) Norm(-0.809462, 0.577193, -0.107795) UV(0.341327, 0.251738) -V 3148: Pos(-2.603536, -5.744655, 11.162619) Norm(-0.797098, 0.564817, -0.213578) UV(0.344801, 0.253445) -V 3149: Pos(-2.68446, -5.744655, 11.196138) Norm(0.412607, 0.564818, -0.714658) UV(0.344402, 0.254682) -V 3150: Pos(-3.0954, -5.744655, 10.785197) Norm(0.714654, 0.564824, -0.412605) UV(0.350663, 0.26409) -V 3151: Pos(-3.061881, -5.744655, 10.704274) Norm(0.21358, 0.564822, 0.797094) UV(0.352722, 0.264608) -V 3152: Pos(-3.008558, -5.744655, 11.109297) Norm(0.0, -0.016352, 0.999866) UV(0.34556, 0.259766) -V 3153: Pos(-2.98786, -5.744655, 11.088598) Norm(0.476828, -0.738425, -0.476828) UV(0.345227, 0.25994) -V 3154: Pos(-2.921247, -5.744655, 11.139396) Norm(0.809462, -0.577192, -0.107797) UV(0.344584, 0.25913) -V 3155: Pos(-2.939067, -5.744655, 11.162619) Norm(0.7971, 0.564818, -0.213571) UV(0.344767, 0.258697) -V 3156: Pos(-3.038657, -5.49018, 10.722094) Norm(0.107799, 0.577197, 0.809459) UV(0.351115, 0.270939) -V 3157: Pos(-2.98786, -5.49018, 10.655481) Norm(0.47683, 0.738425, 0.476825) UV(0.353581, 0.272806) -V 3158: Pos(-2.921247, -5.49018, 11.139396) Norm(0.809462, 0.577192, -0.107799) UV(0.341248, 0.260255) -V 3159: Pos(-2.68446, -5.744655, 10.547941) Norm(0.412606, 0.564818, 0.714659) UV(0.361405, 0.248229) -V 3160: Pos(-2.603536, -5.744655, 10.581461) Norm(-0.797099, 0.564824, 0.213558) UV(0.357556, 0.247045) -V 3161: Pos(-3.061881, -5.744655, 11.039805) Norm(0.213593, 0.564818, -0.797094) UV(0.346243, 0.261293) -V 3162: Pos(-3.038657, -5.744655, 11.021986) Norm(0.10781, -0.577192, -0.809461) UV(0.345584, 0.261069) -V 3163: Pos(-2.921247, -5.49018, 10.604684) Norm(0.809462, 0.577195, 0.107784) UV(0.356488, 0.273241) -V 3164: Pos(-2.621356, -5.744655, 10.604684) Norm(-0.809462, -0.577195, 0.107778) UV(0.356661, 0.246244) -V 3165: Pos(-2.621356, -5.49018, 10.604684) Norm(-0.809462, 0.577194, 0.107787) UV(0.355397, 0.239285) -V 3166: Pos(-2.447203, -5.744655, 10.958881) Norm(-0.714648, 0.564824, 0.412617) UV(0.347139, 0.249818) -V 3167: Pos(-2.480722, -5.744655, 11.039805) Norm(-0.213591, 0.564814, -0.797097) UV(0.346139, 0.250813) -V 3168: Pos(-3.0954, -5.744655, 10.958881) Norm(0.714646, 0.564822, 0.412621) UV(0.347334, 0.262273) -V 3169: Pos(-2.43577, -5.744655, 10.87204) Norm(0.0, 0.0, -1.0) UV(0.34877, 0.248957) -V 3170: Pos(-2.465042, -5.744655, 10.87204) Norm(-0.674337, -0.738424, -2e-06) UV(0.348512, 0.248545) -V 3171: Pos(-2.476225, -5.744655, 10.789019) Norm(-0.648597, -0.577198, -0.49615) UV(0.349392, 0.24766) -V 3172: Pos(-2.447203, -5.744655, 10.785197) Norm(-0.714653, 0.564823, -0.41261) UV(0.35025, 0.247769) -V 3173: Pos(-2.476225, -5.49018, 10.789019) Norm(-0.648601, 0.577191, -0.496153) UV(0.34722, 0.243599) -V 3174: Pos(-2.688281, -5.49018, 11.167116) Norm(0.496148, 0.577194, -0.648602) UV(0.340707, 0.254548) -V 3175: Pos(-2.771302, -5.49018, 11.178299) Norm(0.0, 0.738424, -0.674336) UV(0.34029, 0.256063) -V 3176: Pos(-2.939067, -5.744655, 10.581461) Norm(0.797096, 0.564822, 0.213573) UV(0.358649, 0.264386) -V 3177: Pos(-2.858144, -5.744655, 10.547941) Norm(-0.412606, 0.564818, 0.714659) UV(0.36253, 0.262876) -V 3178: Pos(-3.066379, -5.49018, 10.789019) Norm(0.6486, 0.577192, -0.496153) UV(0.347228, 0.2686) -V 3179: Pos(-3.066379, -5.744655, 10.789019) Norm(0.648598, -0.577199, -0.496147) UV(0.349722, 0.264256) -V 3180: Pos(-2.476225, -5.744655, 10.955061) Norm(-0.648591, -0.577198, 0.496158) UV(0.34726, 0.249108) -V 3181: Pos(-2.921247, -5.744655, 10.604684) Norm(0.809462, -0.577194, 0.107791) UV(0.357329, 0.265388) -V 3182: Pos(-2.858144, -5.744655, 11.196138) Norm(-0.412608, 0.56482, -0.714656) UV(0.344411, 0.25744) -V 3183: Pos(-3.106833, -5.744655, 10.87204) Norm(0.0, 0.013873, 0.999904) UV(0.348879, 0.262886) -V 3184: Pos(-3.077561, -5.744655, 10.87204) Norm(0.674338, -0.738423, 2e-06) UV(0.348631, 0.263294) -V 3185: Pos(-3.066379, -5.744655, 10.955061) Norm(0.648589, -0.577197, 0.496161) UV(0.347391, 0.26282) -V 3186: Pos(-2.695056, -8.892056, 11.156591) Norm(-0.174736, -0.7377, -0.652124) UV(0.374925, 0.434831) -V 3187: Pos(-2.771302, -8.892056, 11.16663) Norm(0.0, -0.7377, -0.675128) UV(0.374975, 0.431559) -V 3188: Pos(-2.624006, -8.892056, 11.127162) Norm(-0.337565, -0.737703, -0.584675) UV(0.375193, 0.438093) -V 3189: Pos(-2.562995, -8.892056, 11.080346) Norm(-0.47739, -0.7377, -0.477387) UV(0.375422, 0.441371) -V 3190: Pos(-2.516179, -8.892056, 11.019335) Norm(-0.584678, -0.7377, -0.337565) UV(0.375792, 0.444618) -V 3191: Pos(-2.486749, -8.892056, 10.948285) Norm(-0.652125, -0.737701, -0.174732) UV(0.37625, 0.447843) -V 3192: Pos(-2.476712, -8.892056, 10.87204) Norm(-0.675128, -0.7377, 5e-06) UV(0.376957, 0.451016) -V 3193: Pos(-2.486749, -8.892056, 10.795794) Norm(-0.652124, -0.7377, 0.174737) UV(0.377751, 0.454179) -V 3194: Pos(-2.516179, -8.892056, 10.724745) Norm(-0.58468, -0.7377, 0.337562) UV(0.378689, 0.457306) -V 3195: Pos(-2.562995, -8.892056, 10.663733) Norm(-0.477391, -0.737701, 0.477385) UV(0.379621, 0.46042) -V 3196: Pos(-2.624006, -8.892056, 10.616917) Norm(-0.337564, -0.737701, 0.584677) UV(0.380698, 0.463429) -V 3197: Pos(-2.847547, -8.892056, 10.587487) Norm(0.174731, -0.7377, 0.652126) UV(0.382299, 0.397385) -V 3198: Pos(-2.771302, -8.892056, 10.57745) Norm(0.0, -0.737695, 0.675134) UV(0.383695, 0.394815) -V 3199: Pos(-2.918597, -8.892056, 10.616917) Norm(0.337565, -0.737703, 0.584674) UV(0.381052, 0.400187) -V 3200: Pos(-2.979608, -8.892056, 10.663733) Norm(0.47739, -0.737701, 0.477385) UV(0.379948, 0.403139) -V 3201: Pos(-3.026424, -8.892056, 10.724745) Norm(0.58468, -0.737699, 0.337565) UV(0.378856, 0.406136) -V 3202: Pos(-3.055854, -8.892056, 10.795794) Norm(0.652124, -0.7377, 0.174737) UV(0.377921, 0.409194) -V 3203: Pos(-3.065892, -8.892056, 10.87204) Norm(0.675128, -0.7377, 1e-06) UV(0.377111, 0.412297) -V 3204: Pos(-3.055854, -8.892056, 10.948285) Norm(0.652124, -0.7377, -0.174736) UV(0.376385, 0.415424) -V 3205: Pos(-3.026424, -8.892056, 11.019335) Norm(0.584678, -0.7377, -0.337565) UV(0.375908, 0.418604) -V 3206: Pos(-2.979608, -8.892056, 11.080346) Norm(0.477389, -0.7377, -0.477388) UV(0.375514, 0.421816) -V 3207: Pos(-2.918597, -8.892056, 11.127162) Norm(0.337564, -0.737701, -0.584677) UV(0.375257, 0.425058) -V 3208: Pos(-2.847547, -8.892056, 11.156591) Norm(0.174736, -0.737698, -0.652126) UV(0.374957, 0.428305) -V 3209: Pos(-2.520282, -8.652523, 10.9393) Norm(0.652125, -0.7377, 0.174733) UV(0.184292, 0.456824) -V 3210: Pos(-2.520282, -8.87184, 10.9393) Norm(0.958576, -0.12314, 0.256845) UV(0.190012, 0.450978) -V 3211: Pos(-2.511427, -8.87184, 10.87204) Norm(0.992389, -0.123142, 0.0) UV(0.191501, 0.452044) -V 3212: Pos(-2.511427, -8.652523, 10.87204) Norm(0.675129, -0.7377, 1e-06) UV(0.186678, 0.458933) -V 3213: Pos(-2.516179, -8.652523, 11.019335) Norm(-0.635882, -0.678872, -0.367134) UV(0.38548, 0.443192) -V 3214: Pos(-2.486749, -8.652523, 10.948285) Norm(-0.709235, -0.678875, -0.190039) UV(0.385935, 0.446057) -V 3215: Pos(-3.055854, -8.652523, 10.948285) Norm(0.709236, -0.678875, -0.190036) UV(0.385923, 0.417161) -V 3216: Pos(-3.026424, -8.652523, 11.019335) Norm(0.635883, -0.678874, -0.367128) UV(0.385474, 0.419981) -V 3217: Pos(-2.771302, -8.652523, 10.57745) Norm(0.0, -0.678875, 0.734254) UV(0.391844, 0.398334) -V 3218: Pos(-2.847547, -8.652523, 10.587487) Norm(0.190034, -0.678875, 0.709236) UV(0.390774, 0.400886) -V 3219: Pos(-2.476711, -8.652523, 10.87204) Norm(-0.734255, -0.678874, 1e-06) UV(0.386509, 0.448901) -V 3220: Pos(-2.979608, -8.652523, 11.080346) Norm(0.519196, -0.678873, -0.519198) UV(0.385131, 0.422836) -V 3221: Pos(-2.918596, -8.652523, 10.616917) Norm(0.367127, -0.678875, 0.635882) UV(0.389765, 0.403493) -V 3222: Pos(-2.486749, -8.652523, 10.795794) Norm(-0.709235, -0.678875, 0.190036) UV(0.387191, 0.451731) -V 3223: Pos(-2.918596, -8.652523, 11.127162) Norm(0.367126, -0.678873, -0.635885) UV(0.384885, 0.425721) -V 3224: Pos(-2.979608, -8.652523, 10.663733) Norm(0.519198, -0.678872, 0.519197) UV(0.388821, 0.406158) -V 3225: Pos(-2.516179, -8.652523, 10.724745) Norm(-0.635884, -0.678875, 0.367124) UV(0.387966, 0.454548) -V 3226: Pos(-2.847547, -8.652523, 11.156591) Norm(0.190038, -0.678875, -0.709235) UV(0.384735, 0.428624) -V 3227: Pos(-2.771302, -8.652523, 11.16663) Norm(0.0, -0.678872, -0.734256) UV(0.384688, 0.431538) -V 3228: Pos(-2.695056, -8.652523, 11.156591) Norm(-0.190037, -0.678872, -0.709238) UV(0.38474, 0.434458) -V 3229: Pos(-3.026424, -8.652523, 10.724745) Norm(0.635883, -0.678874, 0.367128) UV(0.38795, 0.408866) -V 3230: Pos(-2.562995, -8.652523, 10.663733) Norm(-0.5192, -0.678874, 0.519193) UV(0.388822, 0.457342) -V 3231: Pos(-2.624006, -8.652523, 11.127162) Norm(-0.367126, -0.67887, -0.635889) UV(0.384893, 0.43738) -V 3232: Pos(-3.055854, -8.652523, 10.795794) Norm(0.709236, -0.678875, 0.190036) UV(0.387169, 0.411606) -V 3233: Pos(-2.624006, -8.652523, 10.616917) Norm(-0.367126, -0.678871, 0.635887) UV(0.389757, 0.460098) -V 3234: Pos(-2.562995, -8.652523, 11.080346) Norm(-0.519196, -0.678873, -0.519199) UV(0.385136, 0.440297) -V 3235: Pos(-3.065892, -8.652523, 10.87204) Norm(0.734254, -0.678874, 1e-06) UV(0.386489, 0.414372) -V 3236: Pos(-2.771302, -5.744655, 11.125429) Norm(-0.0, 0.737699, 0.67513) UV(0.345745, 0.256047) -V 3237: Pos(-2.771302, -5.744655, 11.207572) Norm(0.0, 0.032585, -0.999469) UV(0.344557, 0.255982) -V 3238: Pos(-2.705719, -5.744655, 11.116796) Norm(0.174733, 0.7377, 0.652125) UV(0.345838, 0.254962) -V 3239: Pos(-2.644607, -5.744655, 11.091482) Norm(0.337563, 0.737702, 0.584677) UV(0.346197, 0.253886) -V 3240: Pos(-2.534045, -5.744655, 11.109297) Norm(0.0, 0.03476, -0.999396) UV(0.345645, 0.252143) -V 3241: Pos(-2.592128, -5.744655, 11.051213) Norm(0.47739, 0.7377, 0.477386) UV(0.346741, 0.252798) -V 3242: Pos(-2.551859, -5.744655, 10.998734) Norm(0.584679, 0.737701, 0.337562) UV(0.347384, 0.251803) -V 3243: Pos(-2.526546, -5.744655, 10.937622) Norm(0.652125, 0.737699, 0.174737) UV(0.348322, 0.250963) -V 3244: Pos(-2.517912, -5.744655, 10.87204) Norm(0.675127, 0.737701, 0.0) UV(0.349512, 0.250257) -V 3245: Pos(-2.526546, -5.744655, 10.806458) Norm(0.652124, 0.737699, -0.17474) UV(0.35086, 0.249696) -V 3246: Pos(-2.551859, -5.744655, 10.745345) Norm(0.584678, 0.7377, -0.337566) UV(0.352483, 0.249525) -V 3247: Pos(-2.592128, -5.744655, 10.692866) Norm(0.477389, 0.737699, -0.477389) UV(0.354402, 0.249731) -V 3248: Pos(-2.644607, -5.744655, 10.652597) Norm(0.337562, 0.737701, -0.584679) UV(0.356608, 0.250443) -V 3249: Pos(-2.705719, -5.744655, 10.627284) Norm(0.174737, 0.737699, -0.652125) UV(0.358962, 0.252044) -V 3250: Pos(-2.771302, -5.744655, 10.536508) Norm(0.0, 0.032585, 0.999469) UV(0.366819, 0.251726) -V 3251: Pos(-2.771302, -5.744655, 10.536508) Norm(0.0, 0.032585, 0.999469) UV(0.366343, 0.25892) -V 3252: Pos(-2.897996, -5.744655, 10.652597) Norm(-0.337562, 0.737701, -0.584678) UV(0.357161, 0.260963) -V 3253: Pos(-3.008558, -5.744655, 10.634783) Norm(0.0, 0.0, 1.0) UV(0.355109, 0.264185) -V 3254: Pos(-2.950475, -5.744655, 10.692866) Norm(-0.47739, 0.7377, -0.477386) UV(0.35481, 0.261791) -V 3255: Pos(-2.990744, -5.744655, 10.745345) Norm(-0.584678, 0.7377, -0.337566) UV(0.352858, 0.262144) -V 3256: Pos(-3.016057, -5.744655, 10.806458) Norm(-0.652123, 0.737701, -0.174739) UV(0.351146, 0.261972) -V 3257: Pos(-3.024692, -5.744655, 10.87204) Norm(-0.675128, 0.7377, 0.0) UV(0.349604, 0.26149) -V 3258: Pos(-3.016057, -5.744655, 10.937622) Norm(-0.652123, 0.7377, 0.174738) UV(0.348381, 0.260923) -V 3259: Pos(-2.990744, -5.744655, 10.998734) Norm(-0.584678, 0.737699, 0.337566) UV(0.347358, 0.260164) -V 3260: Pos(-2.950475, -5.744655, 11.051213) Norm(-0.477389, 0.737699, 0.477389) UV(0.346614, 0.259187) -V 3261: Pos(-2.897996, -5.744655, 11.091482) Norm(-0.337562, 0.7377, 0.58468) UV(0.346096, 0.258203) -V 3262: Pos(-2.836884, -5.744655, 11.116796) Norm(-0.174733, 0.7377, 0.652126) UV(0.345787, 0.25719) -V 3263: Pos(-2.836884, -5.659437, 11.116796) Norm(-0.255665, 0.155541, 0.954171) UV(0.199222, 0.473362) -V 3264: Pos(-2.81271, -5.374162, 11.02658) Norm(-0.159728, 0.786841, 0.596127) UV(0.197986, 0.484114) -V 3265: Pos(-2.851297, -5.374162, 11.010596) Norm(-0.308573, 0.786846, 0.534468) UV(0.19701, 0.484161) -V 3266: Pos(-2.897996, -5.659437, 11.091482) Norm(-0.493911, 0.155543, 0.855487) UV(0.195424, 0.473376) -V 3267: Pos(-2.517912, -5.659437, 10.87204) Norm(0.987829, 0.155541, 0.0) UV(0.350105, 0.251675) -V 3268: Pos(-2.526546, -5.659437, 10.937622) Norm(0.95417, 0.155541, 0.25567) UV(0.349182, 0.252142) -V 3269: Pos(-2.950475, -5.659437, 11.051213) Norm(-0.698499, 0.155542, 0.698503) UV(0.347664, 0.25847) -V 3270: Pos(-2.990744, -5.659437, 10.998734) Norm(-0.855485, 0.155541, 0.493915) UV(0.348306, 0.259106) -V 3271: Pos(-2.897996, -5.659437, 10.652597) Norm(-0.493914, 0.155542, -0.855486) UV(0.355408, 0.258617) -V 3272: Pos(-2.526546, -5.659437, 10.806458) Norm(0.95417, 0.15554, -0.25567) UV(0.351167, 0.251426) -V 3273: Pos(-2.897996, -5.659437, 11.091482) Norm(-0.493911, 0.155543, 0.855487) UV(0.347224, 0.257751) -V 3274: Pos(-2.950475, -5.659437, 10.692866) Norm(-0.698499, 0.155543, -0.698502) UV(0.354057, 0.259502) -V 3275: Pos(-2.551859, -5.659437, 10.745345) Norm(0.855485, 0.155541, -0.493915) UV(0.352354, 0.25147) -V 3276: Pos(-2.836884, -5.659437, 11.116796) Norm(-0.255665, 0.155541, 0.954171) UV(0.346985, 0.256974) -V 3277: Pos(-2.705719, -5.659437, 11.116796) Norm(0.255665, 0.155541, 0.954171) UV(0.347165, 0.255278) -V 3278: Pos(-2.771302, -5.659437, 11.125429) Norm(-1e-06, 0.155541, 0.987829) UV(0.346957, 0.256132) -V 3279: Pos(-2.990744, -5.659437, 10.745345) Norm(-0.855485, 0.155541, -0.493916) UV(0.352661, 0.259973) -V 3280: Pos(-2.592128, -5.659437, 10.692866) Norm(0.6985, 0.155543, -0.698502) UV(0.353644, 0.251893) -V 3281: Pos(-2.644607, -5.659437, 11.091482) Norm(0.493912, 0.155543, 0.855487) UV(0.347436, 0.254374) -V 3282: Pos(-3.016057, -5.659437, 10.806458) Norm(-0.95417, 0.15554, -0.255669) UV(0.351344, 0.260097) -V 3283: Pos(-2.644607, -5.659437, 10.652597) Norm(0.493914, 0.155541, -0.855485) UV(0.354923, 0.252775) -V 3284: Pos(-2.592128, -5.659437, 11.051213) Norm(0.698499, 0.155543, 0.698502) UV(0.347867, 0.253517) -V 3285: Pos(-3.024692, -5.659437, 10.87204) Norm(-0.987829, 0.155541, 1e-06) UV(0.350141, 0.259946) -V 3286: Pos(-2.705719, -5.659437, 10.627284) Norm(0.255671, 0.155541, -0.95417) UV(0.356009, 0.254119) -V 3287: Pos(-2.551859, -5.659437, 10.998734) Norm(0.855486, 0.155541, 0.493914) UV(0.34844, 0.252765) -V 3288: Pos(-3.016057, -5.659437, 10.937622) Norm(-0.95417, 0.155541, 0.25567) UV(0.349133, 0.259607) -V 3289: Pos(-3.038657, -5.744655, 10.722094) Norm(0.107799, -0.577195, 0.80946) UV(0.35315, 0.265231) -V 3290: Pos(-2.98786, -5.744655, 10.655481) Norm(0.476829, -0.738423, 0.47683) UV(0.355105, 0.26491) -V 3291: Pos(-2.554743, -5.49018, 10.655481) Norm(-0.476829, 0.738424, 0.476826) UV(0.352492, 0.239665) -V 3292: Pos(-2.503946, -5.49018, 10.722094) Norm(-0.107798, 0.577197, 0.809459) UV(0.35056, 0.241205) -V 3293: Pos(-2.771302, -5.744655, 11.178299) Norm(0.0, -0.738424, -0.674337) UV(0.344201, 0.255967) -V 3294: Pos(-2.854323, -5.744655, 11.167116) Norm(-0.496149, -0.577194, -0.648602) UV(0.343999, 0.257006) -V 3295: Pos(-2.854323, -5.49018, 11.167116) Norm(-0.496148, 0.577194, -0.648602) UV(0.340676, 0.257427) -V 3296: Pos(-2.554744, -5.744655, 11.088598) Norm(-0.476828, -0.738423, -0.47683) UV(0.345313, 0.251955) -V 3297: Pos(-2.621356, -5.744655, 11.139396) Norm(-0.809462, -0.577193, -0.107795) UV(0.344616, 0.252851) -V 3298: Pos(-3.077561, -5.49018, 10.87204) Norm(0.674338, 0.738423, 0.0) UV(0.345417, 0.267706) -V 3299: Pos(-2.503946, -5.744655, 11.021986) Norm(-0.107808, -0.577191, -0.809462) UV(0.345634, 0.250928) -V 3300: Pos(-3.066379, -5.49018, 10.955061) Norm(0.648589, 0.577197, 0.496161) UV(0.344349, 0.265817) -V 3301: Pos(-2.771302, -5.49018, 10.565781) Norm(0.0, 0.738424, 0.674336) UV(0.365738, 0.234729) -V 3302: Pos(-2.771302, -5.744655, 10.565781) Norm(0.0, -0.738424, 0.674337) UV(0.367877, 0.249795) -V 3303: Pos(-2.688281, -5.744655, 10.576963) Norm(0.496147, -0.577193, 0.648603) UV(0.362975, 0.247109) -V 3304: Pos(-2.688281, -5.49018, 10.576963) Norm(0.496147, 0.577193, 0.648603) UV(0.362002, 0.236721) -V 3305: Pos(-2.854323, -5.49018, 10.576963) Norm(-0.496147, 0.577193, 0.648603) UV(0.364169, 0.274957) -V 3306: Pos(-2.854323, -5.744655, 10.576963) Norm(-0.496147, -0.577192, 0.648604) UV(0.363799, 0.263545) -V 3307: Pos(-2.771302, -5.744655, 10.565781) Norm(0.0, -0.738424, 0.674337) UV(0.367425, 0.260302) -V 3308: Pos(-2.771302, -5.49018, 10.565781) Norm(0.0, 0.738424, 0.674336) UV(0.369683, 0.276976) -V 3309: Pos(-2.465042, -5.49018, 10.87204) Norm(-0.674337, 0.738424, 0.0) UV(0.34522, 0.244597) -V 3310: Pos(-2.476225, -5.49018, 10.955061) Norm(-0.64859, 0.577197, 0.496161) UV(0.344312, 0.246217) -V 3311: Pos(-2.98786, -5.49018, 11.088598) Norm(0.476827, 0.738424, -0.476828) UV(0.341504, 0.261911) -V 3312: Pos(-3.038657, -5.49018, 11.021986) Norm(0.10781, 0.577192, -0.809461) UV(0.34248, 0.2631) -V 3313: Pos(-2.688281, -5.744655, 11.167116) Norm(0.496148, -0.577193, -0.648603) UV(0.344036, 0.25498) -V 3314: Pos(-2.705713, -5.374162, 10.758436) Norm(-0.337557, 0.737698, 0.584685) UV(0.198065, 0.49082) -V 3315: Pos(-2.705713, -5.452268, 10.758436) Norm(-0.36712, 0.678873, 0.635889) UV(0.197864, 0.489441) -V 3316: Pos(-2.678545, -5.452268, 10.779283) Norm(-0.519195, 0.678871, 0.519201) UV(0.198271, 0.489314) -V 3317: Pos(-2.678545, -5.374162, 10.779283) Norm(-0.477388, 0.737702, 0.477385) UV(0.198815, 0.490589) -V 3318: Pos(-2.705719, -5.659437, 11.116796) Norm(0.255665, 0.155541, 0.954171) UV(0.206258, 0.476087) -V 3319: Pos(-2.729893, -5.374162, 11.02658) Norm(0.159729, 0.786844, 0.596124) UV(0.199785, 0.484805) -V 3320: Pos(-2.771302, -5.374162, 11.032031) Norm(-0.0, 0.786843, 0.617153) UV(0.198926, 0.484362) -V 3321: Pos(-2.771302, -5.659437, 11.125429) Norm(-1e-06, 0.155541, 0.987829) UV(0.202941, 0.474192) -V 3322: Pos(-2.990744, -5.659437, 10.745345) Norm(-0.855485, 0.155541, -0.493916) UV(0.18322, 0.489907) -V 3323: Pos(-2.909858, -5.374162, 10.792044) Norm(-0.534469, 0.786842, -0.308581) UV(0.193917, 0.488415) -V 3324: Pos(-2.884433, -5.374162, 10.758908) Norm(-0.436391, 0.786842, -0.436398) UV(0.194202, 0.489345) -V 3325: Pos(-2.950475, -5.659437, 10.692866) Norm(-0.698499, 0.155543, -0.698502) UV(0.184194, 0.493561) -V 3326: Pos(-2.592128, -5.659437, 10.692866) Norm(0.6985, 0.155543, -0.698502) UV(0.203478, 0.50138) -V 3327: Pos(-2.658171, -5.374162, 10.758908) Norm(0.436391, 0.786842, -0.436397) UV(0.199078, 0.491189) -V 3328: Pos(-2.632745, -5.374162, 10.792044) Norm(0.534468, 0.786843, -0.30858) UV(0.199895, 0.490713) -V 3329: Pos(-2.551859, -5.659437, 10.745345) Norm(0.855485, 0.155541, -0.493915) UV(0.206777, 0.499304) -V 3330: Pos(-2.644607, -5.659437, 11.091482) Norm(0.493912, 0.155543, 0.855487) UV(0.208938, 0.478751) -V 3331: Pos(-2.691306, -5.374162, 11.010596) Norm(0.308575, 0.786845, 0.534469) UV(0.200519, 0.485473) -V 3332: Pos(-3.016057, -5.659437, 10.806458) Norm(-0.95417, 0.15554, -0.255669) UV(0.18322, 0.48616) -V 3333: Pos(-2.925841, -5.374162, 10.830631) Norm(-0.596124, 0.786844, -0.159726) UV(0.193871, 0.487433) -V 3334: Pos(-2.644607, -5.659437, 10.652597) Norm(0.493914, 0.155541, -0.855485) UV(0.199707, 0.502388) -V 3335: Pos(-2.691306, -5.374162, 10.733483) Norm(0.308577, 0.786846, -0.534466) UV(0.198173, 0.49147) -V 3336: Pos(-2.592128, -5.659437, 11.051213) Norm(0.698499, 0.155543, 0.698502) UV(0.210966, 0.481948) -V 3337: Pos(-2.658171, -5.374162, 10.98517) Norm(0.436387, 0.786846, 0.436395) UV(0.201004, 0.486333) -V 3338: Pos(-3.024692, -5.659437, 10.87204) Norm(-0.987829, 0.155541, 1e-06) UV(0.184048, 0.482489) -V 3339: Pos(-2.931293, -5.374162, 10.87204) Norm(-0.617154, 0.786843, 1e-06) UV(0.194122, 0.486484) -V 3340: Pos(-2.705719, -5.659437, 10.627284) Norm(0.255671, 0.155541, -0.95417) UV(0.195843, 0.502377) -V 3341: Pos(-2.729893, -5.374162, 10.7175) Norm(0.159733, 0.786843, -0.596124) UV(0.197213, 0.49151) -V 3342: Pos(-2.551859, -5.659437, 10.998734) Norm(0.855486, 0.155541, 0.493914) UV(0.21211, 0.48561) -V 3343: Pos(-2.632745, -5.374162, 10.952036) Norm(0.534471, 0.786841, 0.30858) UV(0.201258, 0.48726) -V 3344: Pos(-3.016057, -5.659437, 10.937622) Norm(-0.95417, 0.155541, 0.25567) UV(0.185924, 0.479219) -V 3345: Pos(-2.925841, -5.374162, 10.913448) Norm(-0.596123, 0.786845, 0.159728) UV(0.194575, 0.485616) -V 3346: Pos(-2.771302, -5.659437, 10.618649) Norm(-1e-06, 0.155541, -0.987829) UV(0.192152, 0.501373) -V 3347: Pos(-2.771302, -5.374162, 10.712049) Norm(-0.0, 0.786844, -0.617152) UV(0.196266, 0.491298) -V 3348: Pos(-2.526546, -5.659437, 10.937622) Norm(0.95417, 0.155541, 0.25567) UV(0.212123, 0.48945) -V 3349: Pos(-2.616762, -5.374162, 10.913448) Norm(0.596124, 0.786843, 0.159732) UV(0.201293, 0.48822) -V 3350: Pos(-2.990744, -5.659437, 10.998734) Norm(-0.855485, 0.155541, 0.493915) UV(0.188482, 0.476437) -V 3351: Pos(-2.909858, -5.374162, 10.952036) Norm(-0.534472, 0.78684, 0.308582) UV(0.195274, 0.484917) -V 3352: Pos(-2.836884, -5.659437, 10.627284) Norm(-0.255671, 0.155541, -0.954169) UV(0.188878, 0.499465) -V 3353: Pos(-2.81271, -5.374162, 10.7175) Norm(-0.159733, 0.786842, -0.596125) UV(0.195398, 0.490838) -V 3354: Pos(-2.517912, -5.659437, 10.87204) Norm(0.987829, 0.155541, 0.0) UV(0.21115, 0.493117) -V 3355: Pos(-2.61131, -5.374162, 10.87204) Norm(0.617154, 0.786843, 4e-06) UV(0.201087, 0.489185) -V 3356: Pos(-2.950475, -5.659437, 11.051213) Norm(-0.698499, 0.155542, 0.698503) UV(0.191721, 0.474386) -V 3357: Pos(-2.884433, -5.374162, 10.98517) Norm(-0.436387, 0.786845, 0.436396) UV(0.196107, 0.484453) -V 3358: Pos(-2.897996, -5.659437, 10.652597) Norm(-0.493914, 0.155542, -0.855486) UV(0.186097, 0.496869) -V 3359: Pos(-2.851297, -5.374162, 10.733483) Norm(-0.308576, 0.786847, -0.534465) UV(0.194722, 0.490148) -V 3360: Pos(-2.526546, -5.659437, 10.806458) Norm(0.95417, 0.15554, -0.25567) UV(0.209387, 0.49648) -V 3361: Pos(-2.616762, -5.374162, 10.830631) Norm(0.596125, 0.786843, -0.159727) UV(0.200585, 0.49004) -V 3362: Pos(-2.771302, -5.374162, 11.003218) Norm(0.0, 0.737702, -0.675127) UV(0.198692, 0.484978) -V 3363: Pos(-2.73735, -5.374162, 10.998748) Norm(-0.17473, 0.737697, -0.65213) UV(0.199396, 0.485355) -V 3364: Pos(-2.705713, -5.374162, 10.985643) Norm(-0.337566, 0.737701, -0.584676) UV(0.199979, 0.485906) -V 3365: Pos(-2.678545, -5.374162, 10.964796) Norm(-0.477394, 0.737697, -0.477387) UV(0.200395, 0.486592) -V 3366: Pos(-2.657698, -5.374162, 10.937629) Norm(-0.584675, 0.737705, -0.337559) UV(0.200603, 0.48736) -V 3367: Pos(-2.644594, -5.374162, 10.905991) Norm(-0.652127, 0.737698, -0.174734) UV(0.200635, 0.488155) -V 3368: Pos(-2.640124, -5.374162, 10.87204) Norm(-0.675128, 0.737701, 3e-06) UV(0.200444, 0.488933) -V 3369: Pos(-2.644594, -5.374162, 10.838088) Norm(-0.652124, 0.737699, 0.174742) UV(0.200053, 0.489632) -V 3370: Pos(-2.657698, -5.374162, 10.806451) Norm(-0.584681, 0.737701, 0.337558) UV(0.199497, 0.490198) -V 3371: Pos(-2.73735, -5.374162, 10.745332) Norm(-0.174738, 0.737697, 0.652127) UV(0.197277, 0.490849) -V 3372: Pos(-2.771302, -5.374162, 10.740862) Norm(0.0, 0.737703, 0.675126) UV(0.196502, 0.490672) -V 3373: Pos(-2.805253, -5.374162, 10.745332) Norm(0.174738, 0.737698, 0.652125) UV(0.195799, 0.490295) -V 3374: Pos(-2.836891, -5.374162, 10.758436) Norm(0.337559, 0.737699, 0.584682) UV(0.195224, 0.489744) -V 3375: Pos(-2.864058, -5.374162, 10.779283) Norm(0.47739, 0.737701, 0.477384) UV(0.194812, 0.489065) -V 3376: Pos(-2.884905, -5.374162, 10.806451) Norm(0.58468, 0.7377, 0.337562) UV(0.19457, 0.488304) -V 3377: Pos(-2.89801, -5.374162, 10.838088) Norm(0.65212, 0.737702, 0.17474) UV(0.194547, 0.487502) -V 3378: Pos(-2.902479, -5.374162, 10.87204) Norm(0.675131, 0.737698, -2e-06) UV(0.194742, 0.486724) -V 3379: Pos(-2.89801, -5.374162, 10.905991) Norm(0.652123, 0.737701, -0.174737) UV(0.195126, 0.48602) -V 3380: Pos(-2.884905, -5.374162, 10.937629) Norm(0.584675, 0.737704, -0.337563) UV(0.195687, 0.485451) -V 3381: Pos(-2.864058, -5.374162, 10.964796) Norm(0.477396, 0.737696, -0.477386) UV(0.196365, 0.485039) -V 3382: Pos(-2.836891, -5.374162, 10.985643) Norm(0.337568, 0.737702, -0.584674) UV(0.197123, 0.484814) -V 3383: Pos(-2.805253, -5.374162, 10.998748) Norm(0.174731, 0.7377, -0.652125) UV(0.197919, 0.484787) -V 3384: Pos(-2.84545, -5.452268, 10.852172) Norm(-0.497748, 0.857007, -0.133367) UV(0.19663, 0.487731) -V 3385: Pos(-2.777973, -5.291028, 10.870253) Norm(-0.5595, 0.81516, -0.149911) UV(0.197567, 0.487825) -V 3386: Pos(-2.777283, -5.291028, 10.868587) Norm(-0.501626, 0.815163, -0.289621) UV(0.197567, 0.487833) -V 3387: Pos(-2.837781, -5.452268, 10.833657) Norm(-0.446251, 0.857016, -0.25765) UV(0.196639, 0.487984) -V 3388: Pos(-2.678545, -5.452268, 10.964796) Norm(-0.519194, 0.678874, -0.519199) UV(0.199088, 0.487147) -V 3389: Pos(-2.705713, -5.452268, 10.985643) Norm(-0.367133, 0.678871, -0.635884) UV(0.198864, 0.486782) -V 3390: Pos(-2.902479, -5.452268, 10.87204) Norm(0.734252, 0.678877, -2e-06) UV(0.196056, 0.487249) -V 3391: Pos(-2.89801, -5.452268, 10.838088) Norm(0.709237, 0.678872, 0.19004) UV(0.195958, 0.487668) -V 3392: Pos(-2.73735, -5.452268, 10.745332) Norm(-0.190041, 0.678875, 0.709234) UV(0.197437, 0.489454) -V 3393: Pos(-2.657698, -5.452268, 10.937629) Norm(-0.635885, 0.678872, -0.367129) UV(0.199214, 0.487557) -V 3394: Pos(-2.89801, -5.452268, 10.905991) Norm(0.709237, 0.678874, -0.190035) UV(0.19626, 0.486871) -V 3395: Pos(-2.771302, -5.452268, 10.740862) Norm(0.0, 0.678875, 0.734254) UV(0.19702, 0.489361) -V 3396: Pos(-2.644594, -5.452268, 10.905991) Norm(-0.709235, 0.678877, -0.190029) UV(0.19923, 0.487985) -V 3397: Pos(-2.884905, -5.452268, 10.937629) Norm(0.635881, 0.678873, -0.367133) UV(0.196552, 0.486557) -V 3398: Pos(-2.805253, -5.452268, 10.745332) Norm(0.190041, 0.678875, 0.709234) UV(0.196643, 0.489159) -V 3399: Pos(-2.640124, -5.452268, 10.87204) Norm(-0.734255, 0.678874, -2e-06) UV(0.199129, 0.488401) -V 3400: Pos(-2.864058, -5.452268, 10.964796) Norm(0.519199, 0.678879, -0.519187) UV(0.196916, 0.48633) -V 3401: Pos(-2.836891, -5.452268, 10.758436) Norm(0.367124, 0.678873, 0.635886) UV(0.196327, 0.48887) -V 3402: Pos(-2.644594, -5.452268, 10.838088) Norm(-0.709236, 0.678876, 0.190033) UV(0.198927, 0.488779) -V 3403: Pos(-2.836891, -5.452268, 10.985643) Norm(0.367136, 0.678872, -0.63588) UV(0.197325, 0.486203) -V 3404: Pos(-2.864058, -5.452268, 10.779283) Norm(0.519198, 0.678875, 0.519194) UV(0.196101, 0.488506) -V 3405: Pos(-2.657698, -5.452268, 10.806451) Norm(-0.635885, 0.678875, 0.367122) UV(0.198636, 0.489092) -V 3406: Pos(-2.805253, -5.452268, 10.998748) Norm(0.190033, 0.678875, -0.709237) UV(0.197754, 0.486192) -V 3407: Pos(-2.73735, -5.452268, 10.998748) Norm(-0.190033, 0.678876, -0.709236) UV(0.198549, 0.48649) -V 3408: Pos(-2.771302, -5.452268, 11.003218) Norm(0.0, 0.678873, -0.734255) UV(0.198172, 0.486286) -V 3409: Pos(-2.884905, -5.452268, 10.806451) Norm(0.635881, 0.678875, 0.367129) UV(0.195972, 0.488097) -V 3410: Pos(-2.771302, -5.452268, 10.948804) Norm(-1e-06, 0.857014, 0.515293) UV(0.197935, 0.486919) -V 3411: Pos(-2.751433, -5.452268, 10.946188) Norm(0.133391, 0.857005, 0.497744) UV(0.198158, 0.487038) -V 3412: Pos(-2.73292, -5.452268, 10.938519) Norm(0.257634, 0.857013, 0.446267) UV(0.198342, 0.487211) -V 3413: Pos(-2.717021, -5.452268, 10.92632) Norm(0.364366, 0.857012, 0.364373) UV(0.198476, 0.487425) -V 3414: Pos(-2.704822, -5.452268, 10.910421) Norm(0.446261, 0.857009, 0.257656) UV(0.198549, 0.487666) -V 3415: Pos(-2.697153, -5.452268, 10.891908) Norm(0.497742, 0.857009, 0.133372) UV(0.198558, 0.487918) -V 3416: Pos(-2.694538, -5.452268, 10.87204) Norm(0.515313, 0.857002, 0.0) UV(0.198501, 0.488163) -V 3417: Pos(-2.697153, -5.452268, 10.852172) Norm(0.497742, 0.857009, -0.133372) UV(0.198381, 0.488386) -V 3418: Pos(-2.704822, -5.452268, 10.833657) Norm(0.446254, 0.857013, -0.257655) UV(0.198208, 0.488569) -V 3419: Pos(-2.717021, -5.452268, 10.81776) Norm(0.364368, 0.857008, -0.36438) UV(0.197994, 0.488703) -V 3420: Pos(-2.73292, -5.452268, 10.80556) Norm(0.257633, 0.857012, -0.446268) UV(0.197753, 0.488776) -V 3421: Pos(-2.751433, -5.452268, 10.797892) Norm(0.13339, 0.857005, -0.497745) UV(0.197501, 0.488786) -V 3422: Pos(-2.771302, -5.452268, 10.795276) Norm(-1e-06, 0.857014, -0.515293) UV(0.197256, 0.488729) -V 3423: Pos(-2.79117, -5.452268, 10.797892) Norm(-0.13339, 0.857004, -0.497746) UV(0.197033, 0.488611) -V 3424: Pos(-2.809684, -5.452268, 10.80556) Norm(-0.257631, 0.857013, -0.446268) UV(0.196848, 0.488439) -V 3425: Pos(-2.825582, -5.452268, 10.81776) Norm(-0.364366, 0.857009, -0.36438) UV(0.196713, 0.488225) -V 3426: Pos(-2.848066, -5.452268, 10.87204) Norm(-0.515307, 0.857006, 0.0) UV(0.196687, 0.487485) -V 3427: Pos(-2.84545, -5.452268, 10.891908) Norm(-0.497748, 0.857006, 0.133367) UV(0.196806, 0.487262) -V 3428: Pos(-2.837781, -5.452268, 10.910421) Norm(-0.446258, 0.857012, 0.257654) UV(0.196979, 0.487078) -V 3429: Pos(-2.825582, -5.452268, 10.92632) Norm(-0.364361, 0.85701, 0.364383) UV(0.197194, 0.486944) -V 3430: Pos(-2.809684, -5.452268, 10.938519) Norm(-0.257629, 0.857012, 0.446271) UV(0.197436, 0.486871) -V 3431: Pos(-2.79117, -5.452268, 10.946188) Norm(-0.13339, 0.857005, 0.497745) UV(0.197689, 0.486862) -V 3432: Pos(-2.771302, -5.291028, 10.878946) Norm(-2e-06, 0.815145, 0.579256) UV(0.008036, 0.256792) -V 3433: Pos(-2.769514, -5.291028, 10.878711) Norm(0.149927, 0.81519, 0.559453) UV(0.007982, 0.256823) -V 3434: Pos(-2.767848, -5.291028, 10.878021) Norm(0.289608, 0.815148, 0.501659) UV(0.007922, 0.256839) -V 3435: Pos(-2.766418, -5.291028, 10.876924) Norm(0.409566, 0.815166, 0.409585) UV(0.00786, 0.256839) -V 3436: Pos(-2.76532, -5.291028, 10.875493) Norm(0.501657, 0.815139, 0.289636) UV(0.0078, 0.256823) -V 3437: Pos(-2.764631, -5.291028, 10.873827) Norm(0.559441, 0.815203, 0.149896) UV(0.007747, 0.256792) -V 3438: Pos(-2.764395, -5.291028, 10.87204) Norm(0.579277, 0.815131, 0.0) UV(0.007703, 0.256748) -V 3439: Pos(-2.764631, -5.291028, 10.870253) Norm(0.559439, 0.815205, -0.149895) UV(0.007672, 0.256695) -V 3440: Pos(-2.76532, -5.291028, 10.868587) Norm(0.501655, 0.81514, -0.289635) UV(0.007656, 0.256635) -V 3441: Pos(-2.766418, -5.291028, 10.867156) Norm(0.409566, 0.815165, -0.409587) UV(0.007656, 0.256573) -V 3442: Pos(-2.767848, -5.291028, 10.866058) Norm(0.289607, 0.815147, -0.501661) UV(0.007672, 0.256513) -V 3443: Pos(-2.769514, -5.291028, 10.865369) Norm(0.149927, 0.81519, -0.559453) UV(0.007703, 0.256459) -V 3444: Pos(-2.771302, -5.291028, 10.865133) Norm(-2e-06, 0.815145, -0.579257) UV(0.007747, 0.256415) -V 3445: Pos(-2.773089, -5.291028, 10.865369) Norm(-0.149925, 0.815192, -0.55945) UV(0.0078, 0.256384) -V 3446: Pos(-2.774755, -5.291028, 10.866058) Norm(-0.289605, 0.815149, -0.501658) UV(0.00786, 0.256368) -V 3447: Pos(-2.776185, -5.291028, 10.867156) Norm(-0.409565, 0.815169, -0.409581) UV(0.007922, 0.256368) -V 3448: Pos(-2.777283, -5.291028, 10.868587) Norm(-0.501626, 0.815163, -0.289621) UV(0.007982, 0.256384) -V 3449: Pos(-2.777973, -5.291028, 10.870253) Norm(-0.5595, 0.81516, -0.149911) UV(0.008036, 0.256415) -V 3450: Pos(-2.778208, -5.291028, 10.87204) Norm(-0.579211, 0.815178, 0.0) UV(0.00808, 0.256459) -V 3451: Pos(-2.777973, -5.291028, 10.873827) Norm(-0.559502, 0.815158, 0.149912) UV(0.008111, 0.256513) -V 3452: Pos(-2.777283, -5.291028, 10.875493) Norm(-0.501628, 0.815162, 0.289622) UV(0.008127, 0.256573) -V 3453: Pos(-2.776185, -5.291028, 10.876924) Norm(-0.409563, 0.815169, 0.409583) UV(0.008127, 0.256635) -V 3454: Pos(-2.774755, -5.291028, 10.878021) Norm(-0.289603, 0.815148, 0.501661) UV(0.008111, 0.256695) -V 3455: Pos(-2.773089, -5.291028, 10.878711) Norm(-0.149925, 0.815192, 0.559449) UV(0.00808, 0.256748) -V 3456: Pos(-2.767848, -5.291028, 10.866058) Norm(0.289607, 0.815147, -0.501661) UV(0.197604, 0.487859) -V 3457: Pos(-2.766418, -5.291028, 10.867156) Norm(0.409566, 0.815165, -0.409587) UV(0.197611, 0.487857) -V 3458: Pos(-2.766418, -5.291028, 10.876924) Norm(0.409566, 0.815166, 0.409585) UV(0.197627, 0.487815) -V 3459: Pos(-2.767848, -5.291028, 10.878021) Norm(0.289608, 0.815148, 0.501659) UV(0.197623, 0.487808) -V 3460: Pos(-2.778208, -5.291028, 10.87204) Norm(-0.579211, 0.815178, 0.0) UV(0.197569, 0.487817) -V 3461: Pos(-2.769514, -5.291028, 10.865369) Norm(0.149927, 0.81519, -0.559453) UV(0.197596, 0.487859) -V 3462: Pos(-2.76532, -5.291028, 10.875493) Norm(0.501657, 0.815139, 0.289636) UV(0.197629, 0.487823) -V 3463: Pos(-2.777973, -5.291028, 10.873827) Norm(-0.559502, 0.815158, 0.149912) UV(0.197573, 0.487809) -V 3464: Pos(-2.771302, -5.291028, 10.865133) Norm(-2e-06, 0.815145, -0.579257) UV(0.197588, 0.487858) -V 3465: Pos(-2.764631, -5.291028, 10.873827) Norm(0.559441, 0.815203, 0.149896) UV(0.197629, 0.487831) -V 3466: Pos(-2.777283, -5.291028, 10.875493) Norm(-0.501628, 0.815162, 0.289622) UV(0.197579, 0.487803) -V 3467: Pos(-2.773089, -5.291028, 10.865369) Norm(-0.149925, 0.815192, -0.55945) UV(0.197581, 0.487854) -V 3468: Pos(-2.764395, -5.291028, 10.87204) Norm(0.579277, 0.815131, 0.0) UV(0.197627, 0.487839) -V 3469: Pos(-2.776185, -5.291028, 10.876924) Norm(-0.409563, 0.815169, 0.409583) UV(0.197586, 0.487799) -V 3470: Pos(-2.774755, -5.291028, 10.866058) Norm(-0.289605, 0.815149, -0.501658) UV(0.197574, 0.487848) -V 3471: Pos(-2.764631, -5.291028, 10.870253) Norm(0.559439, 0.815205, -0.149895) UV(0.197623, 0.487846) -V 3472: Pos(-2.774755, -5.291028, 10.878021) Norm(-0.289603, 0.815148, 0.501661) UV(0.197594, 0.487797) -V 3473: Pos(-2.776185, -5.291028, 10.867156) Norm(-0.409565, 0.815169, -0.409581) UV(0.19757, 0.487841) -V 3474: Pos(-2.76532, -5.291028, 10.868587) Norm(0.501655, 0.81514, -0.289635) UV(0.197618, 0.487852) -V 3475: Pos(-2.773089, -5.291028, 10.878711) Norm(-0.149925, 0.815192, 0.559449) UV(0.197602, 0.487796) -V 3476: Pos(-2.769514, -5.291028, 10.878711) Norm(0.149927, 0.81519, 0.559453) UV(0.197617, 0.487802) -V 3477: Pos(-2.771302, -5.291028, 10.878946) Norm(-2e-06, 0.815145, 0.579256) UV(0.19761, 0.487798) -V 3478: Pos(-2.704041, -8.652523, 11.123059) Norm(0.174736, -0.737705, 0.652118) UV(0.179364, 0.445834) -V 3479: Pos(-2.695056, -8.652523, 11.156591) Norm(-0.190037, -0.678872, -0.709238) UV(0.1779, 0.445904) -V 3480: Pos(-2.771302, -8.652523, 11.16663) Norm(0.0, -0.678872, -0.734256) UV(0.177998, 0.442712) -V 3481: Pos(-2.771302, -8.652523, 11.131914) Norm(-0.0, -0.7377, 0.675129) UV(0.17943, 0.442893) -V 3482: Pos(-2.641365, -8.652523, 11.097097) Norm(0.337568, -0.737703, 0.584672) UV(0.179818, 0.448784) -V 3483: Pos(-2.624006, -8.652523, 11.127162) Norm(-0.367126, -0.67887, -0.635889) UV(0.178365, 0.449115) -V 3484: Pos(-2.587543, -8.652523, 11.055799) Norm(0.477388, -0.737703, 0.477385) UV(0.180804, 0.451656) -V 3485: Pos(-2.562995, -8.652523, 11.080346) Norm(-0.519196, -0.678873, -0.519199) UV(0.179401, 0.452252) -V 3486: Pos(-2.546244, -8.652523, 11.001977) Norm(0.58468, -0.737703, 0.337555) UV(0.182328, 0.454357) -V 3487: Pos(-2.516179, -8.652523, 11.019335) Norm(-0.635882, -0.678872, -0.367134) UV(0.181014, 0.455235) -V 3488: Pos(-2.486749, -8.652523, 10.948285) Norm(-0.709235, -0.678875, -0.190039) UV(0.18317, 0.457922) -V 3489: Pos(-2.476711, -8.652523, 10.87204) Norm(-0.734255, -0.678874, 1e-06) UV(0.185746, 0.460206) -V 3490: Pos(-2.520282, -8.652523, 10.804779) Norm(0.652124, -0.7377, -0.174739) UV(0.189396, 0.460671) -V 3491: Pos(-2.486749, -8.652523, 10.795794) Norm(-0.709235, -0.678875, 0.190036) UV(0.188657, 0.462073) -V 3492: Pos(-2.546244, -8.652523, 10.742103) Norm(0.584677, -0.737701, -0.337565) UV(0.192359, 0.462055) -V 3493: Pos(-2.516179, -8.652523, 10.724745) Norm(-0.635884, -0.678875, 0.367124) UV(0.191795, 0.463517) -V 3494: Pos(-2.587543, -8.652523, 10.688281) Norm(0.477386, -0.7377, -0.47739) UV(0.195564, 0.463028) -V 3495: Pos(-2.562995, -8.652523, 10.663733) Norm(-0.5192, -0.678874, 0.519193) UV(0.195126, 0.464623) -V 3496: Pos(-2.641365, -8.652523, 10.646982) Norm(0.337568, -0.737702, -0.584674) UV(0.198969, 0.463678) -V 3497: Pos(-2.624006, -8.652523, 10.616917) Norm(-0.367126, -0.678871, 0.635887) UV(0.198706, 0.465377) -V 3498: Pos(-2.704041, -8.652523, 10.62102) Norm(0.174736, -0.737705, -0.652118) UV(0.202507, 0.463931) -V 3499: Pos(-2.695056, -8.652523, 10.587487) Norm(-0.190032, -0.678871, 0.709241) UV(0.202491, 0.465706) -V 3500: Pos(-2.771302, -8.652523, 10.612165) Norm(-0.0, -0.7377, -0.675129) UV(0.205986, 0.463795) -V 3501: Pos(-2.771302, -8.652523, 10.57745) Norm(0.0, -0.678875, 0.734254) UV(0.206299, 0.465453) -V 3502: Pos(-2.838562, -8.652523, 10.62102) Norm(-0.174735, -0.737701, -0.652124) UV(0.202981, 0.426834) -V 3503: Pos(-2.847547, -8.652523, 10.587487) Norm(0.190034, -0.678875, 0.709236) UV(0.203118, 0.425336) -V 3504: Pos(-2.771302, -8.652523, 10.57745) Norm(0.0, -0.678875, 0.734254) UV(0.206299, 0.425845) -V 3505: Pos(-2.771302, -8.652523, 10.612165) Norm(-0.0, -0.7377, -0.675129) UV(0.205909, 0.427215) -V 3506: Pos(-2.901239, -8.652523, 10.646982) Norm(-0.337566, -0.737699, -0.584678) UV(0.199978, 0.426725) -V 3507: Pos(-2.918596, -8.652523, 10.616917) Norm(0.367127, -0.678875, 0.635882) UV(0.199917, 0.425271) -V 3508: Pos(-2.95506, -8.652523, 10.688281) Norm(-0.477388, -0.737701, -0.477386) UV(0.197044, 0.426932) -V 3509: Pos(-2.979608, -8.652523, 10.663733) Norm(0.519198, -0.678872, 0.519197) UV(0.196841, 0.425539) -V 3510: Pos(-2.996359, -8.652523, 10.742103) Norm(-0.584678, -0.737702, -0.337561) UV(0.194212, 0.427406) -V 3511: Pos(-3.026424, -8.652523, 10.724745) Norm(0.635883, -0.678874, 0.367128) UV(0.193901, 0.426096) -V 3512: Pos(-3.022321, -8.652523, 10.804779) Norm(-0.652124, -0.737699, -0.174741) UV(0.191499, 0.428235) -V 3513: Pos(-3.055854, -8.652523, 10.795794) Norm(0.709236, -0.678875, 0.190036) UV(0.191045, 0.42693) -V 3514: Pos(-3.031176, -8.652523, 10.87204) Norm(-0.675127, -0.737702, 1e-06) UV(0.188896, 0.429377) -V 3515: Pos(-3.065892, -8.652523, 10.87204) Norm(0.734254, -0.678874, 1e-06) UV(0.188267, 0.42813) -V 3516: Pos(-3.022321, -8.652523, 10.9393) Norm(-0.652125, -0.737698, 0.17474) UV(0.186477, 0.430878) -V 3517: Pos(-3.055854, -8.652523, 10.948285) Norm(0.709236, -0.678875, -0.190036) UV(0.185659, 0.429731) -V 3518: Pos(-2.996359, -8.652523, 11.001977) Norm(-0.584678, -0.737701, 0.337563) UV(0.184321, 0.432757) -V 3519: Pos(-3.026424, -8.652523, 11.019335) Norm(0.635883, -0.678874, -0.367128) UV(0.183302, 0.431749) -V 3520: Pos(-2.95506, -8.652523, 11.055799) Norm(-0.477388, -0.737701, 0.477386) UV(0.182453, 0.43491) -V 3521: Pos(-2.979608, -8.652523, 11.080346) Norm(0.519196, -0.678873, -0.519198) UV(0.181336, 0.434116) -V 3522: Pos(-2.901239, -8.652523, 11.097097) Norm(-0.337567, -0.737702, 0.584674) UV(0.181026, 0.437365) -V 3523: Pos(-2.918596, -8.652523, 11.127162) Norm(0.367126, -0.678873, -0.635885) UV(0.179771, 0.436736) -V 3524: Pos(-2.838562, -8.652523, 11.123059) Norm(-0.174735, -0.737702, 0.652123) UV(0.179998, 0.440046) -V 3525: Pos(-2.847547, -8.652523, 11.156591) Norm(0.190038, -0.678875, -0.709235) UV(0.178636, 0.439627) -V 3526: Pos(-2.838562, -8.87184, 11.123059) Norm(-0.256853, -0.123145, 0.958573) UV(0.187116, 0.441985) -V 3527: Pos(-2.771302, -8.87184, 11.131914) Norm(-1e-06, -0.123145, 0.992389) UV(0.18684, 0.443557) -V 3528: Pos(-2.996359, -8.87184, 11.001977) Norm(-0.859434, -0.123141, 0.496195) UV(0.189544, 0.437901) -V 3529: Pos(-2.95506, -8.87184, 11.055799) Norm(-0.701721, -0.123143, 0.701729) UV(0.188478, 0.439132) -V 3530: Pos(-2.838562, -8.87184, 10.62102) Norm(-0.25685, -0.123139, -0.958574) UV(0.20252, 0.435675) -V 3531: Pos(-2.901239, -8.87184, 10.646982) Norm(-0.496201, -0.123139, -0.859431) UV(0.200046, 0.435203) -V 3532: Pos(-2.520282, -8.87184, 10.804779) Norm(0.958575, -0.123141, -0.256845) UV(0.193246, 0.452878) -V 3533: Pos(-2.901239, -8.87184, 11.097097) Norm(-0.496196, -0.123143, 0.859433) UV(0.18767, 0.440504) -V 3534: Pos(-2.95506, -8.87184, 10.688281) Norm(-0.701723, -0.123142, -0.701728) UV(0.197856, 0.435019) -V 3535: Pos(-2.546244, -8.87184, 10.742103) Norm(0.859433, -0.123142, -0.496196) UV(0.195221, 0.453444) -V 3536: Pos(-2.996359, -8.87184, 10.742103) Norm(-0.859433, -0.123141, -0.496197) UV(0.195833, 0.435115) -V 3537: Pos(-2.587543, -8.87184, 10.688281) Norm(0.701722, -0.123141, -0.701728) UV(0.197442, 0.453718) -V 3538: Pos(-2.648023, -9.015513, 10.87204) Norm(0.148085, -0.988975, 2e-06) UV(0.193746, 0.447162) -V 3539: Pos(-2.652224, -9.015513, 10.903946) Norm(0.143038, -0.988975, 0.038316) UV(0.193023, 0.446845) -V 3540: Pos(-2.664539, -9.015513, 10.933679) Norm(0.128246, -0.988975, 0.074039) UV(0.192422, 0.446391) -V 3541: Pos(-2.666321, -9.015513, 10.898601) Norm(-7e-06, -1.0, -7e-06) UV(0.193237, 0.446549) -V 3542: Pos(-3.022321, -8.87184, 10.804779) Norm(-0.958575, -0.123141, -0.256849) UV(0.19401, 0.435459) -V 3543: Pos(-2.641365, -8.87184, 10.646982) Norm(0.496197, -0.12314, -0.859433) UV(0.199904, 0.453682) -V 3544: Pos(-2.704041, -8.87184, 11.123059) Norm(0.256848, -0.123143, 0.958574) UV(0.186878, 0.44516) -V 3545: Pos(-2.641365, -8.87184, 11.097097) Norm(0.496195, -0.12314, 0.859434) UV(0.187204, 0.44676) -V 3546: Pos(-2.587543, -8.87184, 11.055799) Norm(0.701723, -0.123141, 0.701727) UV(0.187849, 0.448293) -V 3547: Pos(-3.031176, -8.87184, 10.87204) Norm(-0.992389, -0.123142, 0.0) UV(0.192336, 0.436047) -V 3548: Pos(-2.704041, -8.87184, 10.62102) Norm(0.25685, -0.123142, -0.958574) UV(0.202644, 0.453343) -V 3549: Pos(-2.546244, -8.87184, 11.001977) Norm(0.859434, -0.123141, 0.496195) UV(0.188788, 0.449713) -V 3550: Pos(-3.022321, -8.87184, 10.9393) Norm(-0.958575, -0.12314, 0.256848) UV(0.190844, 0.436866) -V 3551: Pos(-2.771302, -8.87184, 10.612165) Norm(2e-06, -0.123141, -0.992389) UV(0.205967, 0.452679) -V 3552: Pos(-2.771302, -8.87184, 10.612165) Norm(2e-06, -0.123141, -0.992389) UV(0.205354, 0.436434) -V 3553: Pos(-2.771302, -8.943677, 11.113613) Norm(-1e-06, -0.474955, 0.88001) UV(0.188475, 0.443676) -V 3554: Pos(-2.708777, -8.943677, 11.105382) Norm(0.227764, -0.474954, 0.850025) UV(0.188498, 0.444965) -V 3555: Pos(-2.771302, -8.996264, 11.063616) Norm(-0.0, -0.846594, 0.532239) UV(0.189915, 0.443772) -V 3556: Pos(-2.721718, -8.996264, 11.057088) Norm(0.137754, -0.846597, 0.514099) UV(0.189962, 0.44477) -V 3557: Pos(-2.771301, -9.015513, 10.995317) Norm(0.0, -0.988973, 0.148096) UV(0.191384, 0.443851) -V 3558: Pos(-2.739395, -9.015513, 10.991117) Norm(0.038327, -0.988974, 0.143044) UV(0.19142, 0.444541) -V 3559: Pos(-2.650515, -8.943677, 11.081249) Norm(0.440006, -0.474951, 0.762113) UV(0.188812, 0.446234) -V 3560: Pos(-2.675513, -8.996264, 11.03795) Norm(0.26612, -0.846598, 0.460925) UV(0.190212, 0.445745) -V 3561: Pos(-2.709662, -9.015513, 10.978802) Norm(0.074043, -0.988975, 0.128239) UV(0.191609, 0.445213) -V 3562: Pos(-2.600483, -8.943677, 11.042858) Norm(0.622258, -0.474954, 0.622264) UV(0.189343, 0.447454) -V 3563: Pos(-2.635837, -8.996264, 11.007504) Norm(0.376343, -0.8466, 0.376343) UV(0.190653, 0.446674) -V 3564: Pos(-2.684131, -9.015513, 10.95921) Norm(0.104711, -0.988976, 0.104704) UV(0.191947, 0.445839) -V 3565: Pos(-2.562092, -8.943677, 10.992826) Norm(0.762113, -0.474952, 0.440005) UV(0.190125, 0.448573) -V 3566: Pos(-2.605392, -8.996264, 10.967828) Norm(0.460931, -0.846596, 0.266114) UV(0.191294, 0.447521) -V 3567: Pos(-2.537959, -8.943677, 10.934564) Norm(0.850029, -0.474949, 0.22776) UV(0.191161, 0.449556) -V 3568: Pos(-2.586253, -8.996264, 10.921623) Norm(0.514103, -0.846595, 0.13775) UV(0.192137, 0.448234) -V 3569: Pos(-2.529728, -8.943677, 10.87204) Norm(0.88001, -0.474956, -0.0) UV(0.192404, 0.450359) -V 3570: Pos(-2.579725, -8.996264, 10.87204) Norm(0.532233, -0.846598, 0.0) UV(0.193142, 0.448798) -V 3571: Pos(-2.537959, -8.943677, 10.809516) Norm(0.850027, -0.474952, -0.22776) UV(0.193881, 0.450944) -V 3572: Pos(-2.586253, -8.996264, 10.822456) Norm(0.514101, -0.846596, -0.137751) UV(0.194321, 0.44915) -V 3573: Pos(-2.652224, -9.015513, 10.840133) Norm(0.143039, -0.988975, -0.03832) UV(0.194559, 0.447322) -V 3574: Pos(-2.562092, -8.943677, 10.751253) Norm(0.762112, -0.474953, -0.440006) UV(0.19553, 0.451278) -V 3575: Pos(-2.605392, -8.996264, 10.776252) Norm(0.460931, -0.846595, -0.266119) UV(0.195639, 0.449278) -V 3576: Pos(-2.664539, -9.015513, 10.810401) Norm(0.128246, -0.988975, -0.07404) UV(0.195449, 0.447281) -V 3577: Pos(-2.600483, -8.943677, 10.701221) Norm(0.622259, -0.474954, -0.622265) UV(0.197412, 0.451303) -V 3578: Pos(-2.635837, -8.996264, 10.736575) Norm(0.376346, -0.846598, -0.376346) UV(0.197066, 0.449103) -V 3579: Pos(-2.684131, -9.015513, 10.784869) Norm(0.104709, -0.988975, -0.10471) UV(0.196387, 0.446999) -V 3580: Pos(-2.650515, -8.943677, 10.66283) Norm(0.440012, -0.474949, -0.762111) UV(0.199492, 0.45099) -V 3581: Pos(-2.675513, -8.996264, 10.70613) Norm(0.266125, -0.846596, -0.460926) UV(0.198663, 0.448558) -V 3582: Pos(-2.709662, -9.015513, 10.765278) Norm(0.074037, -0.988977, -0.128232) UV(0.197312, 0.446444) -V 3583: Pos(-2.708777, -8.943677, 10.638698) Norm(0.227767, -0.474952, -0.850025) UV(0.201834, 0.450256) -V 3584: Pos(-2.721718, -8.996264, 10.686991) Norm(0.137754, -0.846595, -0.514102) UV(0.200341, 0.447556) -V 3585: Pos(-2.739395, -9.015513, 10.752962) Norm(0.038319, -0.988983, -0.14298) UV(0.198173, 0.445502) -V 3586: Pos(-2.771302, -8.943677, 10.630466) Norm(3e-06, -0.474952, -0.880012) UV(0.204616, 0.448891) -V 3587: Pos(-2.771302, -8.996264, 10.680464) Norm(-0.0, -0.846597, -0.532235) UV(0.202117, 0.445853) -V 3588: Pos(-2.771302, -9.015513, 10.748761) Norm(1e-06, -0.988979, -0.148054) UV(0.198781, 0.444059) -V 3589: Pos(-2.771302, -8.943677, 10.630466) Norm(3e-06, -0.474952, -0.880012) UV(0.204003, 0.43969) -V 3590: Pos(-2.833826, -8.943677, 10.638697) Norm(-0.227767, -0.474951, -0.850026) UV(0.201632, 0.438402) -V 3591: Pos(-2.771302, -8.996264, 10.680464) Norm(-0.0, -0.846597, -0.532235) UV(0.201744, 0.442244) -V 3592: Pos(-2.820885, -8.996264, 10.686991) Norm(-0.137753, -0.846594, -0.514104) UV(0.200214, 0.44076) -V 3593: Pos(-2.803208, -9.015513, 10.752962) Norm(-0.03832, -0.988976, -0.143031) UV(0.198163, 0.442628) -V 3594: Pos(-2.892088, -8.943677, 10.66283) Norm(-0.440013, -0.47495, -0.76211) UV(0.199569, 0.437604) -V 3595: Pos(-2.86709, -8.996264, 10.70613) Norm(-0.266123, -0.846596, -0.460927) UV(0.198721, 0.439792) -V 3596: Pos(-2.832941, -9.015513, 10.765278) Norm(-0.07404, -0.988975, -0.128242) UV(0.197365, 0.441716) -V 3597: Pos(-2.94212, -8.943677, 10.701221) Norm(-0.622259, -0.474954, -0.622264) UV(0.197669, 0.437201) -V 3598: Pos(-2.906766, -8.996264, 10.736575) Norm(-0.376346, -0.846599, -0.376342) UV(0.197274, 0.439208) -V 3599: Pos(-2.858472, -9.015513, 10.784869) Norm(-0.104711, -0.988975, -0.104707) UV(0.196515, 0.441149) -V 3600: Pos(-2.980511, -8.943677, 10.751253) Norm(-0.762112, -0.474953, -0.440005) UV(0.195991, 0.437094) -V 3601: Pos(-2.937212, -8.996264, 10.776252) Norm(-0.460931, -0.846597, -0.266114) UV(0.195933, 0.438964) -V 3602: Pos(-2.878064, -9.015513, 10.810401) Norm(-0.128246, -0.988975, -0.07404) UV(0.195637, 0.440834) -V 3603: Pos(-3.004644, -8.943677, 10.809516) Norm(-0.850026, -0.474953, -0.227763) UV(0.19443, 0.437281) -V 3604: Pos(-2.95635, -8.996264, 10.822456) Norm(-0.5141, -0.846596, -0.137753) UV(0.194694, 0.438989) -V 3605: Pos(-2.890379, -9.015513, 10.840133) Norm(-0.143039, -0.988975, -0.038319) UV(0.194788, 0.440735) -V 3606: Pos(-3.012876, -8.943677, 10.87204) Norm(-0.880009, -0.474956, -2e-06) UV(0.193006, 0.437693) -V 3607: Pos(-2.962878, -8.996264, 10.87204) Norm(-0.532232, -0.846599, -2e-06) UV(0.193555, 0.439224) -V 3608: Pos(-2.89458, -9.015513, 10.87204) Norm(-0.148085, -0.988975, 1.1e-05) UV(0.193994, 0.44083) -V 3609: Pos(-3.004644, -8.943677, 10.934564) Norm(-0.850028, -0.474949, 0.227762) UV(0.191764, 0.438321) -V 3610: Pos(-2.95635, -8.996264, 10.921623) Norm(-0.514103, -0.846595, 0.13775) UV(0.192549, 0.439666) -V 3611: Pos(-2.890379, -9.015513, 10.903946) Norm(-0.143038, -0.988975, 0.038323) UV(0.193273, 0.441077) -V 3612: Pos(-2.980511, -8.943677, 10.992826) Norm(-0.762112, -0.474952, 0.440006) UV(0.190697, 0.439139) -V 3613: Pos(-2.937212, -8.996264, 10.967828) Norm(-0.460931, -0.846595, 0.266118) UV(0.191676, 0.44027) -V 3614: Pos(-2.878064, -9.015513, 10.933679) Norm(-0.128242, -0.988975, 0.074044) UV(0.19265, 0.441461) -V 3615: Pos(-2.94212, -8.943677, 11.042858) Norm(-0.622255, -0.474955, 0.622268) UV(0.189804, 0.440098) -V 3616: Pos(-2.906766, -8.996264, 11.007504) Norm(-0.376343, -0.846598, 0.376348) UV(0.190967, 0.441009) -V 3617: Pos(-2.858472, -9.015513, 10.95921) Norm(-0.104704, -0.988976, 0.104705) UV(0.192137, 0.441953) -V 3618: Pos(-2.892088, -8.943677, 11.081248) Norm(-0.440007, -0.474953, 0.762111) UV(0.189115, 0.441199) -V 3619: Pos(-2.86709, -8.996264, 11.03795) Norm(-0.266121, -0.846596, 0.460929) UV(0.190429, 0.441859) -V 3620: Pos(-2.832941, -9.015513, 10.978802) Norm(-0.07404, -0.988979, 0.12821) UV(0.191749, 0.442531) -V 3621: Pos(-2.833826, -8.943677, 11.105382) Norm(-0.22777, -0.474953, 0.850024) UV(0.188677, 0.442413) -V 3622: Pos(-2.820885, -8.996264, 11.057088) Norm(-0.137754, -0.846595, 0.514102) UV(0.19008, 0.442791) -V 3623: Pos(-2.803208, -9.015513, 10.991117) Norm(-0.038327, -0.988975, 0.143039) UV(0.191494, 0.443172) -V 3624: Pos(-2.693843, -9.015513, 10.924545) Norm(-3e-06, -1.0, -9e-06) UV(0.192773, 0.445768) -V 3625: Pos(-2.727716, -9.015513, 10.947532) Norm(-3e-06, -1.0, -8e-06) UV(0.192358, 0.444905) -V 3626: Pos(-2.764559, -9.015513, 10.965373) Norm(-6e-06, -1.0, 2e-06) UV(0.19203, 0.444036) -V 3627: Pos(-2.800789, -9.015513, 10.976235) Norm(-2e-06, -1.0, -2.1e-05) UV(0.191816, 0.443227) -V 3628: Pos(-2.67582, -9.015513, 10.862037) Norm(-5e-06, -1.0, 1e-05) UV(0.194194, 0.446552) -V 3629: Pos(-2.709295, -9.015512, 10.886568) Norm(-2e-06, -1.0, -5e-06) UV(0.193764, 0.445563) -V 3630: Pos(-2.74874, -9.015513, 10.911118) Norm(-0.0, -1.0, -2e-06) UV(0.193278, 0.444498) -V 3631: Pos(-2.789723, -9.015512, 10.933003) Norm(-4e-06, -1.0, 3e-06) UV(0.192797, 0.443486) -V 3632: Pos(-2.827705, -9.015512, 10.949727) Norm(8e-06, -1.0, -2.3e-05) UV(0.192394, 0.442619) -V 3633: Pos(-2.692389, -9.015513, 10.826479) Norm(-1e-06, -1.0, 6e-06) UV(0.195264, 0.446369) -V 3634: Pos(-2.729431, -9.015513, 10.847866) Norm(2e-06, -1.0, -1e-06) UV(0.194892, 0.445195) -V 3635: Pos(-2.771302, -9.015513, 10.87204) Norm(3e-06, -1.0, 9e-06) UV(0.194338, 0.443983) -V 3636: Pos(-2.813172, -9.015513, 10.896214) Norm(2e-06, -1.0, 2.1e-05) UV(0.193683, 0.442901) -V 3637: Pos(-2.850214, -9.015513, 10.9176) Norm(7e-06, -1.0, 1e-05) UV(0.193092, 0.442048) -V 3638: Pos(-2.714898, -9.015513, 10.794352) Norm(-7e-06, -1.0, -6e-06) UV(0.196417, 0.445958) -V 3639: Pos(-2.75288, -9.015513, 10.811076) Norm(-2e-06, -1.0, -1.7e-05) UV(0.196109, 0.444629) -V 3640: Pos(-2.793863, -9.015513, 10.832962) Norm(1e-06, -1.0, -7e-06) UV(0.195442, 0.443345) -V 3641: Pos(-2.833308, -9.015513, 10.857512) Norm(0.0, -1.0, 9e-06) UV(0.194641, 0.442295) -V 3642: Pos(-2.866783, -9.015513, 10.882043) Norm(0.0, -1.0, 9e-06) UV(0.193888, 0.441541) -V 3643: Pos(-2.741814, -9.015512, 10.767844) Norm(-1.1e-05, -1.0, 5.1e-05) UV(0.197605, 0.445236) -V 3644: Pos(-2.778044, -9.015512, 10.778706) Norm(5e-06, -1.0, 9e-06) UV(0.197329, 0.44379) -V 3645: Pos(-2.814887, -9.015513, 10.796548) Norm(5e-06, -1.0, -6e-06) UV(0.196507, 0.44257) -V 3646: Pos(-2.848759, -9.015513, 10.819533) Norm(0.0, -1.0, 0.0) UV(0.195608, 0.441694) -V 3647: Pos(-2.876282, -9.015513, 10.845479) Norm(0.0, -1.0, 1.3e-05) UV(0.194747, 0.441123) -V 3648: Pos(-2.422621, -8.132718, 10.523359) Norm(0.522087, 0.674422, -0.522092) UV(0.352595, 0.469333) -V 3649: Pos(-2.344257, -8.132718, 10.625485) Norm(0.639427, 0.674421, -0.369173) UV(0.351437, 0.465258) -V 3650: Pos(-3.019895, -8.082157, 11.302616) Norm(-0.303394, -0.794858, 0.525502) UV(0.257198, 0.262841) -V 3651: Pos(-2.899983, -8.082157, 11.352285) Norm(-0.157049, -0.794859, 0.586118) UV(0.257372, 0.258022) -V 3652: Pos(-2.899983, -8.082157, 10.391793) Norm(-0.157047, -0.794857, -0.586121) UV(0.257407, 0.307229) -V 3653: Pos(-3.019895, -8.082157, 10.441463) Norm(-0.303394, -0.794858, -0.525502) UV(0.257409, 0.302181) -V 3654: Pos(-2.340724, -8.082157, 11.120633) Norm(0.525494, -0.794863, 0.303397) UV(0.258865, 0.233949) -V 3655: Pos(-2.291055, -8.082157, 11.000721) Norm(0.586112, -0.794865, 0.157046) UV(0.259303, 0.229167) -V 3656: Pos(-3.017856, -8.132718, 11.299085) Norm(-0.369167, 0.674429, 0.639423) UV(0.34724, 0.422833) -V 3657: Pos(-3.119982, -8.132718, 11.22072) Norm(-0.522087, 0.674423, 0.522091) UV(0.347644, 0.418501) -V 3658: Pos(-2.898927, -8.132718, 10.395733) Norm(-0.191098, 0.67443, -0.71318) UV(0.356343, 0.385481) -V 3659: Pos(-2.771302, -8.132718, 10.378931) Norm(-0.0, 0.674428, -0.738341) UV(0.357723, 0.381326) -V 3660: Pos(-2.344257, -8.132718, 11.118594) Norm(0.639426, 0.674424, 0.369171) UV(0.347847, 0.448608) -V 3661: Pos(-2.422621, -8.132718, 11.22072) Norm(0.522088, 0.674425, 0.522087) UV(0.347275, 0.444316) -V 3662: Pos(-3.251548, -8.082157, 10.743358) Norm(-0.586111, -0.794863, -0.157054) UV(0.257141, 0.287335) -V 3663: Pos(-3.268489, -8.082157, 10.87204) Norm(-0.606791, -0.794861, -2e-06) UV(0.257067, 0.28241) -V 3664: Pos(-2.340724, -8.082157, 10.623446) Norm(0.525489, -0.794866, -0.303396) UV(0.260757, 0.214688) -V 3665: Pos(-2.419737, -8.082157, 10.520475) Norm(0.429064, -0.794864, -0.429063) UV(0.261298, 0.20981) -V 3666: Pos(-3.247608, -8.132718, 10.744413) Norm(-0.713186, 0.674424, -0.191096) UV(0.35096, 0.4018) -V 3667: Pos(-3.198346, -8.132718, 10.625485) Norm(-0.639425, 0.674421, -0.369179) UV(0.352123, 0.397717) -V 3668: Pos(-2.294995, -8.132718, 10.744413) Norm(0.713189, 0.674423, -0.191089) UV(0.35038, 0.461192) -V 3669: Pos(-3.122866, -8.082157, 11.223604) Norm(-0.429067, -0.794862, 0.429064) UV(0.257112, 0.267681) -V 3670: Pos(-2.771302, -8.082157, 10.374852) Norm(-0.0, -0.794866, -0.606785) UV(0.257025, 0.312292) -V 3671: Pos(-2.419737, -8.082157, 11.223604) Norm(0.429065, -0.794861, 0.429068) UV(0.25846, 0.23875) -V 3672: Pos(-3.198346, -8.132718, 11.118594) Norm(-0.639427, 0.674425, 0.369168) UV(0.348264, 0.414182) -V 3673: Pos(-2.771302, -8.132718, 10.378931) Norm(-0.0, 0.674428, -0.738341) UV(0.356742, 0.48189) -V 3674: Pos(-2.643676, -8.132718, 10.395733) Norm(0.191099, 0.674434, -0.713176) UV(0.355446, 0.477664) -V 3675: Pos(-2.524747, -8.132718, 11.299085) Norm(0.369169, 0.67443, 0.639421) UV(0.346874, 0.439915) -V 3676: Pos(-3.201879, -8.082157, 10.623446) Norm(-0.525492, -0.794865, -0.303394) UV(0.257241, 0.292269) -V 3677: Pos(-2.291055, -8.082157, 10.743358) Norm(0.58611, -0.794866, -0.157045) UV(0.260222, 0.219594) -V 3678: Pos(-3.119982, -8.132718, 10.523359) Norm(-0.522085, 0.674421, -0.522096) UV(0.353366, 0.393689) -V 3679: Pos(-2.278193, -8.132718, 10.87204) Norm(0.738346, 0.674422, 3e-06) UV(0.349427, 0.45704) -V 3680: Pos(-3.201879, -8.082157, 11.120633) Norm(-0.525497, -0.794864, 0.303388) UV(0.257025, 0.272552) -V 3681: Pos(-2.64262, -8.082157, 10.391793) Norm(0.15705, -0.794871, -0.586102) UV(0.262248, 0.200091) -V 3682: Pos(-2.771302, -8.082157, 10.374852) Norm(-0.0, -0.794866, -0.606785) UV(0.26232, 0.195241) -V 3683: Pos(-2.522708, -8.082157, 11.302616) Norm(0.303394, -0.794858, 0.525502) UV(0.258091, 0.243603) -V 3684: Pos(-2.524747, -8.132718, 11.299085) Norm(0.369169, 0.67443, 0.639421) UV(0.034852, 0.785925) -V 3685: Pos(-2.522708, -8.082157, 11.302616) Norm(0.303394, -0.794858, 0.525502) UV(0.036595, 0.785852) -V 3686: Pos(-2.422621, -8.132718, 11.22072) Norm(0.522088, 0.674425, 0.522087) UV(0.034619, 0.781503) -V 3687: Pos(-2.419737, -8.082157, 11.223604) Norm(0.429065, -0.794861, 0.429068) UV(0.036361, 0.781393) -V 3688: Pos(-2.344257, -8.132718, 11.118594) Norm(0.639426, 0.674424, 0.369171) UV(0.034294, 0.777086) -V 3689: Pos(-2.340724, -8.082157, 11.120633) Norm(0.525494, -0.794863, 0.303397) UV(0.036033, 0.77694) -V 3690: Pos(-2.294995, -8.132718, 10.999665) Norm(0.713189, 0.674422, 0.191092) UV(0.033877, 0.772677) -V 3691: Pos(-2.291055, -8.082157, 11.000721) Norm(0.586112, -0.794865, 0.157046) UV(0.035612, 0.772494) -V 3692: Pos(-2.278193, -8.132718, 10.87204) Norm(0.738346, 0.674422, 3e-06) UV(0.033367, 0.768278) -V 3693: Pos(-2.274114, -8.082157, 10.87204) Norm(0.606786, -0.794865, 3e-06) UV(0.035098, 0.768059) -V 3694: Pos(-2.294995, -8.132718, 10.744413) Norm(0.713189, 0.674423, -0.191089) UV(0.032764, 0.763891) -V 3695: Pos(-2.291055, -8.082157, 10.743358) Norm(0.58611, -0.794866, -0.157045) UV(0.03449, 0.763635) -V 3696: Pos(-2.344257, -8.132718, 10.625485) Norm(0.639427, 0.674421, -0.369173) UV(0.03207, 0.759517) -V 3697: Pos(-2.340724, -8.082157, 10.623446) Norm(0.525489, -0.794866, -0.303396) UV(0.03379, 0.759225) -V 3698: Pos(-2.422621, -8.132718, 10.523359) Norm(0.522087, 0.674422, -0.522092) UV(0.031284, 0.755159) -V 3699: Pos(-2.419737, -8.082157, 10.520475) Norm(0.429064, -0.794864, -0.429063) UV(0.032998, 0.754831) -V 3700: Pos(-2.524747, -8.132718, 10.444995) Norm(0.369176, 0.674429, -0.639418) UV(0.030407, 0.750818) -V 3701: Pos(-2.522708, -8.082157, 10.441463) Norm(0.303397, -0.794866, -0.525489) UV(0.032113, 0.750454) -V 3702: Pos(-2.643676, -8.132718, 10.395733) Norm(0.191099, 0.674434, -0.713176) UV(0.029438, 0.746497) -V 3703: Pos(-2.64262, -8.082157, 10.391793) Norm(0.15705, -0.794871, -0.586102) UV(0.031137, 0.746097) -V 3704: Pos(-2.771302, -8.132718, 10.378931) Norm(-0.0, 0.674428, -0.738341) UV(0.02838, 0.742197) -V 3705: Pos(-2.771302, -8.082157, 10.374852) Norm(-0.0, -0.794866, -0.606785) UV(0.03007, 0.741762) -V 3706: Pos(-2.771302, -8.082157, 10.374852) Norm(-0.0, -0.794866, -0.606785) UV(0.03007, 0.847798) -V 3707: Pos(-2.771302, -8.132718, 10.378931) Norm(-0.0, 0.674428, -0.738341) UV(0.02838, 0.847363) -V 3708: Pos(-2.898927, -8.132718, 10.395733) Norm(-0.191098, 0.67443, -0.71318) UV(0.029438, 0.843063) -V 3709: Pos(-2.899983, -8.082157, 10.391793) Norm(-0.157047, -0.794857, -0.586121) UV(0.031137, 0.843462) -V 3710: Pos(-3.017856, -8.132718, 10.444995) Norm(-0.369175, 0.674428, -0.639419) UV(0.030407, 0.838741) -V 3711: Pos(-3.019895, -8.082157, 10.441463) Norm(-0.303394, -0.794858, -0.525502) UV(0.032113, 0.839105) -V 3712: Pos(-3.119982, -8.132718, 10.523359) Norm(-0.522085, 0.674421, -0.522096) UV(0.031284, 0.8344) -V 3713: Pos(-3.122866, -8.082157, 10.520475) Norm(-0.429065, -0.794861, -0.429067) UV(0.032998, 0.834728) -V 3714: Pos(-3.198346, -8.132718, 10.625485) Norm(-0.639425, 0.674421, -0.369179) UV(0.03207, 0.830042) -V 3715: Pos(-3.201879, -8.082157, 10.623446) Norm(-0.525492, -0.794865, -0.303394) UV(0.03379, 0.830334) -V 3716: Pos(-3.247608, -8.132718, 10.744413) Norm(-0.713186, 0.674424, -0.191096) UV(0.032764, 0.825669) -V 3717: Pos(-3.251548, -8.082157, 10.743358) Norm(-0.586111, -0.794863, -0.157054) UV(0.03449, 0.825924) -V 3718: Pos(-3.26441, -8.132718, 10.87204) Norm(-0.738344, 0.674425, -2e-06) UV(0.033366, 0.821281) -V 3719: Pos(-3.268489, -8.082157, 10.87204) Norm(-0.606791, -0.794861, -2e-06) UV(0.035098, 0.8215) -V 3720: Pos(-3.247608, -8.132718, 10.999665) Norm(-0.713187, 0.674425, 0.191089) UV(0.033877, 0.816882) -V 3721: Pos(-3.251548, -8.082157, 11.000721) Norm(-0.586114, -0.794863, 0.157046) UV(0.035612, 0.817065) -V 3722: Pos(-3.198346, -8.132718, 11.118594) Norm(-0.639427, 0.674425, 0.369168) UV(0.034294, 0.812473) -V 3723: Pos(-3.201879, -8.082157, 11.120633) Norm(-0.525497, -0.794864, 0.303388) UV(0.036033, 0.81262) -V 3724: Pos(-3.119982, -8.132718, 11.22072) Norm(-0.522087, 0.674423, 0.522091) UV(0.034619, 0.808057) -V 3725: Pos(-3.122866, -8.082157, 11.223604) Norm(-0.429067, -0.794862, 0.429064) UV(0.036361, 0.808167) -V 3726: Pos(-3.017856, -8.132718, 11.299085) Norm(-0.369167, 0.674429, 0.639423) UV(0.034852, 0.803634) -V 3727: Pos(-3.019895, -8.082157, 11.302616) Norm(-0.303394, -0.794858, 0.525502) UV(0.036595, 0.803708) -V 3728: Pos(-2.898927, -8.132718, 11.348346) Norm(-0.1911, 0.674432, 0.713178) UV(0.034991, 0.799208) -V 3729: Pos(-2.899983, -8.082157, 11.352285) Norm(-0.157049, -0.794859, 0.586118) UV(0.036736, 0.799245) -V 3730: Pos(-3.26441, -8.132718, 10.87204) Norm(-0.738344, 0.674425, -2e-06) UV(0.349973, 0.405917) -V 3731: Pos(-2.771302, -8.082157, 11.369227) Norm(-1e-06, -0.794868, 0.606783) UV(0.25755, 0.253213) -V 3732: Pos(-2.64262, -8.082157, 11.352285) Norm(0.15705, -0.794863, 0.586113) UV(0.257818, 0.248413) -V 3733: Pos(-2.522708, -8.082157, 10.441463) Norm(0.303397, -0.794866, -0.525489) UV(0.26182, 0.204934) -V 3734: Pos(-3.251548, -8.082157, 11.000721) Norm(-0.586114, -0.794863, 0.157046) UV(0.257027, 0.277495) -V 3735: Pos(-2.294995, -8.132718, 10.999665) Norm(0.713189, 0.674422, 0.191092) UV(0.348569, 0.452845) -V 3736: Pos(-3.017856, -8.132718, 10.444995) Norm(-0.369175, 0.674428, -0.639419) UV(0.354782, 0.389561) -V 3737: Pos(-2.898927, -8.132718, 11.348346) Norm(-0.1911, 0.674432, 0.713178) UV(0.346962, 0.427023) -V 3738: Pos(-2.274114, -8.082157, 10.87204) Norm(0.606786, -0.794865, 3e-06) UV(0.259764, 0.224424) -V 3739: Pos(-3.122866, -8.082157, 10.520475) Norm(-0.429065, -0.794861, -0.429067) UV(0.257352, 0.29718) -V 3740: Pos(-2.643676, -8.132718, 11.348346) Norm(0.191097, 0.674425, 0.713185) UV(0.346734, 0.435507) -V 3741: Pos(-2.771302, -8.132718, 11.365149) Norm(-1e-06, 0.674431, 0.738338) UV(0.346775, 0.431211) -V 3742: Pos(-2.524747, -8.132718, 10.444995) Norm(0.369176, 0.674429, -0.639418) UV(0.35396, 0.473516) -V 3743: Pos(-3.247608, -8.132718, 10.999665) Norm(-0.713187, 0.674425, 0.191089) UV(0.349057, 0.409993) -V 3744: Pos(0.753299, -12.618541, 9.005267) Norm(0.591633, -0.052776, -0.804478) UV(0.340855, 0.76924) -V 3745: Pos(0.766907, -11.946148, 8.984811) Norm(0.624904, -0.018423, -0.780484) UV(0.341548, 0.746318) -V 3746: Pos(1.05363, -11.946148, 9.148588) Norm(0.527374, -0.001622, -0.849632) UV(0.352907, 0.746689) -V 3747: Pos(1.077831, -12.617983, 9.190081) Norm(0.511715, -0.038914, -0.858273) UV(0.353525, 0.769916) -V 3748: Pos(0.127274, -13.121551, 8.863171) Norm(0.456925, -0.116072, -0.8819) UV(0.317292, 0.785679) -V 3749: Pos(0.13069, -12.382905, 8.789777) Norm(0.415302, -0.048259, -0.908403) UV(0.316829, 0.760866) -V 3750: Pos(0.375903, -12.382905, 8.774108) Norm(-0.025114, -0.041644, -0.998817) UV(0.325119, 0.760798) -V 3751: Pos(0.375903, -13.121202, 8.844603) Norm(0.08413, -0.197416, -0.976703) UV(0.325614, 0.785215) -V 3752: Pos(0.59267, -14.309753, 9.522182) Norm(0.13606, -0.285981, -0.948527) UV(0.338504, 0.831362) -V 3753: Pos(0.574945, -14.696083, 9.560887) Norm(-0.004777, -0.106677, -0.994282) UV(0.338531, 0.844981) -V 3754: Pos(0.313774, -14.621969, 9.549634) Norm(-0.445365, -0.113645, -0.888107) UV(0.329477, 0.842867) -V 3755: Pos(0.289981, -14.338383, 9.515397) Norm(-0.488852, -0.356973, -0.795986) UV(0.32803, 0.833213) -V 3756: Pos(-0.310411, -14.783587, 11.109747) Norm(-0.002149, -0.480841, 0.876805) UV(0.0653, 0.406688) -V 3757: Pos(-0.32848, -14.734411, 11.171654) Norm(0.004761, -0.586821, 0.809702) UV(0.064541, 0.409605) -V 3758: Pos(-0.302181, -12.550772, 11.773037) Norm(0.011695, -0.011276, 0.999868) UV(0.062633, 0.484967) -V 3759: Pos(-0.299249, -12.611209, 11.771132) Norm(0.016258, -0.1132, 0.993439) UV(0.062733, 0.483087) -V 3760: Pos(-0.090169, -16.213043, 10.945545) Norm(0.418311, -0.195386, 0.88704) UV(0.072751, 0.356321) -V 3761: Pos(-0.045885, -15.453674, 11.04019) Norm(0.376523, -0.138131, 0.916051) UV(0.07496, 0.38173) -V 3762: Pos(-0.456353, -5.099787, 10.960801) Norm(0.464304, 0.846877, 0.25927) UV(0.051792, 0.747027) -V 3763: Pos(-0.434943, -5.635293, 11.06281) Norm(0.105785, 0.209989, 0.971964) UV(0.05381, 0.730624) -V 3764: Pos(-0.279569, -17.611206, 10.537682) Norm(0.489982, -0.800512, 0.345107) UV(0.065768, 0.317111) -V 3765: Pos(-0.312152, -17.611359, 10.680434) Norm(0.344893, -0.64861, 0.678494) UV(0.063486, 0.320098) -V 3766: Pos(-0.308601, -12.002631, 11.768512) Norm(-0.002992, 0.043786, 0.999036) UV(0.062392, 0.502535) -V 3767: Pos(-0.386986, -5.498948, 10.458104) Norm(-0.001174, 0.878791, 0.477205) UV(0.239927, 0.508174) -V 3768: Pos(-0.210349, -5.498949, 10.374091) Norm(-0.111212, 0.650359, -0.751442) UV(0.236801, 0.513526) -V 3769: Pos(-0.423665, -7.467391, 11.395685) Norm(0.023648, 0.131491, 0.991035) UV(0.055713, 0.663844) -V 3770: Pos(-0.40266, -7.937566, 11.452072) Norm(0.017518, 0.109032, 0.993884) UV(0.056791, 0.64677) -V 3771: Pos(-0.422638, -6.352781, 11.19637) Norm(-0.037349, 0.194912, 0.980109) UV(0.054915, 0.704711) -V 3772: Pos(-0.424185, -5.973804, 11.14062) Norm(0.004977, 0.184753, 0.982772) UV(0.054505, 0.718453) -V 3773: Pos(-0.386986, -5.860602, 10.739367) Norm(-9e-06, 0.857665, 0.514209) UV(0.254737, 0.508307) -V 3774: Pos(-0.386986, -5.772872, 10.659025) Norm(-7e-06, 0.652828, 0.757506) UV(0.250949, 0.508339) -V 3775: Pos(-0.115071, -5.996615, 10.995941) Norm(0.531377, 0.197526, 0.823785) UV(0.067928, 0.719132) -V 3776: Pos(-0.233682, -5.973803, 11.137924) Norm(0.437882, 0.176661, 0.881505) UV(0.061263, 0.718691) -V 3777: Pos(-0.218514, -6.352781, 11.181109) Norm(0.544735, 0.1445, 0.826065) UV(0.062451, 0.705008) -V 3778: Pos(-0.112773, -6.352781, 11.036345) Norm(0.482174, 0.155269, 0.862206) UV(0.068936, 0.706087) -V 3779: Pos(-0.372537, -9.491978, 11.592623) Norm(-0.003503, 0.076185, 0.997087) UV(0.059054, 0.590511) -V 3780: Pos(-0.374935, -8.869688, 11.539713) Norm(-0.005162, 0.088208, 0.996089) UV(0.058499, 0.613089) -V 3781: Pos(-0.429395, -6.714837, 11.287401) Norm(-0.022299, 0.193894, 0.980769) UV(0.054926, 0.69122) -V 3782: Pos(-0.434408, -5.216838, 10.85706) Norm(0.180142, 0.427699, -0.885789) UV(0.054788, 0.751031) -V 3783: Pos(-0.257888, -17.53898, 10.036661) Norm(0.469094, -0.653737, -0.593784) UV(0.138345, 0.452708) -V 3784: Pos(-0.258567, -17.604631, 10.144748) Norm(0.397076, -0.873765, -0.280829) UV(0.138121, 0.44903) -V 3785: Pos(-0.261155, -5.635293, 11.053866) Norm(0.420419, 0.262316, 0.868584) UV(0.0599, 0.730984) -V 3786: Pos(-0.343406, -5.635293, 11.05887) Norm(0.095659, 0.235123, 0.967247) UV(0.057027, 0.730795) -V 3787: Pos(-0.321892, -5.966882, 11.137775) Norm(0.039153, 0.193705, 0.980278) UV(0.058126, 0.718826) -V 3788: Pos(-0.320851, -7.467411, 11.387623) Norm(0.19241, 0.137068, 0.971695) UV(0.059452, 0.663955) -V 3789: Pos(-0.332311, -6.714837, 11.293067) Norm(0.15913, 0.176383, 0.971374) UV(0.058418, 0.691249) -V 3790: Pos(-0.386496, -8.24662, 11.482265) Norm(-0.00284, 0.094472, 0.995524) UV(0.057602, 0.635619) -V 3791: Pos(-0.324424, -11.201272, 11.704627) Norm(-0.014414, 0.071087, 0.997366) UV(0.06178, 0.529597) -V 3792: Pos(-0.087226, -12.002631, 11.768512) Norm(0.34599, 0.037221, 0.9375) UV(0.069617, 0.502512) -V 3793: Pos(-0.118873, -11.200978, 11.710431) Norm(0.264348, 0.054504, 0.962886) UV(0.068968, 0.529626) -V 3794: Pos(0.413441, -14.129045, 10.839348) Norm(0.343087, -0.142398, 0.928447) UV(0.117821, 0.849565) -V 3795: Pos(0.425607, -14.515833, 10.729332) Norm(0.481554, -0.202088, 0.852799) UV(0.107655, 0.859384) -V 3796: Pos(0.482846, -14.530905, 10.670832) Norm(0.09505, -0.167323, 0.98131) UV(0.10491, 0.85849) -V 3797: Pos(0.511325, -14.2756, 10.804464) Norm(0.60352, -0.404406, 0.687182) UV(0.111599, 0.851106) -V 3798: Pos(-0.318798, -6.352781, 11.20256) Norm(0.094641, 0.184321, 0.978299) UV(0.058705, 0.704751) -V 3799: Pos(0.034456, -10.288738, 11.59748) Norm(0.613255, 0.090785, 0.784651) UV(0.07431, 0.562097) -V 3800: Pos(-0.042209, -10.744859, 11.666515) Norm(0.348533, 0.057256, 0.935546) UV(0.071479, 0.545844) -V 3801: Pos(0.106794, -11.31928, 11.589983) Norm(0.765997, -0.011152, 0.642747) UV(0.078259, 0.525576) -V 3802: Pos(-0.177706, -10.288738, 11.64669) Norm(0.120489, 0.083981, 0.989156) UV(0.066508, 0.561912) -V 3803: Pos(-0.353841, -10.288738, 11.64669) Norm(-0.008491, 0.065233, 0.997834) UV(0.060229, 0.561821) -V 3804: Pos(0.214261, -7.641842, 11.099125) Norm(0.054726, 0.05701, 0.996873) UV(0.289906, 0.663305) -V 3805: Pos(0.025433, -7.955532, 11.137898) Norm(0.523053, 0.08997, 0.847538) UV(0.278269, 0.671992) -V 3806: Pos(0.061934, -8.259396, 11.136215) Norm(0.576998, 0.029325, 0.816219) UV(0.267302, 0.674184) -V 3807: Pos(0.232141, -8.120556, 11.137504) Norm(0.107239, -0.139538, 0.984393) UV(0.269198, 0.665315) -V 3808: Pos(-0.215098, -9.491978, 11.59321) Norm(0.192586, 0.088119, 0.977316) UV(0.064749, 0.590616) -V 3809: Pos(-0.046953, -5.692852, 10.734535) Norm(-0.061546, 0.466956, 0.882136) UV(0.250409, 0.522102) -V 3810: Pos(0.086185, -5.569281, 10.665711) Norm(-0.078214, 0.54089, 0.837449) UV(0.244258, 0.5249) -V 3811: Pos(0.011523, -5.546937, 10.592614) Norm(-0.321607, 0.692068, 0.646228) UV(0.24292, 0.521804) -V 3812: Pos(-0.293286, -5.366412, 10.981031) Norm(0.548898, 0.391905, 0.738323) UV(0.057937, 0.740552) -V 3813: Pos(-0.382732, -5.171452, 10.94768) Norm(0.564434, 0.736822, 0.372165) UV(0.054174, 0.746481) -V 3814: Pos(-0.197378, -6.714837, 11.233347) Norm(0.608243, 0.144328, 0.780519) UV(0.063688, 0.691741) -V 3815: Pos(-0.096256, -6.714837, 11.0858) Norm(0.495977, 0.109517, 0.861402) UV(0.070082, 0.692798) -V 3816: Pos(-0.275345, -7.93656, 11.451685) Norm(0.207896, 0.1246, 0.970183) UV(0.061364, 0.646892) -V 3817: Pos(-0.11916, -7.942636, 11.384399) Norm(0.653556, 0.124441, 0.746578) UV(0.067477, 0.647103) -V 3818: Pos(-0.156977, -7.467411, 11.329699) Norm(0.62781, 0.131837, 0.767121) UV(0.065763, 0.664367) -V 3819: Pos(-0.246514, -8.24673, 11.482728) Norm(0.229265, 0.103293, 0.967868) UV(0.06264, 0.635721) -V 3820: Pos(-0.219894, -8.869688, 11.540771) Norm(0.233976, 0.093131, 0.967772) UV(0.0641, 0.613207) -V 3821: Pos(-0.054986, -8.869688, 11.451316) Norm(0.681936, 0.098025, 0.724813) UV(0.070856, 0.613669) -V 3822: Pos(-0.094931, -8.250694, 11.406264) Norm(0.68043, 0.106731, 0.724999) UV(0.068755, 0.636023) -V 3823: Pos(-0.023508, -17.189369, 10.37456) Norm(0.585823, -0.392713, 0.708935) UV(0.077536, 0.32397) -V 3824: Pos(-0.239632, -17.611019, 10.362709) Norm(0.394468, -0.826802, 0.400991) UV(0.06872, 0.3128) -V 3825: Pos(-0.217022, -17.610914, 10.263648) Norm(0.421524, -0.899285, 0.116639) UV(0.070541, 0.31005) -V 3826: Pos(-0.015747, -17.413155, 10.33747) Norm(0.391938, -0.394779, 0.830984) UV(0.076708, 0.317161) -V 3827: Pos(0.302509, -5.409958, 10.580017) Norm(-0.004489, 0.60991, 0.792458) UV(0.238119, 0.529214) -V 3828: Pos(0.305975, -5.330895, 10.468236) Norm(-0.223952, 0.954691, 0.195986) UV(0.234983, 0.528643) -V 3829: Pos(-0.023643, -9.491978, 11.503345) Norm(0.651554, 0.102255, 0.751679) UV(0.072416, 0.591014) -V 3830: Pos(0.02722, -12.036906, 11.651344) Norm(0.949369, -0.024306, 0.313222) UV(0.074941, 0.501438) -V 3831: Pos(0.011097, -14.449153, 11.200875) Norm(0.896061, -0.283279, 0.341801) UV(0.077046, 0.420349) -V 3832: Pos(-0.06521, -14.434437, 11.278111) Norm(0.372737, -0.350306, 0.859275) UV(0.073352, 0.421567) -V 3833: Pos(-0.130481, -14.734413, 11.171654) Norm(0.260306, -0.543225, 0.798215) UV(0.071891, 0.409757) -V 3834: Pos(-0.094343, -14.783589, 11.109747) Norm(0.270684, -0.286504, 0.919046) UV(0.073894, 0.40671) -V 3835: Pos(-0.041623, -14.616371, 11.155311) Norm(0.798829, -0.365149, 0.478057) UV(0.075665, 0.413805) -V 3836: Pos(0.096961, -14.431056, 11.065418) Norm(0.779617, -0.137494, 0.610977) UV(0.083402, 0.419316) -V 3837: Pos(0.117704, -14.298805, 11.0702) Norm(0.795712, -0.110518, 0.595507) UV(0.084663, 0.424058) -V 3838: Pos(0.126541, -14.166553, 11.074982) Norm(0.681254, -0.078316, 0.727846) UV(0.085676, 0.428774) -V 3839: Pos(0.069055, -14.425464, 11.094136) Norm(0.44618, -0.076672, 0.891653) UV(0.081958, 0.419817) -V 3840: Pos(0.17646, -16.286886, 10.625539) Norm(0.814685, -0.223795, 0.534981) UV(0.086013, 0.350938) -V 3841: Pos(0.197031, -6.714838, 11.077728) Norm(0.061832, 0.078687, 0.99498) UV(0.326125, 0.665947) -V 3842: Pos(0.209425, -6.293025, 11.029684) Norm(0.123323, 0.286854, 0.950003) UV(0.342026, 0.666917) -V 3843: Pos(-0.112773, -6.352781, 11.036345) Norm(0.482174, 0.155269, 0.862206) UV(0.338902, 0.678741) -V 3844: Pos(-0.096256, -6.714837, 11.0858) Norm(0.495977, 0.109517, 0.861402) UV(0.325261, 0.677012) -V 3845: Pos(0.179657, -6.13002, 10.794174) Norm(0.390603, 0.786994, 0.477566) UV(0.257656, 0.535629) -V 3846: Pos(-0.007631, -6.03854, 10.783877) Norm(0.634137, 0.638186, 0.436565) UV(0.257964, 0.530622) -V 3847: Pos(-0.016686, -5.960667, 10.904093) Norm(0.796388, 0.604367, -0.022513) UV(0.260975, 0.528788) -V 3848: Pos(0.173996, -6.144948, 10.881975) Norm(0.514436, 0.856646, -0.038898) UV(0.260145, 0.535792) -V 3849: Pos(-0.015804, -7.495818, 11.119686) Norm(0.52762, 0.090295, 0.844668) UV(0.295831, 0.672288) -V 3850: Pos(0.194654, -7.206603, 11.072265) Norm(0.056525, 0.042992, 0.997475) UV(0.307228, 0.664616) -V 3851: Pos(0.378795, -11.258108, 11.00945) Norm(0.584815, -0.028062, 0.810681) UV(0.101454, 0.529032) -V 3852: Pos(0.351786, -10.449221, 11.055216) Norm(0.581264, 0.017802, 0.81352) UV(0.09737, 0.5585) -V 3853: Pos(0.192317, -13.804165, 11.059676) Norm(0.664024, -0.085626, 0.742792) UV(0.089821, 0.441309) -V 3854: Pos(0.15586, -13.833342, 11.069529) Norm(0.697915, -0.071096, 0.712643) UV(0.08837, 0.440467) -V 3855: Pos(0.108038, -14.16584, 11.085279) Norm(0.693603, -0.10123, 0.71321) UV(0.084918, 0.42892) -V 3856: Pos(0.16757, -16.831728, 10.050759) Norm(-0.281583, -0.286918, -0.915636) UV(0.118428, 0.471069) -V 3857: Pos(0.236236, -16.886652, 9.945797) Norm(-0.880135, -0.097112, -0.464685) UV(0.113632, 0.47006) -V 3858: Pos(0.187956, -17.160233, 10.160663) Norm(-0.835027, -0.177458, -0.520805) UV(0.118647, 0.458676) -V 3859: Pos(0.154404, -17.154877, 10.190921) Norm(-0.103265, -0.394346, -0.913141) UV(0.120241, 0.458628) -V 3860: Pos(-0.217022, -17.610914, 10.263648) Norm(0.421524, -0.899285, 0.116639) UV(0.135946, 0.445593) -V 3861: Pos(-0.037624, -17.38258, 10.208937) Norm(0.552613, -0.444019, -0.705312) UV(0.128325, 0.452243) -V 3862: Pos(-0.039991, -17.527853, 10.288622) Norm(0.50034, -0.85863, 0.111419) UV(0.129255, 0.446646) -V 3863: Pos(-0.039991, -17.527853, 10.288622) Norm(0.50034, -0.85863, 0.111419) UV(0.076092, 0.313135) -V 3864: Pos(0.130161, -17.361893, 10.274363) Norm(0.628363, -0.777182, 0.033871) UV(0.08183, 0.317846) -V 3865: Pos(-0.042681, -5.436759, 10.462289) Norm(-0.291686, 0.915246, 0.277927) UV(0.237905, 0.519361) -V 3866: Pos(0.044557, -5.960488, 10.752725) Norm(0.252786, 0.241147, 0.936989) UV(0.25554, 0.530244) -V 3867: Pos(0.241805, -6.054401, 10.714135) Norm(0.153188, 0.366172, 0.917852) UV(0.254313, 0.536022) -V 3868: Pos(0.206743, -12.02697, 11.269761) Norm(0.714449, -0.18607, 0.674493) UV(0.090238, 0.501785) -V 3869: Pos(0.142244, -12.023941, 11.318316) Norm(0.735168, -0.160189, 0.658687) UV(0.08745, 0.501749) -V 3870: Pos(0.186854, -12.550453, 11.10218) Norm(0.697777, -0.154391, 0.699479) UV(0.092523, 0.483703) -V 3871: Pos(0.24701, -12.550453, 11.088028) Norm(0.642311, -0.169162, 0.747544) UV(0.094539, 0.483818) -V 3872: Pos(0.445741, -5.633644, 10.603598) Norm(0.654177, 0.279586, 0.702769) UV(0.241156, 0.534871) -V 3873: Pos(0.413981, -5.330895, 10.512909) Norm(0.491014, 0.698572, 0.520483) UV(0.235785, 0.530815) -V 3874: Pos(0.293884, -5.599326, 10.638965) Norm(0.220287, 0.24185, 0.944977) UV(0.242572, 0.53084) -V 3875: Pos(0.159392, -5.79461, 10.70172) Norm(0.199428, 0.168957, 0.965237) UV(0.249567, 0.529979) -V 3876: Pos(0.017441, -5.757263, 10.71636) Norm(0.26434, 0.172978, 0.94879) UV(0.251149, 0.5253) -V 3877: Pos(-0.064014, -5.850981, 10.765058) Norm(0.684741, 0.346771, 0.640999) UV(0.255934, 0.525017) -V 3878: Pos(0.14423, -5.600734, 10.665233) Norm(0.185623, 0.225243, 0.956457) UV(0.244489, 0.526889) -V 3879: Pos(0.339384, -5.849935, 10.67636) Norm(0.139113, 0.203987, 0.969039) UV(0.248088, 0.535413) -V 3880: Pos(0.500136, -5.884259, 10.666577) Norm(0.562895, 0.322898, 0.760846) UV(0.24653, 0.539936) -V 3881: Pos(0.250008, -12.610888, 11.077132) Norm(0.624921, -0.077345, 0.776848) UV(0.094777, 0.481802) -V 3882: Pos(0.295819, -12.610888, 10.992192) Norm(0.873173, -0.042524, 0.485552) UV(0.097883, 0.481609) -V 3883: Pos(0.341629, -12.610888, 10.907252) Norm(0.480887, -0.0366, 0.876019) UV(0.100872, 0.481412) -V 3884: Pos(0.364439, -11.916042, 10.9701) Norm(0.581454, -0.068077, 0.810726) UV(0.102609, 0.505014) -V 3885: Pos(0.284217, -13.064171, 11.004714) Norm(0.861688, -0.035133, 0.506221) UV(0.096665, 0.466465) -V 3886: Pos(0.327102, -13.024474, 10.941593) Norm(0.607112, -0.022016, 0.794311) UV(0.099416, 0.467661) -V 3887: Pos(-0.038745, -13.305736, 11.62882) Norm(0.398575, -0.203348, 0.894309) UV(0.071607, 0.461129) -V 3888: Pos(0.07752, -13.25584, 11.516879) Norm(0.968431, -0.020075, 0.248472) UV(0.076862, 0.462184) -V 3889: Pos(0.030097, -12.610888, 11.656427) Norm(0.967236, 0.045573, 0.249756) UV(0.074299, 0.482697) -V 3890: Pos(-0.072019, -12.610888, 11.767374) Norm(0.402001, -0.075695, 0.912505) UV(0.06971, 0.483074) -V 3891: Pos(1.284, -14.895481, 9.605906) Norm(0.261727, -0.126716, -0.956788) UV(0.36312, 0.850977) -V 3892: Pos(1.122935, -14.192274, 9.535975) Norm(0.070132, -0.095284, -0.992977) UV(0.357122, 0.826685) -V 3893: Pos(1.387654, -14.24136, 9.560217) Norm(0.305612, -0.118621, -0.944738) UV(0.366372, 0.828407) -V 3894: Pos(0.079135, -13.755318, 9.532556) Norm(-0.124384, -0.89602, -0.426235) UV(0.116343, 0.581819) -V 3895: Pos(0.211014, -13.900246, 9.179587) Norm(-0.552142, -0.580019, -0.59893) UV(0.102156, 0.580374) -V 3896: Pos(0.257321, -14.23223, 9.466191) Norm(-0.622618, -0.46513, -0.629287) UV(0.107765, 0.565839) -V 3897: Pos(0.348232, -15.673578, 10.603617) Norm(0.53571, -0.13604, 0.833371) UV(0.094584, 0.370297) -V 3898: Pos(0.183185, -9.182344, 11.112895) Norm(0.593871, 0.060561, 0.802277) UV(0.235232, 0.70111) -V 3899: Pos(0.677528, -9.481436, 11.006216) Norm(0.245141, 0.032068, 0.968957) UV(0.211332, 0.700936) -V 3900: Pos(0.782338, -9.154688, 10.945724) Norm(0.366833, 0.155851, 0.917139) UV(0.213563, 0.685947) -V 3901: Pos(0.513717, -8.870115, 11.026826) Norm(0.379414, 0.102474, 0.919535) UV(0.230953, 0.681246) -V 3902: Pos(0.241332, -13.103868, 11.067835) Norm(0.624026, -0.031059, 0.780786) UV(0.093944, 0.465331) -V 3903: Pos(0.23024, -13.448198, 11.060121) Norm(0.663202, -0.065059, 0.745607) UV(0.092624, 0.453495) -V 3904: Pos(0.261348, -13.421515, 11.003428) Norm(0.886488, -0.083312, 0.45519) UV(0.094989, 0.454092) -V 3905: Pos(0.211014, -13.900246, 9.179587) Norm(-0.552142, -0.580019, -0.59893) UV(0.322516, 0.814806) -V 3906: Pos(0.344021, -13.844193, 9.13813) Norm(0.152812, -0.555515, -0.817344) UV(0.326707, 0.81181) -V 3907: Pos(0.312975, -14.279038, 9.463096) Norm(-0.085438, -0.602366, -0.793634) UV(0.328465, 0.830418) -V 3908: Pos(0.257321, -14.23223, 9.466191) Norm(-0.622618, -0.46513, -0.629287) UV(0.326134, 0.829503) -V 3909: Pos(0.511325, -14.2756, 10.704041) Norm(0.711965, -0.286244, 0.641226) UV(0.108311, 0.850523) -V 3910: Pos(0.600808, -14.394012, 10.735187) Norm(-0.050722, -0.039282, 0.99794) UV(0.103615, 0.851901) -V 3911: Pos(0.990502, -14.39336, 10.633224) Norm(0.261021, -0.03238, 0.96479) UV(0.092641, 0.844132) -V 3912: Pos(0.764312, -13.920992, 10.713941) Norm(0.699955, -0.319676, 0.638647) UV(0.109636, 0.835299) -V 3913: Pos(0.204889, -14.400174, 9.654901) Norm(-0.327091, -0.203088, -0.922912) UV(0.11311, 0.558748) -V 3914: Pos(0.289981, -14.338383, 9.515397) Norm(-0.488852, -0.356973, -0.795986) UV(0.107853, 0.561585) -V 3915: Pos(0.313774, -14.621969, 9.549634) Norm(-0.445365, -0.113645, -0.888107) UV(0.107333, 0.551619) -V 3916: Pos(-0.035347, -14.309196, 9.520744) Norm(0.25964, -0.102872, -0.960211) UV(0.122125, 0.562939) -V 3917: Pos(0.20317, -15.425302, 9.798166) Norm(-0.301528, -0.127103, -0.944947) UV(0.114693, 0.522762) -V 3918: Pos(-0.028019, -15.109277, 9.7103) Norm(0.310358, -0.141506, -0.940029) UV(0.122437, 0.534567) -V 3919: Pos(0.200832, -17.543135, 10.111504) Norm(-0.99428, -0.041018, -0.098613) UV(0.058521, 0.957562) -V 3920: Pos(0.247597, -17.595695, 10.348552) Norm(-0.882305, -0.049286, 0.468092) UV(0.050734, 0.953349) -V 3921: Pos(0.243054, -16.724356, 10.412094) Norm(-0.24041, -0.169859, 0.955694) UV(0.069187, 0.928317) -V 3922: Pos(0.187778, -17.340864, 10.259338) Norm(-0.925035, -0.342971, 0.163341) UV(0.059511, 0.948752) -V 3923: Pos(0.413981, -5.330895, 10.409933) Norm(0.598949, 0.787317, 0.146263) UV(0.233719, 0.531299) -V 3924: Pos(0.265827, -16.764282, 9.902725) Norm(-0.625172, -0.08819, -0.775489) UV(0.330071, 0.91744) -V 3925: Pos(0.600343, -16.828564, 9.756091) Norm(-0.163077, -0.089243, -0.982569) UV(0.342766, 0.91852) -V 3926: Pos(0.572947, -17.328251, 9.808561) Norm(-0.145566, -0.089888, -0.985257) UV(0.342751, 0.935789) -V 3927: Pos(0.271401, -17.554974, 9.941673) Norm(-0.701479, -0.05695, -0.710411) UV(0.332175, 0.944546) -V 3928: Pos(0.248144, -18.260746, 10.332523) Norm(-0.865418, -0.053709, 0.498163) UV(0.036158, 0.971977) -V 3929: Pos(0.220631, -18.260746, 10.149389) Norm(-0.995065, -0.042469, -0.089675) UV(0.041087, 0.976265) -V 3930: Pos(0.308926, -18.671581, 10.326416) Norm(-0.462068, -0.097444, 0.881475) UV(0.025801, 0.982468) -V 3931: Pos(0.316789, -18.260746, 10.383937) Norm(-0.421594, -0.083305, 0.90295) UV(0.033797, 0.970111) -V 3932: Pos(0.270817, -18.660645, 10.283776) Norm(-0.877106, -0.063808, 0.476039) UV(0.027629, 0.983485) -V 3933: Pos(0.232742, -18.628233, 10.165611) Norm(-0.995802, -0.05335, -0.074379) UV(0.031755, 0.98556) -V 3934: Pos(0.263968, -19.037821, 10.251081) Norm(-0.694344, -0.637344, 0.334184) UV(0.019639, 0.994506) -V 3935: Pos(0.289758, -19.037971, 10.278857) Norm(-0.386499, -0.67646, 0.626914) UV(0.018604, 0.993636) -V 3936: Pos(0.68195, -7.184052, 11.07903) Norm(0.003107, 0.069257, 0.997594) UV(0.309602, 0.645513) -V 3937: Pos(0.67407, -6.723176, 11.032492) Norm(0.045965, 0.10507, 0.993402) UV(0.327747, 0.647668) -V 3938: Pos(0.853416, -8.803967, 10.814029) Norm(0.647013, 0.460798, 0.607486) UV(0.216307, 0.66876) -V 3939: Pos(0.697471, -8.653952, 10.867053) Norm(0.660178, 0.397624, 0.637228) UV(0.226917, 0.665874) -V 3940: Pos(0.422204, -13.394543, 10.886303) Norm(0.290652, -0.034869, 0.956193) UV(0.133812, 0.828729) -V 3941: Pos(0.461181, -13.728933, 10.869245) Norm(0.270842, -0.060893, 0.960696) UV(0.12549, 0.837313) -V 3942: Pos(0.764312, -13.920992, 10.804184) Norm(0.730603, -0.364642, 0.577283) UV(0.112874, 0.835924) -V 3943: Pos(1.042453, -13.127293, 10.788873) Norm(0.748866, -0.359403, 0.556802) UV(0.121241, 0.807019) -V 3944: Pos(0.242787, -13.697623, 10.965414) Norm(0.750907, -0.078941, 0.655673) UV(0.094246, 0.444298) -V 3945: Pos(0.162352, -14.171404, 11.004946) Norm(0.789896, -0.115087, 0.602345) UV(0.088476, 0.428001) -V 3946: Pos(0.352217, -14.143468, 10.874098) Norm(0.55144, -0.10594, 0.82746) UV(0.096976, 0.427737) -V 3947: Pos(0.325142, -13.703549, 10.918309) Norm(0.454161, -0.04192, 0.889933) UV(0.097565, 0.443655) -V 3948: Pos(0.418519, -16.36364, 10.548183) Norm(-0.31104, -0.032466, 0.949842) UV(0.070395, 0.913258) -V 3949: Pos(0.470115, -15.774645, 10.578667) Norm(-0.275044, -0.033503, 0.960848) UV(0.080818, 0.895174) -V 3950: Pos(0.417581, -15.726151, 10.570805) Norm(0.022502, -0.090489, 0.995643) UV(0.08334, 0.894847) -V 3951: Pos(0.320664, -16.335007, 10.506907) Norm(-0.037616, -0.11113, 0.993094) UV(0.07402, 0.914687) -V 3952: Pos(0.289902, -16.749731, 10.490902) Norm(-0.621035, -0.034334, 0.783031) UV(0.066098, 0.927013) -V 3953: Pos(1.015233, -8.088758, 11.025453) Norm(0.190002, -0.918051, 0.347967) UV(0.272045, 0.623639) -V 3954: Pos(1.050537, -8.080958, 10.951355) Norm(0.221669, -0.854334, -0.470081) UV(0.270248, 0.620163) -V 3955: Pos(1.250212, -8.020205, 10.928261) Norm(0.100689, -0.872948, -0.477309) UV(0.275542, 0.612104) -V 3956: Pos(1.291913, -8.028337, 11.00076) Norm(0.206862, -0.92312, 0.324127) UV(0.278774, 0.613224) -V 3957: Pos(0.351786, -10.449221, 11.055216) Norm(0.581264, 0.017802, 0.81352) UV(0.204872, 0.741571) -V 3958: Pos(0.378795, -11.258108, 11.00945) Norm(0.584815, -0.028062, 0.810681) UV(0.186579, 0.768203) -V 3959: Pos(1.019244, -11.233336, 10.912705) Norm(0.163645, -0.023348, 0.986243) UV(0.167088, 0.753503) -V 3960: Pos(0.927278, -10.51475, 10.938002) Norm(0.189968, -0.014569, 0.981682) UV(0.183978, 0.732712) -V 3961: Pos(0.496052, -6.622393, 10.215128) Norm(0.498205, 0.097507, -0.861559) UV(0.247322, 0.833983) -V 3962: Pos(0.417701, -7.340909, 10.154701) Norm(0.564541, 0.099866, -0.819341) UV(0.246316, 0.859394) -V 3963: Pos(0.109277, -7.282605, 10.078014) Norm(0.144541, 0.188615, -0.971356) UV(0.234814, 0.85827) -V 3964: Pos(0.109277, -6.79208, 10.176466) Norm(0.065532, 0.164872, -0.984136) UV(0.234246, 0.840601) -V 3965: Pos(0.191682, -6.16066, 10.950506) Norm(0.382372, 0.740861, 0.552193) UV(0.347739, 0.668026) -V 3966: Pos(0.66514, -6.376571, 10.987803) Norm(0.08128, 0.34198, 0.936185) UV(0.341181, 0.649374) -V 3967: Pos(0.638489, -6.287322, 10.923629) Norm(0.195825, 0.964583, 0.176729) UV(0.345318, 0.65067) -V 3968: Pos(0.557816, -8.434889, 10.834444) Norm(0.671976, 0.251828, 0.696442) UV(0.238025, 0.656982) -V 3969: Pos(0.570301, -8.52635, 10.927332) Norm(0.670639, 0.350265, 0.653879) UV(0.236786, 0.664167) -V 3970: Pos(0.682256, -8.560911, 10.777143) Norm(0.64331, 0.342188, 0.684879) UV(0.227914, 0.65909) -V 3971: Pos(0.6101, -9.910973, 11.019643) Norm(0.20717, -0.017017, 0.978157) UV(0.205821, 0.717782) -V 3972: Pos(0.257793, -9.68861, 11.091059) Norm(0.576325, 0.047715, 0.815826) UV(0.22251, 0.716767) -V 3973: Pos(0.827902, -10.029766, 10.96452) Norm(0.208194, -0.01195, 0.978015) UV(0.19582, 0.71799) -V 3974: Pos(1.075021, -9.70014, 10.915341) Norm(0.243251, 0.049563, 0.968696) UV(0.192329, 0.701995) -V 3975: Pos(0.364439, -11.916042, 10.9701) Norm(0.581454, -0.068077, 0.810726) UV(0.171054, 0.788854) -V 3976: Pos(1.087411, -11.913094, 10.88158) Norm(0.145363, -0.045959, 0.98831) UV(0.1498, 0.771593) -V 3977: Pos(1.083659, -12.708069, 10.83277) Norm(0.243065, -0.121518, 0.962368) UV(0.129707, 0.793914) -V 3978: Pos(0.397445, -13.006702, 10.901332) Norm(0.154595, -0.043077, 0.987038) UV(0.142948, 0.81848) -V 3979: Pos(0.422204, -13.394543, 10.886303) Norm(0.290652, -0.034869, 0.956193) UV(0.102423, 0.454251) -V 3980: Pos(0.292455, -13.394832, 10.946735) Norm(0.681949, -0.054182, 0.72939) UV(0.097365, 0.454709) -V 3981: Pos(0.461181, -13.728933, 10.869245) Norm(0.270842, -0.060893, 0.960696) UV(0.102609, 0.442146) -V 3982: Pos(0.509774, -13.804028, 9.178466) Norm(0.341949, -0.477665, -0.809263) UV(0.332628, 0.810585) -V 3983: Pos(0.496603, -15.176327, 10.612765) Norm(-0.066497, -0.078288, 0.994711) UV(0.092011, 0.877222) -V 3984: Pos(0.463882, -15.174119, 10.608152) Norm(0.402277, -0.105275, 0.909445) UV(0.093008, 0.877812) -V 3985: Pos(0.218783, -16.310947, 10.527024) Norm(0.643747, -0.219998, 0.732933) UV(0.08879, 0.349184) -V 3986: Pos(0.634649, -17.508713, 10.486735) Norm(0.099203, -0.136538, 0.985655) UV(0.040353, 0.941569) -V 3987: Pos(0.318014, -17.649883, 10.417703) Norm(-0.465096, -0.065915, 0.882803) UV(0.046731, 0.952632) -V 3988: Pos(0.587842, -18.260746, 10.417665) Norm(0.172422, -0.125914, 0.976942) UV(0.026062, 0.964463) -V 3989: Pos(0.545319, -18.64419, 10.374501) Norm(0.174056, -0.140076, 0.974722) UV(0.019424, 0.976543) -V 3990: Pos(1.044242, -7.992638, 11.111403) Norm(0.072149, -0.376925, 0.923429) UV(0.278182, 0.624687) -V 3991: Pos(1.026526, -7.527957, 11.104234) Norm(-0.008774, 0.038146, 0.999234) UV(0.297598, 0.629927) -V 3992: Pos(0.680501, -7.576472, 11.102057) Norm(-0.005069, 0.047757, 0.998846) UV(0.293371, 0.643878) -V 3993: Pos(0.675811, -8.047741, 11.115379) Norm(0.082987, -0.287091, 0.954302) UV(0.270674, 0.641178) -V 3994: Pos(0.32497, -8.23473, 10.984883) Norm(0.85563, -0.329147, 0.399449) UV(0.254817, 0.658595) -V 3995: Pos(0.453833, -8.193819, 10.945643) Norm(0.536579, -0.768279, 0.349042) UV(0.254271, 0.651868) -V 3996: Pos(0.579247, -8.145466, 10.936614) Norm(0.409582, -0.912272, -0.001453) UV(0.25389, 0.643196) -V 3997: Pos(0.6444, -8.192849, 11.00651) Norm(0.211731, -0.924057, 0.318258) UV(0.260635, 0.641344) -V 3998: Pos(0.363395, -8.235925, 11.065187) Norm(0.46563, -0.702542, 0.538166) UV(0.259488, 0.660218) -V 3999: Pos(0.713745, -7.975519, 10.829988) Norm(0.438931, -0.119102, -0.890592) UV(0.249924, 0.62254) -V 4000: Pos(0.843481, -8.095817, 10.89316) Norm(0.221029, -0.463869, -0.857888) UV(0.260891, 0.626687) -V 4001: Pos(0.775953, -8.151918, 10.936614) Norm(0.206735, -0.850287, -0.484017) UV(0.260854, 0.632328) -V 4002: Pos(0.683888, -8.089314, 10.837792) Norm(0.511613, -0.619766, -0.595098) UV(0.249552, 0.631713) -V 4003: Pos(0.708623, -8.227393, 10.729417) Norm(0.777845, 0.128296, 0.615221) UV(0.234311, 0.63883) -V 4004: Pos(0.819555, -8.354883, 10.671727) Norm(0.62447, 0.395239, 0.673664) UV(0.223846, 0.644115) -V 4005: Pos(0.802926, -8.719995, 10.74529) Norm(0.641835, 0.426855, 0.637058) UV(0.218521, 0.663494) -V 4006: Pos(0.489802, -7.32883, 10.276046) Norm(0.723059, -0.239192, -0.648053) UV(0.229401, 0.591999) -V 4007: Pos(0.582189, -7.342097, 10.578309) Norm(0.351064, -0.924373, -0.149293) UV(0.238741, 0.594864) -V 4008: Pos(0.553136, -7.368873, 10.58026) Norm(0.904106, -0.335863, -0.264176) UV(0.238172, 0.596) -V 4009: Pos(0.369283, -8.353521, 11.046021) Norm(0.602907, 0.214404, 0.768462) UV(0.253236, 0.66483) -V 4010: Pos(0.431663, -8.741117, 11.048288) Norm(0.400889, 0.075741, 0.91299) UV(0.237637, 0.678394) -V 4011: Pos(0.489641, -19.040344, 10.324235) Norm(0.113241, -0.707936, 0.69714) UV(0.012722, 0.989272) -V 4012: Pos(0.465473, -19.037752, 10.073204) Norm(0.085389, -0.729265, -0.678882) UV(0.035839, 0.295046) -V 4013: Pos(0.263968, -19.037821, 10.251081) Norm(-0.694344, -0.637344, 0.334184) UV(0.028337, 0.289641) -V 4014: Pos(0.263428, -19.038101, 10.185481) Norm(-0.702502, -0.710886, -0.033634) UV(0.030534, 0.289123) -V 4015: Pos(0.283937, -19.038507, 10.090205) Norm(-0.519477, -0.623501, -0.584286) UV(0.033886, 0.289086) -V 4016: Pos(0.606782, -6.314691, 10.861187) Norm(0.534582, 0.835402, -0.127771) UV(0.258823, 0.550456) -V 4017: Pos(0.673607, -6.388943, 10.83286) Norm(0.813524, 0.479756, -0.328653) UV(0.258812, 0.554223) -V 4018: Pos(0.61277, -6.25221, 10.72152) Norm(0.928179, 0.349542, 0.127687) UV(0.253552, 0.550208) -V 4019: Pos(0.566288, -6.141716, 10.746528) Norm(0.595374, 0.484934, 0.6406) UV(0.252707, 0.54631) -V 4020: Pos(1.27833, -6.358179, 10.968492) Norm(-0.005799, 0.348014, 0.937471) UV(0.344285, 0.625881) -V 4021: Pos(1.003236, -6.375161, 10.969993) Norm(0.010552, 0.356269, 0.934324) UV(0.342705, 0.636335) -V 4022: Pos(1.025728, -6.715359, 11.022316) Norm(-0.000197, 0.137467, 0.990506) UV(0.329545, 0.634142) -V 4023: Pos(1.327411, -6.697659, 11.029477) Norm(-0.020448, 0.144941, 0.989229) UV(0.331441, 0.622685) -V 4024: Pos(0.489802, -7.32883, 10.276046) Norm(0.723059, -0.239192, -0.648053) UV(0.251192, 0.858291) -V 4025: Pos(0.576508, -6.750103, 10.303492) Norm(0.500897, 0.013884, -0.865396) UV(0.251862, 0.837973) -V 4026: Pos(0.741353, -6.719275, 10.347168) Norm(0.69432, 0.191642, -0.693681) UV(0.257576, 0.836317) -V 4027: Pos(0.847519, -7.388284, 10.271775) Norm(0.558232, -0.56554, -0.607076) UV(0.263509, 0.85894) -V 4028: Pos(0.648274, -8.121936, 10.79423) Norm(0.843733, -0.39647, 0.361836) UV(0.244339, 0.634238) -V 4029: Pos(0.283834, -8.263358, 11.080988) Norm(0.381961, -0.196897, 0.90296) UV(0.260629, 0.665681) -V 4030: Pos(0.804318, -15.105555, 10.701365) Norm(0.048215, -0.050662, 0.997551) UV(0.084295, 0.868769) -V 4031: Pos(0.603827, -7.352599, 10.71521) Norm(0.425985, -0.783319, -0.452712) UV(0.242178, 0.596752) -V 4032: Pos(0.591833, -7.405212, 10.71756) Norm(0.906709, -0.169684, -0.386117) UV(0.241902, 0.598152) -V 4033: Pos(1.345234, -7.168142, 11.087761) Norm(-0.01555, 0.090906, 0.995738) UV(0.313611, 0.619853) -V 4034: Pos(1.025728, -7.168142, 11.083803) Norm(-0.010617, 0.089935, 0.995891) UV(0.311878, 0.632046) -V 4035: Pos(1.345214, -7.576842, 11.109221) Norm(-0.00875, 0.030746, 0.999489) UV(0.298326, 0.617151) -V 4036: Pos(0.397445, -13.006702, 10.901332) Norm(0.154595, -0.043077, 0.987038) UV(0.102338, 0.468152) -V 4037: Pos(0.8462, -7.796192, 10.841178) Norm(0.10101, -0.141172, -0.984818) UV(0.255009, 0.61132) -V 4038: Pos(1.097959, -7.937413, 10.873955) Norm(0.031654, -0.310354, -0.950094) UV(0.267822, 0.612809) -V 4039: Pos(1.031935, -8.019276, 10.894547) Norm(0.126412, -0.431925, -0.893007) UV(0.267142, 0.617607) -V 4040: Pos(0.948272, -8.431429, 10.611705) Norm(0.583784, 0.476379, 0.657464) UV(0.215368, 0.646342) -V 4041: Pos(0.728756, -16.384779, 10.648664) Norm(0.029816, -0.073412, 0.996856) UV(0.060837, 0.907155) -V 4042: Pos(0.373259, -16.757023, 10.520564) Norm(-0.299958, -0.06985, 0.951392) UV(0.063468, 0.925339) -V 4043: Pos(0.682485, -16.888905, 10.582976) Norm(0.052186, -0.133194, 0.989715) UV(0.051878, 0.922396) -V 4044: Pos(0.731263, -18.71126, 10.254866) Norm(0.754315, -0.217324, 0.619499) UV(0.011444, 0.974541) -V 4045: Pos(0.644594, -19.018551, 10.249135) Norm(0.644384, -0.692458, 0.324455) UV(0.007891, 0.985369) -V 4046: Pos(0.86424, -18.260746, 10.24688) Norm(0.831754, -0.217635, 0.510707) UV(0.016208, 0.95852) -V 4047: Pos(1.206907, -9.08555, 10.706399) Norm(0.579804, 0.641036, 0.502892) UV(0.195352, 0.673396) -V 4048: Pos(1.223122, -9.275537, 10.769731) Norm(0.4118, 0.315184, 0.855032) UV(0.192298, 0.68179) -V 4049: Pos(1.239338, -9.465522, 10.833062) Norm(0.32988, 0.2199, 0.918054) UV(0.189254, 0.689948) -V 4050: Pos(1.388331, -9.184258, 10.659735) Norm(0.540954, 0.717356, 0.439055) UV(0.186183, 0.674647) -V 4051: Pos(0.067863, -13.243471, 11.473637) Norm(0.998519, 0.043837, 0.032226) UV(0.078326, 0.462409) -V 4052: Pos(0.012854, -12.610888, 11.619287) Norm(0.997913, 0.063975, 0.008812) UV(0.075563, 0.48268) -V 4053: Pos(0.93018, -17.543177, 10.37325) Norm(0.528222, -0.179885, 0.829833) UV(0.030104, 0.936388) -V 4054: Pos(0.98799, -16.932194, 10.468987) Norm(0.471976, -0.169556, 0.865153) UV(0.04148, 0.917504) -V 4055: Pos(0.77466, -15.815684, 10.654882) Norm(0.031926, -0.045139, 0.99847) UV(0.070909, 0.889962) -V 4056: Pos(1.008914, -8.918087, 10.681447) Norm(0.609895, 0.491665, 0.621526) UV(0.205613, 0.667709) -V 4057: Pos(1.3571, -8.835452, 10.512468) Norm(0.824266, 0.522224, 0.218788) UV(0.193366, 0.657548) -V 4058: Pos(1.147441, -15.078072, 10.572803) Norm(0.344301, -0.049958, 0.937529) UV(0.074095, 0.860761) -V 4059: Pos(1.117095, -15.833379, 10.551816) Norm(0.427824, -0.079463, 0.900363) UV(0.060031, 0.883451) -V 4060: Pos(1.033752, -17.534761, 10.272506) Norm(0.89844, -0.230732, 0.373588) UV(0.02571, 0.933632) -V 4061: Pos(0.906368, -9.06039, 10.851115) Norm(0.454245, 0.265916, 0.850265) UV(0.209497, 0.678909) -V 4062: Pos(1.163282, -16.977337, 10.330315) Norm(0.870486, -0.235218, 0.432351) UV(0.033892, 0.914896) -V 4063: Pos(1.274478, -16.556122, 10.330315) Norm(0.878794, -0.208099, 0.429437) UV(0.038889, 0.900441) -V 4064: Pos(1.049531, -16.439014, 10.5207) Norm(0.455691, -0.123344, 0.881551) UV(0.049812, 0.902199) -V 4065: Pos(1.030398, -8.966093, 10.756506) Norm(0.599026, 0.535771, 0.595077) UV(0.205238, 0.671844) -V 4066: Pos(1.691218, -10.557201, 10.787947) Norm(0.319335, 0.019909, 0.947433) UV(0.159243, 0.721664) -V 4067: Pos(1.669848, -9.995911, 10.781733) Norm(0.383136, 0.068865, 0.921121) UV(0.166529, 0.704147) -V 4068: Pos(1.335016, -7.933569, 11.111086) Norm(0.054231, -0.301157, 0.952031) UV(0.284973, 0.614305) -V 4069: Pos(1.312334, -7.999986, 11.068898) Norm(0.14162, -0.734171, 0.66403) UV(0.281749, 0.613863) -V 4070: Pos(0.986696, -8.442286, 10.563846) Norm(0.673686, 0.734431, -0.082208) UV(0.212479, 0.645488) -V 4071: Pos(0.789844, -8.301254, 10.626569) Norm(0.722077, 0.690777, -0.037844) UV(0.224528, 0.639685) -V 4072: Pos(1.406194, -8.938522, 10.501971) Norm(0.892385, 0.382483, 0.239489) UV(0.18951, 0.659565) -V 4073: Pos(1.518754, -9.240252, 10.483292) Norm(0.812963, 0.574665, -0.094082) UV(0.176526, 0.668207) -V 4074: Pos(1.313295, -9.009398, 10.339214) Norm(0.746223, 0.469444, -0.471988) UV(0.184645, 0.653549) -V 4075: Pos(1.493132, -12.400418, 10.7947) Norm(0.276022, -0.254164, 0.926937) UV(0.126352, 0.774714) -V 4076: Pos(1.342153, -12.66237, 10.717752) Norm(0.709735, -0.661293, 0.242834) UV(0.122184, 0.785843) -V 4077: Pos(1.569712, -12.497499, 10.712932) Norm(0.613729, -0.770221, 0.173481) UV(0.121084, 0.775077) -V 4078: Pos(1.245628, -7.688093, 10.816572) Norm(-0.163879, -0.172132, -0.971347) UV(0.268841, 0.601868) -V 4079: Pos(1.254184, -7.9052, 10.855486) Norm(-0.144869, -0.332018, -0.932082) UV(0.272003, 0.608382) -V 4080: Pos(1.145804, -7.703571, 10.837906) Norm(-0.070026, -0.165237, -0.983765) UV(0.265673, 0.603597) -V 4081: Pos(1.007283, -13.127293, 10.699453) Norm(0.815099, -0.328481, 0.477194) UV(0.117808, 0.806751) -V 4082: Pos(1.138472, -13.263322, 10.67575) Norm(0.235216, -0.034269, 0.971339) UV(0.111398, 0.808148) -V 4083: Pos(1.441824, -12.741263, 10.590595) Norm(0.260693, -0.037249, 0.964703) UV(0.111945, 0.786494) -V 4084: Pos(1.307659, -12.629505, 10.622917) Norm(0.738344, -0.550157, 0.390096) UV(0.118247, 0.785757) -V 4085: Pos(1.595067, -14.455397, 10.467563) Norm(0.436324, -0.098256, 0.894409) UV(0.073088, 0.833333) -V 4086: Pos(1.794261, -13.194789, 10.48543) Norm(0.417492, -0.065497, 0.906317) UV(0.092488, 0.792725) -V 4087: Pos(1.422429, -15.891846, 10.348961) Norm(0.874031, -0.178265, 0.451986) UV(0.047986, 0.87831) -V 4088: Pos(1.167639, -9.040765, 10.622972) Norm(0.604184, 0.525128, 0.599335) UV(0.196411, 0.668924) -V 4089: Pos(1.661377, -9.354946, 10.519536) Norm(0.490255, 0.794132, -0.359172) UV(0.168444, 0.67434) -V 4090: Pos(1.328054, -9.190729, 10.55649) Norm(0.623648, 0.631263, 0.461052) UV(0.186739, 0.669474) -V 4091: Pos(1.751589, -9.429537, 10.610997) Norm(0.54433, 0.573614, 0.612104) UV(0.165925, 0.68062) -V 4092: Pos(1.653658, -9.737015, 10.769185) Norm(0.423062, 0.1896, 0.886042) UV(0.16949, 0.695221) -V 4093: Pos(1.271641, -8.002198, 10.885482) Norm(-0.648414, -0.528993, -0.547472) UV(0.275219, 0.610063) -V 4094: Pos(0.783119, -18.260746, 10.041556) Norm(0.589494, -0.216922, -0.778101) UV(0.35241, 0.968043) -V 4095: Pos(0.945415, -17.428305, 9.968328) Norm(0.580661, -0.20519, -0.787864) UV(0.35693, 0.939277) -V 4096: Pos(1.032496, -17.477962, 10.073608) Norm(0.896964, -0.240931, -0.370684) UV(0.361445, 0.941427) -V 4097: Pos(0.862442, -18.278978, 10.137504) Norm(0.912953, -0.251326, -0.321484) UV(0.356576, 0.969163) -V 4098: Pos(1.43463, -9.18966, 10.381351) Norm(0.820992, 0.462105, -0.335307) UV(0.177515, 0.660583) -V 4099: Pos(1.596971, -9.465759, 10.339932) Norm(0.81926, 0.55879, -0.128714) UV(0.163317, 0.664846) -V 4100: Pos(1.718131, -9.64354, 10.389163) Norm(0.857967, 0.504826, -0.0951) UV(0.155887, 0.668673) -V 4101: Pos(1.710378, -9.642969, 9.994534) Norm(0.839099, 0.543956, 0.004995) UV(0.15063, 0.65565) -V 4102: Pos(1.656349, -9.56761, 9.977742) Norm(0.793026, 0.607371, -0.047013) UV(0.153465, 0.653574) -V 4103: Pos(1.849023, -12.000732, 10.76703) Norm(0.229102, -0.041112, 0.972534) UV(0.127552, 0.756028) -V 4104: Pos(2.036595, -12.072074, 10.711435) Norm(0.296158, -0.25188, 0.921329) UV(0.121386, 0.753266) -V 4105: Pos(1.947309, -11.210028, 10.70614) Norm(0.223263, 0.032725, 0.974209) UV(0.141711, 0.734952) -V 4106: Pos(1.748824, -11.221302, 10.781642) Norm(0.270314, 0.015353, 0.96265) UV(0.146794, 0.739079) -V 4107: Pos(1.527538, -15.395438, 10.352603) Norm(0.875286, -0.19023, 0.444621) UV(0.054846, 0.861699) -V 4108: Pos(1.458861, -15.331497, 10.400558) Norm(0.490423, -0.101782, 0.86552) UV(0.058579, 0.861372) -V 4109: Pos(1.832909, -12.185476, 10.742253) Norm(0.280254, -0.260625, 0.923868) UV(0.123301, 0.760698) -V 4110: Pos(1.598114, -12.402692, 10.564727) Norm(0.357903, -0.172445, 0.917697) UV(0.113681, 0.773305) -V 4111: Pos(1.580841, -12.378565, 10.600274) Norm(0.698272, -0.71533, 0.026823) UV(0.115323, 0.772763) -V 4112: Pos(1.802278, -9.439671, 10.569406) Norm(0.464528, 0.66038, 0.590011) UV(0.163165, 0.680245) -V 4113: Pos(1.804456, -9.43811, 10.514826) Norm(0.338674, 0.837532, -0.428766) UV(0.161887, 0.678325) -V 4114: Pos(1.853224, -12.966008, 10.473389) Norm(0.41802, -0.062637, 0.906276) UV(0.095187, 0.784874) -V 4115: Pos(1.547497, -15.153191, 9.869965) Norm(0.91461, -0.215538, -0.342098) UV(0.375672, 0.860675) -V 4116: Pos(1.472206, -14.981848, 9.697548) Norm(0.628007, -0.182824, -0.756427) UV(0.370142, 0.85407) -V 4117: Pos(1.674806, -14.372398, 9.790362) Norm(0.863706, -0.176876, -0.471939) UV(0.378775, 0.833789) -V 4118: Pos(1.706111, -9.642654, 9.77739) Norm(0.628983, 0.661143, 0.408988) UV(0.146859, 0.648513) -V 4119: Pos(1.782179, -9.596098, 9.704655) Norm(0.518464, 0.775524, 0.360218) UV(0.143832, 0.645442) -V 4120: Pos(1.506073, -9.415908, 9.667233) Norm(0.626747, 0.629282, -0.459556) UV(0.154753, 0.639171) -V 4121: Pos(1.692422, -9.669886, 9.618478) Norm(0.2865, 0.338307, -0.896363) UV(0.382575, 0.6681) -V 4122: Pos(1.506073, -9.415908, 9.667233) Norm(0.626747, 0.629282, -0.459556) UV(0.377728, 0.658398) -V 4123: Pos(1.758974, -9.593734, 9.661773) Norm(0.445125, 0.629254, -0.637105) UV(0.385359, 0.665575) -V 4124: Pos(1.798494, -12.156058, 10.561052) Norm(0.498398, -0.859455, 0.11374) UV(0.111822, 0.76303) -V 4125: Pos(1.705042, -12.225802, 10.562225) Norm(0.558374, -0.798243, 0.22589) UV(0.112839, 0.766473) -V 4126: Pos(1.91224, -12.612654, 10.474722) Norm(0.411991, -0.091007, 0.906632) UV(0.10031, 0.773673) -V 4127: Pos(1.976728, -12.283954, 10.483794) Norm(0.446267, -0.13954, 0.883954) UV(0.104502, 0.76324) -V 4128: Pos(0.025433, -7.955532, 11.137898) Norm(0.523053, 0.08997, 0.847538) UV(0.077775, 0.648122) -V 4129: Pos(-0.015804, -7.495818, 11.119686) Norm(0.52762, 0.090295, 0.844668) UV(0.075011, 0.664723) -V 4130: Pos(1.84365, -9.965091, 10.678426) Norm(0.351654, 0.11833, 0.928621) UV(0.160303, 0.701105) -V 4131: Pos(2.228784, -9.946285, 10.609207) Norm(0.122834, 0.127089, 0.984256) UV(0.148301, 0.698692) -V 4132: Pos(2.248468, -9.620587, 10.553886) Norm(0.229802, 0.525655, 0.819072) UV(0.14794, 0.688754) -V 4133: Pos(1.806906, -9.769486, 9.828421) Norm(0.648405, 0.656202, 0.385966) UV(0.142792, 0.65319) -V 4134: Pos(1.789051, -9.796637, 10.039325) Norm(0.75855, 0.650283, 0.041632) UV(0.145929, 0.65974) -V 4135: Pos(1.857576, -9.85483, 10.020202) Norm(0.55863, 0.826186, 0.073136) UV(0.142999, 0.660479) -V 4136: Pos(1.893866, -9.838591, 9.82445) Norm(0.510243, 0.722498, 0.466528) UV(0.139353, 0.654905) -V 4137: Pos(1.897073, -9.760721, 9.764094) Norm(0.380008, 0.550006, 0.743698) UV(0.139273, 0.651495) -V 4138: Pos(2.100923, -9.840553, 9.72998) Norm(0.504132, 0.74203, 0.441863) UV(0.131519, 0.653122) -V 4139: Pos(1.850284, -12.114196, 10.561384) Norm(0.394573, -0.844572, -0.361954) UV(0.111334, 0.760783) -V 4140: Pos(1.956371, -12.06806, 10.527814) Norm(0.807881, -0.546906, -0.219596) UV(0.109477, 0.757577) -V 4141: Pos(1.876372, -10.530775, 10.69096) Norm(0.287245, 0.042789, 0.956901) UV(0.153663, 0.718032) -V 4142: Pos(2.195514, -11.990829, 10.704931) Norm(0.260743, -0.275053, 0.925397) UV(0.119809, 0.747896) -V 4143: Pos(2.164228, -11.203824, 10.687927) Norm(0.089949, 0.025561, 0.995618) UV(0.136617, 0.73093) -V 4144: Pos(3.030072, -11.625453, 10.485364) Norm(0.510101, -0.859622, -0.029082) UV(0.112312, 0.721607) -V 4145: Pos(2.223417, -12.109606, 10.597438) Norm(0.514724, -0.85624, -0.043724) UV(0.115103, 0.749799) -V 4146: Pos(2.150896, -12.049461, 10.54399) Norm(0.150272, -0.38005, -0.912678) UV(0.111921, 0.7512) -V 4147: Pos(2.995492, -11.57448, 10.431709) Norm(0.142714, -0.404384, -0.903386) UV(0.11025, 0.721351) -V 4148: Pos(0.820374, -8.439331, 10.3913) Norm(0.654032, 0.670598, -0.350058) UV(0.210657, 0.635184) -V 4149: Pos(0.609911, -8.168641, 10.51627) Norm(0.851943, 0.456931, -0.255749) UV(0.22591, 0.625916) -V 4150: Pos(0.720163, -8.205711, 10.675238) Norm(0.87294, 0.48768, -0.01198) UV(0.231629, 0.635761) -V 4151: Pos(2.136724, -10.503183, 10.665097) Norm(0.108499, 0.051448, 0.992764) UV(0.14713, 0.714312) -V 4152: Pos(1.946521, -13.175342, 10.385448) Norm(0.885324, -0.144174, 0.442058) UV(0.087436, 0.788669) -V 4153: Pos(1.916174, -13.408341, 10.378344) Norm(0.893525, -0.160862, 0.419209) UV(0.083647, 0.796035) -V 4154: Pos(2.20038, -12.742928, 9.787264) Norm(0.697621, -0.499404, -0.513732) UV(0.398556, 0.777407) -V 4155: Pos(2.077575, -12.918606, 9.783612) Norm(0.772335, -0.626146, 0.106957) UV(0.394231, 0.783397) -V 4156: Pos(2.048209, -12.852532, 9.675258) Norm(0.606275, -0.445258, -0.65892) UV(0.391352, 0.779882) -V 4157: Pos(2.237879, -12.592721, 9.665867) Norm(0.637718, -0.48998, -0.594337) UV(0.39775, 0.770667) -V 4158: Pos(1.758974, -9.593734, 9.661773) Norm(0.445125, 0.629254, -0.637105) UV(0.143802, 0.643628) -V 4159: Pos(2.318836, -10.3075, 9.63063) Norm(0.140649, 0.004309, -0.99005) UV(0.402588, 0.691998) -V 4160: Pos(2.128493, -10.093182, 9.610175) Norm(0.184383, 0.128271, -0.974448) UV(0.396341, 0.684166) -V 4161: Pos(2.422098, -10.134243, 9.649328) Norm(0.276838, 0.297584, -0.913676) UV(0.406564, 0.686164) -V 4162: Pos(2.417578, -10.315073, 9.637736) Norm(0.089927, 0.006048, -0.99593) UV(0.406003, 0.69246) -V 4163: Pos(3.30624, -11.100297, 10.561359) Norm(0.123894, 0.016455, 0.992159) UV(0.120579, 0.712178) -V 4164: Pos(2.798748, -11.153721, 10.621688) Norm(0.109895, 0.021382, 0.993713) UV(0.125679, 0.719738) -V 4165: Pos(2.917047, -11.5569, 10.610034) Norm(0.288234, -0.292904, 0.911663) UV(0.116581, 0.723612) -V 4166: Pos(3.348191, -11.305372, 10.556713) Norm(0.288454, -0.298956, 0.909626) UV(0.117394, 0.713206) -V 4167: Pos(2.089622, -12.176467, 10.416687) Norm(0.905091, -0.139699, 0.401615) UV(0.102534, 0.758278) -V 4168: Pos(2.096027, -11.909833, 10.436028) Norm(0.591715, -0.649197, 0.477929) UV(0.105697, 0.750754) -V 4169: Pos(2.061578, -11.945573, 10.521354) Norm(0.711024, -0.621648, -0.32863) UV(0.108057, 0.752248) -V 4170: Pos(2.017454, -12.113234, 10.489515) Norm(0.586075, -0.177934, 0.790478) UV(0.106421, 0.757825) -V 4171: Pos(2.067414, -12.379873, 10.396976) Norm(0.896078, -0.153373, 0.416559) UV(0.099449, 0.764017) -V 4172: Pos(2.253647, -12.659753, 9.837851) Norm(0.273064, -0.352929, 0.894917) UV(0.075132, 0.757649) -V 4173: Pos(2.032037, -12.59893, 9.860486) Norm(0.60176, -0.246542, 0.759672) UV(0.080775, 0.762267) -V 4174: Pos(1.885642, -13.136658, 9.781243) Norm(0.876022, -0.40729, 0.258263) UV(0.067967, 0.778207) -V 4175: Pos(2.008092, -12.766568, 10.394522) Norm(0.883642, -0.147469, 0.44433) UV(0.093943, 0.775848) -V 4176: Pos(1.983245, -12.736666, 9.9058) Norm(0.97608, -0.213038, 0.043396) UV(0.079591, 0.767281) -V 4177: Pos(2.035797, -12.472841, 9.970595) Norm(0.9788, -0.191292, 0.073198) UV(0.085909, 0.760829) -V 4178: Pos(2.095299, -12.083374, 10.175799) Norm(0.822357, -0.534792, 0.194234) UV(0.09652, 0.752831) -V 4179: Pos(2.205964, -12.055745, 10.167423) Norm(0.271334, -0.910397, 0.312338) UV(0.09634, 0.749237) -V 4180: Pos(2.089579, -12.141628, 10.106615) Norm(0.976001, -0.200005, 0.086136) UV(0.093921, 0.753877) -V 4181: Pos(2.666235, -10.063347, 10.572745) Norm(0.105096, 0.121084, 0.987063) UV(0.137249, 0.700705) -V 4182: Pos(3.15237, -10.060001, 10.521699) Norm(0.11071, 0.129142, 0.985427) UV(0.128559, 0.700723) -V 4183: Pos(3.03161, -9.864157, 10.502254) Norm(0.1671, 0.436663, 0.88397) UV(0.129778, 0.697327) -V 4184: Pos(2.646401, -9.75007, 10.529536) Norm(0.192333, 0.449542, 0.872307) UV(0.137221, 0.693349) -V 4185: Pos(2.046996, -12.453196, 9.89397) Norm(0.653735, -0.263994, 0.709181) UV(0.084211, 0.759037) -V 4186: Pos(2.097913, -12.239388, 9.926642) Norm(0.624197, -0.306875, 0.718475) UV(0.088255, 0.753966) -V 4187: Pos(2.129061, -12.083374, 9.988599) Norm(0.566426, -0.678554, 0.467682) UV(0.091568, 0.751271) -V 4188: Pos(2.497031, -12.385485, 9.885464) Norm(0.134547, -0.250506, 0.95872) UV(0.078736, 0.746481) -V 4189: Pos(2.542508, -12.24355, 9.76733) Norm(0.714575, -0.51116, -0.477596) UV(0.074694, 0.740739) -V 4190: Pos(2.528616, -12.397696, 9.874467) Norm(0.720035, -0.654085, 0.231782) UV(0.077848, 0.745808) -V 4191: Pos(2.318322, -12.63625, 9.837485) Norm(0.71247, -0.648372, 0.268329) UV(0.07468, 0.755468) -V 4192: Pos(2.397274, -12.467001, 9.786224) Norm(0.700128, -0.510341, -0.499372) UV(0.073682, 0.749278) -V 4193: Pos(2.06219, -9.804996, 9.66156) Norm(0.482, 0.64334, -0.594802) UV(0.394948, 0.673894) -V 4194: Pos(2.403168, -10.05141, 9.688941) Norm(0.572887, 0.733354, -0.36605) UV(0.406402, 0.682908) -V 4195: Pos(2.411586, -10.069489, 9.752176) Norm(0.527318, 0.749503, 0.400227) UV(0.120631, 0.66158) -V 4196: Pos(2.585526, -10.203206, 9.747971) Norm(0.616315, 0.727875, 0.300589) UV(0.114445, 0.666557) -V 4197: Pos(2.605924, -10.211595, 9.702301) Norm(0.631793, 0.722252, -0.281408) UV(0.112718, 0.66585) -V 4198: Pos(2.403168, -10.05141, 9.688941) Norm(0.572887, 0.733354, -0.36605) UV(0.119716, 0.659341) -V 4199: Pos(2.060045, -12.216958, 10.627561) Norm(0.498024, -0.867143, 0.005931) UV(0.116661, 0.755804) -V 4200: Pos(2.764457, -11.700101, 10.346353) Norm(0.514348, -0.693615, 0.504325) UV(0.103481, 0.729206) -V 4201: Pos(2.810172, -11.886867, 10.121688) Norm(0.609702, -0.751706, 0.2514) UV(0.094425, 0.731035) -V 4202: Pos(2.712911, -10.479422, 10.610777) Norm(0.102533, 0.063143, 0.992723) UV(0.13477, 0.709096) -V 4203: Pos(2.26887, -12.055745, 9.981318) Norm(0.258742, -0.806963, 0.530907) UV(0.090698, 0.747635) -V 4204: Pos(2.810336, -11.858734, 9.977242) Norm(0.56351, -0.524835, 0.637969) UV(0.0898, 0.729615) -V 4205: Pos(2.372178, -12.110918, 9.927185) Norm(0.10997, -0.311531, 0.943851) UV(0.087712, 0.745782) -V 4206: Pos(2.850361, -11.974414, 9.926496) Norm(0.398034, -0.341479, 0.851446) UV(0.085265, 0.73057) -V 4207: Pos(2.678021, -12.188134, 9.914747) Norm(0.239041, -0.316811, 0.917873) UV(0.081768, 0.738672) -V 4208: Pos(2.90848, -11.133887, 9.631636) Norm(-0.274473, -0.001746, -0.961593) UV(0.420782, 0.721548) -V 4209: Pos(2.775228, -11.133887, 9.66107) Norm(-0.127295, 0.006625, -0.991843) UV(0.416365, 0.721213) -V 4210: Pos(2.7451, -10.638601, 9.654922) Norm(-0.130978, -0.054024, -0.989912) UV(0.416625, 0.704421) -V 4211: Pos(2.852712, -10.588465, 9.628172) Norm(-0.082291, 0.072777, -0.993948) UV(0.420558, 0.702941) -V 4212: Pos(2.680019, -12.05131, 9.770644) Norm(0.721994, -0.524003, -0.451824) UV(0.076922, 0.733172) -V 4213: Pos(2.731735, -12.047046, 9.831679) Norm(0.625476, -0.44688, -0.639592) UV(0.079572, 0.732861) -V 4214: Pos(2.711566, -12.185535, 9.893526) Norm(0.775866, -0.625261, 0.084144) UV(0.081066, 0.73762) -V 4215: Pos(2.864019, -11.641424, 10.311417) Norm(0.799243, -0.466654, 0.378742) UV(0.102503, 0.725492) -V 4216: Pos(2.854831, -11.746284, 10.124917) Norm(0.895547, -0.409268, 0.174628) UV(0.095785, 0.72691) -V 4217: Pos(2.906054, -11.530141, 10.333027) Norm(0.8179, -0.485152, 0.309301) UV(0.104106, 0.722192) -V 4218: Pos(3.271931, -11.071762, 10.377054) Norm(0.74775, -0.324098, -0.579509) UV(0.109022, 0.706164) -V 4219: Pos(2.904011, -11.460775, 10.404913) Norm(0.677396, -0.628678, -0.381967) UV(0.106702, 0.721117) -V 4220: Pos(2.74521, -11.621471, 10.440938) Norm(0.438265, -0.834991, -0.332738) UV(0.107821, 0.728402) -V 4221: Pos(2.854361, -11.523964, 10.43109) Norm(0.658652, -0.645979, -0.385862) UV(0.107158, 0.723479) -V 4222: Pos(3.236328, -10.43214, 10.551233) Norm(0.117886, 0.065679, 0.990853) UV(0.127147, 0.705739) -V 4223: Pos(2.984262, -10.756116, 9.591293) Norm(0.078315, 0.102924, -0.991601) UV(0.424645, 0.70911) -V 4224: Pos(2.91656, -11.577749, 10.11306) Norm(0.882293, -0.466584, 0.062113) UV(0.097049, 0.721412) -V 4225: Pos(2.876137, -11.728063, 9.631042) Norm(0.461678, -0.373595, -0.804537) UV(0.419935, 0.740358) -V 4226: Pos(2.887621, -11.578018, 9.623493) Norm(-0.159887, -0.001776, -0.987134) UV(0.419462, 0.73501) -V 4227: Pos(3.051236, -11.538223, 9.599883) Norm(0.321733, -0.155539, -0.933968) UV(0.423746, 0.73333) -V 4228: Pos(2.986353, -11.772637, 9.921839) Norm(0.608665, -0.295552, 0.736326) UV(0.087515, 0.723065) -V 4229: Pos(3.094619, -11.533579, 9.917492) Norm(0.637038, -0.271469, 0.721448) UV(0.090346, 0.715369) -V 4230: Pos(2.923056, -11.607186, 9.977052) Norm(0.76112, -0.379992, 0.525644) UV(0.092816, 0.720941) -V 4231: Pos(2.864609, -11.727432, 9.978444) Norm(0.775854, -0.324685, 0.540952) UV(0.091558, 0.724936) -V 4232: Pos(3.759721, -10.418373, 10.482132) Norm(0.139401, 0.064759, 0.988116) UV(0.122391, 0.704236) -V 4233: Pos(3.713972, -9.96978, 10.444189) Norm(0.132421, 0.449617, 0.883351) UV(0.122554, 0.70131) -V 4234: Pos(3.885428, -10.997784, 10.482132) Norm(0.296557, -0.259815, 0.918994) UV(0.119095, 0.705654) -V 4235: Pos(2.969179, -11.546509, 9.974909) Norm(0.726966, -0.45552, 0.51383) UV(0.093245, 0.718627) -V 4236: Pos(2.542186, -12.172229, 9.648364) Norm(0.46926, -0.341405, -0.814394) UV(0.408095, 0.755907) -V 4237: Pos(2.687602, -11.978821, 9.640821) Norm(0.445461, -0.362606, -0.818585) UV(0.413184, 0.749203) -V 4238: Pos(2.73839, -11.969585, 9.766771) Norm(0.739301, -0.553562, -0.383411) UV(0.417503, 0.750996) -V 4239: Pos(2.680019, -12.05131, 9.770644) Norm(0.721994, -0.524003, -0.451824) UV(0.415462, 0.753785) -V 4240: Pos(2.542508, -12.24355, 9.76733) Norm(0.714575, -0.51116, -0.477596) UV(0.410348, 0.760161) -V 4241: Pos(2.782417, -11.971707, 9.828241) Norm(0.647568, -0.471195, -0.598858) UV(0.080443, 0.730002) -V 4242: Pos(2.938677, -11.739429, 9.817639) Norm(0.731051, -0.481086, -0.48386) UV(0.083569, 0.721386) -V 4243: Pos(2.981399, -11.807811, 9.89884) Norm(0.852581, -0.521858, -0.027749) UV(0.08636, 0.723784) -V 4244: Pos(2.873656, -11.985428, 9.900023) Norm(0.812, -0.582862, -0.030468) UV(0.084195, 0.730022) -V 4245: Pos(2.639994, -9.69172, 10.468014) Norm(0.248554, 0.944797, -0.213495) UV(0.136758, 0.691337) -V 4246: Pos(2.256789, -9.575517, 10.492373) Norm(0.286818, 0.907001, -0.308357) UV(0.14699, 0.686623) -V 4247: Pos(3.709689, -9.917847, 10.376956) Norm(0.078658, 0.996849, -0.010257) UV(0.122236, 0.700858) -V 4248: Pos(3.274176, -9.834526, 10.415021) Norm(0.165778, 0.985978, -0.01913) UV(0.125842, 0.698105) -V 4249: Pos(3.066489, -9.796011, 10.430256) Norm(0.173836, 0.978672, -0.109464) UV(0.128482, 0.696092) -V 4250: Pos(4.422268, -9.900102, 10.343817) Norm(0.197235, 0.56952, 0.797963) UV(0.120589, 0.702637) -V 4251: Pos(4.066748, -9.940458, 10.391211) Norm(0.082131, 0.540525, 0.83731) UV(0.121123, 0.702208) -V 4252: Pos(4.16161, -10.462249, 10.41915) Norm(0.149992, 0.05491, 0.987161) UV(0.120675, 0.703425) -V 4253: Pos(4.422268, -10.451326, 10.381976) Norm(0.362542, 0.041323, 0.931051) UV(0.120292, 0.70309) -V 4254: Pos(4.189685, -10.795758, 10.430723) Norm(0.300606, -0.207045, 0.931004) UV(0.119937, 0.703925) -V 4255: Pos(4.422268, -10.464588, 10.298527) Norm(0.328568, -0.006779, -0.944456) UV(0.120123, 0.70298) -V 4256: Pos(4.474373, -10.460518, 10.339834) Norm(0.999868, 0.013305, 0.00935) UV(0.120195, 0.703033) -V 4257: Pos(4.474373, -10.62731, 10.345407) Norm(0.99308, -0.100143, 0.06135) UV(0.120053, 0.703221) -V 4258: Pos(4.422268, -10.675086, 10.298527) Norm(0.382755, -0.163434, -0.909279) UV(0.119918, 0.703225) -V 4259: Pos(3.531139, -11.312376, 10.44697) Norm(0.535829, -0.842386, 0.057209) UV(0.115994, 0.710182) -V 4260: Pos(4.22033, -10.898594, 10.364237) Norm(0.571791, -0.820399, 0.000507) UV(0.119547, 0.70378) -V 4261: Pos(3.885669, -11.085231, 10.412179) Norm(0.54259, -0.837067, 0.070107) UV(0.118266, 0.705547) -V 4262: Pos(4.428627, -10.644031, 10.378421) Norm(0.440089, -0.145423, 0.8861) UV(0.120094, 0.703304) -V 4263: Pos(4.152247, -10.81434, 10.288183) Norm(0.099583, -0.284227, -0.953571) UV(0.11927, 0.703488) -V 4264: Pos(4.449333, -10.721109, 10.330832) Norm(0.789623, -0.609689, -0.069098) UV(0.119961, 0.703316) -V 4265: Pos(0.13069, -11.946148, 8.777954) Norm(0.112576, -0.011415, -0.993578) UV(0.197141, 0.180092) -V 4266: Pos(0.13069, -12.382905, 8.789777) Norm(0.415302, -0.048259, -0.908403) UV(0.197141, 0.165019) -V 4267: Pos(-0.226319, -12.382905, 8.813573) Norm(-0.066687, -0.039235, -0.997002) UV(0.209486, 0.164993) -V 4268: Pos(-0.226319, -11.946148, 8.812037) Norm(-0.074452, -0.014173, -0.997124) UV(0.209502, 0.180056) -V 4269: Pos(-0.017555, -16.276228, 9.83554) Norm(0.384832, -0.150412, -0.910648) UV(0.124425, 0.493039) -V 4270: Pos(-0.259852, -16.261761, 9.718607) Norm(0.266158, -0.116672, -0.956843) UV(0.133895, 0.494757) -V 4271: Pos(-0.248435, -15.109277, 9.60224) Norm(0.177695, -0.109479, -0.977977) UV(0.131017, 0.535541) -V 4272: Pos(-0.210349, -8.249635, 9.772346) Norm(0.022361, 0.365298, -0.930622) UV(0.223576, 0.894396) -V 4273: Pos(-0.210349, -8.035152, 9.88095) Norm(0.038625, 0.338212, -0.940277) UV(0.223604, 0.885962) -V 4274: Pos(0.109277, -8.035152, 9.891067) Norm(0.070337, 0.366269, -0.927847) UV(0.234872, 0.885885) -V 4275: Pos(0.109277, -8.249635, 9.782836) Norm(0.021662, 0.382288, -0.923789) UV(0.234753, 0.894318) -V 4276: Pos(-0.386986, -5.629778, 10.543036) Norm(-0.001033, 0.587912, 0.808924) UV(0.244945, 0.508317) -V 4277: Pos(-0.434408, -5.216838, 10.85706) Norm(0.180142, 0.427699, -0.885789) UV(0.27799, 0.506895) -V 4278: Pos(-0.386986, -5.868718, 10.77104) Norm(0.028807, 0.831212, -0.555208) UV(0.255809, 0.508312) -V 4279: Pos(-0.117653, -5.669748, 10.922654) Norm(0.940071, 0.31232, 0.136831) UV(0.066913, 0.731487) -V 4280: Pos(-0.059636, -5.927032, 10.959153) Norm(0.778791, 0.380873, 0.498418) UV(0.069721, 0.722165) -V 4281: Pos(-0.247493, -5.772871, 10.659025) Norm(-0.239695, 0.671399, 0.701263) UV(0.251137, 0.51296) -V 4282: Pos(-0.247493, -5.629776, 10.543036) Norm(-0.175931, 0.620646, 0.764099) UV(0.244836, 0.512911) -V 4283: Pos(-0.210349, -6.100002, 10.330626) Norm(-0.031674, 0.17954, -0.983241) UV(0.222525, 0.816558) -V 4284: Pos(-0.210349, -5.498949, 10.374091) Norm(-0.111212, 0.650359, -0.751442) UV(0.222321, 0.796225) -V 4285: Pos(0.109277, -5.436759, 10.360969) Norm(-0.271447, 0.575591, -0.77137) UV(0.233111, 0.794063) -V 4286: Pos(0.109277, -6.049315, 10.323895) Norm(-0.145742, 0.131732, -0.980513) UV(0.233252, 0.814671) -V 4287: Pos(-0.210349, -8.51499, 9.69622) Norm(0.007982, 0.124049, -0.992244) UV(0.223595, 0.904023) -V 4288: Pos(0.109277, -8.51499, 9.69622) Norm(0.007196, 0.140979, -0.989986) UV(0.234681, 0.904034) -V 4289: Pos(-0.210349, -6.810968, 10.148752) Norm(0.055832, 0.219926, -0.973918) UV(0.223098, 0.841756) -V 4290: Pos(-0.210349, -6.254771, 10.283937) Norm(-0.000942, 0.266742, -0.963768) UV(0.22265, 0.822046) -V 4291: Pos(-0.210349, -7.55182, 9.990015) Norm(0.060922, 0.219587, -0.973689) UV(0.223535, 0.868437) -V 4292: Pos(-0.210349, -7.295634, 10.047823) Norm(0.076074, 0.211609, -0.974389) UV(0.223437, 0.859137) -V 4293: Pos(0.109277, -7.543304, 10.013251) Norm(0.147401, 0.248376, -0.957383) UV(0.234956, 0.867875) -V 4294: Pos(0.375903, -11.133887, 8.774108) Norm(-0.002022, -0.000552, -0.999998) UV(0.325333, 0.717982) -V 4295: Pos(0.352365, -11.946148, 8.774108) Norm(-0.012898, -0.00436, -0.999907) UV(0.324432, 0.74596) -V 4296: Pos(0.13069, -11.946148, 8.777954) Norm(0.112576, -0.011415, -0.993578) UV(0.316836, 0.745947) -V 4297: Pos(0.130689, -11.133887, 8.774108) Norm(-0.030997, -0.007464, -0.999492) UV(0.31689, 0.717992) -V 4298: Pos(-0.255748, -16.724285, 9.760915) Norm(0.344959, -0.157676, -0.925279) UV(0.135232, 0.47885) -V 4299: Pos(-0.255748, -17.354906, 9.907699) Norm(0.434727, -0.379823, -0.816546) UV(0.137745, 0.458952) -V 4300: Pos(0.205014, -13.131918, 11.083632) Norm(0.707929, -0.027119, 0.705763) UV(0.092519, 0.464467) -V 4301: Pos(0.193351, -13.45626, 11.070753) Norm(0.693442, -0.061209, 0.717907) UV(0.091273, 0.453358) -V 4302: Pos(0.109277, -6.255075, 10.282701) Norm(-0.10313, 0.188249, -0.976692) UV(0.23352, 0.821742) -V 4303: Pos(-0.203022, -13.601337, 8.924864) Norm(0.000938, -0.661715, -0.749755) UV(0.208857, 0.122888) -V 4304: Pos(-0.240439, -13.748554, 9.520744) Norm(0.04079, -0.611956, -0.789839) UV(0.210017, 0.101851) -V 4305: Pos(-0.208481, -5.431247, 10.8993) Norm(0.889722, 0.410839, -0.199013) UV(0.062761, 0.739802) -V 4306: Pos(-0.247493, -5.868717, 10.77104) Norm(-0.162391, 0.857525, -0.48814) UV(0.25571, 0.512617) -V 4307: Pos(-0.247493, -5.860601, 10.739367) Norm(-0.306301, 0.859075, 0.410084) UV(0.254732, 0.512673) -V 4308: Pos(-0.117653, -5.669748, 10.922654) Norm(0.940071, 0.31232, 0.136831) UV(0.264957, 0.518811) -V 4309: Pos(-0.140888, -5.769064, 10.839827) Norm(0.683642, 0.584497, -0.437032) UV(0.258448, 0.518349) -V 4310: Pos(-0.208481, -5.431247, 10.8993) Norm(0.889722, 0.410839, -0.199013) UV(0.271148, 0.515001) -V 4311: Pos(-0.105367, -5.752596, 10.768215) Norm(0.007285, 0.728708, 0.684786) UV(0.254124, 0.520229) -V 4312: Pos(0.259324, -6.541738, 10.215596) Norm(-0.056965, 0.114639, -0.991773) UV(0.239076, 0.831595) -V 4313: Pos(0.301668, -6.295385, 10.235296) Norm(-0.169463, 0.107894, -0.979613) UV(0.240253, 0.823102) -V 4314: Pos(0.414972, -6.28274, 10.215018) Norm(0.327987, 0.117147, -0.93739) UV(0.244118, 0.822591) -V 4315: Pos(0.454851, -6.449798, 10.215072) Norm(0.406541, 0.141846, -0.902554) UV(0.245623, 0.828179) -V 4316: Pos(0.008978, -16.724285, 9.982242) Norm(0.401448, -0.217201, -0.889755) UV(0.123746, 0.476057) -V 4317: Pos(0.130161, -17.361893, 10.274363) Norm(0.628363, -0.777182, 0.033871) UV(0.12219, 0.451007) -V 4318: Pos(0.039028, -17.152201, 10.154994) Norm(0.517202, -0.351306, -0.78044) UV(0.124273, 0.459716) -V 4319: Pos(0.061934, -8.259396, 11.136215) Norm(0.576998, 0.029325, 0.816219) UV(0.080001, 0.637203) -V 4320: Pos(0.127274, -13.121551, 8.863171) Norm(0.456925, -0.116072, -0.8819) UV(0.197364, 0.139411) -V 4321: Pos(0.123932, -13.601337, 8.935) Norm(0.296787, -0.538673, -0.788511) UV(0.19764, 0.12269) -V 4322: Pos(-0.226319, -13.124526, 8.869218) Norm(-0.019646, -0.094914, -0.995292) UV(0.209544, 0.139359) -V 4323: Pos(0.187778, -17.340864, 10.259338) Norm(-0.925035, -0.342971, 0.163341) UV(0.120054, 0.45159) -V 4324: Pos(0.191682, -6.16066, 10.950506) Norm(0.382372, 0.740861, 0.552193) UV(0.261923, 0.536469) -V 4325: Pos(0.638489, -6.287322, 10.923629) Norm(0.195825, 0.964583, 0.176729) UV(0.261253, 0.550441) -V 4326: Pos(0.329143, -5.471021, 10.319918) Norm(-0.182452, 0.154841, -0.970946) UV(0.240633, 0.795291) -V 4327: Pos(0.315095, -5.892511, 10.276651) Norm(-0.240377, 0.09886, -0.965632) UV(0.240342, 0.809479) -V 4328: Pos(0.183185, -9.182344, 11.112895) Norm(0.593871, 0.060561, 0.802277) UV(0.087083, 0.604162) -V 4329: Pos(0.257793, -9.68861, 11.091059) Norm(0.576325, 0.047715, 0.815826) UV(0.091409, 0.585977) -V 4330: Pos(-0.074387, -12.550453, 11.76961) Norm(0.407671, 0.007275, 0.9131) UV(0.069696, 0.484923) -V 4331: Pos(0.01735, -12.550453, 11.662568) Norm(0.956693, 0.039418, 0.288417) UV(0.074153, 0.484647) -V 4332: Pos(-0.036911, -14.616964, 11.115097) Norm(0.858464, -0.301815, 0.414666) UV(0.077043, 0.413136) -V 4333: Pos(0.010878, -14.44124, 11.161957) Norm(0.952077, -0.238543, 0.191433) UV(0.078449, 0.420057) -V 4334: Pos(-0.036025, -16.901318, 9.992834) Norm(0.548915, -0.24759, -0.798368) UV(0.126322, 0.470191) -V 4335: Pos(0.313221, -5.330895, 10.351089) Norm(-0.168609, 0.758717, -0.629222) UV(0.240005, 0.790464) -V 4336: Pos(0.404019, -7.564707, 10.106297) Norm(0.572646, 0.251883, -0.780149) UV(0.246079, 0.867661) -V 4337: Pos(0.190636, -12.610888, 11.088865) Norm(0.660613, -0.061627, 0.748193) UV(0.092828, 0.481773) -V 4338: Pos(0.08087, -13.533645, 11.442239) Norm(0.962969, -0.077897, 0.258113) UV(0.077697, 0.452938) -V 4339: Pos(0.070073, -13.525674, 11.403976) Norm(0.998421, -0.013279, 0.054577) UV(0.079026, 0.45295) -V 4340: Pos(1.398043, -12.617983, 9.382049) Norm(0.474541, -0.037853, -0.879419) UV(0.366457, 0.770567) -V 4341: Pos(1.450713, -13.025769, 9.43911) Norm(0.437737, -0.133682, -0.88911) UV(0.368316, 0.785121) -V 4342: Pos(1.119762, -13.071664, 9.243257) Norm(0.493622, -0.171146, -0.85267) UV(0.354645, 0.785752) -V 4343: Pos(0.193351, -13.45626, 11.070753) Norm(0.693442, -0.061209, 0.717907) UV(0.049558, 0.214902) -V 4344: Pos(0.070073, -13.525674, 11.403976) Norm(0.998421, -0.013279, 0.054577) UV(0.037108, 0.215229) -V 4345: Pos(0.064002, -13.931129, 11.300824) Norm(0.9945, -0.063681, 0.083153) UV(0.037251, 0.200835) -V 4346: Pos(0.15586, -13.833342, 11.069529) Norm(0.697915, -0.071096, 0.712643) UV(0.046337, 0.202269) -V 4347: Pos(0.069367, -13.943139, 11.332123) Norm(0.952296, -0.127571, 0.277234) UV(0.078202, 0.438754) -V 4348: Pos(0.048199, -14.167484, 11.272739) Norm(0.931493, -0.185121, 0.31313) UV(0.078031, 0.430696) -V 4349: Pos(0.045928, -14.168096, 11.238145) Norm(0.980288, -0.131597, 0.147369) UV(0.079192, 0.430292) -V 4350: Pos(0.064002, -13.931129, 11.300824) Norm(0.9945, -0.063681, 0.083153) UV(0.07936, 0.438872) -V 4351: Pos(-0.038085, -14.160269, 11.371373) Norm(0.401057, -0.308845, 0.86242) UV(0.073573, 0.431761) -V 4352: Pos(0.142244, -12.023941, 11.318316) Norm(0.735168, -0.160189, 0.658687) UV(0.051905, 0.26491) -V 4353: Pos(0.031923, -11.675451, 11.495037) Norm(0.905586, -0.209101, 0.369039) UV(0.047614, 0.278203) -V 4354: Pos(0.017259, -12.035993, 11.62269) Norm(0.998754, -0.034547, 0.036025) UV(0.040764, 0.266957) -V 4355: Pos(-0.03612, -13.961123, 11.437797) Norm(0.398372, -0.278089, 0.874051) UV(0.073121, 0.438892) -V 4356: Pos(0.181844, -16.6546, 9.979042) Norm(-0.309848, -0.187141, -0.932187) UV(0.117261, 0.478087) -V 4357: Pos(0.265827, -16.764282, 9.902725) Norm(-0.625172, -0.08819, -0.775489) UV(0.11265, 0.474633) -V 4358: Pos(0.413981, -5.330895, 10.349476) Norm(0.52707, 0.690829, -0.494927) UV(0.232184, 0.531741) -V 4359: Pos(0.313221, -5.330895, 10.351089) Norm(-0.168609, 0.758717, -0.629222) UV(0.231841, 0.528746) -V 4360: Pos(0.123932, -13.601337, 8.935) Norm(0.296787, -0.538673, -0.788511) UV(0.31771, 0.802161) -V 4361: Pos(0.351967, -13.584673, 8.987967) Norm(0.213517, -0.398391, -0.892017) UV(0.325683, 0.801595) -V 4362: Pos(0.201775, -16.256882, 9.914383) Norm(-0.297183, -0.154581, -0.942224) UV(0.116107, 0.492913) -V 4363: Pos(-0.210349, -9.214898, 9.597691) Norm(0.0, 0.316904, -0.948458) UV(0.223704, 0.928817) -V 4364: Pos(0.109277, -9.214898, 9.597691) Norm(0.0, 0.316904, -0.948458) UV(0.234696, 0.928777) -V 4365: Pos(0.109277, -9.530691, 9.491154) Norm(0.0, 0.407393, -0.913253) UV(0.234723, 0.94022) -V 4366: Pos(-0.210349, -9.530691, 9.491154) Norm(0.0, 0.407392, -0.913253) UV(0.223765, 0.940263) -V 4367: Pos(0.123932, -13.601337, 8.935) Norm(0.296787, -0.538673, -0.788511) UV(0.098022, 0.593735) -V 4368: Pos(0.73841, -13.73636, 9.255897) Norm(0.501952, -0.386149, -0.773907) UV(0.341089, 0.80873) -V 4369: Pos(0.902155, -14.008664, 9.503461) Norm(0.257062, -0.24511, -0.934794) UV(0.349203, 0.820309) -V 4370: Pos(1.071629, -15.757146, 9.700528) Norm(0.236521, -0.136089, -0.962049) UV(0.357451, 0.88107) -V 4371: Pos(0.96162, -16.414995, 9.738705) Norm(0.261792, -0.129865, -0.956347) UV(0.35436, 0.903786) -V 4372: Pos(0.552837, -16.377426, 9.725335) Norm(-0.180242, -0.10598, -0.977896) UV(0.340351, 0.90308) -V 4373: Pos(0.481767, -15.628141, 9.649933) Norm(-0.119088, -0.119975, -0.985608) UV(0.336904, 0.877349) -V 4374: Pos(0.281655, -16.362818, 9.850606) Norm(-0.569876, -0.104964, -0.814999) UV(0.112263, 0.489354) -V 4375: Pos(0.523212, -5.7632, 10.386906) Norm(0.907126, 0.174989, -0.382754) UV(0.238024, 0.541092) -V 4376: Pos(0.480037, -5.646367, 10.532852) Norm(0.956083, 0.234554, 0.175755) UV(0.239679, 0.536487) -V 4377: Pos(0.520993, -6.418467, 10.31621) Norm(0.581125, 0.157377, -0.798452) UV(0.249497, 0.826551) -V 4378: Pos(0.579095, -6.621024, 10.303492) Norm(0.548956, 0.094653, -0.830474) UV(0.25149, 0.833474) -V 4379: Pos(-0.059636, -5.927032, 10.959153) Norm(0.778791, 0.380873, 0.498418) UV(0.262514, 0.527481) -V 4380: Pos(0.487137, -13.562391, 9.035126) Norm(0.386501, -0.374984, -0.842617) UV(0.330611, 0.801111) -V 4381: Pos(0.750512, -13.50368, 9.161128) Norm(0.516234, -0.339378, -0.786336) UV(0.340765, 0.800036) -V 4382: Pos(0.280289, -18.260746, 9.992282) Norm(-0.681506, -0.099167, -0.725062) UV(0.333944, 0.968505) -V 4383: Pos(0.200832, -17.543135, 10.111504) Norm(-0.99428, -0.041018, -0.098613) UV(0.325868, 0.944973) -V 4384: Pos(0.372958, -5.462158, 10.313559) Norm(0.211345, 0.1708, -0.962373) UV(0.242123, 0.795007) -V 4385: Pos(0.391779, -5.863933, 10.25495) Norm(0.260694, 0.120837, -0.957829) UV(0.243018, 0.808553) -V 4386: Pos(0.707951, -8.883187, 9.707452) Norm(0.033379, 0.222934, -0.974262) UV(0.255353, 0.916716) -V 4387: Pos(0.719904, -9.214898, 9.597691) Norm(0.0, 0.316904, -0.948458) UV(0.255677, 0.928795) -V 4388: Pos(0.413813, -9.214898, 9.597691) Norm(0.0, 0.316904, -0.948458) UV(0.245163, 0.928768) -V 4389: Pos(0.413813, -8.883187, 9.707452) Norm(0.033712, 0.170761, -0.984736) UV(0.245165, 0.916738) -V 4390: Pos(0.413813, -9.530691, 9.491154) Norm(0.0, 0.407393, -0.913253) UV(0.245155, 0.940206) -V 4391: Pos(0.413813, -10.427848, 8.984811) Norm(0.005545, 0.590307, -0.80716) UV(0.245202, 0.975363) -V 4392: Pos(0.109277, -10.427848, 8.984811) Norm(-0.001668, 0.593832, -0.804587) UV(0.234845, 0.975383) -V 4393: Pos(0.535721, -13.115414, 8.885694) Norm(0.387966, -0.220699, -0.89486) UV(0.331178, 0.785118) -V 4394: Pos(0.535721, -12.618541, 8.774108) Norm(0.366204, -0.095673, -0.925603) UV(0.330469, 0.768473) -V 4395: Pos(-0.240439, -14.206033, 9.520744) Norm(0.060399, -0.052982, -0.996767) UV(0.128934, 0.567004) -V 4396: Pos(0.281655, -16.362818, 9.850606) Norm(-0.569876, -0.104964, -0.814999) UV(0.330079, 0.903506) -V 4397: Pos(0.490626, -18.688894, 10.011444) Norm(0.086366, -0.183005, -0.979311) UV(0.342084, 0.982813) -V 4398: Pos(0.282605, -18.66398, 10.054461) Norm(-0.666336, -0.12121, -0.735734) UV(0.334564, 0.982502) -V 4399: Pos(0.535559, -18.260746, 9.901118) Norm(0.074346, -0.177375, -0.981331) UV(0.342923, 0.967684) -V 4400: Pos(0.684144, -18.673643, 10.09498) Norm(0.633781, -0.23855, -0.73581) UV(0.349566, 0.982658) -V 4401: Pos(0.659008, -19.010527, 10.123274) Norm(0.604711, -0.583525, -0.542054) UV(0.34853, 0.994446) -V 4402: Pos(0.465473, -19.037752, 10.073204) Norm(0.085389, -0.729265, -0.678882) UV(0.341614, 0.995238) -V 4403: Pos(-0.247493, -5.498947, 10.458796) Norm(-0.136767, 0.895024, 0.424531) UV(0.239609, 0.512757) -V 4404: Pos(0.668299, -6.383579, 10.371755) Norm(0.803814, 0.24457, -0.54228) UV(0.254706, 0.825039) -V 4405: Pos(0.711802, -6.58348, 10.357114) Norm(0.710028, 0.273287, -0.64898) UV(0.256321, 0.8318) -V 4406: Pos(0.522805, -5.906385, 10.620442) Norm(0.941198, 0.264672, 0.209989) UV(0.245687, 0.541327) -V 4407: Pos(0.575264, -6.022049, 10.377628) Norm(0.863021, 0.194043, -0.466415) UV(0.241119, 0.547448) -V 4408: Pos(0.705972, -8.51499, 9.775161) Norm(0.428665, 0.419635, -0.800095) UV(0.255462, 0.903828) -V 4409: Pos(0.981768, -8.883187, 9.707452) Norm(0.315758, 0.457321, -0.831357) UV(0.264855, 0.916805) -V 4410: Pos(0.413813, -8.51499, 9.69622) Norm(0.112242, 0.190658, -0.975219) UV(0.245161, 0.9041) -V 4411: Pos(0.413813, -8.249635, 9.790993) Norm(0.176787, 0.394467, -0.901744) UV(0.245359, 0.894352) -V 4412: Pos(0.535721, -11.946148, 8.774108) Norm(0.378688, -0.01486, -0.925405) UV(0.330725, 0.746002) -V 4413: Pos(0.967106, -13.792121, 9.471597) Norm(0.394093, -0.24384, -0.886133) UV(0.351485, 0.812564) -V 4414: Pos(1.091271, -13.472012, 9.409037) Norm(0.420273, -0.277381, -0.863962) UV(0.355478, 0.800972) -V 4415: Pos(0.442191, -5.845642, 10.313141) Norm(0.625757, 0.098672, -0.773752) UV(0.245494, 0.807615) -V 4416: Pos(0.482319, -6.202011, 10.313504) Norm(0.610383, 0.106581, -0.784903) UV(0.247769, 0.819407) -V 4417: Pos(0.668299, -6.383579, 10.371755) Norm(0.803814, 0.24457, -0.54228) UV(0.244057, 0.556786) -V 4418: Pos(0.523212, -5.7632, 10.386906) Norm(0.907126, 0.174989, -0.382754) UV(0.248809, 0.804433) -V 4419: Pos(0.413981, -5.330895, 10.349476) Norm(0.52707, 0.690829, -0.494927) UV(0.243425, 0.790409) -V 4420: Pos(0.575264, -6.022049, 10.377628) Norm(0.863021, 0.194043, -0.466415) UV(0.250983, 0.813052) -V 4421: Pos(0.711802, -6.58348, 10.357114) Norm(0.710028, 0.273287, -0.64898) UV(0.244408, 0.562253) -V 4422: Pos(0.375903, -10.648867, 8.774108) Norm(0.005218, 0.372506, -0.928015) UV(0.243923, 0.985732) -V 4423: Pos(0.719904, -10.427848, 8.984811) Norm(0.01809, 0.585945, -0.810149) UV(0.255613, 0.975364) -V 4424: Pos(0.701803, -10.668038, 8.774108) Norm(0.328055, 0.210854, -0.920826) UV(0.254978, 0.986209) -V 4425: Pos(0.540496, -17.827684, 9.860824) Norm(0.028764, -0.1254, -0.991689) UV(0.342545, 0.953072) -V 4426: Pos(0.563304, -7.680558, 10.63894) Norm(0.9494, 0.034016, -0.312221) UV(0.238251, 0.606755) -V 4427: Pos(0.505699, -7.652631, 10.424071) Norm(0.976174, 0.036413, -0.21391) UV(0.230661, 0.603754) -V 4428: Pos(0.489963, -8.035152, 9.957069) Norm(0.92226, 0.264145, -0.282249) UV(0.210316, 0.607888) -V 4429: Pos(0.517135, -7.945396, 10.341508) Norm(0.969609, 0.174438, -0.171553) UV(0.223821, 0.612818) -V 4430: Pos(0.567459, -8.183842, 10.271389) Norm(0.880975, 0.441454, -0.170296) UV(0.216343, 0.619608) -V 4431: Pos(0.532137, -8.229571, 9.898129) Norm(0.853842, 0.448149, -0.264794) UV(0.204555, 0.611888) -V 4432: Pos(0.567948, -7.926964, 10.588347) Norm(0.94497, 0.181055, -0.272489) UV(0.234052, 0.616897) -V 4433: Pos(0.73969, -13.127203, 9.02352) Norm(0.550278, -0.203391, -0.809831) UV(0.339396, 0.786373) -V 4434: Pos(0.289305, -15.576323, 9.701592) Norm(-0.530949, -0.120005, -0.838863) UV(0.329958, 0.876038) -V 4435: Pos(0.441318, -7.571367, 10.159451) Norm(0.925608, 0.113228, -0.361149) UV(0.2232, 0.597824) -V 4436: Pos(0.413813, -8.035152, 9.902951) Norm(0.189905, 0.392432, -0.899963) UV(0.245623, 0.885923) -V 4437: Pos(0.468702, -8.035152, 9.913342) Norm(0.601958, 0.383191, -0.700579) UV(0.247553, 0.885815) -V 4438: Pos(0.527933, -8.249635, 9.853705) Norm(0.558272, 0.473213, -0.681471) UV(0.249903, 0.893569) -V 4439: Pos(0.109277, -8.883187, 9.707452) Norm(0.0, 0.144027, -0.989574) UV(0.234675, 0.916744) -V 4440: Pos(0.622386, -7.443178, 10.782503) Norm(0.523943, -0.16678, -0.835265) UV(0.243965, 0.599292) -V 4441: Pos(0.627136, -7.70597, 10.780881) Norm(0.736559, 0.023786, -0.675955) UV(0.24442, 0.608508) -V 4442: Pos(0.631353, -7.939326, 10.779441) Norm(0.791741, 0.104193, -0.601905) UV(0.244232, 0.62002) -V 4443: Pos(0.654299, -8.071122, 10.768422) Norm(0.956226, 0.073144, -0.283341) UV(0.243439, 0.629642) -V 4444: Pos(0.806453, -8.476166, 10.254218) Norm(0.7373, 0.636517, -0.226352) UV(0.205688, 0.631409) -V 4445: Pos(-0.210349, -8.883187, 9.707452) Norm(0.0, 0.144027, -0.989574) UV(0.223645, 0.916776) -V 4446: Pos(0.72606, -17.298725, 9.820689) Norm(0.278547, -0.148025, -0.948947) UV(0.347971, 0.934546) -V 4447: Pos(0.755824, -6.351326, 10.877997) Norm(0.257166, 0.414317, -0.873045) UV(0.262267, 0.554669) -V 4448: Pos(0.73497, -8.514387, 9.812925) Norm(0.70167, 0.614565, -0.360513) UV(0.193867, 0.618519) -V 4449: Pos(0.716692, -7.723546, 10.824318) Norm(0.265811, -0.071933, -0.961338) UV(0.248722, 0.609108) -V 4450: Pos(0.532137, -8.229571, 9.898129) Norm(0.853842, 0.448149, -0.264794) UV(0.250874, 0.892131) -V 4451: Pos(0.73497, -8.514387, 9.812925) Norm(0.70167, 0.614565, -0.360513) UV(0.256976, 0.903233) -V 4452: Pos(1.183013, -10.226053, 9.148588) Norm(0.423629, 0.223044, -0.877946) UV(0.271363, 0.96665) -V 4453: Pos(1.00385, -10.427848, 8.984811) Norm(0.426352, 0.256477, -0.867435) UV(0.265248, 0.97541) -V 4454: Pos(1.183013, -10.226053, 9.148588) Norm(0.423629, 0.223044, -0.877946) UV(0.358071, 0.687291) -V 4455: Pos(0.986794, -11.133887, 9.148588) Norm(0.597041, -0.055522, -0.800287) UV(0.351835, 0.718684) -V 4456: Pos(0.774294, -11.133887, 8.984811) Norm(0.676538, -0.098505, -0.729789) UV(0.342641, 0.71844) -V 4457: Pos(1.00385, -10.427848, 8.984811) Norm(0.426352, 0.256477, -0.867435) UV(0.349365, 0.693833) -V 4458: Pos(-0.210349, -10.427848, 8.984811) Norm(-0.003091, 0.589928, -0.80745) UV(0.223977, 0.975438) -V 4459: Pos(0.847519, -7.388284, 10.271775) Norm(0.558232, -0.56554, -0.607076) UV(0.235538, 0.58304) -V 4460: Pos(0.847519, -7.388284, 10.785774) Norm(0.289081, -0.326254, -0.899995) UV(0.251066, 0.593361) -V 4461: Pos(1.371657, -11.946148, 9.362715) Norm(0.485612, 0.004741, -0.874162) UV(0.366135, 0.74714) -V 4462: Pos(0.798134, -16.878952, 9.777104) Norm(0.244087, -0.148861, -0.95826) UV(0.349666, 0.919948) -V 4463: Pos(0.756724, -18.712654, 10.197899) Norm(0.959032, -0.269117, -0.088511) UV(0.009388, 0.973685) -V 4464: Pos(0.441318, -7.571367, 10.159451) Norm(0.925608, 0.113228, -0.361149) UV(0.248349, 0.86733) -V 4465: Pos(1.306656, -15.81671, 9.825591) Norm(0.617003, -0.193365, -0.762835) UV(0.366669, 0.883305) -V 4466: Pos(1.208872, -16.556122, 9.897237) Norm(0.638695, -0.207052, -0.741079) UV(0.364163, 0.908849) -V 4467: Pos(0.644594, -19.018551, 10.249135) Norm(0.644384, -0.692458, 0.324455) UV(0.352664, 0.995953) -V 4468: Pos(0.756724, -18.712654, 10.197899) Norm(0.959032, -0.269117, -0.088511) UV(0.353755, 0.984573) -V 4469: Pos(1.24946, -6.261583, 10.897414) Norm(0.018034, 0.999799, -0.008722) UV(0.348711, 0.627396) -V 4470: Pos(0.847308, -7.555073, 10.806311) Norm(0.029602, -0.185985, -0.982107) UV(0.2528, 0.600748) -V 4471: Pos(1.228693, -8.878713, 10.352042) Norm(0.661358, 0.563439, -0.495119) UV(0.190032, 0.650247) -V 4472: Pos(0.289305, -15.576323, 9.701592) Norm(-0.530949, -0.120005, -0.838863) UV(0.109798, 0.517736) -V 4473: Pos(1.194293, -7.419304, 10.774562) Norm(-0.105236, -0.03823, -0.993712) UV(0.265416, 0.593108) -V 4474: Pos(1.248587, -7.047545, 10.816162) Norm(0.015956, 0.099052, -0.994954) UV(0.266842, 0.581303) -V 4475: Pos(1.253609, -7.419906, 10.760708) Norm(-0.212526, -0.023412, -0.976875) UV(0.26741, 0.59289) -V 4476: Pos(0.614368, -11.133887, 8.774108) Norm(0.386675, -0.059691, -0.920282) UV(0.333558, 0.717976) -V 4477: Pos(1.35263, -11.133887, 9.362502) Norm(0.530306, -0.008922, -0.847759) UV(0.366376, 0.719121) -V 4478: Pos(1.157315, -8.893396, 10.226733) Norm(0.728972, 0.627099, -0.274494) UV(0.187675, 0.64495) -V 4479: Pos(1.025504, -8.866416, 9.756652) Norm(0.677984, 0.621677, -0.392244) UV(0.179858, 0.627784) -V 4480: Pos(1.24946, -6.261583, 10.897414) Norm(0.018034, 0.999799, -0.008722) UV(0.276677, 0.562172) -V 4481: Pos(1.254626, -6.307861, 10.89488) Norm(0.027092, 0.28095, -0.95934) UV(0.27593, 0.563388) -V 4482: Pos(0.741353, -6.719275, 10.347168) Norm(0.69432, 0.191642, -0.693681) UV(0.243912, 0.565899) -V 4483: Pos(0.848853, -6.718246, 10.829842) Norm(0.596498, 0.220722, -0.771668) UV(0.258371, 0.56776) -V 4484: Pos(1.290801, -9.187865, 9.705266) Norm(0.680316, 0.614454, -0.399521) UV(0.166002, 0.6346) -V 4485: Pos(1.305091, -9.068324, 10.226966) Norm(0.779732, 0.578638, -0.239158) UV(0.180468, 0.650592) -V 4486: Pos(1.148914, -17.021191, 10.028584) Norm(0.90308, -0.265305, -0.337728) UV(0.364568, 0.925436) -V 4487: Pos(1.074597, -17.005287, 9.934217) Norm(0.605004, -0.23338, -0.761252) UV(0.360528, 0.92444) -V 4488: Pos(0.701803, -10.668038, 8.774108) Norm(0.328055, 0.210854, -0.920826) UV(0.336434, 0.701861) -V 4489: Pos(1.353758, -10.351027, 9.348378) Norm(0.609733, -0.020219, -0.792349) UV(0.367012, 0.691948) -V 4490: Pos(1.459878, -10.308848, 9.421988) Norm(0.446802, 0.013818, -0.894526) UV(0.371559, 0.690609) -V 4491: Pos(1.482765, -11.133887, 9.438228) Norm(0.403842, 0.004488, -0.914818) UV(0.371557, 0.719279) -V 4492: Pos(1.433103, -14.04618, 9.556674) Norm(0.34677, -0.120934, -0.930121) UV(0.367987, 0.82162) -V 4493: Pos(1.28965, -13.91561, 9.5331) Norm(0.150778, -0.107754, -0.982678) UV(0.362956, 0.816985) -V 4494: Pos(1.393072, -15.835152, 9.92938) Norm(0.912099, -0.214423, -0.349426) UV(0.371246, 0.884386) -V 4495: Pos(1.271537, -16.556122, 10.002055) Norm(0.922378, -0.229592, -0.310654) UV(0.368294, 0.909394) -V 4496: Pos(1.267449, -6.467778, 10.888588) Norm(0.040338, 0.106867, -0.993455) UV(0.273472, 0.567291) -V 4497: Pos(1.025504, -8.866416, 9.756652) Norm(0.677984, 0.621677, -0.392244) UV(0.266817, 0.91555) -V 4498: Pos(1.33939, -9.892169, 9.345613) Norm(0.437094, 0.330107, -0.836647) UV(0.366851, 0.676017) -V 4499: Pos(1.350903, -10.03592, 9.346817) Norm(0.674214, 0.048446, -0.736945) UV(0.367168, 0.680965) -V 4500: Pos(1.275967, -10.075572, 9.26807) Norm(0.483487, 0.244712, -0.84045) UV(0.363405, 0.682299) -V 4501: Pos(1.585789, -13.236611, 9.539085) Norm(0.458193, -0.167619, -0.872905) UV(0.373882, 0.793007) -V 4502: Pos(1.738879, -13.312866, 9.659083) Norm(0.565517, -0.160701, -0.808929) UV(0.38064, 0.796232) -V 4503: Pos(1.714206, -14.427995, 10.379407) Norm(0.885419, -0.176936, 0.429798) UV(0.069139, 0.829711) -V 4504: Pos(1.553903, -12.617983, 9.455332) Norm(0.371152, -0.04871, -0.927294) UV(0.372475, 0.770798) -V 4505: Pos(1.678198, -13.022185, 9.542929) Norm(0.416398, -0.171256, -0.892908) UV(0.37722, 0.785361) -V 4506: Pos(1.443971, -13.517595, 9.520607) Norm(0.255572, -0.144721, -0.955897) UV(0.36855, 0.802928) -V 4507: Pos(0.862442, -18.278978, 10.137504) Norm(0.912953, -0.251326, -0.321484) UV(0.01231, 0.957893) -V 4508: Pos(1.426772, -9.855577, 9.441483) Norm(0.502654, 0.285132, -0.816112) UV(0.371259, 0.674497) -V 4509: Pos(1.453376, -9.981698, 9.430211) Norm(0.479424, 0.11403, -0.870144) UV(0.371828, 0.679073) -V 4510: Pos(1.550121, -11.946148, 9.44314) Norm(0.373075, 0.00319, -0.927796) UV(0.372911, 0.747353) -V 4511: Pos(1.58026, -9.423792, 10.472842) Norm(0.695242, 0.560126, -0.450441) UV(0.166505, 0.66963) -V 4512: Pos(1.589298, -9.787519, 9.53304) Norm(0.316976, 0.323915, -0.891406) UV(0.377986, 0.672218) -V 4513: Pos(1.351068, -9.410623, 9.584963) Norm(0.492876, 0.39951, -0.772959) UV(0.371672, 0.658073) -V 4514: Pos(1.920873, -10.338238, 9.564405) Norm(0.243488, 0.024323, -0.969599) UV(0.388444, 0.692302) -V 4515: Pos(1.679814, -9.922207, 9.517178) Norm(0.306352, 0.19046, -0.93267) UV(0.380522, 0.677331) -V 4516: Pos(1.563678, -14.321686, 9.701296) Norm(0.5493, -0.134078, -0.824798) UV(0.37398, 0.831703) -V 4517: Pos(1.216632, -9.214898, 9.597691) Norm(0.320101, 0.452708, -0.83222) UV(0.367919, 0.650599) -V 4518: Pos(1.290801, -9.187865, 9.705266) Norm(0.680316, 0.614454, -0.399521) UV(0.372206, 0.64897) -V 4519: Pos(1.349704, -9.573712, 9.547895) Norm(0.462453, 0.354888, -0.812522) UV(0.370941, 0.663839) -V 4520: Pos(1.291549, -9.530691, 9.491154) Norm(0.35352, 0.387362, -0.851454) UV(0.368046, 0.662641) -V 4521: Pos(1.909414, -11.133887, 9.580532) Norm(0.253803, -0.00261, -0.967252) UV(0.386931, 0.719865) -V 4522: Pos(1.914344, -12.617983, 9.577017) Norm(0.245516, -0.032248, -0.968856) UV(0.385829, 0.771115) -V 4523: Pos(1.846378, -12.859801, 9.575648) Norm(0.361033, -0.18831, -0.913343) UV(0.3834, 0.779657) -V 4524: Pos(1.652579, -13.882635, 9.665802) Norm(0.52392, -0.131675, -0.841528) UV(0.376829, 0.816364) -V 4525: Pos(1.803582, -13.770114, 9.740883) Norm(0.835145, -0.159477, -0.526404) UV(0.3829, 0.812795) -V 4526: Pos(1.866181, -13.134965, 9.670527) Norm(0.626243, -0.388189, -0.676113) UV(0.384986, 0.789832) -V 4527: Pos(1.290801, -9.187865, 9.705266) Norm(0.680316, 0.614454, -0.399521) UV(0.276315, 0.926292) -V 4528: Pos(1.216632, -9.214898, 9.597691) Norm(0.320101, 0.452708, -0.83222) UV(0.272624, 0.928963) -V 4529: Pos(1.774158, -9.478948, 10.49048) Norm(0.094062, 0.263079, -0.960178) UV(0.161028, 0.676197) -V 4530: Pos(1.741837, -9.645041, 10.474378) Norm(0.493821, 0.361391, -0.790909) UV(0.15599, 0.671961) -V 4531: Pos(1.895313, -9.865213, 9.611774) Norm(0.233825, 0.222868, -0.946391) UV(0.388814, 0.675638) -V 4532: Pos(2.209084, -12.34296, 9.634767) Norm(0.130351, 0.012614, -0.991388) UV(0.396414, 0.761647) -V 4533: Pos(1.944371, -11.946148, 9.570744) Norm(0.263907, 0.001263, -0.964547) UV(0.387241, 0.747715) -V 4534: Pos(2.175215, -11.946148, 9.628056) Norm(0.166591, 0.005557, -0.98601) UV(0.395438, 0.747873) -V 4535: Pos(1.814587, -12.342351, 10.669975) Norm(0.518801, -0.854166, 0.035286) UV(0.118822, 0.764631) -V 4536: Pos(1.809732, -9.81502, 10.446188) Norm(0.536362, 0.546019, -0.643568) UV(0.15004, 0.671585) -V 4537: Pos(2.11285, -12.657672, 9.613468) Norm(0.333164, -0.222804, -0.916166) UV(0.392882, 0.772542) -V 4538: Pos(2.068377, -9.599931, 10.461658) Norm(0.022168, 0.275742, -0.960976) UV(0.150348, 0.681636) -V 4539: Pos(1.935241, -9.902635, 10.425072) Norm(0.331128, 0.694046, -0.639261) UV(0.145792, 0.672785) -V 4540: Pos(1.839274, -13.220189, 9.725098) Norm(0.850997, -0.328902, -0.409425) UV(0.385219, 0.793461) -V 4541: Pos(3.271931, -11.071762, 10.15194) Norm(0.950441, -0.30053, -0.079653) UV(0.10354, 0.704476) -V 4542: Pos(2.102045, -9.980515, 9.828673) Norm(0.449894, 0.782863, 0.429791) UV(0.131898, 0.659092) -V 4543: Pos(1.839274, -13.220189, 9.725098) Norm(0.850997, -0.328902, -0.409425) UV(0.064832, 0.781004) -V 4544: Pos(1.890624, -13.358417, 9.900567) Norm(0.973784, -0.132793, -0.184692) UV(0.068841, 0.787429) -V 4545: Pos(1.803582, -13.770114, 9.740883) Norm(0.835145, -0.159477, -0.526404) UV(0.057749, 0.79857) -V 4546: Pos(2.088246, -9.521886, 10.497334) Norm(0.282349, 0.886424, -0.366785) UV(0.151899, 0.683962) -V 4547: Pos(2.06219, -9.804996, 9.66156) Norm(0.482, 0.64334, -0.594802) UV(0.131849, 0.650019) -V 4548: Pos(2.081032, -9.958003, 10.413013) Norm(0.261835, 0.680059, -0.684807) UV(0.141712, 0.674831) -V 4549: Pos(2.593909, -10.160017, 10.378246) Norm(0.244134, 0.627728, -0.739159) UV(0.12771, 0.682456) -V 4550: Pos(2.562071, -10.214589, 10.070232) Norm(0.452058, 0.881857, -0.134062) UV(0.122121, 0.675036) -V 4551: Pos(2.327002, -10.108855, 9.940565) Norm(0.453163, 0.891257, -0.017438) UV(0.126275, 0.666661) -V 4552: Pos(2.0249, -9.945375, 9.991816) Norm(0.479737, 0.876281, 0.044539) UV(0.136994, 0.662492) -V 4553: Pos(2.731869, -11.673506, 9.6403) Norm(-0.08413, 0.017741, -0.996297) UV(0.41455, 0.738653) -V 4554: Pos(2.54537, -11.810831, 9.651272) Norm(-0.032894, 0.019828, -0.999262) UV(0.408226, 0.74337) -V 4555: Pos(1.998862, -12.15709, 10.548896) Norm(0.114981, -0.401252, -0.908722) UV(0.113254, 0.757032) -V 4556: Pos(2.558774, -10.239793, 9.833508) Norm(0.561403, 0.808655, 0.175796) UV(0.116691, 0.669183) -V 4557: Pos(2.39682, -10.128654, 9.834273) Norm(0.485721, 0.810667, 0.326947) UV(0.122158, 0.664911) -V 4558: Pos(2.557973, -10.325841, 9.64784) Norm(0.021199, 0.018023, -0.999613) UV(0.410863, 0.693134) -V 4559: Pos(2.569292, -11.133887, 9.672878) Norm(-0.01761, 0.001735, -0.999843) UV(0.409563, 0.720817) -V 4560: Pos(2.395227, -11.133887, 9.67112) Norm(0.073144, -0.007083, -0.997296) UV(0.403716, 0.720546) -V 4561: Pos(2.35692, -11.946148, 9.649624) Norm(0.059315, 0.012256, -0.998164) UV(0.40172, 0.747966) -V 4562: Pos(2.397274, -12.467001, 9.786224) Norm(0.700128, -0.510341, -0.499372) UV(0.405449, 0.767965) -V 4563: Pos(2.428648, -12.32495, 9.64715) Norm(0.489207, -0.319918, -0.811375) UV(0.404048, 0.761143) -V 4564: Pos(2.209555, -9.656481, 10.450261) Norm(0.028917, 0.264992, -0.963817) UV(0.146114, 0.683683) -V 4565: Pos(2.618698, -9.820366, 10.417233) Norm(0.000852, 0.248734, -0.968571) UV(0.134735, 0.688507) -V 4566: Pos(2.70659, -10.288885, 10.079262) Norm(0.474523, 0.855788, -0.206046) UV(0.118599, 0.678494) -V 4567: Pos(2.67724, -10.326525, 9.821217) Norm(0.604935, 0.794982, 0.045353) UV(0.112629, 0.672356) -V 4568: Pos(2.718197, -10.327266, 9.706711) Norm(0.700661, 0.663716, 0.26183) UV(0.108733, 0.670288) -V 4569: Pos(2.726863, -10.329092, 9.680916) Norm(0.642839, 0.712753, -0.28061) UV(0.107824, 0.669868) -V 4570: Pos(2.913056, -11.734773, 9.741197) Norm(0.772047, -0.542227, -0.331561) UV(0.423323, 0.742451) -V 4571: Pos(2.7485, -10.232826, 10.37799) Norm(0.249578, 0.588324, -0.769146) UV(0.123952, 0.684936) -V 4572: Pos(2.590128, -10.261823, 9.64973) Norm(0.24715, 0.322467, -0.913746) UV(0.412118, 0.690977) -V 4573: Pos(2.605924, -10.211595, 9.702301) Norm(0.631793, 0.722252, -0.281408) UV(0.413289, 0.688676) -V 4574: Pos(2.899051, -10.496379, 9.650467) Norm(0.4518, 0.589865, -0.66928) UV(0.422438, 0.699738) -V 4575: Pos(2.729564, -10.478736, 9.63639) Norm(-0.051312, 0.001526, -0.998681) UV(0.416524, 0.698825) -V 4576: Pos(2.725886, -10.364901, 9.650054) Norm(0.262152, 0.362724, -0.894264) UV(0.416634, 0.694829) -V 4577: Pos(2.913056, -11.734773, 9.741197) Norm(0.772047, -0.542227, -0.331561) UV(0.081016, 0.720627) -V 4578: Pos(3.046477, -11.525615, 9.735175) Norm(0.895151, -0.352855, -0.272392) UV(0.084382, 0.713079) -V 4579: Pos(3.08694, -11.517592, 9.815622) Norm(0.868376, -0.266869, -0.417975) UV(0.087303, 0.713612) -V 4580: Pos(2.242612, -11.133887, 9.646635) Norm(0.163094, -0.009354, -0.986566) UV(0.398475, 0.720324) -V 4581: Pos(2.73839, -11.969585, 9.766771) Norm(0.739301, -0.553562, -0.383411) UV(0.077922, 0.729913) -V 4582: Pos(3.255275, -9.869107, 10.376476) Norm(-0.000662, 0.396919, -0.917853) UV(0.125516, 0.697522) -V 4583: Pos(3.029575, -9.848999, 10.392017) Norm(-0.012069, 0.301267, -0.953463) UV(0.128045, 0.694756) -V 4584: Pos(2.903913, -10.306388, 10.372807) Norm(0.208912, 0.581595, -0.786195) UV(0.120855, 0.687582) -V 4585: Pos(2.883657, -10.379915, 10.090324) Norm(0.42144, 0.856022, -0.299357) UV(0.114977, 0.683042) -V 4586: Pos(3.046477, -11.525615, 9.735175) Norm(0.895151, -0.352855, -0.272392) UV(0.428221, 0.735664) -V 4587: Pos(2.996336, -11.535555, 9.635485) Norm(0.917899, -0.396631, -0.012042) UV(0.424897, 0.734759) -V 4588: Pos(3.108302, -11.534491, 9.89884) Norm(0.944359, -0.328221, 0.02136) UV(0.08974, 0.714984) -V 4589: Pos(3.189865, -11.1261, 9.967607) Norm(0.936393, -0.279221, -0.212612) UV(0.097518, 0.704024) -V 4590: Pos(2.977456, -11.135311, 9.595665) Norm(0.039748, -0.010293, -0.999157) UV(0.42345, 0.721835) -V 4591: Pos(2.835557, -10.432275, 9.842867) Norm(0.509275, 0.825346, -0.243808) UV(0.108908, 0.677762) -V 4592: Pos(3.153678, -10.655459, 9.798812) Norm(0.821882, 0.441872, -0.359526) UV(0.100826, 0.688216) -V 4593: Pos(3.063032, -10.653118, 9.671741) Norm(0.542972, 0.602654, -0.584799) UV(0.097302, 0.683989) -V 4594: Pos(2.899051, -10.496379, 9.650467) Norm(0.4518, 0.589865, -0.66928) UV(0.101496, 0.67617) -V 4595: Pos(3.150332, -10.711572, 9.709587) Norm(0.911899, 0.241413, -0.331904) UV(0.097423, 0.688031) -V 4596: Pos(3.105379, -10.724318, 9.650182) Norm(0.70934, 0.298454, -0.638562) UV(0.095167, 0.686648) -V 4597: Pos(3.271931, -10.968565, 10.373868) Norm(0.664994, -0.039012, -0.745829) UV(0.109049, 0.703984) -V 4598: Pos(3.52336, -11.26227, 10.377422) Norm(0.185208, -0.415453, -0.89056) UV(0.114977, 0.709305) -V 4599: Pos(3.334521, -10.429899, 10.362121) Norm(0.423636, 0.364216, -0.829385) UV(0.11531, 0.695228) -V 4600: Pos(3.205992, -10.544394, 10.042896) Norm(0.761319, 0.526865, -0.377898) UV(0.108519, 0.690847) -V 4601: Pos(3.063032, -10.653118, 9.671741) Norm(0.542972, 0.602654, -0.584799) UV(0.428281, 0.705309) -V 4602: Pos(3.105379, -10.724318, 9.650182) Norm(0.70934, 0.298454, -0.638562) UV(0.429332, 0.708197) -V 4603: Pos(3.728105, -9.958867, 10.327435) Norm(-0.067925, 0.400581, -0.91374) UV(0.121838, 0.700686) -V 4604: Pos(3.763067, -10.427421, 10.327488) Norm(-0.093206, -0.014358, -0.995543) UV(0.11863, 0.700978) -V 4605: Pos(3.347401, -10.522722, 10.369551) Norm(0.500828, 0.010194, -0.865487) UV(0.113971, 0.696444) -V 4606: Pos(3.133585, -11.17097, 9.644156) Norm(0.903044, -0.091987, -0.419584) UV(0.429024, 0.723916) -V 4607: Pos(3.068467, -11.241211, 9.721634) Norm(0.984553, -0.167946, -0.049486) UV(0.43052, 0.727172) -V 4608: Pos(3.088741, -11.133887, 9.709833) Norm(0.992562, -0.109044, -0.05413) UV(0.088707, 0.700204) -V 4609: Pos(3.133585, -11.17097, 9.644156) Norm(0.903044, -0.091987, -0.419584) UV(0.08559, 0.699786) -V 4610: Pos(3.189564, -11.023043, 9.928221) Norm(0.939319, -0.083931, -0.33262) UV(0.097751, 0.700505) -V 4611: Pos(3.271931, -10.932488, 10.106631) Norm(0.967933, -0.025651, -0.249896) UV(0.103918, 0.700637) -V 4612: Pos(3.084774, -11.225748, 9.754676) Norm(0.968532, -0.131269, -0.211458) UV(0.088722, 0.703784) -V 4613: Pos(3.880853, -11.013206, 10.332464) Norm(0.125522, -0.367087, -0.921679) UV(0.117837, 0.704866) -V 4614: Pos(4.070353, -9.946959, 10.284436) Norm(-0.065905, 0.437079, -0.897005) UV(0.120856, 0.702013) -V 4615: Pos(4.152247, -10.401407, 10.288183) Norm(-0.033863, -0.008953, -0.999386) UV(0.119798, 0.702537) -V 4616: Pos(4.066306, -9.909887, 10.336178) Norm(-0.049479, 0.995823, -0.07674) UV(0.120999, 0.7021) -V 4617: Pos(4.474373, -9.896329, 10.320985) Norm(0.879534, 0.47578, -0.007394) UV(0.120532, 0.702648) -V 4618: Pos(4.422268, -9.908354, 10.298527) Norm(0.162945, 0.458691, -0.873528) UV(0.120523, 0.702588) -V 4619: Pos(-0.28436, -13.305736, 11.633051) Norm(0.018038, -0.231956, 0.972559) UV(0.063823, 0.460846) -V 4620: Pos(-0.035841, -13.576867, 11.551586) Norm(0.396892, -0.25177, 0.88266) UV(0.072301, 0.452155) -V 4621: Pos(-0.008081, -14.930587, 11.098452) Norm(0.375331, -0.09807, 0.921688) UV(0.076765, 0.40095) -V 4622: Pos(-0.051212, -14.857088, 11.104099) Norm(0.113281, -0.053322, 0.992131) UV(0.075354, 0.403728) -V 4623: Pos(0.103307, -14.436649, 11.036701) Norm(0.832948, -0.14, 0.535348) UV(0.084421, 0.418841) -V 4624: Pos(0.147183, -14.168979, 11.039964) Norm(0.915597, -0.134303, 0.379006) UV(0.08714, 0.428378) -V 4625: Pos(0.217552, -13.750895, 11.012545) Norm(0.910501, -0.117304, 0.396519) UV(0.092033, 0.442793) -V 4626: Pos(0.407814, -15.167814, 10.6512) Norm(0.658063, -0.123147, 0.742824) UV(0.098004, 0.388688) -V 4627: Pos(0.463882, -15.174119, 10.608152) Norm(0.402277, -0.105275, 0.909445) UV(0.100551, 0.388076) -V 4628: Pos(0.413441, -14.129045, 10.839348) Norm(0.343087, -0.142398, 0.928447) UV(0.099581, 0.427915) -V 4629: Pos(-0.338841, -5.229028, 10.871285) Norm(0.621108, 0.561735, -0.546515) UV(0.277648, 0.510131) -V 4630: Pos(-0.059636, -5.927032, 10.959153) Norm(0.778791, 0.380873, 0.498418) UV(0.355301, 0.678454) -V 4631: Pos(-0.115071, -5.996615, 10.995941) Norm(0.531377, 0.197526, 0.823785) UV(0.352253, 0.680394) -V 4632: Pos(0.109277, -5.436759, 10.360969) Norm(-0.271447, 0.575591, -0.77137) UV(0.233599, 0.522444) -V 4633: Pos(0.110698, -16.839523, 10.479129) Norm(0.643644, -0.310114, 0.69968) UV(0.082068, 0.334568) -V 4634: Pos(0.187956, -17.160233, 10.160663) Norm(-0.835027, -0.177458, -0.520805) UV(0.322467, 0.932138) -V 4635: Pos(0.236236, -16.886652, 9.945797) Norm(-0.880135, -0.097112, -0.464685) UV(0.328758, 0.921823) -V 4636: Pos(0.367022, -14.500408, 10.789208) Norm(0.648213, -0.125228, 0.751091) UV(0.097305, 0.414197) -V 4637: Pos(0.425607, -14.515833, 10.729332) Norm(0.481554, -0.202088, 0.852799) UV(0.100279, 0.413119) -V 4638: Pos(0.232742, -18.628233, 10.165611) Norm(-0.995802, -0.05335, -0.074379) UV(0.330186, 0.981955) -V 4639: Pos(0.220631, -18.260746, 10.149389) Norm(-0.995065, -0.042469, -0.089675) UV(0.328304, 0.969421) -V 4640: Pos(0.263428, -19.038101, 10.185481) Norm(-0.702502, -0.710886, -0.033634) UV(0.021397, 0.996047) -V 4641: Pos(0.190636, -12.610888, 11.088865) Norm(0.660613, -0.061627, 0.748193) UV(0.055313, 0.243433) -V 4642: Pos(0.186854, -12.550453, 11.10218) Norm(0.697777, -0.154391, 0.699479) UV(0.055303, 0.245566) -V 4643: Pos(0.015071, -12.550453, 11.620171) Norm(0.997933, 0.007344, 0.063845) UV(0.036981, 0.249667) -V 4644: Pos(0.012854, -12.610888, 11.619287) Norm(0.997913, 0.063975, 0.008812) UV(0.036532, 0.247635) -V 4645: Pos(2.077575, -12.918606, 9.783612) Norm(0.772335, -0.626146, 0.106957) UV(0.070649, 0.767271) -V 4646: Pos(2.20038, -12.742928, 9.787264) Norm(0.697621, -0.499404, -0.513732) UV(0.071869, 0.76021) -V 4647: Pos(-0.240439, -13.748554, 9.520744) Norm(0.04079, -0.611956, -0.789839) UV(0.12767, 0.58302) -V 4648: Pos(0.489963, -8.035152, 9.957069) Norm(0.92226, 0.264145, -0.282249) UV(0.249114, 0.88517) -V 4649: Pos(-0.338841, -5.229028, 10.871285) Norm(0.621108, 0.561735, -0.546515) UV(0.057752, 0.747432) -V 4650: Pos(2.726863, -10.329092, 9.680916) Norm(0.642839, 0.712753, -0.28061) UV(0.417038, 0.693231) -V 4651: Pos(2.788146, -10.426018, 9.735842) Norm(0.644632, 0.760166, 0.081222) UV(0.106979, 0.674384) -V 4652: Pos(0.13069, -10.648867, 8.774108) Norm(-0.017257, 0.366269, -0.930349) UV(0.235606, 0.985753) -V 4653: Pos(0.719904, -9.530691, 9.491154) Norm(0.019326, 0.39897, -0.91676) UV(0.25563, 0.940229) -V 4654: Pos(1.291549, -9.530691, 9.491154) Norm(0.35352, 0.387362, -0.851454) UV(0.275126, 0.940246) -V 4655: Pos(1.33939, -9.892169, 9.345613) Norm(0.437094, 0.330107, -0.836647) UV(0.276784, 0.953437) -V 4656: Pos(1.275967, -10.075572, 9.26807) Norm(0.483487, 0.244712, -0.84045) UV(0.274661, 0.960202) -V 4657: Pos(-0.226319, -10.648867, 8.779996) Norm(-0.036267, 0.35375, -0.934637) UV(0.209587, 0.224771) -V 4658: Pos(0.13069, -10.648867, 8.774108) Norm(-0.017257, 0.366269, -0.930349) UV(0.197284, 0.224806) -V 4659: Pos(0.130689, -11.133887, 8.774108) Norm(-0.030997, -0.007464, -0.999492) UV(0.197236, 0.208094) -V 4660: Pos(0.375903, -10.648867, 8.774108) Norm(0.005218, 0.372506, -0.928015) UV(0.325259, 0.701285) -V 4661: Pos(0.13069, -10.648867, 8.774108) Norm(-0.017257, 0.366269, -0.930349) UV(0.316829, 0.701319) -V 4662: Pos(-0.282908, -13.576867, 11.557286) Norm(0.022924, -0.273891, 0.961487) UV(0.064247, 0.451783) -V 4663: Pos(-0.283047, -13.961123, 11.445701) Norm(0.028429, -0.297655, 0.95425) UV(0.064809, 0.438508) -V 4664: Pos(-0.28403, -14.160269, 11.379276) Norm(0.027157, -0.325299, 0.945221) UV(0.065106, 0.431341) -V 4665: Pos(-0.297593, -14.434437, 11.282341) Norm(0.016542, -0.340574, 0.940072) UV(0.065108, 0.42114) -V 4666: Pos(1.148914, -17.021191, 10.028584) Norm(0.90308, -0.265305, -0.337728) UV(0.023248, 0.913053) -V 4667: Pos(1.271537, -16.556122, 10.002055) Norm(0.922378, -0.229592, -0.310654) UV(0.027928, 0.89652) -V 4668: Pos(1.674806, -14.372398, 9.790362) Norm(0.863706, -0.176876, -0.471939) UV(0.050379, 0.81976) -V 4669: Pos(1.032496, -17.477962, 10.073608) Norm(0.896964, -0.240931, -0.370684) UV(0.019575, 0.929518) -V 4670: Pos(1.393072, -15.835152, 9.92938) Norm(0.912099, -0.214423, -0.349426) UV(0.034698, 0.871199) -V 4671: Pos(1.547497, -15.153191, 9.869965) Norm(0.91461, -0.215538, -0.342098) UV(0.0421, 0.847184) -V 4672: Pos(3.068467, -11.241211, 9.721634) Norm(0.984553, -0.167946, -0.049486) UV(0.087355, 0.703836) -V 4673: Pos(0.031923, -11.675451, 11.495037) Norm(0.905586, -0.209101, 0.369039) UV(0.080353, 0.512447) -V 4674: Pos(0.045928, -14.168096, 11.238145) Norm(0.980288, -0.131597, 0.147369) UV(0.037229, 0.19238) -V 4675: Pos(0.108038, -14.16584, 11.085279) Norm(0.693603, -0.10123, 0.71321) UV(0.042793, 0.191256) -V 4676: Pos(0.015071, -12.550453, 11.620171) Norm(0.997933, 0.007344, 0.063845) UV(0.075537, 0.484605) -V 4677: Pos(0.010878, -14.44124, 11.161957) Norm(0.952077, -0.238543, 0.191433) UV(0.037111, 0.182551) -V 4678: Pos(0.047931, -14.428632, 11.099936) Norm(0.671771, -0.18383, 0.717586) UV(0.039633, 0.182523) -V 4679: Pos(0.017259, -12.035993, 11.62269) Norm(0.998754, -0.034547, 0.036025) UV(0.075937, 0.501414) -V 4680: Pos(0.067863, -13.243471, 11.473637) Norm(0.998519, 0.043837, 0.032226) UV(0.037001, 0.225229) -V 4681: Pos(0.205014, -13.131918, 11.083632) Norm(0.707929, -0.027119, 0.705763) UV(0.051718, 0.225865) -V 4682: Pos(0.047931, -14.428632, 11.099936) Norm(0.671771, -0.18383, 0.717586) UV(0.081143, 0.419809) -V 4683: Pos(-0.036911, -14.616964, 11.115097) Norm(0.858464, -0.301815, 0.414666) UV(0.036532, 0.176108) -V 4684: Pos(0.187778, -17.340864, 10.259338) Norm(-0.925035, -0.342971, 0.163341) UV(0.083639, 0.318167) -V 4685: Pos(0.243054, -16.724356, 10.412094) Norm(-0.24041, -0.169859, 0.955694) UV(0.087293, 0.33661) -V 4686: Pos(0.283937, -19.038507, 10.090205) Norm(-0.519477, -0.623501, -0.584286) UV(0.335341, 0.995595) -V 4687: Pos(0.263428, -19.038101, 10.185481) Norm(-0.702502, -0.710886, -0.033634) UV(0.332016, 0.996094) -V 4688: Pos(-0.012644, -14.604527, 11.101941) Norm(0.458348, -0.132208, 0.878885) UV(0.07814, 0.413424) -V 4689: Pos(0.320664, -16.335007, 10.506907) Norm(-0.037616, -0.11113, 0.993094) UV(0.091839, 0.347924) -V 4690: Pos(0.417581, -15.726151, 10.570805) Norm(0.022502, -0.090489, 0.995643) UV(0.097006, 0.368137) -V 4691: Pos(-0.240439, -12.324382, 9.489315) Norm(0.781306, 0.0, -0.624148) UV(0.151122, 0.387766) -V 4692: Pos(-0.240439, -12.861806, 9.489315) Norm(0.980735, 0.194896, -0.013177) UV(0.150867, 0.406247) -V 4693: Pos(0.060542, -12.799871, 9.297012) Norm(0.999864, 0.009148, 0.01376) UV(0.125026, 0.400313) -V 4694: Pos(0.060542, -12.262447, 9.297012) Norm(0.998655, 0.001093, 0.051832) UV(0.124523, 0.41872) -V 4695: Pos(0.079135, -12.345491, 9.464819) Norm(0.835395, 0.0, 0.54965) UV(0.118841, 0.415719) -V 4696: Pos(0.079135, -12.882915, 9.464819) Norm(0.771105, 0.016815, 0.636486) UV(0.119311, 0.397167) -V 4697: Pos(0.13069, -12.382905, 8.789777) Norm(0.415302, -0.048259, -0.908403) UV(0.142103, 0.415241) -V 4698: Pos(0.13069, -11.946148, 8.777954) Norm(0.112576, -0.011415, -0.993578) UV(0.141971, 0.430125) -V 4699: Pos(-0.240439, -12.324382, 9.489315) Norm(0.781306, 0.0, -0.624148) UV(0.107946, 0.416289) -V 4700: Pos(-0.240439, -12.861806, 9.489315) Norm(0.980735, 0.194896, -0.013177) UV(0.108106, 0.397803) -V 4701: Pos(0.079135, -13.755318, 9.532556) Norm(-0.124384, -0.89602, -0.426235) UV(0.11879, 0.366836) -V 4702: Pos(-0.240439, -13.748554, 9.520744) Norm(0.04079, -0.611956, -0.789839) UV(0.107946, 0.367232) -V 4703: Pos(0.123932, -13.601337, 8.935) Norm(0.296787, -0.538673, -0.788511) UV(0.139045, 0.373274) -V 4704: Pos(0.127274, -13.121551, 8.863171) Norm(0.456925, -0.116072, -0.8819) UV(0.14068, 0.389919) -V 4705: Pos(-0.240439, -13.748554, 9.520744) Norm(0.04079, -0.611956, -0.789839) UV(0.150867, 0.436812) -V 4706: Pos(-0.226319, -10.648867, 8.779996) Norm(-0.036267, 0.35375, -0.934637) UV(0.223497, 0.985671) -V 4707: Pos(0.079135, -13.755318, 9.532556) Norm(-0.124384, -0.89602, -0.426235) UV(0.199029, 0.101468) -V 4708: Pos(1.420772, -5.49018, 11.039805) Norm(0.092889, 0.933385, -0.346646) UV(0.382069, 0.137047) -V 4709: Pos(1.474094, -5.49018, 11.109297) Norm(0.0, 1.0, 0.0) UV(0.380768, 0.135077) -V 4710: Pos(1.494793, -5.49018, 11.088598) Norm(0.476827, 0.738424, -0.476828) UV(0.38122, 0.134864) -V 4711: Pos(1.443995, -5.49018, 11.021986) Norm(0.10781, 0.577192, -0.80946) UV(0.382282, 0.136136) -V 4712: Pos(1.499209, -6.203906, 11.23948) Norm(-0.493005, 0.16669, 0.853909) UV(0.360515, 0.136656) -V 4713: Pos(1.411337, -6.203906, 11.172053) Norm(-0.697216, 0.166691, 0.697211) UV(0.36118, 0.140348) -V 4714: Pos(1.348224, -6.370966, 11.235167) Norm(-0.686743, 0.238263, 0.686742) UV(0.35511, 0.141333) -V 4715: Pos(1.454581, -6.370966, 11.316777) Norm(-0.485601, 0.238262, 0.841084) UV(0.35463, 0.137357) -V 4716: Pos(1.292522, -5.847043, 11.113851) Norm(-0.866026, -0.0, 0.5) UV(0.372492, 0.141144) -V 4717: Pos(1.244208, -5.847043, 10.997211) Norm(-0.965926, 0.0, 0.25882) UV(0.373694, 0.144114) -V 4718: Pos(1.301525, -6.203906, 10.981853) Norm(-0.952412, 0.166691, 0.255198) UV(0.36283, 0.147931) -V 4719: Pos(1.343911, -6.203906, 11.084181) Norm(-0.853909, 0.16669, 0.493004) UV(0.36185, 0.144123) -V 4720: Pos(2.178494, -5.847043, 10.997211) Norm(0.965926, 0.0, 0.258819) UV(0.373595, 0.113906) -V 4721: Pos(2.13018, -5.847043, 11.113851) Norm(0.866026, -0.0, 0.499999) UV(0.372368, 0.117076) -V 4722: Pos(2.078791, -6.203906, 11.084181) Norm(0.853909, 0.166689, 0.493004) UV(0.361357, 0.114234) -V 4723: Pos(2.121177, -6.203906, 10.981853) Norm(0.952412, 0.16669, 0.255198) UV(0.362232, 0.110257) -V 4724: Pos(1.711351, -5.847043, 10.388417) Norm(0.0, -0.0, -1.0) UV(0.392792, 0.084599) -V 4725: Pos(1.836522, -5.847043, 10.404897) Norm(0.258819, -0.0, -0.965926) UV(0.388643, 0.09033) -V 4726: Pos(1.821164, -6.203906, 10.462214) Norm(0.255198, 0.16669, -0.952412) UV(0.371459, 0.082414) -V 4727: Pos(1.711351, -6.203906, 10.447757) Norm(0.0, 0.166691, -0.986009) UV(0.373511, 0.076895) -V 4728: Pos(1.227729, -5.847043, 10.87204) Norm(-1.0, -0.0, -0.0) UV(0.375141, 0.147207) -V 4729: Pos(1.287068, -6.203906, 10.87204) Norm(-0.986009, 0.166691, -0.0) UV(0.363992, 0.151794) -V 4730: Pos(2.053324, -5.847043, 11.214012) Norm(0.707109, -0.0, 0.707104) UV(0.37144, 0.120179) -V 4731: Pos(2.011364, -6.203906, 11.172053) Norm(0.697215, 0.16669, 0.697212) UV(0.36079, 0.118131) -V 4732: Pos(1.953162, -5.847043, 10.453211) Norm(0.499997, -0.0, -0.866027) UV(0.385064, 0.095277) -V 4733: Pos(1.923493, -6.203906, 10.5046) Norm(0.493004, 0.16669, -0.85391) UV(0.369608, 0.087682) -V 4734: Pos(1.244208, -5.847043, 10.746869) Norm(-0.965926, -0.0, -0.258819) UV(0.376925, 0.150406) -V 4735: Pos(1.301525, -6.203906, 10.762227) Norm(-0.952412, 0.16669, -0.255197) UV(0.365484, 0.155775) -V 4736: Pos(1.953162, -5.847043, 11.290869) Norm(0.499999, -0.0, 0.866026) UV(0.370834, 0.123237) -V 4737: Pos(1.923493, -6.203906, 11.23948) Norm(0.493005, 0.16669, 0.853909) UV(0.360332, 0.121897) -V 4738: Pos(2.053324, -5.847043, 10.530067) Norm(0.707106, 0.0, -0.707107) UV(0.38196, 0.099533) -V 4739: Pos(2.011364, -6.203906, 10.572026) Norm(0.697214, 0.16669, -0.697214) UV(0.367708, 0.092692) -V 4740: Pos(1.292522, -5.847043, 10.630229) Norm(-0.866025, -0.0, -0.5) UV(0.379072, 0.153761) -V 4741: Pos(1.343911, -6.203906, 10.659898) Norm(-0.853909, 0.16669, -0.493004) UV(0.367066, 0.159921) -V 4742: Pos(1.836522, -5.847043, 11.339183) Norm(0.258814, -0.0, 0.965927) UV(0.37044, 0.126227) -V 4743: Pos(1.821164, -6.203906, 11.281866) Norm(0.255193, 0.16669, 0.952413) UV(0.360108, 0.125632) -V 4744: Pos(1.711351, -5.847043, 11.355662) Norm(0.0, -0.0, 1.0) UV(0.370358, 0.129229) -V 4745: Pos(1.58618, -5.847043, 11.339183) Norm(-0.258814, -0.0, 0.965927) UV(0.370541, 0.132217) -V 4746: Pos(1.601539, -6.203906, 11.281866) Norm(-0.255193, 0.16669, 0.952413) UV(0.360152, 0.132996) -V 4747: Pos(1.711351, -6.203906, 11.296323) Norm(0.0, 0.166689, 0.986009) UV(0.359983, 0.129332) -V 4748: Pos(2.13018, -5.847043, 10.630229) Norm(0.866026, 0.0, -0.499999) UV(0.379223, 0.103481) -V 4749: Pos(2.078791, -6.203906, 10.659898) Norm(0.85391, 0.16669, -0.493004) UV(0.366127, 0.097466) -V 4750: Pos(1.369378, -5.847043, 10.530067) Norm(-0.707107, -0.0, -0.707107) UV(0.381652, 0.157253) -V 4751: Pos(1.411337, -6.203906, 10.572026) Norm(-0.697215, 0.16669, -0.697213) UV(0.368939, 0.164284) -V 4752: Pos(1.46954, -5.847043, 11.290869) Norm(-0.499999, -0.0, 0.866026) UV(0.370913, 0.135168) -V 4753: Pos(2.178494, -5.847043, 10.746869) Norm(0.965926, -0.0, -0.258818) UV(0.376967, 0.107193) -V 4754: Pos(2.121177, -6.203906, 10.762227) Norm(0.952412, 0.16669, -0.255197) UV(0.36467, 0.101913) -V 4755: Pos(1.46954, -5.847043, 10.453211) Norm(-0.499997, -0.0, -0.866027) UV(0.384608, 0.160956) -V 4756: Pos(1.499209, -6.203906, 10.5046) Norm(-0.493004, 0.16669, -0.85391) UV(0.370883, 0.168884) -V 4757: Pos(1.369378, -5.847043, 11.214012) Norm(-0.70711, -0.0, 0.707104) UV(0.371536, 0.138159) -V 4758: Pos(2.194973, -5.847043, 10.87204) Norm(1.0, 0.0, -0.0) UV(0.375119, 0.11067) -V 4759: Pos(2.135634, -6.203906, 10.87204) Norm(0.986009, 0.166691, -0.0) UV(0.363303, 0.106145) -V 4760: Pos(1.58618, -5.847043, 10.404897) Norm(-0.258819, -0.0, -0.965926) UV(0.388, 0.165107) -V 4761: Pos(1.601539, -6.203906, 10.462214) Norm(-0.255197, 0.16669, -0.952412) UV(0.373052, 0.173615) -V 4762: Pos(1.711351, -5.847043, 10.388417) Norm(0.0, -0.0, -1.0) UV(0.392143, 0.169824) -V 4763: Pos(1.711351, -6.203906, 10.447757) Norm(0.0, 0.166691, -0.986009) UV(0.375358, 0.17857) -V 4764: Pos(1.601539, -5.49018, 10.462214) Norm(-0.174906, 0.7371, -0.652757) UV(0.397846, 0.152475) -V 4765: Pos(1.711351, -5.49018, 10.447757) Norm(0.0, 0.737102, -0.675782) UV(0.402758, 0.154904) -V 4766: Pos(2.135634, -5.49018, 10.87204) Norm(0.675782, 0.737101, -1e-06) UV(0.383482, 0.115902) -V 4767: Pos(2.121177, -5.49018, 10.981853) Norm(0.652757, 0.7371, 0.174904) UV(0.381675, 0.118245) -V 4768: Pos(1.411337, -5.49018, 11.172053) Norm(-0.477853, 0.7371, 0.477849) UV(0.379065, 0.13582) -V 4769: Pos(1.343911, -5.49018, 11.084182) Norm(-0.585246, 0.7371, 0.337892) UV(0.380201, 0.138112) -V 4770: Pos(1.499209, -5.49018, 10.5046) Norm(-0.337889, 0.7371, -0.585247) UV(0.393881, 0.150461) -V 4771: Pos(2.121177, -5.49018, 10.762227) Norm(0.652757, 0.7371, -0.174905) UV(0.385576, 0.113919) -V 4772: Pos(1.499209, -5.49018, 11.23948) Norm(-0.337891, 0.7371, 0.585246) UV(0.37851, 0.133635) -V 4773: Pos(1.411337, -5.49018, 10.572026) Norm(-0.477851, 0.7371, -0.477851) UV(0.389981, 0.148418) -V 4774: Pos(2.078791, -5.49018, 10.659898) Norm(0.585246, 0.7371, -0.337892) UV(0.388108, 0.111763) -V 4775: Pos(1.601539, -5.49018, 11.281866) Norm(-0.174902, 0.7371, 0.652758) UV(0.378133, 0.131559) -V 4776: Pos(1.821164, -5.49018, 11.281866) Norm(0.174902, 0.7371, 0.652758) UV(0.378204, 0.126986) -V 4777: Pos(1.711351, -5.49018, 11.296323) Norm(0.0, 0.737101, 0.675783) UV(0.377918, 0.129199) -V 4778: Pos(1.343911, -5.49018, 10.659898) Norm(-0.585246, 0.7371, -0.337892) UV(0.387218, 0.146208) -V 4779: Pos(2.011364, -5.49018, 10.572026) Norm(0.47785, 0.737101, -0.477851) UV(0.391487, 0.109314) -V 4780: Pos(1.923493, -5.49018, 11.23948) Norm(0.337891, 0.7371, 0.585246) UV(0.378551, 0.124912) -V 4781: Pos(1.301525, -5.49018, 10.762227) Norm(-0.652757, 0.737101, -0.174904) UV(0.384962, 0.144152) -V 4782: Pos(1.923493, -5.49018, 10.5046) Norm(0.337889, 0.7371, -0.585247) UV(0.39588, 0.107176) -V 4783: Pos(2.011364, -5.49018, 11.172053) Norm(0.477853, 0.7371, 0.477849) UV(0.379196, 0.122533) -V 4784: Pos(1.287068, -5.49018, 10.87204) Norm(-0.675783, 0.7371, 1e-06) UV(0.382981, 0.142158) -V 4785: Pos(1.821164, -5.49018, 10.462214) Norm(0.174906, 0.7371, -0.652757) UV(0.400773, 0.10468) -V 4786: Pos(2.078791, -5.49018, 11.084182) Norm(0.585247, 0.7371, 0.337891) UV(0.380374, 0.12034) -V 4787: Pos(1.301525, -5.49018, 10.981853) Norm(-0.652756, 0.7371, 0.174905) UV(0.381474, 0.140166) -V 4788: Pos(1.711351, -5.49018, 10.447757) Norm(0.0, 0.737102, -0.675782) UV(0.407592, 0.101445) -V 4789: Pos(2.203452, -8.134203, 11.003898) Norm(0.783467, 0.584905, 0.209918) UV(0.280696, 0.723264) -V 4790: Pos(2.115564, -8.694091, 10.980349) Norm(0.940052, -0.229905, 0.251885) UV(0.263052, 0.726767) -V 4791: Pos(2.129824, -8.694091, 10.87204) Norm(0.973213, -0.229906, 0.0) UV(0.262277, 0.723258) -V 4792: Pos(2.220811, -8.134203, 10.87204) Norm(0.811103, 0.584903, -2e-06) UV(0.279808, 0.719105) -V 4793: Pos(2.22489, -6.370966, 10.87204) Norm(0.9712, 0.238264, 0.0) UV(0.356556, 0.104544) -V 4794: Pos(2.207391, -6.370966, 10.739126) Norm(0.938108, 0.238263, -0.251365) UV(0.357506, 0.099986) -V 4795: Pos(1.578437, -6.370966, 10.375999) Norm(-0.251363, 0.238263, -0.938108) UV(0.365015, 0.177081) -V 4796: Pos(1.454581, -6.370966, 10.427302) Norm(-0.485599, 0.238263, -0.841085) UV(0.363244, 0.171966) -V 4797: Pos(1.266613, -6.370966, 11.128809) Norm(-0.841084, 0.238263, 0.4856) UV(0.355807, 0.145371) -V 4798: Pos(2.207391, -6.370966, 11.004953) Norm(0.938108, 0.238263, 0.251366) UV(0.355756, 0.108946) -V 4799: Pos(1.711351, -6.370966, 10.3585) Norm(0.0, 0.238264, -0.971201) UV(0.366899, 0.182515) -V 4800: Pos(1.21531, -6.370966, 11.004953) Norm(-0.938108, 0.238263, 0.251366) UV(0.356605, 0.149472) -V 4801: Pos(2.156088, -6.370966, 11.128809) Norm(0.841084, 0.238262, 0.485601) UV(0.355129, 0.113191) -V 4802: Pos(1.844265, -6.370966, 10.375999) Norm(0.251363, 0.238263, -0.938109) UV(0.362679, 0.079567) -V 4803: Pos(1.711351, -6.370966, 10.3585) Norm(0.0, 0.238264, -0.971201) UV(0.363922, 0.073932) -V 4804: Pos(1.197812, -6.370966, 10.87204) Norm(-0.9712, 0.238264, 0.0) UV(0.357659, 0.153678) -V 4805: Pos(2.074478, -6.370966, 11.235167) Norm(0.686743, 0.238263, 0.686743) UV(0.354605, 0.117345) -V 4806: Pos(1.96812, -6.370966, 10.427302) Norm(0.4856, 0.238263, -0.841085) UV(0.361218, 0.085076) -V 4807: Pos(1.21531, -6.370966, 10.739126) Norm(-0.938108, 0.238263, -0.251365) UV(0.358795, 0.157971) -V 4808: Pos(1.96812, -6.370966, 11.316777) Norm(0.485602, 0.238262, 0.841084) UV(0.354241, 0.12144) -V 4809: Pos(2.074478, -6.370966, 10.508913) Norm(0.686745, 0.238262, -0.68674) UV(0.359966, 0.090272) -V 4810: Pos(1.266613, -6.370966, 10.615271) Norm(-0.841085, 0.238263, -0.485599) UV(0.360179, 0.162442) -V 4811: Pos(1.844265, -6.370966, 11.36808) Norm(0.251363, 0.238263, 0.938108) UV(0.354106, 0.125467) -V 4812: Pos(1.578437, -6.370966, 11.36808) Norm(-0.251363, 0.238263, 0.938108) UV(0.354257, 0.13339) -V 4813: Pos(1.711351, -6.370966, 11.385578) Norm(0.0, 0.238263, 0.971201) UV(0.354124, 0.129428) -V 4814: Pos(2.156088, -6.370966, 10.615271) Norm(0.841085, 0.238263, -0.485599) UV(0.358682, 0.095221) -V 4815: Pos(1.348224, -6.370966, 10.508913) Norm(-0.686745, 0.238263, -0.68674) UV(0.361589, 0.167076) -V 4816: Pos(1.351108, -8.134203, 10.511797) Norm(-0.573538, 0.584904, -0.573535) UV(0.276933, 0.782151) -V 4817: Pos(1.415446, -8.694091, 10.576135) Norm(-0.688167, -0.229905, -0.688164) UV(0.259545, 0.776666) -V 4818: Pos(1.348943, -8.694091, 10.662804) Norm(-0.842827, -0.229905, -0.486607) UV(0.260667, 0.773167) -V 4819: Pos(1.270146, -8.134203, 10.61731) Norm(-0.702434, 0.584902, -0.405556) UV(0.278161, 0.778137) -V 4820: Pos(1.711351, -8.134203, 10.362579) Norm(0.0, 0.584904, -0.811103) UV(0.272902, 0.794629) -V 4821: Pos(1.711351, -8.694091, 10.453567) Norm(0.0, -0.229905, -0.973213) UV(0.255107, 0.787119) -V 4822: Pos(1.603042, -8.694091, 10.467826) Norm(-0.251883, -0.229905, -0.940053) UV(0.256809, 0.78361) -V 4823: Pos(1.579493, -8.134203, 10.379939) Norm(-0.209922, 0.584899, -0.78347) UV(0.274131, 0.790401) -V 4824: Pos(1.21925, -8.134203, 11.003898) Norm(-0.783466, 0.584905, 0.209922) UV(0.281038, 0.765813) -V 4825: Pos(1.307137, -8.694091, 10.980349) Norm(-0.940052, -0.229905, 0.251885) UV(0.263256, 0.762597) -V 4826: Pos(1.348943, -8.694091, 11.081276) Norm(-0.842828, -0.229905, 0.486606) UV(0.263856, 0.759039) -V 4827: Pos(1.270146, -8.134203, 11.12677) Norm(-0.702436, 0.584904, 0.405551) UV(0.28171, 0.761607) -V 4828: Pos(2.152556, -8.134203, 11.12677) Norm(0.702436, 0.584904, 0.40555) UV(0.281462, 0.727539) -V 4829: Pos(2.073759, -8.694091, 11.081276) Norm(0.842828, -0.229905, 0.486605) UV(0.263667, 0.730305) -V 4830: Pos(1.843209, -8.134203, 10.379939) Norm(0.209925, 0.584909, -0.783462) UV(0.273431, 0.698889) -V 4831: Pos(1.81966, -8.694091, 10.467826) Norm(0.251882, -0.229905, -0.940053) UV(0.256263, 0.706019) -V 4832: Pos(1.711351, -8.694091, 10.453567) Norm(0.0, -0.229905, -0.973213) UV(0.254491, 0.702565) -V 4833: Pos(1.711351, -8.134203, 10.362579) Norm(0.0, 0.584904, -0.811103) UV(0.272093, 0.694604) -V 4834: Pos(1.201891, -8.134203, 10.87204) Norm(-0.811103, 0.584903, -2e-06) UV(0.280199, 0.769981) -V 4835: Pos(1.292878, -8.694091, 10.87204) Norm(-0.973213, -0.229906, 0.0) UV(0.262526, 0.766131) -V 4836: Pos(2.071594, -8.134203, 11.232283) Norm(0.573531, 0.584899, 0.573547) UV(0.282059, 0.731824) -V 4837: Pos(2.007256, -8.694091, 11.167945) Norm(0.688164, -0.229905, 0.688167) UV(0.26415, 0.733872) -V 4838: Pos(1.966081, -8.134203, 10.430834) Norm(0.405553, 0.584904, -0.702434) UV(0.274938, 0.702964) -V 4839: Pos(1.920587, -8.694091, 10.509631) Norm(0.486607, -0.229905, -0.842827) UV(0.257804, 0.709422) -V 4840: Pos(1.21925, -8.134203, 10.740182) Norm(-0.783465, 0.584903, -0.20993) UV(0.279249, 0.77411) -V 4841: Pos(1.307137, -8.694091, 10.763731) Norm(-0.940052, -0.229905, -0.251885) UV(0.261668, 0.769659) -V 4842: Pos(1.966081, -8.134203, 11.313245) Norm(0.405551, 0.5849, 0.702439) UV(0.28245, 0.735981) -V 4843: Pos(1.920587, -8.694091, 11.234447) Norm(0.486608, -0.229905, 0.842826) UV(0.264485, 0.737458) -V 4844: Pos(2.071594, -8.134203, 10.511797) Norm(0.573535, 0.5849, -0.573541) UV(0.276358, 0.706931) -V 4845: Pos(2.007256, -8.694091, 10.576135) Norm(0.688168, -0.229905, -0.688164) UV(0.259142, 0.712848) -V 4846: Pos(1.266613, -8.083642, 10.615271) Norm(-0.610801, -0.708917, -0.352644) UV(0.301425, 0.1701) -V 4847: Pos(1.215311, -8.083642, 10.739126) Norm(-0.681259, -0.708917, -0.182546) UV(0.300918, 0.165242) -V 4848: Pos(1.843209, -8.134203, 11.364141) Norm(0.209931, 0.584904, 0.783464) UV(0.282696, 0.740134) -V 4849: Pos(1.81966, -8.694091, 11.276254) Norm(0.251884, -0.229906, 0.940052) UV(0.264719, 0.741038) -V 4850: Pos(2.152556, -8.134203, 10.61731) Norm(0.702436, 0.584904, -0.40555) UV(0.277626, 0.710982) -V 4851: Pos(2.073759, -8.694091, 10.662804) Norm(0.842827, -0.229905, -0.486607) UV(0.260344, 0.716301) -V 4852: Pos(1.711351, -8.082157, 11.369227) Norm(1e-06, -0.79487, 0.60678) UV(0.016837, 0.873751) -V 4853: Pos(1.582669, -8.082157, 11.352285) Norm(-0.15705, -0.794866, 0.586109) UV(0.01679, 0.878216) -V 4854: Pos(1.583725, -8.132718, 11.348346) Norm(-0.191097, 0.674424, 0.713186) UV(0.015045, 0.878179) -V 4855: Pos(1.711351, -8.132718, 11.365149) Norm(1e-06, 0.674427, 0.738342) UV(0.015092, 0.873751) -V 4856: Pos(1.711351, -8.134203, 11.3815) Norm(0.0, 0.584904, 0.811102) UV(0.282855, 0.744384) -V 4857: Pos(1.711351, -8.694091, 11.290512) Norm(0.0, -0.229906, 0.973213) UV(0.264827, 0.744634) -V 4858: Pos(2.203452, -8.134203, 10.740182) Norm(0.783466, 0.584905, -0.209921) UV(0.278781, 0.715058) -V 4859: Pos(2.115564, -8.694091, 10.763731) Norm(0.940052, -0.229905, -0.251886) UV(0.261393, 0.719766) -V 4860: Pos(1.456621, -8.134203, 10.430834) Norm(-0.40555, 0.5849, -0.702439) UV(0.275554, 0.786277) -V 4861: Pos(1.502114, -8.694091, 10.509631) Norm(-0.486608, -0.229905, -0.842826) UV(0.258262, 0.780146) -V 4862: Pos(1.578437, -8.083642, 11.36808) Norm(-0.182545, -0.708921, 0.681255) UV(0.298449, 0.136426) -V 4863: Pos(1.711351, -8.083642, 11.385578) Norm(0.0, -0.708923, 0.705286) UV(0.298191, 0.13155) -V 4864: Pos(1.351108, -8.134203, 11.232283) Norm(-0.573534, 0.584903, 0.57354) UV(0.282263, 0.757375) -V 4865: Pos(1.415446, -8.694091, 11.167945) Norm(-0.688165, -0.229905, 0.688166) UV(0.264294, 0.75545) -V 4866: Pos(1.502114, -8.694091, 11.234447) Norm(-0.486609, -0.229905, 0.842826) UV(0.264635, 0.751849) -V 4867: Pos(1.456621, -8.134203, 11.313245) Norm(-0.405554, 0.584904, 0.702433) UV(0.28266, 0.753104) -V 4868: Pos(1.711351, -8.083642, 10.3585) Norm(0.0, -0.708921, -0.705288) UV(0.30302, 0.18987) -V 4869: Pos(1.578437, -8.083642, 10.375999) Norm(-0.182542, -0.708923, -0.681254) UV(0.302928, 0.184884) -V 4870: Pos(1.844265, -8.083642, 11.36808) Norm(0.182542, -0.708913, 0.681264) UV(0.297988, 0.126663) -V 4871: Pos(1.96812, -8.083642, 11.316777) Norm(0.352645, -0.708913, 0.610805) UV(0.29784, 0.121864) -V 4872: Pos(2.156089, -8.083642, 10.615271) Norm(0.6108, -0.708916, -0.352649) UV(0.297874, 0.09226) -V 4873: Pos(2.074478, -8.083642, 10.508913) Norm(0.498716, -0.708914, -0.498722) UV(0.297982, 0.087265) -V 4874: Pos(1.348224, -8.083642, 10.508913) Norm(-0.498719, -0.708917, -0.498714) UV(0.301969, 0.174998) -V 4875: Pos(1.603042, -8.694091, 11.276254) Norm(-0.251884, -0.229906, 0.940052) UV(0.264798, 0.748241) -V 4876: Pos(1.579493, -8.134203, 11.364141) Norm(-0.209931, 0.584904, 0.783464) UV(0.282849, 0.748741) -V 4877: Pos(1.454581, -8.083642, 11.316777) Norm(-0.352645, -0.708913, 0.610805) UV(0.298746, 0.141192) -V 4878: Pos(2.207392, -8.083642, 10.739126) Norm(0.68126, -0.708917, -0.182541) UV(0.297783, 0.097327) -V 4879: Pos(1.454581, -8.083642, 10.427301) Norm(-0.352642, -0.708913, -0.610808) UV(0.302498, 0.179968) -V 4880: Pos(1.348224, -8.083642, 11.235167) Norm(-0.498716, -0.708916, 0.498718) UV(0.299108, 0.145999) -V 4881: Pos(2.22489, -8.083642, 10.87204) Norm(0.705291, -0.708918, 0.0) UV(0.297724, 0.102356) -V 4882: Pos(1.266613, -8.083642, 11.128809) Norm(-0.610801, -0.708917, 0.352646) UV(0.299511, 0.150859) -V 4883: Pos(2.207392, -8.083642, 11.004953) Norm(0.681261, -0.708916, 0.182541) UV(0.297692, 0.107233) -V 4884: Pos(1.215311, -8.083642, 11.004953) Norm(-0.681259, -0.708916, 0.182548) UV(0.299955, 0.155665) -V 4885: Pos(2.156089, -8.083642, 11.128809) Norm(0.610802, -0.708917, 0.352642) UV(0.297701, 0.112078) -V 4886: Pos(1.844265, -8.083642, 10.375999) Norm(0.182539, -0.708914, -0.681264) UV(0.298074, 0.077021) -V 4887: Pos(1.711351, -8.083642, 10.3585) Norm(0.0, -0.708921, -0.705288) UV(0.297722, 0.07179) -V 4888: Pos(1.197812, -8.083642, 10.87204) Norm(-0.705293, -0.708916, 2e-06) UV(0.300414, 0.160422) -V 4889: Pos(2.074478, -8.083642, 11.235167) Norm(0.498717, -0.708916, 0.498718) UV(0.297753, 0.117002) -V 4890: Pos(1.96812, -8.083642, 10.427301) Norm(0.352643, -0.708913, -0.610808) UV(0.298083, 0.08218) -V 4891: Pos(1.889359, -8.892056, 11.180358) Norm(0.310736, -0.783436, 0.53821) UV(0.257437, 0.738032) -V 4892: Pos(1.963092, -8.892056, 11.123781) Norm(0.439449, -0.783434, 0.439449) UV(0.257128, 0.734697) -V 4893: Pos(1.635105, -8.892056, 10.587487) Norm(0.174731, -0.737703, 0.652122) UV(0.248202, 0.779362) -V 4894: Pos(1.711351, -8.892056, 10.57745) Norm(0.0, -0.737698, 0.67513) UV(0.246848, 0.78202) -V 4895: Pos(1.711351, -8.652523, 10.57745) Norm(0.0, -0.678876, 0.734253) UV(0.238181, 0.778546) -V 4896: Pos(1.635105, -8.652523, 10.587487) Norm(0.190034, -0.678874, 0.709237) UV(0.239297, 0.775763) -V 4897: Pos(1.963092, -8.892056, 10.620298) Norm(0.439448, -0.783434, -0.43945) UV(0.252512, 0.715354) -V 4898: Pos(1.889359, -8.892056, 10.563721) Norm(0.310737, -0.783434, -0.538213) UV(0.251254, 0.712278) -V 4899: Pos(1.403032, -8.892056, 10.694032) Norm(-0.538212, -0.783436, -0.310735) UV(0.253851, 0.771031) -V 4900: Pos(1.367466, -8.892056, 10.779896) Norm(-0.600297, -0.783436, -0.160847) UV(0.25477, 0.767808) -V 4901: Pos(1.803495, -8.892056, 11.215924) Norm(0.160845, -0.783436, 0.600298) UV(0.257616, 0.741334) -V 4902: Pos(1.619207, -8.892056, 11.215924) Norm(-0.160844, -0.783433, 0.600302) UV(0.257651, 0.747995) -V 4903: Pos(1.711351, -8.892056, 11.228055) Norm(0.0, -0.783436, 0.621472) UV(0.257735, 0.744656) -V 4904: Pos(2.01967, -8.892056, 10.694032) Norm(0.53821, -0.783435, -0.31074) UV(0.253602, 0.718516) -V 4905: Pos(1.45961, -8.892056, 10.620298) Norm(-0.439449, -0.783436, -0.439447) UV(0.252814, 0.774239) -V 4906: Pos(1.533343, -8.892056, 11.180358) Norm(-0.310736, -0.783434, 0.538214) UV(0.257505, 0.751314) -V 4907: Pos(2.055236, -8.892056, 10.779896) Norm(0.600297, -0.783435, -0.160852) UV(0.254563, 0.7217) -V 4908: Pos(1.533343, -8.892056, 10.563721) Norm(-0.310737, -0.783434, -0.538213) UV(0.251606, 0.777378) -V 4909: Pos(1.45961, -8.892056, 11.123781) Norm(-0.43945, -0.783435, 0.439447) UV(0.257229, 0.754684) -V 4910: Pos(2.067367, -8.892056, 10.87204) Norm(0.621473, -0.783436, -1e-06) UV(0.255391, 0.724913) -V 4911: Pos(1.619207, -8.892056, 10.528154) Norm(-0.160848, -0.783434, -0.600299) UV(0.250251, 0.780408) -V 4912: Pos(1.403032, -8.892056, 11.050048) Norm(-0.538213, -0.783435, 0.310734) UV(0.256778, 0.758041) -V 4913: Pos(2.055236, -8.892056, 10.964183) Norm(0.600297, -0.783435, 0.160848) UV(0.256091, 0.728157) -V 4914: Pos(1.711351, -8.892056, 10.516024) Norm(0.0, -0.783436, -0.621473) UV(0.24862, 0.783308) -V 4915: Pos(1.367466, -8.892056, 10.964183) Norm(-0.600296, -0.783436, 0.160847) UV(0.256205, 0.761314) -V 4916: Pos(2.01967, -8.892056, 11.050048) Norm(0.538212, -0.783435, 0.310736) UV(0.256639, 0.731408) -V 4917: Pos(1.803495, -8.892056, 10.528154) Norm(0.160849, -0.783433, -0.6003) UV(0.249845, 0.709325) -V 4918: Pos(1.711351, -8.892056, 10.516024) Norm(0.0, -0.783436, -0.621473) UV(0.248161, 0.706502) -V 4919: Pos(1.355335, -8.892056, 10.87204) Norm(-0.621473, -0.783435, 2e-06) UV(0.255561, 0.764562) -V 4920: Pos(1.711351, -5.49018, 11.207572) Norm(0.0, 1.0, 0.0) UV(0.379721, 0.129166) -V 4921: Pos(1.624509, -5.49018, 11.196138) Norm(-0.179435, 0.933388, -0.310791) UV(0.380072, 0.131321) -V 4922: Pos(1.543585, -5.49018, 11.162619) Norm(0.346639, 0.933389, -0.09288) UV(0.380381, 0.133166) -V 4923: Pos(1.387252, -5.49018, 10.958881) Norm(0.31078, 0.933391, 0.179436) UV(0.383208, 0.138794) -V 4924: Pos(1.375819, -5.49018, 10.87204) Norm(0.0, 1.0, 1e-06) UV(0.384403, 0.140801) -V 4925: Pos(1.387252, -5.49018, 10.785198) Norm(0.310788, 0.933389, -0.179433) UV(0.386874, 0.142244) -V 4926: Pos(1.420772, -5.49018, 10.704274) Norm(0.092883, 0.933387, 0.346643) UV(0.389122, 0.143914) -V 4927: Pos(1.474094, -5.49018, 10.634783) Norm(0.0, 1.0, 0.0) UV(0.39151, 0.145732) -V 4928: Pos(1.543585, -5.49018, 10.581461) Norm(0.346636, 0.93339, 0.092875) UV(0.395595, 0.146897) -V 4929: Pos(1.624509, -5.49018, 10.547941) Norm(-0.179435, 0.933387, 0.310792) UV(0.399805, 0.148054) -V 4930: Pos(1.711351, -5.49018, 10.536508) Norm(0.0, 1.0, 0.0) UV(0.404193, 0.150108) -V 4931: Pos(1.711351, -5.49018, 10.536508) Norm(0.0, 1.0, 0.0) UV(0.409868, 0.108465) -V 4932: Pos(1.798193, -5.49018, 10.547941) Norm(0.179435, 0.933387, 0.310792) UV(0.402672, 0.110246) -V 4933: Pos(1.879117, -5.49018, 10.581461) Norm(-0.346636, 0.93339, 0.092875) UV(0.397601, 0.111574) -V 4934: Pos(1.948608, -5.49018, 10.634783) Norm(0.0, 1.0, 0.0) UV(0.393365, 0.112411) -V 4935: Pos(2.00193, -5.49018, 10.704274) Norm(-0.092884, 0.933387, 0.346643) UV(0.389944, 0.114448) -V 4936: Pos(2.03545, -5.49018, 10.785198) Norm(-0.310788, 0.933388, -0.179435) UV(0.387479, 0.116065) -V 4937: Pos(2.046883, -5.49018, 10.87204) Norm(0.0, 1.0, -1e-06) UV(0.385015, 0.117388) -V 4938: Pos(2.03545, -5.49018, 10.958881) Norm(-0.31078, 0.933391, 0.179435) UV(0.383379, 0.119737) -V 4939: Pos(2.00193, -5.49018, 11.039805) Norm(-0.09289, 0.933385, -0.346648) UV(0.382266, 0.12158) -V 4940: Pos(1.948608, -5.49018, 11.109297) Norm(0.0, 1.0, 0.0) UV(0.381011, 0.123225) -V 4941: Pos(1.879117, -5.49018, 11.162619) Norm(-0.346639, 0.933389, -0.09288) UV(0.380396, 0.125456) -V 4942: Pos(1.798193, -5.49018, 11.196138) Norm(0.179435, 0.933388, -0.31079) UV(0.380166, 0.127346) -V 4943: Pos(1.776933, -5.744655, 10.627284) Norm(0.174737, 0.737699, -0.652126) UV(0.398174, 0.126954) -V 4944: Pos(1.711351, -5.744655, 10.618649) Norm(0.0, 0.737702, -0.675126) UV(0.399457, 0.130262) -V 4945: Pos(1.711351, -5.659437, 10.618649) Norm(-0.0, 0.155542, -0.987829) UV(0.395024, 0.129908) -V 4946: Pos(1.776933, -5.659437, 10.627284) Norm(0.255671, 0.155541, -0.954169) UV(0.394959, 0.128339) -V 4947: Pos(1.420772, -5.744655, 10.704274) Norm(0.213582, 0.564824, 0.797093) UV(0.391274, 0.137806) -V 4948: Pos(1.474094, -5.744655, 10.634783) Norm(0.0, 0.0, 1.0) UV(0.393702, 0.137598) -V 4949: Pos(1.494793, -5.744655, 10.655481) Norm(0.47683, -0.738424, 0.476827) UV(0.39372, 0.138277) -V 4950: Pos(1.443995, -5.744655, 10.722094) Norm(0.1078, -0.577197, 0.809458) UV(0.391823, 0.138507) -V 4951: Pos(1.561405, -5.49018, 11.139396) Norm(0.809463, 0.577192, -0.107796) UV(0.381, 0.133429) -V 4952: Pos(1.624509, -5.744655, 11.196138) Norm(-0.412607, 0.564818, -0.714658) UV(0.384145, 0.130591) -V 4953: Pos(1.543585, -5.744655, 11.162619) Norm(0.797098, 0.564816, -0.213581) UV(0.384458, 0.131804) -V 4954: Pos(2.00193, -5.744655, 10.704274) Norm(-0.213585, 0.564827, 0.79709) UV(0.392415, 0.121196) -V 4955: Pos(2.03545, -5.744655, 10.785197) Norm(-0.714654, 0.564824, -0.412606) UV(0.390418, 0.121566) -V 4956: Pos(1.948608, -5.744655, 11.109297) Norm(0.0, -0.03476, 0.999396) UV(0.385428, 0.125632) -V 4957: Pos(1.879117, -5.744655, 11.162619) Norm(-0.7971, 0.564818, -0.213569) UV(0.384627, 0.126681) -V 4958: Pos(1.861297, -5.744655, 11.139396) Norm(-0.809462, -0.577192, -0.107796) UV(0.384453, 0.126247) -V 4959: Pos(1.927909, -5.744655, 11.088598) Norm(-0.476827, -0.738424, -0.476828) UV(0.385101, 0.125455) -V 4960: Pos(1.927909, -5.49018, 10.655481) Norm(-0.47683, 0.738424, 0.476826) UV(0.393749, 0.113324) -V 4961: Pos(1.978706, -5.49018, 10.722094) Norm(-0.107802, 0.577197, 0.809458) UV(0.391213, 0.115002) -V 4962: Pos(1.861297, -5.49018, 11.139396) Norm(-0.809462, 0.577192, -0.107796) UV(0.381197, 0.125062) -V 4963: Pos(1.543585, -5.744655, 10.581461) Norm(0.797098, 0.564822, 0.213569) UV(0.396451, 0.137898) -V 4964: Pos(1.624509, -5.744655, 10.547941) Norm(-0.412607, 0.564818, 0.714658) UV(0.399821, 0.136694) -V 4965: Pos(2.00193, -5.744655, 11.039805) Norm(-0.213595, 0.564816, -0.797095) UV(0.386115, 0.124142) -V 4966: Pos(1.978706, -5.744655, 11.021986) Norm(-0.107813, -0.577192, -0.80946) UV(0.385469, 0.124349) -V 4967: Pos(1.861297, -5.49018, 10.604684) Norm(-0.809462, 0.577194, 0.107785) UV(0.396666, 0.113095) -V 4968: Pos(1.561405, -5.49018, 10.604684) Norm(0.809463, 0.577194, 0.107784) UV(0.394575, 0.145321) -V 4969: Pos(1.561405, -5.744655, 10.604684) Norm(0.809462, -0.577194, 0.107784) UV(0.395617, 0.138689) -V 4970: Pos(1.420772, -5.744655, 11.039805) Norm(0.213594, 0.564819, -0.797093) UV(0.385727, 0.134406) -V 4971: Pos(1.387252, -5.744655, 10.958881) Norm(0.714647, 0.564823, 0.412619) UV(0.386674, 0.135367) -V 4972: Pos(2.03545, -5.744655, 10.958881) Norm(-0.714647, 0.564824, 0.412618) UV(0.387188, 0.123197) -V 4973: Pos(1.375819, -5.744655, 10.87204) Norm(0.0, 1.0, -3.8e-05) UV(0.388219, 0.136184) -V 4974: Pos(1.387252, -5.744655, 10.785197) Norm(0.714653, 0.564823, -0.412609) UV(0.389582, 0.137245) -V 4975: Pos(1.416274, -5.744655, 10.789019) Norm(0.648597, -0.577198, -0.496149) UV(0.388785, 0.137353) -V 4976: Pos(1.405092, -5.744655, 10.87204) Norm(0.674337, -0.738424, 0.0) UV(0.387979, 0.136567) -V 4977: Pos(1.416274, -5.49018, 10.789019) Norm(0.6486, 0.577191, -0.496153) UV(0.386759, 0.141273) -V 4978: Pos(1.711351, -5.49018, 11.178299) Norm(0.0, 0.738425, -0.674336) UV(0.380197, 0.129161) -V 4979: Pos(1.62833, -5.49018, 11.167116) Norm(-0.496149, 0.577194, -0.648602) UV(0.3806, 0.130652) -V 4980: Pos(1.798193, -5.744655, 10.547941) Norm(0.412606, 0.564818, 0.714659) UV(0.401559, 0.123799) -V 4981: Pos(1.879117, -5.744655, 10.581461) Norm(-0.797098, 0.564822, 0.213569) UV(0.398023, 0.121912) -V 4982: Pos(2.006428, -5.744655, 10.789019) Norm(-0.648597, -0.577198, -0.49615) UV(0.38953, 0.121373) -V 4983: Pos(2.006428, -5.49018, 10.789019) Norm(-0.6486, 0.577192, -0.496153) UV(0.387307, 0.117079) -V 4984: Pos(1.416274, -5.744655, 10.955061) Norm(0.64859, -0.577197, 0.49616) UV(0.386789, 0.136039) -V 4985: Pos(1.861297, -5.744655, 10.604684) Norm(-0.809462, -0.577194, 0.107785) UV(0.396833, 0.120837) -V 4986: Pos(1.798193, -5.744655, 11.196138) Norm(0.412608, 0.56482, -0.714656) UV(0.384246, 0.127922) -V 4987: Pos(2.046883, -5.744655, 10.87204) Norm(0.0, 0.04654, -0.998916) UV(0.388686, 0.122641) -V 4988: Pos(2.006428, -5.744655, 10.955061) Norm(-0.648589, -0.577197, 0.496162) UV(0.387257, 0.12267) -V 4989: Pos(2.01761, -5.744655, 10.87204) Norm(-0.674338, -0.738423, 1e-06) UV(0.388461, 0.122245) -V 4990: Pos(1.635105, -8.892056, 11.156591) Norm(0.174736, -0.737703, -0.652121) UV(0.255329, 0.747926) -V 4991: Pos(1.711351, -8.892056, 11.16663) Norm(0.0, -0.737701, -0.675127) UV(0.255275, 0.744667) -V 4992: Pos(1.564056, -8.892056, 11.127162) Norm(0.337565, -0.737704, -0.584673) UV(0.255095, 0.751163) -V 4993: Pos(1.503044, -8.892056, 11.080346) Norm(0.477389, -0.7377, -0.477387) UV(0.254734, 0.754415) -V 4994: Pos(1.456228, -8.892056, 11.019335) Norm(0.584678, -0.7377, -0.337565) UV(0.254393, 0.757675) -V 4995: Pos(1.426799, -8.892056, 10.948285) Norm(0.652124, -0.7377, -0.174737) UV(0.253938, 0.760896) -V 4996: Pos(1.416761, -8.892056, 10.87204) Norm(0.675128, -0.7377, 3e-06) UV(0.253226, 0.764063) -V 4997: Pos(1.426799, -8.892056, 10.795794) Norm(0.652124, -0.7377, 0.174739) UV(0.252431, 0.76722) -V 4998: Pos(1.456228, -8.892056, 10.724745) Norm(0.584681, -0.737699, 0.337563) UV(0.25152, 0.770342) -V 4999: Pos(1.503044, -8.892056, 10.663733) Norm(0.47739, -0.737701, 0.477385) UV(0.25046, 0.773412) -V 5000: Pos(1.564056, -8.892056, 10.616917) Norm(0.337564, -0.737703, 0.584675) UV(0.249402, 0.776459) -V 5001: Pos(1.787597, -8.892056, 10.587487) Norm(-0.174732, -0.737703, 0.652122) UV(0.247855, 0.710405) -V 5002: Pos(1.711351, -8.892056, 10.57745) Norm(0.0, -0.737698, 0.67513) UV(0.246445, 0.707818) -V 5003: Pos(1.858646, -8.892056, 10.616917) Norm(-0.337565, -0.737703, 0.584675) UV(0.249089, 0.713237) -V 5004: Pos(1.919658, -8.892056, 10.663733) Norm(-0.477391, -0.737702, 0.477382) UV(0.250201, 0.716218) -V 5005: Pos(1.966473, -8.892056, 10.724745) Norm(-0.584681, -0.737701, 0.337558) UV(0.251305, 0.719236) -V 5006: Pos(1.995903, -8.892056, 10.795794) Norm(-0.652124, -0.737701, 0.174733) UV(0.252248, 0.722309) -V 5007: Pos(2.005941, -8.892056, 10.87204) Norm(-0.675129, -0.7377, -2e-06) UV(0.253059, 0.725427) -V 5008: Pos(1.995903, -8.892056, 10.948285) Norm(-0.652124, -0.7377, -0.174734) UV(0.253754, 0.728578) -V 5009: Pos(1.966473, -8.892056, 11.019335) Norm(-0.584678, -0.737701, -0.337564) UV(0.254354, 0.731748) -V 5010: Pos(1.919658, -8.892056, 11.080346) Norm(-0.477388, -0.7377, -0.477388) UV(0.254672, 0.734973) -V 5011: Pos(1.858646, -8.892056, 11.127162) Norm(-0.337564, -0.737701, -0.584678) UV(0.255047, 0.738201) -V 5012: Pos(1.787597, -8.892056, 11.156591) Norm(-0.174736, -0.737699, -0.652125) UV(0.255305, 0.741423) -V 5013: Pos(1.460332, -8.652523, 10.9393) Norm(-0.652125, -0.7377, 0.174733) UV(0.064351, 0.016707) -V 5014: Pos(1.451477, -8.652523, 10.87204) Norm(-0.675128, -0.7377, 1e-06) UV(0.066712, 0.014576) -V 5015: Pos(1.451477, -8.87184, 10.87204) Norm(-0.992389, -0.12314, 0.0) UV(0.07157, 0.02142) -V 5016: Pos(1.460332, -8.87184, 10.9393) Norm(-0.958576, -0.123139, 0.256846) UV(0.070083, 0.022511) -V 5017: Pos(1.426799, -8.652523, 10.948285) Norm(0.709235, -0.678874, -0.190041) UV(0.2443, 0.759053) -V 5018: Pos(1.456228, -8.652523, 11.019335) Norm(0.635883, -0.678873, -0.36713) UV(0.244772, 0.756199) -V 5019: Pos(1.966473, -8.652523, 11.019335) Norm(-0.635883, -0.678873, -0.36713) UV(0.244742, 0.733197) -V 5020: Pos(1.995903, -8.652523, 10.948285) Norm(-0.709236, -0.678875, -0.190036) UV(0.244257, 0.730371) -V 5021: Pos(1.787597, -8.652523, 10.587487) Norm(-0.190036, -0.678878, 0.709233) UV(0.239274, 0.713999) -V 5022: Pos(1.711351, -8.652523, 10.57745) Norm(0.0, -0.678876, 0.734253) UV(0.238181, 0.711413) -V 5023: Pos(1.416761, -8.652523, 10.87204) Norm(0.734255, -0.678874, 1e-06) UV(0.24371, 0.761883) -V 5024: Pos(1.919658, -8.652523, 11.080346) Norm(-0.519195, -0.678873, -0.519199) UV(0.245119, 0.736047) -V 5025: Pos(1.858646, -8.652523, 10.616917) Norm(-0.367129, -0.678878, 0.635878) UV(0.240318, 0.716626) -V 5026: Pos(1.426799, -8.652523, 10.795794) Norm(0.709234, -0.678874, 0.190041) UV(0.243009, 0.764697) -V 5027: Pos(1.858646, -8.652523, 11.127162) Norm(-0.367127, -0.678875, -0.635883) UV(0.245399, 0.738912) -V 5028: Pos(1.919658, -8.652523, 10.663733) Norm(-0.519198, -0.678872, 0.519197) UV(0.241277, 0.719301) -V 5029: Pos(1.456228, -8.652523, 10.724745) Norm(0.635884, -0.678874, 0.367127) UV(0.242206, 0.767496) -V 5030: Pos(1.787597, -8.652523, 11.156591) Norm(-0.190039, -0.678875, -0.709235) UV(0.245567, 0.741781) -V 5031: Pos(1.635105, -8.652523, 11.156591) Norm(0.190037, -0.678872, -0.709239) UV(0.24557, 0.747544) -V 5032: Pos(1.711351, -8.652523, 11.16663) Norm(0.0, -0.678869, -0.734259) UV(0.245622, 0.74466) -V 5033: Pos(1.966473, -8.652523, 10.724745) Norm(-0.635883, -0.678874, 0.367128) UV(0.242162, 0.722024) -V 5034: Pos(1.503044, -8.652523, 10.663733) Norm(0.519201, -0.678875, 0.519191) UV(0.241311, 0.770279) -V 5035: Pos(1.564056, -8.652523, 11.127162) Norm(0.367126, -0.678874, -0.635884) UV(0.245403, 0.750429) -V 5036: Pos(1.995903, -8.652523, 10.795794) Norm(-0.709236, -0.678875, 0.190037) UV(0.242958, 0.724781) -V 5037: Pos(1.564056, -8.652523, 10.616917) Norm(0.367128, -0.678877, 0.635879) UV(0.24034, 0.773039) -V 5038: Pos(1.503044, -8.652523, 11.080346) Norm(0.519196, -0.678873, -0.519198) UV(0.245134, 0.753319) -V 5039: Pos(2.005941, -8.652523, 10.87204) Norm(-0.734254, -0.678875, 1e-06) UV(0.243659, 0.727565) -V 5040: Pos(1.711351, -5.744655, 11.125429) Norm(0.0, 0.737699, 0.67513) UV(0.385486, 0.129358) -V 5041: Pos(1.645769, -5.744655, 11.116796) Norm(-0.174733, 0.737701, 0.652124) UV(0.385549, 0.130463) -V 5042: Pos(1.711351, -5.744655, 11.207572) Norm(0.0, -1.0, 0.0) UV(0.384338, 0.129365) -V 5043: Pos(1.584656, -5.744655, 11.091482) Norm(-0.337563, 0.737702, 0.584676) UV(0.385829, 0.131505) -V 5044: Pos(1.532177, -5.744655, 11.051213) Norm(-0.47739, 0.7377, 0.477386) UV(0.386331, 0.132535) -V 5045: Pos(1.474094, -5.744655, 11.109297) Norm(0.0, 0.0, 1.0) UV(0.385281, 0.133115) -V 5046: Pos(1.491909, -5.744655, 10.998734) Norm(-0.584679, 0.737701, 0.337562) UV(0.386924, 0.133488) -V 5047: Pos(1.466595, -5.744655, 10.937622) Norm(-0.652124, 0.7377, 0.174737) UV(0.387798, 0.134296) -V 5048: Pos(1.457961, -5.744655, 10.87204) Norm(-0.675128, 0.737701, 0.0) UV(0.388897, 0.134969) -V 5049: Pos(1.466595, -5.744655, 10.806458) Norm(-0.652124, 0.7377, -0.17474) UV(0.390184, 0.135468) -V 5050: Pos(1.491909, -5.744655, 10.745345) Norm(-0.584678, 0.7377, -0.337565) UV(0.391632, 0.135717) -V 5051: Pos(1.532177, -5.744655, 10.692866) Norm(-0.47739, 0.7377, -0.477386) UV(0.393412, 0.13547) -V 5052: Pos(1.584656, -5.744655, 10.652597) Norm(-0.337563, 0.737702, -0.584678) UV(0.395305, 0.134838) -V 5053: Pos(1.645769, -5.744655, 10.627284) Norm(-0.174737, 0.737699, -0.652126) UV(0.397382, 0.133324) -V 5054: Pos(1.711351, -5.744655, 10.536508) Norm(0.0, -1.0, 0.0) UV(0.404473, 0.133291) -V 5055: Pos(1.711351, -5.744655, 10.536508) Norm(0.0, -1.0, 0.0) UV(0.404621, 0.128053) -V 5056: Pos(1.838046, -5.744655, 10.652597) Norm(0.337563, 0.737702, -0.584678) UV(0.396299, 0.125022) -V 5057: Pos(1.890525, -5.744655, 10.692866) Norm(0.47739, 0.7377, -0.477386) UV(0.394173, 0.123996) -V 5058: Pos(1.948608, -5.744655, 10.634783) Norm(0.0, 0.0, -1.0) UV(0.394649, 0.121783) -V 5059: Pos(1.930793, -5.744655, 10.745345) Norm(0.584679, 0.7377, -0.337564) UV(0.392382, 0.123504) -V 5060: Pos(1.956107, -5.744655, 10.806458) Norm(0.652123, 0.737701, -0.174736) UV(0.390783, 0.123557) -V 5061: Pos(1.964741, -5.744655, 10.87204) Norm(0.675129, 0.737699, -1e-06) UV(0.389333, 0.123961) -V 5062: Pos(1.956107, -5.744655, 10.937622) Norm(0.652124, 0.737701, 0.174733) UV(0.388175, 0.124494) -V 5063: Pos(1.930793, -5.744655, 10.998734) Norm(0.584679, 0.7377, 0.337563) UV(0.387196, 0.125239) -V 5064: Pos(1.890525, -5.744655, 11.051213) Norm(0.477389, 0.737699, 0.477389) UV(0.38647, 0.126212) -V 5065: Pos(1.838046, -5.744655, 11.091482) Norm(0.337561, 0.737699, 0.584681) UV(0.385948, 0.127199) -V 5066: Pos(1.776933, -5.744655, 11.116796) Norm(0.174733, 0.737699, 0.652126) UV(0.385605, 0.128213) -V 5067: Pos(1.776933, -5.659437, 11.116796) Norm(0.255665, 0.155541, 0.954171) UV(0.136813, 0.591729) -V 5068: Pos(1.838046, -5.659437, 11.091482) Norm(0.493912, 0.155543, 0.855487) UV(0.140595, 0.591891) -V 5069: Pos(1.791347, -5.374162, 11.010596) Norm(0.308574, 0.786846, 0.534468) UV(0.138924, 0.60254) -V 5070: Pos(1.75276, -5.374162, 11.02658) Norm(0.159729, 0.786842, 0.596126) UV(0.137943, 0.602552) -V 5071: Pos(1.466595, -5.659437, 10.937622) Norm(-0.95417, 0.155541, 0.25567) UV(0.388634, 0.133199) -V 5072: Pos(1.457961, -5.659437, 10.87204) Norm(-0.987829, 0.155541, 0.0) UV(0.389493, 0.133654) -V 5073: Pos(1.930793, -5.659437, 10.998734) Norm(0.855485, 0.155541, 0.493915) UV(0.388139, 0.12624) -V 5074: Pos(1.890525, -5.659437, 11.051213) Norm(0.698498, 0.155542, 0.698503) UV(0.387533, 0.126913) -V 5075: Pos(1.838046, -5.659437, 10.652597) Norm(0.493914, 0.155541, -0.855486) UV(0.394525, 0.127024) -V 5076: Pos(1.466595, -5.659437, 10.806458) Norm(-0.95417, 0.15554, -0.255669) UV(0.390482, 0.133908) -V 5077: Pos(1.838046, -5.659437, 11.091482) Norm(0.493912, 0.155543, 0.855487) UV(0.387101, 0.127676) -V 5078: Pos(1.890525, -5.659437, 10.692866) Norm(0.698499, 0.155542, -0.698503) UV(0.393272, 0.126035) -V 5079: Pos(1.491909, -5.659437, 10.745345) Norm(-0.855485, 0.155541, -0.493915) UV(0.391558, 0.133893) -V 5080: Pos(1.776933, -5.659437, 11.116796) Norm(0.255665, 0.155541, 0.954171) UV(0.386834, 0.128497) -V 5081: Pos(1.711351, -5.659437, 11.125429) Norm(-0.0, 0.155541, 0.987829) UV(0.386728, 0.129375) -V 5082: Pos(1.645769, -5.659437, 11.116796) Norm(-0.255665, 0.155541, 0.954171) UV(0.386789, 0.130246) -V 5083: Pos(1.930793, -5.659437, 10.745345) Norm(0.855484, 0.155541, -0.493916) UV(0.392051, 0.125464) -V 5084: Pos(1.532177, -5.659437, 10.692866) Norm(-0.6985, 0.155542, -0.698502) UV(0.392693, 0.133524) -V 5085: Pos(1.584656, -5.659437, 11.091482) Norm(-0.493912, 0.155542, 0.855487) UV(0.387016, 0.131083) -V 5086: Pos(1.956107, -5.659437, 10.806458) Norm(0.95417, 0.15554, -0.255667) UV(0.390899, 0.125261) -V 5087: Pos(1.584656, -5.659437, 10.652597) Norm(-0.493914, 0.155541, -0.855486) UV(0.393756, 0.132741) -V 5088: Pos(1.532177, -5.659437, 11.051213) Norm(-0.698499, 0.155543, 0.698502) UV(0.387406, 0.131886) -V 5089: Pos(1.964741, -5.659437, 10.87204) Norm(0.987829, 0.155542, -0.0) UV(0.389819, 0.125365) -V 5090: Pos(1.645769, -5.659437, 10.627284) Norm(-0.255671, 0.155541, -0.954169) UV(0.394597, 0.131506) -V 5091: Pos(1.491909, -5.659437, 10.998734) Norm(-0.855486, 0.155541, 0.493914) UV(0.38794, 0.132601) -V 5092: Pos(1.956107, -5.659437, 10.937622) Norm(0.95417, 0.155542, 0.255668) UV(0.388905, 0.125712) -V 5093: Pos(1.927909, -5.744655, 10.655481) Norm(-0.476831, -0.738426, 0.476823) UV(0.394705, 0.121093) -V 5094: Pos(1.978706, -5.744655, 10.722094) Norm(-0.107803, -0.5772, 0.809456) UV(0.392862, 0.120637) -V 5095: Pos(1.494793, -5.49018, 10.655481) Norm(0.476829, 0.738424, 0.476826) UV(0.391833, 0.144976) -V 5096: Pos(1.443995, -5.49018, 10.722094) Norm(0.1078, 0.577197, 0.809458) UV(0.389976, 0.143542) -V 5097: Pos(1.794372, -5.49018, 11.167116) Norm(0.496148, 0.577194, -0.648602) UV(0.380596, 0.127837) -V 5098: Pos(1.794372, -5.744655, 11.167116) Norm(0.496148, -0.577194, -0.648602) UV(0.383828, 0.128336) -V 5099: Pos(1.711351, -5.744655, 11.178299) Norm(0.0, -0.738425, -0.674336) UV(0.383996, 0.129366) -V 5100: Pos(1.561405, -5.744655, 11.139396) Norm(0.809462, -0.577192, -0.107796) UV(0.384267, 0.132388) -V 5101: Pos(1.494793, -5.744655, 11.088598) Norm(0.476829, -0.738425, -0.476825) UV(0.384953, 0.133292) -V 5102: Pos(2.01761, -5.49018, 10.87204) Norm(-0.674338, 0.738423, 0.0) UV(0.3855, 0.117883) -V 5103: Pos(1.443995, -5.744655, 11.021986) Norm(0.107811, -0.577195, -0.809458) UV(0.385243, 0.134286) -V 5104: Pos(2.006428, -5.49018, 10.955061) Norm(-0.648589, 0.577197, 0.496161) UV(0.384393, 0.119692) -V 5105: Pos(1.711351, -5.49018, 10.565781) Norm(0.0, 0.738425, 0.674336) UV(0.404605, 0.148887) -V 5106: Pos(1.62833, -5.49018, 10.576963) Norm(-0.496147, 0.577193, 0.648603) UV(0.400989, 0.147128) -V 5107: Pos(1.62833, -5.744655, 10.576963) Norm(-0.496147, -0.577193, 0.648603) UV(0.401301, 0.13762) -V 5108: Pos(1.711351, -5.744655, 10.565781) Norm(0.0, -0.738425, 0.674336) UV(0.405542, 0.134956) -V 5109: Pos(1.794372, -5.49018, 10.576963) Norm(0.496147, 0.577193, 0.648603) UV(0.404442, 0.112044) -V 5110: Pos(1.711351, -5.49018, 10.565781) Norm(0.0, 0.738425, 0.674336) UV(0.410259, 0.11057) -V 5111: Pos(1.711351, -5.744655, 10.565781) Norm(0.0, -0.738425, 0.674336) UV(0.40587, 0.126887) -V 5112: Pos(1.794372, -5.744655, 10.576963) Norm(0.496147, -0.577193, 0.648603) UV(0.402851, 0.123318) -V 5113: Pos(1.405092, -5.49018, 10.87204) Norm(0.674337, 0.738424, 0.0) UV(0.384828, 0.140345) -V 5114: Pos(1.416274, -5.49018, 10.955061) Norm(0.648589, 0.577197, 0.496161) UV(0.383942, 0.138795) -V 5115: Pos(1.927909, -5.49018, 11.088598) Norm(-0.476827, 0.738424, -0.476828) UV(0.381484, 0.123431) -V 5116: Pos(1.978706, -5.49018, 11.021986) Norm(-0.107813, 0.577192, -0.80946) UV(0.382475, 0.122289) -V 5117: Pos(1.62833, -5.744655, 11.167116) Norm(-0.496149, -0.577194, -0.648602) UV(0.383808, 0.130299) -V 5118: Pos(1.645762, -5.374162, 10.758436) Norm(0.337557, 0.737698, 0.584685) UV(0.137893, 0.609243) -V 5119: Pos(1.618594, -5.374162, 10.779283) Norm(0.477388, 0.737702, 0.477385) UV(0.137138, 0.609012) -V 5120: Pos(1.618594, -5.452268, 10.779283) Norm(0.519197, 0.67887, 0.519201) UV(0.137687, 0.607732) -V 5121: Pos(1.645762, -5.452268, 10.758436) Norm(0.36712, 0.678871, 0.635891) UV(0.138094, 0.607859) -V 5122: Pos(1.645769, -5.659437, 11.116796) Norm(-0.255665, 0.155541, 0.954171) UV(0.129631, 0.594361) -V 5123: Pos(1.711351, -5.659437, 11.125429) Norm(-0.0, 0.155541, 0.987829) UV(0.133073, 0.592563) -V 5124: Pos(1.711351, -5.374162, 11.032031) Norm(-0.0, 0.78684, 0.617157) UV(0.137022, 0.602812) -V 5125: Pos(1.669942, -5.374162, 11.02658) Norm(-0.159729, 0.786842, 0.596126) UV(0.136207, 0.603278) -V 5126: Pos(1.930793, -5.659437, 10.745345) Norm(0.855484, 0.155541, -0.493916) UV(0.152768, 0.608296) -V 5127: Pos(1.890525, -5.659437, 10.692866) Norm(0.698499, 0.155542, -0.698503) UV(0.151791, 0.611954) -V 5128: Pos(1.824482, -5.374162, 10.758908) Norm(0.43639, 0.786841, -0.4364) UV(0.14176, 0.607782) -V 5129: Pos(1.849908, -5.374162, 10.792044) Norm(0.53447, 0.786842, -0.308582) UV(0.142045, 0.606847) -V 5130: Pos(1.532177, -5.659437, 10.692866) Norm(-0.6985, 0.155542, -0.698502) UV(0.132503, 0.619744) -V 5131: Pos(1.491909, -5.659437, 10.745345) Norm(-0.855485, 0.155541, -0.493915) UV(0.129237, 0.617682) -V 5132: Pos(1.572795, -5.374162, 10.792044) Norm(-0.53447, 0.786844, -0.308576) UV(0.136051, 0.609135) -V 5133: Pos(1.59822, -5.374162, 10.758908) Norm(-0.436391, 0.786842, -0.436396) UV(0.136874, 0.609616) -V 5134: Pos(1.584656, -5.659437, 11.091482) Norm(-0.493912, 0.155542, 0.855487) UV(0.126868, 0.597099) -V 5135: Pos(1.631355, -5.374162, 11.010596) Norm(-0.308574, 0.786845, 0.534468) UV(0.135504, 0.603909) -V 5136: Pos(1.956107, -5.659437, 10.806458) Norm(0.95417, 0.15554, -0.255667) UV(0.152768, 0.604537) -V 5137: Pos(1.865891, -5.374162, 10.830631) Norm(0.596124, 0.786843, -0.15973) UV(0.142091, 0.605865) -V 5138: Pos(1.584656, -5.659437, 10.652597) Norm(-0.493914, 0.155541, -0.855486) UV(0.13624, 0.620752) -V 5139: Pos(1.631355, -5.374162, 10.733483) Norm(-0.308577, 0.786847, -0.534465) UV(0.137787, 0.609898) -V 5140: Pos(1.532177, -5.659437, 11.051213) Norm(-0.698499, 0.155543, 0.698502) UV(0.124933, 0.600428) -V 5141: Pos(1.59822, -5.374162, 10.98517) Norm(-0.436388, 0.786846, 0.436393) UV(0.13499, 0.604722) -V 5142: Pos(1.964741, -5.659437, 10.87204) Norm(0.987829, 0.155542, -0.0) UV(0.151933, 0.600847) -V 5143: Pos(1.871342, -5.374162, 10.87204) Norm(0.617152, 0.786844, -5e-06) UV(0.141839, 0.604921) -V 5144: Pos(1.645769, -5.659437, 10.627284) Norm(-0.255671, 0.155541, -0.954169) UV(0.140071, 0.620753) -V 5145: Pos(1.669942, -5.374162, 10.7175) Norm(-0.159733, 0.786842, -0.596125) UV(0.138759, 0.609934) -V 5146: Pos(1.491909, -5.659437, 10.998734) Norm(-0.855486, 0.155541, 0.493914) UV(0.123937, 0.604112) -V 5147: Pos(1.572795, -5.374162, 10.952036) Norm(-0.534472, 0.786842, 0.308577) UV(0.134685, 0.605645) -V 5148: Pos(1.956107, -5.659437, 10.937622) Norm(0.95417, 0.155542, 0.255668) UV(0.150043, 0.597553) -V 5149: Pos(1.865891, -5.374162, 10.913448) Norm(0.596123, 0.786844, 0.159727) UV(0.141396, 0.604064) -V 5150: Pos(1.711351, -5.659437, 10.618649) Norm(-0.0, 0.155542, -0.987829) UV(0.143823, 0.619898) -V 5151: Pos(1.711351, -5.374162, 10.712049) Norm(-0.0, 0.786841, -0.617155) UV(0.139679, 0.609677) -V 5152: Pos(1.466595, -5.659437, 10.937622) Norm(-0.95417, 0.155541, 0.25567) UV(0.123932, 0.60789) -V 5153: Pos(1.556811, -5.374162, 10.913448) Norm(-0.596123, 0.786844, 0.159733) UV(0.134647, 0.606633) -V 5154: Pos(1.930793, -5.659437, 10.998734) Norm(0.855485, 0.155541, 0.493915) UV(0.147385, 0.594884) -V 5155: Pos(1.849908, -5.374162, 10.952036) Norm(0.534472, 0.78684, 0.308582) UV(0.140736, 0.603334) -V 5156: Pos(1.776933, -5.659437, 10.627284) Norm(0.255671, 0.155541, -0.954169) UV(0.147171, 0.617971) -V 5157: Pos(1.75276, -5.374162, 10.7175) Norm(0.159734, 0.786842, -0.596125) UV(0.140519, 0.609246) -V 5158: Pos(1.457961, -5.659437, 10.87204) Norm(-0.987829, 0.155541, 0.0) UV(0.124764, 0.61159) -V 5159: Pos(1.55136, -5.374162, 10.87204) Norm(-0.617154, 0.786843, 4e-06) UV(0.134892, 0.607584) -V 5160: Pos(1.890525, -5.659437, 11.051213) Norm(0.698498, 0.155542, 0.698503) UV(0.14416, 0.593012) -V 5161: Pos(1.824482, -5.374162, 10.98517) Norm(0.436386, 0.786845, 0.436398) UV(0.139888, 0.602804) -V 5162: Pos(1.838046, -5.659437, 10.652597) Norm(0.493914, 0.155541, -0.855486) UV(0.149886, 0.615258) -V 5163: Pos(1.791347, -5.374162, 10.733483) Norm(0.308576, 0.786847, -0.534465) UV(0.141232, 0.6086) -V 5164: Pos(1.466595, -5.659437, 10.806458) Norm(-0.95417, 0.15554, -0.255669) UV(0.126657, 0.614884) -V 5165: Pos(1.556811, -5.374162, 10.830631) Norm(-0.596125, 0.786843, -0.159727) UV(0.135354, 0.608451) -V 5166: Pos(1.711351, -5.374162, 11.003218) Norm(0.0, 0.737706, -0.675122) UV(0.137266, 0.603409) -V 5167: Pos(1.6774, -5.374162, 10.998748) Norm(0.174731, 0.737699, -0.652127) UV(0.136585, 0.603798) -V 5168: Pos(1.645762, -5.374162, 10.985643) Norm(0.337566, 0.737701, -0.584676) UV(0.136015, 0.604337) -V 5169: Pos(1.618594, -5.374162, 10.964796) Norm(0.477394, 0.737697, -0.477387) UV(0.135586, 0.605) -V 5170: Pos(1.597748, -5.374162, 10.937629) Norm(0.584676, 0.737702, -0.337563) UV(0.135355, 0.605762) -V 5171: Pos(1.584643, -5.374162, 10.905991) Norm(0.652126, 0.737699, -0.174734) UV(0.13532, 0.606563) -V 5172: Pos(1.580173, -5.374162, 10.87204) Norm(0.675128, 0.737701, 3e-06) UV(0.13552, 0.60734) -V 5173: Pos(1.584643, -5.374162, 10.838088) Norm(0.652122, 0.7377, 0.174742) UV(0.135898, 0.608045) -V 5174: Pos(1.597748, -5.374162, 10.806451) Norm(0.584681, 0.737699, 0.337563) UV(0.136453, 0.608617) -V 5175: Pos(1.6774, -5.374162, 10.745332) Norm(0.174738, 0.737698, 0.652125) UV(0.138683, 0.609268) -V 5176: Pos(1.711351, -5.374162, 10.740862) Norm(0.0, 0.737707, 0.675121) UV(0.13945, 0.609082) -V 5177: Pos(1.745302, -5.374162, 10.745332) Norm(-0.174738, 0.737698, 0.652125) UV(0.140143, 0.608708) -V 5178: Pos(1.77694, -5.374162, 10.758436) Norm(-0.337558, 0.737699, 0.584683) UV(0.140723, 0.608171) -V 5179: Pos(1.804108, -5.374162, 10.779283) Norm(-0.47739, 0.737703, 0.477382) UV(0.141146, 0.607496) -V 5180: Pos(1.824954, -5.374162, 10.806451) Norm(-0.584681, 0.737701, 0.33756) UV(0.141391, 0.606735) -V 5181: Pos(1.838059, -5.374162, 10.838088) Norm(-0.652123, 0.737702, 0.174734) UV(0.141415, 0.605933) -V 5182: Pos(1.842529, -5.374162, 10.87204) Norm(-0.675129, 0.737699, -7e-06) UV(0.141223, 0.605156) -V 5183: Pos(1.838059, -5.374162, 10.905991) Norm(-0.652125, 0.737699, -0.174736) UV(0.140846, 0.60445) -V 5184: Pos(1.824954, -5.374162, 10.937629) Norm(-0.584675, 0.737704, -0.337561) UV(0.140296, 0.603862) -V 5185: Pos(1.804108, -5.374162, 10.964796) Norm(-0.477396, 0.737697, -0.477384) UV(0.139613, 0.603431) -V 5186: Pos(1.77694, -5.374162, 10.985643) Norm(-0.337567, 0.737702, -0.584675) UV(0.138834, 0.603219) -V 5187: Pos(1.745302, -5.374162, 10.998748) Norm(-0.174731, 0.737699, -0.652127) UV(0.138033, 0.603213) -V 5188: Pos(1.785499, -5.452268, 10.852172) Norm(0.497747, 0.857006, -0.133371) UV(0.139331, 0.606154) -V 5189: Pos(1.777831, -5.452268, 10.833657) Norm(0.446253, 0.857015, -0.257652) UV(0.139321, 0.606406) -V 5190: Pos(1.717332, -5.291028, 10.868587) Norm(0.501616, 0.815169, -0.289622) UV(0.138396, 0.606251) -V 5191: Pos(1.718022, -5.291028, 10.870253) Norm(0.559482, 0.815171, -0.149919) UV(0.138396, 0.606242) -V 5192: Pos(1.645762, -5.452268, 10.985643) Norm(0.367133, 0.678871, -0.635884) UV(0.137104, 0.6052) -V 5193: Pos(1.618594, -5.452268, 10.964796) Norm(0.519198, 0.678875, -0.519194) UV(0.136878, 0.605563) -V 5194: Pos(1.838059, -5.452268, 10.838088) Norm(-0.709237, 0.678874, 0.190035) UV(0.140004, 0.606092) -V 5195: Pos(1.842529, -5.452268, 10.87204) Norm(-0.734254, 0.678875, -2e-06) UV(0.139908, 0.605673) -V 5196: Pos(1.6774, -5.452268, 10.745332) Norm(0.19004, 0.678873, 0.709236) UV(0.138521, 0.607873) -V 5197: Pos(1.597748, -5.452268, 10.937629) Norm(0.635884, 0.678873, -0.367128) UV(0.136753, 0.605972) -V 5198: Pos(1.838059, -5.452268, 10.905991) Norm(-0.709237, 0.678875, -0.190031) UV(0.139705, 0.605293) -V 5199: Pos(1.711351, -5.452268, 10.740862) Norm(0.0, 0.678875, 0.734254) UV(0.138937, 0.607781) -V 5200: Pos(1.584643, -5.452268, 10.905991) Norm(0.709235, 0.678876, -0.190036) UV(0.136735, 0.6064) -V 5201: Pos(1.824954, -5.452268, 10.937629) Norm(-0.635884, 0.678873, -0.367128) UV(0.139415, 0.604976) -V 5202: Pos(1.745302, -5.452268, 10.745332) Norm(-0.19004, 0.678873, 0.709236) UV(0.139314, 0.60758) -V 5203: Pos(1.580173, -5.452268, 10.87204) Norm(0.734255, 0.678874, -2e-06) UV(0.13683, 0.606817) -V 5204: Pos(1.804108, -5.452268, 10.964796) Norm(-0.519198, 0.678878, -0.519189) UV(0.139049, 0.60475) -V 5205: Pos(1.77694, -5.452268, 10.758436) Norm(-0.367122, 0.678872, 0.635888) UV(0.13963, 0.607292) -V 5206: Pos(1.584643, -5.452268, 10.838088) Norm(0.709235, 0.678874, 0.19004) UV(0.137029, 0.607196) -V 5207: Pos(1.77694, -5.452268, 10.985643) Norm(-0.367134, 0.67887, -0.635884) UV(0.138639, 0.604622) -V 5208: Pos(1.804108, -5.452268, 10.779283) Norm(-0.519198, 0.678875, 0.519194) UV(0.139858, 0.606929) -V 5209: Pos(1.597748, -5.452268, 10.806451) Norm(0.635883, 0.678874, 0.367127) UV(0.137323, 0.607507) -V 5210: Pos(1.745302, -5.452268, 10.998748) Norm(-0.190032, 0.678874, -0.709238) UV(0.13821, 0.604612) -V 5211: Pos(1.711351, -5.452268, 11.003218) Norm(0.0, 0.678873, -0.734255) UV(0.137793, 0.604707) -V 5212: Pos(1.6774, -5.452268, 10.998748) Norm(0.190033, 0.678876, -0.709236) UV(0.137417, 0.604911) -V 5213: Pos(1.824954, -5.452268, 10.806451) Norm(-0.635884, 0.678876, 0.367123) UV(0.139988, 0.606521) -V 5214: Pos(1.711351, -5.452268, 10.948804) Norm(0.0, 0.857013, 0.515295) UV(0.13803, 0.605339) -V 5215: Pos(1.691483, -5.452268, 10.946188) Norm(-0.13339, 0.857004, 0.497745) UV(0.137807, 0.605457) -V 5216: Pos(1.672969, -5.452268, 10.938519) Norm(-0.257632, 0.857014, 0.446265) UV(0.137623, 0.60563) -V 5217: Pos(1.657071, -5.452268, 10.92632) Norm(-0.364365, 0.857013, 0.364373) UV(0.137489, 0.605843) -V 5218: Pos(1.644872, -5.452268, 10.910421) Norm(-0.446261, 0.857009, 0.257657) UV(0.137414, 0.606084) -V 5219: Pos(1.637203, -5.452268, 10.891908) Norm(-0.497744, 0.857009, 0.133369) UV(0.137405, 0.606335) -V 5220: Pos(1.634587, -5.452268, 10.87204) Norm(-0.51531, 0.857004, 0.0) UV(0.137461, 0.606581) -V 5221: Pos(1.637203, -5.452268, 10.852172) Norm(-0.497743, 0.857009, -0.133369) UV(0.13758, 0.606803) -V 5222: Pos(1.644872, -5.452268, 10.833657) Norm(-0.446255, 0.857013, -0.257651) UV(0.137751, 0.606988) -V 5223: Pos(1.657071, -5.452268, 10.81776) Norm(-0.364369, 0.85701, -0.364374) UV(0.137965, 0.607122) -V 5224: Pos(1.672969, -5.452268, 10.80556) Norm(-0.257633, 0.857016, -0.446262) UV(0.138206, 0.607196) -V 5225: Pos(1.691483, -5.452268, 10.797892) Norm(-0.13339, 0.857006, -0.497743) UV(0.138458, 0.607206) -V 5226: Pos(1.711351, -5.452268, 10.795276) Norm(0.0, 0.857013, -0.515295) UV(0.138704, 0.607149) -V 5227: Pos(1.731219, -5.452268, 10.797892) Norm(0.133389, 0.857005, -0.497744) UV(0.138927, 0.607032) -V 5228: Pos(1.749733, -5.452268, 10.80556) Norm(0.25763, 0.857015, -0.446265) UV(0.139112, 0.606861) -V 5229: Pos(1.765631, -5.452268, 10.81776) Norm(0.364369, 0.857007, -0.364381) UV(0.139247, 0.606648) -V 5230: Pos(1.788115, -5.452268, 10.87204) Norm(0.515307, 0.857006, 0.0) UV(0.139274, 0.605907) -V 5231: Pos(1.785499, -5.452268, 10.891908) Norm(0.497748, 0.857006, 0.133372) UV(0.139156, 0.605683) -V 5232: Pos(1.777831, -5.452268, 10.910421) Norm(0.446259, 0.85701, 0.257655) UV(0.138983, 0.605497) -V 5233: Pos(1.765631, -5.452268, 10.92632) Norm(0.364364, 0.857011, 0.364379) UV(0.13877, 0.605363) -V 5234: Pos(1.749733, -5.452268, 10.938519) Norm(0.25763, 0.857014, 0.446266) UV(0.138528, 0.60529) -V 5235: Pos(1.731219, -5.452268, 10.946188) Norm(0.133389, 0.857005, 0.497744) UV(0.138276, 0.605281) -V 5236: Pos(1.711351, -5.291028, 10.878946) Norm(0.0, 0.815149, 0.579251) UV(0.007982, 0.008111) -V 5237: Pos(1.713138, -5.291028, 10.878711) Norm(0.149926, 0.815196, 0.559444) UV(0.007922, 0.008127) -V 5238: Pos(1.714804, -5.291028, 10.878021) Norm(0.289605, 0.815153, 0.501651) UV(0.00786, 0.008127) -V 5239: Pos(1.716235, -5.291028, 10.876924) Norm(0.409577, 0.815163, 0.40958) UV(0.0078, 0.008111) -V 5240: Pos(1.717332, -5.291028, 10.875493) Norm(0.50162, 0.815173, 0.289603) UV(0.007747, 0.00808) -V 5241: Pos(1.718022, -5.291028, 10.873827) Norm(0.559488, 0.815171, 0.149899) UV(0.007703, 0.008036) -V 5242: Pos(1.718257, -5.291028, 10.87204) Norm(0.579244, 0.815155, -1.1e-05) UV(0.007672, 0.007983) -V 5243: Pos(1.718022, -5.291028, 10.870253) Norm(0.559482, 0.815171, -0.149919) UV(0.007656, 0.007923) -V 5244: Pos(1.717332, -5.291028, 10.868587) Norm(0.501616, 0.815169, -0.289622) UV(0.007656, 0.007861) -V 5245: Pos(1.716235, -5.291028, 10.867156) Norm(0.409576, 0.815154, -0.409598) UV(0.007672, 0.007801) -V 5246: Pos(1.714804, -5.291028, 10.866058) Norm(0.289603, 0.815145, -0.501666) UV(0.007703, 0.007747) -V 5247: Pos(1.713138, -5.291028, 10.865369) Norm(0.149924, 0.815186, -0.559459) UV(0.007747, 0.007703) -V 5248: Pos(1.711351, -5.291028, 10.865133) Norm(0.0, 0.815139, -0.579266) UV(0.0078, 0.007672) -V 5249: Pos(1.709564, -5.291028, 10.865369) Norm(-0.149923, 0.815191, -0.559452) UV(0.00786, 0.007656) -V 5250: Pos(1.707898, -5.291028, 10.866058) Norm(-0.289613, 0.815133, -0.501679) UV(0.007922, 0.007656) -V 5251: Pos(1.706468, -5.291028, 10.867156) Norm(-0.409559, 0.81517, -0.409584) UV(0.007982, 0.007672) -V 5252: Pos(1.70537, -5.291028, 10.868587) Norm(-0.501639, 0.815148, -0.28964) UV(0.008036, 0.007703) -V 5253: Pos(1.70468, -5.291028, 10.870253) Norm(-0.559467, 0.815182, -0.149915) UV(0.00808, 0.007747) -V 5254: Pos(1.704445, -5.291028, 10.87204) Norm(-0.579244, 0.815154, -1.1e-05) UV(0.008111, 0.007801) -V 5255: Pos(1.70468, -5.291028, 10.873827) Norm(-0.559472, 0.815182, 0.149896) UV(0.008127, 0.00786) -V 5256: Pos(1.70537, -5.291028, 10.875493) Norm(-0.501643, 0.815153, 0.289621) UV(0.008127, 0.007923) -V 5257: Pos(1.706468, -5.291028, 10.876924) Norm(-0.409561, 0.815179, 0.409565) UV(0.008111, 0.007982) -V 5258: Pos(1.707898, -5.291028, 10.878021) Norm(-0.289616, 0.815142, 0.501663) UV(0.00808, 0.008036) -V 5259: Pos(1.709564, -5.291028, 10.878711) Norm(-0.149924, 0.8152, 0.559438) UV(0.008036, 0.00808) -V 5260: Pos(1.706468, -5.291028, 10.867156) Norm(-0.409559, 0.81517, -0.409584) UV(0.138352, 0.606275) -V 5261: Pos(1.707898, -5.291028, 10.866058) Norm(-0.289613, 0.815133, -0.501679) UV(0.13836, 0.606277) -V 5262: Pos(1.707898, -5.291028, 10.878021) Norm(-0.289616, 0.815142, 0.501663) UV(0.138341, 0.606226) -V 5263: Pos(1.706468, -5.291028, 10.876924) Norm(-0.409561, 0.815179, 0.409565) UV(0.138337, 0.606233) -V 5264: Pos(1.718257, -5.291028, 10.87204) Norm(0.579244, 0.815155, -1.1e-05) UV(0.138394, 0.606234) -V 5265: Pos(1.709564, -5.291028, 10.865369) Norm(-0.149923, 0.815191, -0.559452) UV(0.138368, 0.606277) -V 5266: Pos(1.70537, -5.291028, 10.875493) Norm(-0.501643, 0.815153, 0.289621) UV(0.138334, 0.606241) -V 5267: Pos(1.718022, -5.291028, 10.873827) Norm(0.559488, 0.815171, 0.149899) UV(0.13839, 0.606227) -V 5268: Pos(1.711351, -5.291028, 10.865133) Norm(0.0, 0.815139, -0.579266) UV(0.138376, 0.606275) -V 5269: Pos(1.70468, -5.291028, 10.873827) Norm(-0.559472, 0.815182, 0.149896) UV(0.138334, 0.606249) -V 5270: Pos(1.717332, -5.291028, 10.875493) Norm(0.50162, 0.815173, 0.289603) UV(0.138385, 0.606221) -V 5271: Pos(1.713138, -5.291028, 10.865369) Norm(0.149924, 0.815186, -0.559459) UV(0.138383, 0.606271) -V 5272: Pos(1.704445, -5.291028, 10.87204) Norm(-0.579244, 0.815154, -1.1e-05) UV(0.138336, 0.606257) -V 5273: Pos(1.716235, -5.291028, 10.876924) Norm(0.409577, 0.815163, 0.40958) UV(0.138378, 0.606216) -V 5274: Pos(1.714804, -5.291028, 10.866058) Norm(0.289603, 0.815145, -0.501666) UV(0.138389, 0.606266) -V 5275: Pos(1.70468, -5.291028, 10.870253) Norm(-0.559467, 0.815182, -0.149915) UV(0.138339, 0.606264) -V 5276: Pos(1.714804, -5.291028, 10.878021) Norm(0.289605, 0.815153, 0.501651) UV(0.13837, 0.606214) -V 5277: Pos(1.716235, -5.291028, 10.867156) Norm(0.409576, 0.815154, -0.409598) UV(0.138394, 0.606259) -V 5278: Pos(1.70537, -5.291028, 10.868587) Norm(-0.501639, 0.815148, -0.28964) UV(0.138345, 0.60627) -V 5279: Pos(1.713138, -5.291028, 10.878711) Norm(0.149926, 0.815196, 0.559444) UV(0.138361, 0.606214) -V 5280: Pos(1.711351, -5.291028, 10.878946) Norm(0.0, 0.815149, 0.579251) UV(0.138353, 0.606216) -V 5281: Pos(1.709564, -5.291028, 10.878711) Norm(-0.149924, 0.8152, 0.559438) UV(0.138346, 0.60622) -V 5282: Pos(1.64409, -8.652523, 11.123059) Norm(-0.174736, -0.737706, 0.652118) UV(0.05948, 0.027612) -V 5283: Pos(1.711351, -8.652523, 11.131914) Norm(0.0, -0.737704, 0.675125) UV(0.059528, 0.030511) -V 5284: Pos(1.711351, -8.652523, 11.16663) Norm(0.0, -0.678869, -0.734259) UV(0.058106, 0.030626) -V 5285: Pos(1.635105, -8.652523, 11.156591) Norm(0.190037, -0.678872, -0.709239) UV(0.058083, 0.027509) -V 5286: Pos(1.581414, -8.652523, 11.097097) Norm(-0.337567, -0.737699, 0.584678) UV(0.059964, 0.02472) -V 5287: Pos(1.564056, -8.652523, 11.127162) Norm(0.367126, -0.678874, -0.635884) UV(0.058541, 0.024395) -V 5288: Pos(1.527592, -8.652523, 11.055799) Norm(-0.477388, -0.737702, 0.477386) UV(0.06093, 0.021878) -V 5289: Pos(1.503044, -8.652523, 11.080346) Norm(0.519196, -0.678873, -0.519198) UV(0.059539, 0.021299) -V 5290: Pos(1.486293, -8.652523, 11.001977) Norm(-0.584679, -0.737702, 0.33756) UV(0.06242, 0.019183) -V 5291: Pos(1.456228, -8.652523, 11.019335) Norm(0.635883, -0.678873, -0.36713) UV(0.061105, 0.018324) -V 5292: Pos(1.426799, -8.652523, 10.948285) Norm(0.709235, -0.678874, -0.190041) UV(0.063221, 0.015623) -V 5293: Pos(1.416761, -8.652523, 10.87204) Norm(0.734255, -0.678874, 1e-06) UV(0.065768, 0.013312) -V 5294: Pos(1.460332, -8.652523, 10.804779) Norm(-0.652124, -0.737701, -0.174734) UV(0.069417, 0.012811) -V 5295: Pos(1.426799, -8.652523, 10.795794) Norm(0.709234, -0.678874, 0.190041) UV(0.068663, 0.011412) -V 5296: Pos(1.486293, -8.652523, 10.742103) Norm(-0.584678, -0.737701, -0.337562) UV(0.072375, 0.011399) -V 5297: Pos(1.456228, -8.652523, 10.724745) Norm(0.635884, -0.678874, 0.367127) UV(0.071798, 0.009937) -V 5298: Pos(1.527592, -8.652523, 10.688281) Norm(-0.477386, -0.737698, -0.477393) UV(0.075584, 0.010399) -V 5299: Pos(1.503044, -8.652523, 10.663733) Norm(0.519201, -0.678875, 0.519191) UV(0.075132, 0.008802) -V 5300: Pos(1.581414, -8.652523, 10.646982) Norm(-0.337565, -0.737696, -0.584683) UV(0.078997, 0.009724) -V 5301: Pos(1.564056, -8.652523, 10.616917) Norm(0.367128, -0.678877, 0.635879) UV(0.078722, 0.00802) -V 5302: Pos(1.644091, -8.652523, 10.62102) Norm(-0.174736, -0.737701, -0.652123) UV(0.082549, 0.009449) -V 5303: Pos(1.635105, -8.652523, 10.587487) Norm(0.190034, -0.678874, 0.709237) UV(0.082522, 0.007666) -V 5304: Pos(1.711351, -8.652523, 10.612165) Norm(0.0, -0.7377, -0.675129) UV(0.086044, 0.009566) -V 5305: Pos(1.711351, -8.652523, 10.57745) Norm(0.0, -0.678876, 0.734253) UV(0.086348, 0.007899) -V 5306: Pos(1.778611, -8.652523, 10.62102) Norm(0.174734, -0.737697, -0.652128) UV(0.083059, 0.046599) -V 5307: Pos(1.711351, -8.652523, 10.612165) Norm(0.0, -0.7377, -0.675129) UV(0.085959, 0.046215) -V 5308: Pos(1.711351, -8.652523, 10.57745) Norm(0.0, -0.678876, 0.734253) UV(0.086348, 0.047573) -V 5309: Pos(1.787597, -8.652523, 10.587487) Norm(-0.190036, -0.678878, 0.709233) UV(0.083198, 0.048083) -V 5310: Pos(1.841288, -8.652523, 10.646982) Norm(0.337565, -0.737696, -0.584683) UV(0.080081, 0.046714) -V 5311: Pos(1.858646, -8.652523, 10.616917) Norm(-0.367129, -0.678878, 0.635878) UV(0.080026, 0.048158) -V 5312: Pos(1.89511, -8.652523, 10.688281) Norm(0.477388, -0.737701, -0.477386) UV(0.077162, 0.046521) -V 5313: Pos(1.919658, -8.652523, 10.663733) Norm(-0.519198, -0.678872, 0.519197) UV(0.076966, 0.047908) -V 5314: Pos(1.936409, -8.652523, 10.742103) Norm(0.584678, -0.737702, -0.337561) UV(0.074339, 0.046064) -V 5315: Pos(1.966473, -8.652523, 10.724745) Norm(-0.635883, -0.678874, 0.367128) UV(0.074037, 0.047372) -V 5316: Pos(1.96237, -8.652523, 10.804779) Norm(0.652124, -0.737699, -0.174739) UV(0.071624, 0.045254) -V 5317: Pos(1.995903, -8.652523, 10.795794) Norm(-0.709236, -0.678875, 0.190037) UV(0.071179, 0.046562) -V 5318: Pos(1.971225, -8.652523, 10.87204) Norm(0.675127, -0.737702, 1e-06) UV(0.069009, 0.044129) -V 5319: Pos(2.005941, -8.652523, 10.87204) Norm(-0.734254, -0.678875, 1e-06) UV(0.068387, 0.045383) -V 5320: Pos(1.96237, -8.652523, 10.9393) Norm(0.652125, -0.737698, 0.174738) UV(0.066569, 0.042637) -V 5321: Pos(1.995903, -8.652523, 10.948285) Norm(-0.709236, -0.678875, -0.190036) UV(0.065754, 0.043797) -V 5322: Pos(1.936409, -8.652523, 11.001977) Norm(0.584679, -0.737702, 0.337559) UV(0.064388, 0.040758) -V 5323: Pos(1.966473, -8.652523, 11.019335) Norm(-0.635883, -0.678873, -0.36713) UV(0.063364, 0.04178) -V 5324: Pos(1.89511, -8.652523, 11.055799) Norm(0.477388, -0.737701, 0.477386) UV(0.062502, 0.038585) -V 5325: Pos(1.919658, -8.652523, 11.080346) Norm(-0.519195, -0.678873, -0.519199) UV(0.06136, 0.039392) -V 5326: Pos(1.841288, -8.652523, 11.097097) Norm(0.337567, -0.7377, 0.584677) UV(0.061081, 0.036075) -V 5327: Pos(1.858646, -8.652523, 11.127162) Norm(-0.367127, -0.678875, -0.635883) UV(0.059764, 0.036699) -V 5328: Pos(1.778611, -8.652523, 11.123059) Norm(0.174735, -0.737701, 0.652123) UV(0.060052, 0.033361) -V 5329: Pos(1.787597, -8.652523, 11.156591) Norm(-0.190039, -0.678875, -0.709235) UV(0.058661, 0.033724) -V 5330: Pos(1.711351, -8.87184, 11.131914) Norm(1e-06, -0.123145, 0.992389) UV(0.066938, 0.0299) -V 5331: Pos(1.778611, -8.87184, 11.123059) Norm(0.256853, -0.123145, 0.958573) UV(0.067196, 0.031466) -V 5332: Pos(1.89511, -8.87184, 11.055799) Norm(0.701721, -0.123143, 0.701729) UV(0.068561, 0.034352) -V 5333: Pos(1.936409, -8.87184, 11.001977) Norm(0.859435, -0.123141, 0.496194) UV(0.069635, 0.03557) -V 5334: Pos(1.841288, -8.87184, 10.646982) Norm(0.496201, -0.123139, -0.859431) UV(0.080162, 0.038275) -V 5335: Pos(1.778611, -8.87184, 10.62102) Norm(0.256851, -0.123139, -0.958574) UV(0.082577, 0.03782) -V 5336: Pos(1.460332, -8.87184, 10.804779) Norm(-0.958575, -0.12314, -0.256847) UV(0.073313, 0.020583) -V 5337: Pos(1.841288, -8.87184, 11.097097) Norm(0.496196, -0.123144, 0.859433) UV(0.067741, 0.032962) -V 5338: Pos(1.89511, -8.87184, 10.688281) Norm(0.701723, -0.123141, -0.701727) UV(0.077945, 0.038455) -V 5339: Pos(1.486293, -8.87184, 10.742103) Norm(-0.859433, -0.123141, -0.496197) UV(0.075298, 0.020006) -V 5340: Pos(1.936409, -8.87184, 10.742103) Norm(0.859434, -0.123141, -0.496195) UV(0.075957, 0.038367) -V 5341: Pos(1.527592, -8.87184, 10.688281) Norm(-0.701723, -0.123141, -0.701727) UV(0.077515, 0.019722) -V 5342: Pos(1.588073, -9.015513, 10.87204) Norm(-0.148084, -0.988975, 8e-06) UV(0.073838, 0.026306) -V 5343: Pos(1.606371, -9.015513, 10.898601) Norm(7e-06, -1.0, 2e-06) UV(0.07333, 0.026922) -V 5344: Pos(1.604589, -9.015513, 10.933679) Norm(-0.128246, -0.988975, 0.074043) UV(0.072508, 0.027079) -V 5345: Pos(1.592273, -9.015513, 10.903946) Norm(-0.143038, -0.988974, 0.038336) UV(0.073116, 0.026625) -V 5346: Pos(1.96237, -8.87184, 10.804779) Norm(0.958575, -0.123141, -0.256849) UV(0.074119, 0.038026) -V 5347: Pos(1.581414, -8.87184, 10.646982) Norm(-0.496198, -0.123139, -0.859433) UV(0.079993, 0.019749) -V 5348: Pos(1.581414, -8.87184, 11.097097) Norm(-0.496196, -0.12314, 0.859434) UV(0.0673, 0.026722) -V 5349: Pos(1.64409, -8.87184, 11.123059) Norm(-0.256848, -0.123143, 0.958574) UV(0.066974, 0.028311) -V 5350: Pos(1.527592, -8.87184, 11.055799) Norm(-0.701724, -0.12314, 0.701726) UV(0.067938, 0.025202) -V 5351: Pos(1.971225, -8.87184, 10.87204) Norm(0.992389, -0.123143, 0.0) UV(0.072441, 0.03744) -V 5352: Pos(1.644091, -8.87184, 10.62102) Norm(-0.256849, -0.12314, -0.958574) UV(0.082744, 0.020079) -V 5353: Pos(1.486293, -8.87184, 11.001977) Norm(-0.859434, -0.123141, 0.496194) UV(0.068867, 0.02377) -V 5354: Pos(1.96237, -8.87184, 10.9393) Norm(0.958575, -0.12314, 0.256848) UV(0.070936, 0.036619) -V 5355: Pos(1.711351, -8.87184, 10.612165) Norm(-3e-06, -0.12314, -0.992389) UV(0.086083, 0.020733) -V 5356: Pos(1.711351, -8.87184, 10.612165) Norm(-3e-06, -0.12314, -0.992389) UV(0.085398, 0.037086) -V 5357: Pos(1.648827, -8.943677, 11.105382) Norm(-0.227764, -0.474955, 0.850024) UV(0.068579, 0.028507) -V 5358: Pos(1.711351, -8.943677, 11.113613) Norm(0.0, -0.474954, 0.88001) UV(0.068553, 0.029801) -V 5359: Pos(1.661767, -8.996264, 11.057088) Norm(-0.137755, -0.846597, 0.514098) UV(0.070042, 0.028708) -V 5360: Pos(1.711351, -8.996264, 11.063616) Norm(0.0, -0.846594, 0.532239) UV(0.07001, 0.029708) -V 5361: Pos(1.679444, -9.015513, 10.991117) Norm(-0.038327, -0.988974, 0.143044) UV(0.071519, 0.028936) -V 5362: Pos(1.711351, -9.015513, 10.995317) Norm(-0.0, -0.988973, 0.148096) UV(0.071478, 0.029626) -V 5363: Pos(1.590564, -8.943677, 11.081249) Norm(-0.440006, -0.474952, 0.762112) UV(0.068895, 0.027238) -V 5364: Pos(1.615563, -8.996264, 11.03795) Norm(-0.26612, -0.846598, 0.460925) UV(0.070296, 0.027728) -V 5365: Pos(1.649712, -9.015513, 10.978802) Norm(-0.074043, -0.988975, 0.128241) UV(0.071702, 0.028264) -V 5366: Pos(1.540532, -8.943677, 11.042858) Norm(-0.622259, -0.474954, 0.622264) UV(0.06942, 0.026011) -V 5367: Pos(1.575886, -8.996264, 11.007504) Norm(-0.376343, -0.8466, 0.376343) UV(0.070743, 0.026793) -V 5368: Pos(1.62418, -9.015513, 10.95921) Norm(-0.104712, -0.988975, 0.104706) UV(0.072037, 0.027635) -V 5369: Pos(1.502142, -8.943677, 10.992826) Norm(-0.762113, -0.474953, 0.440004) UV(0.070232, 0.024902) -V 5370: Pos(1.545441, -8.996264, 10.967828) Norm(-0.46093, -0.846596, 0.266116) UV(0.071396, 0.025958) -V 5371: Pos(1.478008, -8.943677, 10.934564) Norm(-0.850029, -0.474948, 0.22776) UV(0.071247, 0.023903) -V 5372: Pos(1.526302, -8.996264, 10.921623) Norm(-0.514103, -0.846595, 0.137753) UV(0.072223, 0.025236) -V 5373: Pos(1.469777, -8.943677, 10.87204) Norm(-0.880011, -0.474954, -0.0) UV(0.072503, 0.023118) -V 5374: Pos(1.519775, -8.996264, 10.87204) Norm(-0.532233, -0.846598, 0.0) UV(0.073229, 0.024675) -V 5375: Pos(1.478008, -8.943677, 10.809516) Norm(-0.850028, -0.474951, -0.227761) UV(0.073947, 0.02252) -V 5376: Pos(1.526302, -8.996264, 10.822456) Norm(-0.514101, -0.846596, -0.137752) UV(0.0744, 0.024305) -V 5377: Pos(1.592273, -9.015513, 10.840133) Norm(-0.143039, -0.988975, -0.03832) UV(0.074659, 0.026148) -V 5378: Pos(1.502142, -8.943677, 10.751253) Norm(-0.762112, -0.474952, -0.440007) UV(0.07563, 0.022184) -V 5379: Pos(1.545441, -8.996264, 10.776252) Norm(-0.46093, -0.846596, -0.266119) UV(0.075722, 0.024191) -V 5380: Pos(1.604589, -9.015513, 10.810401) Norm(-0.128245, -0.988975, -0.074039) UV(0.075545, 0.026183) -V 5381: Pos(1.540532, -8.943677, 10.701221) Norm(-0.622259, -0.474953, -0.622264) UV(0.077484, 0.022135) -V 5382: Pos(1.575886, -8.996264, 10.736575) Norm(-0.376346, -0.846597, -0.376347) UV(0.077204, 0.024359) -V 5383: Pos(1.62418, -9.015513, 10.784869) Norm(-0.104709, -0.988975, -0.104711) UV(0.076481, 0.026458) -V 5384: Pos(1.590564, -8.943677, 10.66283) Norm(-0.440012, -0.47495, -0.76211) UV(0.079596, 0.022457) -V 5385: Pos(1.615563, -8.996264, 10.70613) Norm(-0.266124, -0.846597, -0.460925) UV(0.078755, 0.024885) -V 5386: Pos(1.649712, -9.015513, 10.765278) Norm(-0.074037, -0.988977, -0.128234) UV(0.077417, 0.02702) -V 5387: Pos(1.648827, -8.943677, 10.638698) Norm(-0.227766, -0.474951, -0.850026) UV(0.081941, 0.023181) -V 5388: Pos(1.661767, -8.996264, 10.686991) Norm(-0.137754, -0.846595, -0.514102) UV(0.080446, 0.025892) -V 5389: Pos(1.679444, -9.015513, 10.752962) Norm(-0.038319, -0.988983, -0.142981) UV(0.078283, 0.027962) -V 5390: Pos(1.711351, -8.943677, 10.630466) Norm(-3e-06, -0.47495, -0.880013) UV(0.084737, 0.024543) -V 5391: Pos(1.711351, -8.996264, 10.680464) Norm(0.0, -0.846596, -0.532237) UV(0.082236, 0.027596) -V 5392: Pos(1.711351, -9.015513, 10.748761) Norm(-2e-06, -0.988979, -0.148055) UV(0.078899, 0.02941) -V 5393: Pos(1.773875, -8.943677, 10.638697) Norm(0.227767, -0.474949, -0.850027) UV(0.081733, 0.03511) -V 5394: Pos(1.711351, -8.943677, 10.630466) Norm(-3e-06, -0.47495, -0.880013) UV(0.084102, 0.033847) -V 5395: Pos(1.760934, -8.996264, 10.686991) Norm(0.137753, -0.846595, -0.514103) UV(0.080323, 0.03274) -V 5396: Pos(1.711351, -8.996264, 10.680464) Norm(0.0, -0.846596, -0.532237) UV(0.08187, 0.031265) -V 5397: Pos(1.743258, -9.015513, 10.752962) Norm(0.038321, -0.988976, -0.143029) UV(0.078274, 0.03085) -V 5398: Pos(1.832138, -8.943677, 10.66283) Norm(0.440013, -0.474949, -0.762111) UV(0.079629, 0.035887) -V 5399: Pos(1.807139, -8.996264, 10.70613) Norm(0.266123, -0.846597, -0.460925) UV(0.078818, 0.033705) -V 5400: Pos(1.77299, -9.015513, 10.765278) Norm(0.07404, -0.988975, -0.12824) UV(0.077471, 0.031761) -V 5401: Pos(1.88217, -8.943677, 10.701221) Norm(0.62226, -0.474953, -0.622263) UV(0.077803, 0.036293) -V 5402: Pos(1.846816, -8.996264, 10.736575) Norm(0.376346, -0.846599, -0.376343) UV(0.077379, 0.034272) -V 5403: Pos(1.798522, -9.015513, 10.784869) Norm(0.104711, -0.988975, -0.104706) UV(0.07661, 0.032334) -V 5404: Pos(1.92056, -8.943677, 10.751253) Norm(0.762113, -0.474952, -0.440004) UV(0.076091, 0.036376) -V 5405: Pos(1.877261, -8.996264, 10.776252) Norm(0.460931, -0.846596, -0.266116) UV(0.076038, 0.034511) -V 5406: Pos(1.818113, -9.015513, 10.810401) Norm(0.128245, -0.988974, -0.074044) UV(0.075733, 0.032646) -V 5407: Pos(1.944693, -8.943677, 10.809516) Norm(0.850026, -0.474952, -0.227763) UV(0.074529, 0.036198) -V 5408: Pos(1.896399, -8.996264, 10.822456) Norm(0.514101, -0.846595, -0.137756) UV(0.074782, 0.034494) -V 5409: Pos(1.830428, -9.015513, 10.840133) Norm(0.143039, -0.988974, -0.038344) UV(0.07489, 0.03274) -V 5410: Pos(1.952925, -8.943677, 10.87204) Norm(0.88001, -0.474956, -2e-06) UV(0.073119, 0.035782) -V 5411: Pos(1.902927, -8.996264, 10.87204) Norm(0.532232, -0.846598, -2e-06) UV(0.073657, 0.034246) -V 5412: Pos(1.834629, -9.015513, 10.87204) Norm(0.148084, -0.988975, 4e-06) UV(0.074091, 0.032651) -V 5413: Pos(1.944693, -8.943677, 10.934564) Norm(0.850028, -0.474949, 0.227761) UV(0.071869, 0.035149) -V 5414: Pos(1.896399, -8.996264, 10.921623) Norm(0.514103, -0.846595, 0.13775) UV(0.072645, 0.033809) -V 5415: Pos(1.830428, -9.015513, 10.903946) Norm(0.143038, -0.988975, 0.038329) UV(0.073376, 0.032399) -V 5416: Pos(1.92056, -8.943677, 10.992826) Norm(0.762113, -0.474951, 0.440005) UV(0.070773, 0.034355) -V 5417: Pos(1.877261, -8.996264, 10.967828) Norm(0.460931, -0.846596, 0.266118) UV(0.071778, 0.033216) -V 5418: Pos(1.818113, -9.015513, 10.933679) Norm(0.128242, -0.988975, 0.074048) UV(0.072747, 0.03202) -V 5419: Pos(1.88217, -8.943677, 11.042858) Norm(0.622255, -0.474954, 0.622268) UV(0.069905, 0.033366) -V 5420: Pos(1.846816, -8.996264, 11.007504) Norm(0.376343, -0.846597, 0.376351) UV(0.071073, 0.03247) -V 5421: Pos(1.798522, -9.015513, 10.95921) Norm(0.104705, -0.988976, 0.104709) UV(0.072232, 0.031527) -V 5422: Pos(1.832138, -8.943677, 11.081248) Norm(0.440006, -0.474952, 0.762112) UV(0.069217, 0.032268) -V 5423: Pos(1.807139, -8.996264, 11.03795) Norm(0.26612, -0.846595, 0.460931) UV(0.070525, 0.031626) -V 5424: Pos(1.77299, -9.015513, 10.978802) Norm(0.07404, -0.988978, 0.128218) UV(0.071846, 0.030947) -V 5425: Pos(1.773875, -8.943677, 11.105382) Norm(0.22777, -0.474953, 0.850024) UV(0.068762, 0.031068) -V 5426: Pos(1.760934, -8.996264, 11.057088) Norm(0.137754, -0.846596, 0.514101) UV(0.070165, 0.030693) -V 5427: Pos(1.743258, -9.015513, 10.991117) Norm(0.038327, -0.988975, 0.143039) UV(0.071589, 0.030306) -V 5428: Pos(1.633893, -9.015513, 10.924545) Norm(3e-06, -1.0, -1.3e-05) UV(0.072864, 0.027704) -V 5429: Pos(1.667765, -9.015513, 10.947532) Norm(3e-06, -1.0, -8e-06) UV(0.072452, 0.02857) -V 5430: Pos(1.704608, -9.015513, 10.965373) Norm(6e-06, -1.0, 2e-06) UV(0.072126, 0.029441) -V 5431: Pos(1.740839, -9.015513, 10.976235) Norm(2e-06, -1.0, -1.9e-05) UV(0.071911, 0.030251) -V 5432: Pos(1.61587, -9.015513, 10.862037) Norm(5e-06, -1.0, 9e-06) UV(0.07429, 0.026918) -V 5433: Pos(1.649344, -9.015512, 10.886568) Norm(2e-06, -1.0, -9e-06) UV(0.073859, 0.027909) -V 5434: Pos(1.688789, -9.015513, 10.911118) Norm(0.0, -1.0, -2e-06) UV(0.073374, 0.028976) -V 5435: Pos(1.729772, -9.015512, 10.933003) Norm(4e-06, -1.0, 3e-06) UV(0.072893, 0.02999) -V 5436: Pos(1.767755, -9.015512, 10.949727) Norm(-8e-06, -1.0, -1.5e-05) UV(0.07249, 0.030859) -V 5437: Pos(1.632438, -9.015513, 10.826479) Norm(1e-06, -1.0, 8e-06) UV(0.075361, 0.027098) -V 5438: Pos(1.66948, -9.015513, 10.847866) Norm(-2e-06, -1.0, 4e-06) UV(0.074991, 0.028276) -V 5439: Pos(1.711351, -9.015513, 10.87204) Norm(-3e-06, -1.0, 1.1e-05) UV(0.074437, 0.029491) -V 5440: Pos(1.753221, -9.015513, 10.896214) Norm(-2e-06, -1.0, 1.9e-05) UV(0.073781, 0.030576) -V 5441: Pos(1.790264, -9.015513, 10.9176) Norm(-7e-06, -1.0, 1.5e-05) UV(0.073189, 0.03143) -V 5442: Pos(1.654947, -9.015513, 10.794352) Norm(7e-06, -1.0, -4e-06) UV(0.076517, 0.027508) -V 5443: Pos(1.69293, -9.015513, 10.811076) Norm(2e-06, -1.0, -1e-05) UV(0.076211, 0.028841) -V 5444: Pos(1.733913, -9.015513, 10.832962) Norm(-1e-06, -1.0, -1e-06) UV(0.075542, 0.03013) -V 5445: Pos(1.773358, -9.015513, 10.857512) Norm(0.0, -1.0, 1e-05) UV(0.07474, 0.031182) -V 5446: Pos(1.806832, -9.015513, 10.882043) Norm(0.0, -1.0, 9e-06) UV(0.073988, 0.031937) -V 5447: Pos(1.681863, -9.015512, 10.767844) Norm(1.1e-05, -1.0, 5.1e-05) UV(0.077713, 0.02823) -V 5448: Pos(1.718094, -9.015512, 10.778706) Norm(-5e-06, -1.0, 1.1e-05) UV(0.077437, 0.029682) -V 5449: Pos(1.754936, -9.015513, 10.796548) Norm(-5e-06, -1.0, -4e-06) UV(0.07661, 0.030906) -V 5450: Pos(1.788809, -9.015513, 10.819533) Norm(0.0, -1.0, 4e-06) UV(0.075707, 0.031785) -V 5451: Pos(1.816331, -9.015513, 10.845479) Norm(0.0, -1.0, -3e-06) UV(0.074848, 0.032354) -V 5452: Pos(1.284306, -8.132718, 10.625485) Norm(-0.639425, 0.674421, -0.369178) UV(0.27866, 0.77828) -V 5453: Pos(1.36267, -8.132718, 10.523359) Norm(-0.52209, 0.674423, -0.522088) UV(0.277452, 0.782316) -V 5454: Pos(1.840032, -8.082157, 11.352285) Norm(0.157049, -0.794857, 0.586121) UV(0.297377, 0.126683) -V 5455: Pos(1.959945, -8.082157, 11.302616) Norm(0.303394, -0.794857, 0.525504) UV(0.297247, 0.121879) -V 5456: Pos(1.959945, -8.082157, 10.441463) Norm(0.303396, -0.79486, -0.525498) UV(0.297423, 0.082174) -V 5457: Pos(1.840032, -8.082157, 10.391793) Norm(0.157048, -0.79486, -0.586117) UV(0.297436, 0.077042) -V 5458: Pos(1.231105, -8.082157, 11.000721) Norm(-0.586113, -0.794862, 0.157054) UV(0.299353, 0.155723) -V 5459: Pos(1.280774, -8.082157, 11.120633) Norm(-0.525496, -0.794863, 0.303393) UV(0.298902, 0.150913) -V 5460: Pos(2.060031, -8.132718, 11.22072) Norm(0.522086, 0.674421, 0.522094) UV(0.282599, 0.731762) -V 5461: Pos(1.957905, -8.132718, 11.299085) Norm(0.369167, 0.674424, 0.639428) UV(0.282965, 0.735942) -V 5462: Pos(1.711351, -8.132718, 10.378931) Norm(1e-06, 0.674423, -0.738345) UV(0.272646, 0.694507) -V 5463: Pos(1.838977, -8.132718, 10.395733) Norm(0.191099, 0.674429, -0.713181) UV(0.273963, 0.698708) -V 5464: Pos(1.36267, -8.132718, 11.22072) Norm(-0.522089, 0.674425, 0.522087) UV(0.282806, 0.757435) -V 5465: Pos(1.284306, -8.132718, 11.118594) Norm(-0.639425, 0.674425, 0.369171) UV(0.282249, 0.761684) -V 5466: Pos(2.208539, -8.082157, 10.87204) Norm(0.606786, -0.794865, 1e-06) UV(0.2971, 0.102353) -V 5467: Pos(2.191597, -8.082157, 10.743358) Norm(0.58611, -0.794866, -0.157046) UV(0.29713, 0.097317) -V 5468: Pos(1.359786, -8.082157, 10.520475) Norm(-0.429066, -0.794862, -0.429065) UV(0.301332, 0.175067) -V 5469: Pos(1.280774, -8.082157, 10.623446) Norm(-0.525492, -0.794865, -0.303394) UV(0.300826, 0.170164) -V 5470: Pos(2.138396, -8.132718, 10.625485) Norm(0.639425, 0.674424, -0.369172) UV(0.27816, 0.710823) -V 5471: Pos(2.187657, -8.132718, 10.744413) Norm(0.713188, 0.674423, -0.191091) UV(0.279285, 0.714924) -V 5472: Pos(1.235045, -8.132718, 10.744413) Norm(-0.713186, 0.674423, -0.191101) UV(0.27977, 0.77424) -V 5473: Pos(2.062915, -8.082157, 11.223604) Norm(0.429068, -0.79486, 0.429066) UV(0.29712, 0.117012) -V 5474: Pos(1.711351, -8.082157, 10.374852) Norm(1e-06, -0.794868, -0.606782) UV(0.297085, 0.071918) -V 5475: Pos(1.359786, -8.082157, 11.223604) Norm(-0.429067, -0.794861, 0.429065) UV(0.298482, 0.146047) -V 5476: Pos(2.138396, -8.132718, 11.118594) Norm(0.639424, 0.674426, 0.36917) UV(0.282026, 0.72745) -V 5477: Pos(1.583725, -8.132718, 10.395733) Norm(-0.191095, 0.674419, -0.713191) UV(0.274648, 0.790567) -V 5478: Pos(1.711351, -8.132718, 10.378931) Norm(1e-06, 0.674423, -0.738345) UV(0.273446, 0.794713) -V 5479: Pos(1.464797, -8.132718, 11.299085) Norm(-0.369169, 0.674429, 0.639422) UV(0.283212, 0.753141) -V 5480: Pos(2.141928, -8.082157, 10.623446) Norm(0.525492, -0.794862, -0.3034) UV(0.29724, 0.092246) -V 5481: Pos(1.231105, -8.082157, 10.743358) Norm(-0.586112, -0.794863, -0.157051) UV(0.300293, 0.165307) -V 5482: Pos(2.060031, -8.132718, 10.523359) Norm(0.522087, 0.67442, -0.522095) UV(0.276854, 0.706764) -V 5483: Pos(1.218242, -8.132718, 10.87204) Norm(-0.738344, 0.674424, -1e-06) UV(0.280729, 0.770094) -V 5484: Pos(2.141928, -8.082157, 11.120633) Norm(0.525499, -0.794862, 0.30339) UV(0.297085, 0.11208) -V 5485: Pos(1.711351, -8.082157, 10.374852) Norm(1e-06, -0.794868, -0.606782) UV(0.302406, 0.189801) -V 5486: Pos(1.582669, -8.082157, 10.391793) Norm(-0.157049, -0.794869, -0.586105) UV(0.302321, 0.184917) -V 5487: Pos(1.462757, -8.082157, 11.302616) Norm(-0.303394, -0.794857, 0.525505) UV(0.298158, 0.141231) -V 5488: Pos(1.462757, -8.082157, 11.302616) Norm(-0.303394, -0.794857, 0.525505) UV(0.016649, 0.882679) -V 5489: Pos(1.464797, -8.132718, 11.299085) Norm(-0.369169, 0.674429, 0.639422) UV(0.014906, 0.882606) -V 5490: Pos(1.359786, -8.082157, 11.223604) Norm(-0.429067, -0.794861, 0.429065) UV(0.016415, 0.887138) -V 5491: Pos(1.36267, -8.132718, 11.22072) Norm(-0.522089, 0.674425, 0.522087) UV(0.014674, 0.887028) -V 5492: Pos(1.280774, -8.082157, 11.120633) Norm(-0.525496, -0.794863, 0.303393) UV(0.016087, 0.891591) -V 5493: Pos(1.284306, -8.132718, 11.118594) Norm(-0.639425, 0.674425, 0.369171) UV(0.014348, 0.891445) -V 5494: Pos(1.231105, -8.082157, 11.000721) Norm(-0.586113, -0.794862, 0.157054) UV(0.015666, 0.896036) -V 5495: Pos(1.235045, -8.132718, 10.999665) Norm(-0.713187, 0.674424, 0.191092) UV(0.013931, 0.895854) -V 5496: Pos(1.214164, -8.082157, 10.87204) Norm(-0.60679, -0.794862, 4e-06) UV(0.015152, 0.900472) -V 5497: Pos(1.218242, -8.132718, 10.87204) Norm(-0.738344, 0.674424, -1e-06) UV(0.013421, 0.900253) -V 5498: Pos(1.231105, -8.082157, 10.743358) Norm(-0.586112, -0.794863, -0.157051) UV(0.014545, 0.904896) -V 5499: Pos(1.235045, -8.132718, 10.744413) Norm(-0.713186, 0.674423, -0.191101) UV(0.012818, 0.90464) -V 5500: Pos(1.280774, -8.082157, 10.623446) Norm(-0.525492, -0.794865, -0.303394) UV(0.013845, 0.909306) -V 5501: Pos(1.284306, -8.132718, 10.625485) Norm(-0.639425, 0.674421, -0.369178) UV(0.012124, 0.909014) -V 5502: Pos(1.359786, -8.082157, 10.520475) Norm(-0.429066, -0.794862, -0.429065) UV(0.013052, 0.9137) -V 5503: Pos(1.36267, -8.132718, 10.523359) Norm(-0.52209, 0.674423, -0.522088) UV(0.011338, 0.913372) -V 5504: Pos(1.462757, -8.082157, 10.441463) Norm(-0.303396, -0.79486, -0.525498) UV(0.012168, 0.918077) -V 5505: Pos(1.464797, -8.132718, 10.444995) Norm(-0.369174, 0.67442, -0.639428) UV(0.010461, 0.917713) -V 5506: Pos(1.582669, -8.082157, 10.391793) Norm(-0.157049, -0.794869, -0.586105) UV(0.011191, 0.922434) -V 5507: Pos(1.583725, -8.132718, 10.395733) Norm(-0.191095, 0.674419, -0.713191) UV(0.009493, 0.922034) -V 5508: Pos(1.711351, -8.082157, 10.374852) Norm(1e-06, -0.794868, -0.606782) UV(0.010124, 0.926769) -V 5509: Pos(1.711351, -8.132718, 10.378931) Norm(1e-06, 0.674423, -0.738345) UV(0.008434, 0.926334) -V 5510: Pos(1.711351, -8.082157, 10.374852) Norm(1e-06, -0.794868, -0.606782) UV(0.010124, 0.820733) -V 5511: Pos(1.840032, -8.082157, 10.391793) Norm(0.157048, -0.79486, -0.586117) UV(0.011191, 0.825069) -V 5512: Pos(1.838977, -8.132718, 10.395733) Norm(0.191099, 0.674429, -0.713181) UV(0.009493, 0.825468) -V 5513: Pos(1.711351, -8.132718, 10.378931) Norm(1e-06, 0.674423, -0.738345) UV(0.008434, 0.821168) -V 5514: Pos(1.959945, -8.082157, 10.441463) Norm(0.303396, -0.79486, -0.525498) UV(0.012168, 0.829426) -V 5515: Pos(1.957905, -8.132718, 10.444995) Norm(0.369176, 0.674425, -0.639421) UV(0.010461, 0.82979) -V 5516: Pos(2.062915, -8.082157, 10.520475) Norm(0.429065, -0.794858, -0.429074) UV(0.013052, 0.833803) -V 5517: Pos(2.060031, -8.132718, 10.523359) Norm(0.522087, 0.67442, -0.522095) UV(0.011338, 0.83413) -V 5518: Pos(2.141928, -8.082157, 10.623446) Norm(0.525492, -0.794862, -0.3034) UV(0.013845, 0.838197) -V 5519: Pos(2.138396, -8.132718, 10.625485) Norm(0.639425, 0.674424, -0.369172) UV(0.012124, 0.838489) -V 5520: Pos(2.191597, -8.082157, 10.743358) Norm(0.58611, -0.794866, -0.157046) UV(0.014545, 0.842607) -V 5521: Pos(2.187657, -8.132718, 10.744413) Norm(0.713188, 0.674423, -0.191091) UV(0.012818, 0.842862) -V 5522: Pos(2.208539, -8.082157, 10.87204) Norm(0.606786, -0.794865, 1e-06) UV(0.015152, 0.847031) -V 5523: Pos(2.20446, -8.132718, 10.87204) Norm(0.738347, 0.674421, -2e-06) UV(0.013421, 0.84725) -V 5524: Pos(2.191597, -8.082157, 11.000721) Norm(0.586113, -0.794864, 0.157045) UV(0.015666, 0.851466) -V 5525: Pos(2.187657, -8.132718, 10.999665) Norm(0.713188, 0.674424, 0.191087) UV(0.013931, 0.851649) -V 5526: Pos(2.141928, -8.082157, 11.120633) Norm(0.525499, -0.794862, 0.30339) UV(0.016087, 0.855911) -V 5527: Pos(2.138396, -8.132718, 11.118594) Norm(0.639424, 0.674426, 0.36917) UV(0.014349, 0.856058) -V 5528: Pos(2.062915, -8.082157, 11.223604) Norm(0.429068, -0.79486, 0.429066) UV(0.016415, 0.860364) -V 5529: Pos(2.060031, -8.132718, 11.22072) Norm(0.522086, 0.674421, 0.522094) UV(0.014674, 0.860474) -V 5530: Pos(1.959945, -8.082157, 11.302616) Norm(0.303394, -0.794857, 0.525504) UV(0.016649, 0.864823) -V 5531: Pos(1.957905, -8.132718, 11.299085) Norm(0.369167, 0.674424, 0.639428) UV(0.014906, 0.864897) -V 5532: Pos(1.840032, -8.082157, 11.352285) Norm(0.157049, -0.794857, 0.586121) UV(0.01679, 0.869286) -V 5533: Pos(1.838977, -8.132718, 11.348346) Norm(0.191098, 0.674424, 0.713186) UV(0.015045, 0.869323) -V 5534: Pos(2.20446, -8.132718, 10.87204) Norm(0.738347, 0.674421, -2e-06) UV(0.280332, 0.718984) -V 5535: Pos(1.582669, -8.082157, 11.352285) Norm(-0.15705, -0.794866, 0.586109) UV(0.297841, 0.136463) -V 5536: Pos(1.711351, -8.082157, 11.369227) Norm(1e-06, -0.79487, 0.60678) UV(0.297559, 0.13158) -V 5537: Pos(1.462757, -8.082157, 10.441463) Norm(-0.303396, -0.79486, -0.525498) UV(0.301877, 0.18003) -V 5538: Pos(2.191597, -8.082157, 11.000721) Norm(0.586113, -0.794864, 0.157045) UV(0.297095, 0.107232) -V 5539: Pos(1.235045, -8.132718, 10.999665) Norm(-0.713187, 0.674424, 0.191092) UV(0.281574, 0.765907) -V 5540: Pos(1.957905, -8.132718, 10.444995) Norm(0.369176, 0.674425, -0.639421) UV(0.27545, 0.702778) -V 5541: Pos(1.838977, -8.132718, 11.348346) Norm(0.191098, 0.674424, 0.713186) UV(0.283232, 0.740108) -V 5542: Pos(1.214164, -8.082157, 10.87204) Norm(-0.60679, -0.794862, 4e-06) UV(0.299826, 0.16048) -V 5543: Pos(2.062915, -8.082157, 10.520475) Norm(0.429065, -0.794858, -0.429074) UV(0.297363, 0.087254) -V 5544: Pos(1.711351, -8.132718, 11.365149) Norm(1e-06, 0.674427, 0.738342) UV(0.283405, 0.744374) -V 5545: Pos(1.583725, -8.132718, 11.348346) Norm(-0.191097, 0.674424, 0.713186) UV(0.283424, 0.748754) -V 5546: Pos(1.464797, -8.132718, 10.444995) Norm(-0.369174, 0.67442, -0.639428) UV(0.276095, 0.786461) -V 5547: Pos(2.187657, -8.132718, 10.999665) Norm(0.713188, 0.674424, 0.191087) UV(0.281235, 0.723158) -V 5548: Pos(-0.529975, -17.621962, 10.367923) Norm(0.0, -0.999784, 0.020801) UV(0.059088, 0.31087) -V 5549: Pos(-0.529975, -17.625484, 10.265513) Norm(0.0, -0.99999, 0.004374) UV(0.059163, 0.30721) -V 5550: Pos(-0.529975, -17.625484, 10.265513) Norm(0.0, -0.99999, 0.004374) UV(0.14649, 0.444442) -V 5551: Pos(-1.247728, -17.340864, 10.259338) Norm(0.925036, -0.342971, 0.16334) UV(0.059636, 0.056594) -V 5552: Pos(0.187778, -17.340864, 10.259338) Norm(-0.925035, -0.342971, 0.163341) UV(0.319912, 0.938736) -V 5553: Pos(0.644594, -19.018551, 10.249135) Norm(0.644384, -0.692458, 0.324455) UV(0.031324, 0.302439) -V 5554: Pos(0.489641, -19.040344, 10.324235) Norm(0.113241, -0.707936, 0.69714) UV(0.027601, 0.29777) -V 5555: Pos(0.659008, -19.010527, 10.123274) Norm(0.604711, -0.583525, -0.542054) UV(0.035667, 0.301985) -V 5556: Pos(-1.323919, -19.037821, 10.251081) Norm(0.694345, -0.637343, 0.334185) UV(0.055065, 0.286409) -V 5557: Pos(-1.343888, -19.038507, 10.090205) Norm(0.519477, -0.623501, -0.584286) UV(0.049515, 0.285853) -V 5558: Pos(-1.323378, -19.038101, 10.185481) Norm(0.702503, -0.710886, -0.033635) UV(0.052868, 0.285891) -V 5559: Pos(-1.349708, -19.037971, 10.278857) Norm(0.3865, -0.676458, 0.626915) UV(0.0558, 0.287486) -V 5560: Pos(0.289758, -19.037971, 10.278857) Norm(-0.386499, -0.67646, 0.626914) UV(0.027601, 0.290718) - -===Triangles (Indices): 9472 -Tri: 0 1 2 -Tri: 0 2 3 -Tri: 4 5 2 -Tri: 6 0 3 -Tri: 6 3 7 -Tri: 8 9 10 -Tri: 8 10 11 -Tri: 12 13 14 -Tri: 12 14 15 -Tri: 1 4 2 -Tri: 16 17 18 -Tri: 16 18 19 -Tri: 20 19 18 -Tri: 20 18 21 -Tri: 22 23 24 -Tri: 22 24 25 -Tri: 26 27 24 -Tri: 26 24 28 -Tri: 29 30 31 -Tri: 29 31 32 -Tri: 33 34 35 -Tri: 33 35 36 -Tri: 37 38 39 -Tri: 37 39 40 -Tri: 40 39 41 -Tri: 40 41 42 -Tri: 43 41 44 -Tri: 43 44 45 -Tri: 46 47 48 -Tri: 46 48 49 -Tri: 50 51 52 -Tri: 51 53 52 -Tri: 52 53 36 -Tri: 53 54 36 -Tri: 36 54 33 -Tri: 54 32 33 -Tri: 33 32 55 -Tri: 32 31 55 -Tri: 55 31 56 -Tri: 31 57 56 -Tri: 56 57 58 -Tri: 57 59 58 -Tri: 58 59 50 -Tri: 59 51 50 -Tri: 19 11 10 -Tri: 19 10 16 -Tri: 60 61 62 -Tri: 60 62 22 -Tri: 60 22 25 -Tri: 60 25 63 -Tri: 64 65 66 -Tri: 64 66 12 -Tri: 12 66 67 -Tri: 12 67 13 -Tri: 11 68 7 -Tri: 69 70 13 -Tri: 69 13 67 -Tri: 69 71 72 -Tri: 69 72 70 -Tri: 73 74 9 -Tri: 73 9 75 -Tri: 60 76 77 -Tri: 60 77 61 -Tri: 5 67 66 -Tri: 5 66 65 -Tri: 15 14 11 -Tri: 15 11 78 -Tri: 79 80 81 -Tri: 79 81 82 -Tri: 83 5 65 -Tri: 83 65 84 -Tri: 6 68 85 -Tri: 6 85 86 -Tri: 87 88 89 -Tri: 87 89 90 -Tri: 62 19 20 -Tri: 62 20 91 -Tri: 61 77 19 -Tri: 61 19 62 -Tri: 27 83 25 -Tri: 27 25 24 -Tri: 27 21 18 -Tri: 27 18 83 -Tri: 80 20 21 -Tri: 80 21 81 -Tri: 5 4 69 -Tri: 5 69 67 -Tri: 69 4 1 -Tri: 69 1 71 -Tri: 92 93 94 -Tri: 16 10 95 -Tri: 16 95 96 -Tri: 97 98 99 -Tri: 97 99 100 -Tri: 101 102 103 -Tri: 101 103 104 -Tri: 43 45 105 -Tri: 43 105 106 -Tri: 107 108 109 -Tri: 107 109 42 -Tri: 109 110 42 -Tri: 42 110 40 -Tri: 110 37 40 -Tri: 111 112 113 -Tri: 111 113 114 -Tri: 112 115 116 -Tri: 112 116 113 -Tri: 111 117 112 -Tri: 117 118 112 -Tri: 112 118 119 -Tri: 118 108 119 -Tri: 108 118 45 -Tri: 118 120 45 -Tri: 118 117 120 -Tri: 117 121 120 -Tri: 117 111 121 -Tri: 111 122 121 -Tri: 111 114 122 -Tri: 114 123 122 -Tri: 114 110 123 -Tri: 110 124 123 -Tri: 110 109 124 -Tri: 109 44 124 -Tri: 109 108 44 -Tri: 108 45 44 -Tri: 125 126 127 -Tri: 125 127 128 -Tri: 107 43 106 -Tri: 107 106 129 -Tri: 130 50 128 -Tri: 130 128 127 -Tri: 129 119 108 -Tri: 129 108 107 -Tri: 29 131 35 -Tri: 29 35 34 -Tri: 116 115 122 -Tri: 116 122 123 -Tri: 9 74 95 -Tri: 9 95 10 -Tri: 132 96 95 -Tri: 132 95 74 -Tri: 94 17 133 -Tri: 94 133 92 -Tri: 18 17 94 -Tri: 18 94 83 -Tri: 134 16 96 -Tri: 132 133 134 -Tri: 132 134 96 -Tri: 76 64 78 -Tri: 76 78 77 -Tri: 3 2 5 -Tri: 3 5 8 -Tri: 86 72 0 -Tri: 86 0 6 -Tri: 78 11 19 -Tri: 78 19 77 -Tri: 70 72 86 -Tri: 70 86 85 -Tri: 28 82 81 -Tri: 28 81 26 -Tri: 64 12 15 -Tri: 64 15 78 -Tri: 60 63 84 -Tri: 60 84 76 -Tri: 25 83 84 -Tri: 25 84 63 -Tri: 23 22 62 -Tri: 23 62 91 -Tri: 82 23 91 -Tri: 82 91 79 -Tri: 91 20 80 -Tri: 91 80 79 -Tri: 125 51 135 -Tri: 125 135 126 -Tri: 105 45 120 -Tri: 42 41 43 -Tri: 42 43 107 -Tri: 44 41 124 -Tri: 41 39 124 -Tri: 124 39 38 -Tri: 114 113 37 -Tri: 114 37 110 -Tri: 30 29 34 -Tri: 30 34 136 -Tri: 122 115 121 -Tri: 115 120 121 -Tri: 68 6 7 -Tri: 76 84 65 -Tri: 76 65 64 -Tri: 7 3 8 -Tri: 7 8 11 -Tri: 71 1 0 -Tri: 71 0 72 -Tri: 52 48 128 -Tri: 52 128 50 -Tri: 131 46 49 -Tri: 131 49 35 -Tri: 52 36 48 -Tri: 48 36 49 -Tri: 36 35 49 -Tri: 131 29 32 -Tri: 131 32 54 -Tri: 125 47 53 -Tri: 125 53 51 -Tri: 55 56 136 -Tri: 56 58 136 -Tri: 136 58 130 -Tri: 58 50 130 -Tri: 82 28 24 -Tri: 82 24 23 -Tri: 26 81 21 -Tri: 26 21 27 -Tri: 113 116 38 -Tri: 113 38 37 -Tri: 83 94 75 -Tri: 83 75 5 -Tri: 85 68 11 -Tri: 85 11 14 -Tri: 73 93 132 -Tri: 73 132 74 -Tri: 75 9 8 -Tri: 75 8 5 -Tri: 73 75 94 -Tri: 73 94 93 -Tri: 17 16 134 -Tri: 17 134 133 -Tri: 93 92 133 -Tri: 93 133 132 -Tri: 135 51 59 -Tri: 47 125 128 -Tri: 47 128 48 -Tri: 53 47 54 -Tri: 47 46 54 -Tri: 54 46 131 -Tri: 38 116 123 -Tri: 38 123 124 -Tri: 55 136 34 -Tri: 55 34 33 -Tri: 31 30 57 -Tri: 30 59 57 -Tri: 59 30 135 -Tri: 13 70 85 -Tri: 13 85 14 -Tri: 115 105 120 -Tri: 137 138 139 -Tri: 137 139 140 -Tri: 140 139 141 -Tri: 140 141 142 -Tri: 142 141 143 -Tri: 142 143 144 -Tri: 144 143 145 -Tri: 144 145 146 -Tri: 146 145 147 -Tri: 146 147 148 -Tri: 148 147 149 -Tri: 148 149 150 -Tri: 150 149 151 -Tri: 150 151 152 -Tri: 152 151 153 -Tri: 152 153 154 -Tri: 154 153 155 -Tri: 154 155 156 -Tri: 156 155 157 -Tri: 156 157 158 -Tri: 158 157 159 -Tri: 158 159 160 -Tri: 160 159 161 -Tri: 160 161 162 -Tri: 162 161 163 -Tri: 162 163 164 -Tri: 164 163 165 -Tri: 164 165 166 -Tri: 166 165 167 -Tri: 166 167 168 -Tri: 168 167 169 -Tri: 168 169 170 -Tri: 170 169 171 -Tri: 170 171 172 -Tri: 172 171 173 -Tri: 172 173 174 -Tri: 174 173 175 -Tri: 174 175 176 -Tri: 176 175 177 -Tri: 176 177 178 -Tri: 178 177 179 -Tri: 178 179 180 -Tri: 180 179 181 -Tri: 180 181 182 -Tri: 182 181 183 -Tri: 182 183 184 -Tri: 184 183 185 -Tri: 184 185 186 -Tri: 186 185 187 -Tri: 186 187 188 -Tri: 188 187 189 -Tri: 188 189 190 -Tri: 190 189 191 -Tri: 190 191 192 -Tri: 192 191 193 -Tri: 192 193 194 -Tri: 194 193 195 -Tri: 194 195 196 -Tri: 196 195 197 -Tri: 196 197 198 -Tri: 139 138 199 -Tri: 139 199 200 -Tri: 198 197 201 -Tri: 198 201 202 -Tri: 202 201 138 -Tri: 202 138 137 -Tri: 159 157 203 -Tri: 159 203 204 -Tri: 177 175 205 -Tri: 177 205 206 -Tri: 195 193 207 -Tri: 195 207 208 -Tri: 151 149 209 -Tri: 151 209 210 -Tri: 169 167 211 -Tri: 169 211 212 -Tri: 187 185 213 -Tri: 187 213 214 -Tri: 215 216 217 -Tri: 215 217 218 -Tri: 175 173 219 -Tri: 175 219 205 -Tri: 193 191 220 -Tri: 193 220 207 -Tri: 149 147 221 -Tri: 149 221 209 -Tri: 167 165 222 -Tri: 167 222 211 -Tri: 185 183 223 -Tri: 185 223 213 -Tri: 224 215 218 -Tri: 224 218 225 -Tri: 226 227 228 -Tri: 226 228 229 -Tri: 230 231 232 -Tri: 230 232 233 -Tri: 234 235 236 -Tri: 234 236 237 -Tri: 238 87 90 -Tri: 238 90 239 -Tri: 240 101 104 -Tri: 240 104 241 -Tri: 242 97 100 -Tri: 242 100 243 -Tri: 244 224 225 -Tri: 244 225 245 -Tri: 246 226 229 -Tri: 246 229 247 -Tri: 248 230 233 -Tri: 248 233 249 -Tri: 250 234 237 -Tri: 250 237 251 -Tri: 252 253 254 -Tri: 252 254 255 -Tri: 256 257 258 -Tri: 256 258 259 -Tri: 260 261 262 -Tri: 260 262 263 -Tri: 264 265 266 -Tri: 264 266 267 -Tri: 268 269 270 -Tri: 268 270 271 -Tri: 272 273 274 -Tri: 272 274 275 -Tri: 276 277 278 -Tri: 276 278 279 -Tri: 235 280 281 -Tri: 235 281 236 -Tri: 231 282 283 -Tri: 231 283 232 -Tri: 227 284 285 -Tri: 227 285 228 -Tri: 286 250 251 -Tri: 286 251 287 -Tri: 288 289 290 -Tri: 288 290 291 -Tri: 292 293 294 -Tri: 292 294 295 -Tri: 296 297 298 -Tri: 296 298 299 -Tri: 300 301 302 -Tri: 300 302 303 -Tri: 277 304 305 -Tri: 277 305 278 -Tri: 273 306 307 -Tri: 273 307 274 -Tri: 269 252 255 -Tri: 269 255 270 -Tri: 265 288 291 -Tri: 265 291 266 -Tri: 261 292 295 -Tri: 261 295 262 -Tri: 257 296 299 -Tri: 257 299 258 -Tri: 308 300 303 -Tri: 308 303 309 -Tri: 293 310 311 -Tri: 293 311 294 -Tri: 297 312 313 -Tri: 297 313 298 -Tri: 301 314 315 -Tri: 301 315 302 -Tri: 304 316 317 -Tri: 304 317 305 -Tri: 306 318 319 -Tri: 306 319 307 -Tri: 157 155 320 -Tri: 157 320 203 -Tri: 321 248 249 -Tri: 321 249 322 -Tri: 323 246 247 -Tri: 323 247 324 -Tri: 325 244 245 -Tri: 325 245 326 -Tri: 327 242 243 -Tri: 327 243 328 -Tri: 329 240 241 -Tri: 329 241 330 -Tri: 331 238 239 -Tri: 331 239 332 -Tri: 141 139 200 -Tri: 141 200 333 -Tri: 310 276 279 -Tri: 310 279 311 -Tri: 312 272 275 -Tri: 312 275 313 -Tri: 314 268 271 -Tri: 314 271 315 -Tri: 316 264 267 -Tri: 316 267 317 -Tri: 318 260 263 -Tri: 318 263 319 -Tri: 253 256 259 -Tri: 253 259 254 -Tri: 138 201 334 -Tri: 138 334 199 -Tri: 335 336 337 -Tri: 335 337 338 -Tri: 183 181 339 -Tri: 183 339 223 -Tri: 165 163 340 -Tri: 165 340 222 -Tri: 147 145 341 -Tri: 147 341 221 -Tri: 191 189 342 -Tri: 191 342 220 -Tri: 173 171 343 -Tri: 173 343 219 -Tri: 155 153 344 -Tri: 155 344 320 -Tri: 201 197 345 -Tri: 201 345 334 -Tri: 181 179 346 -Tri: 181 346 339 -Tri: 163 161 347 -Tri: 163 347 340 -Tri: 145 143 348 -Tri: 145 348 341 -Tri: 189 187 214 -Tri: 189 214 342 -Tri: 171 169 212 -Tri: 171 212 343 -Tri: 153 151 210 -Tri: 153 210 344 -Tri: 197 195 208 -Tri: 197 208 345 -Tri: 179 177 206 -Tri: 179 206 346 -Tri: 161 159 204 -Tri: 161 204 347 -Tri: 143 141 333 -Tri: 143 333 348 -Tri: 98 321 322 -Tri: 98 322 99 -Tri: 102 323 324 -Tri: 102 324 103 -Tri: 88 325 326 -Tri: 88 326 89 -Tri: 280 327 328 -Tri: 280 328 281 -Tri: 282 329 330 -Tri: 282 330 283 -Tri: 284 331 332 -Tri: 284 332 285 -Tri: 216 286 287 -Tri: 216 287 217 -Tri: 336 308 309 -Tri: 336 309 337 -Tri: 248 321 310 -Tri: 248 310 293 -Tri: 213 223 294 -Tri: 213 294 311 -Tri: 246 323 312 -Tri: 246 312 297 -Tri: 211 222 298 -Tri: 211 298 313 -Tri: 244 325 314 -Tri: 244 314 301 -Tri: 209 221 302 -Tri: 209 302 315 -Tri: 242 327 316 -Tri: 242 316 304 -Tri: 207 220 305 -Tri: 207 305 317 -Tri: 240 329 318 -Tri: 240 318 306 -Tri: 205 219 307 -Tri: 205 307 319 -Tri: 238 331 253 -Tri: 238 253 252 -Tri: 203 320 255 -Tri: 203 255 254 -Tri: 234 250 289 -Tri: 234 289 288 -Tri: 199 334 291 -Tri: 199 291 290 -Tri: 250 286 335 -Tri: 250 335 289 -Tri: 200 199 290 -Tri: 200 290 338 -Tri: 230 248 293 -Tri: 230 293 292 -Tri: 223 339 295 -Tri: 223 295 294 -Tri: 226 246 297 -Tri: 226 297 296 -Tri: 222 340 299 -Tri: 222 299 298 -Tri: 224 244 301 -Tri: 224 301 300 -Tri: 221 341 303 -Tri: 221 303 302 -Tri: 97 242 304 -Tri: 97 304 277 -Tri: 220 342 278 -Tri: 220 278 305 -Tri: 101 240 306 -Tri: 101 306 273 -Tri: 219 343 274 -Tri: 219 274 307 -Tri: 87 238 252 -Tri: 87 252 269 -Tri: 320 344 270 -Tri: 320 270 255 -Tri: 235 234 288 -Tri: 235 288 265 -Tri: 334 345 266 -Tri: 334 266 291 -Tri: 231 230 292 -Tri: 231 292 261 -Tri: 339 346 262 -Tri: 339 262 295 -Tri: 227 226 296 -Tri: 227 296 257 -Tri: 340 347 258 -Tri: 340 258 299 -Tri: 215 224 300 -Tri: 215 300 308 -Tri: 341 348 309 -Tri: 341 309 303 -Tri: 98 97 277 -Tri: 98 277 276 -Tri: 342 214 279 -Tri: 342 279 278 -Tri: 102 101 273 -Tri: 102 273 272 -Tri: 343 212 275 -Tri: 343 275 274 -Tri: 88 87 269 -Tri: 88 269 268 -Tri: 344 210 271 -Tri: 344 271 270 -Tri: 280 235 265 -Tri: 280 265 264 -Tri: 345 208 267 -Tri: 345 267 266 -Tri: 282 231 261 -Tri: 282 261 260 -Tri: 346 206 263 -Tri: 346 263 262 -Tri: 284 227 257 -Tri: 284 257 256 -Tri: 347 204 259 -Tri: 347 259 258 -Tri: 216 215 308 -Tri: 216 308 336 -Tri: 348 333 337 -Tri: 348 337 309 -Tri: 321 98 276 -Tri: 321 276 310 -Tri: 214 213 311 -Tri: 214 311 279 -Tri: 323 102 272 -Tri: 323 272 312 -Tri: 212 211 313 -Tri: 212 313 275 -Tri: 325 88 268 -Tri: 325 268 314 -Tri: 210 209 315 -Tri: 210 315 271 -Tri: 327 280 264 -Tri: 327 264 316 -Tri: 208 207 317 -Tri: 208 317 267 -Tri: 329 282 260 -Tri: 329 260 318 -Tri: 206 205 319 -Tri: 206 319 263 -Tri: 331 284 256 -Tri: 331 256 253 -Tri: 204 203 254 -Tri: 204 254 259 -Tri: 286 216 336 -Tri: 286 336 335 -Tri: 333 200 338 -Tri: 333 338 337 -Tri: 289 335 338 -Tri: 289 338 290 -Tri: 349 350 351 -Tri: 349 351 352 -Tri: 353 354 355 -Tri: 353 355 356 -Tri: 357 358 359 -Tri: 357 359 360 -Tri: 361 362 363 -Tri: 361 363 364 -Tri: 364 363 365 -Tri: 364 365 366 -Tri: 366 365 367 -Tri: 366 367 368 -Tri: 368 367 369 -Tri: 368 369 370 -Tri: 370 369 371 -Tri: 370 371 372 -Tri: 372 371 373 -Tri: 372 373 374 -Tri: 374 373 375 -Tri: 374 375 376 -Tri: 376 375 377 -Tri: 376 377 378 -Tri: 378 377 379 -Tri: 378 379 380 -Tri: 380 379 381 -Tri: 380 381 382 -Tri: 382 381 383 -Tri: 382 383 384 -Tri: 384 383 385 -Tri: 384 385 386 -Tri: 386 385 387 -Tri: 386 387 388 -Tri: 388 387 389 -Tri: 388 389 390 -Tri: 390 389 391 -Tri: 390 391 392 -Tri: 392 391 393 -Tri: 392 393 394 -Tri: 394 393 395 -Tri: 394 395 396 -Tri: 396 395 397 -Tri: 396 397 398 -Tri: 398 397 399 -Tri: 398 399 400 -Tri: 400 399 401 -Tri: 400 401 402 -Tri: 402 401 403 -Tri: 402 403 404 -Tri: 404 403 405 -Tri: 404 405 406 -Tri: 406 405 407 -Tri: 406 407 408 -Tri: 408 407 409 -Tri: 408 409 410 -Tri: 410 409 411 -Tri: 410 411 412 -Tri: 412 411 413 -Tri: 412 413 414 -Tri: 414 413 415 -Tri: 414 415 416 -Tri: 416 415 417 -Tri: 416 417 418 -Tri: 418 417 419 -Tri: 418 419 420 -Tri: 420 419 421 -Tri: 420 421 422 -Tri: 363 362 423 -Tri: 363 423 424 -Tri: 422 421 425 -Tri: 422 425 426 -Tri: 426 425 362 -Tri: 426 362 361 -Tri: 383 381 427 -Tri: 383 427 428 -Tri: 401 399 429 -Tri: 401 429 430 -Tri: 419 417 431 -Tri: 419 431 432 -Tri: 375 373 433 -Tri: 375 433 434 -Tri: 393 391 435 -Tri: 393 435 436 -Tri: 411 409 437 -Tri: 411 437 438 -Tri: 439 440 441 -Tri: 439 441 442 -Tri: 399 397 443 -Tri: 399 443 429 -Tri: 417 415 444 -Tri: 417 444 431 -Tri: 373 371 445 -Tri: 373 445 433 -Tri: 391 389 446 -Tri: 391 446 435 -Tri: 409 407 447 -Tri: 409 447 437 -Tri: 448 439 442 -Tri: 448 442 449 -Tri: 450 451 452 -Tri: 450 452 453 -Tri: 454 455 456 -Tri: 454 456 457 -Tri: 458 459 460 -Tri: 458 460 461 -Tri: 462 349 352 -Tri: 462 352 463 -Tri: 464 357 360 -Tri: 464 360 465 -Tri: 466 353 356 -Tri: 466 356 467 -Tri: 468 448 449 -Tri: 468 449 469 -Tri: 470 450 453 -Tri: 470 453 471 -Tri: 472 454 457 -Tri: 472 457 473 -Tri: 474 458 461 -Tri: 474 461 475 -Tri: 476 477 478 -Tri: 476 478 479 -Tri: 480 481 482 -Tri: 480 482 483 -Tri: 484 485 486 -Tri: 484 486 487 -Tri: 488 489 490 -Tri: 488 490 491 -Tri: 492 493 494 -Tri: 492 494 495 -Tri: 496 497 498 -Tri: 496 498 499 -Tri: 500 501 502 -Tri: 500 502 503 -Tri: 459 504 505 -Tri: 459 505 460 -Tri: 455 506 507 -Tri: 455 507 456 -Tri: 451 508 509 -Tri: 451 509 452 -Tri: 510 474 475 -Tri: 510 475 511 -Tri: 512 513 514 -Tri: 512 514 515 -Tri: 516 517 518 -Tri: 516 518 519 -Tri: 520 521 522 -Tri: 520 522 523 -Tri: 524 525 526 -Tri: 524 526 527 -Tri: 501 528 529 -Tri: 501 529 502 -Tri: 497 530 531 -Tri: 497 531 498 -Tri: 493 476 479 -Tri: 493 479 494 -Tri: 489 512 515 -Tri: 489 515 490 -Tri: 485 516 519 -Tri: 485 519 486 -Tri: 481 520 523 -Tri: 481 523 482 -Tri: 532 524 527 -Tri: 532 527 533 -Tri: 517 534 535 -Tri: 517 535 518 -Tri: 521 536 537 -Tri: 521 537 522 -Tri: 525 538 539 -Tri: 525 539 526 -Tri: 528 540 541 -Tri: 528 541 529 -Tri: 530 542 543 -Tri: 530 543 531 -Tri: 381 379 544 -Tri: 381 544 427 -Tri: 545 472 473 -Tri: 545 473 546 -Tri: 547 470 471 -Tri: 547 471 548 -Tri: 549 468 469 -Tri: 549 469 550 -Tri: 551 466 467 -Tri: 551 467 552 -Tri: 553 464 465 -Tri: 553 465 554 -Tri: 555 462 463 -Tri: 555 463 556 -Tri: 365 363 424 -Tri: 365 424 557 -Tri: 534 500 503 -Tri: 534 503 535 -Tri: 536 496 499 -Tri: 536 499 537 -Tri: 538 492 495 -Tri: 538 495 539 -Tri: 540 488 491 -Tri: 540 491 541 -Tri: 542 484 487 -Tri: 542 487 543 -Tri: 477 480 483 -Tri: 477 483 478 -Tri: 362 425 558 -Tri: 362 558 423 -Tri: 559 560 561 -Tri: 559 561 562 -Tri: 407 405 563 -Tri: 407 563 447 -Tri: 389 387 564 -Tri: 389 564 446 -Tri: 371 369 565 -Tri: 371 565 445 -Tri: 415 413 566 -Tri: 415 566 444 -Tri: 397 395 567 -Tri: 397 567 443 -Tri: 379 377 568 -Tri: 379 568 544 -Tri: 425 421 569 -Tri: 425 569 558 -Tri: 405 403 570 -Tri: 405 570 563 -Tri: 387 385 571 -Tri: 387 571 564 -Tri: 369 367 572 -Tri: 369 572 565 -Tri: 413 411 438 -Tri: 413 438 566 -Tri: 395 393 436 -Tri: 395 436 567 -Tri: 377 375 434 -Tri: 377 434 568 -Tri: 421 419 432 -Tri: 421 432 569 -Tri: 403 401 430 -Tri: 403 430 570 -Tri: 385 383 428 -Tri: 385 428 571 -Tri: 367 365 557 -Tri: 367 557 572 -Tri: 354 545 546 -Tri: 354 546 355 -Tri: 358 547 548 -Tri: 358 548 359 -Tri: 350 549 550 -Tri: 350 550 351 -Tri: 504 551 552 -Tri: 504 552 505 -Tri: 506 553 554 -Tri: 506 554 507 -Tri: 508 555 556 -Tri: 508 556 509 -Tri: 440 510 511 -Tri: 440 511 441 -Tri: 560 532 533 -Tri: 560 533 561 -Tri: 472 545 534 -Tri: 472 534 517 -Tri: 437 447 518 -Tri: 437 518 535 -Tri: 470 547 536 -Tri: 470 536 521 -Tri: 435 446 522 -Tri: 435 522 537 -Tri: 468 549 538 -Tri: 468 538 525 -Tri: 433 445 526 -Tri: 433 526 539 -Tri: 466 551 540 -Tri: 466 540 528 -Tri: 431 444 529 -Tri: 431 529 541 -Tri: 464 553 542 -Tri: 464 542 530 -Tri: 429 443 531 -Tri: 429 531 543 -Tri: 462 555 477 -Tri: 462 477 476 -Tri: 427 544 479 -Tri: 427 479 478 -Tri: 458 474 513 -Tri: 458 513 512 -Tri: 423 558 515 -Tri: 423 515 514 -Tri: 474 510 559 -Tri: 474 559 513 -Tri: 424 423 514 -Tri: 424 514 562 -Tri: 454 472 517 -Tri: 454 517 516 -Tri: 447 563 519 -Tri: 447 519 518 -Tri: 450 470 521 -Tri: 450 521 520 -Tri: 446 564 523 -Tri: 446 523 522 -Tri: 448 468 525 -Tri: 448 525 524 -Tri: 445 565 527 -Tri: 445 527 526 -Tri: 353 466 528 -Tri: 353 528 501 -Tri: 444 566 502 -Tri: 444 502 529 -Tri: 357 464 530 -Tri: 357 530 497 -Tri: 443 567 498 -Tri: 443 498 531 -Tri: 349 462 476 -Tri: 349 476 493 -Tri: 544 568 494 -Tri: 544 494 479 -Tri: 459 458 512 -Tri: 459 512 489 -Tri: 558 569 490 -Tri: 558 490 515 -Tri: 455 454 516 -Tri: 455 516 485 -Tri: 563 570 486 -Tri: 563 486 519 -Tri: 451 450 520 -Tri: 451 520 481 -Tri: 564 571 482 -Tri: 564 482 523 -Tri: 439 448 524 -Tri: 439 524 532 -Tri: 565 572 533 -Tri: 565 533 527 -Tri: 354 353 501 -Tri: 354 501 500 -Tri: 566 438 503 -Tri: 566 503 502 -Tri: 358 357 497 -Tri: 358 497 496 -Tri: 567 436 499 -Tri: 567 499 498 -Tri: 350 349 493 -Tri: 350 493 492 -Tri: 568 434 495 -Tri: 568 495 494 -Tri: 504 459 489 -Tri: 504 489 488 -Tri: 569 432 491 -Tri: 569 491 490 -Tri: 506 455 485 -Tri: 506 485 484 -Tri: 570 430 487 -Tri: 570 487 486 -Tri: 508 451 481 -Tri: 508 481 480 -Tri: 571 428 483 -Tri: 571 483 482 -Tri: 440 439 532 -Tri: 440 532 560 -Tri: 572 557 561 -Tri: 572 561 533 -Tri: 545 354 500 -Tri: 545 500 534 -Tri: 438 437 535 -Tri: 438 535 503 -Tri: 547 358 496 -Tri: 547 496 536 -Tri: 436 435 537 -Tri: 436 537 499 -Tri: 549 350 492 -Tri: 549 492 538 -Tri: 434 433 539 -Tri: 434 539 495 -Tri: 551 504 488 -Tri: 551 488 540 -Tri: 432 431 541 -Tri: 432 541 491 -Tri: 553 506 484 -Tri: 553 484 542 -Tri: 430 429 543 -Tri: 430 543 487 -Tri: 555 508 480 -Tri: 555 480 477 -Tri: 428 427 478 -Tri: 428 478 483 -Tri: 510 440 560 -Tri: 510 560 559 -Tri: 557 424 562 -Tri: 557 562 561 -Tri: 513 559 562 -Tri: 513 562 514 -Tri: 573 574 575 -Tri: 573 575 576 -Tri: 577 578 579 -Tri: 577 579 580 -Tri: 581 582 577 -Tri: 581 577 580 -Tri: 583 582 581 -Tri: 583 581 584 -Tri: 585 586 587 -Tri: 585 587 588 -Tri: 589 590 585 -Tri: 589 585 591 -Tri: 592 587 586 -Tri: 592 586 590 -Tri: 589 593 590 -Tri: 593 589 594 -Tri: 593 594 595 -Tri: 575 574 591 -Tri: 575 591 585 -Tri: 575 585 588 -Tri: 575 588 596 -Tri: 590 586 585 -Tri: 578 583 584 -Tri: 578 584 579 -Tri: 597 598 582 -Tri: 597 582 583 -Tri: 573 576 578 -Tri: 573 578 577 -Tri: 589 591 599 -Tri: 589 599 594 -Tri: 576 597 583 -Tri: 576 583 578 -Tri: 576 575 596 -Tri: 576 596 597 -Tri: 574 573 598 -Tri: 574 598 600 -Tri: 600 599 591 -Tri: 600 591 574 -Tri: 588 592 594 -Tri: 588 594 599 -Tri: 596 600 598 -Tri: 596 598 597 -Tri: 594 592 595 -Tri: 592 588 587 -Tri: 596 588 599 -Tri: 596 599 600 -Tri: 598 573 577 -Tri: 598 577 582 -Tri: 595 592 590 -Tri: 595 590 593 -Tri: 601 602 603 -Tri: 601 603 604 -Tri: 605 606 579 -Tri: 605 579 580 -Tri: 581 607 605 -Tri: 581 605 580 -Tri: 608 607 581 -Tri: 608 581 584 -Tri: 609 610 611 -Tri: 609 611 612 -Tri: 613 614 609 -Tri: 613 609 615 -Tri: 616 611 610 -Tri: 616 610 614 -Tri: 613 617 614 -Tri: 617 613 618 -Tri: 617 618 619 -Tri: 603 602 615 -Tri: 603 615 609 -Tri: 603 609 612 -Tri: 603 612 620 -Tri: 614 610 609 -Tri: 606 608 584 -Tri: 606 584 579 -Tri: 621 622 607 -Tri: 621 607 608 -Tri: 601 604 606 -Tri: 601 606 605 -Tri: 613 615 623 -Tri: 613 623 618 -Tri: 604 621 608 -Tri: 604 608 606 -Tri: 604 603 620 -Tri: 604 620 621 -Tri: 602 601 622 -Tri: 602 622 624 -Tri: 624 623 615 -Tri: 624 615 602 -Tri: 612 616 618 -Tri: 612 618 623 -Tri: 620 624 622 -Tri: 620 622 621 -Tri: 618 616 619 -Tri: 616 612 611 -Tri: 620 612 623 -Tri: 620 623 624 -Tri: 622 601 605 -Tri: 622 605 607 -Tri: 619 616 614 -Tri: 619 614 617 -Tri: 625 626 627 -Tri: 625 627 628 -Tri: 629 630 631 -Tri: 629 631 632 -Tri: 633 634 635 -Tri: 633 635 636 -Tri: 637 638 639 -Tri: 638 640 639 -Tri: 639 640 632 -Tri: 640 641 632 -Tri: 632 641 629 -Tri: 641 628 629 -Tri: 629 628 642 -Tri: 628 627 642 -Tri: 642 627 643 -Tri: 627 644 643 -Tri: 643 644 645 -Tri: 644 646 645 -Tri: 645 646 637 -Tri: 646 638 637 -Tri: 647 648 649 -Tri: 647 649 650 -Tri: 651 637 650 -Tri: 651 650 649 -Tri: 625 652 631 -Tri: 625 631 630 -Tri: 647 638 653 -Tri: 647 653 648 -Tri: 626 625 630 -Tri: 626 630 654 -Tri: 639 635 650 -Tri: 639 650 637 -Tri: 652 633 636 -Tri: 652 636 631 -Tri: 639 632 635 -Tri: 635 632 636 -Tri: 632 631 636 -Tri: 652 625 628 -Tri: 652 628 641 -Tri: 647 634 640 -Tri: 647 640 638 -Tri: 642 643 654 -Tri: 643 645 654 -Tri: 654 645 651 -Tri: 645 637 651 -Tri: 653 638 646 -Tri: 634 647 650 -Tri: 634 650 635 -Tri: 640 634 641 -Tri: 634 633 641 -Tri: 641 633 652 -Tri: 642 654 630 -Tri: 642 630 629 -Tri: 627 626 644 -Tri: 626 646 644 -Tri: 646 626 653 -Tri: 655 656 657 -Tri: 655 657 658 -Tri: 659 660 661 -Tri: 659 661 662 -Tri: 663 664 665 -Tri: 663 665 666 -Tri: 667 668 669 -Tri: 667 669 670 -Tri: 670 669 671 -Tri: 670 671 672 -Tri: 672 671 673 -Tri: 672 673 674 -Tri: 674 673 675 -Tri: 674 675 676 -Tri: 676 675 677 -Tri: 676 677 678 -Tri: 678 677 679 -Tri: 678 679 680 -Tri: 680 679 681 -Tri: 680 681 682 -Tri: 682 681 683 -Tri: 682 683 684 -Tri: 684 683 685 -Tri: 684 685 686 -Tri: 686 685 687 -Tri: 686 687 688 -Tri: 688 687 689 -Tri: 688 689 690 -Tri: 690 689 691 -Tri: 690 691 692 -Tri: 692 691 693 -Tri: 692 693 694 -Tri: 694 693 695 -Tri: 694 695 696 -Tri: 696 695 697 -Tri: 696 697 698 -Tri: 698 697 699 -Tri: 698 699 700 -Tri: 700 699 701 -Tri: 700 701 702 -Tri: 702 701 703 -Tri: 702 703 704 -Tri: 704 703 705 -Tri: 704 705 706 -Tri: 706 705 707 -Tri: 706 707 708 -Tri: 708 707 709 -Tri: 708 709 710 -Tri: 710 709 711 -Tri: 710 711 712 -Tri: 712 711 713 -Tri: 712 713 714 -Tri: 714 713 715 -Tri: 714 715 716 -Tri: 716 715 717 -Tri: 716 717 718 -Tri: 718 717 719 -Tri: 718 719 720 -Tri: 720 719 721 -Tri: 720 721 722 -Tri: 722 721 723 -Tri: 722 723 724 -Tri: 724 723 725 -Tri: 724 725 726 -Tri: 726 725 727 -Tri: 726 727 728 -Tri: 669 668 729 -Tri: 669 729 730 -Tri: 728 727 731 -Tri: 728 731 732 -Tri: 732 731 668 -Tri: 732 668 667 -Tri: 689 687 733 -Tri: 689 733 734 -Tri: 707 705 735 -Tri: 707 735 736 -Tri: 725 723 737 -Tri: 725 737 738 -Tri: 681 679 739 -Tri: 681 739 740 -Tri: 699 697 741 -Tri: 699 741 742 -Tri: 717 715 743 -Tri: 717 743 744 -Tri: 745 746 747 -Tri: 745 747 748 -Tri: 705 703 749 -Tri: 705 749 735 -Tri: 723 721 750 -Tri: 723 750 737 -Tri: 679 677 751 -Tri: 679 751 739 -Tri: 697 695 752 -Tri: 697 752 741 -Tri: 715 713 753 -Tri: 715 753 743 -Tri: 754 745 748 -Tri: 754 748 755 -Tri: 756 757 758 -Tri: 756 758 759 -Tri: 760 761 762 -Tri: 760 762 763 -Tri: 764 765 766 -Tri: 764 766 767 -Tri: 768 655 658 -Tri: 768 658 769 -Tri: 770 663 666 -Tri: 770 666 771 -Tri: 772 659 662 -Tri: 772 662 773 -Tri: 774 754 755 -Tri: 774 755 775 -Tri: 776 756 759 -Tri: 776 759 777 -Tri: 778 760 763 -Tri: 778 763 779 -Tri: 780 764 767 -Tri: 780 767 781 -Tri: 782 783 784 -Tri: 782 784 785 -Tri: 786 787 788 -Tri: 786 788 789 -Tri: 790 791 792 -Tri: 790 792 793 -Tri: 794 795 796 -Tri: 794 796 797 -Tri: 798 799 800 -Tri: 798 800 801 -Tri: 802 803 804 -Tri: 802 804 805 -Tri: 806 807 808 -Tri: 806 808 809 -Tri: 765 810 811 -Tri: 765 811 766 -Tri: 761 812 813 -Tri: 761 813 762 -Tri: 757 814 815 -Tri: 757 815 758 -Tri: 816 780 781 -Tri: 816 781 817 -Tri: 818 819 820 -Tri: 818 820 821 -Tri: 822 823 824 -Tri: 822 824 825 -Tri: 826 827 828 -Tri: 826 828 829 -Tri: 830 831 832 -Tri: 830 832 833 -Tri: 807 834 835 -Tri: 807 835 808 -Tri: 803 836 837 -Tri: 803 837 804 -Tri: 799 782 785 -Tri: 799 785 800 -Tri: 795 818 821 -Tri: 795 821 796 -Tri: 791 822 825 -Tri: 791 825 792 -Tri: 787 826 829 -Tri: 787 829 788 -Tri: 838 830 833 -Tri: 838 833 839 -Tri: 823 840 841 -Tri: 823 841 824 -Tri: 827 842 843 -Tri: 827 843 828 -Tri: 831 844 845 -Tri: 831 845 832 -Tri: 834 846 847 -Tri: 834 847 835 -Tri: 836 848 849 -Tri: 836 849 837 -Tri: 687 685 850 -Tri: 687 850 733 -Tri: 851 778 779 -Tri: 851 779 852 -Tri: 853 776 777 -Tri: 853 777 854 -Tri: 855 774 775 -Tri: 855 775 856 -Tri: 857 772 773 -Tri: 857 773 858 -Tri: 859 770 771 -Tri: 859 771 860 -Tri: 861 768 769 -Tri: 861 769 862 -Tri: 671 669 730 -Tri: 671 730 863 -Tri: 840 806 809 -Tri: 840 809 841 -Tri: 842 802 805 -Tri: 842 805 843 -Tri: 844 798 801 -Tri: 844 801 845 -Tri: 846 794 797 -Tri: 846 797 847 -Tri: 848 790 793 -Tri: 848 793 849 -Tri: 783 786 789 -Tri: 783 789 784 -Tri: 668 731 864 -Tri: 668 864 729 -Tri: 865 866 867 -Tri: 865 867 868 -Tri: 713 711 869 -Tri: 713 869 753 -Tri: 695 693 870 -Tri: 695 870 752 -Tri: 677 675 871 -Tri: 677 871 751 -Tri: 721 719 872 -Tri: 721 872 750 -Tri: 703 701 873 -Tri: 703 873 749 -Tri: 685 683 874 -Tri: 685 874 850 -Tri: 731 727 875 -Tri: 731 875 864 -Tri: 711 709 876 -Tri: 711 876 869 -Tri: 693 691 877 -Tri: 693 877 870 -Tri: 675 673 878 -Tri: 675 878 871 -Tri: 719 717 744 -Tri: 719 744 872 -Tri: 701 699 742 -Tri: 701 742 873 -Tri: 683 681 740 -Tri: 683 740 874 -Tri: 727 725 738 -Tri: 727 738 875 -Tri: 709 707 736 -Tri: 709 736 876 -Tri: 691 689 734 -Tri: 691 734 877 -Tri: 673 671 863 -Tri: 673 863 878 -Tri: 660 851 852 -Tri: 660 852 661 -Tri: 664 853 854 -Tri: 664 854 665 -Tri: 656 855 856 -Tri: 656 856 657 -Tri: 810 857 858 -Tri: 810 858 811 -Tri: 812 859 860 -Tri: 812 860 813 -Tri: 814 861 862 -Tri: 814 862 815 -Tri: 746 816 817 -Tri: 746 817 747 -Tri: 866 838 839 -Tri: 866 839 867 -Tri: 778 851 840 -Tri: 778 840 823 -Tri: 743 753 824 -Tri: 743 824 841 -Tri: 776 853 842 -Tri: 776 842 827 -Tri: 741 752 828 -Tri: 741 828 843 -Tri: 774 855 844 -Tri: 774 844 831 -Tri: 739 751 832 -Tri: 739 832 845 -Tri: 772 857 846 -Tri: 772 846 834 -Tri: 737 750 835 -Tri: 737 835 847 -Tri: 770 859 848 -Tri: 770 848 836 -Tri: 735 749 837 -Tri: 735 837 849 -Tri: 768 861 783 -Tri: 768 783 782 -Tri: 733 850 785 -Tri: 733 785 784 -Tri: 764 780 819 -Tri: 764 819 818 -Tri: 729 864 821 -Tri: 729 821 820 -Tri: 780 816 865 -Tri: 780 865 819 -Tri: 730 729 820 -Tri: 730 820 868 -Tri: 760 778 823 -Tri: 760 823 822 -Tri: 753 869 825 -Tri: 753 825 824 -Tri: 756 776 827 -Tri: 756 827 826 -Tri: 752 870 829 -Tri: 752 829 828 -Tri: 754 774 831 -Tri: 754 831 830 -Tri: 751 871 833 -Tri: 751 833 832 -Tri: 659 772 834 -Tri: 659 834 807 -Tri: 750 872 808 -Tri: 750 808 835 -Tri: 663 770 836 -Tri: 663 836 803 -Tri: 749 873 804 -Tri: 749 804 837 -Tri: 655 768 782 -Tri: 655 782 799 -Tri: 850 874 800 -Tri: 850 800 785 -Tri: 765 764 818 -Tri: 765 818 795 -Tri: 864 875 796 -Tri: 864 796 821 -Tri: 761 760 822 -Tri: 761 822 791 -Tri: 869 876 792 -Tri: 869 792 825 -Tri: 757 756 826 -Tri: 757 826 787 -Tri: 870 877 788 -Tri: 870 788 829 -Tri: 745 754 830 -Tri: 745 830 838 -Tri: 871 878 839 -Tri: 871 839 833 -Tri: 660 659 807 -Tri: 660 807 806 -Tri: 872 744 809 -Tri: 872 809 808 -Tri: 664 663 803 -Tri: 664 803 802 -Tri: 873 742 805 -Tri: 873 805 804 -Tri: 656 655 799 -Tri: 656 799 798 -Tri: 874 740 801 -Tri: 874 801 800 -Tri: 810 765 795 -Tri: 810 795 794 -Tri: 875 738 797 -Tri: 875 797 796 -Tri: 812 761 791 -Tri: 812 791 790 -Tri: 876 736 793 -Tri: 876 793 792 -Tri: 814 757 787 -Tri: 814 787 786 -Tri: 877 734 789 -Tri: 877 789 788 -Tri: 746 745 838 -Tri: 746 838 866 -Tri: 878 863 867 -Tri: 878 867 839 -Tri: 851 660 806 -Tri: 851 806 840 -Tri: 744 743 841 -Tri: 744 841 809 -Tri: 853 664 802 -Tri: 853 802 842 -Tri: 742 741 843 -Tri: 742 843 805 -Tri: 855 656 798 -Tri: 855 798 844 -Tri: 740 739 845 -Tri: 740 845 801 -Tri: 857 810 794 -Tri: 857 794 846 -Tri: 738 737 847 -Tri: 738 847 797 -Tri: 859 812 790 -Tri: 859 790 848 -Tri: 736 735 849 -Tri: 736 849 793 -Tri: 861 814 786 -Tri: 861 786 783 -Tri: 734 733 784 -Tri: 734 784 789 -Tri: 816 746 866 -Tri: 816 866 865 -Tri: 863 730 868 -Tri: 863 868 867 -Tri: 819 865 868 -Tri: 819 868 820 -Tri: 879 880 881 -Tri: 879 881 882 -Tri: 883 884 885 -Tri: 883 885 886 -Tri: 887 888 883 -Tri: 887 883 886 -Tri: 889 888 887 -Tri: 889 887 890 -Tri: 891 892 893 -Tri: 891 893 894 -Tri: 895 896 891 -Tri: 895 891 897 -Tri: 898 893 892 -Tri: 898 892 896 -Tri: 895 899 896 -Tri: 899 895 900 -Tri: 899 900 901 -Tri: 881 880 897 -Tri: 881 897 891 -Tri: 881 891 894 -Tri: 881 894 902 -Tri: 896 892 891 -Tri: 884 889 890 -Tri: 884 890 885 -Tri: 903 904 888 -Tri: 903 888 889 -Tri: 879 882 884 -Tri: 879 884 883 -Tri: 895 897 905 -Tri: 895 905 900 -Tri: 882 903 889 -Tri: 882 889 884 -Tri: 882 881 902 -Tri: 882 902 903 -Tri: 880 879 904 -Tri: 880 904 906 -Tri: 906 905 897 -Tri: 906 897 880 -Tri: 894 898 900 -Tri: 894 900 905 -Tri: 902 906 904 -Tri: 902 904 903 -Tri: 900 898 901 -Tri: 898 894 893 -Tri: 902 894 905 -Tri: 902 905 906 -Tri: 904 879 883 -Tri: 904 883 888 -Tri: 901 898 896 -Tri: 901 896 899 -Tri: 907 908 909 -Tri: 907 909 910 -Tri: 911 912 885 -Tri: 911 885 886 -Tri: 887 913 911 -Tri: 887 911 886 -Tri: 914 913 887 -Tri: 914 887 890 -Tri: 915 916 917 -Tri: 915 917 918 -Tri: 919 920 915 -Tri: 919 915 921 -Tri: 922 917 916 -Tri: 922 916 920 -Tri: 919 923 920 -Tri: 923 919 924 -Tri: 923 924 925 -Tri: 909 908 921 -Tri: 909 921 915 -Tri: 909 915 918 -Tri: 909 918 926 -Tri: 920 916 915 -Tri: 912 914 890 -Tri: 912 890 885 -Tri: 927 928 913 -Tri: 927 913 914 -Tri: 907 910 912 -Tri: 907 912 911 -Tri: 919 921 929 -Tri: 919 929 924 -Tri: 910 927 914 -Tri: 910 914 912 -Tri: 910 909 926 -Tri: 910 926 927 -Tri: 908 907 928 -Tri: 908 928 930 -Tri: 930 929 921 -Tri: 930 921 908 -Tri: 918 922 924 -Tri: 918 924 929 -Tri: 926 930 928 -Tri: 926 928 927 -Tri: 924 922 925 -Tri: 922 918 917 -Tri: 926 918 929 -Tri: 926 929 930 -Tri: 928 907 911 -Tri: 928 911 913 -Tri: 925 922 920 -Tri: 925 920 923 -Tri: 931 932 933 -Tri: 931 933 934 -Tri: 935 933 936 -Tri: 937 938 932 -Tri: 937 932 931 -Tri: 939 940 941 -Tri: 939 941 942 -Tri: 943 944 945 -Tri: 943 945 946 -Tri: 934 933 935 -Tri: 947 948 949 -Tri: 947 949 950 -Tri: 951 952 949 -Tri: 951 949 948 -Tri: 953 954 955 -Tri: 953 955 956 -Tri: 957 958 955 -Tri: 957 955 959 -Tri: 960 961 962 -Tri: 960 962 963 -Tri: 964 965 966 -Tri: 964 966 967 -Tri: 968 969 970 -Tri: 968 970 971 -Tri: 969 972 973 -Tri: 969 973 970 -Tri: 974 975 976 -Tri: 974 976 973 -Tri: 977 978 979 -Tri: 977 979 980 -Tri: 981 982 983 -Tri: 983 982 984 -Tri: 982 965 984 -Tri: 984 965 985 -Tri: 965 964 985 -Tri: 985 964 961 -Tri: 964 986 961 -Tri: 961 986 962 -Tri: 986 987 962 -Tri: 962 987 988 -Tri: 987 989 988 -Tri: 988 989 990 -Tri: 989 981 990 -Tri: 990 981 983 -Tri: 948 947 941 -Tri: 948 941 940 -Tri: 991 953 992 -Tri: 991 992 993 -Tri: 991 994 954 -Tri: 991 954 953 -Tri: 995 943 996 -Tri: 995 996 997 -Tri: 943 946 998 -Tri: 943 998 996 -Tri: 940 938 999 -Tri: 1000 998 946 -Tri: 1000 946 1001 -Tri: 1000 1001 1002 -Tri: 1000 1002 1003 -Tri: 1004 1005 942 -Tri: 1004 942 1006 -Tri: 991 993 1007 -Tri: 991 1007 1008 -Tri: 936 997 996 -Tri: 936 996 998 -Tri: 944 1009 940 -Tri: 944 940 945 -Tri: 1010 1011 1012 -Tri: 1010 1012 1013 -Tri: 1014 1015 997 -Tri: 1014 997 936 -Tri: 937 1016 1017 -Tri: 937 1017 999 -Tri: 1018 1019 1020 -Tri: 1018 1020 1021 -Tri: 992 1022 951 -Tri: 992 951 948 -Tri: 993 992 948 -Tri: 993 948 1007 -Tri: 959 955 954 -Tri: 959 954 1014 -Tri: 959 1014 949 -Tri: 959 949 952 -Tri: 1013 1012 952 -Tri: 1013 952 951 -Tri: 936 998 1000 -Tri: 936 1000 935 -Tri: 1000 1003 934 -Tri: 1000 934 935 -Tri: 1023 1024 1025 -Tri: 947 1026 1027 -Tri: 947 1027 941 -Tri: 1028 1029 1030 -Tri: 1028 1030 1031 -Tri: 1032 1033 1034 -Tri: 1032 1034 1035 -Tri: 974 1036 1037 -Tri: 974 1037 975 -Tri: 1038 1039 1040 -Tri: 1038 972 1039 -Tri: 1039 972 1041 -Tri: 972 969 1041 -Tri: 1041 969 968 -Tri: 1042 1043 1044 -Tri: 1042 1044 1045 -Tri: 1045 1044 1046 -Tri: 1045 1046 1047 -Tri: 1042 1045 1048 -Tri: 1048 1045 1049 -Tri: 1045 1050 1049 -Tri: 1049 1050 1040 -Tri: 1040 975 1049 -Tri: 1049 975 1051 -Tri: 1049 1051 1048 -Tri: 1048 1051 1052 -Tri: 1048 1052 1042 -Tri: 1042 1052 1053 -Tri: 1042 1053 1043 -Tri: 1043 1053 1054 -Tri: 1043 1054 1041 -Tri: 1041 1054 1055 -Tri: 1041 1055 1039 -Tri: 1039 1055 976 -Tri: 1039 976 1040 -Tri: 1040 976 975 -Tri: 1056 1057 1058 -Tri: 1056 1058 1059 -Tri: 1038 1060 1036 -Tri: 1038 1036 974 -Tri: 1061 1058 1057 -Tri: 1061 1057 981 -Tri: 1060 1038 1040 -Tri: 1060 1040 1050 -Tri: 960 967 966 -Tri: 960 966 1062 -Tri: 1046 1054 1053 -Tri: 1046 1053 1047 -Tri: 942 941 1027 -Tri: 942 1027 1006 -Tri: 1063 1006 1027 -Tri: 1063 1027 1026 -Tri: 1024 1023 1064 -Tri: 1024 1064 950 -Tri: 949 1014 1024 -Tri: 949 1024 950 -Tri: 1065 1026 947 -Tri: 1063 1026 1065 -Tri: 1063 1065 1064 -Tri: 1008 1007 1009 -Tri: 1008 1009 995 -Tri: 932 939 936 -Tri: 932 936 933 -Tri: 1016 937 931 -Tri: 1016 931 1002 -Tri: 1009 1007 948 -Tri: 1009 948 940 -Tri: 1001 1017 1016 -Tri: 1001 1016 1002 -Tri: 958 957 1012 -Tri: 958 1012 1011 -Tri: 995 1009 944 -Tri: 995 944 943 -Tri: 991 1008 1015 -Tri: 991 1015 994 -Tri: 954 994 1015 -Tri: 954 1015 1014 -Tri: 956 1022 992 -Tri: 956 992 953 -Tri: 1011 1010 1022 -Tri: 1011 1022 956 -Tri: 1022 1010 1013 -Tri: 1022 1013 951 -Tri: 1056 1059 1066 -Tri: 1056 1066 983 -Tri: 1037 1051 975 -Tri: 972 1038 974 -Tri: 972 974 973 -Tri: 976 1055 973 -Tri: 973 1055 970 -Tri: 1055 971 970 -Tri: 1043 1041 968 -Tri: 1043 968 1044 -Tri: 963 1067 967 -Tri: 963 967 960 -Tri: 1053 1052 1047 -Tri: 1047 1052 1051 -Tri: 999 938 937 -Tri: 1008 995 997 -Tri: 1008 997 1015 -Tri: 938 940 939 -Tri: 938 939 932 -Tri: 1003 1002 931 -Tri: 1003 931 934 -Tri: 982 981 1057 -Tri: 982 1057 979 -Tri: 1062 966 978 -Tri: 1062 978 977 -Tri: 982 979 965 -Tri: 979 978 965 -Tri: 965 978 966 -Tri: 1062 985 961 -Tri: 1062 961 960 -Tri: 1056 983 984 -Tri: 1056 984 980 -Tri: 986 1067 987 -Tri: 987 1067 989 -Tri: 1067 1061 989 -Tri: 989 1061 981 -Tri: 1011 956 955 -Tri: 1011 955 958 -Tri: 957 959 952 -Tri: 957 952 1012 -Tri: 1044 968 971 -Tri: 1044 971 1046 -Tri: 1014 936 1005 -Tri: 1014 1005 1024 -Tri: 1017 945 940 -Tri: 1017 940 999 -Tri: 1004 1006 1063 -Tri: 1004 1063 1025 -Tri: 1005 936 939 -Tri: 1005 939 942 -Tri: 1004 1025 1024 -Tri: 1004 1024 1005 -Tri: 950 1064 1065 -Tri: 950 1065 947 -Tri: 1025 1063 1064 -Tri: 1025 1064 1023 -Tri: 1066 990 983 -Tri: 980 979 1057 -Tri: 980 1057 1056 -Tri: 984 985 980 -Tri: 980 985 977 -Tri: 985 1062 977 -Tri: 971 1055 1054 -Tri: 971 1054 1046 -Tri: 986 964 967 -Tri: 986 967 1067 -Tri: 962 988 963 -Tri: 963 988 990 -Tri: 990 1066 963 -Tri: 946 945 1017 -Tri: 946 1017 1001 -Tri: 1047 1051 1037 -Tri: 1068 1069 1070 -Tri: 1068 1070 1071 -Tri: 1069 1072 1073 -Tri: 1069 1073 1070 -Tri: 1072 1074 1075 -Tri: 1072 1075 1073 -Tri: 1074 1076 1077 -Tri: 1074 1077 1075 -Tri: 1076 1078 1079 -Tri: 1076 1079 1077 -Tri: 1078 1080 1081 -Tri: 1078 1081 1079 -Tri: 1080 1082 1083 -Tri: 1080 1083 1081 -Tri: 1082 1084 1085 -Tri: 1082 1085 1083 -Tri: 1084 1086 1087 -Tri: 1084 1087 1085 -Tri: 1086 1088 1089 -Tri: 1086 1089 1087 -Tri: 1088 1090 1091 -Tri: 1088 1091 1089 -Tri: 1090 1092 1093 -Tri: 1090 1093 1091 -Tri: 1092 1094 1095 -Tri: 1092 1095 1093 -Tri: 1094 1096 1097 -Tri: 1094 1097 1095 -Tri: 1096 1098 1099 -Tri: 1096 1099 1097 -Tri: 1098 1100 1101 -Tri: 1098 1101 1099 -Tri: 1100 1102 1103 -Tri: 1100 1103 1101 -Tri: 1102 1104 1105 -Tri: 1102 1105 1103 -Tri: 1104 1106 1107 -Tri: 1104 1107 1105 -Tri: 1106 1108 1109 -Tri: 1106 1109 1107 -Tri: 1108 1110 1111 -Tri: 1108 1111 1109 -Tri: 1110 1112 1113 -Tri: 1110 1113 1111 -Tri: 1112 1114 1115 -Tri: 1112 1115 1113 -Tri: 1114 1116 1117 -Tri: 1114 1117 1115 -Tri: 1116 1118 1119 -Tri: 1116 1119 1117 -Tri: 1118 1120 1121 -Tri: 1118 1121 1119 -Tri: 1120 1122 1123 -Tri: 1120 1123 1121 -Tri: 1122 1124 1125 -Tri: 1122 1125 1123 -Tri: 1124 1126 1127 -Tri: 1124 1127 1125 -Tri: 1126 1128 1129 -Tri: 1126 1129 1127 -Tri: 1070 1130 1131 -Tri: 1070 1131 1071 -Tri: 1128 1132 1133 -Tri: 1128 1133 1129 -Tri: 1132 1068 1071 -Tri: 1132 1071 1133 -Tri: 1091 1134 1135 -Tri: 1091 1135 1089 -Tri: 1109 1136 1137 -Tri: 1109 1137 1107 -Tri: 1127 1138 1139 -Tri: 1127 1139 1125 -Tri: 1083 1140 1141 -Tri: 1083 1141 1081 -Tri: 1101 1142 1143 -Tri: 1101 1143 1099 -Tri: 1119 1144 1145 -Tri: 1119 1145 1117 -Tri: 1146 1147 1148 -Tri: 1146 1148 1149 -Tri: 1107 1137 1150 -Tri: 1107 1150 1105 -Tri: 1125 1139 1151 -Tri: 1125 1151 1123 -Tri: 1081 1141 1152 -Tri: 1081 1152 1079 -Tri: 1099 1143 1153 -Tri: 1099 1153 1097 -Tri: 1117 1145 1154 -Tri: 1117 1154 1115 -Tri: 1155 1156 1147 -Tri: 1155 1147 1146 -Tri: 1157 1158 1159 -Tri: 1157 1159 1160 -Tri: 1161 1162 1163 -Tri: 1161 1163 1164 -Tri: 1165 1166 1167 -Tri: 1165 1167 1168 -Tri: 1169 1170 1019 -Tri: 1169 1019 1018 -Tri: 1171 1172 1033 -Tri: 1171 1033 1032 -Tri: 1173 1174 1029 -Tri: 1173 1029 1028 -Tri: 1175 1176 1156 -Tri: 1175 1156 1155 -Tri: 1177 1178 1158 -Tri: 1177 1158 1157 -Tri: 1179 1180 1162 -Tri: 1179 1162 1161 -Tri: 1181 1182 1166 -Tri: 1181 1166 1165 -Tri: 1183 1184 1185 -Tri: 1183 1185 1186 -Tri: 1187 1188 1189 -Tri: 1187 1189 1190 -Tri: 1191 1192 1193 -Tri: 1191 1193 1194 -Tri: 1195 1196 1197 -Tri: 1195 1197 1198 -Tri: 1199 1200 1201 -Tri: 1199 1201 1202 -Tri: 1203 1204 1205 -Tri: 1203 1205 1206 -Tri: 1207 1208 1209 -Tri: 1207 1209 1210 -Tri: 1168 1167 1211 -Tri: 1168 1211 1212 -Tri: 1164 1163 1213 -Tri: 1164 1213 1214 -Tri: 1160 1159 1215 -Tri: 1160 1215 1216 -Tri: 1217 1218 1182 -Tri: 1217 1182 1181 -Tri: 1219 1220 1221 -Tri: 1219 1221 1222 -Tri: 1223 1224 1225 -Tri: 1223 1225 1226 -Tri: 1227 1228 1229 -Tri: 1227 1229 1230 -Tri: 1231 1232 1233 -Tri: 1231 1233 1234 -Tri: 1210 1209 1235 -Tri: 1210 1235 1236 -Tri: 1206 1205 1237 -Tri: 1206 1237 1238 -Tri: 1202 1201 1184 -Tri: 1202 1184 1183 -Tri: 1198 1197 1220 -Tri: 1198 1220 1219 -Tri: 1194 1193 1224 -Tri: 1194 1224 1223 -Tri: 1190 1189 1228 -Tri: 1190 1228 1227 -Tri: 1239 1240 1232 -Tri: 1239 1232 1231 -Tri: 1226 1225 1241 -Tri: 1226 1241 1242 -Tri: 1230 1229 1243 -Tri: 1230 1243 1244 -Tri: 1234 1233 1245 -Tri: 1234 1245 1246 -Tri: 1236 1235 1247 -Tri: 1236 1247 1248 -Tri: 1238 1237 1249 -Tri: 1238 1249 1250 -Tri: 1089 1135 1251 -Tri: 1089 1251 1087 -Tri: 1252 1253 1180 -Tri: 1252 1180 1179 -Tri: 1254 1255 1178 -Tri: 1254 1178 1177 -Tri: 1256 1257 1176 -Tri: 1256 1176 1175 -Tri: 1258 1259 1174 -Tri: 1258 1174 1173 -Tri: 1260 1261 1172 -Tri: 1260 1172 1171 -Tri: 1262 1263 1170 -Tri: 1262 1170 1169 -Tri: 1073 1264 1130 -Tri: 1073 1130 1070 -Tri: 1242 1241 1208 -Tri: 1242 1208 1207 -Tri: 1244 1243 1204 -Tri: 1244 1204 1203 -Tri: 1246 1245 1200 -Tri: 1246 1200 1199 -Tri: 1248 1247 1196 -Tri: 1248 1196 1195 -Tri: 1250 1249 1192 -Tri: 1250 1192 1191 -Tri: 1186 1185 1188 -Tri: 1186 1188 1187 -Tri: 1071 1131 1265 -Tri: 1071 1265 1133 -Tri: 1266 1267 1268 -Tri: 1266 1268 1269 -Tri: 1115 1154 1270 -Tri: 1115 1270 1113 -Tri: 1097 1153 1271 -Tri: 1097 1271 1095 -Tri: 1079 1152 1272 -Tri: 1079 1272 1077 -Tri: 1123 1151 1273 -Tri: 1123 1273 1121 -Tri: 1105 1150 1274 -Tri: 1105 1274 1103 -Tri: 1087 1251 1275 -Tri: 1087 1275 1085 -Tri: 1133 1265 1276 -Tri: 1133 1276 1129 -Tri: 1113 1270 1277 -Tri: 1113 1277 1111 -Tri: 1095 1271 1278 -Tri: 1095 1278 1093 -Tri: 1077 1272 1279 -Tri: 1077 1279 1075 -Tri: 1121 1273 1144 -Tri: 1121 1144 1119 -Tri: 1103 1274 1142 -Tri: 1103 1142 1101 -Tri: 1085 1275 1140 -Tri: 1085 1140 1083 -Tri: 1129 1276 1138 -Tri: 1129 1138 1127 -Tri: 1111 1277 1136 -Tri: 1111 1136 1109 -Tri: 1093 1278 1134 -Tri: 1093 1134 1091 -Tri: 1075 1279 1264 -Tri: 1075 1264 1073 -Tri: 1031 1030 1253 -Tri: 1031 1253 1252 -Tri: 1035 1034 1255 -Tri: 1035 1255 1254 -Tri: 1021 1020 1257 -Tri: 1021 1257 1256 -Tri: 1212 1211 1259 -Tri: 1212 1259 1258 -Tri: 1214 1213 1261 -Tri: 1214 1261 1260 -Tri: 1216 1215 1263 -Tri: 1216 1263 1262 -Tri: 1149 1148 1218 -Tri: 1149 1218 1217 -Tri: 1269 1268 1240 -Tri: 1269 1240 1239 -Tri: 1179 1226 1242 -Tri: 1179 1242 1252 -Tri: 1145 1241 1225 -Tri: 1145 1225 1154 -Tri: 1177 1230 1244 -Tri: 1177 1244 1254 -Tri: 1143 1243 1229 -Tri: 1143 1229 1153 -Tri: 1175 1234 1246 -Tri: 1175 1246 1256 -Tri: 1141 1245 1233 -Tri: 1141 1233 1152 -Tri: 1173 1236 1248 -Tri: 1173 1248 1258 -Tri: 1139 1247 1235 -Tri: 1139 1235 1151 -Tri: 1171 1238 1250 -Tri: 1171 1250 1260 -Tri: 1137 1249 1237 -Tri: 1137 1237 1150 -Tri: 1169 1183 1186 -Tri: 1169 1186 1262 -Tri: 1135 1185 1184 -Tri: 1135 1184 1251 -Tri: 1165 1219 1222 -Tri: 1165 1222 1181 -Tri: 1131 1221 1220 -Tri: 1131 1220 1265 -Tri: 1181 1222 1266 -Tri: 1181 1266 1217 -Tri: 1130 1267 1221 -Tri: 1130 1221 1131 -Tri: 1161 1223 1226 -Tri: 1161 1226 1179 -Tri: 1154 1225 1224 -Tri: 1154 1224 1270 -Tri: 1157 1227 1230 -Tri: 1157 1230 1177 -Tri: 1153 1229 1228 -Tri: 1153 1228 1271 -Tri: 1155 1231 1234 -Tri: 1155 1234 1175 -Tri: 1152 1233 1232 -Tri: 1152 1232 1272 -Tri: 1028 1210 1236 -Tri: 1028 1236 1173 -Tri: 1151 1235 1209 -Tri: 1151 1209 1273 -Tri: 1032 1206 1238 -Tri: 1032 1238 1171 -Tri: 1150 1237 1205 -Tri: 1150 1205 1274 -Tri: 1018 1202 1183 -Tri: 1018 1183 1169 -Tri: 1251 1184 1201 -Tri: 1251 1201 1275 -Tri: 1168 1198 1219 -Tri: 1168 1219 1165 -Tri: 1265 1220 1197 -Tri: 1265 1197 1276 -Tri: 1164 1194 1223 -Tri: 1164 1223 1161 -Tri: 1270 1224 1193 -Tri: 1270 1193 1277 -Tri: 1160 1190 1227 -Tri: 1160 1227 1157 -Tri: 1271 1228 1189 -Tri: 1271 1189 1278 -Tri: 1146 1239 1231 -Tri: 1146 1231 1155 -Tri: 1272 1232 1240 -Tri: 1272 1240 1279 -Tri: 1031 1207 1210 -Tri: 1031 1210 1028 -Tri: 1273 1209 1208 -Tri: 1273 1208 1144 -Tri: 1035 1203 1206 -Tri: 1035 1206 1032 -Tri: 1274 1205 1204 -Tri: 1274 1204 1142 -Tri: 1021 1199 1202 -Tri: 1021 1202 1018 -Tri: 1275 1201 1200 -Tri: 1275 1200 1140 -Tri: 1212 1195 1198 -Tri: 1212 1198 1168 -Tri: 1276 1197 1196 -Tri: 1276 1196 1138 -Tri: 1214 1191 1194 -Tri: 1214 1194 1164 -Tri: 1277 1193 1192 -Tri: 1277 1192 1136 -Tri: 1216 1187 1190 -Tri: 1216 1190 1160 -Tri: 1278 1189 1188 -Tri: 1278 1188 1134 -Tri: 1149 1269 1239 -Tri: 1149 1239 1146 -Tri: 1279 1240 1268 -Tri: 1279 1268 1264 -Tri: 1252 1242 1207 -Tri: 1252 1207 1031 -Tri: 1144 1208 1241 -Tri: 1144 1241 1145 -Tri: 1254 1244 1203 -Tri: 1254 1203 1035 -Tri: 1142 1204 1243 -Tri: 1142 1243 1143 -Tri: 1256 1246 1199 -Tri: 1256 1199 1021 -Tri: 1140 1200 1245 -Tri: 1140 1245 1141 -Tri: 1258 1248 1195 -Tri: 1258 1195 1212 -Tri: 1138 1196 1247 -Tri: 1138 1247 1139 -Tri: 1260 1250 1191 -Tri: 1260 1191 1214 -Tri: 1136 1192 1249 -Tri: 1136 1249 1137 -Tri: 1262 1186 1187 -Tri: 1262 1187 1216 -Tri: 1134 1188 1185 -Tri: 1134 1185 1135 -Tri: 1217 1266 1269 -Tri: 1217 1269 1149 -Tri: 1264 1268 1267 -Tri: 1264 1267 1130 -Tri: 1222 1221 1267 -Tri: 1222 1267 1266 -Tri: 1280 1281 1282 -Tri: 1280 1282 1283 -Tri: 1284 1285 1286 -Tri: 1284 1286 1287 -Tri: 1288 1289 1290 -Tri: 1288 1290 1291 -Tri: 1292 1293 1294 -Tri: 1292 1294 1295 -Tri: 1293 1296 1297 -Tri: 1293 1297 1294 -Tri: 1296 1298 1299 -Tri: 1296 1299 1297 -Tri: 1298 1300 1301 -Tri: 1298 1301 1299 -Tri: 1300 1302 1303 -Tri: 1300 1303 1301 -Tri: 1302 1304 1305 -Tri: 1302 1305 1303 -Tri: 1304 1306 1307 -Tri: 1304 1307 1305 -Tri: 1306 1308 1309 -Tri: 1306 1309 1307 -Tri: 1308 1310 1311 -Tri: 1308 1311 1309 -Tri: 1310 1312 1313 -Tri: 1310 1313 1311 -Tri: 1312 1314 1315 -Tri: 1312 1315 1313 -Tri: 1314 1316 1317 -Tri: 1314 1317 1315 -Tri: 1316 1318 1319 -Tri: 1316 1319 1317 -Tri: 1318 1320 1321 -Tri: 1318 1321 1319 -Tri: 1320 1322 1323 -Tri: 1320 1323 1321 -Tri: 1322 1324 1325 -Tri: 1322 1325 1323 -Tri: 1324 1326 1327 -Tri: 1324 1327 1325 -Tri: 1326 1328 1329 -Tri: 1326 1329 1327 -Tri: 1328 1330 1331 -Tri: 1328 1331 1329 -Tri: 1330 1332 1333 -Tri: 1330 1333 1331 -Tri: 1332 1334 1335 -Tri: 1332 1335 1333 -Tri: 1334 1336 1337 -Tri: 1334 1337 1335 -Tri: 1336 1338 1339 -Tri: 1336 1339 1337 -Tri: 1338 1340 1341 -Tri: 1338 1341 1339 -Tri: 1340 1342 1343 -Tri: 1340 1343 1341 -Tri: 1342 1344 1345 -Tri: 1342 1345 1343 -Tri: 1344 1346 1347 -Tri: 1344 1347 1345 -Tri: 1346 1348 1349 -Tri: 1346 1349 1347 -Tri: 1348 1350 1351 -Tri: 1348 1351 1349 -Tri: 1350 1352 1353 -Tri: 1350 1353 1351 -Tri: 1294 1354 1355 -Tri: 1294 1355 1295 -Tri: 1352 1356 1357 -Tri: 1352 1357 1353 -Tri: 1356 1292 1295 -Tri: 1356 1295 1357 -Tri: 1315 1358 1359 -Tri: 1315 1359 1313 -Tri: 1333 1360 1361 -Tri: 1333 1361 1331 -Tri: 1351 1362 1363 -Tri: 1351 1363 1349 -Tri: 1307 1364 1365 -Tri: 1307 1365 1305 -Tri: 1325 1366 1367 -Tri: 1325 1367 1323 -Tri: 1343 1368 1369 -Tri: 1343 1369 1341 -Tri: 1370 1371 1372 -Tri: 1370 1372 1373 -Tri: 1331 1361 1374 -Tri: 1331 1374 1329 -Tri: 1349 1363 1375 -Tri: 1349 1375 1347 -Tri: 1305 1365 1376 -Tri: 1305 1376 1303 -Tri: 1323 1367 1377 -Tri: 1323 1377 1321 -Tri: 1341 1369 1378 -Tri: 1341 1378 1339 -Tri: 1379 1380 1371 -Tri: 1379 1371 1370 -Tri: 1381 1382 1383 -Tri: 1381 1383 1384 -Tri: 1385 1386 1387 -Tri: 1385 1387 1388 -Tri: 1389 1390 1391 -Tri: 1389 1391 1392 -Tri: 1393 1394 1281 -Tri: 1393 1281 1280 -Tri: 1395 1396 1289 -Tri: 1395 1289 1288 -Tri: 1397 1398 1285 -Tri: 1397 1285 1284 -Tri: 1399 1400 1380 -Tri: 1399 1380 1379 -Tri: 1401 1402 1382 -Tri: 1401 1382 1381 -Tri: 1403 1404 1386 -Tri: 1403 1386 1385 -Tri: 1405 1406 1390 -Tri: 1405 1390 1389 -Tri: 1407 1408 1409 -Tri: 1407 1409 1410 -Tri: 1411 1412 1413 -Tri: 1411 1413 1414 -Tri: 1415 1416 1417 -Tri: 1415 1417 1418 -Tri: 1419 1420 1421 -Tri: 1419 1421 1422 -Tri: 1423 1424 1425 -Tri: 1423 1425 1426 -Tri: 1427 1428 1429 -Tri: 1427 1429 1430 -Tri: 1431 1432 1433 -Tri: 1431 1433 1434 -Tri: 1392 1391 1435 -Tri: 1392 1435 1436 -Tri: 1388 1387 1437 -Tri: 1388 1437 1438 -Tri: 1384 1383 1439 -Tri: 1384 1439 1440 -Tri: 1441 1442 1406 -Tri: 1441 1406 1405 -Tri: 1443 1444 1445 -Tri: 1443 1445 1446 -Tri: 1447 1448 1449 -Tri: 1447 1449 1450 -Tri: 1451 1452 1453 -Tri: 1451 1453 1454 -Tri: 1455 1456 1457 -Tri: 1455 1457 1458 -Tri: 1434 1433 1459 -Tri: 1434 1459 1460 -Tri: 1430 1429 1461 -Tri: 1430 1461 1462 -Tri: 1426 1425 1408 -Tri: 1426 1408 1407 -Tri: 1422 1421 1444 -Tri: 1422 1444 1443 -Tri: 1418 1417 1448 -Tri: 1418 1448 1447 -Tri: 1414 1413 1452 -Tri: 1414 1452 1451 -Tri: 1463 1464 1456 -Tri: 1463 1456 1455 -Tri: 1450 1449 1465 -Tri: 1450 1465 1466 -Tri: 1454 1453 1467 -Tri: 1454 1467 1468 -Tri: 1458 1457 1469 -Tri: 1458 1469 1470 -Tri: 1460 1459 1471 -Tri: 1460 1471 1472 -Tri: 1462 1461 1473 -Tri: 1462 1473 1474 -Tri: 1313 1359 1475 -Tri: 1313 1475 1311 -Tri: 1476 1477 1404 -Tri: 1476 1404 1403 -Tri: 1478 1479 1402 -Tri: 1478 1402 1401 -Tri: 1480 1481 1400 -Tri: 1480 1400 1399 -Tri: 1482 1483 1398 -Tri: 1482 1398 1397 -Tri: 1484 1485 1396 -Tri: 1484 1396 1395 -Tri: 1486 1487 1394 -Tri: 1486 1394 1393 -Tri: 1297 1488 1354 -Tri: 1297 1354 1294 -Tri: 1466 1465 1432 -Tri: 1466 1432 1431 -Tri: 1468 1467 1428 -Tri: 1468 1428 1427 -Tri: 1470 1469 1424 -Tri: 1470 1424 1423 -Tri: 1472 1471 1420 -Tri: 1472 1420 1419 -Tri: 1474 1473 1416 -Tri: 1474 1416 1415 -Tri: 1410 1409 1412 -Tri: 1410 1412 1411 -Tri: 1295 1355 1489 -Tri: 1295 1489 1357 -Tri: 1490 1491 1492 -Tri: 1490 1492 1493 -Tri: 1339 1378 1494 -Tri: 1339 1494 1337 -Tri: 1321 1377 1495 -Tri: 1321 1495 1319 -Tri: 1303 1376 1496 -Tri: 1303 1496 1301 -Tri: 1347 1375 1497 -Tri: 1347 1497 1345 -Tri: 1329 1374 1498 -Tri: 1329 1498 1327 -Tri: 1311 1475 1499 -Tri: 1311 1499 1309 -Tri: 1357 1489 1500 -Tri: 1357 1500 1353 -Tri: 1337 1494 1501 -Tri: 1337 1501 1335 -Tri: 1319 1495 1502 -Tri: 1319 1502 1317 -Tri: 1301 1496 1503 -Tri: 1301 1503 1299 -Tri: 1345 1497 1368 -Tri: 1345 1368 1343 -Tri: 1327 1498 1366 -Tri: 1327 1366 1325 -Tri: 1309 1499 1364 -Tri: 1309 1364 1307 -Tri: 1353 1500 1362 -Tri: 1353 1362 1351 -Tri: 1335 1501 1360 -Tri: 1335 1360 1333 -Tri: 1317 1502 1358 -Tri: 1317 1358 1315 -Tri: 1299 1503 1488 -Tri: 1299 1488 1297 -Tri: 1287 1286 1477 -Tri: 1287 1477 1476 -Tri: 1291 1290 1479 -Tri: 1291 1479 1478 -Tri: 1283 1282 1481 -Tri: 1283 1481 1480 -Tri: 1436 1435 1483 -Tri: 1436 1483 1482 -Tri: 1438 1437 1485 -Tri: 1438 1485 1484 -Tri: 1440 1439 1487 -Tri: 1440 1487 1486 -Tri: 1373 1372 1442 -Tri: 1373 1442 1441 -Tri: 1493 1492 1464 -Tri: 1493 1464 1463 -Tri: 1403 1450 1466 -Tri: 1403 1466 1476 -Tri: 1369 1465 1449 -Tri: 1369 1449 1378 -Tri: 1401 1454 1468 -Tri: 1401 1468 1478 -Tri: 1367 1467 1453 -Tri: 1367 1453 1377 -Tri: 1399 1458 1470 -Tri: 1399 1470 1480 -Tri: 1365 1469 1457 -Tri: 1365 1457 1376 -Tri: 1397 1460 1472 -Tri: 1397 1472 1482 -Tri: 1363 1471 1459 -Tri: 1363 1459 1375 -Tri: 1395 1462 1474 -Tri: 1395 1474 1484 -Tri: 1361 1473 1461 -Tri: 1361 1461 1374 -Tri: 1393 1407 1410 -Tri: 1393 1410 1486 -Tri: 1359 1409 1408 -Tri: 1359 1408 1475 -Tri: 1389 1443 1446 -Tri: 1389 1446 1405 -Tri: 1355 1445 1444 -Tri: 1355 1444 1489 -Tri: 1405 1446 1490 -Tri: 1405 1490 1441 -Tri: 1354 1491 1445 -Tri: 1354 1445 1355 -Tri: 1385 1447 1450 -Tri: 1385 1450 1403 -Tri: 1378 1449 1448 -Tri: 1378 1448 1494 -Tri: 1381 1451 1454 -Tri: 1381 1454 1401 -Tri: 1377 1453 1452 -Tri: 1377 1452 1495 -Tri: 1379 1455 1458 -Tri: 1379 1458 1399 -Tri: 1376 1457 1456 -Tri: 1376 1456 1496 -Tri: 1284 1434 1460 -Tri: 1284 1460 1397 -Tri: 1375 1459 1433 -Tri: 1375 1433 1497 -Tri: 1288 1430 1462 -Tri: 1288 1462 1395 -Tri: 1374 1461 1429 -Tri: 1374 1429 1498 -Tri: 1280 1426 1407 -Tri: 1280 1407 1393 -Tri: 1475 1408 1425 -Tri: 1475 1425 1499 -Tri: 1392 1422 1443 -Tri: 1392 1443 1389 -Tri: 1489 1444 1421 -Tri: 1489 1421 1500 -Tri: 1388 1418 1447 -Tri: 1388 1447 1385 -Tri: 1494 1448 1417 -Tri: 1494 1417 1501 -Tri: 1384 1414 1451 -Tri: 1384 1451 1381 -Tri: 1495 1452 1413 -Tri: 1495 1413 1502 -Tri: 1370 1463 1455 -Tri: 1370 1455 1379 -Tri: 1496 1456 1464 -Tri: 1496 1464 1503 -Tri: 1287 1431 1434 -Tri: 1287 1434 1284 -Tri: 1497 1433 1432 -Tri: 1497 1432 1368 -Tri: 1291 1427 1430 -Tri: 1291 1430 1288 -Tri: 1498 1429 1428 -Tri: 1498 1428 1366 -Tri: 1283 1423 1426 -Tri: 1283 1426 1280 -Tri: 1499 1425 1424 -Tri: 1499 1424 1364 -Tri: 1436 1419 1422 -Tri: 1436 1422 1392 -Tri: 1500 1421 1420 -Tri: 1500 1420 1362 -Tri: 1438 1415 1418 -Tri: 1438 1418 1388 -Tri: 1501 1417 1416 -Tri: 1501 1416 1360 -Tri: 1440 1411 1414 -Tri: 1440 1414 1384 -Tri: 1502 1413 1412 -Tri: 1502 1412 1358 -Tri: 1373 1493 1463 -Tri: 1373 1463 1370 -Tri: 1503 1464 1492 -Tri: 1503 1492 1488 -Tri: 1476 1466 1431 -Tri: 1476 1431 1287 -Tri: 1368 1432 1465 -Tri: 1368 1465 1369 -Tri: 1478 1468 1427 -Tri: 1478 1427 1291 -Tri: 1366 1428 1467 -Tri: 1366 1467 1367 -Tri: 1480 1470 1423 -Tri: 1480 1423 1283 -Tri: 1364 1424 1469 -Tri: 1364 1469 1365 -Tri: 1482 1472 1419 -Tri: 1482 1419 1436 -Tri: 1362 1420 1471 -Tri: 1362 1471 1363 -Tri: 1484 1474 1415 -Tri: 1484 1415 1438 -Tri: 1360 1416 1473 -Tri: 1360 1473 1361 -Tri: 1486 1410 1411 -Tri: 1486 1411 1440 -Tri: 1358 1412 1409 -Tri: 1358 1409 1359 -Tri: 1441 1490 1493 -Tri: 1441 1493 1373 -Tri: 1488 1492 1491 -Tri: 1488 1491 1354 -Tri: 1446 1445 1491 -Tri: 1446 1491 1490 -Tri: 1504 1505 1506 -Tri: 1504 1506 1507 -Tri: 1508 1509 1510 -Tri: 1508 1510 1511 -Tri: 1512 1509 1508 -Tri: 1512 1508 1513 -Tri: 1514 1515 1512 -Tri: 1514 1512 1513 -Tri: 1516 1517 1518 -Tri: 1516 1518 1519 -Tri: 1520 1521 1516 -Tri: 1520 1516 1522 -Tri: 1523 1522 1519 -Tri: 1523 1519 1518 -Tri: 1520 1522 1524 -Tri: 1524 1525 1526 -Tri: 1524 1526 1520 -Tri: 1506 1516 1521 -Tri: 1506 1521 1507 -Tri: 1506 1527 1517 -Tri: 1506 1517 1516 -Tri: 1522 1516 1519 -Tri: 1511 1510 1515 -Tri: 1511 1515 1514 -Tri: 1528 1514 1513 -Tri: 1528 1513 1529 -Tri: 1504 1508 1511 -Tri: 1504 1511 1505 -Tri: 1520 1526 1530 -Tri: 1520 1530 1521 -Tri: 1505 1511 1514 -Tri: 1505 1514 1528 -Tri: 1505 1528 1527 -Tri: 1505 1527 1506 -Tri: 1507 1531 1529 -Tri: 1507 1529 1504 -Tri: 1531 1507 1521 -Tri: 1531 1521 1530 -Tri: 1517 1530 1526 -Tri: 1517 1526 1523 -Tri: 1527 1528 1529 -Tri: 1527 1529 1531 -Tri: 1526 1525 1523 -Tri: 1523 1518 1517 -Tri: 1527 1531 1530 -Tri: 1527 1530 1517 -Tri: 1529 1513 1508 -Tri: 1529 1508 1504 -Tri: 1525 1524 1522 -Tri: 1525 1522 1523 -Tri: 1532 1533 1534 -Tri: 1532 1534 1535 -Tri: 1536 1509 1510 -Tri: 1536 1510 1537 -Tri: 1512 1509 1536 -Tri: 1512 1536 1538 -Tri: 1539 1515 1512 -Tri: 1539 1512 1538 -Tri: 1540 1541 1542 -Tri: 1540 1542 1543 -Tri: 1544 1545 1540 -Tri: 1544 1540 1546 -Tri: 1547 1546 1543 -Tri: 1547 1543 1542 -Tri: 1544 1546 1548 -Tri: 1548 1549 1550 -Tri: 1548 1550 1544 -Tri: 1534 1540 1545 -Tri: 1534 1545 1535 -Tri: 1534 1551 1541 -Tri: 1534 1541 1540 -Tri: 1546 1540 1543 -Tri: 1537 1510 1515 -Tri: 1537 1515 1539 -Tri: 1552 1539 1538 -Tri: 1552 1538 1553 -Tri: 1532 1536 1537 -Tri: 1532 1537 1533 -Tri: 1544 1550 1554 -Tri: 1544 1554 1545 -Tri: 1533 1537 1539 -Tri: 1533 1539 1552 -Tri: 1533 1552 1551 -Tri: 1533 1551 1534 -Tri: 1535 1555 1553 -Tri: 1535 1553 1532 -Tri: 1555 1535 1545 -Tri: 1555 1545 1554 -Tri: 1541 1554 1550 -Tri: 1541 1550 1547 -Tri: 1551 1552 1553 -Tri: 1551 1553 1555 -Tri: 1550 1549 1547 -Tri: 1547 1542 1541 -Tri: 1551 1555 1554 -Tri: 1551 1554 1541 -Tri: 1553 1538 1536 -Tri: 1553 1536 1532 -Tri: 1549 1548 1546 -Tri: 1549 1546 1547 -Tri: 1556 1557 1558 -Tri: 1556 1558 1559 -Tri: 1560 1558 1561 -Tri: 1562 1563 1557 -Tri: 1562 1557 1556 -Tri: 1564 1565 1566 -Tri: 1564 1566 1567 -Tri: 1568 1569 1570 -Tri: 1568 1570 1571 -Tri: 1559 1558 1560 -Tri: 1572 1573 1574 -Tri: 1572 1574 1575 -Tri: 1576 1577 1574 -Tri: 1576 1574 1573 -Tri: 1578 1579 1580 -Tri: 1578 1580 1581 -Tri: 1582 1583 1580 -Tri: 1582 1580 1584 -Tri: 1585 1586 1587 -Tri: 1585 1587 1588 -Tri: 1589 1590 1591 -Tri: 1589 1591 1592 -Tri: 1593 1594 1595 -Tri: 1593 1595 1596 -Tri: 1597 1598 1599 -Tri: 1599 1598 1600 -Tri: 1598 1590 1600 -Tri: 1600 1590 1601 -Tri: 1590 1589 1601 -Tri: 1601 1589 1586 -Tri: 1589 1602 1586 -Tri: 1586 1602 1587 -Tri: 1602 1603 1587 -Tri: 1587 1603 1604 -Tri: 1603 1605 1604 -Tri: 1604 1605 1606 -Tri: 1605 1597 1606 -Tri: 1606 1597 1599 -Tri: 1573 1572 1566 -Tri: 1573 1566 1565 -Tri: 1607 1578 1608 -Tri: 1607 1608 1609 -Tri: 1607 1610 1579 -Tri: 1607 1579 1578 -Tri: 1611 1568 1612 -Tri: 1611 1612 1613 -Tri: 1568 1571 1614 -Tri: 1568 1614 1612 -Tri: 1565 1563 1615 -Tri: 1616 1614 1571 -Tri: 1616 1571 1617 -Tri: 1616 1617 1618 -Tri: 1616 1618 1619 -Tri: 1620 1621 1567 -Tri: 1620 1567 1622 -Tri: 1607 1609 1623 -Tri: 1607 1623 1624 -Tri: 1561 1613 1612 -Tri: 1561 1612 1614 -Tri: 1569 1625 1565 -Tri: 1569 1565 1570 -Tri: 1626 1627 1628 -Tri: 1626 1628 1629 -Tri: 1630 1631 1613 -Tri: 1630 1613 1561 -Tri: 1562 1632 1633 -Tri: 1562 1633 1615 -Tri: 1608 1634 1576 -Tri: 1608 1576 1573 -Tri: 1609 1608 1573 -Tri: 1609 1573 1623 -Tri: 1584 1580 1579 -Tri: 1584 1579 1630 -Tri: 1584 1630 1574 -Tri: 1584 1574 1577 -Tri: 1629 1628 1577 -Tri: 1629 1577 1576 -Tri: 1561 1614 1616 -Tri: 1561 1616 1560 -Tri: 1616 1619 1559 -Tri: 1616 1559 1560 -Tri: 1635 1636 1637 -Tri: 1572 1638 1639 -Tri: 1572 1639 1566 -Tri: 1640 1641 1642 -Tri: 1640 1642 1643 -Tri: 1644 1642 1641 -Tri: 1644 1641 1597 -Tri: 1585 1592 1591 -Tri: 1585 1591 1645 -Tri: 1567 1566 1639 -Tri: 1567 1639 1622 -Tri: 1646 1622 1639 -Tri: 1646 1639 1638 -Tri: 1636 1635 1647 -Tri: 1636 1647 1575 -Tri: 1574 1630 1636 -Tri: 1574 1636 1575 -Tri: 1648 1638 1572 -Tri: 1646 1638 1648 -Tri: 1646 1648 1647 -Tri: 1624 1623 1625 -Tri: 1624 1625 1611 -Tri: 1557 1564 1561 -Tri: 1557 1561 1558 -Tri: 1632 1562 1556 -Tri: 1632 1556 1618 -Tri: 1625 1623 1573 -Tri: 1625 1573 1565 -Tri: 1617 1633 1632 -Tri: 1617 1632 1618 -Tri: 1583 1582 1628 -Tri: 1583 1628 1627 -Tri: 1611 1625 1569 -Tri: 1611 1569 1568 -Tri: 1607 1624 1631 -Tri: 1607 1631 1610 -Tri: 1579 1610 1631 -Tri: 1579 1631 1630 -Tri: 1581 1634 1608 -Tri: 1581 1608 1578 -Tri: 1627 1626 1634 -Tri: 1627 1634 1581 -Tri: 1634 1626 1629 -Tri: 1634 1629 1576 -Tri: 1640 1643 1649 -Tri: 1640 1649 1599 -Tri: 1588 1650 1592 -Tri: 1588 1592 1585 -Tri: 1615 1563 1562 -Tri: 1624 1611 1613 -Tri: 1624 1613 1631 -Tri: 1563 1565 1564 -Tri: 1563 1564 1557 -Tri: 1619 1618 1556 -Tri: 1619 1556 1559 -Tri: 1598 1597 1641 -Tri: 1598 1641 1595 -Tri: 1645 1591 1594 -Tri: 1645 1594 1593 -Tri: 1598 1595 1590 -Tri: 1595 1594 1590 -Tri: 1590 1594 1591 -Tri: 1645 1601 1586 -Tri: 1645 1586 1585 -Tri: 1640 1599 1600 -Tri: 1640 1600 1596 -Tri: 1602 1650 1603 -Tri: 1603 1650 1605 -Tri: 1650 1644 1605 -Tri: 1605 1644 1597 -Tri: 1627 1581 1580 -Tri: 1627 1580 1583 -Tri: 1582 1584 1577 -Tri: 1582 1577 1628 -Tri: 1630 1561 1621 -Tri: 1630 1621 1636 -Tri: 1633 1570 1565 -Tri: 1633 1565 1615 -Tri: 1620 1622 1646 -Tri: 1620 1646 1637 -Tri: 1621 1561 1564 -Tri: 1621 1564 1567 -Tri: 1620 1637 1636 -Tri: 1620 1636 1621 -Tri: 1575 1647 1648 -Tri: 1575 1648 1572 -Tri: 1637 1646 1647 -Tri: 1637 1647 1635 -Tri: 1649 1606 1599 -Tri: 1596 1595 1641 -Tri: 1596 1641 1640 -Tri: 1600 1601 1596 -Tri: 1596 1601 1593 -Tri: 1601 1645 1593 -Tri: 1602 1589 1592 -Tri: 1602 1592 1650 -Tri: 1587 1604 1588 -Tri: 1588 1604 1606 -Tri: 1606 1649 1588 -Tri: 1571 1570 1633 -Tri: 1571 1633 1617 -Tri: 1651 1652 1653 -Tri: 1651 1653 1654 -Tri: 1655 1656 1657 -Tri: 1655 1657 1658 -Tri: 1659 1660 1661 -Tri: 1659 1661 1662 -Tri: 1663 1664 1665 -Tri: 1663 1665 1666 -Tri: 1664 1667 1668 -Tri: 1664 1668 1665 -Tri: 1667 1669 1670 -Tri: 1667 1670 1668 -Tri: 1669 1671 1672 -Tri: 1669 1672 1670 -Tri: 1671 1673 1674 -Tri: 1671 1674 1672 -Tri: 1673 1675 1676 -Tri: 1673 1676 1674 -Tri: 1675 1677 1678 -Tri: 1675 1678 1676 -Tri: 1677 1679 1680 -Tri: 1677 1680 1678 -Tri: 1679 1681 1682 -Tri: 1679 1682 1680 -Tri: 1681 1683 1684 -Tri: 1681 1684 1682 -Tri: 1683 1685 1686 -Tri: 1683 1686 1684 -Tri: 1685 1687 1688 -Tri: 1685 1688 1686 -Tri: 1687 1689 1690 -Tri: 1687 1690 1688 -Tri: 1689 1691 1692 -Tri: 1689 1692 1690 -Tri: 1691 1693 1694 -Tri: 1691 1694 1692 -Tri: 1693 1695 1696 -Tri: 1693 1696 1694 -Tri: 1695 1697 1698 -Tri: 1695 1698 1696 -Tri: 1697 1699 1700 -Tri: 1697 1700 1698 -Tri: 1699 1701 1702 -Tri: 1699 1702 1700 -Tri: 1701 1703 1704 -Tri: 1701 1704 1702 -Tri: 1703 1705 1706 -Tri: 1703 1706 1704 -Tri: 1705 1707 1708 -Tri: 1705 1708 1706 -Tri: 1707 1709 1710 -Tri: 1707 1710 1708 -Tri: 1709 1711 1712 -Tri: 1709 1712 1710 -Tri: 1711 1713 1714 -Tri: 1711 1714 1712 -Tri: 1713 1715 1716 -Tri: 1713 1716 1714 -Tri: 1715 1717 1718 -Tri: 1715 1718 1716 -Tri: 1717 1719 1720 -Tri: 1717 1720 1718 -Tri: 1719 1721 1722 -Tri: 1719 1722 1720 -Tri: 1721 1723 1724 -Tri: 1721 1724 1722 -Tri: 1665 1725 1726 -Tri: 1665 1726 1666 -Tri: 1723 1727 1728 -Tri: 1723 1728 1724 -Tri: 1727 1663 1666 -Tri: 1727 1666 1728 -Tri: 1686 1729 1730 -Tri: 1686 1730 1684 -Tri: 1704 1731 1732 -Tri: 1704 1732 1702 -Tri: 1722 1733 1734 -Tri: 1722 1734 1720 -Tri: 1678 1735 1736 -Tri: 1678 1736 1676 -Tri: 1696 1737 1738 -Tri: 1696 1738 1694 -Tri: 1714 1739 1740 -Tri: 1714 1740 1712 -Tri: 1741 1742 1743 -Tri: 1741 1743 1744 -Tri: 1702 1732 1745 -Tri: 1702 1745 1700 -Tri: 1720 1734 1746 -Tri: 1720 1746 1718 -Tri: 1676 1736 1747 -Tri: 1676 1747 1674 -Tri: 1694 1738 1748 -Tri: 1694 1748 1692 -Tri: 1712 1740 1749 -Tri: 1712 1749 1710 -Tri: 1750 1751 1742 -Tri: 1750 1742 1741 -Tri: 1752 1753 1754 -Tri: 1752 1754 1755 -Tri: 1756 1757 1758 -Tri: 1756 1758 1759 -Tri: 1760 1761 1762 -Tri: 1760 1762 1763 -Tri: 1764 1765 1652 -Tri: 1764 1652 1651 -Tri: 1766 1767 1660 -Tri: 1766 1660 1659 -Tri: 1768 1769 1656 -Tri: 1768 1656 1655 -Tri: 1770 1771 1751 -Tri: 1770 1751 1750 -Tri: 1772 1773 1753 -Tri: 1772 1753 1752 -Tri: 1774 1775 1757 -Tri: 1774 1757 1756 -Tri: 1776 1777 1761 -Tri: 1776 1761 1760 -Tri: 1778 1779 1780 -Tri: 1778 1780 1781 -Tri: 1782 1783 1784 -Tri: 1782 1784 1785 -Tri: 1786 1787 1788 -Tri: 1786 1788 1789 -Tri: 1790 1791 1792 -Tri: 1790 1792 1793 -Tri: 1794 1795 1796 -Tri: 1794 1796 1797 -Tri: 1798 1799 1800 -Tri: 1798 1800 1801 -Tri: 1802 1803 1804 -Tri: 1802 1804 1805 -Tri: 1763 1762 1806 -Tri: 1763 1806 1807 -Tri: 1759 1758 1808 -Tri: 1759 1808 1809 -Tri: 1755 1754 1810 -Tri: 1755 1810 1811 -Tri: 1812 1813 1777 -Tri: 1812 1777 1776 -Tri: 1814 1815 1816 -Tri: 1814 1816 1817 -Tri: 1818 1819 1820 -Tri: 1818 1820 1821 -Tri: 1822 1823 1824 -Tri: 1822 1824 1825 -Tri: 1826 1827 1828 -Tri: 1826 1828 1829 -Tri: 1805 1804 1830 -Tri: 1805 1830 1831 -Tri: 1801 1800 1832 -Tri: 1801 1832 1833 -Tri: 1797 1796 1779 -Tri: 1797 1779 1778 -Tri: 1793 1792 1815 -Tri: 1793 1815 1814 -Tri: 1789 1788 1819 -Tri: 1789 1819 1818 -Tri: 1785 1784 1823 -Tri: 1785 1823 1822 -Tri: 1834 1835 1827 -Tri: 1834 1827 1826 -Tri: 1821 1820 1836 -Tri: 1821 1836 1837 -Tri: 1825 1824 1838 -Tri: 1825 1838 1839 -Tri: 1829 1828 1840 -Tri: 1829 1840 1841 -Tri: 1831 1830 1842 -Tri: 1831 1842 1843 -Tri: 1833 1832 1844 -Tri: 1833 1844 1845 -Tri: 1684 1730 1846 -Tri: 1684 1846 1682 -Tri: 1847 1848 1775 -Tri: 1847 1775 1774 -Tri: 1849 1850 1773 -Tri: 1849 1773 1772 -Tri: 1851 1852 1771 -Tri: 1851 1771 1770 -Tri: 1853 1854 1769 -Tri: 1853 1769 1768 -Tri: 1855 1856 1767 -Tri: 1855 1767 1766 -Tri: 1857 1858 1765 -Tri: 1857 1765 1764 -Tri: 1668 1859 1725 -Tri: 1668 1725 1665 -Tri: 1837 1836 1803 -Tri: 1837 1803 1802 -Tri: 1839 1838 1799 -Tri: 1839 1799 1798 -Tri: 1841 1840 1795 -Tri: 1841 1795 1794 -Tri: 1843 1842 1791 -Tri: 1843 1791 1790 -Tri: 1845 1844 1787 -Tri: 1845 1787 1786 -Tri: 1781 1780 1783 -Tri: 1781 1783 1782 -Tri: 1666 1726 1860 -Tri: 1666 1860 1728 -Tri: 1861 1862 1863 -Tri: 1861 1863 1864 -Tri: 1710 1749 1865 -Tri: 1710 1865 1708 -Tri: 1692 1748 1866 -Tri: 1692 1866 1690 -Tri: 1674 1747 1867 -Tri: 1674 1867 1672 -Tri: 1718 1746 1868 -Tri: 1718 1868 1716 -Tri: 1700 1745 1869 -Tri: 1700 1869 1698 -Tri: 1682 1846 1870 -Tri: 1682 1870 1680 -Tri: 1728 1860 1871 -Tri: 1728 1871 1724 -Tri: 1708 1865 1872 -Tri: 1708 1872 1706 -Tri: 1690 1866 1873 -Tri: 1690 1873 1688 -Tri: 1672 1867 1874 -Tri: 1672 1874 1670 -Tri: 1716 1868 1739 -Tri: 1716 1739 1714 -Tri: 1698 1869 1737 -Tri: 1698 1737 1696 -Tri: 1680 1870 1735 -Tri: 1680 1735 1678 -Tri: 1724 1871 1733 -Tri: 1724 1733 1722 -Tri: 1706 1872 1731 -Tri: 1706 1731 1704 -Tri: 1688 1873 1729 -Tri: 1688 1729 1686 -Tri: 1670 1874 1859 -Tri: 1670 1859 1668 -Tri: 1658 1657 1848 -Tri: 1658 1848 1847 -Tri: 1662 1661 1850 -Tri: 1662 1850 1849 -Tri: 1654 1653 1852 -Tri: 1654 1852 1851 -Tri: 1807 1806 1854 -Tri: 1807 1854 1853 -Tri: 1809 1808 1856 -Tri: 1809 1856 1855 -Tri: 1811 1810 1858 -Tri: 1811 1858 1857 -Tri: 1744 1743 1813 -Tri: 1744 1813 1812 -Tri: 1864 1863 1835 -Tri: 1864 1835 1834 -Tri: 1774 1821 1837 -Tri: 1774 1837 1847 -Tri: 1740 1836 1820 -Tri: 1740 1820 1749 -Tri: 1772 1825 1839 -Tri: 1772 1839 1849 -Tri: 1738 1838 1824 -Tri: 1738 1824 1748 -Tri: 1770 1829 1841 -Tri: 1770 1841 1851 -Tri: 1736 1840 1828 -Tri: 1736 1828 1747 -Tri: 1768 1831 1843 -Tri: 1768 1843 1853 -Tri: 1734 1842 1830 -Tri: 1734 1830 1746 -Tri: 1766 1833 1845 -Tri: 1766 1845 1855 -Tri: 1732 1844 1832 -Tri: 1732 1832 1745 -Tri: 1764 1778 1781 -Tri: 1764 1781 1857 -Tri: 1730 1780 1779 -Tri: 1730 1779 1846 -Tri: 1760 1814 1817 -Tri: 1760 1817 1776 -Tri: 1726 1816 1815 -Tri: 1726 1815 1860 -Tri: 1776 1817 1861 -Tri: 1776 1861 1812 -Tri: 1725 1862 1816 -Tri: 1725 1816 1726 -Tri: 1756 1818 1821 -Tri: 1756 1821 1774 -Tri: 1749 1820 1819 -Tri: 1749 1819 1865 -Tri: 1752 1822 1825 -Tri: 1752 1825 1772 -Tri: 1748 1824 1823 -Tri: 1748 1823 1866 -Tri: 1750 1826 1829 -Tri: 1750 1829 1770 -Tri: 1747 1828 1827 -Tri: 1747 1827 1867 -Tri: 1655 1805 1831 -Tri: 1655 1831 1768 -Tri: 1746 1830 1804 -Tri: 1746 1804 1868 -Tri: 1659 1801 1833 -Tri: 1659 1833 1766 -Tri: 1745 1832 1800 -Tri: 1745 1800 1869 -Tri: 1651 1797 1778 -Tri: 1651 1778 1764 -Tri: 1846 1779 1796 -Tri: 1846 1796 1870 -Tri: 1763 1793 1814 -Tri: 1763 1814 1760 -Tri: 1860 1815 1792 -Tri: 1860 1792 1871 -Tri: 1759 1789 1818 -Tri: 1759 1818 1756 -Tri: 1865 1819 1788 -Tri: 1865 1788 1872 -Tri: 1755 1785 1822 -Tri: 1755 1822 1752 -Tri: 1866 1823 1784 -Tri: 1866 1784 1873 -Tri: 1741 1834 1826 -Tri: 1741 1826 1750 -Tri: 1867 1827 1835 -Tri: 1867 1835 1874 -Tri: 1658 1802 1805 -Tri: 1658 1805 1655 -Tri: 1868 1804 1803 -Tri: 1868 1803 1739 -Tri: 1662 1798 1801 -Tri: 1662 1801 1659 -Tri: 1869 1800 1799 -Tri: 1869 1799 1737 -Tri: 1654 1794 1797 -Tri: 1654 1797 1651 -Tri: 1870 1796 1795 -Tri: 1870 1795 1735 -Tri: 1807 1790 1793 -Tri: 1807 1793 1763 -Tri: 1871 1792 1791 -Tri: 1871 1791 1733 -Tri: 1809 1786 1789 -Tri: 1809 1789 1759 -Tri: 1872 1788 1787 -Tri: 1872 1787 1731 -Tri: 1811 1782 1785 -Tri: 1811 1785 1755 -Tri: 1873 1784 1783 -Tri: 1873 1783 1729 -Tri: 1744 1864 1834 -Tri: 1744 1834 1741 -Tri: 1874 1835 1863 -Tri: 1874 1863 1859 -Tri: 1847 1837 1802 -Tri: 1847 1802 1658 -Tri: 1739 1803 1836 -Tri: 1739 1836 1740 -Tri: 1849 1839 1798 -Tri: 1849 1798 1662 -Tri: 1737 1799 1838 -Tri: 1737 1838 1738 -Tri: 1851 1841 1794 -Tri: 1851 1794 1654 -Tri: 1735 1795 1840 -Tri: 1735 1840 1736 -Tri: 1853 1843 1790 -Tri: 1853 1790 1807 -Tri: 1733 1791 1842 -Tri: 1733 1842 1734 -Tri: 1855 1845 1786 -Tri: 1855 1786 1809 -Tri: 1731 1787 1844 -Tri: 1731 1844 1732 -Tri: 1857 1781 1782 -Tri: 1857 1782 1811 -Tri: 1729 1783 1780 -Tri: 1729 1780 1730 -Tri: 1812 1861 1864 -Tri: 1812 1864 1744 -Tri: 1859 1863 1862 -Tri: 1859 1862 1725 -Tri: 1817 1816 1862 -Tri: 1817 1862 1861 -Tri: 1875 1876 1877 -Tri: 1875 1877 1878 -Tri: 1879 1880 1881 -Tri: 1879 1881 1882 -Tri: 1883 1884 1885 -Tri: 1883 1885 1886 -Tri: 1887 1888 1889 -Tri: 1887 1889 1890 -Tri: 1891 1892 1893 -Tri: 1891 1893 1894 -Tri: 1895 1896 1897 -Tri: 1895 1897 1898 -Tri: 1899 1900 1901 -Tri: 1899 1901 1902 -Tri: 1903 1904 1905 -Tri: 1903 1905 1906 -Tri: 1907 1891 1894 -Tri: 1907 1894 1908 -Tri: 1909 1910 1911 -Tri: 1909 1911 1912 -Tri: 1913 1914 1915 -Tri: 1913 1915 1916 -Tri: 1917 1918 1919 -Tri: 1917 1919 1920 -Tri: 1905 1896 1895 -Tri: 1905 1895 1906 -Tri: 1921 1922 1923 -Tri: 1921 1923 1924 -Tri: 1925 1926 1927 -Tri: 1925 1927 1928 -Tri: 1929 1930 1931 -Tri: 1929 1931 1932 -Tri: 1933 1934 1918 -Tri: 1933 1918 1917 -Tri: 1899 1902 1935 -Tri: 1899 1935 1936 -Tri: 1937 1938 1939 -Tri: 1937 1939 1940 -Tri: 1928 1941 1942 -Tri: 1928 1942 1943 -Tri: 1900 1942 1941 -Tri: 1900 1941 1920 -Tri: 1933 1944 1945 -Tri: 1933 1945 1913 -Tri: 1914 1946 1947 -Tri: 1914 1947 1915 -Tri: 1948 1949 1950 -Tri: 1948 1950 1907 -Tri: 1951 1952 1953 -Tri: 1951 1953 1954 -Tri: 1955 1941 1928 -Tri: 1955 1928 1927 -Tri: 1956 1957 1949 -Tri: 1956 1949 1958 -Tri: 1948 1959 1960 -Tri: 1948 1960 1949 -Tri: 1961 1962 1963 -Tri: 1961 1963 1964 -Tri: 1929 1965 1960 -Tri: 1929 1960 1959 -Tri: 1966 1967 1968 -Tri: 1943 1942 1969 -Tri: 1943 1969 1970 -Tri: 1971 1927 1926 -Tri: 1971 1926 1972 -Tri: 1973 1945 1974 -Tri: 1973 1974 1975 -Tri: 1976 1977 1978 -Tri: 1976 1978 1979 -Tri: 1980 1981 1982 -Tri: 1980 1982 1983 -Tri: 1984 1968 1967 -Tri: 1984 1967 1985 -Tri: 1979 1978 1986 -Tri: 1979 1986 1965 -Tri: 1957 1987 1950 -Tri: 1957 1950 1949 -Tri: 1988 1989 1990 -Tri: 1988 1990 1991 -Tri: 1988 1991 1992 -Tri: 1993 1994 1995 -Tri: 1993 1995 1996 -Tri: 1997 1903 1906 -Tri: 1997 1906 1895 -Tri: 1998 1999 2000 -Tri: 1998 2000 2001 -Tri: 2002 2003 2004 -Tri: 2002 2004 2005 -Tri: 1999 1998 2006 -Tri: 1999 2006 2007 -Tri: 1961 1964 2007 -Tri: 1961 2007 2006 -Tri: 1956 2008 2009 -Tri: 1956 2009 1957 -Tri: 1995 2010 2011 -Tri: 1995 2011 2012 -Tri: 2013 2014 2015 -Tri: 2013 2015 2016 -Tri: 2017 2018 2019 -Tri: 1981 2020 2021 -Tri: 1967 2022 1985 -Tri: 2023 2024 2002 -Tri: 2023 2002 2005 -Tri: 2025 2026 2027 -Tri: 2025 2027 2028 -Tri: 2029 2030 1984 -Tri: 2029 1984 2031 -Tri: 2032 2023 2033 -Tri: 2032 2033 2034 -Tri: 2035 1968 1984 -Tri: 2029 2036 2037 -Tri: 2025 2038 2039 -Tri: 2025 2039 2040 -Tri: 2025 2040 2041 -Tri: 2025 2041 2026 -Tri: 2025 1957 2009 -Tri: 2025 2009 2038 -Tri: 2042 2040 2039 -Tri: 2042 2039 2043 -Tri: 2044 2045 2046 -Tri: 2044 2046 2047 -Tri: 2048 2049 2050 -Tri: 2048 2050 1883 -Tri: 2048 1883 1886 -Tri: 2051 2052 2053 -Tri: 2054 1997 1895 -Tri: 2054 1895 1898 -Tri: 2055 2056 2057 -Tri: 2055 2057 2058 -Tri: 2042 2059 2060 -Tri: 2042 2060 2061 -Tri: 2062 2063 2064 -Tri: 2062 2064 2065 -Tri: 2066 2067 2068 -Tri: 2066 2068 2069 -Tri: 2070 2071 2072 -Tri: 2073 2074 2075 -Tri: 2073 2075 2070 -Tri: 2076 2077 2078 -Tri: 2031 1984 1985 -Tri: 2031 1985 2079 -Tri: 2063 1884 2064 -Tri: 2080 2081 2082 -Tri: 2080 2082 2083 -Tri: 2084 2085 2086 -Tri: 2084 2086 2087 -Tri: 2088 2089 2084 -Tri: 2088 2084 2090 -Tri: 2091 2085 2084 -Tri: 2091 2084 2089 -Tri: 2088 2092 2093 -Tri: 2088 2093 2089 -Tri: 2035 2030 2032 -Tri: 2035 2032 2034 -Tri: 2094 2006 1998 -Tri: 2094 1998 2095 -Tri: 2057 2056 2096 -Tri: 2057 2096 2097 -Tri: 2098 2099 2100 -Tri: 2098 2100 2101 -Tri: 2102 2103 2104 -Tri: 2102 2104 2105 -Tri: 2106 2107 2108 -Tri: 2106 2108 2109 -Tri: 2107 2110 2111 -Tri: 2112 2113 2114 -Tri: 2112 2114 2115 -Tri: 2116 2117 2118 -Tri: 2116 2118 2119 -Tri: 2023 2032 2037 -Tri: 2023 2037 2024 -Tri: 2120 2121 2122 -Tri: 2120 2122 2123 -Tri: 2124 2125 2126 -Tri: 2124 2126 2001 -Tri: 2127 2128 2096 -Tri: 2127 2096 2129 -Tri: 2130 2131 2055 -Tri: 2130 2055 2058 -Tri: 2132 2130 2058 -Tri: 2132 2058 2133 -Tri: 2119 2118 2134 -Tri: 2119 2134 2135 -Tri: 2098 2136 2135 -Tri: 2098 2135 2134 -Tri: 2098 2134 2137 -Tri: 2098 2137 2099 -Tri: 2138 2139 2103 -Tri: 2138 2103 2140 -Tri: 2065 2064 1883 -Tri: 2065 1883 2141 -Tri: 2142 2109 2108 -Tri: 2142 2108 2143 -Tri: 2054 2144 1997 -Tri: 2145 2146 2090 -Tri: 2145 2090 2147 -Tri: 2148 2088 2090 -Tri: 2148 2090 2146 -Tri: 2149 2150 2151 -Tri: 2149 2151 2152 -Tri: 2153 2154 2155 -Tri: 2153 2155 2156 -Tri: 2153 2156 2157 -Tri: 2158 2159 2160 -Tri: 2158 2160 2161 -Tri: 2162 2163 2128 -Tri: 2162 2128 2127 -Tri: 2164 2097 2096 -Tri: 2164 2096 2128 -Tri: 2066 2069 1953 -Tri: 2165 2166 2167 -Tri: 2129 2168 2153 -Tri: 2129 2153 2127 -Tri: 2056 2169 2129 -Tri: 2056 2129 2096 -Tri: 1952 1951 2101 -Tri: 1952 2101 2100 -Tri: 2066 1952 2100 -Tri: 2066 2100 2067 -Tri: 2148 2170 2092 -Tri: 2148 2092 2088 -Tri: 2171 2172 2173 -Tri: 2171 2173 2174 -Tri: 2175 2176 2177 -Tri: 2175 2177 2178 -Tri: 2179 2180 2181 -Tri: 2179 2181 2182 -Tri: 2183 2184 2185 -Tri: 2183 2185 2186 -Tri: 2156 2160 2159 -Tri: 2156 2187 2162 -Tri: 2156 2162 2157 -Tri: 2006 2094 2151 -Tri: 2006 2151 1961 -Tri: 2153 2168 2188 -Tri: 2153 2188 2154 -Tri: 2189 2142 1953 -Tri: 2189 1953 2069 -Tri: 2167 2166 2190 -Tri: 2167 2190 2191 -Tri: 2192 2193 2152 -Tri: 2192 2152 2194 -Tri: 2039 2038 2195 -Tri: 2039 2195 2043 -Tri: 2161 2196 2197 -Tri: 2161 2197 2198 -Tri: 2164 2128 2163 -Tri: 2164 2163 2199 -Tri: 2200 2201 2202 -Tri: 2200 2202 2106 -Tri: 2203 2204 2170 -Tri: 2203 2170 2148 -Tri: 2203 2148 2146 -Tri: 2203 2146 2205 -Tri: 2112 2115 2160 -Tri: 2112 2160 2156 -Tri: 2112 2156 2155 -Tri: 2206 2207 2208 -Tri: 2206 2208 2209 -Tri: 2202 2201 2145 -Tri: 2202 2145 2147 -Tri: 2046 2210 2211 -Tri: 2046 2211 2047 -Tri: 2145 2201 2212 -Tri: 2145 2212 2213 -Tri: 2188 2168 2169 -Tri: 2188 2169 2056 -Tri: 2188 2056 2055 -Tri: 2188 2055 1963 -Tri: 2214 2200 2106 -Tri: 2214 2106 2109 -Tri: 2182 2181 2095 -Tri: 2182 2095 2126 -Tri: 2197 2196 2115 -Tri: 2197 2115 2114 -Tri: 2215 2164 2199 -Tri: 2215 2199 2216 -Tri: 2217 2218 2214 -Tri: 2217 2214 2189 -Tri: 2213 2219 2205 -Tri: 2220 2209 2208 -Tri: 2220 2208 2057 -Tri: 2189 2214 2109 -Tri: 2189 2109 2142 -Tri: 2221 2212 2222 -Tri: 2221 2222 2223 -Tri: 2097 2224 2220 -Tri: 2097 2220 2057 -Tri: 2225 2117 2132 -Tri: 2225 2132 2133 -Tri: 2225 2133 2226 -Tri: 2227 2228 2113 -Tri: 2227 2113 2112 -Tri: 2227 2112 2149 -Tri: 2149 2112 2155 -Tri: 2149 2155 2150 -Tri: 2229 2199 2163 -Tri: 2229 2163 2230 -Tri: 2231 2232 2233 -Tri: 2234 2235 2236 -Tri: 2234 2236 2137 -Tri: 2237 2238 2197 -Tri: 2237 2197 2239 -Tri: 2240 2241 2242 -Tri: 2240 2242 2243 -Tri: 2244 2068 2243 -Tri: 2244 2243 2245 -Tri: 2246 2223 2222 -Tri: 2246 2222 2218 -Tri: 2094 2194 2152 -Tri: 2094 2152 2151 -Tri: 2231 2247 2215 -Tri: 2231 2215 2216 -Tri: 2248 2249 2207 -Tri: 2248 2207 2250 -Tri: 2208 2251 2226 -Tri: 2208 2226 2133 -Tri: 2099 2137 2236 -Tri: 2114 2113 2252 -Tri: 2253 2254 2255 -Tri: 2253 2255 2256 -Tri: 2233 2232 2257 -Tri: 2258 2259 2260 -Tri: 2258 2260 2261 -Tri: 2249 2251 2208 -Tri: 2249 2208 2207 -Tri: 2262 2263 2264 -Tri: 2262 2264 2265 -Tri: 2266 2246 2267 -Tri: 2057 2208 2133 -Tri: 2057 2133 2058 -Tri: 2118 2263 2262 -Tri: 2118 2262 2134 -Tri: 2068 2217 2189 -Tri: 2068 2189 2069 -Tri: 2134 2262 2268 -Tri: 2134 2268 2234 -Tri: 2130 2132 2117 -Tri: 2130 2117 2116 -Tri: 2130 2116 2131 -Tri: 2241 2269 2270 -Tri: 2241 2270 2242 -Tri: 2249 2248 2271 -Tri: 2249 2271 2272 -Tri: 2273 2245 2243 -Tri: 2273 2243 2242 -Tri: 2274 2275 2276 -Tri: 2217 2267 2246 -Tri: 2217 2246 2218 -Tri: 2277 2278 2279 -Tri: 2280 2281 2282 -Tri: 2283 2284 2285 -Tri: 2283 2285 2286 -Tri: 1974 2287 2288 -Tri: 1974 2288 1975 -Tri: 2249 2272 2289 -Tri: 2249 2289 2226 -Tri: 2249 2226 2251 -Tri: 2272 2290 2291 -Tri: 2272 2291 2289 -Tri: 2270 2286 2285 -Tri: 2292 2293 2294 -Tri: 2292 2294 2295 -Tri: 2279 2296 2297 -Tri: 2279 2297 2277 -Tri: 2263 2118 2117 -Tri: 2263 2117 2225 -Tri: 2243 2068 2067 -Tri: 2243 2067 2240 -Tri: 2298 2299 2283 -Tri: 2263 2225 2300 -Tri: 2263 2300 2264 -Tri: 2264 2301 2302 -Tri: 2264 2302 2265 -Tri: 2262 2265 2268 -Tri: 2303 2304 2305 -Tri: 2303 2305 2306 -Tri: 2230 2307 2308 -Tri: 2230 2308 2309 -Tri: 2291 2310 2300 -Tri: 2291 2300 2289 -Tri: 2301 2264 2300 -Tri: 2301 2300 2310 -Tri: 2311 2312 2245 -Tri: 2311 2245 2273 -Tri: 2313 2314 2315 -Tri: 2313 2315 2316 -Tri: 2279 2278 2317 -Tri: 2318 2319 2320 -Tri: 2318 2320 2321 -Tri: 2322 2323 2324 -Tri: 2322 2324 2325 -Tri: 2326 2327 2299 -Tri: 2326 2299 2328 -Tri: 2326 2328 2329 -Tri: 2284 2327 2326 -Tri: 2284 2326 2330 -Tri: 2331 2332 2333 -Tri: 2324 2302 2301 -Tri: 2324 2301 2325 -Tri: 2334 2330 2335 -Tri: 2334 2335 2336 -Tri: 2329 2337 2338 -Tri: 2339 2335 2330 -Tri: 2339 2330 2326 -Tri: 2340 2341 2342 -Tri: 2340 2342 2343 -Tri: 2335 2339 2344 -Tri: 2335 2344 2345 -Tri: 2335 2345 2346 -Tri: 2347 2331 2333 -Tri: 2347 2333 2346 -Tri: 2347 2346 2345 -Tri: 2348 2349 2350 -Tri: 2348 2350 2351 -Tri: 2338 2344 2339 -Tri: 2320 2352 2353 -Tri: 2354 2355 2356 -Tri: 2354 2356 2357 -Tri: 2302 2306 2358 -Tri: 2302 2358 2265 -Tri: 2359 2360 2337 -Tri: 2359 2337 2329 -Tri: 2325 2301 2310 -Tri: 2325 2310 2361 -Tri: 2360 2362 2363 -Tri: 2360 2363 2337 -Tri: 2364 2345 2344 -Tri: 2364 2344 2363 -Tri: 2365 2366 2364 -Tri: 2365 2364 2362 -Tri: 2291 2290 2341 -Tri: 2291 2341 2340 -Tri: 2362 2364 2363 -Tri: 2367 2368 2369 -Tri: 2367 2369 2370 -Tri: 2348 2351 2371 -Tri: 2348 2371 2372 -Tri: 2348 2372 2373 -Tri: 2338 2339 2326 -Tri: 2338 2326 2329 -Tri: 2374 2375 2360 -Tri: 2374 2360 2359 -Tri: 2376 2377 2378 -Tri: 2379 2328 2305 -Tri: 2379 2305 2304 -Tri: 2379 2304 2377 -Tri: 2379 2377 2380 -Tri: 2381 2322 2325 -Tri: 2381 2325 2361 -Tri: 2368 2367 2382 -Tri: 2383 2375 2374 -Tri: 2383 2374 2376 -Tri: 2384 2385 2386 -Tri: 2387 2388 2389 -Tri: 2387 2389 2390 -Tri: 2391 2381 2343 -Tri: 2391 2343 2392 -Tri: 2393 2323 2322 -Tri: 2394 2390 2389 -Tri: 2395 2396 2397 -Tri: 2395 2397 2398 -Tri: 2395 2398 2399 -Tri: 2365 2362 2388 -Tri: 2365 2388 2387 -Tri: 2400 2372 2371 -Tri: 2400 2371 2401 -Tri: 2400 2401 2402 -Tri: 2400 2402 2403 -Tri: 2341 2290 2404 -Tri: 2341 2404 2405 -Tri: 2342 2392 2343 -Tri: 2391 2393 2322 -Tri: 2391 2322 2381 -Tri: 2303 2306 2302 -Tri: 2303 2302 2324 -Tri: 2340 2361 2310 -Tri: 2340 2310 2291 -Tri: 2342 2406 2407 -Tri: 2342 2407 2408 -Tri: 2342 2408 2392 -Tri: 2409 2410 2411 -Tri: 2409 2411 2412 -Tri: 2391 2411 2413 -Tri: 2391 2413 2393 -Tri: 2414 2415 2416 -Tri: 2414 2416 2417 -Tri: 2418 2303 2324 -Tri: 2418 2324 2323 -Tri: 2419 2420 2393 -Tri: 2419 2393 2413 -Tri: 2410 2421 2413 -Tri: 2410 2413 2411 -Tri: 2419 2422 2415 -Tri: 2419 2415 2423 -Tri: 2424 2425 2426 -Tri: 2424 2426 2427 -Tri: 2074 2428 2429 -Tri: 2074 2429 2430 -Tri: 2431 2432 2433 -Tri: 2431 2433 2434 -Tri: 1909 2435 2436 -Tri: 1909 2436 1910 -Tri: 2437 2438 2439 -Tri: 2437 2439 2440 -Tri: 2441 2442 1925 -Tri: 2441 1925 1928 -Tri: 2441 1928 1943 -Tri: 1924 2435 2443 -Tri: 1924 2443 2444 -Tri: 2445 2446 2447 -Tri: 2445 2447 2448 -Tri: 2449 2450 2432 -Tri: 2449 2432 2431 -Tri: 2451 2452 2453 -Tri: 2451 2453 2454 -Tri: 2455 2456 2122 -Tri: 2455 2122 2457 -Tri: 2458 2459 2460 -Tri: 2458 2460 2461 -Tri: 2462 2463 2464 -Tri: 2462 2464 2465 -Tri: 1939 2465 2464 -Tri: 1939 2464 1940 -Tri: 2061 2060 2466 -Tri: 2061 2466 2467 -Tri: 2452 2468 2446 -Tri: 2452 2446 2445 -Tri: 2469 2470 2471 -Tri: 2469 2471 2472 -Tri: 1946 1932 1931 -Tri: 1946 1931 1947 -Tri: 1970 2473 2441 -Tri: 1970 2441 1943 -Tri: 1921 2474 2475 -Tri: 1921 2475 2440 -Tri: 2476 2477 2478 -Tri: 2194 2094 2095 -Tri: 2194 2095 2181 -Tri: 2479 2478 2475 -Tri: 2479 2475 2474 -Tri: 2023 2005 2033 -Tri: 2480 2481 2482 -Tri: 2480 2482 2483 -Tri: 2003 2002 2175 -Tri: 1944 1955 1927 -Tri: 1944 1927 1971 -Tri: 2287 1974 1971 -Tri: 2287 1971 1972 -Tri: 1974 1945 1944 -Tri: 1974 1944 1971 -Tri: 2480 2121 2120 -Tri: 2480 2120 2481 -Tri: 2451 2454 2484 -Tri: 2451 2484 2457 -Tri: 2430 2429 2462 -Tri: 2430 2462 2485 -Tri: 2018 2486 2019 -Tri: 2021 1982 1981 -Tri: 2019 2487 2465 -Tri: 2019 2465 1939 -Tri: 1938 2019 1939 -Tri: 2019 1938 2017 -Tri: 2004 2478 2479 -Tri: 2004 2479 2033 -Tri: 2004 2033 2005 -Tri: 1975 2288 2488 -Tri: 1975 2488 1977 -Tri: 1977 1976 1973 -Tri: 1977 1973 1975 -Tri: 2489 2490 2469 -Tri: 2489 2469 2491 -Tri: 2014 2486 2492 -Tri: 2014 2492 2015 -Tri: 2175 2493 2494 -Tri: 2175 2494 2003 -Tri: 2030 2029 2037 -Tri: 2030 2037 2032 -Tri: 2446 2495 2496 -Tri: 2446 2496 2447 -Tri: 2488 2497 1978 -Tri: 2488 1978 1977 -Tri: 1978 2497 2498 -Tri: 1978 2498 1986 -Tri: 2499 1950 1987 -Tri: 2499 1987 2500 -Tri: 2045 2499 2500 -Tri: 2045 2500 2046 -Tri: 2051 2073 2070 -Tri: 1988 2501 2502 -Tri: 2485 2462 2465 -Tri: 2485 2465 2503 -Tri: 2487 2019 2486 -Tri: 2504 2447 2496 -Tri: 2483 2468 2121 -Tri: 2483 2121 2480 -Tri: 2505 2123 2122 -Tri: 2505 2122 2456 -Tri: 2506 2041 2061 -Tri: 2506 2061 2467 -Tri: 2047 2211 2507 -Tri: 2047 2507 2508 -Tri: 1876 2509 2510 -Tri: 1876 2510 2511 -Tri: 2512 2513 2514 -Tri: 2512 2514 2515 -Tri: 2516 2517 2518 -Tri: 2516 2518 2519 -Tri: 1988 2519 2518 -Tri: 1988 2518 2501 -Tri: 2520 2519 1988 -Tri: 2520 1988 1992 -Tri: 2503 2465 2487 -Tri: 2503 2487 2014 -Tri: 2503 2014 2013 -Tri: 2014 2487 2486 -Tri: 2521 2522 2523 -Tri: 2516 2519 2520 -Tri: 2516 2520 2524 -Tri: 2016 2525 2526 -Tri: 2016 2526 2013 -Tri: 2202 2110 2107 -Tri: 2202 2107 2106 -Tri: 1985 2527 2528 -Tri: 1985 2528 2079 -Tri: 1956 1986 2498 -Tri: 1956 2498 2008 -Tri: 2026 2041 2506 -Tri: 2026 2506 2027 -Tri: 2065 2529 2530 -Tri: 2065 2530 2062 -Tri: 2531 2430 2485 -Tri: 2531 2485 2526 -Tri: 2070 2072 2052 -Tri: 2070 2052 2051 -Tri: 2176 2175 2002 -Tri: 2176 2002 2024 -Tri: 2532 2533 2534 -Tri: 2532 2534 2535 -Tri: 2012 2011 2466 -Tri: 2012 2466 2060 -Tri: 2051 2053 2536 -Tri: 1883 2537 2538 -Tri: 1883 2538 2141 -Tri: 2539 2540 2541 -Tri: 2539 2541 2542 -Tri: 2526 2525 2543 -Tri: 2526 2543 2531 -Tri: 2111 2110 2147 -Tri: 2111 2147 2087 -Tri: 2544 2545 2079 -Tri: 2544 2079 2528 -Tri: 2120 2546 2547 -Tri: 2120 2547 2481 -Tri: 2004 2003 2494 -Tri: 2004 2494 2548 -Tri: 1965 1986 1956 -Tri: 1965 1956 1960 -Tri: 2065 2141 2549 -Tri: 2065 2549 2529 -Tri: 2102 2140 2103 -Tri: 2141 2538 2550 -Tri: 2141 2550 2549 -Tri: 2551 2081 2076 -Tri: 2030 2035 1984 -Tri: 2496 2495 2552 -Tri: 2496 2552 2553 -Tri: 2554 2555 2556 -Tri: 2554 2556 2557 -Tri: 2534 2558 2559 -Tri: 2534 2559 2560 -Tri: 2561 2562 1881 -Tri: 2561 1881 1880 -Tri: 2426 2563 2564 -Tri: 2426 2564 2490 -Tri: 2565 2428 2566 -Tri: 2565 2566 2567 -Tri: 2568 2080 2083 -Tri: 2568 2083 2541 -Tri: 2569 2570 2551 -Tri: 2569 2551 2571 -Tri: 2572 2569 2573 -Tri: 2572 2573 2574 -Tri: 2443 2575 2022 -Tri: 2443 2022 1967 -Tri: 2546 2576 2577 -Tri: 2546 2577 2547 -Tri: 2544 2578 2579 -Tri: 2544 2579 2545 -Tri: 2168 2129 2169 -Tri: 2580 2554 2581 -Tri: 2582 2583 2432 -Tri: 2582 2432 2450 -Tri: 1881 2562 2584 -Tri: 1881 2584 2461 -Tri: 2585 2586 2550 -Tri: 2064 1884 1883 -Tri: 2143 1954 1953 -Tri: 2143 1953 2142 -Tri: 2036 2029 2545 -Tri: 2036 2545 2579 -Tri: 2552 2482 2587 -Tri: 2552 2587 2588 -Tri: 2578 2589 2177 -Tri: 2578 2177 2579 -Tri: 2029 2031 2079 -Tri: 2029 2079 2545 -Tri: 2590 2591 2588 -Tri: 2588 2587 2592 -Tri: 2588 2592 2590 -Tri: 2178 2177 2589 -Tri: 2178 2589 2593 -Tri: 2594 2595 2596 -Tri: 2594 2596 2559 -Tri: 1953 1952 2066 -Tri: 2082 2081 2551 -Tri: 2082 2551 2570 -Tri: 2082 2570 2597 -Tri: 2176 2036 2579 -Tri: 2176 2579 2177 -Tri: 2553 2552 2588 -Tri: 2553 2588 2591 -Tri: 2495 2483 2482 -Tri: 2495 2482 2552 -Tri: 2482 2481 2547 -Tri: 2482 2547 2587 -Tri: 2598 2190 2166 -Tri: 2598 2166 2599 -Tri: 2600 2601 2602 -Tri: 2600 2602 2603 -Tri: 2599 2603 2604 -Tri: 2599 2604 2598 -Tri: 2535 2534 2560 -Tri: 2535 2560 2556 -Tri: 1875 2562 2561 -Tri: 1875 2561 2605 -Tri: 2606 2540 1886 -Tri: 2606 1886 1885 -Tri: 2599 2607 2600 -Tri: 2599 2600 2603 -Tri: 2603 2602 2308 -Tri: 2603 2308 2604 -Tri: 2583 2608 2609 -Tri: 2583 2609 2610 -Tri: 2611 2535 2556 -Tri: 2611 2556 2555 -Tri: 2606 2568 2541 -Tri: 2606 2541 2540 -Tri: 2186 2546 2120 -Tri: 2186 2120 2123 -Tri: 2186 2123 2183 -Tri: 2612 2191 2190 -Tri: 2598 2604 2613 -Tri: 2598 2613 2614 -Tri: 2604 2308 2307 -Tri: 2604 2307 2615 -Tri: 2604 2615 2613 -Tri: 2309 2308 2602 -Tri: 2309 2602 2616 -Tri: 2617 2532 2535 -Tri: 2617 2535 2611 -Tri: 2509 2605 2550 -Tri: 2509 2550 2586 -Tri: 2537 2585 2550 -Tri: 2537 2550 2538 -Tri: 2618 2082 2597 -Tri: 2175 2178 2619 -Tri: 2159 2615 2187 -Tri: 2159 2187 2156 -Tri: 2190 2598 2614 -Tri: 2190 2614 2612 -Tri: 2620 2616 2602 -Tri: 2620 2602 2601 -Tri: 2158 2621 2614 -Tri: 2158 2614 2613 -Tri: 2608 2580 2622 -Tri: 2608 2622 2623 -Tri: 2624 2596 2595 -Tri: 2624 2595 2625 -Tri: 2626 2627 2628 -Tri: 2626 2628 2629 -Tri: 2630 2631 2533 -Tri: 2630 2533 2632 -Tri: 2561 2549 2550 -Tri: 2561 2550 2605 -Tri: 2145 2213 2205 -Tri: 2145 2205 2146 -Tri: 2633 2165 2167 -Tri: 2633 2167 2191 -Tri: 2633 2191 2634 -Tri: 2307 2162 2187 -Tri: 2307 2187 2615 -Tri: 2224 2097 2164 -Tri: 2224 2164 2215 -Tri: 2582 2580 2608 -Tri: 2582 2608 2583 -Tri: 1877 1876 2511 -Tri: 1877 2511 2635 -Tri: 1886 2540 2539 -Tri: 1886 2539 2048 -Tri: 2636 2542 2541 -Tri: 2636 2541 2083 -Tri: 2204 2203 2637 -Tri: 2183 2123 2505 -Tri: 2183 2505 2638 -Tri: 2537 1883 2050 -Tri: 2639 2539 2542 -Tri: 2639 2542 2640 -Tri: 2641 2642 2572 -Tri: 2641 2572 2574 -Tri: 2179 2182 2126 -Tri: 2179 2126 2125 -Tri: 2179 2125 2643 -Tri: 2621 2198 2644 -Tri: 2621 2644 2612 -Tri: 2612 2644 2634 -Tri: 2612 2634 2191 -Tri: 2309 2645 2216 -Tri: 2309 2216 2229 -Tri: 1878 2584 2562 -Tri: 1878 2562 1875 -Tri: 2646 2075 2531 -Tri: 2646 2531 2543 -Tri: 2647 2648 2649 -Tri: 2165 2607 2599 -Tri: 2165 2599 2166 -Tri: 2229 2230 2309 -Tri: 1878 2628 2650 -Tri: 1878 2650 2584 -Tri: 2651 2629 1877 -Tri: 2651 1877 2635 -Tri: 2642 2254 2572 -Tri: 2158 2161 2198 -Tri: 2158 2198 2621 -Tri: 2230 2163 2162 -Tri: 2230 2162 2307 -Tri: 2216 2199 2229 -Tri: 2620 2652 2653 -Tri: 2620 2653 2616 -Tri: 2206 2224 2215 -Tri: 2206 2215 2247 -Tri: 2605 2509 1876 -Tri: 2605 1876 1875 -Tri: 2619 2654 2655 -Tri: 2619 2655 2493 -Tri: 2619 2493 2175 -Tri: 2656 2633 2634 -Tri: 2656 2634 2657 -Tri: 2198 2197 2238 -Tri: 2198 2238 2644 -Tri: 2613 2615 2159 -Tri: 2613 2159 2158 -Tri: 2278 2277 2259 -Tri: 2278 2259 2658 -Tri: 2490 2564 2470 -Tri: 2490 2470 2469 -Tri: 2425 2659 2563 -Tri: 2425 2563 2426 -Tri: 2618 2597 2570 -Tri: 2618 2570 2253 -Tri: 2618 2253 2256 -Tri: 2644 2238 2647 -Tri: 2644 2647 2634 -Tri: 2653 2660 2232 -Tri: 2653 2232 2645 -Tri: 2236 2241 2240 -Tri: 2236 2240 2099 -Tri: 2221 2219 2213 -Tri: 2221 2213 2212 -Tri: 2661 2662 2256 -Tri: 2661 2256 2255 -Tri: 2239 2197 2114 -Tri: 2207 2206 2247 -Tri: 2207 2247 2250 -Tri: 2627 2663 2650 -Tri: 2627 2650 2628 -Tri: 2651 2664 2665 -Tri: 2651 2665 2666 -Tri: 2269 2286 2270 -Tri: 2667 2668 2585 -Tri: 2667 2585 2537 -Tri: 2667 2537 2050 -Tri: 2667 2050 2049 -Tri: 2669 2274 2276 -Tri: 2669 2276 2639 -Tri: 2662 2661 2670 -Tri: 2662 2670 2640 -Tri: 2657 2671 2654 -Tri: 2657 2654 2619 -Tri: 2648 2647 2238 -Tri: 2648 2238 2237 -Tri: 2252 2239 2114 -Tri: 2580 2581 2672 -Tri: 2580 2672 2622 -Tri: 2652 2658 2660 -Tri: 2652 2660 2653 -Tri: 2231 2233 2250 -Tri: 2231 2250 2247 -Tri: 2673 2674 2675 -Tri: 2676 2667 2677 -Tri: 2266 2267 2244 -Tri: 2266 2244 2678 -Tri: 2645 2232 2231 -Tri: 2645 2231 2216 -Tri: 2653 2645 2309 -Tri: 2653 2309 2616 -Tri: 2510 2679 2680 -Tri: 2510 2680 2511 -Tri: 2585 2668 2681 -Tri: 2585 2681 2586 -Tri: 2203 2205 2682 -Tri: 2203 2682 2637 -Tri: 2683 2673 2675 -Tri: 2683 2675 2684 -Tri: 2685 2664 2651 -Tri: 2685 2651 2635 -Tri: 2257 2232 2660 -Tri: 2686 2233 2257 -Tri: 2686 2257 2660 -Tri: 2686 2660 2258 -Tri: 2280 2282 2687 -Tri: 2280 2687 2688 -Tri: 2511 2680 2685 -Tri: 2511 2685 2635 -Tri: 2689 2690 2684 -Tri: 2689 2684 2665 -Tri: 2691 2049 2048 -Tri: 2691 2048 2276 -Tri: 2259 2277 2260 -Tri: 2282 2692 2693 -Tri: 2282 2693 2687 -Tri: 2679 2510 2681 -Tri: 2679 2681 2676 -Tri: 2687 2693 2694 -Tri: 2687 2694 2695 -Tri: 2689 2665 2664 -Tri: 2689 2664 2696 -Tri: 2680 2679 2697 -Tri: 2680 2697 2698 -Tri: 2699 2700 2677 -Tri: 2258 2660 2658 -Tri: 2258 2658 2259 -Tri: 2675 2674 2626 -Tri: 2675 2626 2666 -Tri: 2677 2701 2679 -Tri: 2677 2679 2676 -Tri: 2639 2276 2048 -Tri: 2639 2048 2539 -Tri: 2581 2702 2703 -Tri: 2581 2703 2672 -Tri: 2628 1878 1877 -Tri: 2628 1877 2629 -Tri: 2651 2666 2626 -Tri: 2651 2626 2629 -Tri: 2668 2667 2676 -Tri: 2668 2676 2681 -Tri: 2686 2704 2705 -Tri: 2280 2706 2353 -Tri: 2280 2353 2281 -Tri: 2707 2708 2709 -Tri: 2707 2709 2698 -Tri: 2691 2275 2700 -Tri: 2691 2700 2699 -Tri: 2258 2261 2704 -Tri: 2258 2704 2686 -Tri: 2706 2280 2688 -Tri: 2706 2688 2690 -Tri: 2709 2685 2680 -Tri: 2709 2680 2698 -Tri: 2269 2235 2710 -Tri: 2269 2710 2286 -Tri: 2233 2686 2248 -Tri: 2233 2248 2250 -Tri: 2704 2261 2711 -Tri: 2707 2698 2697 -Tri: 2707 2697 2712 -Tri: 2277 2292 2295 -Tri: 2277 2295 2260 -Tri: 2711 2713 2714 -Tri: 2711 2714 2705 -Tri: 2711 2705 2704 -Tri: 2236 2235 2269 -Tri: 2236 2269 2241 -Tri: 2697 2679 2701 -Tri: 2677 2700 2715 -Tri: 2383 2376 2378 -Tri: 2383 2378 2716 -Tri: 2380 2374 2359 -Tri: 2380 2359 2379 -Tri: 2296 2717 2293 -Tri: 2296 2293 2297 -Tri: 2696 2664 2685 -Tri: 2696 2685 2709 -Tri: 2715 2701 2677 -Tri: 2718 2719 2720 -Tri: 2271 2248 2686 -Tri: 2271 2686 2705 -Tri: 2294 2713 2711 -Tri: 2294 2711 2295 -Tri: 2697 2701 2315 -Tri: 2312 2311 2720 -Tri: 2312 2720 2719 -Tri: 2272 2271 2721 -Tri: 2272 2721 2404 -Tri: 2272 2404 2290 -Tri: 2296 2279 2317 -Tri: 2296 2317 2722 -Tri: 2681 2510 2509 -Tri: 2681 2509 2586 -Tri: 2337 2363 2344 -Tri: 2337 2344 2338 -Tri: 2334 2311 2273 -Tri: 2334 2273 2285 -Tri: 2581 2554 2557 -Tri: 2581 2557 2702 -Tri: 2336 2333 2332 -Tri: 2723 2724 2725 -Tri: 2723 2725 2726 -Tri: 2723 2727 2724 -Tri: 2706 2690 2689 -Tri: 2706 2689 2321 -Tri: 2728 2729 2395 -Tri: 2728 2395 2399 -Tri: 2730 2283 2286 -Tri: 2730 2286 2710 -Tri: 2730 2710 2358 -Tri: 2327 2284 2283 -Tri: 2327 2283 2299 -Tri: 2346 2333 2336 -Tri: 2346 2336 2335 -Tri: 2311 2334 2336 -Tri: 2311 2336 2720 -Tri: 2731 2725 2724 -Tri: 2731 2724 2732 -Tri: 2733 2319 2734 -Tri: 2733 2734 2735 -Tri: 2734 2736 2729 -Tri: 2734 2729 2735 -Tri: 2396 2395 2737 -Tri: 2396 2737 2738 -Tri: 2318 2321 2689 -Tri: 2404 2721 2714 -Tri: 2404 2714 2739 -Tri: 2723 2726 2740 -Tri: 2723 2740 2739 -Tri: 2296 2722 2355 -Tri: 2296 2355 2354 -Tri: 2321 2320 2353 -Tri: 2321 2353 2706 -Tri: 2386 2728 2399 -Tri: 2386 2399 2384 -Tri: 2707 2712 2737 -Tri: 2737 2712 2314 -Tri: 2717 2296 2354 -Tri: 2717 2354 2732 -Tri: 2737 2395 2729 -Tri: 2737 2729 2736 -Tri: 2405 2404 2739 -Tri: 2405 2739 2740 -Tri: 2369 2733 2735 -Tri: 2369 2735 2370 -Tri: 2328 2299 2730 -Tri: 2328 2730 2305 -Tri: 2731 2741 2742 -Tri: 2731 2742 2725 -Tri: 2708 2707 2737 -Tri: 2708 2737 2736 -Tri: 2741 2731 2357 -Tri: 2741 2357 2743 -Tri: 2357 2731 2732 -Tri: 2357 2732 2354 -Tri: 2393 2420 2418 -Tri: 2393 2418 2323 -Tri: 2738 2737 2314 -Tri: 2738 2314 2313 -Tri: 2743 2357 2356 -Tri: 2743 2356 2744 -Tri: 2384 2399 2398 -Tri: 2384 2398 2745 -Tri: 2725 2742 2746 -Tri: 2725 2746 2726 -Tri: 2747 2748 2352 -Tri: 2747 2352 2320 -Tri: 2320 2733 2747 -Tri: 2379 2359 2329 -Tri: 2379 2329 2328 -Tri: 2749 2750 2751 -Tri: 2749 2751 2368 -Tri: 2751 2733 2369 -Tri: 2403 2752 2753 -Tri: 2403 2753 2754 -Tri: 2708 2755 2696 -Tri: 2708 2696 2709 -Tri: 2689 2696 2755 -Tri: 2689 2755 2318 -Tri: 2754 2756 2400 -Tri: 2754 2400 2403 -Tri: 2400 2756 2373 -Tri: 2400 2373 2372 -Tri: 2407 2406 2757 -Tri: 2407 2757 2758 -Tri: 2742 2759 2760 -Tri: 2742 2760 2746 -Tri: 2362 2360 2375 -Tri: 2362 2375 2388 -Tri: 2757 2740 2726 -Tri: 2757 2726 2746 -Tri: 2735 2729 2728 -Tri: 2735 2728 2370 -Tri: 2761 2762 2384 -Tri: 2761 2384 2745 -Tri: 2750 2747 2733 -Tri: 2750 2733 2751 -Tri: 2390 2763 2764 -Tri: 2708 2736 2734 -Tri: 2708 2734 2755 -Tri: 2716 2763 2394 -Tri: 2716 2394 2389 -Tri: 2716 2389 2383 -Tri: 2757 2746 2760 -Tri: 2757 2760 2758 -Tri: 2749 2368 2382 -Tri: 2367 2370 2728 -Tri: 2367 2728 2386 -Tri: 2765 2382 2367 -Tri: 2380 2377 2376 -Tri: 2380 2376 2374 -Tri: 2389 2388 2375 -Tri: 2389 2375 2383 -Tri: 2766 2767 2768 -Tri: 2766 2768 2769 -Tri: 2741 2766 2759 -Tri: 2741 2759 2742 -Tri: 2768 2770 2771 -Tri: 2768 2771 2769 -Tri: 2377 2304 2772 -Tri: 2377 2772 2773 -Tri: 2377 2773 2378 -Tri: 2759 2774 2775 -Tri: 2759 2775 2760 -Tri: 2776 2749 2382 -Tri: 2776 2382 2777 -Tri: 2403 2402 2764 -Tri: 2403 2764 2752 -Tri: 2762 2385 2384 -Tri: 2406 2405 2740 -Tri: 2406 2740 2757 -Tri: 2778 2758 2760 -Tri: 2778 2760 2775 -Tri: 2778 2775 2779 -Tri: 2778 2779 2780 -Tri: 2774 2779 2775 -Tri: 2762 2781 2765 -Tri: 2762 2765 2385 -Tri: 2782 2781 2762 -Tri: 2782 2762 2761 -Tri: 2769 2774 2759 -Tri: 2769 2759 2766 -Tri: 2368 2751 2369 -Tri: 2783 2771 2770 -Tri: 2783 2770 2784 -Tri: 2785 2769 2771 -Tri: 2785 2771 2783 -Tri: 2733 2320 2319 -Tri: 2773 2786 2716 -Tri: 2773 2716 2378 -Tri: 2785 2783 2787 -Tri: 2785 2787 2763 -Tri: 2304 2303 2418 -Tri: 2304 2418 2772 -Tri: 2402 2401 2365 -Tri: 2402 2365 2387 -Tri: 2779 2774 2786 -Tri: 2779 2786 2773 -Tri: 2408 2407 2758 -Tri: 2408 2758 2778 -Tri: 2294 2293 2717 -Tri: 2294 2717 2727 -Tri: 2788 2772 2418 -Tri: 2788 2418 2420 -Tri: 2780 2789 2790 -Tri: 2780 2790 2778 -Tri: 2790 2791 2408 -Tri: 2790 2408 2778 -Tri: 2409 2412 2791 -Tri: 2409 2791 2792 -Tri: 2790 2793 2792 -Tri: 2790 2792 2791 -Tri: 2789 2780 2788 -Tri: 2789 2788 2423 -Tri: 2789 2414 2793 -Tri: 2789 2793 2790 -Tri: 2415 2422 2416 -Tri: 2417 2416 2421 -Tri: 2417 2421 2410 -Tri: 2413 2421 2422 -Tri: 2413 2422 2419 -Tri: 2422 2421 2416 -Tri: 2794 2795 1893 -Tri: 2794 1893 1892 -Tri: 2796 2044 2047 -Tri: 2796 2047 2508 -Tri: 2508 2516 2524 -Tri: 2508 2524 2796 -Tri: 1898 1897 1888 -Tri: 1898 1888 1887 -Tri: 1898 1887 1990 -Tri: 1898 1990 2797 -Tri: 1898 2797 2798 -Tri: 1993 2799 2798 -Tri: 2343 2381 2361 -Tri: 2343 2361 2340 -Tri: 2392 2412 2411 -Tri: 2392 2411 2391 -Tri: 2200 2222 2212 -Tri: 2200 2212 2201 -Tri: 2147 2090 2084 -Tri: 2147 2084 2087 -Tri: 2800 1995 2012 -Tri: 2800 2012 2801 -Tri: 2801 2012 2060 -Tri: 2801 2060 2059 -Tri: 2793 2414 2417 -Tri: 2793 2417 2792 -Tri: 2792 2417 2410 -Tri: 2792 2410 2409 -Tri: 2244 2267 2217 -Tri: 2244 2217 2068 -Tri: 2334 2285 2284 -Tri: 2334 2284 2330 -Tri: 2802 2054 1898 -Tri: 2802 1898 2798 -Tri: 2054 2802 2803 -Tri: 2140 2043 2195 -Tri: 2140 2195 2138 -Tri: 2103 2139 2804 -Tri: 2103 2804 2104 -Tri: 2214 2218 2222 -Tri: 2214 2222 2200 -Tri: 2099 2240 2067 -Tri: 2099 2067 2100 -Tri: 2265 2358 2710 -Tri: 2265 2710 2268 -Tri: 2289 2300 2225 -Tri: 2289 2225 2226 -Tri: 2789 2423 2415 -Tri: 2789 2415 2414 -Tri: 2408 2791 2412 -Tri: 2408 2412 2392 -Tri: 2341 2405 2406 -Tri: 2341 2406 2342 -Tri: 2475 2478 2477 -Tri: 2475 2477 2805 -Tri: 2806 2124 2001 -Tri: 2806 2001 2000 -Tri: 2806 2000 2807 -Tri: 2095 1998 2001 -Tri: 2095 2001 2126 -Tri: 2192 2194 2181 -Tri: 2192 2181 2180 -Tri: 2649 2671 2657 -Tri: 2649 2657 2634 -Tri: 2649 2634 2647 -Tri: 2593 2656 2657 -Tri: 2593 2657 2619 -Tri: 2593 2619 2178 -Tri: 2149 2152 2193 -Tri: 2149 2193 2227 -Tri: 2150 1962 1961 -Tri: 2150 1961 2151 -Tri: 2155 2154 2188 -Tri: 2155 2188 1962 -Tri: 2155 1962 2150 -Tri: 1962 2188 1963 -Tri: 2299 2298 2283 -Tri: 2299 2283 2730 -Tri: 2306 2305 2730 -Tri: 2306 2730 2358 -Tri: 2423 2788 2420 -Tri: 2423 2420 2419 -Tri: 2713 2723 2739 -Tri: 2713 2739 2714 -Tri: 2705 2714 2721 -Tri: 2705 2721 2271 -Tri: 2022 2808 2527 -Tri: 2022 2527 1985 -Tri: 2496 2553 2591 -Tri: 2496 2591 2504 -Tri: 2809 1997 2144 -Tri: 2076 2081 2080 -Tri: 2076 2080 2810 -Tri: 2076 2810 2077 -Tri: 2429 2811 2463 -Tri: 2429 2463 2462 -Tri: 2104 2804 2812 -Tri: 2104 2812 2813 -Tri: 2571 2551 2814 -Tri: 2571 2814 2815 -Tri: 2816 2091 2089 -Tri: 2816 2089 2093 -Tri: 2817 2818 2819 -Tri: 2817 2819 2820 -Tri: 2820 2819 2522 -Tri: 2820 2522 2521 -Tri: 2244 2245 2312 -Tri: 2244 2312 2678 -Tri: 2110 2202 2147 -Tri: 2350 2349 2821 -Tri: 2350 2821 2822 -Tri: 2401 2371 2366 -Tri: 2401 2366 2365 -Tri: 2394 2763 2390 -Tri: 2764 2402 2387 -Tri: 2764 2387 2390 -Tri: 2285 2273 2242 -Tri: 2285 2242 2270 -Tri: 2567 2566 2823 -Tri: 2567 2823 2824 -Tri: 2566 2073 2051 -Tri: 2566 2051 2823 -Tri: 2788 2780 2779 -Tri: 2788 2779 2773 -Tri: 2788 2773 2772 -Tri: 2723 2713 2294 -Tri: 2723 2294 2727 -Tri: 2717 2732 2724 -Tri: 2717 2724 2727 -Tri: 2297 2293 2292 -Tri: 2297 2292 2277 -Tri: 2612 2614 2621 -Tri: 2196 2161 2160 -Tri: 2196 2160 2115 -Tri: 2547 2577 2592 -Tri: 2547 2592 2587 -Tri: 2546 2186 2185 -Tri: 2546 2185 2576 -Tri: 2608 2623 2825 -Tri: 2608 2825 2609 -Tri: 2162 2127 2153 -Tri: 2162 2153 2157 -Tri: 2224 2206 2209 -Tri: 2224 2209 2220 -Tri: 2260 2295 2711 -Tri: 2260 2711 2261 -Tri: 2684 2675 2666 -Tri: 2684 2666 2665 -Tri: 2036 2176 2024 -Tri: 2036 2024 2037 -Tri: 2483 2495 2446 -Tri: 2483 2446 2468 -Tri: 2004 2548 2476 -Tri: 2004 2476 2478 -Tri: 2826 2473 1970 -Tri: 2826 1970 1969 -Tri: 2033 2479 1966 -Tri: 2033 1966 2034 -Tri: 1966 2479 2474 -Tri: 1966 2474 2444 -Tri: 1968 2035 2034 -Tri: 1968 2034 1966 -Tri: 2444 2443 1967 -Tri: 2444 1967 1966 -Tri: 2636 2083 2082 -Tri: 2636 2082 2618 -Tri: 2640 2670 2669 -Tri: 2640 2669 2639 -Tri: 2636 2618 2256 -Tri: 2636 2256 2662 -Tri: 2636 2662 2640 -Tri: 2636 2640 2542 -Tri: 2332 2718 2720 -Tri: 2332 2720 2336 -Tri: 2827 2748 2747 -Tri: 2827 2747 2750 -Tri: 2767 2743 2744 -Tri: 2749 2827 2750 -Tri: 2741 2743 2767 -Tri: 2741 2767 2828 -Tri: 2583 2610 2433 -Tri: 2583 2433 2432 -Tri: 2617 2611 2450 -Tri: 2617 2450 2449 -Tri: 2582 2450 2611 -Tri: 2582 2611 2555 -Tri: 2559 2558 2829 -Tri: 2559 2829 2594 -Tri: 2624 2830 2831 -Tri: 2624 2831 2832 -Tri: 2624 2832 2833 -Tri: 2624 2833 2596 -Tri: 2425 2424 2834 -Tri: 2425 2834 2835 -Tri: 2425 2835 2836 -Tri: 2075 2074 2430 -Tri: 2075 2430 2531 -Tri: 2316 2315 2701 -Tri: 2316 2701 2715 -Tri: 2755 2734 2319 -Tri: 2755 2319 2318 -Tri: 2837 2838 2459 -Tri: 2837 2459 2458 -Tri: 1882 1881 2461 -Tri: 1882 2461 2460 -Tri: 2650 2458 2461 -Tri: 2650 2461 2584 -Tri: 2663 2837 2458 -Tri: 2663 2458 2650 -Tri: 2683 2688 2687 -Tri: 2683 2687 2695 -Tri: 2684 2690 2688 -Tri: 2684 2688 2683 -Tri: 2314 2712 2697 -Tri: 2314 2697 2315 -Tri: 2839 2840 2795 -Tri: 2839 2795 2794 -Tri: 2841 2839 2796 -Tri: 2841 2796 2524 -Tri: 2842 2841 2524 -Tri: 2842 2524 2520 -Tri: 2843 2842 2520 -Tri: 2843 2520 1992 -Tri: 1890 2843 1992 -Tri: 1890 1992 1991 -Tri: 2268 2710 2235 -Tri: 2268 2235 2234 -Tri: 2137 2134 2234 -Tri: 2351 2350 2331 -Tri: 2351 2331 2347 -Tri: 2345 2364 2366 -Tri: 2345 2366 2347 -Tri: 2822 2718 2332 -Tri: 2822 2332 2331 -Tri: 2822 2331 2350 -Tri: 2347 2366 2371 -Tri: 2347 2371 2351 -Tri: 2105 2104 2813 -Tri: 2105 2813 2799 -Tri: 2798 2799 2813 -Tri: 2798 2813 2802 -Tri: 2803 2802 2813 -Tri: 2803 2813 2812 -Tri: 2844 2221 2223 -Tri: 2844 2223 2845 -Tri: 2719 2846 2678 -Tri: 2719 2678 2312 -Tri: 2847 2219 2221 -Tri: 2847 2221 2844 -Tri: 2845 2223 2246 -Tri: 2845 2246 2848 -Tri: 2847 2682 2205 -Tri: 2847 2205 2219 -Tri: 2848 2246 2266 -Tri: 2848 2266 2849 -Tri: 2849 2266 2678 -Tri: 2849 2678 2846 -Tri: 2753 2752 2787 -Tri: 2753 2787 2850 -Tri: 2784 2850 2787 -Tri: 2784 2787 2783 -Tri: 2752 2764 2763 -Tri: 2752 2763 2787 -Tri: 1957 2025 2028 -Tri: 1957 2028 2851 -Tri: 2852 2514 2513 -Tri: 2852 2513 2853 -Tri: 2854 2210 2046 -Tri: 2854 2046 2500 -Tri: 2855 2852 2853 -Tri: 2855 2853 2856 -Tri: 2857 2854 2500 -Tri: 2857 2500 1987 -Tri: 2858 2818 2817 -Tri: 2858 2817 2859 -Tri: 2515 2858 2859 -Tri: 2515 2859 2512 -Tri: 2507 2517 2516 -Tri: 2507 2516 2508 -Tri: 2851 2857 1987 -Tri: 2851 1987 1957 -Tri: 2860 2010 1995 -Tri: 2860 1995 1994 -Tri: 2856 2861 2855 -Tri: 1980 1983 2809 -Tri: 2020 2809 2862 -Tri: 2020 2862 2863 -Tri: 1980 2809 2020 -Tri: 1980 2020 1981 -Tri: 1983 1903 1997 -Tri: 1983 1997 2809 -Tri: 2814 2551 2076 -Tri: 2049 2691 2699 -Tri: 2049 2699 2667 -Tri: 2275 2691 2276 -Tri: 2667 2699 2677 -Tri: 2573 2569 2571 -Tri: 2573 2571 2864 -Tri: 2864 2571 2815 -Tri: 2864 2815 2865 -Tri: 2253 2570 2569 -Tri: 2253 2569 2572 -Tri: 1960 1956 1958 -Tri: 1960 1958 1949 -Tri: 2673 2683 2695 -Tri: 2673 2695 2694 -Tri: 2866 2502 2860 -Tri: 2866 2860 1994 -Tri: 2102 2801 2059 -Tri: 2102 2059 2140 -Tri: 2105 2800 2801 -Tri: 2105 2801 2102 -Tri: 1990 2866 1994 -Tri: 1990 1994 1993 -Tri: 1990 1993 2797 -Tri: 2043 2140 2059 -Tri: 2043 2059 2042 -Tri: 2061 2041 2040 -Tri: 2061 2040 2042 -Tri: 2799 1993 2800 -Tri: 2799 2800 2105 -Tri: 2797 1993 2798 -Tri: 2800 1993 1996 -Tri: 2800 1996 1995 -Tri: 1989 1988 2502 -Tri: 1990 1989 2502 -Tri: 1990 2502 2866 -Tri: 2809 2144 2867 -Tri: 2809 2867 2862 -Tri: 2868 2867 2144 -Tri: 2868 2144 2054 -Tri: 2868 2054 2803 -Tri: 2766 2741 2828 -Tri: 2766 2828 2767 -Tri: 1889 2869 2843 -Tri: 1889 2843 1890 -Tri: 2869 2870 2842 -Tri: 2869 2842 2843 -Tri: 2870 2871 2841 -Tri: 2870 2841 2842 -Tri: 2871 2840 2839 -Tri: 2871 2839 2841 -Tri: 2796 2839 2794 -Tri: 2796 2794 2044 -Tri: 2872 2617 2449 -Tri: 2872 2449 2873 -Tri: 2044 2794 1892 -Tri: 2044 1892 2045 -Tri: 2872 2874 2532 -Tri: 2872 2532 2617 -Tri: 2121 2451 2457 -Tri: 2121 2457 2122 -Tri: 1922 1921 2440 -Tri: 1922 2440 2439 -Tri: 1976 1979 1932 -Tri: 1976 1932 1946 -Tri: 2453 2452 2445 -Tri: 2453 2445 2875 -Tri: 2876 2455 2457 -Tri: 2876 2457 2484 -Tri: 2121 2468 2452 -Tri: 2121 2452 2451 -Tri: 2873 2449 2431 -Tri: 2873 2431 2877 -Tri: 2875 2445 2448 -Tri: 2875 2448 2878 -Tri: 1923 2436 2435 -Tri: 1923 2435 1924 -Tri: 2805 2437 2440 -Tri: 2805 2440 2475 -Tri: 2575 2443 2435 -Tri: 2575 2435 1909 -Tri: 2877 2431 2434 -Tri: 2877 2434 2879 -Tri: 2534 2533 2631 -Tri: 2534 2631 2558 -Tri: 1930 1929 1959 -Tri: 1930 1959 2880 -Tri: 2881 2880 1959 -Tri: 2881 1959 1948 -Tri: 2881 1948 1907 -Tri: 2881 1907 1908 -Tri: 1973 1976 1946 -Tri: 1973 1946 1914 -Tri: 1934 1933 1913 -Tri: 1934 1913 1916 -Tri: 1901 1900 1920 -Tri: 1901 1920 1919 -Tri: 1969 1899 1936 -Tri: 1969 1936 2826 -Tri: 1944 1933 1917 -Tri: 1944 1917 1955 -Tri: 1965 1929 1932 -Tri: 1965 1932 1979 -Tri: 2474 1921 1924 -Tri: 2474 1924 2444 -Tri: 1955 1917 1920 -Tri: 1955 1920 1941 -Tri: 1945 1973 1914 -Tri: 1945 1914 1913 -Tri: 2575 1909 1912 -Tri: 1950 2499 1891 -Tri: 1950 1891 1907 -Tri: 1969 1942 1900 -Tri: 1969 1900 1899 -Tri: 2499 2045 1892 -Tri: 2499 1892 1891 -Tri: 1990 1887 1890 -Tri: 1990 1890 1991 -Tri: 2559 2596 2833 -Tri: 2559 2833 2560 -Tri: 2882 2883 2884 -Tri: 2882 2884 2885 -Tri: 2886 2887 2888 -Tri: 2886 2888 2889 -Tri: 2890 2886 2889 -Tri: 2890 2889 2891 -Tri: 2887 2892 2893 -Tri: 2887 2893 2888 -Tri: 2894 2895 2892 -Tri: 2894 2892 2887 -Tri: 2896 2894 2886 -Tri: 2896 2886 2890 -Tri: 2896 2890 2897 -Tri: 2894 2887 2886 -Tri: 2898 2899 2883 -Tri: 2898 2883 2882 -Tri: 2811 2429 2428 -Tri: 2811 2428 2565 -Tri: 2073 2566 2428 -Tri: 2073 2428 2074 -Tri: 2071 2070 2075 -Tri: 2071 2075 2646 -Tri: 2526 2485 2503 -Tri: 2526 2503 2013 -Tri: 2631 2630 2900 -Tri: 2631 2900 2901 -Tri: 2659 2425 2836 -Tri: 2659 2836 2902 -Tri: 2558 2631 2901 -Tri: 2558 2901 2829 -Tri: 2874 2632 2533 -Tri: 2874 2533 2532 -Tri: 2472 2903 2491 -Tri: 2472 2491 2469 -Tri: 2833 2557 2556 -Tri: 2833 2556 2560 -Tri: 2557 2833 2832 -Tri: 2557 2832 2702 -Tri: 2530 2529 1880 -Tri: 2530 1880 1879 -Tri: 2427 2426 2490 -Tri: 2427 2490 2489 -Tri: 2561 1880 2529 -Tri: 2561 2529 2549 -Tri: 2385 2765 2367 -Tri: 2385 2367 2386 -Tri: 2786 2774 2769 -Tri: 2786 2769 2785 -Tri: 2786 2785 2763 -Tri: 2786 2763 2716 -Tri: 2554 2580 2582 -Tri: 2554 2582 2555 -Tri: 2610 2609 2505 -Tri: 2879 2434 2455 -Tri: 2879 2455 2876 -Tri: 2434 2433 2456 -Tri: 2434 2456 2455 -Tri: 2433 2610 2505 -Tri: 2433 2505 2456 -Tri: 2609 2825 2638 -Tri: 2609 2638 2505 -Tri: 2575 1912 2808 -Tri: 2575 2808 2022 -Tri: 2254 2253 2572 -Tri: 2382 2765 2781 -Tri: 2382 2781 2777 -Tri: 2904 2905 2906 -Tri: 2904 2906 2907 -Tri: 2908 2909 2910 -Tri: 2908 2910 2911 -Tri: 2912 2913 2914 -Tri: 2912 2914 2915 -Tri: 2916 2917 2918 -Tri: 2916 2918 2919 -Tri: 2920 2921 2922 -Tri: 2920 2922 2923 -Tri: 2915 2914 2924 -Tri: 2915 2924 2925 -Tri: 2919 2918 2926 -Tri: 2919 2926 2927 -Tri: 2923 2922 2928 -Tri: 2923 2928 2929 -Tri: 2925 2924 2930 -Tri: 2925 2930 2931 -Tri: 2927 2926 2932 -Tri: 2927 2932 2933 -Tri: 2929 2928 2934 -Tri: 2929 2934 2935 -Tri: 2931 2930 2936 -Tri: 2931 2936 2937 -Tri: 2933 2932 2938 -Tri: 2933 2938 2939 -Tri: 2940 2941 2942 -Tri: 2940 2942 2943 -Tri: 2935 2934 2944 -Tri: 2935 2944 2945 -Tri: 2937 2936 2946 -Tri: 2937 2946 2947 -Tri: 2939 2938 2941 -Tri: 2939 2941 2940 -Tri: 2943 2942 2908 -Tri: 2943 2908 2948 -Tri: 2945 2944 2949 -Tri: 2945 2949 2950 -Tri: 2947 2946 2951 -Tri: 2947 2951 2952 -Tri: 2948 2908 2911 -Tri: 2948 2911 2953 -Tri: 2950 2949 2954 -Tri: 2950 2954 2955 -Tri: 2952 2951 2956 -Tri: 2952 2956 2957 -Tri: 2953 2911 2913 -Tri: 2953 2913 2912 -Tri: 2955 2954 2917 -Tri: 2955 2917 2916 -Tri: 2957 2956 2958 -Tri: 2957 2958 2959 -Tri: 2960 2957 2959 -Tri: 2960 2959 2961 -Tri: 2962 2955 2916 -Tri: 2962 2916 2963 -Tri: 2964 2953 2912 -Tri: 2964 2912 2965 -Tri: 2966 2952 2957 -Tri: 2966 2957 2960 -Tri: 2967 2950 2955 -Tri: 2967 2955 2962 -Tri: 2968 2948 2953 -Tri: 2968 2953 2964 -Tri: 2969 2947 2952 -Tri: 2969 2952 2966 -Tri: 2970 2945 2950 -Tri: 2970 2950 2967 -Tri: 2971 2943 2948 -Tri: 2971 2948 2968 -Tri: 2972 2939 2940 -Tri: 2972 2940 2973 -Tri: 2974 2937 2947 -Tri: 2974 2947 2969 -Tri: 2975 2935 2945 -Tri: 2975 2945 2970 -Tri: 2973 2940 2943 -Tri: 2973 2943 2971 -Tri: 2976 2933 2939 -Tri: 2976 2939 2972 -Tri: 2977 2931 2937 -Tri: 2977 2937 2974 -Tri: 2978 2929 2935 -Tri: 2978 2935 2975 -Tri: 2979 2927 2933 -Tri: 2979 2933 2976 -Tri: 2980 2925 2931 -Tri: 2980 2931 2977 -Tri: 2981 2923 2929 -Tri: 2981 2929 2978 -Tri: 2982 2919 2927 -Tri: 2982 2927 2979 -Tri: 2983 2915 2925 -Tri: 2983 2925 2980 -Tri: 2984 2920 2923 -Tri: 2984 2923 2981 -Tri: 2963 2916 2919 -Tri: 2963 2919 2982 -Tri: 2965 2912 2915 -Tri: 2965 2915 2983 -Tri: 2985 2986 2987 -Tri: 2985 2987 2988 -Tri: 2949 2989 2990 -Tri: 2949 2990 2954 -Tri: 2951 2991 2992 -Tri: 2951 2992 2956 -Tri: 2911 2910 2993 -Tri: 2911 2993 2913 -Tri: 2954 2990 2994 -Tri: 2954 2994 2917 -Tri: 2956 2992 2995 -Tri: 2956 2995 2958 -Tri: 2913 2993 2996 -Tri: 2913 2996 2914 -Tri: 2917 2994 2997 -Tri: 2917 2997 2918 -Tri: 2921 2998 2999 -Tri: 2921 2999 2922 -Tri: 2914 2996 3000 -Tri: 2914 3000 2924 -Tri: 2918 2997 3001 -Tri: 2918 3001 2926 -Tri: 2922 2999 3002 -Tri: 2922 3002 2928 -Tri: 2924 3000 3003 -Tri: 2924 3003 2930 -Tri: 2926 3001 3004 -Tri: 2926 3004 2932 -Tri: 2928 3002 3005 -Tri: 2928 3005 2934 -Tri: 2930 3003 3006 -Tri: 2930 3006 2936 -Tri: 2932 3004 3007 -Tri: 2932 3007 2938 -Tri: 2941 3008 3009 -Tri: 2941 3009 2942 -Tri: 2934 3005 3010 -Tri: 2934 3010 2944 -Tri: 2936 3006 3011 -Tri: 2936 3011 2946 -Tri: 2938 3007 3008 -Tri: 2938 3008 2941 -Tri: 2942 3009 2909 -Tri: 2942 2909 2908 -Tri: 2944 3010 2989 -Tri: 2944 2989 2949 -Tri: 2946 3011 2991 -Tri: 2946 2991 2951 -Tri: 3012 3013 3014 -Tri: 3012 3014 3015 -Tri: 3016 3017 3018 -Tri: 3016 3018 3019 -Tri: 3020 3021 3022 -Tri: 3020 3022 3023 -Tri: 3024 2985 2988 -Tri: 3024 2988 3025 -Tri: 3026 3027 3028 -Tri: 3026 3028 3029 -Tri: 3030 3020 3023 -Tri: 3030 3023 3031 -Tri: 3032 3024 3025 -Tri: 3032 3025 3033 -Tri: 3034 3026 3029 -Tri: 3034 3029 3035 -Tri: 3036 3030 3031 -Tri: 3036 3031 3037 -Tri: 3038 3032 3033 -Tri: 3038 3033 3039 -Tri: 3040 3034 3035 -Tri: 3040 3035 3041 -Tri: 3003 3042 3043 -Tri: 3003 3043 3006 -Tri: 3044 3038 3039 -Tri: 3044 3039 3045 -Tri: 3046 3040 3041 -Tri: 3046 3041 3047 -Tri: 3013 3036 3037 -Tri: 3013 3037 3014 -Tri: 3048 3049 3050 -Tri: 3048 3050 3051 -Tri: 3052 3044 3045 -Tri: 3052 3045 3053 -Tri: 3054 3046 3047 -Tri: 3054 3047 3055 -Tri: 3056 3012 3015 -Tri: 3056 3015 3057 -Tri: 3008 3058 3059 -Tri: 3008 3059 3009 -Tri: 3060 3061 3062 -Tri: 3060 3062 3063 -Tri: 2986 3054 3055 -Tri: 2986 3055 2987 -Tri: 3056 3057 3018 -Tri: 3056 3018 3017 -Tri: 3021 3060 3063 -Tri: 3021 3063 3022 -Tri: 2992 3064 3065 -Tri: 2992 3065 2995 -Tri: 3004 3066 3067 -Tri: 3004 3067 3007 -Tri: 3005 3068 3069 -Tri: 3005 3069 3010 -Tri: 3006 3043 3070 -Tri: 3006 3070 3011 -Tri: 3061 3071 3072 -Tri: 3061 3072 3062 -Tri: 3009 3059 3073 -Tri: 3009 3073 2909 -Tri: 3010 3069 3074 -Tri: 3010 3074 2989 -Tri: 3011 3070 3075 -Tri: 3011 3075 2991 -Tri: 2909 3073 3076 -Tri: 2909 3076 2910 -Tri: 2989 3074 3077 -Tri: 2989 3077 2990 -Tri: 2991 3075 3064 -Tri: 2991 3064 2992 -Tri: 2910 3076 3078 -Tri: 2910 3078 2993 -Tri: 2990 3077 3079 -Tri: 2990 3079 2994 -Tri: 2993 3078 3080 -Tri: 2993 3080 2996 -Tri: 2994 3079 3081 -Tri: 2994 3081 2997 -Tri: 2998 3082 3083 -Tri: 2998 3083 2999 -Tri: 2996 3080 3084 -Tri: 2996 3084 3000 -Tri: 2997 3081 3085 -Tri: 2997 3085 3001 -Tri: 2999 3083 3086 -Tri: 2999 3086 3002 -Tri: 3000 3084 3042 -Tri: 3000 3042 3003 -Tri: 3001 3085 3066 -Tri: 3001 3066 3004 -Tri: 3002 3086 3068 -Tri: 3002 3068 3005 -Tri: 3033 3087 3088 -Tri: 3033 3088 3039 -Tri: 3089 3090 3091 -Tri: 3089 3091 3092 -Tri: 3035 3093 3094 -Tri: 3035 3094 3041 -Tri: 3037 3095 3096 -Tri: 3037 3096 3014 -Tri: 3039 3088 3097 -Tri: 3039 3097 3045 -Tri: 3053 3098 3099 -Tri: 3053 3099 3072 -Tri: 3041 3094 3100 -Tri: 3041 3100 3047 -Tri: 3014 3096 3101 -Tri: 3014 3101 3015 -Tri: 3045 3097 3098 -Tri: 3045 3098 3053 -Tri: 3072 3099 3102 -Tri: 3072 3102 3062 -Tri: 3047 3100 3103 -Tri: 3047 3103 3055 -Tri: 3015 3101 3104 -Tri: 3015 3104 3057 -Tri: 3062 3102 3105 -Tri: 3062 3105 3063 -Tri: 3055 3103 3106 -Tri: 3055 3106 2987 -Tri: 3057 3104 3107 -Tri: 3057 3107 3018 -Tri: 3063 3105 3108 -Tri: 3063 3108 3022 -Tri: 2987 3106 3109 -Tri: 2987 3109 2988 -Tri: 3018 3107 3110 -Tri: 3018 3110 3019 -Tri: 3022 3108 3111 -Tri: 3022 3111 3023 -Tri: 2988 3109 3112 -Tri: 2988 3112 3025 -Tri: 3028 3113 3114 -Tri: 3028 3114 3029 -Tri: 3023 3111 3115 -Tri: 3023 3115 3031 -Tri: 3025 3112 3087 -Tri: 3025 3087 3033 -Tri: 3029 3114 3093 -Tri: 3029 3093 3035 -Tri: 3031 3115 3095 -Tri: 3031 3095 3037 -Tri: 3116 2973 2971 -Tri: 3116 2971 3117 -Tri: 3117 2971 2968 -Tri: 3117 2968 3118 -Tri: 3118 2968 2964 -Tri: 3118 2964 2907 -Tri: 2907 2964 2965 -Tri: 2907 2965 2904 -Tri: 2904 2965 2983 -Tri: 2904 2983 3119 -Tri: 3119 2983 2980 -Tri: 3119 2980 3120 -Tri: 3120 2980 2977 -Tri: 3120 2977 3121 -Tri: 3121 2977 2974 -Tri: 3121 2974 3122 -Tri: 3122 2974 2969 -Tri: 3122 2969 3123 -Tri: 3123 2969 2966 -Tri: 3123 2966 3124 -Tri: 3124 2966 2960 -Tri: 3124 2960 3125 -Tri: 3125 2960 2961 -Tri: 3125 2961 3126 -Tri: 3127 2984 2981 -Tri: 3127 2981 3128 -Tri: 3128 2981 2978 -Tri: 3128 2978 3129 -Tri: 3129 2978 2975 -Tri: 3129 2975 3130 -Tri: 3130 2975 2970 -Tri: 3130 2970 3131 -Tri: 3131 2970 2967 -Tri: 3131 2967 3132 -Tri: 3132 2967 2962 -Tri: 3132 2962 3133 -Tri: 3133 2962 2963 -Tri: 3133 2963 3134 -Tri: 3134 2963 2982 -Tri: 3134 2982 3135 -Tri: 3135 2982 2979 -Tri: 3135 2979 3136 -Tri: 3136 2979 2976 -Tri: 3136 2976 3137 -Tri: 3137 2976 2972 -Tri: 3137 2972 3138 -Tri: 3138 2972 2973 -Tri: 3138 2973 3116 -Tri: 3139 3140 3141 -Tri: 3139 3141 3142 -Tri: 3143 3144 3145 -Tri: 3143 3145 3146 -Tri: 2907 2906 3147 -Tri: 2907 3147 3118 -Tri: 3118 3148 3149 -Tri: 3118 3149 3117 -Tri: 3132 3150 3151 -Tri: 3132 3151 3131 -Tri: 3152 3153 3154 -Tri: 3152 3154 3155 -Tri: 3131 3156 3157 -Tri: 3131 3157 3130 -Tri: 3155 3154 3158 -Tri: 3155 3158 3137 -Tri: 3125 3159 3160 -Tri: 3125 3160 3124 -Tri: 3161 3162 3153 -Tri: 3161 3153 3152 -Tri: 3130 3157 3163 -Tri: 3130 3163 3129 -Tri: 3160 3164 3165 -Tri: 3160 3165 3124 -Tri: 3119 3166 3167 -Tri: 3119 3167 2904 -Tri: 3135 3161 3168 -Tri: 3135 3168 3134 -Tri: 3169 3170 3171 -Tri: 3169 3171 3172 -Tri: 3172 3171 3173 -Tri: 3172 3173 3121 -Tri: 3117 3174 3175 -Tri: 3117 3175 3116 -Tri: 3129 3176 3177 -Tri: 3129 3177 3128 -Tri: 3132 3178 3179 -Tri: 3132 3179 3150 -Tri: 3166 3180 3170 -Tri: 3166 3170 3169 -Tri: 3129 3163 3181 -Tri: 3129 3181 3176 -Tri: 3122 3143 3172 -Tri: 3122 3172 3121 -Tri: 3138 3182 3155 -Tri: 3138 3155 3137 -Tri: 3183 3184 3185 -Tri: 3183 3185 3168 -Tri: 3186 3099 3098 -Tri: 3186 3098 3187 -Tri: 3188 3102 3099 -Tri: 3188 3099 3186 -Tri: 3189 3105 3102 -Tri: 3189 3102 3188 -Tri: 3190 3108 3105 -Tri: 3190 3105 3189 -Tri: 3191 3111 3108 -Tri: 3191 3108 3190 -Tri: 3192 3115 3111 -Tri: 3192 3111 3191 -Tri: 3193 3095 3115 -Tri: 3193 3115 3192 -Tri: 3194 3096 3095 -Tri: 3194 3095 3193 -Tri: 3195 3101 3096 -Tri: 3195 3096 3194 -Tri: 3196 3104 3101 -Tri: 3196 3101 3195 -Tri: 3089 3107 3104 -Tri: 3089 3104 3196 -Tri: 3092 3110 3107 -Tri: 3092 3107 3089 -Tri: 3197 3114 3113 -Tri: 3197 3113 3198 -Tri: 3199 3093 3114 -Tri: 3199 3114 3197 -Tri: 3200 3094 3093 -Tri: 3200 3093 3199 -Tri: 3201 3100 3094 -Tri: 3201 3094 3200 -Tri: 3202 3103 3100 -Tri: 3202 3100 3201 -Tri: 3203 3106 3103 -Tri: 3203 3103 3202 -Tri: 3204 3109 3106 -Tri: 3204 3106 3203 -Tri: 3205 3112 3109 -Tri: 3205 3109 3204 -Tri: 3206 3087 3112 -Tri: 3206 3112 3205 -Tri: 3207 3088 3087 -Tri: 3207 3087 3206 -Tri: 3208 3097 3088 -Tri: 3208 3088 3207 -Tri: 3187 3098 3097 -Tri: 3187 3097 3208 -Tri: 3209 3210 3211 -Tri: 3209 3211 3212 -Tri: 3190 3213 3214 -Tri: 3190 3214 3191 -Tri: 3204 3215 3216 -Tri: 3204 3216 3205 -Tri: 3198 3217 3218 -Tri: 3198 3218 3197 -Tri: 3191 3214 3219 -Tri: 3191 3219 3192 -Tri: 3205 3216 3220 -Tri: 3205 3220 3206 -Tri: 3197 3218 3221 -Tri: 3197 3221 3199 -Tri: 3192 3219 3222 -Tri: 3192 3222 3193 -Tri: 3206 3220 3223 -Tri: 3206 3223 3207 -Tri: 3199 3221 3224 -Tri: 3199 3224 3200 -Tri: 3193 3222 3225 -Tri: 3193 3225 3194 -Tri: 3207 3223 3226 -Tri: 3207 3226 3208 -Tri: 3187 3227 3228 -Tri: 3187 3228 3186 -Tri: 3200 3224 3229 -Tri: 3200 3229 3201 -Tri: 3194 3225 3230 -Tri: 3194 3230 3195 -Tri: 3208 3226 3227 -Tri: 3208 3227 3187 -Tri: 3186 3228 3231 -Tri: 3186 3231 3188 -Tri: 3201 3229 3232 -Tri: 3201 3232 3202 -Tri: 3195 3230 3233 -Tri: 3195 3233 3196 -Tri: 3188 3231 3234 -Tri: 3188 3234 3189 -Tri: 3202 3232 3235 -Tri: 3202 3235 3203 -Tri: 3196 3233 3090 -Tri: 3196 3090 3089 -Tri: 3189 3234 3213 -Tri: 3189 3213 3190 -Tri: 3203 3235 3215 -Tri: 3203 3215 3204 -Tri: 3236 3237 3149 -Tri: 3236 3149 3238 -Tri: 3238 3149 3148 -Tri: 3238 3148 3239 -Tri: 3239 3148 3240 -Tri: 3239 3240 3241 -Tri: 3241 3240 3167 -Tri: 3241 3167 3242 -Tri: 3242 3167 3166 -Tri: 3242 3166 3243 -Tri: 3243 3166 3169 -Tri: 3243 3169 3244 -Tri: 3244 3169 3172 -Tri: 3244 3172 3245 -Tri: 3245 3172 3143 -Tri: 3245 3143 3246 -Tri: 3246 3143 3146 -Tri: 3246 3146 3247 -Tri: 3247 3146 3160 -Tri: 3247 3160 3248 -Tri: 3248 3160 3159 -Tri: 3248 3159 3249 -Tri: 3249 3159 3250 -Tri: 3249 3250 3142 -Tri: 3142 3251 3177 -Tri: 3142 3177 3139 -Tri: 3139 3177 3176 -Tri: 3139 3176 3252 -Tri: 3252 3176 3253 -Tri: 3252 3253 3254 -Tri: 3254 3253 3151 -Tri: 3254 3151 3255 -Tri: 3255 3151 3150 -Tri: 3255 3150 3256 -Tri: 3256 3150 3183 -Tri: 3256 3183 3257 -Tri: 3257 3183 3168 -Tri: 3257 3168 3258 -Tri: 3258 3168 3161 -Tri: 3258 3161 3259 -Tri: 3259 3161 3152 -Tri: 3259 3152 3260 -Tri: 3260 3152 3155 -Tri: 3260 3155 3261 -Tri: 3261 3155 3182 -Tri: 3261 3182 3262 -Tri: 3262 3182 3237 -Tri: 3262 3237 3236 -Tri: 3263 3264 3265 -Tri: 3263 3265 3266 -Tri: 3244 3267 3268 -Tri: 3244 3268 3243 -Tri: 3260 3269 3270 -Tri: 3260 3270 3259 -Tri: 3252 3271 3140 -Tri: 3252 3140 3139 -Tri: 3245 3272 3267 -Tri: 3245 3267 3244 -Tri: 3261 3273 3269 -Tri: 3261 3269 3260 -Tri: 3254 3274 3271 -Tri: 3254 3271 3252 -Tri: 3246 3275 3272 -Tri: 3246 3272 3245 -Tri: 3262 3276 3273 -Tri: 3262 3273 3261 -Tri: 3238 3277 3278 -Tri: 3238 3278 3236 -Tri: 3255 3279 3274 -Tri: 3255 3274 3254 -Tri: 3247 3280 3275 -Tri: 3247 3275 3246 -Tri: 3236 3278 3276 -Tri: 3236 3276 3262 -Tri: 3239 3281 3277 -Tri: 3239 3277 3238 -Tri: 3256 3282 3279 -Tri: 3256 3279 3255 -Tri: 3248 3283 3280 -Tri: 3248 3280 3247 -Tri: 3241 3284 3281 -Tri: 3241 3281 3239 -Tri: 3257 3285 3282 -Tri: 3257 3282 3256 -Tri: 3249 3286 3283 -Tri: 3249 3283 3248 -Tri: 3242 3287 3284 -Tri: 3242 3284 3241 -Tri: 3258 3288 3285 -Tri: 3258 3285 3257 -Tri: 3142 3141 3286 -Tri: 3142 3286 3249 -Tri: 3243 3268 3287 -Tri: 3243 3287 3242 -Tri: 3259 3270 3288 -Tri: 3259 3288 3258 -Tri: 3156 3289 3290 -Tri: 3156 3290 3157 -Tri: 3291 3145 3144 -Tri: 3291 3144 3292 -Tri: 3175 3293 3294 -Tri: 3175 3294 3295 -Tri: 3165 3164 3145 -Tri: 3165 3145 3291 -Tri: 2906 3296 3297 -Tri: 2906 3297 3147 -Tri: 3298 3184 3179 -Tri: 3298 3179 3178 -Tri: 2905 3299 3296 -Tri: 2905 3296 2906 -Tri: 3300 3185 3184 -Tri: 3300 3184 3298 -Tri: 3301 3302 3303 -Tri: 3301 3303 3304 -Tri: 3305 3306 3307 -Tri: 3305 3307 3308 -Tri: 3309 3170 3180 -Tri: 3309 3180 3310 -Tri: 3311 3153 3162 -Tri: 3311 3162 3312 -Tri: 3173 3171 3170 -Tri: 3173 3170 3309 -Tri: 3158 3154 3153 -Tri: 3158 3153 3311 -Tri: 3157 3290 3181 -Tri: 3157 3181 3163 -Tri: 3174 3313 3293 -Tri: 3174 3293 3175 -Tri: 3146 3145 3164 -Tri: 3146 3164 3160 -Tri: 3125 3304 3303 -Tri: 3125 3303 3159 -Tri: 3133 3298 3178 -Tri: 3133 3178 3132 -Tri: 3182 3294 3293 -Tri: 3182 3293 3237 -Tri: 3167 3299 2905 -Tri: 3167 2905 2904 -Tri: 3134 3300 3298 -Tri: 3134 3298 3133 -Tri: 3120 3309 3310 -Tri: 3120 3310 3119 -Tri: 3159 3303 3302 -Tri: 3159 3302 3250 -Tri: 3168 3185 3300 -Tri: 3168 3300 3134 -Tri: 3151 3289 3156 -Tri: 3151 3156 3131 -Tri: 3121 3173 3309 -Tri: 3121 3309 3120 -Tri: 3251 3307 3306 -Tri: 3251 3306 3177 -Tri: 3136 3311 3312 -Tri: 3136 3312 3135 -Tri: 3122 3292 3144 -Tri: 3122 3144 3143 -Tri: 3119 3310 3180 -Tri: 3119 3180 3166 -Tri: 3137 3158 3311 -Tri: 3137 3311 3136 -Tri: 3237 3293 3313 -Tri: 3237 3313 3149 -Tri: 3123 3291 3292 -Tri: 3123 3292 3122 -Tri: 3176 3181 3290 -Tri: 3176 3290 3253 -Tri: 3135 3312 3162 -Tri: 3135 3162 3161 -Tri: 3138 3295 3294 -Tri: 3138 3294 3182 -Tri: 3124 3165 3291 -Tri: 3124 3291 3123 -Tri: 3253 3290 3289 -Tri: 3253 3289 3151 -Tri: 3177 3306 3305 -Tri: 3177 3305 3128 -Tri: 3116 3175 3295 -Tri: 3116 3295 3138 -Tri: 3148 3297 3296 -Tri: 3148 3296 3240 -Tri: 3240 3296 3299 -Tri: 3240 3299 3167 -Tri: 3149 3313 3174 -Tri: 3149 3174 3117 -Tri: 3126 3301 3304 -Tri: 3126 3304 3125 -Tri: 3150 3179 3184 -Tri: 3150 3184 3183 -Tri: 3118 3147 3297 -Tri: 3118 3297 3148 -Tri: 3128 3305 3308 -Tri: 3128 3308 3127 -Tri: 3314 3315 3316 -Tri: 3314 3316 3317 -Tri: 3318 3319 3320 -Tri: 3318 3320 3321 -Tri: 3322 3323 3324 -Tri: 3322 3324 3325 -Tri: 3326 3327 3328 -Tri: 3326 3328 3329 -Tri: 3321 3320 3264 -Tri: 3321 3264 3263 -Tri: 3330 3331 3319 -Tri: 3330 3319 3318 -Tri: 3332 3333 3323 -Tri: 3332 3323 3322 -Tri: 3334 3335 3327 -Tri: 3334 3327 3326 -Tri: 3336 3337 3331 -Tri: 3336 3331 3330 -Tri: 3338 3339 3333 -Tri: 3338 3333 3332 -Tri: 3340 3341 3335 -Tri: 3340 3335 3334 -Tri: 3342 3343 3337 -Tri: 3342 3337 3336 -Tri: 3344 3345 3339 -Tri: 3344 3339 3338 -Tri: 3346 3347 3341 -Tri: 3346 3341 3340 -Tri: 3348 3349 3343 -Tri: 3348 3343 3342 -Tri: 3350 3351 3345 -Tri: 3350 3345 3344 -Tri: 3352 3353 3347 -Tri: 3352 3347 3346 -Tri: 3354 3355 3349 -Tri: 3354 3349 3348 -Tri: 3356 3357 3351 -Tri: 3356 3351 3350 -Tri: 3358 3359 3353 -Tri: 3358 3353 3352 -Tri: 3360 3361 3355 -Tri: 3360 3355 3354 -Tri: 3266 3265 3357 -Tri: 3266 3357 3356 -Tri: 3325 3324 3359 -Tri: 3325 3359 3358 -Tri: 3329 3328 3361 -Tri: 3329 3361 3360 -Tri: 3362 3320 3319 -Tri: 3362 3319 3363 -Tri: 3363 3319 3331 -Tri: 3363 3331 3364 -Tri: 3364 3331 3337 -Tri: 3364 3337 3365 -Tri: 3365 3337 3343 -Tri: 3365 3343 3366 -Tri: 3366 3343 3349 -Tri: 3366 3349 3367 -Tri: 3367 3349 3355 -Tri: 3367 3355 3368 -Tri: 3368 3355 3361 -Tri: 3368 3361 3369 -Tri: 3369 3361 3328 -Tri: 3369 3328 3370 -Tri: 3370 3328 3327 -Tri: 3370 3327 3317 -Tri: 3317 3327 3335 -Tri: 3317 3335 3314 -Tri: 3314 3335 3341 -Tri: 3314 3341 3371 -Tri: 3371 3341 3347 -Tri: 3371 3347 3372 -Tri: 3372 3347 3353 -Tri: 3372 3353 3373 -Tri: 3373 3353 3359 -Tri: 3373 3359 3374 -Tri: 3374 3359 3324 -Tri: 3374 3324 3375 -Tri: 3375 3324 3323 -Tri: 3375 3323 3376 -Tri: 3376 3323 3333 -Tri: 3376 3333 3377 -Tri: 3377 3333 3339 -Tri: 3377 3339 3378 -Tri: 3378 3339 3345 -Tri: 3378 3345 3379 -Tri: 3379 3345 3351 -Tri: 3379 3351 3380 -Tri: 3380 3351 3357 -Tri: 3380 3357 3381 -Tri: 3381 3357 3265 -Tri: 3381 3265 3382 -Tri: 3382 3265 3264 -Tri: 3382 3264 3383 -Tri: 3383 3264 3320 -Tri: 3383 3320 3362 -Tri: 3384 3385 3386 -Tri: 3384 3386 3387 -Tri: 3365 3388 3389 -Tri: 3365 3389 3364 -Tri: 3378 3390 3391 -Tri: 3378 3391 3377 -Tri: 3371 3392 3315 -Tri: 3371 3315 3314 -Tri: 3366 3393 3388 -Tri: 3366 3388 3365 -Tri: 3379 3394 3390 -Tri: 3379 3390 3378 -Tri: 3372 3395 3392 -Tri: 3372 3392 3371 -Tri: 3367 3396 3393 -Tri: 3367 3393 3366 -Tri: 3380 3397 3394 -Tri: 3380 3394 3379 -Tri: 3373 3398 3395 -Tri: 3373 3395 3372 -Tri: 3368 3399 3396 -Tri: 3368 3396 3367 -Tri: 3381 3400 3397 -Tri: 3381 3397 3380 -Tri: 3374 3401 3398 -Tri: 3374 3398 3373 -Tri: 3369 3402 3399 -Tri: 3369 3399 3368 -Tri: 3382 3403 3400 -Tri: 3382 3400 3381 -Tri: 3375 3404 3401 -Tri: 3375 3401 3374 -Tri: 3370 3405 3402 -Tri: 3370 3402 3369 -Tri: 3383 3406 3403 -Tri: 3383 3403 3382 -Tri: 3363 3407 3408 -Tri: 3363 3408 3362 -Tri: 3376 3409 3404 -Tri: 3376 3404 3375 -Tri: 3317 3316 3405 -Tri: 3317 3405 3370 -Tri: 3362 3408 3406 -Tri: 3362 3406 3383 -Tri: 3364 3389 3407 -Tri: 3364 3407 3363 -Tri: 3377 3391 3409 -Tri: 3377 3409 3376 -Tri: 3410 3408 3407 -Tri: 3410 3407 3411 -Tri: 3411 3407 3389 -Tri: 3411 3389 3412 -Tri: 3412 3389 3388 -Tri: 3412 3388 3413 -Tri: 3413 3388 3393 -Tri: 3413 3393 3414 -Tri: 3414 3393 3396 -Tri: 3414 3396 3415 -Tri: 3415 3396 3399 -Tri: 3415 3399 3416 -Tri: 3416 3399 3402 -Tri: 3416 3402 3417 -Tri: 3417 3402 3405 -Tri: 3417 3405 3418 -Tri: 3418 3405 3316 -Tri: 3418 3316 3419 -Tri: 3419 3316 3315 -Tri: 3419 3315 3420 -Tri: 3420 3315 3392 -Tri: 3420 3392 3421 -Tri: 3421 3392 3395 -Tri: 3421 3395 3422 -Tri: 3422 3395 3398 -Tri: 3422 3398 3423 -Tri: 3423 3398 3401 -Tri: 3423 3401 3424 -Tri: 3424 3401 3404 -Tri: 3424 3404 3425 -Tri: 3425 3404 3409 -Tri: 3425 3409 3387 -Tri: 3387 3409 3391 -Tri: 3387 3391 3384 -Tri: 3384 3391 3390 -Tri: 3384 3390 3426 -Tri: 3426 3390 3394 -Tri: 3426 3394 3427 -Tri: 3427 3394 3397 -Tri: 3427 3397 3428 -Tri: 3428 3397 3400 -Tri: 3428 3400 3429 -Tri: 3429 3400 3403 -Tri: 3429 3403 3430 -Tri: 3430 3403 3406 -Tri: 3430 3406 3431 -Tri: 3431 3406 3408 -Tri: 3431 3408 3410 -Tri: 3432 3433 3434 -Tri: 3432 3434 3435 -Tri: 3432 3435 3436 -Tri: 3432 3436 3437 -Tri: 3432 3437 3438 -Tri: 3432 3438 3439 -Tri: 3432 3439 3440 -Tri: 3432 3440 3441 -Tri: 3432 3441 3442 -Tri: 3432 3442 3443 -Tri: 3432 3443 3444 -Tri: 3432 3444 3445 -Tri: 3432 3445 3446 -Tri: 3432 3446 3447 -Tri: 3432 3447 3448 -Tri: 3432 3448 3449 -Tri: 3432 3449 3450 -Tri: 3432 3450 3451 -Tri: 3432 3451 3452 -Tri: 3432 3452 3453 -Tri: 3432 3453 3454 -Tri: 3432 3454 3455 -Tri: 3420 3456 3457 -Tri: 3420 3457 3419 -Tri: 3413 3458 3459 -Tri: 3413 3459 3412 -Tri: 3426 3460 3385 -Tri: 3426 3385 3384 -Tri: 3421 3461 3456 -Tri: 3421 3456 3420 -Tri: 3414 3462 3458 -Tri: 3414 3458 3413 -Tri: 3427 3463 3460 -Tri: 3427 3460 3426 -Tri: 3422 3464 3461 -Tri: 3422 3461 3421 -Tri: 3415 3465 3462 -Tri: 3415 3462 3414 -Tri: 3428 3466 3463 -Tri: 3428 3463 3427 -Tri: 3423 3467 3464 -Tri: 3423 3464 3422 -Tri: 3416 3468 3465 -Tri: 3416 3465 3415 -Tri: 3429 3469 3466 -Tri: 3429 3466 3428 -Tri: 3424 3470 3467 -Tri: 3424 3467 3423 -Tri: 3417 3471 3468 -Tri: 3417 3468 3416 -Tri: 3430 3472 3469 -Tri: 3430 3469 3429 -Tri: 3425 3473 3470 -Tri: 3425 3470 3424 -Tri: 3418 3474 3471 -Tri: 3418 3471 3417 -Tri: 3431 3475 3472 -Tri: 3431 3472 3430 -Tri: 3411 3476 3477 -Tri: 3411 3477 3410 -Tri: 3387 3386 3473 -Tri: 3387 3473 3425 -Tri: 3419 3457 3474 -Tri: 3419 3474 3418 -Tri: 3410 3477 3475 -Tri: 3410 3475 3431 -Tri: 3412 3459 3476 -Tri: 3412 3476 3411 -Tri: 3478 3479 3480 -Tri: 3478 3480 3481 -Tri: 3482 3483 3479 -Tri: 3482 3479 3478 -Tri: 3484 3485 3483 -Tri: 3484 3483 3482 -Tri: 3486 3487 3485 -Tri: 3486 3485 3484 -Tri: 3209 3488 3487 -Tri: 3209 3487 3486 -Tri: 3212 3489 3488 -Tri: 3212 3488 3209 -Tri: 3490 3491 3489 -Tri: 3490 3489 3212 -Tri: 3492 3493 3491 -Tri: 3492 3491 3490 -Tri: 3494 3495 3493 -Tri: 3494 3493 3492 -Tri: 3496 3497 3495 -Tri: 3496 3495 3494 -Tri: 3498 3499 3497 -Tri: 3498 3497 3496 -Tri: 3500 3501 3499 -Tri: 3500 3499 3498 -Tri: 3502 3503 3504 -Tri: 3502 3504 3505 -Tri: 3506 3507 3503 -Tri: 3506 3503 3502 -Tri: 3508 3509 3507 -Tri: 3508 3507 3506 -Tri: 3510 3511 3509 -Tri: 3510 3509 3508 -Tri: 3512 3513 3511 -Tri: 3512 3511 3510 -Tri: 3514 3515 3513 -Tri: 3514 3513 3512 -Tri: 3516 3517 3515 -Tri: 3516 3515 3514 -Tri: 3518 3519 3517 -Tri: 3518 3517 3516 -Tri: 3520 3521 3519 -Tri: 3520 3519 3518 -Tri: 3522 3523 3521 -Tri: 3522 3521 3520 -Tri: 3524 3525 3523 -Tri: 3524 3523 3522 -Tri: 3481 3480 3525 -Tri: 3481 3525 3524 -Tri: 3524 3526 3527 -Tri: 3524 3527 3481 -Tri: 3518 3528 3529 -Tri: 3518 3529 3520 -Tri: 3502 3530 3531 -Tri: 3502 3531 3506 -Tri: 3212 3211 3532 -Tri: 3212 3532 3490 -Tri: 3520 3529 3533 -Tri: 3520 3533 3522 -Tri: 3506 3531 3534 -Tri: 3506 3534 3508 -Tri: 3490 3532 3535 -Tri: 3490 3535 3492 -Tri: 3522 3533 3526 -Tri: 3522 3526 3524 -Tri: 3508 3534 3536 -Tri: 3508 3536 3510 -Tri: 3492 3535 3537 -Tri: 3492 3537 3494 -Tri: 3538 3539 3540 -Tri: 3538 3540 3541 -Tri: 3510 3536 3542 -Tri: 3510 3542 3512 -Tri: 3494 3537 3543 -Tri: 3494 3543 3496 -Tri: 3478 3544 3545 -Tri: 3478 3545 3482 -Tri: 3482 3545 3546 -Tri: 3482 3546 3484 -Tri: 3512 3542 3547 -Tri: 3512 3547 3514 -Tri: 3496 3543 3548 -Tri: 3496 3548 3498 -Tri: 3484 3546 3549 -Tri: 3484 3549 3486 -Tri: 3514 3547 3550 -Tri: 3514 3550 3516 -Tri: 3498 3548 3551 -Tri: 3498 3551 3500 -Tri: 3486 3549 3210 -Tri: 3486 3210 3209 -Tri: 3516 3550 3528 -Tri: 3516 3528 3518 -Tri: 3505 3552 3530 -Tri: 3505 3530 3502 -Tri: 3527 3553 3554 -Tri: 3527 3554 3544 -Tri: 3553 3555 3556 -Tri: 3553 3556 3554 -Tri: 3555 3557 3558 -Tri: 3555 3558 3556 -Tri: 3544 3554 3559 -Tri: 3544 3559 3545 -Tri: 3554 3556 3560 -Tri: 3554 3560 3559 -Tri: 3556 3558 3561 -Tri: 3556 3561 3560 -Tri: 3545 3559 3562 -Tri: 3545 3562 3546 -Tri: 3559 3560 3563 -Tri: 3559 3563 3562 -Tri: 3560 3561 3564 -Tri: 3560 3564 3563 -Tri: 3546 3562 3565 -Tri: 3546 3565 3549 -Tri: 3562 3563 3566 -Tri: 3562 3566 3565 -Tri: 3563 3564 3540 -Tri: 3563 3540 3566 -Tri: 3549 3565 3567 -Tri: 3549 3567 3210 -Tri: 3565 3566 3568 -Tri: 3565 3568 3567 -Tri: 3566 3540 3539 -Tri: 3566 3539 3568 -Tri: 3210 3567 3569 -Tri: 3210 3569 3211 -Tri: 3567 3568 3570 -Tri: 3567 3570 3569 -Tri: 3568 3539 3538 -Tri: 3568 3538 3570 -Tri: 3211 3569 3571 -Tri: 3211 3571 3532 -Tri: 3569 3570 3572 -Tri: 3569 3572 3571 -Tri: 3570 3538 3573 -Tri: 3570 3573 3572 -Tri: 3532 3571 3574 -Tri: 3532 3574 3535 -Tri: 3571 3572 3575 -Tri: 3571 3575 3574 -Tri: 3572 3573 3576 -Tri: 3572 3576 3575 -Tri: 3535 3574 3577 -Tri: 3535 3577 3537 -Tri: 3574 3575 3578 -Tri: 3574 3578 3577 -Tri: 3575 3576 3579 -Tri: 3575 3579 3578 -Tri: 3537 3577 3580 -Tri: 3537 3580 3543 -Tri: 3577 3578 3581 -Tri: 3577 3581 3580 -Tri: 3578 3579 3582 -Tri: 3578 3582 3581 -Tri: 3543 3580 3583 -Tri: 3543 3583 3548 -Tri: 3580 3581 3584 -Tri: 3580 3584 3583 -Tri: 3581 3582 3585 -Tri: 3581 3585 3584 -Tri: 3548 3583 3586 -Tri: 3548 3586 3551 -Tri: 3583 3584 3587 -Tri: 3583 3587 3586 -Tri: 3584 3585 3588 -Tri: 3584 3588 3587 -Tri: 3552 3589 3590 -Tri: 3552 3590 3530 -Tri: 3589 3591 3592 -Tri: 3589 3592 3590 -Tri: 3591 3588 3593 -Tri: 3591 3593 3592 -Tri: 3530 3590 3594 -Tri: 3530 3594 3531 -Tri: 3590 3592 3595 -Tri: 3590 3595 3594 -Tri: 3592 3593 3596 -Tri: 3592 3596 3595 -Tri: 3531 3594 3597 -Tri: 3531 3597 3534 -Tri: 3594 3595 3598 -Tri: 3594 3598 3597 -Tri: 3595 3596 3599 -Tri: 3595 3599 3598 -Tri: 3534 3597 3600 -Tri: 3534 3600 3536 -Tri: 3597 3598 3601 -Tri: 3597 3601 3600 -Tri: 3598 3599 3602 -Tri: 3598 3602 3601 -Tri: 3536 3600 3603 -Tri: 3536 3603 3542 -Tri: 3600 3601 3604 -Tri: 3600 3604 3603 -Tri: 3601 3602 3605 -Tri: 3601 3605 3604 -Tri: 3542 3603 3606 -Tri: 3542 3606 3547 -Tri: 3603 3604 3607 -Tri: 3603 3607 3606 -Tri: 3604 3605 3608 -Tri: 3604 3608 3607 -Tri: 3547 3606 3609 -Tri: 3547 3609 3550 -Tri: 3606 3607 3610 -Tri: 3606 3610 3609 -Tri: 3607 3608 3611 -Tri: 3607 3611 3610 -Tri: 3550 3609 3612 -Tri: 3550 3612 3528 -Tri: 3609 3610 3613 -Tri: 3609 3613 3612 -Tri: 3610 3611 3614 -Tri: 3610 3614 3613 -Tri: 3528 3612 3615 -Tri: 3528 3615 3529 -Tri: 3612 3613 3616 -Tri: 3612 3616 3615 -Tri: 3613 3614 3617 -Tri: 3613 3617 3616 -Tri: 3529 3615 3618 -Tri: 3529 3618 3533 -Tri: 3615 3616 3619 -Tri: 3615 3619 3618 -Tri: 3616 3617 3620 -Tri: 3616 3620 3619 -Tri: 3533 3618 3621 -Tri: 3533 3621 3526 -Tri: 3618 3619 3622 -Tri: 3618 3622 3621 -Tri: 3619 3620 3623 -Tri: 3619 3623 3622 -Tri: 3526 3621 3553 -Tri: 3526 3553 3527 -Tri: 3621 3622 3555 -Tri: 3621 3555 3553 -Tri: 3622 3623 3557 -Tri: 3622 3557 3555 -Tri: 3481 3527 3544 -Tri: 3481 3544 3478 -Tri: 3007 3067 3058 -Tri: 3007 3058 3008 -Tri: 3541 3540 3564 -Tri: 3541 3564 3624 -Tri: 3624 3564 3561 -Tri: 3624 3561 3625 -Tri: 3625 3561 3558 -Tri: 3625 3558 3626 -Tri: 3626 3558 3557 -Tri: 3626 3557 3627 -Tri: 3627 3557 3623 -Tri: 3627 3623 3620 -Tri: 3573 3538 3541 -Tri: 3573 3541 3628 -Tri: 3628 3541 3624 -Tri: 3628 3624 3629 -Tri: 3629 3624 3625 -Tri: 3629 3625 3630 -Tri: 3630 3625 3626 -Tri: 3630 3626 3631 -Tri: 3631 3626 3627 -Tri: 3631 3627 3632 -Tri: 3632 3627 3620 -Tri: 3632 3620 3617 -Tri: 3576 3573 3628 -Tri: 3576 3628 3633 -Tri: 3633 3628 3629 -Tri: 3633 3629 3634 -Tri: 3634 3629 3630 -Tri: 3634 3630 3635 -Tri: 3635 3630 3631 -Tri: 3635 3631 3636 -Tri: 3636 3631 3632 -Tri: 3636 3632 3637 -Tri: 3637 3632 3617 -Tri: 3637 3617 3614 -Tri: 3579 3576 3633 -Tri: 3579 3633 3638 -Tri: 3638 3633 3634 -Tri: 3638 3634 3639 -Tri: 3639 3634 3635 -Tri: 3639 3635 3640 -Tri: 3640 3635 3636 -Tri: 3640 3636 3641 -Tri: 3641 3636 3637 -Tri: 3641 3637 3642 -Tri: 3642 3637 3614 -Tri: 3642 3614 3611 -Tri: 3582 3579 3638 -Tri: 3582 3638 3643 -Tri: 3643 3638 3639 -Tri: 3643 3639 3644 -Tri: 3644 3639 3640 -Tri: 3644 3640 3645 -Tri: 3645 3640 3641 -Tri: 3645 3641 3646 -Tri: 3646 3641 3642 -Tri: 3646 3642 3647 -Tri: 3647 3642 3611 -Tri: 3647 3611 3608 -Tri: 3585 3582 3643 -Tri: 3585 3643 3588 -Tri: 3588 3643 3644 -Tri: 3588 3644 3593 -Tri: 3593 3644 3645 -Tri: 3593 3645 3596 -Tri: 3596 3645 3646 -Tri: 3596 3646 3599 -Tri: 3599 3646 3647 -Tri: 3599 3647 3602 -Tri: 3602 3647 3608 -Tri: 3602 3608 3605 -Tri: 3012 3648 3649 -Tri: 3012 3649 3013 -Tri: 3066 3650 3651 -Tri: 3066 3651 3067 -Tri: 3083 3652 3653 -Tri: 3083 3653 3086 -Tri: 3078 3654 3655 -Tri: 3078 3655 3080 -Tri: 3038 3656 3657 -Tri: 3038 3657 3032 -Tri: 3026 3658 3659 -Tri: 3026 3659 3027 -Tri: 3021 3660 3661 -Tri: 3021 3661 3060 -Tri: 3074 3662 3663 -Tri: 3074 3663 3077 -Tri: 3043 3664 3665 -Tri: 3043 3665 3070 -Tri: 3054 3666 3667 -Tri: 3054 3667 3046 -Tri: 3013 3649 3668 -Tri: 3013 3668 3036 -Tri: 3085 3669 3650 -Tri: 3085 3650 3066 -Tri: 3082 3670 3652 -Tri: 3082 3652 3083 -Tri: 3076 3671 3654 -Tri: 3076 3654 3078 -Tri: 3032 3657 3672 -Tri: 3032 3672 3024 -Tri: 3016 3673 3674 -Tri: 3016 3674 3017 -Tri: 3060 3661 3675 -Tri: 3060 3675 3061 -Tri: 3069 3676 3662 -Tri: 3069 3662 3074 -Tri: 3042 3677 3664 -Tri: 3042 3664 3043 -Tri: 3046 3667 3678 -Tri: 3046 3678 3040 -Tri: 3036 3668 3679 -Tri: 3036 3679 3030 -Tri: 3081 3680 3669 -Tri: 3081 3669 3085 -Tri: 3064 3681 3682 -Tri: 3064 3682 3065 -Tri: 3073 3683 3671 -Tri: 3073 3671 3076 -Tri: 3071 3052 3053 -Tri: 3071 3053 3072 -Tri: 3051 3050 3684 -Tri: 3051 3684 3685 -Tri: 3685 3684 3686 -Tri: 3685 3686 3687 -Tri: 3687 3686 3688 -Tri: 3687 3688 3689 -Tri: 3689 3688 3690 -Tri: 3689 3690 3691 -Tri: 3691 3690 3692 -Tri: 3691 3692 3693 -Tri: 3693 3692 3694 -Tri: 3693 3694 3695 -Tri: 3695 3694 3696 -Tri: 3695 3696 3697 -Tri: 3697 3696 3698 -Tri: 3697 3698 3699 -Tri: 3699 3698 3700 -Tri: 3699 3700 3701 -Tri: 3701 3700 3702 -Tri: 3701 3702 3703 -Tri: 3703 3702 3704 -Tri: 3703 3704 3705 -Tri: 3706 3707 3708 -Tri: 3706 3708 3709 -Tri: 3709 3708 3710 -Tri: 3709 3710 3711 -Tri: 3711 3710 3712 -Tri: 3711 3712 3713 -Tri: 3713 3712 3714 -Tri: 3713 3714 3715 -Tri: 3715 3714 3716 -Tri: 3715 3716 3717 -Tri: 3717 3716 3718 -Tri: 3717 3718 3719 -Tri: 3719 3718 3720 -Tri: 3719 3720 3721 -Tri: 3721 3720 3722 -Tri: 3721 3722 3723 -Tri: 3723 3722 3724 -Tri: 3723 3724 3725 -Tri: 3725 3724 3726 -Tri: 3725 3726 3727 -Tri: 3727 3726 3728 -Tri: 3727 3728 3729 -Tri: 3729 3728 3049 -Tri: 3729 3049 3048 -Tri: 2986 3730 3666 -Tri: 2986 3666 3054 -Tri: 3058 3731 3732 -Tri: 3058 3732 3059 -Tri: 3070 3665 3733 -Tri: 3070 3733 3075 -Tri: 3077 3663 3734 -Tri: 3077 3734 3079 -Tri: 3020 3735 3660 -Tri: 3020 3660 3021 -Tri: 3034 3736 3658 -Tri: 3034 3658 3026 -Tri: 3044 3737 3656 -Tri: 3044 3656 3038 -Tri: 3080 3655 3738 -Tri: 3080 3738 3084 -Tri: 3086 3653 3739 -Tri: 3086 3739 3068 -Tri: 3067 3651 3731 -Tri: 3067 3731 3058 -Tri: 3071 3740 3741 -Tri: 3071 3741 3052 -Tri: 3056 3742 3648 -Tri: 3056 3648 3012 -Tri: 2985 3743 3730 -Tri: 2985 3730 2986 -Tri: 3052 3741 3737 -Tri: 3052 3737 3044 -Tri: 3059 3732 3683 -Tri: 3059 3683 3073 -Tri: 3075 3733 3681 -Tri: 3075 3681 3064 -Tri: 3079 3734 3680 -Tri: 3079 3680 3081 -Tri: 3030 3679 3735 -Tri: 3030 3735 3020 -Tri: 3040 3678 3736 -Tri: 3040 3736 3034 -Tri: 3084 3738 3677 -Tri: 3084 3677 3042 -Tri: 3068 3739 3676 -Tri: 3068 3676 3069 -Tri: 3061 3675 3740 -Tri: 3061 3740 3071 -Tri: 3017 3674 3742 -Tri: 3017 3742 3056 -Tri: 3024 3672 3743 -Tri: 3024 3743 2985 -Tri: 3744 3745 3746 -Tri: 3744 3746 3747 -Tri: 3748 3749 3750 -Tri: 3748 3750 3751 -Tri: 3752 3753 3754 -Tri: 3752 3754 3755 -Tri: 3756 3757 1889 -Tri: 3756 1889 1888 -Tri: 3758 1894 1893 -Tri: 3758 1893 3759 -Tri: 3760 3761 1897 -Tri: 3760 1897 1896 -Tri: 3762 1902 1901 -Tri: 3762 1901 3763 -Tri: 1904 3764 3765 -Tri: 1904 3765 1905 -Tri: 3766 1908 1894 -Tri: 3766 1894 3758 -Tri: 3767 3768 1911 -Tri: 3767 1911 1910 -Tri: 3769 1916 1915 -Tri: 3769 1915 3770 -Tri: 3771 3772 1919 -Tri: 3771 1919 1918 -Tri: 1905 3765 3760 -Tri: 1905 3760 1896 -Tri: 3773 3774 1923 -Tri: 3773 1923 1922 -Tri: 3775 3776 3777 -Tri: 3775 3777 3778 -Tri: 3779 3780 1931 -Tri: 3779 1931 1930 -Tri: 3781 3771 1918 -Tri: 3781 1918 1934 -Tri: 3762 3782 1935 -Tri: 3762 1935 1902 -Tri: 1937 1940 3783 -Tri: 1937 3783 3784 -Tri: 3776 3785 3786 -Tri: 3776 3786 3787 -Tri: 3763 3772 3787 -Tri: 3763 3787 3786 -Tri: 3781 3769 3788 -Tri: 3781 3788 3789 -Tri: 3770 1915 1947 -Tri: 3770 1947 3790 -Tri: 3791 3766 3792 -Tri: 3791 3792 3793 -Tri: 3794 3795 3796 -Tri: 3794 3796 3797 -Tri: 3798 3777 3776 -Tri: 3798 3776 3787 -Tri: 3799 3800 3793 -Tri: 3799 3793 3801 -Tri: 3791 3793 3802 -Tri: 3791 3802 3803 -Tri: 3804 3805 3806 -Tri: 3804 3806 3807 -Tri: 3779 3803 3802 -Tri: 3779 3802 3808 -Tri: 3809 3810 3811 -Tri: 3785 3812 3813 -Tri: 3785 3813 3786 -Tri: 3814 3815 3778 -Tri: 3814 3778 3777 -Tri: 3816 3817 3818 -Tri: 3816 3818 3788 -Tri: 3819 3820 3821 -Tri: 3819 3821 3822 -Tri: 3823 3824 3825 -Tri: 3823 3825 3826 -Tri: 3827 3828 3811 -Tri: 3827 3811 3810 -Tri: 3820 3808 3829 -Tri: 3820 3829 3821 -Tri: 3801 3793 3792 -Tri: 3801 3792 3830 -Tri: 3831 3832 3833 -Tri: 3831 3833 3834 -Tri: 3831 3834 3835 -Tri: 3836 3837 3838 -Tri: 3836 3838 3839 -Tri: 3840 3760 3765 -Tri: 3840 3765 3764 -Tri: 3841 3842 3843 -Tri: 3841 3843 3844 -Tri: 3845 3846 3847 -Tri: 3845 3847 3848 -Tri: 3844 3849 3850 -Tri: 3844 3850 3841 -Tri: 3804 3850 3849 -Tri: 3804 3849 3805 -Tri: 3799 3801 3851 -Tri: 3799 3851 3852 -Tri: 3838 3853 3854 -Tri: 3838 3854 3855 -Tri: 3856 3857 3858 -Tri: 3856 3858 3859 -Tri: 3860 3861 3862 -Tri: 3826 3863 3864 -Tri: 3811 3828 3865 -Tri: 3866 3846 3845 -Tri: 3866 3845 3867 -Tri: 3868 3869 3870 -Tri: 3868 3870 3871 -Tri: 3872 3873 3827 -Tri: 3872 3827 3874 -Tri: 3875 3876 3877 -Tri: 3875 3877 3866 -Tri: 3878 3827 3810 -Tri: 3872 3879 3880 -Tri: 3868 3871 3881 -Tri: 3868 3881 3882 -Tri: 3868 3882 3883 -Tri: 3868 3883 3884 -Tri: 3868 3884 3851 -Tri: 3868 3851 3801 -Tri: 3885 3886 3883 -Tri: 3885 3883 3882 -Tri: 3887 3888 3889 -Tri: 3887 3889 3890 -Tri: 3891 3753 3752 -Tri: 3891 3752 3892 -Tri: 3891 3892 3893 -Tri: 3894 3895 3896 -Tri: 3897 3761 3760 -Tri: 3897 3760 3840 -Tri: 3898 3899 3900 -Tri: 3898 3900 3901 -Tri: 3885 3902 3903 -Tri: 3885 3903 3904 -Tri: 3905 3906 3907 -Tri: 3905 3907 3908 -Tri: 3909 3910 3911 -Tri: 3909 3911 3912 -Tri: 3913 3914 3915 -Tri: 3916 3913 3917 -Tri: 3916 3917 3918 -Tri: 3919 3920 3921 -Tri: 3919 3921 3922 -Tri: 3873 3923 3828 -Tri: 3873 3828 3827 -Tri: 3908 3907 3755 -Tri: 3924 3925 3926 -Tri: 3924 3926 3927 -Tri: 3928 3920 3919 -Tri: 3928 3919 3929 -Tri: 3930 3931 3928 -Tri: 3930 3928 3932 -Tri: 3933 3932 3928 -Tri: 3933 3928 3929 -Tri: 3930 3932 3934 -Tri: 3930 3934 3935 -Tri: 3878 3876 3875 -Tri: 3878 3875 3874 -Tri: 3936 3937 3841 -Tri: 3936 3841 3850 -Tri: 3900 3938 3939 -Tri: 3900 3939 3901 -Tri: 3940 3941 3942 -Tri: 3940 3942 3943 -Tri: 3944 3945 3946 -Tri: 3944 3946 3947 -Tri: 3948 3949 3950 -Tri: 3948 3950 3951 -Tri: 3951 3921 3952 -Tri: 3953 3954 3955 -Tri: 3953 3955 3956 -Tri: 3957 3958 3959 -Tri: 3957 3959 3960 -Tri: 3866 3867 3879 -Tri: 3866 3879 3875 -Tri: 3961 3962 3963 -Tri: 3961 3963 3964 -Tri: 3965 3842 3966 -Tri: 3965 3966 3967 -Tri: 3968 3969 3939 -Tri: 3968 3939 3970 -Tri: 3971 3899 3898 -Tri: 3971 3898 3972 -Tri: 3973 3974 3899 -Tri: 3973 3899 3971 -Tri: 3958 3975 3976 -Tri: 3958 3976 3959 -Tri: 3940 3943 3977 -Tri: 3940 3977 3976 -Tri: 3940 3976 3975 -Tri: 3940 3975 3978 -Tri: 3979 3980 3947 -Tri: 3979 3947 3981 -Tri: 3906 3982 3752 -Tri: 3906 3752 3907 -Tri: 3983 3984 3950 -Tri: 3983 3950 3949 -Tri: 3897 3840 3985 -Tri: 3986 3987 3931 -Tri: 3986 3931 3988 -Tri: 3989 3988 3931 -Tri: 3989 3931 3930 -Tri: 3990 3991 3992 -Tri: 3990 3992 3993 -Tri: 3994 3995 3996 -Tri: 3994 3996 3997 -Tri: 3994 3997 3998 -Tri: 3999 4000 4001 -Tri: 3999 4001 4002 -Tri: 4003 3968 3970 -Tri: 4003 3970 4004 -Tri: 4005 3970 3939 -Tri: 4005 3939 3938 -Tri: 3909 3796 3910 -Tri: 4006 4007 4008 -Tri: 3969 3968 3994 -Tri: 3969 3994 4009 -Tri: 3901 3939 3969 -Tri: 3901 3969 4010 -Tri: 3797 3942 3941 -Tri: 3797 3941 3794 -Tri: 3909 3912 3942 -Tri: 3909 3942 3797 -Tri: 3989 3930 3935 -Tri: 3989 3935 4011 -Tri: 4012 4013 4014 -Tri: 4012 4014 4015 -Tri: 4016 4017 4018 -Tri: 4016 4018 4019 -Tri: 4020 4021 4022 -Tri: 4020 4022 4023 -Tri: 4024 4025 4026 -Tri: 4024 4026 4027 -Tri: 3996 4002 4001 -Tri: 3996 3995 4003 -Tri: 3996 4003 4028 -Tri: 3850 3804 3992 -Tri: 3850 3992 3936 -Tri: 3994 3998 4029 -Tri: 3994 4029 4009 -Tri: 4030 3910 3796 -Tri: 4030 3796 3983 -Tri: 4007 4031 4032 -Tri: 4007 4032 4008 -Tri: 4033 4034 3991 -Tri: 4033 3991 4035 -Tri: 3883 3886 4036 -Tri: 3883 4036 3884 -Tri: 4000 4037 4038 -Tri: 4000 4038 4039 -Tri: 4005 4040 4004 -Tri: 4005 4004 3970 -Tri: 4041 3948 4042 -Tri: 4041 4042 4043 -Tri: 4044 3989 4011 -Tri: 4044 4011 4045 -Tri: 4044 4046 3988 -Tri: 4044 3988 3989 -Tri: 3953 3997 3996 -Tri: 3953 3996 4001 -Tri: 3953 4001 3954 -Tri: 4047 4048 4049 -Tri: 4047 4049 4050 -Tri: 4042 3987 3986 -Tri: 4042 3986 4043 -Tri: 3889 3888 4051 -Tri: 3889 4051 4052 -Tri: 3986 4053 4054 -Tri: 3986 4054 4043 -Tri: 4029 3806 3898 -Tri: 4029 3898 3901 -Tri: 4029 3901 4010 -Tri: 4029 4010 4009 -Tri: 4055 3949 3948 -Tri: 4055 3948 4041 -Tri: 4021 3966 3937 -Tri: 4021 3937 4022 -Tri: 4038 3955 3954 -Tri: 4038 3954 4039 -Tri: 4056 4057 4040 -Tri: 4056 4040 4005 -Tri: 4058 4030 4055 -Tri: 4058 4055 4059 -Tri: 4053 4046 4060 -Tri: 4061 3900 4049 -Tri: 4061 4049 4048 -Tri: 4030 3983 3949 -Tri: 4030 3949 4055 -Tri: 4062 4063 4064 -Tri: 4062 4064 4054 -Tri: 3938 3900 4061 -Tri: 3938 4061 4065 -Tri: 4066 4067 3974 -Tri: 4066 3974 3973 -Tri: 4066 3973 3960 -Tri: 4068 3990 3953 -Tri: 4068 3953 3956 -Tri: 4068 3956 4069 -Tri: 3990 3993 3997 -Tri: 3990 3997 3953 -Tri: 4070 4071 4004 -Tri: 4070 4004 4040 -Tri: 4072 4073 4074 -Tri: 4075 3977 4076 -Tri: 4075 4076 4077 -Tri: 4078 4079 4038 -Tri: 4078 4038 4080 -Tri: 4081 4082 4083 -Tri: 4081 4083 4084 -Tri: 4085 4086 4082 -Tri: 4085 4082 3911 -Tri: 4087 4059 4064 -Tri: 4087 4064 4063 -Tri: 3936 3992 3991 -Tri: 3936 3991 4034 -Tri: 4072 4057 4056 -Tri: 4072 4056 4088 -Tri: 4089 4090 4050 -Tri: 4089 4050 4091 -Tri: 4049 3974 4067 -Tri: 4049 4067 4092 -Tri: 3943 4076 3977 -Tri: 3955 4093 3956 -Tri: 4094 4095 4096 -Tri: 4094 4096 4097 -Tri: 4073 4098 4074 -Tri: 4099 4100 4101 -Tri: 4099 4101 4102 -Tri: 4091 4050 4049 -Tri: 4091 4049 4092 -Tri: 4103 4104 4105 -Tri: 4103 4105 4106 -Tri: 4107 4108 4087 -Tri: 3900 3899 3974 -Tri: 3900 3974 4049 -Tri: 3959 3976 4103 -Tri: 3959 4103 4106 -Tri: 3911 3910 4030 -Tri: 3911 4030 4058 -Tri: 3976 4075 4109 -Tri: 3976 4109 4103 -Tri: 3971 3972 3957 -Tri: 3971 3957 3960 -Tri: 3971 3960 3973 -Tri: 4084 4083 4110 -Tri: 4084 4110 4111 -Tri: 4091 4112 4113 -Tri: 4091 4113 4089 -Tri: 4114 4083 4082 -Tri: 4114 4082 4086 -Tri: 4115 4116 4117 -Tri: 4058 4059 4087 -Tri: 4058 4087 4108 -Tri: 4118 4119 4120 -Tri: 4121 4122 4123 -Tri: 4124 4125 4126 -Tri: 4124 4126 4127 -Tri: 3818 3817 4128 -Tri: 3818 4128 4129 -Tri: 4091 4092 4067 -Tri: 4091 4067 4130 -Tri: 4091 4130 4112 -Tri: 4112 4130 4131 -Tri: 4112 4131 4132 -Tri: 4110 4126 4125 -Tri: 4133 4134 4135 -Tri: 4133 4135 4136 -Tri: 4119 4118 4137 -Tri: 4119 4137 4138 -Tri: 4106 4066 3960 -Tri: 4106 3960 3959 -Tri: 4082 4081 3912 -Tri: 4082 3912 3911 -Tri: 4139 4124 4140 -Tri: 4106 4105 4141 -Tri: 4106 4141 4066 -Tri: 4105 4104 4142 -Tri: 4105 4142 4143 -Tri: 4103 4109 4104 -Tri: 4144 4145 4146 -Tri: 4144 4146 4147 -Tri: 4071 4148 4149 -Tri: 4071 4149 4150 -Tri: 4131 4130 4141 -Tri: 4131 4141 4151 -Tri: 4143 4151 4141 -Tri: 4143 4141 4105 -Tri: 4152 4114 4086 -Tri: 4152 4086 4153 -Tri: 4154 4155 4156 -Tri: 4154 4156 4157 -Tri: 4119 4158 4120 -Tri: 4159 4160 4161 -Tri: 4159 4161 4162 -Tri: 4163 4164 4165 -Tri: 4163 4165 4166 -Tri: 4167 4168 4169 -Tri: 4167 4169 4140 -Tri: 4167 4140 4170 -Tri: 4127 4171 4167 -Tri: 4127 4167 4170 -Tri: 4172 4173 4174 -Tri: 4165 4164 4143 -Tri: 4165 4143 4142 -Tri: 4175 4176 4177 -Tri: 4175 4177 4171 -Tri: 4168 4178 4179 -Tri: 4180 4167 4171 -Tri: 4180 4171 4177 -Tri: 4181 4182 4183 -Tri: 4181 4183 4184 -Tri: 4177 4185 4186 -Tri: 4177 4186 4187 -Tri: 4177 4187 4180 -Tri: 4188 4186 4185 -Tri: 4188 4185 4173 -Tri: 4188 4173 4172 -Tri: 4189 4190 4191 -Tri: 4189 4191 4192 -Tri: 4178 4180 4187 -Tri: 4161 4193 4194 -Tri: 4195 4196 4197 -Tri: 4195 4197 4198 -Tri: 4142 4104 4199 -Tri: 4142 4199 4145 -Tri: 4200 4168 4179 -Tri: 4200 4179 4201 -Tri: 4164 4202 4151 -Tri: 4164 4151 4143 -Tri: 4201 4179 4203 -Tri: 4201 4203 4204 -Tri: 4205 4203 4187 -Tri: 4205 4187 4186 -Tri: 4206 4204 4205 -Tri: 4206 4205 4207 -Tri: 4131 4181 4184 -Tri: 4131 4184 4132 -Tri: 4204 4203 4205 -Tri: 4208 4209 4210 -Tri: 4208 4210 4211 -Tri: 4189 4212 4213 -Tri: 4189 4213 4214 -Tri: 4189 4214 4190 -Tri: 4178 4168 4167 -Tri: 4178 4167 4180 -Tri: 4215 4200 4201 -Tri: 4215 4201 4216 -Tri: 4217 4218 4219 -Tri: 4220 4221 4219 -Tri: 4220 4219 4147 -Tri: 4220 4147 4146 -Tri: 4220 4146 4169 -Tri: 4222 4202 4164 -Tri: 4222 4164 4163 -Tri: 4211 4223 4208 -Tri: 4224 4217 4215 -Tri: 4224 4215 4216 -Tri: 4225 4226 4227 -Tri: 4228 4229 4230 -Tri: 4228 4230 4231 -Tri: 4232 4233 4182 -Tri: 4232 4182 4222 -Tri: 4234 4163 4166 -Tri: 4235 4230 4229 -Tri: 4236 4237 4238 -Tri: 4236 4238 4239 -Tri: 4236 4239 4240 -Tri: 4206 4228 4231 -Tri: 4206 4231 4204 -Tri: 4241 4242 4243 -Tri: 4241 4243 4244 -Tri: 4241 4244 4214 -Tri: 4241 4214 4213 -Tri: 4184 4245 4246 -Tri: 4184 4246 4132 -Tri: 4183 4182 4233 -Tri: 4232 4222 4163 -Tri: 4232 4163 4234 -Tri: 4144 4165 4142 -Tri: 4144 4142 4145 -Tri: 4181 4131 4151 -Tri: 4181 4151 4202 -Tri: 4183 4233 4247 -Tri: 4183 4247 4248 -Tri: 4183 4248 4249 -Tri: 4250 4251 4252 -Tri: 4250 4252 4253 -Tri: 4232 4234 4254 -Tri: 4232 4254 4252 -Tri: 4255 4256 4257 -Tri: 4255 4257 4258 -Tri: 4259 4166 4165 -Tri: 4259 4165 4144 -Tri: 4260 4254 4234 -Tri: 4260 4234 4261 -Tri: 4253 4252 4254 -Tri: 4253 4254 4262 -Tri: 4260 4263 4258 -Tri: 4260 4258 4264 -Tri: 4265 4266 4267 -Tri: 4265 4267 4268 -Tri: 3918 4269 4270 -Tri: 3918 4270 4271 -Tri: 4272 4273 4274 -Tri: 4272 4274 4275 -Tri: 3767 1910 2436 -Tri: 3767 2436 4276 -Tri: 4277 4278 2439 -Tri: 4277 2439 2438 -Tri: 4279 3785 3776 -Tri: 4279 3776 3775 -Tri: 4279 3775 4280 -Tri: 3774 4281 4282 -Tri: 3774 4282 4276 -Tri: 4283 4284 4285 -Tri: 4283 4285 4286 -Tri: 4287 4272 4275 -Tri: 4287 4275 4288 -Tri: 4289 2454 2453 -Tri: 4289 2453 4290 -Tri: 4291 4292 3963 -Tri: 4291 3963 4293 -Tri: 4294 4295 4296 -Tri: 4294 4296 4297 -Tri: 4298 4299 2464 -Tri: 4298 2464 2463 -Tri: 3783 1940 2464 -Tri: 3783 2464 4299 -Tri: 3902 4300 4301 -Tri: 3902 4301 3903 -Tri: 4290 4283 4286 -Tri: 4290 4286 4302 -Tri: 4303 4304 2471 -Tri: 4303 2471 2470 -Tri: 3790 1947 1931 -Tri: 3790 1931 3780 -Tri: 3812 3785 4279 -Tri: 3812 4279 4305 -Tri: 3773 4278 4306 -Tri: 3773 4306 4307 -Tri: 4308 4309 4310 -Tri: 4034 4022 3937 -Tri: 4034 3937 3936 -Tri: 4311 4307 4306 -Tri: 4311 4306 4309 -Tri: 3866 3877 3846 -Tri: 4312 4313 4314 -Tri: 4312 4314 4315 -Tri: 3848 4016 3845 -Tri: 3789 3814 3777 -Tri: 3789 3777 3798 -Tri: 4129 3815 3814 -Tri: 4129 3814 3818 -Tri: 3818 3814 3789 -Tri: 3818 3789 3788 -Tri: 4312 4315 3961 -Tri: 4312 3961 3964 -Tri: 4289 4292 2484 -Tri: 4289 2484 2454 -Tri: 4269 4316 4298 -Tri: 4269 4298 4270 -Tri: 3862 3861 4317 -Tri: 3863 3826 3825 -Tri: 3861 3783 4299 -Tri: 3861 4299 4318 -Tri: 3784 3783 3861 -Tri: 3861 3860 3784 -Tri: 3847 3846 3877 -Tri: 3847 3877 4311 -Tri: 3847 4311 4309 -Tri: 3817 3822 4319 -Tri: 3817 4319 4128 -Tri: 3822 3817 3816 -Tri: 3822 3816 3819 -Tri: 4320 4321 4303 -Tri: 4320 4303 4322 -Tri: 3859 3858 4323 -Tri: 3859 4323 4317 -Tri: 4016 3848 4324 -Tri: 4016 4324 4325 -Tri: 3874 3875 3879 -Tri: 3874 3879 3872 -Tri: 4286 4285 4326 -Tri: 4286 4326 4327 -Tri: 4319 3822 3821 -Tri: 4319 3821 4328 -Tri: 3821 3829 4329 -Tri: 3821 4329 4328 -Tri: 4330 4331 3830 -Tri: 4330 3830 3792 -Tri: 3890 3889 4331 -Tri: 3890 4331 4330 -Tri: 3894 3913 3916 -Tri: 3831 4332 4333 -Tri: 4316 4334 4299 -Tri: 4316 4299 4298 -Tri: 4318 4317 3861 -Tri: 4335 4326 4285 -Tri: 4313 4312 3964 -Tri: 4313 3964 4302 -Tri: 4336 4293 3963 -Tri: 4336 3963 3962 -Tri: 4337 4300 3902 -Tri: 4337 3902 3881 -Tri: 3888 4338 4339 -Tri: 3888 4339 4051 -Tri: 3747 4340 4341 -Tri: 3747 4341 4342 -Tri: 4343 4344 4345 -Tri: 4343 4345 4346 -Tri: 4347 4348 4349 -Tri: 4347 4349 4350 -Tri: 3831 4333 4349 -Tri: 3831 4349 4348 -Tri: 4351 3832 3831 -Tri: 4351 3831 4348 -Tri: 4334 3856 3859 -Tri: 4334 3859 4318 -Tri: 4334 4318 4299 -Tri: 3859 4317 4318 -Tri: 4352 4353 4354 -Tri: 4347 4355 4351 -Tri: 4347 4351 4348 -Tri: 3857 3856 4356 -Tri: 3857 4356 4357 -Tri: 4042 3948 3951 -Tri: 4042 3951 3952 -Tri: 3828 3923 4358 -Tri: 3828 4358 4359 -Tri: 3799 3852 4329 -Tri: 3799 4329 3829 -Tri: 3871 3870 4337 -Tri: 3871 4337 3881 -Tri: 3906 3905 4360 -Tri: 3906 4360 4361 -Tri: 4362 4356 4316 -Tri: 4362 4316 4269 -Tri: 3913 3894 3896 -Tri: 3913 3896 3914 -Tri: 4019 3867 3845 -Tri: 4019 3845 4016 -Tri: 4363 4364 4365 -Tri: 4363 4365 4366 -Tri: 3853 3903 4301 -Tri: 3853 4301 3854 -Tri: 3894 4367 3895 -Tri: 3752 3982 4368 -Tri: 3752 4368 4369 -Tri: 4370 4371 4372 -Tri: 4370 4372 4373 -Tri: 4356 4362 4374 -Tri: 4356 4374 4357 -Tri: 3921 3920 3987 -Tri: 3921 3987 3952 -Tri: 4375 4358 3923 -Tri: 4375 3923 4376 -Tri: 3961 4315 4377 -Tri: 3961 4377 4378 -Tri: 3847 4379 4324 -Tri: 3847 4324 3848 -Tri: 3808 3802 3799 -Tri: 3808 3799 3829 -Tri: 3906 4361 4380 -Tri: 3906 4380 3982 -Tri: 3944 3947 3980 -Tri: 3982 4380 4381 -Tri: 3982 4381 4368 -Tri: 4382 4383 3927 -Tri: 3874 3827 3878 -Tri: 4326 4384 4385 -Tri: 4326 4385 4327 -Tri: 4386 4387 4388 -Tri: 4386 4388 4389 -Tri: 4365 4390 4391 -Tri: 4365 4391 4392 -Tri: 4393 3751 3750 -Tri: 4393 3750 4394 -Tri: 4267 4322 2564 -Tri: 4267 2564 2563 -Tri: 2565 2567 4395 -Tri: 2565 4395 4271 -Tri: 4396 4372 3925 -Tri: 4396 3925 3924 -Tri: 4397 4398 4382 -Tri: 4397 4382 4399 -Tri: 4400 4401 4402 -Tri: 4400 4402 4397 -Tri: 4282 3811 3865 -Tri: 4282 3865 4403 -Tri: 4378 4377 4404 -Tri: 4378 4404 4405 -Tri: 4375 4376 4406 -Tri: 4375 4406 4407 -Tri: 4009 4010 3969 -Tri: 4408 4409 4386 -Tri: 4410 4288 4275 -Tri: 4410 4275 4411 -Tri: 3750 4295 4412 -Tri: 3750 4412 4394 -Tri: 4413 4381 4414 -Tri: 3907 3752 3755 -Tri: 3984 3983 3796 -Tri: 3984 3796 3795 -Tri: 3880 4406 4376 -Tri: 3880 4376 3872 -Tri: 4385 4415 4416 -Tri: 4385 4416 4314 -Tri: 4407 4406 4018 -Tri: 4407 4018 4417 -Tri: 3872 4376 3923 -Tri: 3872 3923 3873 -Tri: 4418 4415 4419 -Tri: 4415 4418 4420 -Tri: 4415 4420 4416 -Tri: 4017 4421 4417 -Tri: 4017 4417 4018 -Tri: 4422 4391 4423 -Tri: 4422 4423 4424 -Tri: 3796 3909 3797 -Tri: 3926 4425 4399 -Tri: 3926 4399 4382 -Tri: 3926 4382 3927 -Tri: 4019 4018 4406 -Tri: 4019 4406 3880 -Tri: 4384 4419 4415 -Tri: 4384 4415 4385 -Tri: 4327 4385 4314 -Tri: 4327 4314 4313 -Tri: 4314 4416 4377 -Tri: 4314 4377 4315 -Tri: 4426 4427 4008 -Tri: 4426 4008 4032 -Tri: 4428 4429 4430 -Tri: 4428 4430 4431 -Tri: 4427 4426 4432 -Tri: 4427 4432 4429 -Tri: 4364 4388 4390 -Tri: 4364 4390 4365 -Tri: 3744 4433 4393 -Tri: 3744 4393 4394 -Tri: 4434 3754 3753 -Tri: 4434 3753 4373 -Tri: 4427 4429 4428 -Tri: 4427 4428 4435 -Tri: 4429 4432 4149 -Tri: 4429 4149 4430 -Tri: 4411 4436 4437 -Tri: 4411 4437 4438 -Tri: 4439 4389 4388 -Tri: 4439 4388 4364 -Tri: 4434 4373 4372 -Tri: 4434 4372 4396 -Tri: 4025 4024 3962 -Tri: 4025 3962 3961 -Tri: 4025 3961 4378 -Tri: 4440 4032 4031 -Tri: 4426 4441 4442 -Tri: 4426 4442 4432 -Tri: 4432 4442 4443 -Tri: 4432 4443 4150 -Tri: 4432 4150 4149 -Tri: 4148 4444 4430 -Tri: 4148 4430 4149 -Tri: 4445 4439 4364 -Tri: 4445 4364 4363 -Tri: 4342 4414 4381 -Tri: 4342 4381 4433 -Tri: 4369 4368 4381 -Tri: 4369 4381 4413 -Tri: 4446 4425 3926 -Tri: 4016 4447 4017 -Tri: 4002 3996 4028 -Tri: 4002 4028 4443 -Tri: 4032 4440 4441 -Tri: 4032 4441 4426 -Tri: 4448 4431 4430 -Tri: 4448 4430 4444 -Tri: 3999 4442 4441 -Tri: 3999 4441 4449 -Tri: 4438 4450 4451 -Tri: 4438 4451 4408 -Tri: 4452 4453 4424 -Tri: 4452 4424 4423 -Tri: 4454 4455 4456 -Tri: 4454 4456 4457 -Tri: 2630 2632 4366 -Tri: 2630 4366 4458 -Tri: 4393 4433 4381 -Tri: 4393 4381 4380 -Tri: 3986 3988 4046 -Tri: 3986 4046 4053 -Tri: 4459 4460 4031 -Tri: 4459 4031 4007 -Tri: 4459 4007 4006 -Tri: 4150 4443 4028 -Tri: 4150 4028 4003 -Tri: 4065 4056 4005 -Tri: 4065 4005 3938 -Tri: 4410 4411 4438 -Tri: 4410 4438 4408 -Tri: 3746 4461 4340 -Tri: 3746 4340 3747 -Tri: 3753 3891 4370 -Tri: 3753 4370 4373 -Tri: 4462 3925 4372 -Tri: 4462 4372 4371 -Tri: 4045 4463 4044 -Tri: 4024 4464 4336 -Tri: 4024 4336 3962 -Tri: 4369 3892 3752 -Tri: 4465 4466 4371 -Tri: 4465 4371 4370 -Tri: 4467 4401 4400 -Tri: 4467 4400 4468 -Tri: 4020 4469 3967 -Tri: 4020 3967 3966 -Tri: 4020 3966 4021 -Tri: 4449 4440 4470 -Tri: 4449 4470 4037 -Tri: 4440 4031 4460 -Tri: 4440 4460 4470 -Tri: 4148 4070 4057 -Tri: 4148 4057 4471 -Tri: 3745 3744 4394 -Tri: 3745 4394 4412 -Tri: 4472 4374 4362 -Tri: 4472 4362 3917 -Tri: 4473 4474 4475 -Tri: 4006 4008 4427 -Tri: 4006 4427 4435 -Tri: 4070 4148 4071 -Tri: 3745 4412 4476 -Tri: 3745 4476 4456 -Tri: 4477 4461 3746 -Tri: 4477 3746 4455 -Tri: 4468 4400 4097 -Tri: 3999 4449 4037 -Tri: 3999 4037 4000 -Tri: 4071 4150 4003 -Tri: 4071 4003 4004 -Tri: 4057 4070 4040 -Tri: 4448 4444 4478 -Tri: 4448 4478 4479 -Tri: 4047 4088 4056 -Tri: 4047 4056 4065 -Tri: 4433 3744 3747 -Tri: 4433 3747 4342 -Tri: 4447 4016 4325 -Tri: 4447 4325 4480 -Tri: 4447 4480 4481 -Tri: 4482 4483 4460 -Tri: 4482 4460 4459 -Tri: 4037 4470 4080 -Tri: 4037 4080 4038 -Tri: 4442 3999 4002 -Tri: 4442 4002 4443 -Tri: 4120 4484 4102 -Tri: 4120 4102 4118 -Tri: 4322 4303 2470 -Tri: 4322 2470 2564 -Tri: 4268 4267 2563 -Tri: 4268 2563 2659 -Tri: 4446 4095 4094 -Tri: 4446 4094 4399 -Tri: 4446 4399 4425 -Tri: 4470 4460 4473 -Tri: 4470 4473 4080 -Tri: 4478 4471 4074 -Tri: 4478 4074 4485 -Tri: 4076 3943 4081 -Tri: 4076 4081 4084 -Tri: 4062 4054 4053 -Tri: 4062 4053 4060 -Tri: 4486 4096 4095 -Tri: 4486 4095 4487 -Tri: 4079 3955 4038 -Tri: 4050 4090 4088 -Tri: 4050 4088 4047 -Tri: 4457 4456 4476 -Tri: 4457 4476 4488 -Tri: 4477 4489 4490 -Tri: 4477 4490 4491 -Tri: 4111 4110 4125 -Tri: 4492 3893 3892 -Tri: 4492 3892 4369 -Tri: 4492 4369 4413 -Tri: 4492 4413 4493 -Tri: 4494 4465 4116 -Tri: 4494 4116 4115 -Tri: 4487 4466 4495 -Tri: 4487 4495 4486 -Tri: 4483 4447 4481 -Tri: 4483 4481 4496 -Tri: 4475 4078 4080 -Tri: 4475 4080 4473 -Tri: 4093 3955 4079 -Tri: 4408 4451 4497 -Tri: 4408 4497 4409 -Tri: 4479 4478 4485 -Tri: 4479 4485 4484 -Tri: 4072 4088 4090 -Tri: 4072 4090 4073 -Tri: 4498 4499 4500 -Tri: 4501 4502 4492 -Tri: 4107 4503 4085 -Tri: 4107 4085 4108 -Tri: 4471 4057 4072 -Tri: 4471 4072 4074 -Tri: 4478 4444 4148 -Tri: 4478 4148 4471 -Tri: 4341 4340 4504 -Tri: 4341 4504 4505 -Tri: 4413 4414 4506 -Tri: 4413 4506 4493 -Tri: 4044 4463 4507 -Tri: 4044 4507 4046 -Tri: 4508 4509 4499 -Tri: 4508 4499 4498 -Tri: 4510 4461 4477 -Tri: 4510 4477 4491 -Tri: 4098 4485 4074 -Tri: 4511 4099 4485 -Tri: 4511 4485 4098 -Tri: 4511 4098 4073 -Tri: 4121 4512 4513 -Tri: 4121 4513 4122 -Tri: 4340 4461 4510 -Tri: 4340 4510 4504 -Tri: 4514 4490 4509 -Tri: 4514 4509 4515 -Tri: 4516 4116 3891 -Tri: 4516 3891 3893 -Tri: 4102 4101 4118 -Tri: 4122 4513 4517 -Tri: 4122 4517 4518 -Tri: 4505 4501 4506 -Tri: 4505 4506 4341 -Tri: 4513 4519 4520 -Tri: 4513 4520 4517 -Tri: 4514 4521 4491 -Tri: 4514 4491 4490 -Tri: 4504 4522 4523 -Tri: 4504 4523 4505 -Tri: 4524 4502 4525 -Tri: 4099 4102 4484 -Tri: 4099 4484 4485 -Tri: 4499 4489 4454 -Tri: 4499 4454 4500 -Tri: 4502 4501 4505 -Tri: 4502 4505 4526 -Tri: 4465 4370 3891 -Tri: 4465 3891 4116 -Tri: 4409 4497 4527 -Tri: 4409 4527 4528 -Tri: 4456 4455 3746 -Tri: 4456 3746 3745 -Tri: 4477 4455 4454 -Tri: 4477 4454 4489 -Tri: 4493 4506 4501 -Tri: 4493 4501 4492 -Tri: 4511 4529 4530 -Tri: 4121 4123 4193 -Tri: 4121 4193 4531 -Tri: 4532 4522 4533 -Tri: 4532 4533 4534 -Tri: 4516 4524 4525 -Tri: 4516 4525 4117 -Tri: 4099 4511 4530 -Tri: 4099 4530 4100 -Tri: 4531 4515 4512 -Tri: 4531 4512 4121 -Tri: 4533 4522 4504 -Tri: 4533 4504 4510 -Tri: 4111 4125 4535 -Tri: 4111 4535 4077 -Tri: 4073 4090 4089 -Tri: 4073 4089 4511 -Tri: 4530 4536 4100 -Tri: 4532 4537 4523 -Tri: 4532 4523 4522 -Tri: 4118 4101 4134 -Tri: 4118 4134 4133 -Tri: 4536 4530 4529 -Tri: 4536 4529 4538 -Tri: 4536 4538 4539 -Tri: 4076 4084 4111 -Tri: 4076 4111 4077 -Tri: 4523 4526 4505 -Tri: 4502 4540 4525 -Tri: 4224 4541 4218 -Tri: 4224 4218 4217 -Tri: 4221 4220 4200 -Tri: 4221 4200 4215 -Tri: 4138 4137 4136 -Tri: 4138 4136 4542 -Tri: 4521 4533 4510 -Tri: 4521 4510 4491 -Tri: 4540 4502 4526 -Tri: 4543 4544 4545 -Tri: 4113 4529 4511 -Tri: 4113 4511 4089 -Tri: 4135 4134 4536 -Tri: 4135 4536 4539 -Tri: 4523 4156 4526 -Tri: 4153 4545 4544 -Tri: 4153 4544 4152 -Tri: 4112 4132 4246 -Tri: 4112 4246 4546 -Tri: 4112 4546 4113 -Tri: 4138 4547 4158 -Tri: 4138 4158 4119 -Tri: 4506 4414 4342 -Tri: 4506 4342 4341 -Tri: 4179 4178 4187 -Tri: 4179 4187 4203 -Tri: 4175 4126 4114 -Tri: 4175 4114 4152 -Tri: 4409 4528 4387 -Tri: 4409 4387 4386 -Tri: 4176 4174 4173 -Tri: 4548 4549 4550 -Tri: 4548 4550 4551 -Tri: 4548 4551 4552 -Tri: 4531 4160 4514 -Tri: 4531 4514 4515 -Tri: 4553 4237 4236 -Tri: 4553 4236 4554 -Tri: 4555 4199 4535 -Tri: 4555 4535 4125 -Tri: 4555 4125 4124 -Tri: 4170 4140 4124 -Tri: 4170 4124 4127 -Tri: 4185 4177 4176 -Tri: 4185 4176 4173 -Tri: 4152 4544 4176 -Tri: 4152 4176 4175 -Tri: 4556 4557 4551 -Tri: 4556 4551 4550 -Tri: 4558 4559 4560 -Tri: 4558 4560 4162 -Tri: 4560 4559 4554 -Tri: 4560 4554 4561 -Tri: 4240 4562 4563 -Tri: 4240 4563 4236 -Tri: 4159 4514 4160 -Tri: 4246 4564 4538 -Tri: 4246 4538 4546 -Tri: 4548 4564 4565 -Tri: 4548 4565 4549 -Tri: 4138 4195 4198 -Tri: 4138 4198 4547 -Tri: 4160 4531 4193 -Tri: 4160 4193 4161 -Tri: 4226 4225 4237 -Tri: 4226 4237 4553 -Tri: 4532 4563 4537 -Tri: 4563 4157 4537 -Tri: 4542 4557 4195 -Tri: 4542 4195 4138 -Tri: 4563 4561 4554 -Tri: 4563 4554 4236 -Tri: 4245 4565 4564 -Tri: 4245 4564 4246 -Tri: 4210 4209 4559 -Tri: 4210 4559 4558 -Tri: 4169 4146 4555 -Tri: 4169 4555 4140 -Tri: 4556 4550 4566 -Tri: 4556 4566 4567 -Tri: 4534 4561 4563 -Tri: 4534 4563 4532 -Tri: 4567 4568 4196 -Tri: 4567 4196 4556 -Tri: 4196 4195 4557 -Tri: 4196 4557 4556 -Tri: 4234 4166 4259 -Tri: 4234 4259 4261 -Tri: 4562 4154 4157 -Tri: 4562 4157 4563 -Tri: 4568 4569 4197 -Tri: 4568 4197 4196 -Tri: 4225 4570 4238 -Tri: 4225 4238 4237 -Tri: 4550 4549 4571 -Tri: 4550 4571 4566 -Tri: 4572 4161 4194 -Tri: 4572 4194 4573 -Tri: 4161 4572 4558 -Tri: 4220 4169 4168 -Tri: 4220 4168 4200 -Tri: 4574 4211 4575 -Tri: 4574 4575 4576 -Tri: 4575 4210 4558 -Tri: 4242 4577 4578 -Tri: 4242 4578 4579 -Tri: 4534 4533 4521 -Tri: 4534 4521 4580 -Tri: 4514 4159 4580 -Tri: 4514 4580 4521 -Tri: 4577 4242 4241 -Tri: 4577 4241 4581 -Tri: 4241 4213 4212 -Tri: 4241 4212 4581 -Tri: 4248 4582 4583 -Tri: 4248 4583 4249 -Tri: 4566 4571 4584 -Tri: 4566 4584 4585 -Tri: 4204 4231 4216 -Tri: 4204 4216 4201 -Tri: 4583 4571 4549 -Tri: 4583 4549 4565 -Tri: 4559 4209 4553 -Tri: 4559 4553 4554 -Tri: 4586 4570 4225 -Tri: 4586 4225 4587 -Tri: 4576 4575 4558 -Tri: 4576 4558 4572 -Tri: 4229 4588 4589 -Tri: 4534 4580 4560 -Tri: 4534 4560 4561 -Tri: 4541 4224 4230 -Tri: 4541 4230 4235 -Tri: 4541 4235 4589 -Tri: 4583 4582 4584 -Tri: 4583 4584 4571 -Tri: 4574 4223 4211 -Tri: 4208 4226 4553 -Tri: 4208 4553 4209 -Tri: 4590 4208 4223 -Tri: 4221 4215 4217 -Tri: 4221 4217 4219 -Tri: 4230 4224 4216 -Tri: 4230 4216 4231 -Tri: 4591 4592 4593 -Tri: 4591 4593 4594 -Tri: 4567 4566 4585 -Tri: 4567 4585 4591 -Tri: 4593 4592 4595 -Tri: 4593 4595 4596 -Tri: 4219 4218 4597 -Tri: 4219 4597 4598 -Tri: 4219 4598 4147 -Tri: 4585 4584 4599 -Tri: 4585 4599 4600 -Tri: 4601 4223 4574 -Tri: 4601 4602 4223 -Tri: 4242 4579 4588 -Tri: 4242 4588 4243 -Tri: 4587 4225 4227 -Tri: 4249 4583 4565 -Tri: 4249 4565 4245 -Tri: 4603 4604 4605 -Tri: 4603 4605 4599 -Tri: 4603 4599 4584 -Tri: 4603 4584 4582 -Tri: 4600 4599 4605 -Tri: 4587 4227 4590 -Tri: 4587 4590 4606 -Tri: 4607 4586 4587 -Tri: 4607 4587 4606 -Tri: 4592 4591 4585 -Tri: 4592 4585 4600 -Tri: 4211 4210 4575 -Tri: 4608 4609 4596 -Tri: 4608 4596 4595 -Tri: 4610 4608 4595 -Tri: 4610 4595 4592 -Tri: 4558 4162 4161 -Tri: 4597 4218 4541 -Tri: 4597 4541 4611 -Tri: 4610 4589 4612 -Tri: 4610 4612 4608 -Tri: 4147 4598 4259 -Tri: 4147 4259 4144 -Tri: 4243 4228 4206 -Tri: 4243 4206 4244 -Tri: 4605 4597 4611 -Tri: 4605 4611 4600 -Tri: 4247 4603 4582 -Tri: 4247 4582 4248 -Tri: 4135 4552 4542 -Tri: 4135 4542 4136 -Tri: 4613 4261 4259 -Tri: 4613 4259 4598 -Tri: 4604 4603 4614 -Tri: 4604 4614 4615 -Tri: 4614 4603 4247 -Tri: 4614 4247 4616 -Tri: 4250 4617 4616 -Tri: 4250 4616 4251 -Tri: 4614 4616 4617 -Tri: 4614 4617 4618 -Tri: 4615 4263 4613 -Tri: 4615 4613 4604 -Tri: 4615 4614 4618 -Tri: 4615 4618 4255 -Tri: 4258 4257 4264 -Tri: 4256 4253 4262 -Tri: 4256 4262 4257 -Tri: 4254 4260 4264 -Tri: 4254 4264 4262 -Tri: 4264 4257 4262 -Tri: 4619 3759 1893 -Tri: 4619 1893 2795 -Tri: 4620 4338 3888 -Tri: 4620 3888 3887 -Tri: 4338 4620 4355 -Tri: 4338 4355 4347 -Tri: 3761 4621 4622 -Tri: 3761 4622 3834 -Tri: 3761 3834 3756 -Tri: 3761 3756 1888 -Tri: 3761 1888 1897 -Tri: 3836 4621 4623 -Tri: 4182 4181 4202 -Tri: 4182 4202 4222 -Tri: 4233 4232 4252 -Tri: 4233 4252 4251 -Tri: 4041 4043 4054 -Tri: 4041 4054 4064 -Tri: 3987 3920 3928 -Tri: 3987 3928 3931 -Tri: 4624 4625 3853 -Tri: 4624 3853 3838 -Tri: 4625 3904 3903 -Tri: 4625 3903 3853 -Tri: 4618 4617 4256 -Tri: 4618 4256 4255 -Tri: 4617 4250 4253 -Tri: 4617 4253 4256 -Tri: 4085 3911 4058 -Tri: 4085 4058 4108 -Tri: 4175 4171 4127 -Tri: 4175 4127 4126 -Tri: 4626 4621 3761 -Tri: 4626 3761 3897 -Tri: 3897 4627 4626 -Tri: 3980 3979 4036 -Tri: 3980 4036 3886 -Tri: 3947 3946 4628 -Tri: 3947 4628 3981 -Tri: 4055 4041 4064 -Tri: 4055 4064 4059 -Tri: 3943 3942 3912 -Tri: 3943 3912 4081 -Tri: 4104 4109 4535 -Tri: 4104 4535 4199 -Tri: 4130 4067 4066 -Tri: 4130 4066 4141 -Tri: 4615 4255 4258 -Tri: 4615 4258 4263 -Tri: 4247 4233 4251 -Tri: 4247 4251 4616 -Tri: 4184 4183 4249 -Tri: 4184 4249 4245 -Tri: 4306 4629 4310 -Tri: 4306 4310 4309 -Tri: 4630 4631 3843 -Tri: 4630 3843 3842 -Tri: 4630 3842 3965 -Tri: 3937 3966 3842 -Tri: 3937 3842 3841 -Tri: 4033 4023 4022 -Tri: 4033 4022 4034 -Tri: 4474 4473 4460 -Tri: 4474 4460 4483 -Tri: 4474 4483 4496 -Tri: 4421 4017 4447 -Tri: 4421 4447 4483 -Tri: 4421 4483 4482 -Tri: 3990 4068 4035 -Tri: 3990 4035 3991 -Tri: 3993 3992 3804 -Tri: 3993 3804 3807 -Tri: 3997 3993 3807 -Tri: 3997 3807 4029 -Tri: 3997 4029 3998 -Tri: 3807 3806 4029 -Tri: 4140 4555 4124 -Tri: 4140 4124 4139 -Tri: 4145 4199 4555 -Tri: 4145 4555 4146 -Tri: 4263 4260 4261 -Tri: 4263 4261 4613 -Tri: 4539 4538 4564 -Tri: 4539 4564 4548 -Tri: 4529 4113 4546 -Tri: 4529 4546 4538 -Tri: 3865 3828 4359 -Tri: 3865 4359 4632 -Tri: 4326 4335 4419 -Tri: 4326 4419 4384 -Tri: 4633 3985 3840 -Tri: 4383 4634 4635 -Tri: 4383 4635 3924 -Tri: 4383 3924 3927 -Tri: 4270 4298 2463 -Tri: 4270 2463 2811 -Tri: 3946 4636 4637 -Tri: 3946 4637 4628 -Tri: 4398 4638 4639 -Tri: 4398 4639 4382 -Tri: 4640 3934 3932 -Tri: 4640 3932 3933 -Tri: 4641 4642 4643 -Tri: 4641 4643 4644 -Tri: 4642 4352 4354 -Tri: 4642 4354 4643 -Tri: 4085 4503 4153 -Tri: 4085 4153 4086 -Tri: 3952 3987 4042 -Tri: 4191 4645 4646 -Tri: 4191 4646 4192 -Tri: 4244 4206 4207 -Tri: 4244 4207 4214 -Tri: 4235 4229 4589 -Tri: 4588 4229 4228 -Tri: 4588 4228 4243 -Tri: 4126 4110 4083 -Tri: 4126 4083 4114 -Tri: 2567 2824 4647 -Tri: 2567 4647 4395 -Tri: 4395 4647 3894 -Tri: 4395 3894 3916 -Tri: 4613 4598 4597 -Tri: 4613 4597 4605 -Tri: 4613 4605 4604 -Tri: 4548 4552 4135 -Tri: 4548 4135 4539 -Tri: 4542 4552 4551 -Tri: 4542 4551 4557 -Tri: 4137 4118 4133 -Tri: 4137 4133 4136 -Tri: 4440 4449 4441 -Tri: 4039 3954 4001 -Tri: 4039 4001 4000 -Tri: 4377 4416 4420 -Tri: 4377 4420 4404 -Tri: 4378 4405 4026 -Tri: 4378 4026 4025 -Tri: 4438 4437 4648 -Tri: 4438 4648 4450 -Tri: 4003 3995 3994 -Tri: 4003 3994 3968 -Tri: 4065 4061 4048 -Tri: 4065 4048 4047 -Tri: 4101 4100 4536 -Tri: 4101 4536 4134 -Tri: 4509 4490 4489 -Tri: 4509 4489 4499 -Tri: 3880 3879 3867 -Tri: 3880 3867 4019 -Tri: 4313 4302 4286 -Tri: 4313 4286 4327 -Tri: 3847 4309 4308 -Tri: 3847 4308 4379 -Tri: 4649 3813 3812 -Tri: 4649 3812 4305 -Tri: 3877 3876 3809 -Tri: 3877 3809 4311 -Tri: 3809 4281 4307 -Tri: 3809 4307 4311 -Tri: 3810 3809 3876 -Tri: 3810 3876 3878 -Tri: 4281 3809 3811 -Tri: 4281 3811 4282 -Tri: 4462 4446 3926 -Tri: 4462 3926 3925 -Tri: 4466 4465 4494 -Tri: 4466 4494 4495 -Tri: 4462 4487 4095 -Tri: 4462 4095 4446 -Tri: 4462 4371 4466 -Tri: 4462 4466 4487 -Tri: 4174 4176 4544 -Tri: 4174 4544 4543 -Tri: 4650 4576 4572 -Tri: 4650 4572 4573 -Tri: 4594 4569 4568 -Tri: 4574 4576 4650 -Tri: 4567 4651 4594 -Tri: 4567 4594 4568 -Tri: 4411 4275 4274 -Tri: 4411 4274 4436 -Tri: 4445 4287 4288 -Tri: 4445 4288 4439 -Tri: 4410 4389 4439 -Tri: 4410 4439 4288 -Tri: 4391 4422 4652 -Tri: 4391 4652 4392 -Tri: 4452 4423 4653 -Tri: 4452 4653 4654 -Tri: 4452 4654 4655 -Tri: 4452 4655 4656 -Tri: 4268 4657 4658 -Tri: 4268 4658 4659 -Tri: 4268 4659 4265 -Tri: 3917 4362 4269 -Tri: 3917 4269 3918 -Tri: 4155 4540 4526 -Tri: 4155 4526 4156 -Tri: 4580 4159 4162 -Tri: 4580 4162 4560 -Tri: 4660 4294 4297 -Tri: 4660 4297 4661 -Tri: 3749 4296 4295 -Tri: 3749 4295 3750 -Tri: 4476 4412 4295 -Tri: 4476 4295 4294 -Tri: 4488 4476 4294 -Tri: 4488 4294 4660 -Tri: 4508 4519 4513 -Tri: 4508 4513 4512 -Tri: 4509 4508 4512 -Tri: 4509 4512 4515 -Tri: 4157 4156 4523 -Tri: 4157 4523 4537 -Tri: 4662 4619 2795 -Tri: 4662 2795 2840 -Tri: 4663 4355 4620 -Tri: 4663 4620 4662 -Tri: 4664 4351 4355 -Tri: 4664 4355 4663 -Tri: 4665 3832 4351 -Tri: 4665 4351 4664 -Tri: 3757 3833 3832 -Tri: 3757 3832 4665 -Tri: 4109 4075 4077 -Tri: 4109 4077 4535 -Tri: 3977 4075 3976 -Tri: 4190 4188 4172 -Tri: 4190 4172 4191 -Tri: 4186 4188 4207 -Tri: 4186 4207 4205 -Tri: 4645 4191 4172 -Tri: 4645 4172 4174 -Tri: 4645 4174 4543 -Tri: 4188 4190 4214 -Tri: 4188 4214 4207 -Tri: 3945 4623 4636 -Tri: 3945 4636 3946 -Tri: 4621 4626 4636 -Tri: 4621 4636 4623 -Tri: 4627 4637 4636 -Tri: 4627 4636 4626 -Tri: 4666 4667 4063 -Tri: 4666 4063 4062 -Tri: 4545 4153 4503 -Tri: 4545 4503 4668 -Tri: 4669 4666 4062 -Tri: 4669 4062 4060 -Tri: 4667 4670 4087 -Tri: 4667 4087 4063 -Tri: 4669 4060 4046 -Tri: 4669 4046 4507 -Tri: 4670 4671 4107 -Tri: 4670 4107 4087 -Tri: 4671 4668 4503 -Tri: 4671 4503 4107 -Tri: 4578 4672 4612 -Tri: 4578 4612 4579 -Tri: 4609 4608 4612 -Tri: 4609 4612 4672 -Tri: 4579 4612 4589 -Tri: 4579 4589 4588 -Tri: 3801 4673 3869 -Tri: 3801 3869 3868 -Tri: 4674 4675 4346 -Tri: 4674 4346 4345 -Tri: 4676 4331 3889 -Tri: 4676 3889 4052 -Tri: 4677 4678 4675 -Tri: 4677 4675 4674 -Tri: 4679 3830 4331 -Tri: 4679 4331 4676 -Tri: 4680 4681 4641 -Tri: 4680 4641 4644 -Tri: 4344 4343 4681 -Tri: 4344 4681 4680 -Tri: 4339 4338 4347 -Tri: 4339 4347 4350 -Tri: 4673 3801 3830 -Tri: 4673 3830 4679 -Tri: 4682 3839 3838 -Tri: 4682 3838 3855 -Tri: 4678 4677 4683 -Tri: 3823 4633 3824 -Tri: 3864 4684 4685 -Tri: 3864 4685 4633 -Tri: 3823 3826 3864 -Tri: 3823 3864 4633 -Tri: 3824 4633 3840 -Tri: 3824 3840 3764 -Tri: 4639 4383 4382 -Tri: 3893 4492 4524 -Tri: 3893 4524 4516 -Tri: 4117 4116 4516 -Tri: 4492 4502 4524 -Tri: 4402 4686 4398 -Tri: 4402 4398 4397 -Tri: 4686 4687 4638 -Tri: 4686 4638 4398 -Tri: 4094 4400 4397 -Tri: 4094 4397 4399 -Tri: 3802 3793 3800 -Tri: 3802 3800 3799 -Tri: 4498 4520 4519 -Tri: 4498 4519 4508 -Tri: 4688 3839 4682 -Tri: 4688 4682 4332 -Tri: 3944 3980 3904 -Tri: 3944 3904 4625 -Tri: 3945 3944 4625 -Tri: 3945 4625 4624 -Tri: 3834 4622 3836 -Tri: 3834 3836 3839 -Tri: 3834 3839 4688 -Tri: 3886 3885 3904 -Tri: 3886 3904 3980 -Tri: 3902 3885 3882 -Tri: 3902 3882 3881 -Tri: 4623 3945 4624 -Tri: 4623 4624 3836 -Tri: 4622 4621 3836 -Tri: 4624 3838 3837 -Tri: 4624 3837 3836 -Tri: 3835 4332 3831 -Tri: 3834 4688 4332 -Tri: 3834 4332 3835 -Tri: 4633 4685 4689 -Tri: 4633 4689 3985 -Tri: 4690 3897 3985 -Tri: 4690 3985 4689 -Tri: 4690 4627 3897 -Tri: 4591 4594 4651 -Tri: 4591 4651 4567 -Tri: 1889 3757 4665 -Tri: 1889 4665 2869 -Tri: 2869 4665 4664 -Tri: 2869 4664 2870 -Tri: 2870 4664 4663 -Tri: 2870 4663 2871 -Tri: 2871 4663 4662 -Tri: 2871 4662 2840 -Tri: 4620 3887 4619 -Tri: 4620 4619 4662 -Tri: 2872 2873 4287 -Tri: 2872 4287 4445 -Tri: 3887 3890 3759 -Tri: 3887 3759 4619 -Tri: 2872 4445 4363 -Tri: 2872 4363 2874 -Tri: 3964 3963 4292 -Tri: 3964 4292 4289 -Tri: 1922 2439 4278 -Tri: 1922 4278 3773 -Tri: 3819 3790 3780 -Tri: 3819 3780 3820 -Tri: 2453 2875 4283 -Tri: 2453 4283 4290 -Tri: 2876 2484 4292 -Tri: 2876 4292 4291 -Tri: 3964 4289 4290 -Tri: 3964 4290 4302 -Tri: 2873 2877 4272 -Tri: 2873 4272 4287 -Tri: 2875 2878 4284 -Tri: 2875 4284 4283 -Tri: 1923 3774 4276 -Tri: 1923 4276 2436 -Tri: 4629 4306 4278 -Tri: 4629 4278 4277 -Tri: 4403 3767 4276 -Tri: 4403 4276 4282 -Tri: 2877 2879 4273 -Tri: 2877 4273 4272 -Tri: 4365 4392 4458 -Tri: 4365 4458 4366 -Tri: 1930 2880 3803 -Tri: 1930 3803 3779 -Tri: 2881 3791 3803 -Tri: 2881 3803 2880 -Tri: 2881 1908 3766 -Tri: 2881 3766 3791 -Tri: 3816 3770 3790 -Tri: 3816 3790 3819 -Tri: 1934 1916 3769 -Tri: 1934 3769 3781 -Tri: 1901 1919 3772 -Tri: 1901 3772 3763 -Tri: 3813 4649 3782 -Tri: 3813 3782 3762 -Tri: 3789 3798 3771 -Tri: 3789 3771 3781 -Tri: 3808 3820 3780 -Tri: 3808 3780 3779 -Tri: 4307 4281 3774 -Tri: 4307 3774 3773 -Tri: 3798 3787 3772 -Tri: 3798 3772 3771 -Tri: 3788 3769 3770 -Tri: 3788 3770 3816 -Tri: 4403 3768 3767 -Tri: 3792 3766 3758 -Tri: 3792 3758 4330 -Tri: 3813 3762 3763 -Tri: 3813 3763 3786 -Tri: 4330 3758 3759 -Tri: 4330 3759 3890 -Tri: 3834 3833 3757 -Tri: 3834 3757 3756 -Tri: 4391 4390 4653 -Tri: 4391 4653 4423 -Tri: 2882 2885 4691 -Tri: 2882 4691 4692 -Tri: 4693 4694 4695 -Tri: 4693 4695 4696 -Tri: 4697 4698 4694 -Tri: 4697 4694 4693 -Tri: 4696 4695 4699 -Tri: 4696 4699 4700 -Tri: 4701 4696 4700 -Tri: 4701 4700 4702 -Tri: 4703 4704 4697 -Tri: 4703 4697 4693 -Tri: 4703 4693 4701 -Tri: 4701 4693 4696 -Tri: 2898 2882 4692 -Tri: 2898 4692 4705 -Tri: 2811 2565 4271 -Tri: 2811 4271 4270 -Tri: 3916 3918 4271 -Tri: 3916 4271 4395 -Tri: 3915 4472 3917 -Tri: 3915 3917 3913 -Tri: 4356 3856 4334 -Tri: 4356 4334 4316 -Tri: 4458 4706 2900 -Tri: 4458 2900 2630 -Tri: 2659 2902 4657 -Tri: 2659 4657 4268 -Tri: 4392 4652 4706 -Tri: 4392 4706 4458 -Tri: 2874 4363 4366 -Tri: 2874 4366 2632 -Tri: 4304 4303 4321 -Tri: 4304 4321 4707 -Tri: 4653 4390 4388 -Tri: 4653 4388 4387 -Tri: 4387 4528 4654 -Tri: 4387 4654 4653 -Tri: 4360 3748 3751 -Tri: 4360 3751 4361 -Tri: 4266 4320 4322 -Tri: 4266 4322 4267 -Tri: 4393 4380 4361 -Tri: 4393 4361 3751 -Tri: 4227 4226 4208 -Tri: 4227 4208 4590 -Tri: 4611 4610 4592 -Tri: 4611 4592 4600 -Tri: 4611 4541 4589 -Tri: 4611 4589 4610 -Tri: 4386 4389 4410 -Tri: 4386 4410 4408 -Tri: 4436 4336 4437 -Tri: 2879 2876 4291 -Tri: 2879 4291 4273 -Tri: 4273 4291 4293 -Tri: 4273 4293 4274 -Tri: 4274 4293 4336 -Tri: 4274 4336 4436 -Tri: 4437 4336 4464 -Tri: 4437 4464 4648 -Tri: 4403 3865 4632 -Tri: 4403 4632 3768 -Tri: 4097 4400 4094 -Tri: 4223 4602 4606 -Tri: 4223 4606 4590 -Tri: 4708 4709 4710 -Tri: 4708 4710 4711 -Tri: 4712 4713 4714 -Tri: 4712 4714 4715 -Tri: 4716 4717 4718 -Tri: 4716 4718 4719 -Tri: 4720 4721 4722 -Tri: 4720 4722 4723 -Tri: 4724 4725 4726 -Tri: 4724 4726 4727 -Tri: 4717 4728 4729 -Tri: 4717 4729 4718 -Tri: 4721 4730 4731 -Tri: 4721 4731 4722 -Tri: 4725 4732 4733 -Tri: 4725 4733 4726 -Tri: 4728 4734 4735 -Tri: 4728 4735 4729 -Tri: 4730 4736 4737 -Tri: 4730 4737 4731 -Tri: 4732 4738 4739 -Tri: 4732 4739 4733 -Tri: 4734 4740 4741 -Tri: 4734 4741 4735 -Tri: 4736 4742 4743 -Tri: 4736 4743 4737 -Tri: 4744 4745 4746 -Tri: 4744 4746 4747 -Tri: 4738 4748 4749 -Tri: 4738 4749 4739 -Tri: 4740 4750 4751 -Tri: 4740 4751 4741 -Tri: 4742 4744 4747 -Tri: 4742 4747 4743 -Tri: 4745 4752 4712 -Tri: 4745 4712 4746 -Tri: 4748 4753 4754 -Tri: 4748 4754 4749 -Tri: 4750 4755 4756 -Tri: 4750 4756 4751 -Tri: 4752 4757 4713 -Tri: 4752 4713 4712 -Tri: 4753 4758 4759 -Tri: 4753 4759 4754 -Tri: 4755 4760 4761 -Tri: 4755 4761 4756 -Tri: 4757 4716 4719 -Tri: 4757 4719 4713 -Tri: 4758 4720 4723 -Tri: 4758 4723 4759 -Tri: 4760 4762 4763 -Tri: 4760 4763 4761 -Tri: 4764 4765 4762 -Tri: 4764 4762 4760 -Tri: 4766 4767 4720 -Tri: 4766 4720 4758 -Tri: 4768 4769 4716 -Tri: 4768 4716 4757 -Tri: 4770 4764 4760 -Tri: 4770 4760 4755 -Tri: 4771 4766 4758 -Tri: 4771 4758 4753 -Tri: 4772 4768 4757 -Tri: 4772 4757 4752 -Tri: 4773 4770 4755 -Tri: 4773 4755 4750 -Tri: 4774 4771 4753 -Tri: 4774 4753 4748 -Tri: 4775 4772 4752 -Tri: 4775 4752 4745 -Tri: 4776 4777 4744 -Tri: 4776 4744 4742 -Tri: 4778 4773 4750 -Tri: 4778 4750 4740 -Tri: 4779 4774 4748 -Tri: 4779 4748 4738 -Tri: 4777 4775 4745 -Tri: 4777 4745 4744 -Tri: 4780 4776 4742 -Tri: 4780 4742 4736 -Tri: 4781 4778 4740 -Tri: 4781 4740 4734 -Tri: 4782 4779 4738 -Tri: 4782 4738 4732 -Tri: 4783 4780 4736 -Tri: 4783 4736 4730 -Tri: 4784 4781 4734 -Tri: 4784 4734 4728 -Tri: 4785 4782 4732 -Tri: 4785 4732 4725 -Tri: 4786 4783 4730 -Tri: 4786 4730 4721 -Tri: 4787 4784 4728 -Tri: 4787 4728 4717 -Tri: 4788 4785 4725 -Tri: 4788 4725 4724 -Tri: 4767 4786 4721 -Tri: 4767 4721 4720 -Tri: 4769 4787 4717 -Tri: 4769 4717 4716 -Tri: 4789 4790 4791 -Tri: 4789 4791 4792 -Tri: 4754 4759 4793 -Tri: 4754 4793 4794 -Tri: 4756 4761 4795 -Tri: 4756 4795 4796 -Tri: 4713 4719 4797 -Tri: 4713 4797 4714 -Tri: 4759 4723 4798 -Tri: 4759 4798 4793 -Tri: 4761 4763 4799 -Tri: 4761 4799 4795 -Tri: 4719 4718 4800 -Tri: 4719 4800 4797 -Tri: 4723 4722 4801 -Tri: 4723 4801 4798 -Tri: 4727 4726 4802 -Tri: 4727 4802 4803 -Tri: 4718 4729 4804 -Tri: 4718 4804 4800 -Tri: 4722 4731 4805 -Tri: 4722 4805 4801 -Tri: 4726 4733 4806 -Tri: 4726 4806 4802 -Tri: 4729 4735 4807 -Tri: 4729 4807 4804 -Tri: 4731 4737 4808 -Tri: 4731 4808 4805 -Tri: 4733 4739 4809 -Tri: 4733 4809 4806 -Tri: 4735 4741 4810 -Tri: 4735 4810 4807 -Tri: 4737 4743 4811 -Tri: 4737 4811 4808 -Tri: 4747 4746 4812 -Tri: 4747 4812 4813 -Tri: 4739 4749 4814 -Tri: 4739 4814 4809 -Tri: 4741 4751 4815 -Tri: 4741 4815 4810 -Tri: 4743 4747 4813 -Tri: 4743 4813 4811 -Tri: 4746 4712 4715 -Tri: 4746 4715 4812 -Tri: 4749 4754 4794 -Tri: 4749 4794 4814 -Tri: 4751 4756 4796 -Tri: 4751 4796 4815 -Tri: 4816 4817 4818 -Tri: 4816 4818 4819 -Tri: 4820 4821 4822 -Tri: 4820 4822 4823 -Tri: 4824 4825 4826 -Tri: 4824 4826 4827 -Tri: 4828 4829 4790 -Tri: 4828 4790 4789 -Tri: 4830 4831 4832 -Tri: 4830 4832 4833 -Tri: 4834 4835 4825 -Tri: 4834 4825 4824 -Tri: 4836 4837 4829 -Tri: 4836 4829 4828 -Tri: 4838 4839 4831 -Tri: 4838 4831 4830 -Tri: 4840 4841 4835 -Tri: 4840 4835 4834 -Tri: 4842 4843 4837 -Tri: 4842 4837 4836 -Tri: 4844 4845 4839 -Tri: 4844 4839 4838 -Tri: 4807 4810 4846 -Tri: 4807 4846 4847 -Tri: 4848 4849 4843 -Tri: 4848 4843 4842 -Tri: 4850 4851 4845 -Tri: 4850 4845 4844 -Tri: 4819 4818 4841 -Tri: 4819 4841 4840 -Tri: 4852 4853 4854 -Tri: 4852 4854 4855 -Tri: 4856 4857 4849 -Tri: 4856 4849 4848 -Tri: 4858 4859 4851 -Tri: 4858 4851 4850 -Tri: 4860 4861 4817 -Tri: 4860 4817 4816 -Tri: 4813 4812 4862 -Tri: 4813 4862 4863 -Tri: 4864 4865 4866 -Tri: 4864 4866 4867 -Tri: 4792 4791 4859 -Tri: 4792 4859 4858 -Tri: 4860 4823 4822 -Tri: 4860 4822 4861 -Tri: 4827 4826 4865 -Tri: 4827 4865 4864 -Tri: 4795 4799 4868 -Tri: 4795 4868 4869 -Tri: 4808 4811 4870 -Tri: 4808 4870 4871 -Tri: 4809 4814 4872 -Tri: 4809 4872 4873 -Tri: 4810 4815 4874 -Tri: 4810 4874 4846 -Tri: 4867 4866 4875 -Tri: 4867 4875 4876 -Tri: 4812 4715 4877 -Tri: 4812 4877 4862 -Tri: 4814 4794 4878 -Tri: 4814 4878 4872 -Tri: 4815 4796 4879 -Tri: 4815 4879 4874 -Tri: 4715 4714 4880 -Tri: 4715 4880 4877 -Tri: 4794 4793 4881 -Tri: 4794 4881 4878 -Tri: 4796 4795 4869 -Tri: 4796 4869 4879 -Tri: 4714 4797 4882 -Tri: 4714 4882 4880 -Tri: 4793 4798 4883 -Tri: 4793 4883 4881 -Tri: 4797 4800 4884 -Tri: 4797 4884 4882 -Tri: 4798 4801 4885 -Tri: 4798 4885 4883 -Tri: 4803 4802 4886 -Tri: 4803 4886 4887 -Tri: 4800 4804 4888 -Tri: 4800 4888 4884 -Tri: 4801 4805 4889 -Tri: 4801 4889 4885 -Tri: 4802 4806 4890 -Tri: 4802 4890 4886 -Tri: 4804 4807 4847 -Tri: 4804 4847 4888 -Tri: 4805 4808 4871 -Tri: 4805 4871 4889 -Tri: 4806 4809 4873 -Tri: 4806 4873 4890 -Tri: 4837 4843 4891 -Tri: 4837 4891 4892 -Tri: 4893 4894 4895 -Tri: 4893 4895 4896 -Tri: 4839 4845 4897 -Tri: 4839 4897 4898 -Tri: 4841 4818 4899 -Tri: 4841 4899 4900 -Tri: 4843 4849 4901 -Tri: 4843 4901 4891 -Tri: 4857 4875 4902 -Tri: 4857 4902 4903 -Tri: 4845 4851 4904 -Tri: 4845 4904 4897 -Tri: 4818 4817 4905 -Tri: 4818 4905 4899 -Tri: 4849 4857 4903 -Tri: 4849 4903 4901 -Tri: 4875 4866 4906 -Tri: 4875 4906 4902 -Tri: 4851 4859 4907 -Tri: 4851 4907 4904 -Tri: 4817 4861 4908 -Tri: 4817 4908 4905 -Tri: 4866 4865 4909 -Tri: 4866 4909 4906 -Tri: 4859 4791 4910 -Tri: 4859 4910 4907 -Tri: 4861 4822 4911 -Tri: 4861 4911 4908 -Tri: 4865 4826 4912 -Tri: 4865 4912 4909 -Tri: 4791 4790 4913 -Tri: 4791 4913 4910 -Tri: 4822 4821 4914 -Tri: 4822 4914 4911 -Tri: 4826 4825 4915 -Tri: 4826 4915 4912 -Tri: 4790 4829 4916 -Tri: 4790 4916 4913 -Tri: 4832 4831 4917 -Tri: 4832 4917 4918 -Tri: 4825 4835 4919 -Tri: 4825 4919 4915 -Tri: 4829 4837 4892 -Tri: 4829 4892 4916 -Tri: 4831 4839 4898 -Tri: 4831 4898 4917 -Tri: 4835 4841 4900 -Tri: 4835 4900 4919 -Tri: 4920 4921 4775 -Tri: 4920 4775 4777 -Tri: 4921 4922 4772 -Tri: 4921 4772 4775 -Tri: 4922 4709 4768 -Tri: 4922 4768 4772 -Tri: 4709 4708 4769 -Tri: 4709 4769 4768 -Tri: 4708 4923 4787 -Tri: 4708 4787 4769 -Tri: 4923 4924 4784 -Tri: 4923 4784 4787 -Tri: 4924 4925 4781 -Tri: 4924 4781 4784 -Tri: 4925 4926 4778 -Tri: 4925 4778 4781 -Tri: 4926 4927 4773 -Tri: 4926 4773 4778 -Tri: 4927 4928 4770 -Tri: 4927 4770 4773 -Tri: 4928 4929 4764 -Tri: 4928 4764 4770 -Tri: 4929 4930 4765 -Tri: 4929 4765 4764 -Tri: 4931 4932 4785 -Tri: 4931 4785 4788 -Tri: 4932 4933 4782 -Tri: 4932 4782 4785 -Tri: 4933 4934 4779 -Tri: 4933 4779 4782 -Tri: 4934 4935 4774 -Tri: 4934 4774 4779 -Tri: 4935 4936 4771 -Tri: 4935 4771 4774 -Tri: 4936 4937 4766 -Tri: 4936 4766 4771 -Tri: 4937 4938 4767 -Tri: 4937 4767 4766 -Tri: 4938 4939 4786 -Tri: 4938 4786 4767 -Tri: 4939 4940 4783 -Tri: 4939 4783 4786 -Tri: 4940 4941 4780 -Tri: 4940 4780 4783 -Tri: 4941 4942 4776 -Tri: 4941 4776 4780 -Tri: 4942 4920 4777 -Tri: 4942 4777 4776 -Tri: 4943 4944 4945 -Tri: 4943 4945 4946 -Tri: 4947 4948 4949 -Tri: 4947 4949 4950 -Tri: 4709 4922 4951 -Tri: 4709 4951 4710 -Tri: 4922 4921 4952 -Tri: 4922 4952 4953 -Tri: 4936 4935 4954 -Tri: 4936 4954 4955 -Tri: 4956 4957 4958 -Tri: 4956 4958 4959 -Tri: 4935 4934 4960 -Tri: 4935 4960 4961 -Tri: 4957 4941 4962 -Tri: 4957 4962 4958 -Tri: 4929 4928 4963 -Tri: 4929 4963 4964 -Tri: 4965 4956 4959 -Tri: 4965 4959 4966 -Tri: 4934 4933 4967 -Tri: 4934 4967 4960 -Tri: 4963 4928 4968 -Tri: 4963 4968 4969 -Tri: 4923 4708 4970 -Tri: 4923 4970 4971 -Tri: 4939 4938 4972 -Tri: 4939 4972 4965 -Tri: 4973 4974 4975 -Tri: 4973 4975 4976 -Tri: 4974 4925 4977 -Tri: 4974 4977 4975 -Tri: 4921 4920 4978 -Tri: 4921 4978 4979 -Tri: 4933 4932 4980 -Tri: 4933 4980 4981 -Tri: 4936 4955 4982 -Tri: 4936 4982 4983 -Tri: 4971 4973 4976 -Tri: 4971 4976 4984 -Tri: 4933 4981 4985 -Tri: 4933 4985 4967 -Tri: 4926 4925 4974 -Tri: 4926 4974 4947 -Tri: 4942 4941 4957 -Tri: 4942 4957 4986 -Tri: 4987 4972 4988 -Tri: 4987 4988 4989 -Tri: 4990 4991 4903 -Tri: 4990 4903 4902 -Tri: 4992 4990 4902 -Tri: 4992 4902 4906 -Tri: 4993 4992 4906 -Tri: 4993 4906 4909 -Tri: 4994 4993 4909 -Tri: 4994 4909 4912 -Tri: 4995 4994 4912 -Tri: 4995 4912 4915 -Tri: 4996 4995 4915 -Tri: 4996 4915 4919 -Tri: 4997 4996 4919 -Tri: 4997 4919 4900 -Tri: 4998 4997 4900 -Tri: 4998 4900 4899 -Tri: 4999 4998 4899 -Tri: 4999 4899 4905 -Tri: 5000 4999 4905 -Tri: 5000 4905 4908 -Tri: 4893 5000 4908 -Tri: 4893 4908 4911 -Tri: 4894 4893 4911 -Tri: 4894 4911 4914 -Tri: 5001 5002 4918 -Tri: 5001 4918 4917 -Tri: 5003 5001 4917 -Tri: 5003 4917 4898 -Tri: 5004 5003 4898 -Tri: 5004 4898 4897 -Tri: 5005 5004 4897 -Tri: 5005 4897 4904 -Tri: 5006 5005 4904 -Tri: 5006 4904 4907 -Tri: 5007 5006 4907 -Tri: 5007 4907 4910 -Tri: 5008 5007 4910 -Tri: 5008 4910 4913 -Tri: 5009 5008 4913 -Tri: 5009 4913 4916 -Tri: 5010 5009 4916 -Tri: 5010 4916 4892 -Tri: 5011 5010 4892 -Tri: 5011 4892 4891 -Tri: 5012 5011 4891 -Tri: 5012 4891 4901 -Tri: 4991 5012 4901 -Tri: 4991 4901 4903 -Tri: 5013 5014 5015 -Tri: 5013 5015 5016 -Tri: 4994 4995 5017 -Tri: 4994 5017 5018 -Tri: 5008 5009 5019 -Tri: 5008 5019 5020 -Tri: 5002 5001 5021 -Tri: 5002 5021 5022 -Tri: 4995 4996 5023 -Tri: 4995 5023 5017 -Tri: 5009 5010 5024 -Tri: 5009 5024 5019 -Tri: 5001 5003 5025 -Tri: 5001 5025 5021 -Tri: 4996 4997 5026 -Tri: 4996 5026 5023 -Tri: 5010 5011 5027 -Tri: 5010 5027 5024 -Tri: 5003 5004 5028 -Tri: 5003 5028 5025 -Tri: 4997 4998 5029 -Tri: 4997 5029 5026 -Tri: 5011 5012 5030 -Tri: 5011 5030 5027 -Tri: 4991 4990 5031 -Tri: 4991 5031 5032 -Tri: 5004 5005 5033 -Tri: 5004 5033 5028 -Tri: 4998 4999 5034 -Tri: 4998 5034 5029 -Tri: 5012 4991 5032 -Tri: 5012 5032 5030 -Tri: 4990 4992 5035 -Tri: 4990 5035 5031 -Tri: 5005 5006 5036 -Tri: 5005 5036 5033 -Tri: 4999 5000 5037 -Tri: 4999 5037 5034 -Tri: 4992 4993 5038 -Tri: 4992 5038 5035 -Tri: 5006 5007 5039 -Tri: 5006 5039 5036 -Tri: 5000 4893 4896 -Tri: 5000 4896 5037 -Tri: 4993 4994 5018 -Tri: 4993 5018 5038 -Tri: 5007 5008 5020 -Tri: 5007 5020 5039 -Tri: 5040 5041 4952 -Tri: 5040 4952 5042 -Tri: 5041 5043 4953 -Tri: 5041 4953 4952 -Tri: 5043 5044 5045 -Tri: 5043 5045 4953 -Tri: 5044 5046 4970 -Tri: 5044 4970 5045 -Tri: 5046 5047 4971 -Tri: 5046 4971 4970 -Tri: 5047 5048 4973 -Tri: 5047 4973 4971 -Tri: 5048 5049 4974 -Tri: 5048 4974 4973 -Tri: 5049 5050 4947 -Tri: 5049 4947 4974 -Tri: 5050 5051 4948 -Tri: 5050 4948 4947 -Tri: 5051 5052 4963 -Tri: 5051 4963 4948 -Tri: 5052 5053 4964 -Tri: 5052 4964 4963 -Tri: 5053 4944 5054 -Tri: 5053 5054 4964 -Tri: 4944 4943 4980 -Tri: 4944 4980 5055 -Tri: 4943 5056 4981 -Tri: 4943 4981 4980 -Tri: 5056 5057 5058 -Tri: 5056 5058 4981 -Tri: 5057 5059 4954 -Tri: 5057 4954 5058 -Tri: 5059 5060 4955 -Tri: 5059 4955 4954 -Tri: 5060 5061 4987 -Tri: 5060 4987 4955 -Tri: 5061 5062 4972 -Tri: 5061 4972 4987 -Tri: 5062 5063 4965 -Tri: 5062 4965 4972 -Tri: 5063 5064 4956 -Tri: 5063 4956 4965 -Tri: 5064 5065 4957 -Tri: 5064 4957 4956 -Tri: 5065 5066 4986 -Tri: 5065 4986 4957 -Tri: 5066 5040 5042 -Tri: 5066 5042 4986 -Tri: 5067 5068 5069 -Tri: 5067 5069 5070 -Tri: 5048 5047 5071 -Tri: 5048 5071 5072 -Tri: 5064 5063 5073 -Tri: 5064 5073 5074 -Tri: 5056 4943 4946 -Tri: 5056 4946 5075 -Tri: 5049 5048 5072 -Tri: 5049 5072 5076 -Tri: 5065 5064 5074 -Tri: 5065 5074 5077 -Tri: 5057 5056 5075 -Tri: 5057 5075 5078 -Tri: 5050 5049 5076 -Tri: 5050 5076 5079 -Tri: 5066 5065 5077 -Tri: 5066 5077 5080 -Tri: 5041 5040 5081 -Tri: 5041 5081 5082 -Tri: 5059 5057 5078 -Tri: 5059 5078 5083 -Tri: 5051 5050 5079 -Tri: 5051 5079 5084 -Tri: 5040 5066 5080 -Tri: 5040 5080 5081 -Tri: 5043 5041 5082 -Tri: 5043 5082 5085 -Tri: 5060 5059 5083 -Tri: 5060 5083 5086 -Tri: 5052 5051 5084 -Tri: 5052 5084 5087 -Tri: 5044 5043 5085 -Tri: 5044 5085 5088 -Tri: 5061 5060 5086 -Tri: 5061 5086 5089 -Tri: 5053 5052 5087 -Tri: 5053 5087 5090 -Tri: 5046 5044 5088 -Tri: 5046 5088 5091 -Tri: 5062 5061 5089 -Tri: 5062 5089 5092 -Tri: 4944 5053 5090 -Tri: 4944 5090 4945 -Tri: 5047 5046 5091 -Tri: 5047 5091 5071 -Tri: 5063 5062 5092 -Tri: 5063 5092 5073 -Tri: 4961 4960 5093 -Tri: 4961 5093 5094 -Tri: 5095 5096 4950 -Tri: 5095 4950 4949 -Tri: 4978 5097 5098 -Tri: 4978 5098 5099 -Tri: 4968 5095 4949 -Tri: 4968 4949 4969 -Tri: 4710 4951 5100 -Tri: 4710 5100 5101 -Tri: 5102 4983 4982 -Tri: 5102 4982 4989 -Tri: 4711 4710 5101 -Tri: 4711 5101 5103 -Tri: 5104 5102 4989 -Tri: 5104 4989 4988 -Tri: 5105 5106 5107 -Tri: 5105 5107 5108 -Tri: 5109 5110 5111 -Tri: 5109 5111 5112 -Tri: 5113 5114 4984 -Tri: 5113 4984 4976 -Tri: 5115 5116 4966 -Tri: 5115 4966 4959 -Tri: 4977 5113 4976 -Tri: 4977 4976 4975 -Tri: 4962 5115 4959 -Tri: 4962 4959 4958 -Tri: 4960 4967 4985 -Tri: 4960 4985 5093 -Tri: 4979 4978 5099 -Tri: 4979 5099 5117 -Tri: 4948 4963 4969 -Tri: 4948 4969 4949 -Tri: 4929 4964 5107 -Tri: 4929 5107 5106 -Tri: 4937 4936 4983 -Tri: 4937 4983 5102 -Tri: 4986 5042 5099 -Tri: 4986 5099 5098 -Tri: 4970 4708 4711 -Tri: 4970 4711 5103 -Tri: 4938 4937 5102 -Tri: 4938 5102 5104 -Tri: 4924 4923 5114 -Tri: 4924 5114 5113 -Tri: 4964 5054 5108 -Tri: 4964 5108 5107 -Tri: 4972 4938 5104 -Tri: 4972 5104 4988 -Tri: 4954 4935 4961 -Tri: 4954 4961 5094 -Tri: 4925 4924 5113 -Tri: 4925 5113 4977 -Tri: 5055 4980 5112 -Tri: 5055 5112 5111 -Tri: 4940 4939 5116 -Tri: 4940 5116 5115 -Tri: 4926 4947 4950 -Tri: 4926 4950 5096 -Tri: 4923 4971 4984 -Tri: 4923 4984 5114 -Tri: 4941 4940 5115 -Tri: 4941 5115 4962 -Tri: 5042 4952 5117 -Tri: 5042 5117 5099 -Tri: 4927 4926 5096 -Tri: 4927 5096 5095 -Tri: 4981 5058 5093 -Tri: 4981 5093 4985 -Tri: 4939 4965 4966 -Tri: 4939 4966 5116 -Tri: 4942 4986 5098 -Tri: 4942 5098 5097 -Tri: 4928 4927 5095 -Tri: 4928 5095 4968 -Tri: 5058 4954 5094 -Tri: 5058 5094 5093 -Tri: 4980 4932 5109 -Tri: 4980 5109 5112 -Tri: 4920 4942 5097 -Tri: 4920 5097 4978 -Tri: 4953 5045 5101 -Tri: 4953 5101 5100 -Tri: 5045 4970 5103 -Tri: 5045 5103 5101 -Tri: 4952 4921 4979 -Tri: 4952 4979 5117 -Tri: 4930 4929 5106 -Tri: 4930 5106 5105 -Tri: 4955 4987 4989 -Tri: 4955 4989 4982 -Tri: 4922 4953 5100 -Tri: 4922 5100 4951 -Tri: 4932 4931 5110 -Tri: 4932 5110 5109 -Tri: 5118 5119 5120 -Tri: 5118 5120 5121 -Tri: 5122 5123 5124 -Tri: 5122 5124 5125 -Tri: 5126 5127 5128 -Tri: 5126 5128 5129 -Tri: 5130 5131 5132 -Tri: 5130 5132 5133 -Tri: 5123 5067 5070 -Tri: 5123 5070 5124 -Tri: 5134 5122 5125 -Tri: 5134 5125 5135 -Tri: 5136 5126 5129 -Tri: 5136 5129 5137 -Tri: 5138 5130 5133 -Tri: 5138 5133 5139 -Tri: 5140 5134 5135 -Tri: 5140 5135 5141 -Tri: 5142 5136 5137 -Tri: 5142 5137 5143 -Tri: 5144 5138 5139 -Tri: 5144 5139 5145 -Tri: 5146 5140 5141 -Tri: 5146 5141 5147 -Tri: 5148 5142 5143 -Tri: 5148 5143 5149 -Tri: 5150 5144 5145 -Tri: 5150 5145 5151 -Tri: 5152 5146 5147 -Tri: 5152 5147 5153 -Tri: 5154 5148 5149 -Tri: 5154 5149 5155 -Tri: 5156 5150 5151 -Tri: 5156 5151 5157 -Tri: 5158 5152 5153 -Tri: 5158 5153 5159 -Tri: 5160 5154 5155 -Tri: 5160 5155 5161 -Tri: 5162 5156 5157 -Tri: 5162 5157 5163 -Tri: 5164 5158 5159 -Tri: 5164 5159 5165 -Tri: 5068 5160 5161 -Tri: 5068 5161 5069 -Tri: 5127 5162 5163 -Tri: 5127 5163 5128 -Tri: 5131 5164 5165 -Tri: 5131 5165 5132 -Tri: 5166 5167 5125 -Tri: 5166 5125 5124 -Tri: 5167 5168 5135 -Tri: 5167 5135 5125 -Tri: 5168 5169 5141 -Tri: 5168 5141 5135 -Tri: 5169 5170 5147 -Tri: 5169 5147 5141 -Tri: 5170 5171 5153 -Tri: 5170 5153 5147 -Tri: 5171 5172 5159 -Tri: 5171 5159 5153 -Tri: 5172 5173 5165 -Tri: 5172 5165 5159 -Tri: 5173 5174 5132 -Tri: 5173 5132 5165 -Tri: 5174 5119 5133 -Tri: 5174 5133 5132 -Tri: 5119 5118 5139 -Tri: 5119 5139 5133 -Tri: 5118 5175 5145 -Tri: 5118 5145 5139 -Tri: 5175 5176 5151 -Tri: 5175 5151 5145 -Tri: 5176 5177 5157 -Tri: 5176 5157 5151 -Tri: 5177 5178 5163 -Tri: 5177 5163 5157 -Tri: 5178 5179 5128 -Tri: 5178 5128 5163 -Tri: 5179 5180 5129 -Tri: 5179 5129 5128 -Tri: 5180 5181 5137 -Tri: 5180 5137 5129 -Tri: 5181 5182 5143 -Tri: 5181 5143 5137 -Tri: 5182 5183 5149 -Tri: 5182 5149 5143 -Tri: 5183 5184 5155 -Tri: 5183 5155 5149 -Tri: 5184 5185 5161 -Tri: 5184 5161 5155 -Tri: 5185 5186 5069 -Tri: 5185 5069 5161 -Tri: 5186 5187 5070 -Tri: 5186 5070 5069 -Tri: 5187 5166 5124 -Tri: 5187 5124 5070 -Tri: 5188 5189 5190 -Tri: 5188 5190 5191 -Tri: 5169 5168 5192 -Tri: 5169 5192 5193 -Tri: 5182 5181 5194 -Tri: 5182 5194 5195 -Tri: 5175 5118 5121 -Tri: 5175 5121 5196 -Tri: 5170 5169 5193 -Tri: 5170 5193 5197 -Tri: 5183 5182 5195 -Tri: 5183 5195 5198 -Tri: 5176 5175 5196 -Tri: 5176 5196 5199 -Tri: 5171 5170 5197 -Tri: 5171 5197 5200 -Tri: 5184 5183 5198 -Tri: 5184 5198 5201 -Tri: 5177 5176 5199 -Tri: 5177 5199 5202 -Tri: 5172 5171 5200 -Tri: 5172 5200 5203 -Tri: 5185 5184 5201 -Tri: 5185 5201 5204 -Tri: 5178 5177 5202 -Tri: 5178 5202 5205 -Tri: 5173 5172 5203 -Tri: 5173 5203 5206 -Tri: 5186 5185 5204 -Tri: 5186 5204 5207 -Tri: 5179 5178 5205 -Tri: 5179 5205 5208 -Tri: 5174 5173 5206 -Tri: 5174 5206 5209 -Tri: 5187 5186 5207 -Tri: 5187 5207 5210 -Tri: 5167 5166 5211 -Tri: 5167 5211 5212 -Tri: 5180 5179 5208 -Tri: 5180 5208 5213 -Tri: 5119 5174 5209 -Tri: 5119 5209 5120 -Tri: 5166 5187 5210 -Tri: 5166 5210 5211 -Tri: 5168 5167 5212 -Tri: 5168 5212 5192 -Tri: 5181 5180 5213 -Tri: 5181 5213 5194 -Tri: 5214 5215 5212 -Tri: 5214 5212 5211 -Tri: 5215 5216 5192 -Tri: 5215 5192 5212 -Tri: 5216 5217 5193 -Tri: 5216 5193 5192 -Tri: 5217 5218 5197 -Tri: 5217 5197 5193 -Tri: 5218 5219 5200 -Tri: 5218 5200 5197 -Tri: 5219 5220 5203 -Tri: 5219 5203 5200 -Tri: 5220 5221 5206 -Tri: 5220 5206 5203 -Tri: 5221 5222 5209 -Tri: 5221 5209 5206 -Tri: 5222 5223 5120 -Tri: 5222 5120 5209 -Tri: 5223 5224 5121 -Tri: 5223 5121 5120 -Tri: 5224 5225 5196 -Tri: 5224 5196 5121 -Tri: 5225 5226 5199 -Tri: 5225 5199 5196 -Tri: 5226 5227 5202 -Tri: 5226 5202 5199 -Tri: 5227 5228 5205 -Tri: 5227 5205 5202 -Tri: 5228 5229 5208 -Tri: 5228 5208 5205 -Tri: 5229 5189 5213 -Tri: 5229 5213 5208 -Tri: 5189 5188 5194 -Tri: 5189 5194 5213 -Tri: 5188 5230 5195 -Tri: 5188 5195 5194 -Tri: 5230 5231 5198 -Tri: 5230 5198 5195 -Tri: 5231 5232 5201 -Tri: 5231 5201 5198 -Tri: 5232 5233 5204 -Tri: 5232 5204 5201 -Tri: 5233 5234 5207 -Tri: 5233 5207 5204 -Tri: 5234 5235 5210 -Tri: 5234 5210 5207 -Tri: 5235 5214 5211 -Tri: 5235 5211 5210 -Tri: 5236 5237 5238 -Tri: 5236 5238 5239 -Tri: 5236 5239 5240 -Tri: 5236 5240 5241 -Tri: 5236 5241 5242 -Tri: 5236 5242 5243 -Tri: 5236 5243 5244 -Tri: 5236 5244 5245 -Tri: 5236 5245 5246 -Tri: 5236 5246 5247 -Tri: 5236 5247 5248 -Tri: 5236 5248 5249 -Tri: 5236 5249 5250 -Tri: 5236 5250 5251 -Tri: 5236 5251 5252 -Tri: 5236 5252 5253 -Tri: 5236 5253 5254 -Tri: 5236 5254 5255 -Tri: 5236 5255 5256 -Tri: 5236 5256 5257 -Tri: 5236 5257 5258 -Tri: 5236 5258 5259 -Tri: 5224 5223 5260 -Tri: 5224 5260 5261 -Tri: 5217 5216 5262 -Tri: 5217 5262 5263 -Tri: 5230 5188 5191 -Tri: 5230 5191 5264 -Tri: 5225 5224 5261 -Tri: 5225 5261 5265 -Tri: 5218 5217 5263 -Tri: 5218 5263 5266 -Tri: 5231 5230 5264 -Tri: 5231 5264 5267 -Tri: 5226 5225 5265 -Tri: 5226 5265 5268 -Tri: 5219 5218 5266 -Tri: 5219 5266 5269 -Tri: 5232 5231 5267 -Tri: 5232 5267 5270 -Tri: 5227 5226 5268 -Tri: 5227 5268 5271 -Tri: 5220 5219 5269 -Tri: 5220 5269 5272 -Tri: 5233 5232 5270 -Tri: 5233 5270 5273 -Tri: 5228 5227 5271 -Tri: 5228 5271 5274 -Tri: 5221 5220 5272 -Tri: 5221 5272 5275 -Tri: 5234 5233 5273 -Tri: 5234 5273 5276 -Tri: 5229 5228 5274 -Tri: 5229 5274 5277 -Tri: 5222 5221 5275 -Tri: 5222 5275 5278 -Tri: 5235 5234 5276 -Tri: 5235 5276 5279 -Tri: 5215 5214 5280 -Tri: 5215 5280 5281 -Tri: 5189 5229 5277 -Tri: 5189 5277 5190 -Tri: 5223 5222 5278 -Tri: 5223 5278 5260 -Tri: 5214 5235 5279 -Tri: 5214 5279 5280 -Tri: 5216 5215 5281 -Tri: 5216 5281 5262 -Tri: 5282 5283 5284 -Tri: 5282 5284 5285 -Tri: 5286 5282 5285 -Tri: 5286 5285 5287 -Tri: 5288 5286 5287 -Tri: 5288 5287 5289 -Tri: 5290 5288 5289 -Tri: 5290 5289 5291 -Tri: 5013 5290 5291 -Tri: 5013 5291 5292 -Tri: 5014 5013 5292 -Tri: 5014 5292 5293 -Tri: 5294 5014 5293 -Tri: 5294 5293 5295 -Tri: 5296 5294 5295 -Tri: 5296 5295 5297 -Tri: 5298 5296 5297 -Tri: 5298 5297 5299 -Tri: 5300 5298 5299 -Tri: 5300 5299 5301 -Tri: 5302 5300 5301 -Tri: 5302 5301 5303 -Tri: 5304 5302 5303 -Tri: 5304 5303 5305 -Tri: 5306 5307 5308 -Tri: 5306 5308 5309 -Tri: 5310 5306 5309 -Tri: 5310 5309 5311 -Tri: 5312 5310 5311 -Tri: 5312 5311 5313 -Tri: 5314 5312 5313 -Tri: 5314 5313 5315 -Tri: 5316 5314 5315 -Tri: 5316 5315 5317 -Tri: 5318 5316 5317 -Tri: 5318 5317 5319 -Tri: 5320 5318 5319 -Tri: 5320 5319 5321 -Tri: 5322 5320 5321 -Tri: 5322 5321 5323 -Tri: 5324 5322 5323 -Tri: 5324 5323 5325 -Tri: 5326 5324 5325 -Tri: 5326 5325 5327 -Tri: 5328 5326 5327 -Tri: 5328 5327 5329 -Tri: 5283 5328 5329 -Tri: 5283 5329 5284 -Tri: 5328 5283 5330 -Tri: 5328 5330 5331 -Tri: 5322 5324 5332 -Tri: 5322 5332 5333 -Tri: 5306 5310 5334 -Tri: 5306 5334 5335 -Tri: 5014 5294 5336 -Tri: 5014 5336 5015 -Tri: 5324 5326 5337 -Tri: 5324 5337 5332 -Tri: 5310 5312 5338 -Tri: 5310 5338 5334 -Tri: 5294 5296 5339 -Tri: 5294 5339 5336 -Tri: 5326 5328 5331 -Tri: 5326 5331 5337 -Tri: 5312 5314 5340 -Tri: 5312 5340 5338 -Tri: 5296 5298 5341 -Tri: 5296 5341 5339 -Tri: 5342 5343 5344 -Tri: 5342 5344 5345 -Tri: 5314 5316 5346 -Tri: 5314 5346 5340 -Tri: 5298 5300 5347 -Tri: 5298 5347 5341 -Tri: 5282 5286 5348 -Tri: 5282 5348 5349 -Tri: 5286 5288 5350 -Tri: 5286 5350 5348 -Tri: 5316 5318 5351 -Tri: 5316 5351 5346 -Tri: 5300 5302 5352 -Tri: 5300 5352 5347 -Tri: 5288 5290 5353 -Tri: 5288 5353 5350 -Tri: 5318 5320 5354 -Tri: 5318 5354 5351 -Tri: 5302 5304 5355 -Tri: 5302 5355 5352 -Tri: 5290 5013 5016 -Tri: 5290 5016 5353 -Tri: 5320 5322 5333 -Tri: 5320 5333 5354 -Tri: 5307 5306 5335 -Tri: 5307 5335 5356 -Tri: 5330 5349 5357 -Tri: 5330 5357 5358 -Tri: 5358 5357 5359 -Tri: 5358 5359 5360 -Tri: 5360 5359 5361 -Tri: 5360 5361 5362 -Tri: 5349 5348 5363 -Tri: 5349 5363 5357 -Tri: 5357 5363 5364 -Tri: 5357 5364 5359 -Tri: 5359 5364 5365 -Tri: 5359 5365 5361 -Tri: 5348 5350 5366 -Tri: 5348 5366 5363 -Tri: 5363 5366 5367 -Tri: 5363 5367 5364 -Tri: 5364 5367 5368 -Tri: 5364 5368 5365 -Tri: 5350 5353 5369 -Tri: 5350 5369 5366 -Tri: 5366 5369 5370 -Tri: 5366 5370 5367 -Tri: 5367 5370 5344 -Tri: 5367 5344 5368 -Tri: 5353 5016 5371 -Tri: 5353 5371 5369 -Tri: 5369 5371 5372 -Tri: 5369 5372 5370 -Tri: 5370 5372 5345 -Tri: 5370 5345 5344 -Tri: 5016 5015 5373 -Tri: 5016 5373 5371 -Tri: 5371 5373 5374 -Tri: 5371 5374 5372 -Tri: 5372 5374 5342 -Tri: 5372 5342 5345 -Tri: 5015 5336 5375 -Tri: 5015 5375 5373 -Tri: 5373 5375 5376 -Tri: 5373 5376 5374 -Tri: 5374 5376 5377 -Tri: 5374 5377 5342 -Tri: 5336 5339 5378 -Tri: 5336 5378 5375 -Tri: 5375 5378 5379 -Tri: 5375 5379 5376 -Tri: 5376 5379 5380 -Tri: 5376 5380 5377 -Tri: 5339 5341 5381 -Tri: 5339 5381 5378 -Tri: 5378 5381 5382 -Tri: 5378 5382 5379 -Tri: 5379 5382 5383 -Tri: 5379 5383 5380 -Tri: 5341 5347 5384 -Tri: 5341 5384 5381 -Tri: 5381 5384 5385 -Tri: 5381 5385 5382 -Tri: 5382 5385 5386 -Tri: 5382 5386 5383 -Tri: 5347 5352 5387 -Tri: 5347 5387 5384 -Tri: 5384 5387 5388 -Tri: 5384 5388 5385 -Tri: 5385 5388 5389 -Tri: 5385 5389 5386 -Tri: 5352 5355 5390 -Tri: 5352 5390 5387 -Tri: 5387 5390 5391 -Tri: 5387 5391 5388 -Tri: 5388 5391 5392 -Tri: 5388 5392 5389 -Tri: 5356 5335 5393 -Tri: 5356 5393 5394 -Tri: 5394 5393 5395 -Tri: 5394 5395 5396 -Tri: 5396 5395 5397 -Tri: 5396 5397 5392 -Tri: 5335 5334 5398 -Tri: 5335 5398 5393 -Tri: 5393 5398 5399 -Tri: 5393 5399 5395 -Tri: 5395 5399 5400 -Tri: 5395 5400 5397 -Tri: 5334 5338 5401 -Tri: 5334 5401 5398 -Tri: 5398 5401 5402 -Tri: 5398 5402 5399 -Tri: 5399 5402 5403 -Tri: 5399 5403 5400 -Tri: 5338 5340 5404 -Tri: 5338 5404 5401 -Tri: 5401 5404 5405 -Tri: 5401 5405 5402 -Tri: 5402 5405 5406 -Tri: 5402 5406 5403 -Tri: 5340 5346 5407 -Tri: 5340 5407 5404 -Tri: 5404 5407 5408 -Tri: 5404 5408 5405 -Tri: 5405 5408 5409 -Tri: 5405 5409 5406 -Tri: 5346 5351 5410 -Tri: 5346 5410 5407 -Tri: 5407 5410 5411 -Tri: 5407 5411 5408 -Tri: 5408 5411 5412 -Tri: 5408 5412 5409 -Tri: 5351 5354 5413 -Tri: 5351 5413 5410 -Tri: 5410 5413 5414 -Tri: 5410 5414 5411 -Tri: 5411 5414 5415 -Tri: 5411 5415 5412 -Tri: 5354 5333 5416 -Tri: 5354 5416 5413 -Tri: 5413 5416 5417 -Tri: 5413 5417 5414 -Tri: 5414 5417 5418 -Tri: 5414 5418 5415 -Tri: 5333 5332 5419 -Tri: 5333 5419 5416 -Tri: 5416 5419 5420 -Tri: 5416 5420 5417 -Tri: 5417 5420 5421 -Tri: 5417 5421 5418 -Tri: 5332 5337 5422 -Tri: 5332 5422 5419 -Tri: 5419 5422 5423 -Tri: 5419 5423 5420 -Tri: 5420 5423 5424 -Tri: 5420 5424 5421 -Tri: 5337 5331 5425 -Tri: 5337 5425 5422 -Tri: 5422 5425 5426 -Tri: 5422 5426 5423 -Tri: 5423 5426 5427 -Tri: 5423 5427 5424 -Tri: 5331 5330 5358 -Tri: 5331 5358 5425 -Tri: 5425 5358 5360 -Tri: 5425 5360 5426 -Tri: 5426 5360 5362 -Tri: 5426 5362 5427 -Tri: 5283 5282 5349 -Tri: 5283 5349 5330 -Tri: 4811 4813 4863 -Tri: 4811 4863 4870 -Tri: 5343 5428 5368 -Tri: 5343 5368 5344 -Tri: 5428 5429 5365 -Tri: 5428 5365 5368 -Tri: 5429 5430 5361 -Tri: 5429 5361 5365 -Tri: 5430 5431 5362 -Tri: 5430 5362 5361 -Tri: 5431 5424 5427 -Tri: 5431 5427 5362 -Tri: 5377 5432 5343 -Tri: 5377 5343 5342 -Tri: 5432 5433 5428 -Tri: 5432 5428 5343 -Tri: 5433 5434 5429 -Tri: 5433 5429 5428 -Tri: 5434 5435 5430 -Tri: 5434 5430 5429 -Tri: 5435 5436 5431 -Tri: 5435 5431 5430 -Tri: 5436 5421 5424 -Tri: 5436 5424 5431 -Tri: 5380 5437 5432 -Tri: 5380 5432 5377 -Tri: 5437 5438 5433 -Tri: 5437 5433 5432 -Tri: 5438 5439 5434 -Tri: 5438 5434 5433 -Tri: 5439 5440 5435 -Tri: 5439 5435 5434 -Tri: 5440 5441 5436 -Tri: 5440 5436 5435 -Tri: 5441 5418 5421 -Tri: 5441 5421 5436 -Tri: 5383 5442 5437 -Tri: 5383 5437 5380 -Tri: 5442 5443 5438 -Tri: 5442 5438 5437 -Tri: 5443 5444 5439 -Tri: 5443 5439 5438 -Tri: 5444 5445 5440 -Tri: 5444 5440 5439 -Tri: 5445 5446 5441 -Tri: 5445 5441 5440 -Tri: 5446 5415 5418 -Tri: 5446 5418 5441 -Tri: 5386 5447 5442 -Tri: 5386 5442 5383 -Tri: 5447 5448 5443 -Tri: 5447 5443 5442 -Tri: 5448 5449 5444 -Tri: 5448 5444 5443 -Tri: 5449 5450 5445 -Tri: 5449 5445 5444 -Tri: 5450 5451 5446 -Tri: 5450 5446 5445 -Tri: 5451 5412 5415 -Tri: 5451 5415 5446 -Tri: 5389 5392 5447 -Tri: 5389 5447 5386 -Tri: 5392 5397 5448 -Tri: 5392 5448 5447 -Tri: 5397 5400 5449 -Tri: 5397 5449 5448 -Tri: 5400 5403 5450 -Tri: 5400 5450 5449 -Tri: 5403 5406 5451 -Tri: 5403 5451 5450 -Tri: 5406 5409 5412 -Tri: 5406 5412 5451 -Tri: 4816 4819 5452 -Tri: 4816 5452 5453 -Tri: 4871 4870 5454 -Tri: 4871 5454 5455 -Tri: 4886 4890 5456 -Tri: 4886 5456 5457 -Tri: 4882 4884 5458 -Tri: 4882 5458 5459 -Tri: 4842 4836 5460 -Tri: 4842 5460 5461 -Tri: 4830 4833 5462 -Tri: 4830 5462 5463 -Tri: 4827 4864 5464 -Tri: 4827 5464 5465 -Tri: 4878 4881 5466 -Tri: 4878 5466 5467 -Tri: 4846 4874 5468 -Tri: 4846 5468 5469 -Tri: 4858 4850 5470 -Tri: 4858 5470 5471 -Tri: 4819 4840 5472 -Tri: 4819 5472 5452 -Tri: 4889 4871 5455 -Tri: 4889 5455 5473 -Tri: 4887 4886 5457 -Tri: 4887 5457 5474 -Tri: 4880 4882 5459 -Tri: 4880 5459 5475 -Tri: 4836 4828 5476 -Tri: 4836 5476 5460 -Tri: 4820 4823 5477 -Tri: 4820 5477 5478 -Tri: 4864 4867 5479 -Tri: 4864 5479 5464 -Tri: 4872 4878 5467 -Tri: 4872 5467 5480 -Tri: 4847 4846 5469 -Tri: 4847 5469 5481 -Tri: 4850 4844 5482 -Tri: 4850 5482 5470 -Tri: 4840 4834 5483 -Tri: 4840 5483 5472 -Tri: 4885 4889 5473 -Tri: 4885 5473 5484 -Tri: 4869 4868 5485 -Tri: 4869 5485 5486 -Tri: 4877 4880 5475 -Tri: 4877 5475 5487 -Tri: 4876 4875 4857 -Tri: 4876 4857 4856 -Tri: 4853 5488 5489 -Tri: 4853 5489 4854 -Tri: 5488 5490 5491 -Tri: 5488 5491 5489 -Tri: 5490 5492 5493 -Tri: 5490 5493 5491 -Tri: 5492 5494 5495 -Tri: 5492 5495 5493 -Tri: 5494 5496 5497 -Tri: 5494 5497 5495 -Tri: 5496 5498 5499 -Tri: 5496 5499 5497 -Tri: 5498 5500 5501 -Tri: 5498 5501 5499 -Tri: 5500 5502 5503 -Tri: 5500 5503 5501 -Tri: 5502 5504 5505 -Tri: 5502 5505 5503 -Tri: 5504 5506 5507 -Tri: 5504 5507 5505 -Tri: 5506 5508 5509 -Tri: 5506 5509 5507 -Tri: 5510 5511 5512 -Tri: 5510 5512 5513 -Tri: 5511 5514 5515 -Tri: 5511 5515 5512 -Tri: 5514 5516 5517 -Tri: 5514 5517 5515 -Tri: 5516 5518 5519 -Tri: 5516 5519 5517 -Tri: 5518 5520 5521 -Tri: 5518 5521 5519 -Tri: 5520 5522 5523 -Tri: 5520 5523 5521 -Tri: 5522 5524 5525 -Tri: 5522 5525 5523 -Tri: 5524 5526 5527 -Tri: 5524 5527 5525 -Tri: 5526 5528 5529 -Tri: 5526 5529 5527 -Tri: 5528 5530 5531 -Tri: 5528 5531 5529 -Tri: 5530 5532 5533 -Tri: 5530 5533 5531 -Tri: 5532 4852 4855 -Tri: 5532 4855 5533 -Tri: 4792 4858 5471 -Tri: 4792 5471 5534 -Tri: 4863 4862 5535 -Tri: 4863 5535 5536 -Tri: 4874 4879 5537 -Tri: 4874 5537 5468 -Tri: 4881 4883 5538 -Tri: 4881 5538 5466 -Tri: 4824 4827 5465 -Tri: 4824 5465 5539 -Tri: 4838 4830 5463 -Tri: 4838 5463 5540 -Tri: 4848 4842 5461 -Tri: 4848 5461 5541 -Tri: 4884 4888 5542 -Tri: 4884 5542 5458 -Tri: 4890 4873 5543 -Tri: 4890 5543 5456 -Tri: 4870 4863 5536 -Tri: 4870 5536 5454 -Tri: 4876 4856 5544 -Tri: 4876 5544 5545 -Tri: 4860 4816 5453 -Tri: 4860 5453 5546 -Tri: 4789 4792 5534 -Tri: 4789 5534 5547 -Tri: 4856 4848 5541 -Tri: 4856 5541 5544 -Tri: 4862 4877 5487 -Tri: 4862 5487 5535 -Tri: 4879 4869 5486 -Tri: 4879 5486 5537 -Tri: 4883 4885 5484 -Tri: 4883 5484 5538 -Tri: 4834 4824 5539 -Tri: 4834 5539 5483 -Tri: 4844 4838 5540 -Tri: 4844 5540 5482 -Tri: 4888 4847 5481 -Tri: 4888 5481 5542 -Tri: 4873 4872 5480 -Tri: 4873 5480 5543 -Tri: 4867 4876 5545 -Tri: 4867 5545 5479 -Tri: 4823 4860 5546 -Tri: 4823 5546 5477 -Tri: 4828 4789 5547 -Tri: 4828 5547 5476 -Tri: 5548 3824 3764 -Tri: 5548 3764 1904 -Tri: 1983 5548 1904 -Tri: 1983 1904 1903 -Tri: 3825 3824 5548 -Tri: 3825 5548 5549 -Tri: 1982 5549 5548 -Tri: 1982 5548 1983 -Tri: 3784 3860 5550 -Tri: 3784 5550 1937 -Tri: 1938 1937 5550 -Tri: 1938 5550 2017 -Tri: 2087 2086 5551 -Tri: 2087 5551 2111 -Tri: 4634 4383 5552 -Tri: 5553 5554 4012 -Tri: 5553 4012 5555 -Tri: 5556 2174 5557 -Tri: 5556 5557 5558 -Tri: 5559 2171 2174 -Tri: 5559 2174 5556 -Tri: 5554 5560 4013 -Tri: 5554 4013 4012 diff --git a/space-game001plain.html b/proj-web/space-game001plain.html similarity index 100% rename from space-game001plain.html rename to proj-web/space-game001plain.html diff --git a/thirdparty/libzip-1.11.3/.clang-format b/proj-web/thirdparty/libzip-1.11.3/.clang-format similarity index 100% rename from thirdparty/libzip-1.11.3/.clang-format rename to proj-web/thirdparty/libzip-1.11.3/.clang-format diff --git a/thirdparty/libzip-1.11.3/.github/ISSUE_TEMPLATE/bug-report.md b/proj-web/thirdparty/libzip-1.11.3/.github/ISSUE_TEMPLATE/bug-report.md similarity index 100% rename from thirdparty/libzip-1.11.3/.github/ISSUE_TEMPLATE/bug-report.md rename to proj-web/thirdparty/libzip-1.11.3/.github/ISSUE_TEMPLATE/bug-report.md diff --git a/thirdparty/libzip-1.11.3/.github/ISSUE_TEMPLATE/compile-error.md b/proj-web/thirdparty/libzip-1.11.3/.github/ISSUE_TEMPLATE/compile-error.md similarity index 100% rename from thirdparty/libzip-1.11.3/.github/ISSUE_TEMPLATE/compile-error.md rename to proj-web/thirdparty/libzip-1.11.3/.github/ISSUE_TEMPLATE/compile-error.md diff --git a/thirdparty/libzip-1.11.3/.github/ISSUE_TEMPLATE/feature-request.md b/proj-web/thirdparty/libzip-1.11.3/.github/ISSUE_TEMPLATE/feature-request.md similarity index 100% rename from thirdparty/libzip-1.11.3/.github/ISSUE_TEMPLATE/feature-request.md rename to proj-web/thirdparty/libzip-1.11.3/.github/ISSUE_TEMPLATE/feature-request.md diff --git a/thirdparty/libzip-1.11.3/.github/ISSUE_TEMPLATE/other.md b/proj-web/thirdparty/libzip-1.11.3/.github/ISSUE_TEMPLATE/other.md similarity index 100% rename from thirdparty/libzip-1.11.3/.github/ISSUE_TEMPLATE/other.md rename to proj-web/thirdparty/libzip-1.11.3/.github/ISSUE_TEMPLATE/other.md diff --git a/thirdparty/libzip-1.11.3/.github/workflows/CIFuzz.yml b/proj-web/thirdparty/libzip-1.11.3/.github/workflows/CIFuzz.yml similarity index 100% rename from thirdparty/libzip-1.11.3/.github/workflows/CIFuzz.yml rename to proj-web/thirdparty/libzip-1.11.3/.github/workflows/CIFuzz.yml diff --git a/thirdparty/libzip-1.11.3/.github/workflows/bsd.yml b/proj-web/thirdparty/libzip-1.11.3/.github/workflows/bsd.yml similarity index 100% rename from thirdparty/libzip-1.11.3/.github/workflows/bsd.yml rename to proj-web/thirdparty/libzip-1.11.3/.github/workflows/bsd.yml diff --git a/thirdparty/libzip-1.11.3/.github/workflows/build.yml b/proj-web/thirdparty/libzip-1.11.3/.github/workflows/build.yml similarity index 100% rename from thirdparty/libzip-1.11.3/.github/workflows/build.yml rename to proj-web/thirdparty/libzip-1.11.3/.github/workflows/build.yml diff --git a/thirdparty/libzip-1.11.3/.github/workflows/codeql-analysis.yml b/proj-web/thirdparty/libzip-1.11.3/.github/workflows/codeql-analysis.yml similarity index 100% rename from thirdparty/libzip-1.11.3/.github/workflows/codeql-analysis.yml rename to proj-web/thirdparty/libzip-1.11.3/.github/workflows/codeql-analysis.yml diff --git a/thirdparty/libzip-1.11.3/.github/workflows/coverity.yml b/proj-web/thirdparty/libzip-1.11.3/.github/workflows/coverity.yml similarity index 100% rename from thirdparty/libzip-1.11.3/.github/workflows/coverity.yml rename to proj-web/thirdparty/libzip-1.11.3/.github/workflows/coverity.yml diff --git a/thirdparty/libzip-1.11.3/API-CHANGES.md b/proj-web/thirdparty/libzip-1.11.3/API-CHANGES.md similarity index 100% rename from thirdparty/libzip-1.11.3/API-CHANGES.md rename to proj-web/thirdparty/libzip-1.11.3/API-CHANGES.md diff --git a/thirdparty/libzip-1.11.3/AUTHORS b/proj-web/thirdparty/libzip-1.11.3/AUTHORS similarity index 100% rename from thirdparty/libzip-1.11.3/AUTHORS rename to proj-web/thirdparty/libzip-1.11.3/AUTHORS diff --git a/thirdparty/libzip-1.11.3/CMakeLists.txt b/proj-web/thirdparty/libzip-1.11.3/CMakeLists.txt similarity index 100% rename from thirdparty/libzip-1.11.3/CMakeLists.txt rename to proj-web/thirdparty/libzip-1.11.3/CMakeLists.txt diff --git a/thirdparty/libzip-1.11.3/INSTALL.md b/proj-web/thirdparty/libzip-1.11.3/INSTALL.md similarity index 100% rename from thirdparty/libzip-1.11.3/INSTALL.md rename to proj-web/thirdparty/libzip-1.11.3/INSTALL.md diff --git a/thirdparty/libzip-1.11.3/LICENSE b/proj-web/thirdparty/libzip-1.11.3/LICENSE similarity index 100% rename from thirdparty/libzip-1.11.3/LICENSE rename to proj-web/thirdparty/libzip-1.11.3/LICENSE diff --git a/thirdparty/libzip-1.11.3/NEWS.md b/proj-web/thirdparty/libzip-1.11.3/NEWS.md similarity index 100% rename from thirdparty/libzip-1.11.3/NEWS.md rename to proj-web/thirdparty/libzip-1.11.3/NEWS.md diff --git a/thirdparty/libzip-1.11.3/README.md b/proj-web/thirdparty/libzip-1.11.3/README.md similarity index 100% rename from thirdparty/libzip-1.11.3/README.md rename to proj-web/thirdparty/libzip-1.11.3/README.md diff --git a/thirdparty/libzip-1.11.3/SECURITY.md b/proj-web/thirdparty/libzip-1.11.3/SECURITY.md similarity index 100% rename from thirdparty/libzip-1.11.3/SECURITY.md rename to proj-web/thirdparty/libzip-1.11.3/SECURITY.md diff --git a/thirdparty/libzip-1.11.3/THANKS b/proj-web/thirdparty/libzip-1.11.3/THANKS similarity index 100% rename from thirdparty/libzip-1.11.3/THANKS rename to proj-web/thirdparty/libzip-1.11.3/THANKS diff --git a/thirdparty/libzip-1.11.3/TODO.md b/proj-web/thirdparty/libzip-1.11.3/TODO.md similarity index 100% rename from thirdparty/libzip-1.11.3/TODO.md rename to proj-web/thirdparty/libzip-1.11.3/TODO.md diff --git a/thirdparty/libzip-1.11.3/android/do.sh b/proj-web/thirdparty/libzip-1.11.3/android/do.sh similarity index 100% rename from thirdparty/libzip-1.11.3/android/do.sh rename to proj-web/thirdparty/libzip-1.11.3/android/do.sh diff --git a/thirdparty/libzip-1.11.3/android/docker/Dockerfile b/proj-web/thirdparty/libzip-1.11.3/android/docker/Dockerfile similarity index 100% rename from thirdparty/libzip-1.11.3/android/docker/Dockerfile rename to proj-web/thirdparty/libzip-1.11.3/android/docker/Dockerfile diff --git a/thirdparty/libzip-1.11.3/android/readme.txt b/proj-web/thirdparty/libzip-1.11.3/android/readme.txt similarity index 100% rename from thirdparty/libzip-1.11.3/android/readme.txt rename to proj-web/thirdparty/libzip-1.11.3/android/readme.txt diff --git a/thirdparty/libzip-1.11.3/appveyor.yml b/proj-web/thirdparty/libzip-1.11.3/appveyor.yml similarity index 100% rename from thirdparty/libzip-1.11.3/appveyor.yml rename to proj-web/thirdparty/libzip-1.11.3/appveyor.yml diff --git a/thirdparty/libzip-1.11.3/cmake-compat/CMakePushCheckState.cmake b/proj-web/thirdparty/libzip-1.11.3/cmake-compat/CMakePushCheckState.cmake similarity index 100% rename from thirdparty/libzip-1.11.3/cmake-compat/CMakePushCheckState.cmake rename to proj-web/thirdparty/libzip-1.11.3/cmake-compat/CMakePushCheckState.cmake diff --git a/thirdparty/libzip-1.11.3/cmake-compat/CheckLibraryExists.cmake b/proj-web/thirdparty/libzip-1.11.3/cmake-compat/CheckLibraryExists.cmake similarity index 100% rename from thirdparty/libzip-1.11.3/cmake-compat/CheckLibraryExists.cmake rename to proj-web/thirdparty/libzip-1.11.3/cmake-compat/CheckLibraryExists.cmake diff --git a/thirdparty/libzip-1.11.3/cmake-compat/CheckSymbolExists.cmake b/proj-web/thirdparty/libzip-1.11.3/cmake-compat/CheckSymbolExists.cmake similarity index 100% rename from thirdparty/libzip-1.11.3/cmake-compat/CheckSymbolExists.cmake rename to proj-web/thirdparty/libzip-1.11.3/cmake-compat/CheckSymbolExists.cmake diff --git a/thirdparty/libzip-1.11.3/cmake-compat/FindBZip2.cmake b/proj-web/thirdparty/libzip-1.11.3/cmake-compat/FindBZip2.cmake similarity index 100% rename from thirdparty/libzip-1.11.3/cmake-compat/FindBZip2.cmake rename to proj-web/thirdparty/libzip-1.11.3/cmake-compat/FindBZip2.cmake diff --git a/thirdparty/libzip-1.11.3/cmake-compat/FindGnuTLS.cmake b/proj-web/thirdparty/libzip-1.11.3/cmake-compat/FindGnuTLS.cmake similarity index 100% rename from thirdparty/libzip-1.11.3/cmake-compat/FindGnuTLS.cmake rename to proj-web/thirdparty/libzip-1.11.3/cmake-compat/FindGnuTLS.cmake diff --git a/thirdparty/libzip-1.11.3/cmake-compat/FindLibLZMA.cmake b/proj-web/thirdparty/libzip-1.11.3/cmake-compat/FindLibLZMA.cmake similarity index 100% rename from thirdparty/libzip-1.11.3/cmake-compat/FindLibLZMA.cmake rename to proj-web/thirdparty/libzip-1.11.3/cmake-compat/FindLibLZMA.cmake diff --git a/thirdparty/libzip-1.11.3/cmake-compat/FindPackageHandleStandardArgs.cmake b/proj-web/thirdparty/libzip-1.11.3/cmake-compat/FindPackageHandleStandardArgs.cmake similarity index 100% rename from thirdparty/libzip-1.11.3/cmake-compat/FindPackageHandleStandardArgs.cmake rename to proj-web/thirdparty/libzip-1.11.3/cmake-compat/FindPackageHandleStandardArgs.cmake diff --git a/thirdparty/libzip-1.11.3/cmake-compat/FindPackageMessage.cmake b/proj-web/thirdparty/libzip-1.11.3/cmake-compat/FindPackageMessage.cmake similarity index 100% rename from thirdparty/libzip-1.11.3/cmake-compat/FindPackageMessage.cmake rename to proj-web/thirdparty/libzip-1.11.3/cmake-compat/FindPackageMessage.cmake diff --git a/thirdparty/libzip-1.11.3/cmake-compat/SelectLibraryConfigurations.cmake b/proj-web/thirdparty/libzip-1.11.3/cmake-compat/SelectLibraryConfigurations.cmake similarity index 100% rename from thirdparty/libzip-1.11.3/cmake-compat/SelectLibraryConfigurations.cmake rename to proj-web/thirdparty/libzip-1.11.3/cmake-compat/SelectLibraryConfigurations.cmake diff --git a/thirdparty/libzip-1.11.3/cmake/Dist.cmake b/proj-web/thirdparty/libzip-1.11.3/cmake/Dist.cmake similarity index 100% rename from thirdparty/libzip-1.11.3/cmake/Dist.cmake rename to proj-web/thirdparty/libzip-1.11.3/cmake/Dist.cmake diff --git a/thirdparty/libzip-1.11.3/build-emcmake/install/lib/cmake/libzip/modules/FindMbedTLS.cmake b/proj-web/thirdparty/libzip-1.11.3/cmake/FindMbedTLS.cmake similarity index 100% rename from thirdparty/libzip-1.11.3/build-emcmake/install/lib/cmake/libzip/modules/FindMbedTLS.cmake rename to proj-web/thirdparty/libzip-1.11.3/cmake/FindMbedTLS.cmake diff --git a/thirdparty/libzip-1.11.3/build-emcmake/install/lib/cmake/libzip/modules/FindNettle.cmake b/proj-web/thirdparty/libzip-1.11.3/cmake/FindNettle.cmake similarity index 100% rename from thirdparty/libzip-1.11.3/build-emcmake/install/lib/cmake/libzip/modules/FindNettle.cmake rename to proj-web/thirdparty/libzip-1.11.3/cmake/FindNettle.cmake diff --git a/thirdparty/libzip-1.11.3/build-emcmake/install/lib/cmake/libzip/modules/Findzstd.cmake b/proj-web/thirdparty/libzip-1.11.3/cmake/Findzstd.cmake similarity index 100% rename from thirdparty/libzip-1.11.3/build-emcmake/install/lib/cmake/libzip/modules/Findzstd.cmake rename to proj-web/thirdparty/libzip-1.11.3/cmake/Findzstd.cmake diff --git a/thirdparty/libzip-1.11.3/cmake/GenerateZipErrorStrings.cmake b/proj-web/thirdparty/libzip-1.11.3/cmake/GenerateZipErrorStrings.cmake similarity index 100% rename from thirdparty/libzip-1.11.3/cmake/GenerateZipErrorStrings.cmake rename to proj-web/thirdparty/libzip-1.11.3/cmake/GenerateZipErrorStrings.cmake diff --git a/thirdparty/libzip-1.11.3/config.h.in b/proj-web/thirdparty/libzip-1.11.3/config.h.in similarity index 100% rename from thirdparty/libzip-1.11.3/config.h.in rename to proj-web/thirdparty/libzip-1.11.3/config.h.in diff --git a/thirdparty/libzip-1.11.3/examples/CMakeLists.txt b/proj-web/thirdparty/libzip-1.11.3/examples/CMakeLists.txt similarity index 100% rename from thirdparty/libzip-1.11.3/examples/CMakeLists.txt rename to proj-web/thirdparty/libzip-1.11.3/examples/CMakeLists.txt diff --git a/thirdparty/libzip-1.11.3/examples/add-compressed-data.c b/proj-web/thirdparty/libzip-1.11.3/examples/add-compressed-data.c similarity index 100% rename from thirdparty/libzip-1.11.3/examples/add-compressed-data.c rename to proj-web/thirdparty/libzip-1.11.3/examples/add-compressed-data.c diff --git a/thirdparty/libzip-1.11.3/examples/autoclose-archive.c b/proj-web/thirdparty/libzip-1.11.3/examples/autoclose-archive.c similarity index 100% rename from thirdparty/libzip-1.11.3/examples/autoclose-archive.c rename to proj-web/thirdparty/libzip-1.11.3/examples/autoclose-archive.c diff --git a/thirdparty/libzip-1.11.3/examples/cmake-project/CMakeLists.txt b/proj-web/thirdparty/libzip-1.11.3/examples/cmake-project/CMakeLists.txt similarity index 100% rename from thirdparty/libzip-1.11.3/examples/cmake-project/CMakeLists.txt rename to proj-web/thirdparty/libzip-1.11.3/examples/cmake-project/CMakeLists.txt diff --git a/thirdparty/libzip-1.11.3/examples/cmake-project/cmake-example.c b/proj-web/thirdparty/libzip-1.11.3/examples/cmake-project/cmake-example.c similarity index 100% rename from thirdparty/libzip-1.11.3/examples/cmake-project/cmake-example.c rename to proj-web/thirdparty/libzip-1.11.3/examples/cmake-project/cmake-example.c diff --git a/thirdparty/libzip-1.11.3/examples/in-memory.c b/proj-web/thirdparty/libzip-1.11.3/examples/in-memory.c similarity index 100% rename from thirdparty/libzip-1.11.3/examples/in-memory.c rename to proj-web/thirdparty/libzip-1.11.3/examples/in-memory.c diff --git a/thirdparty/libzip-1.11.3/examples/windows-open.c b/proj-web/thirdparty/libzip-1.11.3/examples/windows-open.c similarity index 100% rename from thirdparty/libzip-1.11.3/examples/windows-open.c rename to proj-web/thirdparty/libzip-1.11.3/examples/windows-open.c diff --git a/thirdparty/libzip-1.11.3/lib/CMakeLists.txt b/proj-web/thirdparty/libzip-1.11.3/lib/CMakeLists.txt similarity index 100% rename from thirdparty/libzip-1.11.3/lib/CMakeLists.txt rename to proj-web/thirdparty/libzip-1.11.3/lib/CMakeLists.txt diff --git a/thirdparty/libzip-1.11.3/lib/compat.h b/proj-web/thirdparty/libzip-1.11.3/lib/compat.h similarity index 100% rename from thirdparty/libzip-1.11.3/lib/compat.h rename to proj-web/thirdparty/libzip-1.11.3/lib/compat.h diff --git a/thirdparty/libzip-1.11.3/build-emcmake/install/include/zip.h b/proj-web/thirdparty/libzip-1.11.3/lib/zip.h similarity index 100% rename from thirdparty/libzip-1.11.3/build-emcmake/install/include/zip.h rename to proj-web/thirdparty/libzip-1.11.3/lib/zip.h diff --git a/thirdparty/libzip-1.11.3/lib/zip_add.c b/proj-web/thirdparty/libzip-1.11.3/lib/zip_add.c similarity index 100% rename from thirdparty/libzip-1.11.3/lib/zip_add.c rename to proj-web/thirdparty/libzip-1.11.3/lib/zip_add.c diff --git a/thirdparty/libzip-1.11.3/lib/zip_add_dir.c b/proj-web/thirdparty/libzip-1.11.3/lib/zip_add_dir.c similarity index 100% rename from thirdparty/libzip-1.11.3/lib/zip_add_dir.c rename to proj-web/thirdparty/libzip-1.11.3/lib/zip_add_dir.c diff --git a/thirdparty/libzip-1.11.3/lib/zip_add_entry.c b/proj-web/thirdparty/libzip-1.11.3/lib/zip_add_entry.c similarity index 100% rename from thirdparty/libzip-1.11.3/lib/zip_add_entry.c rename to proj-web/thirdparty/libzip-1.11.3/lib/zip_add_entry.c diff --git a/thirdparty/libzip-1.11.3/lib/zip_algorithm_bzip2.c b/proj-web/thirdparty/libzip-1.11.3/lib/zip_algorithm_bzip2.c similarity index 100% rename from thirdparty/libzip-1.11.3/lib/zip_algorithm_bzip2.c rename to proj-web/thirdparty/libzip-1.11.3/lib/zip_algorithm_bzip2.c diff --git a/thirdparty/libzip-1.11.3/lib/zip_algorithm_deflate.c b/proj-web/thirdparty/libzip-1.11.3/lib/zip_algorithm_deflate.c similarity index 100% rename from thirdparty/libzip-1.11.3/lib/zip_algorithm_deflate.c rename to proj-web/thirdparty/libzip-1.11.3/lib/zip_algorithm_deflate.c diff --git a/thirdparty/libzip-1.11.3/lib/zip_algorithm_xz.c b/proj-web/thirdparty/libzip-1.11.3/lib/zip_algorithm_xz.c similarity index 100% rename from thirdparty/libzip-1.11.3/lib/zip_algorithm_xz.c rename to proj-web/thirdparty/libzip-1.11.3/lib/zip_algorithm_xz.c diff --git a/thirdparty/libzip-1.11.3/lib/zip_algorithm_zstd.c b/proj-web/thirdparty/libzip-1.11.3/lib/zip_algorithm_zstd.c similarity index 100% rename from thirdparty/libzip-1.11.3/lib/zip_algorithm_zstd.c rename to proj-web/thirdparty/libzip-1.11.3/lib/zip_algorithm_zstd.c diff --git a/thirdparty/libzip-1.11.3/lib/zip_buffer.c b/proj-web/thirdparty/libzip-1.11.3/lib/zip_buffer.c similarity index 100% rename from thirdparty/libzip-1.11.3/lib/zip_buffer.c rename to proj-web/thirdparty/libzip-1.11.3/lib/zip_buffer.c diff --git a/thirdparty/libzip-1.11.3/lib/zip_close.c b/proj-web/thirdparty/libzip-1.11.3/lib/zip_close.c similarity index 100% rename from thirdparty/libzip-1.11.3/lib/zip_close.c rename to proj-web/thirdparty/libzip-1.11.3/lib/zip_close.c diff --git a/thirdparty/libzip-1.11.3/lib/zip_crypto.h b/proj-web/thirdparty/libzip-1.11.3/lib/zip_crypto.h similarity index 100% rename from thirdparty/libzip-1.11.3/lib/zip_crypto.h rename to proj-web/thirdparty/libzip-1.11.3/lib/zip_crypto.h diff --git a/thirdparty/libzip-1.11.3/lib/zip_crypto_commoncrypto.c b/proj-web/thirdparty/libzip-1.11.3/lib/zip_crypto_commoncrypto.c similarity index 100% rename from thirdparty/libzip-1.11.3/lib/zip_crypto_commoncrypto.c rename to proj-web/thirdparty/libzip-1.11.3/lib/zip_crypto_commoncrypto.c diff --git a/thirdparty/libzip-1.11.3/lib/zip_crypto_commoncrypto.h b/proj-web/thirdparty/libzip-1.11.3/lib/zip_crypto_commoncrypto.h similarity index 100% rename from thirdparty/libzip-1.11.3/lib/zip_crypto_commoncrypto.h rename to proj-web/thirdparty/libzip-1.11.3/lib/zip_crypto_commoncrypto.h diff --git a/thirdparty/libzip-1.11.3/lib/zip_crypto_gnutls.c b/proj-web/thirdparty/libzip-1.11.3/lib/zip_crypto_gnutls.c similarity index 100% rename from thirdparty/libzip-1.11.3/lib/zip_crypto_gnutls.c rename to proj-web/thirdparty/libzip-1.11.3/lib/zip_crypto_gnutls.c diff --git a/thirdparty/libzip-1.11.3/lib/zip_crypto_gnutls.h b/proj-web/thirdparty/libzip-1.11.3/lib/zip_crypto_gnutls.h similarity index 100% rename from thirdparty/libzip-1.11.3/lib/zip_crypto_gnutls.h rename to proj-web/thirdparty/libzip-1.11.3/lib/zip_crypto_gnutls.h diff --git a/thirdparty/libzip-1.11.3/lib/zip_crypto_mbedtls.c b/proj-web/thirdparty/libzip-1.11.3/lib/zip_crypto_mbedtls.c similarity index 100% rename from thirdparty/libzip-1.11.3/lib/zip_crypto_mbedtls.c rename to proj-web/thirdparty/libzip-1.11.3/lib/zip_crypto_mbedtls.c diff --git a/thirdparty/libzip-1.11.3/lib/zip_crypto_mbedtls.h b/proj-web/thirdparty/libzip-1.11.3/lib/zip_crypto_mbedtls.h similarity index 100% rename from thirdparty/libzip-1.11.3/lib/zip_crypto_mbedtls.h rename to proj-web/thirdparty/libzip-1.11.3/lib/zip_crypto_mbedtls.h diff --git a/thirdparty/libzip-1.11.3/lib/zip_crypto_openssl.c b/proj-web/thirdparty/libzip-1.11.3/lib/zip_crypto_openssl.c similarity index 100% rename from thirdparty/libzip-1.11.3/lib/zip_crypto_openssl.c rename to proj-web/thirdparty/libzip-1.11.3/lib/zip_crypto_openssl.c diff --git a/thirdparty/libzip-1.11.3/lib/zip_crypto_openssl.h b/proj-web/thirdparty/libzip-1.11.3/lib/zip_crypto_openssl.h similarity index 100% rename from thirdparty/libzip-1.11.3/lib/zip_crypto_openssl.h rename to proj-web/thirdparty/libzip-1.11.3/lib/zip_crypto_openssl.h diff --git a/thirdparty/libzip-1.11.3/lib/zip_crypto_win.c b/proj-web/thirdparty/libzip-1.11.3/lib/zip_crypto_win.c similarity index 100% rename from thirdparty/libzip-1.11.3/lib/zip_crypto_win.c rename to proj-web/thirdparty/libzip-1.11.3/lib/zip_crypto_win.c diff --git a/thirdparty/libzip-1.11.3/lib/zip_crypto_win.h b/proj-web/thirdparty/libzip-1.11.3/lib/zip_crypto_win.h similarity index 100% rename from thirdparty/libzip-1.11.3/lib/zip_crypto_win.h rename to proj-web/thirdparty/libzip-1.11.3/lib/zip_crypto_win.h diff --git a/thirdparty/libzip-1.11.3/lib/zip_delete.c b/proj-web/thirdparty/libzip-1.11.3/lib/zip_delete.c similarity index 100% rename from thirdparty/libzip-1.11.3/lib/zip_delete.c rename to proj-web/thirdparty/libzip-1.11.3/lib/zip_delete.c diff --git a/thirdparty/libzip-1.11.3/lib/zip_dir_add.c b/proj-web/thirdparty/libzip-1.11.3/lib/zip_dir_add.c similarity index 100% rename from thirdparty/libzip-1.11.3/lib/zip_dir_add.c rename to proj-web/thirdparty/libzip-1.11.3/lib/zip_dir_add.c diff --git a/thirdparty/libzip-1.11.3/lib/zip_dirent.c b/proj-web/thirdparty/libzip-1.11.3/lib/zip_dirent.c similarity index 100% rename from thirdparty/libzip-1.11.3/lib/zip_dirent.c rename to proj-web/thirdparty/libzip-1.11.3/lib/zip_dirent.c diff --git a/thirdparty/libzip-1.11.3/lib/zip_discard.c b/proj-web/thirdparty/libzip-1.11.3/lib/zip_discard.c similarity index 100% rename from thirdparty/libzip-1.11.3/lib/zip_discard.c rename to proj-web/thirdparty/libzip-1.11.3/lib/zip_discard.c diff --git a/thirdparty/libzip-1.11.3/lib/zip_entry.c b/proj-web/thirdparty/libzip-1.11.3/lib/zip_entry.c similarity index 100% rename from thirdparty/libzip-1.11.3/lib/zip_entry.c rename to proj-web/thirdparty/libzip-1.11.3/lib/zip_entry.c diff --git a/thirdparty/libzip-1.11.3/lib/zip_error.c b/proj-web/thirdparty/libzip-1.11.3/lib/zip_error.c similarity index 100% rename from thirdparty/libzip-1.11.3/lib/zip_error.c rename to proj-web/thirdparty/libzip-1.11.3/lib/zip_error.c diff --git a/thirdparty/libzip-1.11.3/lib/zip_error_clear.c b/proj-web/thirdparty/libzip-1.11.3/lib/zip_error_clear.c similarity index 100% rename from thirdparty/libzip-1.11.3/lib/zip_error_clear.c rename to proj-web/thirdparty/libzip-1.11.3/lib/zip_error_clear.c diff --git a/thirdparty/libzip-1.11.3/lib/zip_error_get.c b/proj-web/thirdparty/libzip-1.11.3/lib/zip_error_get.c similarity index 100% rename from thirdparty/libzip-1.11.3/lib/zip_error_get.c rename to proj-web/thirdparty/libzip-1.11.3/lib/zip_error_get.c diff --git a/thirdparty/libzip-1.11.3/lib/zip_error_get_sys_type.c b/proj-web/thirdparty/libzip-1.11.3/lib/zip_error_get_sys_type.c similarity index 100% rename from thirdparty/libzip-1.11.3/lib/zip_error_get_sys_type.c rename to proj-web/thirdparty/libzip-1.11.3/lib/zip_error_get_sys_type.c diff --git a/thirdparty/libzip-1.11.3/lib/zip_error_strerror.c b/proj-web/thirdparty/libzip-1.11.3/lib/zip_error_strerror.c similarity index 100% rename from thirdparty/libzip-1.11.3/lib/zip_error_strerror.c rename to proj-web/thirdparty/libzip-1.11.3/lib/zip_error_strerror.c diff --git a/thirdparty/libzip-1.11.3/lib/zip_error_to_str.c b/proj-web/thirdparty/libzip-1.11.3/lib/zip_error_to_str.c similarity index 100% rename from thirdparty/libzip-1.11.3/lib/zip_error_to_str.c rename to proj-web/thirdparty/libzip-1.11.3/lib/zip_error_to_str.c diff --git a/thirdparty/libzip-1.11.3/lib/zip_extra_field.c b/proj-web/thirdparty/libzip-1.11.3/lib/zip_extra_field.c similarity index 100% rename from thirdparty/libzip-1.11.3/lib/zip_extra_field.c rename to proj-web/thirdparty/libzip-1.11.3/lib/zip_extra_field.c diff --git a/thirdparty/libzip-1.11.3/lib/zip_extra_field_api.c b/proj-web/thirdparty/libzip-1.11.3/lib/zip_extra_field_api.c similarity index 100% rename from thirdparty/libzip-1.11.3/lib/zip_extra_field_api.c rename to proj-web/thirdparty/libzip-1.11.3/lib/zip_extra_field_api.c diff --git a/thirdparty/libzip-1.11.3/lib/zip_fclose.c b/proj-web/thirdparty/libzip-1.11.3/lib/zip_fclose.c similarity index 100% rename from thirdparty/libzip-1.11.3/lib/zip_fclose.c rename to proj-web/thirdparty/libzip-1.11.3/lib/zip_fclose.c diff --git a/thirdparty/libzip-1.11.3/lib/zip_fdopen.c b/proj-web/thirdparty/libzip-1.11.3/lib/zip_fdopen.c similarity index 100% rename from thirdparty/libzip-1.11.3/lib/zip_fdopen.c rename to proj-web/thirdparty/libzip-1.11.3/lib/zip_fdopen.c diff --git a/thirdparty/libzip-1.11.3/lib/zip_file_add.c b/proj-web/thirdparty/libzip-1.11.3/lib/zip_file_add.c similarity index 100% rename from thirdparty/libzip-1.11.3/lib/zip_file_add.c rename to proj-web/thirdparty/libzip-1.11.3/lib/zip_file_add.c diff --git a/thirdparty/libzip-1.11.3/lib/zip_file_error_clear.c b/proj-web/thirdparty/libzip-1.11.3/lib/zip_file_error_clear.c similarity index 100% rename from thirdparty/libzip-1.11.3/lib/zip_file_error_clear.c rename to proj-web/thirdparty/libzip-1.11.3/lib/zip_file_error_clear.c diff --git a/thirdparty/libzip-1.11.3/lib/zip_file_error_get.c b/proj-web/thirdparty/libzip-1.11.3/lib/zip_file_error_get.c similarity index 100% rename from thirdparty/libzip-1.11.3/lib/zip_file_error_get.c rename to proj-web/thirdparty/libzip-1.11.3/lib/zip_file_error_get.c diff --git a/thirdparty/libzip-1.11.3/lib/zip_file_get_comment.c b/proj-web/thirdparty/libzip-1.11.3/lib/zip_file_get_comment.c similarity index 100% rename from thirdparty/libzip-1.11.3/lib/zip_file_get_comment.c rename to proj-web/thirdparty/libzip-1.11.3/lib/zip_file_get_comment.c diff --git a/thirdparty/libzip-1.11.3/lib/zip_file_get_external_attributes.c b/proj-web/thirdparty/libzip-1.11.3/lib/zip_file_get_external_attributes.c similarity index 100% rename from thirdparty/libzip-1.11.3/lib/zip_file_get_external_attributes.c rename to proj-web/thirdparty/libzip-1.11.3/lib/zip_file_get_external_attributes.c diff --git a/thirdparty/libzip-1.11.3/lib/zip_file_get_offset.c b/proj-web/thirdparty/libzip-1.11.3/lib/zip_file_get_offset.c similarity index 100% rename from thirdparty/libzip-1.11.3/lib/zip_file_get_offset.c rename to proj-web/thirdparty/libzip-1.11.3/lib/zip_file_get_offset.c diff --git a/thirdparty/libzip-1.11.3/lib/zip_file_rename.c b/proj-web/thirdparty/libzip-1.11.3/lib/zip_file_rename.c similarity index 100% rename from thirdparty/libzip-1.11.3/lib/zip_file_rename.c rename to proj-web/thirdparty/libzip-1.11.3/lib/zip_file_rename.c diff --git a/thirdparty/libzip-1.11.3/lib/zip_file_replace.c b/proj-web/thirdparty/libzip-1.11.3/lib/zip_file_replace.c similarity index 100% rename from thirdparty/libzip-1.11.3/lib/zip_file_replace.c rename to proj-web/thirdparty/libzip-1.11.3/lib/zip_file_replace.c diff --git a/thirdparty/libzip-1.11.3/lib/zip_file_set_comment.c b/proj-web/thirdparty/libzip-1.11.3/lib/zip_file_set_comment.c similarity index 100% rename from thirdparty/libzip-1.11.3/lib/zip_file_set_comment.c rename to proj-web/thirdparty/libzip-1.11.3/lib/zip_file_set_comment.c diff --git a/thirdparty/libzip-1.11.3/lib/zip_file_set_encryption.c b/proj-web/thirdparty/libzip-1.11.3/lib/zip_file_set_encryption.c similarity index 100% rename from thirdparty/libzip-1.11.3/lib/zip_file_set_encryption.c rename to proj-web/thirdparty/libzip-1.11.3/lib/zip_file_set_encryption.c diff --git a/thirdparty/libzip-1.11.3/lib/zip_file_set_external_attributes.c b/proj-web/thirdparty/libzip-1.11.3/lib/zip_file_set_external_attributes.c similarity index 100% rename from thirdparty/libzip-1.11.3/lib/zip_file_set_external_attributes.c rename to proj-web/thirdparty/libzip-1.11.3/lib/zip_file_set_external_attributes.c diff --git a/thirdparty/libzip-1.11.3/lib/zip_file_set_mtime.c b/proj-web/thirdparty/libzip-1.11.3/lib/zip_file_set_mtime.c similarity index 100% rename from thirdparty/libzip-1.11.3/lib/zip_file_set_mtime.c rename to proj-web/thirdparty/libzip-1.11.3/lib/zip_file_set_mtime.c diff --git a/thirdparty/libzip-1.11.3/lib/zip_file_strerror.c b/proj-web/thirdparty/libzip-1.11.3/lib/zip_file_strerror.c similarity index 100% rename from thirdparty/libzip-1.11.3/lib/zip_file_strerror.c rename to proj-web/thirdparty/libzip-1.11.3/lib/zip_file_strerror.c diff --git a/thirdparty/libzip-1.11.3/lib/zip_fopen.c b/proj-web/thirdparty/libzip-1.11.3/lib/zip_fopen.c similarity index 100% rename from thirdparty/libzip-1.11.3/lib/zip_fopen.c rename to proj-web/thirdparty/libzip-1.11.3/lib/zip_fopen.c diff --git a/thirdparty/libzip-1.11.3/lib/zip_fopen_encrypted.c b/proj-web/thirdparty/libzip-1.11.3/lib/zip_fopen_encrypted.c similarity index 100% rename from thirdparty/libzip-1.11.3/lib/zip_fopen_encrypted.c rename to proj-web/thirdparty/libzip-1.11.3/lib/zip_fopen_encrypted.c diff --git a/thirdparty/libzip-1.11.3/lib/zip_fopen_index.c b/proj-web/thirdparty/libzip-1.11.3/lib/zip_fopen_index.c similarity index 100% rename from thirdparty/libzip-1.11.3/lib/zip_fopen_index.c rename to proj-web/thirdparty/libzip-1.11.3/lib/zip_fopen_index.c diff --git a/thirdparty/libzip-1.11.3/lib/zip_fopen_index_encrypted.c b/proj-web/thirdparty/libzip-1.11.3/lib/zip_fopen_index_encrypted.c similarity index 100% rename from thirdparty/libzip-1.11.3/lib/zip_fopen_index_encrypted.c rename to proj-web/thirdparty/libzip-1.11.3/lib/zip_fopen_index_encrypted.c diff --git a/thirdparty/libzip-1.11.3/lib/zip_fread.c b/proj-web/thirdparty/libzip-1.11.3/lib/zip_fread.c similarity index 100% rename from thirdparty/libzip-1.11.3/lib/zip_fread.c rename to proj-web/thirdparty/libzip-1.11.3/lib/zip_fread.c diff --git a/thirdparty/libzip-1.11.3/lib/zip_fseek.c b/proj-web/thirdparty/libzip-1.11.3/lib/zip_fseek.c similarity index 100% rename from thirdparty/libzip-1.11.3/lib/zip_fseek.c rename to proj-web/thirdparty/libzip-1.11.3/lib/zip_fseek.c diff --git a/thirdparty/libzip-1.11.3/lib/zip_ftell.c b/proj-web/thirdparty/libzip-1.11.3/lib/zip_ftell.c similarity index 100% rename from thirdparty/libzip-1.11.3/lib/zip_ftell.c rename to proj-web/thirdparty/libzip-1.11.3/lib/zip_ftell.c diff --git a/thirdparty/libzip-1.11.3/lib/zip_get_archive_comment.c b/proj-web/thirdparty/libzip-1.11.3/lib/zip_get_archive_comment.c similarity index 100% rename from thirdparty/libzip-1.11.3/lib/zip_get_archive_comment.c rename to proj-web/thirdparty/libzip-1.11.3/lib/zip_get_archive_comment.c diff --git a/thirdparty/libzip-1.11.3/lib/zip_get_archive_flag.c b/proj-web/thirdparty/libzip-1.11.3/lib/zip_get_archive_flag.c similarity index 100% rename from thirdparty/libzip-1.11.3/lib/zip_get_archive_flag.c rename to proj-web/thirdparty/libzip-1.11.3/lib/zip_get_archive_flag.c diff --git a/thirdparty/libzip-1.11.3/lib/zip_get_encryption_implementation.c b/proj-web/thirdparty/libzip-1.11.3/lib/zip_get_encryption_implementation.c similarity index 100% rename from thirdparty/libzip-1.11.3/lib/zip_get_encryption_implementation.c rename to proj-web/thirdparty/libzip-1.11.3/lib/zip_get_encryption_implementation.c diff --git a/thirdparty/libzip-1.11.3/lib/zip_get_file_comment.c b/proj-web/thirdparty/libzip-1.11.3/lib/zip_get_file_comment.c similarity index 100% rename from thirdparty/libzip-1.11.3/lib/zip_get_file_comment.c rename to proj-web/thirdparty/libzip-1.11.3/lib/zip_get_file_comment.c diff --git a/thirdparty/libzip-1.11.3/lib/zip_get_name.c b/proj-web/thirdparty/libzip-1.11.3/lib/zip_get_name.c similarity index 100% rename from thirdparty/libzip-1.11.3/lib/zip_get_name.c rename to proj-web/thirdparty/libzip-1.11.3/lib/zip_get_name.c diff --git a/thirdparty/libzip-1.11.3/lib/zip_get_num_entries.c b/proj-web/thirdparty/libzip-1.11.3/lib/zip_get_num_entries.c similarity index 100% rename from thirdparty/libzip-1.11.3/lib/zip_get_num_entries.c rename to proj-web/thirdparty/libzip-1.11.3/lib/zip_get_num_entries.c diff --git a/thirdparty/libzip-1.11.3/lib/zip_get_num_files.c b/proj-web/thirdparty/libzip-1.11.3/lib/zip_get_num_files.c similarity index 100% rename from thirdparty/libzip-1.11.3/lib/zip_get_num_files.c rename to proj-web/thirdparty/libzip-1.11.3/lib/zip_get_num_files.c diff --git a/thirdparty/libzip-1.11.3/lib/zip_hash.c b/proj-web/thirdparty/libzip-1.11.3/lib/zip_hash.c similarity index 100% rename from thirdparty/libzip-1.11.3/lib/zip_hash.c rename to proj-web/thirdparty/libzip-1.11.3/lib/zip_hash.c diff --git a/thirdparty/libzip-1.11.3/lib/zip_io_util.c b/proj-web/thirdparty/libzip-1.11.3/lib/zip_io_util.c similarity index 100% rename from thirdparty/libzip-1.11.3/lib/zip_io_util.c rename to proj-web/thirdparty/libzip-1.11.3/lib/zip_io_util.c diff --git a/thirdparty/libzip-1.11.3/lib/zip_libzip_version.c b/proj-web/thirdparty/libzip-1.11.3/lib/zip_libzip_version.c similarity index 100% rename from thirdparty/libzip-1.11.3/lib/zip_libzip_version.c rename to proj-web/thirdparty/libzip-1.11.3/lib/zip_libzip_version.c diff --git a/thirdparty/libzip-1.11.3/lib/zip_memdup.c b/proj-web/thirdparty/libzip-1.11.3/lib/zip_memdup.c similarity index 100% rename from thirdparty/libzip-1.11.3/lib/zip_memdup.c rename to proj-web/thirdparty/libzip-1.11.3/lib/zip_memdup.c diff --git a/thirdparty/libzip-1.11.3/lib/zip_name_locate.c b/proj-web/thirdparty/libzip-1.11.3/lib/zip_name_locate.c similarity index 100% rename from thirdparty/libzip-1.11.3/lib/zip_name_locate.c rename to proj-web/thirdparty/libzip-1.11.3/lib/zip_name_locate.c diff --git a/thirdparty/libzip-1.11.3/lib/zip_new.c b/proj-web/thirdparty/libzip-1.11.3/lib/zip_new.c similarity index 100% rename from thirdparty/libzip-1.11.3/lib/zip_new.c rename to proj-web/thirdparty/libzip-1.11.3/lib/zip_new.c diff --git a/thirdparty/libzip-1.11.3/lib/zip_open.c b/proj-web/thirdparty/libzip-1.11.3/lib/zip_open.c similarity index 100% rename from thirdparty/libzip-1.11.3/lib/zip_open.c rename to proj-web/thirdparty/libzip-1.11.3/lib/zip_open.c diff --git a/thirdparty/libzip-1.11.3/lib/zip_pkware.c b/proj-web/thirdparty/libzip-1.11.3/lib/zip_pkware.c similarity index 100% rename from thirdparty/libzip-1.11.3/lib/zip_pkware.c rename to proj-web/thirdparty/libzip-1.11.3/lib/zip_pkware.c diff --git a/thirdparty/libzip-1.11.3/lib/zip_progress.c b/proj-web/thirdparty/libzip-1.11.3/lib/zip_progress.c similarity index 100% rename from thirdparty/libzip-1.11.3/lib/zip_progress.c rename to proj-web/thirdparty/libzip-1.11.3/lib/zip_progress.c diff --git a/thirdparty/libzip-1.11.3/lib/zip_random_unix.c b/proj-web/thirdparty/libzip-1.11.3/lib/zip_random_unix.c similarity index 100% rename from thirdparty/libzip-1.11.3/lib/zip_random_unix.c rename to proj-web/thirdparty/libzip-1.11.3/lib/zip_random_unix.c diff --git a/thirdparty/libzip-1.11.3/lib/zip_random_uwp.c b/proj-web/thirdparty/libzip-1.11.3/lib/zip_random_uwp.c similarity index 100% rename from thirdparty/libzip-1.11.3/lib/zip_random_uwp.c rename to proj-web/thirdparty/libzip-1.11.3/lib/zip_random_uwp.c diff --git a/thirdparty/libzip-1.11.3/lib/zip_random_win32.c b/proj-web/thirdparty/libzip-1.11.3/lib/zip_random_win32.c similarity index 100% rename from thirdparty/libzip-1.11.3/lib/zip_random_win32.c rename to proj-web/thirdparty/libzip-1.11.3/lib/zip_random_win32.c diff --git a/thirdparty/libzip-1.11.3/lib/zip_rename.c b/proj-web/thirdparty/libzip-1.11.3/lib/zip_rename.c similarity index 100% rename from thirdparty/libzip-1.11.3/lib/zip_rename.c rename to proj-web/thirdparty/libzip-1.11.3/lib/zip_rename.c diff --git a/thirdparty/libzip-1.11.3/lib/zip_replace.c b/proj-web/thirdparty/libzip-1.11.3/lib/zip_replace.c similarity index 100% rename from thirdparty/libzip-1.11.3/lib/zip_replace.c rename to proj-web/thirdparty/libzip-1.11.3/lib/zip_replace.c diff --git a/thirdparty/libzip-1.11.3/lib/zip_set_archive_comment.c b/proj-web/thirdparty/libzip-1.11.3/lib/zip_set_archive_comment.c similarity index 100% rename from thirdparty/libzip-1.11.3/lib/zip_set_archive_comment.c rename to proj-web/thirdparty/libzip-1.11.3/lib/zip_set_archive_comment.c diff --git a/thirdparty/libzip-1.11.3/lib/zip_set_archive_flag.c b/proj-web/thirdparty/libzip-1.11.3/lib/zip_set_archive_flag.c similarity index 100% rename from thirdparty/libzip-1.11.3/lib/zip_set_archive_flag.c rename to proj-web/thirdparty/libzip-1.11.3/lib/zip_set_archive_flag.c diff --git a/thirdparty/libzip-1.11.3/lib/zip_set_default_password.c b/proj-web/thirdparty/libzip-1.11.3/lib/zip_set_default_password.c similarity index 100% rename from thirdparty/libzip-1.11.3/lib/zip_set_default_password.c rename to proj-web/thirdparty/libzip-1.11.3/lib/zip_set_default_password.c diff --git a/thirdparty/libzip-1.11.3/lib/zip_set_file_comment.c b/proj-web/thirdparty/libzip-1.11.3/lib/zip_set_file_comment.c similarity index 100% rename from thirdparty/libzip-1.11.3/lib/zip_set_file_comment.c rename to proj-web/thirdparty/libzip-1.11.3/lib/zip_set_file_comment.c diff --git a/thirdparty/libzip-1.11.3/lib/zip_set_file_compression.c b/proj-web/thirdparty/libzip-1.11.3/lib/zip_set_file_compression.c similarity index 100% rename from thirdparty/libzip-1.11.3/lib/zip_set_file_compression.c rename to proj-web/thirdparty/libzip-1.11.3/lib/zip_set_file_compression.c diff --git a/thirdparty/libzip-1.11.3/lib/zip_set_name.c b/proj-web/thirdparty/libzip-1.11.3/lib/zip_set_name.c similarity index 100% rename from thirdparty/libzip-1.11.3/lib/zip_set_name.c rename to proj-web/thirdparty/libzip-1.11.3/lib/zip_set_name.c diff --git a/thirdparty/libzip-1.11.3/lib/zip_source_accept_empty.c b/proj-web/thirdparty/libzip-1.11.3/lib/zip_source_accept_empty.c similarity index 100% rename from thirdparty/libzip-1.11.3/lib/zip_source_accept_empty.c rename to proj-web/thirdparty/libzip-1.11.3/lib/zip_source_accept_empty.c diff --git a/thirdparty/libzip-1.11.3/lib/zip_source_begin_write.c b/proj-web/thirdparty/libzip-1.11.3/lib/zip_source_begin_write.c similarity index 100% rename from thirdparty/libzip-1.11.3/lib/zip_source_begin_write.c rename to proj-web/thirdparty/libzip-1.11.3/lib/zip_source_begin_write.c diff --git a/thirdparty/libzip-1.11.3/lib/zip_source_begin_write_cloning.c b/proj-web/thirdparty/libzip-1.11.3/lib/zip_source_begin_write_cloning.c similarity index 100% rename from thirdparty/libzip-1.11.3/lib/zip_source_begin_write_cloning.c rename to proj-web/thirdparty/libzip-1.11.3/lib/zip_source_begin_write_cloning.c diff --git a/thirdparty/libzip-1.11.3/lib/zip_source_buffer.c b/proj-web/thirdparty/libzip-1.11.3/lib/zip_source_buffer.c similarity index 100% rename from thirdparty/libzip-1.11.3/lib/zip_source_buffer.c rename to proj-web/thirdparty/libzip-1.11.3/lib/zip_source_buffer.c diff --git a/thirdparty/libzip-1.11.3/lib/zip_source_call.c b/proj-web/thirdparty/libzip-1.11.3/lib/zip_source_call.c similarity index 100% rename from thirdparty/libzip-1.11.3/lib/zip_source_call.c rename to proj-web/thirdparty/libzip-1.11.3/lib/zip_source_call.c diff --git a/thirdparty/libzip-1.11.3/lib/zip_source_close.c b/proj-web/thirdparty/libzip-1.11.3/lib/zip_source_close.c similarity index 100% rename from thirdparty/libzip-1.11.3/lib/zip_source_close.c rename to proj-web/thirdparty/libzip-1.11.3/lib/zip_source_close.c diff --git a/thirdparty/libzip-1.11.3/lib/zip_source_commit_write.c b/proj-web/thirdparty/libzip-1.11.3/lib/zip_source_commit_write.c similarity index 100% rename from thirdparty/libzip-1.11.3/lib/zip_source_commit_write.c rename to proj-web/thirdparty/libzip-1.11.3/lib/zip_source_commit_write.c diff --git a/thirdparty/libzip-1.11.3/lib/zip_source_compress.c b/proj-web/thirdparty/libzip-1.11.3/lib/zip_source_compress.c similarity index 100% rename from thirdparty/libzip-1.11.3/lib/zip_source_compress.c rename to proj-web/thirdparty/libzip-1.11.3/lib/zip_source_compress.c diff --git a/thirdparty/libzip-1.11.3/lib/zip_source_crc.c b/proj-web/thirdparty/libzip-1.11.3/lib/zip_source_crc.c similarity index 100% rename from thirdparty/libzip-1.11.3/lib/zip_source_crc.c rename to proj-web/thirdparty/libzip-1.11.3/lib/zip_source_crc.c diff --git a/thirdparty/libzip-1.11.3/lib/zip_source_error.c b/proj-web/thirdparty/libzip-1.11.3/lib/zip_source_error.c similarity index 100% rename from thirdparty/libzip-1.11.3/lib/zip_source_error.c rename to proj-web/thirdparty/libzip-1.11.3/lib/zip_source_error.c diff --git a/thirdparty/libzip-1.11.3/lib/zip_source_file.h b/proj-web/thirdparty/libzip-1.11.3/lib/zip_source_file.h similarity index 100% rename from thirdparty/libzip-1.11.3/lib/zip_source_file.h rename to proj-web/thirdparty/libzip-1.11.3/lib/zip_source_file.h diff --git a/thirdparty/libzip-1.11.3/lib/zip_source_file_common.c b/proj-web/thirdparty/libzip-1.11.3/lib/zip_source_file_common.c similarity index 100% rename from thirdparty/libzip-1.11.3/lib/zip_source_file_common.c rename to proj-web/thirdparty/libzip-1.11.3/lib/zip_source_file_common.c diff --git a/thirdparty/libzip-1.11.3/lib/zip_source_file_stdio.c b/proj-web/thirdparty/libzip-1.11.3/lib/zip_source_file_stdio.c similarity index 100% rename from thirdparty/libzip-1.11.3/lib/zip_source_file_stdio.c rename to proj-web/thirdparty/libzip-1.11.3/lib/zip_source_file_stdio.c diff --git a/thirdparty/libzip-1.11.3/lib/zip_source_file_stdio.h b/proj-web/thirdparty/libzip-1.11.3/lib/zip_source_file_stdio.h similarity index 100% rename from thirdparty/libzip-1.11.3/lib/zip_source_file_stdio.h rename to proj-web/thirdparty/libzip-1.11.3/lib/zip_source_file_stdio.h diff --git a/thirdparty/libzip-1.11.3/lib/zip_source_file_stdio_named.c b/proj-web/thirdparty/libzip-1.11.3/lib/zip_source_file_stdio_named.c similarity index 100% rename from thirdparty/libzip-1.11.3/lib/zip_source_file_stdio_named.c rename to proj-web/thirdparty/libzip-1.11.3/lib/zip_source_file_stdio_named.c diff --git a/thirdparty/libzip-1.11.3/lib/zip_source_file_win32.c b/proj-web/thirdparty/libzip-1.11.3/lib/zip_source_file_win32.c similarity index 100% rename from thirdparty/libzip-1.11.3/lib/zip_source_file_win32.c rename to proj-web/thirdparty/libzip-1.11.3/lib/zip_source_file_win32.c diff --git a/thirdparty/libzip-1.11.3/lib/zip_source_file_win32.h b/proj-web/thirdparty/libzip-1.11.3/lib/zip_source_file_win32.h similarity index 100% rename from thirdparty/libzip-1.11.3/lib/zip_source_file_win32.h rename to proj-web/thirdparty/libzip-1.11.3/lib/zip_source_file_win32.h diff --git a/thirdparty/libzip-1.11.3/lib/zip_source_file_win32_ansi.c b/proj-web/thirdparty/libzip-1.11.3/lib/zip_source_file_win32_ansi.c similarity index 100% rename from thirdparty/libzip-1.11.3/lib/zip_source_file_win32_ansi.c rename to proj-web/thirdparty/libzip-1.11.3/lib/zip_source_file_win32_ansi.c diff --git a/thirdparty/libzip-1.11.3/lib/zip_source_file_win32_named.c b/proj-web/thirdparty/libzip-1.11.3/lib/zip_source_file_win32_named.c similarity index 100% rename from thirdparty/libzip-1.11.3/lib/zip_source_file_win32_named.c rename to proj-web/thirdparty/libzip-1.11.3/lib/zip_source_file_win32_named.c diff --git a/thirdparty/libzip-1.11.3/lib/zip_source_file_win32_utf16.c b/proj-web/thirdparty/libzip-1.11.3/lib/zip_source_file_win32_utf16.c similarity index 100% rename from thirdparty/libzip-1.11.3/lib/zip_source_file_win32_utf16.c rename to proj-web/thirdparty/libzip-1.11.3/lib/zip_source_file_win32_utf16.c diff --git a/thirdparty/libzip-1.11.3/lib/zip_source_file_win32_utf8.c b/proj-web/thirdparty/libzip-1.11.3/lib/zip_source_file_win32_utf8.c similarity index 100% rename from thirdparty/libzip-1.11.3/lib/zip_source_file_win32_utf8.c rename to proj-web/thirdparty/libzip-1.11.3/lib/zip_source_file_win32_utf8.c diff --git a/thirdparty/libzip-1.11.3/lib/zip_source_free.c b/proj-web/thirdparty/libzip-1.11.3/lib/zip_source_free.c similarity index 100% rename from thirdparty/libzip-1.11.3/lib/zip_source_free.c rename to proj-web/thirdparty/libzip-1.11.3/lib/zip_source_free.c diff --git a/thirdparty/libzip-1.11.3/lib/zip_source_function.c b/proj-web/thirdparty/libzip-1.11.3/lib/zip_source_function.c similarity index 100% rename from thirdparty/libzip-1.11.3/lib/zip_source_function.c rename to proj-web/thirdparty/libzip-1.11.3/lib/zip_source_function.c diff --git a/thirdparty/libzip-1.11.3/lib/zip_source_get_dostime.c b/proj-web/thirdparty/libzip-1.11.3/lib/zip_source_get_dostime.c similarity index 100% rename from thirdparty/libzip-1.11.3/lib/zip_source_get_dostime.c rename to proj-web/thirdparty/libzip-1.11.3/lib/zip_source_get_dostime.c diff --git a/thirdparty/libzip-1.11.3/lib/zip_source_get_file_attributes.c b/proj-web/thirdparty/libzip-1.11.3/lib/zip_source_get_file_attributes.c similarity index 100% rename from thirdparty/libzip-1.11.3/lib/zip_source_get_file_attributes.c rename to proj-web/thirdparty/libzip-1.11.3/lib/zip_source_get_file_attributes.c diff --git a/thirdparty/libzip-1.11.3/lib/zip_source_is_deleted.c b/proj-web/thirdparty/libzip-1.11.3/lib/zip_source_is_deleted.c similarity index 100% rename from thirdparty/libzip-1.11.3/lib/zip_source_is_deleted.c rename to proj-web/thirdparty/libzip-1.11.3/lib/zip_source_is_deleted.c diff --git a/thirdparty/libzip-1.11.3/lib/zip_source_layered.c b/proj-web/thirdparty/libzip-1.11.3/lib/zip_source_layered.c similarity index 100% rename from thirdparty/libzip-1.11.3/lib/zip_source_layered.c rename to proj-web/thirdparty/libzip-1.11.3/lib/zip_source_layered.c diff --git a/thirdparty/libzip-1.11.3/lib/zip_source_open.c b/proj-web/thirdparty/libzip-1.11.3/lib/zip_source_open.c similarity index 100% rename from thirdparty/libzip-1.11.3/lib/zip_source_open.c rename to proj-web/thirdparty/libzip-1.11.3/lib/zip_source_open.c diff --git a/thirdparty/libzip-1.11.3/lib/zip_source_pass_to_lower_layer.c b/proj-web/thirdparty/libzip-1.11.3/lib/zip_source_pass_to_lower_layer.c similarity index 100% rename from thirdparty/libzip-1.11.3/lib/zip_source_pass_to_lower_layer.c rename to proj-web/thirdparty/libzip-1.11.3/lib/zip_source_pass_to_lower_layer.c diff --git a/thirdparty/libzip-1.11.3/lib/zip_source_pkware_decode.c b/proj-web/thirdparty/libzip-1.11.3/lib/zip_source_pkware_decode.c similarity index 100% rename from thirdparty/libzip-1.11.3/lib/zip_source_pkware_decode.c rename to proj-web/thirdparty/libzip-1.11.3/lib/zip_source_pkware_decode.c diff --git a/thirdparty/libzip-1.11.3/lib/zip_source_pkware_encode.c b/proj-web/thirdparty/libzip-1.11.3/lib/zip_source_pkware_encode.c similarity index 100% rename from thirdparty/libzip-1.11.3/lib/zip_source_pkware_encode.c rename to proj-web/thirdparty/libzip-1.11.3/lib/zip_source_pkware_encode.c diff --git a/thirdparty/libzip-1.11.3/lib/zip_source_read.c b/proj-web/thirdparty/libzip-1.11.3/lib/zip_source_read.c similarity index 100% rename from thirdparty/libzip-1.11.3/lib/zip_source_read.c rename to proj-web/thirdparty/libzip-1.11.3/lib/zip_source_read.c diff --git a/thirdparty/libzip-1.11.3/lib/zip_source_remove.c b/proj-web/thirdparty/libzip-1.11.3/lib/zip_source_remove.c similarity index 100% rename from thirdparty/libzip-1.11.3/lib/zip_source_remove.c rename to proj-web/thirdparty/libzip-1.11.3/lib/zip_source_remove.c diff --git a/thirdparty/libzip-1.11.3/lib/zip_source_rollback_write.c b/proj-web/thirdparty/libzip-1.11.3/lib/zip_source_rollback_write.c similarity index 100% rename from thirdparty/libzip-1.11.3/lib/zip_source_rollback_write.c rename to proj-web/thirdparty/libzip-1.11.3/lib/zip_source_rollback_write.c diff --git a/thirdparty/libzip-1.11.3/lib/zip_source_seek.c b/proj-web/thirdparty/libzip-1.11.3/lib/zip_source_seek.c similarity index 100% rename from thirdparty/libzip-1.11.3/lib/zip_source_seek.c rename to proj-web/thirdparty/libzip-1.11.3/lib/zip_source_seek.c diff --git a/thirdparty/libzip-1.11.3/lib/zip_source_seek_write.c b/proj-web/thirdparty/libzip-1.11.3/lib/zip_source_seek_write.c similarity index 100% rename from thirdparty/libzip-1.11.3/lib/zip_source_seek_write.c rename to proj-web/thirdparty/libzip-1.11.3/lib/zip_source_seek_write.c diff --git a/thirdparty/libzip-1.11.3/lib/zip_source_stat.c b/proj-web/thirdparty/libzip-1.11.3/lib/zip_source_stat.c similarity index 100% rename from thirdparty/libzip-1.11.3/lib/zip_source_stat.c rename to proj-web/thirdparty/libzip-1.11.3/lib/zip_source_stat.c diff --git a/thirdparty/libzip-1.11.3/lib/zip_source_supports.c b/proj-web/thirdparty/libzip-1.11.3/lib/zip_source_supports.c similarity index 100% rename from thirdparty/libzip-1.11.3/lib/zip_source_supports.c rename to proj-web/thirdparty/libzip-1.11.3/lib/zip_source_supports.c diff --git a/thirdparty/libzip-1.11.3/lib/zip_source_tell.c b/proj-web/thirdparty/libzip-1.11.3/lib/zip_source_tell.c similarity index 100% rename from thirdparty/libzip-1.11.3/lib/zip_source_tell.c rename to proj-web/thirdparty/libzip-1.11.3/lib/zip_source_tell.c diff --git a/thirdparty/libzip-1.11.3/lib/zip_source_tell_write.c b/proj-web/thirdparty/libzip-1.11.3/lib/zip_source_tell_write.c similarity index 100% rename from thirdparty/libzip-1.11.3/lib/zip_source_tell_write.c rename to proj-web/thirdparty/libzip-1.11.3/lib/zip_source_tell_write.c diff --git a/thirdparty/libzip-1.11.3/lib/zip_source_window.c b/proj-web/thirdparty/libzip-1.11.3/lib/zip_source_window.c similarity index 100% rename from thirdparty/libzip-1.11.3/lib/zip_source_window.c rename to proj-web/thirdparty/libzip-1.11.3/lib/zip_source_window.c diff --git a/thirdparty/libzip-1.11.3/lib/zip_source_winzip_aes_decode.c b/proj-web/thirdparty/libzip-1.11.3/lib/zip_source_winzip_aes_decode.c similarity index 100% rename from thirdparty/libzip-1.11.3/lib/zip_source_winzip_aes_decode.c rename to proj-web/thirdparty/libzip-1.11.3/lib/zip_source_winzip_aes_decode.c diff --git a/thirdparty/libzip-1.11.3/lib/zip_source_winzip_aes_encode.c b/proj-web/thirdparty/libzip-1.11.3/lib/zip_source_winzip_aes_encode.c similarity index 100% rename from thirdparty/libzip-1.11.3/lib/zip_source_winzip_aes_encode.c rename to proj-web/thirdparty/libzip-1.11.3/lib/zip_source_winzip_aes_encode.c diff --git a/thirdparty/libzip-1.11.3/lib/zip_source_write.c b/proj-web/thirdparty/libzip-1.11.3/lib/zip_source_write.c similarity index 100% rename from thirdparty/libzip-1.11.3/lib/zip_source_write.c rename to proj-web/thirdparty/libzip-1.11.3/lib/zip_source_write.c diff --git a/thirdparty/libzip-1.11.3/lib/zip_source_zip.c b/proj-web/thirdparty/libzip-1.11.3/lib/zip_source_zip.c similarity index 100% rename from thirdparty/libzip-1.11.3/lib/zip_source_zip.c rename to proj-web/thirdparty/libzip-1.11.3/lib/zip_source_zip.c diff --git a/thirdparty/libzip-1.11.3/lib/zip_source_zip_new.c b/proj-web/thirdparty/libzip-1.11.3/lib/zip_source_zip_new.c similarity index 100% rename from thirdparty/libzip-1.11.3/lib/zip_source_zip_new.c rename to proj-web/thirdparty/libzip-1.11.3/lib/zip_source_zip_new.c diff --git a/thirdparty/libzip-1.11.3/lib/zip_stat.c b/proj-web/thirdparty/libzip-1.11.3/lib/zip_stat.c similarity index 100% rename from thirdparty/libzip-1.11.3/lib/zip_stat.c rename to proj-web/thirdparty/libzip-1.11.3/lib/zip_stat.c diff --git a/thirdparty/libzip-1.11.3/lib/zip_stat_index.c b/proj-web/thirdparty/libzip-1.11.3/lib/zip_stat_index.c similarity index 100% rename from thirdparty/libzip-1.11.3/lib/zip_stat_index.c rename to proj-web/thirdparty/libzip-1.11.3/lib/zip_stat_index.c diff --git a/thirdparty/libzip-1.11.3/lib/zip_stat_init.c b/proj-web/thirdparty/libzip-1.11.3/lib/zip_stat_init.c similarity index 100% rename from thirdparty/libzip-1.11.3/lib/zip_stat_init.c rename to proj-web/thirdparty/libzip-1.11.3/lib/zip_stat_init.c diff --git a/thirdparty/libzip-1.11.3/lib/zip_strerror.c b/proj-web/thirdparty/libzip-1.11.3/lib/zip_strerror.c similarity index 100% rename from thirdparty/libzip-1.11.3/lib/zip_strerror.c rename to proj-web/thirdparty/libzip-1.11.3/lib/zip_strerror.c diff --git a/thirdparty/libzip-1.11.3/lib/zip_string.c b/proj-web/thirdparty/libzip-1.11.3/lib/zip_string.c similarity index 100% rename from thirdparty/libzip-1.11.3/lib/zip_string.c rename to proj-web/thirdparty/libzip-1.11.3/lib/zip_string.c diff --git a/thirdparty/libzip-1.11.3/lib/zip_unchange.c b/proj-web/thirdparty/libzip-1.11.3/lib/zip_unchange.c similarity index 100% rename from thirdparty/libzip-1.11.3/lib/zip_unchange.c rename to proj-web/thirdparty/libzip-1.11.3/lib/zip_unchange.c diff --git a/thirdparty/libzip-1.11.3/lib/zip_unchange_all.c b/proj-web/thirdparty/libzip-1.11.3/lib/zip_unchange_all.c similarity index 100% rename from thirdparty/libzip-1.11.3/lib/zip_unchange_all.c rename to proj-web/thirdparty/libzip-1.11.3/lib/zip_unchange_all.c diff --git a/thirdparty/libzip-1.11.3/lib/zip_unchange_archive.c b/proj-web/thirdparty/libzip-1.11.3/lib/zip_unchange_archive.c similarity index 100% rename from thirdparty/libzip-1.11.3/lib/zip_unchange_archive.c rename to proj-web/thirdparty/libzip-1.11.3/lib/zip_unchange_archive.c diff --git a/thirdparty/libzip-1.11.3/lib/zip_unchange_data.c b/proj-web/thirdparty/libzip-1.11.3/lib/zip_unchange_data.c similarity index 100% rename from thirdparty/libzip-1.11.3/lib/zip_unchange_data.c rename to proj-web/thirdparty/libzip-1.11.3/lib/zip_unchange_data.c diff --git a/thirdparty/libzip-1.11.3/lib/zip_utf-8.c b/proj-web/thirdparty/libzip-1.11.3/lib/zip_utf-8.c similarity index 100% rename from thirdparty/libzip-1.11.3/lib/zip_utf-8.c rename to proj-web/thirdparty/libzip-1.11.3/lib/zip_utf-8.c diff --git a/thirdparty/libzip-1.11.3/lib/zip_winzip_aes.c b/proj-web/thirdparty/libzip-1.11.3/lib/zip_winzip_aes.c similarity index 100% rename from thirdparty/libzip-1.11.3/lib/zip_winzip_aes.c rename to proj-web/thirdparty/libzip-1.11.3/lib/zip_winzip_aes.c diff --git a/thirdparty/libzip-1.11.3/lib/zipint.h b/proj-web/thirdparty/libzip-1.11.3/lib/zipint.h similarity index 100% rename from thirdparty/libzip-1.11.3/lib/zipint.h rename to proj-web/thirdparty/libzip-1.11.3/lib/zipint.h diff --git a/thirdparty/libzip-1.11.3/libzip-config.cmake.in b/proj-web/thirdparty/libzip-1.11.3/libzip-config.cmake.in similarity index 100% rename from thirdparty/libzip-1.11.3/libzip-config.cmake.in rename to proj-web/thirdparty/libzip-1.11.3/libzip-config.cmake.in diff --git a/thirdparty/libzip-1.11.3/libzip.pc.in b/proj-web/thirdparty/libzip-1.11.3/libzip.pc.in similarity index 100% rename from thirdparty/libzip-1.11.3/libzip.pc.in rename to proj-web/thirdparty/libzip-1.11.3/libzip.pc.in diff --git a/thirdparty/libzip-1.11.3/man/CMakeLists.txt b/proj-web/thirdparty/libzip-1.11.3/man/CMakeLists.txt similarity index 100% rename from thirdparty/libzip-1.11.3/man/CMakeLists.txt rename to proj-web/thirdparty/libzip-1.11.3/man/CMakeLists.txt diff --git a/thirdparty/libzip-1.11.3/man/ZIP_SOURCE_GET_ARGS.html b/proj-web/thirdparty/libzip-1.11.3/man/ZIP_SOURCE_GET_ARGS.html similarity index 100% rename from thirdparty/libzip-1.11.3/man/ZIP_SOURCE_GET_ARGS.html rename to proj-web/thirdparty/libzip-1.11.3/man/ZIP_SOURCE_GET_ARGS.html diff --git a/thirdparty/libzip-1.11.3/man/ZIP_SOURCE_GET_ARGS.man b/proj-web/thirdparty/libzip-1.11.3/man/ZIP_SOURCE_GET_ARGS.man similarity index 100% rename from thirdparty/libzip-1.11.3/man/ZIP_SOURCE_GET_ARGS.man rename to proj-web/thirdparty/libzip-1.11.3/man/ZIP_SOURCE_GET_ARGS.man diff --git a/thirdparty/libzip-1.11.3/man/ZIP_SOURCE_GET_ARGS.mdoc b/proj-web/thirdparty/libzip-1.11.3/man/ZIP_SOURCE_GET_ARGS.mdoc similarity index 100% rename from thirdparty/libzip-1.11.3/man/ZIP_SOURCE_GET_ARGS.mdoc rename to proj-web/thirdparty/libzip-1.11.3/man/ZIP_SOURCE_GET_ARGS.mdoc diff --git a/thirdparty/libzip-1.11.3/man/handle_links b/proj-web/thirdparty/libzip-1.11.3/man/handle_links similarity index 100% rename from thirdparty/libzip-1.11.3/man/handle_links rename to proj-web/thirdparty/libzip-1.11.3/man/handle_links diff --git a/thirdparty/libzip-1.11.3/man/libzip.html b/proj-web/thirdparty/libzip-1.11.3/man/libzip.html similarity index 100% rename from thirdparty/libzip-1.11.3/man/libzip.html rename to proj-web/thirdparty/libzip-1.11.3/man/libzip.html diff --git a/thirdparty/libzip-1.11.3/man/libzip.man b/proj-web/thirdparty/libzip-1.11.3/man/libzip.man similarity index 100% rename from thirdparty/libzip-1.11.3/man/libzip.man rename to proj-web/thirdparty/libzip-1.11.3/man/libzip.man diff --git a/thirdparty/libzip-1.11.3/man/libzip.mdoc b/proj-web/thirdparty/libzip-1.11.3/man/libzip.mdoc similarity index 100% rename from thirdparty/libzip-1.11.3/man/libzip.mdoc rename to proj-web/thirdparty/libzip-1.11.3/man/libzip.mdoc diff --git a/thirdparty/libzip-1.11.3/man/links b/proj-web/thirdparty/libzip-1.11.3/man/links similarity index 100% rename from thirdparty/libzip-1.11.3/man/links rename to proj-web/thirdparty/libzip-1.11.3/man/links diff --git a/thirdparty/libzip-1.11.3/man/update-html.cmake b/proj-web/thirdparty/libzip-1.11.3/man/update-html.cmake similarity index 100% rename from thirdparty/libzip-1.11.3/man/update-html.cmake rename to proj-web/thirdparty/libzip-1.11.3/man/update-html.cmake diff --git a/thirdparty/libzip-1.11.3/man/update-man.cmake b/proj-web/thirdparty/libzip-1.11.3/man/update-man.cmake similarity index 100% rename from thirdparty/libzip-1.11.3/man/update-man.cmake rename to proj-web/thirdparty/libzip-1.11.3/man/update-man.cmake diff --git a/thirdparty/libzip-1.11.3/man/zip_add.html b/proj-web/thirdparty/libzip-1.11.3/man/zip_add.html similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_add.html rename to proj-web/thirdparty/libzip-1.11.3/man/zip_add.html diff --git a/thirdparty/libzip-1.11.3/man/zip_add.man b/proj-web/thirdparty/libzip-1.11.3/man/zip_add.man similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_add.man rename to proj-web/thirdparty/libzip-1.11.3/man/zip_add.man diff --git a/thirdparty/libzip-1.11.3/man/zip_add.mdoc b/proj-web/thirdparty/libzip-1.11.3/man/zip_add.mdoc similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_add.mdoc rename to proj-web/thirdparty/libzip-1.11.3/man/zip_add.mdoc diff --git a/thirdparty/libzip-1.11.3/man/zip_add_dir.html b/proj-web/thirdparty/libzip-1.11.3/man/zip_add_dir.html similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_add_dir.html rename to proj-web/thirdparty/libzip-1.11.3/man/zip_add_dir.html diff --git a/thirdparty/libzip-1.11.3/man/zip_add_dir.man b/proj-web/thirdparty/libzip-1.11.3/man/zip_add_dir.man similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_add_dir.man rename to proj-web/thirdparty/libzip-1.11.3/man/zip_add_dir.man diff --git a/thirdparty/libzip-1.11.3/man/zip_add_dir.mdoc b/proj-web/thirdparty/libzip-1.11.3/man/zip_add_dir.mdoc similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_add_dir.mdoc rename to proj-web/thirdparty/libzip-1.11.3/man/zip_add_dir.mdoc diff --git a/thirdparty/libzip-1.11.3/man/zip_close.html b/proj-web/thirdparty/libzip-1.11.3/man/zip_close.html similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_close.html rename to proj-web/thirdparty/libzip-1.11.3/man/zip_close.html diff --git a/thirdparty/libzip-1.11.3/man/zip_close.man b/proj-web/thirdparty/libzip-1.11.3/man/zip_close.man similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_close.man rename to proj-web/thirdparty/libzip-1.11.3/man/zip_close.man diff --git a/thirdparty/libzip-1.11.3/man/zip_close.mdoc b/proj-web/thirdparty/libzip-1.11.3/man/zip_close.mdoc similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_close.mdoc rename to proj-web/thirdparty/libzip-1.11.3/man/zip_close.mdoc diff --git a/thirdparty/libzip-1.11.3/man/zip_compression_method_supported.html b/proj-web/thirdparty/libzip-1.11.3/man/zip_compression_method_supported.html similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_compression_method_supported.html rename to proj-web/thirdparty/libzip-1.11.3/man/zip_compression_method_supported.html diff --git a/thirdparty/libzip-1.11.3/man/zip_compression_method_supported.man b/proj-web/thirdparty/libzip-1.11.3/man/zip_compression_method_supported.man similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_compression_method_supported.man rename to proj-web/thirdparty/libzip-1.11.3/man/zip_compression_method_supported.man diff --git a/thirdparty/libzip-1.11.3/man/zip_compression_method_supported.mdoc b/proj-web/thirdparty/libzip-1.11.3/man/zip_compression_method_supported.mdoc similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_compression_method_supported.mdoc rename to proj-web/thirdparty/libzip-1.11.3/man/zip_compression_method_supported.mdoc diff --git a/thirdparty/libzip-1.11.3/man/zip_delete.html b/proj-web/thirdparty/libzip-1.11.3/man/zip_delete.html similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_delete.html rename to proj-web/thirdparty/libzip-1.11.3/man/zip_delete.html diff --git a/thirdparty/libzip-1.11.3/man/zip_delete.man b/proj-web/thirdparty/libzip-1.11.3/man/zip_delete.man similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_delete.man rename to proj-web/thirdparty/libzip-1.11.3/man/zip_delete.man diff --git a/thirdparty/libzip-1.11.3/man/zip_delete.mdoc b/proj-web/thirdparty/libzip-1.11.3/man/zip_delete.mdoc similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_delete.mdoc rename to proj-web/thirdparty/libzip-1.11.3/man/zip_delete.mdoc diff --git a/thirdparty/libzip-1.11.3/man/zip_dir_add.html b/proj-web/thirdparty/libzip-1.11.3/man/zip_dir_add.html similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_dir_add.html rename to proj-web/thirdparty/libzip-1.11.3/man/zip_dir_add.html diff --git a/thirdparty/libzip-1.11.3/man/zip_dir_add.man b/proj-web/thirdparty/libzip-1.11.3/man/zip_dir_add.man similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_dir_add.man rename to proj-web/thirdparty/libzip-1.11.3/man/zip_dir_add.man diff --git a/thirdparty/libzip-1.11.3/man/zip_dir_add.mdoc b/proj-web/thirdparty/libzip-1.11.3/man/zip_dir_add.mdoc similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_dir_add.mdoc rename to proj-web/thirdparty/libzip-1.11.3/man/zip_dir_add.mdoc diff --git a/thirdparty/libzip-1.11.3/man/zip_discard.html b/proj-web/thirdparty/libzip-1.11.3/man/zip_discard.html similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_discard.html rename to proj-web/thirdparty/libzip-1.11.3/man/zip_discard.html diff --git a/thirdparty/libzip-1.11.3/man/zip_discard.man b/proj-web/thirdparty/libzip-1.11.3/man/zip_discard.man similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_discard.man rename to proj-web/thirdparty/libzip-1.11.3/man/zip_discard.man diff --git a/thirdparty/libzip-1.11.3/man/zip_discard.mdoc b/proj-web/thirdparty/libzip-1.11.3/man/zip_discard.mdoc similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_discard.mdoc rename to proj-web/thirdparty/libzip-1.11.3/man/zip_discard.mdoc diff --git a/thirdparty/libzip-1.11.3/man/zip_encryption_method_supported.html b/proj-web/thirdparty/libzip-1.11.3/man/zip_encryption_method_supported.html similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_encryption_method_supported.html rename to proj-web/thirdparty/libzip-1.11.3/man/zip_encryption_method_supported.html diff --git a/thirdparty/libzip-1.11.3/man/zip_encryption_method_supported.man b/proj-web/thirdparty/libzip-1.11.3/man/zip_encryption_method_supported.man similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_encryption_method_supported.man rename to proj-web/thirdparty/libzip-1.11.3/man/zip_encryption_method_supported.man diff --git a/thirdparty/libzip-1.11.3/man/zip_encryption_method_supported.mdoc b/proj-web/thirdparty/libzip-1.11.3/man/zip_encryption_method_supported.mdoc similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_encryption_method_supported.mdoc rename to proj-web/thirdparty/libzip-1.11.3/man/zip_encryption_method_supported.mdoc diff --git a/thirdparty/libzip-1.11.3/man/zip_error_clear.html b/proj-web/thirdparty/libzip-1.11.3/man/zip_error_clear.html similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_error_clear.html rename to proj-web/thirdparty/libzip-1.11.3/man/zip_error_clear.html diff --git a/thirdparty/libzip-1.11.3/man/zip_error_clear.man b/proj-web/thirdparty/libzip-1.11.3/man/zip_error_clear.man similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_error_clear.man rename to proj-web/thirdparty/libzip-1.11.3/man/zip_error_clear.man diff --git a/thirdparty/libzip-1.11.3/man/zip_error_clear.mdoc b/proj-web/thirdparty/libzip-1.11.3/man/zip_error_clear.mdoc similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_error_clear.mdoc rename to proj-web/thirdparty/libzip-1.11.3/man/zip_error_clear.mdoc diff --git a/thirdparty/libzip-1.11.3/man/zip_error_code_system.html b/proj-web/thirdparty/libzip-1.11.3/man/zip_error_code_system.html similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_error_code_system.html rename to proj-web/thirdparty/libzip-1.11.3/man/zip_error_code_system.html diff --git a/thirdparty/libzip-1.11.3/man/zip_error_code_system.man b/proj-web/thirdparty/libzip-1.11.3/man/zip_error_code_system.man similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_error_code_system.man rename to proj-web/thirdparty/libzip-1.11.3/man/zip_error_code_system.man diff --git a/thirdparty/libzip-1.11.3/man/zip_error_code_system.mdoc b/proj-web/thirdparty/libzip-1.11.3/man/zip_error_code_system.mdoc similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_error_code_system.mdoc rename to proj-web/thirdparty/libzip-1.11.3/man/zip_error_code_system.mdoc diff --git a/thirdparty/libzip-1.11.3/man/zip_error_code_zip.html b/proj-web/thirdparty/libzip-1.11.3/man/zip_error_code_zip.html similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_error_code_zip.html rename to proj-web/thirdparty/libzip-1.11.3/man/zip_error_code_zip.html diff --git a/thirdparty/libzip-1.11.3/man/zip_error_code_zip.man b/proj-web/thirdparty/libzip-1.11.3/man/zip_error_code_zip.man similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_error_code_zip.man rename to proj-web/thirdparty/libzip-1.11.3/man/zip_error_code_zip.man diff --git a/thirdparty/libzip-1.11.3/man/zip_error_code_zip.mdoc b/proj-web/thirdparty/libzip-1.11.3/man/zip_error_code_zip.mdoc similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_error_code_zip.mdoc rename to proj-web/thirdparty/libzip-1.11.3/man/zip_error_code_zip.mdoc diff --git a/thirdparty/libzip-1.11.3/man/zip_error_fini.html b/proj-web/thirdparty/libzip-1.11.3/man/zip_error_fini.html similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_error_fini.html rename to proj-web/thirdparty/libzip-1.11.3/man/zip_error_fini.html diff --git a/thirdparty/libzip-1.11.3/man/zip_error_fini.man b/proj-web/thirdparty/libzip-1.11.3/man/zip_error_fini.man similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_error_fini.man rename to proj-web/thirdparty/libzip-1.11.3/man/zip_error_fini.man diff --git a/thirdparty/libzip-1.11.3/man/zip_error_fini.mdoc b/proj-web/thirdparty/libzip-1.11.3/man/zip_error_fini.mdoc similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_error_fini.mdoc rename to proj-web/thirdparty/libzip-1.11.3/man/zip_error_fini.mdoc diff --git a/thirdparty/libzip-1.11.3/man/zip_error_get.html b/proj-web/thirdparty/libzip-1.11.3/man/zip_error_get.html similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_error_get.html rename to proj-web/thirdparty/libzip-1.11.3/man/zip_error_get.html diff --git a/thirdparty/libzip-1.11.3/man/zip_error_get.man b/proj-web/thirdparty/libzip-1.11.3/man/zip_error_get.man similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_error_get.man rename to proj-web/thirdparty/libzip-1.11.3/man/zip_error_get.man diff --git a/thirdparty/libzip-1.11.3/man/zip_error_get.mdoc b/proj-web/thirdparty/libzip-1.11.3/man/zip_error_get.mdoc similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_error_get.mdoc rename to proj-web/thirdparty/libzip-1.11.3/man/zip_error_get.mdoc diff --git a/thirdparty/libzip-1.11.3/man/zip_error_get_sys_type.html b/proj-web/thirdparty/libzip-1.11.3/man/zip_error_get_sys_type.html similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_error_get_sys_type.html rename to proj-web/thirdparty/libzip-1.11.3/man/zip_error_get_sys_type.html diff --git a/thirdparty/libzip-1.11.3/man/zip_error_get_sys_type.man b/proj-web/thirdparty/libzip-1.11.3/man/zip_error_get_sys_type.man similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_error_get_sys_type.man rename to proj-web/thirdparty/libzip-1.11.3/man/zip_error_get_sys_type.man diff --git a/thirdparty/libzip-1.11.3/man/zip_error_get_sys_type.mdoc b/proj-web/thirdparty/libzip-1.11.3/man/zip_error_get_sys_type.mdoc similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_error_get_sys_type.mdoc rename to proj-web/thirdparty/libzip-1.11.3/man/zip_error_get_sys_type.mdoc diff --git a/thirdparty/libzip-1.11.3/man/zip_error_init.html b/proj-web/thirdparty/libzip-1.11.3/man/zip_error_init.html similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_error_init.html rename to proj-web/thirdparty/libzip-1.11.3/man/zip_error_init.html diff --git a/thirdparty/libzip-1.11.3/man/zip_error_init.man b/proj-web/thirdparty/libzip-1.11.3/man/zip_error_init.man similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_error_init.man rename to proj-web/thirdparty/libzip-1.11.3/man/zip_error_init.man diff --git a/thirdparty/libzip-1.11.3/man/zip_error_init.mdoc b/proj-web/thirdparty/libzip-1.11.3/man/zip_error_init.mdoc similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_error_init.mdoc rename to proj-web/thirdparty/libzip-1.11.3/man/zip_error_init.mdoc diff --git a/thirdparty/libzip-1.11.3/man/zip_error_set.html b/proj-web/thirdparty/libzip-1.11.3/man/zip_error_set.html similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_error_set.html rename to proj-web/thirdparty/libzip-1.11.3/man/zip_error_set.html diff --git a/thirdparty/libzip-1.11.3/man/zip_error_set.man b/proj-web/thirdparty/libzip-1.11.3/man/zip_error_set.man similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_error_set.man rename to proj-web/thirdparty/libzip-1.11.3/man/zip_error_set.man diff --git a/thirdparty/libzip-1.11.3/man/zip_error_set.mdoc b/proj-web/thirdparty/libzip-1.11.3/man/zip_error_set.mdoc similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_error_set.mdoc rename to proj-web/thirdparty/libzip-1.11.3/man/zip_error_set.mdoc diff --git a/thirdparty/libzip-1.11.3/man/zip_error_set_from_source.html b/proj-web/thirdparty/libzip-1.11.3/man/zip_error_set_from_source.html similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_error_set_from_source.html rename to proj-web/thirdparty/libzip-1.11.3/man/zip_error_set_from_source.html diff --git a/thirdparty/libzip-1.11.3/man/zip_error_set_from_source.man b/proj-web/thirdparty/libzip-1.11.3/man/zip_error_set_from_source.man similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_error_set_from_source.man rename to proj-web/thirdparty/libzip-1.11.3/man/zip_error_set_from_source.man diff --git a/thirdparty/libzip-1.11.3/man/zip_error_set_from_source.mdoc b/proj-web/thirdparty/libzip-1.11.3/man/zip_error_set_from_source.mdoc similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_error_set_from_source.mdoc rename to proj-web/thirdparty/libzip-1.11.3/man/zip_error_set_from_source.mdoc diff --git a/thirdparty/libzip-1.11.3/man/zip_error_strerror.html b/proj-web/thirdparty/libzip-1.11.3/man/zip_error_strerror.html similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_error_strerror.html rename to proj-web/thirdparty/libzip-1.11.3/man/zip_error_strerror.html diff --git a/thirdparty/libzip-1.11.3/man/zip_error_strerror.man b/proj-web/thirdparty/libzip-1.11.3/man/zip_error_strerror.man similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_error_strerror.man rename to proj-web/thirdparty/libzip-1.11.3/man/zip_error_strerror.man diff --git a/thirdparty/libzip-1.11.3/man/zip_error_strerror.mdoc b/proj-web/thirdparty/libzip-1.11.3/man/zip_error_strerror.mdoc similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_error_strerror.mdoc rename to proj-web/thirdparty/libzip-1.11.3/man/zip_error_strerror.mdoc diff --git a/thirdparty/libzip-1.11.3/man/zip_error_system_type.html b/proj-web/thirdparty/libzip-1.11.3/man/zip_error_system_type.html similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_error_system_type.html rename to proj-web/thirdparty/libzip-1.11.3/man/zip_error_system_type.html diff --git a/thirdparty/libzip-1.11.3/man/zip_error_system_type.man b/proj-web/thirdparty/libzip-1.11.3/man/zip_error_system_type.man similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_error_system_type.man rename to proj-web/thirdparty/libzip-1.11.3/man/zip_error_system_type.man diff --git a/thirdparty/libzip-1.11.3/man/zip_error_system_type.mdoc b/proj-web/thirdparty/libzip-1.11.3/man/zip_error_system_type.mdoc similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_error_system_type.mdoc rename to proj-web/thirdparty/libzip-1.11.3/man/zip_error_system_type.mdoc diff --git a/thirdparty/libzip-1.11.3/man/zip_error_to_data.html b/proj-web/thirdparty/libzip-1.11.3/man/zip_error_to_data.html similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_error_to_data.html rename to proj-web/thirdparty/libzip-1.11.3/man/zip_error_to_data.html diff --git a/thirdparty/libzip-1.11.3/man/zip_error_to_data.man b/proj-web/thirdparty/libzip-1.11.3/man/zip_error_to_data.man similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_error_to_data.man rename to proj-web/thirdparty/libzip-1.11.3/man/zip_error_to_data.man diff --git a/thirdparty/libzip-1.11.3/man/zip_error_to_data.mdoc b/proj-web/thirdparty/libzip-1.11.3/man/zip_error_to_data.mdoc similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_error_to_data.mdoc rename to proj-web/thirdparty/libzip-1.11.3/man/zip_error_to_data.mdoc diff --git a/thirdparty/libzip-1.11.3/man/zip_error_to_str.html b/proj-web/thirdparty/libzip-1.11.3/man/zip_error_to_str.html similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_error_to_str.html rename to proj-web/thirdparty/libzip-1.11.3/man/zip_error_to_str.html diff --git a/thirdparty/libzip-1.11.3/man/zip_error_to_str.man b/proj-web/thirdparty/libzip-1.11.3/man/zip_error_to_str.man similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_error_to_str.man rename to proj-web/thirdparty/libzip-1.11.3/man/zip_error_to_str.man diff --git a/thirdparty/libzip-1.11.3/man/zip_error_to_str.mdoc b/proj-web/thirdparty/libzip-1.11.3/man/zip_error_to_str.mdoc similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_error_to_str.mdoc rename to proj-web/thirdparty/libzip-1.11.3/man/zip_error_to_str.mdoc diff --git a/thirdparty/libzip-1.11.3/man/zip_errors.html b/proj-web/thirdparty/libzip-1.11.3/man/zip_errors.html similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_errors.html rename to proj-web/thirdparty/libzip-1.11.3/man/zip_errors.html diff --git a/thirdparty/libzip-1.11.3/man/zip_errors.man b/proj-web/thirdparty/libzip-1.11.3/man/zip_errors.man similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_errors.man rename to proj-web/thirdparty/libzip-1.11.3/man/zip_errors.man diff --git a/thirdparty/libzip-1.11.3/man/zip_errors.mdoc b/proj-web/thirdparty/libzip-1.11.3/man/zip_errors.mdoc similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_errors.mdoc rename to proj-web/thirdparty/libzip-1.11.3/man/zip_errors.mdoc diff --git a/thirdparty/libzip-1.11.3/man/zip_fclose.html b/proj-web/thirdparty/libzip-1.11.3/man/zip_fclose.html similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_fclose.html rename to proj-web/thirdparty/libzip-1.11.3/man/zip_fclose.html diff --git a/thirdparty/libzip-1.11.3/man/zip_fclose.man b/proj-web/thirdparty/libzip-1.11.3/man/zip_fclose.man similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_fclose.man rename to proj-web/thirdparty/libzip-1.11.3/man/zip_fclose.man diff --git a/thirdparty/libzip-1.11.3/man/zip_fclose.mdoc b/proj-web/thirdparty/libzip-1.11.3/man/zip_fclose.mdoc similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_fclose.mdoc rename to proj-web/thirdparty/libzip-1.11.3/man/zip_fclose.mdoc diff --git a/thirdparty/libzip-1.11.3/man/zip_fdopen.html b/proj-web/thirdparty/libzip-1.11.3/man/zip_fdopen.html similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_fdopen.html rename to proj-web/thirdparty/libzip-1.11.3/man/zip_fdopen.html diff --git a/thirdparty/libzip-1.11.3/man/zip_fdopen.man b/proj-web/thirdparty/libzip-1.11.3/man/zip_fdopen.man similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_fdopen.man rename to proj-web/thirdparty/libzip-1.11.3/man/zip_fdopen.man diff --git a/thirdparty/libzip-1.11.3/man/zip_fdopen.mdoc b/proj-web/thirdparty/libzip-1.11.3/man/zip_fdopen.mdoc similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_fdopen.mdoc rename to proj-web/thirdparty/libzip-1.11.3/man/zip_fdopen.mdoc diff --git a/thirdparty/libzip-1.11.3/man/zip_file_add.html b/proj-web/thirdparty/libzip-1.11.3/man/zip_file_add.html similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_file_add.html rename to proj-web/thirdparty/libzip-1.11.3/man/zip_file_add.html diff --git a/thirdparty/libzip-1.11.3/man/zip_file_add.man b/proj-web/thirdparty/libzip-1.11.3/man/zip_file_add.man similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_file_add.man rename to proj-web/thirdparty/libzip-1.11.3/man/zip_file_add.man diff --git a/thirdparty/libzip-1.11.3/man/zip_file_add.mdoc b/proj-web/thirdparty/libzip-1.11.3/man/zip_file_add.mdoc similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_file_add.mdoc rename to proj-web/thirdparty/libzip-1.11.3/man/zip_file_add.mdoc diff --git a/thirdparty/libzip-1.11.3/man/zip_file_attributes_init.html b/proj-web/thirdparty/libzip-1.11.3/man/zip_file_attributes_init.html similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_file_attributes_init.html rename to proj-web/thirdparty/libzip-1.11.3/man/zip_file_attributes_init.html diff --git a/thirdparty/libzip-1.11.3/man/zip_file_attributes_init.man b/proj-web/thirdparty/libzip-1.11.3/man/zip_file_attributes_init.man similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_file_attributes_init.man rename to proj-web/thirdparty/libzip-1.11.3/man/zip_file_attributes_init.man diff --git a/thirdparty/libzip-1.11.3/man/zip_file_attributes_init.mdoc b/proj-web/thirdparty/libzip-1.11.3/man/zip_file_attributes_init.mdoc similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_file_attributes_init.mdoc rename to proj-web/thirdparty/libzip-1.11.3/man/zip_file_attributes_init.mdoc diff --git a/thirdparty/libzip-1.11.3/man/zip_file_extra_field_delete.html b/proj-web/thirdparty/libzip-1.11.3/man/zip_file_extra_field_delete.html similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_file_extra_field_delete.html rename to proj-web/thirdparty/libzip-1.11.3/man/zip_file_extra_field_delete.html diff --git a/thirdparty/libzip-1.11.3/man/zip_file_extra_field_delete.man b/proj-web/thirdparty/libzip-1.11.3/man/zip_file_extra_field_delete.man similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_file_extra_field_delete.man rename to proj-web/thirdparty/libzip-1.11.3/man/zip_file_extra_field_delete.man diff --git a/thirdparty/libzip-1.11.3/man/zip_file_extra_field_delete.mdoc b/proj-web/thirdparty/libzip-1.11.3/man/zip_file_extra_field_delete.mdoc similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_file_extra_field_delete.mdoc rename to proj-web/thirdparty/libzip-1.11.3/man/zip_file_extra_field_delete.mdoc diff --git a/thirdparty/libzip-1.11.3/man/zip_file_extra_field_get.html b/proj-web/thirdparty/libzip-1.11.3/man/zip_file_extra_field_get.html similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_file_extra_field_get.html rename to proj-web/thirdparty/libzip-1.11.3/man/zip_file_extra_field_get.html diff --git a/thirdparty/libzip-1.11.3/man/zip_file_extra_field_get.man b/proj-web/thirdparty/libzip-1.11.3/man/zip_file_extra_field_get.man similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_file_extra_field_get.man rename to proj-web/thirdparty/libzip-1.11.3/man/zip_file_extra_field_get.man diff --git a/thirdparty/libzip-1.11.3/man/zip_file_extra_field_get.mdoc b/proj-web/thirdparty/libzip-1.11.3/man/zip_file_extra_field_get.mdoc similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_file_extra_field_get.mdoc rename to proj-web/thirdparty/libzip-1.11.3/man/zip_file_extra_field_get.mdoc diff --git a/thirdparty/libzip-1.11.3/man/zip_file_extra_field_set.html b/proj-web/thirdparty/libzip-1.11.3/man/zip_file_extra_field_set.html similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_file_extra_field_set.html rename to proj-web/thirdparty/libzip-1.11.3/man/zip_file_extra_field_set.html diff --git a/thirdparty/libzip-1.11.3/man/zip_file_extra_field_set.man b/proj-web/thirdparty/libzip-1.11.3/man/zip_file_extra_field_set.man similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_file_extra_field_set.man rename to proj-web/thirdparty/libzip-1.11.3/man/zip_file_extra_field_set.man diff --git a/thirdparty/libzip-1.11.3/man/zip_file_extra_field_set.mdoc b/proj-web/thirdparty/libzip-1.11.3/man/zip_file_extra_field_set.mdoc similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_file_extra_field_set.mdoc rename to proj-web/thirdparty/libzip-1.11.3/man/zip_file_extra_field_set.mdoc diff --git a/thirdparty/libzip-1.11.3/man/zip_file_extra_fields_count.html b/proj-web/thirdparty/libzip-1.11.3/man/zip_file_extra_fields_count.html similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_file_extra_fields_count.html rename to proj-web/thirdparty/libzip-1.11.3/man/zip_file_extra_fields_count.html diff --git a/thirdparty/libzip-1.11.3/man/zip_file_extra_fields_count.man b/proj-web/thirdparty/libzip-1.11.3/man/zip_file_extra_fields_count.man similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_file_extra_fields_count.man rename to proj-web/thirdparty/libzip-1.11.3/man/zip_file_extra_fields_count.man diff --git a/thirdparty/libzip-1.11.3/man/zip_file_extra_fields_count.mdoc b/proj-web/thirdparty/libzip-1.11.3/man/zip_file_extra_fields_count.mdoc similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_file_extra_fields_count.mdoc rename to proj-web/thirdparty/libzip-1.11.3/man/zip_file_extra_fields_count.mdoc diff --git a/thirdparty/libzip-1.11.3/man/zip_file_get_comment.html b/proj-web/thirdparty/libzip-1.11.3/man/zip_file_get_comment.html similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_file_get_comment.html rename to proj-web/thirdparty/libzip-1.11.3/man/zip_file_get_comment.html diff --git a/thirdparty/libzip-1.11.3/man/zip_file_get_comment.man b/proj-web/thirdparty/libzip-1.11.3/man/zip_file_get_comment.man similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_file_get_comment.man rename to proj-web/thirdparty/libzip-1.11.3/man/zip_file_get_comment.man diff --git a/thirdparty/libzip-1.11.3/man/zip_file_get_comment.mdoc b/proj-web/thirdparty/libzip-1.11.3/man/zip_file_get_comment.mdoc similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_file_get_comment.mdoc rename to proj-web/thirdparty/libzip-1.11.3/man/zip_file_get_comment.mdoc diff --git a/thirdparty/libzip-1.11.3/man/zip_file_get_error.html b/proj-web/thirdparty/libzip-1.11.3/man/zip_file_get_error.html similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_file_get_error.html rename to proj-web/thirdparty/libzip-1.11.3/man/zip_file_get_error.html diff --git a/thirdparty/libzip-1.11.3/man/zip_file_get_error.man b/proj-web/thirdparty/libzip-1.11.3/man/zip_file_get_error.man similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_file_get_error.man rename to proj-web/thirdparty/libzip-1.11.3/man/zip_file_get_error.man diff --git a/thirdparty/libzip-1.11.3/man/zip_file_get_error.mdoc b/proj-web/thirdparty/libzip-1.11.3/man/zip_file_get_error.mdoc similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_file_get_error.mdoc rename to proj-web/thirdparty/libzip-1.11.3/man/zip_file_get_error.mdoc diff --git a/thirdparty/libzip-1.11.3/man/zip_file_get_external_attributes.html b/proj-web/thirdparty/libzip-1.11.3/man/zip_file_get_external_attributes.html similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_file_get_external_attributes.html rename to proj-web/thirdparty/libzip-1.11.3/man/zip_file_get_external_attributes.html diff --git a/thirdparty/libzip-1.11.3/man/zip_file_get_external_attributes.man b/proj-web/thirdparty/libzip-1.11.3/man/zip_file_get_external_attributes.man similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_file_get_external_attributes.man rename to proj-web/thirdparty/libzip-1.11.3/man/zip_file_get_external_attributes.man diff --git a/thirdparty/libzip-1.11.3/man/zip_file_get_external_attributes.mdoc b/proj-web/thirdparty/libzip-1.11.3/man/zip_file_get_external_attributes.mdoc similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_file_get_external_attributes.mdoc rename to proj-web/thirdparty/libzip-1.11.3/man/zip_file_get_external_attributes.mdoc diff --git a/thirdparty/libzip-1.11.3/man/zip_file_rename.html b/proj-web/thirdparty/libzip-1.11.3/man/zip_file_rename.html similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_file_rename.html rename to proj-web/thirdparty/libzip-1.11.3/man/zip_file_rename.html diff --git a/thirdparty/libzip-1.11.3/man/zip_file_rename.man b/proj-web/thirdparty/libzip-1.11.3/man/zip_file_rename.man similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_file_rename.man rename to proj-web/thirdparty/libzip-1.11.3/man/zip_file_rename.man diff --git a/thirdparty/libzip-1.11.3/man/zip_file_rename.mdoc b/proj-web/thirdparty/libzip-1.11.3/man/zip_file_rename.mdoc similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_file_rename.mdoc rename to proj-web/thirdparty/libzip-1.11.3/man/zip_file_rename.mdoc diff --git a/thirdparty/libzip-1.11.3/man/zip_file_set_comment.html b/proj-web/thirdparty/libzip-1.11.3/man/zip_file_set_comment.html similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_file_set_comment.html rename to proj-web/thirdparty/libzip-1.11.3/man/zip_file_set_comment.html diff --git a/thirdparty/libzip-1.11.3/man/zip_file_set_comment.man b/proj-web/thirdparty/libzip-1.11.3/man/zip_file_set_comment.man similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_file_set_comment.man rename to proj-web/thirdparty/libzip-1.11.3/man/zip_file_set_comment.man diff --git a/thirdparty/libzip-1.11.3/man/zip_file_set_comment.mdoc b/proj-web/thirdparty/libzip-1.11.3/man/zip_file_set_comment.mdoc similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_file_set_comment.mdoc rename to proj-web/thirdparty/libzip-1.11.3/man/zip_file_set_comment.mdoc diff --git a/thirdparty/libzip-1.11.3/man/zip_file_set_encryption.html b/proj-web/thirdparty/libzip-1.11.3/man/zip_file_set_encryption.html similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_file_set_encryption.html rename to proj-web/thirdparty/libzip-1.11.3/man/zip_file_set_encryption.html diff --git a/thirdparty/libzip-1.11.3/man/zip_file_set_encryption.man b/proj-web/thirdparty/libzip-1.11.3/man/zip_file_set_encryption.man similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_file_set_encryption.man rename to proj-web/thirdparty/libzip-1.11.3/man/zip_file_set_encryption.man diff --git a/thirdparty/libzip-1.11.3/man/zip_file_set_encryption.mdoc b/proj-web/thirdparty/libzip-1.11.3/man/zip_file_set_encryption.mdoc similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_file_set_encryption.mdoc rename to proj-web/thirdparty/libzip-1.11.3/man/zip_file_set_encryption.mdoc diff --git a/thirdparty/libzip-1.11.3/man/zip_file_set_external_attributes.html b/proj-web/thirdparty/libzip-1.11.3/man/zip_file_set_external_attributes.html similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_file_set_external_attributes.html rename to proj-web/thirdparty/libzip-1.11.3/man/zip_file_set_external_attributes.html diff --git a/thirdparty/libzip-1.11.3/man/zip_file_set_external_attributes.man b/proj-web/thirdparty/libzip-1.11.3/man/zip_file_set_external_attributes.man similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_file_set_external_attributes.man rename to proj-web/thirdparty/libzip-1.11.3/man/zip_file_set_external_attributes.man diff --git a/thirdparty/libzip-1.11.3/man/zip_file_set_external_attributes.mdoc b/proj-web/thirdparty/libzip-1.11.3/man/zip_file_set_external_attributes.mdoc similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_file_set_external_attributes.mdoc rename to proj-web/thirdparty/libzip-1.11.3/man/zip_file_set_external_attributes.mdoc diff --git a/thirdparty/libzip-1.11.3/man/zip_file_set_mtime.html b/proj-web/thirdparty/libzip-1.11.3/man/zip_file_set_mtime.html similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_file_set_mtime.html rename to proj-web/thirdparty/libzip-1.11.3/man/zip_file_set_mtime.html diff --git a/thirdparty/libzip-1.11.3/man/zip_file_set_mtime.man b/proj-web/thirdparty/libzip-1.11.3/man/zip_file_set_mtime.man similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_file_set_mtime.man rename to proj-web/thirdparty/libzip-1.11.3/man/zip_file_set_mtime.man diff --git a/thirdparty/libzip-1.11.3/man/zip_file_set_mtime.mdoc b/proj-web/thirdparty/libzip-1.11.3/man/zip_file_set_mtime.mdoc similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_file_set_mtime.mdoc rename to proj-web/thirdparty/libzip-1.11.3/man/zip_file_set_mtime.mdoc diff --git a/thirdparty/libzip-1.11.3/man/zip_file_strerror.html b/proj-web/thirdparty/libzip-1.11.3/man/zip_file_strerror.html similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_file_strerror.html rename to proj-web/thirdparty/libzip-1.11.3/man/zip_file_strerror.html diff --git a/thirdparty/libzip-1.11.3/man/zip_file_strerror.man b/proj-web/thirdparty/libzip-1.11.3/man/zip_file_strerror.man similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_file_strerror.man rename to proj-web/thirdparty/libzip-1.11.3/man/zip_file_strerror.man diff --git a/thirdparty/libzip-1.11.3/man/zip_file_strerror.mdoc b/proj-web/thirdparty/libzip-1.11.3/man/zip_file_strerror.mdoc similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_file_strerror.mdoc rename to proj-web/thirdparty/libzip-1.11.3/man/zip_file_strerror.mdoc diff --git a/thirdparty/libzip-1.11.3/man/zip_fopen.html b/proj-web/thirdparty/libzip-1.11.3/man/zip_fopen.html similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_fopen.html rename to proj-web/thirdparty/libzip-1.11.3/man/zip_fopen.html diff --git a/thirdparty/libzip-1.11.3/man/zip_fopen.man b/proj-web/thirdparty/libzip-1.11.3/man/zip_fopen.man similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_fopen.man rename to proj-web/thirdparty/libzip-1.11.3/man/zip_fopen.man diff --git a/thirdparty/libzip-1.11.3/man/zip_fopen.mdoc b/proj-web/thirdparty/libzip-1.11.3/man/zip_fopen.mdoc similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_fopen.mdoc rename to proj-web/thirdparty/libzip-1.11.3/man/zip_fopen.mdoc diff --git a/thirdparty/libzip-1.11.3/man/zip_fopen_encrypted.html b/proj-web/thirdparty/libzip-1.11.3/man/zip_fopen_encrypted.html similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_fopen_encrypted.html rename to proj-web/thirdparty/libzip-1.11.3/man/zip_fopen_encrypted.html diff --git a/thirdparty/libzip-1.11.3/man/zip_fopen_encrypted.man b/proj-web/thirdparty/libzip-1.11.3/man/zip_fopen_encrypted.man similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_fopen_encrypted.man rename to proj-web/thirdparty/libzip-1.11.3/man/zip_fopen_encrypted.man diff --git a/thirdparty/libzip-1.11.3/man/zip_fopen_encrypted.mdoc b/proj-web/thirdparty/libzip-1.11.3/man/zip_fopen_encrypted.mdoc similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_fopen_encrypted.mdoc rename to proj-web/thirdparty/libzip-1.11.3/man/zip_fopen_encrypted.mdoc diff --git a/thirdparty/libzip-1.11.3/man/zip_fread.html b/proj-web/thirdparty/libzip-1.11.3/man/zip_fread.html similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_fread.html rename to proj-web/thirdparty/libzip-1.11.3/man/zip_fread.html diff --git a/thirdparty/libzip-1.11.3/man/zip_fread.man b/proj-web/thirdparty/libzip-1.11.3/man/zip_fread.man similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_fread.man rename to proj-web/thirdparty/libzip-1.11.3/man/zip_fread.man diff --git a/thirdparty/libzip-1.11.3/man/zip_fread.mdoc b/proj-web/thirdparty/libzip-1.11.3/man/zip_fread.mdoc similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_fread.mdoc rename to proj-web/thirdparty/libzip-1.11.3/man/zip_fread.mdoc diff --git a/thirdparty/libzip-1.11.3/man/zip_fseek.html b/proj-web/thirdparty/libzip-1.11.3/man/zip_fseek.html similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_fseek.html rename to proj-web/thirdparty/libzip-1.11.3/man/zip_fseek.html diff --git a/thirdparty/libzip-1.11.3/man/zip_fseek.man b/proj-web/thirdparty/libzip-1.11.3/man/zip_fseek.man similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_fseek.man rename to proj-web/thirdparty/libzip-1.11.3/man/zip_fseek.man diff --git a/thirdparty/libzip-1.11.3/man/zip_fseek.mdoc b/proj-web/thirdparty/libzip-1.11.3/man/zip_fseek.mdoc similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_fseek.mdoc rename to proj-web/thirdparty/libzip-1.11.3/man/zip_fseek.mdoc diff --git a/thirdparty/libzip-1.11.3/man/zip_ftell.html b/proj-web/thirdparty/libzip-1.11.3/man/zip_ftell.html similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_ftell.html rename to proj-web/thirdparty/libzip-1.11.3/man/zip_ftell.html diff --git a/thirdparty/libzip-1.11.3/man/zip_ftell.man b/proj-web/thirdparty/libzip-1.11.3/man/zip_ftell.man similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_ftell.man rename to proj-web/thirdparty/libzip-1.11.3/man/zip_ftell.man diff --git a/thirdparty/libzip-1.11.3/man/zip_ftell.mdoc b/proj-web/thirdparty/libzip-1.11.3/man/zip_ftell.mdoc similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_ftell.mdoc rename to proj-web/thirdparty/libzip-1.11.3/man/zip_ftell.mdoc diff --git a/thirdparty/libzip-1.11.3/man/zip_get_archive_comment.html b/proj-web/thirdparty/libzip-1.11.3/man/zip_get_archive_comment.html similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_get_archive_comment.html rename to proj-web/thirdparty/libzip-1.11.3/man/zip_get_archive_comment.html diff --git a/thirdparty/libzip-1.11.3/man/zip_get_archive_comment.man b/proj-web/thirdparty/libzip-1.11.3/man/zip_get_archive_comment.man similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_get_archive_comment.man rename to proj-web/thirdparty/libzip-1.11.3/man/zip_get_archive_comment.man diff --git a/thirdparty/libzip-1.11.3/man/zip_get_archive_comment.mdoc b/proj-web/thirdparty/libzip-1.11.3/man/zip_get_archive_comment.mdoc similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_get_archive_comment.mdoc rename to proj-web/thirdparty/libzip-1.11.3/man/zip_get_archive_comment.mdoc diff --git a/thirdparty/libzip-1.11.3/man/zip_get_archive_flag.html b/proj-web/thirdparty/libzip-1.11.3/man/zip_get_archive_flag.html similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_get_archive_flag.html rename to proj-web/thirdparty/libzip-1.11.3/man/zip_get_archive_flag.html diff --git a/thirdparty/libzip-1.11.3/man/zip_get_archive_flag.man b/proj-web/thirdparty/libzip-1.11.3/man/zip_get_archive_flag.man similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_get_archive_flag.man rename to proj-web/thirdparty/libzip-1.11.3/man/zip_get_archive_flag.man diff --git a/thirdparty/libzip-1.11.3/man/zip_get_archive_flag.mdoc b/proj-web/thirdparty/libzip-1.11.3/man/zip_get_archive_flag.mdoc similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_get_archive_flag.mdoc rename to proj-web/thirdparty/libzip-1.11.3/man/zip_get_archive_flag.mdoc diff --git a/thirdparty/libzip-1.11.3/man/zip_get_error.html b/proj-web/thirdparty/libzip-1.11.3/man/zip_get_error.html similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_get_error.html rename to proj-web/thirdparty/libzip-1.11.3/man/zip_get_error.html diff --git a/thirdparty/libzip-1.11.3/man/zip_get_error.man b/proj-web/thirdparty/libzip-1.11.3/man/zip_get_error.man similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_get_error.man rename to proj-web/thirdparty/libzip-1.11.3/man/zip_get_error.man diff --git a/thirdparty/libzip-1.11.3/man/zip_get_error.mdoc b/proj-web/thirdparty/libzip-1.11.3/man/zip_get_error.mdoc similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_get_error.mdoc rename to proj-web/thirdparty/libzip-1.11.3/man/zip_get_error.mdoc diff --git a/thirdparty/libzip-1.11.3/man/zip_get_file_comment.html b/proj-web/thirdparty/libzip-1.11.3/man/zip_get_file_comment.html similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_get_file_comment.html rename to proj-web/thirdparty/libzip-1.11.3/man/zip_get_file_comment.html diff --git a/thirdparty/libzip-1.11.3/man/zip_get_file_comment.man b/proj-web/thirdparty/libzip-1.11.3/man/zip_get_file_comment.man similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_get_file_comment.man rename to proj-web/thirdparty/libzip-1.11.3/man/zip_get_file_comment.man diff --git a/thirdparty/libzip-1.11.3/man/zip_get_file_comment.mdoc b/proj-web/thirdparty/libzip-1.11.3/man/zip_get_file_comment.mdoc similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_get_file_comment.mdoc rename to proj-web/thirdparty/libzip-1.11.3/man/zip_get_file_comment.mdoc diff --git a/thirdparty/libzip-1.11.3/man/zip_get_name.html b/proj-web/thirdparty/libzip-1.11.3/man/zip_get_name.html similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_get_name.html rename to proj-web/thirdparty/libzip-1.11.3/man/zip_get_name.html diff --git a/thirdparty/libzip-1.11.3/man/zip_get_name.man b/proj-web/thirdparty/libzip-1.11.3/man/zip_get_name.man similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_get_name.man rename to proj-web/thirdparty/libzip-1.11.3/man/zip_get_name.man diff --git a/thirdparty/libzip-1.11.3/man/zip_get_name.mdoc b/proj-web/thirdparty/libzip-1.11.3/man/zip_get_name.mdoc similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_get_name.mdoc rename to proj-web/thirdparty/libzip-1.11.3/man/zip_get_name.mdoc diff --git a/thirdparty/libzip-1.11.3/man/zip_get_num_entries.html b/proj-web/thirdparty/libzip-1.11.3/man/zip_get_num_entries.html similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_get_num_entries.html rename to proj-web/thirdparty/libzip-1.11.3/man/zip_get_num_entries.html diff --git a/thirdparty/libzip-1.11.3/man/zip_get_num_entries.man b/proj-web/thirdparty/libzip-1.11.3/man/zip_get_num_entries.man similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_get_num_entries.man rename to proj-web/thirdparty/libzip-1.11.3/man/zip_get_num_entries.man diff --git a/thirdparty/libzip-1.11.3/man/zip_get_num_entries.mdoc b/proj-web/thirdparty/libzip-1.11.3/man/zip_get_num_entries.mdoc similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_get_num_entries.mdoc rename to proj-web/thirdparty/libzip-1.11.3/man/zip_get_num_entries.mdoc diff --git a/thirdparty/libzip-1.11.3/man/zip_get_num_files.html b/proj-web/thirdparty/libzip-1.11.3/man/zip_get_num_files.html similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_get_num_files.html rename to proj-web/thirdparty/libzip-1.11.3/man/zip_get_num_files.html diff --git a/thirdparty/libzip-1.11.3/man/zip_get_num_files.man b/proj-web/thirdparty/libzip-1.11.3/man/zip_get_num_files.man similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_get_num_files.man rename to proj-web/thirdparty/libzip-1.11.3/man/zip_get_num_files.man diff --git a/thirdparty/libzip-1.11.3/man/zip_get_num_files.mdoc b/proj-web/thirdparty/libzip-1.11.3/man/zip_get_num_files.mdoc similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_get_num_files.mdoc rename to proj-web/thirdparty/libzip-1.11.3/man/zip_get_num_files.mdoc diff --git a/thirdparty/libzip-1.11.3/man/zip_libzip_version.html b/proj-web/thirdparty/libzip-1.11.3/man/zip_libzip_version.html similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_libzip_version.html rename to proj-web/thirdparty/libzip-1.11.3/man/zip_libzip_version.html diff --git a/thirdparty/libzip-1.11.3/man/zip_libzip_version.man b/proj-web/thirdparty/libzip-1.11.3/man/zip_libzip_version.man similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_libzip_version.man rename to proj-web/thirdparty/libzip-1.11.3/man/zip_libzip_version.man diff --git a/thirdparty/libzip-1.11.3/man/zip_libzip_version.mdoc b/proj-web/thirdparty/libzip-1.11.3/man/zip_libzip_version.mdoc similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_libzip_version.mdoc rename to proj-web/thirdparty/libzip-1.11.3/man/zip_libzip_version.mdoc diff --git a/thirdparty/libzip-1.11.3/man/zip_name_locate.html b/proj-web/thirdparty/libzip-1.11.3/man/zip_name_locate.html similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_name_locate.html rename to proj-web/thirdparty/libzip-1.11.3/man/zip_name_locate.html diff --git a/thirdparty/libzip-1.11.3/man/zip_name_locate.man b/proj-web/thirdparty/libzip-1.11.3/man/zip_name_locate.man similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_name_locate.man rename to proj-web/thirdparty/libzip-1.11.3/man/zip_name_locate.man diff --git a/thirdparty/libzip-1.11.3/man/zip_name_locate.mdoc b/proj-web/thirdparty/libzip-1.11.3/man/zip_name_locate.mdoc similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_name_locate.mdoc rename to proj-web/thirdparty/libzip-1.11.3/man/zip_name_locate.mdoc diff --git a/thirdparty/libzip-1.11.3/man/zip_open.html b/proj-web/thirdparty/libzip-1.11.3/man/zip_open.html similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_open.html rename to proj-web/thirdparty/libzip-1.11.3/man/zip_open.html diff --git a/thirdparty/libzip-1.11.3/man/zip_open.man b/proj-web/thirdparty/libzip-1.11.3/man/zip_open.man similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_open.man rename to proj-web/thirdparty/libzip-1.11.3/man/zip_open.man diff --git a/thirdparty/libzip-1.11.3/man/zip_open.mdoc b/proj-web/thirdparty/libzip-1.11.3/man/zip_open.mdoc similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_open.mdoc rename to proj-web/thirdparty/libzip-1.11.3/man/zip_open.mdoc diff --git a/thirdparty/libzip-1.11.3/man/zip_register_cancel_callback_with_state.html b/proj-web/thirdparty/libzip-1.11.3/man/zip_register_cancel_callback_with_state.html similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_register_cancel_callback_with_state.html rename to proj-web/thirdparty/libzip-1.11.3/man/zip_register_cancel_callback_with_state.html diff --git a/thirdparty/libzip-1.11.3/man/zip_register_cancel_callback_with_state.man b/proj-web/thirdparty/libzip-1.11.3/man/zip_register_cancel_callback_with_state.man similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_register_cancel_callback_with_state.man rename to proj-web/thirdparty/libzip-1.11.3/man/zip_register_cancel_callback_with_state.man diff --git a/thirdparty/libzip-1.11.3/man/zip_register_cancel_callback_with_state.mdoc b/proj-web/thirdparty/libzip-1.11.3/man/zip_register_cancel_callback_with_state.mdoc similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_register_cancel_callback_with_state.mdoc rename to proj-web/thirdparty/libzip-1.11.3/man/zip_register_cancel_callback_with_state.mdoc diff --git a/thirdparty/libzip-1.11.3/man/zip_register_progress_callback.html b/proj-web/thirdparty/libzip-1.11.3/man/zip_register_progress_callback.html similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_register_progress_callback.html rename to proj-web/thirdparty/libzip-1.11.3/man/zip_register_progress_callback.html diff --git a/thirdparty/libzip-1.11.3/man/zip_register_progress_callback.man b/proj-web/thirdparty/libzip-1.11.3/man/zip_register_progress_callback.man similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_register_progress_callback.man rename to proj-web/thirdparty/libzip-1.11.3/man/zip_register_progress_callback.man diff --git a/thirdparty/libzip-1.11.3/man/zip_register_progress_callback.mdoc b/proj-web/thirdparty/libzip-1.11.3/man/zip_register_progress_callback.mdoc similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_register_progress_callback.mdoc rename to proj-web/thirdparty/libzip-1.11.3/man/zip_register_progress_callback.mdoc diff --git a/thirdparty/libzip-1.11.3/man/zip_register_progress_callback_with_state.html b/proj-web/thirdparty/libzip-1.11.3/man/zip_register_progress_callback_with_state.html similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_register_progress_callback_with_state.html rename to proj-web/thirdparty/libzip-1.11.3/man/zip_register_progress_callback_with_state.html diff --git a/thirdparty/libzip-1.11.3/man/zip_register_progress_callback_with_state.man b/proj-web/thirdparty/libzip-1.11.3/man/zip_register_progress_callback_with_state.man similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_register_progress_callback_with_state.man rename to proj-web/thirdparty/libzip-1.11.3/man/zip_register_progress_callback_with_state.man diff --git a/thirdparty/libzip-1.11.3/man/zip_register_progress_callback_with_state.mdoc b/proj-web/thirdparty/libzip-1.11.3/man/zip_register_progress_callback_with_state.mdoc similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_register_progress_callback_with_state.mdoc rename to proj-web/thirdparty/libzip-1.11.3/man/zip_register_progress_callback_with_state.mdoc diff --git a/thirdparty/libzip-1.11.3/man/zip_rename.html b/proj-web/thirdparty/libzip-1.11.3/man/zip_rename.html similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_rename.html rename to proj-web/thirdparty/libzip-1.11.3/man/zip_rename.html diff --git a/thirdparty/libzip-1.11.3/man/zip_rename.man b/proj-web/thirdparty/libzip-1.11.3/man/zip_rename.man similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_rename.man rename to proj-web/thirdparty/libzip-1.11.3/man/zip_rename.man diff --git a/thirdparty/libzip-1.11.3/man/zip_rename.mdoc b/proj-web/thirdparty/libzip-1.11.3/man/zip_rename.mdoc similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_rename.mdoc rename to proj-web/thirdparty/libzip-1.11.3/man/zip_rename.mdoc diff --git a/thirdparty/libzip-1.11.3/man/zip_set_archive_comment.html b/proj-web/thirdparty/libzip-1.11.3/man/zip_set_archive_comment.html similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_set_archive_comment.html rename to proj-web/thirdparty/libzip-1.11.3/man/zip_set_archive_comment.html diff --git a/thirdparty/libzip-1.11.3/man/zip_set_archive_comment.man b/proj-web/thirdparty/libzip-1.11.3/man/zip_set_archive_comment.man similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_set_archive_comment.man rename to proj-web/thirdparty/libzip-1.11.3/man/zip_set_archive_comment.man diff --git a/thirdparty/libzip-1.11.3/man/zip_set_archive_comment.mdoc b/proj-web/thirdparty/libzip-1.11.3/man/zip_set_archive_comment.mdoc similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_set_archive_comment.mdoc rename to proj-web/thirdparty/libzip-1.11.3/man/zip_set_archive_comment.mdoc diff --git a/thirdparty/libzip-1.11.3/man/zip_set_archive_flag.html b/proj-web/thirdparty/libzip-1.11.3/man/zip_set_archive_flag.html similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_set_archive_flag.html rename to proj-web/thirdparty/libzip-1.11.3/man/zip_set_archive_flag.html diff --git a/thirdparty/libzip-1.11.3/man/zip_set_archive_flag.man b/proj-web/thirdparty/libzip-1.11.3/man/zip_set_archive_flag.man similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_set_archive_flag.man rename to proj-web/thirdparty/libzip-1.11.3/man/zip_set_archive_flag.man diff --git a/thirdparty/libzip-1.11.3/man/zip_set_archive_flag.mdoc b/proj-web/thirdparty/libzip-1.11.3/man/zip_set_archive_flag.mdoc similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_set_archive_flag.mdoc rename to proj-web/thirdparty/libzip-1.11.3/man/zip_set_archive_flag.mdoc diff --git a/thirdparty/libzip-1.11.3/man/zip_set_default_password.html b/proj-web/thirdparty/libzip-1.11.3/man/zip_set_default_password.html similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_set_default_password.html rename to proj-web/thirdparty/libzip-1.11.3/man/zip_set_default_password.html diff --git a/thirdparty/libzip-1.11.3/man/zip_set_default_password.man b/proj-web/thirdparty/libzip-1.11.3/man/zip_set_default_password.man similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_set_default_password.man rename to proj-web/thirdparty/libzip-1.11.3/man/zip_set_default_password.man diff --git a/thirdparty/libzip-1.11.3/man/zip_set_default_password.mdoc b/proj-web/thirdparty/libzip-1.11.3/man/zip_set_default_password.mdoc similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_set_default_password.mdoc rename to proj-web/thirdparty/libzip-1.11.3/man/zip_set_default_password.mdoc diff --git a/thirdparty/libzip-1.11.3/man/zip_set_file_comment.html b/proj-web/thirdparty/libzip-1.11.3/man/zip_set_file_comment.html similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_set_file_comment.html rename to proj-web/thirdparty/libzip-1.11.3/man/zip_set_file_comment.html diff --git a/thirdparty/libzip-1.11.3/man/zip_set_file_comment.man b/proj-web/thirdparty/libzip-1.11.3/man/zip_set_file_comment.man similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_set_file_comment.man rename to proj-web/thirdparty/libzip-1.11.3/man/zip_set_file_comment.man diff --git a/thirdparty/libzip-1.11.3/man/zip_set_file_comment.mdoc b/proj-web/thirdparty/libzip-1.11.3/man/zip_set_file_comment.mdoc similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_set_file_comment.mdoc rename to proj-web/thirdparty/libzip-1.11.3/man/zip_set_file_comment.mdoc diff --git a/thirdparty/libzip-1.11.3/man/zip_set_file_compression.html b/proj-web/thirdparty/libzip-1.11.3/man/zip_set_file_compression.html similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_set_file_compression.html rename to proj-web/thirdparty/libzip-1.11.3/man/zip_set_file_compression.html diff --git a/thirdparty/libzip-1.11.3/man/zip_set_file_compression.man b/proj-web/thirdparty/libzip-1.11.3/man/zip_set_file_compression.man similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_set_file_compression.man rename to proj-web/thirdparty/libzip-1.11.3/man/zip_set_file_compression.man diff --git a/thirdparty/libzip-1.11.3/man/zip_set_file_compression.mdoc b/proj-web/thirdparty/libzip-1.11.3/man/zip_set_file_compression.mdoc similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_set_file_compression.mdoc rename to proj-web/thirdparty/libzip-1.11.3/man/zip_set_file_compression.mdoc diff --git a/thirdparty/libzip-1.11.3/man/zip_source.html b/proj-web/thirdparty/libzip-1.11.3/man/zip_source.html similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_source.html rename to proj-web/thirdparty/libzip-1.11.3/man/zip_source.html diff --git a/thirdparty/libzip-1.11.3/man/zip_source.man b/proj-web/thirdparty/libzip-1.11.3/man/zip_source.man similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_source.man rename to proj-web/thirdparty/libzip-1.11.3/man/zip_source.man diff --git a/thirdparty/libzip-1.11.3/man/zip_source.mdoc b/proj-web/thirdparty/libzip-1.11.3/man/zip_source.mdoc similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_source.mdoc rename to proj-web/thirdparty/libzip-1.11.3/man/zip_source.mdoc diff --git a/thirdparty/libzip-1.11.3/man/zip_source_begin_write.html b/proj-web/thirdparty/libzip-1.11.3/man/zip_source_begin_write.html similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_source_begin_write.html rename to proj-web/thirdparty/libzip-1.11.3/man/zip_source_begin_write.html diff --git a/thirdparty/libzip-1.11.3/man/zip_source_begin_write.man b/proj-web/thirdparty/libzip-1.11.3/man/zip_source_begin_write.man similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_source_begin_write.man rename to proj-web/thirdparty/libzip-1.11.3/man/zip_source_begin_write.man diff --git a/thirdparty/libzip-1.11.3/man/zip_source_begin_write.mdoc b/proj-web/thirdparty/libzip-1.11.3/man/zip_source_begin_write.mdoc similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_source_begin_write.mdoc rename to proj-web/thirdparty/libzip-1.11.3/man/zip_source_begin_write.mdoc diff --git a/thirdparty/libzip-1.11.3/man/zip_source_buffer.html b/proj-web/thirdparty/libzip-1.11.3/man/zip_source_buffer.html similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_source_buffer.html rename to proj-web/thirdparty/libzip-1.11.3/man/zip_source_buffer.html diff --git a/thirdparty/libzip-1.11.3/man/zip_source_buffer.man b/proj-web/thirdparty/libzip-1.11.3/man/zip_source_buffer.man similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_source_buffer.man rename to proj-web/thirdparty/libzip-1.11.3/man/zip_source_buffer.man diff --git a/thirdparty/libzip-1.11.3/man/zip_source_buffer.mdoc b/proj-web/thirdparty/libzip-1.11.3/man/zip_source_buffer.mdoc similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_source_buffer.mdoc rename to proj-web/thirdparty/libzip-1.11.3/man/zip_source_buffer.mdoc diff --git a/thirdparty/libzip-1.11.3/man/zip_source_buffer_fragment.html b/proj-web/thirdparty/libzip-1.11.3/man/zip_source_buffer_fragment.html similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_source_buffer_fragment.html rename to proj-web/thirdparty/libzip-1.11.3/man/zip_source_buffer_fragment.html diff --git a/thirdparty/libzip-1.11.3/man/zip_source_buffer_fragment.man b/proj-web/thirdparty/libzip-1.11.3/man/zip_source_buffer_fragment.man similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_source_buffer_fragment.man rename to proj-web/thirdparty/libzip-1.11.3/man/zip_source_buffer_fragment.man diff --git a/thirdparty/libzip-1.11.3/man/zip_source_buffer_fragment.mdoc b/proj-web/thirdparty/libzip-1.11.3/man/zip_source_buffer_fragment.mdoc similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_source_buffer_fragment.mdoc rename to proj-web/thirdparty/libzip-1.11.3/man/zip_source_buffer_fragment.mdoc diff --git a/thirdparty/libzip-1.11.3/man/zip_source_close.html b/proj-web/thirdparty/libzip-1.11.3/man/zip_source_close.html similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_source_close.html rename to proj-web/thirdparty/libzip-1.11.3/man/zip_source_close.html diff --git a/thirdparty/libzip-1.11.3/man/zip_source_close.man b/proj-web/thirdparty/libzip-1.11.3/man/zip_source_close.man similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_source_close.man rename to proj-web/thirdparty/libzip-1.11.3/man/zip_source_close.man diff --git a/thirdparty/libzip-1.11.3/man/zip_source_close.mdoc b/proj-web/thirdparty/libzip-1.11.3/man/zip_source_close.mdoc similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_source_close.mdoc rename to proj-web/thirdparty/libzip-1.11.3/man/zip_source_close.mdoc diff --git a/thirdparty/libzip-1.11.3/man/zip_source_commit_write.html b/proj-web/thirdparty/libzip-1.11.3/man/zip_source_commit_write.html similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_source_commit_write.html rename to proj-web/thirdparty/libzip-1.11.3/man/zip_source_commit_write.html diff --git a/thirdparty/libzip-1.11.3/man/zip_source_commit_write.man b/proj-web/thirdparty/libzip-1.11.3/man/zip_source_commit_write.man similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_source_commit_write.man rename to proj-web/thirdparty/libzip-1.11.3/man/zip_source_commit_write.man diff --git a/thirdparty/libzip-1.11.3/man/zip_source_commit_write.mdoc b/proj-web/thirdparty/libzip-1.11.3/man/zip_source_commit_write.mdoc similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_source_commit_write.mdoc rename to proj-web/thirdparty/libzip-1.11.3/man/zip_source_commit_write.mdoc diff --git a/thirdparty/libzip-1.11.3/man/zip_source_error.html b/proj-web/thirdparty/libzip-1.11.3/man/zip_source_error.html similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_source_error.html rename to proj-web/thirdparty/libzip-1.11.3/man/zip_source_error.html diff --git a/thirdparty/libzip-1.11.3/man/zip_source_error.man b/proj-web/thirdparty/libzip-1.11.3/man/zip_source_error.man similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_source_error.man rename to proj-web/thirdparty/libzip-1.11.3/man/zip_source_error.man diff --git a/thirdparty/libzip-1.11.3/man/zip_source_error.mdoc b/proj-web/thirdparty/libzip-1.11.3/man/zip_source_error.mdoc similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_source_error.mdoc rename to proj-web/thirdparty/libzip-1.11.3/man/zip_source_error.mdoc diff --git a/thirdparty/libzip-1.11.3/man/zip_source_file.html b/proj-web/thirdparty/libzip-1.11.3/man/zip_source_file.html similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_source_file.html rename to proj-web/thirdparty/libzip-1.11.3/man/zip_source_file.html diff --git a/thirdparty/libzip-1.11.3/man/zip_source_file.man b/proj-web/thirdparty/libzip-1.11.3/man/zip_source_file.man similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_source_file.man rename to proj-web/thirdparty/libzip-1.11.3/man/zip_source_file.man diff --git a/thirdparty/libzip-1.11.3/man/zip_source_file.mdoc b/proj-web/thirdparty/libzip-1.11.3/man/zip_source_file.mdoc similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_source_file.mdoc rename to proj-web/thirdparty/libzip-1.11.3/man/zip_source_file.mdoc diff --git a/thirdparty/libzip-1.11.3/man/zip_source_filep.html b/proj-web/thirdparty/libzip-1.11.3/man/zip_source_filep.html similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_source_filep.html rename to proj-web/thirdparty/libzip-1.11.3/man/zip_source_filep.html diff --git a/thirdparty/libzip-1.11.3/man/zip_source_filep.man b/proj-web/thirdparty/libzip-1.11.3/man/zip_source_filep.man similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_source_filep.man rename to proj-web/thirdparty/libzip-1.11.3/man/zip_source_filep.man diff --git a/thirdparty/libzip-1.11.3/man/zip_source_filep.mdoc b/proj-web/thirdparty/libzip-1.11.3/man/zip_source_filep.mdoc similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_source_filep.mdoc rename to proj-web/thirdparty/libzip-1.11.3/man/zip_source_filep.mdoc diff --git a/thirdparty/libzip-1.11.3/man/zip_source_free.html b/proj-web/thirdparty/libzip-1.11.3/man/zip_source_free.html similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_source_free.html rename to proj-web/thirdparty/libzip-1.11.3/man/zip_source_free.html diff --git a/thirdparty/libzip-1.11.3/man/zip_source_free.man b/proj-web/thirdparty/libzip-1.11.3/man/zip_source_free.man similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_source_free.man rename to proj-web/thirdparty/libzip-1.11.3/man/zip_source_free.man diff --git a/thirdparty/libzip-1.11.3/man/zip_source_free.mdoc b/proj-web/thirdparty/libzip-1.11.3/man/zip_source_free.mdoc similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_source_free.mdoc rename to proj-web/thirdparty/libzip-1.11.3/man/zip_source_free.mdoc diff --git a/thirdparty/libzip-1.11.3/man/zip_source_function.html b/proj-web/thirdparty/libzip-1.11.3/man/zip_source_function.html similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_source_function.html rename to proj-web/thirdparty/libzip-1.11.3/man/zip_source_function.html diff --git a/thirdparty/libzip-1.11.3/man/zip_source_function.man b/proj-web/thirdparty/libzip-1.11.3/man/zip_source_function.man similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_source_function.man rename to proj-web/thirdparty/libzip-1.11.3/man/zip_source_function.man diff --git a/thirdparty/libzip-1.11.3/man/zip_source_function.mdoc b/proj-web/thirdparty/libzip-1.11.3/man/zip_source_function.mdoc similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_source_function.mdoc rename to proj-web/thirdparty/libzip-1.11.3/man/zip_source_function.mdoc diff --git a/thirdparty/libzip-1.11.3/man/zip_source_is_deleted.html b/proj-web/thirdparty/libzip-1.11.3/man/zip_source_is_deleted.html similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_source_is_deleted.html rename to proj-web/thirdparty/libzip-1.11.3/man/zip_source_is_deleted.html diff --git a/thirdparty/libzip-1.11.3/man/zip_source_is_deleted.man b/proj-web/thirdparty/libzip-1.11.3/man/zip_source_is_deleted.man similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_source_is_deleted.man rename to proj-web/thirdparty/libzip-1.11.3/man/zip_source_is_deleted.man diff --git a/thirdparty/libzip-1.11.3/man/zip_source_is_deleted.mdoc b/proj-web/thirdparty/libzip-1.11.3/man/zip_source_is_deleted.mdoc similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_source_is_deleted.mdoc rename to proj-web/thirdparty/libzip-1.11.3/man/zip_source_is_deleted.mdoc diff --git a/thirdparty/libzip-1.11.3/man/zip_source_is_seekable.html b/proj-web/thirdparty/libzip-1.11.3/man/zip_source_is_seekable.html similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_source_is_seekable.html rename to proj-web/thirdparty/libzip-1.11.3/man/zip_source_is_seekable.html diff --git a/thirdparty/libzip-1.11.3/man/zip_source_is_seekable.man b/proj-web/thirdparty/libzip-1.11.3/man/zip_source_is_seekable.man similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_source_is_seekable.man rename to proj-web/thirdparty/libzip-1.11.3/man/zip_source_is_seekable.man diff --git a/thirdparty/libzip-1.11.3/man/zip_source_is_seekable.mdoc b/proj-web/thirdparty/libzip-1.11.3/man/zip_source_is_seekable.mdoc similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_source_is_seekable.mdoc rename to proj-web/thirdparty/libzip-1.11.3/man/zip_source_is_seekable.mdoc diff --git a/thirdparty/libzip-1.11.3/man/zip_source_keep.html b/proj-web/thirdparty/libzip-1.11.3/man/zip_source_keep.html similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_source_keep.html rename to proj-web/thirdparty/libzip-1.11.3/man/zip_source_keep.html diff --git a/thirdparty/libzip-1.11.3/man/zip_source_keep.man b/proj-web/thirdparty/libzip-1.11.3/man/zip_source_keep.man similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_source_keep.man rename to proj-web/thirdparty/libzip-1.11.3/man/zip_source_keep.man diff --git a/thirdparty/libzip-1.11.3/man/zip_source_keep.mdoc b/proj-web/thirdparty/libzip-1.11.3/man/zip_source_keep.mdoc similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_source_keep.mdoc rename to proj-web/thirdparty/libzip-1.11.3/man/zip_source_keep.mdoc diff --git a/thirdparty/libzip-1.11.3/man/zip_source_layered.html b/proj-web/thirdparty/libzip-1.11.3/man/zip_source_layered.html similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_source_layered.html rename to proj-web/thirdparty/libzip-1.11.3/man/zip_source_layered.html diff --git a/thirdparty/libzip-1.11.3/man/zip_source_layered.man b/proj-web/thirdparty/libzip-1.11.3/man/zip_source_layered.man similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_source_layered.man rename to proj-web/thirdparty/libzip-1.11.3/man/zip_source_layered.man diff --git a/thirdparty/libzip-1.11.3/man/zip_source_layered.mdoc b/proj-web/thirdparty/libzip-1.11.3/man/zip_source_layered.mdoc similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_source_layered.mdoc rename to proj-web/thirdparty/libzip-1.11.3/man/zip_source_layered.mdoc diff --git a/thirdparty/libzip-1.11.3/man/zip_source_make_command_bitmap.html b/proj-web/thirdparty/libzip-1.11.3/man/zip_source_make_command_bitmap.html similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_source_make_command_bitmap.html rename to proj-web/thirdparty/libzip-1.11.3/man/zip_source_make_command_bitmap.html diff --git a/thirdparty/libzip-1.11.3/man/zip_source_make_command_bitmap.man b/proj-web/thirdparty/libzip-1.11.3/man/zip_source_make_command_bitmap.man similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_source_make_command_bitmap.man rename to proj-web/thirdparty/libzip-1.11.3/man/zip_source_make_command_bitmap.man diff --git a/thirdparty/libzip-1.11.3/man/zip_source_make_command_bitmap.mdoc b/proj-web/thirdparty/libzip-1.11.3/man/zip_source_make_command_bitmap.mdoc similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_source_make_command_bitmap.mdoc rename to proj-web/thirdparty/libzip-1.11.3/man/zip_source_make_command_bitmap.mdoc diff --git a/thirdparty/libzip-1.11.3/man/zip_source_open.html b/proj-web/thirdparty/libzip-1.11.3/man/zip_source_open.html similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_source_open.html rename to proj-web/thirdparty/libzip-1.11.3/man/zip_source_open.html diff --git a/thirdparty/libzip-1.11.3/man/zip_source_open.man b/proj-web/thirdparty/libzip-1.11.3/man/zip_source_open.man similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_source_open.man rename to proj-web/thirdparty/libzip-1.11.3/man/zip_source_open.man diff --git a/thirdparty/libzip-1.11.3/man/zip_source_open.mdoc b/proj-web/thirdparty/libzip-1.11.3/man/zip_source_open.mdoc similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_source_open.mdoc rename to proj-web/thirdparty/libzip-1.11.3/man/zip_source_open.mdoc diff --git a/thirdparty/libzip-1.11.3/man/zip_source_pass_to_lower_layer.mdoc b/proj-web/thirdparty/libzip-1.11.3/man/zip_source_pass_to_lower_layer.mdoc similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_source_pass_to_lower_layer.mdoc rename to proj-web/thirdparty/libzip-1.11.3/man/zip_source_pass_to_lower_layer.mdoc diff --git a/thirdparty/libzip-1.11.3/man/zip_source_read.html b/proj-web/thirdparty/libzip-1.11.3/man/zip_source_read.html similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_source_read.html rename to proj-web/thirdparty/libzip-1.11.3/man/zip_source_read.html diff --git a/thirdparty/libzip-1.11.3/man/zip_source_read.man b/proj-web/thirdparty/libzip-1.11.3/man/zip_source_read.man similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_source_read.man rename to proj-web/thirdparty/libzip-1.11.3/man/zip_source_read.man diff --git a/thirdparty/libzip-1.11.3/man/zip_source_read.mdoc b/proj-web/thirdparty/libzip-1.11.3/man/zip_source_read.mdoc similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_source_read.mdoc rename to proj-web/thirdparty/libzip-1.11.3/man/zip_source_read.mdoc diff --git a/thirdparty/libzip-1.11.3/man/zip_source_rollback_write.html b/proj-web/thirdparty/libzip-1.11.3/man/zip_source_rollback_write.html similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_source_rollback_write.html rename to proj-web/thirdparty/libzip-1.11.3/man/zip_source_rollback_write.html diff --git a/thirdparty/libzip-1.11.3/man/zip_source_rollback_write.man b/proj-web/thirdparty/libzip-1.11.3/man/zip_source_rollback_write.man similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_source_rollback_write.man rename to proj-web/thirdparty/libzip-1.11.3/man/zip_source_rollback_write.man diff --git a/thirdparty/libzip-1.11.3/man/zip_source_rollback_write.mdoc b/proj-web/thirdparty/libzip-1.11.3/man/zip_source_rollback_write.mdoc similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_source_rollback_write.mdoc rename to proj-web/thirdparty/libzip-1.11.3/man/zip_source_rollback_write.mdoc diff --git a/thirdparty/libzip-1.11.3/man/zip_source_seek.html b/proj-web/thirdparty/libzip-1.11.3/man/zip_source_seek.html similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_source_seek.html rename to proj-web/thirdparty/libzip-1.11.3/man/zip_source_seek.html diff --git a/thirdparty/libzip-1.11.3/man/zip_source_seek.man b/proj-web/thirdparty/libzip-1.11.3/man/zip_source_seek.man similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_source_seek.man rename to proj-web/thirdparty/libzip-1.11.3/man/zip_source_seek.man diff --git a/thirdparty/libzip-1.11.3/man/zip_source_seek.mdoc b/proj-web/thirdparty/libzip-1.11.3/man/zip_source_seek.mdoc similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_source_seek.mdoc rename to proj-web/thirdparty/libzip-1.11.3/man/zip_source_seek.mdoc diff --git a/thirdparty/libzip-1.11.3/man/zip_source_seek_compute_offset.html b/proj-web/thirdparty/libzip-1.11.3/man/zip_source_seek_compute_offset.html similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_source_seek_compute_offset.html rename to proj-web/thirdparty/libzip-1.11.3/man/zip_source_seek_compute_offset.html diff --git a/thirdparty/libzip-1.11.3/man/zip_source_seek_compute_offset.man b/proj-web/thirdparty/libzip-1.11.3/man/zip_source_seek_compute_offset.man similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_source_seek_compute_offset.man rename to proj-web/thirdparty/libzip-1.11.3/man/zip_source_seek_compute_offset.man diff --git a/thirdparty/libzip-1.11.3/man/zip_source_seek_compute_offset.mdoc b/proj-web/thirdparty/libzip-1.11.3/man/zip_source_seek_compute_offset.mdoc similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_source_seek_compute_offset.mdoc rename to proj-web/thirdparty/libzip-1.11.3/man/zip_source_seek_compute_offset.mdoc diff --git a/thirdparty/libzip-1.11.3/man/zip_source_seek_write.html b/proj-web/thirdparty/libzip-1.11.3/man/zip_source_seek_write.html similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_source_seek_write.html rename to proj-web/thirdparty/libzip-1.11.3/man/zip_source_seek_write.html diff --git a/thirdparty/libzip-1.11.3/man/zip_source_seek_write.man b/proj-web/thirdparty/libzip-1.11.3/man/zip_source_seek_write.man similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_source_seek_write.man rename to proj-web/thirdparty/libzip-1.11.3/man/zip_source_seek_write.man diff --git a/thirdparty/libzip-1.11.3/man/zip_source_seek_write.mdoc b/proj-web/thirdparty/libzip-1.11.3/man/zip_source_seek_write.mdoc similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_source_seek_write.mdoc rename to proj-web/thirdparty/libzip-1.11.3/man/zip_source_seek_write.mdoc diff --git a/thirdparty/libzip-1.11.3/man/zip_source_stat.html b/proj-web/thirdparty/libzip-1.11.3/man/zip_source_stat.html similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_source_stat.html rename to proj-web/thirdparty/libzip-1.11.3/man/zip_source_stat.html diff --git a/thirdparty/libzip-1.11.3/man/zip_source_stat.man b/proj-web/thirdparty/libzip-1.11.3/man/zip_source_stat.man similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_source_stat.man rename to proj-web/thirdparty/libzip-1.11.3/man/zip_source_stat.man diff --git a/thirdparty/libzip-1.11.3/man/zip_source_stat.mdoc b/proj-web/thirdparty/libzip-1.11.3/man/zip_source_stat.mdoc similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_source_stat.mdoc rename to proj-web/thirdparty/libzip-1.11.3/man/zip_source_stat.mdoc diff --git a/thirdparty/libzip-1.11.3/man/zip_source_tell.html b/proj-web/thirdparty/libzip-1.11.3/man/zip_source_tell.html similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_source_tell.html rename to proj-web/thirdparty/libzip-1.11.3/man/zip_source_tell.html diff --git a/thirdparty/libzip-1.11.3/man/zip_source_tell.man b/proj-web/thirdparty/libzip-1.11.3/man/zip_source_tell.man similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_source_tell.man rename to proj-web/thirdparty/libzip-1.11.3/man/zip_source_tell.man diff --git a/thirdparty/libzip-1.11.3/man/zip_source_tell.mdoc b/proj-web/thirdparty/libzip-1.11.3/man/zip_source_tell.mdoc similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_source_tell.mdoc rename to proj-web/thirdparty/libzip-1.11.3/man/zip_source_tell.mdoc diff --git a/thirdparty/libzip-1.11.3/man/zip_source_tell_write.html b/proj-web/thirdparty/libzip-1.11.3/man/zip_source_tell_write.html similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_source_tell_write.html rename to proj-web/thirdparty/libzip-1.11.3/man/zip_source_tell_write.html diff --git a/thirdparty/libzip-1.11.3/man/zip_source_tell_write.man b/proj-web/thirdparty/libzip-1.11.3/man/zip_source_tell_write.man similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_source_tell_write.man rename to proj-web/thirdparty/libzip-1.11.3/man/zip_source_tell_write.man diff --git a/thirdparty/libzip-1.11.3/man/zip_source_tell_write.mdoc b/proj-web/thirdparty/libzip-1.11.3/man/zip_source_tell_write.mdoc similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_source_tell_write.mdoc rename to proj-web/thirdparty/libzip-1.11.3/man/zip_source_tell_write.mdoc diff --git a/thirdparty/libzip-1.11.3/man/zip_source_win32a.html b/proj-web/thirdparty/libzip-1.11.3/man/zip_source_win32a.html similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_source_win32a.html rename to proj-web/thirdparty/libzip-1.11.3/man/zip_source_win32a.html diff --git a/thirdparty/libzip-1.11.3/man/zip_source_win32a.man b/proj-web/thirdparty/libzip-1.11.3/man/zip_source_win32a.man similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_source_win32a.man rename to proj-web/thirdparty/libzip-1.11.3/man/zip_source_win32a.man diff --git a/thirdparty/libzip-1.11.3/man/zip_source_win32a.mdoc b/proj-web/thirdparty/libzip-1.11.3/man/zip_source_win32a.mdoc similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_source_win32a.mdoc rename to proj-web/thirdparty/libzip-1.11.3/man/zip_source_win32a.mdoc diff --git a/thirdparty/libzip-1.11.3/man/zip_source_win32handle.html b/proj-web/thirdparty/libzip-1.11.3/man/zip_source_win32handle.html similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_source_win32handle.html rename to proj-web/thirdparty/libzip-1.11.3/man/zip_source_win32handle.html diff --git a/thirdparty/libzip-1.11.3/man/zip_source_win32handle.man b/proj-web/thirdparty/libzip-1.11.3/man/zip_source_win32handle.man similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_source_win32handle.man rename to proj-web/thirdparty/libzip-1.11.3/man/zip_source_win32handle.man diff --git a/thirdparty/libzip-1.11.3/man/zip_source_win32handle.mdoc b/proj-web/thirdparty/libzip-1.11.3/man/zip_source_win32handle.mdoc similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_source_win32handle.mdoc rename to proj-web/thirdparty/libzip-1.11.3/man/zip_source_win32handle.mdoc diff --git a/thirdparty/libzip-1.11.3/man/zip_source_win32w.html b/proj-web/thirdparty/libzip-1.11.3/man/zip_source_win32w.html similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_source_win32w.html rename to proj-web/thirdparty/libzip-1.11.3/man/zip_source_win32w.html diff --git a/thirdparty/libzip-1.11.3/man/zip_source_win32w.man b/proj-web/thirdparty/libzip-1.11.3/man/zip_source_win32w.man similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_source_win32w.man rename to proj-web/thirdparty/libzip-1.11.3/man/zip_source_win32w.man diff --git a/thirdparty/libzip-1.11.3/man/zip_source_win32w.mdoc b/proj-web/thirdparty/libzip-1.11.3/man/zip_source_win32w.mdoc similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_source_win32w.mdoc rename to proj-web/thirdparty/libzip-1.11.3/man/zip_source_win32w.mdoc diff --git a/thirdparty/libzip-1.11.3/man/zip_source_window_create.html b/proj-web/thirdparty/libzip-1.11.3/man/zip_source_window_create.html similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_source_window_create.html rename to proj-web/thirdparty/libzip-1.11.3/man/zip_source_window_create.html diff --git a/thirdparty/libzip-1.11.3/man/zip_source_window_create.man b/proj-web/thirdparty/libzip-1.11.3/man/zip_source_window_create.man similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_source_window_create.man rename to proj-web/thirdparty/libzip-1.11.3/man/zip_source_window_create.man diff --git a/thirdparty/libzip-1.11.3/man/zip_source_window_create.mdoc b/proj-web/thirdparty/libzip-1.11.3/man/zip_source_window_create.mdoc similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_source_window_create.mdoc rename to proj-web/thirdparty/libzip-1.11.3/man/zip_source_window_create.mdoc diff --git a/thirdparty/libzip-1.11.3/man/zip_source_write.html b/proj-web/thirdparty/libzip-1.11.3/man/zip_source_write.html similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_source_write.html rename to proj-web/thirdparty/libzip-1.11.3/man/zip_source_write.html diff --git a/thirdparty/libzip-1.11.3/man/zip_source_write.man b/proj-web/thirdparty/libzip-1.11.3/man/zip_source_write.man similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_source_write.man rename to proj-web/thirdparty/libzip-1.11.3/man/zip_source_write.man diff --git a/thirdparty/libzip-1.11.3/man/zip_source_write.mdoc b/proj-web/thirdparty/libzip-1.11.3/man/zip_source_write.mdoc similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_source_write.mdoc rename to proj-web/thirdparty/libzip-1.11.3/man/zip_source_write.mdoc diff --git a/thirdparty/libzip-1.11.3/man/zip_source_zip.html b/proj-web/thirdparty/libzip-1.11.3/man/zip_source_zip.html similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_source_zip.html rename to proj-web/thirdparty/libzip-1.11.3/man/zip_source_zip.html diff --git a/thirdparty/libzip-1.11.3/man/zip_source_zip.man b/proj-web/thirdparty/libzip-1.11.3/man/zip_source_zip.man similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_source_zip.man rename to proj-web/thirdparty/libzip-1.11.3/man/zip_source_zip.man diff --git a/thirdparty/libzip-1.11.3/man/zip_source_zip.mdoc b/proj-web/thirdparty/libzip-1.11.3/man/zip_source_zip.mdoc similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_source_zip.mdoc rename to proj-web/thirdparty/libzip-1.11.3/man/zip_source_zip.mdoc diff --git a/thirdparty/libzip-1.11.3/man/zip_source_zip_file.html b/proj-web/thirdparty/libzip-1.11.3/man/zip_source_zip_file.html similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_source_zip_file.html rename to proj-web/thirdparty/libzip-1.11.3/man/zip_source_zip_file.html diff --git a/thirdparty/libzip-1.11.3/man/zip_source_zip_file.man b/proj-web/thirdparty/libzip-1.11.3/man/zip_source_zip_file.man similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_source_zip_file.man rename to proj-web/thirdparty/libzip-1.11.3/man/zip_source_zip_file.man diff --git a/thirdparty/libzip-1.11.3/man/zip_source_zip_file.mdoc b/proj-web/thirdparty/libzip-1.11.3/man/zip_source_zip_file.mdoc similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_source_zip_file.mdoc rename to proj-web/thirdparty/libzip-1.11.3/man/zip_source_zip_file.mdoc diff --git a/thirdparty/libzip-1.11.3/man/zip_stat.html b/proj-web/thirdparty/libzip-1.11.3/man/zip_stat.html similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_stat.html rename to proj-web/thirdparty/libzip-1.11.3/man/zip_stat.html diff --git a/thirdparty/libzip-1.11.3/man/zip_stat.man b/proj-web/thirdparty/libzip-1.11.3/man/zip_stat.man similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_stat.man rename to proj-web/thirdparty/libzip-1.11.3/man/zip_stat.man diff --git a/thirdparty/libzip-1.11.3/man/zip_stat.mdoc b/proj-web/thirdparty/libzip-1.11.3/man/zip_stat.mdoc similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_stat.mdoc rename to proj-web/thirdparty/libzip-1.11.3/man/zip_stat.mdoc diff --git a/thirdparty/libzip-1.11.3/man/zip_stat_init.html b/proj-web/thirdparty/libzip-1.11.3/man/zip_stat_init.html similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_stat_init.html rename to proj-web/thirdparty/libzip-1.11.3/man/zip_stat_init.html diff --git a/thirdparty/libzip-1.11.3/man/zip_stat_init.man b/proj-web/thirdparty/libzip-1.11.3/man/zip_stat_init.man similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_stat_init.man rename to proj-web/thirdparty/libzip-1.11.3/man/zip_stat_init.man diff --git a/thirdparty/libzip-1.11.3/man/zip_stat_init.mdoc b/proj-web/thirdparty/libzip-1.11.3/man/zip_stat_init.mdoc similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_stat_init.mdoc rename to proj-web/thirdparty/libzip-1.11.3/man/zip_stat_init.mdoc diff --git a/thirdparty/libzip-1.11.3/man/zip_unchange.html b/proj-web/thirdparty/libzip-1.11.3/man/zip_unchange.html similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_unchange.html rename to proj-web/thirdparty/libzip-1.11.3/man/zip_unchange.html diff --git a/thirdparty/libzip-1.11.3/man/zip_unchange.man b/proj-web/thirdparty/libzip-1.11.3/man/zip_unchange.man similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_unchange.man rename to proj-web/thirdparty/libzip-1.11.3/man/zip_unchange.man diff --git a/thirdparty/libzip-1.11.3/man/zip_unchange.mdoc b/proj-web/thirdparty/libzip-1.11.3/man/zip_unchange.mdoc similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_unchange.mdoc rename to proj-web/thirdparty/libzip-1.11.3/man/zip_unchange.mdoc diff --git a/thirdparty/libzip-1.11.3/man/zip_unchange_all.html b/proj-web/thirdparty/libzip-1.11.3/man/zip_unchange_all.html similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_unchange_all.html rename to proj-web/thirdparty/libzip-1.11.3/man/zip_unchange_all.html diff --git a/thirdparty/libzip-1.11.3/man/zip_unchange_all.man b/proj-web/thirdparty/libzip-1.11.3/man/zip_unchange_all.man similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_unchange_all.man rename to proj-web/thirdparty/libzip-1.11.3/man/zip_unchange_all.man diff --git a/thirdparty/libzip-1.11.3/man/zip_unchange_all.mdoc b/proj-web/thirdparty/libzip-1.11.3/man/zip_unchange_all.mdoc similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_unchange_all.mdoc rename to proj-web/thirdparty/libzip-1.11.3/man/zip_unchange_all.mdoc diff --git a/thirdparty/libzip-1.11.3/man/zip_unchange_archive.html b/proj-web/thirdparty/libzip-1.11.3/man/zip_unchange_archive.html similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_unchange_archive.html rename to proj-web/thirdparty/libzip-1.11.3/man/zip_unchange_archive.html diff --git a/thirdparty/libzip-1.11.3/man/zip_unchange_archive.man b/proj-web/thirdparty/libzip-1.11.3/man/zip_unchange_archive.man similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_unchange_archive.man rename to proj-web/thirdparty/libzip-1.11.3/man/zip_unchange_archive.man diff --git a/thirdparty/libzip-1.11.3/man/zip_unchange_archive.mdoc b/proj-web/thirdparty/libzip-1.11.3/man/zip_unchange_archive.mdoc similarity index 100% rename from thirdparty/libzip-1.11.3/man/zip_unchange_archive.mdoc rename to proj-web/thirdparty/libzip-1.11.3/man/zip_unchange_archive.mdoc diff --git a/thirdparty/libzip-1.11.3/man/zipcmp.html b/proj-web/thirdparty/libzip-1.11.3/man/zipcmp.html similarity index 100% rename from thirdparty/libzip-1.11.3/man/zipcmp.html rename to proj-web/thirdparty/libzip-1.11.3/man/zipcmp.html diff --git a/thirdparty/libzip-1.11.3/man/zipcmp.man b/proj-web/thirdparty/libzip-1.11.3/man/zipcmp.man similarity index 100% rename from thirdparty/libzip-1.11.3/man/zipcmp.man rename to proj-web/thirdparty/libzip-1.11.3/man/zipcmp.man diff --git a/thirdparty/libzip-1.11.3/man/zipcmp.mdoc b/proj-web/thirdparty/libzip-1.11.3/man/zipcmp.mdoc similarity index 100% rename from thirdparty/libzip-1.11.3/man/zipcmp.mdoc rename to proj-web/thirdparty/libzip-1.11.3/man/zipcmp.mdoc diff --git a/thirdparty/libzip-1.11.3/man/zipmerge.html b/proj-web/thirdparty/libzip-1.11.3/man/zipmerge.html similarity index 100% rename from thirdparty/libzip-1.11.3/man/zipmerge.html rename to proj-web/thirdparty/libzip-1.11.3/man/zipmerge.html diff --git a/thirdparty/libzip-1.11.3/man/zipmerge.man b/proj-web/thirdparty/libzip-1.11.3/man/zipmerge.man similarity index 100% rename from thirdparty/libzip-1.11.3/man/zipmerge.man rename to proj-web/thirdparty/libzip-1.11.3/man/zipmerge.man diff --git a/thirdparty/libzip-1.11.3/man/zipmerge.mdoc b/proj-web/thirdparty/libzip-1.11.3/man/zipmerge.mdoc similarity index 100% rename from thirdparty/libzip-1.11.3/man/zipmerge.mdoc rename to proj-web/thirdparty/libzip-1.11.3/man/zipmerge.mdoc diff --git a/thirdparty/libzip-1.11.3/man/ziptool.html b/proj-web/thirdparty/libzip-1.11.3/man/ziptool.html similarity index 100% rename from thirdparty/libzip-1.11.3/man/ziptool.html rename to proj-web/thirdparty/libzip-1.11.3/man/ziptool.html diff --git a/thirdparty/libzip-1.11.3/man/ziptool.man b/proj-web/thirdparty/libzip-1.11.3/man/ziptool.man similarity index 100% rename from thirdparty/libzip-1.11.3/man/ziptool.man rename to proj-web/thirdparty/libzip-1.11.3/man/ziptool.man diff --git a/thirdparty/libzip-1.11.3/man/ziptool.mdoc b/proj-web/thirdparty/libzip-1.11.3/man/ziptool.mdoc similarity index 100% rename from thirdparty/libzip-1.11.3/man/ziptool.mdoc rename to proj-web/thirdparty/libzip-1.11.3/man/ziptool.mdoc diff --git a/thirdparty/libzip-1.11.3/ossfuzz/CMakeLists.txt b/proj-web/thirdparty/libzip-1.11.3/ossfuzz/CMakeLists.txt similarity index 100% rename from thirdparty/libzip-1.11.3/ossfuzz/CMakeLists.txt rename to proj-web/thirdparty/libzip-1.11.3/ossfuzz/CMakeLists.txt diff --git a/thirdparty/libzip-1.11.3/ossfuzz/fuzz_main.c b/proj-web/thirdparty/libzip-1.11.3/ossfuzz/fuzz_main.c similarity index 100% rename from thirdparty/libzip-1.11.3/ossfuzz/fuzz_main.c rename to proj-web/thirdparty/libzip-1.11.3/ossfuzz/fuzz_main.c diff --git a/thirdparty/libzip-1.11.3/ossfuzz/ossfuzz.sh b/proj-web/thirdparty/libzip-1.11.3/ossfuzz/ossfuzz.sh similarity index 100% rename from thirdparty/libzip-1.11.3/ossfuzz/ossfuzz.sh rename to proj-web/thirdparty/libzip-1.11.3/ossfuzz/ossfuzz.sh diff --git a/thirdparty/libzip-1.11.3/ossfuzz/zip_read_file_fuzzer.c b/proj-web/thirdparty/libzip-1.11.3/ossfuzz/zip_read_file_fuzzer.c similarity index 100% rename from thirdparty/libzip-1.11.3/ossfuzz/zip_read_file_fuzzer.c rename to proj-web/thirdparty/libzip-1.11.3/ossfuzz/zip_read_file_fuzzer.c diff --git a/thirdparty/libzip-1.11.3/ossfuzz/zip_read_fuzzer.c b/proj-web/thirdparty/libzip-1.11.3/ossfuzz/zip_read_fuzzer.c similarity index 100% rename from thirdparty/libzip-1.11.3/ossfuzz/zip_read_fuzzer.c rename to proj-web/thirdparty/libzip-1.11.3/ossfuzz/zip_read_fuzzer.c diff --git a/thirdparty/libzip-1.11.3/ossfuzz/zip_read_fuzzer.dict b/proj-web/thirdparty/libzip-1.11.3/ossfuzz/zip_read_fuzzer.dict similarity index 100% rename from thirdparty/libzip-1.11.3/ossfuzz/zip_read_fuzzer.dict rename to proj-web/thirdparty/libzip-1.11.3/ossfuzz/zip_read_fuzzer.dict diff --git a/thirdparty/libzip-1.11.3/ossfuzz/zip_read_fuzzer_common.h b/proj-web/thirdparty/libzip-1.11.3/ossfuzz/zip_read_fuzzer_common.h similarity index 100% rename from thirdparty/libzip-1.11.3/ossfuzz/zip_read_fuzzer_common.h rename to proj-web/thirdparty/libzip-1.11.3/ossfuzz/zip_read_fuzzer_common.h diff --git a/thirdparty/libzip-1.11.3/ossfuzz/zip_write_encrypt_aes256_file_fuzzer.c b/proj-web/thirdparty/libzip-1.11.3/ossfuzz/zip_write_encrypt_aes256_file_fuzzer.c similarity index 100% rename from thirdparty/libzip-1.11.3/ossfuzz/zip_write_encrypt_aes256_file_fuzzer.c rename to proj-web/thirdparty/libzip-1.11.3/ossfuzz/zip_write_encrypt_aes256_file_fuzzer.c diff --git a/thirdparty/libzip-1.11.3/ossfuzz/zip_write_encrypt_aes256_file_fuzzer_seed_corpus.zip b/proj-web/thirdparty/libzip-1.11.3/ossfuzz/zip_write_encrypt_aes256_file_fuzzer_seed_corpus.zip similarity index 100% rename from thirdparty/libzip-1.11.3/ossfuzz/zip_write_encrypt_aes256_file_fuzzer_seed_corpus.zip rename to proj-web/thirdparty/libzip-1.11.3/ossfuzz/zip_write_encrypt_aes256_file_fuzzer_seed_corpus.zip diff --git a/thirdparty/libzip-1.11.3/ossfuzz/zip_write_encrypt_pkware_file_fuzzer.c b/proj-web/thirdparty/libzip-1.11.3/ossfuzz/zip_write_encrypt_pkware_file_fuzzer.c similarity index 100% rename from thirdparty/libzip-1.11.3/ossfuzz/zip_write_encrypt_pkware_file_fuzzer.c rename to proj-web/thirdparty/libzip-1.11.3/ossfuzz/zip_write_encrypt_pkware_file_fuzzer.c diff --git a/thirdparty/libzip-1.11.3/regress/CMakeLists.txt b/proj-web/thirdparty/libzip-1.11.3/regress/CMakeLists.txt similarity index 100% rename from thirdparty/libzip-1.11.3/regress/CMakeLists.txt rename to proj-web/thirdparty/libzip-1.11.3/regress/CMakeLists.txt diff --git a/thirdparty/libzip-1.11.3/regress/add_dir.test b/proj-web/thirdparty/libzip-1.11.3/regress/add_dir.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/add_dir.test rename to proj-web/thirdparty/libzip-1.11.3/regress/add_dir.test diff --git a/thirdparty/libzip-1.11.3/regress/add_from_buffer.test b/proj-web/thirdparty/libzip-1.11.3/regress/add_from_buffer.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/add_from_buffer.test rename to proj-web/thirdparty/libzip-1.11.3/regress/add_from_buffer.test diff --git a/thirdparty/libzip-1.11.3/regress/add_from_file.test b/proj-web/thirdparty/libzip-1.11.3/regress/add_from_file.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/add_from_file.test rename to proj-web/thirdparty/libzip-1.11.3/regress/add_from_file.test diff --git a/thirdparty/libzip-1.11.3/regress/add_from_file_duplicate.test b/proj-web/thirdparty/libzip-1.11.3/regress/add_from_file_duplicate.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/add_from_file_duplicate.test rename to proj-web/thirdparty/libzip-1.11.3/regress/add_from_file_duplicate.test diff --git a/thirdparty/libzip-1.11.3/regress/add_from_file_twice_duplicate.test b/proj-web/thirdparty/libzip-1.11.3/regress/add_from_file_twice_duplicate.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/add_from_file_twice_duplicate.test rename to proj-web/thirdparty/libzip-1.11.3/regress/add_from_file_twice_duplicate.test diff --git a/thirdparty/libzip-1.11.3/regress/add_from_file_unchange.test b/proj-web/thirdparty/libzip-1.11.3/regress/add_from_file_unchange.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/add_from_file_unchange.test rename to proj-web/thirdparty/libzip-1.11.3/regress/add_from_file_unchange.test diff --git a/thirdparty/libzip-1.11.3/regress/add_from_filep.c b/proj-web/thirdparty/libzip-1.11.3/regress/add_from_filep.c similarity index 100% rename from thirdparty/libzip-1.11.3/regress/add_from_filep.c rename to proj-web/thirdparty/libzip-1.11.3/regress/add_from_filep.c diff --git a/thirdparty/libzip-1.11.3/regress/add_from_filep.test b/proj-web/thirdparty/libzip-1.11.3/regress/add_from_filep.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/add_from_filep.test rename to proj-web/thirdparty/libzip-1.11.3/regress/add_from_filep.test diff --git a/thirdparty/libzip-1.11.3/regress/add_from_stdin.test b/proj-web/thirdparty/libzip-1.11.3/regress/add_from_stdin.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/add_from_stdin.test rename to proj-web/thirdparty/libzip-1.11.3/regress/add_from_stdin.test diff --git a/thirdparty/libzip-1.11.3/regress/add_from_zip_closed.test b/proj-web/thirdparty/libzip-1.11.3/regress/add_from_zip_closed.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/add_from_zip_closed.test rename to proj-web/thirdparty/libzip-1.11.3/regress/add_from_zip_closed.test diff --git a/thirdparty/libzip-1.11.3/regress/add_from_zip_deflated.test b/proj-web/thirdparty/libzip-1.11.3/regress/add_from_zip_deflated.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/add_from_zip_deflated.test rename to proj-web/thirdparty/libzip-1.11.3/regress/add_from_zip_deflated.test diff --git a/thirdparty/libzip-1.11.3/regress/add_from_zip_deflated2.test b/proj-web/thirdparty/libzip-1.11.3/regress/add_from_zip_deflated2.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/add_from_zip_deflated2.test rename to proj-web/thirdparty/libzip-1.11.3/regress/add_from_zip_deflated2.test diff --git a/thirdparty/libzip-1.11.3/regress/add_from_zip_partial_deflated.test b/proj-web/thirdparty/libzip-1.11.3/regress/add_from_zip_partial_deflated.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/add_from_zip_partial_deflated.test rename to proj-web/thirdparty/libzip-1.11.3/regress/add_from_zip_partial_deflated.test diff --git a/thirdparty/libzip-1.11.3/regress/add_from_zip_partial_stored.test b/proj-web/thirdparty/libzip-1.11.3/regress/add_from_zip_partial_stored.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/add_from_zip_partial_stored.test rename to proj-web/thirdparty/libzip-1.11.3/regress/add_from_zip_partial_stored.test diff --git a/thirdparty/libzip-1.11.3/regress/add_from_zip_stored.test b/proj-web/thirdparty/libzip-1.11.3/regress/add_from_zip_stored.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/add_from_zip_stored.test rename to proj-web/thirdparty/libzip-1.11.3/regress/add_from_zip_stored.test diff --git a/thirdparty/libzip-1.11.3/regress/add_stored.test b/proj-web/thirdparty/libzip-1.11.3/regress/add_stored.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/add_stored.test rename to proj-web/thirdparty/libzip-1.11.3/regress/add_stored.test diff --git a/thirdparty/libzip-1.11.3/regress/add_stored_in_memory.test b/proj-web/thirdparty/libzip-1.11.3/regress/add_stored_in_memory.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/add_stored_in_memory.test rename to proj-web/thirdparty/libzip-1.11.3/regress/add_stored_in_memory.test diff --git a/thirdparty/libzip-1.11.3/regress/bigstored.zh b/proj-web/thirdparty/libzip-1.11.3/regress/bigstored.zh similarity index 100% rename from thirdparty/libzip-1.11.3/regress/bigstored.zh rename to proj-web/thirdparty/libzip-1.11.3/regress/bigstored.zh diff --git a/thirdparty/libzip-1.11.3/regress/bigzero-zip.zip b/proj-web/thirdparty/libzip-1.11.3/regress/bigzero-zip.zip similarity index 100% rename from thirdparty/libzip-1.11.3/regress/bigzero-zip.zip rename to proj-web/thirdparty/libzip-1.11.3/regress/bigzero-zip.zip diff --git a/thirdparty/libzip-1.11.3/regress/bogus.zip b/proj-web/thirdparty/libzip-1.11.3/regress/bogus.zip similarity index 100% rename from thirdparty/libzip-1.11.3/regress/bogus.zip rename to proj-web/thirdparty/libzip-1.11.3/regress/bogus.zip diff --git a/thirdparty/libzip-1.11.3/regress/broken.zip b/proj-web/thirdparty/libzip-1.11.3/regress/broken.zip similarity index 100% rename from thirdparty/libzip-1.11.3/regress/broken.zip rename to proj-web/thirdparty/libzip-1.11.3/regress/broken.zip diff --git a/thirdparty/libzip-1.11.3/regress/buffer-fragment-read.test b/proj-web/thirdparty/libzip-1.11.3/regress/buffer-fragment-read.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/buffer-fragment-read.test rename to proj-web/thirdparty/libzip-1.11.3/regress/buffer-fragment-read.test diff --git a/thirdparty/libzip-1.11.3/regress/buffer-fragment-write.test b/proj-web/thirdparty/libzip-1.11.3/regress/buffer-fragment-write.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/buffer-fragment-write.test rename to proj-web/thirdparty/libzip-1.11.3/regress/buffer-fragment-write.test diff --git a/thirdparty/libzip-1.11.3/regress/can_clone_file.c b/proj-web/thirdparty/libzip-1.11.3/regress/can_clone_file.c similarity index 100% rename from thirdparty/libzip-1.11.3/regress/can_clone_file.c rename to proj-web/thirdparty/libzip-1.11.3/regress/can_clone_file.c diff --git a/thirdparty/libzip-1.11.3/regress/cancel_45.test b/proj-web/thirdparty/libzip-1.11.3/regress/cancel_45.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/cancel_45.test rename to proj-web/thirdparty/libzip-1.11.3/regress/cancel_45.test diff --git a/thirdparty/libzip-1.11.3/regress/cancel_90.test b/proj-web/thirdparty/libzip-1.11.3/regress/cancel_90.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/cancel_90.test rename to proj-web/thirdparty/libzip-1.11.3/regress/cancel_90.test diff --git a/thirdparty/libzip-1.11.3/regress/changing-size-decreases-fixed.test b/proj-web/thirdparty/libzip-1.11.3/regress/changing-size-decreases-fixed.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/changing-size-decreases-fixed.test rename to proj-web/thirdparty/libzip-1.11.3/regress/changing-size-decreases-fixed.test diff --git a/thirdparty/libzip-1.11.3/regress/changing-size-decreases.test b/proj-web/thirdparty/libzip-1.11.3/regress/changing-size-decreases.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/changing-size-decreases.test rename to proj-web/thirdparty/libzip-1.11.3/regress/changing-size-decreases.test diff --git a/thirdparty/libzip-1.11.3/regress/changing-size-increases-fixed.test b/proj-web/thirdparty/libzip-1.11.3/regress/changing-size-increases-fixed.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/changing-size-increases-fixed.test rename to proj-web/thirdparty/libzip-1.11.3/regress/changing-size-increases-fixed.test diff --git a/thirdparty/libzip-1.11.3/regress/changing-size-increases-unchecked.test b/proj-web/thirdparty/libzip-1.11.3/regress/changing-size-increases-unchecked.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/changing-size-increases-unchecked.test rename to proj-web/thirdparty/libzip-1.11.3/regress/changing-size-increases-unchecked.test diff --git a/thirdparty/libzip-1.11.3/regress/changing-size-increases.test b/proj-web/thirdparty/libzip-1.11.3/regress/changing-size-increases.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/changing-size-increases.test rename to proj-web/thirdparty/libzip-1.11.3/regress/changing-size-increases.test diff --git a/thirdparty/libzip-1.11.3/regress/changing-size-muchl.zip b/proj-web/thirdparty/libzip-1.11.3/regress/changing-size-muchl.zip similarity index 100% rename from thirdparty/libzip-1.11.3/regress/changing-size-muchl.zip rename to proj-web/thirdparty/libzip-1.11.3/regress/changing-size-muchl.zip diff --git a/thirdparty/libzip-1.11.3/regress/changing-size-muchlo.zip b/proj-web/thirdparty/libzip-1.11.3/regress/changing-size-muchlo.zip similarity index 100% rename from thirdparty/libzip-1.11.3/regress/changing-size-muchlo.zip rename to proj-web/thirdparty/libzip-1.11.3/regress/changing-size-muchlo.zip diff --git a/thirdparty/libzip-1.11.3/regress/changing-size-muchlonger.zip b/proj-web/thirdparty/libzip-1.11.3/regress/changing-size-muchlonger.zip similarity index 100% rename from thirdparty/libzip-1.11.3/regress/changing-size-muchlonger.zip rename to proj-web/thirdparty/libzip-1.11.3/regress/changing-size-muchlonger.zip diff --git a/thirdparty/libzip-1.11.3/regress/changing-size.zip b/proj-web/thirdparty/libzip-1.11.3/regress/changing-size.zip similarity index 100% rename from thirdparty/libzip-1.11.3/regress/changing-size.zip rename to proj-web/thirdparty/libzip-1.11.3/regress/changing-size.zip diff --git a/thirdparty/libzip-1.11.3/regress/check_torrentzip_fail.test b/proj-web/thirdparty/libzip-1.11.3/regress/check_torrentzip_fail.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/check_torrentzip_fail.test rename to proj-web/thirdparty/libzip-1.11.3/regress/check_torrentzip_fail.test diff --git a/thirdparty/libzip-1.11.3/regress/check_torrentzip_modified.test b/proj-web/thirdparty/libzip-1.11.3/regress/check_torrentzip_modified.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/check_torrentzip_modified.test rename to proj-web/thirdparty/libzip-1.11.3/regress/check_torrentzip_modified.test diff --git a/thirdparty/libzip-1.11.3/regress/check_torrentzip_success.test b/proj-web/thirdparty/libzip-1.11.3/regress/check_torrentzip_success.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/check_torrentzip_success.test rename to proj-web/thirdparty/libzip-1.11.3/regress/check_torrentzip_success.test diff --git a/thirdparty/libzip-1.11.3/regress/cleanup.cmake b/proj-web/thirdparty/libzip-1.11.3/regress/cleanup.cmake similarity index 100% rename from thirdparty/libzip-1.11.3/regress/cleanup.cmake rename to proj-web/thirdparty/libzip-1.11.3/regress/cleanup.cmake diff --git a/thirdparty/libzip-1.11.3/regress/clone-buffer-add.test b/proj-web/thirdparty/libzip-1.11.3/regress/clone-buffer-add.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/clone-buffer-add.test rename to proj-web/thirdparty/libzip-1.11.3/regress/clone-buffer-add.test diff --git a/thirdparty/libzip-1.11.3/regress/clone-buffer-delete.test b/proj-web/thirdparty/libzip-1.11.3/regress/clone-buffer-delete.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/clone-buffer-delete.test rename to proj-web/thirdparty/libzip-1.11.3/regress/clone-buffer-delete.test diff --git a/thirdparty/libzip-1.11.3/regress/clone-buffer-replace.test b/proj-web/thirdparty/libzip-1.11.3/regress/clone-buffer-replace.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/clone-buffer-replace.test rename to proj-web/thirdparty/libzip-1.11.3/regress/clone-buffer-replace.test diff --git a/thirdparty/libzip-1.11.3/regress/clone-fs-add.test b/proj-web/thirdparty/libzip-1.11.3/regress/clone-fs-add.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/clone-fs-add.test rename to proj-web/thirdparty/libzip-1.11.3/regress/clone-fs-add.test diff --git a/thirdparty/libzip-1.11.3/regress/clone-fs-delete.test b/proj-web/thirdparty/libzip-1.11.3/regress/clone-fs-delete.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/clone-fs-delete.test rename to proj-web/thirdparty/libzip-1.11.3/regress/clone-fs-delete.test diff --git a/thirdparty/libzip-1.11.3/regress/clone-fs-replace.test b/proj-web/thirdparty/libzip-1.11.3/regress/clone-fs-replace.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/clone-fs-replace.test rename to proj-web/thirdparty/libzip-1.11.3/regress/clone-fs-replace.test diff --git a/thirdparty/libzip-1.11.3/regress/cm-default.test b/proj-web/thirdparty/libzip-1.11.3/regress/cm-default.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/cm-default.test rename to proj-web/thirdparty/libzip-1.11.3/regress/cm-default.test diff --git a/thirdparty/libzip-1.11.3/regress/cm-default.zip b/proj-web/thirdparty/libzip-1.11.3/regress/cm-default.zip similarity index 100% rename from thirdparty/libzip-1.11.3/regress/cm-default.zip rename to proj-web/thirdparty/libzip-1.11.3/regress/cm-default.zip diff --git a/thirdparty/libzip-1.11.3/regress/convert_to_torrentzip.test b/proj-web/thirdparty/libzip-1.11.3/regress/convert_to_torrentzip.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/convert_to_torrentzip.test rename to proj-web/thirdparty/libzip-1.11.3/regress/convert_to_torrentzip.test diff --git a/thirdparty/libzip-1.11.3/regress/convert_to_torrentzip_ef.test b/proj-web/thirdparty/libzip-1.11.3/regress/convert_to_torrentzip_ef.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/convert_to_torrentzip_ef.test rename to proj-web/thirdparty/libzip-1.11.3/regress/convert_to_torrentzip_ef.test diff --git a/thirdparty/libzip-1.11.3/regress/count_entries.test b/proj-web/thirdparty/libzip-1.11.3/regress/count_entries.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/count_entries.test rename to proj-web/thirdparty/libzip-1.11.3/regress/count_entries.test diff --git a/thirdparty/libzip-1.11.3/regress/create_empty_keep.test b/proj-web/thirdparty/libzip-1.11.3/regress/create_empty_keep.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/create_empty_keep.test rename to proj-web/thirdparty/libzip-1.11.3/regress/create_empty_keep.test diff --git a/thirdparty/libzip-1.11.3/regress/decrypt-correct-password-aes128.test b/proj-web/thirdparty/libzip-1.11.3/regress/decrypt-correct-password-aes128.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/decrypt-correct-password-aes128.test rename to proj-web/thirdparty/libzip-1.11.3/regress/decrypt-correct-password-aes128.test diff --git a/thirdparty/libzip-1.11.3/regress/decrypt-correct-password-aes192.test b/proj-web/thirdparty/libzip-1.11.3/regress/decrypt-correct-password-aes192.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/decrypt-correct-password-aes192.test rename to proj-web/thirdparty/libzip-1.11.3/regress/decrypt-correct-password-aes192.test diff --git a/thirdparty/libzip-1.11.3/regress/decrypt-correct-password-aes256.test b/proj-web/thirdparty/libzip-1.11.3/regress/decrypt-correct-password-aes256.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/decrypt-correct-password-aes256.test rename to proj-web/thirdparty/libzip-1.11.3/regress/decrypt-correct-password-aes256.test diff --git a/thirdparty/libzip-1.11.3/regress/decrypt-correct-password-pkware-2.test b/proj-web/thirdparty/libzip-1.11.3/regress/decrypt-correct-password-pkware-2.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/decrypt-correct-password-pkware-2.test rename to proj-web/thirdparty/libzip-1.11.3/regress/decrypt-correct-password-pkware-2.test diff --git a/thirdparty/libzip-1.11.3/regress/decrypt-correct-password-pkware.test b/proj-web/thirdparty/libzip-1.11.3/regress/decrypt-correct-password-pkware.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/decrypt-correct-password-pkware.test rename to proj-web/thirdparty/libzip-1.11.3/regress/decrypt-correct-password-pkware.test diff --git a/thirdparty/libzip-1.11.3/regress/decrypt-empty-file-pkware.test b/proj-web/thirdparty/libzip-1.11.3/regress/decrypt-empty-file-pkware.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/decrypt-empty-file-pkware.test rename to proj-web/thirdparty/libzip-1.11.3/regress/decrypt-empty-file-pkware.test diff --git a/thirdparty/libzip-1.11.3/regress/decrypt-no-password-aes256.test b/proj-web/thirdparty/libzip-1.11.3/regress/decrypt-no-password-aes256.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/decrypt-no-password-aes256.test rename to proj-web/thirdparty/libzip-1.11.3/regress/decrypt-no-password-aes256.test diff --git a/thirdparty/libzip-1.11.3/regress/decrypt-wrong-password-aes128.test b/proj-web/thirdparty/libzip-1.11.3/regress/decrypt-wrong-password-aes128.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/decrypt-wrong-password-aes128.test rename to proj-web/thirdparty/libzip-1.11.3/regress/decrypt-wrong-password-aes128.test diff --git a/thirdparty/libzip-1.11.3/regress/decrypt-wrong-password-aes192.test b/proj-web/thirdparty/libzip-1.11.3/regress/decrypt-wrong-password-aes192.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/decrypt-wrong-password-aes192.test rename to proj-web/thirdparty/libzip-1.11.3/regress/decrypt-wrong-password-aes192.test diff --git a/thirdparty/libzip-1.11.3/regress/decrypt-wrong-password-aes256.test b/proj-web/thirdparty/libzip-1.11.3/regress/decrypt-wrong-password-aes256.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/decrypt-wrong-password-aes256.test rename to proj-web/thirdparty/libzip-1.11.3/regress/decrypt-wrong-password-aes256.test diff --git a/thirdparty/libzip-1.11.3/regress/decrypt-wrong-password-pkware-2.test b/proj-web/thirdparty/libzip-1.11.3/regress/decrypt-wrong-password-pkware-2.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/decrypt-wrong-password-pkware-2.test rename to proj-web/thirdparty/libzip-1.11.3/regress/decrypt-wrong-password-pkware-2.test diff --git a/thirdparty/libzip-1.11.3/regress/decrypt-wrong-password-pkware.test b/proj-web/thirdparty/libzip-1.11.3/regress/decrypt-wrong-password-pkware.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/decrypt-wrong-password-pkware.test rename to proj-web/thirdparty/libzip-1.11.3/regress/decrypt-wrong-password-pkware.test diff --git a/thirdparty/libzip-1.11.3/regress/delete_add_same.test b/proj-web/thirdparty/libzip-1.11.3/regress/delete_add_same.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/delete_add_same.test rename to proj-web/thirdparty/libzip-1.11.3/regress/delete_add_same.test diff --git a/thirdparty/libzip-1.11.3/regress/delete_invalid.test b/proj-web/thirdparty/libzip-1.11.3/regress/delete_invalid.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/delete_invalid.test rename to proj-web/thirdparty/libzip-1.11.3/regress/delete_invalid.test diff --git a/thirdparty/libzip-1.11.3/regress/delete_last.test b/proj-web/thirdparty/libzip-1.11.3/regress/delete_last.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/delete_last.test rename to proj-web/thirdparty/libzip-1.11.3/regress/delete_last.test diff --git a/thirdparty/libzip-1.11.3/regress/delete_last_keep.test b/proj-web/thirdparty/libzip-1.11.3/regress/delete_last_keep.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/delete_last_keep.test rename to proj-web/thirdparty/libzip-1.11.3/regress/delete_last_keep.test diff --git a/thirdparty/libzip-1.11.3/regress/delete_multiple_last.test b/proj-web/thirdparty/libzip-1.11.3/regress/delete_multiple_last.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/delete_multiple_last.test rename to proj-web/thirdparty/libzip-1.11.3/regress/delete_multiple_last.test diff --git a/thirdparty/libzip-1.11.3/regress/delete_multiple_partial.test b/proj-web/thirdparty/libzip-1.11.3/regress/delete_multiple_partial.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/delete_multiple_partial.test rename to proj-web/thirdparty/libzip-1.11.3/regress/delete_multiple_partial.test diff --git a/thirdparty/libzip-1.11.3/regress/delete_renamed_rename.test b/proj-web/thirdparty/libzip-1.11.3/regress/delete_renamed_rename.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/delete_renamed_rename.test rename to proj-web/thirdparty/libzip-1.11.3/regress/delete_renamed_rename.test diff --git a/thirdparty/libzip-1.11.3/regress/empty-pkware.zip b/proj-web/thirdparty/libzip-1.11.3/regress/empty-pkware.zip similarity index 100% rename from thirdparty/libzip-1.11.3/regress/empty-pkware.zip rename to proj-web/thirdparty/libzip-1.11.3/regress/empty-pkware.zip diff --git a/thirdparty/libzip-1.11.3/regress/encrypt-1234.zip b/proj-web/thirdparty/libzip-1.11.3/regress/encrypt-1234.zip similarity index 100% rename from thirdparty/libzip-1.11.3/regress/encrypt-1234.zip rename to proj-web/thirdparty/libzip-1.11.3/regress/encrypt-1234.zip diff --git a/thirdparty/libzip-1.11.3/regress/encrypt-aes128-noentropy.zip b/proj-web/thirdparty/libzip-1.11.3/regress/encrypt-aes128-noentropy.zip similarity index 100% rename from thirdparty/libzip-1.11.3/regress/encrypt-aes128-noentropy.zip rename to proj-web/thirdparty/libzip-1.11.3/regress/encrypt-aes128-noentropy.zip diff --git a/thirdparty/libzip-1.11.3/regress/encrypt-aes128.zip b/proj-web/thirdparty/libzip-1.11.3/regress/encrypt-aes128.zip similarity index 100% rename from thirdparty/libzip-1.11.3/regress/encrypt-aes128.zip rename to proj-web/thirdparty/libzip-1.11.3/regress/encrypt-aes128.zip diff --git a/thirdparty/libzip-1.11.3/regress/encrypt-aes192-noentropy.zip b/proj-web/thirdparty/libzip-1.11.3/regress/encrypt-aes192-noentropy.zip similarity index 100% rename from thirdparty/libzip-1.11.3/regress/encrypt-aes192-noentropy.zip rename to proj-web/thirdparty/libzip-1.11.3/regress/encrypt-aes192-noentropy.zip diff --git a/thirdparty/libzip-1.11.3/regress/encrypt-aes192.zip b/proj-web/thirdparty/libzip-1.11.3/regress/encrypt-aes192.zip similarity index 100% rename from thirdparty/libzip-1.11.3/regress/encrypt-aes192.zip rename to proj-web/thirdparty/libzip-1.11.3/regress/encrypt-aes192.zip diff --git a/thirdparty/libzip-1.11.3/regress/encrypt-aes256-noentropy.zip b/proj-web/thirdparty/libzip-1.11.3/regress/encrypt-aes256-noentropy.zip similarity index 100% rename from thirdparty/libzip-1.11.3/regress/encrypt-aes256-noentropy.zip rename to proj-web/thirdparty/libzip-1.11.3/regress/encrypt-aes256-noentropy.zip diff --git a/thirdparty/libzip-1.11.3/regress/encrypt-aes256.zip b/proj-web/thirdparty/libzip-1.11.3/regress/encrypt-aes256.zip similarity index 100% rename from thirdparty/libzip-1.11.3/regress/encrypt-aes256.zip rename to proj-web/thirdparty/libzip-1.11.3/regress/encrypt-aes256.zip diff --git a/thirdparty/libzip-1.11.3/regress/encrypt-none.zip b/proj-web/thirdparty/libzip-1.11.3/regress/encrypt-none.zip similarity index 100% rename from thirdparty/libzip-1.11.3/regress/encrypt-none.zip rename to proj-web/thirdparty/libzip-1.11.3/regress/encrypt-none.zip diff --git a/thirdparty/libzip-1.11.3/regress/encrypt-pkware-noentropy-2.zip b/proj-web/thirdparty/libzip-1.11.3/regress/encrypt-pkware-noentropy-2.zip similarity index 100% rename from thirdparty/libzip-1.11.3/regress/encrypt-pkware-noentropy-2.zip rename to proj-web/thirdparty/libzip-1.11.3/regress/encrypt-pkware-noentropy-2.zip diff --git a/thirdparty/libzip-1.11.3/regress/encrypt-pkware-noentropy.zip b/proj-web/thirdparty/libzip-1.11.3/regress/encrypt-pkware-noentropy.zip similarity index 100% rename from thirdparty/libzip-1.11.3/regress/encrypt-pkware-noentropy.zip rename to proj-web/thirdparty/libzip-1.11.3/regress/encrypt-pkware-noentropy.zip diff --git a/thirdparty/libzip-1.11.3/regress/encrypt.test b/proj-web/thirdparty/libzip-1.11.3/regress/encrypt.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/encrypt.test rename to proj-web/thirdparty/libzip-1.11.3/regress/encrypt.test diff --git a/thirdparty/libzip-1.11.3/regress/encrypt.zip b/proj-web/thirdparty/libzip-1.11.3/regress/encrypt.zip similarity index 100% rename from thirdparty/libzip-1.11.3/regress/encrypt.zip rename to proj-web/thirdparty/libzip-1.11.3/regress/encrypt.zip diff --git a/thirdparty/libzip-1.11.3/regress/encrypt_plus_extra.zip b/proj-web/thirdparty/libzip-1.11.3/regress/encrypt_plus_extra.zip similarity index 100% rename from thirdparty/libzip-1.11.3/regress/encrypt_plus_extra.zip rename to proj-web/thirdparty/libzip-1.11.3/regress/encrypt_plus_extra.zip diff --git a/thirdparty/libzip-1.11.3/regress/encrypt_plus_extra_modified_c.zip b/proj-web/thirdparty/libzip-1.11.3/regress/encrypt_plus_extra_modified_c.zip similarity index 100% rename from thirdparty/libzip-1.11.3/regress/encrypt_plus_extra_modified_c.zip rename to proj-web/thirdparty/libzip-1.11.3/regress/encrypt_plus_extra_modified_c.zip diff --git a/thirdparty/libzip-1.11.3/regress/encrypt_plus_extra_modified_l.zip b/proj-web/thirdparty/libzip-1.11.3/regress/encrypt_plus_extra_modified_l.zip similarity index 100% rename from thirdparty/libzip-1.11.3/regress/encrypt_plus_extra_modified_l.zip rename to proj-web/thirdparty/libzip-1.11.3/regress/encrypt_plus_extra_modified_l.zip diff --git a/thirdparty/libzip-1.11.3/regress/encryption-nonrandom-aes128.test b/proj-web/thirdparty/libzip-1.11.3/regress/encryption-nonrandom-aes128.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/encryption-nonrandom-aes128.test rename to proj-web/thirdparty/libzip-1.11.3/regress/encryption-nonrandom-aes128.test diff --git a/thirdparty/libzip-1.11.3/regress/encryption-nonrandom-aes192.test b/proj-web/thirdparty/libzip-1.11.3/regress/encryption-nonrandom-aes192.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/encryption-nonrandom-aes192.test rename to proj-web/thirdparty/libzip-1.11.3/regress/encryption-nonrandom-aes192.test diff --git a/thirdparty/libzip-1.11.3/regress/encryption-nonrandom-aes256.test b/proj-web/thirdparty/libzip-1.11.3/regress/encryption-nonrandom-aes256.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/encryption-nonrandom-aes256.test rename to proj-web/thirdparty/libzip-1.11.3/regress/encryption-nonrandom-aes256.test diff --git a/thirdparty/libzip-1.11.3/regress/encryption-nonrandom-pkware-2.test b/proj-web/thirdparty/libzip-1.11.3/regress/encryption-nonrandom-pkware-2.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/encryption-nonrandom-pkware-2.test rename to proj-web/thirdparty/libzip-1.11.3/regress/encryption-nonrandom-pkware-2.test diff --git a/thirdparty/libzip-1.11.3/regress/encryption-nonrandom-pkware.test b/proj-web/thirdparty/libzip-1.11.3/regress/encryption-nonrandom-pkware.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/encryption-nonrandom-pkware.test rename to proj-web/thirdparty/libzip-1.11.3/regress/encryption-nonrandom-pkware.test diff --git a/thirdparty/libzip-1.11.3/regress/encryption-remove.test b/proj-web/thirdparty/libzip-1.11.3/regress/encryption-remove.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/encryption-remove.test rename to proj-web/thirdparty/libzip-1.11.3/regress/encryption-remove.test diff --git a/thirdparty/libzip-1.11.3/regress/encryption-stat.test b/proj-web/thirdparty/libzip-1.11.3/regress/encryption-stat.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/encryption-stat.test rename to proj-web/thirdparty/libzip-1.11.3/regress/encryption-stat.test diff --git a/thirdparty/libzip-1.11.3/regress/extra_add.test b/proj-web/thirdparty/libzip-1.11.3/regress/extra_add.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/extra_add.test rename to proj-web/thirdparty/libzip-1.11.3/regress/extra_add.test diff --git a/thirdparty/libzip-1.11.3/regress/extra_add_multiple.test b/proj-web/thirdparty/libzip-1.11.3/regress/extra_add_multiple.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/extra_add_multiple.test rename to proj-web/thirdparty/libzip-1.11.3/regress/extra_add_multiple.test diff --git a/thirdparty/libzip-1.11.3/regress/extra_count.test b/proj-web/thirdparty/libzip-1.11.3/regress/extra_count.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/extra_count.test rename to proj-web/thirdparty/libzip-1.11.3/regress/extra_count.test diff --git a/thirdparty/libzip-1.11.3/regress/extra_count_by_id.test b/proj-web/thirdparty/libzip-1.11.3/regress/extra_count_by_id.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/extra_count_by_id.test rename to proj-web/thirdparty/libzip-1.11.3/regress/extra_count_by_id.test diff --git a/thirdparty/libzip-1.11.3/regress/extra_count_ignore_zip64.test b/proj-web/thirdparty/libzip-1.11.3/regress/extra_count_ignore_zip64.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/extra_count_ignore_zip64.test rename to proj-web/thirdparty/libzip-1.11.3/regress/extra_count_ignore_zip64.test diff --git a/thirdparty/libzip-1.11.3/regress/extra_delete.test b/proj-web/thirdparty/libzip-1.11.3/regress/extra_delete.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/extra_delete.test rename to proj-web/thirdparty/libzip-1.11.3/regress/extra_delete.test diff --git a/thirdparty/libzip-1.11.3/regress/extra_delete_by_id.test b/proj-web/thirdparty/libzip-1.11.3/regress/extra_delete_by_id.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/extra_delete_by_id.test rename to proj-web/thirdparty/libzip-1.11.3/regress/extra_delete_by_id.test diff --git a/thirdparty/libzip-1.11.3/regress/extra_field_align.test b/proj-web/thirdparty/libzip-1.11.3/regress/extra_field_align.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/extra_field_align.test rename to proj-web/thirdparty/libzip-1.11.3/regress/extra_field_align.test diff --git a/thirdparty/libzip-1.11.3/regress/extra_field_align_1-0.zip b/proj-web/thirdparty/libzip-1.11.3/regress/extra_field_align_1-0.zip similarity index 100% rename from thirdparty/libzip-1.11.3/regress/extra_field_align_1-0.zip rename to proj-web/thirdparty/libzip-1.11.3/regress/extra_field_align_1-0.zip diff --git a/thirdparty/libzip-1.11.3/regress/extra_field_align_1-ef_00.zip b/proj-web/thirdparty/libzip-1.11.3/regress/extra_field_align_1-ef_00.zip similarity index 100% rename from thirdparty/libzip-1.11.3/regress/extra_field_align_1-ef_00.zip rename to proj-web/thirdparty/libzip-1.11.3/regress/extra_field_align_1-ef_00.zip diff --git a/thirdparty/libzip-1.11.3/regress/extra_field_align_1-ef_ff.zip b/proj-web/thirdparty/libzip-1.11.3/regress/extra_field_align_1-ef_ff.zip similarity index 100% rename from thirdparty/libzip-1.11.3/regress/extra_field_align_1-ef_ff.zip rename to proj-web/thirdparty/libzip-1.11.3/regress/extra_field_align_1-ef_ff.zip diff --git a/thirdparty/libzip-1.11.3/regress/extra_field_align_1-ff.zip b/proj-web/thirdparty/libzip-1.11.3/regress/extra_field_align_1-ff.zip similarity index 100% rename from thirdparty/libzip-1.11.3/regress/extra_field_align_1-ff.zip rename to proj-web/thirdparty/libzip-1.11.3/regress/extra_field_align_1-ff.zip diff --git a/thirdparty/libzip-1.11.3/regress/extra_field_align_2-0.zip b/proj-web/thirdparty/libzip-1.11.3/regress/extra_field_align_2-0.zip similarity index 100% rename from thirdparty/libzip-1.11.3/regress/extra_field_align_2-0.zip rename to proj-web/thirdparty/libzip-1.11.3/regress/extra_field_align_2-0.zip diff --git a/thirdparty/libzip-1.11.3/regress/extra_field_align_2-ef_00.zip b/proj-web/thirdparty/libzip-1.11.3/regress/extra_field_align_2-ef_00.zip similarity index 100% rename from thirdparty/libzip-1.11.3/regress/extra_field_align_2-ef_00.zip rename to proj-web/thirdparty/libzip-1.11.3/regress/extra_field_align_2-ef_00.zip diff --git a/thirdparty/libzip-1.11.3/regress/extra_field_align_2-ef_ff.zip b/proj-web/thirdparty/libzip-1.11.3/regress/extra_field_align_2-ef_ff.zip similarity index 100% rename from thirdparty/libzip-1.11.3/regress/extra_field_align_2-ef_ff.zip rename to proj-web/thirdparty/libzip-1.11.3/regress/extra_field_align_2-ef_ff.zip diff --git a/thirdparty/libzip-1.11.3/regress/extra_field_align_2-ff.zip b/proj-web/thirdparty/libzip-1.11.3/regress/extra_field_align_2-ff.zip similarity index 100% rename from thirdparty/libzip-1.11.3/regress/extra_field_align_2-ff.zip rename to proj-web/thirdparty/libzip-1.11.3/regress/extra_field_align_2-ff.zip diff --git a/thirdparty/libzip-1.11.3/regress/extra_field_align_3-0.zip b/proj-web/thirdparty/libzip-1.11.3/regress/extra_field_align_3-0.zip similarity index 100% rename from thirdparty/libzip-1.11.3/regress/extra_field_align_3-0.zip rename to proj-web/thirdparty/libzip-1.11.3/regress/extra_field_align_3-0.zip diff --git a/thirdparty/libzip-1.11.3/regress/extra_field_align_3-ef_00.zip b/proj-web/thirdparty/libzip-1.11.3/regress/extra_field_align_3-ef_00.zip similarity index 100% rename from thirdparty/libzip-1.11.3/regress/extra_field_align_3-ef_00.zip rename to proj-web/thirdparty/libzip-1.11.3/regress/extra_field_align_3-ef_00.zip diff --git a/thirdparty/libzip-1.11.3/regress/extra_field_align_3-ef_ff.zip b/proj-web/thirdparty/libzip-1.11.3/regress/extra_field_align_3-ef_ff.zip similarity index 100% rename from thirdparty/libzip-1.11.3/regress/extra_field_align_3-ef_ff.zip rename to proj-web/thirdparty/libzip-1.11.3/regress/extra_field_align_3-ef_ff.zip diff --git a/thirdparty/libzip-1.11.3/regress/extra_field_align_3-ff.zip b/proj-web/thirdparty/libzip-1.11.3/regress/extra_field_align_3-ff.zip similarity index 100% rename from thirdparty/libzip-1.11.3/regress/extra_field_align_3-ff.zip rename to proj-web/thirdparty/libzip-1.11.3/regress/extra_field_align_3-ff.zip diff --git a/thirdparty/libzip-1.11.3/regress/extra_field_align_4-ff.zip b/proj-web/thirdparty/libzip-1.11.3/regress/extra_field_align_4-ff.zip similarity index 100% rename from thirdparty/libzip-1.11.3/regress/extra_field_align_4-ff.zip rename to proj-web/thirdparty/libzip-1.11.3/regress/extra_field_align_4-ff.zip diff --git a/thirdparty/libzip-1.11.3/regress/extra_get.test b/proj-web/thirdparty/libzip-1.11.3/regress/extra_get.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/extra_get.test rename to proj-web/thirdparty/libzip-1.11.3/regress/extra_get.test diff --git a/thirdparty/libzip-1.11.3/regress/extra_get_by_id.test b/proj-web/thirdparty/libzip-1.11.3/regress/extra_get_by_id.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/extra_get_by_id.test rename to proj-web/thirdparty/libzip-1.11.3/regress/extra_get_by_id.test diff --git a/thirdparty/libzip-1.11.3/regress/extra_set.test b/proj-web/thirdparty/libzip-1.11.3/regress/extra_set.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/extra_set.test rename to proj-web/thirdparty/libzip-1.11.3/regress/extra_set.test diff --git a/thirdparty/libzip-1.11.3/regress/extra_set_modify_c.test b/proj-web/thirdparty/libzip-1.11.3/regress/extra_set_modify_c.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/extra_set_modify_c.test rename to proj-web/thirdparty/libzip-1.11.3/regress/extra_set_modify_c.test diff --git a/thirdparty/libzip-1.11.3/regress/extra_set_modify_l.test b/proj-web/thirdparty/libzip-1.11.3/regress/extra_set_modify_l.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/extra_set_modify_l.test rename to proj-web/thirdparty/libzip-1.11.3/regress/extra_set_modify_l.test diff --git a/thirdparty/libzip-1.11.3/regress/fdopen_ok.test b/proj-web/thirdparty/libzip-1.11.3/regress/fdopen_ok.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/fdopen_ok.test rename to proj-web/thirdparty/libzip-1.11.3/regress/fdopen_ok.test diff --git a/thirdparty/libzip-1.11.3/regress/file_comment_encmismatch.test b/proj-web/thirdparty/libzip-1.11.3/regress/file_comment_encmismatch.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/file_comment_encmismatch.test rename to proj-web/thirdparty/libzip-1.11.3/regress/file_comment_encmismatch.test diff --git a/thirdparty/libzip-1.11.3/regress/filename_duplicate.zip b/proj-web/thirdparty/libzip-1.11.3/regress/filename_duplicate.zip similarity index 100% rename from thirdparty/libzip-1.11.3/regress/filename_duplicate.zip rename to proj-web/thirdparty/libzip-1.11.3/regress/filename_duplicate.zip diff --git a/thirdparty/libzip-1.11.3/regress/filename_duplicate_empty.zip b/proj-web/thirdparty/libzip-1.11.3/regress/filename_duplicate_empty.zip similarity index 100% rename from thirdparty/libzip-1.11.3/regress/filename_duplicate_empty.zip rename to proj-web/thirdparty/libzip-1.11.3/regress/filename_duplicate_empty.zip diff --git a/thirdparty/libzip-1.11.3/regress/filename_empty.zip b/proj-web/thirdparty/libzip-1.11.3/regress/filename_empty.zip similarity index 100% rename from thirdparty/libzip-1.11.3/regress/filename_empty.zip rename to proj-web/thirdparty/libzip-1.11.3/regress/filename_empty.zip diff --git a/thirdparty/libzip-1.11.3/regress/fileorder.zip b/proj-web/thirdparty/libzip-1.11.3/regress/fileorder.zip similarity index 100% rename from thirdparty/libzip-1.11.3/regress/fileorder.zip rename to proj-web/thirdparty/libzip-1.11.3/regress/fileorder.zip diff --git a/thirdparty/libzip-1.11.3/regress/firstsecond-split-deflated.zip b/proj-web/thirdparty/libzip-1.11.3/regress/firstsecond-split-deflated.zip similarity index 100% rename from thirdparty/libzip-1.11.3/regress/firstsecond-split-deflated.zip rename to proj-web/thirdparty/libzip-1.11.3/regress/firstsecond-split-deflated.zip diff --git a/thirdparty/libzip-1.11.3/regress/firstsecond-split-stored.zip b/proj-web/thirdparty/libzip-1.11.3/regress/firstsecond-split-stored.zip similarity index 100% rename from thirdparty/libzip-1.11.3/regress/firstsecond-split-stored.zip rename to proj-web/thirdparty/libzip-1.11.3/regress/firstsecond-split-stored.zip diff --git a/thirdparty/libzip-1.11.3/regress/firstsecond.zip b/proj-web/thirdparty/libzip-1.11.3/regress/firstsecond.zip similarity index 100% rename from thirdparty/libzip-1.11.3/regress/firstsecond.zip rename to proj-web/thirdparty/libzip-1.11.3/regress/firstsecond.zip diff --git a/thirdparty/libzip-1.11.3/regress/foo-stored.zip b/proj-web/thirdparty/libzip-1.11.3/regress/foo-stored.zip similarity index 100% rename from thirdparty/libzip-1.11.3/regress/foo-stored.zip rename to proj-web/thirdparty/libzip-1.11.3/regress/foo-stored.zip diff --git a/thirdparty/libzip-1.11.3/regress/fopen_multiple.test b/proj-web/thirdparty/libzip-1.11.3/regress/fopen_multiple.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/fopen_multiple.test rename to proj-web/thirdparty/libzip-1.11.3/regress/fopen_multiple.test diff --git a/thirdparty/libzip-1.11.3/regress/fopen_multiple_reopen.test b/proj-web/thirdparty/libzip-1.11.3/regress/fopen_multiple_reopen.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/fopen_multiple_reopen.test rename to proj-web/thirdparty/libzip-1.11.3/regress/fopen_multiple_reopen.test diff --git a/thirdparty/libzip-1.11.3/regress/fopen_unchanged.c b/proj-web/thirdparty/libzip-1.11.3/regress/fopen_unchanged.c similarity index 100% rename from thirdparty/libzip-1.11.3/regress/fopen_unchanged.c rename to proj-web/thirdparty/libzip-1.11.3/regress/fopen_unchanged.c diff --git a/thirdparty/libzip-1.11.3/regress/fopen_unchanged.test b/proj-web/thirdparty/libzip-1.11.3/regress/fopen_unchanged.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/fopen_unchanged.test rename to proj-web/thirdparty/libzip-1.11.3/regress/fopen_unchanged.test diff --git a/thirdparty/libzip-1.11.3/regress/fread.c b/proj-web/thirdparty/libzip-1.11.3/regress/fread.c similarity index 100% rename from thirdparty/libzip-1.11.3/regress/fread.c rename to proj-web/thirdparty/libzip-1.11.3/regress/fread.c diff --git a/thirdparty/libzip-1.11.3/regress/fread.test b/proj-web/thirdparty/libzip-1.11.3/regress/fread.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/fread.test rename to proj-web/thirdparty/libzip-1.11.3/regress/fread.test diff --git a/thirdparty/libzip-1.11.3/regress/fseek.c b/proj-web/thirdparty/libzip-1.11.3/regress/fseek.c similarity index 100% rename from thirdparty/libzip-1.11.3/regress/fseek.c rename to proj-web/thirdparty/libzip-1.11.3/regress/fseek.c diff --git a/thirdparty/libzip-1.11.3/regress/fseek_deflated.test b/proj-web/thirdparty/libzip-1.11.3/regress/fseek_deflated.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/fseek_deflated.test rename to proj-web/thirdparty/libzip-1.11.3/regress/fseek_deflated.test diff --git a/thirdparty/libzip-1.11.3/regress/fseek_fail.test b/proj-web/thirdparty/libzip-1.11.3/regress/fseek_fail.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/fseek_fail.test rename to proj-web/thirdparty/libzip-1.11.3/regress/fseek_fail.test diff --git a/thirdparty/libzip-1.11.3/regress/fseek_ok.test b/proj-web/thirdparty/libzip-1.11.3/regress/fseek_ok.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/fseek_ok.test rename to proj-web/thirdparty/libzip-1.11.3/regress/fseek_ok.test diff --git a/thirdparty/libzip-1.11.3/regress/gap-add.zip b/proj-web/thirdparty/libzip-1.11.3/regress/gap-add.zip similarity index 100% rename from thirdparty/libzip-1.11.3/regress/gap-add.zip rename to proj-web/thirdparty/libzip-1.11.3/regress/gap-add.zip diff --git a/thirdparty/libzip-1.11.3/regress/gap-delete.zip b/proj-web/thirdparty/libzip-1.11.3/regress/gap-delete.zip similarity index 100% rename from thirdparty/libzip-1.11.3/regress/gap-delete.zip rename to proj-web/thirdparty/libzip-1.11.3/regress/gap-delete.zip diff --git a/thirdparty/libzip-1.11.3/regress/gap-replace.zip b/proj-web/thirdparty/libzip-1.11.3/regress/gap-replace.zip similarity index 100% rename from thirdparty/libzip-1.11.3/regress/gap-replace.zip rename to proj-web/thirdparty/libzip-1.11.3/regress/gap-replace.zip diff --git a/thirdparty/libzip-1.11.3/regress/gap.zip b/proj-web/thirdparty/libzip-1.11.3/regress/gap.zip similarity index 100% rename from thirdparty/libzip-1.11.3/regress/gap.zip rename to proj-web/thirdparty/libzip-1.11.3/regress/gap.zip diff --git a/thirdparty/libzip-1.11.3/regress/get_comment.test b/proj-web/thirdparty/libzip-1.11.3/regress/get_comment.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/get_comment.test rename to proj-web/thirdparty/libzip-1.11.3/regress/get_comment.test diff --git a/thirdparty/libzip-1.11.3/regress/get_comment_long.test b/proj-web/thirdparty/libzip-1.11.3/regress/get_comment_long.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/get_comment_long.test rename to proj-web/thirdparty/libzip-1.11.3/regress/get_comment_long.test diff --git a/thirdparty/libzip-1.11.3/regress/hmac-error.test b/proj-web/thirdparty/libzip-1.11.3/regress/hmac-error.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/hmac-error.test rename to proj-web/thirdparty/libzip-1.11.3/regress/hmac-error.test diff --git a/thirdparty/libzip-1.11.3/regress/hmac-error.zip b/proj-web/thirdparty/libzip-1.11.3/regress/hmac-error.zip similarity index 100% rename from thirdparty/libzip-1.11.3/regress/hmac-error.zip rename to proj-web/thirdparty/libzip-1.11.3/regress/hmac-error.zip diff --git a/thirdparty/libzip-1.11.3/regress/hole.c b/proj-web/thirdparty/libzip-1.11.3/regress/hole.c similarity index 100% rename from thirdparty/libzip-1.11.3/regress/hole.c rename to proj-web/thirdparty/libzip-1.11.3/regress/hole.c diff --git a/thirdparty/libzip-1.11.3/regress/incons-archive-comment-longer.zip b/proj-web/thirdparty/libzip-1.11.3/regress/incons-archive-comment-longer.zip similarity index 100% rename from thirdparty/libzip-1.11.3/regress/incons-archive-comment-longer.zip rename to proj-web/thirdparty/libzip-1.11.3/regress/incons-archive-comment-longer.zip diff --git a/thirdparty/libzip-1.11.3/regress/incons-archive-comment-shorter.zip b/proj-web/thirdparty/libzip-1.11.3/regress/incons-archive-comment-shorter.zip similarity index 100% rename from thirdparty/libzip-1.11.3/regress/incons-archive-comment-shorter.zip rename to proj-web/thirdparty/libzip-1.11.3/regress/incons-archive-comment-shorter.zip diff --git a/thirdparty/libzip-1.11.3/regress/incons-cdoffset.zip b/proj-web/thirdparty/libzip-1.11.3/regress/incons-cdoffset.zip similarity index 100% rename from thirdparty/libzip-1.11.3/regress/incons-cdoffset.zip rename to proj-web/thirdparty/libzip-1.11.3/regress/incons-cdoffset.zip diff --git a/thirdparty/libzip-1.11.3/regress/incons-cdsize-large.zip b/proj-web/thirdparty/libzip-1.11.3/regress/incons-cdsize-large.zip similarity index 100% rename from thirdparty/libzip-1.11.3/regress/incons-cdsize-large.zip rename to proj-web/thirdparty/libzip-1.11.3/regress/incons-cdsize-large.zip diff --git a/thirdparty/libzip-1.11.3/regress/incons-cdsize-small.zip b/proj-web/thirdparty/libzip-1.11.3/regress/incons-cdsize-small.zip similarity index 100% rename from thirdparty/libzip-1.11.3/regress/incons-cdsize-small.zip rename to proj-web/thirdparty/libzip-1.11.3/regress/incons-cdsize-small.zip diff --git a/thirdparty/libzip-1.11.3/regress/incons-central-compression-method.zip b/proj-web/thirdparty/libzip-1.11.3/regress/incons-central-compression-method.zip similarity index 100% rename from thirdparty/libzip-1.11.3/regress/incons-central-compression-method.zip rename to proj-web/thirdparty/libzip-1.11.3/regress/incons-central-compression-method.zip diff --git a/thirdparty/libzip-1.11.3/regress/incons-central-compsize-larger-toolarge.zip b/proj-web/thirdparty/libzip-1.11.3/regress/incons-central-compsize-larger-toolarge.zip similarity index 100% rename from thirdparty/libzip-1.11.3/regress/incons-central-compsize-larger-toolarge.zip rename to proj-web/thirdparty/libzip-1.11.3/regress/incons-central-compsize-larger-toolarge.zip diff --git a/thirdparty/libzip-1.11.3/regress/incons-central-compsize-larger.zip b/proj-web/thirdparty/libzip-1.11.3/regress/incons-central-compsize-larger.zip similarity index 100% rename from thirdparty/libzip-1.11.3/regress/incons-central-compsize-larger.zip rename to proj-web/thirdparty/libzip-1.11.3/regress/incons-central-compsize-larger.zip diff --git a/thirdparty/libzip-1.11.3/regress/incons-central-compsize-smaller.zip b/proj-web/thirdparty/libzip-1.11.3/regress/incons-central-compsize-smaller.zip similarity index 100% rename from thirdparty/libzip-1.11.3/regress/incons-central-compsize-smaller.zip rename to proj-web/thirdparty/libzip-1.11.3/regress/incons-central-compsize-smaller.zip diff --git a/thirdparty/libzip-1.11.3/regress/incons-central-crc.zip b/proj-web/thirdparty/libzip-1.11.3/regress/incons-central-crc.zip similarity index 100% rename from thirdparty/libzip-1.11.3/regress/incons-central-crc.zip rename to proj-web/thirdparty/libzip-1.11.3/regress/incons-central-crc.zip diff --git a/thirdparty/libzip-1.11.3/regress/incons-central-date.zip b/proj-web/thirdparty/libzip-1.11.3/regress/incons-central-date.zip similarity index 100% rename from thirdparty/libzip-1.11.3/regress/incons-central-date.zip rename to proj-web/thirdparty/libzip-1.11.3/regress/incons-central-date.zip diff --git a/thirdparty/libzip-1.11.3/regress/incons-central-file-comment-longer.zip b/proj-web/thirdparty/libzip-1.11.3/regress/incons-central-file-comment-longer.zip similarity index 100% rename from thirdparty/libzip-1.11.3/regress/incons-central-file-comment-longer.zip rename to proj-web/thirdparty/libzip-1.11.3/regress/incons-central-file-comment-longer.zip diff --git a/thirdparty/libzip-1.11.3/regress/incons-central-file-comment-shorter.zip b/proj-web/thirdparty/libzip-1.11.3/regress/incons-central-file-comment-shorter.zip similarity index 100% rename from thirdparty/libzip-1.11.3/regress/incons-central-file-comment-shorter.zip rename to proj-web/thirdparty/libzip-1.11.3/regress/incons-central-file-comment-shorter.zip diff --git a/thirdparty/libzip-1.11.3/regress/incons-central-file-comment-utf8-ascii.zip b/proj-web/thirdparty/libzip-1.11.3/regress/incons-central-file-comment-utf8-ascii.zip similarity index 100% rename from thirdparty/libzip-1.11.3/regress/incons-central-file-comment-utf8-ascii.zip rename to proj-web/thirdparty/libzip-1.11.3/regress/incons-central-file-comment-utf8-ascii.zip diff --git a/thirdparty/libzip-1.11.3/regress/incons-central-magic-bad.zip b/proj-web/thirdparty/libzip-1.11.3/regress/incons-central-magic-bad.zip similarity index 100% rename from thirdparty/libzip-1.11.3/regress/incons-central-magic-bad.zip rename to proj-web/thirdparty/libzip-1.11.3/regress/incons-central-magic-bad.zip diff --git a/thirdparty/libzip-1.11.3/regress/incons-central-magic-bad2.zip b/proj-web/thirdparty/libzip-1.11.3/regress/incons-central-magic-bad2.zip similarity index 100% rename from thirdparty/libzip-1.11.3/regress/incons-central-magic-bad2.zip rename to proj-web/thirdparty/libzip-1.11.3/regress/incons-central-magic-bad2.zip diff --git a/thirdparty/libzip-1.11.3/regress/incons-central-size-larger.zip b/proj-web/thirdparty/libzip-1.11.3/regress/incons-central-size-larger.zip similarity index 100% rename from thirdparty/libzip-1.11.3/regress/incons-central-size-larger.zip rename to proj-web/thirdparty/libzip-1.11.3/regress/incons-central-size-larger.zip diff --git a/thirdparty/libzip-1.11.3/regress/incons-data.zip b/proj-web/thirdparty/libzip-1.11.3/regress/incons-data.zip similarity index 100% rename from thirdparty/libzip-1.11.3/regress/incons-data.zip rename to proj-web/thirdparty/libzip-1.11.3/regress/incons-data.zip diff --git a/thirdparty/libzip-1.11.3/regress/incons-ef-central-size-wrong.zip b/proj-web/thirdparty/libzip-1.11.3/regress/incons-ef-central-size-wrong.zip similarity index 100% rename from thirdparty/libzip-1.11.3/regress/incons-ef-central-size-wrong.zip rename to proj-web/thirdparty/libzip-1.11.3/regress/incons-ef-central-size-wrong.zip diff --git a/thirdparty/libzip-1.11.3/regress/incons-ef-local-dupe-utf8comment.zip b/proj-web/thirdparty/libzip-1.11.3/regress/incons-ef-local-dupe-utf8comment.zip similarity index 100% rename from thirdparty/libzip-1.11.3/regress/incons-ef-local-dupe-utf8comment.zip rename to proj-web/thirdparty/libzip-1.11.3/regress/incons-ef-local-dupe-utf8comment.zip diff --git a/thirdparty/libzip-1.11.3/regress/incons-ef-local-dupe-utf8name.zip b/proj-web/thirdparty/libzip-1.11.3/regress/incons-ef-local-dupe-utf8name.zip similarity index 100% rename from thirdparty/libzip-1.11.3/regress/incons-ef-local-dupe-utf8name.zip rename to proj-web/thirdparty/libzip-1.11.3/regress/incons-ef-local-dupe-utf8name.zip diff --git a/thirdparty/libzip-1.11.3/regress/incons-ef-local-dupe-zip64-v1.zip b/proj-web/thirdparty/libzip-1.11.3/regress/incons-ef-local-dupe-zip64-v1.zip similarity index 100% rename from thirdparty/libzip-1.11.3/regress/incons-ef-local-dupe-zip64-v1.zip rename to proj-web/thirdparty/libzip-1.11.3/regress/incons-ef-local-dupe-zip64-v1.zip diff --git a/thirdparty/libzip-1.11.3/regress/incons-ef-local-dupe-zip64-v2.zip b/proj-web/thirdparty/libzip-1.11.3/regress/incons-ef-local-dupe-zip64-v2.zip similarity index 100% rename from thirdparty/libzip-1.11.3/regress/incons-ef-local-dupe-zip64-v2.zip rename to proj-web/thirdparty/libzip-1.11.3/regress/incons-ef-local-dupe-zip64-v2.zip diff --git a/thirdparty/libzip-1.11.3/regress/incons-ef-local-id-size.zip b/proj-web/thirdparty/libzip-1.11.3/regress/incons-ef-local-id-size.zip similarity index 100% rename from thirdparty/libzip-1.11.3/regress/incons-ef-local-id-size.zip rename to proj-web/thirdparty/libzip-1.11.3/regress/incons-ef-local-id-size.zip diff --git a/thirdparty/libzip-1.11.3/regress/incons-ef-local-id.zip b/proj-web/thirdparty/libzip-1.11.3/regress/incons-ef-local-id.zip similarity index 100% rename from thirdparty/libzip-1.11.3/regress/incons-ef-local-id.zip rename to proj-web/thirdparty/libzip-1.11.3/regress/incons-ef-local-id.zip diff --git a/thirdparty/libzip-1.11.3/regress/incons-ef-local-size.zip b/proj-web/thirdparty/libzip-1.11.3/regress/incons-ef-local-size.zip similarity index 100% rename from thirdparty/libzip-1.11.3/regress/incons-ef-local-size.zip rename to proj-web/thirdparty/libzip-1.11.3/regress/incons-ef-local-size.zip diff --git a/thirdparty/libzip-1.11.3/regress/incons-ef-local-utf8name-ascii.zip b/proj-web/thirdparty/libzip-1.11.3/regress/incons-ef-local-utf8name-ascii.zip similarity index 100% rename from thirdparty/libzip-1.11.3/regress/incons-ef-local-utf8name-ascii.zip rename to proj-web/thirdparty/libzip-1.11.3/regress/incons-ef-local-utf8name-ascii.zip diff --git a/thirdparty/libzip-1.11.3/regress/incons-eocd-magic-bad.zip b/proj-web/thirdparty/libzip-1.11.3/regress/incons-eocd-magic-bad.zip similarity index 100% rename from thirdparty/libzip-1.11.3/regress/incons-eocd-magic-bad.zip rename to proj-web/thirdparty/libzip-1.11.3/regress/incons-eocd-magic-bad.zip diff --git a/thirdparty/libzip-1.11.3/regress/incons-eocd64.zip b/proj-web/thirdparty/libzip-1.11.3/regress/incons-eocd64.zip similarity index 100% rename from thirdparty/libzip-1.11.3/regress/incons-eocd64.zip rename to proj-web/thirdparty/libzip-1.11.3/regress/incons-eocd64.zip diff --git a/thirdparty/libzip-1.11.3/regress/incons-file-count-high.zip b/proj-web/thirdparty/libzip-1.11.3/regress/incons-file-count-high.zip similarity index 100% rename from thirdparty/libzip-1.11.3/regress/incons-file-count-high.zip rename to proj-web/thirdparty/libzip-1.11.3/regress/incons-file-count-high.zip diff --git a/thirdparty/libzip-1.11.3/regress/incons-file-count-low.zip b/proj-web/thirdparty/libzip-1.11.3/regress/incons-file-count-low.zip similarity index 100% rename from thirdparty/libzip-1.11.3/regress/incons-file-count-low.zip rename to proj-web/thirdparty/libzip-1.11.3/regress/incons-file-count-low.zip diff --git a/thirdparty/libzip-1.11.3/regress/incons-file-count-overflow.zip b/proj-web/thirdparty/libzip-1.11.3/regress/incons-file-count-overflow.zip similarity index 100% rename from thirdparty/libzip-1.11.3/regress/incons-file-count-overflow.zip rename to proj-web/thirdparty/libzip-1.11.3/regress/incons-file-count-overflow.zip diff --git a/thirdparty/libzip-1.11.3/regress/incons-gap-before-cd.zip b/proj-web/thirdparty/libzip-1.11.3/regress/incons-gap-before-cd.zip similarity index 100% rename from thirdparty/libzip-1.11.3/regress/incons-gap-before-cd.zip rename to proj-web/thirdparty/libzip-1.11.3/regress/incons-gap-before-cd.zip diff --git a/thirdparty/libzip-1.11.3/regress/incons-gap-before-eocd.zip b/proj-web/thirdparty/libzip-1.11.3/regress/incons-gap-before-eocd.zip similarity index 100% rename from thirdparty/libzip-1.11.3/regress/incons-gap-before-eocd.zip rename to proj-web/thirdparty/libzip-1.11.3/regress/incons-gap-before-eocd.zip diff --git a/thirdparty/libzip-1.11.3/regress/incons-gap-before-local.zip b/proj-web/thirdparty/libzip-1.11.3/regress/incons-gap-before-local.zip similarity index 100% rename from thirdparty/libzip-1.11.3/regress/incons-gap-before-local.zip rename to proj-web/thirdparty/libzip-1.11.3/regress/incons-gap-before-local.zip diff --git a/thirdparty/libzip-1.11.3/regress/incons-local-compression-method.zip b/proj-web/thirdparty/libzip-1.11.3/regress/incons-local-compression-method.zip similarity index 100% rename from thirdparty/libzip-1.11.3/regress/incons-local-compression-method.zip rename to proj-web/thirdparty/libzip-1.11.3/regress/incons-local-compression-method.zip diff --git a/thirdparty/libzip-1.11.3/regress/incons-local-compsize-larger.zip b/proj-web/thirdparty/libzip-1.11.3/regress/incons-local-compsize-larger.zip similarity index 100% rename from thirdparty/libzip-1.11.3/regress/incons-local-compsize-larger.zip rename to proj-web/thirdparty/libzip-1.11.3/regress/incons-local-compsize-larger.zip diff --git a/thirdparty/libzip-1.11.3/regress/incons-local-compsize-smaller.zip b/proj-web/thirdparty/libzip-1.11.3/regress/incons-local-compsize-smaller.zip similarity index 100% rename from thirdparty/libzip-1.11.3/regress/incons-local-compsize-smaller.zip rename to proj-web/thirdparty/libzip-1.11.3/regress/incons-local-compsize-smaller.zip diff --git a/thirdparty/libzip-1.11.3/regress/incons-local-crc.zip b/proj-web/thirdparty/libzip-1.11.3/regress/incons-local-crc.zip similarity index 100% rename from thirdparty/libzip-1.11.3/regress/incons-local-crc.zip rename to proj-web/thirdparty/libzip-1.11.3/regress/incons-local-crc.zip diff --git a/thirdparty/libzip-1.11.3/regress/incons-local-filename-long.zip b/proj-web/thirdparty/libzip-1.11.3/regress/incons-local-filename-long.zip similarity index 100% rename from thirdparty/libzip-1.11.3/regress/incons-local-filename-long.zip rename to proj-web/thirdparty/libzip-1.11.3/regress/incons-local-filename-long.zip diff --git a/thirdparty/libzip-1.11.3/regress/incons-local-filename-missing.zip b/proj-web/thirdparty/libzip-1.11.3/regress/incons-local-filename-missing.zip similarity index 100% rename from thirdparty/libzip-1.11.3/regress/incons-local-filename-missing.zip rename to proj-web/thirdparty/libzip-1.11.3/regress/incons-local-filename-missing.zip diff --git a/thirdparty/libzip-1.11.3/regress/incons-local-filename-nil-byte.zip b/proj-web/thirdparty/libzip-1.11.3/regress/incons-local-filename-nil-byte.zip similarity index 100% rename from thirdparty/libzip-1.11.3/regress/incons-local-filename-nil-byte.zip rename to proj-web/thirdparty/libzip-1.11.3/regress/incons-local-filename-nil-byte.zip diff --git a/thirdparty/libzip-1.11.3/regress/incons-local-filename-short.zip b/proj-web/thirdparty/libzip-1.11.3/regress/incons-local-filename-short.zip similarity index 100% rename from thirdparty/libzip-1.11.3/regress/incons-local-filename-short.zip rename to proj-web/thirdparty/libzip-1.11.3/regress/incons-local-filename-short.zip diff --git a/thirdparty/libzip-1.11.3/regress/incons-local-filename.zip b/proj-web/thirdparty/libzip-1.11.3/regress/incons-local-filename.zip similarity index 100% rename from thirdparty/libzip-1.11.3/regress/incons-local-filename.zip rename to proj-web/thirdparty/libzip-1.11.3/regress/incons-local-filename.zip diff --git a/thirdparty/libzip-1.11.3/regress/incons-local-magic-bad.zip b/proj-web/thirdparty/libzip-1.11.3/regress/incons-local-magic-bad.zip similarity index 100% rename from thirdparty/libzip-1.11.3/regress/incons-local-magic-bad.zip rename to proj-web/thirdparty/libzip-1.11.3/regress/incons-local-magic-bad.zip diff --git a/thirdparty/libzip-1.11.3/regress/incons-local-size-larger.zip b/proj-web/thirdparty/libzip-1.11.3/regress/incons-local-size-larger.zip similarity index 100% rename from thirdparty/libzip-1.11.3/regress/incons-local-size-larger.zip rename to proj-web/thirdparty/libzip-1.11.3/regress/incons-local-size-larger.zip diff --git a/thirdparty/libzip-1.11.3/regress/incons-stored-size.zip b/proj-web/thirdparty/libzip-1.11.3/regress/incons-stored-size.zip similarity index 100% rename from thirdparty/libzip-1.11.3/regress/incons-stored-size.zip rename to proj-web/thirdparty/libzip-1.11.3/regress/incons-stored-size.zip diff --git a/thirdparty/libzip-1.11.3/regress/incons-streamed-2.zip b/proj-web/thirdparty/libzip-1.11.3/regress/incons-streamed-2.zip similarity index 100% rename from thirdparty/libzip-1.11.3/regress/incons-streamed-2.zip rename to proj-web/thirdparty/libzip-1.11.3/regress/incons-streamed-2.zip diff --git a/thirdparty/libzip-1.11.3/regress/incons-streamed.zip b/proj-web/thirdparty/libzip-1.11.3/regress/incons-streamed.zip similarity index 100% rename from thirdparty/libzip-1.11.3/regress/incons-streamed.zip rename to proj-web/thirdparty/libzip-1.11.3/regress/incons-streamed.zip diff --git a/thirdparty/libzip-1.11.3/regress/incons-trailing-garbage.zip b/proj-web/thirdparty/libzip-1.11.3/regress/incons-trailing-garbage.zip similarity index 100% rename from thirdparty/libzip-1.11.3/regress/incons-trailing-garbage.zip rename to proj-web/thirdparty/libzip-1.11.3/regress/incons-trailing-garbage.zip diff --git a/thirdparty/libzip-1.11.3/regress/junk-at-end.zip b/proj-web/thirdparty/libzip-1.11.3/regress/junk-at-end.zip similarity index 100% rename from thirdparty/libzip-1.11.3/regress/junk-at-end.zip rename to proj-web/thirdparty/libzip-1.11.3/regress/junk-at-end.zip diff --git a/thirdparty/libzip-1.11.3/regress/junk-at-start.zip b/proj-web/thirdparty/libzip-1.11.3/regress/junk-at-start.zip similarity index 100% rename from thirdparty/libzip-1.11.3/regress/junk-at-start.zip rename to proj-web/thirdparty/libzip-1.11.3/regress/junk-at-start.zip diff --git a/thirdparty/libzip-1.11.3/regress/junk_at_end.test b/proj-web/thirdparty/libzip-1.11.3/regress/junk_at_end.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/junk_at_end.test rename to proj-web/thirdparty/libzip-1.11.3/regress/junk_at_end.test diff --git a/thirdparty/libzip-1.11.3/regress/junk_at_start.test b/proj-web/thirdparty/libzip-1.11.3/regress/junk_at_start.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/junk_at_start.test rename to proj-web/thirdparty/libzip-1.11.3/regress/junk_at_start.test diff --git a/thirdparty/libzip-1.11.3/regress/large-uncompressible b/proj-web/thirdparty/libzip-1.11.3/regress/large-uncompressible similarity index 100% rename from thirdparty/libzip-1.11.3/regress/large-uncompressible rename to proj-web/thirdparty/libzip-1.11.3/regress/large-uncompressible diff --git a/thirdparty/libzip-1.11.3/regress/liboverride-test.c b/proj-web/thirdparty/libzip-1.11.3/regress/liboverride-test.c similarity index 100% rename from thirdparty/libzip-1.11.3/regress/liboverride-test.c rename to proj-web/thirdparty/libzip-1.11.3/regress/liboverride-test.c diff --git a/thirdparty/libzip-1.11.3/regress/liboverride.c b/proj-web/thirdparty/libzip-1.11.3/regress/liboverride.c similarity index 100% rename from thirdparty/libzip-1.11.3/regress/liboverride.c rename to proj-web/thirdparty/libzip-1.11.3/regress/liboverride.c diff --git a/thirdparty/libzip-1.11.3/regress/lzma-no-eos.zip b/proj-web/thirdparty/libzip-1.11.3/regress/lzma-no-eos.zip similarity index 100% rename from thirdparty/libzip-1.11.3/regress/lzma-no-eos.zip rename to proj-web/thirdparty/libzip-1.11.3/regress/lzma-no-eos.zip diff --git a/thirdparty/libzip-1.11.3/regress/malloc.c b/proj-web/thirdparty/libzip-1.11.3/regress/malloc.c similarity index 100% rename from thirdparty/libzip-1.11.3/regress/malloc.c rename to proj-web/thirdparty/libzip-1.11.3/regress/malloc.c diff --git a/thirdparty/libzip-1.11.3/regress/manyfiles-zip.zip b/proj-web/thirdparty/libzip-1.11.3/regress/manyfiles-zip.zip similarity index 100% rename from thirdparty/libzip-1.11.3/regress/manyfiles-zip.zip rename to proj-web/thirdparty/libzip-1.11.3/regress/manyfiles-zip.zip diff --git a/thirdparty/libzip-1.11.3/regress/mtime-default.zip b/proj-web/thirdparty/libzip-1.11.3/regress/mtime-default.zip similarity index 100% rename from thirdparty/libzip-1.11.3/regress/mtime-default.zip rename to proj-web/thirdparty/libzip-1.11.3/regress/mtime-default.zip diff --git a/thirdparty/libzip-1.11.3/regress/mtime-dstpoint-deflated.zip b/proj-web/thirdparty/libzip-1.11.3/regress/mtime-dstpoint-deflated.zip similarity index 100% rename from thirdparty/libzip-1.11.3/regress/mtime-dstpoint-deflated.zip rename to proj-web/thirdparty/libzip-1.11.3/regress/mtime-dstpoint-deflated.zip diff --git a/thirdparty/libzip-1.11.3/regress/mtime-dstpoint.test b/proj-web/thirdparty/libzip-1.11.3/regress/mtime-dstpoint.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/mtime-dstpoint.test rename to proj-web/thirdparty/libzip-1.11.3/regress/mtime-dstpoint.test diff --git a/thirdparty/libzip-1.11.3/regress/mtime-dstpoint.zip b/proj-web/thirdparty/libzip-1.11.3/regress/mtime-dstpoint.zip similarity index 100% rename from thirdparty/libzip-1.11.3/regress/mtime-dstpoint.zip rename to proj-web/thirdparty/libzip-1.11.3/regress/mtime-dstpoint.zip diff --git a/thirdparty/libzip-1.11.3/regress/mtime-post-dstpoint-deflated.zip b/proj-web/thirdparty/libzip-1.11.3/regress/mtime-post-dstpoint-deflated.zip similarity index 100% rename from thirdparty/libzip-1.11.3/regress/mtime-post-dstpoint-deflated.zip rename to proj-web/thirdparty/libzip-1.11.3/regress/mtime-post-dstpoint-deflated.zip diff --git a/thirdparty/libzip-1.11.3/regress/mtime-post-dstpoint.test b/proj-web/thirdparty/libzip-1.11.3/regress/mtime-post-dstpoint.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/mtime-post-dstpoint.test rename to proj-web/thirdparty/libzip-1.11.3/regress/mtime-post-dstpoint.test diff --git a/thirdparty/libzip-1.11.3/regress/mtime-post-dstpoint.zip b/proj-web/thirdparty/libzip-1.11.3/regress/mtime-post-dstpoint.zip similarity index 100% rename from thirdparty/libzip-1.11.3/regress/mtime-post-dstpoint.zip rename to proj-web/thirdparty/libzip-1.11.3/regress/mtime-post-dstpoint.zip diff --git a/thirdparty/libzip-1.11.3/regress/mtime-pre-dstpoint-deflated.zip b/proj-web/thirdparty/libzip-1.11.3/regress/mtime-pre-dstpoint-deflated.zip similarity index 100% rename from thirdparty/libzip-1.11.3/regress/mtime-pre-dstpoint-deflated.zip rename to proj-web/thirdparty/libzip-1.11.3/regress/mtime-pre-dstpoint-deflated.zip diff --git a/thirdparty/libzip-1.11.3/regress/mtime-pre-dstpoint.test b/proj-web/thirdparty/libzip-1.11.3/regress/mtime-pre-dstpoint.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/mtime-pre-dstpoint.test rename to proj-web/thirdparty/libzip-1.11.3/regress/mtime-pre-dstpoint.test diff --git a/thirdparty/libzip-1.11.3/regress/mtime-pre-dstpoint.zip b/proj-web/thirdparty/libzip-1.11.3/regress/mtime-pre-dstpoint.zip similarity index 100% rename from thirdparty/libzip-1.11.3/regress/mtime-pre-dstpoint.zip rename to proj-web/thirdparty/libzip-1.11.3/regress/mtime-pre-dstpoint.zip diff --git a/thirdparty/libzip-1.11.3/regress/multidisk.zip b/proj-web/thirdparty/libzip-1.11.3/regress/multidisk.zip similarity index 100% rename from thirdparty/libzip-1.11.3/regress/multidisk.zip rename to proj-web/thirdparty/libzip-1.11.3/regress/multidisk.zip diff --git a/thirdparty/libzip-1.11.3/regress/name_locate-cp437.test b/proj-web/thirdparty/libzip-1.11.3/regress/name_locate-cp437.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/name_locate-cp437.test rename to proj-web/thirdparty/libzip-1.11.3/regress/name_locate-cp437.test diff --git a/thirdparty/libzip-1.11.3/regress/name_locate-utf8.test b/proj-web/thirdparty/libzip-1.11.3/regress/name_locate-utf8.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/name_locate-utf8.test rename to proj-web/thirdparty/libzip-1.11.3/regress/name_locate-utf8.test diff --git a/thirdparty/libzip-1.11.3/regress/name_locate.test b/proj-web/thirdparty/libzip-1.11.3/regress/name_locate.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/name_locate.test rename to proj-web/thirdparty/libzip-1.11.3/regress/name_locate.test diff --git a/thirdparty/libzip-1.11.3/regress/nihtest.conf.in b/proj-web/thirdparty/libzip-1.11.3/regress/nihtest.conf.in similarity index 100% rename from thirdparty/libzip-1.11.3/regress/nihtest.conf.in rename to proj-web/thirdparty/libzip-1.11.3/regress/nihtest.conf.in diff --git a/thirdparty/libzip-1.11.3/regress/nonrandomopen.c b/proj-web/thirdparty/libzip-1.11.3/regress/nonrandomopen.c similarity index 100% rename from thirdparty/libzip-1.11.3/regress/nonrandomopen.c rename to proj-web/thirdparty/libzip-1.11.3/regress/nonrandomopen.c diff --git a/thirdparty/libzip-1.11.3/regress/nonrandomopentest.c b/proj-web/thirdparty/libzip-1.11.3/regress/nonrandomopentest.c similarity index 100% rename from thirdparty/libzip-1.11.3/regress/nonrandomopentest.c rename to proj-web/thirdparty/libzip-1.11.3/regress/nonrandomopentest.c diff --git a/thirdparty/libzip-1.11.3/regress/open_archive_comment_wrong.test b/proj-web/thirdparty/libzip-1.11.3/regress/open_archive_comment_wrong.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/open_archive_comment_wrong.test rename to proj-web/thirdparty/libzip-1.11.3/regress/open_archive_comment_wrong.test diff --git a/thirdparty/libzip-1.11.3/regress/open_cons_extrabytes.test b/proj-web/thirdparty/libzip-1.11.3/regress/open_cons_extrabytes.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/open_cons_extrabytes.test rename to proj-web/thirdparty/libzip-1.11.3/regress/open_cons_extrabytes.test diff --git a/thirdparty/libzip-1.11.3/regress/open_empty.test b/proj-web/thirdparty/libzip-1.11.3/regress/open_empty.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/open_empty.test rename to proj-web/thirdparty/libzip-1.11.3/regress/open_empty.test diff --git a/thirdparty/libzip-1.11.3/regress/open_empty_2.test b/proj-web/thirdparty/libzip-1.11.3/regress/open_empty_2.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/open_empty_2.test rename to proj-web/thirdparty/libzip-1.11.3/regress/open_empty_2.test diff --git a/thirdparty/libzip-1.11.3/regress/open_extrabytes.test b/proj-web/thirdparty/libzip-1.11.3/regress/open_extrabytes.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/open_extrabytes.test rename to proj-web/thirdparty/libzip-1.11.3/regress/open_extrabytes.test diff --git a/thirdparty/libzip-1.11.3/regress/open_file_count.test b/proj-web/thirdparty/libzip-1.11.3/regress/open_file_count.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/open_file_count.test rename to proj-web/thirdparty/libzip-1.11.3/regress/open_file_count.test diff --git a/thirdparty/libzip-1.11.3/regress/open_filename_duplicate.test b/proj-web/thirdparty/libzip-1.11.3/regress/open_filename_duplicate.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/open_filename_duplicate.test rename to proj-web/thirdparty/libzip-1.11.3/regress/open_filename_duplicate.test diff --git a/thirdparty/libzip-1.11.3/regress/open_filename_duplicate_consistency.test b/proj-web/thirdparty/libzip-1.11.3/regress/open_filename_duplicate_consistency.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/open_filename_duplicate_consistency.test rename to proj-web/thirdparty/libzip-1.11.3/regress/open_filename_duplicate_consistency.test diff --git a/thirdparty/libzip-1.11.3/regress/open_filename_duplicate_empty.test b/proj-web/thirdparty/libzip-1.11.3/regress/open_filename_duplicate_empty.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/open_filename_duplicate_empty.test rename to proj-web/thirdparty/libzip-1.11.3/regress/open_filename_duplicate_empty.test diff --git a/thirdparty/libzip-1.11.3/regress/open_filename_duplicate_empty_consistency.test b/proj-web/thirdparty/libzip-1.11.3/regress/open_filename_duplicate_empty_consistency.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/open_filename_duplicate_empty_consistency.test rename to proj-web/thirdparty/libzip-1.11.3/regress/open_filename_duplicate_empty_consistency.test diff --git a/thirdparty/libzip-1.11.3/regress/open_filename_empty.test b/proj-web/thirdparty/libzip-1.11.3/regress/open_filename_empty.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/open_filename_empty.test rename to proj-web/thirdparty/libzip-1.11.3/regress/open_filename_empty.test diff --git a/thirdparty/libzip-1.11.3/regress/open_incons.test b/proj-web/thirdparty/libzip-1.11.3/regress/open_incons.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/open_incons.test rename to proj-web/thirdparty/libzip-1.11.3/regress/open_incons.test diff --git a/thirdparty/libzip-1.11.3/regress/open_many_fail.test b/proj-web/thirdparty/libzip-1.11.3/regress/open_many_fail.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/open_many_fail.test rename to proj-web/thirdparty/libzip-1.11.3/regress/open_many_fail.test diff --git a/thirdparty/libzip-1.11.3/regress/open_many_ok.test b/proj-web/thirdparty/libzip-1.11.3/regress/open_many_ok.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/open_many_ok.test rename to proj-web/thirdparty/libzip-1.11.3/regress/open_many_ok.test diff --git a/thirdparty/libzip-1.11.3/regress/open_multidisk.test b/proj-web/thirdparty/libzip-1.11.3/regress/open_multidisk.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/open_multidisk.test rename to proj-web/thirdparty/libzip-1.11.3/regress/open_multidisk.test diff --git a/thirdparty/libzip-1.11.3/regress/open_new_but_exists.test b/proj-web/thirdparty/libzip-1.11.3/regress/open_new_but_exists.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/open_new_but_exists.test rename to proj-web/thirdparty/libzip-1.11.3/regress/open_new_but_exists.test diff --git a/thirdparty/libzip-1.11.3/regress/open_new_ok.test b/proj-web/thirdparty/libzip-1.11.3/regress/open_new_ok.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/open_new_ok.test rename to proj-web/thirdparty/libzip-1.11.3/regress/open_new_ok.test diff --git a/thirdparty/libzip-1.11.3/regress/open_nonarchive.test b/proj-web/thirdparty/libzip-1.11.3/regress/open_nonarchive.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/open_nonarchive.test rename to proj-web/thirdparty/libzip-1.11.3/regress/open_nonarchive.test diff --git a/thirdparty/libzip-1.11.3/regress/open_nosuchfile.test b/proj-web/thirdparty/libzip-1.11.3/regress/open_nosuchfile.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/open_nosuchfile.test rename to proj-web/thirdparty/libzip-1.11.3/regress/open_nosuchfile.test diff --git a/thirdparty/libzip-1.11.3/regress/open_ok.test b/proj-web/thirdparty/libzip-1.11.3/regress/open_ok.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/open_ok.test rename to proj-web/thirdparty/libzip-1.11.3/regress/open_ok.test diff --git a/thirdparty/libzip-1.11.3/regress/open_too_short.test b/proj-web/thirdparty/libzip-1.11.3/regress/open_too_short.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/open_too_short.test rename to proj-web/thirdparty/libzip-1.11.3/regress/open_too_short.test diff --git a/thirdparty/libzip-1.11.3/regress/open_truncate.test b/proj-web/thirdparty/libzip-1.11.3/regress/open_truncate.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/open_truncate.test rename to proj-web/thirdparty/libzip-1.11.3/regress/open_truncate.test diff --git a/thirdparty/libzip-1.11.3/regress/open_truncated.test b/proj-web/thirdparty/libzip-1.11.3/regress/open_truncated.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/open_truncated.test rename to proj-web/thirdparty/libzip-1.11.3/regress/open_truncated.test diff --git a/thirdparty/libzip-1.11.3/regress/open_zip64_3mf.test b/proj-web/thirdparty/libzip-1.11.3/regress/open_zip64_3mf.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/open_zip64_3mf.test rename to proj-web/thirdparty/libzip-1.11.3/regress/open_zip64_3mf.test diff --git a/thirdparty/libzip-1.11.3/regress/open_zip64_ok.test b/proj-web/thirdparty/libzip-1.11.3/regress/open_zip64_ok.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/open_zip64_ok.test rename to proj-web/thirdparty/libzip-1.11.3/regress/open_zip64_ok.test diff --git a/thirdparty/libzip-1.11.3/regress/preload.test b/proj-web/thirdparty/libzip-1.11.3/regress/preload.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/preload.test rename to proj-web/thirdparty/libzip-1.11.3/regress/preload.test diff --git a/thirdparty/libzip-1.11.3/regress/progress.test b/proj-web/thirdparty/libzip-1.11.3/regress/progress.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/progress.test rename to proj-web/thirdparty/libzip-1.11.3/regress/progress.test diff --git a/thirdparty/libzip-1.11.3/regress/read_incons.test b/proj-web/thirdparty/libzip-1.11.3/regress/read_incons.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/read_incons.test rename to proj-web/thirdparty/libzip-1.11.3/regress/read_incons.test diff --git a/thirdparty/libzip-1.11.3/regress/read_seek_read.test b/proj-web/thirdparty/libzip-1.11.3/regress/read_seek_read.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/read_seek_read.test rename to proj-web/thirdparty/libzip-1.11.3/regress/read_seek_read.test diff --git a/thirdparty/libzip-1.11.3/regress/rename_ascii.test b/proj-web/thirdparty/libzip-1.11.3/regress/rename_ascii.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/rename_ascii.test rename to proj-web/thirdparty/libzip-1.11.3/regress/rename_ascii.test diff --git a/thirdparty/libzip-1.11.3/regress/rename_cp437.test b/proj-web/thirdparty/libzip-1.11.3/regress/rename_cp437.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/rename_cp437.test rename to proj-web/thirdparty/libzip-1.11.3/regress/rename_cp437.test diff --git a/thirdparty/libzip-1.11.3/regress/rename_deleted.test b/proj-web/thirdparty/libzip-1.11.3/regress/rename_deleted.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/rename_deleted.test rename to proj-web/thirdparty/libzip-1.11.3/regress/rename_deleted.test diff --git a/thirdparty/libzip-1.11.3/regress/rename_fail.test b/proj-web/thirdparty/libzip-1.11.3/regress/rename_fail.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/rename_fail.test rename to proj-web/thirdparty/libzip-1.11.3/regress/rename_fail.test diff --git a/thirdparty/libzip-1.11.3/regress/rename_ok.test b/proj-web/thirdparty/libzip-1.11.3/regress/rename_ok.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/rename_ok.test rename to proj-web/thirdparty/libzip-1.11.3/regress/rename_ok.test diff --git a/thirdparty/libzip-1.11.3/regress/rename_ok.zip b/proj-web/thirdparty/libzip-1.11.3/regress/rename_ok.zip similarity index 100% rename from thirdparty/libzip-1.11.3/regress/rename_ok.zip rename to proj-web/thirdparty/libzip-1.11.3/regress/rename_ok.zip diff --git a/thirdparty/libzip-1.11.3/regress/rename_utf8.test b/proj-web/thirdparty/libzip-1.11.3/regress/rename_utf8.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/rename_utf8.test rename to proj-web/thirdparty/libzip-1.11.3/regress/rename_utf8.test diff --git a/thirdparty/libzip-1.11.3/regress/rename_utf8_encmismatch.test b/proj-web/thirdparty/libzip-1.11.3/regress/rename_utf8_encmismatch.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/rename_utf8_encmismatch.test rename to proj-web/thirdparty/libzip-1.11.3/regress/rename_utf8_encmismatch.test diff --git a/thirdparty/libzip-1.11.3/regress/reopen.test b/proj-web/thirdparty/libzip-1.11.3/regress/reopen.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/reopen.test rename to proj-web/thirdparty/libzip-1.11.3/regress/reopen.test diff --git a/thirdparty/libzip-1.11.3/regress/reopen_partial.test b/proj-web/thirdparty/libzip-1.11.3/regress/reopen_partial.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/reopen_partial.test rename to proj-web/thirdparty/libzip-1.11.3/regress/reopen_partial.test diff --git a/thirdparty/libzip-1.11.3/regress/reopen_partial_rest.test b/proj-web/thirdparty/libzip-1.11.3/regress/reopen_partial_rest.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/reopen_partial_rest.test rename to proj-web/thirdparty/libzip-1.11.3/regress/reopen_partial_rest.test diff --git a/thirdparty/libzip-1.11.3/regress/set_comment_all.test b/proj-web/thirdparty/libzip-1.11.3/regress/set_comment_all.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/set_comment_all.test rename to proj-web/thirdparty/libzip-1.11.3/regress/set_comment_all.test diff --git a/thirdparty/libzip-1.11.3/regress/set_comment_localonly.test b/proj-web/thirdparty/libzip-1.11.3/regress/set_comment_localonly.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/set_comment_localonly.test rename to proj-web/thirdparty/libzip-1.11.3/regress/set_comment_localonly.test diff --git a/thirdparty/libzip-1.11.3/regress/set_comment_removeglobal.test b/proj-web/thirdparty/libzip-1.11.3/regress/set_comment_removeglobal.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/set_comment_removeglobal.test rename to proj-web/thirdparty/libzip-1.11.3/regress/set_comment_removeglobal.test diff --git a/thirdparty/libzip-1.11.3/regress/set_comment_revert.test b/proj-web/thirdparty/libzip-1.11.3/regress/set_comment_revert.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/set_comment_revert.test rename to proj-web/thirdparty/libzip-1.11.3/regress/set_comment_revert.test diff --git a/thirdparty/libzip-1.11.3/regress/set_compression_bzip2_to_deflate.test b/proj-web/thirdparty/libzip-1.11.3/regress/set_compression_bzip2_to_deflate.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/set_compression_bzip2_to_deflate.test rename to proj-web/thirdparty/libzip-1.11.3/regress/set_compression_bzip2_to_deflate.test diff --git a/thirdparty/libzip-1.11.3/regress/set_compression_deflate_to_bzip2.test b/proj-web/thirdparty/libzip-1.11.3/regress/set_compression_deflate_to_bzip2.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/set_compression_deflate_to_bzip2.test rename to proj-web/thirdparty/libzip-1.11.3/regress/set_compression_deflate_to_bzip2.test diff --git a/thirdparty/libzip-1.11.3/regress/set_compression_deflate_to_deflate.test b/proj-web/thirdparty/libzip-1.11.3/regress/set_compression_deflate_to_deflate.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/set_compression_deflate_to_deflate.test rename to proj-web/thirdparty/libzip-1.11.3/regress/set_compression_deflate_to_deflate.test diff --git a/thirdparty/libzip-1.11.3/regress/set_compression_deflate_to_store.test b/proj-web/thirdparty/libzip-1.11.3/regress/set_compression_deflate_to_store.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/set_compression_deflate_to_store.test rename to proj-web/thirdparty/libzip-1.11.3/regress/set_compression_deflate_to_store.test diff --git a/thirdparty/libzip-1.11.3/regress/set_compression_lzma_no_eos_to_store.test b/proj-web/thirdparty/libzip-1.11.3/regress/set_compression_lzma_no_eos_to_store.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/set_compression_lzma_no_eos_to_store.test rename to proj-web/thirdparty/libzip-1.11.3/regress/set_compression_lzma_no_eos_to_store.test diff --git a/thirdparty/libzip-1.11.3/regress/set_compression_lzma_to_store.test b/proj-web/thirdparty/libzip-1.11.3/regress/set_compression_lzma_to_store.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/set_compression_lzma_to_store.test rename to proj-web/thirdparty/libzip-1.11.3/regress/set_compression_lzma_to_store.test diff --git a/thirdparty/libzip-1.11.3/regress/set_compression_store_to_bzip2.test b/proj-web/thirdparty/libzip-1.11.3/regress/set_compression_store_to_bzip2.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/set_compression_store_to_bzip2.test rename to proj-web/thirdparty/libzip-1.11.3/regress/set_compression_store_to_bzip2.test diff --git a/thirdparty/libzip-1.11.3/regress/set_compression_store_to_deflate.test b/proj-web/thirdparty/libzip-1.11.3/regress/set_compression_store_to_deflate.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/set_compression_store_to_deflate.test rename to proj-web/thirdparty/libzip-1.11.3/regress/set_compression_store_to_deflate.test diff --git a/thirdparty/libzip-1.11.3/regress/set_compression_store_to_lzma.test b/proj-web/thirdparty/libzip-1.11.3/regress/set_compression_store_to_lzma.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/set_compression_store_to_lzma.test rename to proj-web/thirdparty/libzip-1.11.3/regress/set_compression_store_to_lzma.test diff --git a/thirdparty/libzip-1.11.3/regress/set_compression_store_to_store.test b/proj-web/thirdparty/libzip-1.11.3/regress/set_compression_store_to_store.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/set_compression_store_to_store.test rename to proj-web/thirdparty/libzip-1.11.3/regress/set_compression_store_to_store.test diff --git a/thirdparty/libzip-1.11.3/regress/set_compression_store_to_xz.test b/proj-web/thirdparty/libzip-1.11.3/regress/set_compression_store_to_xz.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/set_compression_store_to_xz.test rename to proj-web/thirdparty/libzip-1.11.3/regress/set_compression_store_to_xz.test diff --git a/thirdparty/libzip-1.11.3/regress/set_compression_store_to_zstd.test b/proj-web/thirdparty/libzip-1.11.3/regress/set_compression_store_to_zstd.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/set_compression_store_to_zstd.test rename to proj-web/thirdparty/libzip-1.11.3/regress/set_compression_store_to_zstd.test diff --git a/thirdparty/libzip-1.11.3/regress/set_compression_unknown.test b/proj-web/thirdparty/libzip-1.11.3/regress/set_compression_unknown.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/set_compression_unknown.test rename to proj-web/thirdparty/libzip-1.11.3/regress/set_compression_unknown.test diff --git a/thirdparty/libzip-1.11.3/regress/set_compression_xz_to_store.test b/proj-web/thirdparty/libzip-1.11.3/regress/set_compression_xz_to_store.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/set_compression_xz_to_store.test rename to proj-web/thirdparty/libzip-1.11.3/regress/set_compression_xz_to_store.test diff --git a/thirdparty/libzip-1.11.3/regress/set_compression_zstd_to_store.test b/proj-web/thirdparty/libzip-1.11.3/regress/set_compression_zstd_to_store.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/set_compression_zstd_to_store.test rename to proj-web/thirdparty/libzip-1.11.3/regress/set_compression_zstd_to_store.test diff --git a/thirdparty/libzip-1.11.3/regress/set_file_dostime.test b/proj-web/thirdparty/libzip-1.11.3/regress/set_file_dostime.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/set_file_dostime.test rename to proj-web/thirdparty/libzip-1.11.3/regress/set_file_dostime.test diff --git a/thirdparty/libzip-1.11.3/regress/set_file_mtime.test b/proj-web/thirdparty/libzip-1.11.3/regress/set_file_mtime.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/set_file_mtime.test rename to proj-web/thirdparty/libzip-1.11.3/regress/set_file_mtime.test diff --git a/thirdparty/libzip-1.11.3/regress/set_file_mtime_pkware.test b/proj-web/thirdparty/libzip-1.11.3/regress/set_file_mtime_pkware.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/set_file_mtime_pkware.test rename to proj-web/thirdparty/libzip-1.11.3/regress/set_file_mtime_pkware.test diff --git a/thirdparty/libzip-1.11.3/regress/short b/proj-web/thirdparty/libzip-1.11.3/regress/short similarity index 100% rename from thirdparty/libzip-1.11.3/regress/short rename to proj-web/thirdparty/libzip-1.11.3/regress/short diff --git a/thirdparty/libzip-1.11.3/regress/source_hole.c b/proj-web/thirdparty/libzip-1.11.3/regress/source_hole.c similarity index 100% rename from thirdparty/libzip-1.11.3/regress/source_hole.c rename to proj-web/thirdparty/libzip-1.11.3/regress/source_hole.c diff --git a/thirdparty/libzip-1.11.3/regress/stat_index_cp437_guess.test b/proj-web/thirdparty/libzip-1.11.3/regress/stat_index_cp437_guess.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/stat_index_cp437_guess.test rename to proj-web/thirdparty/libzip-1.11.3/regress/stat_index_cp437_guess.test diff --git a/thirdparty/libzip-1.11.3/regress/stat_index_cp437_raw.test b/proj-web/thirdparty/libzip-1.11.3/regress/stat_index_cp437_raw.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/stat_index_cp437_raw.test rename to proj-web/thirdparty/libzip-1.11.3/regress/stat_index_cp437_raw.test diff --git a/thirdparty/libzip-1.11.3/regress/stat_index_cp437_strict.test b/proj-web/thirdparty/libzip-1.11.3/regress/stat_index_cp437_strict.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/stat_index_cp437_strict.test rename to proj-web/thirdparty/libzip-1.11.3/regress/stat_index_cp437_strict.test diff --git a/thirdparty/libzip-1.11.3/regress/stat_index_fileorder.test b/proj-web/thirdparty/libzip-1.11.3/regress/stat_index_fileorder.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/stat_index_fileorder.test rename to proj-web/thirdparty/libzip-1.11.3/regress/stat_index_fileorder.test diff --git a/thirdparty/libzip-1.11.3/regress/stat_index_streamed.test b/proj-web/thirdparty/libzip-1.11.3/regress/stat_index_streamed.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/stat_index_streamed.test rename to proj-web/thirdparty/libzip-1.11.3/regress/stat_index_streamed.test diff --git a/thirdparty/libzip-1.11.3/regress/stat_index_streamed_zip64.test b/proj-web/thirdparty/libzip-1.11.3/regress/stat_index_streamed_zip64.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/stat_index_streamed_zip64.test rename to proj-web/thirdparty/libzip-1.11.3/regress/stat_index_streamed_zip64.test diff --git a/thirdparty/libzip-1.11.3/regress/stat_index_utf8_guess.test b/proj-web/thirdparty/libzip-1.11.3/regress/stat_index_utf8_guess.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/stat_index_utf8_guess.test rename to proj-web/thirdparty/libzip-1.11.3/regress/stat_index_utf8_guess.test diff --git a/thirdparty/libzip-1.11.3/regress/stat_index_utf8_raw.test b/proj-web/thirdparty/libzip-1.11.3/regress/stat_index_utf8_raw.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/stat_index_utf8_raw.test rename to proj-web/thirdparty/libzip-1.11.3/regress/stat_index_utf8_raw.test diff --git a/thirdparty/libzip-1.11.3/regress/stat_index_utf8_strict.test b/proj-web/thirdparty/libzip-1.11.3/regress/stat_index_utf8_strict.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/stat_index_utf8_strict.test rename to proj-web/thirdparty/libzip-1.11.3/regress/stat_index_utf8_strict.test diff --git a/thirdparty/libzip-1.11.3/regress/stat_index_utf8_unmarked_strict.test b/proj-web/thirdparty/libzip-1.11.3/regress/stat_index_utf8_unmarked_strict.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/stat_index_utf8_unmarked_strict.test rename to proj-web/thirdparty/libzip-1.11.3/regress/stat_index_utf8_unmarked_strict.test diff --git a/thirdparty/libzip-1.11.3/regress/stat_index_zip64.test b/proj-web/thirdparty/libzip-1.11.3/regress/stat_index_zip64.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/stat_index_zip64.test rename to proj-web/thirdparty/libzip-1.11.3/regress/stat_index_zip64.test diff --git a/thirdparty/libzip-1.11.3/regress/stored-no-eos.zip b/proj-web/thirdparty/libzip-1.11.3/regress/stored-no-eos.zip similarity index 100% rename from thirdparty/libzip-1.11.3/regress/stored-no-eos.zip rename to proj-web/thirdparty/libzip-1.11.3/regress/stored-no-eos.zip diff --git a/thirdparty/libzip-1.11.3/regress/streamed-zip64.zip b/proj-web/thirdparty/libzip-1.11.3/regress/streamed-zip64.zip similarity index 100% rename from thirdparty/libzip-1.11.3/regress/streamed-zip64.zip rename to proj-web/thirdparty/libzip-1.11.3/regress/streamed-zip64.zip diff --git a/thirdparty/libzip-1.11.3/regress/streamed.zip b/proj-web/thirdparty/libzip-1.11.3/regress/streamed.zip similarity index 100% rename from thirdparty/libzip-1.11.3/regress/streamed.zip rename to proj-web/thirdparty/libzip-1.11.3/regress/streamed.zip diff --git a/thirdparty/libzip-1.11.3/regress/test-cp437-comment-utf-8.zip b/proj-web/thirdparty/libzip-1.11.3/regress/test-cp437-comment-utf-8.zip similarity index 100% rename from thirdparty/libzip-1.11.3/regress/test-cp437-comment-utf-8.zip rename to proj-web/thirdparty/libzip-1.11.3/regress/test-cp437-comment-utf-8.zip diff --git a/thirdparty/libzip-1.11.3/regress/test-cp437-fc-utf-8-filename.zip b/proj-web/thirdparty/libzip-1.11.3/regress/test-cp437-fc-utf-8-filename.zip similarity index 100% rename from thirdparty/libzip-1.11.3/regress/test-cp437-fc-utf-8-filename.zip rename to proj-web/thirdparty/libzip-1.11.3/regress/test-cp437-fc-utf-8-filename.zip diff --git a/thirdparty/libzip-1.11.3/regress/test-cp437-fc.zip b/proj-web/thirdparty/libzip-1.11.3/regress/test-cp437-fc.zip similarity index 100% rename from thirdparty/libzip-1.11.3/regress/test-cp437-fc.zip rename to proj-web/thirdparty/libzip-1.11.3/regress/test-cp437-fc.zip diff --git a/thirdparty/libzip-1.11.3/regress/test-cp437.zip b/proj-web/thirdparty/libzip-1.11.3/regress/test-cp437.zip similarity index 100% rename from thirdparty/libzip-1.11.3/regress/test-cp437.zip rename to proj-web/thirdparty/libzip-1.11.3/regress/test-cp437.zip diff --git a/thirdparty/libzip-1.11.3/regress/test-utf8-unmarked.zip b/proj-web/thirdparty/libzip-1.11.3/regress/test-utf8-unmarked.zip similarity index 100% rename from thirdparty/libzip-1.11.3/regress/test-utf8-unmarked.zip rename to proj-web/thirdparty/libzip-1.11.3/regress/test-utf8-unmarked.zip diff --git a/thirdparty/libzip-1.11.3/regress/test-utf8.zip b/proj-web/thirdparty/libzip-1.11.3/regress/test-utf8.zip similarity index 100% rename from thirdparty/libzip-1.11.3/regress/test-utf8.zip rename to proj-web/thirdparty/libzip-1.11.3/regress/test-utf8.zip diff --git a/thirdparty/libzip-1.11.3/regress/test.zip b/proj-web/thirdparty/libzip-1.11.3/regress/test.zip similarity index 100% rename from thirdparty/libzip-1.11.3/regress/test.zip rename to proj-web/thirdparty/libzip-1.11.3/regress/test.zip diff --git a/thirdparty/libzip-1.11.3/regress/test2.zip b/proj-web/thirdparty/libzip-1.11.3/regress/test2.zip similarity index 100% rename from thirdparty/libzip-1.11.3/regress/test2.zip rename to proj-web/thirdparty/libzip-1.11.3/regress/test2.zip diff --git a/thirdparty/libzip-1.11.3/regress/test_open_multiple.zip b/proj-web/thirdparty/libzip-1.11.3/regress/test_open_multiple.zip similarity index 100% rename from thirdparty/libzip-1.11.3/regress/test_open_multiple.zip rename to proj-web/thirdparty/libzip-1.11.3/regress/test_open_multiple.zip diff --git a/thirdparty/libzip-1.11.3/regress/testbuffer.zip b/proj-web/thirdparty/libzip-1.11.3/regress/testbuffer.zip similarity index 100% rename from thirdparty/libzip-1.11.3/regress/testbuffer.zip rename to proj-web/thirdparty/libzip-1.11.3/regress/testbuffer.zip diff --git a/thirdparty/libzip-1.11.3/regress/testbuffer_reopen.zip b/proj-web/thirdparty/libzip-1.11.3/regress/testbuffer_reopen.zip similarity index 100% rename from thirdparty/libzip-1.11.3/regress/testbuffer_reopen.zip rename to proj-web/thirdparty/libzip-1.11.3/regress/testbuffer_reopen.zip diff --git a/thirdparty/libzip-1.11.3/regress/testbzip2.zip b/proj-web/thirdparty/libzip-1.11.3/regress/testbzip2.zip similarity index 100% rename from thirdparty/libzip-1.11.3/regress/testbzip2.zip rename to proj-web/thirdparty/libzip-1.11.3/regress/testbzip2.zip diff --git a/thirdparty/libzip-1.11.3/regress/testchanged.zip b/proj-web/thirdparty/libzip-1.11.3/regress/testchanged.zip similarity index 100% rename from thirdparty/libzip-1.11.3/regress/testchanged.zip rename to proj-web/thirdparty/libzip-1.11.3/regress/testchanged.zip diff --git a/thirdparty/libzip-1.11.3/regress/testchangedlocal.zip b/proj-web/thirdparty/libzip-1.11.3/regress/testchangedlocal.zip similarity index 100% rename from thirdparty/libzip-1.11.3/regress/testchangedlocal.zip rename to proj-web/thirdparty/libzip-1.11.3/regress/testchangedlocal.zip diff --git a/thirdparty/libzip-1.11.3/regress/testcomment.zip b/proj-web/thirdparty/libzip-1.11.3/regress/testcomment.zip similarity index 100% rename from thirdparty/libzip-1.11.3/regress/testcomment.zip rename to proj-web/thirdparty/libzip-1.11.3/regress/testcomment.zip diff --git a/thirdparty/libzip-1.11.3/regress/testcomment13.zip b/proj-web/thirdparty/libzip-1.11.3/regress/testcomment13.zip similarity index 100% rename from thirdparty/libzip-1.11.3/regress/testcomment13.zip rename to proj-web/thirdparty/libzip-1.11.3/regress/testcomment13.zip diff --git a/thirdparty/libzip-1.11.3/regress/testcommentremoved.zip b/proj-web/thirdparty/libzip-1.11.3/regress/testcommentremoved.zip similarity index 100% rename from thirdparty/libzip-1.11.3/regress/testcommentremoved.zip rename to proj-web/thirdparty/libzip-1.11.3/regress/testcommentremoved.zip diff --git a/thirdparty/libzip-1.11.3/regress/testdeflated.zip b/proj-web/thirdparty/libzip-1.11.3/regress/testdeflated.zip similarity index 100% rename from thirdparty/libzip-1.11.3/regress/testdeflated.zip rename to proj-web/thirdparty/libzip-1.11.3/regress/testdeflated.zip diff --git a/thirdparty/libzip-1.11.3/regress/testdeflated2.zip b/proj-web/thirdparty/libzip-1.11.3/regress/testdeflated2.zip similarity index 100% rename from thirdparty/libzip-1.11.3/regress/testdeflated2.zip rename to proj-web/thirdparty/libzip-1.11.3/regress/testdeflated2.zip diff --git a/thirdparty/libzip-1.11.3/regress/testdir.zip b/proj-web/thirdparty/libzip-1.11.3/regress/testdir.zip similarity index 100% rename from thirdparty/libzip-1.11.3/regress/testdir.zip rename to proj-web/thirdparty/libzip-1.11.3/regress/testdir.zip diff --git a/thirdparty/libzip-1.11.3/regress/testempty.zip b/proj-web/thirdparty/libzip-1.11.3/regress/testempty.zip similarity index 100% rename from thirdparty/libzip-1.11.3/regress/testempty.zip rename to proj-web/thirdparty/libzip-1.11.3/regress/testempty.zip diff --git a/thirdparty/libzip-1.11.3/regress/testextrabytes.zip b/proj-web/thirdparty/libzip-1.11.3/regress/testextrabytes.zip similarity index 100% rename from thirdparty/libzip-1.11.3/regress/testextrabytes.zip rename to proj-web/thirdparty/libzip-1.11.3/regress/testextrabytes.zip diff --git a/thirdparty/libzip-1.11.3/regress/testfile-UTF8.zip b/proj-web/thirdparty/libzip-1.11.3/regress/testfile-UTF8.zip similarity index 100% rename from thirdparty/libzip-1.11.3/regress/testfile-UTF8.zip rename to proj-web/thirdparty/libzip-1.11.3/regress/testfile-UTF8.zip diff --git a/thirdparty/libzip-1.11.3/regress/testfile-cp437.zip b/proj-web/thirdparty/libzip-1.11.3/regress/testfile-cp437.zip similarity index 100% rename from thirdparty/libzip-1.11.3/regress/testfile-cp437.zip rename to proj-web/thirdparty/libzip-1.11.3/regress/testfile-cp437.zip diff --git a/thirdparty/libzip-1.11.3/regress/testfile-ef.zip b/proj-web/thirdparty/libzip-1.11.3/regress/testfile-ef.zip similarity index 100% rename from thirdparty/libzip-1.11.3/regress/testfile-ef.zip rename to proj-web/thirdparty/libzip-1.11.3/regress/testfile-ef.zip diff --git a/thirdparty/libzip-1.11.3/regress/testfile-long-comment.zip b/proj-web/thirdparty/libzip-1.11.3/regress/testfile-long-comment.zip similarity index 100% rename from thirdparty/libzip-1.11.3/regress/testfile-long-comment.zip rename to proj-web/thirdparty/libzip-1.11.3/regress/testfile-long-comment.zip diff --git a/thirdparty/libzip-1.11.3/regress/testfile-lzma.zip b/proj-web/thirdparty/libzip-1.11.3/regress/testfile-lzma.zip similarity index 100% rename from thirdparty/libzip-1.11.3/regress/testfile-lzma.zip rename to proj-web/thirdparty/libzip-1.11.3/regress/testfile-lzma.zip diff --git a/thirdparty/libzip-1.11.3/regress/testfile-plus-extra.zip b/proj-web/thirdparty/libzip-1.11.3/regress/testfile-plus-extra.zip similarity index 100% rename from thirdparty/libzip-1.11.3/regress/testfile-plus-extra.zip rename to proj-web/thirdparty/libzip-1.11.3/regress/testfile-plus-extra.zip diff --git a/thirdparty/libzip-1.11.3/regress/testfile-stored-dos.zip b/proj-web/thirdparty/libzip-1.11.3/regress/testfile-stored-dos.zip similarity index 100% rename from thirdparty/libzip-1.11.3/regress/testfile-stored-dos.zip rename to proj-web/thirdparty/libzip-1.11.3/regress/testfile-stored-dos.zip diff --git a/thirdparty/libzip-1.11.3/regress/testfile-torrentzip-modified.zip b/proj-web/thirdparty/libzip-1.11.3/regress/testfile-torrentzip-modified.zip similarity index 100% rename from thirdparty/libzip-1.11.3/regress/testfile-torrentzip-modified.zip rename to proj-web/thirdparty/libzip-1.11.3/regress/testfile-torrentzip-modified.zip diff --git a/thirdparty/libzip-1.11.3/regress/testfile-torrentzip.zip b/proj-web/thirdparty/libzip-1.11.3/regress/testfile-torrentzip.zip similarity index 100% rename from thirdparty/libzip-1.11.3/regress/testfile-torrentzip.zip rename to proj-web/thirdparty/libzip-1.11.3/regress/testfile-torrentzip.zip diff --git a/thirdparty/libzip-1.11.3/regress/testfile-truncated.zip b/proj-web/thirdparty/libzip-1.11.3/regress/testfile-truncated.zip similarity index 100% rename from thirdparty/libzip-1.11.3/regress/testfile-truncated.zip rename to proj-web/thirdparty/libzip-1.11.3/regress/testfile-truncated.zip diff --git a/thirdparty/libzip-1.11.3/regress/testfile-xz.zip b/proj-web/thirdparty/libzip-1.11.3/regress/testfile-xz.zip similarity index 100% rename from thirdparty/libzip-1.11.3/regress/testfile-xz.zip rename to proj-web/thirdparty/libzip-1.11.3/regress/testfile-xz.zip diff --git a/thirdparty/libzip-1.11.3/regress/testfile-zstd.zip b/proj-web/thirdparty/libzip-1.11.3/regress/testfile-zstd.zip similarity index 100% rename from thirdparty/libzip-1.11.3/regress/testfile-zstd.zip rename to proj-web/thirdparty/libzip-1.11.3/regress/testfile-zstd.zip diff --git a/thirdparty/libzip-1.11.3/regress/testfile.txt b/proj-web/thirdparty/libzip-1.11.3/regress/testfile.txt similarity index 100% rename from thirdparty/libzip-1.11.3/regress/testfile.txt rename to proj-web/thirdparty/libzip-1.11.3/regress/testfile.txt diff --git a/thirdparty/libzip-1.11.3/regress/testfile.zip b/proj-web/thirdparty/libzip-1.11.3/regress/testfile.zip similarity index 100% rename from thirdparty/libzip-1.11.3/regress/testfile.zip rename to proj-web/thirdparty/libzip-1.11.3/regress/testfile.zip diff --git a/thirdparty/libzip-1.11.3/regress/testfile0.zip b/proj-web/thirdparty/libzip-1.11.3/regress/testfile0.zip similarity index 100% rename from thirdparty/libzip-1.11.3/regress/testfile0.zip rename to proj-web/thirdparty/libzip-1.11.3/regress/testfile0.zip diff --git a/thirdparty/libzip-1.11.3/regress/testfile2014.zip b/proj-web/thirdparty/libzip-1.11.3/regress/testfile2014.zip similarity index 100% rename from thirdparty/libzip-1.11.3/regress/testfile2014.zip rename to proj-web/thirdparty/libzip-1.11.3/regress/testfile2014.zip diff --git a/thirdparty/libzip-1.11.3/regress/teststdin.zip b/proj-web/thirdparty/libzip-1.11.3/regress/teststdin.zip similarity index 100% rename from thirdparty/libzip-1.11.3/regress/teststdin.zip rename to proj-web/thirdparty/libzip-1.11.3/regress/teststdin.zip diff --git a/thirdparty/libzip-1.11.3/regress/teststored.zip b/proj-web/thirdparty/libzip-1.11.3/regress/teststored.zip similarity index 100% rename from thirdparty/libzip-1.11.3/regress/teststored.zip rename to proj-web/thirdparty/libzip-1.11.3/regress/teststored.zip diff --git a/thirdparty/libzip-1.11.3/regress/truncate_empty_keep.test b/proj-web/thirdparty/libzip-1.11.3/regress/truncate_empty_keep.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/truncate_empty_keep.test rename to proj-web/thirdparty/libzip-1.11.3/regress/truncate_empty_keep.test diff --git a/thirdparty/libzip-1.11.3/regress/tryopen.c b/proj-web/thirdparty/libzip-1.11.3/regress/tryopen.c similarity index 100% rename from thirdparty/libzip-1.11.3/regress/tryopen.c rename to proj-web/thirdparty/libzip-1.11.3/regress/tryopen.c diff --git a/thirdparty/libzip-1.11.3/regress/unchange-delete-namelocate.test b/proj-web/thirdparty/libzip-1.11.3/regress/unchange-delete-namelocate.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/unchange-delete-namelocate.test rename to proj-web/thirdparty/libzip-1.11.3/regress/unchange-delete-namelocate.test diff --git a/thirdparty/libzip-1.11.3/regress/utf-8-standardization-input.zip b/proj-web/thirdparty/libzip-1.11.3/regress/utf-8-standardization-input.zip similarity index 100% rename from thirdparty/libzip-1.11.3/regress/utf-8-standardization-input.zip rename to proj-web/thirdparty/libzip-1.11.3/regress/utf-8-standardization-input.zip diff --git a/thirdparty/libzip-1.11.3/regress/utf-8-standardization-output.zip b/proj-web/thirdparty/libzip-1.11.3/regress/utf-8-standardization-output.zip similarity index 100% rename from thirdparty/libzip-1.11.3/regress/utf-8-standardization-output.zip rename to proj-web/thirdparty/libzip-1.11.3/regress/utf-8-standardization-output.zip diff --git a/thirdparty/libzip-1.11.3/regress/utf-8-standardization.test b/proj-web/thirdparty/libzip-1.11.3/regress/utf-8-standardization.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/utf-8-standardization.test rename to proj-web/thirdparty/libzip-1.11.3/regress/utf-8-standardization.test diff --git a/thirdparty/libzip-1.11.3/regress/want_torrentzip_stat.test b/proj-web/thirdparty/libzip-1.11.3/regress/want_torrentzip_stat.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/want_torrentzip_stat.test rename to proj-web/thirdparty/libzip-1.11.3/regress/want_torrentzip_stat.test diff --git a/thirdparty/libzip-1.11.3/regress/zip-in-archive-comment.test b/proj-web/thirdparty/libzip-1.11.3/regress/zip-in-archive-comment.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/zip-in-archive-comment.test rename to proj-web/thirdparty/libzip-1.11.3/regress/zip-in-archive-comment.test diff --git a/thirdparty/libzip-1.11.3/regress/zip-in-archive-comment.zip b/proj-web/thirdparty/libzip-1.11.3/regress/zip-in-archive-comment.zip similarity index 100% rename from thirdparty/libzip-1.11.3/regress/zip-in-archive-comment.zip rename to proj-web/thirdparty/libzip-1.11.3/regress/zip-in-archive-comment.zip diff --git a/thirdparty/libzip-1.11.3/regress/zip64-3mf.zip b/proj-web/thirdparty/libzip-1.11.3/regress/zip64-3mf.zip similarity index 100% rename from thirdparty/libzip-1.11.3/regress/zip64-3mf.zip rename to proj-web/thirdparty/libzip-1.11.3/regress/zip64-3mf.zip diff --git a/thirdparty/libzip-1.11.3/regress/zip64-in-archive-comment.test b/proj-web/thirdparty/libzip-1.11.3/regress/zip64-in-archive-comment.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/zip64-in-archive-comment.test rename to proj-web/thirdparty/libzip-1.11.3/regress/zip64-in-archive-comment.test diff --git a/thirdparty/libzip-1.11.3/regress/zip64-in-archive-comment.zip b/proj-web/thirdparty/libzip-1.11.3/regress/zip64-in-archive-comment.zip similarity index 100% rename from thirdparty/libzip-1.11.3/regress/zip64-in-archive-comment.zip rename to proj-web/thirdparty/libzip-1.11.3/regress/zip64-in-archive-comment.zip diff --git a/thirdparty/libzip-1.11.3/regress/zip64.zip b/proj-web/thirdparty/libzip-1.11.3/regress/zip64.zip similarity index 100% rename from thirdparty/libzip-1.11.3/regress/zip64.zip rename to proj-web/thirdparty/libzip-1.11.3/regress/zip64.zip diff --git a/thirdparty/libzip-1.11.3/regress/zip64_creation.test b/proj-web/thirdparty/libzip-1.11.3/regress/zip64_creation.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/zip64_creation.test rename to proj-web/thirdparty/libzip-1.11.3/regress/zip64_creation.test diff --git a/thirdparty/libzip-1.11.3/regress/zip64_stored_creation.test b/proj-web/thirdparty/libzip-1.11.3/regress/zip64_stored_creation.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/zip64_stored_creation.test rename to proj-web/thirdparty/libzip-1.11.3/regress/zip64_stored_creation.test diff --git a/thirdparty/libzip-1.11.3/regress/zipcmp_zip_dir.test b/proj-web/thirdparty/libzip-1.11.3/regress/zipcmp_zip_dir.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/zipcmp_zip_dir.test rename to proj-web/thirdparty/libzip-1.11.3/regress/zipcmp_zip_dir.test diff --git a/thirdparty/libzip-1.11.3/regress/zipcmp_zip_dir.zip b/proj-web/thirdparty/libzip-1.11.3/regress/zipcmp_zip_dir.zip similarity index 100% rename from thirdparty/libzip-1.11.3/regress/zipcmp_zip_dir.zip rename to proj-web/thirdparty/libzip-1.11.3/regress/zipcmp_zip_dir.zip diff --git a/thirdparty/libzip-1.11.3/regress/zipcmp_zip_dir_slash.test b/proj-web/thirdparty/libzip-1.11.3/regress/zipcmp_zip_dir_slash.test similarity index 100% rename from thirdparty/libzip-1.11.3/regress/zipcmp_zip_dir_slash.test rename to proj-web/thirdparty/libzip-1.11.3/regress/zipcmp_zip_dir_slash.test diff --git a/thirdparty/libzip-1.11.3/regress/ziptool_regress.c b/proj-web/thirdparty/libzip-1.11.3/regress/ziptool_regress.c similarity index 100% rename from thirdparty/libzip-1.11.3/regress/ziptool_regress.c rename to proj-web/thirdparty/libzip-1.11.3/regress/ziptool_regress.c diff --git a/thirdparty/libzip-1.11.3/src/CMakeLists.txt b/proj-web/thirdparty/libzip-1.11.3/src/CMakeLists.txt similarity index 100% rename from thirdparty/libzip-1.11.3/src/CMakeLists.txt rename to proj-web/thirdparty/libzip-1.11.3/src/CMakeLists.txt diff --git a/thirdparty/libzip-1.11.3/src/diff_output.c b/proj-web/thirdparty/libzip-1.11.3/src/diff_output.c similarity index 100% rename from thirdparty/libzip-1.11.3/src/diff_output.c rename to proj-web/thirdparty/libzip-1.11.3/src/diff_output.c diff --git a/thirdparty/libzip-1.11.3/src/diff_output.h b/proj-web/thirdparty/libzip-1.11.3/src/diff_output.h similarity index 100% rename from thirdparty/libzip-1.11.3/src/diff_output.h rename to proj-web/thirdparty/libzip-1.11.3/src/diff_output.h diff --git a/thirdparty/libzip-1.11.3/src/getopt.c b/proj-web/thirdparty/libzip-1.11.3/src/getopt.c similarity index 100% rename from thirdparty/libzip-1.11.3/src/getopt.c rename to proj-web/thirdparty/libzip-1.11.3/src/getopt.c diff --git a/thirdparty/libzip-1.11.3/src/getopt.h b/proj-web/thirdparty/libzip-1.11.3/src/getopt.h similarity index 100% rename from thirdparty/libzip-1.11.3/src/getopt.h rename to proj-web/thirdparty/libzip-1.11.3/src/getopt.h diff --git a/thirdparty/libzip-1.11.3/src/zipcmp.c b/proj-web/thirdparty/libzip-1.11.3/src/zipcmp.c similarity index 100% rename from thirdparty/libzip-1.11.3/src/zipcmp.c rename to proj-web/thirdparty/libzip-1.11.3/src/zipcmp.c diff --git a/thirdparty/libzip-1.11.3/src/zipmerge.c b/proj-web/thirdparty/libzip-1.11.3/src/zipmerge.c similarity index 100% rename from thirdparty/libzip-1.11.3/src/zipmerge.c rename to proj-web/thirdparty/libzip-1.11.3/src/zipmerge.c diff --git a/thirdparty/libzip-1.11.3/src/ziptool.c b/proj-web/thirdparty/libzip-1.11.3/src/ziptool.c similarity index 100% rename from thirdparty/libzip-1.11.3/src/ziptool.c rename to proj-web/thirdparty/libzip-1.11.3/src/ziptool.c diff --git a/thirdparty/libzip-1.11.3/vcpkg.json b/proj-web/thirdparty/libzip-1.11.3/vcpkg.json similarity index 100% rename from thirdparty/libzip-1.11.3/vcpkg.json rename to proj-web/thirdparty/libzip-1.11.3/vcpkg.json diff --git a/thirdparty/libzip-1.11.3/zipconf.h.in b/proj-web/thirdparty/libzip-1.11.3/zipconf.h.in similarity index 100% rename from thirdparty/libzip-1.11.3/zipconf.h.in rename to proj-web/thirdparty/libzip-1.11.3/zipconf.h.in diff --git a/thirdparty/zlib-1.3.1/CMakeLists.txt b/proj-web/thirdparty/zlib-1.3.1/CMakeLists.txt similarity index 100% rename from thirdparty/zlib-1.3.1/CMakeLists.txt rename to proj-web/thirdparty/zlib-1.3.1/CMakeLists.txt diff --git a/thirdparty/zlib-1.3.1/ChangeLog b/proj-web/thirdparty/zlib-1.3.1/ChangeLog similarity index 100% rename from thirdparty/zlib-1.3.1/ChangeLog rename to proj-web/thirdparty/zlib-1.3.1/ChangeLog diff --git a/thirdparty/zlib-1.3.1/FAQ b/proj-web/thirdparty/zlib-1.3.1/FAQ similarity index 100% rename from thirdparty/zlib-1.3.1/FAQ rename to proj-web/thirdparty/zlib-1.3.1/FAQ diff --git a/thirdparty/zlib-1.3.1/INDEX b/proj-web/thirdparty/zlib-1.3.1/INDEX similarity index 100% rename from thirdparty/zlib-1.3.1/INDEX rename to proj-web/thirdparty/zlib-1.3.1/INDEX diff --git a/thirdparty/zlib-1.3.1/LICENSE b/proj-web/thirdparty/zlib-1.3.1/LICENSE similarity index 100% rename from thirdparty/zlib-1.3.1/LICENSE rename to proj-web/thirdparty/zlib-1.3.1/LICENSE diff --git a/thirdparty/zlib-1.3.1/Makefile b/proj-web/thirdparty/zlib-1.3.1/Makefile similarity index 100% rename from thirdparty/zlib-1.3.1/Makefile rename to proj-web/thirdparty/zlib-1.3.1/Makefile diff --git a/thirdparty/zlib-1.3.1/Makefile.in b/proj-web/thirdparty/zlib-1.3.1/Makefile.in similarity index 100% rename from thirdparty/zlib-1.3.1/Makefile.in rename to proj-web/thirdparty/zlib-1.3.1/Makefile.in diff --git a/thirdparty/zlib-1.3.1/README b/proj-web/thirdparty/zlib-1.3.1/README similarity index 100% rename from thirdparty/zlib-1.3.1/README rename to proj-web/thirdparty/zlib-1.3.1/README diff --git a/thirdparty/zlib-1.3.1/adler32.c b/proj-web/thirdparty/zlib-1.3.1/adler32.c similarity index 100% rename from thirdparty/zlib-1.3.1/adler32.c rename to proj-web/thirdparty/zlib-1.3.1/adler32.c diff --git a/thirdparty/zlib-1.3.1/amiga/Makefile.pup b/proj-web/thirdparty/zlib-1.3.1/amiga/Makefile.pup similarity index 100% rename from thirdparty/zlib-1.3.1/amiga/Makefile.pup rename to proj-web/thirdparty/zlib-1.3.1/amiga/Makefile.pup diff --git a/thirdparty/zlib-1.3.1/amiga/Makefile.sas b/proj-web/thirdparty/zlib-1.3.1/amiga/Makefile.sas similarity index 100% rename from thirdparty/zlib-1.3.1/amiga/Makefile.sas rename to proj-web/thirdparty/zlib-1.3.1/amiga/Makefile.sas diff --git a/thirdparty/zlib-1.3.1/compress.c b/proj-web/thirdparty/zlib-1.3.1/compress.c similarity index 100% rename from thirdparty/zlib-1.3.1/compress.c rename to proj-web/thirdparty/zlib-1.3.1/compress.c diff --git a/thirdparty/zlib-1.3.1/configure b/proj-web/thirdparty/zlib-1.3.1/configure old mode 100755 new mode 100644 similarity index 100% rename from thirdparty/zlib-1.3.1/configure rename to proj-web/thirdparty/zlib-1.3.1/configure diff --git a/thirdparty/zlib-1.3.1/contrib/README.contrib b/proj-web/thirdparty/zlib-1.3.1/contrib/README.contrib similarity index 100% rename from thirdparty/zlib-1.3.1/contrib/README.contrib rename to proj-web/thirdparty/zlib-1.3.1/contrib/README.contrib diff --git a/thirdparty/zlib-1.3.1/contrib/ada/buffer_demo.adb b/proj-web/thirdparty/zlib-1.3.1/contrib/ada/buffer_demo.adb similarity index 100% rename from thirdparty/zlib-1.3.1/contrib/ada/buffer_demo.adb rename to proj-web/thirdparty/zlib-1.3.1/contrib/ada/buffer_demo.adb diff --git a/thirdparty/zlib-1.3.1/contrib/ada/mtest.adb b/proj-web/thirdparty/zlib-1.3.1/contrib/ada/mtest.adb similarity index 100% rename from thirdparty/zlib-1.3.1/contrib/ada/mtest.adb rename to proj-web/thirdparty/zlib-1.3.1/contrib/ada/mtest.adb diff --git a/thirdparty/zlib-1.3.1/contrib/ada/read.adb b/proj-web/thirdparty/zlib-1.3.1/contrib/ada/read.adb similarity index 100% rename from thirdparty/zlib-1.3.1/contrib/ada/read.adb rename to proj-web/thirdparty/zlib-1.3.1/contrib/ada/read.adb diff --git a/thirdparty/zlib-1.3.1/contrib/ada/readme.txt b/proj-web/thirdparty/zlib-1.3.1/contrib/ada/readme.txt similarity index 100% rename from thirdparty/zlib-1.3.1/contrib/ada/readme.txt rename to proj-web/thirdparty/zlib-1.3.1/contrib/ada/readme.txt diff --git a/thirdparty/zlib-1.3.1/contrib/ada/test.adb b/proj-web/thirdparty/zlib-1.3.1/contrib/ada/test.adb similarity index 100% rename from thirdparty/zlib-1.3.1/contrib/ada/test.adb rename to proj-web/thirdparty/zlib-1.3.1/contrib/ada/test.adb diff --git a/thirdparty/zlib-1.3.1/contrib/ada/zlib-streams.adb b/proj-web/thirdparty/zlib-1.3.1/contrib/ada/zlib-streams.adb similarity index 100% rename from thirdparty/zlib-1.3.1/contrib/ada/zlib-streams.adb rename to proj-web/thirdparty/zlib-1.3.1/contrib/ada/zlib-streams.adb diff --git a/thirdparty/zlib-1.3.1/contrib/ada/zlib-streams.ads b/proj-web/thirdparty/zlib-1.3.1/contrib/ada/zlib-streams.ads similarity index 100% rename from thirdparty/zlib-1.3.1/contrib/ada/zlib-streams.ads rename to proj-web/thirdparty/zlib-1.3.1/contrib/ada/zlib-streams.ads diff --git a/thirdparty/zlib-1.3.1/contrib/ada/zlib-thin.adb b/proj-web/thirdparty/zlib-1.3.1/contrib/ada/zlib-thin.adb similarity index 100% rename from thirdparty/zlib-1.3.1/contrib/ada/zlib-thin.adb rename to proj-web/thirdparty/zlib-1.3.1/contrib/ada/zlib-thin.adb diff --git a/thirdparty/zlib-1.3.1/contrib/ada/zlib-thin.ads b/proj-web/thirdparty/zlib-1.3.1/contrib/ada/zlib-thin.ads similarity index 100% rename from thirdparty/zlib-1.3.1/contrib/ada/zlib-thin.ads rename to proj-web/thirdparty/zlib-1.3.1/contrib/ada/zlib-thin.ads diff --git a/thirdparty/zlib-1.3.1/contrib/ada/zlib.adb b/proj-web/thirdparty/zlib-1.3.1/contrib/ada/zlib.adb similarity index 100% rename from thirdparty/zlib-1.3.1/contrib/ada/zlib.adb rename to proj-web/thirdparty/zlib-1.3.1/contrib/ada/zlib.adb diff --git a/thirdparty/zlib-1.3.1/contrib/ada/zlib.ads b/proj-web/thirdparty/zlib-1.3.1/contrib/ada/zlib.ads similarity index 100% rename from thirdparty/zlib-1.3.1/contrib/ada/zlib.ads rename to proj-web/thirdparty/zlib-1.3.1/contrib/ada/zlib.ads diff --git a/thirdparty/zlib-1.3.1/contrib/ada/zlib.gpr b/proj-web/thirdparty/zlib-1.3.1/contrib/ada/zlib.gpr similarity index 100% rename from thirdparty/zlib-1.3.1/contrib/ada/zlib.gpr rename to proj-web/thirdparty/zlib-1.3.1/contrib/ada/zlib.gpr diff --git a/thirdparty/zlib-1.3.1/contrib/blast/Makefile b/proj-web/thirdparty/zlib-1.3.1/contrib/blast/Makefile similarity index 100% rename from thirdparty/zlib-1.3.1/contrib/blast/Makefile rename to proj-web/thirdparty/zlib-1.3.1/contrib/blast/Makefile diff --git a/thirdparty/zlib-1.3.1/contrib/blast/README b/proj-web/thirdparty/zlib-1.3.1/contrib/blast/README similarity index 100% rename from thirdparty/zlib-1.3.1/contrib/blast/README rename to proj-web/thirdparty/zlib-1.3.1/contrib/blast/README diff --git a/thirdparty/zlib-1.3.1/contrib/blast/blast.c b/proj-web/thirdparty/zlib-1.3.1/contrib/blast/blast.c similarity index 100% rename from thirdparty/zlib-1.3.1/contrib/blast/blast.c rename to proj-web/thirdparty/zlib-1.3.1/contrib/blast/blast.c diff --git a/thirdparty/zlib-1.3.1/contrib/blast/blast.h b/proj-web/thirdparty/zlib-1.3.1/contrib/blast/blast.h similarity index 100% rename from thirdparty/zlib-1.3.1/contrib/blast/blast.h rename to proj-web/thirdparty/zlib-1.3.1/contrib/blast/blast.h diff --git a/thirdparty/zlib-1.3.1/contrib/blast/test.pk b/proj-web/thirdparty/zlib-1.3.1/contrib/blast/test.pk similarity index 100% rename from thirdparty/zlib-1.3.1/contrib/blast/test.pk rename to proj-web/thirdparty/zlib-1.3.1/contrib/blast/test.pk diff --git a/thirdparty/zlib-1.3.1/contrib/blast/test.txt b/proj-web/thirdparty/zlib-1.3.1/contrib/blast/test.txt similarity index 100% rename from thirdparty/zlib-1.3.1/contrib/blast/test.txt rename to proj-web/thirdparty/zlib-1.3.1/contrib/blast/test.txt diff --git a/thirdparty/zlib-1.3.1/contrib/delphi/ZLib.pas b/proj-web/thirdparty/zlib-1.3.1/contrib/delphi/ZLib.pas similarity index 100% rename from thirdparty/zlib-1.3.1/contrib/delphi/ZLib.pas rename to proj-web/thirdparty/zlib-1.3.1/contrib/delphi/ZLib.pas diff --git a/thirdparty/zlib-1.3.1/contrib/delphi/ZLibConst.pas b/proj-web/thirdparty/zlib-1.3.1/contrib/delphi/ZLibConst.pas similarity index 100% rename from thirdparty/zlib-1.3.1/contrib/delphi/ZLibConst.pas rename to proj-web/thirdparty/zlib-1.3.1/contrib/delphi/ZLibConst.pas diff --git a/thirdparty/zlib-1.3.1/contrib/delphi/readme.txt b/proj-web/thirdparty/zlib-1.3.1/contrib/delphi/readme.txt similarity index 100% rename from thirdparty/zlib-1.3.1/contrib/delphi/readme.txt rename to proj-web/thirdparty/zlib-1.3.1/contrib/delphi/readme.txt diff --git a/thirdparty/zlib-1.3.1/contrib/delphi/zlibd32.mak b/proj-web/thirdparty/zlib-1.3.1/contrib/delphi/zlibd32.mak similarity index 100% rename from thirdparty/zlib-1.3.1/contrib/delphi/zlibd32.mak rename to proj-web/thirdparty/zlib-1.3.1/contrib/delphi/zlibd32.mak diff --git a/thirdparty/zlib-1.3.1/contrib/dotzlib/DotZLib.build b/proj-web/thirdparty/zlib-1.3.1/contrib/dotzlib/DotZLib.build similarity index 96% rename from thirdparty/zlib-1.3.1/contrib/dotzlib/DotZLib.build rename to proj-web/thirdparty/zlib-1.3.1/contrib/dotzlib/DotZLib.build index 7f90d6b..e69630c 100644 --- a/thirdparty/zlib-1.3.1/contrib/dotzlib/DotZLib.build +++ b/proj-web/thirdparty/zlib-1.3.1/contrib/dotzlib/DotZLib.build @@ -1,33 +1,33 @@ - - - A .Net wrapper library around ZLib1.dll - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + A .Net wrapper library around ZLib1.dll + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/thirdparty/zlib-1.3.1/contrib/dotzlib/DotZLib.chm b/proj-web/thirdparty/zlib-1.3.1/contrib/dotzlib/DotZLib.chm similarity index 100% rename from thirdparty/zlib-1.3.1/contrib/dotzlib/DotZLib.chm rename to proj-web/thirdparty/zlib-1.3.1/contrib/dotzlib/DotZLib.chm diff --git a/thirdparty/zlib-1.3.1/contrib/dotzlib/DotZLib.sln b/proj-web/thirdparty/zlib-1.3.1/contrib/dotzlib/DotZLib.sln similarity index 97% rename from thirdparty/zlib-1.3.1/contrib/dotzlib/DotZLib.sln rename to proj-web/thirdparty/zlib-1.3.1/contrib/dotzlib/DotZLib.sln index ac45ca0..5d533d6 100644 --- a/thirdparty/zlib-1.3.1/contrib/dotzlib/DotZLib.sln +++ b/proj-web/thirdparty/zlib-1.3.1/contrib/dotzlib/DotZLib.sln @@ -1,21 +1,21 @@ -Microsoft Visual Studio Solution File, Format Version 8.00 -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DotZLib", "DotZLib\DotZLib.csproj", "{BB1EE0B1-1808-46CB-B786-949D91117FC5}" - ProjectSection(ProjectDependencies) = postProject - EndProjectSection -EndProject -Global - GlobalSection(SolutionConfiguration) = preSolution - Debug = Debug - Release = Release - EndGlobalSection - GlobalSection(ProjectConfiguration) = postSolution - {BB1EE0B1-1808-46CB-B786-949D91117FC5}.Debug.ActiveCfg = Debug|.NET - {BB1EE0B1-1808-46CB-B786-949D91117FC5}.Debug.Build.0 = Debug|.NET - {BB1EE0B1-1808-46CB-B786-949D91117FC5}.Release.ActiveCfg = Release|.NET - {BB1EE0B1-1808-46CB-B786-949D91117FC5}.Release.Build.0 = Release|.NET - EndGlobalSection - GlobalSection(ExtensibilityGlobals) = postSolution - EndGlobalSection - GlobalSection(ExtensibilityAddIns) = postSolution - EndGlobalSection -EndGlobal +Microsoft Visual Studio Solution File, Format Version 8.00 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DotZLib", "DotZLib\DotZLib.csproj", "{BB1EE0B1-1808-46CB-B786-949D91117FC5}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Global + GlobalSection(SolutionConfiguration) = preSolution + Debug = Debug + Release = Release + EndGlobalSection + GlobalSection(ProjectConfiguration) = postSolution + {BB1EE0B1-1808-46CB-B786-949D91117FC5}.Debug.ActiveCfg = Debug|.NET + {BB1EE0B1-1808-46CB-B786-949D91117FC5}.Debug.Build.0 = Debug|.NET + {BB1EE0B1-1808-46CB-B786-949D91117FC5}.Release.ActiveCfg = Release|.NET + {BB1EE0B1-1808-46CB-B786-949D91117FC5}.Release.Build.0 = Release|.NET + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + EndGlobalSection + GlobalSection(ExtensibilityAddIns) = postSolution + EndGlobalSection +EndGlobal diff --git a/thirdparty/zlib-1.3.1/contrib/dotzlib/DotZLib/AssemblyInfo.cs b/proj-web/thirdparty/zlib-1.3.1/contrib/dotzlib/DotZLib/AssemblyInfo.cs similarity index 97% rename from thirdparty/zlib-1.3.1/contrib/dotzlib/DotZLib/AssemblyInfo.cs rename to proj-web/thirdparty/zlib-1.3.1/contrib/dotzlib/DotZLib/AssemblyInfo.cs index 0491bfc..724c534 100644 --- a/thirdparty/zlib-1.3.1/contrib/dotzlib/DotZLib/AssemblyInfo.cs +++ b/proj-web/thirdparty/zlib-1.3.1/contrib/dotzlib/DotZLib/AssemblyInfo.cs @@ -1,58 +1,58 @@ -using System.Reflection; -using System.Runtime.CompilerServices; - -// -// General Information about an assembly is controlled through the following -// set of attributes. Change these attribute values to modify the information -// associated with an assembly. -// -[assembly: AssemblyTitle("DotZLib")] -[assembly: AssemblyDescription(".Net bindings for ZLib compression dll 1.2.x")] -[assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("Henrik Ravn")] -[assembly: AssemblyProduct("")] -[assembly: AssemblyCopyright("(c) 2004 by Henrik Ravn")] -[assembly: AssemblyTrademark("")] -[assembly: AssemblyCulture("")] - -// -// Version information for an assembly consists of the following four values: -// -// Major Version -// Minor Version -// Build Number -// Revision -// -// You can specify all the values or you can default the Revision and Build Numbers -// by using the '*' as shown below: - -[assembly: AssemblyVersion("1.0.*")] - -// -// In order to sign your assembly you must specify a key to use. Refer to the -// Microsoft .NET Framework documentation for more information on assembly signing. -// -// Use the attributes below to control which key is used for signing. -// -// Notes: -// (*) If no key is specified, the assembly is not signed. -// (*) KeyName refers to a key that has been installed in the Crypto Service -// Provider (CSP) on your machine. KeyFile refers to a file which contains -// a key. -// (*) If the KeyFile and the KeyName values are both specified, the -// following processing occurs: -// (1) If the KeyName can be found in the CSP, that key is used. -// (2) If the KeyName does not exist and the KeyFile does exist, the key -// in the KeyFile is installed into the CSP and used. -// (*) In order to create a KeyFile, you can use the sn.exe (Strong Name) utility. -// When specifying the KeyFile, the location of the KeyFile should be -// relative to the project output directory which is -// %Project Directory%\obj\. For example, if your KeyFile is -// located in the project directory, you would specify the AssemblyKeyFile -// attribute as [assembly: AssemblyKeyFile("..\\..\\mykey.snk")] -// (*) Delay Signing is an advanced option - see the Microsoft .NET Framework -// documentation for more information on this. -// -[assembly: AssemblyDelaySign(false)] -[assembly: AssemblyKeyFile("")] -[assembly: AssemblyKeyName("")] +using System.Reflection; +using System.Runtime.CompilerServices; + +// +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +// +[assembly: AssemblyTitle("DotZLib")] +[assembly: AssemblyDescription(".Net bindings for ZLib compression dll 1.2.x")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("Henrik Ravn")] +[assembly: AssemblyProduct("")] +[assembly: AssemblyCopyright("(c) 2004 by Henrik Ravn")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Revision and Build Numbers +// by using the '*' as shown below: + +[assembly: AssemblyVersion("1.0.*")] + +// +// In order to sign your assembly you must specify a key to use. Refer to the +// Microsoft .NET Framework documentation for more information on assembly signing. +// +// Use the attributes below to control which key is used for signing. +// +// Notes: +// (*) If no key is specified, the assembly is not signed. +// (*) KeyName refers to a key that has been installed in the Crypto Service +// Provider (CSP) on your machine. KeyFile refers to a file which contains +// a key. +// (*) If the KeyFile and the KeyName values are both specified, the +// following processing occurs: +// (1) If the KeyName can be found in the CSP, that key is used. +// (2) If the KeyName does not exist and the KeyFile does exist, the key +// in the KeyFile is installed into the CSP and used. +// (*) In order to create a KeyFile, you can use the sn.exe (Strong Name) utility. +// When specifying the KeyFile, the location of the KeyFile should be +// relative to the project output directory which is +// %Project Directory%\obj\. For example, if your KeyFile is +// located in the project directory, you would specify the AssemblyKeyFile +// attribute as [assembly: AssemblyKeyFile("..\\..\\mykey.snk")] +// (*) Delay Signing is an advanced option - see the Microsoft .NET Framework +// documentation for more information on this. +// +[assembly: AssemblyDelaySign(false)] +[assembly: AssemblyKeyFile("")] +[assembly: AssemblyKeyName("")] diff --git a/thirdparty/zlib-1.3.1/contrib/dotzlib/DotZLib/ChecksumImpl.cs b/proj-web/thirdparty/zlib-1.3.1/contrib/dotzlib/DotZLib/ChecksumImpl.cs similarity index 97% rename from thirdparty/zlib-1.3.1/contrib/dotzlib/DotZLib/ChecksumImpl.cs rename to proj-web/thirdparty/zlib-1.3.1/contrib/dotzlib/DotZLib/ChecksumImpl.cs index de88dcf..9b6c390 100644 --- a/thirdparty/zlib-1.3.1/contrib/dotzlib/DotZLib/ChecksumImpl.cs +++ b/proj-web/thirdparty/zlib-1.3.1/contrib/dotzlib/DotZLib/ChecksumImpl.cs @@ -1,202 +1,202 @@ -// -// Copyright Henrik Ravn 2004 -// -// Use, modification and distribution are subject to the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// - -using System; -using System.Runtime.InteropServices; -using System.Text; - - -namespace DotZLib -{ - #region ChecksumGeneratorBase - /// - /// Implements the common functionality needed for all s - /// - /// - public abstract class ChecksumGeneratorBase : ChecksumGenerator - { - /// - /// The value of the current checksum - /// - protected uint _current; - - /// - /// Initializes a new instance of the checksum generator base - the current checksum is - /// set to zero - /// - public ChecksumGeneratorBase() - { - _current = 0; - } - - /// - /// Initializes a new instance of the checksum generator base with a specified value - /// - /// The value to set the current checksum to - public ChecksumGeneratorBase(uint initialValue) - { - _current = initialValue; - } - - /// - /// Resets the current checksum to zero - /// - public void Reset() { _current = 0; } - - /// - /// Gets the current checksum value - /// - public uint Value { get { return _current; } } - - /// - /// Updates the current checksum with part of an array of bytes - /// - /// The data to update the checksum with - /// Where in data to start updating - /// The number of bytes from data to use - /// The sum of offset and count is larger than the length of data - /// data is a null reference - /// Offset or count is negative. - /// All the other Update methods are implemented in terms of this one. - /// This is therefore the only method a derived class has to implement - public abstract void Update(byte[] data, int offset, int count); - - /// - /// Updates the current checksum with an array of bytes. - /// - /// The data to update the checksum with - public void Update(byte[] data) - { - Update(data, 0, data.Length); - } - - /// - /// Updates the current checksum with the data from a string - /// - /// The string to update the checksum with - /// The characters in the string are converted by the UTF-8 encoding - public void Update(string data) - { - Update(Encoding.UTF8.GetBytes(data)); - } - - /// - /// Updates the current checksum with the data from a string, using a specific encoding - /// - /// The string to update the checksum with - /// The encoding to use - public void Update(string data, Encoding encoding) - { - Update(encoding.GetBytes(data)); - } - - } - #endregion - - #region CRC32 - /// - /// Implements a CRC32 checksum generator - /// - public sealed class CRC32Checksum : ChecksumGeneratorBase - { - #region DLL imports - - [DllImport("ZLIB1.dll", CallingConvention=CallingConvention.Cdecl)] - private static extern uint crc32(uint crc, int data, uint length); - - #endregion - - /// - /// Initializes a new instance of the CRC32 checksum generator - /// - public CRC32Checksum() : base() {} - - /// - /// Initializes a new instance of the CRC32 checksum generator with a specified value - /// - /// The value to set the current checksum to - public CRC32Checksum(uint initialValue) : base(initialValue) {} - - /// - /// Updates the current checksum with part of an array of bytes - /// - /// The data to update the checksum with - /// Where in data to start updating - /// The number of bytes from data to use - /// The sum of offset and count is larger than the length of data - /// data is a null reference - /// Offset or count is negative. - public override void Update(byte[] data, int offset, int count) - { - if (offset < 0 || count < 0) throw new ArgumentOutOfRangeException(); - if ((offset+count) > data.Length) throw new ArgumentException(); - GCHandle hData = GCHandle.Alloc(data, GCHandleType.Pinned); - try - { - _current = crc32(_current, hData.AddrOfPinnedObject().ToInt32()+offset, (uint)count); - } - finally - { - hData.Free(); - } - } - - } - #endregion - - #region Adler - /// - /// Implements a checksum generator that computes the Adler checksum on data - /// - public sealed class AdlerChecksum : ChecksumGeneratorBase - { - #region DLL imports - - [DllImport("ZLIB1.dll", CallingConvention=CallingConvention.Cdecl)] - private static extern uint adler32(uint adler, int data, uint length); - - #endregion - - /// - /// Initializes a new instance of the Adler checksum generator - /// - public AdlerChecksum() : base() {} - - /// - /// Initializes a new instance of the Adler checksum generator with a specified value - /// - /// The value to set the current checksum to - public AdlerChecksum(uint initialValue) : base(initialValue) {} - - /// - /// Updates the current checksum with part of an array of bytes - /// - /// The data to update the checksum with - /// Where in data to start updating - /// The number of bytes from data to use - /// The sum of offset and count is larger than the length of data - /// data is a null reference - /// Offset or count is negative. - public override void Update(byte[] data, int offset, int count) - { - if (offset < 0 || count < 0) throw new ArgumentOutOfRangeException(); - if ((offset+count) > data.Length) throw new ArgumentException(); - GCHandle hData = GCHandle.Alloc(data, GCHandleType.Pinned); - try - { - _current = adler32(_current, hData.AddrOfPinnedObject().ToInt32()+offset, (uint)count); - } - finally - { - hData.Free(); - } - } - - } - #endregion - +// +// Copyright Henrik Ravn 2004 +// +// Use, modification and distribution are subject to the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +// + +using System; +using System.Runtime.InteropServices; +using System.Text; + + +namespace DotZLib +{ + #region ChecksumGeneratorBase + /// + /// Implements the common functionality needed for all s + /// + /// + public abstract class ChecksumGeneratorBase : ChecksumGenerator + { + /// + /// The value of the current checksum + /// + protected uint _current; + + /// + /// Initializes a new instance of the checksum generator base - the current checksum is + /// set to zero + /// + public ChecksumGeneratorBase() + { + _current = 0; + } + + /// + /// Initializes a new instance of the checksum generator base with a specified value + /// + /// The value to set the current checksum to + public ChecksumGeneratorBase(uint initialValue) + { + _current = initialValue; + } + + /// + /// Resets the current checksum to zero + /// + public void Reset() { _current = 0; } + + /// + /// Gets the current checksum value + /// + public uint Value { get { return _current; } } + + /// + /// Updates the current checksum with part of an array of bytes + /// + /// The data to update the checksum with + /// Where in data to start updating + /// The number of bytes from data to use + /// The sum of offset and count is larger than the length of data + /// data is a null reference + /// Offset or count is negative. + /// All the other Update methods are implemented in terms of this one. + /// This is therefore the only method a derived class has to implement + public abstract void Update(byte[] data, int offset, int count); + + /// + /// Updates the current checksum with an array of bytes. + /// + /// The data to update the checksum with + public void Update(byte[] data) + { + Update(data, 0, data.Length); + } + + /// + /// Updates the current checksum with the data from a string + /// + /// The string to update the checksum with + /// The characters in the string are converted by the UTF-8 encoding + public void Update(string data) + { + Update(Encoding.UTF8.GetBytes(data)); + } + + /// + /// Updates the current checksum with the data from a string, using a specific encoding + /// + /// The string to update the checksum with + /// The encoding to use + public void Update(string data, Encoding encoding) + { + Update(encoding.GetBytes(data)); + } + + } + #endregion + + #region CRC32 + /// + /// Implements a CRC32 checksum generator + /// + public sealed class CRC32Checksum : ChecksumGeneratorBase + { + #region DLL imports + + [DllImport("ZLIB1.dll", CallingConvention=CallingConvention.Cdecl)] + private static extern uint crc32(uint crc, int data, uint length); + + #endregion + + /// + /// Initializes a new instance of the CRC32 checksum generator + /// + public CRC32Checksum() : base() {} + + /// + /// Initializes a new instance of the CRC32 checksum generator with a specified value + /// + /// The value to set the current checksum to + public CRC32Checksum(uint initialValue) : base(initialValue) {} + + /// + /// Updates the current checksum with part of an array of bytes + /// + /// The data to update the checksum with + /// Where in data to start updating + /// The number of bytes from data to use + /// The sum of offset and count is larger than the length of data + /// data is a null reference + /// Offset or count is negative. + public override void Update(byte[] data, int offset, int count) + { + if (offset < 0 || count < 0) throw new ArgumentOutOfRangeException(); + if ((offset+count) > data.Length) throw new ArgumentException(); + GCHandle hData = GCHandle.Alloc(data, GCHandleType.Pinned); + try + { + _current = crc32(_current, hData.AddrOfPinnedObject().ToInt32()+offset, (uint)count); + } + finally + { + hData.Free(); + } + } + + } + #endregion + + #region Adler + /// + /// Implements a checksum generator that computes the Adler checksum on data + /// + public sealed class AdlerChecksum : ChecksumGeneratorBase + { + #region DLL imports + + [DllImport("ZLIB1.dll", CallingConvention=CallingConvention.Cdecl)] + private static extern uint adler32(uint adler, int data, uint length); + + #endregion + + /// + /// Initializes a new instance of the Adler checksum generator + /// + public AdlerChecksum() : base() {} + + /// + /// Initializes a new instance of the Adler checksum generator with a specified value + /// + /// The value to set the current checksum to + public AdlerChecksum(uint initialValue) : base(initialValue) {} + + /// + /// Updates the current checksum with part of an array of bytes + /// + /// The data to update the checksum with + /// Where in data to start updating + /// The number of bytes from data to use + /// The sum of offset and count is larger than the length of data + /// data is a null reference + /// Offset or count is negative. + public override void Update(byte[] data, int offset, int count) + { + if (offset < 0 || count < 0) throw new ArgumentOutOfRangeException(); + if ((offset+count) > data.Length) throw new ArgumentException(); + GCHandle hData = GCHandle.Alloc(data, GCHandleType.Pinned); + try + { + _current = adler32(_current, hData.AddrOfPinnedObject().ToInt32()+offset, (uint)count); + } + finally + { + hData.Free(); + } + } + + } + #endregion + } \ No newline at end of file diff --git a/thirdparty/zlib-1.3.1/contrib/dotzlib/DotZLib/CircularBuffer.cs b/proj-web/thirdparty/zlib-1.3.1/contrib/dotzlib/DotZLib/CircularBuffer.cs similarity index 96% rename from thirdparty/zlib-1.3.1/contrib/dotzlib/DotZLib/CircularBuffer.cs rename to proj-web/thirdparty/zlib-1.3.1/contrib/dotzlib/DotZLib/CircularBuffer.cs index c1cab3a..9c8d601 100644 --- a/thirdparty/zlib-1.3.1/contrib/dotzlib/DotZLib/CircularBuffer.cs +++ b/proj-web/thirdparty/zlib-1.3.1/contrib/dotzlib/DotZLib/CircularBuffer.cs @@ -1,83 +1,83 @@ -// -// Copyright Henrik Ravn 2004 -// -// Use, modification and distribution are subject to the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// - -using System; -using System.Diagnostics; - -namespace DotZLib -{ - - /// - /// This class implements a circular buffer - /// - internal class CircularBuffer - { - #region Private data - private int _capacity; - private int _head; - private int _tail; - private int _size; - private byte[] _buffer; - #endregion - - public CircularBuffer(int capacity) - { - Debug.Assert( capacity > 0 ); - _buffer = new byte[capacity]; - _capacity = capacity; - _head = 0; - _tail = 0; - _size = 0; - } - - public int Size { get { return _size; } } - - public int Put(byte[] source, int offset, int count) - { - Debug.Assert( count > 0 ); - int trueCount = Math.Min(count, _capacity - Size); - for (int i = 0; i < trueCount; ++i) - _buffer[(_tail+i) % _capacity] = source[offset+i]; - _tail += trueCount; - _tail %= _capacity; - _size += trueCount; - return trueCount; - } - - public bool Put(byte b) - { - if (Size == _capacity) // no room - return false; - _buffer[_tail++] = b; - _tail %= _capacity; - ++_size; - return true; - } - - public int Get(byte[] destination, int offset, int count) - { - int trueCount = Math.Min(count,Size); - for (int i = 0; i < trueCount; ++i) - destination[offset + i] = _buffer[(_head+i) % _capacity]; - _head += trueCount; - _head %= _capacity; - _size -= trueCount; - return trueCount; - } - - public int Get() - { - if (Size == 0) - return -1; - - int result = (int)_buffer[_head++ % _capacity]; - --_size; - return result; - } - - } -} +// +// Copyright Henrik Ravn 2004 +// +// Use, modification and distribution are subject to the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +// + +using System; +using System.Diagnostics; + +namespace DotZLib +{ + + /// + /// This class implements a circular buffer + /// + internal class CircularBuffer + { + #region Private data + private int _capacity; + private int _head; + private int _tail; + private int _size; + private byte[] _buffer; + #endregion + + public CircularBuffer(int capacity) + { + Debug.Assert( capacity > 0 ); + _buffer = new byte[capacity]; + _capacity = capacity; + _head = 0; + _tail = 0; + _size = 0; + } + + public int Size { get { return _size; } } + + public int Put(byte[] source, int offset, int count) + { + Debug.Assert( count > 0 ); + int trueCount = Math.Min(count, _capacity - Size); + for (int i = 0; i < trueCount; ++i) + _buffer[(_tail+i) % _capacity] = source[offset+i]; + _tail += trueCount; + _tail %= _capacity; + _size += trueCount; + return trueCount; + } + + public bool Put(byte b) + { + if (Size == _capacity) // no room + return false; + _buffer[_tail++] = b; + _tail %= _capacity; + ++_size; + return true; + } + + public int Get(byte[] destination, int offset, int count) + { + int trueCount = Math.Min(count,Size); + for (int i = 0; i < trueCount; ++i) + destination[offset + i] = _buffer[(_head+i) % _capacity]; + _head += trueCount; + _head %= _capacity; + _size -= trueCount; + return trueCount; + } + + public int Get() + { + if (Size == 0) + return -1; + + int result = (int)_buffer[_head++ % _capacity]; + --_size; + return result; + } + + } +} diff --git a/thirdparty/zlib-1.3.1/contrib/dotzlib/DotZLib/CodecBase.cs b/proj-web/thirdparty/zlib-1.3.1/contrib/dotzlib/DotZLib/CodecBase.cs similarity index 96% rename from thirdparty/zlib-1.3.1/contrib/dotzlib/DotZLib/CodecBase.cs rename to proj-web/thirdparty/zlib-1.3.1/contrib/dotzlib/DotZLib/CodecBase.cs index c4bc8b8..dcad290 100644 --- a/thirdparty/zlib-1.3.1/contrib/dotzlib/DotZLib/CodecBase.cs +++ b/proj-web/thirdparty/zlib-1.3.1/contrib/dotzlib/DotZLib/CodecBase.cs @@ -1,198 +1,198 @@ -// -// Copyright Henrik Ravn 2004 -// -// Use, modification and distribution are subject to the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// - -using System; -using System.Runtime.InteropServices; - -namespace DotZLib -{ - /// - /// Implements the common functionality needed for all s - /// - public abstract class CodecBase : Codec, IDisposable - { - - #region Data members - - /// - /// Instance of the internal zlib buffer structure that is - /// passed to all functions in the zlib dll - /// - internal ZStream _ztream = new ZStream(); - - /// - /// True if the object instance has been disposed, false otherwise - /// - protected bool _isDisposed = false; - - /// - /// The size of the internal buffers - /// - protected const int kBufferSize = 16384; - - private byte[] _outBuffer = new byte[kBufferSize]; - private byte[] _inBuffer = new byte[kBufferSize]; - - private GCHandle _hInput; - private GCHandle _hOutput; - - private uint _checksum = 0; - - #endregion - - /// - /// Initializes a new instance of the CodeBase class. - /// - public CodecBase() - { - try - { - _hInput = GCHandle.Alloc(_inBuffer, GCHandleType.Pinned); - _hOutput = GCHandle.Alloc(_outBuffer, GCHandleType.Pinned); - } - catch (Exception) - { - CleanUp(false); - throw; - } - } - - - #region Codec Members - - /// - /// Occurs when more processed data are available. - /// - public event DataAvailableHandler DataAvailable; - - /// - /// Fires the event - /// - protected void OnDataAvailable() - { - if (_ztream.total_out > 0) - { - if (DataAvailable != null) - DataAvailable( _outBuffer, 0, (int)_ztream.total_out); - resetOutput(); - } - } - - /// - /// Adds more data to the codec to be processed. - /// - /// Byte array containing the data to be added to the codec - /// Adding data may, or may not, raise the DataAvailable event - public void Add(byte[] data) - { - Add(data,0,data.Length); - } - - /// - /// Adds more data to the codec to be processed. - /// - /// Byte array containing the data to be added to the codec - /// The index of the first byte to add from data - /// The number of bytes to add - /// Adding data may, or may not, raise the DataAvailable event - /// This must be implemented by a derived class - public abstract void Add(byte[] data, int offset, int count); - - /// - /// Finishes up any pending data that needs to be processed and handled. - /// - /// This must be implemented by a derived class - public abstract void Finish(); - - /// - /// Gets the checksum of the data that has been added so far - /// - public uint Checksum { get { return _checksum; } } - - #endregion - - #region Destructor & IDisposable stuff - - /// - /// Destroys this instance - /// - ~CodecBase() - { - CleanUp(false); - } - - /// - /// Releases any unmanaged resources and calls the method of the derived class - /// - public void Dispose() - { - CleanUp(true); - } - - /// - /// Performs any codec specific cleanup - /// - /// This must be implemented by a derived class - protected abstract void CleanUp(); - - // performs the release of the handles and calls the derived CleanUp() - private void CleanUp(bool isDisposing) - { - if (!_isDisposed) - { - CleanUp(); - if (_hInput.IsAllocated) - _hInput.Free(); - if (_hOutput.IsAllocated) - _hOutput.Free(); - - _isDisposed = true; - } - } - - - #endregion - - #region Helper methods - - /// - /// Copies a number of bytes to the internal codec buffer - ready for processing - /// - /// The byte array that contains the data to copy - /// The index of the first byte to copy - /// The number of bytes to copy from data - protected void copyInput(byte[] data, int startIndex, int count) - { - Array.Copy(data, startIndex, _inBuffer,0, count); - _ztream.next_in = _hInput.AddrOfPinnedObject(); - _ztream.total_in = 0; - _ztream.avail_in = (uint)count; - - } - - /// - /// Resets the internal output buffers to a known state - ready for processing - /// - protected void resetOutput() - { - _ztream.total_out = 0; - _ztream.avail_out = kBufferSize; - _ztream.next_out = _hOutput.AddrOfPinnedObject(); - } - - /// - /// Updates the running checksum property - /// - /// The new checksum value - protected void setChecksum(uint newSum) - { - _checksum = newSum; - } - #endregion - - } -} +// +// Copyright Henrik Ravn 2004 +// +// Use, modification and distribution are subject to the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +// + +using System; +using System.Runtime.InteropServices; + +namespace DotZLib +{ + /// + /// Implements the common functionality needed for all s + /// + public abstract class CodecBase : Codec, IDisposable + { + + #region Data members + + /// + /// Instance of the internal zlib buffer structure that is + /// passed to all functions in the zlib dll + /// + internal ZStream _ztream = new ZStream(); + + /// + /// True if the object instance has been disposed, false otherwise + /// + protected bool _isDisposed = false; + + /// + /// The size of the internal buffers + /// + protected const int kBufferSize = 16384; + + private byte[] _outBuffer = new byte[kBufferSize]; + private byte[] _inBuffer = new byte[kBufferSize]; + + private GCHandle _hInput; + private GCHandle _hOutput; + + private uint _checksum = 0; + + #endregion + + /// + /// Initializes a new instance of the CodeBase class. + /// + public CodecBase() + { + try + { + _hInput = GCHandle.Alloc(_inBuffer, GCHandleType.Pinned); + _hOutput = GCHandle.Alloc(_outBuffer, GCHandleType.Pinned); + } + catch (Exception) + { + CleanUp(false); + throw; + } + } + + + #region Codec Members + + /// + /// Occurs when more processed data are available. + /// + public event DataAvailableHandler DataAvailable; + + /// + /// Fires the event + /// + protected void OnDataAvailable() + { + if (_ztream.total_out > 0) + { + if (DataAvailable != null) + DataAvailable( _outBuffer, 0, (int)_ztream.total_out); + resetOutput(); + } + } + + /// + /// Adds more data to the codec to be processed. + /// + /// Byte array containing the data to be added to the codec + /// Adding data may, or may not, raise the DataAvailable event + public void Add(byte[] data) + { + Add(data,0,data.Length); + } + + /// + /// Adds more data to the codec to be processed. + /// + /// Byte array containing the data to be added to the codec + /// The index of the first byte to add from data + /// The number of bytes to add + /// Adding data may, or may not, raise the DataAvailable event + /// This must be implemented by a derived class + public abstract void Add(byte[] data, int offset, int count); + + /// + /// Finishes up any pending data that needs to be processed and handled. + /// + /// This must be implemented by a derived class + public abstract void Finish(); + + /// + /// Gets the checksum of the data that has been added so far + /// + public uint Checksum { get { return _checksum; } } + + #endregion + + #region Destructor & IDisposable stuff + + /// + /// Destroys this instance + /// + ~CodecBase() + { + CleanUp(false); + } + + /// + /// Releases any unmanaged resources and calls the method of the derived class + /// + public void Dispose() + { + CleanUp(true); + } + + /// + /// Performs any codec specific cleanup + /// + /// This must be implemented by a derived class + protected abstract void CleanUp(); + + // performs the release of the handles and calls the derived CleanUp() + private void CleanUp(bool isDisposing) + { + if (!_isDisposed) + { + CleanUp(); + if (_hInput.IsAllocated) + _hInput.Free(); + if (_hOutput.IsAllocated) + _hOutput.Free(); + + _isDisposed = true; + } + } + + + #endregion + + #region Helper methods + + /// + /// Copies a number of bytes to the internal codec buffer - ready for processing + /// + /// The byte array that contains the data to copy + /// The index of the first byte to copy + /// The number of bytes to copy from data + protected void copyInput(byte[] data, int startIndex, int count) + { + Array.Copy(data, startIndex, _inBuffer,0, count); + _ztream.next_in = _hInput.AddrOfPinnedObject(); + _ztream.total_in = 0; + _ztream.avail_in = (uint)count; + + } + + /// + /// Resets the internal output buffers to a known state - ready for processing + /// + protected void resetOutput() + { + _ztream.total_out = 0; + _ztream.avail_out = kBufferSize; + _ztream.next_out = _hOutput.AddrOfPinnedObject(); + } + + /// + /// Updates the running checksum property + /// + /// The new checksum value + protected void setChecksum(uint newSum) + { + _checksum = newSum; + } + #endregion + + } +} diff --git a/thirdparty/zlib-1.3.1/contrib/dotzlib/DotZLib/Deflater.cs b/proj-web/thirdparty/zlib-1.3.1/contrib/dotzlib/DotZLib/Deflater.cs similarity index 97% rename from thirdparty/zlib-1.3.1/contrib/dotzlib/DotZLib/Deflater.cs rename to proj-web/thirdparty/zlib-1.3.1/contrib/dotzlib/DotZLib/Deflater.cs index c247792..9039f41 100644 --- a/thirdparty/zlib-1.3.1/contrib/dotzlib/DotZLib/Deflater.cs +++ b/proj-web/thirdparty/zlib-1.3.1/contrib/dotzlib/DotZLib/Deflater.cs @@ -1,106 +1,106 @@ -// -// Copyright Henrik Ravn 2004 -// -// Use, modification and distribution are subject to the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// - -using System; -using System.Diagnostics; -using System.Runtime.InteropServices; - -namespace DotZLib -{ - - /// - /// Implements a data compressor, using the deflate algorithm in the ZLib dll - /// - public sealed class Deflater : CodecBase - { - #region Dll imports - [DllImport("ZLIB1.dll", CallingConvention=CallingConvention.Cdecl, CharSet=CharSet.Ansi)] - private static extern int deflateInit_(ref ZStream sz, int level, string vs, int size); - - [DllImport("ZLIB1.dll", CallingConvention=CallingConvention.Cdecl)] - private static extern int deflate(ref ZStream sz, int flush); - - [DllImport("ZLIB1.dll", CallingConvention=CallingConvention.Cdecl)] - private static extern int deflateReset(ref ZStream sz); - - [DllImport("ZLIB1.dll", CallingConvention=CallingConvention.Cdecl)] - private static extern int deflateEnd(ref ZStream sz); - #endregion - - /// - /// Constructs an new instance of the Deflater - /// - /// The compression level to use for this Deflater - public Deflater(CompressLevel level) : base() - { - int retval = deflateInit_(ref _ztream, (int)level, Info.Version, Marshal.SizeOf(_ztream)); - if (retval != 0) - throw new ZLibException(retval, "Could not initialize deflater"); - - resetOutput(); - } - - /// - /// Adds more data to the codec to be processed. - /// - /// Byte array containing the data to be added to the codec - /// The index of the first byte to add from data - /// The number of bytes to add - /// Adding data may, or may not, raise the DataAvailable event - public override void Add(byte[] data, int offset, int count) - { - if (data == null) throw new ArgumentNullException(); - if (offset < 0 || count < 0) throw new ArgumentOutOfRangeException(); - if ((offset+count) > data.Length) throw new ArgumentException(); - - int total = count; - int inputIndex = offset; - int err = 0; - - while (err >= 0 && inputIndex < total) - { - copyInput(data, inputIndex, Math.Min(total - inputIndex, kBufferSize)); - while (err >= 0 && _ztream.avail_in > 0) - { - err = deflate(ref _ztream, (int)FlushTypes.None); - if (err == 0) - while (_ztream.avail_out == 0) - { - OnDataAvailable(); - err = deflate(ref _ztream, (int)FlushTypes.None); - } - inputIndex += (int)_ztream.total_in; - } - } - setChecksum( _ztream.adler ); - } - - - /// - /// Finishes up any pending data that needs to be processed and handled. - /// - public override void Finish() - { - int err; - do - { - err = deflate(ref _ztream, (int)FlushTypes.Finish); - OnDataAvailable(); - } - while (err == 0); - setChecksum( _ztream.adler ); - deflateReset(ref _ztream); - resetOutput(); - } - - /// - /// Closes the internal zlib deflate stream - /// - protected override void CleanUp() { deflateEnd(ref _ztream); } - - } -} +// +// Copyright Henrik Ravn 2004 +// +// Use, modification and distribution are subject to the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +// + +using System; +using System.Diagnostics; +using System.Runtime.InteropServices; + +namespace DotZLib +{ + + /// + /// Implements a data compressor, using the deflate algorithm in the ZLib dll + /// + public sealed class Deflater : CodecBase + { + #region Dll imports + [DllImport("ZLIB1.dll", CallingConvention=CallingConvention.Cdecl, CharSet=CharSet.Ansi)] + private static extern int deflateInit_(ref ZStream sz, int level, string vs, int size); + + [DllImport("ZLIB1.dll", CallingConvention=CallingConvention.Cdecl)] + private static extern int deflate(ref ZStream sz, int flush); + + [DllImport("ZLIB1.dll", CallingConvention=CallingConvention.Cdecl)] + private static extern int deflateReset(ref ZStream sz); + + [DllImport("ZLIB1.dll", CallingConvention=CallingConvention.Cdecl)] + private static extern int deflateEnd(ref ZStream sz); + #endregion + + /// + /// Constructs an new instance of the Deflater + /// + /// The compression level to use for this Deflater + public Deflater(CompressLevel level) : base() + { + int retval = deflateInit_(ref _ztream, (int)level, Info.Version, Marshal.SizeOf(_ztream)); + if (retval != 0) + throw new ZLibException(retval, "Could not initialize deflater"); + + resetOutput(); + } + + /// + /// Adds more data to the codec to be processed. + /// + /// Byte array containing the data to be added to the codec + /// The index of the first byte to add from data + /// The number of bytes to add + /// Adding data may, or may not, raise the DataAvailable event + public override void Add(byte[] data, int offset, int count) + { + if (data == null) throw new ArgumentNullException(); + if (offset < 0 || count < 0) throw new ArgumentOutOfRangeException(); + if ((offset+count) > data.Length) throw new ArgumentException(); + + int total = count; + int inputIndex = offset; + int err = 0; + + while (err >= 0 && inputIndex < total) + { + copyInput(data, inputIndex, Math.Min(total - inputIndex, kBufferSize)); + while (err >= 0 && _ztream.avail_in > 0) + { + err = deflate(ref _ztream, (int)FlushTypes.None); + if (err == 0) + while (_ztream.avail_out == 0) + { + OnDataAvailable(); + err = deflate(ref _ztream, (int)FlushTypes.None); + } + inputIndex += (int)_ztream.total_in; + } + } + setChecksum( _ztream.adler ); + } + + + /// + /// Finishes up any pending data that needs to be processed and handled. + /// + public override void Finish() + { + int err; + do + { + err = deflate(ref _ztream, (int)FlushTypes.Finish); + OnDataAvailable(); + } + while (err == 0); + setChecksum( _ztream.adler ); + deflateReset(ref _ztream); + resetOutput(); + } + + /// + /// Closes the internal zlib deflate stream + /// + protected override void CleanUp() { deflateEnd(ref _ztream); } + + } +} diff --git a/thirdparty/zlib-1.3.1/contrib/dotzlib/DotZLib/DotZLib.cs b/proj-web/thirdparty/zlib-1.3.1/contrib/dotzlib/DotZLib/DotZLib.cs similarity index 97% rename from thirdparty/zlib-1.3.1/contrib/dotzlib/DotZLib/DotZLib.cs rename to proj-web/thirdparty/zlib-1.3.1/contrib/dotzlib/DotZLib/DotZLib.cs index be184b4..90c7c3b 100644 --- a/thirdparty/zlib-1.3.1/contrib/dotzlib/DotZLib/DotZLib.cs +++ b/proj-web/thirdparty/zlib-1.3.1/contrib/dotzlib/DotZLib/DotZLib.cs @@ -1,288 +1,288 @@ -// -// Copyright Henrik Ravn 2004 -// -// Use, modification and distribution are subject to the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// - -using System; -using System.IO; -using System.Runtime.InteropServices; -using System.Text; - - -namespace DotZLib -{ - - #region Internal types - - /// - /// Defines constants for the various flush types used with zlib - /// - internal enum FlushTypes - { - None, Partial, Sync, Full, Finish, Block - } - - #region ZStream structure - // internal mapping of the zlib zstream structure for marshalling - [StructLayoutAttribute(LayoutKind.Sequential, Pack=4, Size=0, CharSet=CharSet.Ansi)] - internal struct ZStream - { - public IntPtr next_in; - public uint avail_in; - public uint total_in; - - public IntPtr next_out; - public uint avail_out; - public uint total_out; - - [MarshalAs(UnmanagedType.LPStr)] - string msg; - uint state; - - uint zalloc; - uint zfree; - uint opaque; - - int data_type; - public uint adler; - uint reserved; - } - - #endregion - - #endregion - - #region Public enums - /// - /// Defines constants for the available compression levels in zlib - /// - public enum CompressLevel : int - { - /// - /// The default compression level with a reasonable compromise between compression and speed - /// - Default = -1, - /// - /// No compression at all. The data are passed straight through. - /// - None = 0, - /// - /// The maximum compression rate available. - /// - Best = 9, - /// - /// The fastest available compression level. - /// - Fastest = 1 - } - #endregion - - #region Exception classes - /// - /// The exception that is thrown when an error occurs on the zlib dll - /// - public class ZLibException : ApplicationException - { - /// - /// Initializes a new instance of the class with a specified - /// error message and error code - /// - /// The zlib error code that caused the exception - /// A message that (hopefully) describes the error - public ZLibException(int errorCode, string msg) : base(String.Format("ZLib error {0} {1}", errorCode, msg)) - { - } - - /// - /// Initializes a new instance of the class with a specified - /// error code - /// - /// The zlib error code that caused the exception - public ZLibException(int errorCode) : base(String.Format("ZLib error {0}", errorCode)) - { - } - } - #endregion - - #region Interfaces - - /// - /// Declares methods and properties that enables a running checksum to be calculated - /// - public interface ChecksumGenerator - { - /// - /// Gets the current value of the checksum - /// - uint Value { get; } - - /// - /// Clears the current checksum to 0 - /// - void Reset(); - - /// - /// Updates the current checksum with an array of bytes - /// - /// The data to update the checksum with - void Update(byte[] data); - - /// - /// Updates the current checksum with part of an array of bytes - /// - /// The data to update the checksum with - /// Where in data to start updating - /// The number of bytes from data to use - /// The sum of offset and count is larger than the length of data - /// data is a null reference - /// Offset or count is negative. - void Update(byte[] data, int offset, int count); - - /// - /// Updates the current checksum with the data from a string - /// - /// The string to update the checksum with - /// The characters in the string are converted by the UTF-8 encoding - void Update(string data); - - /// - /// Updates the current checksum with the data from a string, using a specific encoding - /// - /// The string to update the checksum with - /// The encoding to use - void Update(string data, Encoding encoding); - } - - - /// - /// Represents the method that will be called from a codec when new data - /// are available. - /// - /// The byte array containing the processed data - /// The index of the first processed byte in data - /// The number of processed bytes available - /// On return from this method, the data may be overwritten, so grab it while you can. - /// You cannot assume that startIndex will be zero. - /// - public delegate void DataAvailableHandler(byte[] data, int startIndex, int count); - - /// - /// Declares methods and events for implementing compressors/decompressors - /// - public interface Codec - { - /// - /// Occurs when more processed data are available. - /// - event DataAvailableHandler DataAvailable; - - /// - /// Adds more data to the codec to be processed. - /// - /// Byte array containing the data to be added to the codec - /// Adding data may, or may not, raise the DataAvailable event - void Add(byte[] data); - - /// - /// Adds more data to the codec to be processed. - /// - /// Byte array containing the data to be added to the codec - /// The index of the first byte to add from data - /// The number of bytes to add - /// Adding data may, or may not, raise the DataAvailable event - void Add(byte[] data, int offset, int count); - - /// - /// Finishes up any pending data that needs to be processed and handled. - /// - void Finish(); - - /// - /// Gets the checksum of the data that has been added so far - /// - uint Checksum { get; } - - - } - - #endregion - - #region Classes - /// - /// Encapsulates general information about the ZLib library - /// - public class Info - { - #region DLL imports - [DllImport("ZLIB1.dll", CallingConvention=CallingConvention.Cdecl)] - private static extern uint zlibCompileFlags(); - - [DllImport("ZLIB1.dll", CallingConvention=CallingConvention.Cdecl)] - private static extern string zlibVersion(); - #endregion - - #region Private stuff - private uint _flags; - - // helper function that unpacks a bitsize mask - private static int bitSize(uint bits) - { - switch (bits) - { - case 0: return 16; - case 1: return 32; - case 2: return 64; - } - return -1; - } - #endregion - - /// - /// Constructs an instance of the Info class. - /// - public Info() - { - _flags = zlibCompileFlags(); - } - - /// - /// True if the library is compiled with debug info - /// - public bool HasDebugInfo { get { return 0 != (_flags & 0x100); } } - - /// - /// True if the library is compiled with assembly optimizations - /// - public bool UsesAssemblyCode { get { return 0 != (_flags & 0x200); } } - - /// - /// Gets the size of the unsigned int that was compiled into Zlib - /// - public int SizeOfUInt { get { return bitSize(_flags & 3); } } - - /// - /// Gets the size of the unsigned long that was compiled into Zlib - /// - public int SizeOfULong { get { return bitSize((_flags >> 2) & 3); } } - - /// - /// Gets the size of the pointers that were compiled into Zlib - /// - public int SizeOfPointer { get { return bitSize((_flags >> 4) & 3); } } - - /// - /// Gets the size of the z_off_t type that was compiled into Zlib - /// - public int SizeOfOffset { get { return bitSize((_flags >> 6) & 3); } } - - /// - /// Gets the version of ZLib as a string, e.g. "1.2.1" - /// - public static string Version { get { return zlibVersion(); } } - } - - #endregion - -} +// +// Copyright Henrik Ravn 2004 +// +// Use, modification and distribution are subject to the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +// + +using System; +using System.IO; +using System.Runtime.InteropServices; +using System.Text; + + +namespace DotZLib +{ + + #region Internal types + + /// + /// Defines constants for the various flush types used with zlib + /// + internal enum FlushTypes + { + None, Partial, Sync, Full, Finish, Block + } + + #region ZStream structure + // internal mapping of the zlib zstream structure for marshalling + [StructLayoutAttribute(LayoutKind.Sequential, Pack=4, Size=0, CharSet=CharSet.Ansi)] + internal struct ZStream + { + public IntPtr next_in; + public uint avail_in; + public uint total_in; + + public IntPtr next_out; + public uint avail_out; + public uint total_out; + + [MarshalAs(UnmanagedType.LPStr)] + string msg; + uint state; + + uint zalloc; + uint zfree; + uint opaque; + + int data_type; + public uint adler; + uint reserved; + } + + #endregion + + #endregion + + #region Public enums + /// + /// Defines constants for the available compression levels in zlib + /// + public enum CompressLevel : int + { + /// + /// The default compression level with a reasonable compromise between compression and speed + /// + Default = -1, + /// + /// No compression at all. The data are passed straight through. + /// + None = 0, + /// + /// The maximum compression rate available. + /// + Best = 9, + /// + /// The fastest available compression level. + /// + Fastest = 1 + } + #endregion + + #region Exception classes + /// + /// The exception that is thrown when an error occurs on the zlib dll + /// + public class ZLibException : ApplicationException + { + /// + /// Initializes a new instance of the class with a specified + /// error message and error code + /// + /// The zlib error code that caused the exception + /// A message that (hopefully) describes the error + public ZLibException(int errorCode, string msg) : base(String.Format("ZLib error {0} {1}", errorCode, msg)) + { + } + + /// + /// Initializes a new instance of the class with a specified + /// error code + /// + /// The zlib error code that caused the exception + public ZLibException(int errorCode) : base(String.Format("ZLib error {0}", errorCode)) + { + } + } + #endregion + + #region Interfaces + + /// + /// Declares methods and properties that enables a running checksum to be calculated + /// + public interface ChecksumGenerator + { + /// + /// Gets the current value of the checksum + /// + uint Value { get; } + + /// + /// Clears the current checksum to 0 + /// + void Reset(); + + /// + /// Updates the current checksum with an array of bytes + /// + /// The data to update the checksum with + void Update(byte[] data); + + /// + /// Updates the current checksum with part of an array of bytes + /// + /// The data to update the checksum with + /// Where in data to start updating + /// The number of bytes from data to use + /// The sum of offset and count is larger than the length of data + /// data is a null reference + /// Offset or count is negative. + void Update(byte[] data, int offset, int count); + + /// + /// Updates the current checksum with the data from a string + /// + /// The string to update the checksum with + /// The characters in the string are converted by the UTF-8 encoding + void Update(string data); + + /// + /// Updates the current checksum with the data from a string, using a specific encoding + /// + /// The string to update the checksum with + /// The encoding to use + void Update(string data, Encoding encoding); + } + + + /// + /// Represents the method that will be called from a codec when new data + /// are available. + /// + /// The byte array containing the processed data + /// The index of the first processed byte in data + /// The number of processed bytes available + /// On return from this method, the data may be overwritten, so grab it while you can. + /// You cannot assume that startIndex will be zero. + /// + public delegate void DataAvailableHandler(byte[] data, int startIndex, int count); + + /// + /// Declares methods and events for implementing compressors/decompressors + /// + public interface Codec + { + /// + /// Occurs when more processed data are available. + /// + event DataAvailableHandler DataAvailable; + + /// + /// Adds more data to the codec to be processed. + /// + /// Byte array containing the data to be added to the codec + /// Adding data may, or may not, raise the DataAvailable event + void Add(byte[] data); + + /// + /// Adds more data to the codec to be processed. + /// + /// Byte array containing the data to be added to the codec + /// The index of the first byte to add from data + /// The number of bytes to add + /// Adding data may, or may not, raise the DataAvailable event + void Add(byte[] data, int offset, int count); + + /// + /// Finishes up any pending data that needs to be processed and handled. + /// + void Finish(); + + /// + /// Gets the checksum of the data that has been added so far + /// + uint Checksum { get; } + + + } + + #endregion + + #region Classes + /// + /// Encapsulates general information about the ZLib library + /// + public class Info + { + #region DLL imports + [DllImport("ZLIB1.dll", CallingConvention=CallingConvention.Cdecl)] + private static extern uint zlibCompileFlags(); + + [DllImport("ZLIB1.dll", CallingConvention=CallingConvention.Cdecl)] + private static extern string zlibVersion(); + #endregion + + #region Private stuff + private uint _flags; + + // helper function that unpacks a bitsize mask + private static int bitSize(uint bits) + { + switch (bits) + { + case 0: return 16; + case 1: return 32; + case 2: return 64; + } + return -1; + } + #endregion + + /// + /// Constructs an instance of the Info class. + /// + public Info() + { + _flags = zlibCompileFlags(); + } + + /// + /// True if the library is compiled with debug info + /// + public bool HasDebugInfo { get { return 0 != (_flags & 0x100); } } + + /// + /// True if the library is compiled with assembly optimizations + /// + public bool UsesAssemblyCode { get { return 0 != (_flags & 0x200); } } + + /// + /// Gets the size of the unsigned int that was compiled into Zlib + /// + public int SizeOfUInt { get { return bitSize(_flags & 3); } } + + /// + /// Gets the size of the unsigned long that was compiled into Zlib + /// + public int SizeOfULong { get { return bitSize((_flags >> 2) & 3); } } + + /// + /// Gets the size of the pointers that were compiled into Zlib + /// + public int SizeOfPointer { get { return bitSize((_flags >> 4) & 3); } } + + /// + /// Gets the size of the z_off_t type that was compiled into Zlib + /// + public int SizeOfOffset { get { return bitSize((_flags >> 6) & 3); } } + + /// + /// Gets the version of ZLib as a string, e.g. "1.2.1" + /// + public static string Version { get { return zlibVersion(); } } + } + + #endregion + +} diff --git a/thirdparty/zlib-1.3.1/contrib/dotzlib/DotZLib/DotZLib.csproj b/proj-web/thirdparty/zlib-1.3.1/contrib/dotzlib/DotZLib/DotZLib.csproj similarity index 97% rename from thirdparty/zlib-1.3.1/contrib/dotzlib/DotZLib/DotZLib.csproj rename to proj-web/thirdparty/zlib-1.3.1/contrib/dotzlib/DotZLib/DotZLib.csproj index 71eeb85..dea7fb1 100644 --- a/thirdparty/zlib-1.3.1/contrib/dotzlib/DotZLib/DotZLib.csproj +++ b/proj-web/thirdparty/zlib-1.3.1/contrib/dotzlib/DotZLib/DotZLib.csproj @@ -1,141 +1,141 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/zlib-1.3.1/contrib/dotzlib/DotZLib/GZipStream.cs b/proj-web/thirdparty/zlib-1.3.1/contrib/dotzlib/DotZLib/GZipStream.cs similarity index 97% rename from thirdparty/zlib-1.3.1/contrib/dotzlib/DotZLib/GZipStream.cs rename to proj-web/thirdparty/zlib-1.3.1/contrib/dotzlib/DotZLib/GZipStream.cs index 58091d3..c1472f6 100644 --- a/thirdparty/zlib-1.3.1/contrib/dotzlib/DotZLib/GZipStream.cs +++ b/proj-web/thirdparty/zlib-1.3.1/contrib/dotzlib/DotZLib/GZipStream.cs @@ -1,301 +1,301 @@ -// -// Copyright Henrik Ravn 2004 -// -// Use, modification and distribution are subject to the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// - -using System; -using System.IO; -using System.Runtime.InteropServices; - -namespace DotZLib -{ - /// - /// Implements a compressed , in GZip (.gz) format. - /// - public class GZipStream : Stream, IDisposable - { - #region Dll Imports - [DllImport("ZLIB1.dll", CallingConvention=CallingConvention.Cdecl, CharSet=CharSet.Ansi)] - private static extern IntPtr gzopen(string name, string mode); - - [DllImport("ZLIB1.dll", CallingConvention=CallingConvention.Cdecl)] - private static extern int gzclose(IntPtr gzFile); - - [DllImport("ZLIB1.dll", CallingConvention=CallingConvention.Cdecl)] - private static extern int gzwrite(IntPtr gzFile, int data, int length); - - [DllImport("ZLIB1.dll", CallingConvention=CallingConvention.Cdecl)] - private static extern int gzread(IntPtr gzFile, int data, int length); - - [DllImport("ZLIB1.dll", CallingConvention=CallingConvention.Cdecl)] - private static extern int gzgetc(IntPtr gzFile); - - [DllImport("ZLIB1.dll", CallingConvention=CallingConvention.Cdecl)] - private static extern int gzputc(IntPtr gzFile, int c); - - #endregion - - #region Private data - private IntPtr _gzFile; - private bool _isDisposed = false; - private bool _isWriting; - #endregion - - #region Constructors - /// - /// Creates a new file as a writeable GZipStream - /// - /// The name of the compressed file to create - /// The compression level to use when adding data - /// If an error occurred in the internal zlib function - public GZipStream(string fileName, CompressLevel level) - { - _isWriting = true; - _gzFile = gzopen(fileName, String.Format("wb{0}", (int)level)); - if (_gzFile == IntPtr.Zero) - throw new ZLibException(-1, "Could not open " + fileName); - } - - /// - /// Opens an existing file as a readable GZipStream - /// - /// The name of the file to open - /// If an error occurred in the internal zlib function - public GZipStream(string fileName) - { - _isWriting = false; - _gzFile = gzopen(fileName, "rb"); - if (_gzFile == IntPtr.Zero) - throw new ZLibException(-1, "Could not open " + fileName); - - } - #endregion - - #region Access properties - /// - /// Returns true of this stream can be read from, false otherwise - /// - public override bool CanRead - { - get - { - return !_isWriting; - } - } - - - /// - /// Returns false. - /// - public override bool CanSeek - { - get - { - return false; - } - } - - /// - /// Returns true if this tsream is writeable, false otherwise - /// - public override bool CanWrite - { - get - { - return _isWriting; - } - } - #endregion - - #region Destructor & IDispose stuff - - /// - /// Destroys this instance - /// - ~GZipStream() - { - cleanUp(false); - } - - /// - /// Closes the external file handle - /// - public void Dispose() - { - cleanUp(true); - } - - // Does the actual closing of the file handle. - private void cleanUp(bool isDisposing) - { - if (!_isDisposed) - { - gzclose(_gzFile); - _isDisposed = true; - } - } - #endregion - - #region Basic reading and writing - /// - /// Attempts to read a number of bytes from the stream. - /// - /// The destination data buffer - /// The index of the first destination byte in buffer - /// The number of bytes requested - /// The number of bytes read - /// If buffer is null - /// If count or offset are negative - /// If offset + count is > buffer.Length - /// If this stream is not readable. - /// If this stream has been disposed. - public override int Read(byte[] buffer, int offset, int count) - { - if (!CanRead) throw new NotSupportedException(); - if (buffer == null) throw new ArgumentNullException(); - if (offset < 0 || count < 0) throw new ArgumentOutOfRangeException(); - if ((offset+count) > buffer.Length) throw new ArgumentException(); - if (_isDisposed) throw new ObjectDisposedException("GZipStream"); - - GCHandle h = GCHandle.Alloc(buffer, GCHandleType.Pinned); - int result; - try - { - result = gzread(_gzFile, h.AddrOfPinnedObject().ToInt32() + offset, count); - if (result < 0) - throw new IOException(); - } - finally - { - h.Free(); - } - return result; - } - - /// - /// Attempts to read a single byte from the stream. - /// - /// The byte that was read, or -1 in case of error or End-Of-File - public override int ReadByte() - { - if (!CanRead) throw new NotSupportedException(); - if (_isDisposed) throw new ObjectDisposedException("GZipStream"); - return gzgetc(_gzFile); - } - - /// - /// Writes a number of bytes to the stream - /// - /// - /// - /// - /// If buffer is null - /// If count or offset are negative - /// If offset + count is > buffer.Length - /// If this stream is not writeable. - /// If this stream has been disposed. - public override void Write(byte[] buffer, int offset, int count) - { - if (!CanWrite) throw new NotSupportedException(); - if (buffer == null) throw new ArgumentNullException(); - if (offset < 0 || count < 0) throw new ArgumentOutOfRangeException(); - if ((offset+count) > buffer.Length) throw new ArgumentException(); - if (_isDisposed) throw new ObjectDisposedException("GZipStream"); - - GCHandle h = GCHandle.Alloc(buffer, GCHandleType.Pinned); - try - { - int result = gzwrite(_gzFile, h.AddrOfPinnedObject().ToInt32() + offset, count); - if (result < 0) - throw new IOException(); - } - finally - { - h.Free(); - } - } - - /// - /// Writes a single byte to the stream - /// - /// The byte to add to the stream. - /// If this stream is not writeable. - /// If this stream has been disposed. - public override void WriteByte(byte value) - { - if (!CanWrite) throw new NotSupportedException(); - if (_isDisposed) throw new ObjectDisposedException("GZipStream"); - - int result = gzputc(_gzFile, (int)value); - if (result < 0) - throw new IOException(); - } - #endregion - - #region Position & length stuff - /// - /// Not supported. - /// - /// - /// Always thrown - public override void SetLength(long value) - { - throw new NotSupportedException(); - } - - /// - /// Not supported. - /// - /// - /// - /// - /// Always thrown - public override long Seek(long offset, SeekOrigin origin) - { - throw new NotSupportedException(); - } - - /// - /// Flushes the GZipStream. - /// - /// In this implementation, this method does nothing. This is because excessive - /// flushing may degrade the achievable compression rates. - public override void Flush() - { - // left empty on purpose - } - - /// - /// Gets/sets the current position in the GZipStream. Not supported. - /// - /// In this implementation this property is not supported - /// Always thrown - public override long Position - { - get - { - throw new NotSupportedException(); - } - set - { - throw new NotSupportedException(); - } - } - - /// - /// Gets the size of the stream. Not supported. - /// - /// In this implementation this property is not supported - /// Always thrown - public override long Length - { - get - { - throw new NotSupportedException(); - } - } - #endregion - } -} +// +// Copyright Henrik Ravn 2004 +// +// Use, modification and distribution are subject to the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +// + +using System; +using System.IO; +using System.Runtime.InteropServices; + +namespace DotZLib +{ + /// + /// Implements a compressed , in GZip (.gz) format. + /// + public class GZipStream : Stream, IDisposable + { + #region Dll Imports + [DllImport("ZLIB1.dll", CallingConvention=CallingConvention.Cdecl, CharSet=CharSet.Ansi)] + private static extern IntPtr gzopen(string name, string mode); + + [DllImport("ZLIB1.dll", CallingConvention=CallingConvention.Cdecl)] + private static extern int gzclose(IntPtr gzFile); + + [DllImport("ZLIB1.dll", CallingConvention=CallingConvention.Cdecl)] + private static extern int gzwrite(IntPtr gzFile, int data, int length); + + [DllImport("ZLIB1.dll", CallingConvention=CallingConvention.Cdecl)] + private static extern int gzread(IntPtr gzFile, int data, int length); + + [DllImport("ZLIB1.dll", CallingConvention=CallingConvention.Cdecl)] + private static extern int gzgetc(IntPtr gzFile); + + [DllImport("ZLIB1.dll", CallingConvention=CallingConvention.Cdecl)] + private static extern int gzputc(IntPtr gzFile, int c); + + #endregion + + #region Private data + private IntPtr _gzFile; + private bool _isDisposed = false; + private bool _isWriting; + #endregion + + #region Constructors + /// + /// Creates a new file as a writeable GZipStream + /// + /// The name of the compressed file to create + /// The compression level to use when adding data + /// If an error occurred in the internal zlib function + public GZipStream(string fileName, CompressLevel level) + { + _isWriting = true; + _gzFile = gzopen(fileName, String.Format("wb{0}", (int)level)); + if (_gzFile == IntPtr.Zero) + throw new ZLibException(-1, "Could not open " + fileName); + } + + /// + /// Opens an existing file as a readable GZipStream + /// + /// The name of the file to open + /// If an error occurred in the internal zlib function + public GZipStream(string fileName) + { + _isWriting = false; + _gzFile = gzopen(fileName, "rb"); + if (_gzFile == IntPtr.Zero) + throw new ZLibException(-1, "Could not open " + fileName); + + } + #endregion + + #region Access properties + /// + /// Returns true of this stream can be read from, false otherwise + /// + public override bool CanRead + { + get + { + return !_isWriting; + } + } + + + /// + /// Returns false. + /// + public override bool CanSeek + { + get + { + return false; + } + } + + /// + /// Returns true if this tsream is writeable, false otherwise + /// + public override bool CanWrite + { + get + { + return _isWriting; + } + } + #endregion + + #region Destructor & IDispose stuff + + /// + /// Destroys this instance + /// + ~GZipStream() + { + cleanUp(false); + } + + /// + /// Closes the external file handle + /// + public void Dispose() + { + cleanUp(true); + } + + // Does the actual closing of the file handle. + private void cleanUp(bool isDisposing) + { + if (!_isDisposed) + { + gzclose(_gzFile); + _isDisposed = true; + } + } + #endregion + + #region Basic reading and writing + /// + /// Attempts to read a number of bytes from the stream. + /// + /// The destination data buffer + /// The index of the first destination byte in buffer + /// The number of bytes requested + /// The number of bytes read + /// If buffer is null + /// If count or offset are negative + /// If offset + count is > buffer.Length + /// If this stream is not readable. + /// If this stream has been disposed. + public override int Read(byte[] buffer, int offset, int count) + { + if (!CanRead) throw new NotSupportedException(); + if (buffer == null) throw new ArgumentNullException(); + if (offset < 0 || count < 0) throw new ArgumentOutOfRangeException(); + if ((offset+count) > buffer.Length) throw new ArgumentException(); + if (_isDisposed) throw new ObjectDisposedException("GZipStream"); + + GCHandle h = GCHandle.Alloc(buffer, GCHandleType.Pinned); + int result; + try + { + result = gzread(_gzFile, h.AddrOfPinnedObject().ToInt32() + offset, count); + if (result < 0) + throw new IOException(); + } + finally + { + h.Free(); + } + return result; + } + + /// + /// Attempts to read a single byte from the stream. + /// + /// The byte that was read, or -1 in case of error or End-Of-File + public override int ReadByte() + { + if (!CanRead) throw new NotSupportedException(); + if (_isDisposed) throw new ObjectDisposedException("GZipStream"); + return gzgetc(_gzFile); + } + + /// + /// Writes a number of bytes to the stream + /// + /// + /// + /// + /// If buffer is null + /// If count or offset are negative + /// If offset + count is > buffer.Length + /// If this stream is not writeable. + /// If this stream has been disposed. + public override void Write(byte[] buffer, int offset, int count) + { + if (!CanWrite) throw new NotSupportedException(); + if (buffer == null) throw new ArgumentNullException(); + if (offset < 0 || count < 0) throw new ArgumentOutOfRangeException(); + if ((offset+count) > buffer.Length) throw new ArgumentException(); + if (_isDisposed) throw new ObjectDisposedException("GZipStream"); + + GCHandle h = GCHandle.Alloc(buffer, GCHandleType.Pinned); + try + { + int result = gzwrite(_gzFile, h.AddrOfPinnedObject().ToInt32() + offset, count); + if (result < 0) + throw new IOException(); + } + finally + { + h.Free(); + } + } + + /// + /// Writes a single byte to the stream + /// + /// The byte to add to the stream. + /// If this stream is not writeable. + /// If this stream has been disposed. + public override void WriteByte(byte value) + { + if (!CanWrite) throw new NotSupportedException(); + if (_isDisposed) throw new ObjectDisposedException("GZipStream"); + + int result = gzputc(_gzFile, (int)value); + if (result < 0) + throw new IOException(); + } + #endregion + + #region Position & length stuff + /// + /// Not supported. + /// + /// + /// Always thrown + public override void SetLength(long value) + { + throw new NotSupportedException(); + } + + /// + /// Not supported. + /// + /// + /// + /// + /// Always thrown + public override long Seek(long offset, SeekOrigin origin) + { + throw new NotSupportedException(); + } + + /// + /// Flushes the GZipStream. + /// + /// In this implementation, this method does nothing. This is because excessive + /// flushing may degrade the achievable compression rates. + public override void Flush() + { + // left empty on purpose + } + + /// + /// Gets/sets the current position in the GZipStream. Not supported. + /// + /// In this implementation this property is not supported + /// Always thrown + public override long Position + { + get + { + throw new NotSupportedException(); + } + set + { + throw new NotSupportedException(); + } + } + + /// + /// Gets the size of the stream. Not supported. + /// + /// In this implementation this property is not supported + /// Always thrown + public override long Length + { + get + { + throw new NotSupportedException(); + } + } + #endregion + } +} diff --git a/thirdparty/zlib-1.3.1/contrib/dotzlib/DotZLib/Inflater.cs b/proj-web/thirdparty/zlib-1.3.1/contrib/dotzlib/DotZLib/Inflater.cs similarity index 97% rename from thirdparty/zlib-1.3.1/contrib/dotzlib/DotZLib/Inflater.cs rename to proj-web/thirdparty/zlib-1.3.1/contrib/dotzlib/DotZLib/Inflater.cs index 8ed5451..d295f26 100644 --- a/thirdparty/zlib-1.3.1/contrib/dotzlib/DotZLib/Inflater.cs +++ b/proj-web/thirdparty/zlib-1.3.1/contrib/dotzlib/DotZLib/Inflater.cs @@ -1,105 +1,105 @@ -// -// Copyright Henrik Ravn 2004 -// -// Use, modification and distribution are subject to the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// - -using System; -using System.Diagnostics; -using System.Runtime.InteropServices; - -namespace DotZLib -{ - - /// - /// Implements a data decompressor, using the inflate algorithm in the ZLib dll - /// - public class Inflater : CodecBase - { - #region Dll imports - [DllImport("ZLIB1.dll", CallingConvention=CallingConvention.Cdecl, CharSet=CharSet.Ansi)] - private static extern int inflateInit_(ref ZStream sz, string vs, int size); - - [DllImport("ZLIB1.dll", CallingConvention=CallingConvention.Cdecl)] - private static extern int inflate(ref ZStream sz, int flush); - - [DllImport("ZLIB1.dll", CallingConvention=CallingConvention.Cdecl)] - private static extern int inflateReset(ref ZStream sz); - - [DllImport("ZLIB1.dll", CallingConvention=CallingConvention.Cdecl)] - private static extern int inflateEnd(ref ZStream sz); - #endregion - - /// - /// Constructs an new instance of the Inflater - /// - public Inflater() : base() - { - int retval = inflateInit_(ref _ztream, Info.Version, Marshal.SizeOf(_ztream)); - if (retval != 0) - throw new ZLibException(retval, "Could not initialize inflater"); - - resetOutput(); - } - - - /// - /// Adds more data to the codec to be processed. - /// - /// Byte array containing the data to be added to the codec - /// The index of the first byte to add from data - /// The number of bytes to add - /// Adding data may, or may not, raise the DataAvailable event - public override void Add(byte[] data, int offset, int count) - { - if (data == null) throw new ArgumentNullException(); - if (offset < 0 || count < 0) throw new ArgumentOutOfRangeException(); - if ((offset+count) > data.Length) throw new ArgumentException(); - - int total = count; - int inputIndex = offset; - int err = 0; - - while (err >= 0 && inputIndex < total) - { - copyInput(data, inputIndex, Math.Min(total - inputIndex, kBufferSize)); - err = inflate(ref _ztream, (int)FlushTypes.None); - if (err == 0) - while (_ztream.avail_out == 0) - { - OnDataAvailable(); - err = inflate(ref _ztream, (int)FlushTypes.None); - } - - inputIndex += (int)_ztream.total_in; - } - setChecksum( _ztream.adler ); - } - - - /// - /// Finishes up any pending data that needs to be processed and handled. - /// - public override void Finish() - { - int err; - do - { - err = inflate(ref _ztream, (int)FlushTypes.Finish); - OnDataAvailable(); - } - while (err == 0); - setChecksum( _ztream.adler ); - inflateReset(ref _ztream); - resetOutput(); - } - - /// - /// Closes the internal zlib inflate stream - /// - protected override void CleanUp() { inflateEnd(ref _ztream); } - - - } -} +// +// Copyright Henrik Ravn 2004 +// +// Use, modification and distribution are subject to the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +// + +using System; +using System.Diagnostics; +using System.Runtime.InteropServices; + +namespace DotZLib +{ + + /// + /// Implements a data decompressor, using the inflate algorithm in the ZLib dll + /// + public class Inflater : CodecBase + { + #region Dll imports + [DllImport("ZLIB1.dll", CallingConvention=CallingConvention.Cdecl, CharSet=CharSet.Ansi)] + private static extern int inflateInit_(ref ZStream sz, string vs, int size); + + [DllImport("ZLIB1.dll", CallingConvention=CallingConvention.Cdecl)] + private static extern int inflate(ref ZStream sz, int flush); + + [DllImport("ZLIB1.dll", CallingConvention=CallingConvention.Cdecl)] + private static extern int inflateReset(ref ZStream sz); + + [DllImport("ZLIB1.dll", CallingConvention=CallingConvention.Cdecl)] + private static extern int inflateEnd(ref ZStream sz); + #endregion + + /// + /// Constructs an new instance of the Inflater + /// + public Inflater() : base() + { + int retval = inflateInit_(ref _ztream, Info.Version, Marshal.SizeOf(_ztream)); + if (retval != 0) + throw new ZLibException(retval, "Could not initialize inflater"); + + resetOutput(); + } + + + /// + /// Adds more data to the codec to be processed. + /// + /// Byte array containing the data to be added to the codec + /// The index of the first byte to add from data + /// The number of bytes to add + /// Adding data may, or may not, raise the DataAvailable event + public override void Add(byte[] data, int offset, int count) + { + if (data == null) throw new ArgumentNullException(); + if (offset < 0 || count < 0) throw new ArgumentOutOfRangeException(); + if ((offset+count) > data.Length) throw new ArgumentException(); + + int total = count; + int inputIndex = offset; + int err = 0; + + while (err >= 0 && inputIndex < total) + { + copyInput(data, inputIndex, Math.Min(total - inputIndex, kBufferSize)); + err = inflate(ref _ztream, (int)FlushTypes.None); + if (err == 0) + while (_ztream.avail_out == 0) + { + OnDataAvailable(); + err = inflate(ref _ztream, (int)FlushTypes.None); + } + + inputIndex += (int)_ztream.total_in; + } + setChecksum( _ztream.adler ); + } + + + /// + /// Finishes up any pending data that needs to be processed and handled. + /// + public override void Finish() + { + int err; + do + { + err = inflate(ref _ztream, (int)FlushTypes.Finish); + OnDataAvailable(); + } + while (err == 0); + setChecksum( _ztream.adler ); + inflateReset(ref _ztream); + resetOutput(); + } + + /// + /// Closes the internal zlib inflate stream + /// + protected override void CleanUp() { inflateEnd(ref _ztream); } + + + } +} diff --git a/thirdparty/zlib-1.3.1/contrib/dotzlib/DotZLib/UnitTests.cs b/proj-web/thirdparty/zlib-1.3.1/contrib/dotzlib/DotZLib/UnitTests.cs similarity index 96% rename from thirdparty/zlib-1.3.1/contrib/dotzlib/DotZLib/UnitTests.cs rename to proj-web/thirdparty/zlib-1.3.1/contrib/dotzlib/DotZLib/UnitTests.cs index d4f0980..d81554b 100644 --- a/thirdparty/zlib-1.3.1/contrib/dotzlib/DotZLib/UnitTests.cs +++ b/proj-web/thirdparty/zlib-1.3.1/contrib/dotzlib/DotZLib/UnitTests.cs @@ -1,274 +1,274 @@ -// -// © Copyright Henrik Ravn 2004 -// -// Use, modification and distribution are subject to the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// - -using System; -using System.Collections; -using System.IO; - -// uncomment the define below to include unit tests -//#define nunit -#if nunit -using NUnit.Framework; - -// Unit tests for the DotZLib class library -// ---------------------------------------- -// -// Use this with NUnit 2 from http://www.nunit.org -// - -namespace DotZLibTests -{ - using DotZLib; - - // helper methods - internal class Utils - { - public static bool byteArrEqual( byte[] lhs, byte[] rhs ) - { - if (lhs.Length != rhs.Length) - return false; - for (int i = lhs.Length-1; i >= 0; --i) - if (lhs[i] != rhs[i]) - return false; - return true; - } - - } - - - [TestFixture] - public class CircBufferTests - { - #region Circular buffer tests - [Test] - public void SinglePutGet() - { - CircularBuffer buf = new CircularBuffer(10); - Assert.AreEqual( 0, buf.Size ); - Assert.AreEqual( -1, buf.Get() ); - - Assert.IsTrue(buf.Put( 1 )); - Assert.AreEqual( 1, buf.Size ); - Assert.AreEqual( 1, buf.Get() ); - Assert.AreEqual( 0, buf.Size ); - Assert.AreEqual( -1, buf.Get() ); - } - - [Test] - public void BlockPutGet() - { - CircularBuffer buf = new CircularBuffer(10); - byte[] arr = {1,2,3,4,5,6,7,8,9,10}; - Assert.AreEqual( 10, buf.Put(arr,0,10) ); - Assert.AreEqual( 10, buf.Size ); - Assert.IsFalse( buf.Put(11) ); - Assert.AreEqual( 1, buf.Get() ); - Assert.IsTrue( buf.Put(11) ); - - byte[] arr2 = (byte[])arr.Clone(); - Assert.AreEqual( 9, buf.Get(arr2,1,9) ); - Assert.IsTrue( Utils.byteArrEqual(arr,arr2) ); - } - - #endregion - } - - [TestFixture] - public class ChecksumTests - { - #region CRC32 Tests - [Test] - public void CRC32_Null() - { - CRC32Checksum crc32 = new CRC32Checksum(); - Assert.AreEqual( 0, crc32.Value ); - - crc32 = new CRC32Checksum(1); - Assert.AreEqual( 1, crc32.Value ); - - crc32 = new CRC32Checksum(556); - Assert.AreEqual( 556, crc32.Value ); - } - - [Test] - public void CRC32_Data() - { - CRC32Checksum crc32 = new CRC32Checksum(); - byte[] data = { 1,2,3,4,5,6,7 }; - crc32.Update(data); - Assert.AreEqual( 0x70e46888, crc32.Value ); - - crc32 = new CRC32Checksum(); - crc32.Update("penguin"); - Assert.AreEqual( 0x0e5c1a120, crc32.Value ); - - crc32 = new CRC32Checksum(1); - crc32.Update("penguin"); - Assert.AreEqual(0x43b6aa94, crc32.Value); - - } - #endregion - - #region Adler tests - - [Test] - public void Adler_Null() - { - AdlerChecksum adler = new AdlerChecksum(); - Assert.AreEqual(0, adler.Value); - - adler = new AdlerChecksum(1); - Assert.AreEqual( 1, adler.Value ); - - adler = new AdlerChecksum(556); - Assert.AreEqual( 556, adler.Value ); - } - - [Test] - public void Adler_Data() - { - AdlerChecksum adler = new AdlerChecksum(1); - byte[] data = { 1,2,3,4,5,6,7 }; - adler.Update(data); - Assert.AreEqual( 0x5b001d, adler.Value ); - - adler = new AdlerChecksum(); - adler.Update("penguin"); - Assert.AreEqual(0x0bcf02f6, adler.Value ); - - adler = new AdlerChecksum(1); - adler.Update("penguin"); - Assert.AreEqual(0x0bd602f7, adler.Value); - - } - #endregion - } - - [TestFixture] - public class InfoTests - { - #region Info tests - [Test] - public void Info_Version() - { - Info info = new Info(); - Assert.AreEqual("1.3.1", Info.Version); - Assert.AreEqual(32, info.SizeOfUInt); - Assert.AreEqual(32, info.SizeOfULong); - Assert.AreEqual(32, info.SizeOfPointer); - Assert.AreEqual(32, info.SizeOfOffset); - } - #endregion - } - - [TestFixture] - public class DeflateInflateTests - { - #region Deflate tests - [Test] - public void Deflate_Init() - { - using (Deflater def = new Deflater(CompressLevel.Default)) - { - } - } - - private ArrayList compressedData = new ArrayList(); - private uint adler1; - - private ArrayList uncompressedData = new ArrayList(); - private uint adler2; - - public void CDataAvail(byte[] data, int startIndex, int count) - { - for (int i = 0; i < count; ++i) - compressedData.Add(data[i+startIndex]); - } - - [Test] - public void Deflate_Compress() - { - compressedData.Clear(); - - byte[] testData = new byte[35000]; - for (int i = 0; i < testData.Length; ++i) - testData[i] = 5; - - using (Deflater def = new Deflater((CompressLevel)5)) - { - def.DataAvailable += new DataAvailableHandler(CDataAvail); - def.Add(testData); - def.Finish(); - adler1 = def.Checksum; - } - } - #endregion - - #region Inflate tests - [Test] - public void Inflate_Init() - { - using (Inflater inf = new Inflater()) - { - } - } - - private void DDataAvail(byte[] data, int startIndex, int count) - { - for (int i = 0; i < count; ++i) - uncompressedData.Add(data[i+startIndex]); - } - - [Test] - public void Inflate_Expand() - { - uncompressedData.Clear(); - - using (Inflater inf = new Inflater()) - { - inf.DataAvailable += new DataAvailableHandler(DDataAvail); - inf.Add((byte[])compressedData.ToArray(typeof(byte))); - inf.Finish(); - adler2 = inf.Checksum; - } - Assert.AreEqual( adler1, adler2 ); - } - #endregion - } - - [TestFixture] - public class GZipStreamTests - { - #region GZipStream test - [Test] - public void GZipStream_WriteRead() - { - using (GZipStream gzOut = new GZipStream("gzstream.gz", CompressLevel.Best)) - { - BinaryWriter writer = new BinaryWriter(gzOut); - writer.Write("hi there"); - writer.Write(Math.PI); - writer.Write(42); - } - - using (GZipStream gzIn = new GZipStream("gzstream.gz")) - { - BinaryReader reader = new BinaryReader(gzIn); - string s = reader.ReadString(); - Assert.AreEqual("hi there",s); - double d = reader.ReadDouble(); - Assert.AreEqual(Math.PI, d); - int i = reader.ReadInt32(); - Assert.AreEqual(42,i); - } - - } - #endregion - } -} - -#endif +// +// © Copyright Henrik Ravn 2004 +// +// Use, modification and distribution are subject to the Boost Software License, Version 1.0. +// (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +// + +using System; +using System.Collections; +using System.IO; + +// uncomment the define below to include unit tests +//#define nunit +#if nunit +using NUnit.Framework; + +// Unit tests for the DotZLib class library +// ---------------------------------------- +// +// Use this with NUnit 2 from http://www.nunit.org +// + +namespace DotZLibTests +{ + using DotZLib; + + // helper methods + internal class Utils + { + public static bool byteArrEqual( byte[] lhs, byte[] rhs ) + { + if (lhs.Length != rhs.Length) + return false; + for (int i = lhs.Length-1; i >= 0; --i) + if (lhs[i] != rhs[i]) + return false; + return true; + } + + } + + + [TestFixture] + public class CircBufferTests + { + #region Circular buffer tests + [Test] + public void SinglePutGet() + { + CircularBuffer buf = new CircularBuffer(10); + Assert.AreEqual( 0, buf.Size ); + Assert.AreEqual( -1, buf.Get() ); + + Assert.IsTrue(buf.Put( 1 )); + Assert.AreEqual( 1, buf.Size ); + Assert.AreEqual( 1, buf.Get() ); + Assert.AreEqual( 0, buf.Size ); + Assert.AreEqual( -1, buf.Get() ); + } + + [Test] + public void BlockPutGet() + { + CircularBuffer buf = new CircularBuffer(10); + byte[] arr = {1,2,3,4,5,6,7,8,9,10}; + Assert.AreEqual( 10, buf.Put(arr,0,10) ); + Assert.AreEqual( 10, buf.Size ); + Assert.IsFalse( buf.Put(11) ); + Assert.AreEqual( 1, buf.Get() ); + Assert.IsTrue( buf.Put(11) ); + + byte[] arr2 = (byte[])arr.Clone(); + Assert.AreEqual( 9, buf.Get(arr2,1,9) ); + Assert.IsTrue( Utils.byteArrEqual(arr,arr2) ); + } + + #endregion + } + + [TestFixture] + public class ChecksumTests + { + #region CRC32 Tests + [Test] + public void CRC32_Null() + { + CRC32Checksum crc32 = new CRC32Checksum(); + Assert.AreEqual( 0, crc32.Value ); + + crc32 = new CRC32Checksum(1); + Assert.AreEqual( 1, crc32.Value ); + + crc32 = new CRC32Checksum(556); + Assert.AreEqual( 556, crc32.Value ); + } + + [Test] + public void CRC32_Data() + { + CRC32Checksum crc32 = new CRC32Checksum(); + byte[] data = { 1,2,3,4,5,6,7 }; + crc32.Update(data); + Assert.AreEqual( 0x70e46888, crc32.Value ); + + crc32 = new CRC32Checksum(); + crc32.Update("penguin"); + Assert.AreEqual( 0x0e5c1a120, crc32.Value ); + + crc32 = new CRC32Checksum(1); + crc32.Update("penguin"); + Assert.AreEqual(0x43b6aa94, crc32.Value); + + } + #endregion + + #region Adler tests + + [Test] + public void Adler_Null() + { + AdlerChecksum adler = new AdlerChecksum(); + Assert.AreEqual(0, adler.Value); + + adler = new AdlerChecksum(1); + Assert.AreEqual( 1, adler.Value ); + + adler = new AdlerChecksum(556); + Assert.AreEqual( 556, adler.Value ); + } + + [Test] + public void Adler_Data() + { + AdlerChecksum adler = new AdlerChecksum(1); + byte[] data = { 1,2,3,4,5,6,7 }; + adler.Update(data); + Assert.AreEqual( 0x5b001d, adler.Value ); + + adler = new AdlerChecksum(); + adler.Update("penguin"); + Assert.AreEqual(0x0bcf02f6, adler.Value ); + + adler = new AdlerChecksum(1); + adler.Update("penguin"); + Assert.AreEqual(0x0bd602f7, adler.Value); + + } + #endregion + } + + [TestFixture] + public class InfoTests + { + #region Info tests + [Test] + public void Info_Version() + { + Info info = new Info(); + Assert.AreEqual("1.3.1", Info.Version); + Assert.AreEqual(32, info.SizeOfUInt); + Assert.AreEqual(32, info.SizeOfULong); + Assert.AreEqual(32, info.SizeOfPointer); + Assert.AreEqual(32, info.SizeOfOffset); + } + #endregion + } + + [TestFixture] + public class DeflateInflateTests + { + #region Deflate tests + [Test] + public void Deflate_Init() + { + using (Deflater def = new Deflater(CompressLevel.Default)) + { + } + } + + private ArrayList compressedData = new ArrayList(); + private uint adler1; + + private ArrayList uncompressedData = new ArrayList(); + private uint adler2; + + public void CDataAvail(byte[] data, int startIndex, int count) + { + for (int i = 0; i < count; ++i) + compressedData.Add(data[i+startIndex]); + } + + [Test] + public void Deflate_Compress() + { + compressedData.Clear(); + + byte[] testData = new byte[35000]; + for (int i = 0; i < testData.Length; ++i) + testData[i] = 5; + + using (Deflater def = new Deflater((CompressLevel)5)) + { + def.DataAvailable += new DataAvailableHandler(CDataAvail); + def.Add(testData); + def.Finish(); + adler1 = def.Checksum; + } + } + #endregion + + #region Inflate tests + [Test] + public void Inflate_Init() + { + using (Inflater inf = new Inflater()) + { + } + } + + private void DDataAvail(byte[] data, int startIndex, int count) + { + for (int i = 0; i < count; ++i) + uncompressedData.Add(data[i+startIndex]); + } + + [Test] + public void Inflate_Expand() + { + uncompressedData.Clear(); + + using (Inflater inf = new Inflater()) + { + inf.DataAvailable += new DataAvailableHandler(DDataAvail); + inf.Add((byte[])compressedData.ToArray(typeof(byte))); + inf.Finish(); + adler2 = inf.Checksum; + } + Assert.AreEqual( adler1, adler2 ); + } + #endregion + } + + [TestFixture] + public class GZipStreamTests + { + #region GZipStream test + [Test] + public void GZipStream_WriteRead() + { + using (GZipStream gzOut = new GZipStream("gzstream.gz", CompressLevel.Best)) + { + BinaryWriter writer = new BinaryWriter(gzOut); + writer.Write("hi there"); + writer.Write(Math.PI); + writer.Write(42); + } + + using (GZipStream gzIn = new GZipStream("gzstream.gz")) + { + BinaryReader reader = new BinaryReader(gzIn); + string s = reader.ReadString(); + Assert.AreEqual("hi there",s); + double d = reader.ReadDouble(); + Assert.AreEqual(Math.PI, d); + int i = reader.ReadInt32(); + Assert.AreEqual(42,i); + } + + } + #endregion + } +} + +#endif diff --git a/thirdparty/zlib-1.3.1/contrib/dotzlib/LICENSE_1_0.txt b/proj-web/thirdparty/zlib-1.3.1/contrib/dotzlib/LICENSE_1_0.txt similarity index 96% rename from thirdparty/zlib-1.3.1/contrib/dotzlib/LICENSE_1_0.txt rename to proj-web/thirdparty/zlib-1.3.1/contrib/dotzlib/LICENSE_1_0.txt index 30aac2c..127a5bc 100644 --- a/thirdparty/zlib-1.3.1/contrib/dotzlib/LICENSE_1_0.txt +++ b/proj-web/thirdparty/zlib-1.3.1/contrib/dotzlib/LICENSE_1_0.txt @@ -1,23 +1,23 @@ -Boost Software License - Version 1.0 - August 17th, 2003 - -Permission is hereby granted, free of charge, to any person or organization -obtaining a copy of the software and accompanying documentation covered by -this license (the "Software") to use, reproduce, display, distribute, -execute, and transmit the Software, and to prepare derivative works of the -Software, and to permit third-parties to whom the Software is furnished to -do so, all subject to the following: - -The copyright notices in the Software and this entire statement, including -the above license grant, this restriction and the following disclaimer, -must be included in all copies of the Software, in whole or in part, and -all derivative works of the Software, unless such copies or derivative -works are solely in the form of machine-executable object code generated by -a source language processor. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT -SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE -FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, -ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +Boost Software License - Version 1.0 - August 17th, 2003 + +Permission is hereby granted, free of charge, to any person or organization +obtaining a copy of the software and accompanying documentation covered by +this license (the "Software") to use, reproduce, display, distribute, +execute, and transmit the Software, and to prepare derivative works of the +Software, and to permit third-parties to whom the Software is furnished to +do so, all subject to the following: + +The copyright notices in the Software and this entire statement, including +the above license grant, this restriction and the following disclaimer, +must be included in all copies of the Software, in whole or in part, and +all derivative works of the Software, unless such copies or derivative +works are solely in the form of machine-executable object code generated by +a source language processor. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT +SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE +FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. \ No newline at end of file diff --git a/thirdparty/zlib-1.3.1/contrib/dotzlib/readme.txt b/proj-web/thirdparty/zlib-1.3.1/contrib/dotzlib/readme.txt similarity index 97% rename from thirdparty/zlib-1.3.1/contrib/dotzlib/readme.txt rename to proj-web/thirdparty/zlib-1.3.1/contrib/dotzlib/readme.txt index 47454fc..9675f41 100644 --- a/thirdparty/zlib-1.3.1/contrib/dotzlib/readme.txt +++ b/proj-web/thirdparty/zlib-1.3.1/contrib/dotzlib/readme.txt @@ -1,58 +1,58 @@ -This directory contains a .Net wrapper class library for the ZLib1.dll - -The wrapper includes support for inflating/deflating memory buffers, -.Net streaming wrappers for the gz streams part of zlib, and wrappers -for the checksum parts of zlib. See DotZLib/UnitTests.cs for examples. - -Directory structure: --------------------- - -LICENSE_1_0.txt - License file. -readme.txt - This file. -DotZLib.chm - Class library documentation -DotZLib.build - NAnt build file -DotZLib.sln - Microsoft Visual Studio 2003 solution file - -DotZLib\*.cs - Source files for the class library - -Unit tests: ------------ -The file DotZLib/UnitTests.cs contains unit tests for use with NUnit 2.1 or higher. -To include unit tests in the build, define nunit before building. - - -Build instructions: -------------------- - -1. Using Visual Studio.Net 2003: - Open DotZLib.sln in VS.Net and build from there. Output file (DotZLib.dll) - will be found ./DotZLib/bin/release or ./DotZLib/bin/debug, depending on - you are building the release or debug version of the library. Check - DotZLib/UnitTests.cs for instructions on how to include unit tests in the - build. - -2. Using NAnt: - Open a command prompt with access to the build environment and run nant - in the same directory as the DotZLib.build file. - You can define 2 properties on the nant command-line to control the build: - debug={true|false} to toggle between release/debug builds (default=true). - nunit={true|false} to include or exclude unit tests (default=true). - Also the target clean will remove binaries. - Output file (DotZLib.dll) will be found in either ./DotZLib/bin/release - or ./DotZLib/bin/debug, depending on whether you are building the release - or debug version of the library. - - Examples: - nant -D:debug=false -D:nunit=false - will build a release mode version of the library without unit tests. - nant - will build a debug version of the library with unit tests - nant clean - will remove all previously built files. - - ---------------------------------- -Copyright (c) Henrik Ravn 2004 - -Use, modification and distribution are subject to the Boost Software License, Version 1.0. -(See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +This directory contains a .Net wrapper class library for the ZLib1.dll + +The wrapper includes support for inflating/deflating memory buffers, +.Net streaming wrappers for the gz streams part of zlib, and wrappers +for the checksum parts of zlib. See DotZLib/UnitTests.cs for examples. + +Directory structure: +-------------------- + +LICENSE_1_0.txt - License file. +readme.txt - This file. +DotZLib.chm - Class library documentation +DotZLib.build - NAnt build file +DotZLib.sln - Microsoft Visual Studio 2003 solution file + +DotZLib\*.cs - Source files for the class library + +Unit tests: +----------- +The file DotZLib/UnitTests.cs contains unit tests for use with NUnit 2.1 or higher. +To include unit tests in the build, define nunit before building. + + +Build instructions: +------------------- + +1. Using Visual Studio.Net 2003: + Open DotZLib.sln in VS.Net and build from there. Output file (DotZLib.dll) + will be found ./DotZLib/bin/release or ./DotZLib/bin/debug, depending on + you are building the release or debug version of the library. Check + DotZLib/UnitTests.cs for instructions on how to include unit tests in the + build. + +2. Using NAnt: + Open a command prompt with access to the build environment and run nant + in the same directory as the DotZLib.build file. + You can define 2 properties on the nant command-line to control the build: + debug={true|false} to toggle between release/debug builds (default=true). + nunit={true|false} to include or exclude unit tests (default=true). + Also the target clean will remove binaries. + Output file (DotZLib.dll) will be found in either ./DotZLib/bin/release + or ./DotZLib/bin/debug, depending on whether you are building the release + or debug version of the library. + + Examples: + nant -D:debug=false -D:nunit=false + will build a release mode version of the library without unit tests. + nant + will build a debug version of the library with unit tests + nant clean + will remove all previously built files. + + +--------------------------------- +Copyright (c) Henrik Ravn 2004 + +Use, modification and distribution are subject to the Boost Software License, Version 1.0. +(See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/thirdparty/zlib-1.3.1/contrib/gcc_gvmat64/gvmat64.S b/proj-web/thirdparty/zlib-1.3.1/contrib/gcc_gvmat64/gvmat64.S similarity index 96% rename from thirdparty/zlib-1.3.1/contrib/gcc_gvmat64/gvmat64.S rename to proj-web/thirdparty/zlib-1.3.1/contrib/gcc_gvmat64/gvmat64.S index dd858dd..23309fa 100644 --- a/thirdparty/zlib-1.3.1/contrib/gcc_gvmat64/gvmat64.S +++ b/proj-web/thirdparty/zlib-1.3.1/contrib/gcc_gvmat64/gvmat64.S @@ -1,574 +1,574 @@ -/* -;uInt longest_match_x64( -; deflate_state *s, -; IPos cur_match); // current match - -; gvmat64.S -- Asm portion of the optimized longest_match for 32 bits x86_64 -; (AMD64 on Athlon 64, Opteron, Phenom -; and Intel EM64T on Pentium 4 with EM64T, Pentium D, Core 2 Duo, Core I5/I7) -; this file is translation from gvmat64.asm to GCC 4.x (for Linux, Mac XCode) -; Copyright (C) 1995-2010 Jean-loup Gailly, Brian Raiter and Gilles Vollant. -; -; File written by Gilles Vollant, by converting to assembly the longest_match -; from Jean-loup Gailly in deflate.c of zLib and infoZip zip. -; and by taking inspiration on asm686 with masm, optimised assembly code -; from Brian Raiter, written 1998 -; -; This software is provided 'as-is', without any express or implied -; warranty. In no event will the authors be held liable for any damages -; arising from the use of this software. -; -; Permission is granted to anyone to use this software for any purpose, -; including commercial applications, and to alter it and redistribute it -; freely, subject to the following restrictions: -; -; 1. The origin of this software must not be misrepresented; you must not -; claim that you wrote the original software. If you use this software -; in a product, an acknowledgment in the product documentation would be -; appreciated but is not required. -; 2. Altered source versions must be plainly marked as such, and must not be -; misrepresented as being the original software -; 3. This notice may not be removed or altered from any source distribution. -; -; http://www.zlib.net -; http://www.winimage.com/zLibDll -; http://www.muppetlabs.com/~breadbox/software/assembly.html -; -; to compile this file for zLib, I use option: -; gcc -c -arch x86_64 gvmat64.S - - -;uInt longest_match(s, cur_match) -; deflate_state *s; -; IPos cur_match; // current match / -; -; with XCode for Mac, I had strange error with some jump on intel syntax -; this is why BEFORE_JMP and AFTER_JMP are used - */ - - -#define BEFORE_JMP .att_syntax -#define AFTER_JMP .intel_syntax noprefix - -#ifndef NO_UNDERLINE -# define match_init _match_init -# define longest_match _longest_match -#endif - -.intel_syntax noprefix - -.globl match_init, longest_match -.text -longest_match: - - - -#define LocalVarsSize 96 -/* -; register used : rax,rbx,rcx,rdx,rsi,rdi,r8,r9,r10,r11,r12 -; free register : r14,r15 -; register can be saved : rsp -*/ - -#define chainlenwmask (rsp + 8 - LocalVarsSize) -#define nicematch (rsp + 16 - LocalVarsSize) - -#define save_rdi (rsp + 24 - LocalVarsSize) -#define save_rsi (rsp + 32 - LocalVarsSize) -#define save_rbx (rsp + 40 - LocalVarsSize) -#define save_rbp (rsp + 48 - LocalVarsSize) -#define save_r12 (rsp + 56 - LocalVarsSize) -#define save_r13 (rsp + 64 - LocalVarsSize) -#define save_r14 (rsp + 72 - LocalVarsSize) -#define save_r15 (rsp + 80 - LocalVarsSize) - - -/* -; all the +4 offsets are due to the addition of pending_buf_size (in zlib -; in the deflate_state structure since the asm code was first written -; (if you compile with zlib 1.0.4 or older, remove the +4). -; Note : these value are good with a 8 bytes boundary pack structure -*/ - -#define MAX_MATCH 258 -#define MIN_MATCH 3 -#define MIN_LOOKAHEAD (MAX_MATCH+MIN_MATCH+1) - -/* -;;; Offsets for fields in the deflate_state structure. These numbers -;;; are calculated from the definition of deflate_state, with the -;;; assumption that the compiler will dword-align the fields. (Thus, -;;; changing the definition of deflate_state could easily cause this -;;; program to crash horribly, without so much as a warning at -;;; compile time. Sigh.) - -; all the +zlib1222add offsets are due to the addition of fields -; in zlib in the deflate_state structure since the asm code was first written -; (if you compile with zlib 1.0.4 or older, use "zlib1222add equ (-4)"). -; (if you compile with zlib between 1.0.5 and 1.2.2.1, use "zlib1222add equ 0"). -; if you compile with zlib 1.2.2.2 or later , use "zlib1222add equ 8"). -*/ - - - -/* you can check the structure offset by running - -#include -#include -#include "deflate.h" - -void print_depl() -{ -deflate_state ds; -deflate_state *s=&ds; -printf("size pointer=%u\n",(int)sizeof(void*)); - -printf("#define dsWSize %u\n",(int)(((char*)&(s->w_size))-((char*)s))); -printf("#define dsWMask %u\n",(int)(((char*)&(s->w_mask))-((char*)s))); -printf("#define dsWindow %u\n",(int)(((char*)&(s->window))-((char*)s))); -printf("#define dsPrev %u\n",(int)(((char*)&(s->prev))-((char*)s))); -printf("#define dsMatchLen %u\n",(int)(((char*)&(s->match_length))-((char*)s))); -printf("#define dsPrevMatch %u\n",(int)(((char*)&(s->prev_match))-((char*)s))); -printf("#define dsStrStart %u\n",(int)(((char*)&(s->strstart))-((char*)s))); -printf("#define dsMatchStart %u\n",(int)(((char*)&(s->match_start))-((char*)s))); -printf("#define dsLookahead %u\n",(int)(((char*)&(s->lookahead))-((char*)s))); -printf("#define dsPrevLen %u\n",(int)(((char*)&(s->prev_length))-((char*)s))); -printf("#define dsMaxChainLen %u\n",(int)(((char*)&(s->max_chain_length))-((char*)s))); -printf("#define dsGoodMatch %u\n",(int)(((char*)&(s->good_match))-((char*)s))); -printf("#define dsNiceMatch %u\n",(int)(((char*)&(s->nice_match))-((char*)s))); -} -*/ - -#define dsWSize 68 -#define dsWMask 76 -#define dsWindow 80 -#define dsPrev 96 -#define dsMatchLen 144 -#define dsPrevMatch 148 -#define dsStrStart 156 -#define dsMatchStart 160 -#define dsLookahead 164 -#define dsPrevLen 168 -#define dsMaxChainLen 172 -#define dsGoodMatch 188 -#define dsNiceMatch 192 - -#define window_size [ rcx + dsWSize] -#define WMask [ rcx + dsWMask] -#define window_ad [ rcx + dsWindow] -#define prev_ad [ rcx + dsPrev] -#define strstart [ rcx + dsStrStart] -#define match_start [ rcx + dsMatchStart] -#define Lookahead [ rcx + dsLookahead] //; 0ffffffffh on infozip -#define prev_length [ rcx + dsPrevLen] -#define max_chain_length [ rcx + dsMaxChainLen] -#define good_match [ rcx + dsGoodMatch] -#define nice_match [ rcx + dsNiceMatch] - -/* -; windows: -; parameter 1 in rcx(deflate state s), param 2 in rdx (cur match) - -; see http://weblogs.asp.net/oldnewthing/archive/2004/01/14/58579.aspx and -; http://msdn.microsoft.com/library/en-us/kmarch/hh/kmarch/64bitAMD_8e951dd2-ee77-4728-8702-55ce4b5dd24a.xml.asp -; -; All registers must be preserved across the call, except for -; rax, rcx, rdx, r8, r9, r10, and r11, which are scratch. - -; -; gcc on macosx-linux: -; see http://www.x86-64.org/documentation/abi-0.99.pdf -; param 1 in rdi, param 2 in rsi -; rbx, rsp, rbp, r12 to r15 must be preserved - -;;; Save registers that the compiler may be using, and adjust esp to -;;; make room for our stack frame. - - -;;; Retrieve the function arguments. r8d will hold cur_match -;;; throughout the entire function. edx will hold the pointer to the -;;; deflate_state structure during the function's setup (before -;;; entering the main loop. - -; ms: parameter 1 in rcx (deflate_state* s), param 2 in edx -> r8 (cur match) -; mac: param 1 in rdi, param 2 rsi -; this clear high 32 bits of r8, which can be garbage in both r8 and rdx -*/ - mov [save_rbx],rbx - mov [save_rbp],rbp - - - mov rcx,rdi - - mov r8d,esi - - - mov [save_r12],r12 - mov [save_r13],r13 - mov [save_r14],r14 - mov [save_r15],r15 - - -//;;; uInt wmask = s->w_mask; -//;;; unsigned chain_length = s->max_chain_length; -//;;; if (s->prev_length >= s->good_match) { -//;;; chain_length >>= 2; -//;;; } - - - mov edi, prev_length - mov esi, good_match - mov eax, WMask - mov ebx, max_chain_length - cmp edi, esi - jl LastMatchGood - shr ebx, 2 -LastMatchGood: - -//;;; chainlen is decremented once beforehand so that the function can -//;;; use the sign flag instead of the zero flag for the exit test. -//;;; It is then shifted into the high word, to make room for the wmask -//;;; value, which it will always accompany. - - dec ebx - shl ebx, 16 - or ebx, eax - -//;;; on zlib only -//;;; if ((uInt)nice_match > s->lookahead) nice_match = s->lookahead; - - - - mov eax, nice_match - mov [chainlenwmask], ebx - mov r10d, Lookahead - cmp r10d, eax - cmovnl r10d, eax - mov [nicematch],r10d - - - -//;;; register Bytef *scan = s->window + s->strstart; - mov r10, window_ad - mov ebp, strstart - lea r13, [r10 + rbp] - -//;;; Determine how many bytes the scan ptr is off from being -//;;; dword-aligned. - - mov r9,r13 - neg r13 - and r13,3 - -//;;; IPos limit = s->strstart > (IPos)MAX_DIST(s) ? -//;;; s->strstart - (IPos)MAX_DIST(s) : NIL; - - - mov eax, window_size - sub eax, MIN_LOOKAHEAD - - - xor edi,edi - sub ebp, eax - - mov r11d, prev_length - - cmovng ebp,edi - -//;;; int best_len = s->prev_length; - - -//;;; Store the sum of s->window + best_len in esi locally, and in esi. - - lea rsi,[r10+r11] - -//;;; register ush scan_start = *(ushf*)scan; -//;;; register ush scan_end = *(ushf*)(scan+best_len-1); -//;;; Posf *prev = s->prev; - - movzx r12d,word ptr [r9] - movzx ebx, word ptr [r9 + r11 - 1] - - mov rdi, prev_ad - -//;;; Jump into the main loop. - - mov edx, [chainlenwmask] - - cmp bx,word ptr [rsi + r8 - 1] - jz LookupLoopIsZero - - - -LookupLoop1: - and r8d, edx - - movzx r8d, word ptr [rdi + r8*2] - cmp r8d, ebp - jbe LeaveNow - - - - sub edx, 0x00010000 - BEFORE_JMP - js LeaveNow - AFTER_JMP - -LoopEntry1: - cmp bx,word ptr [rsi + r8 - 1] - BEFORE_JMP - jz LookupLoopIsZero - AFTER_JMP - -LookupLoop2: - and r8d, edx - - movzx r8d, word ptr [rdi + r8*2] - cmp r8d, ebp - BEFORE_JMP - jbe LeaveNow - AFTER_JMP - sub edx, 0x00010000 - BEFORE_JMP - js LeaveNow - AFTER_JMP - -LoopEntry2: - cmp bx,word ptr [rsi + r8 - 1] - BEFORE_JMP - jz LookupLoopIsZero - AFTER_JMP - -LookupLoop4: - and r8d, edx - - movzx r8d, word ptr [rdi + r8*2] - cmp r8d, ebp - BEFORE_JMP - jbe LeaveNow - AFTER_JMP - sub edx, 0x00010000 - BEFORE_JMP - js LeaveNow - AFTER_JMP - -LoopEntry4: - - cmp bx,word ptr [rsi + r8 - 1] - BEFORE_JMP - jnz LookupLoop1 - jmp LookupLoopIsZero - AFTER_JMP -/* -;;; do { -;;; match = s->window + cur_match; -;;; if (*(ushf*)(match+best_len-1) != scan_end || -;;; *(ushf*)match != scan_start) continue; -;;; [...] -;;; } while ((cur_match = prev[cur_match & wmask]) > limit -;;; && --chain_length != 0); -;;; -;;; Here is the inner loop of the function. The function will spend the -;;; majority of its time in this loop, and majority of that time will -;;; be spent in the first ten instructions. -;;; -;;; Within this loop: -;;; ebx = scanend -;;; r8d = curmatch -;;; edx = chainlenwmask - i.e., ((chainlen << 16) | wmask) -;;; esi = windowbestlen - i.e., (window + bestlen) -;;; edi = prev -;;; ebp = limit -*/ -.balign 16 -LookupLoop: - and r8d, edx - - movzx r8d, word ptr [rdi + r8*2] - cmp r8d, ebp - BEFORE_JMP - jbe LeaveNow - AFTER_JMP - sub edx, 0x00010000 - BEFORE_JMP - js LeaveNow - AFTER_JMP - -LoopEntry: - - cmp bx,word ptr [rsi + r8 - 1] - BEFORE_JMP - jnz LookupLoop1 - AFTER_JMP -LookupLoopIsZero: - cmp r12w, word ptr [r10 + r8] - BEFORE_JMP - jnz LookupLoop1 - AFTER_JMP - - -//;;; Store the current value of chainlen. - mov [chainlenwmask], edx -/* -;;; Point edi to the string under scrutiny, and esi to the string we -;;; are hoping to match it up with. In actuality, esi and edi are -;;; both pointed (MAX_MATCH_8 - scanalign) bytes ahead, and edx is -;;; initialized to -(MAX_MATCH_8 - scanalign). -*/ - lea rsi,[r8+r10] - mov rdx, 0xfffffffffffffef8 //; -(MAX_MATCH_8) - lea rsi, [rsi + r13 + 0x0108] //;MAX_MATCH_8] - lea rdi, [r9 + r13 + 0x0108] //;MAX_MATCH_8] - - prefetcht1 [rsi+rdx] - prefetcht1 [rdi+rdx] - -/* -;;; Test the strings for equality, 8 bytes at a time. At the end, -;;; adjust rdx so that it is offset to the exact byte that mismatched. -;;; -;;; We already know at this point that the first three bytes of the -;;; strings match each other, and they can be safely passed over before -;;; starting the compare loop. So what this code does is skip over 0-3 -;;; bytes, as much as necessary in order to dword-align the edi -;;; pointer. (rsi will still be misaligned three times out of four.) -;;; -;;; It should be confessed that this loop usually does not represent -;;; much of the total running time. Replacing it with a more -;;; straightforward "rep cmpsb" would not drastically degrade -;;; performance. -*/ - -LoopCmps: - mov rax, [rsi + rdx] - xor rax, [rdi + rdx] - jnz LeaveLoopCmps - - mov rax, [rsi + rdx + 8] - xor rax, [rdi + rdx + 8] - jnz LeaveLoopCmps8 - - - mov rax, [rsi + rdx + 8+8] - xor rax, [rdi + rdx + 8+8] - jnz LeaveLoopCmps16 - - add rdx,8+8+8 - - BEFORE_JMP - jnz LoopCmps - jmp LenMaximum - AFTER_JMP - -LeaveLoopCmps16: add rdx,8 -LeaveLoopCmps8: add rdx,8 -LeaveLoopCmps: - - test eax, 0x0000FFFF - jnz LenLower - - test eax,0xffffffff - - jnz LenLower32 - - add rdx,4 - shr rax,32 - or ax,ax - BEFORE_JMP - jnz LenLower - AFTER_JMP - -LenLower32: - shr eax,16 - add rdx,2 - -LenLower: - sub al, 1 - adc rdx, 0 -//;;; Calculate the length of the match. If it is longer than MAX_MATCH, -//;;; then automatically accept it as the best possible match and leave. - - lea rax, [rdi + rdx] - sub rax, r9 - cmp eax, MAX_MATCH - BEFORE_JMP - jge LenMaximum - AFTER_JMP -/* -;;; If the length of the match is not longer than the best match we -;;; have so far, then forget it and return to the lookup loop. -;/////////////////////////////////// -*/ - cmp eax, r11d - jg LongerMatch - - lea rsi,[r10+r11] - - mov rdi, prev_ad - mov edx, [chainlenwmask] - BEFORE_JMP - jmp LookupLoop - AFTER_JMP -/* -;;; s->match_start = cur_match; -;;; best_len = len; -;;; if (len >= nice_match) break; -;;; scan_end = *(ushf*)(scan+best_len-1); -*/ -LongerMatch: - mov r11d, eax - mov match_start, r8d - cmp eax, [nicematch] - BEFORE_JMP - jge LeaveNow - AFTER_JMP - - lea rsi,[r10+rax] - - movzx ebx, word ptr [r9 + rax - 1] - mov rdi, prev_ad - mov edx, [chainlenwmask] - BEFORE_JMP - jmp LookupLoop - AFTER_JMP - -//;;; Accept the current string, with the maximum possible length. - -LenMaximum: - mov r11d,MAX_MATCH - mov match_start, r8d - -//;;; if ((uInt)best_len <= s->lookahead) return (uInt)best_len; -//;;; return s->lookahead; - -LeaveNow: - mov eax, Lookahead - cmp r11d, eax - cmovng eax, r11d - - - -//;;; Restore the stack and return from whence we came. - - -// mov rsi,[save_rsi] -// mov rdi,[save_rdi] - mov rbx,[save_rbx] - mov rbp,[save_rbp] - mov r12,[save_r12] - mov r13,[save_r13] - mov r14,[save_r14] - mov r15,[save_r15] - - - ret 0 -//; please don't remove this string ! -//; Your can freely use gvmat64 in any free or commercial app -//; but it is far better don't remove the string in the binary! - // db 0dh,0ah,"asm686 with masm, optimised assembly code from Brian Raiter, written 1998, converted to amd 64 by Gilles Vollant 2005",0dh,0ah,0 - - -match_init: - ret 0 - - +/* +;uInt longest_match_x64( +; deflate_state *s, +; IPos cur_match); // current match + +; gvmat64.S -- Asm portion of the optimized longest_match for 32 bits x86_64 +; (AMD64 on Athlon 64, Opteron, Phenom +; and Intel EM64T on Pentium 4 with EM64T, Pentium D, Core 2 Duo, Core I5/I7) +; this file is translation from gvmat64.asm to GCC 4.x (for Linux, Mac XCode) +; Copyright (C) 1995-2010 Jean-loup Gailly, Brian Raiter and Gilles Vollant. +; +; File written by Gilles Vollant, by converting to assembly the longest_match +; from Jean-loup Gailly in deflate.c of zLib and infoZip zip. +; and by taking inspiration on asm686 with masm, optimised assembly code +; from Brian Raiter, written 1998 +; +; This software is provided 'as-is', without any express or implied +; warranty. In no event will the authors be held liable for any damages +; arising from the use of this software. +; +; Permission is granted to anyone to use this software for any purpose, +; including commercial applications, and to alter it and redistribute it +; freely, subject to the following restrictions: +; +; 1. The origin of this software must not be misrepresented; you must not +; claim that you wrote the original software. If you use this software +; in a product, an acknowledgment in the product documentation would be +; appreciated but is not required. +; 2. Altered source versions must be plainly marked as such, and must not be +; misrepresented as being the original software +; 3. This notice may not be removed or altered from any source distribution. +; +; http://www.zlib.net +; http://www.winimage.com/zLibDll +; http://www.muppetlabs.com/~breadbox/software/assembly.html +; +; to compile this file for zLib, I use option: +; gcc -c -arch x86_64 gvmat64.S + + +;uInt longest_match(s, cur_match) +; deflate_state *s; +; IPos cur_match; // current match / +; +; with XCode for Mac, I had strange error with some jump on intel syntax +; this is why BEFORE_JMP and AFTER_JMP are used + */ + + +#define BEFORE_JMP .att_syntax +#define AFTER_JMP .intel_syntax noprefix + +#ifndef NO_UNDERLINE +# define match_init _match_init +# define longest_match _longest_match +#endif + +.intel_syntax noprefix + +.globl match_init, longest_match +.text +longest_match: + + + +#define LocalVarsSize 96 +/* +; register used : rax,rbx,rcx,rdx,rsi,rdi,r8,r9,r10,r11,r12 +; free register : r14,r15 +; register can be saved : rsp +*/ + +#define chainlenwmask (rsp + 8 - LocalVarsSize) +#define nicematch (rsp + 16 - LocalVarsSize) + +#define save_rdi (rsp + 24 - LocalVarsSize) +#define save_rsi (rsp + 32 - LocalVarsSize) +#define save_rbx (rsp + 40 - LocalVarsSize) +#define save_rbp (rsp + 48 - LocalVarsSize) +#define save_r12 (rsp + 56 - LocalVarsSize) +#define save_r13 (rsp + 64 - LocalVarsSize) +#define save_r14 (rsp + 72 - LocalVarsSize) +#define save_r15 (rsp + 80 - LocalVarsSize) + + +/* +; all the +4 offsets are due to the addition of pending_buf_size (in zlib +; in the deflate_state structure since the asm code was first written +; (if you compile with zlib 1.0.4 or older, remove the +4). +; Note : these value are good with a 8 bytes boundary pack structure +*/ + +#define MAX_MATCH 258 +#define MIN_MATCH 3 +#define MIN_LOOKAHEAD (MAX_MATCH+MIN_MATCH+1) + +/* +;;; Offsets for fields in the deflate_state structure. These numbers +;;; are calculated from the definition of deflate_state, with the +;;; assumption that the compiler will dword-align the fields. (Thus, +;;; changing the definition of deflate_state could easily cause this +;;; program to crash horribly, without so much as a warning at +;;; compile time. Sigh.) + +; all the +zlib1222add offsets are due to the addition of fields +; in zlib in the deflate_state structure since the asm code was first written +; (if you compile with zlib 1.0.4 or older, use "zlib1222add equ (-4)"). +; (if you compile with zlib between 1.0.5 and 1.2.2.1, use "zlib1222add equ 0"). +; if you compile with zlib 1.2.2.2 or later , use "zlib1222add equ 8"). +*/ + + + +/* you can check the structure offset by running + +#include +#include +#include "deflate.h" + +void print_depl() +{ +deflate_state ds; +deflate_state *s=&ds; +printf("size pointer=%u\n",(int)sizeof(void*)); + +printf("#define dsWSize %u\n",(int)(((char*)&(s->w_size))-((char*)s))); +printf("#define dsWMask %u\n",(int)(((char*)&(s->w_mask))-((char*)s))); +printf("#define dsWindow %u\n",(int)(((char*)&(s->window))-((char*)s))); +printf("#define dsPrev %u\n",(int)(((char*)&(s->prev))-((char*)s))); +printf("#define dsMatchLen %u\n",(int)(((char*)&(s->match_length))-((char*)s))); +printf("#define dsPrevMatch %u\n",(int)(((char*)&(s->prev_match))-((char*)s))); +printf("#define dsStrStart %u\n",(int)(((char*)&(s->strstart))-((char*)s))); +printf("#define dsMatchStart %u\n",(int)(((char*)&(s->match_start))-((char*)s))); +printf("#define dsLookahead %u\n",(int)(((char*)&(s->lookahead))-((char*)s))); +printf("#define dsPrevLen %u\n",(int)(((char*)&(s->prev_length))-((char*)s))); +printf("#define dsMaxChainLen %u\n",(int)(((char*)&(s->max_chain_length))-((char*)s))); +printf("#define dsGoodMatch %u\n",(int)(((char*)&(s->good_match))-((char*)s))); +printf("#define dsNiceMatch %u\n",(int)(((char*)&(s->nice_match))-((char*)s))); +} +*/ + +#define dsWSize 68 +#define dsWMask 76 +#define dsWindow 80 +#define dsPrev 96 +#define dsMatchLen 144 +#define dsPrevMatch 148 +#define dsStrStart 156 +#define dsMatchStart 160 +#define dsLookahead 164 +#define dsPrevLen 168 +#define dsMaxChainLen 172 +#define dsGoodMatch 188 +#define dsNiceMatch 192 + +#define window_size [ rcx + dsWSize] +#define WMask [ rcx + dsWMask] +#define window_ad [ rcx + dsWindow] +#define prev_ad [ rcx + dsPrev] +#define strstart [ rcx + dsStrStart] +#define match_start [ rcx + dsMatchStart] +#define Lookahead [ rcx + dsLookahead] //; 0ffffffffh on infozip +#define prev_length [ rcx + dsPrevLen] +#define max_chain_length [ rcx + dsMaxChainLen] +#define good_match [ rcx + dsGoodMatch] +#define nice_match [ rcx + dsNiceMatch] + +/* +; windows: +; parameter 1 in rcx(deflate state s), param 2 in rdx (cur match) + +; see http://weblogs.asp.net/oldnewthing/archive/2004/01/14/58579.aspx and +; http://msdn.microsoft.com/library/en-us/kmarch/hh/kmarch/64bitAMD_8e951dd2-ee77-4728-8702-55ce4b5dd24a.xml.asp +; +; All registers must be preserved across the call, except for +; rax, rcx, rdx, r8, r9, r10, and r11, which are scratch. + +; +; gcc on macosx-linux: +; see http://www.x86-64.org/documentation/abi-0.99.pdf +; param 1 in rdi, param 2 in rsi +; rbx, rsp, rbp, r12 to r15 must be preserved + +;;; Save registers that the compiler may be using, and adjust esp to +;;; make room for our stack frame. + + +;;; Retrieve the function arguments. r8d will hold cur_match +;;; throughout the entire function. edx will hold the pointer to the +;;; deflate_state structure during the function's setup (before +;;; entering the main loop. + +; ms: parameter 1 in rcx (deflate_state* s), param 2 in edx -> r8 (cur match) +; mac: param 1 in rdi, param 2 rsi +; this clear high 32 bits of r8, which can be garbage in both r8 and rdx +*/ + mov [save_rbx],rbx + mov [save_rbp],rbp + + + mov rcx,rdi + + mov r8d,esi + + + mov [save_r12],r12 + mov [save_r13],r13 + mov [save_r14],r14 + mov [save_r15],r15 + + +//;;; uInt wmask = s->w_mask; +//;;; unsigned chain_length = s->max_chain_length; +//;;; if (s->prev_length >= s->good_match) { +//;;; chain_length >>= 2; +//;;; } + + + mov edi, prev_length + mov esi, good_match + mov eax, WMask + mov ebx, max_chain_length + cmp edi, esi + jl LastMatchGood + shr ebx, 2 +LastMatchGood: + +//;;; chainlen is decremented once beforehand so that the function can +//;;; use the sign flag instead of the zero flag for the exit test. +//;;; It is then shifted into the high word, to make room for the wmask +//;;; value, which it will always accompany. + + dec ebx + shl ebx, 16 + or ebx, eax + +//;;; on zlib only +//;;; if ((uInt)nice_match > s->lookahead) nice_match = s->lookahead; + + + + mov eax, nice_match + mov [chainlenwmask], ebx + mov r10d, Lookahead + cmp r10d, eax + cmovnl r10d, eax + mov [nicematch],r10d + + + +//;;; register Bytef *scan = s->window + s->strstart; + mov r10, window_ad + mov ebp, strstart + lea r13, [r10 + rbp] + +//;;; Determine how many bytes the scan ptr is off from being +//;;; dword-aligned. + + mov r9,r13 + neg r13 + and r13,3 + +//;;; IPos limit = s->strstart > (IPos)MAX_DIST(s) ? +//;;; s->strstart - (IPos)MAX_DIST(s) : NIL; + + + mov eax, window_size + sub eax, MIN_LOOKAHEAD + + + xor edi,edi + sub ebp, eax + + mov r11d, prev_length + + cmovng ebp,edi + +//;;; int best_len = s->prev_length; + + +//;;; Store the sum of s->window + best_len in esi locally, and in esi. + + lea rsi,[r10+r11] + +//;;; register ush scan_start = *(ushf*)scan; +//;;; register ush scan_end = *(ushf*)(scan+best_len-1); +//;;; Posf *prev = s->prev; + + movzx r12d,word ptr [r9] + movzx ebx, word ptr [r9 + r11 - 1] + + mov rdi, prev_ad + +//;;; Jump into the main loop. + + mov edx, [chainlenwmask] + + cmp bx,word ptr [rsi + r8 - 1] + jz LookupLoopIsZero + + + +LookupLoop1: + and r8d, edx + + movzx r8d, word ptr [rdi + r8*2] + cmp r8d, ebp + jbe LeaveNow + + + + sub edx, 0x00010000 + BEFORE_JMP + js LeaveNow + AFTER_JMP + +LoopEntry1: + cmp bx,word ptr [rsi + r8 - 1] + BEFORE_JMP + jz LookupLoopIsZero + AFTER_JMP + +LookupLoop2: + and r8d, edx + + movzx r8d, word ptr [rdi + r8*2] + cmp r8d, ebp + BEFORE_JMP + jbe LeaveNow + AFTER_JMP + sub edx, 0x00010000 + BEFORE_JMP + js LeaveNow + AFTER_JMP + +LoopEntry2: + cmp bx,word ptr [rsi + r8 - 1] + BEFORE_JMP + jz LookupLoopIsZero + AFTER_JMP + +LookupLoop4: + and r8d, edx + + movzx r8d, word ptr [rdi + r8*2] + cmp r8d, ebp + BEFORE_JMP + jbe LeaveNow + AFTER_JMP + sub edx, 0x00010000 + BEFORE_JMP + js LeaveNow + AFTER_JMP + +LoopEntry4: + + cmp bx,word ptr [rsi + r8 - 1] + BEFORE_JMP + jnz LookupLoop1 + jmp LookupLoopIsZero + AFTER_JMP +/* +;;; do { +;;; match = s->window + cur_match; +;;; if (*(ushf*)(match+best_len-1) != scan_end || +;;; *(ushf*)match != scan_start) continue; +;;; [...] +;;; } while ((cur_match = prev[cur_match & wmask]) > limit +;;; && --chain_length != 0); +;;; +;;; Here is the inner loop of the function. The function will spend the +;;; majority of its time in this loop, and majority of that time will +;;; be spent in the first ten instructions. +;;; +;;; Within this loop: +;;; ebx = scanend +;;; r8d = curmatch +;;; edx = chainlenwmask - i.e., ((chainlen << 16) | wmask) +;;; esi = windowbestlen - i.e., (window + bestlen) +;;; edi = prev +;;; ebp = limit +*/ +.balign 16 +LookupLoop: + and r8d, edx + + movzx r8d, word ptr [rdi + r8*2] + cmp r8d, ebp + BEFORE_JMP + jbe LeaveNow + AFTER_JMP + sub edx, 0x00010000 + BEFORE_JMP + js LeaveNow + AFTER_JMP + +LoopEntry: + + cmp bx,word ptr [rsi + r8 - 1] + BEFORE_JMP + jnz LookupLoop1 + AFTER_JMP +LookupLoopIsZero: + cmp r12w, word ptr [r10 + r8] + BEFORE_JMP + jnz LookupLoop1 + AFTER_JMP + + +//;;; Store the current value of chainlen. + mov [chainlenwmask], edx +/* +;;; Point edi to the string under scrutiny, and esi to the string we +;;; are hoping to match it up with. In actuality, esi and edi are +;;; both pointed (MAX_MATCH_8 - scanalign) bytes ahead, and edx is +;;; initialized to -(MAX_MATCH_8 - scanalign). +*/ + lea rsi,[r8+r10] + mov rdx, 0xfffffffffffffef8 //; -(MAX_MATCH_8) + lea rsi, [rsi + r13 + 0x0108] //;MAX_MATCH_8] + lea rdi, [r9 + r13 + 0x0108] //;MAX_MATCH_8] + + prefetcht1 [rsi+rdx] + prefetcht1 [rdi+rdx] + +/* +;;; Test the strings for equality, 8 bytes at a time. At the end, +;;; adjust rdx so that it is offset to the exact byte that mismatched. +;;; +;;; We already know at this point that the first three bytes of the +;;; strings match each other, and they can be safely passed over before +;;; starting the compare loop. So what this code does is skip over 0-3 +;;; bytes, as much as necessary in order to dword-align the edi +;;; pointer. (rsi will still be misaligned three times out of four.) +;;; +;;; It should be confessed that this loop usually does not represent +;;; much of the total running time. Replacing it with a more +;;; straightforward "rep cmpsb" would not drastically degrade +;;; performance. +*/ + +LoopCmps: + mov rax, [rsi + rdx] + xor rax, [rdi + rdx] + jnz LeaveLoopCmps + + mov rax, [rsi + rdx + 8] + xor rax, [rdi + rdx + 8] + jnz LeaveLoopCmps8 + + + mov rax, [rsi + rdx + 8+8] + xor rax, [rdi + rdx + 8+8] + jnz LeaveLoopCmps16 + + add rdx,8+8+8 + + BEFORE_JMP + jnz LoopCmps + jmp LenMaximum + AFTER_JMP + +LeaveLoopCmps16: add rdx,8 +LeaveLoopCmps8: add rdx,8 +LeaveLoopCmps: + + test eax, 0x0000FFFF + jnz LenLower + + test eax,0xffffffff + + jnz LenLower32 + + add rdx,4 + shr rax,32 + or ax,ax + BEFORE_JMP + jnz LenLower + AFTER_JMP + +LenLower32: + shr eax,16 + add rdx,2 + +LenLower: + sub al, 1 + adc rdx, 0 +//;;; Calculate the length of the match. If it is longer than MAX_MATCH, +//;;; then automatically accept it as the best possible match and leave. + + lea rax, [rdi + rdx] + sub rax, r9 + cmp eax, MAX_MATCH + BEFORE_JMP + jge LenMaximum + AFTER_JMP +/* +;;; If the length of the match is not longer than the best match we +;;; have so far, then forget it and return to the lookup loop. +;/////////////////////////////////// +*/ + cmp eax, r11d + jg LongerMatch + + lea rsi,[r10+r11] + + mov rdi, prev_ad + mov edx, [chainlenwmask] + BEFORE_JMP + jmp LookupLoop + AFTER_JMP +/* +;;; s->match_start = cur_match; +;;; best_len = len; +;;; if (len >= nice_match) break; +;;; scan_end = *(ushf*)(scan+best_len-1); +*/ +LongerMatch: + mov r11d, eax + mov match_start, r8d + cmp eax, [nicematch] + BEFORE_JMP + jge LeaveNow + AFTER_JMP + + lea rsi,[r10+rax] + + movzx ebx, word ptr [r9 + rax - 1] + mov rdi, prev_ad + mov edx, [chainlenwmask] + BEFORE_JMP + jmp LookupLoop + AFTER_JMP + +//;;; Accept the current string, with the maximum possible length. + +LenMaximum: + mov r11d,MAX_MATCH + mov match_start, r8d + +//;;; if ((uInt)best_len <= s->lookahead) return (uInt)best_len; +//;;; return s->lookahead; + +LeaveNow: + mov eax, Lookahead + cmp r11d, eax + cmovng eax, r11d + + + +//;;; Restore the stack and return from whence we came. + + +// mov rsi,[save_rsi] +// mov rdi,[save_rdi] + mov rbx,[save_rbx] + mov rbp,[save_rbp] + mov r12,[save_r12] + mov r13,[save_r13] + mov r14,[save_r14] + mov r15,[save_r15] + + + ret 0 +//; please don't remove this string ! +//; Your can freely use gvmat64 in any free or commercial app +//; but it is far better don't remove the string in the binary! + // db 0dh,0ah,"asm686 with masm, optimised assembly code from Brian Raiter, written 1998, converted to amd 64 by Gilles Vollant 2005",0dh,0ah,0 + + +match_init: + ret 0 + + diff --git a/thirdparty/zlib-1.3.1/contrib/infback9/README b/proj-web/thirdparty/zlib-1.3.1/contrib/infback9/README similarity index 100% rename from thirdparty/zlib-1.3.1/contrib/infback9/README rename to proj-web/thirdparty/zlib-1.3.1/contrib/infback9/README diff --git a/thirdparty/zlib-1.3.1/contrib/infback9/infback9.c b/proj-web/thirdparty/zlib-1.3.1/contrib/infback9/infback9.c similarity index 100% rename from thirdparty/zlib-1.3.1/contrib/infback9/infback9.c rename to proj-web/thirdparty/zlib-1.3.1/contrib/infback9/infback9.c diff --git a/thirdparty/zlib-1.3.1/contrib/infback9/infback9.h b/proj-web/thirdparty/zlib-1.3.1/contrib/infback9/infback9.h similarity index 100% rename from thirdparty/zlib-1.3.1/contrib/infback9/infback9.h rename to proj-web/thirdparty/zlib-1.3.1/contrib/infback9/infback9.h diff --git a/thirdparty/zlib-1.3.1/contrib/infback9/inffix9.h b/proj-web/thirdparty/zlib-1.3.1/contrib/infback9/inffix9.h similarity index 100% rename from thirdparty/zlib-1.3.1/contrib/infback9/inffix9.h rename to proj-web/thirdparty/zlib-1.3.1/contrib/infback9/inffix9.h diff --git a/thirdparty/zlib-1.3.1/contrib/infback9/inflate9.h b/proj-web/thirdparty/zlib-1.3.1/contrib/infback9/inflate9.h similarity index 100% rename from thirdparty/zlib-1.3.1/contrib/infback9/inflate9.h rename to proj-web/thirdparty/zlib-1.3.1/contrib/infback9/inflate9.h diff --git a/thirdparty/zlib-1.3.1/contrib/infback9/inftree9.c b/proj-web/thirdparty/zlib-1.3.1/contrib/infback9/inftree9.c similarity index 100% rename from thirdparty/zlib-1.3.1/contrib/infback9/inftree9.c rename to proj-web/thirdparty/zlib-1.3.1/contrib/infback9/inftree9.c diff --git a/thirdparty/zlib-1.3.1/contrib/infback9/inftree9.h b/proj-web/thirdparty/zlib-1.3.1/contrib/infback9/inftree9.h similarity index 100% rename from thirdparty/zlib-1.3.1/contrib/infback9/inftree9.h rename to proj-web/thirdparty/zlib-1.3.1/contrib/infback9/inftree9.h diff --git a/thirdparty/zlib-1.3.1/contrib/iostream/test.cpp b/proj-web/thirdparty/zlib-1.3.1/contrib/iostream/test.cpp similarity index 100% rename from thirdparty/zlib-1.3.1/contrib/iostream/test.cpp rename to proj-web/thirdparty/zlib-1.3.1/contrib/iostream/test.cpp diff --git a/thirdparty/zlib-1.3.1/contrib/iostream/zfstream.cpp b/proj-web/thirdparty/zlib-1.3.1/contrib/iostream/zfstream.cpp similarity index 100% rename from thirdparty/zlib-1.3.1/contrib/iostream/zfstream.cpp rename to proj-web/thirdparty/zlib-1.3.1/contrib/iostream/zfstream.cpp diff --git a/thirdparty/zlib-1.3.1/contrib/iostream/zfstream.h b/proj-web/thirdparty/zlib-1.3.1/contrib/iostream/zfstream.h similarity index 100% rename from thirdparty/zlib-1.3.1/contrib/iostream/zfstream.h rename to proj-web/thirdparty/zlib-1.3.1/contrib/iostream/zfstream.h diff --git a/thirdparty/zlib-1.3.1/contrib/iostream2/zstream.h b/proj-web/thirdparty/zlib-1.3.1/contrib/iostream2/zstream.h similarity index 100% rename from thirdparty/zlib-1.3.1/contrib/iostream2/zstream.h rename to proj-web/thirdparty/zlib-1.3.1/contrib/iostream2/zstream.h diff --git a/thirdparty/zlib-1.3.1/contrib/iostream2/zstream_test.cpp b/proj-web/thirdparty/zlib-1.3.1/contrib/iostream2/zstream_test.cpp similarity index 100% rename from thirdparty/zlib-1.3.1/contrib/iostream2/zstream_test.cpp rename to proj-web/thirdparty/zlib-1.3.1/contrib/iostream2/zstream_test.cpp diff --git a/thirdparty/zlib-1.3.1/contrib/iostream3/README b/proj-web/thirdparty/zlib-1.3.1/contrib/iostream3/README similarity index 100% rename from thirdparty/zlib-1.3.1/contrib/iostream3/README rename to proj-web/thirdparty/zlib-1.3.1/contrib/iostream3/README diff --git a/thirdparty/zlib-1.3.1/contrib/iostream3/TODO b/proj-web/thirdparty/zlib-1.3.1/contrib/iostream3/TODO similarity index 100% rename from thirdparty/zlib-1.3.1/contrib/iostream3/TODO rename to proj-web/thirdparty/zlib-1.3.1/contrib/iostream3/TODO diff --git a/thirdparty/zlib-1.3.1/contrib/iostream3/test.cc b/proj-web/thirdparty/zlib-1.3.1/contrib/iostream3/test.cc similarity index 100% rename from thirdparty/zlib-1.3.1/contrib/iostream3/test.cc rename to proj-web/thirdparty/zlib-1.3.1/contrib/iostream3/test.cc diff --git a/thirdparty/zlib-1.3.1/contrib/iostream3/zfstream.cc b/proj-web/thirdparty/zlib-1.3.1/contrib/iostream3/zfstream.cc similarity index 100% rename from thirdparty/zlib-1.3.1/contrib/iostream3/zfstream.cc rename to proj-web/thirdparty/zlib-1.3.1/contrib/iostream3/zfstream.cc diff --git a/thirdparty/zlib-1.3.1/contrib/iostream3/zfstream.h b/proj-web/thirdparty/zlib-1.3.1/contrib/iostream3/zfstream.h similarity index 100% rename from thirdparty/zlib-1.3.1/contrib/iostream3/zfstream.h rename to proj-web/thirdparty/zlib-1.3.1/contrib/iostream3/zfstream.h diff --git a/thirdparty/zlib-1.3.1/contrib/minizip/Makefile b/proj-web/thirdparty/zlib-1.3.1/contrib/minizip/Makefile similarity index 100% rename from thirdparty/zlib-1.3.1/contrib/minizip/Makefile rename to proj-web/thirdparty/zlib-1.3.1/contrib/minizip/Makefile diff --git a/thirdparty/zlib-1.3.1/contrib/minizip/Makefile.am b/proj-web/thirdparty/zlib-1.3.1/contrib/minizip/Makefile.am similarity index 100% rename from thirdparty/zlib-1.3.1/contrib/minizip/Makefile.am rename to proj-web/thirdparty/zlib-1.3.1/contrib/minizip/Makefile.am diff --git a/thirdparty/zlib-1.3.1/contrib/minizip/MiniZip64_Changes.txt b/proj-web/thirdparty/zlib-1.3.1/contrib/minizip/MiniZip64_Changes.txt similarity index 100% rename from thirdparty/zlib-1.3.1/contrib/minizip/MiniZip64_Changes.txt rename to proj-web/thirdparty/zlib-1.3.1/contrib/minizip/MiniZip64_Changes.txt diff --git a/thirdparty/zlib-1.3.1/contrib/minizip/MiniZip64_info.txt b/proj-web/thirdparty/zlib-1.3.1/contrib/minizip/MiniZip64_info.txt similarity index 100% rename from thirdparty/zlib-1.3.1/contrib/minizip/MiniZip64_info.txt rename to proj-web/thirdparty/zlib-1.3.1/contrib/minizip/MiniZip64_info.txt diff --git a/thirdparty/zlib-1.3.1/contrib/minizip/configure.ac b/proj-web/thirdparty/zlib-1.3.1/contrib/minizip/configure.ac similarity index 100% rename from thirdparty/zlib-1.3.1/contrib/minizip/configure.ac rename to proj-web/thirdparty/zlib-1.3.1/contrib/minizip/configure.ac diff --git a/thirdparty/zlib-1.3.1/contrib/minizip/crypt.h b/proj-web/thirdparty/zlib-1.3.1/contrib/minizip/crypt.h similarity index 100% rename from thirdparty/zlib-1.3.1/contrib/minizip/crypt.h rename to proj-web/thirdparty/zlib-1.3.1/contrib/minizip/crypt.h diff --git a/thirdparty/zlib-1.3.1/contrib/minizip/ioapi.c b/proj-web/thirdparty/zlib-1.3.1/contrib/minizip/ioapi.c similarity index 100% rename from thirdparty/zlib-1.3.1/contrib/minizip/ioapi.c rename to proj-web/thirdparty/zlib-1.3.1/contrib/minizip/ioapi.c diff --git a/thirdparty/zlib-1.3.1/contrib/minizip/ioapi.h b/proj-web/thirdparty/zlib-1.3.1/contrib/minizip/ioapi.h similarity index 100% rename from thirdparty/zlib-1.3.1/contrib/minizip/ioapi.h rename to proj-web/thirdparty/zlib-1.3.1/contrib/minizip/ioapi.h diff --git a/thirdparty/zlib-1.3.1/contrib/minizip/iowin32.c b/proj-web/thirdparty/zlib-1.3.1/contrib/minizip/iowin32.c similarity index 100% rename from thirdparty/zlib-1.3.1/contrib/minizip/iowin32.c rename to proj-web/thirdparty/zlib-1.3.1/contrib/minizip/iowin32.c diff --git a/thirdparty/zlib-1.3.1/contrib/minizip/iowin32.h b/proj-web/thirdparty/zlib-1.3.1/contrib/minizip/iowin32.h similarity index 100% rename from thirdparty/zlib-1.3.1/contrib/minizip/iowin32.h rename to proj-web/thirdparty/zlib-1.3.1/contrib/minizip/iowin32.h diff --git a/thirdparty/zlib-1.3.1/contrib/minizip/make_vms.com b/proj-web/thirdparty/zlib-1.3.1/contrib/minizip/make_vms.com similarity index 100% rename from thirdparty/zlib-1.3.1/contrib/minizip/make_vms.com rename to proj-web/thirdparty/zlib-1.3.1/contrib/minizip/make_vms.com diff --git a/thirdparty/zlib-1.3.1/contrib/minizip/miniunz.c b/proj-web/thirdparty/zlib-1.3.1/contrib/minizip/miniunz.c similarity index 100% rename from thirdparty/zlib-1.3.1/contrib/minizip/miniunz.c rename to proj-web/thirdparty/zlib-1.3.1/contrib/minizip/miniunz.c diff --git a/thirdparty/zlib-1.3.1/contrib/minizip/miniunzip.1 b/proj-web/thirdparty/zlib-1.3.1/contrib/minizip/miniunzip.1 similarity index 100% rename from thirdparty/zlib-1.3.1/contrib/minizip/miniunzip.1 rename to proj-web/thirdparty/zlib-1.3.1/contrib/minizip/miniunzip.1 diff --git a/thirdparty/zlib-1.3.1/contrib/minizip/minizip.1 b/proj-web/thirdparty/zlib-1.3.1/contrib/minizip/minizip.1 similarity index 100% rename from thirdparty/zlib-1.3.1/contrib/minizip/minizip.1 rename to proj-web/thirdparty/zlib-1.3.1/contrib/minizip/minizip.1 diff --git a/thirdparty/zlib-1.3.1/contrib/minizip/minizip.c b/proj-web/thirdparty/zlib-1.3.1/contrib/minizip/minizip.c similarity index 100% rename from thirdparty/zlib-1.3.1/contrib/minizip/minizip.c rename to proj-web/thirdparty/zlib-1.3.1/contrib/minizip/minizip.c diff --git a/thirdparty/zlib-1.3.1/contrib/minizip/minizip.pc.in b/proj-web/thirdparty/zlib-1.3.1/contrib/minizip/minizip.pc.in similarity index 100% rename from thirdparty/zlib-1.3.1/contrib/minizip/minizip.pc.in rename to proj-web/thirdparty/zlib-1.3.1/contrib/minizip/minizip.pc.in diff --git a/thirdparty/zlib-1.3.1/contrib/minizip/mztools.c b/proj-web/thirdparty/zlib-1.3.1/contrib/minizip/mztools.c similarity index 100% rename from thirdparty/zlib-1.3.1/contrib/minizip/mztools.c rename to proj-web/thirdparty/zlib-1.3.1/contrib/minizip/mztools.c diff --git a/thirdparty/zlib-1.3.1/contrib/minizip/mztools.h b/proj-web/thirdparty/zlib-1.3.1/contrib/minizip/mztools.h similarity index 100% rename from thirdparty/zlib-1.3.1/contrib/minizip/mztools.h rename to proj-web/thirdparty/zlib-1.3.1/contrib/minizip/mztools.h diff --git a/thirdparty/zlib-1.3.1/contrib/minizip/unzip.c b/proj-web/thirdparty/zlib-1.3.1/contrib/minizip/unzip.c similarity index 100% rename from thirdparty/zlib-1.3.1/contrib/minizip/unzip.c rename to proj-web/thirdparty/zlib-1.3.1/contrib/minizip/unzip.c diff --git a/thirdparty/zlib-1.3.1/contrib/minizip/unzip.h b/proj-web/thirdparty/zlib-1.3.1/contrib/minizip/unzip.h similarity index 100% rename from thirdparty/zlib-1.3.1/contrib/minizip/unzip.h rename to proj-web/thirdparty/zlib-1.3.1/contrib/minizip/unzip.h diff --git a/thirdparty/zlib-1.3.1/contrib/minizip/zip.c b/proj-web/thirdparty/zlib-1.3.1/contrib/minizip/zip.c similarity index 100% rename from thirdparty/zlib-1.3.1/contrib/minizip/zip.c rename to proj-web/thirdparty/zlib-1.3.1/contrib/minizip/zip.c diff --git a/thirdparty/zlib-1.3.1/contrib/minizip/zip.h b/proj-web/thirdparty/zlib-1.3.1/contrib/minizip/zip.h similarity index 100% rename from thirdparty/zlib-1.3.1/contrib/minizip/zip.h rename to proj-web/thirdparty/zlib-1.3.1/contrib/minizip/zip.h diff --git a/thirdparty/zlib-1.3.1/contrib/nuget/nuget.csproj b/proj-web/thirdparty/zlib-1.3.1/contrib/nuget/nuget.csproj similarity index 100% rename from thirdparty/zlib-1.3.1/contrib/nuget/nuget.csproj rename to proj-web/thirdparty/zlib-1.3.1/contrib/nuget/nuget.csproj diff --git a/thirdparty/zlib-1.3.1/contrib/nuget/nuget.sln b/proj-web/thirdparty/zlib-1.3.1/contrib/nuget/nuget.sln similarity index 100% rename from thirdparty/zlib-1.3.1/contrib/nuget/nuget.sln rename to proj-web/thirdparty/zlib-1.3.1/contrib/nuget/nuget.sln diff --git a/thirdparty/zlib-1.3.1/contrib/pascal/example.pas b/proj-web/thirdparty/zlib-1.3.1/contrib/pascal/example.pas similarity index 100% rename from thirdparty/zlib-1.3.1/contrib/pascal/example.pas rename to proj-web/thirdparty/zlib-1.3.1/contrib/pascal/example.pas diff --git a/thirdparty/zlib-1.3.1/contrib/pascal/readme.txt b/proj-web/thirdparty/zlib-1.3.1/contrib/pascal/readme.txt similarity index 100% rename from thirdparty/zlib-1.3.1/contrib/pascal/readme.txt rename to proj-web/thirdparty/zlib-1.3.1/contrib/pascal/readme.txt diff --git a/thirdparty/zlib-1.3.1/contrib/pascal/zlibd32.mak b/proj-web/thirdparty/zlib-1.3.1/contrib/pascal/zlibd32.mak similarity index 100% rename from thirdparty/zlib-1.3.1/contrib/pascal/zlibd32.mak rename to proj-web/thirdparty/zlib-1.3.1/contrib/pascal/zlibd32.mak diff --git a/thirdparty/zlib-1.3.1/contrib/pascal/zlibpas.pas b/proj-web/thirdparty/zlib-1.3.1/contrib/pascal/zlibpas.pas similarity index 100% rename from thirdparty/zlib-1.3.1/contrib/pascal/zlibpas.pas rename to proj-web/thirdparty/zlib-1.3.1/contrib/pascal/zlibpas.pas diff --git a/thirdparty/zlib-1.3.1/contrib/puff/Makefile b/proj-web/thirdparty/zlib-1.3.1/contrib/puff/Makefile similarity index 100% rename from thirdparty/zlib-1.3.1/contrib/puff/Makefile rename to proj-web/thirdparty/zlib-1.3.1/contrib/puff/Makefile diff --git a/thirdparty/zlib-1.3.1/contrib/puff/README b/proj-web/thirdparty/zlib-1.3.1/contrib/puff/README similarity index 100% rename from thirdparty/zlib-1.3.1/contrib/puff/README rename to proj-web/thirdparty/zlib-1.3.1/contrib/puff/README diff --git a/thirdparty/zlib-1.3.1/contrib/puff/puff.c b/proj-web/thirdparty/zlib-1.3.1/contrib/puff/puff.c similarity index 100% rename from thirdparty/zlib-1.3.1/contrib/puff/puff.c rename to proj-web/thirdparty/zlib-1.3.1/contrib/puff/puff.c diff --git a/thirdparty/zlib-1.3.1/contrib/puff/puff.h b/proj-web/thirdparty/zlib-1.3.1/contrib/puff/puff.h similarity index 100% rename from thirdparty/zlib-1.3.1/contrib/puff/puff.h rename to proj-web/thirdparty/zlib-1.3.1/contrib/puff/puff.h diff --git a/thirdparty/zlib-1.3.1/contrib/puff/pufftest.c b/proj-web/thirdparty/zlib-1.3.1/contrib/puff/pufftest.c similarity index 100% rename from thirdparty/zlib-1.3.1/contrib/puff/pufftest.c rename to proj-web/thirdparty/zlib-1.3.1/contrib/puff/pufftest.c diff --git a/thirdparty/zlib-1.3.1/contrib/puff/zeros.raw b/proj-web/thirdparty/zlib-1.3.1/contrib/puff/zeros.raw similarity index 100% rename from thirdparty/zlib-1.3.1/contrib/puff/zeros.raw rename to proj-web/thirdparty/zlib-1.3.1/contrib/puff/zeros.raw diff --git a/thirdparty/zlib-1.3.1/contrib/testzlib/testzlib.c b/proj-web/thirdparty/zlib-1.3.1/contrib/testzlib/testzlib.c similarity index 96% rename from thirdparty/zlib-1.3.1/contrib/testzlib/testzlib.c rename to proj-web/thirdparty/zlib-1.3.1/contrib/testzlib/testzlib.c index b3c0014..c4b0148 100644 --- a/thirdparty/zlib-1.3.1/contrib/testzlib/testzlib.c +++ b/proj-web/thirdparty/zlib-1.3.1/contrib/testzlib/testzlib.c @@ -1,275 +1,275 @@ -#include -#include -#include - -#include "zlib.h" - - -void MyDoMinus64(LARGE_INTEGER *R,LARGE_INTEGER A,LARGE_INTEGER B) -{ - R->HighPart = A.HighPart - B.HighPart; - if (A.LowPart >= B.LowPart) - R->LowPart = A.LowPart - B.LowPart; - else - { - R->LowPart = A.LowPart - B.LowPart; - R->HighPart --; - } -} - -#ifdef _M_X64 -// see http://msdn2.microsoft.com/library/twchhe95(en-us,vs.80).aspx for __rdtsc -unsigned __int64 __rdtsc(void); -void BeginCountRdtsc(LARGE_INTEGER * pbeginTime64) -{ - // printf("rdtsc = %I64x\n",__rdtsc()); - pbeginTime64->QuadPart=__rdtsc(); -} - -LARGE_INTEGER GetResRdtsc(LARGE_INTEGER beginTime64,BOOL fComputeTimeQueryPerf) -{ - LARGE_INTEGER LIres; - unsigned _int64 res=__rdtsc()-((unsigned _int64)(beginTime64.QuadPart)); - LIres.QuadPart=res; - // printf("rdtsc = %I64x\n",__rdtsc()); - return LIres; -} -#else -#ifdef _M_IX86 -void myGetRDTSC32(LARGE_INTEGER * pbeginTime64) -{ - DWORD dwEdx,dwEax; - _asm - { - rdtsc - mov dwEax,eax - mov dwEdx,edx - } - pbeginTime64->LowPart=dwEax; - pbeginTime64->HighPart=dwEdx; -} - -void BeginCountRdtsc(LARGE_INTEGER * pbeginTime64) -{ - myGetRDTSC32(pbeginTime64); -} - -LARGE_INTEGER GetResRdtsc(LARGE_INTEGER beginTime64,BOOL fComputeTimeQueryPerf) -{ - LARGE_INTEGER LIres,endTime64; - myGetRDTSC32(&endTime64); - - LIres.LowPart=LIres.HighPart=0; - MyDoMinus64(&LIres,endTime64,beginTime64); - return LIres; -} -#else -void myGetRDTSC32(LARGE_INTEGER * pbeginTime64) -{ -} - -void BeginCountRdtsc(LARGE_INTEGER * pbeginTime64) -{ -} - -LARGE_INTEGER GetResRdtsc(LARGE_INTEGER beginTime64,BOOL fComputeTimeQueryPerf) -{ - LARGE_INTEGER lr; - lr.QuadPart=0; - return lr; -} -#endif -#endif - -void BeginCountPerfCounter(LARGE_INTEGER * pbeginTime64,BOOL fComputeTimeQueryPerf) -{ - if ((!fComputeTimeQueryPerf) || (!QueryPerformanceCounter(pbeginTime64))) - { - pbeginTime64->LowPart = GetTickCount(); - pbeginTime64->HighPart = 0; - } -} - -DWORD GetMsecSincePerfCounter(LARGE_INTEGER beginTime64,BOOL fComputeTimeQueryPerf) -{ - LARGE_INTEGER endTime64,ticksPerSecond,ticks; - DWORDLONG ticksShifted,tickSecShifted; - DWORD dwLog=16+0; - DWORD dwRet; - if ((!fComputeTimeQueryPerf) || (!QueryPerformanceCounter(&endTime64))) - dwRet = (GetTickCount() - beginTime64.LowPart)*1; - else - { - MyDoMinus64(&ticks,endTime64,beginTime64); - QueryPerformanceFrequency(&ticksPerSecond); - - - { - ticksShifted = Int64ShrlMod32(*(DWORDLONG*)&ticks,dwLog); - tickSecShifted = Int64ShrlMod32(*(DWORDLONG*)&ticksPerSecond,dwLog); - - } - - dwRet = (DWORD)((((DWORD)ticksShifted)*1000)/(DWORD)(tickSecShifted)); - dwRet *=1; - } - return dwRet; -} - -int ReadFileMemory(const char* filename,long* plFileSize,unsigned char** pFilePtr) -{ - FILE* stream; - unsigned char* ptr; - int retVal=1; - stream=fopen(filename, "rb"); - if (stream==NULL) - return 0; - - fseek(stream,0,SEEK_END); - - *plFileSize=ftell(stream); - fseek(stream,0,SEEK_SET); - ptr=malloc((*plFileSize)+1); - if (ptr==NULL) - retVal=0; - else - { - if (fread(ptr, 1, *plFileSize,stream) != (*plFileSize)) - retVal=0; - } - fclose(stream); - *pFilePtr=ptr; - return retVal; -} - -int main(int argc, char *argv[]) -{ - int BlockSizeCompress=0x8000; - int BlockSizeUncompress=0x8000; - int cprLevel=Z_DEFAULT_COMPRESSION ; - long lFileSize; - unsigned char* FilePtr; - long lBufferSizeCpr; - long lBufferSizeUncpr; - long lCompressedSize=0; - unsigned char* CprPtr; - unsigned char* UncprPtr; - long lSizeCpr,lSizeUncpr; - DWORD dwGetTick,dwMsecQP; - LARGE_INTEGER li_qp,li_rdtsc,dwResRdtsc; - - if (argc<=1) - { - printf("run TestZlib [BlockSizeCompress] [BlockSizeUncompress] [compres. level]\n"); - return 0; - } - - if (ReadFileMemory(argv[1],&lFileSize,&FilePtr)==0) - { - printf("error reading %s\n",argv[1]); - return 1; - } - else printf("file %s read, %ld bytes\n",argv[1],lFileSize); - - if (argc>=3) - BlockSizeCompress=atol(argv[2]); - - if (argc>=4) - BlockSizeUncompress=atol(argv[3]); - - if (argc>=5) - cprLevel=(int)atol(argv[4]); - - lBufferSizeCpr = lFileSize + (lFileSize/0x10) + 0x200; - lBufferSizeUncpr = lBufferSizeCpr; - - CprPtr=(unsigned char*)malloc(lBufferSizeCpr + BlockSizeCompress); - - BeginCountPerfCounter(&li_qp,TRUE); - dwGetTick=GetTickCount(); - BeginCountRdtsc(&li_rdtsc); - { - z_stream zcpr; - int ret=Z_OK; - long lOrigToDo = lFileSize; - long lOrigDone = 0; - int step=0; - memset(&zcpr,0,sizeof(z_stream)); - deflateInit(&zcpr,cprLevel); - - zcpr.next_in = FilePtr; - zcpr.next_out = CprPtr; - - - do - { - long all_read_before = zcpr.total_in; - zcpr.avail_in = min(lOrigToDo,BlockSizeCompress); - zcpr.avail_out = BlockSizeCompress; - ret=deflate(&zcpr,(zcpr.avail_in==lOrigToDo) ? Z_FINISH : Z_SYNC_FLUSH); - lOrigDone += (zcpr.total_in-all_read_before); - lOrigToDo -= (zcpr.total_in-all_read_before); - step++; - } while (ret==Z_OK); - - lSizeCpr=zcpr.total_out; - deflateEnd(&zcpr); - dwGetTick=GetTickCount()-dwGetTick; - dwMsecQP=GetMsecSincePerfCounter(li_qp,TRUE); - dwResRdtsc=GetResRdtsc(li_rdtsc,TRUE); - printf("total compress size = %u, in %u step\n",lSizeCpr,step); - printf("time = %u msec = %f sec\n",dwGetTick,dwGetTick/(double)1000.); - printf("defcpr time QP = %u msec = %f sec\n",dwMsecQP,dwMsecQP/(double)1000.); - printf("defcpr result rdtsc = %I64x\n\n",dwResRdtsc.QuadPart); - } - - CprPtr=(unsigned char*)realloc(CprPtr,lSizeCpr); - UncprPtr=(unsigned char*)malloc(lBufferSizeUncpr + BlockSizeUncompress); - - BeginCountPerfCounter(&li_qp,TRUE); - dwGetTick=GetTickCount(); - BeginCountRdtsc(&li_rdtsc); - { - z_stream zcpr; - int ret=Z_OK; - long lOrigToDo = lSizeCpr; - long lOrigDone = 0; - int step=0; - memset(&zcpr,0,sizeof(z_stream)); - inflateInit(&zcpr); - - zcpr.next_in = CprPtr; - zcpr.next_out = UncprPtr; - - - do - { - long all_read_before = zcpr.total_in; - zcpr.avail_in = min(lOrigToDo,BlockSizeUncompress); - zcpr.avail_out = BlockSizeUncompress; - ret=inflate(&zcpr,Z_SYNC_FLUSH); - lOrigDone += (zcpr.total_in-all_read_before); - lOrigToDo -= (zcpr.total_in-all_read_before); - step++; - } while (ret==Z_OK); - - lSizeUncpr=zcpr.total_out; - inflateEnd(&zcpr); - dwGetTick=GetTickCount()-dwGetTick; - dwMsecQP=GetMsecSincePerfCounter(li_qp,TRUE); - dwResRdtsc=GetResRdtsc(li_rdtsc,TRUE); - printf("total uncompress size = %u, in %u step\n",lSizeUncpr,step); - printf("time = %u msec = %f sec\n",dwGetTick,dwGetTick/(double)1000.); - printf("uncpr time QP = %u msec = %f sec\n",dwMsecQP,dwMsecQP/(double)1000.); - printf("uncpr result rdtsc = %I64x\n\n",dwResRdtsc.QuadPart); - } - - if (lSizeUncpr==lFileSize) - { - if (memcmp(FilePtr,UncprPtr,lFileSize)==0) - printf("compare ok\n"); - - } - - return 0; -} +#include +#include +#include + +#include "zlib.h" + + +void MyDoMinus64(LARGE_INTEGER *R,LARGE_INTEGER A,LARGE_INTEGER B) +{ + R->HighPart = A.HighPart - B.HighPart; + if (A.LowPart >= B.LowPart) + R->LowPart = A.LowPart - B.LowPart; + else + { + R->LowPart = A.LowPart - B.LowPart; + R->HighPart --; + } +} + +#ifdef _M_X64 +// see http://msdn2.microsoft.com/library/twchhe95(en-us,vs.80).aspx for __rdtsc +unsigned __int64 __rdtsc(void); +void BeginCountRdtsc(LARGE_INTEGER * pbeginTime64) +{ + // printf("rdtsc = %I64x\n",__rdtsc()); + pbeginTime64->QuadPart=__rdtsc(); +} + +LARGE_INTEGER GetResRdtsc(LARGE_INTEGER beginTime64,BOOL fComputeTimeQueryPerf) +{ + LARGE_INTEGER LIres; + unsigned _int64 res=__rdtsc()-((unsigned _int64)(beginTime64.QuadPart)); + LIres.QuadPart=res; + // printf("rdtsc = %I64x\n",__rdtsc()); + return LIres; +} +#else +#ifdef _M_IX86 +void myGetRDTSC32(LARGE_INTEGER * pbeginTime64) +{ + DWORD dwEdx,dwEax; + _asm + { + rdtsc + mov dwEax,eax + mov dwEdx,edx + } + pbeginTime64->LowPart=dwEax; + pbeginTime64->HighPart=dwEdx; +} + +void BeginCountRdtsc(LARGE_INTEGER * pbeginTime64) +{ + myGetRDTSC32(pbeginTime64); +} + +LARGE_INTEGER GetResRdtsc(LARGE_INTEGER beginTime64,BOOL fComputeTimeQueryPerf) +{ + LARGE_INTEGER LIres,endTime64; + myGetRDTSC32(&endTime64); + + LIres.LowPart=LIres.HighPart=0; + MyDoMinus64(&LIres,endTime64,beginTime64); + return LIres; +} +#else +void myGetRDTSC32(LARGE_INTEGER * pbeginTime64) +{ +} + +void BeginCountRdtsc(LARGE_INTEGER * pbeginTime64) +{ +} + +LARGE_INTEGER GetResRdtsc(LARGE_INTEGER beginTime64,BOOL fComputeTimeQueryPerf) +{ + LARGE_INTEGER lr; + lr.QuadPart=0; + return lr; +} +#endif +#endif + +void BeginCountPerfCounter(LARGE_INTEGER * pbeginTime64,BOOL fComputeTimeQueryPerf) +{ + if ((!fComputeTimeQueryPerf) || (!QueryPerformanceCounter(pbeginTime64))) + { + pbeginTime64->LowPart = GetTickCount(); + pbeginTime64->HighPart = 0; + } +} + +DWORD GetMsecSincePerfCounter(LARGE_INTEGER beginTime64,BOOL fComputeTimeQueryPerf) +{ + LARGE_INTEGER endTime64,ticksPerSecond,ticks; + DWORDLONG ticksShifted,tickSecShifted; + DWORD dwLog=16+0; + DWORD dwRet; + if ((!fComputeTimeQueryPerf) || (!QueryPerformanceCounter(&endTime64))) + dwRet = (GetTickCount() - beginTime64.LowPart)*1; + else + { + MyDoMinus64(&ticks,endTime64,beginTime64); + QueryPerformanceFrequency(&ticksPerSecond); + + + { + ticksShifted = Int64ShrlMod32(*(DWORDLONG*)&ticks,dwLog); + tickSecShifted = Int64ShrlMod32(*(DWORDLONG*)&ticksPerSecond,dwLog); + + } + + dwRet = (DWORD)((((DWORD)ticksShifted)*1000)/(DWORD)(tickSecShifted)); + dwRet *=1; + } + return dwRet; +} + +int ReadFileMemory(const char* filename,long* plFileSize,unsigned char** pFilePtr) +{ + FILE* stream; + unsigned char* ptr; + int retVal=1; + stream=fopen(filename, "rb"); + if (stream==NULL) + return 0; + + fseek(stream,0,SEEK_END); + + *plFileSize=ftell(stream); + fseek(stream,0,SEEK_SET); + ptr=malloc((*plFileSize)+1); + if (ptr==NULL) + retVal=0; + else + { + if (fread(ptr, 1, *plFileSize,stream) != (*plFileSize)) + retVal=0; + } + fclose(stream); + *pFilePtr=ptr; + return retVal; +} + +int main(int argc, char *argv[]) +{ + int BlockSizeCompress=0x8000; + int BlockSizeUncompress=0x8000; + int cprLevel=Z_DEFAULT_COMPRESSION ; + long lFileSize; + unsigned char* FilePtr; + long lBufferSizeCpr; + long lBufferSizeUncpr; + long lCompressedSize=0; + unsigned char* CprPtr; + unsigned char* UncprPtr; + long lSizeCpr,lSizeUncpr; + DWORD dwGetTick,dwMsecQP; + LARGE_INTEGER li_qp,li_rdtsc,dwResRdtsc; + + if (argc<=1) + { + printf("run TestZlib [BlockSizeCompress] [BlockSizeUncompress] [compres. level]\n"); + return 0; + } + + if (ReadFileMemory(argv[1],&lFileSize,&FilePtr)==0) + { + printf("error reading %s\n",argv[1]); + return 1; + } + else printf("file %s read, %ld bytes\n",argv[1],lFileSize); + + if (argc>=3) + BlockSizeCompress=atol(argv[2]); + + if (argc>=4) + BlockSizeUncompress=atol(argv[3]); + + if (argc>=5) + cprLevel=(int)atol(argv[4]); + + lBufferSizeCpr = lFileSize + (lFileSize/0x10) + 0x200; + lBufferSizeUncpr = lBufferSizeCpr; + + CprPtr=(unsigned char*)malloc(lBufferSizeCpr + BlockSizeCompress); + + BeginCountPerfCounter(&li_qp,TRUE); + dwGetTick=GetTickCount(); + BeginCountRdtsc(&li_rdtsc); + { + z_stream zcpr; + int ret=Z_OK; + long lOrigToDo = lFileSize; + long lOrigDone = 0; + int step=0; + memset(&zcpr,0,sizeof(z_stream)); + deflateInit(&zcpr,cprLevel); + + zcpr.next_in = FilePtr; + zcpr.next_out = CprPtr; + + + do + { + long all_read_before = zcpr.total_in; + zcpr.avail_in = min(lOrigToDo,BlockSizeCompress); + zcpr.avail_out = BlockSizeCompress; + ret=deflate(&zcpr,(zcpr.avail_in==lOrigToDo) ? Z_FINISH : Z_SYNC_FLUSH); + lOrigDone += (zcpr.total_in-all_read_before); + lOrigToDo -= (zcpr.total_in-all_read_before); + step++; + } while (ret==Z_OK); + + lSizeCpr=zcpr.total_out; + deflateEnd(&zcpr); + dwGetTick=GetTickCount()-dwGetTick; + dwMsecQP=GetMsecSincePerfCounter(li_qp,TRUE); + dwResRdtsc=GetResRdtsc(li_rdtsc,TRUE); + printf("total compress size = %u, in %u step\n",lSizeCpr,step); + printf("time = %u msec = %f sec\n",dwGetTick,dwGetTick/(double)1000.); + printf("defcpr time QP = %u msec = %f sec\n",dwMsecQP,dwMsecQP/(double)1000.); + printf("defcpr result rdtsc = %I64x\n\n",dwResRdtsc.QuadPart); + } + + CprPtr=(unsigned char*)realloc(CprPtr,lSizeCpr); + UncprPtr=(unsigned char*)malloc(lBufferSizeUncpr + BlockSizeUncompress); + + BeginCountPerfCounter(&li_qp,TRUE); + dwGetTick=GetTickCount(); + BeginCountRdtsc(&li_rdtsc); + { + z_stream zcpr; + int ret=Z_OK; + long lOrigToDo = lSizeCpr; + long lOrigDone = 0; + int step=0; + memset(&zcpr,0,sizeof(z_stream)); + inflateInit(&zcpr); + + zcpr.next_in = CprPtr; + zcpr.next_out = UncprPtr; + + + do + { + long all_read_before = zcpr.total_in; + zcpr.avail_in = min(lOrigToDo,BlockSizeUncompress); + zcpr.avail_out = BlockSizeUncompress; + ret=inflate(&zcpr,Z_SYNC_FLUSH); + lOrigDone += (zcpr.total_in-all_read_before); + lOrigToDo -= (zcpr.total_in-all_read_before); + step++; + } while (ret==Z_OK); + + lSizeUncpr=zcpr.total_out; + inflateEnd(&zcpr); + dwGetTick=GetTickCount()-dwGetTick; + dwMsecQP=GetMsecSincePerfCounter(li_qp,TRUE); + dwResRdtsc=GetResRdtsc(li_rdtsc,TRUE); + printf("total uncompress size = %u, in %u step\n",lSizeUncpr,step); + printf("time = %u msec = %f sec\n",dwGetTick,dwGetTick/(double)1000.); + printf("uncpr time QP = %u msec = %f sec\n",dwMsecQP,dwMsecQP/(double)1000.); + printf("uncpr result rdtsc = %I64x\n\n",dwResRdtsc.QuadPart); + } + + if (lSizeUncpr==lFileSize) + { + if (memcmp(FilePtr,UncprPtr,lFileSize)==0) + printf("compare ok\n"); + + } + + return 0; +} diff --git a/thirdparty/zlib-1.3.1/contrib/testzlib/testzlib.txt b/proj-web/thirdparty/zlib-1.3.1/contrib/testzlib/testzlib.txt similarity index 84% rename from thirdparty/zlib-1.3.1/contrib/testzlib/testzlib.txt rename to proj-web/thirdparty/zlib-1.3.1/contrib/testzlib/testzlib.txt index 62258f1..e508bb2 100644 --- a/thirdparty/zlib-1.3.1/contrib/testzlib/testzlib.txt +++ b/proj-web/thirdparty/zlib-1.3.1/contrib/testzlib/testzlib.txt @@ -1,10 +1,10 @@ -To build testzLib with Visual Studio 2005: - -copy to a directory file from : -- root of zLib tree -- contrib/testzlib -- contrib/masmx86 -- contrib/masmx64 -- contrib/vstudio/vc7 - +To build testzLib with Visual Studio 2005: + +copy to a directory file from : +- root of zLib tree +- contrib/testzlib +- contrib/masmx86 +- contrib/masmx64 +- contrib/vstudio/vc7 + and open testzlib8.sln \ No newline at end of file diff --git a/thirdparty/zlib-1.3.1/contrib/untgz/Makefile b/proj-web/thirdparty/zlib-1.3.1/contrib/untgz/Makefile similarity index 100% rename from thirdparty/zlib-1.3.1/contrib/untgz/Makefile rename to proj-web/thirdparty/zlib-1.3.1/contrib/untgz/Makefile diff --git a/thirdparty/zlib-1.3.1/contrib/untgz/Makefile.msc b/proj-web/thirdparty/zlib-1.3.1/contrib/untgz/Makefile.msc similarity index 100% rename from thirdparty/zlib-1.3.1/contrib/untgz/Makefile.msc rename to proj-web/thirdparty/zlib-1.3.1/contrib/untgz/Makefile.msc diff --git a/thirdparty/zlib-1.3.1/contrib/untgz/untgz.c b/proj-web/thirdparty/zlib-1.3.1/contrib/untgz/untgz.c similarity index 100% rename from thirdparty/zlib-1.3.1/contrib/untgz/untgz.c rename to proj-web/thirdparty/zlib-1.3.1/contrib/untgz/untgz.c diff --git a/thirdparty/zlib-1.3.1/contrib/vstudio/readme.txt b/proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/readme.txt similarity index 100% rename from thirdparty/zlib-1.3.1/contrib/vstudio/readme.txt rename to proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/readme.txt diff --git a/thirdparty/zlib-1.3.1/contrib/vstudio/vc10/miniunz.vcxproj b/proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/vc10/miniunz.vcxproj similarity index 98% rename from thirdparty/zlib-1.3.1/contrib/vstudio/vc10/miniunz.vcxproj rename to proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/vc10/miniunz.vcxproj index 74e15c9..1b36242 100644 --- a/thirdparty/zlib-1.3.1/contrib/vstudio/vc10/miniunz.vcxproj +++ b/proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/vc10/miniunz.vcxproj @@ -1,310 +1,310 @@ - - - - - Debug - Itanium - - - Debug - Win32 - - - Debug - x64 - - - Release - Itanium - - - Release - Win32 - - - Release - x64 - - - - {C52F9E7B-498A-42BE-8DB4-85A15694382A} - Win32Proj - - - - Application - MultiByte - - - Application - MultiByte - - - Application - MultiByte - - - Application - MultiByte - - - Application - MultiByte - - - Application - MultiByte - - - - - - - - - - - - - - - - - - - - - - - - - <_ProjectFileVersion>10.0.30128.1 - x86\MiniUnzip$(Configuration)\ - x86\MiniUnzip$(Configuration)\Tmp\ - true - false - x86\MiniUnzip$(Configuration)\ - x86\MiniUnzip$(Configuration)\Tmp\ - false - false - x64\MiniUnzip$(Configuration)\ - x64\MiniUnzip$(Configuration)\Tmp\ - true - false - ia64\MiniUnzip$(Configuration)\ - ia64\MiniUnzip$(Configuration)\Tmp\ - true - false - x64\MiniUnzip$(Configuration)\ - x64\MiniUnzip$(Configuration)\Tmp\ - false - false - ia64\MiniUnzip$(Configuration)\ - ia64\MiniUnzip$(Configuration)\Tmp\ - false - false - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - - - - Disabled - ..\..\..;..\..\minizip;%(AdditionalIncludeDirectories) - WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true - Default - MultiThreadedDebug - false - - - $(IntDir) - Level3 - EditAndContinue - - - x86\ZlibDllDebug\zlibwapi.lib;%(AdditionalDependencies) - $(OutDir)miniunz.exe - true - $(OutDir)miniunz.pdb - Console - false - - - MachineX86 - - - - - MaxSpeed - OnlyExplicitInline - true - ..\..\..;..\..\minizip;%(AdditionalIncludeDirectories) - WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) - true - Default - MultiThreaded - false - true - - - $(IntDir) - Level3 - ProgramDatabase - - - x86\ZlibDllRelease\zlibwapi.lib;%(AdditionalDependencies) - $(OutDir)miniunz.exe - true - Console - true - true - false - - - MachineX86 - - - - - X64 - - - Disabled - ..\..\..;..\..\minizip;%(AdditionalIncludeDirectories) - _CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;_DEBUG;_CONSOLE;WIN64;%(PreprocessorDefinitions) - true - Default - MultiThreadedDebugDLL - false - - - $(IntDir) - Level3 - ProgramDatabase - - - x64\ZlibDllDebug\zlibwapi.lib;%(AdditionalDependencies) - $(OutDir)miniunz.exe - true - $(OutDir)miniunz.pdb - Console - MachineX64 - - - - - Itanium - - - Disabled - ..\..\..;..\..\minizip;%(AdditionalIncludeDirectories) - _CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;_DEBUG;_CONSOLE;WIN64;%(PreprocessorDefinitions) - true - Default - MultiThreadedDebugDLL - false - - - $(IntDir) - Level3 - ProgramDatabase - - - ia64\ZlibDllDebug\zlibwapi.lib;%(AdditionalDependencies) - $(OutDir)miniunz.exe - true - $(OutDir)miniunz.pdb - Console - MachineIA64 - - - - - X64 - - - MaxSpeed - OnlyExplicitInline - true - ..\..\..;..\..\minizip;%(AdditionalIncludeDirectories) - _CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;NDEBUG;_CONSOLE;WIN64;%(PreprocessorDefinitions) - true - Default - MultiThreadedDLL - false - true - - - $(IntDir) - Level3 - ProgramDatabase - - - x64\ZlibDllRelease\zlibwapi.lib;%(AdditionalDependencies) - $(OutDir)miniunz.exe - true - Console - true - true - MachineX64 - - - - - Itanium - - - MaxSpeed - OnlyExplicitInline - true - ..\..\..;..\..\minizip;%(AdditionalIncludeDirectories) - _CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;NDEBUG;_CONSOLE;WIN64;%(PreprocessorDefinitions) - true - Default - MultiThreadedDLL - false - true - - - $(IntDir) - Level3 - ProgramDatabase - - - ia64\ZlibDllRelease\zlibwapi.lib;%(AdditionalDependencies) - $(OutDir)miniunz.exe - true - Console - true - true - MachineIA64 - - - - - - - - {8fd826f8-3739-44e6-8cc8-997122e53b8d} - - - - - + + + + + Debug + Itanium + + + Debug + Win32 + + + Debug + x64 + + + Release + Itanium + + + Release + Win32 + + + Release + x64 + + + + {C52F9E7B-498A-42BE-8DB4-85A15694382A} + Win32Proj + + + + Application + MultiByte + + + Application + MultiByte + + + Application + MultiByte + + + Application + MultiByte + + + Application + MultiByte + + + Application + MultiByte + + + + + + + + + + + + + + + + + + + + + + + + + <_ProjectFileVersion>10.0.30128.1 + x86\MiniUnzip$(Configuration)\ + x86\MiniUnzip$(Configuration)\Tmp\ + true + false + x86\MiniUnzip$(Configuration)\ + x86\MiniUnzip$(Configuration)\Tmp\ + false + false + x64\MiniUnzip$(Configuration)\ + x64\MiniUnzip$(Configuration)\Tmp\ + true + false + ia64\MiniUnzip$(Configuration)\ + ia64\MiniUnzip$(Configuration)\Tmp\ + true + false + x64\MiniUnzip$(Configuration)\ + x64\MiniUnzip$(Configuration)\Tmp\ + false + false + ia64\MiniUnzip$(Configuration)\ + ia64\MiniUnzip$(Configuration)\Tmp\ + false + false + AllRules.ruleset + + + AllRules.ruleset + + + AllRules.ruleset + + + AllRules.ruleset + + + AllRules.ruleset + + + AllRules.ruleset + + + + + + Disabled + ..\..\..;..\..\minizip;%(AdditionalIncludeDirectories) + WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + true + Default + MultiThreadedDebug + false + + + $(IntDir) + Level3 + EditAndContinue + + + x86\ZlibDllDebug\zlibwapi.lib;%(AdditionalDependencies) + $(OutDir)miniunz.exe + true + $(OutDir)miniunz.pdb + Console + false + + + MachineX86 + + + + + MaxSpeed + OnlyExplicitInline + true + ..\..\..;..\..\minizip;%(AdditionalIncludeDirectories) + WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + true + Default + MultiThreaded + false + true + + + $(IntDir) + Level3 + ProgramDatabase + + + x86\ZlibDllRelease\zlibwapi.lib;%(AdditionalDependencies) + $(OutDir)miniunz.exe + true + Console + true + true + false + + + MachineX86 + + + + + X64 + + + Disabled + ..\..\..;..\..\minizip;%(AdditionalIncludeDirectories) + _CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;_DEBUG;_CONSOLE;WIN64;%(PreprocessorDefinitions) + true + Default + MultiThreadedDebugDLL + false + + + $(IntDir) + Level3 + ProgramDatabase + + + x64\ZlibDllDebug\zlibwapi.lib;%(AdditionalDependencies) + $(OutDir)miniunz.exe + true + $(OutDir)miniunz.pdb + Console + MachineX64 + + + + + Itanium + + + Disabled + ..\..\..;..\..\minizip;%(AdditionalIncludeDirectories) + _CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;_DEBUG;_CONSOLE;WIN64;%(PreprocessorDefinitions) + true + Default + MultiThreadedDebugDLL + false + + + $(IntDir) + Level3 + ProgramDatabase + + + ia64\ZlibDllDebug\zlibwapi.lib;%(AdditionalDependencies) + $(OutDir)miniunz.exe + true + $(OutDir)miniunz.pdb + Console + MachineIA64 + + + + + X64 + + + MaxSpeed + OnlyExplicitInline + true + ..\..\..;..\..\minizip;%(AdditionalIncludeDirectories) + _CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;NDEBUG;_CONSOLE;WIN64;%(PreprocessorDefinitions) + true + Default + MultiThreadedDLL + false + true + + + $(IntDir) + Level3 + ProgramDatabase + + + x64\ZlibDllRelease\zlibwapi.lib;%(AdditionalDependencies) + $(OutDir)miniunz.exe + true + Console + true + true + MachineX64 + + + + + Itanium + + + MaxSpeed + OnlyExplicitInline + true + ..\..\..;..\..\minizip;%(AdditionalIncludeDirectories) + _CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;NDEBUG;_CONSOLE;WIN64;%(PreprocessorDefinitions) + true + Default + MultiThreadedDLL + false + true + + + $(IntDir) + Level3 + ProgramDatabase + + + ia64\ZlibDllRelease\zlibwapi.lib;%(AdditionalDependencies) + $(OutDir)miniunz.exe + true + Console + true + true + MachineIA64 + + + + + + + + {8fd826f8-3739-44e6-8cc8-997122e53b8d} + + + + + \ No newline at end of file diff --git a/thirdparty/zlib-1.3.1/contrib/vstudio/vc10/miniunz.vcxproj.filters b/proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/vc10/miniunz.vcxproj.filters similarity index 96% rename from thirdparty/zlib-1.3.1/contrib/vstudio/vc10/miniunz.vcxproj.filters rename to proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/vc10/miniunz.vcxproj.filters index e53556a..0164e7d 100644 --- a/thirdparty/zlib-1.3.1/contrib/vstudio/vc10/miniunz.vcxproj.filters +++ b/proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/vc10/miniunz.vcxproj.filters @@ -1,22 +1,22 @@ - - - - - {048af943-022b-4db6-beeb-a54c34774ee2} - cpp;c;cxx;def;odl;idl;hpj;bat - - - {c1d600d2-888f-4aea-b73e-8b0dd9befa0c} - h;hpp;hxx;hm;inl;inc - - - {0844199a-966b-4f19-81db-1e0125e141b9} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe - - - - - Source Files - - + + + + + {048af943-022b-4db6-beeb-a54c34774ee2} + cpp;c;cxx;def;odl;idl;hpj;bat + + + {c1d600d2-888f-4aea-b73e-8b0dd9befa0c} + h;hpp;hxx;hm;inl;inc + + + {0844199a-966b-4f19-81db-1e0125e141b9} + rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe + + + + + Source Files + + \ No newline at end of file diff --git a/thirdparty/zlib-1.3.1/contrib/vstudio/vc10/minizip.vcxproj b/proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/vc10/minizip.vcxproj similarity index 98% rename from thirdparty/zlib-1.3.1/contrib/vstudio/vc10/minizip.vcxproj rename to proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/vc10/minizip.vcxproj index 917e156..ccd3651 100644 --- a/thirdparty/zlib-1.3.1/contrib/vstudio/vc10/minizip.vcxproj +++ b/proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/vc10/minizip.vcxproj @@ -1,307 +1,307 @@ - - - - - Debug - Itanium - - - Debug - Win32 - - - Debug - x64 - - - Release - Itanium - - - Release - Win32 - - - Release - x64 - - - - {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B} - Win32Proj - - - - Application - MultiByte - - - Application - MultiByte - - - Application - MultiByte - - - Application - MultiByte - - - Application - MultiByte - - - Application - MultiByte - - - - - - - - - - - - - - - - - - - - - - - - - <_ProjectFileVersion>10.0.30128.1 - x86\MiniZip$(Configuration)\ - x86\MiniZip$(Configuration)\Tmp\ - true - false - x86\MiniZip$(Configuration)\ - x86\MiniZip$(Configuration)\Tmp\ - false - x64\$(Configuration)\ - x64\$(Configuration)\ - true - false - ia64\$(Configuration)\ - ia64\$(Configuration)\ - true - false - x64\$(Configuration)\ - x64\$(Configuration)\ - false - ia64\$(Configuration)\ - ia64\$(Configuration)\ - false - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - - - - Disabled - ..\..\..;..\..\minizip;%(AdditionalIncludeDirectories) - WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true - Default - MultiThreadedDebug - false - - - $(IntDir) - Level3 - EditAndContinue - - - x86\ZlibDllDebug\zlibwapi.lib;%(AdditionalDependencies) - $(OutDir)minizip.exe - true - $(OutDir)minizip.pdb - Console - false - - - MachineX86 - - - - - MaxSpeed - OnlyExplicitInline - true - ..\..\..;..\..\minizip;%(AdditionalIncludeDirectories) - WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) - true - Default - MultiThreaded - false - true - - - $(IntDir) - Level3 - ProgramDatabase - - - x86\ZlibDllRelease\zlibwapi.lib;%(AdditionalDependencies) - $(OutDir)minizip.exe - true - Console - true - true - false - - - MachineX86 - - - - - X64 - - - Disabled - ..\..\..;..\..\minizip;%(AdditionalIncludeDirectories) - _CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;_DEBUG;_CONSOLE;WIN64;%(PreprocessorDefinitions) - true - Default - MultiThreadedDebugDLL - false - - - $(IntDir) - Level3 - ProgramDatabase - - - x64\ZlibDllDebug\zlibwapi.lib;%(AdditionalDependencies) - $(OutDir)minizip.exe - true - $(OutDir)minizip.pdb - Console - MachineX64 - - - - - Itanium - - - Disabled - ..\..\..;..\..\minizip;%(AdditionalIncludeDirectories) - _CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;_DEBUG;_CONSOLE;WIN64;%(PreprocessorDefinitions) - true - Default - MultiThreadedDebugDLL - false - - - $(IntDir) - Level3 - ProgramDatabase - - - ia64\ZlibDllDebug\zlibwapi.lib;%(AdditionalDependencies) - $(OutDir)minizip.exe - true - $(OutDir)minizip.pdb - Console - MachineIA64 - - - - - X64 - - - MaxSpeed - OnlyExplicitInline - true - ..\..\..;..\..\minizip;%(AdditionalIncludeDirectories) - _CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;NDEBUG;_CONSOLE;WIN64;%(PreprocessorDefinitions) - true - Default - MultiThreadedDLL - false - true - - - $(IntDir) - Level3 - ProgramDatabase - - - x64\ZlibDllRelease\zlibwapi.lib;%(AdditionalDependencies) - $(OutDir)minizip.exe - true - Console - true - true - MachineX64 - - - - - Itanium - - - MaxSpeed - OnlyExplicitInline - true - ..\..\..;..\..\minizip;%(AdditionalIncludeDirectories) - _CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;NDEBUG;_CONSOLE;WIN64;%(PreprocessorDefinitions) - true - Default - MultiThreadedDLL - false - true - - - $(IntDir) - Level3 - ProgramDatabase - - - ia64\ZlibDllRelease\zlibwapi.lib;%(AdditionalDependencies) - $(OutDir)minizip.exe - true - Console - true - true - MachineIA64 - - - - - - - - {8fd826f8-3739-44e6-8cc8-997122e53b8d} - - - - - + + + + + Debug + Itanium + + + Debug + Win32 + + + Debug + x64 + + + Release + Itanium + + + Release + Win32 + + + Release + x64 + + + + {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B} + Win32Proj + + + + Application + MultiByte + + + Application + MultiByte + + + Application + MultiByte + + + Application + MultiByte + + + Application + MultiByte + + + Application + MultiByte + + + + + + + + + + + + + + + + + + + + + + + + + <_ProjectFileVersion>10.0.30128.1 + x86\MiniZip$(Configuration)\ + x86\MiniZip$(Configuration)\Tmp\ + true + false + x86\MiniZip$(Configuration)\ + x86\MiniZip$(Configuration)\Tmp\ + false + x64\$(Configuration)\ + x64\$(Configuration)\ + true + false + ia64\$(Configuration)\ + ia64\$(Configuration)\ + true + false + x64\$(Configuration)\ + x64\$(Configuration)\ + false + ia64\$(Configuration)\ + ia64\$(Configuration)\ + false + AllRules.ruleset + + + AllRules.ruleset + + + AllRules.ruleset + + + AllRules.ruleset + + + AllRules.ruleset + + + AllRules.ruleset + + + + + + Disabled + ..\..\..;..\..\minizip;%(AdditionalIncludeDirectories) + WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + true + Default + MultiThreadedDebug + false + + + $(IntDir) + Level3 + EditAndContinue + + + x86\ZlibDllDebug\zlibwapi.lib;%(AdditionalDependencies) + $(OutDir)minizip.exe + true + $(OutDir)minizip.pdb + Console + false + + + MachineX86 + + + + + MaxSpeed + OnlyExplicitInline + true + ..\..\..;..\..\minizip;%(AdditionalIncludeDirectories) + WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + true + Default + MultiThreaded + false + true + + + $(IntDir) + Level3 + ProgramDatabase + + + x86\ZlibDllRelease\zlibwapi.lib;%(AdditionalDependencies) + $(OutDir)minizip.exe + true + Console + true + true + false + + + MachineX86 + + + + + X64 + + + Disabled + ..\..\..;..\..\minizip;%(AdditionalIncludeDirectories) + _CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;_DEBUG;_CONSOLE;WIN64;%(PreprocessorDefinitions) + true + Default + MultiThreadedDebugDLL + false + + + $(IntDir) + Level3 + ProgramDatabase + + + x64\ZlibDllDebug\zlibwapi.lib;%(AdditionalDependencies) + $(OutDir)minizip.exe + true + $(OutDir)minizip.pdb + Console + MachineX64 + + + + + Itanium + + + Disabled + ..\..\..;..\..\minizip;%(AdditionalIncludeDirectories) + _CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;_DEBUG;_CONSOLE;WIN64;%(PreprocessorDefinitions) + true + Default + MultiThreadedDebugDLL + false + + + $(IntDir) + Level3 + ProgramDatabase + + + ia64\ZlibDllDebug\zlibwapi.lib;%(AdditionalDependencies) + $(OutDir)minizip.exe + true + $(OutDir)minizip.pdb + Console + MachineIA64 + + + + + X64 + + + MaxSpeed + OnlyExplicitInline + true + ..\..\..;..\..\minizip;%(AdditionalIncludeDirectories) + _CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;NDEBUG;_CONSOLE;WIN64;%(PreprocessorDefinitions) + true + Default + MultiThreadedDLL + false + true + + + $(IntDir) + Level3 + ProgramDatabase + + + x64\ZlibDllRelease\zlibwapi.lib;%(AdditionalDependencies) + $(OutDir)minizip.exe + true + Console + true + true + MachineX64 + + + + + Itanium + + + MaxSpeed + OnlyExplicitInline + true + ..\..\..;..\..\minizip;%(AdditionalIncludeDirectories) + _CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;NDEBUG;_CONSOLE;WIN64;%(PreprocessorDefinitions) + true + Default + MultiThreadedDLL + false + true + + + $(IntDir) + Level3 + ProgramDatabase + + + ia64\ZlibDllRelease\zlibwapi.lib;%(AdditionalDependencies) + $(OutDir)minizip.exe + true + Console + true + true + MachineIA64 + + + + + + + + {8fd826f8-3739-44e6-8cc8-997122e53b8d} + + + + + \ No newline at end of file diff --git a/thirdparty/zlib-1.3.1/contrib/vstudio/vc10/minizip.vcxproj.filters b/proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/vc10/minizip.vcxproj.filters similarity index 96% rename from thirdparty/zlib-1.3.1/contrib/vstudio/vc10/minizip.vcxproj.filters rename to proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/vc10/minizip.vcxproj.filters index bd18d71..2badd4b 100644 --- a/thirdparty/zlib-1.3.1/contrib/vstudio/vc10/minizip.vcxproj.filters +++ b/proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/vc10/minizip.vcxproj.filters @@ -1,22 +1,22 @@ - - - - - {c0419b40-bf50-40da-b153-ff74215b79de} - cpp;c;cxx;def;odl;idl;hpj;bat - - - {bb87b070-735b-478e-92ce-7383abb2f36c} - h;hpp;hxx;hm;inl;inc - - - {f46ab6a6-548f-43cb-ae96-681abb5bd5db} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe - - - - - Source Files - - + + + + + {c0419b40-bf50-40da-b153-ff74215b79de} + cpp;c;cxx;def;odl;idl;hpj;bat + + + {bb87b070-735b-478e-92ce-7383abb2f36c} + h;hpp;hxx;hm;inl;inc + + + {f46ab6a6-548f-43cb-ae96-681abb5bd5db} + rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe + + + + + Source Files + + \ No newline at end of file diff --git a/thirdparty/zlib-1.3.1/contrib/vstudio/vc10/testzlib.vcxproj b/proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/vc10/testzlib.vcxproj similarity index 98% rename from thirdparty/zlib-1.3.1/contrib/vstudio/vc10/testzlib.vcxproj rename to proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/vc10/testzlib.vcxproj index 0e668f7..9dae277 100644 --- a/thirdparty/zlib-1.3.1/contrib/vstudio/vc10/testzlib.vcxproj +++ b/proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/vc10/testzlib.vcxproj @@ -1,412 +1,412 @@ - - - - - Debug - Itanium - - - Debug - Win32 - - - Debug - x64 - - - ReleaseWithoutAsm - Itanium - - - ReleaseWithoutAsm - Win32 - - - ReleaseWithoutAsm - x64 - - - Release - Itanium - - - Release - Win32 - - - Release - x64 - - - - {AA6666AA-E09F-4135-9C0C-4FE50C3C654B} - testzlib - Win32Proj - - - - Application - MultiByte - true - - - Application - MultiByte - true - - - Application - MultiByte - - - Application - MultiByte - true - - - Application - MultiByte - true - - - Application - MultiByte - - - Application - true - - - Application - true - - - Application - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - <_ProjectFileVersion>10.0.30128.1 - x86\TestZlib$(Configuration)\ - x86\TestZlib$(Configuration)\Tmp\ - true - false - x86\TestZlib$(Configuration)\ - x86\TestZlib$(Configuration)\Tmp\ - false - false - x86\TestZlib$(Configuration)\ - x86\TestZlib$(Configuration)\Tmp\ - false - false - x64\TestZlib$(Configuration)\ - x64\TestZlib$(Configuration)\Tmp\ - false - ia64\TestZlib$(Configuration)\ - ia64\TestZlib$(Configuration)\Tmp\ - true - false - x64\TestZlib$(Configuration)\ - x64\TestZlib$(Configuration)\Tmp\ - false - ia64\TestZlib$(Configuration)\ - ia64\TestZlib$(Configuration)\Tmp\ - false - false - x64\TestZlib$(Configuration)\ - x64\TestZlib$(Configuration)\Tmp\ - false - ia64\TestZlib$(Configuration)\ - ia64\TestZlib$(Configuration)\Tmp\ - false - false - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - - - - Disabled - ..\..\..;%(AdditionalIncludeDirectories) - WIN32;ZLIB_WINAPI;_DEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions) - true - Default - MultiThreadedDebug - false - - - AssemblyAndSourceCode - $(IntDir) - Level3 - EditAndContinue - - - %(AdditionalDependencies) - $(OutDir)testzlib.exe - true - $(OutDir)testzlib.pdb - Console - false - - - MachineX86 - - - - - MaxSpeed - OnlyExplicitInline - true - ..\..\..;%(AdditionalIncludeDirectories) - WIN32;ZLIB_WINAPI;NDEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions) - true - Default - MultiThreaded - false - true - - - $(IntDir) - Level3 - ProgramDatabase - - - $(OutDir)testzlib.exe - true - Console - true - true - false - - - MachineX86 - - - - - MaxSpeed - OnlyExplicitInline - true - ..\..\..;%(AdditionalIncludeDirectories) - WIN32;ZLIB_WINAPI;NDEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions) - true - Default - MultiThreaded - false - true - - - $(IntDir) - Level3 - ProgramDatabase - - - %(AdditionalDependencies) - $(OutDir)testzlib.exe - true - Console - true - true - false - - - MachineX86 - - - - - ..\..\..;%(AdditionalIncludeDirectories) - WIN32;ZLIB_WINAPI;_DEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions) - Default - MultiThreadedDebugDLL - false - $(IntDir) - - - %(AdditionalDependencies) - - - - - Itanium - - - Disabled - ..\..\..;%(AdditionalIncludeDirectories) - ZLIB_WINAPI;_DEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN64;%(PreprocessorDefinitions) - true - Default - MultiThreadedDebugDLL - false - - - AssemblyAndSourceCode - $(IntDir) - Level3 - ProgramDatabase - - - $(OutDir)testzlib.exe - true - $(OutDir)testzlib.pdb - Console - MachineIA64 - - - - - ..\..\..;%(AdditionalIncludeDirectories) - WIN32;ZLIB_WINAPI;NDEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions) - Default - MultiThreadedDLL - false - $(IntDir) - - - %(AdditionalDependencies) - - - - - Itanium - - - MaxSpeed - OnlyExplicitInline - true - ..\..\..;%(AdditionalIncludeDirectories) - ZLIB_WINAPI;NDEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN64;%(PreprocessorDefinitions) - true - Default - MultiThreadedDLL - false - true - - - $(IntDir) - Level3 - ProgramDatabase - - - $(OutDir)testzlib.exe - true - Console - true - true - MachineIA64 - - - - - ..\..\..;%(AdditionalIncludeDirectories) - WIN32;ZLIB_WINAPI;NDEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions) - Default - MultiThreadedDLL - false - $(IntDir) - - - %(AdditionalDependencies) - - - - - Itanium - - - MaxSpeed - OnlyExplicitInline - true - ..\..\..;%(AdditionalIncludeDirectories) - ZLIB_WINAPI;NDEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN64;%(PreprocessorDefinitions) - true - Default - MultiThreadedDLL - false - true - - - $(IntDir) - Level3 - ProgramDatabase - - - $(OutDir)testzlib.exe - true - Console - true - true - MachineIA64 - - - - - - - - - - - - - - - - - - - + + + + + Debug + Itanium + + + Debug + Win32 + + + Debug + x64 + + + ReleaseWithoutAsm + Itanium + + + ReleaseWithoutAsm + Win32 + + + ReleaseWithoutAsm + x64 + + + Release + Itanium + + + Release + Win32 + + + Release + x64 + + + + {AA6666AA-E09F-4135-9C0C-4FE50C3C654B} + testzlib + Win32Proj + + + + Application + MultiByte + true + + + Application + MultiByte + true + + + Application + MultiByte + + + Application + MultiByte + true + + + Application + MultiByte + true + + + Application + MultiByte + + + Application + true + + + Application + true + + + Application + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <_ProjectFileVersion>10.0.30128.1 + x86\TestZlib$(Configuration)\ + x86\TestZlib$(Configuration)\Tmp\ + true + false + x86\TestZlib$(Configuration)\ + x86\TestZlib$(Configuration)\Tmp\ + false + false + x86\TestZlib$(Configuration)\ + x86\TestZlib$(Configuration)\Tmp\ + false + false + x64\TestZlib$(Configuration)\ + x64\TestZlib$(Configuration)\Tmp\ + false + ia64\TestZlib$(Configuration)\ + ia64\TestZlib$(Configuration)\Tmp\ + true + false + x64\TestZlib$(Configuration)\ + x64\TestZlib$(Configuration)\Tmp\ + false + ia64\TestZlib$(Configuration)\ + ia64\TestZlib$(Configuration)\Tmp\ + false + false + x64\TestZlib$(Configuration)\ + x64\TestZlib$(Configuration)\Tmp\ + false + ia64\TestZlib$(Configuration)\ + ia64\TestZlib$(Configuration)\Tmp\ + false + false + AllRules.ruleset + + + AllRules.ruleset + + + AllRules.ruleset + + + AllRules.ruleset + + + AllRules.ruleset + + + AllRules.ruleset + + + AllRules.ruleset + + + AllRules.ruleset + + + AllRules.ruleset + + + + + + Disabled + ..\..\..;%(AdditionalIncludeDirectories) + WIN32;ZLIB_WINAPI;_DEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions) + true + Default + MultiThreadedDebug + false + + + AssemblyAndSourceCode + $(IntDir) + Level3 + EditAndContinue + + + %(AdditionalDependencies) + $(OutDir)testzlib.exe + true + $(OutDir)testzlib.pdb + Console + false + + + MachineX86 + + + + + MaxSpeed + OnlyExplicitInline + true + ..\..\..;%(AdditionalIncludeDirectories) + WIN32;ZLIB_WINAPI;NDEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions) + true + Default + MultiThreaded + false + true + + + $(IntDir) + Level3 + ProgramDatabase + + + $(OutDir)testzlib.exe + true + Console + true + true + false + + + MachineX86 + + + + + MaxSpeed + OnlyExplicitInline + true + ..\..\..;%(AdditionalIncludeDirectories) + WIN32;ZLIB_WINAPI;NDEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions) + true + Default + MultiThreaded + false + true + + + $(IntDir) + Level3 + ProgramDatabase + + + %(AdditionalDependencies) + $(OutDir)testzlib.exe + true + Console + true + true + false + + + MachineX86 + + + + + ..\..\..;%(AdditionalIncludeDirectories) + WIN32;ZLIB_WINAPI;_DEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions) + Default + MultiThreadedDebugDLL + false + $(IntDir) + + + %(AdditionalDependencies) + + + + + Itanium + + + Disabled + ..\..\..;%(AdditionalIncludeDirectories) + ZLIB_WINAPI;_DEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN64;%(PreprocessorDefinitions) + true + Default + MultiThreadedDebugDLL + false + + + AssemblyAndSourceCode + $(IntDir) + Level3 + ProgramDatabase + + + $(OutDir)testzlib.exe + true + $(OutDir)testzlib.pdb + Console + MachineIA64 + + + + + ..\..\..;%(AdditionalIncludeDirectories) + WIN32;ZLIB_WINAPI;NDEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions) + Default + MultiThreadedDLL + false + $(IntDir) + + + %(AdditionalDependencies) + + + + + Itanium + + + MaxSpeed + OnlyExplicitInline + true + ..\..\..;%(AdditionalIncludeDirectories) + ZLIB_WINAPI;NDEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN64;%(PreprocessorDefinitions) + true + Default + MultiThreadedDLL + false + true + + + $(IntDir) + Level3 + ProgramDatabase + + + $(OutDir)testzlib.exe + true + Console + true + true + MachineIA64 + + + + + ..\..\..;%(AdditionalIncludeDirectories) + WIN32;ZLIB_WINAPI;NDEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions) + Default + MultiThreadedDLL + false + $(IntDir) + + + %(AdditionalDependencies) + + + + + Itanium + + + MaxSpeed + OnlyExplicitInline + true + ..\..\..;%(AdditionalIncludeDirectories) + ZLIB_WINAPI;NDEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN64;%(PreprocessorDefinitions) + true + Default + MultiThreadedDLL + false + true + + + $(IntDir) + Level3 + ProgramDatabase + + + $(OutDir)testzlib.exe + true + Console + true + true + MachineIA64 + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/thirdparty/zlib-1.3.1/contrib/vstudio/vc10/testzlib.vcxproj.filters b/proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/vc10/testzlib.vcxproj.filters similarity index 96% rename from thirdparty/zlib-1.3.1/contrib/vstudio/vc10/testzlib.vcxproj.filters rename to proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/vc10/testzlib.vcxproj.filters index 3cf52ee..177ea79 100644 --- a/thirdparty/zlib-1.3.1/contrib/vstudio/vc10/testzlib.vcxproj.filters +++ b/proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/vc10/testzlib.vcxproj.filters @@ -1,55 +1,55 @@ - - - - - {c1f6a2e3-5da5-4955-8653-310d3efe05a9} - cpp;c;cxx;def;odl;idl;hpj;bat - - - {c2aaffdc-2c95-4d6f-8466-4bec5890af2c} - h;hpp;hxx;hm;inl;inc - - - {c274fe07-05f2-461c-964b-f6341e4e7eb5} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe - - - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - + + + + + {c1f6a2e3-5da5-4955-8653-310d3efe05a9} + cpp;c;cxx;def;odl;idl;hpj;bat + + + {c2aaffdc-2c95-4d6f-8466-4bec5890af2c} + h;hpp;hxx;hm;inl;inc + + + {c274fe07-05f2-461c-964b-f6341e4e7eb5} + rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe + + + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + \ No newline at end of file diff --git a/thirdparty/zlib-1.3.1/contrib/vstudio/vc10/testzlibdll.vcxproj b/proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/vc10/testzlibdll.vcxproj similarity index 98% rename from thirdparty/zlib-1.3.1/contrib/vstudio/vc10/testzlibdll.vcxproj rename to proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/vc10/testzlibdll.vcxproj index bcb08ff..8e38876 100644 --- a/thirdparty/zlib-1.3.1/contrib/vstudio/vc10/testzlibdll.vcxproj +++ b/proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/vc10/testzlibdll.vcxproj @@ -1,310 +1,310 @@ - - - - - Debug - Itanium - - - Debug - Win32 - - - Debug - x64 - - - Release - Itanium - - - Release - Win32 - - - Release - x64 - - - - {C52F9E7B-498A-42BE-8DB4-85A15694366A} - Win32Proj - - - - Application - MultiByte - - - Application - MultiByte - - - Application - MultiByte - - - Application - MultiByte - - - Application - MultiByte - - - Application - MultiByte - - - - - - - - - - - - - - - - - - - - - - - - - <_ProjectFileVersion>10.0.30128.1 - x86\TestZlibDll$(Configuration)\ - x86\TestZlibDll$(Configuration)\Tmp\ - true - false - x86\TestZlibDll$(Configuration)\ - x86\TestZlibDll$(Configuration)\Tmp\ - false - false - x64\TestZlibDll$(Configuration)\ - x64\TestZlibDll$(Configuration)\Tmp\ - true - false - ia64\TestZlibDll$(Configuration)\ - ia64\TestZlibDll$(Configuration)\Tmp\ - true - false - x64\TestZlibDll$(Configuration)\ - x64\TestZlibDll$(Configuration)\Tmp\ - false - false - ia64\TestZlibDll$(Configuration)\ - ia64\TestZlibDll$(Configuration)\Tmp\ - false - false - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - - - - Disabled - ..\..\..;..\..\minizip;%(AdditionalIncludeDirectories) - WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true - Default - MultiThreadedDebug - false - - - $(IntDir) - Level3 - EditAndContinue - - - x86\ZlibDllDebug\zlibwapi.lib;%(AdditionalDependencies) - $(OutDir)testzlibdll.exe - true - $(OutDir)testzlib.pdb - Console - false - - - MachineX86 - - - - - MaxSpeed - OnlyExplicitInline - true - ..\..\..;..\..\minizip;%(AdditionalIncludeDirectories) - WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) - true - Default - MultiThreaded - false - true - - - $(IntDir) - Level3 - ProgramDatabase - - - x86\ZlibDllRelease\zlibwapi.lib;%(AdditionalDependencies) - $(OutDir)testzlibdll.exe - true - Console - true - true - false - - - MachineX86 - - - - - X64 - - - Disabled - ..\..\..;..\..\minizip;%(AdditionalIncludeDirectories) - _CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;_DEBUG;_CONSOLE;WIN64;%(PreprocessorDefinitions) - true - Default - MultiThreadedDebugDLL - false - - - $(IntDir) - Level3 - ProgramDatabase - - - x64\ZlibDllDebug\zlibwapi.lib;%(AdditionalDependencies) - $(OutDir)testzlibdll.exe - true - $(OutDir)testzlib.pdb - Console - MachineX64 - - - - - Itanium - - - Disabled - ..\..\..;..\..\minizip;%(AdditionalIncludeDirectories) - _CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;_DEBUG;_CONSOLE;WIN64;%(PreprocessorDefinitions) - true - Default - MultiThreadedDebugDLL - false - - - $(IntDir) - Level3 - ProgramDatabase - - - ia64\ZlibDllDebug\zlibwapi.lib;%(AdditionalDependencies) - $(OutDir)testzlibdll.exe - true - $(OutDir)testzlib.pdb - Console - MachineIA64 - - - - - X64 - - - MaxSpeed - OnlyExplicitInline - true - ..\..\..;..\..\minizip;%(AdditionalIncludeDirectories) - _CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;NDEBUG;_CONSOLE;WIN64;%(PreprocessorDefinitions) - true - Default - MultiThreadedDLL - false - true - - - $(IntDir) - Level3 - ProgramDatabase - - - x64\ZlibDllRelease\zlibwapi.lib;%(AdditionalDependencies) - $(OutDir)testzlibdll.exe - true - Console - true - true - MachineX64 - - - - - Itanium - - - MaxSpeed - OnlyExplicitInline - true - ..\..\..;..\..\minizip;%(AdditionalIncludeDirectories) - _CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;NDEBUG;_CONSOLE;WIN64;%(PreprocessorDefinitions) - true - Default - MultiThreadedDLL - false - true - - - $(IntDir) - Level3 - ProgramDatabase - - - ia64\ZlibDllRelease\zlibwapi.lib;%(AdditionalDependencies) - $(OutDir)testzlibdll.exe - true - Console - true - true - MachineIA64 - - - - - - - - {8fd826f8-3739-44e6-8cc8-997122e53b8d} - - - - - + + + + + Debug + Itanium + + + Debug + Win32 + + + Debug + x64 + + + Release + Itanium + + + Release + Win32 + + + Release + x64 + + + + {C52F9E7B-498A-42BE-8DB4-85A15694366A} + Win32Proj + + + + Application + MultiByte + + + Application + MultiByte + + + Application + MultiByte + + + Application + MultiByte + + + Application + MultiByte + + + Application + MultiByte + + + + + + + + + + + + + + + + + + + + + + + + + <_ProjectFileVersion>10.0.30128.1 + x86\TestZlibDll$(Configuration)\ + x86\TestZlibDll$(Configuration)\Tmp\ + true + false + x86\TestZlibDll$(Configuration)\ + x86\TestZlibDll$(Configuration)\Tmp\ + false + false + x64\TestZlibDll$(Configuration)\ + x64\TestZlibDll$(Configuration)\Tmp\ + true + false + ia64\TestZlibDll$(Configuration)\ + ia64\TestZlibDll$(Configuration)\Tmp\ + true + false + x64\TestZlibDll$(Configuration)\ + x64\TestZlibDll$(Configuration)\Tmp\ + false + false + ia64\TestZlibDll$(Configuration)\ + ia64\TestZlibDll$(Configuration)\Tmp\ + false + false + AllRules.ruleset + + + AllRules.ruleset + + + AllRules.ruleset + + + AllRules.ruleset + + + AllRules.ruleset + + + AllRules.ruleset + + + + + + Disabled + ..\..\..;..\..\minizip;%(AdditionalIncludeDirectories) + WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + true + Default + MultiThreadedDebug + false + + + $(IntDir) + Level3 + EditAndContinue + + + x86\ZlibDllDebug\zlibwapi.lib;%(AdditionalDependencies) + $(OutDir)testzlibdll.exe + true + $(OutDir)testzlib.pdb + Console + false + + + MachineX86 + + + + + MaxSpeed + OnlyExplicitInline + true + ..\..\..;..\..\minizip;%(AdditionalIncludeDirectories) + WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + true + Default + MultiThreaded + false + true + + + $(IntDir) + Level3 + ProgramDatabase + + + x86\ZlibDllRelease\zlibwapi.lib;%(AdditionalDependencies) + $(OutDir)testzlibdll.exe + true + Console + true + true + false + + + MachineX86 + + + + + X64 + + + Disabled + ..\..\..;..\..\minizip;%(AdditionalIncludeDirectories) + _CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;_DEBUG;_CONSOLE;WIN64;%(PreprocessorDefinitions) + true + Default + MultiThreadedDebugDLL + false + + + $(IntDir) + Level3 + ProgramDatabase + + + x64\ZlibDllDebug\zlibwapi.lib;%(AdditionalDependencies) + $(OutDir)testzlibdll.exe + true + $(OutDir)testzlib.pdb + Console + MachineX64 + + + + + Itanium + + + Disabled + ..\..\..;..\..\minizip;%(AdditionalIncludeDirectories) + _CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;_DEBUG;_CONSOLE;WIN64;%(PreprocessorDefinitions) + true + Default + MultiThreadedDebugDLL + false + + + $(IntDir) + Level3 + ProgramDatabase + + + ia64\ZlibDllDebug\zlibwapi.lib;%(AdditionalDependencies) + $(OutDir)testzlibdll.exe + true + $(OutDir)testzlib.pdb + Console + MachineIA64 + + + + + X64 + + + MaxSpeed + OnlyExplicitInline + true + ..\..\..;..\..\minizip;%(AdditionalIncludeDirectories) + _CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;NDEBUG;_CONSOLE;WIN64;%(PreprocessorDefinitions) + true + Default + MultiThreadedDLL + false + true + + + $(IntDir) + Level3 + ProgramDatabase + + + x64\ZlibDllRelease\zlibwapi.lib;%(AdditionalDependencies) + $(OutDir)testzlibdll.exe + true + Console + true + true + MachineX64 + + + + + Itanium + + + MaxSpeed + OnlyExplicitInline + true + ..\..\..;..\..\minizip;%(AdditionalIncludeDirectories) + _CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;NDEBUG;_CONSOLE;WIN64;%(PreprocessorDefinitions) + true + Default + MultiThreadedDLL + false + true + + + $(IntDir) + Level3 + ProgramDatabase + + + ia64\ZlibDllRelease\zlibwapi.lib;%(AdditionalDependencies) + $(OutDir)testzlibdll.exe + true + Console + true + true + MachineIA64 + + + + + + + + {8fd826f8-3739-44e6-8cc8-997122e53b8d} + + + + + \ No newline at end of file diff --git a/thirdparty/zlib-1.3.1/contrib/vstudio/vc10/testzlibdll.vcxproj.filters b/proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/vc10/testzlibdll.vcxproj.filters similarity index 96% rename from thirdparty/zlib-1.3.1/contrib/vstudio/vc10/testzlibdll.vcxproj.filters rename to proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/vc10/testzlibdll.vcxproj.filters index aeb550e..ac35c59 100644 --- a/thirdparty/zlib-1.3.1/contrib/vstudio/vc10/testzlibdll.vcxproj.filters +++ b/proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/vc10/testzlibdll.vcxproj.filters @@ -1,22 +1,22 @@ - - - - - {fa61a89f-93fc-4c89-b29e-36224b7592f4} - cpp;c;cxx;def;odl;idl;hpj;bat - - - {d4b85da0-2ba2-4934-b57f-e2584e3848ee} - h;hpp;hxx;hm;inl;inc - - - {e573e075-00bd-4a7d-bd67-a8cc9bfc5aca} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe - - - - - Source Files - - + + + + + {fa61a89f-93fc-4c89-b29e-36224b7592f4} + cpp;c;cxx;def;odl;idl;hpj;bat + + + {d4b85da0-2ba2-4934-b57f-e2584e3848ee} + h;hpp;hxx;hm;inl;inc + + + {e573e075-00bd-4a7d-bd67-a8cc9bfc5aca} + rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe + + + + + Source Files + + \ No newline at end of file diff --git a/thirdparty/zlib-1.3.1/contrib/vstudio/vc12/zlib.rc b/proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/vc10/zlib.rc similarity index 100% rename from thirdparty/zlib-1.3.1/contrib/vstudio/vc12/zlib.rc rename to proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/vc10/zlib.rc diff --git a/thirdparty/zlib-1.3.1/contrib/vstudio/vc10/zlibstat.vcxproj b/proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/vc10/zlibstat.vcxproj similarity index 98% rename from thirdparty/zlib-1.3.1/contrib/vstudio/vc10/zlibstat.vcxproj rename to proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/vc10/zlibstat.vcxproj index c7ed09e..c661517 100644 --- a/thirdparty/zlib-1.3.1/contrib/vstudio/vc10/zlibstat.vcxproj +++ b/proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/vc10/zlibstat.vcxproj @@ -1,449 +1,449 @@ - - - - - Debug - Itanium - - - Debug - Win32 - - - Debug - x64 - - - ReleaseWithoutAsm - Itanium - - - ReleaseWithoutAsm - Win32 - - - ReleaseWithoutAsm - x64 - - - Release - Itanium - - - Release - Win32 - - - Release - x64 - - - - {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8} - - - - StaticLibrary - false - - - StaticLibrary - false - - - StaticLibrary - false - - - StaticLibrary - false - - - StaticLibrary - false - - - StaticLibrary - false - - - StaticLibrary - false - - - StaticLibrary - false - - - StaticLibrary - false - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - <_ProjectFileVersion>10.0.30128.1 - x86\ZlibStat$(Configuration)\ - x86\ZlibStat$(Configuration)\Tmp\ - x86\ZlibStat$(Configuration)\ - x86\ZlibStat$(Configuration)\Tmp\ - x86\ZlibStat$(Configuration)\ - x86\ZlibStat$(Configuration)\Tmp\ - x64\ZlibStat$(Configuration)\ - x64\ZlibStat$(Configuration)\Tmp\ - ia64\ZlibStat$(Configuration)\ - ia64\ZlibStat$(Configuration)\Tmp\ - x64\ZlibStat$(Configuration)\ - x64\ZlibStat$(Configuration)\Tmp\ - ia64\ZlibStat$(Configuration)\ - ia64\ZlibStat$(Configuration)\Tmp\ - x64\ZlibStat$(Configuration)\ - x64\ZlibStat$(Configuration)\Tmp\ - ia64\ZlibStat$(Configuration)\ - ia64\ZlibStat$(Configuration)\Tmp\ - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - - - - Disabled - %(AdditionalIncludeDirectories) - WIN32;ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions) - - - MultiThreadedDebug - false - $(IntDir)zlibstat.pch - $(IntDir) - $(IntDir) - $(OutDir) - Level3 - true - OldStyle - - - 0x040c - - - /MACHINE:X86 /NODEFAULTLIB %(AdditionalOptions) - $(OutDir)zlibstat.lib - true - - - - - OnlyExplicitInline - ..\..\..;%(AdditionalIncludeDirectories) - WIN32;ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions) - true - - - MultiThreaded - false - true - $(IntDir)zlibstat.pch - $(IntDir) - $(IntDir) - $(OutDir) - Level3 - true - - - 0x040c - - - /MACHINE:X86 /NODEFAULTLIB %(AdditionalOptions) - %(AdditionalDependencies) - $(OutDir)zlibstat.lib - true - - - - - OnlyExplicitInline - ..\..\..;%(AdditionalIncludeDirectories) - WIN32;ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions) - true - - - MultiThreaded - false - true - $(IntDir)zlibstat.pch - $(IntDir) - $(IntDir) - $(OutDir) - Level3 - true - - - 0x040c - - - /MACHINE:X86 /NODEFAULTLIB %(AdditionalOptions) - $(OutDir)zlibstat.lib - true - - - - - X64 - - - Disabled - ..\..\..;%(AdditionalIncludeDirectories) - ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN64;%(PreprocessorDefinitions) - - - MultiThreadedDebugDLL - false - $(IntDir)zlibstat.pch - $(IntDir) - $(IntDir) - $(OutDir) - Level3 - true - OldStyle - - - 0x040c - - - /MACHINE:AMD64 /NODEFAULTLIB %(AdditionalOptions) - $(OutDir)zlibstat.lib - true - - - - - Itanium - - - Disabled - ..\..\..;%(AdditionalIncludeDirectories) - ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN64;%(PreprocessorDefinitions) - - - MultiThreadedDebugDLL - false - $(IntDir)zlibstat.pch - $(IntDir) - $(IntDir) - $(OutDir) - Level3 - true - OldStyle - - - 0x040c - - - /MACHINE:IA64 /NODEFAULTLIB %(AdditionalOptions) - $(OutDir)zlibstat.lib - true - - - - - X64 - - - OnlyExplicitInline - ..\..\..;%(AdditionalIncludeDirectories) - ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN64;%(PreprocessorDefinitions) - true - - - MultiThreadedDLL - false - true - $(IntDir)zlibstat.pch - $(IntDir) - $(IntDir) - $(OutDir) - Level3 - true - - - 0x040c - - - /MACHINE:AMD64 /NODEFAULTLIB %(AdditionalOptions) - %(AdditionalDependencies) - $(OutDir)zlibstat.lib - true - - - - - Itanium - - - OnlyExplicitInline - ..\..\..;%(AdditionalIncludeDirectories) - ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN64;%(PreprocessorDefinitions) - true - - - MultiThreadedDLL - false - true - $(IntDir)zlibstat.pch - $(IntDir) - $(IntDir) - $(OutDir) - Level3 - true - - - 0x040c - - - /MACHINE:IA64 /NODEFAULTLIB %(AdditionalOptions) - $(OutDir)zlibstat.lib - true - - - - - X64 - - - OnlyExplicitInline - ..\..\..;%(AdditionalIncludeDirectories) - ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN64;%(PreprocessorDefinitions) - true - - - MultiThreadedDLL - false - true - $(IntDir)zlibstat.pch - $(IntDir) - $(IntDir) - $(OutDir) - Level3 - true - - - 0x040c - - - /MACHINE:AMD64 /NODEFAULTLIB %(AdditionalOptions) - $(OutDir)zlibstat.lib - true - - - - - Itanium - - - OnlyExplicitInline - ..\..\..;%(AdditionalIncludeDirectories) - ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN64;%(PreprocessorDefinitions) - true - - - MultiThreadedDLL - false - true - $(IntDir)zlibstat.pch - $(IntDir) - $(IntDir) - $(OutDir) - Level3 - true - - - 0x040c - - - /MACHINE:IA64 /NODEFAULTLIB %(AdditionalOptions) - $(OutDir)zlibstat.lib - true - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + Debug + Itanium + + + Debug + Win32 + + + Debug + x64 + + + ReleaseWithoutAsm + Itanium + + + ReleaseWithoutAsm + Win32 + + + ReleaseWithoutAsm + x64 + + + Release + Itanium + + + Release + Win32 + + + Release + x64 + + + + {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8} + + + + StaticLibrary + false + + + StaticLibrary + false + + + StaticLibrary + false + + + StaticLibrary + false + + + StaticLibrary + false + + + StaticLibrary + false + + + StaticLibrary + false + + + StaticLibrary + false + + + StaticLibrary + false + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <_ProjectFileVersion>10.0.30128.1 + x86\ZlibStat$(Configuration)\ + x86\ZlibStat$(Configuration)\Tmp\ + x86\ZlibStat$(Configuration)\ + x86\ZlibStat$(Configuration)\Tmp\ + x86\ZlibStat$(Configuration)\ + x86\ZlibStat$(Configuration)\Tmp\ + x64\ZlibStat$(Configuration)\ + x64\ZlibStat$(Configuration)\Tmp\ + ia64\ZlibStat$(Configuration)\ + ia64\ZlibStat$(Configuration)\Tmp\ + x64\ZlibStat$(Configuration)\ + x64\ZlibStat$(Configuration)\Tmp\ + ia64\ZlibStat$(Configuration)\ + ia64\ZlibStat$(Configuration)\Tmp\ + x64\ZlibStat$(Configuration)\ + x64\ZlibStat$(Configuration)\Tmp\ + ia64\ZlibStat$(Configuration)\ + ia64\ZlibStat$(Configuration)\Tmp\ + AllRules.ruleset + + + AllRules.ruleset + + + AllRules.ruleset + + + AllRules.ruleset + + + AllRules.ruleset + + + AllRules.ruleset + + + AllRules.ruleset + + + AllRules.ruleset + + + AllRules.ruleset + + + + + + Disabled + %(AdditionalIncludeDirectories) + WIN32;ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions) + + + MultiThreadedDebug + false + $(IntDir)zlibstat.pch + $(IntDir) + $(IntDir) + $(OutDir) + Level3 + true + OldStyle + + + 0x040c + + + /MACHINE:X86 /NODEFAULTLIB %(AdditionalOptions) + $(OutDir)zlibstat.lib + true + + + + + OnlyExplicitInline + ..\..\..;%(AdditionalIncludeDirectories) + WIN32;ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions) + true + + + MultiThreaded + false + true + $(IntDir)zlibstat.pch + $(IntDir) + $(IntDir) + $(OutDir) + Level3 + true + + + 0x040c + + + /MACHINE:X86 /NODEFAULTLIB %(AdditionalOptions) + %(AdditionalDependencies) + $(OutDir)zlibstat.lib + true + + + + + OnlyExplicitInline + ..\..\..;%(AdditionalIncludeDirectories) + WIN32;ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions) + true + + + MultiThreaded + false + true + $(IntDir)zlibstat.pch + $(IntDir) + $(IntDir) + $(OutDir) + Level3 + true + + + 0x040c + + + /MACHINE:X86 /NODEFAULTLIB %(AdditionalOptions) + $(OutDir)zlibstat.lib + true + + + + + X64 + + + Disabled + ..\..\..;%(AdditionalIncludeDirectories) + ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN64;%(PreprocessorDefinitions) + + + MultiThreadedDebugDLL + false + $(IntDir)zlibstat.pch + $(IntDir) + $(IntDir) + $(OutDir) + Level3 + true + OldStyle + + + 0x040c + + + /MACHINE:AMD64 /NODEFAULTLIB %(AdditionalOptions) + $(OutDir)zlibstat.lib + true + + + + + Itanium + + + Disabled + ..\..\..;%(AdditionalIncludeDirectories) + ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN64;%(PreprocessorDefinitions) + + + MultiThreadedDebugDLL + false + $(IntDir)zlibstat.pch + $(IntDir) + $(IntDir) + $(OutDir) + Level3 + true + OldStyle + + + 0x040c + + + /MACHINE:IA64 /NODEFAULTLIB %(AdditionalOptions) + $(OutDir)zlibstat.lib + true + + + + + X64 + + + OnlyExplicitInline + ..\..\..;%(AdditionalIncludeDirectories) + ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN64;%(PreprocessorDefinitions) + true + + + MultiThreadedDLL + false + true + $(IntDir)zlibstat.pch + $(IntDir) + $(IntDir) + $(OutDir) + Level3 + true + + + 0x040c + + + /MACHINE:AMD64 /NODEFAULTLIB %(AdditionalOptions) + %(AdditionalDependencies) + $(OutDir)zlibstat.lib + true + + + + + Itanium + + + OnlyExplicitInline + ..\..\..;%(AdditionalIncludeDirectories) + ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN64;%(PreprocessorDefinitions) + true + + + MultiThreadedDLL + false + true + $(IntDir)zlibstat.pch + $(IntDir) + $(IntDir) + $(OutDir) + Level3 + true + + + 0x040c + + + /MACHINE:IA64 /NODEFAULTLIB %(AdditionalOptions) + $(OutDir)zlibstat.lib + true + + + + + X64 + + + OnlyExplicitInline + ..\..\..;%(AdditionalIncludeDirectories) + ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN64;%(PreprocessorDefinitions) + true + + + MultiThreadedDLL + false + true + $(IntDir)zlibstat.pch + $(IntDir) + $(IntDir) + $(OutDir) + Level3 + true + + + 0x040c + + + /MACHINE:AMD64 /NODEFAULTLIB %(AdditionalOptions) + $(OutDir)zlibstat.lib + true + + + + + Itanium + + + OnlyExplicitInline + ..\..\..;%(AdditionalIncludeDirectories) + ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN64;%(PreprocessorDefinitions) + true + + + MultiThreadedDLL + false + true + $(IntDir)zlibstat.pch + $(IntDir) + $(IntDir) + $(OutDir) + Level3 + true + + + 0x040c + + + /MACHINE:IA64 /NODEFAULTLIB %(AdditionalOptions) + $(OutDir)zlibstat.lib + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/thirdparty/zlib-1.3.1/contrib/vstudio/vc10/zlibstat.vcxproj.filters b/proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/vc10/zlibstat.vcxproj.filters similarity index 96% rename from thirdparty/zlib-1.3.1/contrib/vstudio/vc10/zlibstat.vcxproj.filters rename to proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/vc10/zlibstat.vcxproj.filters index ba7e23d..d3762dc 100644 --- a/thirdparty/zlib-1.3.1/contrib/vstudio/vc10/zlibstat.vcxproj.filters +++ b/proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/vc10/zlibstat.vcxproj.filters @@ -1,74 +1,74 @@ - - - - - {174213f6-7f66-4ae8-a3a8-a1e0a1e6ffdd} - - - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - - - Source Files - - - - - Source Files - - + + + + + {174213f6-7f66-4ae8-a3a8-a1e0a1e6ffdd} + + + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + + + Source Files + + + + + Source Files + + \ No newline at end of file diff --git a/thirdparty/zlib-1.3.1/contrib/vstudio/vc17/zlibvc.def b/proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/vc10/zlibvc.def similarity index 100% rename from thirdparty/zlib-1.3.1/contrib/vstudio/vc17/zlibvc.def rename to proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/vc10/zlibvc.def diff --git a/thirdparty/zlib-1.3.1/contrib/vstudio/vc10/zlibvc.sln b/proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/vc10/zlibvc.sln similarity index 98% rename from thirdparty/zlib-1.3.1/contrib/vstudio/vc10/zlibvc.sln rename to proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/vc10/zlibvc.sln index 6f6ffd5..649f40c 100644 --- a/thirdparty/zlib-1.3.1/contrib/vstudio/vc10/zlibvc.sln +++ b/proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/vc10/zlibvc.sln @@ -1,135 +1,135 @@ - -Microsoft Visual Studio Solution File, Format Version 11.00 -# Visual Studio 2010 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "zlibvc", "zlibvc.vcxproj", "{8FD826F8-3739-44E6-8CC8-997122E53B8D}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "zlibstat", "zlibstat.vcxproj", "{745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testzlib", "testzlib.vcxproj", "{AA6666AA-E09F-4135-9C0C-4FE50C3C654B}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testzlibdll", "testzlibdll.vcxproj", "{C52F9E7B-498A-42BE-8DB4-85A15694366A}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "minizip", "minizip.vcxproj", "{48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "miniunz", "miniunz.vcxproj", "{C52F9E7B-498A-42BE-8DB4-85A15694382A}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Itanium = Debug|Itanium - Debug|Win32 = Debug|Win32 - Debug|x64 = Debug|x64 - Release|Itanium = Release|Itanium - Release|Win32 = Release|Win32 - Release|x64 = Release|x64 - ReleaseWithoutAsm|Itanium = ReleaseWithoutAsm|Itanium - ReleaseWithoutAsm|Win32 = ReleaseWithoutAsm|Win32 - ReleaseWithoutAsm|x64 = ReleaseWithoutAsm|x64 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Debug|Itanium.ActiveCfg = Debug|Itanium - {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Debug|Itanium.Build.0 = Debug|Itanium - {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Debug|Win32.ActiveCfg = Debug|Win32 - {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Debug|Win32.Build.0 = Debug|Win32 - {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Debug|x64.ActiveCfg = Debug|x64 - {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Debug|x64.Build.0 = Debug|x64 - {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Release|Itanium.ActiveCfg = Release|Itanium - {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Release|Itanium.Build.0 = Release|Itanium - {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Release|Win32.ActiveCfg = Release|Win32 - {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Release|Win32.Build.0 = Release|Win32 - {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Release|x64.ActiveCfg = Release|x64 - {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Release|x64.Build.0 = Release|x64 - {8FD826F8-3739-44E6-8CC8-997122E53B8D}.ReleaseWithoutAsm|Itanium.ActiveCfg = ReleaseWithoutAsm|Itanium - {8FD826F8-3739-44E6-8CC8-997122E53B8D}.ReleaseWithoutAsm|Itanium.Build.0 = ReleaseWithoutAsm|Itanium - {8FD826F8-3739-44E6-8CC8-997122E53B8D}.ReleaseWithoutAsm|Win32.ActiveCfg = ReleaseWithoutAsm|Win32 - {8FD826F8-3739-44E6-8CC8-997122E53B8D}.ReleaseWithoutAsm|Win32.Build.0 = ReleaseWithoutAsm|Win32 - {8FD826F8-3739-44E6-8CC8-997122E53B8D}.ReleaseWithoutAsm|x64.ActiveCfg = ReleaseWithoutAsm|x64 - {8FD826F8-3739-44E6-8CC8-997122E53B8D}.ReleaseWithoutAsm|x64.Build.0 = ReleaseWithoutAsm|x64 - {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Debug|Itanium.ActiveCfg = Debug|Itanium - {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Debug|Itanium.Build.0 = Debug|Itanium - {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Debug|Win32.ActiveCfg = Debug|Win32 - {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Debug|Win32.Build.0 = Debug|Win32 - {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Debug|x64.ActiveCfg = Debug|x64 - {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Debug|x64.Build.0 = Debug|x64 - {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Release|Itanium.ActiveCfg = Release|Itanium - {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Release|Itanium.Build.0 = Release|Itanium - {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Release|Win32.ActiveCfg = Release|Win32 - {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Release|Win32.Build.0 = Release|Win32 - {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Release|x64.ActiveCfg = Release|x64 - {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Release|x64.Build.0 = Release|x64 - {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.ReleaseWithoutAsm|Itanium.ActiveCfg = ReleaseWithoutAsm|Itanium - {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.ReleaseWithoutAsm|Itanium.Build.0 = ReleaseWithoutAsm|Itanium - {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.ReleaseWithoutAsm|Win32.ActiveCfg = ReleaseWithoutAsm|Win32 - {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.ReleaseWithoutAsm|Win32.Build.0 = ReleaseWithoutAsm|Win32 - {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.ReleaseWithoutAsm|x64.ActiveCfg = ReleaseWithoutAsm|x64 - {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.ReleaseWithoutAsm|x64.Build.0 = ReleaseWithoutAsm|x64 - {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Debug|Itanium.ActiveCfg = Debug|Itanium - {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Debug|Itanium.Build.0 = Debug|Itanium - {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Debug|Win32.ActiveCfg = Debug|Win32 - {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Debug|Win32.Build.0 = Debug|Win32 - {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Debug|x64.ActiveCfg = Debug|x64 - {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Debug|x64.Build.0 = Debug|x64 - {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Release|Itanium.ActiveCfg = Release|Itanium - {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Release|Itanium.Build.0 = Release|Itanium - {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Release|Win32.ActiveCfg = Release|Win32 - {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Release|Win32.Build.0 = Release|Win32 - {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Release|x64.ActiveCfg = Release|x64 - {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Release|x64.Build.0 = Release|x64 - {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|Itanium.ActiveCfg = ReleaseWithoutAsm|Itanium - {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|Itanium.Build.0 = ReleaseWithoutAsm|Itanium - {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|Win32.ActiveCfg = ReleaseWithoutAsm|Win32 - {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|Win32.Build.0 = ReleaseWithoutAsm|Win32 - {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|x64.ActiveCfg = ReleaseWithoutAsm|x64 - {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|x64.Build.0 = ReleaseWithoutAsm|x64 - {C52F9E7B-498A-42BE-8DB4-85A15694366A}.Debug|Itanium.ActiveCfg = Debug|Itanium - {C52F9E7B-498A-42BE-8DB4-85A15694366A}.Debug|Itanium.Build.0 = Debug|Itanium - {C52F9E7B-498A-42BE-8DB4-85A15694366A}.Debug|Win32.ActiveCfg = Debug|Win32 - {C52F9E7B-498A-42BE-8DB4-85A15694366A}.Debug|Win32.Build.0 = Debug|Win32 - {C52F9E7B-498A-42BE-8DB4-85A15694366A}.Debug|x64.ActiveCfg = Debug|x64 - {C52F9E7B-498A-42BE-8DB4-85A15694366A}.Debug|x64.Build.0 = Debug|x64 - {C52F9E7B-498A-42BE-8DB4-85A15694366A}.Release|Itanium.ActiveCfg = Release|Itanium - {C52F9E7B-498A-42BE-8DB4-85A15694366A}.Release|Itanium.Build.0 = Release|Itanium - {C52F9E7B-498A-42BE-8DB4-85A15694366A}.Release|Win32.ActiveCfg = Release|Win32 - {C52F9E7B-498A-42BE-8DB4-85A15694366A}.Release|Win32.Build.0 = Release|Win32 - {C52F9E7B-498A-42BE-8DB4-85A15694366A}.Release|x64.ActiveCfg = Release|x64 - {C52F9E7B-498A-42BE-8DB4-85A15694366A}.Release|x64.Build.0 = Release|x64 - {C52F9E7B-498A-42BE-8DB4-85A15694366A}.ReleaseWithoutAsm|Itanium.ActiveCfg = Release|Itanium - {C52F9E7B-498A-42BE-8DB4-85A15694366A}.ReleaseWithoutAsm|Itanium.Build.0 = Release|Itanium - {C52F9E7B-498A-42BE-8DB4-85A15694366A}.ReleaseWithoutAsm|Win32.ActiveCfg = Release|Win32 - {C52F9E7B-498A-42BE-8DB4-85A15694366A}.ReleaseWithoutAsm|x64.ActiveCfg = Release|x64 - {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Debug|Itanium.ActiveCfg = Debug|Itanium - {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Debug|Itanium.Build.0 = Debug|Itanium - {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Debug|Win32.ActiveCfg = Debug|Win32 - {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Debug|Win32.Build.0 = Debug|Win32 - {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Debug|x64.ActiveCfg = Debug|x64 - {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Debug|x64.Build.0 = Debug|x64 - {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Release|Itanium.ActiveCfg = Release|Itanium - {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Release|Itanium.Build.0 = Release|Itanium - {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Release|Win32.ActiveCfg = Release|Win32 - {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Release|Win32.Build.0 = Release|Win32 - {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Release|x64.ActiveCfg = Release|x64 - {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Release|x64.Build.0 = Release|x64 - {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|Itanium.ActiveCfg = Release|Itanium - {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|Itanium.Build.0 = Release|Itanium - {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|Win32.ActiveCfg = Release|Win32 - {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|x64.ActiveCfg = Release|x64 - {C52F9E7B-498A-42BE-8DB4-85A15694382A}.Debug|Itanium.ActiveCfg = Debug|Itanium - {C52F9E7B-498A-42BE-8DB4-85A15694382A}.Debug|Itanium.Build.0 = Debug|Itanium - {C52F9E7B-498A-42BE-8DB4-85A15694382A}.Debug|Win32.ActiveCfg = Debug|Win32 - {C52F9E7B-498A-42BE-8DB4-85A15694382A}.Debug|Win32.Build.0 = Debug|Win32 - {C52F9E7B-498A-42BE-8DB4-85A15694382A}.Debug|x64.ActiveCfg = Debug|x64 - {C52F9E7B-498A-42BE-8DB4-85A15694382A}.Debug|x64.Build.0 = Debug|x64 - {C52F9E7B-498A-42BE-8DB4-85A15694382A}.Release|Itanium.ActiveCfg = Release|Itanium - {C52F9E7B-498A-42BE-8DB4-85A15694382A}.Release|Itanium.Build.0 = Release|Itanium - {C52F9E7B-498A-42BE-8DB4-85A15694382A}.Release|Win32.ActiveCfg = Release|Win32 - {C52F9E7B-498A-42BE-8DB4-85A15694382A}.Release|Win32.Build.0 = Release|Win32 - {C52F9E7B-498A-42BE-8DB4-85A15694382A}.Release|x64.ActiveCfg = Release|x64 - {C52F9E7B-498A-42BE-8DB4-85A15694382A}.Release|x64.Build.0 = Release|x64 - {C52F9E7B-498A-42BE-8DB4-85A15694382A}.ReleaseWithoutAsm|Itanium.ActiveCfg = Release|Itanium - {C52F9E7B-498A-42BE-8DB4-85A15694382A}.ReleaseWithoutAsm|Itanium.Build.0 = Release|Itanium - {C52F9E7B-498A-42BE-8DB4-85A15694382A}.ReleaseWithoutAsm|Win32.ActiveCfg = Release|Win32 - {C52F9E7B-498A-42BE-8DB4-85A15694382A}.ReleaseWithoutAsm|x64.ActiveCfg = Release|x64 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal + +Microsoft Visual Studio Solution File, Format Version 11.00 +# Visual Studio 2010 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "zlibvc", "zlibvc.vcxproj", "{8FD826F8-3739-44E6-8CC8-997122E53B8D}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "zlibstat", "zlibstat.vcxproj", "{745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testzlib", "testzlib.vcxproj", "{AA6666AA-E09F-4135-9C0C-4FE50C3C654B}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testzlibdll", "testzlibdll.vcxproj", "{C52F9E7B-498A-42BE-8DB4-85A15694366A}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "minizip", "minizip.vcxproj", "{48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "miniunz", "miniunz.vcxproj", "{C52F9E7B-498A-42BE-8DB4-85A15694382A}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Itanium = Debug|Itanium + Debug|Win32 = Debug|Win32 + Debug|x64 = Debug|x64 + Release|Itanium = Release|Itanium + Release|Win32 = Release|Win32 + Release|x64 = Release|x64 + ReleaseWithoutAsm|Itanium = ReleaseWithoutAsm|Itanium + ReleaseWithoutAsm|Win32 = ReleaseWithoutAsm|Win32 + ReleaseWithoutAsm|x64 = ReleaseWithoutAsm|x64 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Debug|Itanium.ActiveCfg = Debug|Itanium + {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Debug|Itanium.Build.0 = Debug|Itanium + {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Debug|Win32.ActiveCfg = Debug|Win32 + {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Debug|Win32.Build.0 = Debug|Win32 + {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Debug|x64.ActiveCfg = Debug|x64 + {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Debug|x64.Build.0 = Debug|x64 + {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Release|Itanium.ActiveCfg = Release|Itanium + {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Release|Itanium.Build.0 = Release|Itanium + {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Release|Win32.ActiveCfg = Release|Win32 + {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Release|Win32.Build.0 = Release|Win32 + {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Release|x64.ActiveCfg = Release|x64 + {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Release|x64.Build.0 = Release|x64 + {8FD826F8-3739-44E6-8CC8-997122E53B8D}.ReleaseWithoutAsm|Itanium.ActiveCfg = ReleaseWithoutAsm|Itanium + {8FD826F8-3739-44E6-8CC8-997122E53B8D}.ReleaseWithoutAsm|Itanium.Build.0 = ReleaseWithoutAsm|Itanium + {8FD826F8-3739-44E6-8CC8-997122E53B8D}.ReleaseWithoutAsm|Win32.ActiveCfg = ReleaseWithoutAsm|Win32 + {8FD826F8-3739-44E6-8CC8-997122E53B8D}.ReleaseWithoutAsm|Win32.Build.0 = ReleaseWithoutAsm|Win32 + {8FD826F8-3739-44E6-8CC8-997122E53B8D}.ReleaseWithoutAsm|x64.ActiveCfg = ReleaseWithoutAsm|x64 + {8FD826F8-3739-44E6-8CC8-997122E53B8D}.ReleaseWithoutAsm|x64.Build.0 = ReleaseWithoutAsm|x64 + {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Debug|Itanium.ActiveCfg = Debug|Itanium + {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Debug|Itanium.Build.0 = Debug|Itanium + {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Debug|Win32.ActiveCfg = Debug|Win32 + {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Debug|Win32.Build.0 = Debug|Win32 + {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Debug|x64.ActiveCfg = Debug|x64 + {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Debug|x64.Build.0 = Debug|x64 + {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Release|Itanium.ActiveCfg = Release|Itanium + {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Release|Itanium.Build.0 = Release|Itanium + {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Release|Win32.ActiveCfg = Release|Win32 + {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Release|Win32.Build.0 = Release|Win32 + {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Release|x64.ActiveCfg = Release|x64 + {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Release|x64.Build.0 = Release|x64 + {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.ReleaseWithoutAsm|Itanium.ActiveCfg = ReleaseWithoutAsm|Itanium + {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.ReleaseWithoutAsm|Itanium.Build.0 = ReleaseWithoutAsm|Itanium + {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.ReleaseWithoutAsm|Win32.ActiveCfg = ReleaseWithoutAsm|Win32 + {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.ReleaseWithoutAsm|Win32.Build.0 = ReleaseWithoutAsm|Win32 + {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.ReleaseWithoutAsm|x64.ActiveCfg = ReleaseWithoutAsm|x64 + {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.ReleaseWithoutAsm|x64.Build.0 = ReleaseWithoutAsm|x64 + {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Debug|Itanium.ActiveCfg = Debug|Itanium + {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Debug|Itanium.Build.0 = Debug|Itanium + {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Debug|Win32.ActiveCfg = Debug|Win32 + {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Debug|Win32.Build.0 = Debug|Win32 + {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Debug|x64.ActiveCfg = Debug|x64 + {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Debug|x64.Build.0 = Debug|x64 + {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Release|Itanium.ActiveCfg = Release|Itanium + {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Release|Itanium.Build.0 = Release|Itanium + {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Release|Win32.ActiveCfg = Release|Win32 + {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Release|Win32.Build.0 = Release|Win32 + {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Release|x64.ActiveCfg = Release|x64 + {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Release|x64.Build.0 = Release|x64 + {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|Itanium.ActiveCfg = ReleaseWithoutAsm|Itanium + {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|Itanium.Build.0 = ReleaseWithoutAsm|Itanium + {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|Win32.ActiveCfg = ReleaseWithoutAsm|Win32 + {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|Win32.Build.0 = ReleaseWithoutAsm|Win32 + {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|x64.ActiveCfg = ReleaseWithoutAsm|x64 + {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|x64.Build.0 = ReleaseWithoutAsm|x64 + {C52F9E7B-498A-42BE-8DB4-85A15694366A}.Debug|Itanium.ActiveCfg = Debug|Itanium + {C52F9E7B-498A-42BE-8DB4-85A15694366A}.Debug|Itanium.Build.0 = Debug|Itanium + {C52F9E7B-498A-42BE-8DB4-85A15694366A}.Debug|Win32.ActiveCfg = Debug|Win32 + {C52F9E7B-498A-42BE-8DB4-85A15694366A}.Debug|Win32.Build.0 = Debug|Win32 + {C52F9E7B-498A-42BE-8DB4-85A15694366A}.Debug|x64.ActiveCfg = Debug|x64 + {C52F9E7B-498A-42BE-8DB4-85A15694366A}.Debug|x64.Build.0 = Debug|x64 + {C52F9E7B-498A-42BE-8DB4-85A15694366A}.Release|Itanium.ActiveCfg = Release|Itanium + {C52F9E7B-498A-42BE-8DB4-85A15694366A}.Release|Itanium.Build.0 = Release|Itanium + {C52F9E7B-498A-42BE-8DB4-85A15694366A}.Release|Win32.ActiveCfg = Release|Win32 + {C52F9E7B-498A-42BE-8DB4-85A15694366A}.Release|Win32.Build.0 = Release|Win32 + {C52F9E7B-498A-42BE-8DB4-85A15694366A}.Release|x64.ActiveCfg = Release|x64 + {C52F9E7B-498A-42BE-8DB4-85A15694366A}.Release|x64.Build.0 = Release|x64 + {C52F9E7B-498A-42BE-8DB4-85A15694366A}.ReleaseWithoutAsm|Itanium.ActiveCfg = Release|Itanium + {C52F9E7B-498A-42BE-8DB4-85A15694366A}.ReleaseWithoutAsm|Itanium.Build.0 = Release|Itanium + {C52F9E7B-498A-42BE-8DB4-85A15694366A}.ReleaseWithoutAsm|Win32.ActiveCfg = Release|Win32 + {C52F9E7B-498A-42BE-8DB4-85A15694366A}.ReleaseWithoutAsm|x64.ActiveCfg = Release|x64 + {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Debug|Itanium.ActiveCfg = Debug|Itanium + {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Debug|Itanium.Build.0 = Debug|Itanium + {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Debug|Win32.ActiveCfg = Debug|Win32 + {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Debug|Win32.Build.0 = Debug|Win32 + {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Debug|x64.ActiveCfg = Debug|x64 + {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Debug|x64.Build.0 = Debug|x64 + {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Release|Itanium.ActiveCfg = Release|Itanium + {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Release|Itanium.Build.0 = Release|Itanium + {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Release|Win32.ActiveCfg = Release|Win32 + {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Release|Win32.Build.0 = Release|Win32 + {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Release|x64.ActiveCfg = Release|x64 + {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Release|x64.Build.0 = Release|x64 + {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|Itanium.ActiveCfg = Release|Itanium + {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|Itanium.Build.0 = Release|Itanium + {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|Win32.ActiveCfg = Release|Win32 + {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|x64.ActiveCfg = Release|x64 + {C52F9E7B-498A-42BE-8DB4-85A15694382A}.Debug|Itanium.ActiveCfg = Debug|Itanium + {C52F9E7B-498A-42BE-8DB4-85A15694382A}.Debug|Itanium.Build.0 = Debug|Itanium + {C52F9E7B-498A-42BE-8DB4-85A15694382A}.Debug|Win32.ActiveCfg = Debug|Win32 + {C52F9E7B-498A-42BE-8DB4-85A15694382A}.Debug|Win32.Build.0 = Debug|Win32 + {C52F9E7B-498A-42BE-8DB4-85A15694382A}.Debug|x64.ActiveCfg = Debug|x64 + {C52F9E7B-498A-42BE-8DB4-85A15694382A}.Debug|x64.Build.0 = Debug|x64 + {C52F9E7B-498A-42BE-8DB4-85A15694382A}.Release|Itanium.ActiveCfg = Release|Itanium + {C52F9E7B-498A-42BE-8DB4-85A15694382A}.Release|Itanium.Build.0 = Release|Itanium + {C52F9E7B-498A-42BE-8DB4-85A15694382A}.Release|Win32.ActiveCfg = Release|Win32 + {C52F9E7B-498A-42BE-8DB4-85A15694382A}.Release|Win32.Build.0 = Release|Win32 + {C52F9E7B-498A-42BE-8DB4-85A15694382A}.Release|x64.ActiveCfg = Release|x64 + {C52F9E7B-498A-42BE-8DB4-85A15694382A}.Release|x64.Build.0 = Release|x64 + {C52F9E7B-498A-42BE-8DB4-85A15694382A}.ReleaseWithoutAsm|Itanium.ActiveCfg = Release|Itanium + {C52F9E7B-498A-42BE-8DB4-85A15694382A}.ReleaseWithoutAsm|Itanium.Build.0 = Release|Itanium + {C52F9E7B-498A-42BE-8DB4-85A15694382A}.ReleaseWithoutAsm|Win32.ActiveCfg = Release|Win32 + {C52F9E7B-498A-42BE-8DB4-85A15694382A}.ReleaseWithoutAsm|x64.ActiveCfg = Release|x64 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/thirdparty/zlib-1.3.1/contrib/vstudio/vc10/zlibvc.vcxproj b/proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/vc10/zlibvc.vcxproj similarity index 98% rename from thirdparty/zlib-1.3.1/contrib/vstudio/vc10/zlibvc.vcxproj rename to proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/vc10/zlibvc.vcxproj index 19dfc35..b46788a 100644 --- a/thirdparty/zlib-1.3.1/contrib/vstudio/vc10/zlibvc.vcxproj +++ b/proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/vc10/zlibvc.vcxproj @@ -1,633 +1,633 @@ - - - - - Debug - Itanium - - - Debug - Win32 - - - Debug - x64 - - - ReleaseWithoutAsm - Itanium - - - ReleaseWithoutAsm - Win32 - - - ReleaseWithoutAsm - x64 - - - Release - Itanium - - - Release - Win32 - - - Release - x64 - - - - {8FD826F8-3739-44E6-8CC8-997122E53B8D} - - - - DynamicLibrary - false - true - - - DynamicLibrary - false - true - - - DynamicLibrary - false - - - DynamicLibrary - false - true - - - DynamicLibrary - false - true - - - DynamicLibrary - false - - - DynamicLibrary - false - true - - - DynamicLibrary - false - true - - - DynamicLibrary - false - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - <_ProjectFileVersion>10.0.30128.1 - x86\ZlibDll$(Configuration)\ - x86\ZlibDll$(Configuration)\Tmp\ - true - false - x86\ZlibDll$(Configuration)\ - x86\ZlibDll$(Configuration)\Tmp\ - false - false - x86\ZlibDll$(Configuration)\ - x86\ZlibDll$(Configuration)\Tmp\ - false - false - x64\ZlibDll$(Configuration)\ - x64\ZlibDll$(Configuration)\Tmp\ - true - false - ia64\ZlibDll$(Configuration)\ - ia64\ZlibDll$(Configuration)\Tmp\ - true - false - x64\ZlibDll$(Configuration)\ - x64\ZlibDll$(Configuration)\Tmp\ - false - false - ia64\ZlibDll$(Configuration)\ - ia64\ZlibDll$(Configuration)\Tmp\ - false - false - x64\ZlibDll$(Configuration)\ - x64\ZlibDll$(Configuration)\Tmp\ - false - false - ia64\ZlibDll$(Configuration)\ - ia64\ZlibDll$(Configuration)\Tmp\ - false - false - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - zlibwapid - zlibwapi - zlibwapi - zlibwapid - zlibwapi - zlibwapi - - - - _DEBUG;%(PreprocessorDefinitions) - true - true - Win32 - $(OutDir)zlibvc.tlb - - - Disabled - ..\..\..;%(AdditionalIncludeDirectories) - WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;%(PreprocessorDefinitions) - - - MultiThreadedDebug - false - $(IntDir)zlibvc.pch - $(IntDir) - $(IntDir) - $(OutDir) - - - Level3 - true - EditAndContinue - - - _DEBUG;%(PreprocessorDefinitions) - 0x040c - - - /MACHINE:I386 %(AdditionalOptions) - %(AdditionalDependencies) - true - .\zlibvc.def - true - true - Windows - false - - - - - - - NDEBUG;%(PreprocessorDefinitions) - true - true - Win32 - $(OutDir)zlibvc.tlb - - - OnlyExplicitInline - ..\..\..;%(AdditionalIncludeDirectories) - WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;%(PreprocessorDefinitions) - true - - - MultiThreadedDLL - false - true - $(IntDir)zlibvc.pch - All - $(IntDir) - $(IntDir) - $(OutDir) - - - Level3 - true - - - NDEBUG;%(PreprocessorDefinitions) - 0x040c - - - /MACHINE:I386 %(AdditionalOptions) - true - false - .\zlibvc.def - true - Windows - false - - - - - - - NDEBUG;%(PreprocessorDefinitions) - true - true - Win32 - $(OutDir)zlibvc.tlb - - - OnlyExplicitInline - ..\..\..;%(AdditionalIncludeDirectories) - WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;%(PreprocessorDefinitions) - true - - - MultiThreaded - false - true - $(IntDir)zlibvc.pch - All - $(IntDir) - $(IntDir) - $(OutDir) - - - Level3 - true - - - NDEBUG;%(PreprocessorDefinitions) - 0x040c - - - /MACHINE:I386 %(AdditionalOptions) - %(AdditionalDependencies) - true - false - .\zlibvc.def - true - Windows - false - - - - - - - _DEBUG;%(PreprocessorDefinitions) - true - true - X64 - $(OutDir)zlibvc.tlb - - - Disabled - ..\..\..;%(AdditionalIncludeDirectories) - WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;WIN64;%(PreprocessorDefinitions) - - - MultiThreadedDebugDLL - false - $(IntDir)zlibvc.pch - $(IntDir) - $(IntDir) - $(OutDir) - - - Level3 - true - ProgramDatabase - - - _DEBUG;%(PreprocessorDefinitions) - 0x040c - - - %(AdditionalDependencies) - true - .\zlibvc.def - true - true - Windows - MachineX64 - - - - - _DEBUG;%(PreprocessorDefinitions) - true - true - Itanium - $(OutDir)zlibvc.tlb - - - Disabled - ..\..\..;%(AdditionalIncludeDirectories) - WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;WIN64;%(PreprocessorDefinitions) - - - MultiThreadedDebugDLL - false - $(IntDir)zlibvc.pch - $(IntDir) - $(IntDir) - $(OutDir) - - - Level3 - true - ProgramDatabase - - - _DEBUG;%(PreprocessorDefinitions) - 0x040c - - - $(OutDir)zlibwapi.dll - true - .\zlibvc.def - true - $(OutDir)zlibwapi.pdb - true - $(OutDir)zlibwapi.map - Windows - $(OutDir)zlibwapi.lib - MachineIA64 - - - - - NDEBUG;%(PreprocessorDefinitions) - true - true - X64 - $(OutDir)zlibvc.tlb - - - OnlyExplicitInline - ..\..\..;%(AdditionalIncludeDirectories) - WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;WIN64;%(PreprocessorDefinitions) - true - - - MultiThreadedDLL - false - true - $(IntDir)zlibvc.pch - All - $(IntDir) - $(IntDir) - $(OutDir) - - - Level3 - true - - - NDEBUG;%(PreprocessorDefinitions) - 0x040c - - - true - false - .\zlibvc.def - true - Windows - MachineX64 - - - - - NDEBUG;%(PreprocessorDefinitions) - true - true - Itanium - $(OutDir)zlibvc.tlb - - - OnlyExplicitInline - ..\..\..;%(AdditionalIncludeDirectories) - WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;WIN64;%(PreprocessorDefinitions) - true - - - MultiThreadedDLL - false - true - $(IntDir)zlibvc.pch - All - $(IntDir) - $(IntDir) - $(OutDir) - - - Level3 - true - - - NDEBUG;%(PreprocessorDefinitions) - 0x040c - - - $(OutDir)zlibwapi.dll - true - false - .\zlibvc.def - $(OutDir)zlibwapi.pdb - true - $(OutDir)zlibwapi.map - Windows - $(OutDir)zlibwapi.lib - MachineIA64 - - - - - NDEBUG;%(PreprocessorDefinitions) - true - true - X64 - $(OutDir)zlibvc.tlb - - - OnlyExplicitInline - ..\..\..;%(AdditionalIncludeDirectories) - _CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;WIN64;%(PreprocessorDefinitions) - true - - - MultiThreadedDLL - false - true - $(IntDir)zlibvc.pch - All - $(IntDir) - $(IntDir) - $(OutDir) - - - Level3 - true - - - NDEBUG;%(PreprocessorDefinitions) - 0x040c - - - %(AdditionalDependencies) - true - false - .\zlibvc.def - true - Windows - MachineX64 - - - - - NDEBUG;%(PreprocessorDefinitions) - true - true - Itanium - $(OutDir)zlibvc.tlb - - - OnlyExplicitInline - ..\..\..;%(AdditionalIncludeDirectories) - _CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;WIN64;%(PreprocessorDefinitions) - true - - - MultiThreadedDLL - false - true - $(IntDir)zlibvc.pch - All - $(IntDir) - $(IntDir) - $(OutDir) - - - Level3 - true - - - NDEBUG;%(PreprocessorDefinitions) - 0x040c - - - $(OutDir)zlibwapi.dll - true - false - .\zlibvc.def - $(OutDir)zlibwapi.pdb - true - $(OutDir)zlibwapi.map - Windows - $(OutDir)zlibwapi.lib - MachineIA64 - - - - - - - - - - - - - - - - - - - - - %(AdditionalIncludeDirectories) - ZLIB_INTERNAL;%(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - ZLIB_INTERNAL;%(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - ZLIB_INTERNAL;%(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - ZLIB_INTERNAL;%(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - ZLIB_INTERNAL;%(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - ZLIB_INTERNAL;%(PreprocessorDefinitions) - - - - - - - - - - - - - - - - - - - - - - - + + + + + Debug + Itanium + + + Debug + Win32 + + + Debug + x64 + + + ReleaseWithoutAsm + Itanium + + + ReleaseWithoutAsm + Win32 + + + ReleaseWithoutAsm + x64 + + + Release + Itanium + + + Release + Win32 + + + Release + x64 + + + + {8FD826F8-3739-44E6-8CC8-997122E53B8D} + + + + DynamicLibrary + false + true + + + DynamicLibrary + false + true + + + DynamicLibrary + false + + + DynamicLibrary + false + true + + + DynamicLibrary + false + true + + + DynamicLibrary + false + + + DynamicLibrary + false + true + + + DynamicLibrary + false + true + + + DynamicLibrary + false + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <_ProjectFileVersion>10.0.30128.1 + x86\ZlibDll$(Configuration)\ + x86\ZlibDll$(Configuration)\Tmp\ + true + false + x86\ZlibDll$(Configuration)\ + x86\ZlibDll$(Configuration)\Tmp\ + false + false + x86\ZlibDll$(Configuration)\ + x86\ZlibDll$(Configuration)\Tmp\ + false + false + x64\ZlibDll$(Configuration)\ + x64\ZlibDll$(Configuration)\Tmp\ + true + false + ia64\ZlibDll$(Configuration)\ + ia64\ZlibDll$(Configuration)\Tmp\ + true + false + x64\ZlibDll$(Configuration)\ + x64\ZlibDll$(Configuration)\Tmp\ + false + false + ia64\ZlibDll$(Configuration)\ + ia64\ZlibDll$(Configuration)\Tmp\ + false + false + x64\ZlibDll$(Configuration)\ + x64\ZlibDll$(Configuration)\Tmp\ + false + false + ia64\ZlibDll$(Configuration)\ + ia64\ZlibDll$(Configuration)\Tmp\ + false + false + AllRules.ruleset + + + AllRules.ruleset + + + AllRules.ruleset + + + AllRules.ruleset + + + AllRules.ruleset + + + AllRules.ruleset + + + AllRules.ruleset + + + AllRules.ruleset + + + AllRules.ruleset + + + zlibwapid + zlibwapi + zlibwapi + zlibwapid + zlibwapi + zlibwapi + + + + _DEBUG;%(PreprocessorDefinitions) + true + true + Win32 + $(OutDir)zlibvc.tlb + + + Disabled + ..\..\..;%(AdditionalIncludeDirectories) + WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;%(PreprocessorDefinitions) + + + MultiThreadedDebug + false + $(IntDir)zlibvc.pch + $(IntDir) + $(IntDir) + $(OutDir) + + + Level3 + true + EditAndContinue + + + _DEBUG;%(PreprocessorDefinitions) + 0x040c + + + /MACHINE:I386 %(AdditionalOptions) + %(AdditionalDependencies) + true + .\zlibvc.def + true + true + Windows + false + + + + + + + NDEBUG;%(PreprocessorDefinitions) + true + true + Win32 + $(OutDir)zlibvc.tlb + + + OnlyExplicitInline + ..\..\..;%(AdditionalIncludeDirectories) + WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;%(PreprocessorDefinitions) + true + + + MultiThreadedDLL + false + true + $(IntDir)zlibvc.pch + All + $(IntDir) + $(IntDir) + $(OutDir) + + + Level3 + true + + + NDEBUG;%(PreprocessorDefinitions) + 0x040c + + + /MACHINE:I386 %(AdditionalOptions) + true + false + .\zlibvc.def + true + Windows + false + + + + + + + NDEBUG;%(PreprocessorDefinitions) + true + true + Win32 + $(OutDir)zlibvc.tlb + + + OnlyExplicitInline + ..\..\..;%(AdditionalIncludeDirectories) + WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;%(PreprocessorDefinitions) + true + + + MultiThreaded + false + true + $(IntDir)zlibvc.pch + All + $(IntDir) + $(IntDir) + $(OutDir) + + + Level3 + true + + + NDEBUG;%(PreprocessorDefinitions) + 0x040c + + + /MACHINE:I386 %(AdditionalOptions) + %(AdditionalDependencies) + true + false + .\zlibvc.def + true + Windows + false + + + + + + + _DEBUG;%(PreprocessorDefinitions) + true + true + X64 + $(OutDir)zlibvc.tlb + + + Disabled + ..\..\..;%(AdditionalIncludeDirectories) + WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;WIN64;%(PreprocessorDefinitions) + + + MultiThreadedDebugDLL + false + $(IntDir)zlibvc.pch + $(IntDir) + $(IntDir) + $(OutDir) + + + Level3 + true + ProgramDatabase + + + _DEBUG;%(PreprocessorDefinitions) + 0x040c + + + %(AdditionalDependencies) + true + .\zlibvc.def + true + true + Windows + MachineX64 + + + + + _DEBUG;%(PreprocessorDefinitions) + true + true + Itanium + $(OutDir)zlibvc.tlb + + + Disabled + ..\..\..;%(AdditionalIncludeDirectories) + WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;WIN64;%(PreprocessorDefinitions) + + + MultiThreadedDebugDLL + false + $(IntDir)zlibvc.pch + $(IntDir) + $(IntDir) + $(OutDir) + + + Level3 + true + ProgramDatabase + + + _DEBUG;%(PreprocessorDefinitions) + 0x040c + + + $(OutDir)zlibwapi.dll + true + .\zlibvc.def + true + $(OutDir)zlibwapi.pdb + true + $(OutDir)zlibwapi.map + Windows + $(OutDir)zlibwapi.lib + MachineIA64 + + + + + NDEBUG;%(PreprocessorDefinitions) + true + true + X64 + $(OutDir)zlibvc.tlb + + + OnlyExplicitInline + ..\..\..;%(AdditionalIncludeDirectories) + WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;WIN64;%(PreprocessorDefinitions) + true + + + MultiThreadedDLL + false + true + $(IntDir)zlibvc.pch + All + $(IntDir) + $(IntDir) + $(OutDir) + + + Level3 + true + + + NDEBUG;%(PreprocessorDefinitions) + 0x040c + + + true + false + .\zlibvc.def + true + Windows + MachineX64 + + + + + NDEBUG;%(PreprocessorDefinitions) + true + true + Itanium + $(OutDir)zlibvc.tlb + + + OnlyExplicitInline + ..\..\..;%(AdditionalIncludeDirectories) + WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;WIN64;%(PreprocessorDefinitions) + true + + + MultiThreadedDLL + false + true + $(IntDir)zlibvc.pch + All + $(IntDir) + $(IntDir) + $(OutDir) + + + Level3 + true + + + NDEBUG;%(PreprocessorDefinitions) + 0x040c + + + $(OutDir)zlibwapi.dll + true + false + .\zlibvc.def + $(OutDir)zlibwapi.pdb + true + $(OutDir)zlibwapi.map + Windows + $(OutDir)zlibwapi.lib + MachineIA64 + + + + + NDEBUG;%(PreprocessorDefinitions) + true + true + X64 + $(OutDir)zlibvc.tlb + + + OnlyExplicitInline + ..\..\..;%(AdditionalIncludeDirectories) + _CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;WIN64;%(PreprocessorDefinitions) + true + + + MultiThreadedDLL + false + true + $(IntDir)zlibvc.pch + All + $(IntDir) + $(IntDir) + $(OutDir) + + + Level3 + true + + + NDEBUG;%(PreprocessorDefinitions) + 0x040c + + + %(AdditionalDependencies) + true + false + .\zlibvc.def + true + Windows + MachineX64 + + + + + NDEBUG;%(PreprocessorDefinitions) + true + true + Itanium + $(OutDir)zlibvc.tlb + + + OnlyExplicitInline + ..\..\..;%(AdditionalIncludeDirectories) + _CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;WIN64;%(PreprocessorDefinitions) + true + + + MultiThreadedDLL + false + true + $(IntDir)zlibvc.pch + All + $(IntDir) + $(IntDir) + $(OutDir) + + + Level3 + true + + + NDEBUG;%(PreprocessorDefinitions) + 0x040c + + + $(OutDir)zlibwapi.dll + true + false + .\zlibvc.def + $(OutDir)zlibwapi.pdb + true + $(OutDir)zlibwapi.map + Windows + $(OutDir)zlibwapi.lib + MachineIA64 + + + + + + + + + + + + + + + + + + + + + %(AdditionalIncludeDirectories) + ZLIB_INTERNAL;%(PreprocessorDefinitions) + %(AdditionalIncludeDirectories) + ZLIB_INTERNAL;%(PreprocessorDefinitions) + %(AdditionalIncludeDirectories) + ZLIB_INTERNAL;%(PreprocessorDefinitions) + + + %(AdditionalIncludeDirectories) + ZLIB_INTERNAL;%(PreprocessorDefinitions) + %(AdditionalIncludeDirectories) + ZLIB_INTERNAL;%(PreprocessorDefinitions) + %(AdditionalIncludeDirectories) + ZLIB_INTERNAL;%(PreprocessorDefinitions) + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/thirdparty/zlib-1.3.1/contrib/vstudio/vc10/zlibvc.vcxproj.filters b/proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/vc10/zlibvc.vcxproj.filters similarity index 96% rename from thirdparty/zlib-1.3.1/contrib/vstudio/vc10/zlibvc.vcxproj.filters rename to proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/vc10/zlibvc.vcxproj.filters index 67c444a..d0a5378 100644 --- a/thirdparty/zlib-1.3.1/contrib/vstudio/vc10/zlibvc.vcxproj.filters +++ b/proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/vc10/zlibvc.vcxproj.filters @@ -1,115 +1,115 @@ - - - - - {07934a85-8b61-443d-a0ee-b2eedb74f3cd} - cpp;c;cxx;rc;def;r;odl;hpj;bat;for;f90 - - - {1d99675b-433d-4a21-9e50-ed4ab8b19762} - h;hpp;hxx;hm;inl;fi;fd - - - {431c0958-fa71-44d0-9084-2d19d100c0cc} - ico;cur;bmp;dlg;rc2;rct;bin;cnt;rtf;gif;jpg;jpeg;jpe - - - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - - - Source Files - - - - - Source Files - - - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - + + + + + {07934a85-8b61-443d-a0ee-b2eedb74f3cd} + cpp;c;cxx;rc;def;r;odl;hpj;bat;for;f90 + + + {1d99675b-433d-4a21-9e50-ed4ab8b19762} + h;hpp;hxx;hm;inl;fi;fd + + + {431c0958-fa71-44d0-9084-2d19d100c0cc} + ico;cur;bmp;dlg;rc2;rct;bin;cnt;rtf;gif;jpg;jpeg;jpe + + + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + + + Source Files + + + + + Source Files + + + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + \ No newline at end of file diff --git a/thirdparty/zlib-1.3.1/contrib/vstudio/vc11/miniunz.vcxproj b/proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/vc11/miniunz.vcxproj similarity index 98% rename from thirdparty/zlib-1.3.1/contrib/vstudio/vc11/miniunz.vcxproj rename to proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/vc11/miniunz.vcxproj index 8f9f20b..99be63d 100644 --- a/thirdparty/zlib-1.3.1/contrib/vstudio/vc11/miniunz.vcxproj +++ b/proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/vc11/miniunz.vcxproj @@ -1,314 +1,314 @@ - - - - - Debug - Itanium - - - Debug - Win32 - - - Debug - x64 - - - Release - Itanium - - - Release - Win32 - - - Release - x64 - - - - {C52F9E7B-498A-42BE-8DB4-85A15694382A} - Win32Proj - - - - Application - MultiByte - v110 - - - Application - Unicode - v110 - - - Application - MultiByte - - - Application - MultiByte - - - Application - MultiByte - v110 - - - Application - MultiByte - v110 - - - - - - - - - - - - - - - - - - - - - - - - - <_ProjectFileVersion>10.0.30128.1 - x86\MiniUnzip$(Configuration)\ - x86\MiniUnzip$(Configuration)\Tmp\ - true - false - x86\MiniUnzip$(Configuration)\ - x86\MiniUnzip$(Configuration)\Tmp\ - false - false - x64\MiniUnzip$(Configuration)\ - x64\MiniUnzip$(Configuration)\Tmp\ - true - false - ia64\MiniUnzip$(Configuration)\ - ia64\MiniUnzip$(Configuration)\Tmp\ - true - false - x64\MiniUnzip$(Configuration)\ - x64\MiniUnzip$(Configuration)\Tmp\ - false - false - ia64\MiniUnzip$(Configuration)\ - ia64\MiniUnzip$(Configuration)\Tmp\ - false - false - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - - - - Disabled - ..\..\..;..\..\minizip;%(AdditionalIncludeDirectories) - WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true - Default - MultiThreadedDebugDLL - false - - - $(IntDir) - Level3 - ProgramDatabase - - - x86\ZlibDllDebug\zlibwapi.lib;%(AdditionalDependencies) - $(OutDir)miniunz.exe - true - $(OutDir)miniunz.pdb - Console - false - - - MachineX86 - - - - - MaxSpeed - OnlyExplicitInline - true - ..\..\..;..\..\minizip;%(AdditionalIncludeDirectories) - WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) - true - Default - MultiThreaded - false - true - - - $(IntDir) - Level3 - ProgramDatabase - - - x86\ZlibDllRelease\zlibwapi.lib;%(AdditionalDependencies) - $(OutDir)miniunz.exe - true - Console - true - true - false - - - MachineX86 - - - - - X64 - - - Disabled - ..\..\..;..\..\minizip;%(AdditionalIncludeDirectories) - _CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;_DEBUG;_CONSOLE;WIN64;%(PreprocessorDefinitions) - true - Default - MultiThreadedDebugDLL - false - - - $(IntDir) - Level3 - ProgramDatabase - - - x64\ZlibDllDebug\zlibwapi.lib;%(AdditionalDependencies) - $(OutDir)miniunz.exe - true - $(OutDir)miniunz.pdb - Console - MachineX64 - - - - - Itanium - - - Disabled - ..\..\..;..\..\minizip;%(AdditionalIncludeDirectories) - _CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;_DEBUG;_CONSOLE;WIN64;%(PreprocessorDefinitions) - true - Default - MultiThreadedDebugDLL - false - - - $(IntDir) - Level3 - ProgramDatabase - - - ia64\ZlibDllDebug\zlibwapi.lib;%(AdditionalDependencies) - $(OutDir)miniunz.exe - true - $(OutDir)miniunz.pdb - Console - MachineIA64 - - - - - X64 - - - MaxSpeed - OnlyExplicitInline - true - ..\..\..;..\..\minizip;%(AdditionalIncludeDirectories) - _CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;NDEBUG;_CONSOLE;WIN64;%(PreprocessorDefinitions) - true - Default - MultiThreadedDLL - false - true - - - $(IntDir) - Level3 - ProgramDatabase - - - x64\ZlibDllRelease\zlibwapi.lib;%(AdditionalDependencies) - $(OutDir)miniunz.exe - true - Console - true - true - MachineX64 - - - - - Itanium - - - MaxSpeed - OnlyExplicitInline - true - ..\..\..;..\..\minizip;%(AdditionalIncludeDirectories) - _CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;NDEBUG;_CONSOLE;WIN64;%(PreprocessorDefinitions) - true - Default - MultiThreadedDLL - false - true - - - $(IntDir) - Level3 - ProgramDatabase - - - ia64\ZlibDllRelease\zlibwapi.lib;%(AdditionalDependencies) - $(OutDir)miniunz.exe - true - Console - true - true - MachineIA64 - - - - - - - - {8fd826f8-3739-44e6-8cc8-997122e53b8d} - - - - - + + + + + Debug + Itanium + + + Debug + Win32 + + + Debug + x64 + + + Release + Itanium + + + Release + Win32 + + + Release + x64 + + + + {C52F9E7B-498A-42BE-8DB4-85A15694382A} + Win32Proj + + + + Application + MultiByte + v110 + + + Application + Unicode + v110 + + + Application + MultiByte + + + Application + MultiByte + + + Application + MultiByte + v110 + + + Application + MultiByte + v110 + + + + + + + + + + + + + + + + + + + + + + + + + <_ProjectFileVersion>10.0.30128.1 + x86\MiniUnzip$(Configuration)\ + x86\MiniUnzip$(Configuration)\Tmp\ + true + false + x86\MiniUnzip$(Configuration)\ + x86\MiniUnzip$(Configuration)\Tmp\ + false + false + x64\MiniUnzip$(Configuration)\ + x64\MiniUnzip$(Configuration)\Tmp\ + true + false + ia64\MiniUnzip$(Configuration)\ + ia64\MiniUnzip$(Configuration)\Tmp\ + true + false + x64\MiniUnzip$(Configuration)\ + x64\MiniUnzip$(Configuration)\Tmp\ + false + false + ia64\MiniUnzip$(Configuration)\ + ia64\MiniUnzip$(Configuration)\Tmp\ + false + false + AllRules.ruleset + + + AllRules.ruleset + + + AllRules.ruleset + + + AllRules.ruleset + + + AllRules.ruleset + + + AllRules.ruleset + + + + + + Disabled + ..\..\..;..\..\minizip;%(AdditionalIncludeDirectories) + WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + true + Default + MultiThreadedDebugDLL + false + + + $(IntDir) + Level3 + ProgramDatabase + + + x86\ZlibDllDebug\zlibwapi.lib;%(AdditionalDependencies) + $(OutDir)miniunz.exe + true + $(OutDir)miniunz.pdb + Console + false + + + MachineX86 + + + + + MaxSpeed + OnlyExplicitInline + true + ..\..\..;..\..\minizip;%(AdditionalIncludeDirectories) + WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + true + Default + MultiThreaded + false + true + + + $(IntDir) + Level3 + ProgramDatabase + + + x86\ZlibDllRelease\zlibwapi.lib;%(AdditionalDependencies) + $(OutDir)miniunz.exe + true + Console + true + true + false + + + MachineX86 + + + + + X64 + + + Disabled + ..\..\..;..\..\minizip;%(AdditionalIncludeDirectories) + _CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;_DEBUG;_CONSOLE;WIN64;%(PreprocessorDefinitions) + true + Default + MultiThreadedDebugDLL + false + + + $(IntDir) + Level3 + ProgramDatabase + + + x64\ZlibDllDebug\zlibwapi.lib;%(AdditionalDependencies) + $(OutDir)miniunz.exe + true + $(OutDir)miniunz.pdb + Console + MachineX64 + + + + + Itanium + + + Disabled + ..\..\..;..\..\minizip;%(AdditionalIncludeDirectories) + _CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;_DEBUG;_CONSOLE;WIN64;%(PreprocessorDefinitions) + true + Default + MultiThreadedDebugDLL + false + + + $(IntDir) + Level3 + ProgramDatabase + + + ia64\ZlibDllDebug\zlibwapi.lib;%(AdditionalDependencies) + $(OutDir)miniunz.exe + true + $(OutDir)miniunz.pdb + Console + MachineIA64 + + + + + X64 + + + MaxSpeed + OnlyExplicitInline + true + ..\..\..;..\..\minizip;%(AdditionalIncludeDirectories) + _CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;NDEBUG;_CONSOLE;WIN64;%(PreprocessorDefinitions) + true + Default + MultiThreadedDLL + false + true + + + $(IntDir) + Level3 + ProgramDatabase + + + x64\ZlibDllRelease\zlibwapi.lib;%(AdditionalDependencies) + $(OutDir)miniunz.exe + true + Console + true + true + MachineX64 + + + + + Itanium + + + MaxSpeed + OnlyExplicitInline + true + ..\..\..;..\..\minizip;%(AdditionalIncludeDirectories) + _CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;NDEBUG;_CONSOLE;WIN64;%(PreprocessorDefinitions) + true + Default + MultiThreadedDLL + false + true + + + $(IntDir) + Level3 + ProgramDatabase + + + ia64\ZlibDllRelease\zlibwapi.lib;%(AdditionalDependencies) + $(OutDir)miniunz.exe + true + Console + true + true + MachineIA64 + + + + + + + + {8fd826f8-3739-44e6-8cc8-997122e53b8d} + + + + + \ No newline at end of file diff --git a/thirdparty/zlib-1.3.1/contrib/vstudio/vc11/minizip.vcxproj b/proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/vc11/minizip.vcxproj similarity index 98% rename from thirdparty/zlib-1.3.1/contrib/vstudio/vc11/minizip.vcxproj rename to proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/vc11/minizip.vcxproj index c93d9e6..d6e98f4 100644 --- a/thirdparty/zlib-1.3.1/contrib/vstudio/vc11/minizip.vcxproj +++ b/proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/vc11/minizip.vcxproj @@ -1,311 +1,311 @@ - - - - - Debug - Itanium - - - Debug - Win32 - - - Debug - x64 - - - Release - Itanium - - - Release - Win32 - - - Release - x64 - - - - {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B} - Win32Proj - - - - Application - MultiByte - v110 - - - Application - Unicode - v110 - - - Application - MultiByte - - - Application - MultiByte - - - Application - MultiByte - v110 - - - Application - MultiByte - v110 - - - - - - - - - - - - - - - - - - - - - - - - - <_ProjectFileVersion>10.0.30128.1 - x86\MiniZip$(Configuration)\ - x86\MiniZip$(Configuration)\Tmp\ - true - false - x86\MiniZip$(Configuration)\ - x86\MiniZip$(Configuration)\Tmp\ - false - x64\$(Configuration)\ - x64\$(Configuration)\ - true - false - ia64\$(Configuration)\ - ia64\$(Configuration)\ - true - false - x64\$(Configuration)\ - x64\$(Configuration)\ - false - ia64\$(Configuration)\ - ia64\$(Configuration)\ - false - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - - - - Disabled - ..\..\..;..\..\minizip;%(AdditionalIncludeDirectories) - WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true - Default - MultiThreadedDebugDLL - false - - - $(IntDir) - Level3 - ProgramDatabase - - - x86\ZlibDllDebug\zlibwapi.lib;%(AdditionalDependencies) - $(OutDir)minizip.exe - true - $(OutDir)minizip.pdb - Console - false - - - MachineX86 - - - - - MaxSpeed - OnlyExplicitInline - true - ..\..\..;..\..\minizip;%(AdditionalIncludeDirectories) - WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) - true - Default - MultiThreaded - false - true - - - $(IntDir) - Level3 - ProgramDatabase - - - x86\ZlibDllRelease\zlibwapi.lib;%(AdditionalDependencies) - $(OutDir)minizip.exe - true - Console - true - true - false - - - MachineX86 - - - - - X64 - - - Disabled - ..\..\..;..\..\minizip;%(AdditionalIncludeDirectories) - _CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;_DEBUG;_CONSOLE;WIN64;%(PreprocessorDefinitions) - true - Default - MultiThreadedDebugDLL - false - - - $(IntDir) - Level3 - ProgramDatabase - - - x64\ZlibDllDebug\zlibwapi.lib;%(AdditionalDependencies) - $(OutDir)minizip.exe - true - $(OutDir)minizip.pdb - Console - MachineX64 - - - - - Itanium - - - Disabled - ..\..\..;..\..\minizip;%(AdditionalIncludeDirectories) - _CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;_DEBUG;_CONSOLE;WIN64;%(PreprocessorDefinitions) - true - Default - MultiThreadedDebugDLL - false - - - $(IntDir) - Level3 - ProgramDatabase - - - ia64\ZlibDllDebug\zlibwapi.lib;%(AdditionalDependencies) - $(OutDir)minizip.exe - true - $(OutDir)minizip.pdb - Console - MachineIA64 - - - - - X64 - - - MaxSpeed - OnlyExplicitInline - true - ..\..\..;..\..\minizip;%(AdditionalIncludeDirectories) - _CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;NDEBUG;_CONSOLE;WIN64;%(PreprocessorDefinitions) - true - Default - MultiThreadedDLL - false - true - - - $(IntDir) - Level3 - ProgramDatabase - - - x64\ZlibDllRelease\zlibwapi.lib;%(AdditionalDependencies) - $(OutDir)minizip.exe - true - Console - true - true - MachineX64 - - - - - Itanium - - - MaxSpeed - OnlyExplicitInline - true - ..\..\..;..\..\minizip;%(AdditionalIncludeDirectories) - _CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;NDEBUG;_CONSOLE;WIN64;%(PreprocessorDefinitions) - true - Default - MultiThreadedDLL - false - true - - - $(IntDir) - Level3 - ProgramDatabase - - - ia64\ZlibDllRelease\zlibwapi.lib;%(AdditionalDependencies) - $(OutDir)minizip.exe - true - Console - true - true - MachineIA64 - - - - - - - - {8fd826f8-3739-44e6-8cc8-997122e53b8d} - - - - - + + + + + Debug + Itanium + + + Debug + Win32 + + + Debug + x64 + + + Release + Itanium + + + Release + Win32 + + + Release + x64 + + + + {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B} + Win32Proj + + + + Application + MultiByte + v110 + + + Application + Unicode + v110 + + + Application + MultiByte + + + Application + MultiByte + + + Application + MultiByte + v110 + + + Application + MultiByte + v110 + + + + + + + + + + + + + + + + + + + + + + + + + <_ProjectFileVersion>10.0.30128.1 + x86\MiniZip$(Configuration)\ + x86\MiniZip$(Configuration)\Tmp\ + true + false + x86\MiniZip$(Configuration)\ + x86\MiniZip$(Configuration)\Tmp\ + false + x64\$(Configuration)\ + x64\$(Configuration)\ + true + false + ia64\$(Configuration)\ + ia64\$(Configuration)\ + true + false + x64\$(Configuration)\ + x64\$(Configuration)\ + false + ia64\$(Configuration)\ + ia64\$(Configuration)\ + false + AllRules.ruleset + + + AllRules.ruleset + + + AllRules.ruleset + + + AllRules.ruleset + + + AllRules.ruleset + + + AllRules.ruleset + + + + + + Disabled + ..\..\..;..\..\minizip;%(AdditionalIncludeDirectories) + WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + true + Default + MultiThreadedDebugDLL + false + + + $(IntDir) + Level3 + ProgramDatabase + + + x86\ZlibDllDebug\zlibwapi.lib;%(AdditionalDependencies) + $(OutDir)minizip.exe + true + $(OutDir)minizip.pdb + Console + false + + + MachineX86 + + + + + MaxSpeed + OnlyExplicitInline + true + ..\..\..;..\..\minizip;%(AdditionalIncludeDirectories) + WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + true + Default + MultiThreaded + false + true + + + $(IntDir) + Level3 + ProgramDatabase + + + x86\ZlibDllRelease\zlibwapi.lib;%(AdditionalDependencies) + $(OutDir)minizip.exe + true + Console + true + true + false + + + MachineX86 + + + + + X64 + + + Disabled + ..\..\..;..\..\minizip;%(AdditionalIncludeDirectories) + _CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;_DEBUG;_CONSOLE;WIN64;%(PreprocessorDefinitions) + true + Default + MultiThreadedDebugDLL + false + + + $(IntDir) + Level3 + ProgramDatabase + + + x64\ZlibDllDebug\zlibwapi.lib;%(AdditionalDependencies) + $(OutDir)minizip.exe + true + $(OutDir)minizip.pdb + Console + MachineX64 + + + + + Itanium + + + Disabled + ..\..\..;..\..\minizip;%(AdditionalIncludeDirectories) + _CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;_DEBUG;_CONSOLE;WIN64;%(PreprocessorDefinitions) + true + Default + MultiThreadedDebugDLL + false + + + $(IntDir) + Level3 + ProgramDatabase + + + ia64\ZlibDllDebug\zlibwapi.lib;%(AdditionalDependencies) + $(OutDir)minizip.exe + true + $(OutDir)minizip.pdb + Console + MachineIA64 + + + + + X64 + + + MaxSpeed + OnlyExplicitInline + true + ..\..\..;..\..\minizip;%(AdditionalIncludeDirectories) + _CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;NDEBUG;_CONSOLE;WIN64;%(PreprocessorDefinitions) + true + Default + MultiThreadedDLL + false + true + + + $(IntDir) + Level3 + ProgramDatabase + + + x64\ZlibDllRelease\zlibwapi.lib;%(AdditionalDependencies) + $(OutDir)minizip.exe + true + Console + true + true + MachineX64 + + + + + Itanium + + + MaxSpeed + OnlyExplicitInline + true + ..\..\..;..\..\minizip;%(AdditionalIncludeDirectories) + _CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;NDEBUG;_CONSOLE;WIN64;%(PreprocessorDefinitions) + true + Default + MultiThreadedDLL + false + true + + + $(IntDir) + Level3 + ProgramDatabase + + + ia64\ZlibDllRelease\zlibwapi.lib;%(AdditionalDependencies) + $(OutDir)minizip.exe + true + Console + true + true + MachineIA64 + + + + + + + + {8fd826f8-3739-44e6-8cc8-997122e53b8d} + + + + + \ No newline at end of file diff --git a/thirdparty/zlib-1.3.1/contrib/vstudio/vc11/testzlib.vcxproj b/proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/vc11/testzlib.vcxproj similarity index 98% rename from thirdparty/zlib-1.3.1/contrib/vstudio/vc11/testzlib.vcxproj rename to proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/vc11/testzlib.vcxproj index c6198c1..1c6f26d 100644 --- a/thirdparty/zlib-1.3.1/contrib/vstudio/vc11/testzlib.vcxproj +++ b/proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/vc11/testzlib.vcxproj @@ -1,418 +1,418 @@ - - - - - Debug - Itanium - - - Debug - Win32 - - - Debug - x64 - - - ReleaseWithoutAsm - Itanium - - - ReleaseWithoutAsm - Win32 - - - ReleaseWithoutAsm - x64 - - - Release - Itanium - - - Release - Win32 - - - Release - x64 - - - - {AA6666AA-E09F-4135-9C0C-4FE50C3C654B} - testzlib - Win32Proj - - - - Application - MultiByte - true - v110 - - - Application - MultiByte - true - v110 - - - Application - Unicode - v110 - - - Application - MultiByte - true - - - Application - MultiByte - true - - - Application - MultiByte - - - Application - true - v110 - - - Application - true - v110 - - - Application - v110 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - <_ProjectFileVersion>10.0.30128.1 - x86\TestZlib$(Configuration)\ - x86\TestZlib$(Configuration)\Tmp\ - true - false - x86\TestZlib$(Configuration)\ - x86\TestZlib$(Configuration)\Tmp\ - false - false - x86\TestZlib$(Configuration)\ - x86\TestZlib$(Configuration)\Tmp\ - false - false - x64\TestZlib$(Configuration)\ - x64\TestZlib$(Configuration)\Tmp\ - false - ia64\TestZlib$(Configuration)\ - ia64\TestZlib$(Configuration)\Tmp\ - true - false - x64\TestZlib$(Configuration)\ - x64\TestZlib$(Configuration)\Tmp\ - false - ia64\TestZlib$(Configuration)\ - ia64\TestZlib$(Configuration)\Tmp\ - false - false - x64\TestZlib$(Configuration)\ - x64\TestZlib$(Configuration)\Tmp\ - false - ia64\TestZlib$(Configuration)\ - ia64\TestZlib$(Configuration)\Tmp\ - false - false - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - - - - Disabled - ..\..\..;%(AdditionalIncludeDirectories) - WIN32;ZLIB_WINAPI;_DEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions) - true - Default - MultiThreadedDebugDLL - false - - - AssemblyAndSourceCode - $(IntDir) - Level3 - ProgramDatabase - - - %(AdditionalDependencies) - $(OutDir)testzlib.exe - true - $(OutDir)testzlib.pdb - Console - false - - - MachineX86 - - - - - MaxSpeed - OnlyExplicitInline - true - ..\..\..;%(AdditionalIncludeDirectories) - WIN32;ZLIB_WINAPI;NDEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions) - true - Default - MultiThreaded - false - true - - - $(IntDir) - Level3 - ProgramDatabase - - - $(OutDir)testzlib.exe - true - Console - true - true - false - - - MachineX86 - - - - - MaxSpeed - OnlyExplicitInline - true - ..\..\..;%(AdditionalIncludeDirectories) - WIN32;ZLIB_WINAPI;NDEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions) - true - Default - MultiThreaded - false - true - - - $(IntDir) - Level3 - ProgramDatabase - - - %(AdditionalDependencies) - $(OutDir)testzlib.exe - true - Console - true - true - false - - - MachineX86 - - - - - ..\..\..;%(AdditionalIncludeDirectories) - WIN32;ZLIB_WINAPI;_DEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions) - Default - MultiThreadedDebugDLL - false - $(IntDir) - - - %(AdditionalDependencies) - - - - - Itanium - - - Disabled - ..\..\..;%(AdditionalIncludeDirectories) - ZLIB_WINAPI;_DEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN64;%(PreprocessorDefinitions) - true - Default - MultiThreadedDebugDLL - false - - - AssemblyAndSourceCode - $(IntDir) - Level3 - ProgramDatabase - - - $(OutDir)testzlib.exe - true - $(OutDir)testzlib.pdb - Console - MachineIA64 - - - - - ..\..\..;%(AdditionalIncludeDirectories) - WIN32;ZLIB_WINAPI;NDEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions) - Default - MultiThreadedDLL - false - $(IntDir) - - - %(AdditionalDependencies) - - - - - Itanium - - - MaxSpeed - OnlyExplicitInline - true - ..\..\..;%(AdditionalIncludeDirectories) - ZLIB_WINAPI;NDEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN64;%(PreprocessorDefinitions) - true - Default - MultiThreadedDLL - false - true - - - $(IntDir) - Level3 - ProgramDatabase - - - $(OutDir)testzlib.exe - true - Console - true - true - MachineIA64 - - - - - ..\..\..;%(AdditionalIncludeDirectories) - WIN32;ZLIB_WINAPI;NDEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions) - Default - MultiThreadedDLL - false - $(IntDir) - - - %(AdditionalDependencies) - - - - - Itanium - - - MaxSpeed - OnlyExplicitInline - true - ..\..\..;%(AdditionalIncludeDirectories) - ZLIB_WINAPI;NDEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN64;%(PreprocessorDefinitions) - true - Default - MultiThreadedDLL - false - true - - - $(IntDir) - Level3 - ProgramDatabase - - - $(OutDir)testzlib.exe - true - Console - true - true - MachineIA64 - - - - - - - - - - - - - - - - - - - + + + + + Debug + Itanium + + + Debug + Win32 + + + Debug + x64 + + + ReleaseWithoutAsm + Itanium + + + ReleaseWithoutAsm + Win32 + + + ReleaseWithoutAsm + x64 + + + Release + Itanium + + + Release + Win32 + + + Release + x64 + + + + {AA6666AA-E09F-4135-9C0C-4FE50C3C654B} + testzlib + Win32Proj + + + + Application + MultiByte + true + v110 + + + Application + MultiByte + true + v110 + + + Application + Unicode + v110 + + + Application + MultiByte + true + + + Application + MultiByte + true + + + Application + MultiByte + + + Application + true + v110 + + + Application + true + v110 + + + Application + v110 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <_ProjectFileVersion>10.0.30128.1 + x86\TestZlib$(Configuration)\ + x86\TestZlib$(Configuration)\Tmp\ + true + false + x86\TestZlib$(Configuration)\ + x86\TestZlib$(Configuration)\Tmp\ + false + false + x86\TestZlib$(Configuration)\ + x86\TestZlib$(Configuration)\Tmp\ + false + false + x64\TestZlib$(Configuration)\ + x64\TestZlib$(Configuration)\Tmp\ + false + ia64\TestZlib$(Configuration)\ + ia64\TestZlib$(Configuration)\Tmp\ + true + false + x64\TestZlib$(Configuration)\ + x64\TestZlib$(Configuration)\Tmp\ + false + ia64\TestZlib$(Configuration)\ + ia64\TestZlib$(Configuration)\Tmp\ + false + false + x64\TestZlib$(Configuration)\ + x64\TestZlib$(Configuration)\Tmp\ + false + ia64\TestZlib$(Configuration)\ + ia64\TestZlib$(Configuration)\Tmp\ + false + false + AllRules.ruleset + + + AllRules.ruleset + + + AllRules.ruleset + + + AllRules.ruleset + + + AllRules.ruleset + + + AllRules.ruleset + + + AllRules.ruleset + + + AllRules.ruleset + + + AllRules.ruleset + + + + + + Disabled + ..\..\..;%(AdditionalIncludeDirectories) + WIN32;ZLIB_WINAPI;_DEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions) + true + Default + MultiThreadedDebugDLL + false + + + AssemblyAndSourceCode + $(IntDir) + Level3 + ProgramDatabase + + + %(AdditionalDependencies) + $(OutDir)testzlib.exe + true + $(OutDir)testzlib.pdb + Console + false + + + MachineX86 + + + + + MaxSpeed + OnlyExplicitInline + true + ..\..\..;%(AdditionalIncludeDirectories) + WIN32;ZLIB_WINAPI;NDEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions) + true + Default + MultiThreaded + false + true + + + $(IntDir) + Level3 + ProgramDatabase + + + $(OutDir)testzlib.exe + true + Console + true + true + false + + + MachineX86 + + + + + MaxSpeed + OnlyExplicitInline + true + ..\..\..;%(AdditionalIncludeDirectories) + WIN32;ZLIB_WINAPI;NDEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions) + true + Default + MultiThreaded + false + true + + + $(IntDir) + Level3 + ProgramDatabase + + + %(AdditionalDependencies) + $(OutDir)testzlib.exe + true + Console + true + true + false + + + MachineX86 + + + + + ..\..\..;%(AdditionalIncludeDirectories) + WIN32;ZLIB_WINAPI;_DEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions) + Default + MultiThreadedDebugDLL + false + $(IntDir) + + + %(AdditionalDependencies) + + + + + Itanium + + + Disabled + ..\..\..;%(AdditionalIncludeDirectories) + ZLIB_WINAPI;_DEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN64;%(PreprocessorDefinitions) + true + Default + MultiThreadedDebugDLL + false + + + AssemblyAndSourceCode + $(IntDir) + Level3 + ProgramDatabase + + + $(OutDir)testzlib.exe + true + $(OutDir)testzlib.pdb + Console + MachineIA64 + + + + + ..\..\..;%(AdditionalIncludeDirectories) + WIN32;ZLIB_WINAPI;NDEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions) + Default + MultiThreadedDLL + false + $(IntDir) + + + %(AdditionalDependencies) + + + + + Itanium + + + MaxSpeed + OnlyExplicitInline + true + ..\..\..;%(AdditionalIncludeDirectories) + ZLIB_WINAPI;NDEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN64;%(PreprocessorDefinitions) + true + Default + MultiThreadedDLL + false + true + + + $(IntDir) + Level3 + ProgramDatabase + + + $(OutDir)testzlib.exe + true + Console + true + true + MachineIA64 + + + + + ..\..\..;%(AdditionalIncludeDirectories) + WIN32;ZLIB_WINAPI;NDEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions) + Default + MultiThreadedDLL + false + $(IntDir) + + + %(AdditionalDependencies) + + + + + Itanium + + + MaxSpeed + OnlyExplicitInline + true + ..\..\..;%(AdditionalIncludeDirectories) + ZLIB_WINAPI;NDEBUG;_CONSOLE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN64;%(PreprocessorDefinitions) + true + Default + MultiThreadedDLL + false + true + + + $(IntDir) + Level3 + ProgramDatabase + + + $(OutDir)testzlib.exe + true + Console + true + true + MachineIA64 + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/thirdparty/zlib-1.3.1/contrib/vstudio/vc11/testzlibdll.vcxproj b/proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/vc11/testzlibdll.vcxproj similarity index 98% rename from thirdparty/zlib-1.3.1/contrib/vstudio/vc11/testzlibdll.vcxproj rename to proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/vc11/testzlibdll.vcxproj index 9f20c78..9d36336 100644 --- a/thirdparty/zlib-1.3.1/contrib/vstudio/vc11/testzlibdll.vcxproj +++ b/proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/vc11/testzlibdll.vcxproj @@ -1,314 +1,314 @@ - - - - - Debug - Itanium - - - Debug - Win32 - - - Debug - x64 - - - Release - Itanium - - - Release - Win32 - - - Release - x64 - - - - {C52F9E7B-498A-42BE-8DB4-85A15694366A} - Win32Proj - - - - Application - MultiByte - v110 - - - Application - Unicode - v110 - - - Application - MultiByte - - - Application - MultiByte - - - Application - MultiByte - v110 - - - Application - MultiByte - v110 - - - - - - - - - - - - - - - - - - - - - - - - - <_ProjectFileVersion>10.0.30128.1 - x86\TestZlibDll$(Configuration)\ - x86\TestZlibDll$(Configuration)\Tmp\ - true - false - x86\TestZlibDll$(Configuration)\ - x86\TestZlibDll$(Configuration)\Tmp\ - false - false - x64\TestZlibDll$(Configuration)\ - x64\TestZlibDll$(Configuration)\Tmp\ - true - false - ia64\TestZlibDll$(Configuration)\ - ia64\TestZlibDll$(Configuration)\Tmp\ - true - false - x64\TestZlibDll$(Configuration)\ - x64\TestZlibDll$(Configuration)\Tmp\ - false - false - ia64\TestZlibDll$(Configuration)\ - ia64\TestZlibDll$(Configuration)\Tmp\ - false - false - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - - - - Disabled - ..\..\..;..\..\minizip;%(AdditionalIncludeDirectories) - WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - true - Default - MultiThreadedDebugDLL - false - - - $(IntDir) - Level3 - ProgramDatabase - - - x86\ZlibDllDebug\zlibwapi.lib;%(AdditionalDependencies) - $(OutDir)testzlibdll.exe - true - $(OutDir)testzlib.pdb - Console - false - - - MachineX86 - - - - - MaxSpeed - OnlyExplicitInline - true - ..\..\..;..\..\minizip;%(AdditionalIncludeDirectories) - WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) - true - Default - MultiThreaded - false - true - - - $(IntDir) - Level3 - ProgramDatabase - - - x86\ZlibDllRelease\zlibwapi.lib;%(AdditionalDependencies) - $(OutDir)testzlibdll.exe - true - Console - true - true - false - - - MachineX86 - - - - - X64 - - - Disabled - ..\..\..;..\..\minizip;%(AdditionalIncludeDirectories) - _CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;_DEBUG;_CONSOLE;WIN64;%(PreprocessorDefinitions) - true - Default - MultiThreadedDebugDLL - false - - - $(IntDir) - Level3 - ProgramDatabase - - - x64\ZlibDllDebug\zlibwapi.lib;%(AdditionalDependencies) - $(OutDir)testzlibdll.exe - true - $(OutDir)testzlib.pdb - Console - MachineX64 - - - - - Itanium - - - Disabled - ..\..\..;..\..\minizip;%(AdditionalIncludeDirectories) - _CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;_DEBUG;_CONSOLE;WIN64;%(PreprocessorDefinitions) - true - Default - MultiThreadedDebugDLL - false - - - $(IntDir) - Level3 - ProgramDatabase - - - ia64\ZlibDllDebug\zlibwapi.lib;%(AdditionalDependencies) - $(OutDir)testzlibdll.exe - true - $(OutDir)testzlib.pdb - Console - MachineIA64 - - - - - X64 - - - MaxSpeed - OnlyExplicitInline - true - ..\..\..;..\..\minizip;%(AdditionalIncludeDirectories) - _CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;NDEBUG;_CONSOLE;WIN64;%(PreprocessorDefinitions) - true - Default - MultiThreadedDLL - false - true - - - $(IntDir) - Level3 - ProgramDatabase - - - x64\ZlibDllRelease\zlibwapi.lib;%(AdditionalDependencies) - $(OutDir)testzlibdll.exe - true - Console - true - true - MachineX64 - - - - - Itanium - - - MaxSpeed - OnlyExplicitInline - true - ..\..\..;..\..\minizip;%(AdditionalIncludeDirectories) - _CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;NDEBUG;_CONSOLE;WIN64;%(PreprocessorDefinitions) - true - Default - MultiThreadedDLL - false - true - - - $(IntDir) - Level3 - ProgramDatabase - - - ia64\ZlibDllRelease\zlibwapi.lib;%(AdditionalDependencies) - $(OutDir)testzlibdll.exe - true - Console - true - true - MachineIA64 - - - - - - - - {8fd826f8-3739-44e6-8cc8-997122e53b8d} - - - - - + + + + + Debug + Itanium + + + Debug + Win32 + + + Debug + x64 + + + Release + Itanium + + + Release + Win32 + + + Release + x64 + + + + {C52F9E7B-498A-42BE-8DB4-85A15694366A} + Win32Proj + + + + Application + MultiByte + v110 + + + Application + Unicode + v110 + + + Application + MultiByte + + + Application + MultiByte + + + Application + MultiByte + v110 + + + Application + MultiByte + v110 + + + + + + + + + + + + + + + + + + + + + + + + + <_ProjectFileVersion>10.0.30128.1 + x86\TestZlibDll$(Configuration)\ + x86\TestZlibDll$(Configuration)\Tmp\ + true + false + x86\TestZlibDll$(Configuration)\ + x86\TestZlibDll$(Configuration)\Tmp\ + false + false + x64\TestZlibDll$(Configuration)\ + x64\TestZlibDll$(Configuration)\Tmp\ + true + false + ia64\TestZlibDll$(Configuration)\ + ia64\TestZlibDll$(Configuration)\Tmp\ + true + false + x64\TestZlibDll$(Configuration)\ + x64\TestZlibDll$(Configuration)\Tmp\ + false + false + ia64\TestZlibDll$(Configuration)\ + ia64\TestZlibDll$(Configuration)\Tmp\ + false + false + AllRules.ruleset + + + AllRules.ruleset + + + AllRules.ruleset + + + AllRules.ruleset + + + AllRules.ruleset + + + AllRules.ruleset + + + + + + Disabled + ..\..\..;..\..\minizip;%(AdditionalIncludeDirectories) + WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + true + Default + MultiThreadedDebugDLL + false + + + $(IntDir) + Level3 + ProgramDatabase + + + x86\ZlibDllDebug\zlibwapi.lib;%(AdditionalDependencies) + $(OutDir)testzlibdll.exe + true + $(OutDir)testzlib.pdb + Console + false + + + MachineX86 + + + + + MaxSpeed + OnlyExplicitInline + true + ..\..\..;..\..\minizip;%(AdditionalIncludeDirectories) + WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + true + Default + MultiThreaded + false + true + + + $(IntDir) + Level3 + ProgramDatabase + + + x86\ZlibDllRelease\zlibwapi.lib;%(AdditionalDependencies) + $(OutDir)testzlibdll.exe + true + Console + true + true + false + + + MachineX86 + + + + + X64 + + + Disabled + ..\..\..;..\..\minizip;%(AdditionalIncludeDirectories) + _CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;_DEBUG;_CONSOLE;WIN64;%(PreprocessorDefinitions) + true + Default + MultiThreadedDebugDLL + false + + + $(IntDir) + Level3 + ProgramDatabase + + + x64\ZlibDllDebug\zlibwapi.lib;%(AdditionalDependencies) + $(OutDir)testzlibdll.exe + true + $(OutDir)testzlib.pdb + Console + MachineX64 + + + + + Itanium + + + Disabled + ..\..\..;..\..\minizip;%(AdditionalIncludeDirectories) + _CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;_DEBUG;_CONSOLE;WIN64;%(PreprocessorDefinitions) + true + Default + MultiThreadedDebugDLL + false + + + $(IntDir) + Level3 + ProgramDatabase + + + ia64\ZlibDllDebug\zlibwapi.lib;%(AdditionalDependencies) + $(OutDir)testzlibdll.exe + true + $(OutDir)testzlib.pdb + Console + MachineIA64 + + + + + X64 + + + MaxSpeed + OnlyExplicitInline + true + ..\..\..;..\..\minizip;%(AdditionalIncludeDirectories) + _CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;NDEBUG;_CONSOLE;WIN64;%(PreprocessorDefinitions) + true + Default + MultiThreadedDLL + false + true + + + $(IntDir) + Level3 + ProgramDatabase + + + x64\ZlibDllRelease\zlibwapi.lib;%(AdditionalDependencies) + $(OutDir)testzlibdll.exe + true + Console + true + true + MachineX64 + + + + + Itanium + + + MaxSpeed + OnlyExplicitInline + true + ..\..\..;..\..\minizip;%(AdditionalIncludeDirectories) + _CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;ZLIB_WINAPI;NDEBUG;_CONSOLE;WIN64;%(PreprocessorDefinitions) + true + Default + MultiThreadedDLL + false + true + + + $(IntDir) + Level3 + ProgramDatabase + + + ia64\ZlibDllRelease\zlibwapi.lib;%(AdditionalDependencies) + $(OutDir)testzlibdll.exe + true + Console + true + true + MachineIA64 + + + + + + + + {8fd826f8-3739-44e6-8cc8-997122e53b8d} + + + + + \ No newline at end of file diff --git a/thirdparty/zlib-1.3.1/contrib/vstudio/vc14/zlib.rc b/proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/vc11/zlib.rc similarity index 100% rename from thirdparty/zlib-1.3.1/contrib/vstudio/vc14/zlib.rc rename to proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/vc11/zlib.rc diff --git a/thirdparty/zlib-1.3.1/contrib/vstudio/vc11/zlibstat.vcxproj b/proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/vc11/zlibstat.vcxproj similarity index 98% rename from thirdparty/zlib-1.3.1/contrib/vstudio/vc11/zlibstat.vcxproj rename to proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/vc11/zlibstat.vcxproj index 86fb1c8..5890a17 100644 --- a/thirdparty/zlib-1.3.1/contrib/vstudio/vc11/zlibstat.vcxproj +++ b/proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/vc11/zlibstat.vcxproj @@ -1,456 +1,456 @@ - - - - - Debug - Itanium - - - Debug - Win32 - - - Debug - x64 - - - ReleaseWithoutAsm - Itanium - - - ReleaseWithoutAsm - Win32 - - - ReleaseWithoutAsm - x64 - - - Release - Itanium - - - Release - Win32 - - - Release - x64 - - - - {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8} - - - - StaticLibrary - false - v110 - - - StaticLibrary - false - v110 - - - StaticLibrary - false - v110 - Unicode - - - StaticLibrary - false - - - StaticLibrary - false - - - StaticLibrary - false - - - StaticLibrary - false - v110 - - - StaticLibrary - false - v110 - - - StaticLibrary - false - v110 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - <_ProjectFileVersion>10.0.30128.1 - x86\ZlibStat$(Configuration)\ - x86\ZlibStat$(Configuration)\Tmp\ - x86\ZlibStat$(Configuration)\ - x86\ZlibStat$(Configuration)\Tmp\ - x86\ZlibStat$(Configuration)\ - x86\ZlibStat$(Configuration)\Tmp\ - x64\ZlibStat$(Configuration)\ - x64\ZlibStat$(Configuration)\Tmp\ - ia64\ZlibStat$(Configuration)\ - ia64\ZlibStat$(Configuration)\Tmp\ - x64\ZlibStat$(Configuration)\ - x64\ZlibStat$(Configuration)\Tmp\ - ia64\ZlibStat$(Configuration)\ - ia64\ZlibStat$(Configuration)\Tmp\ - x64\ZlibStat$(Configuration)\ - x64\ZlibStat$(Configuration)\Tmp\ - ia64\ZlibStat$(Configuration)\ - ia64\ZlibStat$(Configuration)\Tmp\ - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - - - - Disabled - ..\..\..;%(AdditionalIncludeDirectories) - WIN32;ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions) - - - MultiThreadedDebugDLL - false - $(IntDir)zlibstat.pch - $(IntDir) - $(IntDir) - $(OutDir) - Level3 - true - OldStyle - - - 0x040c - - - /MACHINE:X86 /NODEFAULTLIB %(AdditionalOptions) - $(OutDir)zlibstat.lib - true - - - - - OnlyExplicitInline - ..\..\..;%(AdditionalIncludeDirectories) - WIN32;ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions) - true - - - MultiThreaded - false - true - $(IntDir)zlibstat.pch - $(IntDir) - $(IntDir) - $(OutDir) - Level3 - true - - - 0x040c - - - /MACHINE:X86 /NODEFAULTLIB %(AdditionalOptions) - %(AdditionalDependencies) - $(OutDir)zlibstat.lib - true - - - - - OnlyExplicitInline - ..\..\..;%(AdditionalIncludeDirectories) - WIN32;ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions) - true - - - MultiThreaded - false - true - $(IntDir)zlibstat.pch - $(IntDir) - $(IntDir) - $(OutDir) - Level3 - true - - - 0x040c - - - /MACHINE:X86 /NODEFAULTLIB %(AdditionalOptions) - $(OutDir)zlibstat.lib - true - - - - - X64 - - - Disabled - ..\..\..;%(AdditionalIncludeDirectories) - ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN64;%(PreprocessorDefinitions) - - - MultiThreadedDebugDLL - false - $(IntDir)zlibstat.pch - $(IntDir) - $(IntDir) - $(OutDir) - Level3 - true - OldStyle - - - 0x040c - - - /MACHINE:AMD64 /NODEFAULTLIB %(AdditionalOptions) - $(OutDir)zlibstat.lib - true - - - - - Itanium - - - Disabled - ..\..\..;%(AdditionalIncludeDirectories) - ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN64;%(PreprocessorDefinitions) - - - MultiThreadedDebugDLL - false - $(IntDir)zlibstat.pch - $(IntDir) - $(IntDir) - $(OutDir) - Level3 - true - OldStyle - - - 0x040c - - - /MACHINE:IA64 /NODEFAULTLIB %(AdditionalOptions) - $(OutDir)zlibstat.lib - true - - - - - X64 - - - OnlyExplicitInline - ..\..\..;%(AdditionalIncludeDirectories) - ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN64;%(PreprocessorDefinitions) - true - - - MultiThreadedDLL - false - true - $(IntDir)zlibstat.pch - $(IntDir) - $(IntDir) - $(OutDir) - Level3 - true - - - 0x040c - - - /MACHINE:AMD64 /NODEFAULTLIB %(AdditionalOptions) - %(AdditionalDependencies) - $(OutDir)zlibstat.lib - true - - - - - Itanium - - - OnlyExplicitInline - ..\..\..;%(AdditionalIncludeDirectories) - ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN64;%(PreprocessorDefinitions) - true - - - MultiThreadedDLL - false - true - $(IntDir)zlibstat.pch - $(IntDir) - $(IntDir) - $(OutDir) - Level3 - true - - - 0x040c - - - /MACHINE:IA64 /NODEFAULTLIB %(AdditionalOptions) - $(OutDir)zlibstat.lib - true - - - - - X64 - - - OnlyExplicitInline - ..\..\..;%(AdditionalIncludeDirectories) - ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN64;%(PreprocessorDefinitions) - true - - - MultiThreadedDLL - false - true - $(IntDir)zlibstat.pch - $(IntDir) - $(IntDir) - $(OutDir) - Level3 - true - - - 0x040c - - - /MACHINE:AMD64 /NODEFAULTLIB %(AdditionalOptions) - $(OutDir)zlibstat.lib - true - - - - - Itanium - - - OnlyExplicitInline - ..\..\..;%(AdditionalIncludeDirectories) - ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN64;%(PreprocessorDefinitions) - true - - - MultiThreadedDLL - false - true - $(IntDir)zlibstat.pch - $(IntDir) - $(IntDir) - $(OutDir) - Level3 - true - - - 0x040c - - - /MACHINE:IA64 /NODEFAULTLIB %(AdditionalOptions) - $(OutDir)zlibstat.lib - true - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + Debug + Itanium + + + Debug + Win32 + + + Debug + x64 + + + ReleaseWithoutAsm + Itanium + + + ReleaseWithoutAsm + Win32 + + + ReleaseWithoutAsm + x64 + + + Release + Itanium + + + Release + Win32 + + + Release + x64 + + + + {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8} + + + + StaticLibrary + false + v110 + + + StaticLibrary + false + v110 + + + StaticLibrary + false + v110 + Unicode + + + StaticLibrary + false + + + StaticLibrary + false + + + StaticLibrary + false + + + StaticLibrary + false + v110 + + + StaticLibrary + false + v110 + + + StaticLibrary + false + v110 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <_ProjectFileVersion>10.0.30128.1 + x86\ZlibStat$(Configuration)\ + x86\ZlibStat$(Configuration)\Tmp\ + x86\ZlibStat$(Configuration)\ + x86\ZlibStat$(Configuration)\Tmp\ + x86\ZlibStat$(Configuration)\ + x86\ZlibStat$(Configuration)\Tmp\ + x64\ZlibStat$(Configuration)\ + x64\ZlibStat$(Configuration)\Tmp\ + ia64\ZlibStat$(Configuration)\ + ia64\ZlibStat$(Configuration)\Tmp\ + x64\ZlibStat$(Configuration)\ + x64\ZlibStat$(Configuration)\Tmp\ + ia64\ZlibStat$(Configuration)\ + ia64\ZlibStat$(Configuration)\Tmp\ + x64\ZlibStat$(Configuration)\ + x64\ZlibStat$(Configuration)\Tmp\ + ia64\ZlibStat$(Configuration)\ + ia64\ZlibStat$(Configuration)\Tmp\ + AllRules.ruleset + + + AllRules.ruleset + + + AllRules.ruleset + + + AllRules.ruleset + + + AllRules.ruleset + + + AllRules.ruleset + + + AllRules.ruleset + + + AllRules.ruleset + + + AllRules.ruleset + + + + + + Disabled + ..\..\..;%(AdditionalIncludeDirectories) + WIN32;ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions) + + + MultiThreadedDebugDLL + false + $(IntDir)zlibstat.pch + $(IntDir) + $(IntDir) + $(OutDir) + Level3 + true + OldStyle + + + 0x040c + + + /MACHINE:X86 /NODEFAULTLIB %(AdditionalOptions) + $(OutDir)zlibstat.lib + true + + + + + OnlyExplicitInline + ..\..\..;%(AdditionalIncludeDirectories) + WIN32;ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions) + true + + + MultiThreaded + false + true + $(IntDir)zlibstat.pch + $(IntDir) + $(IntDir) + $(OutDir) + Level3 + true + + + 0x040c + + + /MACHINE:X86 /NODEFAULTLIB %(AdditionalOptions) + %(AdditionalDependencies) + $(OutDir)zlibstat.lib + true + + + + + OnlyExplicitInline + ..\..\..;%(AdditionalIncludeDirectories) + WIN32;ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;%(PreprocessorDefinitions) + true + + + MultiThreaded + false + true + $(IntDir)zlibstat.pch + $(IntDir) + $(IntDir) + $(OutDir) + Level3 + true + + + 0x040c + + + /MACHINE:X86 /NODEFAULTLIB %(AdditionalOptions) + $(OutDir)zlibstat.lib + true + + + + + X64 + + + Disabled + ..\..\..;%(AdditionalIncludeDirectories) + ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN64;%(PreprocessorDefinitions) + + + MultiThreadedDebugDLL + false + $(IntDir)zlibstat.pch + $(IntDir) + $(IntDir) + $(OutDir) + Level3 + true + OldStyle + + + 0x040c + + + /MACHINE:AMD64 /NODEFAULTLIB %(AdditionalOptions) + $(OutDir)zlibstat.lib + true + + + + + Itanium + + + Disabled + ..\..\..;%(AdditionalIncludeDirectories) + ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN64;%(PreprocessorDefinitions) + + + MultiThreadedDebugDLL + false + $(IntDir)zlibstat.pch + $(IntDir) + $(IntDir) + $(OutDir) + Level3 + true + OldStyle + + + 0x040c + + + /MACHINE:IA64 /NODEFAULTLIB %(AdditionalOptions) + $(OutDir)zlibstat.lib + true + + + + + X64 + + + OnlyExplicitInline + ..\..\..;%(AdditionalIncludeDirectories) + ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN64;%(PreprocessorDefinitions) + true + + + MultiThreadedDLL + false + true + $(IntDir)zlibstat.pch + $(IntDir) + $(IntDir) + $(OutDir) + Level3 + true + + + 0x040c + + + /MACHINE:AMD64 /NODEFAULTLIB %(AdditionalOptions) + %(AdditionalDependencies) + $(OutDir)zlibstat.lib + true + + + + + Itanium + + + OnlyExplicitInline + ..\..\..;%(AdditionalIncludeDirectories) + ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN64;%(PreprocessorDefinitions) + true + + + MultiThreadedDLL + false + true + $(IntDir)zlibstat.pch + $(IntDir) + $(IntDir) + $(OutDir) + Level3 + true + + + 0x040c + + + /MACHINE:IA64 /NODEFAULTLIB %(AdditionalOptions) + $(OutDir)zlibstat.lib + true + + + + + X64 + + + OnlyExplicitInline + ..\..\..;%(AdditionalIncludeDirectories) + ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN64;%(PreprocessorDefinitions) + true + + + MultiThreadedDLL + false + true + $(IntDir)zlibstat.pch + $(IntDir) + $(IntDir) + $(OutDir) + Level3 + true + + + 0x040c + + + /MACHINE:AMD64 /NODEFAULTLIB %(AdditionalOptions) + $(OutDir)zlibstat.lib + true + + + + + Itanium + + + OnlyExplicitInline + ..\..\..;%(AdditionalIncludeDirectories) + ZLIB_WINAPI;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;WIN64;%(PreprocessorDefinitions) + true + + + MultiThreadedDLL + false + true + $(IntDir)zlibstat.pch + $(IntDir) + $(IntDir) + $(OutDir) + Level3 + true + + + 0x040c + + + /MACHINE:IA64 /NODEFAULTLIB %(AdditionalOptions) + $(OutDir)zlibstat.lib + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/thirdparty/zlib-1.3.1/contrib/vstudio/vc11/zlibvc.def b/proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/vc11/zlibvc.def similarity index 97% rename from thirdparty/zlib-1.3.1/contrib/vstudio/vc11/zlibvc.def rename to proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/vc11/zlibvc.def index 3234a02..53947cc 100644 --- a/thirdparty/zlib-1.3.1/contrib/vstudio/vc11/zlibvc.def +++ b/proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/vc11/zlibvc.def @@ -1,158 +1,158 @@ -LIBRARY -; zlib data compression and ZIP file I/O library - -VERSION 1.3.1 - -EXPORTS - adler32 @1 - compress @2 - crc32 @3 - deflate @4 - deflateCopy @5 - deflateEnd @6 - deflateInit2_ @7 - deflateInit_ @8 - deflateParams @9 - deflateReset @10 - deflateSetDictionary @11 - gzclose @12 - gzdopen @13 - gzerror @14 - gzflush @15 - gzopen @16 - gzread @17 - gzwrite @18 - inflate @19 - inflateEnd @20 - inflateInit2_ @21 - inflateInit_ @22 - inflateReset @23 - inflateSetDictionary @24 - inflateSync @25 - uncompress @26 - zlibVersion @27 - gzprintf @28 - gzputc @29 - gzgetc @30 - gzseek @31 - gzrewind @32 - gztell @33 - gzeof @34 - gzsetparams @35 - zError @36 - inflateSyncPoint @37 - get_crc_table @38 - compress2 @39 - gzputs @40 - gzgets @41 - inflateCopy @42 - inflateBackInit_ @43 - inflateBack @44 - inflateBackEnd @45 - compressBound @46 - deflateBound @47 - gzclearerr @48 - gzungetc @49 - zlibCompileFlags @50 - deflatePrime @51 - deflatePending @52 - - unzOpen @61 - unzClose @62 - unzGetGlobalInfo @63 - unzGetCurrentFileInfo @64 - unzGoToFirstFile @65 - unzGoToNextFile @66 - unzOpenCurrentFile @67 - unzReadCurrentFile @68 - unzOpenCurrentFile3 @69 - unztell @70 - unzeof @71 - unzCloseCurrentFile @72 - unzGetGlobalComment @73 - unzStringFileNameCompare @74 - unzLocateFile @75 - unzGetLocalExtrafield @76 - unzOpen2 @77 - unzOpenCurrentFile2 @78 - unzOpenCurrentFilePassword @79 - - zipOpen @80 - zipOpenNewFileInZip @81 - zipWriteInFileInZip @82 - zipCloseFileInZip @83 - zipClose @84 - zipOpenNewFileInZip2 @86 - zipCloseFileInZipRaw @87 - zipOpen2 @88 - zipOpenNewFileInZip3 @89 - - unzGetFilePos @100 - unzGoToFilePos @101 - - fill_win32_filefunc @110 - -; zlibwapi v1.2.4 added: - fill_win32_filefunc64 @111 - fill_win32_filefunc64A @112 - fill_win32_filefunc64W @113 - - unzOpen64 @120 - unzOpen2_64 @121 - unzGetGlobalInfo64 @122 - unzGetCurrentFileInfo64 @124 - unzGetCurrentFileZStreamPos64 @125 - unztell64 @126 - unzGetFilePos64 @127 - unzGoToFilePos64 @128 - - zipOpen64 @130 - zipOpen2_64 @131 - zipOpenNewFileInZip64 @132 - zipOpenNewFileInZip2_64 @133 - zipOpenNewFileInZip3_64 @134 - zipOpenNewFileInZip4_64 @135 - zipCloseFileInZipRaw64 @136 - -; zlib1 v1.2.4 added: - adler32_combine @140 - crc32_combine @142 - deflateSetHeader @144 - deflateTune @145 - gzbuffer @146 - gzclose_r @147 - gzclose_w @148 - gzdirect @149 - gzoffset @150 - inflateGetHeader @156 - inflateMark @157 - inflatePrime @158 - inflateReset2 @159 - inflateUndermine @160 - -; zlib1 v1.2.6 added: - gzgetc_ @161 - inflateResetKeep @163 - deflateResetKeep @164 - -; zlib1 v1.2.7 added: - gzopen_w @165 - -; zlib1 v1.2.8 added: - inflateGetDictionary @166 - gzvprintf @167 - -; zlib1 v1.2.9 added: - inflateCodesUsed @168 - inflateValidate @169 - uncompress2 @170 - gzfread @171 - gzfwrite @172 - deflateGetDictionary @173 - adler32_z @174 - crc32_z @175 - -; zlib1 v1.2.12 added: - crc32_combine_gen @176 - crc32_combine_gen64 @177 - crc32_combine_op @178 +LIBRARY +; zlib data compression and ZIP file I/O library + +VERSION 1.3.1 + +EXPORTS + adler32 @1 + compress @2 + crc32 @3 + deflate @4 + deflateCopy @5 + deflateEnd @6 + deflateInit2_ @7 + deflateInit_ @8 + deflateParams @9 + deflateReset @10 + deflateSetDictionary @11 + gzclose @12 + gzdopen @13 + gzerror @14 + gzflush @15 + gzopen @16 + gzread @17 + gzwrite @18 + inflate @19 + inflateEnd @20 + inflateInit2_ @21 + inflateInit_ @22 + inflateReset @23 + inflateSetDictionary @24 + inflateSync @25 + uncompress @26 + zlibVersion @27 + gzprintf @28 + gzputc @29 + gzgetc @30 + gzseek @31 + gzrewind @32 + gztell @33 + gzeof @34 + gzsetparams @35 + zError @36 + inflateSyncPoint @37 + get_crc_table @38 + compress2 @39 + gzputs @40 + gzgets @41 + inflateCopy @42 + inflateBackInit_ @43 + inflateBack @44 + inflateBackEnd @45 + compressBound @46 + deflateBound @47 + gzclearerr @48 + gzungetc @49 + zlibCompileFlags @50 + deflatePrime @51 + deflatePending @52 + + unzOpen @61 + unzClose @62 + unzGetGlobalInfo @63 + unzGetCurrentFileInfo @64 + unzGoToFirstFile @65 + unzGoToNextFile @66 + unzOpenCurrentFile @67 + unzReadCurrentFile @68 + unzOpenCurrentFile3 @69 + unztell @70 + unzeof @71 + unzCloseCurrentFile @72 + unzGetGlobalComment @73 + unzStringFileNameCompare @74 + unzLocateFile @75 + unzGetLocalExtrafield @76 + unzOpen2 @77 + unzOpenCurrentFile2 @78 + unzOpenCurrentFilePassword @79 + + zipOpen @80 + zipOpenNewFileInZip @81 + zipWriteInFileInZip @82 + zipCloseFileInZip @83 + zipClose @84 + zipOpenNewFileInZip2 @86 + zipCloseFileInZipRaw @87 + zipOpen2 @88 + zipOpenNewFileInZip3 @89 + + unzGetFilePos @100 + unzGoToFilePos @101 + + fill_win32_filefunc @110 + +; zlibwapi v1.2.4 added: + fill_win32_filefunc64 @111 + fill_win32_filefunc64A @112 + fill_win32_filefunc64W @113 + + unzOpen64 @120 + unzOpen2_64 @121 + unzGetGlobalInfo64 @122 + unzGetCurrentFileInfo64 @124 + unzGetCurrentFileZStreamPos64 @125 + unztell64 @126 + unzGetFilePos64 @127 + unzGoToFilePos64 @128 + + zipOpen64 @130 + zipOpen2_64 @131 + zipOpenNewFileInZip64 @132 + zipOpenNewFileInZip2_64 @133 + zipOpenNewFileInZip3_64 @134 + zipOpenNewFileInZip4_64 @135 + zipCloseFileInZipRaw64 @136 + +; zlib1 v1.2.4 added: + adler32_combine @140 + crc32_combine @142 + deflateSetHeader @144 + deflateTune @145 + gzbuffer @146 + gzclose_r @147 + gzclose_w @148 + gzdirect @149 + gzoffset @150 + inflateGetHeader @156 + inflateMark @157 + inflatePrime @158 + inflateReset2 @159 + inflateUndermine @160 + +; zlib1 v1.2.6 added: + gzgetc_ @161 + inflateResetKeep @163 + deflateResetKeep @164 + +; zlib1 v1.2.7 added: + gzopen_w @165 + +; zlib1 v1.2.8 added: + inflateGetDictionary @166 + gzvprintf @167 + +; zlib1 v1.2.9 added: + inflateCodesUsed @168 + inflateValidate @169 + uncompress2 @170 + gzfread @171 + gzfwrite @172 + deflateGetDictionary @173 + adler32_z @174 + crc32_z @175 + +; zlib1 v1.2.12 added: + crc32_combine_gen @176 + crc32_combine_gen64 @177 + crc32_combine_op @178 diff --git a/thirdparty/zlib-1.3.1/contrib/vstudio/vc11/zlibvc.sln b/proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/vc11/zlibvc.sln similarity index 98% rename from thirdparty/zlib-1.3.1/contrib/vstudio/vc11/zlibvc.sln rename to proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/vc11/zlibvc.sln index 9fcbafd..b7e3812 100644 --- a/thirdparty/zlib-1.3.1/contrib/vstudio/vc11/zlibvc.sln +++ b/proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/vc11/zlibvc.sln @@ -1,117 +1,117 @@ - -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio 2012 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "zlibvc", "zlibvc.vcxproj", "{8FD826F8-3739-44E6-8CC8-997122E53B8D}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "zlibstat", "zlibstat.vcxproj", "{745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testzlib", "testzlib.vcxproj", "{AA6666AA-E09F-4135-9C0C-4FE50C3C654B}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testzlibdll", "testzlibdll.vcxproj", "{C52F9E7B-498A-42BE-8DB4-85A15694366A}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "minizip", "minizip.vcxproj", "{48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "miniunz", "miniunz.vcxproj", "{C52F9E7B-498A-42BE-8DB4-85A15694382A}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Itanium = Debug|Itanium - Debug|Win32 = Debug|Win32 - Debug|x64 = Debug|x64 - Release|Itanium = Release|Itanium - Release|Win32 = Release|Win32 - Release|x64 = Release|x64 - ReleaseWithoutAsm|Itanium = ReleaseWithoutAsm|Itanium - ReleaseWithoutAsm|Win32 = ReleaseWithoutAsm|Win32 - ReleaseWithoutAsm|x64 = ReleaseWithoutAsm|x64 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Debug|Itanium.ActiveCfg = Debug|Win32 - {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Debug|Win32.ActiveCfg = Debug|Win32 - {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Debug|Win32.Build.0 = Debug|Win32 - {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Debug|x64.ActiveCfg = Debug|x64 - {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Debug|x64.Build.0 = Debug|x64 - {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Release|Itanium.ActiveCfg = Release|Win32 - {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Release|Win32.ActiveCfg = Release|Win32 - {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Release|Win32.Build.0 = Release|Win32 - {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Release|x64.ActiveCfg = Release|x64 - {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Release|x64.Build.0 = Release|x64 - {8FD826F8-3739-44E6-8CC8-997122E53B8D}.ReleaseWithoutAsm|Itanium.ActiveCfg = ReleaseWithoutAsm|Win32 - {8FD826F8-3739-44E6-8CC8-997122E53B8D}.ReleaseWithoutAsm|Win32.ActiveCfg = ReleaseWithoutAsm|Win32 - {8FD826F8-3739-44E6-8CC8-997122E53B8D}.ReleaseWithoutAsm|Win32.Build.0 = ReleaseWithoutAsm|Win32 - {8FD826F8-3739-44E6-8CC8-997122E53B8D}.ReleaseWithoutAsm|x64.ActiveCfg = ReleaseWithoutAsm|x64 - {8FD826F8-3739-44E6-8CC8-997122E53B8D}.ReleaseWithoutAsm|x64.Build.0 = ReleaseWithoutAsm|x64 - {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Debug|Itanium.ActiveCfg = Debug|Win32 - {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Debug|Win32.ActiveCfg = Debug|Win32 - {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Debug|Win32.Build.0 = Debug|Win32 - {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Debug|x64.ActiveCfg = Debug|x64 - {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Debug|x64.Build.0 = Debug|x64 - {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Release|Itanium.ActiveCfg = Release|Win32 - {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Release|Win32.ActiveCfg = Release|Win32 - {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Release|Win32.Build.0 = Release|Win32 - {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Release|x64.ActiveCfg = Release|x64 - {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Release|x64.Build.0 = Release|x64 - {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.ReleaseWithoutAsm|Itanium.ActiveCfg = ReleaseWithoutAsm|Win32 - {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.ReleaseWithoutAsm|Win32.ActiveCfg = ReleaseWithoutAsm|Win32 - {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.ReleaseWithoutAsm|Win32.Build.0 = ReleaseWithoutAsm|Win32 - {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.ReleaseWithoutAsm|x64.ActiveCfg = ReleaseWithoutAsm|x64 - {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.ReleaseWithoutAsm|x64.Build.0 = ReleaseWithoutAsm|x64 - {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Debug|Itanium.ActiveCfg = Debug|Win32 - {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Debug|Win32.ActiveCfg = Debug|Win32 - {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Debug|Win32.Build.0 = Debug|Win32 - {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Debug|x64.ActiveCfg = Debug|x64 - {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Debug|x64.Build.0 = Debug|x64 - {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Release|Itanium.ActiveCfg = Release|Win32 - {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Release|Win32.ActiveCfg = Release|Win32 - {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Release|Win32.Build.0 = Release|Win32 - {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Release|x64.ActiveCfg = Release|x64 - {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Release|x64.Build.0 = Release|x64 - {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|Itanium.ActiveCfg = ReleaseWithoutAsm|Win32 - {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|Win32.ActiveCfg = ReleaseWithoutAsm|Win32 - {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|Win32.Build.0 = ReleaseWithoutAsm|Win32 - {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|x64.ActiveCfg = ReleaseWithoutAsm|x64 - {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|x64.Build.0 = ReleaseWithoutAsm|x64 - {C52F9E7B-498A-42BE-8DB4-85A15694366A}.Debug|Itanium.ActiveCfg = Debug|Win32 - {C52F9E7B-498A-42BE-8DB4-85A15694366A}.Debug|Win32.ActiveCfg = Debug|Win32 - {C52F9E7B-498A-42BE-8DB4-85A15694366A}.Debug|Win32.Build.0 = Debug|Win32 - {C52F9E7B-498A-42BE-8DB4-85A15694366A}.Debug|x64.ActiveCfg = Debug|x64 - {C52F9E7B-498A-42BE-8DB4-85A15694366A}.Debug|x64.Build.0 = Debug|x64 - {C52F9E7B-498A-42BE-8DB4-85A15694366A}.Release|Itanium.ActiveCfg = Release|Win32 - {C52F9E7B-498A-42BE-8DB4-85A15694366A}.Release|Win32.ActiveCfg = Release|Win32 - {C52F9E7B-498A-42BE-8DB4-85A15694366A}.Release|Win32.Build.0 = Release|Win32 - {C52F9E7B-498A-42BE-8DB4-85A15694366A}.Release|x64.ActiveCfg = Release|x64 - {C52F9E7B-498A-42BE-8DB4-85A15694366A}.Release|x64.Build.0 = Release|x64 - {C52F9E7B-498A-42BE-8DB4-85A15694366A}.ReleaseWithoutAsm|Itanium.ActiveCfg = Release|Win32 - {C52F9E7B-498A-42BE-8DB4-85A15694366A}.ReleaseWithoutAsm|Win32.ActiveCfg = Release|Win32 - {C52F9E7B-498A-42BE-8DB4-85A15694366A}.ReleaseWithoutAsm|x64.ActiveCfg = Release|x64 - {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Debug|Itanium.ActiveCfg = Debug|Win32 - {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Debug|Win32.ActiveCfg = Debug|Win32 - {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Debug|Win32.Build.0 = Debug|Win32 - {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Debug|x64.ActiveCfg = Debug|x64 - {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Debug|x64.Build.0 = Debug|x64 - {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Release|Itanium.ActiveCfg = Release|Win32 - {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Release|Win32.ActiveCfg = Release|Win32 - {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Release|Win32.Build.0 = Release|Win32 - {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Release|x64.ActiveCfg = Release|x64 - {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Release|x64.Build.0 = Release|x64 - {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|Itanium.ActiveCfg = Release|Win32 - {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|Win32.ActiveCfg = Release|Win32 - {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|x64.ActiveCfg = Release|x64 - {C52F9E7B-498A-42BE-8DB4-85A15694382A}.Debug|Itanium.ActiveCfg = Debug|Win32 - {C52F9E7B-498A-42BE-8DB4-85A15694382A}.Debug|Win32.ActiveCfg = Debug|Win32 - {C52F9E7B-498A-42BE-8DB4-85A15694382A}.Debug|Win32.Build.0 = Debug|Win32 - {C52F9E7B-498A-42BE-8DB4-85A15694382A}.Debug|x64.ActiveCfg = Debug|x64 - {C52F9E7B-498A-42BE-8DB4-85A15694382A}.Debug|x64.Build.0 = Debug|x64 - {C52F9E7B-498A-42BE-8DB4-85A15694382A}.Release|Itanium.ActiveCfg = Release|Win32 - {C52F9E7B-498A-42BE-8DB4-85A15694382A}.Release|Win32.ActiveCfg = Release|Win32 - {C52F9E7B-498A-42BE-8DB4-85A15694382A}.Release|Win32.Build.0 = Release|Win32 - {C52F9E7B-498A-42BE-8DB4-85A15694382A}.Release|x64.ActiveCfg = Release|x64 - {C52F9E7B-498A-42BE-8DB4-85A15694382A}.Release|x64.Build.0 = Release|x64 - {C52F9E7B-498A-42BE-8DB4-85A15694382A}.ReleaseWithoutAsm|Itanium.ActiveCfg = Release|Win32 - {C52F9E7B-498A-42BE-8DB4-85A15694382A}.ReleaseWithoutAsm|Win32.ActiveCfg = Release|Win32 - {C52F9E7B-498A-42BE-8DB4-85A15694382A}.ReleaseWithoutAsm|x64.ActiveCfg = Release|x64 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 2012 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "zlibvc", "zlibvc.vcxproj", "{8FD826F8-3739-44E6-8CC8-997122E53B8D}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "zlibstat", "zlibstat.vcxproj", "{745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testzlib", "testzlib.vcxproj", "{AA6666AA-E09F-4135-9C0C-4FE50C3C654B}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testzlibdll", "testzlibdll.vcxproj", "{C52F9E7B-498A-42BE-8DB4-85A15694366A}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "minizip", "minizip.vcxproj", "{48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "miniunz", "miniunz.vcxproj", "{C52F9E7B-498A-42BE-8DB4-85A15694382A}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Itanium = Debug|Itanium + Debug|Win32 = Debug|Win32 + Debug|x64 = Debug|x64 + Release|Itanium = Release|Itanium + Release|Win32 = Release|Win32 + Release|x64 = Release|x64 + ReleaseWithoutAsm|Itanium = ReleaseWithoutAsm|Itanium + ReleaseWithoutAsm|Win32 = ReleaseWithoutAsm|Win32 + ReleaseWithoutAsm|x64 = ReleaseWithoutAsm|x64 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Debug|Itanium.ActiveCfg = Debug|Win32 + {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Debug|Win32.ActiveCfg = Debug|Win32 + {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Debug|Win32.Build.0 = Debug|Win32 + {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Debug|x64.ActiveCfg = Debug|x64 + {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Debug|x64.Build.0 = Debug|x64 + {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Release|Itanium.ActiveCfg = Release|Win32 + {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Release|Win32.ActiveCfg = Release|Win32 + {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Release|Win32.Build.0 = Release|Win32 + {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Release|x64.ActiveCfg = Release|x64 + {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Release|x64.Build.0 = Release|x64 + {8FD826F8-3739-44E6-8CC8-997122E53B8D}.ReleaseWithoutAsm|Itanium.ActiveCfg = ReleaseWithoutAsm|Win32 + {8FD826F8-3739-44E6-8CC8-997122E53B8D}.ReleaseWithoutAsm|Win32.ActiveCfg = ReleaseWithoutAsm|Win32 + {8FD826F8-3739-44E6-8CC8-997122E53B8D}.ReleaseWithoutAsm|Win32.Build.0 = ReleaseWithoutAsm|Win32 + {8FD826F8-3739-44E6-8CC8-997122E53B8D}.ReleaseWithoutAsm|x64.ActiveCfg = ReleaseWithoutAsm|x64 + {8FD826F8-3739-44E6-8CC8-997122E53B8D}.ReleaseWithoutAsm|x64.Build.0 = ReleaseWithoutAsm|x64 + {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Debug|Itanium.ActiveCfg = Debug|Win32 + {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Debug|Win32.ActiveCfg = Debug|Win32 + {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Debug|Win32.Build.0 = Debug|Win32 + {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Debug|x64.ActiveCfg = Debug|x64 + {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Debug|x64.Build.0 = Debug|x64 + {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Release|Itanium.ActiveCfg = Release|Win32 + {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Release|Win32.ActiveCfg = Release|Win32 + {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Release|Win32.Build.0 = Release|Win32 + {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Release|x64.ActiveCfg = Release|x64 + {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Release|x64.Build.0 = Release|x64 + {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.ReleaseWithoutAsm|Itanium.ActiveCfg = ReleaseWithoutAsm|Win32 + {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.ReleaseWithoutAsm|Win32.ActiveCfg = ReleaseWithoutAsm|Win32 + {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.ReleaseWithoutAsm|Win32.Build.0 = ReleaseWithoutAsm|Win32 + {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.ReleaseWithoutAsm|x64.ActiveCfg = ReleaseWithoutAsm|x64 + {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.ReleaseWithoutAsm|x64.Build.0 = ReleaseWithoutAsm|x64 + {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Debug|Itanium.ActiveCfg = Debug|Win32 + {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Debug|Win32.ActiveCfg = Debug|Win32 + {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Debug|Win32.Build.0 = Debug|Win32 + {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Debug|x64.ActiveCfg = Debug|x64 + {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Debug|x64.Build.0 = Debug|x64 + {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Release|Itanium.ActiveCfg = Release|Win32 + {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Release|Win32.ActiveCfg = Release|Win32 + {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Release|Win32.Build.0 = Release|Win32 + {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Release|x64.ActiveCfg = Release|x64 + {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Release|x64.Build.0 = Release|x64 + {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|Itanium.ActiveCfg = ReleaseWithoutAsm|Win32 + {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|Win32.ActiveCfg = ReleaseWithoutAsm|Win32 + {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|Win32.Build.0 = ReleaseWithoutAsm|Win32 + {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|x64.ActiveCfg = ReleaseWithoutAsm|x64 + {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|x64.Build.0 = ReleaseWithoutAsm|x64 + {C52F9E7B-498A-42BE-8DB4-85A15694366A}.Debug|Itanium.ActiveCfg = Debug|Win32 + {C52F9E7B-498A-42BE-8DB4-85A15694366A}.Debug|Win32.ActiveCfg = Debug|Win32 + {C52F9E7B-498A-42BE-8DB4-85A15694366A}.Debug|Win32.Build.0 = Debug|Win32 + {C52F9E7B-498A-42BE-8DB4-85A15694366A}.Debug|x64.ActiveCfg = Debug|x64 + {C52F9E7B-498A-42BE-8DB4-85A15694366A}.Debug|x64.Build.0 = Debug|x64 + {C52F9E7B-498A-42BE-8DB4-85A15694366A}.Release|Itanium.ActiveCfg = Release|Win32 + {C52F9E7B-498A-42BE-8DB4-85A15694366A}.Release|Win32.ActiveCfg = Release|Win32 + {C52F9E7B-498A-42BE-8DB4-85A15694366A}.Release|Win32.Build.0 = Release|Win32 + {C52F9E7B-498A-42BE-8DB4-85A15694366A}.Release|x64.ActiveCfg = Release|x64 + {C52F9E7B-498A-42BE-8DB4-85A15694366A}.Release|x64.Build.0 = Release|x64 + {C52F9E7B-498A-42BE-8DB4-85A15694366A}.ReleaseWithoutAsm|Itanium.ActiveCfg = Release|Win32 + {C52F9E7B-498A-42BE-8DB4-85A15694366A}.ReleaseWithoutAsm|Win32.ActiveCfg = Release|Win32 + {C52F9E7B-498A-42BE-8DB4-85A15694366A}.ReleaseWithoutAsm|x64.ActiveCfg = Release|x64 + {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Debug|Itanium.ActiveCfg = Debug|Win32 + {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Debug|Win32.ActiveCfg = Debug|Win32 + {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Debug|Win32.Build.0 = Debug|Win32 + {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Debug|x64.ActiveCfg = Debug|x64 + {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Debug|x64.Build.0 = Debug|x64 + {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Release|Itanium.ActiveCfg = Release|Win32 + {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Release|Win32.ActiveCfg = Release|Win32 + {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Release|Win32.Build.0 = Release|Win32 + {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Release|x64.ActiveCfg = Release|x64 + {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Release|x64.Build.0 = Release|x64 + {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|Itanium.ActiveCfg = Release|Win32 + {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|Win32.ActiveCfg = Release|Win32 + {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|x64.ActiveCfg = Release|x64 + {C52F9E7B-498A-42BE-8DB4-85A15694382A}.Debug|Itanium.ActiveCfg = Debug|Win32 + {C52F9E7B-498A-42BE-8DB4-85A15694382A}.Debug|Win32.ActiveCfg = Debug|Win32 + {C52F9E7B-498A-42BE-8DB4-85A15694382A}.Debug|Win32.Build.0 = Debug|Win32 + {C52F9E7B-498A-42BE-8DB4-85A15694382A}.Debug|x64.ActiveCfg = Debug|x64 + {C52F9E7B-498A-42BE-8DB4-85A15694382A}.Debug|x64.Build.0 = Debug|x64 + {C52F9E7B-498A-42BE-8DB4-85A15694382A}.Release|Itanium.ActiveCfg = Release|Win32 + {C52F9E7B-498A-42BE-8DB4-85A15694382A}.Release|Win32.ActiveCfg = Release|Win32 + {C52F9E7B-498A-42BE-8DB4-85A15694382A}.Release|Win32.Build.0 = Release|Win32 + {C52F9E7B-498A-42BE-8DB4-85A15694382A}.Release|x64.ActiveCfg = Release|x64 + {C52F9E7B-498A-42BE-8DB4-85A15694382A}.Release|x64.Build.0 = Release|x64 + {C52F9E7B-498A-42BE-8DB4-85A15694382A}.ReleaseWithoutAsm|Itanium.ActiveCfg = Release|Win32 + {C52F9E7B-498A-42BE-8DB4-85A15694382A}.ReleaseWithoutAsm|Win32.ActiveCfg = Release|Win32 + {C52F9E7B-498A-42BE-8DB4-85A15694382A}.ReleaseWithoutAsm|x64.ActiveCfg = Release|x64 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/thirdparty/zlib-1.3.1/contrib/vstudio/vc11/zlibvc.vcxproj b/proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/vc11/zlibvc.vcxproj similarity index 98% rename from thirdparty/zlib-1.3.1/contrib/vstudio/vc11/zlibvc.vcxproj rename to proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/vc11/zlibvc.vcxproj index fc8cd9c..4951b3b 100644 --- a/thirdparty/zlib-1.3.1/contrib/vstudio/vc11/zlibvc.vcxproj +++ b/proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/vc11/zlibvc.vcxproj @@ -1,664 +1,664 @@ - - - - - Debug - Itanium - - - Debug - Win32 - - - Debug - x64 - - - ReleaseWithoutAsm - Itanium - - - ReleaseWithoutAsm - Win32 - - - ReleaseWithoutAsm - x64 - - - Release - Itanium - - - Release - Win32 - - - Release - x64 - - - - {8FD826F8-3739-44E6-8CC8-997122E53B8D} - - - - DynamicLibrary - false - true - v110 - - - DynamicLibrary - false - true - v110 - - - DynamicLibrary - false - v110 - Unicode - - - DynamicLibrary - false - true - - - DynamicLibrary - false - true - - - DynamicLibrary - false - - - DynamicLibrary - false - true - v110 - - - DynamicLibrary - false - true - v110 - - - DynamicLibrary - false - v110 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - <_ProjectFileVersion>10.0.30128.1 - x86\ZlibDll$(Configuration)\ - x86\ZlibDll$(Configuration)\Tmp\ - true - false - x86\ZlibDll$(Configuration)\ - x86\ZlibDll$(Configuration)\Tmp\ - false - false - x86\ZlibDll$(Configuration)\ - x86\ZlibDll$(Configuration)\Tmp\ - false - false - x64\ZlibDll$(Configuration)\ - x64\ZlibDll$(Configuration)\Tmp\ - true - false - ia64\ZlibDll$(Configuration)\ - ia64\ZlibDll$(Configuration)\Tmp\ - true - false - x64\ZlibDll$(Configuration)\ - x64\ZlibDll$(Configuration)\Tmp\ - false - false - ia64\ZlibDll$(Configuration)\ - ia64\ZlibDll$(Configuration)\Tmp\ - false - false - x64\ZlibDll$(Configuration)\ - x64\ZlibDll$(Configuration)\Tmp\ - false - false - ia64\ZlibDll$(Configuration)\ - ia64\ZlibDll$(Configuration)\Tmp\ - false - false - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - AllRules.ruleset - - - zlibwapi - zlibwapi - zlibwapi - zlibwapi - zlibwapi - zlibwapi - - - - _DEBUG;%(PreprocessorDefinitions) - true - true - Win32 - $(OutDir)zlibvc.tlb - - - Disabled - ..\..\..;%(AdditionalIncludeDirectories) - WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;%(PreprocessorDefinitions) - - - MultiThreadedDebugDLL - false - $(IntDir)zlibvc.pch - $(IntDir) - $(IntDir) - $(OutDir) - - - Level3 - true - ProgramDatabase - - - _DEBUG;%(PreprocessorDefinitions) - 0x040c - - - /MACHINE:I386 %(AdditionalOptions) - %(AdditionalDependencies) - $(OutDir)zlibwapi.dll - true - .\zlibvc.def - true - $(OutDir)zlibwapi.pdb - true - $(OutDir)zlibwapi.map - Windows - false - - - $(OutDir)zlibwapi.lib - - - - - NDEBUG;%(PreprocessorDefinitions) - true - true - Win32 - $(OutDir)zlibvc.tlb - - - OnlyExplicitInline - ..\..\..;%(AdditionalIncludeDirectories) - WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;%(PreprocessorDefinitions) - true - - - MultiThreadedDLL - false - true - $(IntDir)zlibvc.pch - All - $(IntDir) - $(IntDir) - $(OutDir) - - - Level3 - true - - - NDEBUG;%(PreprocessorDefinitions) - 0x040c - - - /MACHINE:I386 %(AdditionalOptions) - $(OutDir)zlibwapi.dll - true - false - .\zlibvc.def - $(OutDir)zlibwapi.pdb - true - $(OutDir)zlibwapi.map - Windows - false - - - $(OutDir)zlibwapi.lib - - - - - NDEBUG;%(PreprocessorDefinitions) - true - true - Win32 - $(OutDir)zlibvc.tlb - - - OnlyExplicitInline - ..\..\..;%(AdditionalIncludeDirectories) - WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;%(PreprocessorDefinitions) - true - - - MultiThreaded - false - true - $(IntDir)zlibvc.pch - All - $(IntDir) - $(IntDir) - $(OutDir) - - - Level3 - true - - - NDEBUG;%(PreprocessorDefinitions) - 0x040c - - - /MACHINE:I386 %(AdditionalOptions) - %(AdditionalDependencies) - $(OutDir)zlibwapi.dll - true - false - .\zlibvc.def - $(OutDir)zlibwapi.pdb - true - $(OutDir)zlibwapi.map - Windows - false - - - $(OutDir)zlibwapi.lib - - - - - _DEBUG;%(PreprocessorDefinitions) - true - true - X64 - $(OutDir)zlibvc.tlb - - - Disabled - ..\..\..;%(AdditionalIncludeDirectories) - WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;WIN64;%(PreprocessorDefinitions) - - - MultiThreadedDebugDLL - false - $(IntDir)zlibvc.pch - $(IntDir) - $(IntDir) - $(OutDir) - - - Level3 - true - ProgramDatabase - - - _DEBUG;%(PreprocessorDefinitions) - 0x040c - - - %(AdditionalDependencies) - $(OutDir)zlibwapi.dll - true - .\zlibvc.def - true - $(OutDir)zlibwapi.pdb - true - $(OutDir)zlibwapi.map - Windows - $(OutDir)zlibwapi.lib - MachineX64 - - - - - _DEBUG;%(PreprocessorDefinitions) - true - true - Itanium - $(OutDir)zlibvc.tlb - - - Disabled - ..\..\..;%(AdditionalIncludeDirectories) - WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;WIN64;%(PreprocessorDefinitions) - - - MultiThreadedDebugDLL - false - $(IntDir)zlibvc.pch - $(IntDir) - $(IntDir) - $(OutDir) - - - Level3 - true - ProgramDatabase - - - _DEBUG;%(PreprocessorDefinitions) - 0x040c - - - $(OutDir)zlibwapi.dll - true - .\zlibvc.def - true - $(OutDir)zlibwapi.pdb - true - $(OutDir)zlibwapi.map - Windows - $(OutDir)zlibwapi.lib - MachineIA64 - - - - - NDEBUG;%(PreprocessorDefinitions) - true - true - X64 - $(OutDir)zlibvc.tlb - - - OnlyExplicitInline - ..\..\..;%(AdditionalIncludeDirectories) - WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;WIN64;%(PreprocessorDefinitions) - true - - - MultiThreadedDLL - false - true - $(IntDir)zlibvc.pch - All - $(IntDir) - $(IntDir) - $(OutDir) - - - Level3 - true - - - NDEBUG;%(PreprocessorDefinitions) - 0x040c - - - $(OutDir)zlibwapi.dll - true - false - .\zlibvc.def - $(OutDir)zlibwapi.pdb - true - $(OutDir)zlibwapi.map - Windows - $(OutDir)zlibwapi.lib - MachineX64 - - - - - NDEBUG;%(PreprocessorDefinitions) - true - true - Itanium - $(OutDir)zlibvc.tlb - - - OnlyExplicitInline - ..\..\..;%(AdditionalIncludeDirectories) - WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;WIN64;%(PreprocessorDefinitions) - true - - - MultiThreadedDLL - false - true - $(IntDir)zlibvc.pch - All - $(IntDir) - $(IntDir) - $(OutDir) - - - Level3 - true - - - NDEBUG;%(PreprocessorDefinitions) - 0x040c - - - $(OutDir)zlibwapi.dll - true - false - .\zlibvc.def - $(OutDir)zlibwapi.pdb - true - $(OutDir)zlibwapi.map - Windows - $(OutDir)zlibwapi.lib - MachineIA64 - - - - - NDEBUG;%(PreprocessorDefinitions) - true - true - X64 - $(OutDir)zlibvc.tlb - - - OnlyExplicitInline - ..\..\..;%(AdditionalIncludeDirectories) - _CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;WIN64;%(PreprocessorDefinitions) - true - - - MultiThreadedDLL - false - true - $(IntDir)zlibvc.pch - All - $(IntDir) - $(IntDir) - $(OutDir) - - - Level3 - true - - - NDEBUG;%(PreprocessorDefinitions) - 0x040c - - - %(AdditionalDependencies) - $(OutDir)zlibwapi.dll - true - false - .\zlibvc.def - $(OutDir)zlibwapi.pdb - true - $(OutDir)zlibwapi.map - Windows - $(OutDir)zlibwapi.lib - MachineX64 - - - - - NDEBUG;%(PreprocessorDefinitions) - true - true - Itanium - $(OutDir)zlibvc.tlb - - - OnlyExplicitInline - ..\..\..;%(AdditionalIncludeDirectories) - _CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;WIN64;%(PreprocessorDefinitions) - true - - - MultiThreadedDLL - false - true - $(IntDir)zlibvc.pch - All - $(IntDir) - $(IntDir) - $(OutDir) - - - Level3 - true - - - NDEBUG;%(PreprocessorDefinitions) - 0x040c - - - $(OutDir)zlibwapi.dll - true - false - .\zlibvc.def - $(OutDir)zlibwapi.pdb - true - $(OutDir)zlibwapi.map - Windows - $(OutDir)zlibwapi.lib - MachineIA64 - - - - - - - - - - - - - - - - - - - - - %(AdditionalIncludeDirectories) - ZLIB_INTERNAL;%(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - ZLIB_INTERNAL;%(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - ZLIB_INTERNAL;%(PreprocessorDefinitions) - - - %(AdditionalIncludeDirectories) - ZLIB_INTERNAL;%(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - ZLIB_INTERNAL;%(PreprocessorDefinitions) - %(AdditionalIncludeDirectories) - ZLIB_INTERNAL;%(PreprocessorDefinitions) - - - - - - - - - - - - - - - - - - - - - - - + + + + + Debug + Itanium + + + Debug + Win32 + + + Debug + x64 + + + ReleaseWithoutAsm + Itanium + + + ReleaseWithoutAsm + Win32 + + + ReleaseWithoutAsm + x64 + + + Release + Itanium + + + Release + Win32 + + + Release + x64 + + + + {8FD826F8-3739-44E6-8CC8-997122E53B8D} + + + + DynamicLibrary + false + true + v110 + + + DynamicLibrary + false + true + v110 + + + DynamicLibrary + false + v110 + Unicode + + + DynamicLibrary + false + true + + + DynamicLibrary + false + true + + + DynamicLibrary + false + + + DynamicLibrary + false + true + v110 + + + DynamicLibrary + false + true + v110 + + + DynamicLibrary + false + v110 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <_ProjectFileVersion>10.0.30128.1 + x86\ZlibDll$(Configuration)\ + x86\ZlibDll$(Configuration)\Tmp\ + true + false + x86\ZlibDll$(Configuration)\ + x86\ZlibDll$(Configuration)\Tmp\ + false + false + x86\ZlibDll$(Configuration)\ + x86\ZlibDll$(Configuration)\Tmp\ + false + false + x64\ZlibDll$(Configuration)\ + x64\ZlibDll$(Configuration)\Tmp\ + true + false + ia64\ZlibDll$(Configuration)\ + ia64\ZlibDll$(Configuration)\Tmp\ + true + false + x64\ZlibDll$(Configuration)\ + x64\ZlibDll$(Configuration)\Tmp\ + false + false + ia64\ZlibDll$(Configuration)\ + ia64\ZlibDll$(Configuration)\Tmp\ + false + false + x64\ZlibDll$(Configuration)\ + x64\ZlibDll$(Configuration)\Tmp\ + false + false + ia64\ZlibDll$(Configuration)\ + ia64\ZlibDll$(Configuration)\Tmp\ + false + false + AllRules.ruleset + + + AllRules.ruleset + + + AllRules.ruleset + + + AllRules.ruleset + + + AllRules.ruleset + + + AllRules.ruleset + + + AllRules.ruleset + + + AllRules.ruleset + + + AllRules.ruleset + + + zlibwapi + zlibwapi + zlibwapi + zlibwapi + zlibwapi + zlibwapi + + + + _DEBUG;%(PreprocessorDefinitions) + true + true + Win32 + $(OutDir)zlibvc.tlb + + + Disabled + ..\..\..;%(AdditionalIncludeDirectories) + WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;%(PreprocessorDefinitions) + + + MultiThreadedDebugDLL + false + $(IntDir)zlibvc.pch + $(IntDir) + $(IntDir) + $(OutDir) + + + Level3 + true + ProgramDatabase + + + _DEBUG;%(PreprocessorDefinitions) + 0x040c + + + /MACHINE:I386 %(AdditionalOptions) + %(AdditionalDependencies) + $(OutDir)zlibwapi.dll + true + .\zlibvc.def + true + $(OutDir)zlibwapi.pdb + true + $(OutDir)zlibwapi.map + Windows + false + + + $(OutDir)zlibwapi.lib + + + + + NDEBUG;%(PreprocessorDefinitions) + true + true + Win32 + $(OutDir)zlibvc.tlb + + + OnlyExplicitInline + ..\..\..;%(AdditionalIncludeDirectories) + WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;%(PreprocessorDefinitions) + true + + + MultiThreadedDLL + false + true + $(IntDir)zlibvc.pch + All + $(IntDir) + $(IntDir) + $(OutDir) + + + Level3 + true + + + NDEBUG;%(PreprocessorDefinitions) + 0x040c + + + /MACHINE:I386 %(AdditionalOptions) + $(OutDir)zlibwapi.dll + true + false + .\zlibvc.def + $(OutDir)zlibwapi.pdb + true + $(OutDir)zlibwapi.map + Windows + false + + + $(OutDir)zlibwapi.lib + + + + + NDEBUG;%(PreprocessorDefinitions) + true + true + Win32 + $(OutDir)zlibvc.tlb + + + OnlyExplicitInline + ..\..\..;%(AdditionalIncludeDirectories) + WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;%(PreprocessorDefinitions) + true + + + MultiThreaded + false + true + $(IntDir)zlibvc.pch + All + $(IntDir) + $(IntDir) + $(OutDir) + + + Level3 + true + + + NDEBUG;%(PreprocessorDefinitions) + 0x040c + + + /MACHINE:I386 %(AdditionalOptions) + %(AdditionalDependencies) + $(OutDir)zlibwapi.dll + true + false + .\zlibvc.def + $(OutDir)zlibwapi.pdb + true + $(OutDir)zlibwapi.map + Windows + false + + + $(OutDir)zlibwapi.lib + + + + + _DEBUG;%(PreprocessorDefinitions) + true + true + X64 + $(OutDir)zlibvc.tlb + + + Disabled + ..\..\..;%(AdditionalIncludeDirectories) + WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;WIN64;%(PreprocessorDefinitions) + + + MultiThreadedDebugDLL + false + $(IntDir)zlibvc.pch + $(IntDir) + $(IntDir) + $(OutDir) + + + Level3 + true + ProgramDatabase + + + _DEBUG;%(PreprocessorDefinitions) + 0x040c + + + %(AdditionalDependencies) + $(OutDir)zlibwapi.dll + true + .\zlibvc.def + true + $(OutDir)zlibwapi.pdb + true + $(OutDir)zlibwapi.map + Windows + $(OutDir)zlibwapi.lib + MachineX64 + + + + + _DEBUG;%(PreprocessorDefinitions) + true + true + Itanium + $(OutDir)zlibvc.tlb + + + Disabled + ..\..\..;%(AdditionalIncludeDirectories) + WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;WIN64;%(PreprocessorDefinitions) + + + MultiThreadedDebugDLL + false + $(IntDir)zlibvc.pch + $(IntDir) + $(IntDir) + $(OutDir) + + + Level3 + true + ProgramDatabase + + + _DEBUG;%(PreprocessorDefinitions) + 0x040c + + + $(OutDir)zlibwapi.dll + true + .\zlibvc.def + true + $(OutDir)zlibwapi.pdb + true + $(OutDir)zlibwapi.map + Windows + $(OutDir)zlibwapi.lib + MachineIA64 + + + + + NDEBUG;%(PreprocessorDefinitions) + true + true + X64 + $(OutDir)zlibvc.tlb + + + OnlyExplicitInline + ..\..\..;%(AdditionalIncludeDirectories) + WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;WIN64;%(PreprocessorDefinitions) + true + + + MultiThreadedDLL + false + true + $(IntDir)zlibvc.pch + All + $(IntDir) + $(IntDir) + $(OutDir) + + + Level3 + true + + + NDEBUG;%(PreprocessorDefinitions) + 0x040c + + + $(OutDir)zlibwapi.dll + true + false + .\zlibvc.def + $(OutDir)zlibwapi.pdb + true + $(OutDir)zlibwapi.map + Windows + $(OutDir)zlibwapi.lib + MachineX64 + + + + + NDEBUG;%(PreprocessorDefinitions) + true + true + Itanium + $(OutDir)zlibvc.tlb + + + OnlyExplicitInline + ..\..\..;%(AdditionalIncludeDirectories) + WIN32;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;WIN64;%(PreprocessorDefinitions) + true + + + MultiThreadedDLL + false + true + $(IntDir)zlibvc.pch + All + $(IntDir) + $(IntDir) + $(OutDir) + + + Level3 + true + + + NDEBUG;%(PreprocessorDefinitions) + 0x040c + + + $(OutDir)zlibwapi.dll + true + false + .\zlibvc.def + $(OutDir)zlibwapi.pdb + true + $(OutDir)zlibwapi.map + Windows + $(OutDir)zlibwapi.lib + MachineIA64 + + + + + NDEBUG;%(PreprocessorDefinitions) + true + true + X64 + $(OutDir)zlibvc.tlb + + + OnlyExplicitInline + ..\..\..;%(AdditionalIncludeDirectories) + _CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;WIN64;%(PreprocessorDefinitions) + true + + + MultiThreadedDLL + false + true + $(IntDir)zlibvc.pch + All + $(IntDir) + $(IntDir) + $(OutDir) + + + Level3 + true + + + NDEBUG;%(PreprocessorDefinitions) + 0x040c + + + %(AdditionalDependencies) + $(OutDir)zlibwapi.dll + true + false + .\zlibvc.def + $(OutDir)zlibwapi.pdb + true + $(OutDir)zlibwapi.map + Windows + $(OutDir)zlibwapi.lib + MachineX64 + + + + + NDEBUG;%(PreprocessorDefinitions) + true + true + Itanium + $(OutDir)zlibvc.tlb + + + OnlyExplicitInline + ..\..\..;%(AdditionalIncludeDirectories) + _CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;WIN64;%(PreprocessorDefinitions) + true + + + MultiThreadedDLL + false + true + $(IntDir)zlibvc.pch + All + $(IntDir) + $(IntDir) + $(OutDir) + + + Level3 + true + + + NDEBUG;%(PreprocessorDefinitions) + 0x040c + + + $(OutDir)zlibwapi.dll + true + false + .\zlibvc.def + $(OutDir)zlibwapi.pdb + true + $(OutDir)zlibwapi.map + Windows + $(OutDir)zlibwapi.lib + MachineIA64 + + + + + + + + + + + + + + + + + + + + + %(AdditionalIncludeDirectories) + ZLIB_INTERNAL;%(PreprocessorDefinitions) + %(AdditionalIncludeDirectories) + ZLIB_INTERNAL;%(PreprocessorDefinitions) + %(AdditionalIncludeDirectories) + ZLIB_INTERNAL;%(PreprocessorDefinitions) + + + %(AdditionalIncludeDirectories) + ZLIB_INTERNAL;%(PreprocessorDefinitions) + %(AdditionalIncludeDirectories) + ZLIB_INTERNAL;%(PreprocessorDefinitions) + %(AdditionalIncludeDirectories) + ZLIB_INTERNAL;%(PreprocessorDefinitions) + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/thirdparty/zlib-1.3.1/contrib/vstudio/vc12/miniunz.vcxproj b/proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/vc12/miniunz.vcxproj similarity index 100% rename from thirdparty/zlib-1.3.1/contrib/vstudio/vc12/miniunz.vcxproj rename to proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/vc12/miniunz.vcxproj diff --git a/thirdparty/zlib-1.3.1/contrib/vstudio/vc12/minizip.vcxproj b/proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/vc12/minizip.vcxproj similarity index 100% rename from thirdparty/zlib-1.3.1/contrib/vstudio/vc12/minizip.vcxproj rename to proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/vc12/minizip.vcxproj diff --git a/thirdparty/zlib-1.3.1/contrib/vstudio/vc12/testzlib.vcxproj b/proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/vc12/testzlib.vcxproj similarity index 100% rename from thirdparty/zlib-1.3.1/contrib/vstudio/vc12/testzlib.vcxproj rename to proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/vc12/testzlib.vcxproj diff --git a/thirdparty/zlib-1.3.1/contrib/vstudio/vc12/testzlibdll.vcxproj b/proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/vc12/testzlibdll.vcxproj similarity index 100% rename from thirdparty/zlib-1.3.1/contrib/vstudio/vc12/testzlibdll.vcxproj rename to proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/vc12/testzlibdll.vcxproj diff --git a/thirdparty/zlib-1.3.1/contrib/vstudio/vc17/zlib.rc b/proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/vc12/zlib.rc similarity index 100% rename from thirdparty/zlib-1.3.1/contrib/vstudio/vc17/zlib.rc rename to proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/vc12/zlib.rc diff --git a/thirdparty/zlib-1.3.1/contrib/vstudio/vc12/zlibstat.vcxproj b/proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/vc12/zlibstat.vcxproj similarity index 100% rename from thirdparty/zlib-1.3.1/contrib/vstudio/vc12/zlibstat.vcxproj rename to proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/vc12/zlibstat.vcxproj diff --git a/thirdparty/zlib-1.3.1/contrib/vstudio/vc14/zlibvc.def b/proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/vc12/zlibvc.def similarity index 97% rename from thirdparty/zlib-1.3.1/contrib/vstudio/vc14/zlibvc.def rename to proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/vc12/zlibvc.def index 3234a02..53947cc 100644 --- a/thirdparty/zlib-1.3.1/contrib/vstudio/vc14/zlibvc.def +++ b/proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/vc12/zlibvc.def @@ -1,158 +1,158 @@ -LIBRARY -; zlib data compression and ZIP file I/O library - -VERSION 1.3.1 - -EXPORTS - adler32 @1 - compress @2 - crc32 @3 - deflate @4 - deflateCopy @5 - deflateEnd @6 - deflateInit2_ @7 - deflateInit_ @8 - deflateParams @9 - deflateReset @10 - deflateSetDictionary @11 - gzclose @12 - gzdopen @13 - gzerror @14 - gzflush @15 - gzopen @16 - gzread @17 - gzwrite @18 - inflate @19 - inflateEnd @20 - inflateInit2_ @21 - inflateInit_ @22 - inflateReset @23 - inflateSetDictionary @24 - inflateSync @25 - uncompress @26 - zlibVersion @27 - gzprintf @28 - gzputc @29 - gzgetc @30 - gzseek @31 - gzrewind @32 - gztell @33 - gzeof @34 - gzsetparams @35 - zError @36 - inflateSyncPoint @37 - get_crc_table @38 - compress2 @39 - gzputs @40 - gzgets @41 - inflateCopy @42 - inflateBackInit_ @43 - inflateBack @44 - inflateBackEnd @45 - compressBound @46 - deflateBound @47 - gzclearerr @48 - gzungetc @49 - zlibCompileFlags @50 - deflatePrime @51 - deflatePending @52 - - unzOpen @61 - unzClose @62 - unzGetGlobalInfo @63 - unzGetCurrentFileInfo @64 - unzGoToFirstFile @65 - unzGoToNextFile @66 - unzOpenCurrentFile @67 - unzReadCurrentFile @68 - unzOpenCurrentFile3 @69 - unztell @70 - unzeof @71 - unzCloseCurrentFile @72 - unzGetGlobalComment @73 - unzStringFileNameCompare @74 - unzLocateFile @75 - unzGetLocalExtrafield @76 - unzOpen2 @77 - unzOpenCurrentFile2 @78 - unzOpenCurrentFilePassword @79 - - zipOpen @80 - zipOpenNewFileInZip @81 - zipWriteInFileInZip @82 - zipCloseFileInZip @83 - zipClose @84 - zipOpenNewFileInZip2 @86 - zipCloseFileInZipRaw @87 - zipOpen2 @88 - zipOpenNewFileInZip3 @89 - - unzGetFilePos @100 - unzGoToFilePos @101 - - fill_win32_filefunc @110 - -; zlibwapi v1.2.4 added: - fill_win32_filefunc64 @111 - fill_win32_filefunc64A @112 - fill_win32_filefunc64W @113 - - unzOpen64 @120 - unzOpen2_64 @121 - unzGetGlobalInfo64 @122 - unzGetCurrentFileInfo64 @124 - unzGetCurrentFileZStreamPos64 @125 - unztell64 @126 - unzGetFilePos64 @127 - unzGoToFilePos64 @128 - - zipOpen64 @130 - zipOpen2_64 @131 - zipOpenNewFileInZip64 @132 - zipOpenNewFileInZip2_64 @133 - zipOpenNewFileInZip3_64 @134 - zipOpenNewFileInZip4_64 @135 - zipCloseFileInZipRaw64 @136 - -; zlib1 v1.2.4 added: - adler32_combine @140 - crc32_combine @142 - deflateSetHeader @144 - deflateTune @145 - gzbuffer @146 - gzclose_r @147 - gzclose_w @148 - gzdirect @149 - gzoffset @150 - inflateGetHeader @156 - inflateMark @157 - inflatePrime @158 - inflateReset2 @159 - inflateUndermine @160 - -; zlib1 v1.2.6 added: - gzgetc_ @161 - inflateResetKeep @163 - deflateResetKeep @164 - -; zlib1 v1.2.7 added: - gzopen_w @165 - -; zlib1 v1.2.8 added: - inflateGetDictionary @166 - gzvprintf @167 - -; zlib1 v1.2.9 added: - inflateCodesUsed @168 - inflateValidate @169 - uncompress2 @170 - gzfread @171 - gzfwrite @172 - deflateGetDictionary @173 - adler32_z @174 - crc32_z @175 - -; zlib1 v1.2.12 added: - crc32_combine_gen @176 - crc32_combine_gen64 @177 - crc32_combine_op @178 +LIBRARY +; zlib data compression and ZIP file I/O library + +VERSION 1.3.1 + +EXPORTS + adler32 @1 + compress @2 + crc32 @3 + deflate @4 + deflateCopy @5 + deflateEnd @6 + deflateInit2_ @7 + deflateInit_ @8 + deflateParams @9 + deflateReset @10 + deflateSetDictionary @11 + gzclose @12 + gzdopen @13 + gzerror @14 + gzflush @15 + gzopen @16 + gzread @17 + gzwrite @18 + inflate @19 + inflateEnd @20 + inflateInit2_ @21 + inflateInit_ @22 + inflateReset @23 + inflateSetDictionary @24 + inflateSync @25 + uncompress @26 + zlibVersion @27 + gzprintf @28 + gzputc @29 + gzgetc @30 + gzseek @31 + gzrewind @32 + gztell @33 + gzeof @34 + gzsetparams @35 + zError @36 + inflateSyncPoint @37 + get_crc_table @38 + compress2 @39 + gzputs @40 + gzgets @41 + inflateCopy @42 + inflateBackInit_ @43 + inflateBack @44 + inflateBackEnd @45 + compressBound @46 + deflateBound @47 + gzclearerr @48 + gzungetc @49 + zlibCompileFlags @50 + deflatePrime @51 + deflatePending @52 + + unzOpen @61 + unzClose @62 + unzGetGlobalInfo @63 + unzGetCurrentFileInfo @64 + unzGoToFirstFile @65 + unzGoToNextFile @66 + unzOpenCurrentFile @67 + unzReadCurrentFile @68 + unzOpenCurrentFile3 @69 + unztell @70 + unzeof @71 + unzCloseCurrentFile @72 + unzGetGlobalComment @73 + unzStringFileNameCompare @74 + unzLocateFile @75 + unzGetLocalExtrafield @76 + unzOpen2 @77 + unzOpenCurrentFile2 @78 + unzOpenCurrentFilePassword @79 + + zipOpen @80 + zipOpenNewFileInZip @81 + zipWriteInFileInZip @82 + zipCloseFileInZip @83 + zipClose @84 + zipOpenNewFileInZip2 @86 + zipCloseFileInZipRaw @87 + zipOpen2 @88 + zipOpenNewFileInZip3 @89 + + unzGetFilePos @100 + unzGoToFilePos @101 + + fill_win32_filefunc @110 + +; zlibwapi v1.2.4 added: + fill_win32_filefunc64 @111 + fill_win32_filefunc64A @112 + fill_win32_filefunc64W @113 + + unzOpen64 @120 + unzOpen2_64 @121 + unzGetGlobalInfo64 @122 + unzGetCurrentFileInfo64 @124 + unzGetCurrentFileZStreamPos64 @125 + unztell64 @126 + unzGetFilePos64 @127 + unzGoToFilePos64 @128 + + zipOpen64 @130 + zipOpen2_64 @131 + zipOpenNewFileInZip64 @132 + zipOpenNewFileInZip2_64 @133 + zipOpenNewFileInZip3_64 @134 + zipOpenNewFileInZip4_64 @135 + zipCloseFileInZipRaw64 @136 + +; zlib1 v1.2.4 added: + adler32_combine @140 + crc32_combine @142 + deflateSetHeader @144 + deflateTune @145 + gzbuffer @146 + gzclose_r @147 + gzclose_w @148 + gzdirect @149 + gzoffset @150 + inflateGetHeader @156 + inflateMark @157 + inflatePrime @158 + inflateReset2 @159 + inflateUndermine @160 + +; zlib1 v1.2.6 added: + gzgetc_ @161 + inflateResetKeep @163 + deflateResetKeep @164 + +; zlib1 v1.2.7 added: + gzopen_w @165 + +; zlib1 v1.2.8 added: + inflateGetDictionary @166 + gzvprintf @167 + +; zlib1 v1.2.9 added: + inflateCodesUsed @168 + inflateValidate @169 + uncompress2 @170 + gzfread @171 + gzfwrite @172 + deflateGetDictionary @173 + adler32_z @174 + crc32_z @175 + +; zlib1 v1.2.12 added: + crc32_combine_gen @176 + crc32_combine_gen64 @177 + crc32_combine_op @178 diff --git a/thirdparty/zlib-1.3.1/contrib/vstudio/vc12/zlibvc.sln b/proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/vc12/zlibvc.sln similarity index 100% rename from thirdparty/zlib-1.3.1/contrib/vstudio/vc12/zlibvc.sln rename to proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/vc12/zlibvc.sln diff --git a/thirdparty/zlib-1.3.1/contrib/vstudio/vc12/zlibvc.vcxproj b/proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/vc12/zlibvc.vcxproj similarity index 100% rename from thirdparty/zlib-1.3.1/contrib/vstudio/vc12/zlibvc.vcxproj rename to proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/vc12/zlibvc.vcxproj diff --git a/thirdparty/zlib-1.3.1/contrib/vstudio/vc14/miniunz.vcxproj b/proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/vc14/miniunz.vcxproj similarity index 100% rename from thirdparty/zlib-1.3.1/contrib/vstudio/vc14/miniunz.vcxproj rename to proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/vc14/miniunz.vcxproj diff --git a/thirdparty/zlib-1.3.1/contrib/vstudio/vc14/minizip.vcxproj b/proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/vc14/minizip.vcxproj similarity index 100% rename from thirdparty/zlib-1.3.1/contrib/vstudio/vc14/minizip.vcxproj rename to proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/vc14/minizip.vcxproj diff --git a/thirdparty/zlib-1.3.1/contrib/vstudio/vc14/testzlib.vcxproj b/proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/vc14/testzlib.vcxproj similarity index 100% rename from thirdparty/zlib-1.3.1/contrib/vstudio/vc14/testzlib.vcxproj rename to proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/vc14/testzlib.vcxproj diff --git a/thirdparty/zlib-1.3.1/contrib/vstudio/vc14/testzlibdll.vcxproj b/proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/vc14/testzlibdll.vcxproj similarity index 100% rename from thirdparty/zlib-1.3.1/contrib/vstudio/vc14/testzlibdll.vcxproj rename to proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/vc14/testzlibdll.vcxproj diff --git a/thirdparty/zlib-1.3.1/contrib/vstudio/vc11/zlib.rc b/proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/vc14/zlib.rc similarity index 96% rename from thirdparty/zlib-1.3.1/contrib/vstudio/vc11/zlib.rc rename to proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/vc14/zlib.rc index 856bd11..a55f341 100644 --- a/thirdparty/zlib-1.3.1/contrib/vstudio/vc11/zlib.rc +++ b/proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/vc14/zlib.rc @@ -1,32 +1,32 @@ -#include - -#define IDR_VERSION1 1 -IDR_VERSION1 VERSIONINFO MOVEABLE IMPURE LOADONCALL DISCARDABLE - FILEVERSION 1, 3, 1, 0 - PRODUCTVERSION 1, 3, 1, 0 - FILEFLAGSMASK VS_FFI_FILEFLAGSMASK - FILEFLAGS 0 - FILEOS VOS_DOS_WINDOWS32 - FILETYPE VFT_DLL - FILESUBTYPE 0 // not used -BEGIN - BLOCK "StringFileInfo" - BEGIN - BLOCK "040904E4" - //language ID = U.S. English, char set = Windows, Multilingual - - BEGIN - VALUE "FileDescription", "zlib data compression and ZIP file I/O library\0" - VALUE "FileVersion", "1.3.1\0" - VALUE "InternalName", "zlib\0" - VALUE "OriginalFilename", "zlibwapi.dll\0" - VALUE "ProductName", "ZLib.DLL\0" - VALUE "Comments","DLL support by Alessandro Iacopetti & Gilles Vollant\0" - VALUE "LegalCopyright", "(C) 1995-2024 Jean-loup Gailly & Mark Adler\0" - END - END - BLOCK "VarFileInfo" - BEGIN - VALUE "Translation", 0x0409, 1252 - END -END +#include + +#define IDR_VERSION1 1 +IDR_VERSION1 VERSIONINFO MOVEABLE IMPURE LOADONCALL DISCARDABLE + FILEVERSION 1, 3, 1, 0 + PRODUCTVERSION 1, 3, 1, 0 + FILEFLAGSMASK VS_FFI_FILEFLAGSMASK + FILEFLAGS 0 + FILEOS VOS_DOS_WINDOWS32 + FILETYPE VFT_DLL + FILESUBTYPE 0 // not used +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "040904E4" + //language ID = U.S. English, char set = Windows, Multilingual + + BEGIN + VALUE "FileDescription", "zlib data compression and ZIP file I/O library\0" + VALUE "FileVersion", "1.3.1\0" + VALUE "InternalName", "zlib\0" + VALUE "OriginalFilename", "zlibwapi.dll\0" + VALUE "ProductName", "ZLib.DLL\0" + VALUE "Comments","DLL support by Alessandro Iacopetti & Gilles Vollant\0" + VALUE "LegalCopyright", "(C) 1995-2024 Jean-loup Gailly & Mark Adler\0" + END + END + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x0409, 1252 + END +END diff --git a/thirdparty/zlib-1.3.1/contrib/vstudio/vc14/zlibstat.vcxproj b/proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/vc14/zlibstat.vcxproj similarity index 100% rename from thirdparty/zlib-1.3.1/contrib/vstudio/vc14/zlibstat.vcxproj rename to proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/vc14/zlibstat.vcxproj diff --git a/thirdparty/zlib-1.3.1/contrib/vstudio/vc12/zlibvc.def b/proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/vc14/zlibvc.def similarity index 97% rename from thirdparty/zlib-1.3.1/contrib/vstudio/vc12/zlibvc.def rename to proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/vc14/zlibvc.def index 3234a02..53947cc 100644 --- a/thirdparty/zlib-1.3.1/contrib/vstudio/vc12/zlibvc.def +++ b/proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/vc14/zlibvc.def @@ -1,158 +1,158 @@ -LIBRARY -; zlib data compression and ZIP file I/O library - -VERSION 1.3.1 - -EXPORTS - adler32 @1 - compress @2 - crc32 @3 - deflate @4 - deflateCopy @5 - deflateEnd @6 - deflateInit2_ @7 - deflateInit_ @8 - deflateParams @9 - deflateReset @10 - deflateSetDictionary @11 - gzclose @12 - gzdopen @13 - gzerror @14 - gzflush @15 - gzopen @16 - gzread @17 - gzwrite @18 - inflate @19 - inflateEnd @20 - inflateInit2_ @21 - inflateInit_ @22 - inflateReset @23 - inflateSetDictionary @24 - inflateSync @25 - uncompress @26 - zlibVersion @27 - gzprintf @28 - gzputc @29 - gzgetc @30 - gzseek @31 - gzrewind @32 - gztell @33 - gzeof @34 - gzsetparams @35 - zError @36 - inflateSyncPoint @37 - get_crc_table @38 - compress2 @39 - gzputs @40 - gzgets @41 - inflateCopy @42 - inflateBackInit_ @43 - inflateBack @44 - inflateBackEnd @45 - compressBound @46 - deflateBound @47 - gzclearerr @48 - gzungetc @49 - zlibCompileFlags @50 - deflatePrime @51 - deflatePending @52 - - unzOpen @61 - unzClose @62 - unzGetGlobalInfo @63 - unzGetCurrentFileInfo @64 - unzGoToFirstFile @65 - unzGoToNextFile @66 - unzOpenCurrentFile @67 - unzReadCurrentFile @68 - unzOpenCurrentFile3 @69 - unztell @70 - unzeof @71 - unzCloseCurrentFile @72 - unzGetGlobalComment @73 - unzStringFileNameCompare @74 - unzLocateFile @75 - unzGetLocalExtrafield @76 - unzOpen2 @77 - unzOpenCurrentFile2 @78 - unzOpenCurrentFilePassword @79 - - zipOpen @80 - zipOpenNewFileInZip @81 - zipWriteInFileInZip @82 - zipCloseFileInZip @83 - zipClose @84 - zipOpenNewFileInZip2 @86 - zipCloseFileInZipRaw @87 - zipOpen2 @88 - zipOpenNewFileInZip3 @89 - - unzGetFilePos @100 - unzGoToFilePos @101 - - fill_win32_filefunc @110 - -; zlibwapi v1.2.4 added: - fill_win32_filefunc64 @111 - fill_win32_filefunc64A @112 - fill_win32_filefunc64W @113 - - unzOpen64 @120 - unzOpen2_64 @121 - unzGetGlobalInfo64 @122 - unzGetCurrentFileInfo64 @124 - unzGetCurrentFileZStreamPos64 @125 - unztell64 @126 - unzGetFilePos64 @127 - unzGoToFilePos64 @128 - - zipOpen64 @130 - zipOpen2_64 @131 - zipOpenNewFileInZip64 @132 - zipOpenNewFileInZip2_64 @133 - zipOpenNewFileInZip3_64 @134 - zipOpenNewFileInZip4_64 @135 - zipCloseFileInZipRaw64 @136 - -; zlib1 v1.2.4 added: - adler32_combine @140 - crc32_combine @142 - deflateSetHeader @144 - deflateTune @145 - gzbuffer @146 - gzclose_r @147 - gzclose_w @148 - gzdirect @149 - gzoffset @150 - inflateGetHeader @156 - inflateMark @157 - inflatePrime @158 - inflateReset2 @159 - inflateUndermine @160 - -; zlib1 v1.2.6 added: - gzgetc_ @161 - inflateResetKeep @163 - deflateResetKeep @164 - -; zlib1 v1.2.7 added: - gzopen_w @165 - -; zlib1 v1.2.8 added: - inflateGetDictionary @166 - gzvprintf @167 - -; zlib1 v1.2.9 added: - inflateCodesUsed @168 - inflateValidate @169 - uncompress2 @170 - gzfread @171 - gzfwrite @172 - deflateGetDictionary @173 - adler32_z @174 - crc32_z @175 - -; zlib1 v1.2.12 added: - crc32_combine_gen @176 - crc32_combine_gen64 @177 - crc32_combine_op @178 +LIBRARY +; zlib data compression and ZIP file I/O library + +VERSION 1.3.1 + +EXPORTS + adler32 @1 + compress @2 + crc32 @3 + deflate @4 + deflateCopy @5 + deflateEnd @6 + deflateInit2_ @7 + deflateInit_ @8 + deflateParams @9 + deflateReset @10 + deflateSetDictionary @11 + gzclose @12 + gzdopen @13 + gzerror @14 + gzflush @15 + gzopen @16 + gzread @17 + gzwrite @18 + inflate @19 + inflateEnd @20 + inflateInit2_ @21 + inflateInit_ @22 + inflateReset @23 + inflateSetDictionary @24 + inflateSync @25 + uncompress @26 + zlibVersion @27 + gzprintf @28 + gzputc @29 + gzgetc @30 + gzseek @31 + gzrewind @32 + gztell @33 + gzeof @34 + gzsetparams @35 + zError @36 + inflateSyncPoint @37 + get_crc_table @38 + compress2 @39 + gzputs @40 + gzgets @41 + inflateCopy @42 + inflateBackInit_ @43 + inflateBack @44 + inflateBackEnd @45 + compressBound @46 + deflateBound @47 + gzclearerr @48 + gzungetc @49 + zlibCompileFlags @50 + deflatePrime @51 + deflatePending @52 + + unzOpen @61 + unzClose @62 + unzGetGlobalInfo @63 + unzGetCurrentFileInfo @64 + unzGoToFirstFile @65 + unzGoToNextFile @66 + unzOpenCurrentFile @67 + unzReadCurrentFile @68 + unzOpenCurrentFile3 @69 + unztell @70 + unzeof @71 + unzCloseCurrentFile @72 + unzGetGlobalComment @73 + unzStringFileNameCompare @74 + unzLocateFile @75 + unzGetLocalExtrafield @76 + unzOpen2 @77 + unzOpenCurrentFile2 @78 + unzOpenCurrentFilePassword @79 + + zipOpen @80 + zipOpenNewFileInZip @81 + zipWriteInFileInZip @82 + zipCloseFileInZip @83 + zipClose @84 + zipOpenNewFileInZip2 @86 + zipCloseFileInZipRaw @87 + zipOpen2 @88 + zipOpenNewFileInZip3 @89 + + unzGetFilePos @100 + unzGoToFilePos @101 + + fill_win32_filefunc @110 + +; zlibwapi v1.2.4 added: + fill_win32_filefunc64 @111 + fill_win32_filefunc64A @112 + fill_win32_filefunc64W @113 + + unzOpen64 @120 + unzOpen2_64 @121 + unzGetGlobalInfo64 @122 + unzGetCurrentFileInfo64 @124 + unzGetCurrentFileZStreamPos64 @125 + unztell64 @126 + unzGetFilePos64 @127 + unzGoToFilePos64 @128 + + zipOpen64 @130 + zipOpen2_64 @131 + zipOpenNewFileInZip64 @132 + zipOpenNewFileInZip2_64 @133 + zipOpenNewFileInZip3_64 @134 + zipOpenNewFileInZip4_64 @135 + zipCloseFileInZipRaw64 @136 + +; zlib1 v1.2.4 added: + adler32_combine @140 + crc32_combine @142 + deflateSetHeader @144 + deflateTune @145 + gzbuffer @146 + gzclose_r @147 + gzclose_w @148 + gzdirect @149 + gzoffset @150 + inflateGetHeader @156 + inflateMark @157 + inflatePrime @158 + inflateReset2 @159 + inflateUndermine @160 + +; zlib1 v1.2.6 added: + gzgetc_ @161 + inflateResetKeep @163 + deflateResetKeep @164 + +; zlib1 v1.2.7 added: + gzopen_w @165 + +; zlib1 v1.2.8 added: + inflateGetDictionary @166 + gzvprintf @167 + +; zlib1 v1.2.9 added: + inflateCodesUsed @168 + inflateValidate @169 + uncompress2 @170 + gzfread @171 + gzfwrite @172 + deflateGetDictionary @173 + adler32_z @174 + crc32_z @175 + +; zlib1 v1.2.12 added: + crc32_combine_gen @176 + crc32_combine_gen64 @177 + crc32_combine_op @178 diff --git a/thirdparty/zlib-1.3.1/contrib/vstudio/vc14/zlibvc.sln b/proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/vc14/zlibvc.sln similarity index 100% rename from thirdparty/zlib-1.3.1/contrib/vstudio/vc14/zlibvc.sln rename to proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/vc14/zlibvc.sln diff --git a/thirdparty/zlib-1.3.1/contrib/vstudio/vc14/zlibvc.vcxproj b/proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/vc14/zlibvc.vcxproj similarity index 100% rename from thirdparty/zlib-1.3.1/contrib/vstudio/vc14/zlibvc.vcxproj rename to proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/vc14/zlibvc.vcxproj diff --git a/thirdparty/zlib-1.3.1/contrib/vstudio/vc17/miniunz.vcxproj b/proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/vc17/miniunz.vcxproj similarity index 100% rename from thirdparty/zlib-1.3.1/contrib/vstudio/vc17/miniunz.vcxproj rename to proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/vc17/miniunz.vcxproj diff --git a/thirdparty/zlib-1.3.1/contrib/vstudio/vc17/minizip.vcxproj b/proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/vc17/minizip.vcxproj similarity index 100% rename from thirdparty/zlib-1.3.1/contrib/vstudio/vc17/minizip.vcxproj rename to proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/vc17/minizip.vcxproj diff --git a/thirdparty/zlib-1.3.1/contrib/vstudio/vc17/testzlib.vcxproj b/proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/vc17/testzlib.vcxproj similarity index 100% rename from thirdparty/zlib-1.3.1/contrib/vstudio/vc17/testzlib.vcxproj rename to proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/vc17/testzlib.vcxproj diff --git a/thirdparty/zlib-1.3.1/contrib/vstudio/vc17/testzlibdll.vcxproj b/proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/vc17/testzlibdll.vcxproj similarity index 100% rename from thirdparty/zlib-1.3.1/contrib/vstudio/vc17/testzlibdll.vcxproj rename to proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/vc17/testzlibdll.vcxproj diff --git a/proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/vc17/zlib.rc b/proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/vc17/zlib.rc new file mode 100644 index 0000000..a55f341 --- /dev/null +++ b/proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/vc17/zlib.rc @@ -0,0 +1,32 @@ +#include + +#define IDR_VERSION1 1 +IDR_VERSION1 VERSIONINFO MOVEABLE IMPURE LOADONCALL DISCARDABLE + FILEVERSION 1, 3, 1, 0 + PRODUCTVERSION 1, 3, 1, 0 + FILEFLAGSMASK VS_FFI_FILEFLAGSMASK + FILEFLAGS 0 + FILEOS VOS_DOS_WINDOWS32 + FILETYPE VFT_DLL + FILESUBTYPE 0 // not used +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "040904E4" + //language ID = U.S. English, char set = Windows, Multilingual + + BEGIN + VALUE "FileDescription", "zlib data compression and ZIP file I/O library\0" + VALUE "FileVersion", "1.3.1\0" + VALUE "InternalName", "zlib\0" + VALUE "OriginalFilename", "zlibwapi.dll\0" + VALUE "ProductName", "ZLib.DLL\0" + VALUE "Comments","DLL support by Alessandro Iacopetti & Gilles Vollant\0" + VALUE "LegalCopyright", "(C) 1995-2024 Jean-loup Gailly & Mark Adler\0" + END + END + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x0409, 1252 + END +END diff --git a/thirdparty/zlib-1.3.1/contrib/vstudio/vc17/zlibstat.vcxproj b/proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/vc17/zlibstat.vcxproj similarity index 100% rename from thirdparty/zlib-1.3.1/contrib/vstudio/vc17/zlibstat.vcxproj rename to proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/vc17/zlibstat.vcxproj diff --git a/proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/vc17/zlibvc.def b/proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/vc17/zlibvc.def new file mode 100644 index 0000000..53947cc --- /dev/null +++ b/proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/vc17/zlibvc.def @@ -0,0 +1,158 @@ +LIBRARY +; zlib data compression and ZIP file I/O library + +VERSION 1.3.1 + +EXPORTS + adler32 @1 + compress @2 + crc32 @3 + deflate @4 + deflateCopy @5 + deflateEnd @6 + deflateInit2_ @7 + deflateInit_ @8 + deflateParams @9 + deflateReset @10 + deflateSetDictionary @11 + gzclose @12 + gzdopen @13 + gzerror @14 + gzflush @15 + gzopen @16 + gzread @17 + gzwrite @18 + inflate @19 + inflateEnd @20 + inflateInit2_ @21 + inflateInit_ @22 + inflateReset @23 + inflateSetDictionary @24 + inflateSync @25 + uncompress @26 + zlibVersion @27 + gzprintf @28 + gzputc @29 + gzgetc @30 + gzseek @31 + gzrewind @32 + gztell @33 + gzeof @34 + gzsetparams @35 + zError @36 + inflateSyncPoint @37 + get_crc_table @38 + compress2 @39 + gzputs @40 + gzgets @41 + inflateCopy @42 + inflateBackInit_ @43 + inflateBack @44 + inflateBackEnd @45 + compressBound @46 + deflateBound @47 + gzclearerr @48 + gzungetc @49 + zlibCompileFlags @50 + deflatePrime @51 + deflatePending @52 + + unzOpen @61 + unzClose @62 + unzGetGlobalInfo @63 + unzGetCurrentFileInfo @64 + unzGoToFirstFile @65 + unzGoToNextFile @66 + unzOpenCurrentFile @67 + unzReadCurrentFile @68 + unzOpenCurrentFile3 @69 + unztell @70 + unzeof @71 + unzCloseCurrentFile @72 + unzGetGlobalComment @73 + unzStringFileNameCompare @74 + unzLocateFile @75 + unzGetLocalExtrafield @76 + unzOpen2 @77 + unzOpenCurrentFile2 @78 + unzOpenCurrentFilePassword @79 + + zipOpen @80 + zipOpenNewFileInZip @81 + zipWriteInFileInZip @82 + zipCloseFileInZip @83 + zipClose @84 + zipOpenNewFileInZip2 @86 + zipCloseFileInZipRaw @87 + zipOpen2 @88 + zipOpenNewFileInZip3 @89 + + unzGetFilePos @100 + unzGoToFilePos @101 + + fill_win32_filefunc @110 + +; zlibwapi v1.2.4 added: + fill_win32_filefunc64 @111 + fill_win32_filefunc64A @112 + fill_win32_filefunc64W @113 + + unzOpen64 @120 + unzOpen2_64 @121 + unzGetGlobalInfo64 @122 + unzGetCurrentFileInfo64 @124 + unzGetCurrentFileZStreamPos64 @125 + unztell64 @126 + unzGetFilePos64 @127 + unzGoToFilePos64 @128 + + zipOpen64 @130 + zipOpen2_64 @131 + zipOpenNewFileInZip64 @132 + zipOpenNewFileInZip2_64 @133 + zipOpenNewFileInZip3_64 @134 + zipOpenNewFileInZip4_64 @135 + zipCloseFileInZipRaw64 @136 + +; zlib1 v1.2.4 added: + adler32_combine @140 + crc32_combine @142 + deflateSetHeader @144 + deflateTune @145 + gzbuffer @146 + gzclose_r @147 + gzclose_w @148 + gzdirect @149 + gzoffset @150 + inflateGetHeader @156 + inflateMark @157 + inflatePrime @158 + inflateReset2 @159 + inflateUndermine @160 + +; zlib1 v1.2.6 added: + gzgetc_ @161 + inflateResetKeep @163 + deflateResetKeep @164 + +; zlib1 v1.2.7 added: + gzopen_w @165 + +; zlib1 v1.2.8 added: + inflateGetDictionary @166 + gzvprintf @167 + +; zlib1 v1.2.9 added: + inflateCodesUsed @168 + inflateValidate @169 + uncompress2 @170 + gzfread @171 + gzfwrite @172 + deflateGetDictionary @173 + adler32_z @174 + crc32_z @175 + +; zlib1 v1.2.12 added: + crc32_combine_gen @176 + crc32_combine_gen64 @177 + crc32_combine_op @178 diff --git a/thirdparty/zlib-1.3.1/contrib/vstudio/vc17/zlibvc.sln b/proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/vc17/zlibvc.sln similarity index 100% rename from thirdparty/zlib-1.3.1/contrib/vstudio/vc17/zlibvc.sln rename to proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/vc17/zlibvc.sln diff --git a/thirdparty/zlib-1.3.1/contrib/vstudio/vc17/zlibvc.vcxproj b/proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/vc17/zlibvc.vcxproj similarity index 100% rename from thirdparty/zlib-1.3.1/contrib/vstudio/vc17/zlibvc.vcxproj rename to proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/vc17/zlibvc.vcxproj diff --git a/thirdparty/zlib-1.3.1/contrib/vstudio/vc9/miniunz.vcproj b/proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/vc9/miniunz.vcproj similarity index 95% rename from thirdparty/zlib-1.3.1/contrib/vstudio/vc9/miniunz.vcproj rename to proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/vc9/miniunz.vcproj index cc3d13a..83bfbdd 100644 --- a/thirdparty/zlib-1.3.1/contrib/vstudio/vc9/miniunz.vcproj +++ b/proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/vc9/miniunz.vcproj @@ -1,565 +1,565 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/zlib-1.3.1/contrib/vstudio/vc9/minizip.vcproj b/proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/vc9/minizip.vcproj similarity index 95% rename from thirdparty/zlib-1.3.1/contrib/vstudio/vc9/minizip.vcproj rename to proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/vc9/minizip.vcproj index fecd9dd..5f4e9ee 100644 --- a/thirdparty/zlib-1.3.1/contrib/vstudio/vc9/minizip.vcproj +++ b/proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/vc9/minizip.vcproj @@ -1,562 +1,562 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/zlib-1.3.1/contrib/vstudio/vc9/testzlib.vcproj b/proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/vc9/testzlib.vcproj similarity index 95% rename from thirdparty/zlib-1.3.1/contrib/vstudio/vc9/testzlib.vcproj rename to proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/vc9/testzlib.vcproj index ff69640..9e0c37e 100644 --- a/thirdparty/zlib-1.3.1/contrib/vstudio/vc9/testzlib.vcproj +++ b/proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/vc9/testzlib.vcproj @@ -1,796 +1,796 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/zlib-1.3.1/contrib/vstudio/vc9/testzlibdll.vcproj b/proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/vc9/testzlibdll.vcproj similarity index 95% rename from thirdparty/zlib-1.3.1/contrib/vstudio/vc9/testzlibdll.vcproj rename to proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/vc9/testzlibdll.vcproj index 6448b49..8522f82 100644 --- a/thirdparty/zlib-1.3.1/contrib/vstudio/vc9/testzlibdll.vcproj +++ b/proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/vc9/testzlibdll.vcproj @@ -1,565 +1,565 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/vc9/zlib.rc b/proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/vc9/zlib.rc new file mode 100644 index 0000000..a55f341 --- /dev/null +++ b/proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/vc9/zlib.rc @@ -0,0 +1,32 @@ +#include + +#define IDR_VERSION1 1 +IDR_VERSION1 VERSIONINFO MOVEABLE IMPURE LOADONCALL DISCARDABLE + FILEVERSION 1, 3, 1, 0 + PRODUCTVERSION 1, 3, 1, 0 + FILEFLAGSMASK VS_FFI_FILEFLAGSMASK + FILEFLAGS 0 + FILEOS VOS_DOS_WINDOWS32 + FILETYPE VFT_DLL + FILESUBTYPE 0 // not used +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "040904E4" + //language ID = U.S. English, char set = Windows, Multilingual + + BEGIN + VALUE "FileDescription", "zlib data compression and ZIP file I/O library\0" + VALUE "FileVersion", "1.3.1\0" + VALUE "InternalName", "zlib\0" + VALUE "OriginalFilename", "zlibwapi.dll\0" + VALUE "ProductName", "ZLib.DLL\0" + VALUE "Comments","DLL support by Alessandro Iacopetti & Gilles Vollant\0" + VALUE "LegalCopyright", "(C) 1995-2024 Jean-loup Gailly & Mark Adler\0" + END + END + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x0409, 1252 + END +END diff --git a/thirdparty/zlib-1.3.1/contrib/vstudio/vc9/zlibstat.vcproj b/proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/vc9/zlibstat.vcproj similarity index 95% rename from thirdparty/zlib-1.3.1/contrib/vstudio/vc9/zlibstat.vcproj rename to proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/vc9/zlibstat.vcproj index 1bf1563..df481e5 100644 --- a/thirdparty/zlib-1.3.1/contrib/vstudio/vc9/zlibstat.vcproj +++ b/proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/vc9/zlibstat.vcproj @@ -1,781 +1,781 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/vc9/zlibvc.def b/proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/vc9/zlibvc.def new file mode 100644 index 0000000..53947cc --- /dev/null +++ b/proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/vc9/zlibvc.def @@ -0,0 +1,158 @@ +LIBRARY +; zlib data compression and ZIP file I/O library + +VERSION 1.3.1 + +EXPORTS + adler32 @1 + compress @2 + crc32 @3 + deflate @4 + deflateCopy @5 + deflateEnd @6 + deflateInit2_ @7 + deflateInit_ @8 + deflateParams @9 + deflateReset @10 + deflateSetDictionary @11 + gzclose @12 + gzdopen @13 + gzerror @14 + gzflush @15 + gzopen @16 + gzread @17 + gzwrite @18 + inflate @19 + inflateEnd @20 + inflateInit2_ @21 + inflateInit_ @22 + inflateReset @23 + inflateSetDictionary @24 + inflateSync @25 + uncompress @26 + zlibVersion @27 + gzprintf @28 + gzputc @29 + gzgetc @30 + gzseek @31 + gzrewind @32 + gztell @33 + gzeof @34 + gzsetparams @35 + zError @36 + inflateSyncPoint @37 + get_crc_table @38 + compress2 @39 + gzputs @40 + gzgets @41 + inflateCopy @42 + inflateBackInit_ @43 + inflateBack @44 + inflateBackEnd @45 + compressBound @46 + deflateBound @47 + gzclearerr @48 + gzungetc @49 + zlibCompileFlags @50 + deflatePrime @51 + deflatePending @52 + + unzOpen @61 + unzClose @62 + unzGetGlobalInfo @63 + unzGetCurrentFileInfo @64 + unzGoToFirstFile @65 + unzGoToNextFile @66 + unzOpenCurrentFile @67 + unzReadCurrentFile @68 + unzOpenCurrentFile3 @69 + unztell @70 + unzeof @71 + unzCloseCurrentFile @72 + unzGetGlobalComment @73 + unzStringFileNameCompare @74 + unzLocateFile @75 + unzGetLocalExtrafield @76 + unzOpen2 @77 + unzOpenCurrentFile2 @78 + unzOpenCurrentFilePassword @79 + + zipOpen @80 + zipOpenNewFileInZip @81 + zipWriteInFileInZip @82 + zipCloseFileInZip @83 + zipClose @84 + zipOpenNewFileInZip2 @86 + zipCloseFileInZipRaw @87 + zipOpen2 @88 + zipOpenNewFileInZip3 @89 + + unzGetFilePos @100 + unzGoToFilePos @101 + + fill_win32_filefunc @110 + +; zlibwapi v1.2.4 added: + fill_win32_filefunc64 @111 + fill_win32_filefunc64A @112 + fill_win32_filefunc64W @113 + + unzOpen64 @120 + unzOpen2_64 @121 + unzGetGlobalInfo64 @122 + unzGetCurrentFileInfo64 @124 + unzGetCurrentFileZStreamPos64 @125 + unztell64 @126 + unzGetFilePos64 @127 + unzGoToFilePos64 @128 + + zipOpen64 @130 + zipOpen2_64 @131 + zipOpenNewFileInZip64 @132 + zipOpenNewFileInZip2_64 @133 + zipOpenNewFileInZip3_64 @134 + zipOpenNewFileInZip4_64 @135 + zipCloseFileInZipRaw64 @136 + +; zlib1 v1.2.4 added: + adler32_combine @140 + crc32_combine @142 + deflateSetHeader @144 + deflateTune @145 + gzbuffer @146 + gzclose_r @147 + gzclose_w @148 + gzdirect @149 + gzoffset @150 + inflateGetHeader @156 + inflateMark @157 + inflatePrime @158 + inflateReset2 @159 + inflateUndermine @160 + +; zlib1 v1.2.6 added: + gzgetc_ @161 + inflateResetKeep @163 + deflateResetKeep @164 + +; zlib1 v1.2.7 added: + gzopen_w @165 + +; zlib1 v1.2.8 added: + inflateGetDictionary @166 + gzvprintf @167 + +; zlib1 v1.2.9 added: + inflateCodesUsed @168 + inflateValidate @169 + uncompress2 @170 + gzfread @171 + gzfwrite @172 + deflateGetDictionary @173 + adler32_z @174 + crc32_z @175 + +; zlib1 v1.2.12 added: + crc32_combine_gen @176 + crc32_combine_gen64 @177 + crc32_combine_op @178 diff --git a/thirdparty/zlib-1.3.1/contrib/vstudio/vc9/zlibvc.sln b/proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/vc9/zlibvc.sln similarity index 98% rename from thirdparty/zlib-1.3.1/contrib/vstudio/vc9/zlibvc.sln rename to proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/vc9/zlibvc.sln index b482967..75c64c3 100644 --- a/thirdparty/zlib-1.3.1/contrib/vstudio/vc9/zlibvc.sln +++ b/proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/vc9/zlibvc.sln @@ -1,144 +1,144 @@ - -Microsoft Visual Studio Solution File, Format Version 10.00 -# Visual Studio 2008 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "zlibvc", "zlibvc.vcproj", "{8FD826F8-3739-44E6-8CC8-997122E53B8D}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "zlibstat", "zlibstat.vcproj", "{745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testzlib", "testzlib.vcproj", "{AA6666AA-E09F-4135-9C0C-4FE50C3C654B}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TestZlibDll", "testzlibdll.vcproj", "{C52F9E7B-498A-42BE-8DB4-85A15694366A}" - ProjectSection(ProjectDependencies) = postProject - {8FD826F8-3739-44E6-8CC8-997122E53B8D} = {8FD826F8-3739-44E6-8CC8-997122E53B8D} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "minizip", "minizip.vcproj", "{48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}" - ProjectSection(ProjectDependencies) = postProject - {8FD826F8-3739-44E6-8CC8-997122E53B8D} = {8FD826F8-3739-44E6-8CC8-997122E53B8D} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "miniunz", "miniunz.vcproj", "{C52F9E7B-498A-42BE-8DB4-85A15694382A}" - ProjectSection(ProjectDependencies) = postProject - {8FD826F8-3739-44E6-8CC8-997122E53B8D} = {8FD826F8-3739-44E6-8CC8-997122E53B8D} - EndProjectSection -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Itanium = Debug|Itanium - Debug|Win32 = Debug|Win32 - Debug|x64 = Debug|x64 - Release|Itanium = Release|Itanium - Release|Win32 = Release|Win32 - Release|x64 = Release|x64 - ReleaseWithoutAsm|Itanium = ReleaseWithoutAsm|Itanium - ReleaseWithoutAsm|Win32 = ReleaseWithoutAsm|Win32 - ReleaseWithoutAsm|x64 = ReleaseWithoutAsm|x64 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Debug|Itanium.ActiveCfg = Debug|Itanium - {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Debug|Itanium.Build.0 = Debug|Itanium - {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Debug|Win32.ActiveCfg = Debug|Win32 - {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Debug|Win32.Build.0 = Debug|Win32 - {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Debug|x64.ActiveCfg = Debug|x64 - {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Debug|x64.Build.0 = Debug|x64 - {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Release|Itanium.ActiveCfg = Release|Itanium - {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Release|Itanium.Build.0 = Release|Itanium - {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Release|Win32.ActiveCfg = Release|Win32 - {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Release|Win32.Build.0 = Release|Win32 - {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Release|x64.ActiveCfg = Release|x64 - {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Release|x64.Build.0 = Release|x64 - {8FD826F8-3739-44E6-8CC8-997122E53B8D}.ReleaseWithoutAsm|Itanium.ActiveCfg = ReleaseWithoutAsm|Itanium - {8FD826F8-3739-44E6-8CC8-997122E53B8D}.ReleaseWithoutAsm|Itanium.Build.0 = ReleaseWithoutAsm|Itanium - {8FD826F8-3739-44E6-8CC8-997122E53B8D}.ReleaseWithoutAsm|Win32.ActiveCfg = ReleaseWithoutAsm|Win32 - {8FD826F8-3739-44E6-8CC8-997122E53B8D}.ReleaseWithoutAsm|Win32.Build.0 = ReleaseWithoutAsm|Win32 - {8FD826F8-3739-44E6-8CC8-997122E53B8D}.ReleaseWithoutAsm|x64.ActiveCfg = ReleaseWithoutAsm|x64 - {8FD826F8-3739-44E6-8CC8-997122E53B8D}.ReleaseWithoutAsm|x64.Build.0 = ReleaseWithoutAsm|x64 - {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Debug|Itanium.ActiveCfg = Debug|Itanium - {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Debug|Itanium.Build.0 = Debug|Itanium - {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Debug|Win32.ActiveCfg = Debug|Win32 - {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Debug|Win32.Build.0 = Debug|Win32 - {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Debug|x64.ActiveCfg = Debug|x64 - {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Debug|x64.Build.0 = Debug|x64 - {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Release|Itanium.ActiveCfg = Release|Itanium - {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Release|Itanium.Build.0 = Release|Itanium - {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Release|Win32.ActiveCfg = Release|Win32 - {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Release|Win32.Build.0 = Release|Win32 - {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Release|x64.ActiveCfg = Release|x64 - {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Release|x64.Build.0 = Release|x64 - {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.ReleaseWithoutAsm|Itanium.ActiveCfg = ReleaseWithoutAsm|Itanium - {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.ReleaseWithoutAsm|Itanium.Build.0 = ReleaseWithoutAsm|Itanium - {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.ReleaseWithoutAsm|Win32.ActiveCfg = ReleaseWithoutAsm|Win32 - {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.ReleaseWithoutAsm|Win32.Build.0 = ReleaseWithoutAsm|Win32 - {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.ReleaseWithoutAsm|x64.ActiveCfg = ReleaseWithoutAsm|x64 - {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.ReleaseWithoutAsm|x64.Build.0 = ReleaseWithoutAsm|x64 - {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Debug|Itanium.ActiveCfg = Debug|Itanium - {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Debug|Itanium.Build.0 = Debug|Itanium - {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Debug|Win32.ActiveCfg = Debug|Win32 - {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Debug|Win32.Build.0 = Debug|Win32 - {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Debug|x64.ActiveCfg = Debug|x64 - {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Debug|x64.Build.0 = Debug|x64 - {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Release|Itanium.ActiveCfg = Release|Itanium - {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Release|Itanium.Build.0 = Release|Itanium - {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Release|Win32.ActiveCfg = Release|Win32 - {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Release|Win32.Build.0 = Release|Win32 - {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Release|x64.ActiveCfg = Release|x64 - {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Release|x64.Build.0 = Release|x64 - {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|Itanium.ActiveCfg = ReleaseWithoutAsm|Itanium - {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|Itanium.Build.0 = ReleaseWithoutAsm|Itanium - {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|Win32.ActiveCfg = ReleaseWithoutAsm|Win32 - {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|Win32.Build.0 = ReleaseWithoutAsm|Win32 - {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|x64.ActiveCfg = ReleaseWithoutAsm|x64 - {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|x64.Build.0 = ReleaseWithoutAsm|x64 - {C52F9E7B-498A-42BE-8DB4-85A15694366A}.Debug|Itanium.ActiveCfg = Debug|Itanium - {C52F9E7B-498A-42BE-8DB4-85A15694366A}.Debug|Itanium.Build.0 = Debug|Itanium - {C52F9E7B-498A-42BE-8DB4-85A15694366A}.Debug|Win32.ActiveCfg = Debug|Win32 - {C52F9E7B-498A-42BE-8DB4-85A15694366A}.Debug|Win32.Build.0 = Debug|Win32 - {C52F9E7B-498A-42BE-8DB4-85A15694366A}.Debug|x64.ActiveCfg = Debug|x64 - {C52F9E7B-498A-42BE-8DB4-85A15694366A}.Debug|x64.Build.0 = Debug|x64 - {C52F9E7B-498A-42BE-8DB4-85A15694366A}.Release|Itanium.ActiveCfg = Release|Itanium - {C52F9E7B-498A-42BE-8DB4-85A15694366A}.Release|Itanium.Build.0 = Release|Itanium - {C52F9E7B-498A-42BE-8DB4-85A15694366A}.Release|Win32.ActiveCfg = Release|Win32 - {C52F9E7B-498A-42BE-8DB4-85A15694366A}.Release|Win32.Build.0 = Release|Win32 - {C52F9E7B-498A-42BE-8DB4-85A15694366A}.Release|x64.ActiveCfg = Release|x64 - {C52F9E7B-498A-42BE-8DB4-85A15694366A}.Release|x64.Build.0 = Release|x64 - {C52F9E7B-498A-42BE-8DB4-85A15694366A}.ReleaseWithoutAsm|Itanium.ActiveCfg = Release|Itanium - {C52F9E7B-498A-42BE-8DB4-85A15694366A}.ReleaseWithoutAsm|Itanium.Build.0 = Release|Itanium - {C52F9E7B-498A-42BE-8DB4-85A15694366A}.ReleaseWithoutAsm|Win32.ActiveCfg = Release|Win32 - {C52F9E7B-498A-42BE-8DB4-85A15694366A}.ReleaseWithoutAsm|x64.ActiveCfg = Release|x64 - {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Debug|Itanium.ActiveCfg = Debug|Itanium - {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Debug|Itanium.Build.0 = Debug|Itanium - {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Debug|Win32.ActiveCfg = Debug|Win32 - {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Debug|Win32.Build.0 = Debug|Win32 - {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Debug|x64.ActiveCfg = Debug|x64 - {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Debug|x64.Build.0 = Debug|x64 - {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Release|Itanium.ActiveCfg = Release|Itanium - {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Release|Itanium.Build.0 = Release|Itanium - {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Release|Win32.ActiveCfg = Release|Win32 - {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Release|Win32.Build.0 = Release|Win32 - {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Release|x64.ActiveCfg = Release|x64 - {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Release|x64.Build.0 = Release|x64 - {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|Itanium.ActiveCfg = Release|Itanium - {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|Itanium.Build.0 = Release|Itanium - {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|Win32.ActiveCfg = Release|Win32 - {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|x64.ActiveCfg = Release|x64 - {C52F9E7B-498A-42BE-8DB4-85A15694382A}.Debug|Itanium.ActiveCfg = Debug|Itanium - {C52F9E7B-498A-42BE-8DB4-85A15694382A}.Debug|Itanium.Build.0 = Debug|Itanium - {C52F9E7B-498A-42BE-8DB4-85A15694382A}.Debug|Win32.ActiveCfg = Debug|Win32 - {C52F9E7B-498A-42BE-8DB4-85A15694382A}.Debug|Win32.Build.0 = Debug|Win32 - {C52F9E7B-498A-42BE-8DB4-85A15694382A}.Debug|x64.ActiveCfg = Debug|x64 - {C52F9E7B-498A-42BE-8DB4-85A15694382A}.Debug|x64.Build.0 = Debug|x64 - {C52F9E7B-498A-42BE-8DB4-85A15694382A}.Release|Itanium.ActiveCfg = Release|Itanium - {C52F9E7B-498A-42BE-8DB4-85A15694382A}.Release|Itanium.Build.0 = Release|Itanium - {C52F9E7B-498A-42BE-8DB4-85A15694382A}.Release|Win32.ActiveCfg = Release|Win32 - {C52F9E7B-498A-42BE-8DB4-85A15694382A}.Release|Win32.Build.0 = Release|Win32 - {C52F9E7B-498A-42BE-8DB4-85A15694382A}.Release|x64.ActiveCfg = Release|x64 - {C52F9E7B-498A-42BE-8DB4-85A15694382A}.Release|x64.Build.0 = Release|x64 - {C52F9E7B-498A-42BE-8DB4-85A15694382A}.ReleaseWithoutAsm|Itanium.ActiveCfg = Release|Itanium - {C52F9E7B-498A-42BE-8DB4-85A15694382A}.ReleaseWithoutAsm|Itanium.Build.0 = Release|Itanium - {C52F9E7B-498A-42BE-8DB4-85A15694382A}.ReleaseWithoutAsm|Win32.ActiveCfg = Release|Win32 - {C52F9E7B-498A-42BE-8DB4-85A15694382A}.ReleaseWithoutAsm|x64.ActiveCfg = Release|x64 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal + +Microsoft Visual Studio Solution File, Format Version 10.00 +# Visual Studio 2008 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "zlibvc", "zlibvc.vcproj", "{8FD826F8-3739-44E6-8CC8-997122E53B8D}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "zlibstat", "zlibstat.vcproj", "{745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testzlib", "testzlib.vcproj", "{AA6666AA-E09F-4135-9C0C-4FE50C3C654B}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TestZlibDll", "testzlibdll.vcproj", "{C52F9E7B-498A-42BE-8DB4-85A15694366A}" + ProjectSection(ProjectDependencies) = postProject + {8FD826F8-3739-44E6-8CC8-997122E53B8D} = {8FD826F8-3739-44E6-8CC8-997122E53B8D} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "minizip", "minizip.vcproj", "{48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}" + ProjectSection(ProjectDependencies) = postProject + {8FD826F8-3739-44E6-8CC8-997122E53B8D} = {8FD826F8-3739-44E6-8CC8-997122E53B8D} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "miniunz", "miniunz.vcproj", "{C52F9E7B-498A-42BE-8DB4-85A15694382A}" + ProjectSection(ProjectDependencies) = postProject + {8FD826F8-3739-44E6-8CC8-997122E53B8D} = {8FD826F8-3739-44E6-8CC8-997122E53B8D} + EndProjectSection +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Itanium = Debug|Itanium + Debug|Win32 = Debug|Win32 + Debug|x64 = Debug|x64 + Release|Itanium = Release|Itanium + Release|Win32 = Release|Win32 + Release|x64 = Release|x64 + ReleaseWithoutAsm|Itanium = ReleaseWithoutAsm|Itanium + ReleaseWithoutAsm|Win32 = ReleaseWithoutAsm|Win32 + ReleaseWithoutAsm|x64 = ReleaseWithoutAsm|x64 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Debug|Itanium.ActiveCfg = Debug|Itanium + {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Debug|Itanium.Build.0 = Debug|Itanium + {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Debug|Win32.ActiveCfg = Debug|Win32 + {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Debug|Win32.Build.0 = Debug|Win32 + {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Debug|x64.ActiveCfg = Debug|x64 + {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Debug|x64.Build.0 = Debug|x64 + {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Release|Itanium.ActiveCfg = Release|Itanium + {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Release|Itanium.Build.0 = Release|Itanium + {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Release|Win32.ActiveCfg = Release|Win32 + {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Release|Win32.Build.0 = Release|Win32 + {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Release|x64.ActiveCfg = Release|x64 + {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Release|x64.Build.0 = Release|x64 + {8FD826F8-3739-44E6-8CC8-997122E53B8D}.ReleaseWithoutAsm|Itanium.ActiveCfg = ReleaseWithoutAsm|Itanium + {8FD826F8-3739-44E6-8CC8-997122E53B8D}.ReleaseWithoutAsm|Itanium.Build.0 = ReleaseWithoutAsm|Itanium + {8FD826F8-3739-44E6-8CC8-997122E53B8D}.ReleaseWithoutAsm|Win32.ActiveCfg = ReleaseWithoutAsm|Win32 + {8FD826F8-3739-44E6-8CC8-997122E53B8D}.ReleaseWithoutAsm|Win32.Build.0 = ReleaseWithoutAsm|Win32 + {8FD826F8-3739-44E6-8CC8-997122E53B8D}.ReleaseWithoutAsm|x64.ActiveCfg = ReleaseWithoutAsm|x64 + {8FD826F8-3739-44E6-8CC8-997122E53B8D}.ReleaseWithoutAsm|x64.Build.0 = ReleaseWithoutAsm|x64 + {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Debug|Itanium.ActiveCfg = Debug|Itanium + {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Debug|Itanium.Build.0 = Debug|Itanium + {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Debug|Win32.ActiveCfg = Debug|Win32 + {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Debug|Win32.Build.0 = Debug|Win32 + {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Debug|x64.ActiveCfg = Debug|x64 + {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Debug|x64.Build.0 = Debug|x64 + {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Release|Itanium.ActiveCfg = Release|Itanium + {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Release|Itanium.Build.0 = Release|Itanium + {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Release|Win32.ActiveCfg = Release|Win32 + {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Release|Win32.Build.0 = Release|Win32 + {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Release|x64.ActiveCfg = Release|x64 + {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Release|x64.Build.0 = Release|x64 + {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.ReleaseWithoutAsm|Itanium.ActiveCfg = ReleaseWithoutAsm|Itanium + {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.ReleaseWithoutAsm|Itanium.Build.0 = ReleaseWithoutAsm|Itanium + {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.ReleaseWithoutAsm|Win32.ActiveCfg = ReleaseWithoutAsm|Win32 + {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.ReleaseWithoutAsm|Win32.Build.0 = ReleaseWithoutAsm|Win32 + {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.ReleaseWithoutAsm|x64.ActiveCfg = ReleaseWithoutAsm|x64 + {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.ReleaseWithoutAsm|x64.Build.0 = ReleaseWithoutAsm|x64 + {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Debug|Itanium.ActiveCfg = Debug|Itanium + {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Debug|Itanium.Build.0 = Debug|Itanium + {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Debug|Win32.ActiveCfg = Debug|Win32 + {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Debug|Win32.Build.0 = Debug|Win32 + {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Debug|x64.ActiveCfg = Debug|x64 + {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Debug|x64.Build.0 = Debug|x64 + {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Release|Itanium.ActiveCfg = Release|Itanium + {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Release|Itanium.Build.0 = Release|Itanium + {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Release|Win32.ActiveCfg = Release|Win32 + {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Release|Win32.Build.0 = Release|Win32 + {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Release|x64.ActiveCfg = Release|x64 + {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Release|x64.Build.0 = Release|x64 + {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|Itanium.ActiveCfg = ReleaseWithoutAsm|Itanium + {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|Itanium.Build.0 = ReleaseWithoutAsm|Itanium + {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|Win32.ActiveCfg = ReleaseWithoutAsm|Win32 + {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|Win32.Build.0 = ReleaseWithoutAsm|Win32 + {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|x64.ActiveCfg = ReleaseWithoutAsm|x64 + {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|x64.Build.0 = ReleaseWithoutAsm|x64 + {C52F9E7B-498A-42BE-8DB4-85A15694366A}.Debug|Itanium.ActiveCfg = Debug|Itanium + {C52F9E7B-498A-42BE-8DB4-85A15694366A}.Debug|Itanium.Build.0 = Debug|Itanium + {C52F9E7B-498A-42BE-8DB4-85A15694366A}.Debug|Win32.ActiveCfg = Debug|Win32 + {C52F9E7B-498A-42BE-8DB4-85A15694366A}.Debug|Win32.Build.0 = Debug|Win32 + {C52F9E7B-498A-42BE-8DB4-85A15694366A}.Debug|x64.ActiveCfg = Debug|x64 + {C52F9E7B-498A-42BE-8DB4-85A15694366A}.Debug|x64.Build.0 = Debug|x64 + {C52F9E7B-498A-42BE-8DB4-85A15694366A}.Release|Itanium.ActiveCfg = Release|Itanium + {C52F9E7B-498A-42BE-8DB4-85A15694366A}.Release|Itanium.Build.0 = Release|Itanium + {C52F9E7B-498A-42BE-8DB4-85A15694366A}.Release|Win32.ActiveCfg = Release|Win32 + {C52F9E7B-498A-42BE-8DB4-85A15694366A}.Release|Win32.Build.0 = Release|Win32 + {C52F9E7B-498A-42BE-8DB4-85A15694366A}.Release|x64.ActiveCfg = Release|x64 + {C52F9E7B-498A-42BE-8DB4-85A15694366A}.Release|x64.Build.0 = Release|x64 + {C52F9E7B-498A-42BE-8DB4-85A15694366A}.ReleaseWithoutAsm|Itanium.ActiveCfg = Release|Itanium + {C52F9E7B-498A-42BE-8DB4-85A15694366A}.ReleaseWithoutAsm|Itanium.Build.0 = Release|Itanium + {C52F9E7B-498A-42BE-8DB4-85A15694366A}.ReleaseWithoutAsm|Win32.ActiveCfg = Release|Win32 + {C52F9E7B-498A-42BE-8DB4-85A15694366A}.ReleaseWithoutAsm|x64.ActiveCfg = Release|x64 + {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Debug|Itanium.ActiveCfg = Debug|Itanium + {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Debug|Itanium.Build.0 = Debug|Itanium + {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Debug|Win32.ActiveCfg = Debug|Win32 + {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Debug|Win32.Build.0 = Debug|Win32 + {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Debug|x64.ActiveCfg = Debug|x64 + {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Debug|x64.Build.0 = Debug|x64 + {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Release|Itanium.ActiveCfg = Release|Itanium + {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Release|Itanium.Build.0 = Release|Itanium + {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Release|Win32.ActiveCfg = Release|Win32 + {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Release|Win32.Build.0 = Release|Win32 + {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Release|x64.ActiveCfg = Release|x64 + {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Release|x64.Build.0 = Release|x64 + {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|Itanium.ActiveCfg = Release|Itanium + {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|Itanium.Build.0 = Release|Itanium + {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|Win32.ActiveCfg = Release|Win32 + {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.ReleaseWithoutAsm|x64.ActiveCfg = Release|x64 + {C52F9E7B-498A-42BE-8DB4-85A15694382A}.Debug|Itanium.ActiveCfg = Debug|Itanium + {C52F9E7B-498A-42BE-8DB4-85A15694382A}.Debug|Itanium.Build.0 = Debug|Itanium + {C52F9E7B-498A-42BE-8DB4-85A15694382A}.Debug|Win32.ActiveCfg = Debug|Win32 + {C52F9E7B-498A-42BE-8DB4-85A15694382A}.Debug|Win32.Build.0 = Debug|Win32 + {C52F9E7B-498A-42BE-8DB4-85A15694382A}.Debug|x64.ActiveCfg = Debug|x64 + {C52F9E7B-498A-42BE-8DB4-85A15694382A}.Debug|x64.Build.0 = Debug|x64 + {C52F9E7B-498A-42BE-8DB4-85A15694382A}.Release|Itanium.ActiveCfg = Release|Itanium + {C52F9E7B-498A-42BE-8DB4-85A15694382A}.Release|Itanium.Build.0 = Release|Itanium + {C52F9E7B-498A-42BE-8DB4-85A15694382A}.Release|Win32.ActiveCfg = Release|Win32 + {C52F9E7B-498A-42BE-8DB4-85A15694382A}.Release|Win32.Build.0 = Release|Win32 + {C52F9E7B-498A-42BE-8DB4-85A15694382A}.Release|x64.ActiveCfg = Release|x64 + {C52F9E7B-498A-42BE-8DB4-85A15694382A}.Release|x64.Build.0 = Release|x64 + {C52F9E7B-498A-42BE-8DB4-85A15694382A}.ReleaseWithoutAsm|Itanium.ActiveCfg = Release|Itanium + {C52F9E7B-498A-42BE-8DB4-85A15694382A}.ReleaseWithoutAsm|Itanium.Build.0 = Release|Itanium + {C52F9E7B-498A-42BE-8DB4-85A15694382A}.ReleaseWithoutAsm|Win32.ActiveCfg = Release|Win32 + {C52F9E7B-498A-42BE-8DB4-85A15694382A}.ReleaseWithoutAsm|x64.ActiveCfg = Release|x64 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/thirdparty/zlib-1.3.1/contrib/vstudio/vc9/zlibvc.vcproj b/proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/vc9/zlibvc.vcproj similarity index 95% rename from thirdparty/zlib-1.3.1/contrib/vstudio/vc9/zlibvc.vcproj rename to proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/vc9/zlibvc.vcproj index f11dd1f..30a5091 100644 --- a/thirdparty/zlib-1.3.1/contrib/vstudio/vc9/zlibvc.vcproj +++ b/proj-web/thirdparty/zlib-1.3.1/contrib/vstudio/vc9/zlibvc.vcproj @@ -1,1100 +1,1100 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/thirdparty/zlib-1.3.1/crc32.c b/proj-web/thirdparty/zlib-1.3.1/crc32.c similarity index 100% rename from thirdparty/zlib-1.3.1/crc32.c rename to proj-web/thirdparty/zlib-1.3.1/crc32.c diff --git a/thirdparty/zlib-1.3.1/crc32.h b/proj-web/thirdparty/zlib-1.3.1/crc32.h similarity index 100% rename from thirdparty/zlib-1.3.1/crc32.h rename to proj-web/thirdparty/zlib-1.3.1/crc32.h diff --git a/thirdparty/zlib-1.3.1/deflate.c b/proj-web/thirdparty/zlib-1.3.1/deflate.c similarity index 100% rename from thirdparty/zlib-1.3.1/deflate.c rename to proj-web/thirdparty/zlib-1.3.1/deflate.c diff --git a/thirdparty/zlib-1.3.1/deflate.h b/proj-web/thirdparty/zlib-1.3.1/deflate.h similarity index 100% rename from thirdparty/zlib-1.3.1/deflate.h rename to proj-web/thirdparty/zlib-1.3.1/deflate.h diff --git a/thirdparty/zlib-1.3.1/doc/algorithm.txt b/proj-web/thirdparty/zlib-1.3.1/doc/algorithm.txt similarity index 100% rename from thirdparty/zlib-1.3.1/doc/algorithm.txt rename to proj-web/thirdparty/zlib-1.3.1/doc/algorithm.txt diff --git a/thirdparty/zlib-1.3.1/doc/crc-doc.1.0.pdf b/proj-web/thirdparty/zlib-1.3.1/doc/crc-doc.1.0.pdf similarity index 100% rename from thirdparty/zlib-1.3.1/doc/crc-doc.1.0.pdf rename to proj-web/thirdparty/zlib-1.3.1/doc/crc-doc.1.0.pdf diff --git a/thirdparty/zlib-1.3.1/doc/rfc1950.txt b/proj-web/thirdparty/zlib-1.3.1/doc/rfc1950.txt similarity index 100% rename from thirdparty/zlib-1.3.1/doc/rfc1950.txt rename to proj-web/thirdparty/zlib-1.3.1/doc/rfc1950.txt diff --git a/thirdparty/zlib-1.3.1/doc/rfc1951.txt b/proj-web/thirdparty/zlib-1.3.1/doc/rfc1951.txt similarity index 100% rename from thirdparty/zlib-1.3.1/doc/rfc1951.txt rename to proj-web/thirdparty/zlib-1.3.1/doc/rfc1951.txt diff --git a/thirdparty/zlib-1.3.1/doc/rfc1952.txt b/proj-web/thirdparty/zlib-1.3.1/doc/rfc1952.txt similarity index 100% rename from thirdparty/zlib-1.3.1/doc/rfc1952.txt rename to proj-web/thirdparty/zlib-1.3.1/doc/rfc1952.txt diff --git a/thirdparty/zlib-1.3.1/doc/txtvsbin.txt b/proj-web/thirdparty/zlib-1.3.1/doc/txtvsbin.txt similarity index 100% rename from thirdparty/zlib-1.3.1/doc/txtvsbin.txt rename to proj-web/thirdparty/zlib-1.3.1/doc/txtvsbin.txt diff --git a/thirdparty/zlib-1.3.1/examples/README.examples b/proj-web/thirdparty/zlib-1.3.1/examples/README.examples similarity index 100% rename from thirdparty/zlib-1.3.1/examples/README.examples rename to proj-web/thirdparty/zlib-1.3.1/examples/README.examples diff --git a/thirdparty/zlib-1.3.1/examples/enough.c b/proj-web/thirdparty/zlib-1.3.1/examples/enough.c similarity index 100% rename from thirdparty/zlib-1.3.1/examples/enough.c rename to proj-web/thirdparty/zlib-1.3.1/examples/enough.c diff --git a/thirdparty/zlib-1.3.1/examples/fitblk.c b/proj-web/thirdparty/zlib-1.3.1/examples/fitblk.c similarity index 100% rename from thirdparty/zlib-1.3.1/examples/fitblk.c rename to proj-web/thirdparty/zlib-1.3.1/examples/fitblk.c diff --git a/thirdparty/zlib-1.3.1/examples/gun.c b/proj-web/thirdparty/zlib-1.3.1/examples/gun.c similarity index 100% rename from thirdparty/zlib-1.3.1/examples/gun.c rename to proj-web/thirdparty/zlib-1.3.1/examples/gun.c diff --git a/thirdparty/zlib-1.3.1/examples/gzappend.c b/proj-web/thirdparty/zlib-1.3.1/examples/gzappend.c similarity index 100% rename from thirdparty/zlib-1.3.1/examples/gzappend.c rename to proj-web/thirdparty/zlib-1.3.1/examples/gzappend.c diff --git a/thirdparty/zlib-1.3.1/examples/gzjoin.c b/proj-web/thirdparty/zlib-1.3.1/examples/gzjoin.c similarity index 100% rename from thirdparty/zlib-1.3.1/examples/gzjoin.c rename to proj-web/thirdparty/zlib-1.3.1/examples/gzjoin.c diff --git a/thirdparty/zlib-1.3.1/examples/gzlog.c b/proj-web/thirdparty/zlib-1.3.1/examples/gzlog.c similarity index 100% rename from thirdparty/zlib-1.3.1/examples/gzlog.c rename to proj-web/thirdparty/zlib-1.3.1/examples/gzlog.c diff --git a/thirdparty/zlib-1.3.1/examples/gzlog.h b/proj-web/thirdparty/zlib-1.3.1/examples/gzlog.h similarity index 100% rename from thirdparty/zlib-1.3.1/examples/gzlog.h rename to proj-web/thirdparty/zlib-1.3.1/examples/gzlog.h diff --git a/thirdparty/zlib-1.3.1/examples/gznorm.c b/proj-web/thirdparty/zlib-1.3.1/examples/gznorm.c similarity index 100% rename from thirdparty/zlib-1.3.1/examples/gznorm.c rename to proj-web/thirdparty/zlib-1.3.1/examples/gznorm.c diff --git a/thirdparty/zlib-1.3.1/examples/zlib_how.html b/proj-web/thirdparty/zlib-1.3.1/examples/zlib_how.html similarity index 100% rename from thirdparty/zlib-1.3.1/examples/zlib_how.html rename to proj-web/thirdparty/zlib-1.3.1/examples/zlib_how.html diff --git a/thirdparty/zlib-1.3.1/examples/zpipe.c b/proj-web/thirdparty/zlib-1.3.1/examples/zpipe.c similarity index 100% rename from thirdparty/zlib-1.3.1/examples/zpipe.c rename to proj-web/thirdparty/zlib-1.3.1/examples/zpipe.c diff --git a/thirdparty/zlib-1.3.1/examples/zran.c b/proj-web/thirdparty/zlib-1.3.1/examples/zran.c similarity index 100% rename from thirdparty/zlib-1.3.1/examples/zran.c rename to proj-web/thirdparty/zlib-1.3.1/examples/zran.c diff --git a/thirdparty/zlib-1.3.1/examples/zran.h b/proj-web/thirdparty/zlib-1.3.1/examples/zran.h similarity index 100% rename from thirdparty/zlib-1.3.1/examples/zran.h rename to proj-web/thirdparty/zlib-1.3.1/examples/zran.h diff --git a/thirdparty/zlib-1.3.1/gzclose.c b/proj-web/thirdparty/zlib-1.3.1/gzclose.c similarity index 100% rename from thirdparty/zlib-1.3.1/gzclose.c rename to proj-web/thirdparty/zlib-1.3.1/gzclose.c diff --git a/thirdparty/zlib-1.3.1/gzguts.h b/proj-web/thirdparty/zlib-1.3.1/gzguts.h similarity index 100% rename from thirdparty/zlib-1.3.1/gzguts.h rename to proj-web/thirdparty/zlib-1.3.1/gzguts.h diff --git a/thirdparty/zlib-1.3.1/gzlib.c b/proj-web/thirdparty/zlib-1.3.1/gzlib.c similarity index 100% rename from thirdparty/zlib-1.3.1/gzlib.c rename to proj-web/thirdparty/zlib-1.3.1/gzlib.c diff --git a/thirdparty/zlib-1.3.1/gzread.c b/proj-web/thirdparty/zlib-1.3.1/gzread.c similarity index 100% rename from thirdparty/zlib-1.3.1/gzread.c rename to proj-web/thirdparty/zlib-1.3.1/gzread.c diff --git a/thirdparty/zlib-1.3.1/gzwrite.c b/proj-web/thirdparty/zlib-1.3.1/gzwrite.c similarity index 100% rename from thirdparty/zlib-1.3.1/gzwrite.c rename to proj-web/thirdparty/zlib-1.3.1/gzwrite.c diff --git a/thirdparty/zlib-1.3.1/infback.c b/proj-web/thirdparty/zlib-1.3.1/infback.c similarity index 100% rename from thirdparty/zlib-1.3.1/infback.c rename to proj-web/thirdparty/zlib-1.3.1/infback.c diff --git a/thirdparty/zlib-1.3.1/inffast.c b/proj-web/thirdparty/zlib-1.3.1/inffast.c similarity index 100% rename from thirdparty/zlib-1.3.1/inffast.c rename to proj-web/thirdparty/zlib-1.3.1/inffast.c diff --git a/thirdparty/zlib-1.3.1/inffast.h b/proj-web/thirdparty/zlib-1.3.1/inffast.h similarity index 100% rename from thirdparty/zlib-1.3.1/inffast.h rename to proj-web/thirdparty/zlib-1.3.1/inffast.h diff --git a/thirdparty/zlib-1.3.1/inffixed.h b/proj-web/thirdparty/zlib-1.3.1/inffixed.h similarity index 100% rename from thirdparty/zlib-1.3.1/inffixed.h rename to proj-web/thirdparty/zlib-1.3.1/inffixed.h diff --git a/thirdparty/zlib-1.3.1/inflate.c b/proj-web/thirdparty/zlib-1.3.1/inflate.c similarity index 100% rename from thirdparty/zlib-1.3.1/inflate.c rename to proj-web/thirdparty/zlib-1.3.1/inflate.c diff --git a/thirdparty/zlib-1.3.1/inflate.h b/proj-web/thirdparty/zlib-1.3.1/inflate.h similarity index 100% rename from thirdparty/zlib-1.3.1/inflate.h rename to proj-web/thirdparty/zlib-1.3.1/inflate.h diff --git a/thirdparty/zlib-1.3.1/inftrees.c b/proj-web/thirdparty/zlib-1.3.1/inftrees.c similarity index 100% rename from thirdparty/zlib-1.3.1/inftrees.c rename to proj-web/thirdparty/zlib-1.3.1/inftrees.c diff --git a/thirdparty/zlib-1.3.1/inftrees.h b/proj-web/thirdparty/zlib-1.3.1/inftrees.h similarity index 100% rename from thirdparty/zlib-1.3.1/inftrees.h rename to proj-web/thirdparty/zlib-1.3.1/inftrees.h diff --git a/thirdparty/zlib-1.3.1/build-emcmake/zconf.h b/proj-web/thirdparty/zlib-1.3.1/install/include/zconf.h similarity index 100% rename from thirdparty/zlib-1.3.1/build-emcmake/zconf.h rename to proj-web/thirdparty/zlib-1.3.1/install/include/zconf.h diff --git a/thirdparty/zlib-1.3.1/install/include/zlib.h b/proj-web/thirdparty/zlib-1.3.1/install/include/zlib.h similarity index 100% rename from thirdparty/zlib-1.3.1/install/include/zlib.h rename to proj-web/thirdparty/zlib-1.3.1/install/include/zlib.h diff --git a/thirdparty/zlib-1.3.1/build-emcmake/libz.a b/proj-web/thirdparty/zlib-1.3.1/install/lib/libz.a similarity index 100% rename from thirdparty/zlib-1.3.1/build-emcmake/libz.a rename to proj-web/thirdparty/zlib-1.3.1/install/lib/libz.a diff --git a/thirdparty/zlib-1.3.1/install/share/man/man3/zlib.3 b/proj-web/thirdparty/zlib-1.3.1/install/share/man/man3/zlib.3 similarity index 100% rename from thirdparty/zlib-1.3.1/install/share/man/man3/zlib.3 rename to proj-web/thirdparty/zlib-1.3.1/install/share/man/man3/zlib.3 diff --git a/thirdparty/zlib-1.3.1/build-emcmake/zlib.pc b/proj-web/thirdparty/zlib-1.3.1/install/share/pkgconfig/zlib.pc similarity index 100% rename from thirdparty/zlib-1.3.1/build-emcmake/zlib.pc rename to proj-web/thirdparty/zlib-1.3.1/install/share/pkgconfig/zlib.pc diff --git a/thirdparty/zlib-1.3.1/make_vms.com b/proj-web/thirdparty/zlib-1.3.1/make_vms.com similarity index 100% rename from thirdparty/zlib-1.3.1/make_vms.com rename to proj-web/thirdparty/zlib-1.3.1/make_vms.com diff --git a/thirdparty/zlib-1.3.1/msdos/Makefile.bor b/proj-web/thirdparty/zlib-1.3.1/msdos/Makefile.bor similarity index 100% rename from thirdparty/zlib-1.3.1/msdos/Makefile.bor rename to proj-web/thirdparty/zlib-1.3.1/msdos/Makefile.bor diff --git a/thirdparty/zlib-1.3.1/msdos/Makefile.dj2 b/proj-web/thirdparty/zlib-1.3.1/msdos/Makefile.dj2 similarity index 100% rename from thirdparty/zlib-1.3.1/msdos/Makefile.dj2 rename to proj-web/thirdparty/zlib-1.3.1/msdos/Makefile.dj2 diff --git a/thirdparty/zlib-1.3.1/msdos/Makefile.emx b/proj-web/thirdparty/zlib-1.3.1/msdos/Makefile.emx similarity index 100% rename from thirdparty/zlib-1.3.1/msdos/Makefile.emx rename to proj-web/thirdparty/zlib-1.3.1/msdos/Makefile.emx diff --git a/thirdparty/zlib-1.3.1/msdos/Makefile.msc b/proj-web/thirdparty/zlib-1.3.1/msdos/Makefile.msc similarity index 100% rename from thirdparty/zlib-1.3.1/msdos/Makefile.msc rename to proj-web/thirdparty/zlib-1.3.1/msdos/Makefile.msc diff --git a/thirdparty/zlib-1.3.1/msdos/Makefile.tc b/proj-web/thirdparty/zlib-1.3.1/msdos/Makefile.tc similarity index 100% rename from thirdparty/zlib-1.3.1/msdos/Makefile.tc rename to proj-web/thirdparty/zlib-1.3.1/msdos/Makefile.tc diff --git a/thirdparty/zlib-1.3.1/nintendods/Makefile b/proj-web/thirdparty/zlib-1.3.1/nintendods/Makefile similarity index 100% rename from thirdparty/zlib-1.3.1/nintendods/Makefile rename to proj-web/thirdparty/zlib-1.3.1/nintendods/Makefile diff --git a/thirdparty/zlib-1.3.1/nintendods/README b/proj-web/thirdparty/zlib-1.3.1/nintendods/README similarity index 100% rename from thirdparty/zlib-1.3.1/nintendods/README rename to proj-web/thirdparty/zlib-1.3.1/nintendods/README diff --git a/thirdparty/zlib-1.3.1/old/Makefile.emx b/proj-web/thirdparty/zlib-1.3.1/old/Makefile.emx similarity index 100% rename from thirdparty/zlib-1.3.1/old/Makefile.emx rename to proj-web/thirdparty/zlib-1.3.1/old/Makefile.emx diff --git a/thirdparty/zlib-1.3.1/old/Makefile.riscos b/proj-web/thirdparty/zlib-1.3.1/old/Makefile.riscos similarity index 100% rename from thirdparty/zlib-1.3.1/old/Makefile.riscos rename to proj-web/thirdparty/zlib-1.3.1/old/Makefile.riscos diff --git a/thirdparty/zlib-1.3.1/old/README b/proj-web/thirdparty/zlib-1.3.1/old/README similarity index 100% rename from thirdparty/zlib-1.3.1/old/README rename to proj-web/thirdparty/zlib-1.3.1/old/README diff --git a/thirdparty/zlib-1.3.1/old/descrip.mms b/proj-web/thirdparty/zlib-1.3.1/old/descrip.mms similarity index 100% rename from thirdparty/zlib-1.3.1/old/descrip.mms rename to proj-web/thirdparty/zlib-1.3.1/old/descrip.mms diff --git a/thirdparty/zlib-1.3.1/old/os2/Makefile.os2 b/proj-web/thirdparty/zlib-1.3.1/old/os2/Makefile.os2 similarity index 100% rename from thirdparty/zlib-1.3.1/old/os2/Makefile.os2 rename to proj-web/thirdparty/zlib-1.3.1/old/os2/Makefile.os2 diff --git a/thirdparty/zlib-1.3.1/old/os2/zlib.def b/proj-web/thirdparty/zlib-1.3.1/old/os2/zlib.def similarity index 100% rename from thirdparty/zlib-1.3.1/old/os2/zlib.def rename to proj-web/thirdparty/zlib-1.3.1/old/os2/zlib.def diff --git a/thirdparty/zlib-1.3.1/old/visual-basic.txt b/proj-web/thirdparty/zlib-1.3.1/old/visual-basic.txt similarity index 100% rename from thirdparty/zlib-1.3.1/old/visual-basic.txt rename to proj-web/thirdparty/zlib-1.3.1/old/visual-basic.txt diff --git a/thirdparty/zlib-1.3.1/os400/README400 b/proj-web/thirdparty/zlib-1.3.1/os400/README400 similarity index 100% rename from thirdparty/zlib-1.3.1/os400/README400 rename to proj-web/thirdparty/zlib-1.3.1/os400/README400 diff --git a/thirdparty/zlib-1.3.1/os400/bndsrc b/proj-web/thirdparty/zlib-1.3.1/os400/bndsrc similarity index 100% rename from thirdparty/zlib-1.3.1/os400/bndsrc rename to proj-web/thirdparty/zlib-1.3.1/os400/bndsrc diff --git a/thirdparty/zlib-1.3.1/os400/make.sh b/proj-web/thirdparty/zlib-1.3.1/os400/make.sh similarity index 100% rename from thirdparty/zlib-1.3.1/os400/make.sh rename to proj-web/thirdparty/zlib-1.3.1/os400/make.sh diff --git a/thirdparty/zlib-1.3.1/os400/zlib.inc b/proj-web/thirdparty/zlib-1.3.1/os400/zlib.inc similarity index 100% rename from thirdparty/zlib-1.3.1/os400/zlib.inc rename to proj-web/thirdparty/zlib-1.3.1/os400/zlib.inc diff --git a/thirdparty/zlib-1.3.1/qnx/package.qpg b/proj-web/thirdparty/zlib-1.3.1/qnx/package.qpg similarity index 100% rename from thirdparty/zlib-1.3.1/qnx/package.qpg rename to proj-web/thirdparty/zlib-1.3.1/qnx/package.qpg diff --git a/thirdparty/zlib-1.3.1/test/example.c b/proj-web/thirdparty/zlib-1.3.1/test/example.c similarity index 100% rename from thirdparty/zlib-1.3.1/test/example.c rename to proj-web/thirdparty/zlib-1.3.1/test/example.c diff --git a/thirdparty/zlib-1.3.1/test/infcover.c b/proj-web/thirdparty/zlib-1.3.1/test/infcover.c similarity index 100% rename from thirdparty/zlib-1.3.1/test/infcover.c rename to proj-web/thirdparty/zlib-1.3.1/test/infcover.c diff --git a/thirdparty/zlib-1.3.1/test/minigzip.c b/proj-web/thirdparty/zlib-1.3.1/test/minigzip.c similarity index 100% rename from thirdparty/zlib-1.3.1/test/minigzip.c rename to proj-web/thirdparty/zlib-1.3.1/test/minigzip.c diff --git a/thirdparty/zlib-1.3.1/treebuild.xml b/proj-web/thirdparty/zlib-1.3.1/treebuild.xml similarity index 100% rename from thirdparty/zlib-1.3.1/treebuild.xml rename to proj-web/thirdparty/zlib-1.3.1/treebuild.xml diff --git a/thirdparty/zlib-1.3.1/trees.c b/proj-web/thirdparty/zlib-1.3.1/trees.c similarity index 100% rename from thirdparty/zlib-1.3.1/trees.c rename to proj-web/thirdparty/zlib-1.3.1/trees.c diff --git a/thirdparty/zlib-1.3.1/trees.h b/proj-web/thirdparty/zlib-1.3.1/trees.h similarity index 100% rename from thirdparty/zlib-1.3.1/trees.h rename to proj-web/thirdparty/zlib-1.3.1/trees.h diff --git a/thirdparty/zlib-1.3.1/uncompr.c b/proj-web/thirdparty/zlib-1.3.1/uncompr.c similarity index 100% rename from thirdparty/zlib-1.3.1/uncompr.c rename to proj-web/thirdparty/zlib-1.3.1/uncompr.c diff --git a/thirdparty/zlib-1.3.1/watcom/watcom_f.mak b/proj-web/thirdparty/zlib-1.3.1/watcom/watcom_f.mak similarity index 100% rename from thirdparty/zlib-1.3.1/watcom/watcom_f.mak rename to proj-web/thirdparty/zlib-1.3.1/watcom/watcom_f.mak diff --git a/thirdparty/zlib-1.3.1/watcom/watcom_l.mak b/proj-web/thirdparty/zlib-1.3.1/watcom/watcom_l.mak similarity index 100% rename from thirdparty/zlib-1.3.1/watcom/watcom_l.mak rename to proj-web/thirdparty/zlib-1.3.1/watcom/watcom_l.mak diff --git a/thirdparty/zlib-1.3.1/zconf.h.cmakein b/proj-web/thirdparty/zlib-1.3.1/zconf.h.cmakein similarity index 100% rename from thirdparty/zlib-1.3.1/zconf.h.cmakein rename to proj-web/thirdparty/zlib-1.3.1/zconf.h.cmakein diff --git a/thirdparty/zlib-1.3.1/zconf.h.in b/proj-web/thirdparty/zlib-1.3.1/zconf.h.in similarity index 100% rename from thirdparty/zlib-1.3.1/zconf.h.in rename to proj-web/thirdparty/zlib-1.3.1/zconf.h.in diff --git a/thirdparty/zlib-1.3.1/zconf.h.included b/proj-web/thirdparty/zlib-1.3.1/zconf.h.included similarity index 100% rename from thirdparty/zlib-1.3.1/zconf.h.included rename to proj-web/thirdparty/zlib-1.3.1/zconf.h.included diff --git a/thirdparty/zlib-1.3.1/zlib.3 b/proj-web/thirdparty/zlib-1.3.1/zlib.3 similarity index 100% rename from thirdparty/zlib-1.3.1/zlib.3 rename to proj-web/thirdparty/zlib-1.3.1/zlib.3 diff --git a/thirdparty/zlib-1.3.1/zlib.3.pdf b/proj-web/thirdparty/zlib-1.3.1/zlib.3.pdf similarity index 100% rename from thirdparty/zlib-1.3.1/zlib.3.pdf rename to proj-web/thirdparty/zlib-1.3.1/zlib.3.pdf diff --git a/thirdparty/zlib-1.3.1/zlib.h b/proj-web/thirdparty/zlib-1.3.1/zlib.h similarity index 100% rename from thirdparty/zlib-1.3.1/zlib.h rename to proj-web/thirdparty/zlib-1.3.1/zlib.h diff --git a/thirdparty/zlib-1.3.1/zlib.map b/proj-web/thirdparty/zlib-1.3.1/zlib.map similarity index 100% rename from thirdparty/zlib-1.3.1/zlib.map rename to proj-web/thirdparty/zlib-1.3.1/zlib.map diff --git a/thirdparty/zlib-1.3.1/zlib.pc.cmakein b/proj-web/thirdparty/zlib-1.3.1/zlib.pc.cmakein similarity index 100% rename from thirdparty/zlib-1.3.1/zlib.pc.cmakein rename to proj-web/thirdparty/zlib-1.3.1/zlib.pc.cmakein diff --git a/thirdparty/zlib-1.3.1/zlib.pc.in b/proj-web/thirdparty/zlib-1.3.1/zlib.pc.in similarity index 100% rename from thirdparty/zlib-1.3.1/zlib.pc.in rename to proj-web/thirdparty/zlib-1.3.1/zlib.pc.in diff --git a/thirdparty/zlib-1.3.1/zutil.c b/proj-web/thirdparty/zlib-1.3.1/zutil.c similarity index 100% rename from thirdparty/zlib-1.3.1/zutil.c rename to proj-web/thirdparty/zlib-1.3.1/zutil.c diff --git a/thirdparty/zlib-1.3.1/zutil.h b/proj-web/thirdparty/zlib-1.3.1/zutil.h similarity index 100% rename from thirdparty/zlib-1.3.1/zutil.h rename to proj-web/thirdparty/zlib-1.3.1/zutil.h diff --git a/config/settings.json b/resources/config/settings.json similarity index 100% rename from config/settings.json rename to resources/config/settings.json diff --git a/config/spark_config.json b/resources/config/spark_config.json similarity index 79% rename from config/spark_config.json rename to resources/config/spark_config.json index 5eb9704..08951b6 100644 --- a/config/spark_config.json +++ b/resources/config/spark_config.json @@ -17,6 +17,6 @@ "lifeTimeRange": [600.0, 1400.0], "texture": "./resources/spark.png", "shaderProgramName": "default", - "vertexShader": "./shaders/spark.vertex", - "fragmentShader": "./shaders/spark.fragment" + "vertexShader": "./resources/shaders/spark.vertex", + "fragmentShader": "./resources/shaders/spark.fragment" } \ No newline at end of file diff --git a/config/spark_projectile_config.json b/resources/config/spark_projectile_config.json similarity index 100% rename from config/spark_projectile_config.json rename to resources/config/spark_projectile_config.json diff --git a/config/ui.json b/resources/config/ui.json similarity index 100% rename from config/ui.json rename to resources/config/ui.json diff --git a/shaders/default.vertex b/resources/shaders/default.vertex similarity index 100% rename from shaders/default.vertex rename to resources/shaders/default.vertex diff --git a/shaders/defaultAtmosphere.vertex b/resources/shaders/defaultAtmosphere.vertex similarity index 100% rename from shaders/defaultAtmosphere.vertex rename to resources/shaders/defaultAtmosphere.vertex diff --git a/shaders/defaultAtmosphere_web.fragment b/resources/shaders/defaultAtmosphere_web.fragment similarity index 100% rename from shaders/defaultAtmosphere_web.fragment rename to resources/shaders/defaultAtmosphere_web.fragment diff --git a/shaders/defaultColor.vertex b/resources/shaders/defaultColor.vertex similarity index 100% rename from shaders/defaultColor.vertex rename to resources/shaders/defaultColor.vertex diff --git a/shaders/defaultColor_web.fragment b/resources/shaders/defaultColor_web.fragment similarity index 100% rename from shaders/defaultColor_web.fragment rename to resources/shaders/defaultColor_web.fragment diff --git a/shaders/default_env.vertex b/resources/shaders/default_env.vertex similarity index 100% rename from shaders/default_env.vertex rename to resources/shaders/default_env.vertex diff --git a/shaders/default_env_web.fragment b/resources/shaders/default_env_web.fragment similarity index 100% rename from shaders/default_env_web.fragment rename to resources/shaders/default_env_web.fragment diff --git a/shaders/default_texture.vertex b/resources/shaders/default_texture.vertex similarity index 100% rename from shaders/default_texture.vertex rename to resources/shaders/default_texture.vertex diff --git a/shaders/default_texture_web.fragment b/resources/shaders/default_texture_web.fragment similarity index 100% rename from shaders/default_texture_web.fragment rename to resources/shaders/default_texture_web.fragment diff --git a/shaders/default_web.fragment b/resources/shaders/default_web.fragment similarity index 100% rename from shaders/default_web.fragment rename to resources/shaders/default_web.fragment diff --git a/shaders/env_sky.vertex b/resources/shaders/env_sky.vertex similarity index 100% rename from shaders/env_sky.vertex rename to resources/shaders/env_sky.vertex diff --git a/shaders/env_sky_web.fragment b/resources/shaders/env_sky_web.fragment similarity index 100% rename from shaders/env_sky_web.fragment rename to resources/shaders/env_sky_web.fragment diff --git a/shaders/planet_bake.vertex b/resources/shaders/planet_bake.vertex similarity index 100% rename from shaders/planet_bake.vertex rename to resources/shaders/planet_bake.vertex diff --git a/shaders/planet_bake_web.fragment b/resources/shaders/planet_bake_web.fragment similarity index 100% rename from shaders/planet_bake_web.fragment rename to resources/shaders/planet_bake_web.fragment diff --git a/shaders/planet_land.vertex b/resources/shaders/planet_land.vertex similarity index 100% rename from shaders/planet_land.vertex rename to resources/shaders/planet_land.vertex diff --git a/shaders/planet_land_web.fragment b/resources/shaders/planet_land_web.fragment similarity index 100% rename from shaders/planet_land_web.fragment rename to resources/shaders/planet_land_web.fragment diff --git a/shaders/planet_stone.vertex b/resources/shaders/planet_stone.vertex similarity index 100% rename from shaders/planet_stone.vertex rename to resources/shaders/planet_stone.vertex diff --git a/shaders/planet_stone_web.fragment b/resources/shaders/planet_stone_web.fragment similarity index 100% rename from shaders/planet_stone_web.fragment rename to resources/shaders/planet_stone_web.fragment diff --git a/shaders/spark.fragment b/resources/shaders/spark.fragment similarity index 100% rename from shaders/spark.fragment rename to resources/shaders/spark.fragment diff --git a/shaders/spark.vertex b/resources/shaders/spark.vertex similarity index 100% rename from shaders/spark.vertex rename to resources/shaders/spark.vertex diff --git a/src/Game.cpp b/src/Game.cpp index 09a9d7f..844df23 100644 --- a/src/Game.cpp +++ b/src/Game.cpp @@ -129,27 +129,27 @@ namespace ZL #ifndef SIMPLIFIED - renderer.shaderManager.AddShaderFromFiles("defaultColor", "./shaders/defaultColor.vertex", "./shaders/defaultColor_web.fragment", CONST_ZIP_FILE); - renderer.shaderManager.AddShaderFromFiles("default", "./shaders/default.vertex", "./shaders/default_web.fragment", CONST_ZIP_FILE); - renderer.shaderManager.AddShaderFromFiles("env_sky", "./shaders/env_sky.vertex", "./shaders/env_sky_web.fragment", CONST_ZIP_FILE); - renderer.shaderManager.AddShaderFromFiles("defaultAtmosphere", "./shaders/defaultAtmosphere.vertex", "./shaders/defaultAtmosphere_web.fragment", CONST_ZIP_FILE); - renderer.shaderManager.AddShaderFromFiles("planetBake", "./shaders/planet_bake.vertex", "./shaders/planet_bake_web.fragment", CONST_ZIP_FILE); - renderer.shaderManager.AddShaderFromFiles("planetStone", "./shaders/planet_stone.vertex", "./shaders/planet_stone_web.fragment", CONST_ZIP_FILE); - renderer.shaderManager.AddShaderFromFiles("planetLand", "./shaders/planet_land.vertex", "./shaders/planet_land_web.fragment", CONST_ZIP_FILE); + renderer.shaderManager.AddShaderFromFiles("defaultColor", "./resources/shaders/defaultColor.vertex", "./resources/shaders/defaultColor_web.fragment", CONST_ZIP_FILE); + renderer.shaderManager.AddShaderFromFiles("default", "./resources/shaders/default.vertex", "./resources/shaders/default_web.fragment", CONST_ZIP_FILE); + renderer.shaderManager.AddShaderFromFiles("env_sky", "./resources/shaders/env_sky.vertex", "./resources/shaders/env_sky_web.fragment", CONST_ZIP_FILE); + renderer.shaderManager.AddShaderFromFiles("defaultAtmosphere", "./resources/shaders/defaultAtmosphere.vertex", "./resources/shaders/defaultAtmosphere_web.fragment", CONST_ZIP_FILE); + renderer.shaderManager.AddShaderFromFiles("planetBake", "./resources/shaders/planet_bake.vertex", "./resources/shaders/planet_bake_web.fragment", CONST_ZIP_FILE); + renderer.shaderManager.AddShaderFromFiles("planetStone", "./resources/shaders/planet_stone.vertex", "./resources/shaders/planet_stone_web.fragment", CONST_ZIP_FILE); + renderer.shaderManager.AddShaderFromFiles("planetLand", "./resources/shaders/planet_land.vertex", "./resources/shaders/planet_land_web.fragment", CONST_ZIP_FILE); #else - renderer.shaderManager.AddShaderFromFiles("default", "./shaders/default.vertex", "./shaders/default_web.fragment", CONST_ZIP_FILE); - renderer.shaderManager.AddShaderFromFiles("env_sky", "./shaders/default_env.vertex", "./shaders/default_env_web.fragment", CONST_ZIP_FILE); - renderer.shaderManager.AddShaderFromFiles("defaultAtmosphere", "./shaders/default_texture.vertex", "./shaders/default_texture_web.fragment", CONST_ZIP_FILE); - renderer.shaderManager.AddShaderFromFiles("planetBake", "./shaders/default_texture.vertex", "./shaders/default_texture_web.fragment", CONST_ZIP_FILE); - renderer.shaderManager.AddShaderFromFiles("planetStone", "./shaders/default_texture.vertex", "./shaders/default_texture_web.fragment", CONST_ZIP_FILE); - renderer.shaderManager.AddShaderFromFiles("planetLand", "./shaders/default_texture.vertex", "./shaders/default_texture_web.fragment", CONST_ZIP_FILE); + renderer.shaderManager.AddShaderFromFiles("default", "./resources/shaders/default.vertex", "./resources/shaders/default_web.fragment", CONST_ZIP_FILE); + renderer.shaderManager.AddShaderFromFiles("env_sky", "./resources/shaders/default_env.vertex", "./resources/shaders/default_env_web.fragment", CONST_ZIP_FILE); + renderer.shaderManager.AddShaderFromFiles("defaultAtmosphere", "./resources/shaders/default_texture.vertex", "./resources/shaders/default_texture_web.fragment", CONST_ZIP_FILE); + renderer.shaderManager.AddShaderFromFiles("planetBake", "./resources/shaders/default_texture.vertex", "./resources/shaders/default_texture_web.fragment", CONST_ZIP_FILE); + renderer.shaderManager.AddShaderFromFiles("planetStone", "./resources/shaders/default_texture.vertex", "./resources/shaders/default_texture_web.fragment", CONST_ZIP_FILE); + renderer.shaderManager.AddShaderFromFiles("planetLand", "./resources/shaders/default_texture.vertex", "./resources/shaders/default_texture_web.fragment", CONST_ZIP_FILE); #endif - bool cfgLoaded = sparkEmitter.loadFromJsonFile("config/spark_config.json", renderer, CONST_ZIP_FILE); - bool projCfgLoaded = projectileEmitter.loadFromJsonFile("config/spark_projectile_config.json", renderer, CONST_ZIP_FILE); + bool cfgLoaded = sparkEmitter.loadFromJsonFile("./resources/config/spark_config.json", renderer, CONST_ZIP_FILE); + bool projCfgLoaded = projectileEmitter.loadFromJsonFile("./resources/config/spark_projectile_config.json", renderer, CONST_ZIP_FILE); projectileEmitter.setEmissionPoints(std::vector()); - uiManager.loadFromFile("config/ui.json", renderer, CONST_ZIP_FILE); + uiManager.loadFromFile("./resources/config/ui.json", renderer, CONST_ZIP_FILE); uiManager.setButtonCallback("shootButton", [this](const std::string& name) { uint64_t now = SDL_GetTicks64(); diff --git a/thirdparty/libzip-1.11.3/build-emcmake/CMakeCache.txt b/thirdparty/libzip-1.11.3/build-emcmake/CMakeCache.txt deleted file mode 100644 index 7900cae..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/CMakeCache.txt +++ /dev/null @@ -1,887 +0,0 @@ -# This is the CMakeCache file. -# For build in directory: /home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake -# It was generated by CMake: /usr/bin/cmake -# You can edit this file to change values found and used by cmake. -# If you do not want to change any of the values, simply exit the editor. -# If you do want to change a value, simply edit, save, and exit the editor. -# The syntax for the file is as follows: -# KEY:TYPE=VALUE -# KEY is the name of a variable in the cache. -# TYPE is a hint to GUIs for the type of VALUE, DO NOT EDIT TYPE!. -# VALUE is the current value for the KEY. - -######################## -# EXTERNAL cache entries -######################## - -//Build documentation -BUILD_DOC:BOOL=ON - -//Build examples -BUILD_EXAMPLES:BOOL=ON - -//Build fuzzers for ossfuzz -BUILD_OSSFUZZ:BOOL=ON - -//Build regression tests -BUILD_REGRESS:BOOL=ON - -//Build shared libraries -BUILD_SHARED_LIBS:BOOL=ON - -//Build tools in the src directory (zipcmp, zipmerge, ziptool) -BUILD_TOOLS:BOOL=ON - -//Path to a file. -BZIP2_INCLUDE_DIR:PATH=BZIP2_INCLUDE_DIR-NOTFOUND - -//Path to a library. -BZIP2_LIBRARY_DEBUG:FILEPATH=BZIP2_LIBRARY_DEBUG-NOTFOUND - -//Path to a library. -BZIP2_LIBRARY_RELEASE:FILEPATH=BZIP2_LIBRARY_RELEASE-NOTFOUND - -//Path to a program. -CMAKE_ADDR2LINE:FILEPATH=/usr/bin/addr2line - -//Choose the type of build, options are: None Debug Release RelWithDebInfo -// MinSizeRel ... -CMAKE_BUILD_TYPE:STRING= - -//Enable/Disable color output during build. -CMAKE_COLOR_MAKEFILE:BOOL=ON - -//No help, variable specified on the command line. -CMAKE_CROSSCOMPILING_EMULATOR:UNINITIALIZED=/home/romazan/Рабочий стол/emsdk/node/20.18.0_64bit/bin/node - -//`clang-scan-deps` dependency scanner -CMAKE_C_COMPILER_CLANG_SCAN_DEPS:FILEPATH=CMAKE_C_COMPILER_CLANG_SCAN_DEPS-NOTFOUND - -//Flags used by the C compiler during all build types. -CMAKE_C_FLAGS:STRING= - -//Flags used by the C compiler during DEBUG builds. -CMAKE_C_FLAGS_DEBUG:STRING=-g - -//Flags used by the C compiler during MINSIZEREL builds. -CMAKE_C_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG - -//Flags used by the C compiler during RELEASE builds. -CMAKE_C_FLAGS_RELEASE:STRING=-O3 -DNDEBUG - -//Flags used by the C compiler during RELWITHDEBINFO builds. -CMAKE_C_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG - -//Path to a program. -CMAKE_DLLTOOL:FILEPATH=CMAKE_DLLTOOL-NOTFOUND - -//Flags used by the linker during all build types. -CMAKE_EXE_LINKER_FLAGS:STRING= - -//Flags used by the linker during DEBUG builds. -CMAKE_EXE_LINKER_FLAGS_DEBUG:STRING= - -//Flags used by the linker during MINSIZEREL builds. -CMAKE_EXE_LINKER_FLAGS_MINSIZEREL:STRING= - -//Flags used by the linker during RELEASE builds. -CMAKE_EXE_LINKER_FLAGS_RELEASE:STRING= - -//Flags used by the linker during RELWITHDEBINFO builds. -CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO:STRING= - -//Enable/Disable output of compile commands during generation. -CMAKE_EXPORT_COMPILE_COMMANDS:BOOL= - -//Value Computed by CMake. -CMAKE_FIND_PACKAGE_REDIRECTS_DIR:STATIC=/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/pkgRedirects - -//User executables (bin) -CMAKE_INSTALL_BINDIR:PATH=bin - -//Read-only architecture-independent data (DATAROOTDIR) -CMAKE_INSTALL_DATADIR:PATH= - -//Read-only architecture-independent data root (share) -CMAKE_INSTALL_DATAROOTDIR:PATH=share - -//Documentation root (DATAROOTDIR/doc/PROJECT_NAME) -CMAKE_INSTALL_DOCDIR:PATH= - -//C header files (include) -CMAKE_INSTALL_INCLUDEDIR:PATH=include - -//Info documentation (DATAROOTDIR/info) -CMAKE_INSTALL_INFODIR:PATH= - -//Object code libraries (lib) -CMAKE_INSTALL_LIBDIR:PATH=lib - -//Program executables (libexec) -CMAKE_INSTALL_LIBEXECDIR:PATH=libexec - -//Locale-dependent data (DATAROOTDIR/locale) -CMAKE_INSTALL_LOCALEDIR:PATH= - -//Modifiable single-machine data (var) -CMAKE_INSTALL_LOCALSTATEDIR:PATH=var - -//Man documentation (DATAROOTDIR/man) -CMAKE_INSTALL_MANDIR:PATH= - -//C header files for non-gcc (/usr/include) -CMAKE_INSTALL_OLDINCLUDEDIR:PATH=/usr/include - -//Install path prefix, prepended onto install directories. -CMAKE_INSTALL_PREFIX:PATH=/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/install - -//Run-time variable data (LOCALSTATEDIR/run) -CMAKE_INSTALL_RUNSTATEDIR:PATH= - -//System admin executables (sbin) -CMAKE_INSTALL_SBINDIR:PATH=sbin - -//Modifiable architecture-independent data (com) -CMAKE_INSTALL_SHAREDSTATEDIR:PATH=com - -//Read-only single-machine data (etc) -CMAKE_INSTALL_SYSCONFDIR:PATH=etc - -//Path to a program. -CMAKE_LINKER:FILEPATH=/usr/bin/ld - -//Path to a program. -CMAKE_MAKE_PROGRAM:FILEPATH=/usr/bin/gmake - -//Flags used by the linker during the creation of modules during -// all build types. -CMAKE_MODULE_LINKER_FLAGS:STRING= - -//Flags used by the linker during the creation of modules during -// DEBUG builds. -CMAKE_MODULE_LINKER_FLAGS_DEBUG:STRING= - -//Flags used by the linker during the creation of modules during -// MINSIZEREL builds. -CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL:STRING= - -//Flags used by the linker during the creation of modules during -// RELEASE builds. -CMAKE_MODULE_LINKER_FLAGS_RELEASE:STRING= - -//Flags used by the linker during the creation of modules during -// RELWITHDEBINFO builds. -CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO:STRING= - -//Path to a program. -CMAKE_OBJCOPY:FILEPATH=/usr/bin/objcopy - -//Path to a program. -CMAKE_OBJDUMP:FILEPATH=/usr/bin/objdump - -//Value Computed by CMake -CMAKE_PROJECT_DESCRIPTION:STATIC= - -//Value Computed by CMake -CMAKE_PROJECT_HOMEPAGE_URL:STATIC= - -//Value Computed by CMake -CMAKE_PROJECT_NAME:STATIC=libzip - -//Value Computed by CMake -CMAKE_PROJECT_VERSION:STATIC=1.11.3 - -//Value Computed by CMake -CMAKE_PROJECT_VERSION_MAJOR:STATIC=1 - -//Value Computed by CMake -CMAKE_PROJECT_VERSION_MINOR:STATIC=11 - -//Value Computed by CMake -CMAKE_PROJECT_VERSION_PATCH:STATIC=3 - -//Value Computed by CMake -CMAKE_PROJECT_VERSION_TWEAK:STATIC= - -//Path to a program. -CMAKE_READELF:FILEPATH=/usr/bin/readelf - -//Flags used by the linker during the creation of shared libraries -// during all build types. -CMAKE_SHARED_LINKER_FLAGS:STRING= - -//Flags used by the linker during the creation of shared libraries -// during DEBUG builds. -CMAKE_SHARED_LINKER_FLAGS_DEBUG:STRING= - -//Flags used by the linker during the creation of shared libraries -// during MINSIZEREL builds. -CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL:STRING= - -//Flags used by the linker during the creation of shared libraries -// during RELEASE builds. -CMAKE_SHARED_LINKER_FLAGS_RELEASE:STRING= - -//Flags used by the linker during the creation of shared libraries -// during RELWITHDEBINFO builds. -CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO:STRING= - -//If set, runtime paths are not added when installing shared libraries, -// but are added when building. -CMAKE_SKIP_INSTALL_RPATH:BOOL=NO - -//If set, runtime paths are not added when using shared libraries. -CMAKE_SKIP_RPATH:BOOL=NO - -//Flags used by the linker during the creation of static libraries -// during all build types. -CMAKE_STATIC_LINKER_FLAGS:STRING= - -//Flags used by the linker during the creation of static libraries -// during DEBUG builds. -CMAKE_STATIC_LINKER_FLAGS_DEBUG:STRING= - -//Flags used by the linker during the creation of static libraries -// during MINSIZEREL builds. -CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL:STRING= - -//Flags used by the linker during the creation of static libraries -// during RELEASE builds. -CMAKE_STATIC_LINKER_FLAGS_RELEASE:STRING= - -//Flags used by the linker during the creation of static libraries -// during RELWITHDEBINFO builds. -CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO:STRING= - -//Path to a program. -CMAKE_STRIP:FILEPATH=/usr/bin/strip - -//Path to a program. -CMAKE_TAPI:FILEPATH=CMAKE_TAPI-NOTFOUND - -//The CMake toolchain file -CMAKE_TOOLCHAIN_FILE:FILEPATH=/home/romazan/Рабочий стол/emsdk/upstream/emscripten/cmake/Modules/Platform/Emscripten.cmake - -//If this value is on, makefiles will be generated without the -// .SILENT directive, and all commands will be echoed to the console -// during the make. This is useful for debugging only. With Visual -// Studio IDE projects all commands are done without /nologo. -CMAKE_VERBOSE_MAKEFILE:BOOL=FALSE - -//Documentation format -DOCUMENTATION_FORMAT:STRING=mdoc - -//Force C/C++ compiler -EMSCRIPTEN_FORCE_COMPILERS:BOOL=OFF - -//If set, static library targets generate LLVM bitcode files (.bc). -// If disabled (default), UNIX ar archives (.a) are generated. -EMSCRIPTEN_GENERATE_BITCODE_STATIC_LIBRARIES:BOOL=OFF - -//Enable use of BZip2 -ENABLE_BZIP2:BOOL=ON - -//Enable use of CommonCrypto -ENABLE_COMMONCRYPTO:BOOL=ON - -//Enable zip_fdopen, which is not allowed in Microsoft CRT secure -// libraries -ENABLE_FDOPEN:BOOL=ON - -//Enable use of GnuTLS -ENABLE_GNUTLS:BOOL=ON - -//Enable use of LZMA -ENABLE_LZMA:BOOL=ON - -//Enable use of mbed TLS -ENABLE_MBEDTLS:BOOL=ON - -//Enable use of OpenSSL -ENABLE_OPENSSL:BOOL=ON - -//Enable use of Windows cryptography libraries -ENABLE_WINDOWS_CRYPTO:BOOL=ON - -//Enable use of Zstandard -ENABLE_ZSTD:BOOL=ON - -//Path to a file. -GNUTLS_INCLUDE_DIR:PATH=GNUTLS_INCLUDE_DIR-NOTFOUND - -//Path to a library. -GNUTLS_LIBRARY:FILEPATH=GNUTLS_LIBRARY-NOTFOUND - -//Path to a file. -LIBLZMA_INCLUDE_DIR:PATH=LIBLZMA_INCLUDE_DIR-NOTFOUND - -//Path to a library. -LIBLZMA_LIBRARY_DEBUG:FILEPATH=LIBLZMA_LIBRARY_DEBUG-NOTFOUND - -//Path to a library. -LIBLZMA_LIBRARY_RELEASE:FILEPATH=LIBLZMA_LIBRARY_RELEASE-NOTFOUND - -//Install libzip and the related files -LIBZIP_DO_INSTALL:BOOL=ON - -//Path to a program. -MDOCTOOL:FILEPATH=/usr/bin/groff - -//Path to a file. -MbedTLS_INCLUDE_DIR:PATH=MbedTLS_INCLUDE_DIR-NOTFOUND - -//Path to a library. -MbedTLS_LIBRARY:FILEPATH=MbedTLS_LIBRARY-NOTFOUND - -//Path to a program. -NIHTEST:FILEPATH=NIHTEST-NOTFOUND - -//Path to a file. -Nettle_INCLUDE_DIR:PATH=Nettle_INCLUDE_DIR-NOTFOUND - -//Path to a library. -Nettle_LIBRARY:FILEPATH=Nettle_LIBRARY-NOTFOUND - -//Path to a library. -OPENSSL_CRYPTO_LIBRARY:FILEPATH=OPENSSL_CRYPTO_LIBRARY-NOTFOUND - -//Path to a file. -OPENSSL_INCLUDE_DIR:PATH=OPENSSL_INCLUDE_DIR-NOTFOUND - -//Path to a library. -OPENSSL_SSL_LIBRARY:FILEPATH=OPENSSL_SSL_LIBRARY-NOTFOUND - -//Arguments to supply to pkg-config -PKG_CONFIG_ARGN:STRING= - -//pkg-config executable -PKG_CONFIG_EXECUTABLE:FILEPATH=/usr/bin/pkg-config - -//Add SO version in .so build -SHARED_LIB_VERSIONNING:BOOL=ON - -//Path to a file. -ZLIB_INCLUDE_DIR:PATH=/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/install/include - -//No help, variable specified on the command line. -ZLIB_LIBRARY:UNINITIALIZED=/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/install/lib/libz.a - -//Value Computed by CMake -libzip_BINARY_DIR:STATIC=/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake - -//Value Computed by CMake -libzip_IS_TOP_LEVEL:STATIC=ON - -//Value Computed by CMake -libzip_SOURCE_DIR:STATIC=/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3 - -//Dependencies for the target -zip_LIB_DEPENDS:STATIC=general;ZLIB::ZLIB; - -//Path to a file. -zstd_DLL:FILEPATH=zstd_DLL-NOTFOUND - -//Path to a file. -zstd_INCLUDE_DIR:PATH=zstd_INCLUDE_DIR-NOTFOUND - -//Path to a library. -zstd_SHARED_LIBRARY:FILEPATH=zstd_SHARED_LIBRARY-NOTFOUND - -//Path to a library. -zstd_STATIC_LIBRARY:FILEPATH=zstd_STATIC_LIBRARY-NOTFOUND - - -######################## -# INTERNAL cache entries -######################## - -//ADVANCED property for variable: BZIP2_INCLUDE_DIR -BZIP2_INCLUDE_DIR-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: BZIP2_LIBRARY_DEBUG -BZIP2_LIBRARY_DEBUG-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: BZIP2_LIBRARY_RELEASE -BZIP2_LIBRARY_RELEASE-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_ADDR2LINE -CMAKE_ADDR2LINE-ADVANCED:INTERNAL=1 -//This is the directory where this CMakeCache.txt was created -CMAKE_CACHEFILE_DIR:INTERNAL=/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake -//Major version of cmake used to create the current loaded cache -CMAKE_CACHE_MAJOR_VERSION:INTERNAL=3 -//Minor version of cmake used to create the current loaded cache -CMAKE_CACHE_MINOR_VERSION:INTERNAL=28 -//Patch version of cmake used to create the current loaded cache -CMAKE_CACHE_PATCH_VERSION:INTERNAL=3 -//ADVANCED property for variable: CMAKE_COLOR_MAKEFILE -CMAKE_COLOR_MAKEFILE-ADVANCED:INTERNAL=1 -//Path to CMake executable. -CMAKE_COMMAND:INTERNAL=/usr/bin/cmake -//Path to cpack program executable. -CMAKE_CPACK_COMMAND:INTERNAL=/usr/bin/cpack -//Path to ctest program executable. -CMAKE_CTEST_COMMAND:INTERNAL=/usr/bin/ctest -//ADVANCED property for variable: CMAKE_C_COMPILER_CLANG_SCAN_DEPS -CMAKE_C_COMPILER_CLANG_SCAN_DEPS-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_C_FLAGS -CMAKE_C_FLAGS-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_C_FLAGS_DEBUG -CMAKE_C_FLAGS_DEBUG-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_C_FLAGS_MINSIZEREL -CMAKE_C_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_C_FLAGS_RELEASE -CMAKE_C_FLAGS_RELEASE-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_C_FLAGS_RELWITHDEBINFO -CMAKE_C_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_DLLTOOL -CMAKE_DLLTOOL-ADVANCED:INTERNAL=1 -//Executable file format -CMAKE_EXECUTABLE_FORMAT:INTERNAL=Unknown -//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS -CMAKE_EXE_LINKER_FLAGS-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_DEBUG -CMAKE_EXE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_MINSIZEREL -CMAKE_EXE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELEASE -CMAKE_EXE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO -CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_EXPORT_COMPILE_COMMANDS -CMAKE_EXPORT_COMPILE_COMMANDS-ADVANCED:INTERNAL=1 -//Name of external makefile project generator. -CMAKE_EXTRA_GENERATOR:INTERNAL= -//Name of generator. -CMAKE_GENERATOR:INTERNAL=Unix Makefiles -//Generator instance identifier. -CMAKE_GENERATOR_INSTANCE:INTERNAL= -//Name of generator platform. -CMAKE_GENERATOR_PLATFORM:INTERNAL= -//Name of generator toolset. -CMAKE_GENERATOR_TOOLSET:INTERNAL= -//Source directory with the top level CMakeLists.txt file for this -// project -CMAKE_HOME_DIRECTORY:INTERNAL=/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3 -//ADVANCED property for variable: CMAKE_INSTALL_BINDIR -CMAKE_INSTALL_BINDIR-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_INSTALL_DATADIR -CMAKE_INSTALL_DATADIR-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_INSTALL_DATAROOTDIR -CMAKE_INSTALL_DATAROOTDIR-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_INSTALL_DOCDIR -CMAKE_INSTALL_DOCDIR-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_INSTALL_INCLUDEDIR -CMAKE_INSTALL_INCLUDEDIR-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_INSTALL_INFODIR -CMAKE_INSTALL_INFODIR-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_INSTALL_LIBDIR -CMAKE_INSTALL_LIBDIR-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_INSTALL_LIBEXECDIR -CMAKE_INSTALL_LIBEXECDIR-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_INSTALL_LOCALEDIR -CMAKE_INSTALL_LOCALEDIR-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_INSTALL_LOCALSTATEDIR -CMAKE_INSTALL_LOCALSTATEDIR-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_INSTALL_MANDIR -CMAKE_INSTALL_MANDIR-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_INSTALL_OLDINCLUDEDIR -CMAKE_INSTALL_OLDINCLUDEDIR-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_INSTALL_RUNSTATEDIR -CMAKE_INSTALL_RUNSTATEDIR-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_INSTALL_SBINDIR -CMAKE_INSTALL_SBINDIR-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_INSTALL_SHAREDSTATEDIR -CMAKE_INSTALL_SHAREDSTATEDIR-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_INSTALL_SYSCONFDIR -CMAKE_INSTALL_SYSCONFDIR-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_LINKER -CMAKE_LINKER-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_MAKE_PROGRAM -CMAKE_MAKE_PROGRAM-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS -CMAKE_MODULE_LINKER_FLAGS-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_DEBUG -CMAKE_MODULE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL -CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELEASE -CMAKE_MODULE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO -CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 -//number of local generators -CMAKE_NUMBER_OF_MAKEFILES:INTERNAL=6 -//ADVANCED property for variable: CMAKE_OBJCOPY -CMAKE_OBJCOPY-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_OBJDUMP -CMAKE_OBJDUMP-ADVANCED:INTERNAL=1 -//Platform information initialized -CMAKE_PLATFORM_INFO_INITIALIZED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_READELF -CMAKE_READELF-ADVANCED:INTERNAL=1 -//Path to CMake installation. -CMAKE_ROOT:INTERNAL=/usr/share/cmake-3.28 -//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS -CMAKE_SHARED_LINKER_FLAGS-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_DEBUG -CMAKE_SHARED_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL -CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELEASE -CMAKE_SHARED_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO -CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_SKIP_INSTALL_RPATH -CMAKE_SKIP_INSTALL_RPATH-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_SKIP_RPATH -CMAKE_SKIP_RPATH-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS -CMAKE_STATIC_LINKER_FLAGS-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_DEBUG -CMAKE_STATIC_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL -CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELEASE -CMAKE_STATIC_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO -CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_STRIP -CMAKE_STRIP-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_TAPI -CMAKE_TAPI-ADVANCED:INTERNAL=1 -//uname command -CMAKE_UNAME:INTERNAL=/usr/bin/uname -//ADVANCED property for variable: CMAKE_VERBOSE_MAKEFILE -CMAKE_VERBOSE_MAKEFILE-ADVANCED:INTERNAL=1 -//Have includes CommonCrypto/CommonCrypto.h -COMMONCRYPTO_FOUND:INTERNAL= -//If true, we are targeting Emscripten output. -EMSCRIPTEN:INTERNAL=1 -//Details about finding PkgConfig -FIND_PACKAGE_MESSAGE_DETAILS_PkgConfig:INTERNAL=[/usr/bin/pkg-config][v1.8.1()] -//Details about finding ZLIB -FIND_PACKAGE_MESSAGE_DETAILS_ZLIB:INTERNAL=[/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/install/lib/libz.a][/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/install/include][c ][v1.3.1(1.1.2)] -FTS_LIB:INTERNAL= -//ADVANCED property for variable: GNUTLS_INCLUDE_DIR -GNUTLS_INCLUDE_DIR-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: GNUTLS_LIBRARY -GNUTLS_LIBRARY-ADVANCED:INTERNAL=1 -//Have function arc4random -HAVE_ARC4RANDOM:INTERNAL= -//Have function clonefile -HAVE_CLONEFILE:INTERNAL= -//Have function explicit_bzero -HAVE_EXPLICIT_BZERO:INTERNAL=1 -//Have function explicit_memset -HAVE_EXPLICIT_MEMSET:INTERNAL= -//Have function fchmod -HAVE_FCHMOD:INTERNAL=1 -//Test HAVE_FICLONERANGE -HAVE_FICLONERANGE:INTERNAL= -//Have function fileno -HAVE_FILENO:INTERNAL=1 -//Have function fseeko -HAVE_FSEEKO:INTERNAL=1 -//Have function ftello -HAVE_FTELLO:INTERNAL=1 -//Have includes sys/types.h;sys/stat.h;fts.h -HAVE_FTS_H:INTERNAL= -//Have function getopt -HAVE_GETOPT:INTERNAL=1 -//Have function getprogname -HAVE_GETPROGNAME:INTERNAL= -//Have function GetSecurityInfo -HAVE_GETSECURITYINFO:INTERNAL= -//Result of TRY_COMPILE -HAVE_INT16_T_LIBZIP:INTERNAL=TRUE -//Result of TRY_COMPILE -HAVE_INT32_T_LIBZIP:INTERNAL=TRUE -//Result of TRY_COMPILE -HAVE_INT64_T_LIBZIP:INTERNAL=TRUE -//Result of TRY_COMPILE -HAVE_INT8_T_LIBZIP:INTERNAL=TRUE -//Have include inttypes.h -HAVE_INTTYPES_H_LIBZIP:INTERNAL=1 -//Result of TRY_COMPILE -HAVE_INT_LIBZIP:INTERNAL=TRUE -HAVE_LIB_FTS:INTERNAL= -//Have symbol localtime_r -HAVE_LOCALTIME_R:INTERNAL=1 -//Have symbol localtime_s -HAVE_LOCALTIME_S:INTERNAL= -//Result of TRY_COMPILE -HAVE_LONG_LIBZIP:INTERNAL=TRUE -//Result of TRY_COMPILE -HAVE_LONG_LONG_LIBZIP:INTERNAL=TRUE -//Have function memcpy_s -HAVE_MEMCPY_S:INTERNAL= -//Have function random -HAVE_RANDOM:INTERNAL=1 -//Have function setmode -HAVE_SETMODE:INTERNAL= -//Result of TRY_COMPILE -HAVE_SHORT_LIBZIP:INTERNAL=TRUE -//Result of TRY_COMPILE -HAVE_SIZEOF_OFF_T:INTERNAL=TRUE -//Result of TRY_COMPILE -HAVE_SIZEOF_SIZE_T:INTERNAL=TRUE -//Have symbol snprintf -HAVE_SNPRINTF:INTERNAL=1 -//Have symbol snprintf_s -HAVE_SNPRINTF_S:INTERNAL= -//Have include stdbool.h -HAVE_STDBOOL_H:INTERNAL=1 -//Have include stddef.h -HAVE_STDDEF_H:INTERNAL=1 -//Have include stdint.h -HAVE_STDINT_H:INTERNAL=1 -//Have include stdint.h -HAVE_STDINT_H_LIBZIP:INTERNAL=1 -//Have symbol strcasecmp -HAVE_STRCASECMP:INTERNAL=1 -//Have function strdup -HAVE_STRDUP:INTERNAL=1 -//Have function strerrorlen_s -HAVE_STRERRORLEN_S:INTERNAL= -//Have function strerror_s -HAVE_STRERROR_S:INTERNAL= -//Have function stricmp -HAVE_STRICMP:INTERNAL= -//Have include strings.h -HAVE_STRINGS_H:INTERNAL=1 -//Have function strncpy_s -HAVE_STRNCPY_S:INTERNAL= -//Have function strtoll -HAVE_STRTOLL:INTERNAL=1 -//Have function strtoull -HAVE_STRTOULL:INTERNAL=1 -//Have include sys/types.h -HAVE_SYS_TYPES_H:INTERNAL=1 -//Have include sys/types.h -HAVE_SYS_TYPES_H_LIBZIP:INTERNAL=1 -//Result of TRY_COMPILE -HAVE_UINT16_T_LIBZIP:INTERNAL=TRUE -//Result of TRY_COMPILE -HAVE_UINT32_T_LIBZIP:INTERNAL=TRUE -//Result of TRY_COMPILE -HAVE_UINT64_T_LIBZIP:INTERNAL=TRUE -//Result of TRY_COMPILE -HAVE_UINT8_T_LIBZIP:INTERNAL=TRUE -//Have include unistd.h -HAVE_UNISTD_H:INTERNAL=1 -//Have function _close -HAVE__CLOSE:INTERNAL= -//Have function _dup -HAVE__DUP:INTERNAL= -//Have function _fdopen -HAVE__FDOPEN:INTERNAL= -//Have function _fileno -HAVE__FILENO:INTERNAL= -//Have function _fseeki64 -HAVE__FSEEKI64:INTERNAL= -//Have function _fstat64 -HAVE__FSTAT64:INTERNAL= -//Have function _setmode -HAVE__SETMODE:INTERNAL= -//Have symbol _snprintf -HAVE__SNPRINTF:INTERNAL= -//Have symbol _snprintf_s -HAVE__SNPRINTF_S:INTERNAL= -//Have symbol _snwprintf_s -HAVE__SNWPRINTF_S:INTERNAL= -//Have function _stat64 -HAVE__STAT64:INTERNAL= -//Have function _strdup -HAVE__STRDUP:INTERNAL= -//Have symbol _stricmp -HAVE__STRICMP:INTERNAL= -//Have function _strtoi64 -HAVE__STRTOI64:INTERNAL= -//Have function _strtoui64 -HAVE__STRTOUI64:INTERNAL= -//Have function _unlink -HAVE__UNLINK:INTERNAL= -//Result of TRY_COMPILE -HAVE___INT16_LIBZIP:INTERNAL=FALSE -//Result of TRY_COMPILE -HAVE___INT32_LIBZIP:INTERNAL=FALSE -//Result of TRY_COMPILE -HAVE___INT64_LIBZIP:INTERNAL=FALSE -//Result of TRY_COMPILE -HAVE___INT8_LIBZIP:INTERNAL=FALSE -//CHECK_TYPE_SIZE: sizeof(int16_t) -INT16_T_LIBZIP:INTERNAL=2 -//CHECK_TYPE_SIZE: sizeof(int32_t) -INT32_T_LIBZIP:INTERNAL=4 -//CHECK_TYPE_SIZE: sizeof(int64_t) -INT64_T_LIBZIP:INTERNAL=8 -//CHECK_TYPE_SIZE: sizeof(int8_t) -INT8_T_LIBZIP:INTERNAL=1 -//CHECK_TYPE_SIZE: sizeof(int) -INT_LIBZIP:INTERNAL=4 -//ADVANCED property for variable: LIBLZMA_INCLUDE_DIR -LIBLZMA_INCLUDE_DIR-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: LIBLZMA_LIBRARY_DEBUG -LIBLZMA_LIBRARY_DEBUG-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: LIBLZMA_LIBRARY_RELEASE -LIBLZMA_LIBRARY_RELEASE-ADVANCED:INTERNAL=1 -//CHECK_TYPE_SIZE: sizeof(long) -LONG_LIBZIP:INTERNAL=4 -//CHECK_TYPE_SIZE: sizeof(long long) -LONG_LONG_LIBZIP:INTERNAL=8 -//ADVANCED property for variable: MbedTLS_INCLUDE_DIR -MbedTLS_INCLUDE_DIR-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: MbedTLS_LIBRARY -MbedTLS_LIBRARY-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: Nettle_INCLUDE_DIR -Nettle_INCLUDE_DIR-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: Nettle_LIBRARY -Nettle_LIBRARY-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: OPENSSL_CRYPTO_LIBRARY -OPENSSL_CRYPTO_LIBRARY-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: OPENSSL_INCLUDE_DIR -OPENSSL_INCLUDE_DIR-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: OPENSSL_SSL_LIBRARY -OPENSSL_SSL_LIBRARY-ADVANCED:INTERNAL=1 -PC_GNUTLS_CFLAGS:INTERNAL= -PC_GNUTLS_CFLAGS_I:INTERNAL= -PC_GNUTLS_CFLAGS_OTHER:INTERNAL= -PC_GNUTLS_FOUND:INTERNAL= -PC_GNUTLS_INCLUDEDIR:INTERNAL= -PC_GNUTLS_LIBDIR:INTERNAL= -PC_GNUTLS_LIBS:INTERNAL= -PC_GNUTLS_LIBS_L:INTERNAL= -PC_GNUTLS_LIBS_OTHER:INTERNAL= -PC_GNUTLS_LIBS_PATHS:INTERNAL= -PC_GNUTLS_MODULE_NAME:INTERNAL= -PC_GNUTLS_PREFIX:INTERNAL= -PC_GNUTLS_STATIC_CFLAGS:INTERNAL= -PC_GNUTLS_STATIC_CFLAGS_I:INTERNAL= -PC_GNUTLS_STATIC_CFLAGS_OTHER:INTERNAL= -PC_GNUTLS_STATIC_LIBDIR:INTERNAL= -PC_GNUTLS_STATIC_LIBS:INTERNAL= -PC_GNUTLS_STATIC_LIBS_L:INTERNAL= -PC_GNUTLS_STATIC_LIBS_OTHER:INTERNAL= -PC_GNUTLS_STATIC_LIBS_PATHS:INTERNAL= -PC_GNUTLS_VERSION:INTERNAL= -PC_GNUTLS_gnutls_INCLUDEDIR:INTERNAL= -PC_GNUTLS_gnutls_LIBDIR:INTERNAL= -PC_GNUTLS_gnutls_PREFIX:INTERNAL= -PC_GNUTLS_gnutls_VERSION:INTERNAL= -PC_Nettle_CFLAGS:INTERNAL= -PC_Nettle_CFLAGS_I:INTERNAL= -PC_Nettle_CFLAGS_OTHER:INTERNAL= -PC_Nettle_FOUND:INTERNAL= -PC_Nettle_INCLUDEDIR:INTERNAL= -PC_Nettle_LIBDIR:INTERNAL= -PC_Nettle_LIBS:INTERNAL= -PC_Nettle_LIBS_L:INTERNAL= -PC_Nettle_LIBS_OTHER:INTERNAL= -PC_Nettle_LIBS_PATHS:INTERNAL= -PC_Nettle_MODULE_NAME:INTERNAL= -PC_Nettle_PREFIX:INTERNAL= -PC_Nettle_STATIC_CFLAGS:INTERNAL= -PC_Nettle_STATIC_CFLAGS_I:INTERNAL= -PC_Nettle_STATIC_CFLAGS_OTHER:INTERNAL= -PC_Nettle_STATIC_LIBDIR:INTERNAL= -PC_Nettle_STATIC_LIBS:INTERNAL= -PC_Nettle_STATIC_LIBS_L:INTERNAL= -PC_Nettle_STATIC_LIBS_OTHER:INTERNAL= -PC_Nettle_STATIC_LIBS_PATHS:INTERNAL= -PC_Nettle_VERSION:INTERNAL= -PC_Nettle_nettle_INCLUDEDIR:INTERNAL= -PC_Nettle_nettle_LIBDIR:INTERNAL= -PC_Nettle_nettle_PREFIX:INTERNAL= -PC_Nettle_nettle_VERSION:INTERNAL= -PC_zstd_CFLAGS:INTERNAL= -PC_zstd_CFLAGS_I:INTERNAL= -PC_zstd_CFLAGS_OTHER:INTERNAL= -PC_zstd_FOUND:INTERNAL= -PC_zstd_INCLUDEDIR:INTERNAL= -PC_zstd_LIBDIR:INTERNAL= -PC_zstd_LIBS:INTERNAL= -PC_zstd_LIBS_L:INTERNAL= -PC_zstd_LIBS_OTHER:INTERNAL= -PC_zstd_LIBS_PATHS:INTERNAL= -PC_zstd_MODULE_NAME:INTERNAL= -PC_zstd_PREFIX:INTERNAL= -PC_zstd_STATIC_CFLAGS:INTERNAL= -PC_zstd_STATIC_CFLAGS_I:INTERNAL= -PC_zstd_STATIC_CFLAGS_OTHER:INTERNAL= -PC_zstd_STATIC_LIBDIR:INTERNAL= -PC_zstd_STATIC_LIBS:INTERNAL= -PC_zstd_STATIC_LIBS_L:INTERNAL= -PC_zstd_STATIC_LIBS_OTHER:INTERNAL= -PC_zstd_STATIC_LIBS_PATHS:INTERNAL= -PC_zstd_VERSION:INTERNAL= -PC_zstd_libzstd_INCLUDEDIR:INTERNAL= -PC_zstd_libzstd_LIBDIR:INTERNAL= -PC_zstd_libzstd_PREFIX:INTERNAL= -PC_zstd_libzstd_VERSION:INTERNAL= -//ADVANCED property for variable: PKG_CONFIG_ARGN -PKG_CONFIG_ARGN-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: PKG_CONFIG_EXECUTABLE -PKG_CONFIG_EXECUTABLE-ADVANCED:INTERNAL=1 -//CHECK_TYPE_SIZE: sizeof(short) -SHORT_LIBZIP:INTERNAL=2 -//CHECK_TYPE_SIZE: sizeof(off_t) -SIZEOF_OFF_T:INTERNAL=8 -//CHECK_TYPE_SIZE: sizeof(size_t) -SIZEOF_SIZE_T:INTERNAL=4 -//CHECK_TYPE_SIZE: sizeof(uint16_t) -UINT16_T_LIBZIP:INTERNAL=2 -//CHECK_TYPE_SIZE: sizeof(uint32_t) -UINT32_T_LIBZIP:INTERNAL=4 -//CHECK_TYPE_SIZE: sizeof(uint64_t) -UINT64_T_LIBZIP:INTERNAL=8 -//CHECK_TYPE_SIZE: sizeof(uint8_t) -UINT8_T_LIBZIP:INTERNAL=1 -//Result of TEST_BIG_ENDIAN -WORDS_BIGENDIAN:INTERNAL=0 -//ADVANCED property for variable: ZLIB_INCLUDE_DIR -ZLIB_INCLUDE_DIR-ADVANCED:INTERNAL=1 -//CMAKE_INSTALL_PREFIX during last run -_GNUInstallDirs_LAST_CMAKE_INSTALL_PREFIX:INTERNAL=/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/install -_OPENSSL_CFLAGS:INTERNAL= -_OPENSSL_CFLAGS_I:INTERNAL= -_OPENSSL_CFLAGS_OTHER:INTERNAL= -_OPENSSL_FOUND:INTERNAL= -_OPENSSL_INCLUDEDIR:INTERNAL= -_OPENSSL_LIBDIR:INTERNAL= -_OPENSSL_LIBS:INTERNAL= -_OPENSSL_LIBS_L:INTERNAL= -_OPENSSL_LIBS_OTHER:INTERNAL= -_OPENSSL_LIBS_PATHS:INTERNAL= -_OPENSSL_MODULE_NAME:INTERNAL= -_OPENSSL_PREFIX:INTERNAL= -_OPENSSL_STATIC_CFLAGS:INTERNAL= -_OPENSSL_STATIC_CFLAGS_I:INTERNAL= -_OPENSSL_STATIC_CFLAGS_OTHER:INTERNAL= -_OPENSSL_STATIC_LIBDIR:INTERNAL= -_OPENSSL_STATIC_LIBS:INTERNAL= -_OPENSSL_STATIC_LIBS_L:INTERNAL= -_OPENSSL_STATIC_LIBS_OTHER:INTERNAL= -_OPENSSL_STATIC_LIBS_PATHS:INTERNAL= -_OPENSSL_VERSION:INTERNAL= -_OPENSSL_openssl_INCLUDEDIR:INTERNAL= -_OPENSSL_openssl_LIBDIR:INTERNAL= -_OPENSSL_openssl_PREFIX:INTERNAL= -_OPENSSL_openssl_VERSION:INTERNAL= -//CHECK_TYPE_SIZE: __int16 unknown -__INT16_LIBZIP:INTERNAL= -//CHECK_TYPE_SIZE: __int32 unknown -__INT32_LIBZIP:INTERNAL= -//CHECK_TYPE_SIZE: __int64 unknown -__INT64_LIBZIP:INTERNAL= -//CHECK_TYPE_SIZE: __int8 unknown -__INT8_LIBZIP:INTERNAL= -__pkg_config_checked_PC_GNUTLS:INTERNAL=1 -__pkg_config_checked_PC_Nettle:INTERNAL=1 -__pkg_config_checked_PC_zstd:INTERNAL=1 -__pkg_config_checked__OPENSSL:INTERNAL=1 -//ADVANCED property for variable: zstd_DLL -zstd_DLL-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: zstd_INCLUDE_DIR -zstd_INCLUDE_DIR-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: zstd_SHARED_LIBRARY -zstd_SHARED_LIBRARY-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: zstd_STATIC_LIBRARY -zstd_STATIC_LIBRARY-ADVANCED:INTERNAL=1 - diff --git a/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/3.28.3/CMakeCCompiler.cmake b/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/3.28.3/CMakeCCompiler.cmake deleted file mode 100644 index 1a8c15d..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/3.28.3/CMakeCCompiler.cmake +++ /dev/null @@ -1,74 +0,0 @@ -set(CMAKE_C_COMPILER "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc") -set(CMAKE_C_COMPILER_ARG1 "") -set(CMAKE_C_COMPILER_ID "Clang") -set(CMAKE_C_COMPILER_VERSION "21.0.0") -set(CMAKE_C_COMPILER_VERSION_INTERNAL "") -set(CMAKE_C_COMPILER_WRAPPER "") -set(CMAKE_C_STANDARD_COMPUTED_DEFAULT "17") -set(CMAKE_C_EXTENSIONS_COMPUTED_DEFAULT "ON") -set(CMAKE_C_COMPILE_FEATURES "c_std_90;c_function_prototypes;c_std_99;c_restrict;c_variadic_macros;c_std_11;c_static_assert;c_std_17;c_std_23") -set(CMAKE_C90_COMPILE_FEATURES "c_std_90;c_function_prototypes") -set(CMAKE_C99_COMPILE_FEATURES "c_std_99;c_restrict;c_variadic_macros") -set(CMAKE_C11_COMPILE_FEATURES "c_std_11;c_static_assert") -set(CMAKE_C17_COMPILE_FEATURES "c_std_17") -set(CMAKE_C23_COMPILE_FEATURES "c_std_23") - -set(CMAKE_C_PLATFORM_ID "") -set(CMAKE_C_SIMULATE_ID "") -set(CMAKE_C_COMPILER_FRONTEND_VARIANT "GNU") -set(CMAKE_C_SIMULATE_VERSION "") - - - - -set(CMAKE_AR "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emar") -set(CMAKE_C_COMPILER_AR "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emar") -set(CMAKE_RANLIB "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emranlib") -set(CMAKE_C_COMPILER_RANLIB "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emranlib") -set(CMAKE_LINKER "/usr/bin/ld") -set(CMAKE_MT "") -set(CMAKE_TAPI "CMAKE_TAPI-NOTFOUND") -set(CMAKE_COMPILER_IS_GNUCC ) -set(CMAKE_C_COMPILER_LOADED 1) -set(CMAKE_C_COMPILER_WORKS TRUE) -set(CMAKE_C_ABI_COMPILED TRUE) - -set(CMAKE_C_COMPILER_ENV_VAR "CC") - -set(CMAKE_C_COMPILER_ID_RUN 1) -set(CMAKE_C_SOURCE_FILE_EXTENSIONS c;m) -set(CMAKE_C_IGNORE_EXTENSIONS h;H;o;O;obj;OBJ;def;DEF;rc;RC) -set(CMAKE_C_LINKER_PREFERENCE 10) -set(CMAKE_C_LINKER_DEPFILE_SUPPORTED FALSE) - -# Save compiler ABI information. -set(CMAKE_C_SIZEOF_DATA_PTR "4") -set(CMAKE_C_COMPILER_ABI "") -set(CMAKE_C_BYTE_ORDER "LITTLE_ENDIAN") -set(CMAKE_C_LIBRARY_ARCHITECTURE "") - -if(CMAKE_C_SIZEOF_DATA_PTR) - set(CMAKE_SIZEOF_VOID_P "${CMAKE_C_SIZEOF_DATA_PTR}") -endif() - -if(CMAKE_C_COMPILER_ABI) - set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_C_COMPILER_ABI}") -endif() - -if(CMAKE_C_LIBRARY_ARCHITECTURE) - set(CMAKE_LIBRARY_ARCHITECTURE "") -endif() - -set(CMAKE_C_CL_SHOWINCLUDES_PREFIX "") -if(CMAKE_C_CL_SHOWINCLUDES_PREFIX) - set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_C_CL_SHOWINCLUDES_PREFIX}") -endif() - - - - - -set(CMAKE_C_IMPLICIT_INCLUDE_DIRECTORIES "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/cache/sysroot/include/fakesdl;/home/romazan/Рабочий стол/emsdk/upstream/emscripten/cache/sysroot/include/compat;/home/romazan/Рабочий стол/emsdk/upstream/lib/clang/21/include;/home/romazan/Рабочий стол/emsdk/upstream/emscripten/cache/sysroot/include") -set(CMAKE_C_IMPLICIT_LINK_LIBRARIES "GL-getprocaddr;al;html5;stubs-debug;noexit;c-debug;dlmalloc-debug;compiler_rt;c++-noexcept;c++abi-debug-noexcept;sockets") -set(CMAKE_C_IMPLICIT_LINK_DIRECTORIES "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/cache/sysroot/lib/wasm32-emscripten;/home/romazan/Рабочий стол/emsdk/upstream/emscripten/src/lib") -set(CMAKE_C_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "") diff --git a/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/3.28.3/CMakeDetermineCompilerABI_C.bin b/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/3.28.3/CMakeDetermineCompilerABI_C.bin deleted file mode 100644 index 3b0b3e8..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/3.28.3/CMakeDetermineCompilerABI_C.bin +++ /dev/null @@ -1,1521 +0,0 @@ -// include: shell.js -// The Module object: Our interface to the outside world. We import -// and export values on it. There are various ways Module can be used: -// 1. Not defined. We create it here -// 2. A function parameter, function(moduleArg) => Promise -// 3. pre-run appended it, var Module = {}; ..generated code.. -// 4. External script tag defines var Module. -// We need to check if Module already exists (e.g. case 3 above). -// Substitution will be replaced with actual code on later stage of the build, -// this way Closure Compiler will not mangle it (e.g. case 4. above). -// Note that if you want to run closure, and also to use Module -// after the generated code, you will need to define var Module = {}; -// before the code. Then that object will be used in the code, and you -// can continue to use Module afterwards as well. -var Module = typeof Module != 'undefined' ? Module : {}; - -// Determine the runtime environment we are in. You can customize this by -// setting the ENVIRONMENT setting at compile time (see settings.js). - -// Attempt to auto-detect the environment -var ENVIRONMENT_IS_WEB = typeof window == 'object'; -var ENVIRONMENT_IS_WORKER = typeof WorkerGlobalScope != 'undefined'; -// N.b. Electron.js environment is simultaneously a NODE-environment, but -// also a web environment. -var ENVIRONMENT_IS_NODE = typeof process == 'object' && typeof process.versions == 'object' && typeof process.versions.node == 'string' && process.type != 'renderer'; -var ENVIRONMENT_IS_SHELL = !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_NODE && !ENVIRONMENT_IS_WORKER; - -if (ENVIRONMENT_IS_NODE) { - -} - -// --pre-jses are emitted after the Module integration code, so that they can -// refer to Module (if they choose; they can also define Module) - - -// Sometimes an existing Module object exists with properties -// meant to overwrite the default module functionality. Here -// we collect those properties and reapply _after_ we configure -// the current environment's defaults to avoid having to be so -// defensive during initialization. -var moduleOverrides = {...Module}; - -var arguments_ = []; -var thisProgram = './this.program'; -var quit_ = (status, toThrow) => { - throw toThrow; -}; - -// `/` should be present at the end if `scriptDirectory` is not empty -var scriptDirectory = ''; -function locateFile(path) { - if (Module['locateFile']) { - return Module['locateFile'](path, scriptDirectory); - } - return scriptDirectory + path; -} - -// Hooks that are implemented differently in different runtime environments. -var readAsync, readBinary; - -if (ENVIRONMENT_IS_NODE) { - if (typeof process == 'undefined' || !process.release || process.release.name !== 'node') throw new Error('not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)'); - - var nodeVersion = process.versions.node; - var numericVersion = nodeVersion.split('.').slice(0, 3); - numericVersion = (numericVersion[0] * 10000) + (numericVersion[1] * 100) + (numericVersion[2].split('-')[0] * 1); - var minVersion = 160000; - if (numericVersion < 160000) { - throw new Error('This emscripten-generated code requires node v16.0.0 (detected v' + nodeVersion + ')'); - } - - // These modules will usually be used on Node.js. Load them eagerly to avoid - // the complexity of lazy-loading. - var fs = require('fs'); - var nodePath = require('path'); - - scriptDirectory = __dirname + '/'; - -// include: node_shell_read.js -readBinary = (filename) => { - // We need to re-wrap `file://` strings to URLs. - filename = isFileURI(filename) ? new URL(filename) : filename; - var ret = fs.readFileSync(filename); - assert(Buffer.isBuffer(ret)); - return ret; -}; - -readAsync = async (filename, binary = true) => { - // See the comment in the `readBinary` function. - filename = isFileURI(filename) ? new URL(filename) : filename; - var ret = fs.readFileSync(filename, binary ? undefined : 'utf8'); - assert(binary ? Buffer.isBuffer(ret) : typeof ret == 'string'); - return ret; -}; -// end include: node_shell_read.js - if (!Module['thisProgram'] && process.argv.length > 1) { - thisProgram = process.argv[1].replace(/\\/g, '/'); - } - - arguments_ = process.argv.slice(2); - - if (typeof module != 'undefined') { - module['exports'] = Module; - } - - quit_ = (status, toThrow) => { - process.exitCode = status; - throw toThrow; - }; - -} else -if (ENVIRONMENT_IS_SHELL) { - - if ((typeof process == 'object' && typeof require === 'function') || typeof window == 'object' || typeof WorkerGlobalScope != 'undefined') throw new Error('not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)'); - -} else - -// Note that this includes Node.js workers when relevant (pthreads is enabled). -// Node.js workers are detected as a combination of ENVIRONMENT_IS_WORKER and -// ENVIRONMENT_IS_NODE. -if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) { - if (ENVIRONMENT_IS_WORKER) { // Check worker, not web, since window could be polyfilled - scriptDirectory = self.location.href; - } else if (typeof document != 'undefined' && document.currentScript) { // web - scriptDirectory = document.currentScript.src; - } - // blob urls look like blob:http://site.com/etc/etc and we cannot infer anything from them. - // otherwise, slice off the final part of the url to find the script directory. - // if scriptDirectory does not contain a slash, lastIndexOf will return -1, - // and scriptDirectory will correctly be replaced with an empty string. - // If scriptDirectory contains a query (starting with ?) or a fragment (starting with #), - // they are removed because they could contain a slash. - if (scriptDirectory.startsWith('blob:')) { - scriptDirectory = ''; - } else { - scriptDirectory = scriptDirectory.slice(0, scriptDirectory.replace(/[?#].*/, '').lastIndexOf('/')+1); - } - - if (!(typeof window == 'object' || typeof WorkerGlobalScope != 'undefined')) throw new Error('not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)'); - - { -// include: web_or_worker_shell_read.js -if (ENVIRONMENT_IS_WORKER) { - readBinary = (url) => { - var xhr = new XMLHttpRequest(); - xhr.open('GET', url, false); - xhr.responseType = 'arraybuffer'; - xhr.send(null); - return new Uint8Array(/** @type{!ArrayBuffer} */(xhr.response)); - }; - } - - readAsync = async (url) => { - // Fetch has some additional restrictions over XHR, like it can't be used on a file:// url. - // See https://github.com/github/fetch/pull/92#issuecomment-140665932 - // Cordova or Electron apps are typically loaded from a file:// url. - // So use XHR on webview if URL is a file URL. - if (isFileURI(url)) { - return new Promise((resolve, reject) => { - var xhr = new XMLHttpRequest(); - xhr.open('GET', url, true); - xhr.responseType = 'arraybuffer'; - xhr.onload = () => { - if (xhr.status == 200 || (xhr.status == 0 && xhr.response)) { // file URLs can return 0 - resolve(xhr.response); - return; - } - reject(xhr.status); - }; - xhr.onerror = reject; - xhr.send(null); - }); - } - var response = await fetch(url, { credentials: 'same-origin' }); - if (response.ok) { - return response.arrayBuffer(); - } - throw new Error(response.status + ' : ' + response.url); - }; -// end include: web_or_worker_shell_read.js - } -} else -{ - throw new Error('environment detection error'); -} - -var out = Module['print'] || console.log.bind(console); -var err = Module['printErr'] || console.error.bind(console); - -// Merge back in the overrides -Object.assign(Module, moduleOverrides); -// Free the object hierarchy contained in the overrides, this lets the GC -// reclaim data used. -moduleOverrides = null; -checkIncomingModuleAPI(); - -// Emit code to handle expected values on the Module object. This applies Module.x -// to the proper local x. This has two benefits: first, we only emit it if it is -// expected to arrive, and second, by using a local everywhere else that can be -// minified. - -if (Module['arguments']) arguments_ = Module['arguments'];legacyModuleProp('arguments', 'arguments_'); - -if (Module['thisProgram']) thisProgram = Module['thisProgram'];legacyModuleProp('thisProgram', 'thisProgram'); - -// perform assertions in shell.js after we set up out() and err(), as otherwise if an assertion fails it cannot print the message -// Assertions on removed incoming Module JS APIs. -assert(typeof Module['memoryInitializerPrefixURL'] == 'undefined', 'Module.memoryInitializerPrefixURL option was removed, use Module.locateFile instead'); -assert(typeof Module['pthreadMainPrefixURL'] == 'undefined', 'Module.pthreadMainPrefixURL option was removed, use Module.locateFile instead'); -assert(typeof Module['cdInitializerPrefixURL'] == 'undefined', 'Module.cdInitializerPrefixURL option was removed, use Module.locateFile instead'); -assert(typeof Module['filePackagePrefixURL'] == 'undefined', 'Module.filePackagePrefixURL option was removed, use Module.locateFile instead'); -assert(typeof Module['read'] == 'undefined', 'Module.read option was removed'); -assert(typeof Module['readAsync'] == 'undefined', 'Module.readAsync option was removed (modify readAsync in JS)'); -assert(typeof Module['readBinary'] == 'undefined', 'Module.readBinary option was removed (modify readBinary in JS)'); -assert(typeof Module['setWindowTitle'] == 'undefined', 'Module.setWindowTitle option was removed (modify emscripten_set_window_title in JS)'); -assert(typeof Module['TOTAL_MEMORY'] == 'undefined', 'Module.TOTAL_MEMORY has been renamed Module.INITIAL_MEMORY'); -legacyModuleProp('asm', 'wasmExports'); -legacyModuleProp('readAsync', 'readAsync'); -legacyModuleProp('readBinary', 'readBinary'); -legacyModuleProp('setWindowTitle', 'setWindowTitle'); -var IDBFS = 'IDBFS is no longer included by default; build with -lidbfs.js'; -var PROXYFS = 'PROXYFS is no longer included by default; build with -lproxyfs.js'; -var WORKERFS = 'WORKERFS is no longer included by default; build with -lworkerfs.js'; -var FETCHFS = 'FETCHFS is no longer included by default; build with -lfetchfs.js'; -var ICASEFS = 'ICASEFS is no longer included by default; build with -licasefs.js'; -var JSFILEFS = 'JSFILEFS is no longer included by default; build with -ljsfilefs.js'; -var OPFS = 'OPFS is no longer included by default; build with -lopfs.js'; - -var NODEFS = 'NODEFS is no longer included by default; build with -lnodefs.js'; - -assert(!ENVIRONMENT_IS_SHELL, 'shell environment detected but not enabled at build time. Add `shell` to `-sENVIRONMENT` to enable.'); - -// end include: shell.js - -// include: preamble.js -// === Preamble library stuff === - -// Documentation for the public APIs defined in this file must be updated in: -// site/source/docs/api_reference/preamble.js.rst -// A prebuilt local version of the documentation is available at: -// site/build/text/docs/api_reference/preamble.js.txt -// You can also build docs locally as HTML or other formats in site/ -// An online HTML version (which may be of a different version of Emscripten) -// is up at http://kripken.github.io/emscripten-site/docs/api_reference/preamble.js.html - -var wasmBinary = Module['wasmBinary'];legacyModuleProp('wasmBinary', 'wasmBinary'); - -if (typeof WebAssembly != 'object') { - err('no native wasm support detected'); -} - -// Wasm globals - -var wasmMemory; - -//======================================== -// Runtime essentials -//======================================== - -// whether we are quitting the application. no code should run after this. -// set in exit() and abort() -var ABORT = false; - -// set by exit() and abort(). Passed to 'onExit' handler. -// NOTE: This is also used as the process return code code in shell environments -// but only when noExitRuntime is false. -var EXITSTATUS; - -// In STRICT mode, we only define assert() when ASSERTIONS is set. i.e. we -// don't define it at all in release modes. This matches the behaviour of -// MINIMAL_RUNTIME. -// TODO(sbc): Make this the default even without STRICT enabled. -/** @type {function(*, string=)} */ -function assert(condition, text) { - if (!condition) { - abort('Assertion failed' + (text ? ': ' + text : '')); - } -} - -// We used to include malloc/free by default in the past. Show a helpful error in -// builds with assertions. -function _malloc() { - abort('malloc() called but not included in the build - add `_malloc` to EXPORTED_FUNCTIONS'); -} -function _free() { - // Show a helpful error since we used to include free by default in the past. - abort('free() called but not included in the build - add `_free` to EXPORTED_FUNCTIONS'); -} - -// Memory management - -var HEAP, -/** @type {!Int8Array} */ - HEAP8, -/** @type {!Uint8Array} */ - HEAPU8, -/** @type {!Int16Array} */ - HEAP16, -/** @type {!Uint16Array} */ - HEAPU16, -/** @type {!Int32Array} */ - HEAP32, -/** @type {!Uint32Array} */ - HEAPU32, -/** @type {!Float32Array} */ - HEAPF32, -/* BigInt64Array type is not correctly defined in closure -/** not-@type {!BigInt64Array} */ - HEAP64, -/* BigUint64Array type is not correctly defined in closure -/** not-t@type {!BigUint64Array} */ - HEAPU64, -/** @type {!Float64Array} */ - HEAPF64; - -var runtimeInitialized = false; - -/** - * Indicates whether filename is delivered via file protocol (as opposed to http/https) - * @noinline - */ -var isFileURI = (filename) => filename.startsWith('file://'); - -// include: runtime_shared.js -// include: runtime_stack_check.js -// Initializes the stack cookie. Called at the startup of main and at the startup of each thread in pthreads mode. -function writeStackCookie() { - var max = _emscripten_stack_get_end(); - assert((max & 3) == 0); - // If the stack ends at address zero we write our cookies 4 bytes into the - // stack. This prevents interference with SAFE_HEAP and ASAN which also - // monitor writes to address zero. - if (max == 0) { - max += 4; - } - // The stack grow downwards towards _emscripten_stack_get_end. - // We write cookies to the final two words in the stack and detect if they are - // ever overwritten. - HEAPU32[((max)>>2)] = 0x02135467; - HEAPU32[(((max)+(4))>>2)] = 0x89BACDFE; - // Also test the global address 0 for integrity. - HEAPU32[((0)>>2)] = 1668509029; -} - -function checkStackCookie() { - if (ABORT) return; - var max = _emscripten_stack_get_end(); - // See writeStackCookie(). - if (max == 0) { - max += 4; - } - var cookie1 = HEAPU32[((max)>>2)]; - var cookie2 = HEAPU32[(((max)+(4))>>2)]; - if (cookie1 != 0x02135467 || cookie2 != 0x89BACDFE) { - abort(`Stack overflow! Stack cookie has been overwritten at ${ptrToString(max)}, expected hex dwords 0x89BACDFE and 0x2135467, but received ${ptrToString(cookie2)} ${ptrToString(cookie1)}`); - } - // Also test the global address 0 for integrity. - if (HEAPU32[((0)>>2)] != 0x63736d65 /* 'emsc' */) { - abort('Runtime error: The application has corrupted its heap memory area (address zero)!'); - } -} -// end include: runtime_stack_check.js -// include: runtime_exceptions.js -// end include: runtime_exceptions.js -// include: runtime_debug.js -// Endianness check -(() => { - var h16 = new Int16Array(1); - var h8 = new Int8Array(h16.buffer); - h16[0] = 0x6373; - if (h8[0] !== 0x73 || h8[1] !== 0x63) throw 'Runtime error: expected the system to be little-endian! (Run with -sSUPPORT_BIG_ENDIAN to bypass)'; -})(); - -if (Module['ENVIRONMENT']) { - throw new Error('Module.ENVIRONMENT has been deprecated. To force the environment, use the ENVIRONMENT compile-time option (for example, -sENVIRONMENT=web or -sENVIRONMENT=node)'); -} - -function legacyModuleProp(prop, newName, incoming=true) { - if (!Object.getOwnPropertyDescriptor(Module, prop)) { - Object.defineProperty(Module, prop, { - configurable: true, - get() { - let extra = incoming ? ' (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)' : ''; - abort(`\`Module.${prop}\` has been replaced by \`${newName}\`` + extra); - - } - }); - } -} - -function consumedModuleProp(prop) { - if (!Object.getOwnPropertyDescriptor(Module, prop)) { - Object.defineProperty(Module, prop, { - configurable: true, - set() { - abort(`Attempt to set \`Module.${prop}\` after it has already been processed. This can happen, for example, when code is injected via '--post-js' rather than '--pre-js'`); - - } - }); - } -} - -function ignoredModuleProp(prop) { - if (Object.getOwnPropertyDescriptor(Module, prop)) { - abort(`\`Module.${prop}\` was supplied but \`${prop}\` not included in INCOMING_MODULE_JS_API`); - } -} - -// forcing the filesystem exports a few things by default -function isExportedByForceFilesystem(name) { - return name === 'FS_createPath' || - name === 'FS_createDataFile' || - name === 'FS_createPreloadedFile' || - name === 'FS_unlink' || - name === 'addRunDependency' || - // The old FS has some functionality that WasmFS lacks. - name === 'FS_createLazyFile' || - name === 'FS_createDevice' || - name === 'removeRunDependency'; -} - -/** - * Intercept access to a global symbol. This enables us to give informative - * warnings/errors when folks attempt to use symbols they did not include in - * their build, or no symbols that no longer exist. - */ -function hookGlobalSymbolAccess(sym, func) { - if (typeof globalThis != 'undefined' && !Object.getOwnPropertyDescriptor(globalThis, sym)) { - Object.defineProperty(globalThis, sym, { - configurable: true, - get() { - func(); - return undefined; - } - }); - } -} - -function missingGlobal(sym, msg) { - hookGlobalSymbolAccess(sym, () => { - warnOnce(`\`${sym}\` is not longer defined by emscripten. ${msg}`); - }); -} - -missingGlobal('buffer', 'Please use HEAP8.buffer or wasmMemory.buffer'); -missingGlobal('asm', 'Please use wasmExports instead'); - -function missingLibrarySymbol(sym) { - hookGlobalSymbolAccess(sym, () => { - // Can't `abort()` here because it would break code that does runtime - // checks. e.g. `if (typeof SDL === 'undefined')`. - var msg = `\`${sym}\` is a library symbol and not included by default; add it to your library.js __deps or to DEFAULT_LIBRARY_FUNCS_TO_INCLUDE on the command line`; - // DEFAULT_LIBRARY_FUNCS_TO_INCLUDE requires the name as it appears in - // library.js, which means $name for a JS name with no prefix, or name - // for a JS name like _name. - var librarySymbol = sym; - if (!librarySymbol.startsWith('_')) { - librarySymbol = '$' + sym; - } - msg += ` (e.g. -sDEFAULT_LIBRARY_FUNCS_TO_INCLUDE='${librarySymbol}')`; - if (isExportedByForceFilesystem(sym)) { - msg += '. Alternatively, forcing filesystem support (-sFORCE_FILESYSTEM) can export this for you'; - } - warnOnce(msg); - }); - - // Any symbol that is not included from the JS library is also (by definition) - // not exported on the Module object. - unexportedRuntimeSymbol(sym); -} - -function unexportedRuntimeSymbol(sym) { - if (!Object.getOwnPropertyDescriptor(Module, sym)) { - Object.defineProperty(Module, sym, { - configurable: true, - get() { - var msg = `'${sym}' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the Emscripten FAQ)`; - if (isExportedByForceFilesystem(sym)) { - msg += '. Alternatively, forcing filesystem support (-sFORCE_FILESYSTEM) can export this for you'; - } - abort(msg); - } - }); - } -} - -var runtimeDebug = true; // Switch to false at runtime to disable logging at the right times - -// Used by XXXXX_DEBUG settings to output debug messages. -function dbg(...args) { - if (!runtimeDebug && typeof runtimeDebug != 'undefined') return; - // TODO(sbc): Make this configurable somehow. Its not always convenient for - // logging to show up as warnings. - console.warn(...args); -} -// end include: runtime_debug.js -// include: memoryprofiler.js -// end include: memoryprofiler.js - - -function updateMemoryViews() { - var b = wasmMemory.buffer; - Module['HEAP8'] = HEAP8 = new Int8Array(b); - Module['HEAP16'] = HEAP16 = new Int16Array(b); - Module['HEAPU8'] = HEAPU8 = new Uint8Array(b); - Module['HEAPU16'] = HEAPU16 = new Uint16Array(b); - Module['HEAP32'] = HEAP32 = new Int32Array(b); - Module['HEAPU32'] = HEAPU32 = new Uint32Array(b); - Module['HEAPF32'] = HEAPF32 = new Float32Array(b); - Module['HEAPF64'] = HEAPF64 = new Float64Array(b); - Module['HEAP64'] = HEAP64 = new BigInt64Array(b); - Module['HEAPU64'] = HEAPU64 = new BigUint64Array(b); -} - -// end include: runtime_shared.js -assert(!Module['STACK_SIZE'], 'STACK_SIZE can no longer be set at runtime. Use -sSTACK_SIZE at link time') - -assert(typeof Int32Array != 'undefined' && typeof Float64Array !== 'undefined' && Int32Array.prototype.subarray != undefined && Int32Array.prototype.set != undefined, - 'JS engine does not provide full typed array support'); - -// If memory is defined in wasm, the user can't provide it, or set INITIAL_MEMORY -assert(!Module['wasmMemory'], 'Use of `wasmMemory` detected. Use -sIMPORTED_MEMORY to define wasmMemory externally'); -assert(!Module['INITIAL_MEMORY'], 'Detected runtime INITIAL_MEMORY setting. Use -sIMPORTED_MEMORY to define wasmMemory dynamically'); - -function preRun() { - if (Module['preRun']) { - if (typeof Module['preRun'] == 'function') Module['preRun'] = [Module['preRun']]; - while (Module['preRun'].length) { - addOnPreRun(Module['preRun'].shift()); - } - } - consumedModuleProp('preRun'); - callRuntimeCallbacks(onPreRuns); -} - -function initRuntime() { - assert(!runtimeInitialized); - runtimeInitialized = true; - - checkStackCookie(); - - - - wasmExports['__wasm_call_ctors'](); - - -} - -function preMain() { - checkStackCookie(); - -} - -function postRun() { - checkStackCookie(); - - if (Module['postRun']) { - if (typeof Module['postRun'] == 'function') Module['postRun'] = [Module['postRun']]; - while (Module['postRun'].length) { - addOnPostRun(Module['postRun'].shift()); - } - } - consumedModuleProp('postRun'); - - callRuntimeCallbacks(onPostRuns); -} - -// A counter of dependencies for calling run(). If we need to -// do asynchronous work before running, increment this and -// decrement it. Incrementing must happen in a place like -// Module.preRun (used by emcc to add file preloading). -// Note that you can add dependencies in preRun, even though -// it happens right before run - run will be postponed until -// the dependencies are met. -var runDependencies = 0; -var dependenciesFulfilled = null; // overridden to take different actions when all run dependencies are fulfilled -var runDependencyTracking = {}; -var runDependencyWatcher = null; - -function getUniqueRunDependency(id) { - var orig = id; - while (1) { - if (!runDependencyTracking[id]) return id; - id = orig + Math.random(); - } -} - -function addRunDependency(id) { - runDependencies++; - - Module['monitorRunDependencies']?.(runDependencies); - - if (id) { - assert(!runDependencyTracking[id]); - runDependencyTracking[id] = 1; - if (runDependencyWatcher === null && typeof setInterval != 'undefined') { - // Check for missing dependencies every few seconds - runDependencyWatcher = setInterval(() => { - if (ABORT) { - clearInterval(runDependencyWatcher); - runDependencyWatcher = null; - return; - } - var shown = false; - for (var dep in runDependencyTracking) { - if (!shown) { - shown = true; - err('still waiting on run dependencies:'); - } - err(`dependency: ${dep}`); - } - if (shown) { - err('(end of list)'); - } - }, 10000); - } - } else { - err('warning: run dependency added without ID'); - } -} - -function removeRunDependency(id) { - runDependencies--; - - Module['monitorRunDependencies']?.(runDependencies); - - if (id) { - assert(runDependencyTracking[id]); - delete runDependencyTracking[id]; - } else { - err('warning: run dependency removed without ID'); - } - if (runDependencies == 0) { - if (runDependencyWatcher !== null) { - clearInterval(runDependencyWatcher); - runDependencyWatcher = null; - } - if (dependenciesFulfilled) { - var callback = dependenciesFulfilled; - dependenciesFulfilled = null; - callback(); // can add another dependenciesFulfilled - } - } -} - -/** @param {string|number=} what */ -function abort(what) { - Module['onAbort']?.(what); - - what = 'Aborted(' + what + ')'; - // TODO(sbc): Should we remove printing and leave it up to whoever - // catches the exception? - err(what); - - ABORT = true; - - // Use a wasm runtime error, because a JS error might be seen as a foreign - // exception, which means we'd run destructors on it. We need the error to - // simply make the program stop. - // FIXME This approach does not work in Wasm EH because it currently does not assume - // all RuntimeErrors are from traps; it decides whether a RuntimeError is from - // a trap or not based on a hidden field within the object. So at the moment - // we don't have a way of throwing a wasm trap from JS. TODO Make a JS API that - // allows this in the wasm spec. - - // Suppress closure compiler warning here. Closure compiler's builtin extern - // definition for WebAssembly.RuntimeError claims it takes no arguments even - // though it can. - // TODO(https://github.com/google/closure-compiler/pull/3913): Remove if/when upstream closure gets fixed. - /** @suppress {checkTypes} */ - var e = new WebAssembly.RuntimeError(what); - - // Throw the error whether or not MODULARIZE is set because abort is used - // in code paths apart from instantiation where an exception is expected - // to be thrown when abort is called. - throw e; -} - -// show errors on likely calls to FS when it was not included -var FS = { - error() { - abort('Filesystem support (FS) was not included. The problem is that you are using files from JS, but files were not used from C/C++, so filesystem support was not auto-included. You can force-include filesystem support with -sFORCE_FILESYSTEM'); - }, - init() { FS.error() }, - createDataFile() { FS.error() }, - createPreloadedFile() { FS.error() }, - createLazyFile() { FS.error() }, - open() { FS.error() }, - mkdev() { FS.error() }, - registerDevice() { FS.error() }, - analyzePath() { FS.error() }, - - ErrnoError() { FS.error() }, -}; -Module['FS_createDataFile'] = FS.createDataFile; -Module['FS_createPreloadedFile'] = FS.createPreloadedFile; - -function createExportWrapper(name, nargs) { - return (...args) => { - assert(runtimeInitialized, `native function \`${name}\` called before runtime initialization`); - var f = wasmExports[name]; - assert(f, `exported native function \`${name}\` not found`); - // Only assert for too many arguments. Too few can be valid since the missing arguments will be zero filled. - assert(args.length <= nargs, `native function \`${name}\` called with ${args.length} args but expects ${nargs}`); - return f(...args); - }; -} - -var wasmBinaryFile; - -function findWasmBinary() { - return locateFile('cmTC_063d1.wasm'); -} - -function getBinarySync(file) { - if (file == wasmBinaryFile && wasmBinary) { - return new Uint8Array(wasmBinary); - } - if (readBinary) { - return readBinary(file); - } - throw 'both async and sync fetching of the wasm failed'; -} - -async function getWasmBinary(binaryFile) { - // If we don't have the binary yet, load it asynchronously using readAsync. - if (!wasmBinary) { - // Fetch the binary using readAsync - try { - var response = await readAsync(binaryFile); - return new Uint8Array(response); - } catch { - // Fall back to getBinarySync below; - } - } - - // Otherwise, getBinarySync should be able to get it synchronously - return getBinarySync(binaryFile); -} - -async function instantiateArrayBuffer(binaryFile, imports) { - try { - var binary = await getWasmBinary(binaryFile); - var instance = await WebAssembly.instantiate(binary, imports); - return instance; - } catch (reason) { - err(`failed to asynchronously prepare wasm: ${reason}`); - - // Warn on some common problems. - if (isFileURI(wasmBinaryFile)) { - err(`warning: Loading from a file URI (${wasmBinaryFile}) is not supported in most browsers. See https://emscripten.org/docs/getting_started/FAQ.html#how-do-i-run-a-local-webserver-for-testing-why-does-my-program-stall-in-downloading-or-preparing`); - } - abort(reason); - } -} - -async function instantiateAsync(binary, binaryFile, imports) { - if (!binary && typeof WebAssembly.instantiateStreaming == 'function' - // Don't use streaming for file:// delivered objects in a webview, fetch them synchronously. - && !isFileURI(binaryFile) - // Avoid instantiateStreaming() on Node.js environment for now, as while - // Node.js v18.1.0 implements it, it does not have a full fetch() - // implementation yet. - // - // Reference: - // https://github.com/emscripten-core/emscripten/pull/16917 - && !ENVIRONMENT_IS_NODE - ) { - try { - var response = fetch(binaryFile, { credentials: 'same-origin' }); - var instantiationResult = await WebAssembly.instantiateStreaming(response, imports); - return instantiationResult; - } catch (reason) { - // We expect the most common failure cause to be a bad MIME type for the binary, - // in which case falling back to ArrayBuffer instantiation should work. - err(`wasm streaming compile failed: ${reason}`); - err('falling back to ArrayBuffer instantiation'); - // fall back of instantiateArrayBuffer below - }; - } - return instantiateArrayBuffer(binaryFile, imports); -} - -function getWasmImports() { - // prepare imports - return { - 'env': wasmImports, - 'wasi_snapshot_preview1': wasmImports, - } -} - -// Create the wasm instance. -// Receives the wasm imports, returns the exports. -async function createWasm() { - // Load the wasm module and create an instance of using native support in the JS engine. - // handle a generated wasm instance, receiving its exports and - // performing other necessary setup - /** @param {WebAssembly.Module=} module*/ - function receiveInstance(instance, module) { - wasmExports = instance.exports; - - - - wasmMemory = wasmExports['memory']; - - assert(wasmMemory, 'memory not found in wasm exports'); - updateMemoryViews(); - - removeRunDependency('wasm-instantiate'); - return wasmExports; - } - // wait for the pthread pool (if any) - addRunDependency('wasm-instantiate'); - - // Prefer streaming instantiation if available. - // Async compilation can be confusing when an error on the page overwrites Module - // (for example, if the order of elements is wrong, and the one defining Module is - // later), so we save Module and check it later. - var trueModule = Module; - function receiveInstantiationResult(result) { - // 'result' is a ResultObject object which has both the module and instance. - // receiveInstance() will swap in the exports (to Module.asm) so they can be called - assert(Module === trueModule, 'the Module object should not be replaced during async compilation - perhaps the order of HTML elements is wrong?'); - trueModule = null; - // TODO: Due to Closure regression https://github.com/google/closure-compiler/issues/3193, the above line no longer optimizes out down to the following line. - // When the regression is fixed, can restore the above PTHREADS-enabled path. - return receiveInstance(result['instance']); - } - - var info = getWasmImports(); - - // User shell pages can write their own Module.instantiateWasm = function(imports, successCallback) callback - // to manually instantiate the Wasm module themselves. This allows pages to - // run the instantiation parallel to any other async startup actions they are - // performing. - // Also pthreads and wasm workers initialize the wasm instance through this - // path. - if (Module['instantiateWasm']) { - return new Promise((resolve, reject) => { - try { - Module['instantiateWasm'](info, (mod, inst) => { - receiveInstance(mod, inst); - resolve(mod.exports); - }); - } catch(e) { - err(`Module.instantiateWasm callback failed with error: ${e}`); - reject(e); - } - }); - } - - wasmBinaryFile ??= findWasmBinary(); - var result = await instantiateAsync(wasmBinary, wasmBinaryFile, info); - var exports = receiveInstantiationResult(result); - return exports; -} - -// end include: preamble.js - -// Begin JS library code - - - class ExitStatus { - name = 'ExitStatus'; - constructor(status) { - this.message = `Program terminated with exit(${status})`; - this.status = status; - } - } - - var callRuntimeCallbacks = (callbacks) => { - while (callbacks.length > 0) { - // Pass the module as the first argument. - callbacks.shift()(Module); - } - }; - var onPostRuns = []; - var addOnPostRun = (cb) => onPostRuns.unshift(cb); - - var onPreRuns = []; - var addOnPreRun = (cb) => onPreRuns.unshift(cb); - - - - /** - * @param {number} ptr - * @param {string} type - */ - function getValue(ptr, type = 'i8') { - if (type.endsWith('*')) type = '*'; - switch (type) { - case 'i1': return HEAP8[ptr]; - case 'i8': return HEAP8[ptr]; - case 'i16': return HEAP16[((ptr)>>1)]; - case 'i32': return HEAP32[((ptr)>>2)]; - case 'i64': return HEAP64[((ptr)>>3)]; - case 'float': return HEAPF32[((ptr)>>2)]; - case 'double': return HEAPF64[((ptr)>>3)]; - case '*': return HEAPU32[((ptr)>>2)]; - default: abort(`invalid type for getValue: ${type}`); - } - } - - var noExitRuntime = Module['noExitRuntime'] || true; - - var ptrToString = (ptr) => { - assert(typeof ptr === 'number'); - // With CAN_ADDRESS_2GB or MEMORY64, pointers are already unsigned. - ptr >>>= 0; - return '0x' + ptr.toString(16).padStart(8, '0'); - }; - - - /** - * @param {number} ptr - * @param {number} value - * @param {string} type - */ - function setValue(ptr, value, type = 'i8') { - if (type.endsWith('*')) type = '*'; - switch (type) { - case 'i1': HEAP8[ptr] = value; break; - case 'i8': HEAP8[ptr] = value; break; - case 'i16': HEAP16[((ptr)>>1)] = value; break; - case 'i32': HEAP32[((ptr)>>2)] = value; break; - case 'i64': HEAP64[((ptr)>>3)] = BigInt(value); break; - case 'float': HEAPF32[((ptr)>>2)] = value; break; - case 'double': HEAPF64[((ptr)>>3)] = value; break; - case '*': HEAPU32[((ptr)>>2)] = value; break; - default: abort(`invalid type for setValue: ${type}`); - } - } - - var stackRestore = (val) => __emscripten_stack_restore(val); - - var stackSave = () => _emscripten_stack_get_current(); - - var warnOnce = (text) => { - warnOnce.shown ||= {}; - if (!warnOnce.shown[text]) { - warnOnce.shown[text] = 1; - if (ENVIRONMENT_IS_NODE) text = 'warning: ' + text; - err(text); - } - }; - - - var runtimeKeepaliveCounter = 0; - var keepRuntimeAlive = () => noExitRuntime || runtimeKeepaliveCounter > 0; - var _proc_exit = (code) => { - EXITSTATUS = code; - if (!keepRuntimeAlive()) { - Module['onExit']?.(code); - ABORT = true; - } - quit_(code, new ExitStatus(code)); - }; - - - /** @param {boolean|number=} implicit */ - var exitJS = (status, implicit) => { - EXITSTATUS = status; - - checkUnflushedContent(); - - // if exit() was called explicitly, warn the user if the runtime isn't actually being shut down - if (keepRuntimeAlive() && !implicit) { - var msg = `program exited (with status: ${status}), but keepRuntimeAlive() is set (counter=${runtimeKeepaliveCounter}) due to an async operation, so halting execution but not exiting the runtime or preventing further async execution (you can use emscripten_force_exit, if you want to force a true shutdown)`; - err(msg); - } - - _proc_exit(status); - }; - - var handleException = (e) => { - // Certain exception types we do not treat as errors since they are used for - // internal control flow. - // 1. ExitStatus, which is thrown by exit() - // 2. "unwind", which is thrown by emscripten_unwind_to_js_event_loop() and others - // that wish to return to JS event loop. - if (e instanceof ExitStatus || e == 'unwind') { - return EXITSTATUS; - } - checkStackCookie(); - if (e instanceof WebAssembly.RuntimeError) { - if (_emscripten_stack_get_current() <= 0) { - err('Stack overflow detected. You can try increasing -sSTACK_SIZE (currently set to 65536)'); - } - } - quit_(1, e); - }; - - var lengthBytesUTF8 = (str) => { - var len = 0; - for (var i = 0; i < str.length; ++i) { - // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code - // unit, not a Unicode code point of the character! So decode - // UTF16->UTF32->UTF8. - // See http://unicode.org/faq/utf_bom.html#utf16-3 - var c = str.charCodeAt(i); // possibly a lead surrogate - if (c <= 0x7F) { - len++; - } else if (c <= 0x7FF) { - len += 2; - } else if (c >= 0xD800 && c <= 0xDFFF) { - len += 4; ++i; - } else { - len += 3; - } - } - return len; - }; - - var stringToUTF8Array = (str, heap, outIdx, maxBytesToWrite) => { - assert(typeof str === 'string', `stringToUTF8Array expects a string (got ${typeof str})`); - // Parameter maxBytesToWrite is not optional. Negative values, 0, null, - // undefined and false each don't write out any bytes. - if (!(maxBytesToWrite > 0)) - return 0; - - var startIdx = outIdx; - var endIdx = outIdx + maxBytesToWrite - 1; // -1 for string null terminator. - for (var i = 0; i < str.length; ++i) { - // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code - // unit, not a Unicode code point of the character! So decode - // UTF16->UTF32->UTF8. - // See http://unicode.org/faq/utf_bom.html#utf16-3 - // For UTF8 byte structure, see http://en.wikipedia.org/wiki/UTF-8#Description - // and https://www.ietf.org/rfc/rfc2279.txt - // and https://tools.ietf.org/html/rfc3629 - var u = str.charCodeAt(i); // possibly a lead surrogate - if (u >= 0xD800 && u <= 0xDFFF) { - var u1 = str.charCodeAt(++i); - u = 0x10000 + ((u & 0x3FF) << 10) | (u1 & 0x3FF); - } - if (u <= 0x7F) { - if (outIdx >= endIdx) break; - heap[outIdx++] = u; - } else if (u <= 0x7FF) { - if (outIdx + 1 >= endIdx) break; - heap[outIdx++] = 0xC0 | (u >> 6); - heap[outIdx++] = 0x80 | (u & 63); - } else if (u <= 0xFFFF) { - if (outIdx + 2 >= endIdx) break; - heap[outIdx++] = 0xE0 | (u >> 12); - heap[outIdx++] = 0x80 | ((u >> 6) & 63); - heap[outIdx++] = 0x80 | (u & 63); - } else { - if (outIdx + 3 >= endIdx) break; - if (u > 0x10FFFF) warnOnce('Invalid Unicode code point ' + ptrToString(u) + ' encountered when serializing a JS string to a UTF-8 string in wasm memory! (Valid unicode code points should be in range 0-0x10FFFF).'); - heap[outIdx++] = 0xF0 | (u >> 18); - heap[outIdx++] = 0x80 | ((u >> 12) & 63); - heap[outIdx++] = 0x80 | ((u >> 6) & 63); - heap[outIdx++] = 0x80 | (u & 63); - } - } - // Null-terminate the pointer to the buffer. - heap[outIdx] = 0; - return outIdx - startIdx; - }; - var stringToUTF8 = (str, outPtr, maxBytesToWrite) => { - assert(typeof maxBytesToWrite == 'number', 'stringToUTF8(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!'); - return stringToUTF8Array(str, HEAPU8, outPtr, maxBytesToWrite); - }; - - var stackAlloc = (sz) => __emscripten_stack_alloc(sz); - var stringToUTF8OnStack = (str) => { - var size = lengthBytesUTF8(str) + 1; - var ret = stackAlloc(size); - stringToUTF8(str, ret, size); - return ret; - }; -// End JS library code - -function checkIncomingModuleAPI() { - ignoredModuleProp('fetchSettings'); -} -var wasmImports = { - -}; -var wasmExports; -createWasm(); -var ___wasm_call_ctors = createExportWrapper('__wasm_call_ctors', 0); -var _main = Module['_main'] = createExportWrapper('__main_argc_argv', 2); -var _fflush = createExportWrapper('fflush', 1); -var _emscripten_stack_init = () => (_emscripten_stack_init = wasmExports['emscripten_stack_init'])(); -var _emscripten_stack_get_free = () => (_emscripten_stack_get_free = wasmExports['emscripten_stack_get_free'])(); -var _emscripten_stack_get_base = () => (_emscripten_stack_get_base = wasmExports['emscripten_stack_get_base'])(); -var _emscripten_stack_get_end = () => (_emscripten_stack_get_end = wasmExports['emscripten_stack_get_end'])(); -var __emscripten_stack_restore = (a0) => (__emscripten_stack_restore = wasmExports['_emscripten_stack_restore'])(a0); -var __emscripten_stack_alloc = (a0) => (__emscripten_stack_alloc = wasmExports['_emscripten_stack_alloc'])(a0); -var _emscripten_stack_get_current = () => (_emscripten_stack_get_current = wasmExports['emscripten_stack_get_current'])(); - - -// include: postamble.js -// === Auto-generated postamble setup entry stuff === - -var missingLibrarySymbols = [ - 'writeI53ToI64', - 'writeI53ToI64Clamped', - 'writeI53ToI64Signaling', - 'writeI53ToU64Clamped', - 'writeI53ToU64Signaling', - 'readI53FromI64', - 'readI53FromU64', - 'convertI32PairToI53', - 'convertI32PairToI53Checked', - 'convertU32PairToI53', - 'bigintToI53Checked', - 'getTempRet0', - 'setTempRet0', - 'zeroMemory', - 'getHeapMax', - 'abortOnCannotGrowMemory', - 'growMemory', - 'strError', - 'inetPton4', - 'inetNtop4', - 'inetPton6', - 'inetNtop6', - 'readSockaddr', - 'writeSockaddr', - 'emscriptenLog', - 'readEmAsmArgs', - 'jstoi_q', - 'getExecutableName', - 'listenOnce', - 'autoResumeAudioContext', - 'getDynCaller', - 'dynCall', - 'runtimeKeepalivePush', - 'runtimeKeepalivePop', - 'callUserCallback', - 'maybeExit', - 'asmjsMangle', - 'asyncLoad', - 'alignMemory', - 'mmapAlloc', - 'HandleAllocator', - 'getNativeTypeSize', - 'addOnInit', - 'addOnPostCtor', - 'addOnPreMain', - 'addOnExit', - 'STACK_SIZE', - 'STACK_ALIGN', - 'POINTER_SIZE', - 'ASSERTIONS', - 'getCFunc', - 'ccall', - 'cwrap', - 'uleb128Encode', - 'sigToWasmTypes', - 'generateFuncType', - 'convertJsFunctionToWasm', - 'getEmptyTableSlot', - 'updateTableMap', - 'getFunctionAddress', - 'addFunction', - 'removeFunction', - 'reallyNegative', - 'unSign', - 'strLen', - 'reSign', - 'formatString', - 'UTF8ArrayToString', - 'UTF8ToString', - 'intArrayFromString', - 'intArrayToString', - 'AsciiToString', - 'stringToAscii', - 'UTF16ToString', - 'stringToUTF16', - 'lengthBytesUTF16', - 'UTF32ToString', - 'stringToUTF32', - 'lengthBytesUTF32', - 'stringToNewUTF8', - 'writeArrayToMemory', - 'registerKeyEventCallback', - 'maybeCStringToJsString', - 'findEventTarget', - 'getBoundingClientRect', - 'fillMouseEventData', - 'registerMouseEventCallback', - 'registerWheelEventCallback', - 'registerUiEventCallback', - 'registerFocusEventCallback', - 'fillDeviceOrientationEventData', - 'registerDeviceOrientationEventCallback', - 'fillDeviceMotionEventData', - 'registerDeviceMotionEventCallback', - 'screenOrientation', - 'fillOrientationChangeEventData', - 'registerOrientationChangeEventCallback', - 'fillFullscreenChangeEventData', - 'registerFullscreenChangeEventCallback', - 'JSEvents_requestFullscreen', - 'JSEvents_resizeCanvasForFullscreen', - 'registerRestoreOldStyle', - 'hideEverythingExceptGivenElement', - 'restoreHiddenElements', - 'setLetterbox', - 'softFullscreenResizeWebGLRenderTarget', - 'doRequestFullscreen', - 'fillPointerlockChangeEventData', - 'registerPointerlockChangeEventCallback', - 'registerPointerlockErrorEventCallback', - 'requestPointerLock', - 'fillVisibilityChangeEventData', - 'registerVisibilityChangeEventCallback', - 'registerTouchEventCallback', - 'fillGamepadEventData', - 'registerGamepadEventCallback', - 'registerBeforeUnloadEventCallback', - 'fillBatteryEventData', - 'battery', - 'registerBatteryEventCallback', - 'setCanvasElementSize', - 'getCanvasElementSize', - 'jsStackTrace', - 'getCallstack', - 'convertPCtoSourceLocation', - 'getEnvStrings', - 'checkWasiClock', - 'flush_NO_FILESYSTEM', - 'wasiRightsToMuslOFlags', - 'wasiOFlagsToMuslOFlags', - 'initRandomFill', - 'randomFill', - 'safeSetTimeout', - 'setImmediateWrapped', - 'safeRequestAnimationFrame', - 'clearImmediateWrapped', - 'registerPostMainLoop', - 'registerPreMainLoop', - 'getPromise', - 'makePromise', - 'idsToPromises', - 'makePromiseCallback', - 'ExceptionInfo', - 'findMatchingCatch', - 'Browser_asyncPrepareDataCounter', - 'isLeapYear', - 'ydayFromDate', - 'arraySum', - 'addDays', - 'getSocketFromFD', - 'getSocketAddress', - 'FS_createPreloadedFile', - 'FS_modeStringToFlags', - 'FS_getMode', - 'FS_stdin_getChar', - 'FS_unlink', - 'FS_createDataFile', - 'FS_mkdirTree', - '_setNetworkCallback', - 'heapObjectForWebGLType', - 'toTypedArrayIndex', - 'webgl_enable_ANGLE_instanced_arrays', - 'webgl_enable_OES_vertex_array_object', - 'webgl_enable_WEBGL_draw_buffers', - 'webgl_enable_WEBGL_multi_draw', - 'webgl_enable_EXT_polygon_offset_clamp', - 'webgl_enable_EXT_clip_control', - 'webgl_enable_WEBGL_polygon_mode', - 'emscriptenWebGLGet', - 'computeUnpackAlignedImageSize', - 'colorChannelsInGlTextureFormat', - 'emscriptenWebGLGetTexPixelData', - 'emscriptenWebGLGetUniform', - 'webglGetUniformLocation', - 'webglPrepareUniformLocationsBeforeFirstUse', - 'webglGetLeftBracePos', - 'emscriptenWebGLGetVertexAttrib', - '__glGetActiveAttribOrUniform', - 'writeGLArray', - 'registerWebGlEventCallback', - 'runAndAbortIfError', - 'ALLOC_NORMAL', - 'ALLOC_STACK', - 'allocate', - 'writeStringToMemory', - 'writeAsciiToMemory', - 'demangle', - 'stackTrace', -]; -missingLibrarySymbols.forEach(missingLibrarySymbol) - -var unexportedSymbols = [ - 'run', - 'addRunDependency', - 'removeRunDependency', - 'out', - 'err', - 'callMain', - 'abort', - 'wasmMemory', - 'wasmExports', - 'writeStackCookie', - 'checkStackCookie', - 'INT53_MAX', - 'INT53_MIN', - 'stackSave', - 'stackRestore', - 'stackAlloc', - 'ptrToString', - 'exitJS', - 'ENV', - 'ERRNO_CODES', - 'DNS', - 'Protocols', - 'Sockets', - 'timers', - 'warnOnce', - 'readEmAsmArgsArray', - 'jstoi_s', - 'handleException', - 'keepRuntimeAlive', - 'wasmTable', - 'noExitRuntime', - 'addOnPreRun', - 'addOnPostRun', - 'freeTableIndexes', - 'functionsInTableMap', - 'setValue', - 'getValue', - 'PATH', - 'PATH_FS', - 'UTF8Decoder', - 'stringToUTF8Array', - 'stringToUTF8', - 'lengthBytesUTF8', - 'UTF16Decoder', - 'stringToUTF8OnStack', - 'JSEvents', - 'specialHTMLTargets', - 'findCanvasEventTarget', - 'currentFullscreenStrategy', - 'restoreOldWindowedStyle', - 'UNWIND_CACHE', - 'ExitStatus', - 'emSetImmediate', - 'emClearImmediate_deps', - 'emClearImmediate', - 'promiseMap', - 'uncaughtExceptionCount', - 'exceptionLast', - 'exceptionCaught', - 'Browser', - 'getPreloadedImageData__data', - 'wget', - 'MONTH_DAYS_REGULAR', - 'MONTH_DAYS_LEAP', - 'MONTH_DAYS_REGULAR_CUMULATIVE', - 'MONTH_DAYS_LEAP_CUMULATIVE', - 'SYSCALLS', - 'preloadPlugins', - 'FS_stdin_getChar_buffer', - 'FS_createPath', - 'FS_createDevice', - 'FS_readFile', - 'FS', - 'FS_createLazyFile', - 'MEMFS', - 'TTY', - 'PIPEFS', - 'SOCKFS', - 'tempFixedLengthArray', - 'miniTempWebGLFloatBuffers', - 'miniTempWebGLIntBuffers', - 'GL', - 'AL', - 'GLUT', - 'EGL', - 'GLEW', - 'IDBStore', - 'SDL', - 'SDL_gfx', - 'allocateUTF8', - 'allocateUTF8OnStack', - 'print', - 'printErr', -]; -unexportedSymbols.forEach(unexportedRuntimeSymbol); - - - -var calledRun; - -function callMain(args = []) { - assert(runDependencies == 0, 'cannot call main when async dependencies remain! (listen on Module["onRuntimeInitialized"])'); - assert(typeof onPreRuns === 'undefined' || onPreRuns.length == 0, 'cannot call main when preRun functions remain to be called'); - - var entryFunction = _main; - - args.unshift(thisProgram); - - var argc = args.length; - var argv = stackAlloc((argc + 1) * 4); - var argv_ptr = argv; - args.forEach((arg) => { - HEAPU32[((argv_ptr)>>2)] = stringToUTF8OnStack(arg); - argv_ptr += 4; - }); - HEAPU32[((argv_ptr)>>2)] = 0; - - try { - - var ret = entryFunction(argc, argv); - - // if we're not running an evented main loop, it's time to exit - exitJS(ret, /* implicit = */ true); - return ret; - } catch (e) { - return handleException(e); - } -} - -function stackCheckInit() { - // This is normally called automatically during __wasm_call_ctors but need to - // get these values before even running any of the ctors so we call it redundantly - // here. - _emscripten_stack_init(); - // TODO(sbc): Move writeStackCookie to native to to avoid this. - writeStackCookie(); -} - -function run(args = arguments_) { - - if (runDependencies > 0) { - dependenciesFulfilled = run; - return; - } - - stackCheckInit(); - - preRun(); - - // a preRun added a dependency, run will be called later - if (runDependencies > 0) { - dependenciesFulfilled = run; - return; - } - - function doRun() { - // run may have just been called through dependencies being fulfilled just in this very frame, - // or while the async setStatus time below was happening - assert(!calledRun); - calledRun = true; - Module['calledRun'] = true; - - if (ABORT) return; - - initRuntime(); - - preMain(); - - Module['onRuntimeInitialized']?.(); - consumedModuleProp('onRuntimeInitialized'); - - var noInitialRun = Module['noInitialRun'];legacyModuleProp('noInitialRun', 'noInitialRun'); - if (!noInitialRun) callMain(args); - - postRun(); - } - - if (Module['setStatus']) { - Module['setStatus']('Running...'); - setTimeout(() => { - setTimeout(() => Module['setStatus'](''), 1); - doRun(); - }, 1); - } else - { - doRun(); - } - checkStackCookie(); -} - -function checkUnflushedContent() { - // Compiler settings do not allow exiting the runtime, so flushing - // the streams is not possible. but in ASSERTIONS mode we check - // if there was something to flush, and if so tell the user they - // should request that the runtime be exitable. - // Normally we would not even include flush() at all, but in ASSERTIONS - // builds we do so just for this check, and here we see if there is any - // content to flush, that is, we check if there would have been - // something a non-ASSERTIONS build would have not seen. - // How we flush the streams depends on whether we are in SYSCALLS_REQUIRE_FILESYSTEM=0 - // mode (which has its own special function for this; otherwise, all - // the code is inside libc) - var oldOut = out; - var oldErr = err; - var has = false; - out = err = (x) => { - has = true; - } - try { // it doesn't matter if it fails - _fflush(0); - } catch(e) {} - out = oldOut; - err = oldErr; - if (has) { - warnOnce('stdio streams had content in them that was not flushed. you should set EXIT_RUNTIME to 1 (see the Emscripten FAQ), or make sure to emit a newline when you printf etc.'); - warnOnce('(this may also be due to not including full filesystem support - try building with -sFORCE_FILESYSTEM)'); - } -} - -if (Module['preInit']) { - if (typeof Module['preInit'] == 'function') Module['preInit'] = [Module['preInit']]; - while (Module['preInit'].length > 0) { - Module['preInit'].pop()(); - } -} -consumedModuleProp('preInit'); - -run(); - -// end include: postamble.js - diff --git a/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/3.28.3/CMakeSystem.cmake b/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/3.28.3/CMakeSystem.cmake deleted file mode 100644 index 196df84..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/3.28.3/CMakeSystem.cmake +++ /dev/null @@ -1,15 +0,0 @@ -set(CMAKE_HOST_SYSTEM "Linux-6.8.0-53-generic") -set(CMAKE_HOST_SYSTEM_NAME "Linux") -set(CMAKE_HOST_SYSTEM_VERSION "6.8.0-53-generic") -set(CMAKE_HOST_SYSTEM_PROCESSOR "x86_64") - -include("/home/romazan/Рабочий стол/emsdk/upstream/emscripten/cmake/Modules/Platform/Emscripten.cmake") - -set(CMAKE_SYSTEM "Emscripten-1") -set(CMAKE_SYSTEM_NAME "Emscripten") -set(CMAKE_SYSTEM_VERSION "1") -set(CMAKE_SYSTEM_PROCESSOR "x86") - -set(CMAKE_CROSSCOMPILING "TRUE") - -set(CMAKE_SYSTEM_LOADED 1) diff --git a/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/3.28.3/CompilerIdC/CMakeCCompilerId.c b/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/3.28.3/CompilerIdC/CMakeCCompilerId.c deleted file mode 100644 index 0a0ec9b..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/3.28.3/CompilerIdC/CMakeCCompilerId.c +++ /dev/null @@ -1,880 +0,0 @@ -#ifdef __cplusplus -# error "A C++ compiler has been selected for C." -#endif - -#if defined(__18CXX) -# define ID_VOID_MAIN -#endif -#if defined(__CLASSIC_C__) -/* cv-qualifiers did not exist in K&R C */ -# define const -# define volatile -#endif - -#if !defined(__has_include) -/* If the compiler does not have __has_include, pretend the answer is - always no. */ -# define __has_include(x) 0 -#endif - - -/* Version number components: V=Version, R=Revision, P=Patch - Version date components: YYYY=Year, MM=Month, DD=Day */ - -#if defined(__INTEL_COMPILER) || defined(__ICC) -# define COMPILER_ID "Intel" -# if defined(_MSC_VER) -# define SIMULATE_ID "MSVC" -# endif -# if defined(__GNUC__) -# define SIMULATE_ID "GNU" -# endif - /* __INTEL_COMPILER = VRP prior to 2021, and then VVVV for 2021 and later, - except that a few beta releases use the old format with V=2021. */ -# if __INTEL_COMPILER < 2021 || __INTEL_COMPILER == 202110 || __INTEL_COMPILER == 202111 -# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER/100) -# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER/10 % 10) -# if defined(__INTEL_COMPILER_UPDATE) -# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER_UPDATE) -# else -# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER % 10) -# endif -# else -# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER) -# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER_UPDATE) - /* The third version component from --version is an update index, - but no macro is provided for it. */ -# define COMPILER_VERSION_PATCH DEC(0) -# endif -# if defined(__INTEL_COMPILER_BUILD_DATE) - /* __INTEL_COMPILER_BUILD_DATE = YYYYMMDD */ -# define COMPILER_VERSION_TWEAK DEC(__INTEL_COMPILER_BUILD_DATE) -# endif -# if defined(_MSC_VER) - /* _MSC_VER = VVRR */ -# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) -# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) -# endif -# if defined(__GNUC__) -# define SIMULATE_VERSION_MAJOR DEC(__GNUC__) -# elif defined(__GNUG__) -# define SIMULATE_VERSION_MAJOR DEC(__GNUG__) -# endif -# if defined(__GNUC_MINOR__) -# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__) -# endif -# if defined(__GNUC_PATCHLEVEL__) -# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) -# endif - -#elif (defined(__clang__) && defined(__INTEL_CLANG_COMPILER)) || defined(__INTEL_LLVM_COMPILER) -# define COMPILER_ID "IntelLLVM" -#if defined(_MSC_VER) -# define SIMULATE_ID "MSVC" -#endif -#if defined(__GNUC__) -# define SIMULATE_ID "GNU" -#endif -/* __INTEL_LLVM_COMPILER = VVVVRP prior to 2021.2.0, VVVVRRPP for 2021.2.0 and - * later. Look for 6 digit vs. 8 digit version number to decide encoding. - * VVVV is no smaller than the current year when a version is released. - */ -#if __INTEL_LLVM_COMPILER < 1000000L -# define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/100) -# define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/10 % 10) -# define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER % 10) -#else -# define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/10000) -# define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/100 % 100) -# define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER % 100) -#endif -#if defined(_MSC_VER) - /* _MSC_VER = VVRR */ -# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) -# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) -#endif -#if defined(__GNUC__) -# define SIMULATE_VERSION_MAJOR DEC(__GNUC__) -#elif defined(__GNUG__) -# define SIMULATE_VERSION_MAJOR DEC(__GNUG__) -#endif -#if defined(__GNUC_MINOR__) -# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__) -#endif -#if defined(__GNUC_PATCHLEVEL__) -# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) -#endif - -#elif defined(__PATHCC__) -# define COMPILER_ID "PathScale" -# define COMPILER_VERSION_MAJOR DEC(__PATHCC__) -# define COMPILER_VERSION_MINOR DEC(__PATHCC_MINOR__) -# if defined(__PATHCC_PATCHLEVEL__) -# define COMPILER_VERSION_PATCH DEC(__PATHCC_PATCHLEVEL__) -# endif - -#elif defined(__BORLANDC__) && defined(__CODEGEARC_VERSION__) -# define COMPILER_ID "Embarcadero" -# define COMPILER_VERSION_MAJOR HEX(__CODEGEARC_VERSION__>>24 & 0x00FF) -# define COMPILER_VERSION_MINOR HEX(__CODEGEARC_VERSION__>>16 & 0x00FF) -# define COMPILER_VERSION_PATCH DEC(__CODEGEARC_VERSION__ & 0xFFFF) - -#elif defined(__BORLANDC__) -# define COMPILER_ID "Borland" - /* __BORLANDC__ = 0xVRR */ -# define COMPILER_VERSION_MAJOR HEX(__BORLANDC__>>8) -# define COMPILER_VERSION_MINOR HEX(__BORLANDC__ & 0xFF) - -#elif defined(__WATCOMC__) && __WATCOMC__ < 1200 -# define COMPILER_ID "Watcom" - /* __WATCOMC__ = VVRR */ -# define COMPILER_VERSION_MAJOR DEC(__WATCOMC__ / 100) -# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) -# if (__WATCOMC__ % 10) > 0 -# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) -# endif - -#elif defined(__WATCOMC__) -# define COMPILER_ID "OpenWatcom" - /* __WATCOMC__ = VVRP + 1100 */ -# define COMPILER_VERSION_MAJOR DEC((__WATCOMC__ - 1100) / 100) -# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) -# if (__WATCOMC__ % 10) > 0 -# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) -# endif - -#elif defined(__SUNPRO_C) -# define COMPILER_ID "SunPro" -# if __SUNPRO_C >= 0x5100 - /* __SUNPRO_C = 0xVRRP */ -# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_C>>12) -# define COMPILER_VERSION_MINOR HEX(__SUNPRO_C>>4 & 0xFF) -# define COMPILER_VERSION_PATCH HEX(__SUNPRO_C & 0xF) -# else - /* __SUNPRO_CC = 0xVRP */ -# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_C>>8) -# define COMPILER_VERSION_MINOR HEX(__SUNPRO_C>>4 & 0xF) -# define COMPILER_VERSION_PATCH HEX(__SUNPRO_C & 0xF) -# endif - -#elif defined(__HP_cc) -# define COMPILER_ID "HP" - /* __HP_cc = VVRRPP */ -# define COMPILER_VERSION_MAJOR DEC(__HP_cc/10000) -# define COMPILER_VERSION_MINOR DEC(__HP_cc/100 % 100) -# define COMPILER_VERSION_PATCH DEC(__HP_cc % 100) - -#elif defined(__DECC) -# define COMPILER_ID "Compaq" - /* __DECC_VER = VVRRTPPPP */ -# define COMPILER_VERSION_MAJOR DEC(__DECC_VER/10000000) -# define COMPILER_VERSION_MINOR DEC(__DECC_VER/100000 % 100) -# define COMPILER_VERSION_PATCH DEC(__DECC_VER % 10000) - -#elif defined(__IBMC__) && defined(__COMPILER_VER__) -# define COMPILER_ID "zOS" - /* __IBMC__ = VRP */ -# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100) -# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10) -# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10) - -#elif defined(__open_xl__) && defined(__clang__) -# define COMPILER_ID "IBMClang" -# define COMPILER_VERSION_MAJOR DEC(__open_xl_version__) -# define COMPILER_VERSION_MINOR DEC(__open_xl_release__) -# define COMPILER_VERSION_PATCH DEC(__open_xl_modification__) -# define COMPILER_VERSION_TWEAK DEC(__open_xl_ptf_fix_level__) - - -#elif defined(__ibmxl__) && defined(__clang__) -# define COMPILER_ID "XLClang" -# define COMPILER_VERSION_MAJOR DEC(__ibmxl_version__) -# define COMPILER_VERSION_MINOR DEC(__ibmxl_release__) -# define COMPILER_VERSION_PATCH DEC(__ibmxl_modification__) -# define COMPILER_VERSION_TWEAK DEC(__ibmxl_ptf_fix_level__) - - -#elif defined(__IBMC__) && !defined(__COMPILER_VER__) && __IBMC__ >= 800 -# define COMPILER_ID "XL" - /* __IBMC__ = VRP */ -# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100) -# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10) -# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10) - -#elif defined(__IBMC__) && !defined(__COMPILER_VER__) && __IBMC__ < 800 -# define COMPILER_ID "VisualAge" - /* __IBMC__ = VRP */ -# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100) -# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10) -# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10) - -#elif defined(__NVCOMPILER) -# define COMPILER_ID "NVHPC" -# define COMPILER_VERSION_MAJOR DEC(__NVCOMPILER_MAJOR__) -# define COMPILER_VERSION_MINOR DEC(__NVCOMPILER_MINOR__) -# if defined(__NVCOMPILER_PATCHLEVEL__) -# define COMPILER_VERSION_PATCH DEC(__NVCOMPILER_PATCHLEVEL__) -# endif - -#elif defined(__PGI) -# define COMPILER_ID "PGI" -# define COMPILER_VERSION_MAJOR DEC(__PGIC__) -# define COMPILER_VERSION_MINOR DEC(__PGIC_MINOR__) -# if defined(__PGIC_PATCHLEVEL__) -# define COMPILER_VERSION_PATCH DEC(__PGIC_PATCHLEVEL__) -# endif - -#elif defined(__clang__) && defined(__cray__) -# define COMPILER_ID "CrayClang" -# define COMPILER_VERSION_MAJOR DEC(__cray_major__) -# define COMPILER_VERSION_MINOR DEC(__cray_minor__) -# define COMPILER_VERSION_PATCH DEC(__cray_patchlevel__) -# define COMPILER_VERSION_INTERNAL_STR __clang_version__ - - -#elif defined(_CRAYC) -# define COMPILER_ID "Cray" -# define COMPILER_VERSION_MAJOR DEC(_RELEASE_MAJOR) -# define COMPILER_VERSION_MINOR DEC(_RELEASE_MINOR) - -#elif defined(__TI_COMPILER_VERSION__) -# define COMPILER_ID "TI" - /* __TI_COMPILER_VERSION__ = VVVRRRPPP */ -# define COMPILER_VERSION_MAJOR DEC(__TI_COMPILER_VERSION__/1000000) -# define COMPILER_VERSION_MINOR DEC(__TI_COMPILER_VERSION__/1000 % 1000) -# define COMPILER_VERSION_PATCH DEC(__TI_COMPILER_VERSION__ % 1000) - -#elif defined(__CLANG_FUJITSU) -# define COMPILER_ID "FujitsuClang" -# define COMPILER_VERSION_MAJOR DEC(__FCC_major__) -# define COMPILER_VERSION_MINOR DEC(__FCC_minor__) -# define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__) -# define COMPILER_VERSION_INTERNAL_STR __clang_version__ - - -#elif defined(__FUJITSU) -# define COMPILER_ID "Fujitsu" -# if defined(__FCC_version__) -# define COMPILER_VERSION __FCC_version__ -# elif defined(__FCC_major__) -# define COMPILER_VERSION_MAJOR DEC(__FCC_major__) -# define COMPILER_VERSION_MINOR DEC(__FCC_minor__) -# define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__) -# endif -# if defined(__fcc_version) -# define COMPILER_VERSION_INTERNAL DEC(__fcc_version) -# elif defined(__FCC_VERSION) -# define COMPILER_VERSION_INTERNAL DEC(__FCC_VERSION) -# endif - - -#elif defined(__ghs__) -# define COMPILER_ID "GHS" -/* __GHS_VERSION_NUMBER = VVVVRP */ -# ifdef __GHS_VERSION_NUMBER -# define COMPILER_VERSION_MAJOR DEC(__GHS_VERSION_NUMBER / 100) -# define COMPILER_VERSION_MINOR DEC(__GHS_VERSION_NUMBER / 10 % 10) -# define COMPILER_VERSION_PATCH DEC(__GHS_VERSION_NUMBER % 10) -# endif - -#elif defined(__TASKING__) -# define COMPILER_ID "Tasking" - # define COMPILER_VERSION_MAJOR DEC(__VERSION__/1000) - # define COMPILER_VERSION_MINOR DEC(__VERSION__ % 100) -# define COMPILER_VERSION_INTERNAL DEC(__VERSION__) - -#elif defined(__ORANGEC__) -# define COMPILER_ID "OrangeC" -# define COMPILER_VERSION_MAJOR DEC(__ORANGEC_MAJOR__) -# define COMPILER_VERSION_MINOR DEC(__ORANGEC_MINOR__) -# define COMPILER_VERSION_PATCH DEC(__ORANGEC_PATCHLEVEL__) - -#elif defined(__TINYC__) -# define COMPILER_ID "TinyCC" - -#elif defined(__BCC__) -# define COMPILER_ID "Bruce" - -#elif defined(__SCO_VERSION__) -# define COMPILER_ID "SCO" - -#elif defined(__ARMCC_VERSION) && !defined(__clang__) -# define COMPILER_ID "ARMCC" -#if __ARMCC_VERSION >= 1000000 - /* __ARMCC_VERSION = VRRPPPP */ - # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/1000000) - # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 100) - # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) -#else - /* __ARMCC_VERSION = VRPPPP */ - # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/100000) - # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 10) - # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) -#endif - - -#elif defined(__clang__) && defined(__apple_build_version__) -# define COMPILER_ID "AppleClang" -# if defined(_MSC_VER) -# define SIMULATE_ID "MSVC" -# endif -# define COMPILER_VERSION_MAJOR DEC(__clang_major__) -# define COMPILER_VERSION_MINOR DEC(__clang_minor__) -# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) -# if defined(_MSC_VER) - /* _MSC_VER = VVRR */ -# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) -# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) -# endif -# define COMPILER_VERSION_TWEAK DEC(__apple_build_version__) - -#elif defined(__clang__) && defined(__ARMCOMPILER_VERSION) -# define COMPILER_ID "ARMClang" - # define COMPILER_VERSION_MAJOR DEC(__ARMCOMPILER_VERSION/1000000) - # define COMPILER_VERSION_MINOR DEC(__ARMCOMPILER_VERSION/10000 % 100) - # define COMPILER_VERSION_PATCH DEC(__ARMCOMPILER_VERSION/100 % 100) -# define COMPILER_VERSION_INTERNAL DEC(__ARMCOMPILER_VERSION) - -#elif defined(__clang__) -# define COMPILER_ID "Clang" -# if defined(_MSC_VER) -# define SIMULATE_ID "MSVC" -# endif -# define COMPILER_VERSION_MAJOR DEC(__clang_major__) -# define COMPILER_VERSION_MINOR DEC(__clang_minor__) -# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) -# if defined(_MSC_VER) - /* _MSC_VER = VVRR */ -# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) -# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) -# endif - -#elif defined(__LCC__) && (defined(__GNUC__) || defined(__GNUG__) || defined(__MCST__)) -# define COMPILER_ID "LCC" -# define COMPILER_VERSION_MAJOR DEC(__LCC__ / 100) -# define COMPILER_VERSION_MINOR DEC(__LCC__ % 100) -# if defined(__LCC_MINOR__) -# define COMPILER_VERSION_PATCH DEC(__LCC_MINOR__) -# endif -# if defined(__GNUC__) && defined(__GNUC_MINOR__) -# define SIMULATE_ID "GNU" -# define SIMULATE_VERSION_MAJOR DEC(__GNUC__) -# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__) -# if defined(__GNUC_PATCHLEVEL__) -# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) -# endif -# endif - -#elif defined(__GNUC__) -# define COMPILER_ID "GNU" -# define COMPILER_VERSION_MAJOR DEC(__GNUC__) -# if defined(__GNUC_MINOR__) -# define COMPILER_VERSION_MINOR DEC(__GNUC_MINOR__) -# endif -# if defined(__GNUC_PATCHLEVEL__) -# define COMPILER_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) -# endif - -#elif defined(_MSC_VER) -# define COMPILER_ID "MSVC" - /* _MSC_VER = VVRR */ -# define COMPILER_VERSION_MAJOR DEC(_MSC_VER / 100) -# define COMPILER_VERSION_MINOR DEC(_MSC_VER % 100) -# if defined(_MSC_FULL_VER) -# if _MSC_VER >= 1400 - /* _MSC_FULL_VER = VVRRPPPPP */ -# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 100000) -# else - /* _MSC_FULL_VER = VVRRPPPP */ -# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 10000) -# endif -# endif -# if defined(_MSC_BUILD) -# define COMPILER_VERSION_TWEAK DEC(_MSC_BUILD) -# endif - -#elif defined(_ADI_COMPILER) -# define COMPILER_ID "ADSP" -#if defined(__VERSIONNUM__) - /* __VERSIONNUM__ = 0xVVRRPPTT */ -# define COMPILER_VERSION_MAJOR DEC(__VERSIONNUM__ >> 24 & 0xFF) -# define COMPILER_VERSION_MINOR DEC(__VERSIONNUM__ >> 16 & 0xFF) -# define COMPILER_VERSION_PATCH DEC(__VERSIONNUM__ >> 8 & 0xFF) -# define COMPILER_VERSION_TWEAK DEC(__VERSIONNUM__ & 0xFF) -#endif - -#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC) -# define COMPILER_ID "IAR" -# if defined(__VER__) && defined(__ICCARM__) -# define COMPILER_VERSION_MAJOR DEC((__VER__) / 1000000) -# define COMPILER_VERSION_MINOR DEC(((__VER__) / 1000) % 1000) -# define COMPILER_VERSION_PATCH DEC((__VER__) % 1000) -# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__) -# elif defined(__VER__) && (defined(__ICCAVR__) || defined(__ICCRX__) || defined(__ICCRH850__) || defined(__ICCRL78__) || defined(__ICC430__) || defined(__ICCRISCV__) || defined(__ICCV850__) || defined(__ICC8051__) || defined(__ICCSTM8__)) -# define COMPILER_VERSION_MAJOR DEC((__VER__) / 100) -# define COMPILER_VERSION_MINOR DEC((__VER__) - (((__VER__) / 100)*100)) -# define COMPILER_VERSION_PATCH DEC(__SUBVERSION__) -# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__) -# endif - -#elif defined(__SDCC_VERSION_MAJOR) || defined(SDCC) -# define COMPILER_ID "SDCC" -# if defined(__SDCC_VERSION_MAJOR) -# define COMPILER_VERSION_MAJOR DEC(__SDCC_VERSION_MAJOR) -# define COMPILER_VERSION_MINOR DEC(__SDCC_VERSION_MINOR) -# define COMPILER_VERSION_PATCH DEC(__SDCC_VERSION_PATCH) -# else - /* SDCC = VRP */ -# define COMPILER_VERSION_MAJOR DEC(SDCC/100) -# define COMPILER_VERSION_MINOR DEC(SDCC/10 % 10) -# define COMPILER_VERSION_PATCH DEC(SDCC % 10) -# endif - - -/* These compilers are either not known or too old to define an - identification macro. Try to identify the platform and guess that - it is the native compiler. */ -#elif defined(__hpux) || defined(__hpua) -# define COMPILER_ID "HP" - -#else /* unknown compiler */ -# define COMPILER_ID "" -#endif - -/* Construct the string literal in pieces to prevent the source from - getting matched. Store it in a pointer rather than an array - because some compilers will just produce instructions to fill the - array rather than assigning a pointer to a static array. */ -char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]"; -#ifdef SIMULATE_ID -char const* info_simulate = "INFO" ":" "simulate[" SIMULATE_ID "]"; -#endif - -#ifdef __QNXNTO__ -char const* qnxnto = "INFO" ":" "qnxnto[]"; -#endif - -#if defined(__CRAYXT_COMPUTE_LINUX_TARGET) -char const *info_cray = "INFO" ":" "compiler_wrapper[CrayPrgEnv]"; -#endif - -#define STRINGIFY_HELPER(X) #X -#define STRINGIFY(X) STRINGIFY_HELPER(X) - -/* Identify known platforms by name. */ -#if defined(__linux) || defined(__linux__) || defined(linux) -# define PLATFORM_ID "Linux" - -#elif defined(__MSYS__) -# define PLATFORM_ID "MSYS" - -#elif defined(__CYGWIN__) -# define PLATFORM_ID "Cygwin" - -#elif defined(__MINGW32__) -# define PLATFORM_ID "MinGW" - -#elif defined(__APPLE__) -# define PLATFORM_ID "Darwin" - -#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32) -# define PLATFORM_ID "Windows" - -#elif defined(__FreeBSD__) || defined(__FreeBSD) -# define PLATFORM_ID "FreeBSD" - -#elif defined(__NetBSD__) || defined(__NetBSD) -# define PLATFORM_ID "NetBSD" - -#elif defined(__OpenBSD__) || defined(__OPENBSD) -# define PLATFORM_ID "OpenBSD" - -#elif defined(__sun) || defined(sun) -# define PLATFORM_ID "SunOS" - -#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__) -# define PLATFORM_ID "AIX" - -#elif defined(__hpux) || defined(__hpux__) -# define PLATFORM_ID "HP-UX" - -#elif defined(__HAIKU__) -# define PLATFORM_ID "Haiku" - -#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS) -# define PLATFORM_ID "BeOS" - -#elif defined(__QNX__) || defined(__QNXNTO__) -# define PLATFORM_ID "QNX" - -#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__) -# define PLATFORM_ID "Tru64" - -#elif defined(__riscos) || defined(__riscos__) -# define PLATFORM_ID "RISCos" - -#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__) -# define PLATFORM_ID "SINIX" - -#elif defined(__UNIX_SV__) -# define PLATFORM_ID "UNIX_SV" - -#elif defined(__bsdos__) -# define PLATFORM_ID "BSDOS" - -#elif defined(_MPRAS) || defined(MPRAS) -# define PLATFORM_ID "MP-RAS" - -#elif defined(__osf) || defined(__osf__) -# define PLATFORM_ID "OSF1" - -#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv) -# define PLATFORM_ID "SCO_SV" - -#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX) -# define PLATFORM_ID "ULTRIX" - -#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX) -# define PLATFORM_ID "Xenix" - -#elif defined(__WATCOMC__) -# if defined(__LINUX__) -# define PLATFORM_ID "Linux" - -# elif defined(__DOS__) -# define PLATFORM_ID "DOS" - -# elif defined(__OS2__) -# define PLATFORM_ID "OS2" - -# elif defined(__WINDOWS__) -# define PLATFORM_ID "Windows3x" - -# elif defined(__VXWORKS__) -# define PLATFORM_ID "VxWorks" - -# else /* unknown platform */ -# define PLATFORM_ID -# endif - -#elif defined(__INTEGRITY) -# if defined(INT_178B) -# define PLATFORM_ID "Integrity178" - -# else /* regular Integrity */ -# define PLATFORM_ID "Integrity" -# endif - -# elif defined(_ADI_COMPILER) -# define PLATFORM_ID "ADSP" - -#else /* unknown platform */ -# define PLATFORM_ID - -#endif - -/* For windows compilers MSVC and Intel we can determine - the architecture of the compiler being used. This is because - the compilers do not have flags that can change the architecture, - but rather depend on which compiler is being used -*/ -#if defined(_WIN32) && defined(_MSC_VER) -# if defined(_M_IA64) -# define ARCHITECTURE_ID "IA64" - -# elif defined(_M_ARM64EC) -# define ARCHITECTURE_ID "ARM64EC" - -# elif defined(_M_X64) || defined(_M_AMD64) -# define ARCHITECTURE_ID "x64" - -# elif defined(_M_IX86) -# define ARCHITECTURE_ID "X86" - -# elif defined(_M_ARM64) -# define ARCHITECTURE_ID "ARM64" - -# elif defined(_M_ARM) -# if _M_ARM == 4 -# define ARCHITECTURE_ID "ARMV4I" -# elif _M_ARM == 5 -# define ARCHITECTURE_ID "ARMV5I" -# else -# define ARCHITECTURE_ID "ARMV" STRINGIFY(_M_ARM) -# endif - -# elif defined(_M_MIPS) -# define ARCHITECTURE_ID "MIPS" - -# elif defined(_M_SH) -# define ARCHITECTURE_ID "SHx" - -# else /* unknown architecture */ -# define ARCHITECTURE_ID "" -# endif - -#elif defined(__WATCOMC__) -# if defined(_M_I86) -# define ARCHITECTURE_ID "I86" - -# elif defined(_M_IX86) -# define ARCHITECTURE_ID "X86" - -# else /* unknown architecture */ -# define ARCHITECTURE_ID "" -# endif - -#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC) -# if defined(__ICCARM__) -# define ARCHITECTURE_ID "ARM" - -# elif defined(__ICCRX__) -# define ARCHITECTURE_ID "RX" - -# elif defined(__ICCRH850__) -# define ARCHITECTURE_ID "RH850" - -# elif defined(__ICCRL78__) -# define ARCHITECTURE_ID "RL78" - -# elif defined(__ICCRISCV__) -# define ARCHITECTURE_ID "RISCV" - -# elif defined(__ICCAVR__) -# define ARCHITECTURE_ID "AVR" - -# elif defined(__ICC430__) -# define ARCHITECTURE_ID "MSP430" - -# elif defined(__ICCV850__) -# define ARCHITECTURE_ID "V850" - -# elif defined(__ICC8051__) -# define ARCHITECTURE_ID "8051" - -# elif defined(__ICCSTM8__) -# define ARCHITECTURE_ID "STM8" - -# else /* unknown architecture */ -# define ARCHITECTURE_ID "" -# endif - -#elif defined(__ghs__) -# if defined(__PPC64__) -# define ARCHITECTURE_ID "PPC64" - -# elif defined(__ppc__) -# define ARCHITECTURE_ID "PPC" - -# elif defined(__ARM__) -# define ARCHITECTURE_ID "ARM" - -# elif defined(__x86_64__) -# define ARCHITECTURE_ID "x64" - -# elif defined(__i386__) -# define ARCHITECTURE_ID "X86" - -# else /* unknown architecture */ -# define ARCHITECTURE_ID "" -# endif - -#elif defined(__TI_COMPILER_VERSION__) -# if defined(__TI_ARM__) -# define ARCHITECTURE_ID "ARM" - -# elif defined(__MSP430__) -# define ARCHITECTURE_ID "MSP430" - -# elif defined(__TMS320C28XX__) -# define ARCHITECTURE_ID "TMS320C28x" - -# elif defined(__TMS320C6X__) || defined(_TMS320C6X) -# define ARCHITECTURE_ID "TMS320C6x" - -# else /* unknown architecture */ -# define ARCHITECTURE_ID "" -# endif - -# elif defined(__ADSPSHARC__) -# define ARCHITECTURE_ID "SHARC" - -# elif defined(__ADSPBLACKFIN__) -# define ARCHITECTURE_ID "Blackfin" - -#elif defined(__TASKING__) - -# if defined(__CTC__) || defined(__CPTC__) -# define ARCHITECTURE_ID "TriCore" - -# elif defined(__CMCS__) -# define ARCHITECTURE_ID "MCS" - -# elif defined(__CARM__) -# define ARCHITECTURE_ID "ARM" - -# elif defined(__CARC__) -# define ARCHITECTURE_ID "ARC" - -# elif defined(__C51__) -# define ARCHITECTURE_ID "8051" - -# elif defined(__CPCP__) -# define ARCHITECTURE_ID "PCP" - -# else -# define ARCHITECTURE_ID "" -# endif - -#else -# define ARCHITECTURE_ID -#endif - -/* Convert integer to decimal digit literals. */ -#define DEC(n) \ - ('0' + (((n) / 10000000)%10)), \ - ('0' + (((n) / 1000000)%10)), \ - ('0' + (((n) / 100000)%10)), \ - ('0' + (((n) / 10000)%10)), \ - ('0' + (((n) / 1000)%10)), \ - ('0' + (((n) / 100)%10)), \ - ('0' + (((n) / 10)%10)), \ - ('0' + ((n) % 10)) - -/* Convert integer to hex digit literals. */ -#define HEX(n) \ - ('0' + ((n)>>28 & 0xF)), \ - ('0' + ((n)>>24 & 0xF)), \ - ('0' + ((n)>>20 & 0xF)), \ - ('0' + ((n)>>16 & 0xF)), \ - ('0' + ((n)>>12 & 0xF)), \ - ('0' + ((n)>>8 & 0xF)), \ - ('0' + ((n)>>4 & 0xF)), \ - ('0' + ((n) & 0xF)) - -/* Construct a string literal encoding the version number. */ -#ifdef COMPILER_VERSION -char const* info_version = "INFO" ":" "compiler_version[" COMPILER_VERSION "]"; - -/* Construct a string literal encoding the version number components. */ -#elif defined(COMPILER_VERSION_MAJOR) -char const info_version[] = { - 'I', 'N', 'F', 'O', ':', - 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','[', - COMPILER_VERSION_MAJOR, -# ifdef COMPILER_VERSION_MINOR - '.', COMPILER_VERSION_MINOR, -# ifdef COMPILER_VERSION_PATCH - '.', COMPILER_VERSION_PATCH, -# ifdef COMPILER_VERSION_TWEAK - '.', COMPILER_VERSION_TWEAK, -# endif -# endif -# endif - ']','\0'}; -#endif - -/* Construct a string literal encoding the internal version number. */ -#ifdef COMPILER_VERSION_INTERNAL -char const info_version_internal[] = { - 'I', 'N', 'F', 'O', ':', - 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','_', - 'i','n','t','e','r','n','a','l','[', - COMPILER_VERSION_INTERNAL,']','\0'}; -#elif defined(COMPILER_VERSION_INTERNAL_STR) -char const* info_version_internal = "INFO" ":" "compiler_version_internal[" COMPILER_VERSION_INTERNAL_STR "]"; -#endif - -/* Construct a string literal encoding the version number components. */ -#ifdef SIMULATE_VERSION_MAJOR -char const info_simulate_version[] = { - 'I', 'N', 'F', 'O', ':', - 's','i','m','u','l','a','t','e','_','v','e','r','s','i','o','n','[', - SIMULATE_VERSION_MAJOR, -# ifdef SIMULATE_VERSION_MINOR - '.', SIMULATE_VERSION_MINOR, -# ifdef SIMULATE_VERSION_PATCH - '.', SIMULATE_VERSION_PATCH, -# ifdef SIMULATE_VERSION_TWEAK - '.', SIMULATE_VERSION_TWEAK, -# endif -# endif -# endif - ']','\0'}; -#endif - -/* Construct the string literal in pieces to prevent the source from - getting matched. Store it in a pointer rather than an array - because some compilers will just produce instructions to fill the - array rather than assigning a pointer to a static array. */ -char const* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]"; -char const* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]"; - - - -#if !defined(__STDC__) && !defined(__clang__) -# if defined(_MSC_VER) || defined(__ibmxl__) || defined(__IBMC__) -# define C_VERSION "90" -# else -# define C_VERSION -# endif -#elif __STDC_VERSION__ > 201710L -# define C_VERSION "23" -#elif __STDC_VERSION__ >= 201710L -# define C_VERSION "17" -#elif __STDC_VERSION__ >= 201000L -# define C_VERSION "11" -#elif __STDC_VERSION__ >= 199901L -# define C_VERSION "99" -#else -# define C_VERSION "90" -#endif -const char* info_language_standard_default = - "INFO" ":" "standard_default[" C_VERSION "]"; - -const char* info_language_extensions_default = "INFO" ":" "extensions_default[" -#if (defined(__clang__) || defined(__GNUC__) || defined(__xlC__) || \ - defined(__TI_COMPILER_VERSION__)) && \ - !defined(__STRICT_ANSI__) - "ON" -#else - "OFF" -#endif -"]"; - -/*--------------------------------------------------------------------------*/ - -#ifdef ID_VOID_MAIN -void main() {} -#else -# if defined(__CLASSIC_C__) -int main(argc, argv) int argc; char *argv[]; -# else -int main(int argc, char* argv[]) -# endif -{ - int require = 0; - require += info_compiler[argc]; - require += info_platform[argc]; - require += info_arch[argc]; -#ifdef COMPILER_VERSION_MAJOR - require += info_version[argc]; -#endif -#ifdef COMPILER_VERSION_INTERNAL - require += info_version_internal[argc]; -#endif -#ifdef SIMULATE_ID - require += info_simulate[argc]; -#endif -#ifdef SIMULATE_VERSION_MAJOR - require += info_simulate_version[argc]; -#endif -#if defined(__CRAYXT_COMPUTE_LINUX_TARGET) - require += info_cray[argc]; -#endif - require += info_language_standard_default[argc]; - require += info_language_extensions_default[argc]; - (void)argv; - return require; -} -#endif diff --git a/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/3.28.3/CompilerIdC/a.out.js b/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/3.28.3/CompilerIdC/a.out.js deleted file mode 100644 index 9281774..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/3.28.3/CompilerIdC/a.out.js +++ /dev/null @@ -1,1521 +0,0 @@ -// include: shell.js -// The Module object: Our interface to the outside world. We import -// and export values on it. There are various ways Module can be used: -// 1. Not defined. We create it here -// 2. A function parameter, function(moduleArg) => Promise -// 3. pre-run appended it, var Module = {}; ..generated code.. -// 4. External script tag defines var Module. -// We need to check if Module already exists (e.g. case 3 above). -// Substitution will be replaced with actual code on later stage of the build, -// this way Closure Compiler will not mangle it (e.g. case 4. above). -// Note that if you want to run closure, and also to use Module -// after the generated code, you will need to define var Module = {}; -// before the code. Then that object will be used in the code, and you -// can continue to use Module afterwards as well. -var Module = typeof Module != 'undefined' ? Module : {}; - -// Determine the runtime environment we are in. You can customize this by -// setting the ENVIRONMENT setting at compile time (see settings.js). - -// Attempt to auto-detect the environment -var ENVIRONMENT_IS_WEB = typeof window == 'object'; -var ENVIRONMENT_IS_WORKER = typeof WorkerGlobalScope != 'undefined'; -// N.b. Electron.js environment is simultaneously a NODE-environment, but -// also a web environment. -var ENVIRONMENT_IS_NODE = typeof process == 'object' && typeof process.versions == 'object' && typeof process.versions.node == 'string' && process.type != 'renderer'; -var ENVIRONMENT_IS_SHELL = !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_NODE && !ENVIRONMENT_IS_WORKER; - -if (ENVIRONMENT_IS_NODE) { - -} - -// --pre-jses are emitted after the Module integration code, so that they can -// refer to Module (if they choose; they can also define Module) - - -// Sometimes an existing Module object exists with properties -// meant to overwrite the default module functionality. Here -// we collect those properties and reapply _after_ we configure -// the current environment's defaults to avoid having to be so -// defensive during initialization. -var moduleOverrides = {...Module}; - -var arguments_ = []; -var thisProgram = './this.program'; -var quit_ = (status, toThrow) => { - throw toThrow; -}; - -// `/` should be present at the end if `scriptDirectory` is not empty -var scriptDirectory = ''; -function locateFile(path) { - if (Module['locateFile']) { - return Module['locateFile'](path, scriptDirectory); - } - return scriptDirectory + path; -} - -// Hooks that are implemented differently in different runtime environments. -var readAsync, readBinary; - -if (ENVIRONMENT_IS_NODE) { - if (typeof process == 'undefined' || !process.release || process.release.name !== 'node') throw new Error('not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)'); - - var nodeVersion = process.versions.node; - var numericVersion = nodeVersion.split('.').slice(0, 3); - numericVersion = (numericVersion[0] * 10000) + (numericVersion[1] * 100) + (numericVersion[2].split('-')[0] * 1); - var minVersion = 160000; - if (numericVersion < 160000) { - throw new Error('This emscripten-generated code requires node v16.0.0 (detected v' + nodeVersion + ')'); - } - - // These modules will usually be used on Node.js. Load them eagerly to avoid - // the complexity of lazy-loading. - var fs = require('fs'); - var nodePath = require('path'); - - scriptDirectory = __dirname + '/'; - -// include: node_shell_read.js -readBinary = (filename) => { - // We need to re-wrap `file://` strings to URLs. - filename = isFileURI(filename) ? new URL(filename) : filename; - var ret = fs.readFileSync(filename); - assert(Buffer.isBuffer(ret)); - return ret; -}; - -readAsync = async (filename, binary = true) => { - // See the comment in the `readBinary` function. - filename = isFileURI(filename) ? new URL(filename) : filename; - var ret = fs.readFileSync(filename, binary ? undefined : 'utf8'); - assert(binary ? Buffer.isBuffer(ret) : typeof ret == 'string'); - return ret; -}; -// end include: node_shell_read.js - if (!Module['thisProgram'] && process.argv.length > 1) { - thisProgram = process.argv[1].replace(/\\/g, '/'); - } - - arguments_ = process.argv.slice(2); - - if (typeof module != 'undefined') { - module['exports'] = Module; - } - - quit_ = (status, toThrow) => { - process.exitCode = status; - throw toThrow; - }; - -} else -if (ENVIRONMENT_IS_SHELL) { - - if ((typeof process == 'object' && typeof require === 'function') || typeof window == 'object' || typeof WorkerGlobalScope != 'undefined') throw new Error('not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)'); - -} else - -// Note that this includes Node.js workers when relevant (pthreads is enabled). -// Node.js workers are detected as a combination of ENVIRONMENT_IS_WORKER and -// ENVIRONMENT_IS_NODE. -if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) { - if (ENVIRONMENT_IS_WORKER) { // Check worker, not web, since window could be polyfilled - scriptDirectory = self.location.href; - } else if (typeof document != 'undefined' && document.currentScript) { // web - scriptDirectory = document.currentScript.src; - } - // blob urls look like blob:http://site.com/etc/etc and we cannot infer anything from them. - // otherwise, slice off the final part of the url to find the script directory. - // if scriptDirectory does not contain a slash, lastIndexOf will return -1, - // and scriptDirectory will correctly be replaced with an empty string. - // If scriptDirectory contains a query (starting with ?) or a fragment (starting with #), - // they are removed because they could contain a slash. - if (scriptDirectory.startsWith('blob:')) { - scriptDirectory = ''; - } else { - scriptDirectory = scriptDirectory.slice(0, scriptDirectory.replace(/[?#].*/, '').lastIndexOf('/')+1); - } - - if (!(typeof window == 'object' || typeof WorkerGlobalScope != 'undefined')) throw new Error('not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)'); - - { -// include: web_or_worker_shell_read.js -if (ENVIRONMENT_IS_WORKER) { - readBinary = (url) => { - var xhr = new XMLHttpRequest(); - xhr.open('GET', url, false); - xhr.responseType = 'arraybuffer'; - xhr.send(null); - return new Uint8Array(/** @type{!ArrayBuffer} */(xhr.response)); - }; - } - - readAsync = async (url) => { - // Fetch has some additional restrictions over XHR, like it can't be used on a file:// url. - // See https://github.com/github/fetch/pull/92#issuecomment-140665932 - // Cordova or Electron apps are typically loaded from a file:// url. - // So use XHR on webview if URL is a file URL. - if (isFileURI(url)) { - return new Promise((resolve, reject) => { - var xhr = new XMLHttpRequest(); - xhr.open('GET', url, true); - xhr.responseType = 'arraybuffer'; - xhr.onload = () => { - if (xhr.status == 200 || (xhr.status == 0 && xhr.response)) { // file URLs can return 0 - resolve(xhr.response); - return; - } - reject(xhr.status); - }; - xhr.onerror = reject; - xhr.send(null); - }); - } - var response = await fetch(url, { credentials: 'same-origin' }); - if (response.ok) { - return response.arrayBuffer(); - } - throw new Error(response.status + ' : ' + response.url); - }; -// end include: web_or_worker_shell_read.js - } -} else -{ - throw new Error('environment detection error'); -} - -var out = Module['print'] || console.log.bind(console); -var err = Module['printErr'] || console.error.bind(console); - -// Merge back in the overrides -Object.assign(Module, moduleOverrides); -// Free the object hierarchy contained in the overrides, this lets the GC -// reclaim data used. -moduleOverrides = null; -checkIncomingModuleAPI(); - -// Emit code to handle expected values on the Module object. This applies Module.x -// to the proper local x. This has two benefits: first, we only emit it if it is -// expected to arrive, and second, by using a local everywhere else that can be -// minified. - -if (Module['arguments']) arguments_ = Module['arguments'];legacyModuleProp('arguments', 'arguments_'); - -if (Module['thisProgram']) thisProgram = Module['thisProgram'];legacyModuleProp('thisProgram', 'thisProgram'); - -// perform assertions in shell.js after we set up out() and err(), as otherwise if an assertion fails it cannot print the message -// Assertions on removed incoming Module JS APIs. -assert(typeof Module['memoryInitializerPrefixURL'] == 'undefined', 'Module.memoryInitializerPrefixURL option was removed, use Module.locateFile instead'); -assert(typeof Module['pthreadMainPrefixURL'] == 'undefined', 'Module.pthreadMainPrefixURL option was removed, use Module.locateFile instead'); -assert(typeof Module['cdInitializerPrefixURL'] == 'undefined', 'Module.cdInitializerPrefixURL option was removed, use Module.locateFile instead'); -assert(typeof Module['filePackagePrefixURL'] == 'undefined', 'Module.filePackagePrefixURL option was removed, use Module.locateFile instead'); -assert(typeof Module['read'] == 'undefined', 'Module.read option was removed'); -assert(typeof Module['readAsync'] == 'undefined', 'Module.readAsync option was removed (modify readAsync in JS)'); -assert(typeof Module['readBinary'] == 'undefined', 'Module.readBinary option was removed (modify readBinary in JS)'); -assert(typeof Module['setWindowTitle'] == 'undefined', 'Module.setWindowTitle option was removed (modify emscripten_set_window_title in JS)'); -assert(typeof Module['TOTAL_MEMORY'] == 'undefined', 'Module.TOTAL_MEMORY has been renamed Module.INITIAL_MEMORY'); -legacyModuleProp('asm', 'wasmExports'); -legacyModuleProp('readAsync', 'readAsync'); -legacyModuleProp('readBinary', 'readBinary'); -legacyModuleProp('setWindowTitle', 'setWindowTitle'); -var IDBFS = 'IDBFS is no longer included by default; build with -lidbfs.js'; -var PROXYFS = 'PROXYFS is no longer included by default; build with -lproxyfs.js'; -var WORKERFS = 'WORKERFS is no longer included by default; build with -lworkerfs.js'; -var FETCHFS = 'FETCHFS is no longer included by default; build with -lfetchfs.js'; -var ICASEFS = 'ICASEFS is no longer included by default; build with -licasefs.js'; -var JSFILEFS = 'JSFILEFS is no longer included by default; build with -ljsfilefs.js'; -var OPFS = 'OPFS is no longer included by default; build with -lopfs.js'; - -var NODEFS = 'NODEFS is no longer included by default; build with -lnodefs.js'; - -assert(!ENVIRONMENT_IS_SHELL, 'shell environment detected but not enabled at build time. Add `shell` to `-sENVIRONMENT` to enable.'); - -// end include: shell.js - -// include: preamble.js -// === Preamble library stuff === - -// Documentation for the public APIs defined in this file must be updated in: -// site/source/docs/api_reference/preamble.js.rst -// A prebuilt local version of the documentation is available at: -// site/build/text/docs/api_reference/preamble.js.txt -// You can also build docs locally as HTML or other formats in site/ -// An online HTML version (which may be of a different version of Emscripten) -// is up at http://kripken.github.io/emscripten-site/docs/api_reference/preamble.js.html - -var wasmBinary = Module['wasmBinary'];legacyModuleProp('wasmBinary', 'wasmBinary'); - -if (typeof WebAssembly != 'object') { - err('no native wasm support detected'); -} - -// Wasm globals - -var wasmMemory; - -//======================================== -// Runtime essentials -//======================================== - -// whether we are quitting the application. no code should run after this. -// set in exit() and abort() -var ABORT = false; - -// set by exit() and abort(). Passed to 'onExit' handler. -// NOTE: This is also used as the process return code code in shell environments -// but only when noExitRuntime is false. -var EXITSTATUS; - -// In STRICT mode, we only define assert() when ASSERTIONS is set. i.e. we -// don't define it at all in release modes. This matches the behaviour of -// MINIMAL_RUNTIME. -// TODO(sbc): Make this the default even without STRICT enabled. -/** @type {function(*, string=)} */ -function assert(condition, text) { - if (!condition) { - abort('Assertion failed' + (text ? ': ' + text : '')); - } -} - -// We used to include malloc/free by default in the past. Show a helpful error in -// builds with assertions. -function _malloc() { - abort('malloc() called but not included in the build - add `_malloc` to EXPORTED_FUNCTIONS'); -} -function _free() { - // Show a helpful error since we used to include free by default in the past. - abort('free() called but not included in the build - add `_free` to EXPORTED_FUNCTIONS'); -} - -// Memory management - -var HEAP, -/** @type {!Int8Array} */ - HEAP8, -/** @type {!Uint8Array} */ - HEAPU8, -/** @type {!Int16Array} */ - HEAP16, -/** @type {!Uint16Array} */ - HEAPU16, -/** @type {!Int32Array} */ - HEAP32, -/** @type {!Uint32Array} */ - HEAPU32, -/** @type {!Float32Array} */ - HEAPF32, -/* BigInt64Array type is not correctly defined in closure -/** not-@type {!BigInt64Array} */ - HEAP64, -/* BigUint64Array type is not correctly defined in closure -/** not-t@type {!BigUint64Array} */ - HEAPU64, -/** @type {!Float64Array} */ - HEAPF64; - -var runtimeInitialized = false; - -/** - * Indicates whether filename is delivered via file protocol (as opposed to http/https) - * @noinline - */ -var isFileURI = (filename) => filename.startsWith('file://'); - -// include: runtime_shared.js -// include: runtime_stack_check.js -// Initializes the stack cookie. Called at the startup of main and at the startup of each thread in pthreads mode. -function writeStackCookie() { - var max = _emscripten_stack_get_end(); - assert((max & 3) == 0); - // If the stack ends at address zero we write our cookies 4 bytes into the - // stack. This prevents interference with SAFE_HEAP and ASAN which also - // monitor writes to address zero. - if (max == 0) { - max += 4; - } - // The stack grow downwards towards _emscripten_stack_get_end. - // We write cookies to the final two words in the stack and detect if they are - // ever overwritten. - HEAPU32[((max)>>2)] = 0x02135467; - HEAPU32[(((max)+(4))>>2)] = 0x89BACDFE; - // Also test the global address 0 for integrity. - HEAPU32[((0)>>2)] = 1668509029; -} - -function checkStackCookie() { - if (ABORT) return; - var max = _emscripten_stack_get_end(); - // See writeStackCookie(). - if (max == 0) { - max += 4; - } - var cookie1 = HEAPU32[((max)>>2)]; - var cookie2 = HEAPU32[(((max)+(4))>>2)]; - if (cookie1 != 0x02135467 || cookie2 != 0x89BACDFE) { - abort(`Stack overflow! Stack cookie has been overwritten at ${ptrToString(max)}, expected hex dwords 0x89BACDFE and 0x2135467, but received ${ptrToString(cookie2)} ${ptrToString(cookie1)}`); - } - // Also test the global address 0 for integrity. - if (HEAPU32[((0)>>2)] != 0x63736d65 /* 'emsc' */) { - abort('Runtime error: The application has corrupted its heap memory area (address zero)!'); - } -} -// end include: runtime_stack_check.js -// include: runtime_exceptions.js -// end include: runtime_exceptions.js -// include: runtime_debug.js -// Endianness check -(() => { - var h16 = new Int16Array(1); - var h8 = new Int8Array(h16.buffer); - h16[0] = 0x6373; - if (h8[0] !== 0x73 || h8[1] !== 0x63) throw 'Runtime error: expected the system to be little-endian! (Run with -sSUPPORT_BIG_ENDIAN to bypass)'; -})(); - -if (Module['ENVIRONMENT']) { - throw new Error('Module.ENVIRONMENT has been deprecated. To force the environment, use the ENVIRONMENT compile-time option (for example, -sENVIRONMENT=web or -sENVIRONMENT=node)'); -} - -function legacyModuleProp(prop, newName, incoming=true) { - if (!Object.getOwnPropertyDescriptor(Module, prop)) { - Object.defineProperty(Module, prop, { - configurable: true, - get() { - let extra = incoming ? ' (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)' : ''; - abort(`\`Module.${prop}\` has been replaced by \`${newName}\`` + extra); - - } - }); - } -} - -function consumedModuleProp(prop) { - if (!Object.getOwnPropertyDescriptor(Module, prop)) { - Object.defineProperty(Module, prop, { - configurable: true, - set() { - abort(`Attempt to set \`Module.${prop}\` after it has already been processed. This can happen, for example, when code is injected via '--post-js' rather than '--pre-js'`); - - } - }); - } -} - -function ignoredModuleProp(prop) { - if (Object.getOwnPropertyDescriptor(Module, prop)) { - abort(`\`Module.${prop}\` was supplied but \`${prop}\` not included in INCOMING_MODULE_JS_API`); - } -} - -// forcing the filesystem exports a few things by default -function isExportedByForceFilesystem(name) { - return name === 'FS_createPath' || - name === 'FS_createDataFile' || - name === 'FS_createPreloadedFile' || - name === 'FS_unlink' || - name === 'addRunDependency' || - // The old FS has some functionality that WasmFS lacks. - name === 'FS_createLazyFile' || - name === 'FS_createDevice' || - name === 'removeRunDependency'; -} - -/** - * Intercept access to a global symbol. This enables us to give informative - * warnings/errors when folks attempt to use symbols they did not include in - * their build, or no symbols that no longer exist. - */ -function hookGlobalSymbolAccess(sym, func) { - if (typeof globalThis != 'undefined' && !Object.getOwnPropertyDescriptor(globalThis, sym)) { - Object.defineProperty(globalThis, sym, { - configurable: true, - get() { - func(); - return undefined; - } - }); - } -} - -function missingGlobal(sym, msg) { - hookGlobalSymbolAccess(sym, () => { - warnOnce(`\`${sym}\` is not longer defined by emscripten. ${msg}`); - }); -} - -missingGlobal('buffer', 'Please use HEAP8.buffer or wasmMemory.buffer'); -missingGlobal('asm', 'Please use wasmExports instead'); - -function missingLibrarySymbol(sym) { - hookGlobalSymbolAccess(sym, () => { - // Can't `abort()` here because it would break code that does runtime - // checks. e.g. `if (typeof SDL === 'undefined')`. - var msg = `\`${sym}\` is a library symbol and not included by default; add it to your library.js __deps or to DEFAULT_LIBRARY_FUNCS_TO_INCLUDE on the command line`; - // DEFAULT_LIBRARY_FUNCS_TO_INCLUDE requires the name as it appears in - // library.js, which means $name for a JS name with no prefix, or name - // for a JS name like _name. - var librarySymbol = sym; - if (!librarySymbol.startsWith('_')) { - librarySymbol = '$' + sym; - } - msg += ` (e.g. -sDEFAULT_LIBRARY_FUNCS_TO_INCLUDE='${librarySymbol}')`; - if (isExportedByForceFilesystem(sym)) { - msg += '. Alternatively, forcing filesystem support (-sFORCE_FILESYSTEM) can export this for you'; - } - warnOnce(msg); - }); - - // Any symbol that is not included from the JS library is also (by definition) - // not exported on the Module object. - unexportedRuntimeSymbol(sym); -} - -function unexportedRuntimeSymbol(sym) { - if (!Object.getOwnPropertyDescriptor(Module, sym)) { - Object.defineProperty(Module, sym, { - configurable: true, - get() { - var msg = `'${sym}' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the Emscripten FAQ)`; - if (isExportedByForceFilesystem(sym)) { - msg += '. Alternatively, forcing filesystem support (-sFORCE_FILESYSTEM) can export this for you'; - } - abort(msg); - } - }); - } -} - -var runtimeDebug = true; // Switch to false at runtime to disable logging at the right times - -// Used by XXXXX_DEBUG settings to output debug messages. -function dbg(...args) { - if (!runtimeDebug && typeof runtimeDebug != 'undefined') return; - // TODO(sbc): Make this configurable somehow. Its not always convenient for - // logging to show up as warnings. - console.warn(...args); -} -// end include: runtime_debug.js -// include: memoryprofiler.js -// end include: memoryprofiler.js - - -function updateMemoryViews() { - var b = wasmMemory.buffer; - Module['HEAP8'] = HEAP8 = new Int8Array(b); - Module['HEAP16'] = HEAP16 = new Int16Array(b); - Module['HEAPU8'] = HEAPU8 = new Uint8Array(b); - Module['HEAPU16'] = HEAPU16 = new Uint16Array(b); - Module['HEAP32'] = HEAP32 = new Int32Array(b); - Module['HEAPU32'] = HEAPU32 = new Uint32Array(b); - Module['HEAPF32'] = HEAPF32 = new Float32Array(b); - Module['HEAPF64'] = HEAPF64 = new Float64Array(b); - Module['HEAP64'] = HEAP64 = new BigInt64Array(b); - Module['HEAPU64'] = HEAPU64 = new BigUint64Array(b); -} - -// end include: runtime_shared.js -assert(!Module['STACK_SIZE'], 'STACK_SIZE can no longer be set at runtime. Use -sSTACK_SIZE at link time') - -assert(typeof Int32Array != 'undefined' && typeof Float64Array !== 'undefined' && Int32Array.prototype.subarray != undefined && Int32Array.prototype.set != undefined, - 'JS engine does not provide full typed array support'); - -// If memory is defined in wasm, the user can't provide it, or set INITIAL_MEMORY -assert(!Module['wasmMemory'], 'Use of `wasmMemory` detected. Use -sIMPORTED_MEMORY to define wasmMemory externally'); -assert(!Module['INITIAL_MEMORY'], 'Detected runtime INITIAL_MEMORY setting. Use -sIMPORTED_MEMORY to define wasmMemory dynamically'); - -function preRun() { - if (Module['preRun']) { - if (typeof Module['preRun'] == 'function') Module['preRun'] = [Module['preRun']]; - while (Module['preRun'].length) { - addOnPreRun(Module['preRun'].shift()); - } - } - consumedModuleProp('preRun'); - callRuntimeCallbacks(onPreRuns); -} - -function initRuntime() { - assert(!runtimeInitialized); - runtimeInitialized = true; - - checkStackCookie(); - - - - wasmExports['__wasm_call_ctors'](); - - -} - -function preMain() { - checkStackCookie(); - -} - -function postRun() { - checkStackCookie(); - - if (Module['postRun']) { - if (typeof Module['postRun'] == 'function') Module['postRun'] = [Module['postRun']]; - while (Module['postRun'].length) { - addOnPostRun(Module['postRun'].shift()); - } - } - consumedModuleProp('postRun'); - - callRuntimeCallbacks(onPostRuns); -} - -// A counter of dependencies for calling run(). If we need to -// do asynchronous work before running, increment this and -// decrement it. Incrementing must happen in a place like -// Module.preRun (used by emcc to add file preloading). -// Note that you can add dependencies in preRun, even though -// it happens right before run - run will be postponed until -// the dependencies are met. -var runDependencies = 0; -var dependenciesFulfilled = null; // overridden to take different actions when all run dependencies are fulfilled -var runDependencyTracking = {}; -var runDependencyWatcher = null; - -function getUniqueRunDependency(id) { - var orig = id; - while (1) { - if (!runDependencyTracking[id]) return id; - id = orig + Math.random(); - } -} - -function addRunDependency(id) { - runDependencies++; - - Module['monitorRunDependencies']?.(runDependencies); - - if (id) { - assert(!runDependencyTracking[id]); - runDependencyTracking[id] = 1; - if (runDependencyWatcher === null && typeof setInterval != 'undefined') { - // Check for missing dependencies every few seconds - runDependencyWatcher = setInterval(() => { - if (ABORT) { - clearInterval(runDependencyWatcher); - runDependencyWatcher = null; - return; - } - var shown = false; - for (var dep in runDependencyTracking) { - if (!shown) { - shown = true; - err('still waiting on run dependencies:'); - } - err(`dependency: ${dep}`); - } - if (shown) { - err('(end of list)'); - } - }, 10000); - } - } else { - err('warning: run dependency added without ID'); - } -} - -function removeRunDependency(id) { - runDependencies--; - - Module['monitorRunDependencies']?.(runDependencies); - - if (id) { - assert(runDependencyTracking[id]); - delete runDependencyTracking[id]; - } else { - err('warning: run dependency removed without ID'); - } - if (runDependencies == 0) { - if (runDependencyWatcher !== null) { - clearInterval(runDependencyWatcher); - runDependencyWatcher = null; - } - if (dependenciesFulfilled) { - var callback = dependenciesFulfilled; - dependenciesFulfilled = null; - callback(); // can add another dependenciesFulfilled - } - } -} - -/** @param {string|number=} what */ -function abort(what) { - Module['onAbort']?.(what); - - what = 'Aborted(' + what + ')'; - // TODO(sbc): Should we remove printing and leave it up to whoever - // catches the exception? - err(what); - - ABORT = true; - - // Use a wasm runtime error, because a JS error might be seen as a foreign - // exception, which means we'd run destructors on it. We need the error to - // simply make the program stop. - // FIXME This approach does not work in Wasm EH because it currently does not assume - // all RuntimeErrors are from traps; it decides whether a RuntimeError is from - // a trap or not based on a hidden field within the object. So at the moment - // we don't have a way of throwing a wasm trap from JS. TODO Make a JS API that - // allows this in the wasm spec. - - // Suppress closure compiler warning here. Closure compiler's builtin extern - // definition for WebAssembly.RuntimeError claims it takes no arguments even - // though it can. - // TODO(https://github.com/google/closure-compiler/pull/3913): Remove if/when upstream closure gets fixed. - /** @suppress {checkTypes} */ - var e = new WebAssembly.RuntimeError(what); - - // Throw the error whether or not MODULARIZE is set because abort is used - // in code paths apart from instantiation where an exception is expected - // to be thrown when abort is called. - throw e; -} - -// show errors on likely calls to FS when it was not included -var FS = { - error() { - abort('Filesystem support (FS) was not included. The problem is that you are using files from JS, but files were not used from C/C++, so filesystem support was not auto-included. You can force-include filesystem support with -sFORCE_FILESYSTEM'); - }, - init() { FS.error() }, - createDataFile() { FS.error() }, - createPreloadedFile() { FS.error() }, - createLazyFile() { FS.error() }, - open() { FS.error() }, - mkdev() { FS.error() }, - registerDevice() { FS.error() }, - analyzePath() { FS.error() }, - - ErrnoError() { FS.error() }, -}; -Module['FS_createDataFile'] = FS.createDataFile; -Module['FS_createPreloadedFile'] = FS.createPreloadedFile; - -function createExportWrapper(name, nargs) { - return (...args) => { - assert(runtimeInitialized, `native function \`${name}\` called before runtime initialization`); - var f = wasmExports[name]; - assert(f, `exported native function \`${name}\` not found`); - // Only assert for too many arguments. Too few can be valid since the missing arguments will be zero filled. - assert(args.length <= nargs, `native function \`${name}\` called with ${args.length} args but expects ${nargs}`); - return f(...args); - }; -} - -var wasmBinaryFile; - -function findWasmBinary() { - return locateFile('a.out.wasm'); -} - -function getBinarySync(file) { - if (file == wasmBinaryFile && wasmBinary) { - return new Uint8Array(wasmBinary); - } - if (readBinary) { - return readBinary(file); - } - throw 'both async and sync fetching of the wasm failed'; -} - -async function getWasmBinary(binaryFile) { - // If we don't have the binary yet, load it asynchronously using readAsync. - if (!wasmBinary) { - // Fetch the binary using readAsync - try { - var response = await readAsync(binaryFile); - return new Uint8Array(response); - } catch { - // Fall back to getBinarySync below; - } - } - - // Otherwise, getBinarySync should be able to get it synchronously - return getBinarySync(binaryFile); -} - -async function instantiateArrayBuffer(binaryFile, imports) { - try { - var binary = await getWasmBinary(binaryFile); - var instance = await WebAssembly.instantiate(binary, imports); - return instance; - } catch (reason) { - err(`failed to asynchronously prepare wasm: ${reason}`); - - // Warn on some common problems. - if (isFileURI(wasmBinaryFile)) { - err(`warning: Loading from a file URI (${wasmBinaryFile}) is not supported in most browsers. See https://emscripten.org/docs/getting_started/FAQ.html#how-do-i-run-a-local-webserver-for-testing-why-does-my-program-stall-in-downloading-or-preparing`); - } - abort(reason); - } -} - -async function instantiateAsync(binary, binaryFile, imports) { - if (!binary && typeof WebAssembly.instantiateStreaming == 'function' - // Don't use streaming for file:// delivered objects in a webview, fetch them synchronously. - && !isFileURI(binaryFile) - // Avoid instantiateStreaming() on Node.js environment for now, as while - // Node.js v18.1.0 implements it, it does not have a full fetch() - // implementation yet. - // - // Reference: - // https://github.com/emscripten-core/emscripten/pull/16917 - && !ENVIRONMENT_IS_NODE - ) { - try { - var response = fetch(binaryFile, { credentials: 'same-origin' }); - var instantiationResult = await WebAssembly.instantiateStreaming(response, imports); - return instantiationResult; - } catch (reason) { - // We expect the most common failure cause to be a bad MIME type for the binary, - // in which case falling back to ArrayBuffer instantiation should work. - err(`wasm streaming compile failed: ${reason}`); - err('falling back to ArrayBuffer instantiation'); - // fall back of instantiateArrayBuffer below - }; - } - return instantiateArrayBuffer(binaryFile, imports); -} - -function getWasmImports() { - // prepare imports - return { - 'env': wasmImports, - 'wasi_snapshot_preview1': wasmImports, - } -} - -// Create the wasm instance. -// Receives the wasm imports, returns the exports. -async function createWasm() { - // Load the wasm module and create an instance of using native support in the JS engine. - // handle a generated wasm instance, receiving its exports and - // performing other necessary setup - /** @param {WebAssembly.Module=} module*/ - function receiveInstance(instance, module) { - wasmExports = instance.exports; - - - - wasmMemory = wasmExports['memory']; - - assert(wasmMemory, 'memory not found in wasm exports'); - updateMemoryViews(); - - removeRunDependency('wasm-instantiate'); - return wasmExports; - } - // wait for the pthread pool (if any) - addRunDependency('wasm-instantiate'); - - // Prefer streaming instantiation if available. - // Async compilation can be confusing when an error on the page overwrites Module - // (for example, if the order of elements is wrong, and the one defining Module is - // later), so we save Module and check it later. - var trueModule = Module; - function receiveInstantiationResult(result) { - // 'result' is a ResultObject object which has both the module and instance. - // receiveInstance() will swap in the exports (to Module.asm) so they can be called - assert(Module === trueModule, 'the Module object should not be replaced during async compilation - perhaps the order of HTML elements is wrong?'); - trueModule = null; - // TODO: Due to Closure regression https://github.com/google/closure-compiler/issues/3193, the above line no longer optimizes out down to the following line. - // When the regression is fixed, can restore the above PTHREADS-enabled path. - return receiveInstance(result['instance']); - } - - var info = getWasmImports(); - - // User shell pages can write their own Module.instantiateWasm = function(imports, successCallback) callback - // to manually instantiate the Wasm module themselves. This allows pages to - // run the instantiation parallel to any other async startup actions they are - // performing. - // Also pthreads and wasm workers initialize the wasm instance through this - // path. - if (Module['instantiateWasm']) { - return new Promise((resolve, reject) => { - try { - Module['instantiateWasm'](info, (mod, inst) => { - receiveInstance(mod, inst); - resolve(mod.exports); - }); - } catch(e) { - err(`Module.instantiateWasm callback failed with error: ${e}`); - reject(e); - } - }); - } - - wasmBinaryFile ??= findWasmBinary(); - var result = await instantiateAsync(wasmBinary, wasmBinaryFile, info); - var exports = receiveInstantiationResult(result); - return exports; -} - -// end include: preamble.js - -// Begin JS library code - - - class ExitStatus { - name = 'ExitStatus'; - constructor(status) { - this.message = `Program terminated with exit(${status})`; - this.status = status; - } - } - - var callRuntimeCallbacks = (callbacks) => { - while (callbacks.length > 0) { - // Pass the module as the first argument. - callbacks.shift()(Module); - } - }; - var onPostRuns = []; - var addOnPostRun = (cb) => onPostRuns.unshift(cb); - - var onPreRuns = []; - var addOnPreRun = (cb) => onPreRuns.unshift(cb); - - - - /** - * @param {number} ptr - * @param {string} type - */ - function getValue(ptr, type = 'i8') { - if (type.endsWith('*')) type = '*'; - switch (type) { - case 'i1': return HEAP8[ptr]; - case 'i8': return HEAP8[ptr]; - case 'i16': return HEAP16[((ptr)>>1)]; - case 'i32': return HEAP32[((ptr)>>2)]; - case 'i64': return HEAP64[((ptr)>>3)]; - case 'float': return HEAPF32[((ptr)>>2)]; - case 'double': return HEAPF64[((ptr)>>3)]; - case '*': return HEAPU32[((ptr)>>2)]; - default: abort(`invalid type for getValue: ${type}`); - } - } - - var noExitRuntime = Module['noExitRuntime'] || true; - - var ptrToString = (ptr) => { - assert(typeof ptr === 'number'); - // With CAN_ADDRESS_2GB or MEMORY64, pointers are already unsigned. - ptr >>>= 0; - return '0x' + ptr.toString(16).padStart(8, '0'); - }; - - - /** - * @param {number} ptr - * @param {number} value - * @param {string} type - */ - function setValue(ptr, value, type = 'i8') { - if (type.endsWith('*')) type = '*'; - switch (type) { - case 'i1': HEAP8[ptr] = value; break; - case 'i8': HEAP8[ptr] = value; break; - case 'i16': HEAP16[((ptr)>>1)] = value; break; - case 'i32': HEAP32[((ptr)>>2)] = value; break; - case 'i64': HEAP64[((ptr)>>3)] = BigInt(value); break; - case 'float': HEAPF32[((ptr)>>2)] = value; break; - case 'double': HEAPF64[((ptr)>>3)] = value; break; - case '*': HEAPU32[((ptr)>>2)] = value; break; - default: abort(`invalid type for setValue: ${type}`); - } - } - - var stackRestore = (val) => __emscripten_stack_restore(val); - - var stackSave = () => _emscripten_stack_get_current(); - - var warnOnce = (text) => { - warnOnce.shown ||= {}; - if (!warnOnce.shown[text]) { - warnOnce.shown[text] = 1; - if (ENVIRONMENT_IS_NODE) text = 'warning: ' + text; - err(text); - } - }; - - - var runtimeKeepaliveCounter = 0; - var keepRuntimeAlive = () => noExitRuntime || runtimeKeepaliveCounter > 0; - var _proc_exit = (code) => { - EXITSTATUS = code; - if (!keepRuntimeAlive()) { - Module['onExit']?.(code); - ABORT = true; - } - quit_(code, new ExitStatus(code)); - }; - - - /** @param {boolean|number=} implicit */ - var exitJS = (status, implicit) => { - EXITSTATUS = status; - - checkUnflushedContent(); - - // if exit() was called explicitly, warn the user if the runtime isn't actually being shut down - if (keepRuntimeAlive() && !implicit) { - var msg = `program exited (with status: ${status}), but keepRuntimeAlive() is set (counter=${runtimeKeepaliveCounter}) due to an async operation, so halting execution but not exiting the runtime or preventing further async execution (you can use emscripten_force_exit, if you want to force a true shutdown)`; - err(msg); - } - - _proc_exit(status); - }; - - var handleException = (e) => { - // Certain exception types we do not treat as errors since they are used for - // internal control flow. - // 1. ExitStatus, which is thrown by exit() - // 2. "unwind", which is thrown by emscripten_unwind_to_js_event_loop() and others - // that wish to return to JS event loop. - if (e instanceof ExitStatus || e == 'unwind') { - return EXITSTATUS; - } - checkStackCookie(); - if (e instanceof WebAssembly.RuntimeError) { - if (_emscripten_stack_get_current() <= 0) { - err('Stack overflow detected. You can try increasing -sSTACK_SIZE (currently set to 65536)'); - } - } - quit_(1, e); - }; - - var lengthBytesUTF8 = (str) => { - var len = 0; - for (var i = 0; i < str.length; ++i) { - // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code - // unit, not a Unicode code point of the character! So decode - // UTF16->UTF32->UTF8. - // See http://unicode.org/faq/utf_bom.html#utf16-3 - var c = str.charCodeAt(i); // possibly a lead surrogate - if (c <= 0x7F) { - len++; - } else if (c <= 0x7FF) { - len += 2; - } else if (c >= 0xD800 && c <= 0xDFFF) { - len += 4; ++i; - } else { - len += 3; - } - } - return len; - }; - - var stringToUTF8Array = (str, heap, outIdx, maxBytesToWrite) => { - assert(typeof str === 'string', `stringToUTF8Array expects a string (got ${typeof str})`); - // Parameter maxBytesToWrite is not optional. Negative values, 0, null, - // undefined and false each don't write out any bytes. - if (!(maxBytesToWrite > 0)) - return 0; - - var startIdx = outIdx; - var endIdx = outIdx + maxBytesToWrite - 1; // -1 for string null terminator. - for (var i = 0; i < str.length; ++i) { - // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code - // unit, not a Unicode code point of the character! So decode - // UTF16->UTF32->UTF8. - // See http://unicode.org/faq/utf_bom.html#utf16-3 - // For UTF8 byte structure, see http://en.wikipedia.org/wiki/UTF-8#Description - // and https://www.ietf.org/rfc/rfc2279.txt - // and https://tools.ietf.org/html/rfc3629 - var u = str.charCodeAt(i); // possibly a lead surrogate - if (u >= 0xD800 && u <= 0xDFFF) { - var u1 = str.charCodeAt(++i); - u = 0x10000 + ((u & 0x3FF) << 10) | (u1 & 0x3FF); - } - if (u <= 0x7F) { - if (outIdx >= endIdx) break; - heap[outIdx++] = u; - } else if (u <= 0x7FF) { - if (outIdx + 1 >= endIdx) break; - heap[outIdx++] = 0xC0 | (u >> 6); - heap[outIdx++] = 0x80 | (u & 63); - } else if (u <= 0xFFFF) { - if (outIdx + 2 >= endIdx) break; - heap[outIdx++] = 0xE0 | (u >> 12); - heap[outIdx++] = 0x80 | ((u >> 6) & 63); - heap[outIdx++] = 0x80 | (u & 63); - } else { - if (outIdx + 3 >= endIdx) break; - if (u > 0x10FFFF) warnOnce('Invalid Unicode code point ' + ptrToString(u) + ' encountered when serializing a JS string to a UTF-8 string in wasm memory! (Valid unicode code points should be in range 0-0x10FFFF).'); - heap[outIdx++] = 0xF0 | (u >> 18); - heap[outIdx++] = 0x80 | ((u >> 12) & 63); - heap[outIdx++] = 0x80 | ((u >> 6) & 63); - heap[outIdx++] = 0x80 | (u & 63); - } - } - // Null-terminate the pointer to the buffer. - heap[outIdx] = 0; - return outIdx - startIdx; - }; - var stringToUTF8 = (str, outPtr, maxBytesToWrite) => { - assert(typeof maxBytesToWrite == 'number', 'stringToUTF8(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!'); - return stringToUTF8Array(str, HEAPU8, outPtr, maxBytesToWrite); - }; - - var stackAlloc = (sz) => __emscripten_stack_alloc(sz); - var stringToUTF8OnStack = (str) => { - var size = lengthBytesUTF8(str) + 1; - var ret = stackAlloc(size); - stringToUTF8(str, ret, size); - return ret; - }; -// End JS library code - -function checkIncomingModuleAPI() { - ignoredModuleProp('fetchSettings'); -} -var wasmImports = { - -}; -var wasmExports; -createWasm(); -var ___wasm_call_ctors = createExportWrapper('__wasm_call_ctors', 0); -var _main = Module['_main'] = createExportWrapper('__main_argc_argv', 2); -var _fflush = createExportWrapper('fflush', 1); -var _emscripten_stack_init = () => (_emscripten_stack_init = wasmExports['emscripten_stack_init'])(); -var _emscripten_stack_get_free = () => (_emscripten_stack_get_free = wasmExports['emscripten_stack_get_free'])(); -var _emscripten_stack_get_base = () => (_emscripten_stack_get_base = wasmExports['emscripten_stack_get_base'])(); -var _emscripten_stack_get_end = () => (_emscripten_stack_get_end = wasmExports['emscripten_stack_get_end'])(); -var __emscripten_stack_restore = (a0) => (__emscripten_stack_restore = wasmExports['_emscripten_stack_restore'])(a0); -var __emscripten_stack_alloc = (a0) => (__emscripten_stack_alloc = wasmExports['_emscripten_stack_alloc'])(a0); -var _emscripten_stack_get_current = () => (_emscripten_stack_get_current = wasmExports['emscripten_stack_get_current'])(); - - -// include: postamble.js -// === Auto-generated postamble setup entry stuff === - -var missingLibrarySymbols = [ - 'writeI53ToI64', - 'writeI53ToI64Clamped', - 'writeI53ToI64Signaling', - 'writeI53ToU64Clamped', - 'writeI53ToU64Signaling', - 'readI53FromI64', - 'readI53FromU64', - 'convertI32PairToI53', - 'convertI32PairToI53Checked', - 'convertU32PairToI53', - 'bigintToI53Checked', - 'getTempRet0', - 'setTempRet0', - 'zeroMemory', - 'getHeapMax', - 'abortOnCannotGrowMemory', - 'growMemory', - 'strError', - 'inetPton4', - 'inetNtop4', - 'inetPton6', - 'inetNtop6', - 'readSockaddr', - 'writeSockaddr', - 'emscriptenLog', - 'readEmAsmArgs', - 'jstoi_q', - 'getExecutableName', - 'listenOnce', - 'autoResumeAudioContext', - 'getDynCaller', - 'dynCall', - 'runtimeKeepalivePush', - 'runtimeKeepalivePop', - 'callUserCallback', - 'maybeExit', - 'asmjsMangle', - 'asyncLoad', - 'alignMemory', - 'mmapAlloc', - 'HandleAllocator', - 'getNativeTypeSize', - 'addOnInit', - 'addOnPostCtor', - 'addOnPreMain', - 'addOnExit', - 'STACK_SIZE', - 'STACK_ALIGN', - 'POINTER_SIZE', - 'ASSERTIONS', - 'getCFunc', - 'ccall', - 'cwrap', - 'uleb128Encode', - 'sigToWasmTypes', - 'generateFuncType', - 'convertJsFunctionToWasm', - 'getEmptyTableSlot', - 'updateTableMap', - 'getFunctionAddress', - 'addFunction', - 'removeFunction', - 'reallyNegative', - 'unSign', - 'strLen', - 'reSign', - 'formatString', - 'UTF8ArrayToString', - 'UTF8ToString', - 'intArrayFromString', - 'intArrayToString', - 'AsciiToString', - 'stringToAscii', - 'UTF16ToString', - 'stringToUTF16', - 'lengthBytesUTF16', - 'UTF32ToString', - 'stringToUTF32', - 'lengthBytesUTF32', - 'stringToNewUTF8', - 'writeArrayToMemory', - 'registerKeyEventCallback', - 'maybeCStringToJsString', - 'findEventTarget', - 'getBoundingClientRect', - 'fillMouseEventData', - 'registerMouseEventCallback', - 'registerWheelEventCallback', - 'registerUiEventCallback', - 'registerFocusEventCallback', - 'fillDeviceOrientationEventData', - 'registerDeviceOrientationEventCallback', - 'fillDeviceMotionEventData', - 'registerDeviceMotionEventCallback', - 'screenOrientation', - 'fillOrientationChangeEventData', - 'registerOrientationChangeEventCallback', - 'fillFullscreenChangeEventData', - 'registerFullscreenChangeEventCallback', - 'JSEvents_requestFullscreen', - 'JSEvents_resizeCanvasForFullscreen', - 'registerRestoreOldStyle', - 'hideEverythingExceptGivenElement', - 'restoreHiddenElements', - 'setLetterbox', - 'softFullscreenResizeWebGLRenderTarget', - 'doRequestFullscreen', - 'fillPointerlockChangeEventData', - 'registerPointerlockChangeEventCallback', - 'registerPointerlockErrorEventCallback', - 'requestPointerLock', - 'fillVisibilityChangeEventData', - 'registerVisibilityChangeEventCallback', - 'registerTouchEventCallback', - 'fillGamepadEventData', - 'registerGamepadEventCallback', - 'registerBeforeUnloadEventCallback', - 'fillBatteryEventData', - 'battery', - 'registerBatteryEventCallback', - 'setCanvasElementSize', - 'getCanvasElementSize', - 'jsStackTrace', - 'getCallstack', - 'convertPCtoSourceLocation', - 'getEnvStrings', - 'checkWasiClock', - 'flush_NO_FILESYSTEM', - 'wasiRightsToMuslOFlags', - 'wasiOFlagsToMuslOFlags', - 'initRandomFill', - 'randomFill', - 'safeSetTimeout', - 'setImmediateWrapped', - 'safeRequestAnimationFrame', - 'clearImmediateWrapped', - 'registerPostMainLoop', - 'registerPreMainLoop', - 'getPromise', - 'makePromise', - 'idsToPromises', - 'makePromiseCallback', - 'ExceptionInfo', - 'findMatchingCatch', - 'Browser_asyncPrepareDataCounter', - 'isLeapYear', - 'ydayFromDate', - 'arraySum', - 'addDays', - 'getSocketFromFD', - 'getSocketAddress', - 'FS_createPreloadedFile', - 'FS_modeStringToFlags', - 'FS_getMode', - 'FS_stdin_getChar', - 'FS_unlink', - 'FS_createDataFile', - 'FS_mkdirTree', - '_setNetworkCallback', - 'heapObjectForWebGLType', - 'toTypedArrayIndex', - 'webgl_enable_ANGLE_instanced_arrays', - 'webgl_enable_OES_vertex_array_object', - 'webgl_enable_WEBGL_draw_buffers', - 'webgl_enable_WEBGL_multi_draw', - 'webgl_enable_EXT_polygon_offset_clamp', - 'webgl_enable_EXT_clip_control', - 'webgl_enable_WEBGL_polygon_mode', - 'emscriptenWebGLGet', - 'computeUnpackAlignedImageSize', - 'colorChannelsInGlTextureFormat', - 'emscriptenWebGLGetTexPixelData', - 'emscriptenWebGLGetUniform', - 'webglGetUniformLocation', - 'webglPrepareUniformLocationsBeforeFirstUse', - 'webglGetLeftBracePos', - 'emscriptenWebGLGetVertexAttrib', - '__glGetActiveAttribOrUniform', - 'writeGLArray', - 'registerWebGlEventCallback', - 'runAndAbortIfError', - 'ALLOC_NORMAL', - 'ALLOC_STACK', - 'allocate', - 'writeStringToMemory', - 'writeAsciiToMemory', - 'demangle', - 'stackTrace', -]; -missingLibrarySymbols.forEach(missingLibrarySymbol) - -var unexportedSymbols = [ - 'run', - 'addRunDependency', - 'removeRunDependency', - 'out', - 'err', - 'callMain', - 'abort', - 'wasmMemory', - 'wasmExports', - 'writeStackCookie', - 'checkStackCookie', - 'INT53_MAX', - 'INT53_MIN', - 'stackSave', - 'stackRestore', - 'stackAlloc', - 'ptrToString', - 'exitJS', - 'ENV', - 'ERRNO_CODES', - 'DNS', - 'Protocols', - 'Sockets', - 'timers', - 'warnOnce', - 'readEmAsmArgsArray', - 'jstoi_s', - 'handleException', - 'keepRuntimeAlive', - 'wasmTable', - 'noExitRuntime', - 'addOnPreRun', - 'addOnPostRun', - 'freeTableIndexes', - 'functionsInTableMap', - 'setValue', - 'getValue', - 'PATH', - 'PATH_FS', - 'UTF8Decoder', - 'stringToUTF8Array', - 'stringToUTF8', - 'lengthBytesUTF8', - 'UTF16Decoder', - 'stringToUTF8OnStack', - 'JSEvents', - 'specialHTMLTargets', - 'findCanvasEventTarget', - 'currentFullscreenStrategy', - 'restoreOldWindowedStyle', - 'UNWIND_CACHE', - 'ExitStatus', - 'emSetImmediate', - 'emClearImmediate_deps', - 'emClearImmediate', - 'promiseMap', - 'uncaughtExceptionCount', - 'exceptionLast', - 'exceptionCaught', - 'Browser', - 'getPreloadedImageData__data', - 'wget', - 'MONTH_DAYS_REGULAR', - 'MONTH_DAYS_LEAP', - 'MONTH_DAYS_REGULAR_CUMULATIVE', - 'MONTH_DAYS_LEAP_CUMULATIVE', - 'SYSCALLS', - 'preloadPlugins', - 'FS_stdin_getChar_buffer', - 'FS_createPath', - 'FS_createDevice', - 'FS_readFile', - 'FS', - 'FS_createLazyFile', - 'MEMFS', - 'TTY', - 'PIPEFS', - 'SOCKFS', - 'tempFixedLengthArray', - 'miniTempWebGLFloatBuffers', - 'miniTempWebGLIntBuffers', - 'GL', - 'AL', - 'GLUT', - 'EGL', - 'GLEW', - 'IDBStore', - 'SDL', - 'SDL_gfx', - 'allocateUTF8', - 'allocateUTF8OnStack', - 'print', - 'printErr', -]; -unexportedSymbols.forEach(unexportedRuntimeSymbol); - - - -var calledRun; - -function callMain(args = []) { - assert(runDependencies == 0, 'cannot call main when async dependencies remain! (listen on Module["onRuntimeInitialized"])'); - assert(typeof onPreRuns === 'undefined' || onPreRuns.length == 0, 'cannot call main when preRun functions remain to be called'); - - var entryFunction = _main; - - args.unshift(thisProgram); - - var argc = args.length; - var argv = stackAlloc((argc + 1) * 4); - var argv_ptr = argv; - args.forEach((arg) => { - HEAPU32[((argv_ptr)>>2)] = stringToUTF8OnStack(arg); - argv_ptr += 4; - }); - HEAPU32[((argv_ptr)>>2)] = 0; - - try { - - var ret = entryFunction(argc, argv); - - // if we're not running an evented main loop, it's time to exit - exitJS(ret, /* implicit = */ true); - return ret; - } catch (e) { - return handleException(e); - } -} - -function stackCheckInit() { - // This is normally called automatically during __wasm_call_ctors but need to - // get these values before even running any of the ctors so we call it redundantly - // here. - _emscripten_stack_init(); - // TODO(sbc): Move writeStackCookie to native to to avoid this. - writeStackCookie(); -} - -function run(args = arguments_) { - - if (runDependencies > 0) { - dependenciesFulfilled = run; - return; - } - - stackCheckInit(); - - preRun(); - - // a preRun added a dependency, run will be called later - if (runDependencies > 0) { - dependenciesFulfilled = run; - return; - } - - function doRun() { - // run may have just been called through dependencies being fulfilled just in this very frame, - // or while the async setStatus time below was happening - assert(!calledRun); - calledRun = true; - Module['calledRun'] = true; - - if (ABORT) return; - - initRuntime(); - - preMain(); - - Module['onRuntimeInitialized']?.(); - consumedModuleProp('onRuntimeInitialized'); - - var noInitialRun = Module['noInitialRun'];legacyModuleProp('noInitialRun', 'noInitialRun'); - if (!noInitialRun) callMain(args); - - postRun(); - } - - if (Module['setStatus']) { - Module['setStatus']('Running...'); - setTimeout(() => { - setTimeout(() => Module['setStatus'](''), 1); - doRun(); - }, 1); - } else - { - doRun(); - } - checkStackCookie(); -} - -function checkUnflushedContent() { - // Compiler settings do not allow exiting the runtime, so flushing - // the streams is not possible. but in ASSERTIONS mode we check - // if there was something to flush, and if so tell the user they - // should request that the runtime be exitable. - // Normally we would not even include flush() at all, but in ASSERTIONS - // builds we do so just for this check, and here we see if there is any - // content to flush, that is, we check if there would have been - // something a non-ASSERTIONS build would have not seen. - // How we flush the streams depends on whether we are in SYSCALLS_REQUIRE_FILESYSTEM=0 - // mode (which has its own special function for this; otherwise, all - // the code is inside libc) - var oldOut = out; - var oldErr = err; - var has = false; - out = err = (x) => { - has = true; - } - try { // it doesn't matter if it fails - _fflush(0); - } catch(e) {} - out = oldOut; - err = oldErr; - if (has) { - warnOnce('stdio streams had content in them that was not flushed. you should set EXIT_RUNTIME to 1 (see the Emscripten FAQ), or make sure to emit a newline when you printf etc.'); - warnOnce('(this may also be due to not including full filesystem support - try building with -sFORCE_FILESYSTEM)'); - } -} - -if (Module['preInit']) { - if (typeof Module['preInit'] == 'function') Module['preInit'] = [Module['preInit']]; - while (Module['preInit'].length > 0) { - Module['preInit'].pop()(); - } -} -consumedModuleProp('preInit'); - -run(); - -// end include: postamble.js - diff --git a/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/3.28.3/CompilerIdC/a.out.wasm b/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/3.28.3/CompilerIdC/a.out.wasm deleted file mode 100755 index 15fd07e3924a8dfd418f55f4d9dbd30871d7f973..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1791 zcmai#J9FDc5P|JmEV&lRhsMpq{bO}5`ehdyWRb6_jp)<-EA`fU`s;> zO0U;rJ?dWd*sBA81D=do4-S}A0P87ZI#<+8mS?kBRn78@N;m5;#xhyP&iOgdjw?N8 zo}Q{2b&xhg-}8L7?X-jNC5JJ~`h*s>>bB=u^(Y9t0J>$h?UrxZVY4oq6JXg!!;8Bw zpfKgMyY;Zui5%bRMt1$!YWb}QGIN*an@(gkLdSvZyLE?l*MXtgcltU05#;8qOS;hM zQiu-lnaes#AgF_~aLGvqQjf#X@gq>@EDHFj6*_f_F81qDEAXwzKJ*+0!$0J774(eu zm%_Gti>Gvf;HEAVYS6nfS!v=uR%vq5~4fBy0!4b^IVpN)eC}06cU7-_7Pf=qyR^~q?sPPmvf#W#g zibKZQKHCJ56>k@T? zP>44WBO#EaSQJy#A}(Ul6(vHI2$lLS;gSJ=p2{3=lH)So#N|kov5d>HxRpBI#@l$y z6%}%Y@t!Ll5b8mS zs$s3ne@Rg5DQW}Pal;i4@u5U*5^4)KaVrv!@DXms;&F<4f=}?VE4B%>-A@O^4(=4R zVL&J)|GGBMc>e$(9Gjhwi!4b?HpXTA^>bm<*4l zXJRUa)PjRXzezBEm5Jz|Cy3vqtc?yPzerdrm`vLK&6(2UI|w84q%po@LYeqy#0dG)A0LNSgU15{j}X81mf_ zmLG(t7MaxLib@h9GJ1vIn8{puEZP1PpviqiLf7~L!h5i;=t;*_$|K3Up9s^mKN!8> zvYP(LKG=KuY_lG;J1x%%_uuzyzxf=J$&P17jUa6A_s4cve=(4qPpNQrspfR8Bd1}< zUbO#guWv`?)IYMrqYF)S{W)A*|60#FaY9MiUrnyH>PjlCu3iY_YQ8>G>2LvqDSDRZ z`G}q>J@6eXL{!;jiFWKLrn;J|Xosz?M|oVH;qOo3R-?tDTGeLp=w-rjOb;@=~i;x KR?|0VYyJW1zny*n diff --git a/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeConfigureLog.yaml b/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeConfigureLog.yaml deleted file mode 100644 index b8b88b5..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeConfigureLog.yaml +++ /dev/null @@ -1,2887 +0,0 @@ - ---- -events: - - - kind: "message-v1" - backtrace: - - "/usr/share/cmake-3.28/Modules/CMakeDetermineSystem.cmake:228 (message)" - - "CMakeLists.txt:9 (project)" - message: | - The target system is: Emscripten - 1 - x86 - The host system is: Linux - 6.8.0-53-generic - x86_64 - - - kind: "message-v1" - backtrace: - - "/usr/share/cmake-3.28/Modules/CMakeDetermineCompilerId.cmake:17 (message)" - - "/usr/share/cmake-3.28/Modules/CMakeDetermineCompilerId.cmake:64 (__determine_compiler_id_test)" - - "/usr/share/cmake-3.28/Modules/CMakeDetermineCCompiler.cmake:123 (CMAKE_DETERMINE_COMPILER_ID)" - - "CMakeLists.txt:9 (project)" - message: | - Compiling the C compiler identification source file "CMakeCCompilerId.c" succeeded. - Compiler: /home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc - Build flags: - Id flags: - - The output was: - 0 - - - Compilation of the C compiler identification source "CMakeCCompilerId.c" produced "a.out.js" - - Compilation of the C compiler identification source "CMakeCCompilerId.c" produced "a.out.wasm" - - The C compiler identification could not be found in: - /home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/3.28.3/CompilerIdC/a.out.js - - The C compiler identification is Clang, found in: - /home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/3.28.3/CompilerIdC/a.out.wasm - - - - kind: "try_compile-v1" - backtrace: - - "/usr/share/cmake-3.28/Modules/CMakeDetermineCompilerABI.cmake:57 (try_compile)" - - "/usr/share/cmake-3.28/Modules/CMakeTestCCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)" - - "CMakeLists.txt:9 (project)" - checks: - - "Detecting C compiler ABI info" - directories: - source: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-dnAlwb" - binary: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-dnAlwb" - cmakeVariables: - CMAKE_CXX_COMPILER_CLANG_SCAN_DEPS: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/emscan-deps" - CMAKE_C_FLAGS: "" - CMAKE_C_FLAGS_DEBUG: "-g" - CMAKE_EXE_LINKER_FLAGS: "" - CMAKE_MODULE_PATH: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/cmake;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules" - buildResult: - variable: "CMAKE_C_ABI_COMPILED" - cached: true - stdout: | - Change Dir: '/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-dnAlwb' - - Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_063d1/fast - /usr/bin/gmake -f CMakeFiles/cmTC_063d1.dir/build.make CMakeFiles/cmTC_063d1.dir/build - gmake[1]: Entering directory '/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-dnAlwb' - Building C object CMakeFiles/cmTC_063d1.dir/CMakeCCompilerABI.c.o - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" -v -MD -MT CMakeFiles/cmTC_063d1.dir/CMakeCCompilerABI.c.o -MF CMakeFiles/cmTC_063d1.dir/CMakeCCompilerABI.c.o.d -o CMakeFiles/cmTC_063d1.dir/CMakeCCompilerABI.c.o -c /usr/share/cmake-3.28/Modules/CMakeCCompilerABI.c - "/home/romazan/Рабочий стол/emsdk/upstream/bin/clang" -target wasm32-unknown-emscripten -fignore-exceptions -mllvm -combiner-global-alias-analysis=false -mllvm -enable-emscripten-sjlj -mllvm -disable-lsr "--sysroot=/home/romazan/Рабочий стол/emsdk/upstream/emscripten/cache/sysroot" -DEMSCRIPTEN -Xclang -iwithsysroot/include/fakesdl -Xclang -iwithsysroot/include/compat -v -MD -MT CMakeFiles/cmTC_063d1.dir/CMakeCCompilerABI.c.o -MF CMakeFiles/cmTC_063d1.dir/CMakeCCompilerABI.c.o.d -oCMakeFiles/cmTC_063d1.dir/CMakeCCompilerABI.c.o -c /usr/share/cmake-3.28/Modules/CMakeCCompilerABI.c - clang version 21.0.0git (https:/github.com/llvm/llvm-project 4775e6d9099467df9363e1a3cd5950cc3d2fde05) - Target: wasm32-unknown-emscripten - Thread model: posix - InstalledDir: /home/romazan/Рабочий стол/emsdk/upstream/bin - (in-process) - "/home/romazan/Рабочий стол/emsdk/upstream/bin/clang-21" -cc1 -triple wasm32-unknown-emscripten -emit-obj -disable-free -clear-ast-before-backend -disable-llvm-verifier -discard-value-names -main-file-name CMakeCCompilerABI.c -mrelocation-model static -mframe-pointer=none -ffp-contract=on -fno-rounding-math -mconstructor-aliases -target-cpu generic -fvisibility=hidden -debugger-tuning=gdb "-fdebug-compilation-dir=/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-dnAlwb" -v "-fcoverage-compilation-dir=/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-dnAlwb" -resource-dir "/home/romazan/Рабочий стол/emsdk/upstream/lib/clang/21" -dependency-file CMakeFiles/cmTC_063d1.dir/CMakeCCompilerABI.c.o.d -MT CMakeFiles/cmTC_063d1.dir/CMakeCCompilerABI.c.o -sys-header-deps -D EMSCRIPTEN -isysroot "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/cache/sysroot" -internal-isystem "/home/romazan/Рабочий стол/emsdk/upstream/lib/clang/21/include" -internal-isystem "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/cache/sysroot/include/wasm32-emscripten" -internal-isystem "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/cache/sysroot/include" -ferror-limit 19 -fgnuc-version=4.2.1 -fskip-odr-check-in-gmf -fignore-exceptions -iwithsysroot/include/fakesdl -iwithsysroot/include/compat -mllvm -combiner-global-alias-analysis=false -mllvm -enable-emscripten-sjlj -mllvm -disable-lsr -o CMakeFiles/cmTC_063d1.dir/CMakeCCompilerABI.c.o -x c /usr/share/cmake-3.28/Modules/CMakeCCompilerABI.c - clang -cc1 version 21.0.0git based upon LLVM 21.0.0git default target x86_64-unknown-linux-gnu - ignoring nonexistent directory "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/cache/sysroot/include/wasm32-emscripten" - #include "..." search starts here: - #include <...> search starts here: - /home/romazan/Рабочий стол/emsdk/upstream/emscripten/cache/sysroot/include/fakesdl - /home/romazan/Рабочий стол/emsdk/upstream/emscripten/cache/sysroot/include/compat - /home/romazan/Рабочий стол/emsdk/upstream/lib/clang/21/include - /home/romazan/Рабочий стол/emsdk/upstream/emscripten/cache/sysroot/include - End of search list. - Linking C executable cmTC_063d1.js - /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_063d1.dir/link.txt --verbose=1 - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" -v @CMakeFiles/cmTC_063d1.dir/objects1.rsp -o cmTC_063d1.js - "/home/romazan/Рабочий стол/emsdk/upstream/bin/clang" --version - "/home/romazan/Рабочий стол/emsdk/upstream/bin/wasm-ld" -o cmTC_063d1.wasm CMakeFiles/cmTC_063d1.dir/CMakeCCompilerABI.c.o "-L/home/romazan/Рабочий стол/emsdk/upstream/emscripten/cache/sysroot/lib/wasm32-emscripten" "-L/home/romazan/Рабочий стол/emsdk/upstream/emscripten/src/lib" -lGL-getprocaddr -lal -lhtml5 -lstubs-debug -lnoexit -lc-debug -ldlmalloc-debug -lcompiler_rt -lc++-noexcept -lc++abi-debug-noexcept -lsockets -mllvm -combiner-global-alias-analysis=false -mllvm -enable-emscripten-sjlj -mllvm -disable-lsr /tmp/tmp0d70qforlibemscripten_js_symbols.so --strip-debug --export=emscripten_stack_get_end --export=emscripten_stack_get_free --export=emscripten_stack_get_base --export=emscripten_stack_get_current --export=emscripten_stack_init --export=_emscripten_stack_alloc --export=__wasm_call_ctors --export=_emscripten_stack_restore --export-if-defined=__start_em_asm --export-if-defined=__stop_em_asm --export-if-defined=__start_em_lib_deps --export-if-defined=__stop_em_lib_deps --export-if-defined=__start_em_js --export-if-defined=__stop_em_js --export-if-defined=main --export-if-defined=__main_argc_argv --export-if-defined=fflush --export-table -z stack-size=65536 --no-growable-memory --initial-heap=16777216 --no-entry --stack-first --table-base=1 - "/home/romazan/Рабочий стол/emsdk/upstream/bin/llvm-objcopy" cmTC_063d1.wasm cmTC_063d1.wasm --remove-section=.debug* --remove-section=producers --remove-section=name - "/home/romazan/Рабочий стол/emsdk/node/20.18.0_64bit/bin/node" "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/tools/compiler.mjs" - - gmake[1]: Leaving directory '/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-dnAlwb' - - exitCode: 0 - - - kind: "message-v1" - backtrace: - - "/usr/share/cmake-3.28/Modules/CMakeDetermineCompilerABI.cmake:127 (message)" - - "/usr/share/cmake-3.28/Modules/CMakeTestCCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)" - - "CMakeLists.txt:9 (project)" - message: | - Parsed C implicit include dir info: rv=done - found start of include info - found start of implicit include info - add: [/home/romazan/Рабочий стол/emsdk/upstream/emscripten/cache/sysroot/include/fakesdl] - add: [/home/romazan/Рабочий стол/emsdk/upstream/emscripten/cache/sysroot/include/compat] - add: [/home/romazan/Рабочий стол/emsdk/upstream/lib/clang/21/include] - add: [/home/romazan/Рабочий стол/emsdk/upstream/emscripten/cache/sysroot/include] - end of search list found - collapse include dir [/home/romazan/Рабочий стол/emsdk/upstream/emscripten/cache/sysroot/include/fakesdl] ==> [/home/romazan/Рабочий стол/emsdk/upstream/emscripten/cache/sysroot/include/fakesdl] - collapse include dir [/home/romazan/Рабочий стол/emsdk/upstream/emscripten/cache/sysroot/include/compat] ==> [/home/romazan/Рабочий стол/emsdk/upstream/emscripten/cache/sysroot/include/compat] - collapse include dir [/home/romazan/Рабочий стол/emsdk/upstream/lib/clang/21/include] ==> [/home/romazan/Рабочий стол/emsdk/upstream/lib/clang/21/include] - collapse include dir [/home/romazan/Рабочий стол/emsdk/upstream/emscripten/cache/sysroot/include] ==> [/home/romazan/Рабочий стол/emsdk/upstream/emscripten/cache/sysroot/include] - implicit include dirs: [/home/romazan/Рабочий стол/emsdk/upstream/emscripten/cache/sysroot/include/fakesdl;/home/romazan/Рабочий стол/emsdk/upstream/emscripten/cache/sysroot/include/compat;/home/romazan/Рабочий стол/emsdk/upstream/lib/clang/21/include;/home/romazan/Рабочий стол/emsdk/upstream/emscripten/cache/sysroot/include] - - - - - kind: "message-v1" - backtrace: - - "/usr/share/cmake-3.28/Modules/CMakeDetermineCompilerABI.cmake:159 (message)" - - "/usr/share/cmake-3.28/Modules/CMakeTestCCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)" - - "CMakeLists.txt:9 (project)" - message: | - Parsed C implicit link information: - link line regex: [^( *|.*[/\\])(ld|CMAKE_LINK_STARTFILE-NOTFOUND|([^/\\]+-)?ld|collect2)[^/\\]*( |$)] - ignore line: [Change Dir: '/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-dnAlwb'] - ignore line: [] - ignore line: [Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_063d1/fast] - ignore line: [/usr/bin/gmake -f CMakeFiles/cmTC_063d1.dir/build.make CMakeFiles/cmTC_063d1.dir/build] - ignore line: [gmake[1]: Entering directory '/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-dnAlwb'] - ignore line: [Building C object CMakeFiles/cmTC_063d1.dir/CMakeCCompilerABI.c.o] - ignore line: ["/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" -v -MD -MT CMakeFiles/cmTC_063d1.dir/CMakeCCompilerABI.c.o -MF CMakeFiles/cmTC_063d1.dir/CMakeCCompilerABI.c.o.d -o CMakeFiles/cmTC_063d1.dir/CMakeCCompilerABI.c.o -c /usr/share/cmake-3.28/Modules/CMakeCCompilerABI.c] - ignore line: [ "/home/romazan/Рабочий стол/emsdk/upstream/bin/clang" -target wasm32-unknown-emscripten -fignore-exceptions -mllvm -combiner-global-alias-analysis=false -mllvm -enable-emscripten-sjlj -mllvm -disable-lsr "--sysroot=/home/romazan/Рабочий стол/emsdk/upstream/emscripten/cache/sysroot" -DEMSCRIPTEN -Xclang -iwithsysroot/include/fakesdl -Xclang -iwithsysroot/include/compat -v -MD -MT CMakeFiles/cmTC_063d1.dir/CMakeCCompilerABI.c.o -MF CMakeFiles/cmTC_063d1.dir/CMakeCCompilerABI.c.o.d -oCMakeFiles/cmTC_063d1.dir/CMakeCCompilerABI.c.o -c /usr/share/cmake-3.28/Modules/CMakeCCompilerABI.c] - ignore line: [clang version 21.0.0git (https:/github.com/llvm/llvm-project 4775e6d9099467df9363e1a3cd5950cc3d2fde05)] - ignore line: [Target: wasm32-unknown-emscripten] - ignore line: [Thread model: posix] - ignore line: [InstalledDir: /home/romazan/Рабочий стол/emsdk/upstream/bin] - ignore line: [ (in-process)] - ignore line: [ "/home/romazan/Рабочий стол/emsdk/upstream/bin/clang-21" -cc1 -triple wasm32-unknown-emscripten -emit-obj -disable-free -clear-ast-before-backend -disable-llvm-verifier -discard-value-names -main-file-name CMakeCCompilerABI.c -mrelocation-model static -mframe-pointer=none -ffp-contract=on -fno-rounding-math -mconstructor-aliases -target-cpu generic -fvisibility=hidden -debugger-tuning=gdb "-fdebug-compilation-dir=/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-dnAlwb" -v "-fcoverage-compilation-dir=/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-dnAlwb" -resource-dir "/home/romazan/Рабочий стол/emsdk/upstream/lib/clang/21" -dependency-file CMakeFiles/cmTC_063d1.dir/CMakeCCompilerABI.c.o.d -MT CMakeFiles/cmTC_063d1.dir/CMakeCCompilerABI.c.o -sys-header-deps -D EMSCRIPTEN -isysroot "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/cache/sysroot" -internal-isystem "/home/romazan/Рабочий стол/emsdk/upstream/lib/clang/21/include" -internal-isystem "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/cache/sysroot/include/wasm32-emscripten" -internal-isystem "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/cache/sysroot/include" -ferror-limit 19 -fgnuc-version=4.2.1 -fskip-odr-check-in-gmf -fignore-exceptions -iwithsysroot/include/fakesdl -iwithsysroot/include/compat -mllvm -combiner-global-alias-analysis=false -mllvm -enable-emscripten-sjlj -mllvm -disable-lsr -o CMakeFiles/cmTC_063d1.dir/CMakeCCompilerABI.c.o -x c /usr/share/cmake-3.28/Modules/CMakeCCompilerABI.c] - ignore line: [clang -cc1 version 21.0.0git based upon LLVM 21.0.0git default target x86_64-unknown-linux-gnu] - ignore line: [ignoring nonexistent directory "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/cache/sysroot/include/wasm32-emscripten"] - ignore line: [#include "..." search starts here:] - ignore line: [#include <...> search starts here:] - ignore line: [ /home/romazan/Рабочий стол/emsdk/upstream/emscripten/cache/sysroot/include/fakesdl] - ignore line: [ /home/romazan/Рабочий стол/emsdk/upstream/emscripten/cache/sysroot/include/compat] - ignore line: [ /home/romazan/Рабочий стол/emsdk/upstream/lib/clang/21/include] - ignore line: [ /home/romazan/Рабочий стол/emsdk/upstream/emscripten/cache/sysroot/include] - ignore line: [End of search list.] - ignore line: [Linking C executable cmTC_063d1.js] - ignore line: [/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_063d1.dir/link.txt --verbose=1] - ignore line: ["/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" -v @CMakeFiles/cmTC_063d1.dir/objects1.rsp -o cmTC_063d1.js ] - ignore line: [ "/home/romazan/Рабочий стол/emsdk/upstream/bin/clang" --version] - link line: [ "/home/romazan/Рабочий стол/emsdk/upstream/bin/wasm-ld" -o cmTC_063d1.wasm CMakeFiles/cmTC_063d1.dir/CMakeCCompilerABI.c.o "-L/home/romazan/Рабочий стол/emsdk/upstream/emscripten/cache/sysroot/lib/wasm32-emscripten" "-L/home/romazan/Рабочий стол/emsdk/upstream/emscripten/src/lib" -lGL-getprocaddr -lal -lhtml5 -lstubs-debug -lnoexit -lc-debug -ldlmalloc-debug -lcompiler_rt -lc++-noexcept -lc++abi-debug-noexcept -lsockets -mllvm -combiner-global-alias-analysis=false -mllvm -enable-emscripten-sjlj -mllvm -disable-lsr /tmp/tmp0d70qforlibemscripten_js_symbols.so --strip-debug --export=emscripten_stack_get_end --export=emscripten_stack_get_free --export=emscripten_stack_get_base --export=emscripten_stack_get_current --export=emscripten_stack_init --export=_emscripten_stack_alloc --export=__wasm_call_ctors --export=_emscripten_stack_restore --export-if-defined=__start_em_asm --export-if-defined=__stop_em_asm --export-if-defined=__start_em_lib_deps --export-if-defined=__stop_em_lib_deps --export-if-defined=__start_em_js --export-if-defined=__stop_em_js --export-if-defined=main --export-if-defined=__main_argc_argv --export-if-defined=fflush --export-table -z stack-size=65536 --no-growable-memory --initial-heap=16777216 --no-entry --stack-first --table-base=1] - arg [/home/romazan/Рабочий стол/emsdk/upstream/bin/wasm-ld] ==> ignore - arg [-o] ==> ignore - arg [cmTC_063d1.wasm] ==> ignore - arg [CMakeFiles/cmTC_063d1.dir/CMakeCCompilerABI.c.o] ==> ignore - arg [-L/home/romazan/Рабочий стол/emsdk/upstream/emscripten/cache/sysroot/lib/wasm32-emscripten] ==> dir [/home/romazan/Рабочий стол/emsdk/upstream/emscripten/cache/sysroot/lib/wasm32-emscripten] - arg [-L/home/romazan/Рабочий стол/emsdk/upstream/emscripten/src/lib] ==> dir [/home/romazan/Рабочий стол/emsdk/upstream/emscripten/src/lib] - arg [-lGL-getprocaddr] ==> lib [GL-getprocaddr] - arg [-lal] ==> lib [al] - arg [-lhtml5] ==> lib [html5] - arg [-lstubs-debug] ==> lib [stubs-debug] - arg [-lnoexit] ==> lib [noexit] - arg [-lc-debug] ==> lib [c-debug] - arg [-ldlmalloc-debug] ==> lib [dlmalloc-debug] - arg [-lcompiler_rt] ==> lib [compiler_rt] - arg [-lc++-noexcept] ==> lib [c++-noexcept] - arg [-lc++abi-debug-noexcept] ==> lib [c++abi-debug-noexcept] - arg [-lsockets] ==> lib [sockets] - arg [-mllvm] ==> ignore - arg [-combiner-global-alias-analysis=false] ==> ignore - arg [-mllvm] ==> ignore - arg [-enable-emscripten-sjlj] ==> ignore - arg [-mllvm] ==> ignore - arg [-disable-lsr] ==> ignore - arg [/tmp/tmp0d70qforlibemscripten_js_symbols.so] ==> ignore - arg [--strip-debug] ==> ignore - arg [--export=emscripten_stack_get_end] ==> ignore - arg [--export=emscripten_stack_get_free] ==> ignore - arg [--export=emscripten_stack_get_base] ==> ignore - arg [--export=emscripten_stack_get_current] ==> ignore - arg [--export=emscripten_stack_init] ==> ignore - arg [--export=_emscripten_stack_alloc] ==> ignore - arg [--export=__wasm_call_ctors] ==> ignore - arg [--export=_emscripten_stack_restore] ==> ignore - arg [--export-if-defined=__start_em_asm] ==> ignore - arg [--export-if-defined=__stop_em_asm] ==> ignore - arg [--export-if-defined=__start_em_lib_deps] ==> ignore - arg [--export-if-defined=__stop_em_lib_deps] ==> ignore - arg [--export-if-defined=__start_em_js] ==> ignore - arg [--export-if-defined=__stop_em_js] ==> ignore - arg [--export-if-defined=main] ==> ignore - arg [--export-if-defined=__main_argc_argv] ==> ignore - arg [--export-if-defined=fflush] ==> ignore - arg [--export-table] ==> ignore - arg [-zstack-size=65536] ==> ignore - arg [--no-growable-memory] ==> ignore - arg [--initial-heap=16777216] ==> ignore - arg [--no-entry] ==> ignore - arg [--stack-first] ==> ignore - arg [--table-base=1] ==> ignore - collapse library dir [/home/romazan/Рабочий стол/emsdk/upstream/emscripten/cache/sysroot/lib/wasm32-emscripten] ==> [/home/romazan/Рабочий стол/emsdk/upstream/emscripten/cache/sysroot/lib/wasm32-emscripten] - collapse library dir [/home/romazan/Рабочий стол/emsdk/upstream/emscripten/src/lib] ==> [/home/romazan/Рабочий стол/emsdk/upstream/emscripten/src/lib] - implicit libs: [GL-getprocaddr;al;html5;stubs-debug;noexit;c-debug;dlmalloc-debug;compiler_rt;c++-noexcept;c++abi-debug-noexcept;sockets] - implicit objs: [] - implicit dirs: [/home/romazan/Рабочий стол/emsdk/upstream/emscripten/cache/sysroot/lib/wasm32-emscripten;/home/romazan/Рабочий стол/emsdk/upstream/emscripten/src/lib] - implicit fwks: [] - - - - - kind: "try_compile-v1" - backtrace: - - "/usr/share/cmake-3.28/Modules/CheckIncludeFiles.cmake:132 (try_compile)" - - "CMakeLists.txt:47 (check_include_files)" - checks: - - "Looking for include file CommonCrypto/CommonCrypto.h" - directories: - source: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-5kuHDw" - binary: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-5kuHDw" - cmakeVariables: - CMAKE_CXX_COMPILER_CLANG_SCAN_DEPS: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/emscan-deps" - CMAKE_C_FLAGS: "" - CMAKE_C_FLAGS_DEBUG: "-g" - CMAKE_EXE_LINKER_FLAGS: "" - CMAKE_MODULE_PATH: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/cmake;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules" - buildResult: - variable: "COMMONCRYPTO_FOUND" - cached: true - stdout: | - Change Dir: '/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-5kuHDw' - - Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_90e2a/fast - /usr/bin/gmake -f CMakeFiles/cmTC_90e2a.dir/build.make CMakeFiles/cmTC_90e2a.dir/build - gmake[1]: вход в каталог «/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-5kuHDw» - Building C object CMakeFiles/cmTC_90e2a.dir/COMMONCRYPTO_FOUND.c.o - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" -MD -MT CMakeFiles/cmTC_90e2a.dir/COMMONCRYPTO_FOUND.c.o -MF CMakeFiles/cmTC_90e2a.dir/COMMONCRYPTO_FOUND.c.o.d -o CMakeFiles/cmTC_90e2a.dir/COMMONCRYPTO_FOUND.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-5kuHDw/COMMONCRYPTO_FOUND.c" - /home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-5kuHDw/COMMONCRYPTO_FOUND.c:2:10: fatal error: 'CommonCrypto/CommonCrypto.h' file not found - 2 | #include - | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 1 error generated. - gmake[1]: *** [CMakeFiles/cmTC_90e2a.dir/build.make:79: CMakeFiles/cmTC_90e2a.dir/COMMONCRYPTO_FOUND.c.o] Ошибка 1 - gmake[1]: выход из каталога «/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-5kuHDw» - gmake: *** [Makefile:127: cmTC_90e2a/fast] Ошибка 2 - - exitCode: 2 - - - kind: "try_compile-v1" - backtrace: - - "/usr/share/cmake-3.28/Modules/CheckFunctionExists.cmake:86 (try_compile)" - - "CMakeLists.txt:101 (check_function_exists)" - checks: - - "Looking for _close" - directories: - source: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-IIcX28" - binary: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-IIcX28" - cmakeVariables: - CMAKE_CXX_COMPILER_CLANG_SCAN_DEPS: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/emscan-deps" - CMAKE_C_FLAGS: "" - CMAKE_C_FLAGS_DEBUG: "-g" - CMAKE_EXE_LINKER_FLAGS: "" - CMAKE_MODULE_PATH: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/cmake;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules" - buildResult: - variable: "HAVE__CLOSE" - cached: true - stdout: | - Change Dir: '/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-IIcX28' - - Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_6a8cb/fast - /usr/bin/gmake -f CMakeFiles/cmTC_6a8cb.dir/build.make CMakeFiles/cmTC_6a8cb.dir/build - gmake[1]: вход в каталог «/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-IIcX28» - Building C object CMakeFiles/cmTC_6a8cb.dir/CheckFunctionExists.c.o - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" -D__STDC_WANT_LIB_EXT1__=1 -DCHECK_FUNCTION_EXISTS=_close -MD -MT CMakeFiles/cmTC_6a8cb.dir/CheckFunctionExists.c.o -MF CMakeFiles/cmTC_6a8cb.dir/CheckFunctionExists.c.o.d -o CMakeFiles/cmTC_6a8cb.dir/CheckFunctionExists.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-IIcX28/CheckFunctionExists.c" - Linking C executable cmTC_6a8cb.js - /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_6a8cb.dir/link.txt --verbose=1 - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" -DCHECK_FUNCTION_EXISTS=_close @CMakeFiles/cmTC_6a8cb.dir/objects1.rsp -o cmTC_6a8cb.js - wasm-ld: error: CMakeFiles/cmTC_6a8cb.dir/CheckFunctionExists.c.o: undefined symbol: _close - emcc: error: '"/home/romazan/Рабочий стол/emsdk/upstream/bin/wasm-ld" -o cmTC_6a8cb.wasm CMakeFiles/cmTC_6a8cb.dir/CheckFunctionExists.c.o "-L/home/romazan/Рабочий стол/emsdk/upstream/emscripten/cache/sysroot/lib/wasm32-emscripten" "-L/home/romazan/Рабочий стол/emsdk/upstream/emscripten/src/lib" -lGL-getprocaddr -lal -lhtml5 -lstubs-debug -lnoexit -lc-debug -ldlmalloc-debug -lcompiler_rt -lc++-noexcept -lc++abi-debug-noexcept -lsockets -mllvm -combiner-global-alias-analysis=false -mllvm -enable-emscripten-sjlj -mllvm -disable-lsr /tmp/tmpk7f326k9libemscripten_js_symbols.so --strip-debug --export=emscripten_stack_get_end --export=emscripten_stack_get_free --export=emscripten_stack_get_base --export=emscripten_stack_get_current --export=emscripten_stack_init --export=_emscripten_stack_alloc --export=__wasm_call_ctors --export=_emscripten_stack_restore --export-if-defined=__start_em_asm --export-if-defined=__stop_em_asm --export-if-defined=__start_em_lib_deps --export-if-defined=__stop_em_lib_deps --export-if-defined=__start_em_js --export-if-defined=__stop_em_js --export-if-defined=main --export-if-defined=__main_argc_argv --export-if-defined=fflush --export-table -z stack-size=65536 --no-growable-memory --initial-heap=16777216 --no-entry --stack-first --table-base=1' failed (returned 1) - gmake[1]: *** [CMakeFiles/cmTC_6a8cb.dir/build.make:101: cmTC_6a8cb.js] Ошибка 1 - gmake[1]: выход из каталога «/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-IIcX28» - gmake: *** [Makefile:127: cmTC_6a8cb/fast] Ошибка 2 - - exitCode: 2 - - - kind: "try_compile-v1" - backtrace: - - "/usr/share/cmake-3.28/Modules/CheckFunctionExists.cmake:86 (try_compile)" - - "CMakeLists.txt:102 (check_function_exists)" - checks: - - "Looking for _dup" - directories: - source: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-7k65n8" - binary: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-7k65n8" - cmakeVariables: - CMAKE_CXX_COMPILER_CLANG_SCAN_DEPS: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/emscan-deps" - CMAKE_C_FLAGS: "" - CMAKE_C_FLAGS_DEBUG: "-g" - CMAKE_EXE_LINKER_FLAGS: "" - CMAKE_MODULE_PATH: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/cmake;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules" - buildResult: - variable: "HAVE__DUP" - cached: true - stdout: | - Change Dir: '/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-7k65n8' - - Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_671b4/fast - /usr/bin/gmake -f CMakeFiles/cmTC_671b4.dir/build.make CMakeFiles/cmTC_671b4.dir/build - gmake[1]: вход в каталог «/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-7k65n8» - Building C object CMakeFiles/cmTC_671b4.dir/CheckFunctionExists.c.o - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" -D__STDC_WANT_LIB_EXT1__=1 -DCHECK_FUNCTION_EXISTS=_dup -MD -MT CMakeFiles/cmTC_671b4.dir/CheckFunctionExists.c.o -MF CMakeFiles/cmTC_671b4.dir/CheckFunctionExists.c.o.d -o CMakeFiles/cmTC_671b4.dir/CheckFunctionExists.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-7k65n8/CheckFunctionExists.c" - Linking C executable cmTC_671b4.js - /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_671b4.dir/link.txt --verbose=1 - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" -DCHECK_FUNCTION_EXISTS=_dup @CMakeFiles/cmTC_671b4.dir/objects1.rsp -o cmTC_671b4.js - wasm-ld: error: CMakeFiles/cmTC_671b4.dir/CheckFunctionExists.c.o: undefined symbol: _dup - emcc: error: '"/home/romazan/Рабочий стол/emsdk/upstream/bin/wasm-ld" -o cmTC_671b4.wasm CMakeFiles/cmTC_671b4.dir/CheckFunctionExists.c.o "-L/home/romazan/Рабочий стол/emsdk/upstream/emscripten/cache/sysroot/lib/wasm32-emscripten" "-L/home/romazan/Рабочий стол/emsdk/upstream/emscripten/src/lib" -lGL-getprocaddr -lal -lhtml5 -lstubs-debug -lnoexit -lc-debug -ldlmalloc-debug -lcompiler_rt -lc++-noexcept -lc++abi-debug-noexcept -lsockets -mllvm -combiner-global-alias-analysis=false -mllvm -enable-emscripten-sjlj -mllvm -disable-lsr /tmp/tmphrt6ork7libemscripten_js_symbols.so --strip-debug --export=emscripten_stack_get_end --export=emscripten_stack_get_free --export=emscripten_stack_get_base --export=emscripten_stack_get_current --export=emscripten_stack_init --export=_emscripten_stack_alloc --export=__wasm_call_ctors --export=_emscripten_stack_restore --export-if-defined=__start_em_asm --export-if-defined=__stop_em_asm --export-if-defined=__start_em_lib_deps --export-if-defined=__stop_em_lib_deps --export-if-defined=__start_em_js --export-if-defined=__stop_em_js --export-if-defined=main --export-if-defined=__main_argc_argv --export-if-defined=fflush --export-table -z stack-size=65536 --no-growable-memory --initial-heap=16777216 --no-entry --stack-first --table-base=1' failed (returned 1) - gmake[1]: *** [CMakeFiles/cmTC_671b4.dir/build.make:101: cmTC_671b4.js] Ошибка 1 - gmake[1]: выход из каталога «/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-7k65n8» - gmake: *** [Makefile:127: cmTC_671b4/fast] Ошибка 2 - - exitCode: 2 - - - kind: "try_compile-v1" - backtrace: - - "/usr/share/cmake-3.28/Modules/CheckFunctionExists.cmake:86 (try_compile)" - - "CMakeLists.txt:103 (check_function_exists)" - checks: - - "Looking for _fdopen" - directories: - source: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-9SKv4h" - binary: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-9SKv4h" - cmakeVariables: - CMAKE_CXX_COMPILER_CLANG_SCAN_DEPS: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/emscan-deps" - CMAKE_C_FLAGS: "" - CMAKE_C_FLAGS_DEBUG: "-g" - CMAKE_EXE_LINKER_FLAGS: "" - CMAKE_MODULE_PATH: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/cmake;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules" - buildResult: - variable: "HAVE__FDOPEN" - cached: true - stdout: | - Change Dir: '/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-9SKv4h' - - Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_13fc1/fast - /usr/bin/gmake -f CMakeFiles/cmTC_13fc1.dir/build.make CMakeFiles/cmTC_13fc1.dir/build - gmake[1]: вход в каталог «/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-9SKv4h» - Building C object CMakeFiles/cmTC_13fc1.dir/CheckFunctionExists.c.o - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" -D__STDC_WANT_LIB_EXT1__=1 -DCHECK_FUNCTION_EXISTS=_fdopen -MD -MT CMakeFiles/cmTC_13fc1.dir/CheckFunctionExists.c.o -MF CMakeFiles/cmTC_13fc1.dir/CheckFunctionExists.c.o.d -o CMakeFiles/cmTC_13fc1.dir/CheckFunctionExists.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-9SKv4h/CheckFunctionExists.c" - Linking C executable cmTC_13fc1.js - /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_13fc1.dir/link.txt --verbose=1 - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" -DCHECK_FUNCTION_EXISTS=_fdopen @CMakeFiles/cmTC_13fc1.dir/objects1.rsp -o cmTC_13fc1.js - wasm-ld: error: CMakeFiles/cmTC_13fc1.dir/CheckFunctionExists.c.o: undefined symbol: _fdopen - emcc: error: '"/home/romazan/Рабочий стол/emsdk/upstream/bin/wasm-ld" -o cmTC_13fc1.wasm CMakeFiles/cmTC_13fc1.dir/CheckFunctionExists.c.o "-L/home/romazan/Рабочий стол/emsdk/upstream/emscripten/cache/sysroot/lib/wasm32-emscripten" "-L/home/romazan/Рабочий стол/emsdk/upstream/emscripten/src/lib" -lGL-getprocaddr -lal -lhtml5 -lstubs-debug -lnoexit -lc-debug -ldlmalloc-debug -lcompiler_rt -lc++-noexcept -lc++abi-debug-noexcept -lsockets -mllvm -combiner-global-alias-analysis=false -mllvm -enable-emscripten-sjlj -mllvm -disable-lsr /tmp/tmp1uvj2lgxlibemscripten_js_symbols.so --strip-debug --export=emscripten_stack_get_end --export=emscripten_stack_get_free --export=emscripten_stack_get_base --export=emscripten_stack_get_current --export=emscripten_stack_init --export=_emscripten_stack_alloc --export=__wasm_call_ctors --export=_emscripten_stack_restore --export-if-defined=__start_em_asm --export-if-defined=__stop_em_asm --export-if-defined=__start_em_lib_deps --export-if-defined=__stop_em_lib_deps --export-if-defined=__start_em_js --export-if-defined=__stop_em_js --export-if-defined=main --export-if-defined=__main_argc_argv --export-if-defined=fflush --export-table -z stack-size=65536 --no-growable-memory --initial-heap=16777216 --no-entry --stack-first --table-base=1' failed (returned 1) - gmake[1]: *** [CMakeFiles/cmTC_13fc1.dir/build.make:101: cmTC_13fc1.js] Ошибка 1 - gmake[1]: выход из каталога «/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-9SKv4h» - gmake: *** [Makefile:127: cmTC_13fc1/fast] Ошибка 2 - - exitCode: 2 - - - kind: "try_compile-v1" - backtrace: - - "/usr/share/cmake-3.28/Modules/CheckFunctionExists.cmake:86 (try_compile)" - - "CMakeLists.txt:104 (check_function_exists)" - checks: - - "Looking for _fileno" - directories: - source: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-ZYZpdB" - binary: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-ZYZpdB" - cmakeVariables: - CMAKE_CXX_COMPILER_CLANG_SCAN_DEPS: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/emscan-deps" - CMAKE_C_FLAGS: "" - CMAKE_C_FLAGS_DEBUG: "-g" - CMAKE_EXE_LINKER_FLAGS: "" - CMAKE_MODULE_PATH: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/cmake;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules" - buildResult: - variable: "HAVE__FILENO" - cached: true - stdout: | - Change Dir: '/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-ZYZpdB' - - Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_aead7/fast - /usr/bin/gmake -f CMakeFiles/cmTC_aead7.dir/build.make CMakeFiles/cmTC_aead7.dir/build - gmake[1]: вход в каталог «/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-ZYZpdB» - Building C object CMakeFiles/cmTC_aead7.dir/CheckFunctionExists.c.o - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" -D__STDC_WANT_LIB_EXT1__=1 -DCHECK_FUNCTION_EXISTS=_fileno -MD -MT CMakeFiles/cmTC_aead7.dir/CheckFunctionExists.c.o -MF CMakeFiles/cmTC_aead7.dir/CheckFunctionExists.c.o.d -o CMakeFiles/cmTC_aead7.dir/CheckFunctionExists.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-ZYZpdB/CheckFunctionExists.c" - Linking C executable cmTC_aead7.js - /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_aead7.dir/link.txt --verbose=1 - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" -DCHECK_FUNCTION_EXISTS=_fileno @CMakeFiles/cmTC_aead7.dir/objects1.rsp -o cmTC_aead7.js - wasm-ld: error: CMakeFiles/cmTC_aead7.dir/CheckFunctionExists.c.o: undefined symbol: _fileno - emcc: error: '"/home/romazan/Рабочий стол/emsdk/upstream/bin/wasm-ld" -o cmTC_aead7.wasm CMakeFiles/cmTC_aead7.dir/CheckFunctionExists.c.o "-L/home/romazan/Рабочий стол/emsdk/upstream/emscripten/cache/sysroot/lib/wasm32-emscripten" "-L/home/romazan/Рабочий стол/emsdk/upstream/emscripten/src/lib" -lGL-getprocaddr -lal -lhtml5 -lstubs-debug -lnoexit -lc-debug -ldlmalloc-debug -lcompiler_rt -lc++-noexcept -lc++abi-debug-noexcept -lsockets -mllvm -combiner-global-alias-analysis=false -mllvm -enable-emscripten-sjlj -mllvm -disable-lsr /tmp/tmpix0qrse_libemscripten_js_symbols.so --strip-debug --export=emscripten_stack_get_end --export=emscripten_stack_get_free --export=emscripten_stack_get_base --export=emscripten_stack_get_current --export=emscripten_stack_init --export=_emscripten_stack_alloc --export=__wasm_call_ctors --export=_emscripten_stack_restore --export-if-defined=__start_em_asm --export-if-defined=__stop_em_asm --export-if-defined=__start_em_lib_deps --export-if-defined=__stop_em_lib_deps --export-if-defined=__start_em_js --export-if-defined=__stop_em_js --export-if-defined=main --export-if-defined=__main_argc_argv --export-if-defined=fflush --export-table -z stack-size=65536 --no-growable-memory --initial-heap=16777216 --no-entry --stack-first --table-base=1' failed (returned 1) - gmake[1]: *** [CMakeFiles/cmTC_aead7.dir/build.make:101: cmTC_aead7.js] Ошибка 1 - gmake[1]: выход из каталога «/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-ZYZpdB» - gmake: *** [Makefile:127: cmTC_aead7/fast] Ошибка 2 - - exitCode: 2 - - - kind: "try_compile-v1" - backtrace: - - "/usr/share/cmake-3.28/Modules/CheckFunctionExists.cmake:86 (try_compile)" - - "CMakeLists.txt:105 (check_function_exists)" - checks: - - "Looking for _fseeki64" - directories: - source: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-NbmOwX" - binary: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-NbmOwX" - cmakeVariables: - CMAKE_CXX_COMPILER_CLANG_SCAN_DEPS: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/emscan-deps" - CMAKE_C_FLAGS: "" - CMAKE_C_FLAGS_DEBUG: "-g" - CMAKE_EXE_LINKER_FLAGS: "" - CMAKE_MODULE_PATH: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/cmake;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules" - buildResult: - variable: "HAVE__FSEEKI64" - cached: true - stdout: | - Change Dir: '/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-NbmOwX' - - Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_f3c64/fast - /usr/bin/gmake -f CMakeFiles/cmTC_f3c64.dir/build.make CMakeFiles/cmTC_f3c64.dir/build - gmake[1]: вход в каталог «/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-NbmOwX» - Building C object CMakeFiles/cmTC_f3c64.dir/CheckFunctionExists.c.o - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" -D__STDC_WANT_LIB_EXT1__=1 -DCHECK_FUNCTION_EXISTS=_fseeki64 -MD -MT CMakeFiles/cmTC_f3c64.dir/CheckFunctionExists.c.o -MF CMakeFiles/cmTC_f3c64.dir/CheckFunctionExists.c.o.d -o CMakeFiles/cmTC_f3c64.dir/CheckFunctionExists.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-NbmOwX/CheckFunctionExists.c" - Linking C executable cmTC_f3c64.js - /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_f3c64.dir/link.txt --verbose=1 - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" -DCHECK_FUNCTION_EXISTS=_fseeki64 @CMakeFiles/cmTC_f3c64.dir/objects1.rsp -o cmTC_f3c64.js - wasm-ld: error: CMakeFiles/cmTC_f3c64.dir/CheckFunctionExists.c.o: undefined symbol: _fseeki64 - emcc: error: '"/home/romazan/Рабочий стол/emsdk/upstream/bin/wasm-ld" -o cmTC_f3c64.wasm CMakeFiles/cmTC_f3c64.dir/CheckFunctionExists.c.o "-L/home/romazan/Рабочий стол/emsdk/upstream/emscripten/cache/sysroot/lib/wasm32-emscripten" "-L/home/romazan/Рабочий стол/emsdk/upstream/emscripten/src/lib" -lGL-getprocaddr -lal -lhtml5 -lstubs-debug -lnoexit -lc-debug -ldlmalloc-debug -lcompiler_rt -lc++-noexcept -lc++abi-debug-noexcept -lsockets -mllvm -combiner-global-alias-analysis=false -mllvm -enable-emscripten-sjlj -mllvm -disable-lsr /tmp/tmpf3w8q8q_libemscripten_js_symbols.so --strip-debug --export=emscripten_stack_get_end --export=emscripten_stack_get_free --export=emscripten_stack_get_base --export=emscripten_stack_get_current --export=emscripten_stack_init --export=_emscripten_stack_alloc --export=__wasm_call_ctors --export=_emscripten_stack_restore --export-if-defined=__start_em_asm --export-if-defined=__stop_em_asm --export-if-defined=__start_em_lib_deps --export-if-defined=__stop_em_lib_deps --export-if-defined=__start_em_js --export-if-defined=__stop_em_js --export-if-defined=main --export-if-defined=__main_argc_argv --export-if-defined=fflush --export-table -z stack-size=65536 --no-growable-memory --initial-heap=16777216 --no-entry --stack-first --table-base=1' failed (returned 1) - gmake[1]: *** [CMakeFiles/cmTC_f3c64.dir/build.make:101: cmTC_f3c64.js] Ошибка 1 - gmake[1]: выход из каталога «/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-NbmOwX» - gmake: *** [Makefile:127: cmTC_f3c64/fast] Ошибка 2 - - exitCode: 2 - - - kind: "try_compile-v1" - backtrace: - - "/usr/share/cmake-3.28/Modules/CheckFunctionExists.cmake:86 (try_compile)" - - "CMakeLists.txt:106 (check_function_exists)" - checks: - - "Looking for _fstat64" - directories: - source: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-eAYCyW" - binary: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-eAYCyW" - cmakeVariables: - CMAKE_CXX_COMPILER_CLANG_SCAN_DEPS: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/emscan-deps" - CMAKE_C_FLAGS: "" - CMAKE_C_FLAGS_DEBUG: "-g" - CMAKE_EXE_LINKER_FLAGS: "" - CMAKE_MODULE_PATH: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/cmake;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules" - buildResult: - variable: "HAVE__FSTAT64" - cached: true - stdout: | - Change Dir: '/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-eAYCyW' - - Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_3f76b/fast - /usr/bin/gmake -f CMakeFiles/cmTC_3f76b.dir/build.make CMakeFiles/cmTC_3f76b.dir/build - gmake[1]: вход в каталог «/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-eAYCyW» - Building C object CMakeFiles/cmTC_3f76b.dir/CheckFunctionExists.c.o - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" -D__STDC_WANT_LIB_EXT1__=1 -DCHECK_FUNCTION_EXISTS=_fstat64 -MD -MT CMakeFiles/cmTC_3f76b.dir/CheckFunctionExists.c.o -MF CMakeFiles/cmTC_3f76b.dir/CheckFunctionExists.c.o.d -o CMakeFiles/cmTC_3f76b.dir/CheckFunctionExists.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-eAYCyW/CheckFunctionExists.c" - Linking C executable cmTC_3f76b.js - /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_3f76b.dir/link.txt --verbose=1 - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" -DCHECK_FUNCTION_EXISTS=_fstat64 @CMakeFiles/cmTC_3f76b.dir/objects1.rsp -o cmTC_3f76b.js - wasm-ld: error: CMakeFiles/cmTC_3f76b.dir/CheckFunctionExists.c.o: undefined symbol: _fstat64 - emcc: error: '"/home/romazan/Рабочий стол/emsdk/upstream/bin/wasm-ld" -o cmTC_3f76b.wasm CMakeFiles/cmTC_3f76b.dir/CheckFunctionExists.c.o "-L/home/romazan/Рабочий стол/emsdk/upstream/emscripten/cache/sysroot/lib/wasm32-emscripten" "-L/home/romazan/Рабочий стол/emsdk/upstream/emscripten/src/lib" -lGL-getprocaddr -lal -lhtml5 -lstubs-debug -lnoexit -lc-debug -ldlmalloc-debug -lcompiler_rt -lc++-noexcept -lc++abi-debug-noexcept -lsockets -mllvm -combiner-global-alias-analysis=false -mllvm -enable-emscripten-sjlj -mllvm -disable-lsr /tmp/tmpnsfzktgulibemscripten_js_symbols.so --strip-debug --export=emscripten_stack_get_end --export=emscripten_stack_get_free --export=emscripten_stack_get_base --export=emscripten_stack_get_current --export=emscripten_stack_init --export=_emscripten_stack_alloc --export=__wasm_call_ctors --export=_emscripten_stack_restore --export-if-defined=__start_em_asm --export-if-defined=__stop_em_asm --export-if-defined=__start_em_lib_deps --export-if-defined=__stop_em_lib_deps --export-if-defined=__start_em_js --export-if-defined=__stop_em_js --export-if-defined=main --export-if-defined=__main_argc_argv --export-if-defined=fflush --export-table -z stack-size=65536 --no-growable-memory --initial-heap=16777216 --no-entry --stack-first --table-base=1' failed (returned 1) - gmake[1]: *** [CMakeFiles/cmTC_3f76b.dir/build.make:101: cmTC_3f76b.js] Ошибка 1 - gmake[1]: выход из каталога «/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-eAYCyW» - gmake: *** [Makefile:127: cmTC_3f76b/fast] Ошибка 2 - - exitCode: 2 - - - kind: "try_compile-v1" - backtrace: - - "/usr/share/cmake-3.28/Modules/CheckFunctionExists.cmake:86 (try_compile)" - - "CMakeLists.txt:107 (check_function_exists)" - checks: - - "Looking for _setmode" - directories: - source: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-zr5Hp7" - binary: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-zr5Hp7" - cmakeVariables: - CMAKE_CXX_COMPILER_CLANG_SCAN_DEPS: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/emscan-deps" - CMAKE_C_FLAGS: "" - CMAKE_C_FLAGS_DEBUG: "-g" - CMAKE_EXE_LINKER_FLAGS: "" - CMAKE_MODULE_PATH: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/cmake;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules" - buildResult: - variable: "HAVE__SETMODE" - cached: true - stdout: | - Change Dir: '/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-zr5Hp7' - - Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_7cd20/fast - /usr/bin/gmake -f CMakeFiles/cmTC_7cd20.dir/build.make CMakeFiles/cmTC_7cd20.dir/build - gmake[1]: вход в каталог «/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-zr5Hp7» - Building C object CMakeFiles/cmTC_7cd20.dir/CheckFunctionExists.c.o - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" -D__STDC_WANT_LIB_EXT1__=1 -DCHECK_FUNCTION_EXISTS=_setmode -MD -MT CMakeFiles/cmTC_7cd20.dir/CheckFunctionExists.c.o -MF CMakeFiles/cmTC_7cd20.dir/CheckFunctionExists.c.o.d -o CMakeFiles/cmTC_7cd20.dir/CheckFunctionExists.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-zr5Hp7/CheckFunctionExists.c" - Linking C executable cmTC_7cd20.js - /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_7cd20.dir/link.txt --verbose=1 - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" -DCHECK_FUNCTION_EXISTS=_setmode @CMakeFiles/cmTC_7cd20.dir/objects1.rsp -o cmTC_7cd20.js - wasm-ld: error: CMakeFiles/cmTC_7cd20.dir/CheckFunctionExists.c.o: undefined symbol: _setmode - emcc: error: '"/home/romazan/Рабочий стол/emsdk/upstream/bin/wasm-ld" -o cmTC_7cd20.wasm CMakeFiles/cmTC_7cd20.dir/CheckFunctionExists.c.o "-L/home/romazan/Рабочий стол/emsdk/upstream/emscripten/cache/sysroot/lib/wasm32-emscripten" "-L/home/romazan/Рабочий стол/emsdk/upstream/emscripten/src/lib" -lGL-getprocaddr -lal -lhtml5 -lstubs-debug -lnoexit -lc-debug -ldlmalloc-debug -lcompiler_rt -lc++-noexcept -lc++abi-debug-noexcept -lsockets -mllvm -combiner-global-alias-analysis=false -mllvm -enable-emscripten-sjlj -mllvm -disable-lsr /tmp/tmp7iuye7j2libemscripten_js_symbols.so --strip-debug --export=emscripten_stack_get_end --export=emscripten_stack_get_free --export=emscripten_stack_get_base --export=emscripten_stack_get_current --export=emscripten_stack_init --export=_emscripten_stack_alloc --export=__wasm_call_ctors --export=_emscripten_stack_restore --export-if-defined=__start_em_asm --export-if-defined=__stop_em_asm --export-if-defined=__start_em_lib_deps --export-if-defined=__stop_em_lib_deps --export-if-defined=__start_em_js --export-if-defined=__stop_em_js --export-if-defined=main --export-if-defined=__main_argc_argv --export-if-defined=fflush --export-table -z stack-size=65536 --no-growable-memory --initial-heap=16777216 --no-entry --stack-first --table-base=1' failed (returned 1) - gmake[1]: *** [CMakeFiles/cmTC_7cd20.dir/build.make:101: cmTC_7cd20.js] Ошибка 1 - gmake[1]: выход из каталога «/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-zr5Hp7» - gmake: *** [Makefile:127: cmTC_7cd20/fast] Ошибка 2 - - exitCode: 2 - - - kind: "try_compile-v1" - backtrace: - - "/usr/share/cmake-3.28/Modules/CheckFunctionExists.cmake:86 (try_compile)" - - "CMakeLists.txt:108 (check_function_exists)" - checks: - - "Looking for _stat64" - directories: - source: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-uaspt7" - binary: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-uaspt7" - cmakeVariables: - CMAKE_CXX_COMPILER_CLANG_SCAN_DEPS: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/emscan-deps" - CMAKE_C_FLAGS: "" - CMAKE_C_FLAGS_DEBUG: "-g" - CMAKE_EXE_LINKER_FLAGS: "" - CMAKE_MODULE_PATH: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/cmake;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules" - buildResult: - variable: "HAVE__STAT64" - cached: true - stdout: | - Change Dir: '/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-uaspt7' - - Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_1ed91/fast - /usr/bin/gmake -f CMakeFiles/cmTC_1ed91.dir/build.make CMakeFiles/cmTC_1ed91.dir/build - gmake[1]: вход в каталог «/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-uaspt7» - Building C object CMakeFiles/cmTC_1ed91.dir/CheckFunctionExists.c.o - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" -D__STDC_WANT_LIB_EXT1__=1 -DCHECK_FUNCTION_EXISTS=_stat64 -MD -MT CMakeFiles/cmTC_1ed91.dir/CheckFunctionExists.c.o -MF CMakeFiles/cmTC_1ed91.dir/CheckFunctionExists.c.o.d -o CMakeFiles/cmTC_1ed91.dir/CheckFunctionExists.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-uaspt7/CheckFunctionExists.c" - Linking C executable cmTC_1ed91.js - /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_1ed91.dir/link.txt --verbose=1 - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" -DCHECK_FUNCTION_EXISTS=_stat64 @CMakeFiles/cmTC_1ed91.dir/objects1.rsp -o cmTC_1ed91.js - wasm-ld: error: CMakeFiles/cmTC_1ed91.dir/CheckFunctionExists.c.o: undefined symbol: _stat64 - emcc: error: '"/home/romazan/Рабочий стол/emsdk/upstream/bin/wasm-ld" -o cmTC_1ed91.wasm CMakeFiles/cmTC_1ed91.dir/CheckFunctionExists.c.o "-L/home/romazan/Рабочий стол/emsdk/upstream/emscripten/cache/sysroot/lib/wasm32-emscripten" "-L/home/romazan/Рабочий стол/emsdk/upstream/emscripten/src/lib" -lGL-getprocaddr -lal -lhtml5 -lstubs-debug -lnoexit -lc-debug -ldlmalloc-debug -lcompiler_rt -lc++-noexcept -lc++abi-debug-noexcept -lsockets -mllvm -combiner-global-alias-analysis=false -mllvm -enable-emscripten-sjlj -mllvm -disable-lsr /tmp/tmp6b3t1euylibemscripten_js_symbols.so --strip-debug --export=emscripten_stack_get_end --export=emscripten_stack_get_free --export=emscripten_stack_get_base --export=emscripten_stack_get_current --export=emscripten_stack_init --export=_emscripten_stack_alloc --export=__wasm_call_ctors --export=_emscripten_stack_restore --export-if-defined=__start_em_asm --export-if-defined=__stop_em_asm --export-if-defined=__start_em_lib_deps --export-if-defined=__stop_em_lib_deps --export-if-defined=__start_em_js --export-if-defined=__stop_em_js --export-if-defined=main --export-if-defined=__main_argc_argv --export-if-defined=fflush --export-table -z stack-size=65536 --no-growable-memory --initial-heap=16777216 --no-entry --stack-first --table-base=1' failed (returned 1) - gmake[1]: *** [CMakeFiles/cmTC_1ed91.dir/build.make:101: cmTC_1ed91.js] Ошибка 1 - gmake[1]: выход из каталога «/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-uaspt7» - gmake: *** [Makefile:127: cmTC_1ed91/fast] Ошибка 2 - - exitCode: 2 - - - kind: "try_compile-v1" - backtrace: - - "/usr/share/cmake-3.28/Modules/CheckSymbolExists.cmake:140 (try_compile)" - - "/usr/share/cmake-3.28/Modules/CheckSymbolExists.cmake:66 (__CHECK_SYMBOL_EXISTS_IMPL)" - - "CMakeLists.txt:109 (check_symbol_exists)" - checks: - - "Looking for _snprintf" - directories: - source: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-t3f4RA" - binary: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-t3f4RA" - cmakeVariables: - CMAKE_CXX_COMPILER_CLANG_SCAN_DEPS: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/emscan-deps" - CMAKE_C_FLAGS: "" - CMAKE_C_FLAGS_DEBUG: "-g" - CMAKE_EXE_LINKER_FLAGS: "" - CMAKE_MODULE_PATH: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/cmake;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules" - buildResult: - variable: "HAVE__SNPRINTF" - cached: true - stdout: | - Change Dir: '/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-t3f4RA' - - Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_fa096/fast - /usr/bin/gmake -f CMakeFiles/cmTC_fa096.dir/build.make CMakeFiles/cmTC_fa096.dir/build - gmake[1]: вход в каталог «/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-t3f4RA» - Building C object CMakeFiles/cmTC_fa096.dir/CheckSymbolExists.c.o - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" -D__STDC_WANT_LIB_EXT1__=1 -MD -MT CMakeFiles/cmTC_fa096.dir/CheckSymbolExists.c.o -MF CMakeFiles/cmTC_fa096.dir/CheckSymbolExists.c.o.d -o CMakeFiles/cmTC_fa096.dir/CheckSymbolExists.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-t3f4RA/CheckSymbolExists.c" - /home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-t3f4RA/CheckSymbolExists.c:8:19: error: use of undeclared identifier '_snprintf' - 8 | return ((int*)(&_snprintf))[argc]; - | ^ - 1 error generated. - gmake[1]: *** [CMakeFiles/cmTC_fa096.dir/build.make:79: CMakeFiles/cmTC_fa096.dir/CheckSymbolExists.c.o] Ошибка 1 - gmake[1]: выход из каталога «/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-t3f4RA» - gmake: *** [Makefile:127: cmTC_fa096/fast] Ошибка 2 - - exitCode: 2 - - - kind: "try_compile-v1" - backtrace: - - "/usr/share/cmake-3.28/Modules/CheckSymbolExists.cmake:140 (try_compile)" - - "/usr/share/cmake-3.28/Modules/CheckSymbolExists.cmake:66 (__CHECK_SYMBOL_EXISTS_IMPL)" - - "CMakeLists.txt:110 (check_symbol_exists)" - checks: - - "Looking for _snprintf_s" - directories: - source: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-H0eGil" - binary: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-H0eGil" - cmakeVariables: - CMAKE_CXX_COMPILER_CLANG_SCAN_DEPS: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/emscan-deps" - CMAKE_C_FLAGS: "" - CMAKE_C_FLAGS_DEBUG: "-g" - CMAKE_EXE_LINKER_FLAGS: "" - CMAKE_MODULE_PATH: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/cmake;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules" - buildResult: - variable: "HAVE__SNPRINTF_S" - cached: true - stdout: | - Change Dir: '/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-H0eGil' - - Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_9bd51/fast - /usr/bin/gmake -f CMakeFiles/cmTC_9bd51.dir/build.make CMakeFiles/cmTC_9bd51.dir/build - gmake[1]: вход в каталог «/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-H0eGil» - Building C object CMakeFiles/cmTC_9bd51.dir/CheckSymbolExists.c.o - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" -D__STDC_WANT_LIB_EXT1__=1 -MD -MT CMakeFiles/cmTC_9bd51.dir/CheckSymbolExists.c.o -MF CMakeFiles/cmTC_9bd51.dir/CheckSymbolExists.c.o.d -o CMakeFiles/cmTC_9bd51.dir/CheckSymbolExists.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-H0eGil/CheckSymbolExists.c" - /home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-H0eGil/CheckSymbolExists.c:8:19: error: use of undeclared identifier '_snprintf_s' - 8 | return ((int*)(&_snprintf_s))[argc]; - | ^ - 1 error generated. - gmake[1]: *** [CMakeFiles/cmTC_9bd51.dir/build.make:79: CMakeFiles/cmTC_9bd51.dir/CheckSymbolExists.c.o] Ошибка 1 - gmake[1]: выход из каталога «/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-H0eGil» - gmake: *** [Makefile:127: cmTC_9bd51/fast] Ошибка 2 - - exitCode: 2 - - - kind: "try_compile-v1" - backtrace: - - "/usr/share/cmake-3.28/Modules/CheckSymbolExists.cmake:140 (try_compile)" - - "/usr/share/cmake-3.28/Modules/CheckSymbolExists.cmake:66 (__CHECK_SYMBOL_EXISTS_IMPL)" - - "CMakeLists.txt:111 (check_symbol_exists)" - checks: - - "Looking for _snwprintf_s" - directories: - source: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-KYGPxJ" - binary: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-KYGPxJ" - cmakeVariables: - CMAKE_CXX_COMPILER_CLANG_SCAN_DEPS: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/emscan-deps" - CMAKE_C_FLAGS: "" - CMAKE_C_FLAGS_DEBUG: "-g" - CMAKE_EXE_LINKER_FLAGS: "" - CMAKE_MODULE_PATH: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/cmake;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules" - buildResult: - variable: "HAVE__SNWPRINTF_S" - cached: true - stdout: | - Change Dir: '/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-KYGPxJ' - - Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_86ebf/fast - /usr/bin/gmake -f CMakeFiles/cmTC_86ebf.dir/build.make CMakeFiles/cmTC_86ebf.dir/build - gmake[1]: вход в каталог «/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-KYGPxJ» - Building C object CMakeFiles/cmTC_86ebf.dir/CheckSymbolExists.c.o - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" -D__STDC_WANT_LIB_EXT1__=1 -MD -MT CMakeFiles/cmTC_86ebf.dir/CheckSymbolExists.c.o -MF CMakeFiles/cmTC_86ebf.dir/CheckSymbolExists.c.o.d -o CMakeFiles/cmTC_86ebf.dir/CheckSymbolExists.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-KYGPxJ/CheckSymbolExists.c" - /home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-KYGPxJ/CheckSymbolExists.c:8:19: error: use of undeclared identifier '_snwprintf_s' - 8 | return ((int*)(&_snwprintf_s))[argc]; - | ^ - 1 error generated. - gmake[1]: *** [CMakeFiles/cmTC_86ebf.dir/build.make:79: CMakeFiles/cmTC_86ebf.dir/CheckSymbolExists.c.o] Ошибка 1 - gmake[1]: выход из каталога «/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-KYGPxJ» - gmake: *** [Makefile:127: cmTC_86ebf/fast] Ошибка 2 - - exitCode: 2 - - - kind: "try_compile-v1" - backtrace: - - "/usr/share/cmake-3.28/Modules/CheckFunctionExists.cmake:86 (try_compile)" - - "CMakeLists.txt:112 (check_function_exists)" - checks: - - "Looking for _strdup" - directories: - source: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-OAMulf" - binary: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-OAMulf" - cmakeVariables: - CMAKE_CXX_COMPILER_CLANG_SCAN_DEPS: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/emscan-deps" - CMAKE_C_FLAGS: "" - CMAKE_C_FLAGS_DEBUG: "-g" - CMAKE_EXE_LINKER_FLAGS: "" - CMAKE_MODULE_PATH: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/cmake;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules" - buildResult: - variable: "HAVE__STRDUP" - cached: true - stdout: | - Change Dir: '/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-OAMulf' - - Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_1c2f2/fast - /usr/bin/gmake -f CMakeFiles/cmTC_1c2f2.dir/build.make CMakeFiles/cmTC_1c2f2.dir/build - gmake[1]: вход в каталог «/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-OAMulf» - Building C object CMakeFiles/cmTC_1c2f2.dir/CheckFunctionExists.c.o - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" -D__STDC_WANT_LIB_EXT1__=1 -DCHECK_FUNCTION_EXISTS=_strdup -MD -MT CMakeFiles/cmTC_1c2f2.dir/CheckFunctionExists.c.o -MF CMakeFiles/cmTC_1c2f2.dir/CheckFunctionExists.c.o.d -o CMakeFiles/cmTC_1c2f2.dir/CheckFunctionExists.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-OAMulf/CheckFunctionExists.c" - Linking C executable cmTC_1c2f2.js - /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_1c2f2.dir/link.txt --verbose=1 - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" -DCHECK_FUNCTION_EXISTS=_strdup @CMakeFiles/cmTC_1c2f2.dir/objects1.rsp -o cmTC_1c2f2.js - wasm-ld: error: CMakeFiles/cmTC_1c2f2.dir/CheckFunctionExists.c.o: undefined symbol: _strdup - emcc: error: '"/home/romazan/Рабочий стол/emsdk/upstream/bin/wasm-ld" -o cmTC_1c2f2.wasm CMakeFiles/cmTC_1c2f2.dir/CheckFunctionExists.c.o "-L/home/romazan/Рабочий стол/emsdk/upstream/emscripten/cache/sysroot/lib/wasm32-emscripten" "-L/home/romazan/Рабочий стол/emsdk/upstream/emscripten/src/lib" -lGL-getprocaddr -lal -lhtml5 -lstubs-debug -lnoexit -lc-debug -ldlmalloc-debug -lcompiler_rt -lc++-noexcept -lc++abi-debug-noexcept -lsockets -mllvm -combiner-global-alias-analysis=false -mllvm -enable-emscripten-sjlj -mllvm -disable-lsr /tmp/tmpf9l3dofolibemscripten_js_symbols.so --strip-debug --export=emscripten_stack_get_end --export=emscripten_stack_get_free --export=emscripten_stack_get_base --export=emscripten_stack_get_current --export=emscripten_stack_init --export=_emscripten_stack_alloc --export=__wasm_call_ctors --export=_emscripten_stack_restore --export-if-defined=__start_em_asm --export-if-defined=__stop_em_asm --export-if-defined=__start_em_lib_deps --export-if-defined=__stop_em_lib_deps --export-if-defined=__start_em_js --export-if-defined=__stop_em_js --export-if-defined=main --export-if-defined=__main_argc_argv --export-if-defined=fflush --export-table -z stack-size=65536 --no-growable-memory --initial-heap=16777216 --no-entry --stack-first --table-base=1' failed (returned 1) - gmake[1]: *** [CMakeFiles/cmTC_1c2f2.dir/build.make:101: cmTC_1c2f2.js] Ошибка 1 - gmake[1]: выход из каталога «/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-OAMulf» - gmake: *** [Makefile:127: cmTC_1c2f2/fast] Ошибка 2 - - exitCode: 2 - - - kind: "try_compile-v1" - backtrace: - - "/usr/share/cmake-3.28/Modules/CheckSymbolExists.cmake:140 (try_compile)" - - "/usr/share/cmake-3.28/Modules/CheckSymbolExists.cmake:66 (__CHECK_SYMBOL_EXISTS_IMPL)" - - "CMakeLists.txt:113 (check_symbol_exists)" - checks: - - "Looking for _stricmp" - directories: - source: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-7YahIY" - binary: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-7YahIY" - cmakeVariables: - CMAKE_CXX_COMPILER_CLANG_SCAN_DEPS: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/emscan-deps" - CMAKE_C_FLAGS: "" - CMAKE_C_FLAGS_DEBUG: "-g" - CMAKE_EXE_LINKER_FLAGS: "" - CMAKE_MODULE_PATH: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/cmake;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules" - buildResult: - variable: "HAVE__STRICMP" - cached: true - stdout: | - Change Dir: '/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-7YahIY' - - Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_22c49/fast - /usr/bin/gmake -f CMakeFiles/cmTC_22c49.dir/build.make CMakeFiles/cmTC_22c49.dir/build - gmake[1]: вход в каталог «/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-7YahIY» - Building C object CMakeFiles/cmTC_22c49.dir/CheckSymbolExists.c.o - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" -D__STDC_WANT_LIB_EXT1__=1 -MD -MT CMakeFiles/cmTC_22c49.dir/CheckSymbolExists.c.o -MF CMakeFiles/cmTC_22c49.dir/CheckSymbolExists.c.o.d -o CMakeFiles/cmTC_22c49.dir/CheckSymbolExists.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-7YahIY/CheckSymbolExists.c" - /home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-7YahIY/CheckSymbolExists.c:8:19: error: use of undeclared identifier '_stricmp' - 8 | return ((int*)(&_stricmp))[argc]; - | ^ - 1 error generated. - gmake[1]: *** [CMakeFiles/cmTC_22c49.dir/build.make:79: CMakeFiles/cmTC_22c49.dir/CheckSymbolExists.c.o] Ошибка 1 - gmake[1]: выход из каталога «/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-7YahIY» - gmake: *** [Makefile:127: cmTC_22c49/fast] Ошибка 2 - - exitCode: 2 - - - kind: "try_compile-v1" - backtrace: - - "/usr/share/cmake-3.28/Modules/CheckFunctionExists.cmake:86 (try_compile)" - - "CMakeLists.txt:114 (check_function_exists)" - checks: - - "Looking for _strtoi64" - directories: - source: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-KUIvrC" - binary: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-KUIvrC" - cmakeVariables: - CMAKE_CXX_COMPILER_CLANG_SCAN_DEPS: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/emscan-deps" - CMAKE_C_FLAGS: "" - CMAKE_C_FLAGS_DEBUG: "-g" - CMAKE_EXE_LINKER_FLAGS: "" - CMAKE_MODULE_PATH: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/cmake;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules" - buildResult: - variable: "HAVE__STRTOI64" - cached: true - stdout: | - Change Dir: '/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-KUIvrC' - - Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_3e273/fast - /usr/bin/gmake -f CMakeFiles/cmTC_3e273.dir/build.make CMakeFiles/cmTC_3e273.dir/build - gmake[1]: вход в каталог «/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-KUIvrC» - Building C object CMakeFiles/cmTC_3e273.dir/CheckFunctionExists.c.o - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" -D__STDC_WANT_LIB_EXT1__=1 -DCHECK_FUNCTION_EXISTS=_strtoi64 -MD -MT CMakeFiles/cmTC_3e273.dir/CheckFunctionExists.c.o -MF CMakeFiles/cmTC_3e273.dir/CheckFunctionExists.c.o.d -o CMakeFiles/cmTC_3e273.dir/CheckFunctionExists.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-KUIvrC/CheckFunctionExists.c" - Linking C executable cmTC_3e273.js - /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_3e273.dir/link.txt --verbose=1 - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" -DCHECK_FUNCTION_EXISTS=_strtoi64 @CMakeFiles/cmTC_3e273.dir/objects1.rsp -o cmTC_3e273.js - wasm-ld: error: CMakeFiles/cmTC_3e273.dir/CheckFunctionExists.c.o: undefined symbol: _strtoi64 - emcc: error: '"/home/romazan/Рабочий стол/emsdk/upstream/bin/wasm-ld" -o cmTC_3e273.wasm CMakeFiles/cmTC_3e273.dir/CheckFunctionExists.c.o "-L/home/romazan/Рабочий стол/emsdk/upstream/emscripten/cache/sysroot/lib/wasm32-emscripten" "-L/home/romazan/Рабочий стол/emsdk/upstream/emscripten/src/lib" -lGL-getprocaddr -lal -lhtml5 -lstubs-debug -lnoexit -lc-debug -ldlmalloc-debug -lcompiler_rt -lc++-noexcept -lc++abi-debug-noexcept -lsockets -mllvm -combiner-global-alias-analysis=false -mllvm -enable-emscripten-sjlj -mllvm -disable-lsr /tmp/tmpfgc4vou0libemscripten_js_symbols.so --strip-debug --export=emscripten_stack_get_end --export=emscripten_stack_get_free --export=emscripten_stack_get_base --export=emscripten_stack_get_current --export=emscripten_stack_init --export=_emscripten_stack_alloc --export=__wasm_call_ctors --export=_emscripten_stack_restore --export-if-defined=__start_em_asm --export-if-defined=__stop_em_asm --export-if-defined=__start_em_lib_deps --export-if-defined=__stop_em_lib_deps --export-if-defined=__start_em_js --export-if-defined=__stop_em_js --export-if-defined=main --export-if-defined=__main_argc_argv --export-if-defined=fflush --export-table -z stack-size=65536 --no-growable-memory --initial-heap=16777216 --no-entry --stack-first --table-base=1' failed (returned 1) - gmake[1]: *** [CMakeFiles/cmTC_3e273.dir/build.make:101: cmTC_3e273.js] Ошибка 1 - gmake[1]: выход из каталога «/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-KUIvrC» - gmake: *** [Makefile:127: cmTC_3e273/fast] Ошибка 2 - - exitCode: 2 - - - kind: "try_compile-v1" - backtrace: - - "/usr/share/cmake-3.28/Modules/CheckFunctionExists.cmake:86 (try_compile)" - - "CMakeLists.txt:115 (check_function_exists)" - checks: - - "Looking for _strtoui64" - directories: - source: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-87YCq4" - binary: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-87YCq4" - cmakeVariables: - CMAKE_CXX_COMPILER_CLANG_SCAN_DEPS: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/emscan-deps" - CMAKE_C_FLAGS: "" - CMAKE_C_FLAGS_DEBUG: "-g" - CMAKE_EXE_LINKER_FLAGS: "" - CMAKE_MODULE_PATH: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/cmake;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules" - buildResult: - variable: "HAVE__STRTOUI64" - cached: true - stdout: | - Change Dir: '/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-87YCq4' - - Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_dccc4/fast - /usr/bin/gmake -f CMakeFiles/cmTC_dccc4.dir/build.make CMakeFiles/cmTC_dccc4.dir/build - gmake[1]: вход в каталог «/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-87YCq4» - Building C object CMakeFiles/cmTC_dccc4.dir/CheckFunctionExists.c.o - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" -D__STDC_WANT_LIB_EXT1__=1 -DCHECK_FUNCTION_EXISTS=_strtoui64 -MD -MT CMakeFiles/cmTC_dccc4.dir/CheckFunctionExists.c.o -MF CMakeFiles/cmTC_dccc4.dir/CheckFunctionExists.c.o.d -o CMakeFiles/cmTC_dccc4.dir/CheckFunctionExists.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-87YCq4/CheckFunctionExists.c" - Linking C executable cmTC_dccc4.js - /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_dccc4.dir/link.txt --verbose=1 - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" -DCHECK_FUNCTION_EXISTS=_strtoui64 @CMakeFiles/cmTC_dccc4.dir/objects1.rsp -o cmTC_dccc4.js - wasm-ld: error: CMakeFiles/cmTC_dccc4.dir/CheckFunctionExists.c.o: undefined symbol: _strtoui64 - emcc: error: '"/home/romazan/Рабочий стол/emsdk/upstream/bin/wasm-ld" -o cmTC_dccc4.wasm CMakeFiles/cmTC_dccc4.dir/CheckFunctionExists.c.o "-L/home/romazan/Рабочий стол/emsdk/upstream/emscripten/cache/sysroot/lib/wasm32-emscripten" "-L/home/romazan/Рабочий стол/emsdk/upstream/emscripten/src/lib" -lGL-getprocaddr -lal -lhtml5 -lstubs-debug -lnoexit -lc-debug -ldlmalloc-debug -lcompiler_rt -lc++-noexcept -lc++abi-debug-noexcept -lsockets -mllvm -combiner-global-alias-analysis=false -mllvm -enable-emscripten-sjlj -mllvm -disable-lsr /tmp/tmpw0lcjt0ilibemscripten_js_symbols.so --strip-debug --export=emscripten_stack_get_end --export=emscripten_stack_get_free --export=emscripten_stack_get_base --export=emscripten_stack_get_current --export=emscripten_stack_init --export=_emscripten_stack_alloc --export=__wasm_call_ctors --export=_emscripten_stack_restore --export-if-defined=__start_em_asm --export-if-defined=__stop_em_asm --export-if-defined=__start_em_lib_deps --export-if-defined=__stop_em_lib_deps --export-if-defined=__start_em_js --export-if-defined=__stop_em_js --export-if-defined=main --export-if-defined=__main_argc_argv --export-if-defined=fflush --export-table -z stack-size=65536 --no-growable-memory --initial-heap=16777216 --no-entry --stack-first --table-base=1' failed (returned 1) - gmake[1]: *** [CMakeFiles/cmTC_dccc4.dir/build.make:101: cmTC_dccc4.js] Ошибка 1 - gmake[1]: выход из каталога «/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-87YCq4» - gmake: *** [Makefile:127: cmTC_dccc4/fast] Ошибка 2 - - exitCode: 2 - - - kind: "try_compile-v1" - backtrace: - - "/usr/share/cmake-3.28/Modules/CheckFunctionExists.cmake:86 (try_compile)" - - "CMakeLists.txt:116 (check_function_exists)" - checks: - - "Looking for _unlink" - directories: - source: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-HoJWlH" - binary: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-HoJWlH" - cmakeVariables: - CMAKE_CXX_COMPILER_CLANG_SCAN_DEPS: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/emscan-deps" - CMAKE_C_FLAGS: "" - CMAKE_C_FLAGS_DEBUG: "-g" - CMAKE_EXE_LINKER_FLAGS: "" - CMAKE_MODULE_PATH: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/cmake;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules" - buildResult: - variable: "HAVE__UNLINK" - cached: true - stdout: | - Change Dir: '/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-HoJWlH' - - Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_6ded9/fast - /usr/bin/gmake -f CMakeFiles/cmTC_6ded9.dir/build.make CMakeFiles/cmTC_6ded9.dir/build - gmake[1]: вход в каталог «/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-HoJWlH» - Building C object CMakeFiles/cmTC_6ded9.dir/CheckFunctionExists.c.o - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" -D__STDC_WANT_LIB_EXT1__=1 -DCHECK_FUNCTION_EXISTS=_unlink -MD -MT CMakeFiles/cmTC_6ded9.dir/CheckFunctionExists.c.o -MF CMakeFiles/cmTC_6ded9.dir/CheckFunctionExists.c.o.d -o CMakeFiles/cmTC_6ded9.dir/CheckFunctionExists.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-HoJWlH/CheckFunctionExists.c" - Linking C executable cmTC_6ded9.js - /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_6ded9.dir/link.txt --verbose=1 - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" -DCHECK_FUNCTION_EXISTS=_unlink @CMakeFiles/cmTC_6ded9.dir/objects1.rsp -o cmTC_6ded9.js - wasm-ld: error: CMakeFiles/cmTC_6ded9.dir/CheckFunctionExists.c.o: undefined symbol: _unlink - emcc: error: '"/home/romazan/Рабочий стол/emsdk/upstream/bin/wasm-ld" -o cmTC_6ded9.wasm CMakeFiles/cmTC_6ded9.dir/CheckFunctionExists.c.o "-L/home/romazan/Рабочий стол/emsdk/upstream/emscripten/cache/sysroot/lib/wasm32-emscripten" "-L/home/romazan/Рабочий стол/emsdk/upstream/emscripten/src/lib" -lGL-getprocaddr -lal -lhtml5 -lstubs-debug -lnoexit -lc-debug -ldlmalloc-debug -lcompiler_rt -lc++-noexcept -lc++abi-debug-noexcept -lsockets -mllvm -combiner-global-alias-analysis=false -mllvm -enable-emscripten-sjlj -mllvm -disable-lsr /tmp/tmpd74l0nbjlibemscripten_js_symbols.so --strip-debug --export=emscripten_stack_get_end --export=emscripten_stack_get_free --export=emscripten_stack_get_base --export=emscripten_stack_get_current --export=emscripten_stack_init --export=_emscripten_stack_alloc --export=__wasm_call_ctors --export=_emscripten_stack_restore --export-if-defined=__start_em_asm --export-if-defined=__stop_em_asm --export-if-defined=__start_em_lib_deps --export-if-defined=__stop_em_lib_deps --export-if-defined=__start_em_js --export-if-defined=__stop_em_js --export-if-defined=main --export-if-defined=__main_argc_argv --export-if-defined=fflush --export-table -z stack-size=65536 --no-growable-memory --initial-heap=16777216 --no-entry --stack-first --table-base=1' failed (returned 1) - gmake[1]: *** [CMakeFiles/cmTC_6ded9.dir/build.make:101: cmTC_6ded9.js] Ошибка 1 - gmake[1]: выход из каталога «/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-HoJWlH» - gmake: *** [Makefile:127: cmTC_6ded9/fast] Ошибка 2 - - exitCode: 2 - - - kind: "try_compile-v1" - backtrace: - - "/usr/share/cmake-3.28/Modules/CheckFunctionExists.cmake:86 (try_compile)" - - "CMakeLists.txt:117 (check_function_exists)" - checks: - - "Looking for arc4random" - directories: - source: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-01CLon" - binary: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-01CLon" - cmakeVariables: - CMAKE_CXX_COMPILER_CLANG_SCAN_DEPS: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/emscan-deps" - CMAKE_C_FLAGS: "" - CMAKE_C_FLAGS_DEBUG: "-g" - CMAKE_EXE_LINKER_FLAGS: "" - CMAKE_MODULE_PATH: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/cmake;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules" - buildResult: - variable: "HAVE_ARC4RANDOM" - cached: true - stdout: | - Change Dir: '/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-01CLon' - - Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_77506/fast - /usr/bin/gmake -f CMakeFiles/cmTC_77506.dir/build.make CMakeFiles/cmTC_77506.dir/build - gmake[1]: вход в каталог «/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-01CLon» - Building C object CMakeFiles/cmTC_77506.dir/CheckFunctionExists.c.o - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" -D__STDC_WANT_LIB_EXT1__=1 -DCHECK_FUNCTION_EXISTS=arc4random -MD -MT CMakeFiles/cmTC_77506.dir/CheckFunctionExists.c.o -MF CMakeFiles/cmTC_77506.dir/CheckFunctionExists.c.o.d -o CMakeFiles/cmTC_77506.dir/CheckFunctionExists.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-01CLon/CheckFunctionExists.c" - Linking C executable cmTC_77506.js - /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_77506.dir/link.txt --verbose=1 - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" -DCHECK_FUNCTION_EXISTS=arc4random @CMakeFiles/cmTC_77506.dir/objects1.rsp -o cmTC_77506.js - wasm-ld: error: CMakeFiles/cmTC_77506.dir/CheckFunctionExists.c.o: undefined symbol: arc4random - emcc: error: '"/home/romazan/Рабочий стол/emsdk/upstream/bin/wasm-ld" -o cmTC_77506.wasm CMakeFiles/cmTC_77506.dir/CheckFunctionExists.c.o "-L/home/romazan/Рабочий стол/emsdk/upstream/emscripten/cache/sysroot/lib/wasm32-emscripten" "-L/home/romazan/Рабочий стол/emsdk/upstream/emscripten/src/lib" -lGL-getprocaddr -lal -lhtml5 -lstubs-debug -lnoexit -lc-debug -ldlmalloc-debug -lcompiler_rt -lc++-noexcept -lc++abi-debug-noexcept -lsockets -mllvm -combiner-global-alias-analysis=false -mllvm -enable-emscripten-sjlj -mllvm -disable-lsr /tmp/tmp23y4ff0llibemscripten_js_symbols.so --strip-debug --export=emscripten_stack_get_end --export=emscripten_stack_get_free --export=emscripten_stack_get_base --export=emscripten_stack_get_current --export=emscripten_stack_init --export=_emscripten_stack_alloc --export=__wasm_call_ctors --export=_emscripten_stack_restore --export-if-defined=__start_em_asm --export-if-defined=__stop_em_asm --export-if-defined=__start_em_lib_deps --export-if-defined=__stop_em_lib_deps --export-if-defined=__start_em_js --export-if-defined=__stop_em_js --export-if-defined=main --export-if-defined=__main_argc_argv --export-if-defined=fflush --export-table -z stack-size=65536 --no-growable-memory --initial-heap=16777216 --no-entry --stack-first --table-base=1' failed (returned 1) - gmake[1]: *** [CMakeFiles/cmTC_77506.dir/build.make:101: cmTC_77506.js] Ошибка 1 - gmake[1]: выход из каталога «/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-01CLon» - gmake: *** [Makefile:127: cmTC_77506/fast] Ошибка 2 - - exitCode: 2 - - - kind: "try_compile-v1" - backtrace: - - "/usr/share/cmake-3.28/Modules/CheckFunctionExists.cmake:86 (try_compile)" - - "CMakeLists.txt:118 (check_function_exists)" - checks: - - "Looking for clonefile" - directories: - source: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-6bd1sC" - binary: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-6bd1sC" - cmakeVariables: - CMAKE_CXX_COMPILER_CLANG_SCAN_DEPS: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/emscan-deps" - CMAKE_C_FLAGS: "" - CMAKE_C_FLAGS_DEBUG: "-g" - CMAKE_EXE_LINKER_FLAGS: "" - CMAKE_MODULE_PATH: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/cmake;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules" - buildResult: - variable: "HAVE_CLONEFILE" - cached: true - stdout: | - Change Dir: '/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-6bd1sC' - - Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_4ac66/fast - /usr/bin/gmake -f CMakeFiles/cmTC_4ac66.dir/build.make CMakeFiles/cmTC_4ac66.dir/build - gmake[1]: вход в каталог «/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-6bd1sC» - Building C object CMakeFiles/cmTC_4ac66.dir/CheckFunctionExists.c.o - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" -D__STDC_WANT_LIB_EXT1__=1 -DCHECK_FUNCTION_EXISTS=clonefile -MD -MT CMakeFiles/cmTC_4ac66.dir/CheckFunctionExists.c.o -MF CMakeFiles/cmTC_4ac66.dir/CheckFunctionExists.c.o.d -o CMakeFiles/cmTC_4ac66.dir/CheckFunctionExists.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-6bd1sC/CheckFunctionExists.c" - Linking C executable cmTC_4ac66.js - /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_4ac66.dir/link.txt --verbose=1 - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" -DCHECK_FUNCTION_EXISTS=clonefile @CMakeFiles/cmTC_4ac66.dir/objects1.rsp -o cmTC_4ac66.js - wasm-ld: error: CMakeFiles/cmTC_4ac66.dir/CheckFunctionExists.c.o: undefined symbol: clonefile - emcc: error: '"/home/romazan/Рабочий стол/emsdk/upstream/bin/wasm-ld" -o cmTC_4ac66.wasm CMakeFiles/cmTC_4ac66.dir/CheckFunctionExists.c.o "-L/home/romazan/Рабочий стол/emsdk/upstream/emscripten/cache/sysroot/lib/wasm32-emscripten" "-L/home/romazan/Рабочий стол/emsdk/upstream/emscripten/src/lib" -lGL-getprocaddr -lal -lhtml5 -lstubs-debug -lnoexit -lc-debug -ldlmalloc-debug -lcompiler_rt -lc++-noexcept -lc++abi-debug-noexcept -lsockets -mllvm -combiner-global-alias-analysis=false -mllvm -enable-emscripten-sjlj -mllvm -disable-lsr /tmp/tmp0blgrmq_libemscripten_js_symbols.so --strip-debug --export=emscripten_stack_get_end --export=emscripten_stack_get_free --export=emscripten_stack_get_base --export=emscripten_stack_get_current --export=emscripten_stack_init --export=_emscripten_stack_alloc --export=__wasm_call_ctors --export=_emscripten_stack_restore --export-if-defined=__start_em_asm --export-if-defined=__stop_em_asm --export-if-defined=__start_em_lib_deps --export-if-defined=__stop_em_lib_deps --export-if-defined=__start_em_js --export-if-defined=__stop_em_js --export-if-defined=main --export-if-defined=__main_argc_argv --export-if-defined=fflush --export-table -z stack-size=65536 --no-growable-memory --initial-heap=16777216 --no-entry --stack-first --table-base=1' failed (returned 1) - gmake[1]: *** [CMakeFiles/cmTC_4ac66.dir/build.make:101: cmTC_4ac66.js] Ошибка 1 - gmake[1]: выход из каталога «/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-6bd1sC» - gmake: *** [Makefile:127: cmTC_4ac66/fast] Ошибка 2 - - exitCode: 2 - - - kind: "try_compile-v1" - backtrace: - - "/usr/share/cmake-3.28/Modules/CheckFunctionExists.cmake:86 (try_compile)" - - "CMakeLists.txt:119 (check_function_exists)" - checks: - - "Looking for explicit_bzero" - directories: - source: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-ZKHMsS" - binary: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-ZKHMsS" - cmakeVariables: - CMAKE_CXX_COMPILER_CLANG_SCAN_DEPS: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/emscan-deps" - CMAKE_C_FLAGS: "" - CMAKE_C_FLAGS_DEBUG: "-g" - CMAKE_EXE_LINKER_FLAGS: "" - CMAKE_MODULE_PATH: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/cmake;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules" - buildResult: - variable: "HAVE_EXPLICIT_BZERO" - cached: true - stdout: | - Change Dir: '/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-ZKHMsS' - - Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_95d77/fast - /usr/bin/gmake -f CMakeFiles/cmTC_95d77.dir/build.make CMakeFiles/cmTC_95d77.dir/build - gmake[1]: вход в каталог «/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-ZKHMsS» - Building C object CMakeFiles/cmTC_95d77.dir/CheckFunctionExists.c.o - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" -D__STDC_WANT_LIB_EXT1__=1 -DCHECK_FUNCTION_EXISTS=explicit_bzero -MD -MT CMakeFiles/cmTC_95d77.dir/CheckFunctionExists.c.o -MF CMakeFiles/cmTC_95d77.dir/CheckFunctionExists.c.o.d -o CMakeFiles/cmTC_95d77.dir/CheckFunctionExists.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-ZKHMsS/CheckFunctionExists.c" - Linking C executable cmTC_95d77.js - /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_95d77.dir/link.txt --verbose=1 - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" -DCHECK_FUNCTION_EXISTS=explicit_bzero @CMakeFiles/cmTC_95d77.dir/objects1.rsp -o cmTC_95d77.js - wasm-ld: warning: function signature mismatch: explicit_bzero - >>> defined as () -> i32 in CMakeFiles/cmTC_95d77.dir/CheckFunctionExists.c.o - >>> defined as (i32, i32) -> void in /home/romazan/Рабочий стол/emsdk/upstream/emscripten/cache/sysroot/lib/wasm32-emscripten/libc-debug.a(explicit_bzero.o) - gmake[1]: выход из каталога «/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-ZKHMsS» - - exitCode: 0 - - - kind: "try_compile-v1" - backtrace: - - "/usr/share/cmake-3.28/Modules/CheckFunctionExists.cmake:86 (try_compile)" - - "CMakeLists.txt:120 (check_function_exists)" - checks: - - "Looking for explicit_memset" - directories: - source: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-yY89KG" - binary: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-yY89KG" - cmakeVariables: - CMAKE_CXX_COMPILER_CLANG_SCAN_DEPS: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/emscan-deps" - CMAKE_C_FLAGS: "" - CMAKE_C_FLAGS_DEBUG: "-g" - CMAKE_EXE_LINKER_FLAGS: "" - CMAKE_MODULE_PATH: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/cmake;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules" - buildResult: - variable: "HAVE_EXPLICIT_MEMSET" - cached: true - stdout: | - Change Dir: '/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-yY89KG' - - Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_d9903/fast - /usr/bin/gmake -f CMakeFiles/cmTC_d9903.dir/build.make CMakeFiles/cmTC_d9903.dir/build - gmake[1]: вход в каталог «/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-yY89KG» - Building C object CMakeFiles/cmTC_d9903.dir/CheckFunctionExists.c.o - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" -D__STDC_WANT_LIB_EXT1__=1 -DCHECK_FUNCTION_EXISTS=explicit_memset -MD -MT CMakeFiles/cmTC_d9903.dir/CheckFunctionExists.c.o -MF CMakeFiles/cmTC_d9903.dir/CheckFunctionExists.c.o.d -o CMakeFiles/cmTC_d9903.dir/CheckFunctionExists.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-yY89KG/CheckFunctionExists.c" - Linking C executable cmTC_d9903.js - /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_d9903.dir/link.txt --verbose=1 - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" -DCHECK_FUNCTION_EXISTS=explicit_memset @CMakeFiles/cmTC_d9903.dir/objects1.rsp -o cmTC_d9903.js - wasm-ld: error: CMakeFiles/cmTC_d9903.dir/CheckFunctionExists.c.o: undefined symbol: explicit_memset - emcc: error: '"/home/romazan/Рабочий стол/emsdk/upstream/bin/wasm-ld" -o cmTC_d9903.wasm CMakeFiles/cmTC_d9903.dir/CheckFunctionExists.c.o "-L/home/romazan/Рабочий стол/emsdk/upstream/emscripten/cache/sysroot/lib/wasm32-emscripten" "-L/home/romazan/Рабочий стол/emsdk/upstream/emscripten/src/lib" -lGL-getprocaddr -lal -lhtml5 -lstubs-debug -lnoexit -lc-debug -ldlmalloc-debug -lcompiler_rt -lc++-noexcept -lc++abi-debug-noexcept -lsockets -mllvm -combiner-global-alias-analysis=false -mllvm -enable-emscripten-sjlj -mllvm -disable-lsr /tmp/tmp58yl2hlclibemscripten_js_symbols.so --strip-debug --export=emscripten_stack_get_end --export=emscripten_stack_get_free --export=emscripten_stack_get_base --export=emscripten_stack_get_current --export=emscripten_stack_init --export=_emscripten_stack_alloc --export=__wasm_call_ctors --export=_emscripten_stack_restore --export-if-defined=__start_em_asm --export-if-defined=__stop_em_asm --export-if-defined=__start_em_lib_deps --export-if-defined=__stop_em_lib_deps --export-if-defined=__start_em_js --export-if-defined=__stop_em_js --export-if-defined=main --export-if-defined=__main_argc_argv --export-if-defined=fflush --export-table -z stack-size=65536 --no-growable-memory --initial-heap=16777216 --no-entry --stack-first --table-base=1' failed (returned 1) - gmake[1]: *** [CMakeFiles/cmTC_d9903.dir/build.make:101: cmTC_d9903.js] Ошибка 1 - gmake[1]: выход из каталога «/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-yY89KG» - gmake: *** [Makefile:127: cmTC_d9903/fast] Ошибка 2 - - exitCode: 2 - - - kind: "try_compile-v1" - backtrace: - - "/usr/share/cmake-3.28/Modules/CheckFunctionExists.cmake:86 (try_compile)" - - "CMakeLists.txt:121 (check_function_exists)" - checks: - - "Looking for fchmod" - directories: - source: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-HarISf" - binary: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-HarISf" - cmakeVariables: - CMAKE_CXX_COMPILER_CLANG_SCAN_DEPS: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/emscan-deps" - CMAKE_C_FLAGS: "" - CMAKE_C_FLAGS_DEBUG: "-g" - CMAKE_EXE_LINKER_FLAGS: "" - CMAKE_MODULE_PATH: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/cmake;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules" - buildResult: - variable: "HAVE_FCHMOD" - cached: true - stdout: | - Change Dir: '/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-HarISf' - - Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_557c5/fast - /usr/bin/gmake -f CMakeFiles/cmTC_557c5.dir/build.make CMakeFiles/cmTC_557c5.dir/build - gmake[1]: вход в каталог «/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-HarISf» - Building C object CMakeFiles/cmTC_557c5.dir/CheckFunctionExists.c.o - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" -D__STDC_WANT_LIB_EXT1__=1 -DCHECK_FUNCTION_EXISTS=fchmod -MD -MT CMakeFiles/cmTC_557c5.dir/CheckFunctionExists.c.o -MF CMakeFiles/cmTC_557c5.dir/CheckFunctionExists.c.o.d -o CMakeFiles/cmTC_557c5.dir/CheckFunctionExists.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-HarISf/CheckFunctionExists.c" - Linking C executable cmTC_557c5.js - /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_557c5.dir/link.txt --verbose=1 - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" -DCHECK_FUNCTION_EXISTS=fchmod @CMakeFiles/cmTC_557c5.dir/objects1.rsp -o cmTC_557c5.js - wasm-ld: warning: function signature mismatch: fchmod - >>> defined as () -> i32 in CMakeFiles/cmTC_557c5.dir/CheckFunctionExists.c.o - >>> defined as (i32, i32) -> i32 in /home/romazan/Рабочий стол/emsdk/upstream/emscripten/cache/sysroot/lib/wasm32-emscripten/libc-debug.a(fchmod.o) - gmake[1]: выход из каталога «/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-HarISf» - - exitCode: 0 - - - kind: "try_compile-v1" - backtrace: - - "/usr/share/cmake-3.28/Modules/CheckFunctionExists.cmake:86 (try_compile)" - - "CMakeLists.txt:122 (check_function_exists)" - checks: - - "Looking for fileno" - directories: - source: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-ThZUKa" - binary: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-ThZUKa" - cmakeVariables: - CMAKE_CXX_COMPILER_CLANG_SCAN_DEPS: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/emscan-deps" - CMAKE_C_FLAGS: "" - CMAKE_C_FLAGS_DEBUG: "-g" - CMAKE_EXE_LINKER_FLAGS: "" - CMAKE_MODULE_PATH: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/cmake;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules" - buildResult: - variable: "HAVE_FILENO" - cached: true - stdout: | - Change Dir: '/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-ThZUKa' - - Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_892c4/fast - /usr/bin/gmake -f CMakeFiles/cmTC_892c4.dir/build.make CMakeFiles/cmTC_892c4.dir/build - gmake[1]: вход в каталог «/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-ThZUKa» - Building C object CMakeFiles/cmTC_892c4.dir/CheckFunctionExists.c.o - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" -D__STDC_WANT_LIB_EXT1__=1 -DCHECK_FUNCTION_EXISTS=fileno -MD -MT CMakeFiles/cmTC_892c4.dir/CheckFunctionExists.c.o -MF CMakeFiles/cmTC_892c4.dir/CheckFunctionExists.c.o.d -o CMakeFiles/cmTC_892c4.dir/CheckFunctionExists.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-ThZUKa/CheckFunctionExists.c" - Linking C executable cmTC_892c4.js - /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_892c4.dir/link.txt --verbose=1 - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" -DCHECK_FUNCTION_EXISTS=fileno @CMakeFiles/cmTC_892c4.dir/objects1.rsp -o cmTC_892c4.js - wasm-ld: warning: function signature mismatch: fileno - >>> defined as () -> i32 in CMakeFiles/cmTC_892c4.dir/CheckFunctionExists.c.o - >>> defined as (i32) -> i32 in /home/romazan/Рабочий стол/emsdk/upstream/emscripten/cache/sysroot/lib/wasm32-emscripten/libc-debug.a(fileno.o) - gmake[1]: выход из каталога «/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-ThZUKa» - - exitCode: 0 - - - kind: "try_compile-v1" - backtrace: - - "/usr/share/cmake-3.28/Modules/CheckFunctionExists.cmake:86 (try_compile)" - - "CMakeLists.txt:123 (check_function_exists)" - checks: - - "Looking for fseeko" - directories: - source: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-s3bz6P" - binary: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-s3bz6P" - cmakeVariables: - CMAKE_CXX_COMPILER_CLANG_SCAN_DEPS: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/emscan-deps" - CMAKE_C_FLAGS: "" - CMAKE_C_FLAGS_DEBUG: "-g" - CMAKE_EXE_LINKER_FLAGS: "" - CMAKE_MODULE_PATH: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/cmake;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules" - buildResult: - variable: "HAVE_FSEEKO" - cached: true - stdout: | - Change Dir: '/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-s3bz6P' - - Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_0ad28/fast - /usr/bin/gmake -f CMakeFiles/cmTC_0ad28.dir/build.make CMakeFiles/cmTC_0ad28.dir/build - gmake[1]: вход в каталог «/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-s3bz6P» - Building C object CMakeFiles/cmTC_0ad28.dir/CheckFunctionExists.c.o - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" -D__STDC_WANT_LIB_EXT1__=1 -DCHECK_FUNCTION_EXISTS=fseeko -MD -MT CMakeFiles/cmTC_0ad28.dir/CheckFunctionExists.c.o -MF CMakeFiles/cmTC_0ad28.dir/CheckFunctionExists.c.o.d -o CMakeFiles/cmTC_0ad28.dir/CheckFunctionExists.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-s3bz6P/CheckFunctionExists.c" - Linking C executable cmTC_0ad28.js - /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_0ad28.dir/link.txt --verbose=1 - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" -DCHECK_FUNCTION_EXISTS=fseeko @CMakeFiles/cmTC_0ad28.dir/objects1.rsp -o cmTC_0ad28.js - wasm-ld: warning: function signature mismatch: fseeko - >>> defined as () -> i32 in CMakeFiles/cmTC_0ad28.dir/CheckFunctionExists.c.o - >>> defined as (i32, i64, i32) -> i32 in /home/romazan/Рабочий стол/emsdk/upstream/emscripten/cache/sysroot/lib/wasm32-emscripten/libc-debug.a(fseek.o) - gmake[1]: выход из каталога «/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-s3bz6P» - - exitCode: 0 - - - kind: "try_compile-v1" - backtrace: - - "/usr/share/cmake-3.28/Modules/CheckFunctionExists.cmake:86 (try_compile)" - - "CMakeLists.txt:124 (check_function_exists)" - checks: - - "Looking for ftello" - directories: - source: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-CRFZdJ" - binary: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-CRFZdJ" - cmakeVariables: - CMAKE_CXX_COMPILER_CLANG_SCAN_DEPS: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/emscan-deps" - CMAKE_C_FLAGS: "" - CMAKE_C_FLAGS_DEBUG: "-g" - CMAKE_EXE_LINKER_FLAGS: "" - CMAKE_MODULE_PATH: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/cmake;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules" - buildResult: - variable: "HAVE_FTELLO" - cached: true - stdout: | - Change Dir: '/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-CRFZdJ' - - Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_a26f1/fast - /usr/bin/gmake -f CMakeFiles/cmTC_a26f1.dir/build.make CMakeFiles/cmTC_a26f1.dir/build - gmake[1]: вход в каталог «/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-CRFZdJ» - Building C object CMakeFiles/cmTC_a26f1.dir/CheckFunctionExists.c.o - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" -D__STDC_WANT_LIB_EXT1__=1 -DCHECK_FUNCTION_EXISTS=ftello -MD -MT CMakeFiles/cmTC_a26f1.dir/CheckFunctionExists.c.o -MF CMakeFiles/cmTC_a26f1.dir/CheckFunctionExists.c.o.d -o CMakeFiles/cmTC_a26f1.dir/CheckFunctionExists.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-CRFZdJ/CheckFunctionExists.c" - Linking C executable cmTC_a26f1.js - /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_a26f1.dir/link.txt --verbose=1 - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" -DCHECK_FUNCTION_EXISTS=ftello @CMakeFiles/cmTC_a26f1.dir/objects1.rsp -o cmTC_a26f1.js - wasm-ld: warning: function signature mismatch: ftello - >>> defined as () -> i32 in CMakeFiles/cmTC_a26f1.dir/CheckFunctionExists.c.o - >>> defined as (i32) -> i64 in /home/romazan/Рабочий стол/emsdk/upstream/emscripten/cache/sysroot/lib/wasm32-emscripten/libc-debug.a(ftell.o) - gmake[1]: выход из каталога «/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-CRFZdJ» - - exitCode: 0 - - - kind: "try_compile-v1" - backtrace: - - "/usr/share/cmake-3.28/Modules/CheckFunctionExists.cmake:86 (try_compile)" - - "CMakeLists.txt:125 (check_function_exists)" - checks: - - "Looking for getprogname" - directories: - source: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-Acm089" - binary: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-Acm089" - cmakeVariables: - CMAKE_CXX_COMPILER_CLANG_SCAN_DEPS: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/emscan-deps" - CMAKE_C_FLAGS: "" - CMAKE_C_FLAGS_DEBUG: "-g" - CMAKE_EXE_LINKER_FLAGS: "" - CMAKE_MODULE_PATH: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/cmake;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules" - buildResult: - variable: "HAVE_GETPROGNAME" - cached: true - stdout: | - Change Dir: '/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-Acm089' - - Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_bca76/fast - /usr/bin/gmake -f CMakeFiles/cmTC_bca76.dir/build.make CMakeFiles/cmTC_bca76.dir/build - gmake[1]: вход в каталог «/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-Acm089» - Building C object CMakeFiles/cmTC_bca76.dir/CheckFunctionExists.c.o - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" -D__STDC_WANT_LIB_EXT1__=1 -DCHECK_FUNCTION_EXISTS=getprogname -MD -MT CMakeFiles/cmTC_bca76.dir/CheckFunctionExists.c.o -MF CMakeFiles/cmTC_bca76.dir/CheckFunctionExists.c.o.d -o CMakeFiles/cmTC_bca76.dir/CheckFunctionExists.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-Acm089/CheckFunctionExists.c" - Linking C executable cmTC_bca76.js - /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_bca76.dir/link.txt --verbose=1 - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" -DCHECK_FUNCTION_EXISTS=getprogname @CMakeFiles/cmTC_bca76.dir/objects1.rsp -o cmTC_bca76.js - wasm-ld: error: CMakeFiles/cmTC_bca76.dir/CheckFunctionExists.c.o: undefined symbol: getprogname - emcc: error: '"/home/romazan/Рабочий стол/emsdk/upstream/bin/wasm-ld" -o cmTC_bca76.wasm CMakeFiles/cmTC_bca76.dir/CheckFunctionExists.c.o "-L/home/romazan/Рабочий стол/emsdk/upstream/emscripten/cache/sysroot/lib/wasm32-emscripten" "-L/home/romazan/Рабочий стол/emsdk/upstream/emscripten/src/lib" -lGL-getprocaddr -lal -lhtml5 -lstubs-debug -lnoexit -lc-debug -ldlmalloc-debug -lcompiler_rt -lc++-noexcept -lc++abi-debug-noexcept -lsockets -mllvm -combiner-global-alias-analysis=false -mllvm -enable-emscripten-sjlj -mllvm -disable-lsr /tmp/tmpx5iuwsdalibemscripten_js_symbols.so --strip-debug --export=emscripten_stack_get_end --export=emscripten_stack_get_free --export=emscripten_stack_get_base --export=emscripten_stack_get_current --export=emscripten_stack_init --export=_emscripten_stack_alloc --export=__wasm_call_ctors --export=_emscripten_stack_restore --export-if-defined=__start_em_asm --export-if-defined=__stop_em_asm --export-if-defined=__start_em_lib_deps --export-if-defined=__stop_em_lib_deps --export-if-defined=__start_em_js --export-if-defined=__stop_em_js --export-if-defined=main --export-if-defined=__main_argc_argv --export-if-defined=fflush --export-table -z stack-size=65536 --no-growable-memory --initial-heap=16777216 --no-entry --stack-first --table-base=1' failed (returned 1) - gmake[1]: *** [CMakeFiles/cmTC_bca76.dir/build.make:101: cmTC_bca76.js] Ошибка 1 - gmake[1]: выход из каталога «/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-Acm089» - gmake: *** [Makefile:127: cmTC_bca76/fast] Ошибка 2 - - exitCode: 2 - - - kind: "try_compile-v1" - backtrace: - - "/usr/share/cmake-3.28/Modules/CheckFunctionExists.cmake:86 (try_compile)" - - "CMakeLists.txt:126 (check_function_exists)" - checks: - - "Looking for GetSecurityInfo" - directories: - source: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-b8C5E9" - binary: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-b8C5E9" - cmakeVariables: - CMAKE_CXX_COMPILER_CLANG_SCAN_DEPS: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/emscan-deps" - CMAKE_C_FLAGS: "" - CMAKE_C_FLAGS_DEBUG: "-g" - CMAKE_EXE_LINKER_FLAGS: "" - CMAKE_MODULE_PATH: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/cmake;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules" - buildResult: - variable: "HAVE_GETSECURITYINFO" - cached: true - stdout: | - Change Dir: '/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-b8C5E9' - - Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_72f16/fast - /usr/bin/gmake -f CMakeFiles/cmTC_72f16.dir/build.make CMakeFiles/cmTC_72f16.dir/build - gmake[1]: вход в каталог «/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-b8C5E9» - Building C object CMakeFiles/cmTC_72f16.dir/CheckFunctionExists.c.o - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" -D__STDC_WANT_LIB_EXT1__=1 -DCHECK_FUNCTION_EXISTS=GetSecurityInfo -MD -MT CMakeFiles/cmTC_72f16.dir/CheckFunctionExists.c.o -MF CMakeFiles/cmTC_72f16.dir/CheckFunctionExists.c.o.d -o CMakeFiles/cmTC_72f16.dir/CheckFunctionExists.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-b8C5E9/CheckFunctionExists.c" - Linking C executable cmTC_72f16.js - /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_72f16.dir/link.txt --verbose=1 - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" -DCHECK_FUNCTION_EXISTS=GetSecurityInfo @CMakeFiles/cmTC_72f16.dir/objects1.rsp -o cmTC_72f16.js - wasm-ld: error: CMakeFiles/cmTC_72f16.dir/CheckFunctionExists.c.o: undefined symbol: GetSecurityInfo - emcc: error: '"/home/romazan/Рабочий стол/emsdk/upstream/bin/wasm-ld" -o cmTC_72f16.wasm CMakeFiles/cmTC_72f16.dir/CheckFunctionExists.c.o "-L/home/romazan/Рабочий стол/emsdk/upstream/emscripten/cache/sysroot/lib/wasm32-emscripten" "-L/home/romazan/Рабочий стол/emsdk/upstream/emscripten/src/lib" -lGL-getprocaddr -lal -lhtml5 -lstubs-debug -lnoexit -lc-debug -ldlmalloc-debug -lcompiler_rt -lc++-noexcept -lc++abi-debug-noexcept -lsockets -mllvm -combiner-global-alias-analysis=false -mllvm -enable-emscripten-sjlj -mllvm -disable-lsr /tmp/tmps6rkv_awlibemscripten_js_symbols.so --strip-debug --export=emscripten_stack_get_end --export=emscripten_stack_get_free --export=emscripten_stack_get_base --export=emscripten_stack_get_current --export=emscripten_stack_init --export=_emscripten_stack_alloc --export=__wasm_call_ctors --export=_emscripten_stack_restore --export-if-defined=__start_em_asm --export-if-defined=__stop_em_asm --export-if-defined=__start_em_lib_deps --export-if-defined=__stop_em_lib_deps --export-if-defined=__start_em_js --export-if-defined=__stop_em_js --export-if-defined=main --export-if-defined=__main_argc_argv --export-if-defined=fflush --export-table -z stack-size=65536 --no-growable-memory --initial-heap=16777216 --no-entry --stack-first --table-base=1' failed (returned 1) - gmake[1]: *** [CMakeFiles/cmTC_72f16.dir/build.make:101: cmTC_72f16.js] Ошибка 1 - gmake[1]: выход из каталога «/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-b8C5E9» - gmake: *** [Makefile:127: cmTC_72f16/fast] Ошибка 2 - - exitCode: 2 - - - kind: "try_compile-v1" - backtrace: - - "/usr/share/cmake-3.28/Modules/CheckSymbolExists.cmake:140 (try_compile)" - - "/usr/share/cmake-3.28/Modules/CheckSymbolExists.cmake:66 (__CHECK_SYMBOL_EXISTS_IMPL)" - - "CMakeLists.txt:127 (check_symbol_exists)" - checks: - - "Looking for localtime_r" - directories: - source: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-c4VH6h" - binary: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-c4VH6h" - cmakeVariables: - CMAKE_CXX_COMPILER_CLANG_SCAN_DEPS: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/emscan-deps" - CMAKE_C_FLAGS: "" - CMAKE_C_FLAGS_DEBUG: "-g" - CMAKE_EXE_LINKER_FLAGS: "" - CMAKE_MODULE_PATH: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/cmake;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules" - buildResult: - variable: "HAVE_LOCALTIME_R" - cached: true - stdout: | - Change Dir: '/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-c4VH6h' - - Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_06441/fast - /usr/bin/gmake -f CMakeFiles/cmTC_06441.dir/build.make CMakeFiles/cmTC_06441.dir/build - gmake[1]: вход в каталог «/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-c4VH6h» - Building C object CMakeFiles/cmTC_06441.dir/CheckSymbolExists.c.o - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" -D__STDC_WANT_LIB_EXT1__=1 -MD -MT CMakeFiles/cmTC_06441.dir/CheckSymbolExists.c.o -MF CMakeFiles/cmTC_06441.dir/CheckSymbolExists.c.o.d -o CMakeFiles/cmTC_06441.dir/CheckSymbolExists.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-c4VH6h/CheckSymbolExists.c" - Linking C executable cmTC_06441.js - /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_06441.dir/link.txt --verbose=1 - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" @CMakeFiles/cmTC_06441.dir/objects1.rsp -o cmTC_06441.js - gmake[1]: выход из каталога «/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-c4VH6h» - - exitCode: 0 - - - kind: "try_compile-v1" - backtrace: - - "/usr/share/cmake-3.28/Modules/CheckSymbolExists.cmake:140 (try_compile)" - - "/usr/share/cmake-3.28/Modules/CheckSymbolExists.cmake:66 (__CHECK_SYMBOL_EXISTS_IMPL)" - - "CMakeLists.txt:128 (check_symbol_exists)" - checks: - - "Looking for localtime_s" - directories: - source: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-wleEdB" - binary: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-wleEdB" - cmakeVariables: - CMAKE_CXX_COMPILER_CLANG_SCAN_DEPS: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/emscan-deps" - CMAKE_C_FLAGS: "" - CMAKE_C_FLAGS_DEBUG: "-g" - CMAKE_EXE_LINKER_FLAGS: "" - CMAKE_MODULE_PATH: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/cmake;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules" - buildResult: - variable: "HAVE_LOCALTIME_S" - cached: true - stdout: | - Change Dir: '/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-wleEdB' - - Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_b956f/fast - /usr/bin/gmake -f CMakeFiles/cmTC_b956f.dir/build.make CMakeFiles/cmTC_b956f.dir/build - gmake[1]: вход в каталог «/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-wleEdB» - Building C object CMakeFiles/cmTC_b956f.dir/CheckSymbolExists.c.o - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" -D__STDC_WANT_LIB_EXT1__=1 -MD -MT CMakeFiles/cmTC_b956f.dir/CheckSymbolExists.c.o -MF CMakeFiles/cmTC_b956f.dir/CheckSymbolExists.c.o.d -o CMakeFiles/cmTC_b956f.dir/CheckSymbolExists.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-wleEdB/CheckSymbolExists.c" - /home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-wleEdB/CheckSymbolExists.c:8:19: error: use of undeclared identifier 'localtime_s'; did you mean 'localtime_r'? - 8 | return ((int*)(&localtime_s))[argc]; - | ^~~~~~~~~~~ - | localtime_r - /home/romazan/Рабочий стол/emsdk/upstream/emscripten/cache/sysroot/include/time.h:76:12: note: 'localtime_r' declared here - 76 | struct tm *localtime_r (const time_t *__restrict, struct tm *__restrict); - | ^ - 1 error generated. - gmake[1]: *** [CMakeFiles/cmTC_b956f.dir/build.make:79: CMakeFiles/cmTC_b956f.dir/CheckSymbolExists.c.o] Ошибка 1 - gmake[1]: выход из каталога «/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-wleEdB» - gmake: *** [Makefile:127: cmTC_b956f/fast] Ошибка 2 - - exitCode: 2 - - - kind: "try_compile-v1" - backtrace: - - "/usr/share/cmake-3.28/Modules/CheckFunctionExists.cmake:86 (try_compile)" - - "CMakeLists.txt:129 (check_function_exists)" - checks: - - "Looking for memcpy_s" - directories: - source: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-xFJ5uy" - binary: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-xFJ5uy" - cmakeVariables: - CMAKE_CXX_COMPILER_CLANG_SCAN_DEPS: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/emscan-deps" - CMAKE_C_FLAGS: "" - CMAKE_C_FLAGS_DEBUG: "-g" - CMAKE_EXE_LINKER_FLAGS: "" - CMAKE_MODULE_PATH: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/cmake;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules" - buildResult: - variable: "HAVE_MEMCPY_S" - cached: true - stdout: | - Change Dir: '/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-xFJ5uy' - - Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_97120/fast - /usr/bin/gmake -f CMakeFiles/cmTC_97120.dir/build.make CMakeFiles/cmTC_97120.dir/build - gmake[1]: вход в каталог «/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-xFJ5uy» - Building C object CMakeFiles/cmTC_97120.dir/CheckFunctionExists.c.o - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" -D__STDC_WANT_LIB_EXT1__=1 -DCHECK_FUNCTION_EXISTS=memcpy_s -MD -MT CMakeFiles/cmTC_97120.dir/CheckFunctionExists.c.o -MF CMakeFiles/cmTC_97120.dir/CheckFunctionExists.c.o.d -o CMakeFiles/cmTC_97120.dir/CheckFunctionExists.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-xFJ5uy/CheckFunctionExists.c" - Linking C executable cmTC_97120.js - /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_97120.dir/link.txt --verbose=1 - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" -DCHECK_FUNCTION_EXISTS=memcpy_s @CMakeFiles/cmTC_97120.dir/objects1.rsp -o cmTC_97120.js - wasm-ld: error: CMakeFiles/cmTC_97120.dir/CheckFunctionExists.c.o: undefined symbol: memcpy_s - emcc: error: '"/home/romazan/Рабочий стол/emsdk/upstream/bin/wasm-ld" -o cmTC_97120.wasm CMakeFiles/cmTC_97120.dir/CheckFunctionExists.c.o "-L/home/romazan/Рабочий стол/emsdk/upstream/emscripten/cache/sysroot/lib/wasm32-emscripten" "-L/home/romazan/Рабочий стол/emsdk/upstream/emscripten/src/lib" -lGL-getprocaddr -lal -lhtml5 -lstubs-debug -lnoexit -lc-debug -ldlmalloc-debug -lcompiler_rt -lc++-noexcept -lc++abi-debug-noexcept -lsockets -mllvm -combiner-global-alias-analysis=false -mllvm -enable-emscripten-sjlj -mllvm -disable-lsr /tmp/tmpsvyp1ydylibemscripten_js_symbols.so --strip-debug --export=emscripten_stack_get_end --export=emscripten_stack_get_free --export=emscripten_stack_get_base --export=emscripten_stack_get_current --export=emscripten_stack_init --export=_emscripten_stack_alloc --export=__wasm_call_ctors --export=_emscripten_stack_restore --export-if-defined=__start_em_asm --export-if-defined=__stop_em_asm --export-if-defined=__start_em_lib_deps --export-if-defined=__stop_em_lib_deps --export-if-defined=__start_em_js --export-if-defined=__stop_em_js --export-if-defined=main --export-if-defined=__main_argc_argv --export-if-defined=fflush --export-table -z stack-size=65536 --no-growable-memory --initial-heap=16777216 --no-entry --stack-first --table-base=1' failed (returned 1) - gmake[1]: *** [CMakeFiles/cmTC_97120.dir/build.make:101: cmTC_97120.js] Ошибка 1 - gmake[1]: выход из каталога «/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-xFJ5uy» - gmake: *** [Makefile:127: cmTC_97120/fast] Ошибка 2 - - exitCode: 2 - - - kind: "try_compile-v1" - backtrace: - - "/usr/share/cmake-3.28/Modules/CheckFunctionExists.cmake:86 (try_compile)" - - "CMakeLists.txt:130 (check_function_exists)" - checks: - - "Looking for random" - directories: - source: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-gi5P92" - binary: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-gi5P92" - cmakeVariables: - CMAKE_CXX_COMPILER_CLANG_SCAN_DEPS: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/emscan-deps" - CMAKE_C_FLAGS: "" - CMAKE_C_FLAGS_DEBUG: "-g" - CMAKE_EXE_LINKER_FLAGS: "" - CMAKE_MODULE_PATH: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/cmake;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules" - buildResult: - variable: "HAVE_RANDOM" - cached: true - stdout: | - Change Dir: '/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-gi5P92' - - Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_da325/fast - /usr/bin/gmake -f CMakeFiles/cmTC_da325.dir/build.make CMakeFiles/cmTC_da325.dir/build - gmake[1]: вход в каталог «/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-gi5P92» - Building C object CMakeFiles/cmTC_da325.dir/CheckFunctionExists.c.o - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" -D__STDC_WANT_LIB_EXT1__=1 -DCHECK_FUNCTION_EXISTS=random -MD -MT CMakeFiles/cmTC_da325.dir/CheckFunctionExists.c.o -MF CMakeFiles/cmTC_da325.dir/CheckFunctionExists.c.o.d -o CMakeFiles/cmTC_da325.dir/CheckFunctionExists.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-gi5P92/CheckFunctionExists.c" - Linking C executable cmTC_da325.js - /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_da325.dir/link.txt --verbose=1 - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" -DCHECK_FUNCTION_EXISTS=random @CMakeFiles/cmTC_da325.dir/objects1.rsp -o cmTC_da325.js - gmake[1]: выход из каталога «/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-gi5P92» - - exitCode: 0 - - - kind: "try_compile-v1" - backtrace: - - "/usr/share/cmake-3.28/Modules/CheckFunctionExists.cmake:86 (try_compile)" - - "CMakeLists.txt:131 (check_function_exists)" - checks: - - "Looking for setmode" - directories: - source: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-EYghVJ" - binary: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-EYghVJ" - cmakeVariables: - CMAKE_CXX_COMPILER_CLANG_SCAN_DEPS: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/emscan-deps" - CMAKE_C_FLAGS: "" - CMAKE_C_FLAGS_DEBUG: "-g" - CMAKE_EXE_LINKER_FLAGS: "" - CMAKE_MODULE_PATH: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/cmake;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules" - buildResult: - variable: "HAVE_SETMODE" - cached: true - stdout: | - Change Dir: '/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-EYghVJ' - - Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_17a08/fast - /usr/bin/gmake -f CMakeFiles/cmTC_17a08.dir/build.make CMakeFiles/cmTC_17a08.dir/build - gmake[1]: вход в каталог «/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-EYghVJ» - Building C object CMakeFiles/cmTC_17a08.dir/CheckFunctionExists.c.o - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" -D__STDC_WANT_LIB_EXT1__=1 -DCHECK_FUNCTION_EXISTS=setmode -MD -MT CMakeFiles/cmTC_17a08.dir/CheckFunctionExists.c.o -MF CMakeFiles/cmTC_17a08.dir/CheckFunctionExists.c.o.d -o CMakeFiles/cmTC_17a08.dir/CheckFunctionExists.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-EYghVJ/CheckFunctionExists.c" - Linking C executable cmTC_17a08.js - /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_17a08.dir/link.txt --verbose=1 - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" -DCHECK_FUNCTION_EXISTS=setmode @CMakeFiles/cmTC_17a08.dir/objects1.rsp -o cmTC_17a08.js - wasm-ld: error: CMakeFiles/cmTC_17a08.dir/CheckFunctionExists.c.o: undefined symbol: setmode - emcc: error: '"/home/romazan/Рабочий стол/emsdk/upstream/bin/wasm-ld" -o cmTC_17a08.wasm CMakeFiles/cmTC_17a08.dir/CheckFunctionExists.c.o "-L/home/romazan/Рабочий стол/emsdk/upstream/emscripten/cache/sysroot/lib/wasm32-emscripten" "-L/home/romazan/Рабочий стол/emsdk/upstream/emscripten/src/lib" -lGL-getprocaddr -lal -lhtml5 -lstubs-debug -lnoexit -lc-debug -ldlmalloc-debug -lcompiler_rt -lc++-noexcept -lc++abi-debug-noexcept -lsockets -mllvm -combiner-global-alias-analysis=false -mllvm -enable-emscripten-sjlj -mllvm -disable-lsr /tmp/tmpxmc9y9sblibemscripten_js_symbols.so --strip-debug --export=emscripten_stack_get_end --export=emscripten_stack_get_free --export=emscripten_stack_get_base --export=emscripten_stack_get_current --export=emscripten_stack_init --export=_emscripten_stack_alloc --export=__wasm_call_ctors --export=_emscripten_stack_restore --export-if-defined=__start_em_asm --export-if-defined=__stop_em_asm --export-if-defined=__start_em_lib_deps --export-if-defined=__stop_em_lib_deps --export-if-defined=__start_em_js --export-if-defined=__stop_em_js --export-if-defined=main --export-if-defined=__main_argc_argv --export-if-defined=fflush --export-table -z stack-size=65536 --no-growable-memory --initial-heap=16777216 --no-entry --stack-first --table-base=1' failed (returned 1) - gmake[1]: *** [CMakeFiles/cmTC_17a08.dir/build.make:101: cmTC_17a08.js] Ошибка 1 - gmake[1]: выход из каталога «/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-EYghVJ» - gmake: *** [Makefile:127: cmTC_17a08/fast] Ошибка 2 - - exitCode: 2 - - - kind: "try_compile-v1" - backtrace: - - "/usr/share/cmake-3.28/Modules/CheckSymbolExists.cmake:140 (try_compile)" - - "/usr/share/cmake-3.28/Modules/CheckSymbolExists.cmake:66 (__CHECK_SYMBOL_EXISTS_IMPL)" - - "CMakeLists.txt:132 (check_symbol_exists)" - checks: - - "Looking for snprintf" - directories: - source: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-InlniA" - binary: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-InlniA" - cmakeVariables: - CMAKE_CXX_COMPILER_CLANG_SCAN_DEPS: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/emscan-deps" - CMAKE_C_FLAGS: "" - CMAKE_C_FLAGS_DEBUG: "-g" - CMAKE_EXE_LINKER_FLAGS: "" - CMAKE_MODULE_PATH: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/cmake;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules" - buildResult: - variable: "HAVE_SNPRINTF" - cached: true - stdout: | - Change Dir: '/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-InlniA' - - Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_d59fc/fast - /usr/bin/gmake -f CMakeFiles/cmTC_d59fc.dir/build.make CMakeFiles/cmTC_d59fc.dir/build - gmake[1]: вход в каталог «/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-InlniA» - Building C object CMakeFiles/cmTC_d59fc.dir/CheckSymbolExists.c.o - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" -D__STDC_WANT_LIB_EXT1__=1 -MD -MT CMakeFiles/cmTC_d59fc.dir/CheckSymbolExists.c.o -MF CMakeFiles/cmTC_d59fc.dir/CheckSymbolExists.c.o.d -o CMakeFiles/cmTC_d59fc.dir/CheckSymbolExists.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-InlniA/CheckSymbolExists.c" - Linking C executable cmTC_d59fc.js - /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_d59fc.dir/link.txt --verbose=1 - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" @CMakeFiles/cmTC_d59fc.dir/objects1.rsp -o cmTC_d59fc.js - gmake[1]: выход из каталога «/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-InlniA» - - exitCode: 0 - - - kind: "try_compile-v1" - backtrace: - - "/usr/share/cmake-3.28/Modules/CheckSymbolExists.cmake:140 (try_compile)" - - "/usr/share/cmake-3.28/Modules/CheckSymbolExists.cmake:66 (__CHECK_SYMBOL_EXISTS_IMPL)" - - "CMakeLists.txt:133 (check_symbol_exists)" - checks: - - "Looking for snprintf_s" - directories: - source: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-njF5zg" - binary: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-njF5zg" - cmakeVariables: - CMAKE_CXX_COMPILER_CLANG_SCAN_DEPS: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/emscan-deps" - CMAKE_C_FLAGS: "" - CMAKE_C_FLAGS_DEBUG: "-g" - CMAKE_EXE_LINKER_FLAGS: "" - CMAKE_MODULE_PATH: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/cmake;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules" - buildResult: - variable: "HAVE_SNPRINTF_S" - cached: true - stdout: | - Change Dir: '/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-njF5zg' - - Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_57041/fast - /usr/bin/gmake -f CMakeFiles/cmTC_57041.dir/build.make CMakeFiles/cmTC_57041.dir/build - gmake[1]: вход в каталог «/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-njF5zg» - Building C object CMakeFiles/cmTC_57041.dir/CheckSymbolExists.c.o - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" -D__STDC_WANT_LIB_EXT1__=1 -MD -MT CMakeFiles/cmTC_57041.dir/CheckSymbolExists.c.o -MF CMakeFiles/cmTC_57041.dir/CheckSymbolExists.c.o.d -o CMakeFiles/cmTC_57041.dir/CheckSymbolExists.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-njF5zg/CheckSymbolExists.c" - /home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-njF5zg/CheckSymbolExists.c:8:19: error: use of undeclared identifier 'snprintf_s'; did you mean 'snprintf'? - 8 | return ((int*)(&snprintf_s))[argc]; - | ^~~~~~~~~~ - | snprintf - /home/romazan/Рабочий стол/emsdk/upstream/emscripten/cache/sysroot/include/stdio.h:122:5: note: 'snprintf' declared here - 122 | int snprintf(char *__restrict, size_t, const char *__restrict, ...); - | ^ - 1 error generated. - gmake[1]: *** [CMakeFiles/cmTC_57041.dir/build.make:79: CMakeFiles/cmTC_57041.dir/CheckSymbolExists.c.o] Ошибка 1 - gmake[1]: выход из каталога «/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-njF5zg» - gmake: *** [Makefile:127: cmTC_57041/fast] Ошибка 2 - - exitCode: 2 - - - kind: "try_compile-v1" - backtrace: - - "/usr/share/cmake-3.28/Modules/CheckSymbolExists.cmake:140 (try_compile)" - - "/usr/share/cmake-3.28/Modules/CheckSymbolExists.cmake:66 (__CHECK_SYMBOL_EXISTS_IMPL)" - - "CMakeLists.txt:134 (check_symbol_exists)" - checks: - - "Looking for strcasecmp" - directories: - source: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-4lt0Mo" - binary: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-4lt0Mo" - cmakeVariables: - CMAKE_CXX_COMPILER_CLANG_SCAN_DEPS: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/emscan-deps" - CMAKE_C_FLAGS: "" - CMAKE_C_FLAGS_DEBUG: "-g" - CMAKE_EXE_LINKER_FLAGS: "" - CMAKE_MODULE_PATH: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/cmake;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules" - buildResult: - variable: "HAVE_STRCASECMP" - cached: true - stdout: | - Change Dir: '/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-4lt0Mo' - - Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_ea2a0/fast - /usr/bin/gmake -f CMakeFiles/cmTC_ea2a0.dir/build.make CMakeFiles/cmTC_ea2a0.dir/build - gmake[1]: вход в каталог «/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-4lt0Mo» - Building C object CMakeFiles/cmTC_ea2a0.dir/CheckSymbolExists.c.o - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" -D__STDC_WANT_LIB_EXT1__=1 -MD -MT CMakeFiles/cmTC_ea2a0.dir/CheckSymbolExists.c.o -MF CMakeFiles/cmTC_ea2a0.dir/CheckSymbolExists.c.o.d -o CMakeFiles/cmTC_ea2a0.dir/CheckSymbolExists.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-4lt0Mo/CheckSymbolExists.c" - Linking C executable cmTC_ea2a0.js - /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_ea2a0.dir/link.txt --verbose=1 - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" @CMakeFiles/cmTC_ea2a0.dir/objects1.rsp -o cmTC_ea2a0.js - gmake[1]: выход из каталога «/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-4lt0Mo» - - exitCode: 0 - - - kind: "try_compile-v1" - backtrace: - - "/usr/share/cmake-3.28/Modules/CheckFunctionExists.cmake:86 (try_compile)" - - "CMakeLists.txt:135 (check_function_exists)" - checks: - - "Looking for strdup" - directories: - source: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-qE7h5M" - binary: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-qE7h5M" - cmakeVariables: - CMAKE_CXX_COMPILER_CLANG_SCAN_DEPS: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/emscan-deps" - CMAKE_C_FLAGS: "" - CMAKE_C_FLAGS_DEBUG: "-g" - CMAKE_EXE_LINKER_FLAGS: "" - CMAKE_MODULE_PATH: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/cmake;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules" - buildResult: - variable: "HAVE_STRDUP" - cached: true - stdout: | - Change Dir: '/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-qE7h5M' - - Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_26521/fast - /usr/bin/gmake -f CMakeFiles/cmTC_26521.dir/build.make CMakeFiles/cmTC_26521.dir/build - gmake[1]: вход в каталог «/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-qE7h5M» - Building C object CMakeFiles/cmTC_26521.dir/CheckFunctionExists.c.o - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" -D__STDC_WANT_LIB_EXT1__=1 -DCHECK_FUNCTION_EXISTS=strdup -MD -MT CMakeFiles/cmTC_26521.dir/CheckFunctionExists.c.o -MF CMakeFiles/cmTC_26521.dir/CheckFunctionExists.c.o.d -o CMakeFiles/cmTC_26521.dir/CheckFunctionExists.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-qE7h5M/CheckFunctionExists.c" - /home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-qE7h5M/CheckFunctionExists.c:7:3: warning: incompatible redeclaration of library function 'strdup' [-Wincompatible-library-redeclaration] - 7 | CHECK_FUNCTION_EXISTS(void); - | ^ - :3:31: note: expanded from macro 'CHECK_FUNCTION_EXISTS' - 3 | #define CHECK_FUNCTION_EXISTS strdup - | ^ - /home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-qE7h5M/CheckFunctionExists.c:7:3: note: 'strdup' is a builtin with type 'char *(const char *)' - :3:31: note: expanded from macro 'CHECK_FUNCTION_EXISTS' - 3 | #define CHECK_FUNCTION_EXISTS strdup - | ^ - 1 warning generated. - Linking C executable cmTC_26521.js - /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_26521.dir/link.txt --verbose=1 - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" -DCHECK_FUNCTION_EXISTS=strdup @CMakeFiles/cmTC_26521.dir/objects1.rsp -o cmTC_26521.js - wasm-ld: warning: function signature mismatch: strdup - >>> defined as () -> i32 in CMakeFiles/cmTC_26521.dir/CheckFunctionExists.c.o - >>> defined as (i32) -> i32 in /home/romazan/Рабочий стол/emsdk/upstream/emscripten/cache/sysroot/lib/wasm32-emscripten/libc-debug.a(strdup.o) - gmake[1]: выход из каталога «/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-qE7h5M» - - exitCode: 0 - - - kind: "try_compile-v1" - backtrace: - - "/usr/share/cmake-3.28/Modules/CheckFunctionExists.cmake:86 (try_compile)" - - "CMakeLists.txt:136 (check_function_exists)" - checks: - - "Looking for strerror_s" - directories: - source: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-IsCTYq" - binary: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-IsCTYq" - cmakeVariables: - CMAKE_CXX_COMPILER_CLANG_SCAN_DEPS: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/emscan-deps" - CMAKE_C_FLAGS: "" - CMAKE_C_FLAGS_DEBUG: "-g" - CMAKE_EXE_LINKER_FLAGS: "" - CMAKE_MODULE_PATH: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/cmake;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules" - buildResult: - variable: "HAVE_STRERROR_S" - cached: true - stdout: | - Change Dir: '/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-IsCTYq' - - Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_f96e0/fast - /usr/bin/gmake -f CMakeFiles/cmTC_f96e0.dir/build.make CMakeFiles/cmTC_f96e0.dir/build - gmake[1]: вход в каталог «/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-IsCTYq» - Building C object CMakeFiles/cmTC_f96e0.dir/CheckFunctionExists.c.o - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" -D__STDC_WANT_LIB_EXT1__=1 -DCHECK_FUNCTION_EXISTS=strerror_s -MD -MT CMakeFiles/cmTC_f96e0.dir/CheckFunctionExists.c.o -MF CMakeFiles/cmTC_f96e0.dir/CheckFunctionExists.c.o.d -o CMakeFiles/cmTC_f96e0.dir/CheckFunctionExists.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-IsCTYq/CheckFunctionExists.c" - Linking C executable cmTC_f96e0.js - /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_f96e0.dir/link.txt --verbose=1 - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" -DCHECK_FUNCTION_EXISTS=strerror_s @CMakeFiles/cmTC_f96e0.dir/objects1.rsp -o cmTC_f96e0.js - wasm-ld: error: CMakeFiles/cmTC_f96e0.dir/CheckFunctionExists.c.o: undefined symbol: strerror_s - emcc: error: '"/home/romazan/Рабочий стол/emsdk/upstream/bin/wasm-ld" -o cmTC_f96e0.wasm CMakeFiles/cmTC_f96e0.dir/CheckFunctionExists.c.o "-L/home/romazan/Рабочий стол/emsdk/upstream/emscripten/cache/sysroot/lib/wasm32-emscripten" "-L/home/romazan/Рабочий стол/emsdk/upstream/emscripten/src/lib" -lGL-getprocaddr -lal -lhtml5 -lstubs-debug -lnoexit -lc-debug -ldlmalloc-debug -lcompiler_rt -lc++-noexcept -lc++abi-debug-noexcept -lsockets -mllvm -combiner-global-alias-analysis=false -mllvm -enable-emscripten-sjlj -mllvm -disable-lsr /tmp/tmp2lesyyr5libemscripten_js_symbols.so --strip-debug --export=emscripten_stack_get_end --export=emscripten_stack_get_free --export=emscripten_stack_get_base --export=emscripten_stack_get_current --export=emscripten_stack_init --export=_emscripten_stack_alloc --export=__wasm_call_ctors --export=_emscripten_stack_restore --export-if-defined=__start_em_asm --export-if-defined=__stop_em_asm --export-if-defined=__start_em_lib_deps --export-if-defined=__stop_em_lib_deps --export-if-defined=__start_em_js --export-if-defined=__stop_em_js --export-if-defined=main --export-if-defined=__main_argc_argv --export-if-defined=fflush --export-table -z stack-size=65536 --no-growable-memory --initial-heap=16777216 --no-entry --stack-first --table-base=1' failed (returned 1) - gmake[1]: *** [CMakeFiles/cmTC_f96e0.dir/build.make:101: cmTC_f96e0.js] Ошибка 1 - gmake[1]: выход из каталога «/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-IsCTYq» - gmake: *** [Makefile:127: cmTC_f96e0/fast] Ошибка 2 - - exitCode: 2 - - - kind: "try_compile-v1" - backtrace: - - "/usr/share/cmake-3.28/Modules/CheckFunctionExists.cmake:86 (try_compile)" - - "CMakeLists.txt:137 (check_function_exists)" - checks: - - "Looking for strerrorlen_s" - directories: - source: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-tZfxMd" - binary: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-tZfxMd" - cmakeVariables: - CMAKE_CXX_COMPILER_CLANG_SCAN_DEPS: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/emscan-deps" - CMAKE_C_FLAGS: "" - CMAKE_C_FLAGS_DEBUG: "-g" - CMAKE_EXE_LINKER_FLAGS: "" - CMAKE_MODULE_PATH: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/cmake;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules" - buildResult: - variable: "HAVE_STRERRORLEN_S" - cached: true - stdout: | - Change Dir: '/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-tZfxMd' - - Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_243af/fast - /usr/bin/gmake -f CMakeFiles/cmTC_243af.dir/build.make CMakeFiles/cmTC_243af.dir/build - gmake[1]: вход в каталог «/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-tZfxMd» - Building C object CMakeFiles/cmTC_243af.dir/CheckFunctionExists.c.o - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" -D__STDC_WANT_LIB_EXT1__=1 -DCHECK_FUNCTION_EXISTS=strerrorlen_s -MD -MT CMakeFiles/cmTC_243af.dir/CheckFunctionExists.c.o -MF CMakeFiles/cmTC_243af.dir/CheckFunctionExists.c.o.d -o CMakeFiles/cmTC_243af.dir/CheckFunctionExists.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-tZfxMd/CheckFunctionExists.c" - Linking C executable cmTC_243af.js - /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_243af.dir/link.txt --verbose=1 - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" -DCHECK_FUNCTION_EXISTS=strerrorlen_s @CMakeFiles/cmTC_243af.dir/objects1.rsp -o cmTC_243af.js - wasm-ld: error: CMakeFiles/cmTC_243af.dir/CheckFunctionExists.c.o: undefined symbol: strerrorlen_s - emcc: error: '"/home/romazan/Рабочий стол/emsdk/upstream/bin/wasm-ld" -o cmTC_243af.wasm CMakeFiles/cmTC_243af.dir/CheckFunctionExists.c.o "-L/home/romazan/Рабочий стол/emsdk/upstream/emscripten/cache/sysroot/lib/wasm32-emscripten" "-L/home/romazan/Рабочий стол/emsdk/upstream/emscripten/src/lib" -lGL-getprocaddr -lal -lhtml5 -lstubs-debug -lnoexit -lc-debug -ldlmalloc-debug -lcompiler_rt -lc++-noexcept -lc++abi-debug-noexcept -lsockets -mllvm -combiner-global-alias-analysis=false -mllvm -enable-emscripten-sjlj -mllvm -disable-lsr /tmp/tmp70ffs9qulibemscripten_js_symbols.so --strip-debug --export=emscripten_stack_get_end --export=emscripten_stack_get_free --export=emscripten_stack_get_base --export=emscripten_stack_get_current --export=emscripten_stack_init --export=_emscripten_stack_alloc --export=__wasm_call_ctors --export=_emscripten_stack_restore --export-if-defined=__start_em_asm --export-if-defined=__stop_em_asm --export-if-defined=__start_em_lib_deps --export-if-defined=__stop_em_lib_deps --export-if-defined=__start_em_js --export-if-defined=__stop_em_js --export-if-defined=main --export-if-defined=__main_argc_argv --export-if-defined=fflush --export-table -z stack-size=65536 --no-growable-memory --initial-heap=16777216 --no-entry --stack-first --table-base=1' failed (returned 1) - gmake[1]: *** [CMakeFiles/cmTC_243af.dir/build.make:101: cmTC_243af.js] Ошибка 1 - gmake[1]: выход из каталога «/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-tZfxMd» - gmake: *** [Makefile:127: cmTC_243af/fast] Ошибка 2 - - exitCode: 2 - - - kind: "try_compile-v1" - backtrace: - - "/usr/share/cmake-3.28/Modules/CheckFunctionExists.cmake:86 (try_compile)" - - "CMakeLists.txt:138 (check_function_exists)" - checks: - - "Looking for stricmp" - directories: - source: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-7iPcpc" - binary: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-7iPcpc" - cmakeVariables: - CMAKE_CXX_COMPILER_CLANG_SCAN_DEPS: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/emscan-deps" - CMAKE_C_FLAGS: "" - CMAKE_C_FLAGS_DEBUG: "-g" - CMAKE_EXE_LINKER_FLAGS: "" - CMAKE_MODULE_PATH: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/cmake;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules" - buildResult: - variable: "HAVE_STRICMP" - cached: true - stdout: | - Change Dir: '/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-7iPcpc' - - Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_f7780/fast - /usr/bin/gmake -f CMakeFiles/cmTC_f7780.dir/build.make CMakeFiles/cmTC_f7780.dir/build - gmake[1]: вход в каталог «/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-7iPcpc» - Building C object CMakeFiles/cmTC_f7780.dir/CheckFunctionExists.c.o - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" -D__STDC_WANT_LIB_EXT1__=1 -DCHECK_FUNCTION_EXISTS=stricmp -MD -MT CMakeFiles/cmTC_f7780.dir/CheckFunctionExists.c.o -MF CMakeFiles/cmTC_f7780.dir/CheckFunctionExists.c.o.d -o CMakeFiles/cmTC_f7780.dir/CheckFunctionExists.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-7iPcpc/CheckFunctionExists.c" - Linking C executable cmTC_f7780.js - /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_f7780.dir/link.txt --verbose=1 - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" -DCHECK_FUNCTION_EXISTS=stricmp @CMakeFiles/cmTC_f7780.dir/objects1.rsp -o cmTC_f7780.js - wasm-ld: error: CMakeFiles/cmTC_f7780.dir/CheckFunctionExists.c.o: undefined symbol: stricmp - emcc: error: '"/home/romazan/Рабочий стол/emsdk/upstream/bin/wasm-ld" -o cmTC_f7780.wasm CMakeFiles/cmTC_f7780.dir/CheckFunctionExists.c.o "-L/home/romazan/Рабочий стол/emsdk/upstream/emscripten/cache/sysroot/lib/wasm32-emscripten" "-L/home/romazan/Рабочий стол/emsdk/upstream/emscripten/src/lib" -lGL-getprocaddr -lal -lhtml5 -lstubs-debug -lnoexit -lc-debug -ldlmalloc-debug -lcompiler_rt -lc++-noexcept -lc++abi-debug-noexcept -lsockets -mllvm -combiner-global-alias-analysis=false -mllvm -enable-emscripten-sjlj -mllvm -disable-lsr /tmp/tmp65w94iodlibemscripten_js_symbols.so --strip-debug --export=emscripten_stack_get_end --export=emscripten_stack_get_free --export=emscripten_stack_get_base --export=emscripten_stack_get_current --export=emscripten_stack_init --export=_emscripten_stack_alloc --export=__wasm_call_ctors --export=_emscripten_stack_restore --export-if-defined=__start_em_asm --export-if-defined=__stop_em_asm --export-if-defined=__start_em_lib_deps --export-if-defined=__stop_em_lib_deps --export-if-defined=__start_em_js --export-if-defined=__stop_em_js --export-if-defined=main --export-if-defined=__main_argc_argv --export-if-defined=fflush --export-table -z stack-size=65536 --no-growable-memory --initial-heap=16777216 --no-entry --stack-first --table-base=1' failed (returned 1) - gmake[1]: *** [CMakeFiles/cmTC_f7780.dir/build.make:101: cmTC_f7780.js] Ошибка 1 - gmake[1]: выход из каталога «/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-7iPcpc» - gmake: *** [Makefile:127: cmTC_f7780/fast] Ошибка 2 - - exitCode: 2 - - - kind: "try_compile-v1" - backtrace: - - "/usr/share/cmake-3.28/Modules/CheckFunctionExists.cmake:86 (try_compile)" - - "CMakeLists.txt:139 (check_function_exists)" - checks: - - "Looking for strncpy_s" - directories: - source: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-XSyvBl" - binary: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-XSyvBl" - cmakeVariables: - CMAKE_CXX_COMPILER_CLANG_SCAN_DEPS: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/emscan-deps" - CMAKE_C_FLAGS: "" - CMAKE_C_FLAGS_DEBUG: "-g" - CMAKE_EXE_LINKER_FLAGS: "" - CMAKE_MODULE_PATH: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/cmake;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules" - buildResult: - variable: "HAVE_STRNCPY_S" - cached: true - stdout: | - Change Dir: '/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-XSyvBl' - - Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_5af36/fast - /usr/bin/gmake -f CMakeFiles/cmTC_5af36.dir/build.make CMakeFiles/cmTC_5af36.dir/build - gmake[1]: вход в каталог «/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-XSyvBl» - Building C object CMakeFiles/cmTC_5af36.dir/CheckFunctionExists.c.o - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" -D__STDC_WANT_LIB_EXT1__=1 -DCHECK_FUNCTION_EXISTS=strncpy_s -MD -MT CMakeFiles/cmTC_5af36.dir/CheckFunctionExists.c.o -MF CMakeFiles/cmTC_5af36.dir/CheckFunctionExists.c.o.d -o CMakeFiles/cmTC_5af36.dir/CheckFunctionExists.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-XSyvBl/CheckFunctionExists.c" - Linking C executable cmTC_5af36.js - /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_5af36.dir/link.txt --verbose=1 - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" -DCHECK_FUNCTION_EXISTS=strncpy_s @CMakeFiles/cmTC_5af36.dir/objects1.rsp -o cmTC_5af36.js - wasm-ld: error: CMakeFiles/cmTC_5af36.dir/CheckFunctionExists.c.o: undefined symbol: strncpy_s - emcc: error: '"/home/romazan/Рабочий стол/emsdk/upstream/bin/wasm-ld" -o cmTC_5af36.wasm CMakeFiles/cmTC_5af36.dir/CheckFunctionExists.c.o "-L/home/romazan/Рабочий стол/emsdk/upstream/emscripten/cache/sysroot/lib/wasm32-emscripten" "-L/home/romazan/Рабочий стол/emsdk/upstream/emscripten/src/lib" -lGL-getprocaddr -lal -lhtml5 -lstubs-debug -lnoexit -lc-debug -ldlmalloc-debug -lcompiler_rt -lc++-noexcept -lc++abi-debug-noexcept -lsockets -mllvm -combiner-global-alias-analysis=false -mllvm -enable-emscripten-sjlj -mllvm -disable-lsr /tmp/tmpk9a0f8x4libemscripten_js_symbols.so --strip-debug --export=emscripten_stack_get_end --export=emscripten_stack_get_free --export=emscripten_stack_get_base --export=emscripten_stack_get_current --export=emscripten_stack_init --export=_emscripten_stack_alloc --export=__wasm_call_ctors --export=_emscripten_stack_restore --export-if-defined=__start_em_asm --export-if-defined=__stop_em_asm --export-if-defined=__start_em_lib_deps --export-if-defined=__stop_em_lib_deps --export-if-defined=__start_em_js --export-if-defined=__stop_em_js --export-if-defined=main --export-if-defined=__main_argc_argv --export-if-defined=fflush --export-table -z stack-size=65536 --no-growable-memory --initial-heap=16777216 --no-entry --stack-first --table-base=1' failed (returned 1) - gmake[1]: *** [CMakeFiles/cmTC_5af36.dir/build.make:101: cmTC_5af36.js] Ошибка 1 - gmake[1]: выход из каталога «/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-XSyvBl» - gmake: *** [Makefile:127: cmTC_5af36/fast] Ошибка 2 - - exitCode: 2 - - - kind: "try_compile-v1" - backtrace: - - "/usr/share/cmake-3.28/Modules/CheckFunctionExists.cmake:86 (try_compile)" - - "CMakeLists.txt:140 (check_function_exists)" - checks: - - "Looking for strtoll" - directories: - source: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-zBWVDs" - binary: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-zBWVDs" - cmakeVariables: - CMAKE_CXX_COMPILER_CLANG_SCAN_DEPS: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/emscan-deps" - CMAKE_C_FLAGS: "" - CMAKE_C_FLAGS_DEBUG: "-g" - CMAKE_EXE_LINKER_FLAGS: "" - CMAKE_MODULE_PATH: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/cmake;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules" - buildResult: - variable: "HAVE_STRTOLL" - cached: true - stdout: | - Change Dir: '/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-zBWVDs' - - Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_9f1eb/fast - /usr/bin/gmake -f CMakeFiles/cmTC_9f1eb.dir/build.make CMakeFiles/cmTC_9f1eb.dir/build - gmake[1]: вход в каталог «/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-zBWVDs» - Building C object CMakeFiles/cmTC_9f1eb.dir/CheckFunctionExists.c.o - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" -D__STDC_WANT_LIB_EXT1__=1 -DCHECK_FUNCTION_EXISTS=strtoll -MD -MT CMakeFiles/cmTC_9f1eb.dir/CheckFunctionExists.c.o -MF CMakeFiles/cmTC_9f1eb.dir/CheckFunctionExists.c.o.d -o CMakeFiles/cmTC_9f1eb.dir/CheckFunctionExists.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-zBWVDs/CheckFunctionExists.c" - /home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-zBWVDs/CheckFunctionExists.c:7:3: warning: incompatible redeclaration of library function 'strtoll' [-Wincompatible-library-redeclaration] - 7 | CHECK_FUNCTION_EXISTS(void); - | ^ - :3:31: note: expanded from macro 'CHECK_FUNCTION_EXISTS' - 3 | #define CHECK_FUNCTION_EXISTS strtoll - | ^ - /home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-zBWVDs/CheckFunctionExists.c:7:3: note: 'strtoll' is a builtin with type 'long long (const char *, char **, int)' - :3:31: note: expanded from macro 'CHECK_FUNCTION_EXISTS' - 3 | #define CHECK_FUNCTION_EXISTS strtoll - | ^ - 1 warning generated. - Linking C executable cmTC_9f1eb.js - /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_9f1eb.dir/link.txt --verbose=1 - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" -DCHECK_FUNCTION_EXISTS=strtoll @CMakeFiles/cmTC_9f1eb.dir/objects1.rsp -o cmTC_9f1eb.js - wasm-ld: warning: function signature mismatch: strtoll - >>> defined as () -> i32 in CMakeFiles/cmTC_9f1eb.dir/CheckFunctionExists.c.o - >>> defined as (i32, i32, i32) -> i64 in /home/romazan/Рабочий стол/emsdk/upstream/emscripten/cache/sysroot/lib/wasm32-emscripten/libc-debug.a(strtol.o) - gmake[1]: выход из каталога «/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-zBWVDs» - - exitCode: 0 - - - kind: "try_compile-v1" - backtrace: - - "/usr/share/cmake-3.28/Modules/CheckFunctionExists.cmake:86 (try_compile)" - - "CMakeLists.txt:141 (check_function_exists)" - checks: - - "Looking for strtoull" - directories: - source: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-p3ATJE" - binary: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-p3ATJE" - cmakeVariables: - CMAKE_CXX_COMPILER_CLANG_SCAN_DEPS: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/emscan-deps" - CMAKE_C_FLAGS: "" - CMAKE_C_FLAGS_DEBUG: "-g" - CMAKE_EXE_LINKER_FLAGS: "" - CMAKE_MODULE_PATH: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/cmake;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules" - buildResult: - variable: "HAVE_STRTOULL" - cached: true - stdout: | - Change Dir: '/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-p3ATJE' - - Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_f333d/fast - /usr/bin/gmake -f CMakeFiles/cmTC_f333d.dir/build.make CMakeFiles/cmTC_f333d.dir/build - gmake[1]: вход в каталог «/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-p3ATJE» - Building C object CMakeFiles/cmTC_f333d.dir/CheckFunctionExists.c.o - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" -D__STDC_WANT_LIB_EXT1__=1 -DCHECK_FUNCTION_EXISTS=strtoull -MD -MT CMakeFiles/cmTC_f333d.dir/CheckFunctionExists.c.o -MF CMakeFiles/cmTC_f333d.dir/CheckFunctionExists.c.o.d -o CMakeFiles/cmTC_f333d.dir/CheckFunctionExists.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-p3ATJE/CheckFunctionExists.c" - /home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-p3ATJE/CheckFunctionExists.c:7:3: warning: incompatible redeclaration of library function 'strtoull' [-Wincompatible-library-redeclaration] - 7 | CHECK_FUNCTION_EXISTS(void); - | ^ - :3:31: note: expanded from macro 'CHECK_FUNCTION_EXISTS' - 3 | #define CHECK_FUNCTION_EXISTS strtoull - | ^ - /home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-p3ATJE/CheckFunctionExists.c:7:3: note: 'strtoull' is a builtin with type 'unsigned long long (const char *, char **, int)' - :3:31: note: expanded from macro 'CHECK_FUNCTION_EXISTS' - 3 | #define CHECK_FUNCTION_EXISTS strtoull - | ^ - 1 warning generated. - Linking C executable cmTC_f333d.js - /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_f333d.dir/link.txt --verbose=1 - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" -DCHECK_FUNCTION_EXISTS=strtoull @CMakeFiles/cmTC_f333d.dir/objects1.rsp -o cmTC_f333d.js - wasm-ld: warning: function signature mismatch: strtoull - >>> defined as () -> i32 in CMakeFiles/cmTC_f333d.dir/CheckFunctionExists.c.o - >>> defined as (i32, i32, i32) -> i64 in /home/romazan/Рабочий стол/emsdk/upstream/emscripten/cache/sysroot/lib/wasm32-emscripten/libc-debug.a(strtol.o) - gmake[1]: выход из каталога «/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-p3ATJE» - - exitCode: 0 - - - kind: "try_compile-v1" - backtrace: - - "/usr/share/cmake-3.28/Modules/CheckIncludeFiles.cmake:132 (try_compile)" - - "CMakeLists.txt:143 (check_include_files)" - checks: - - "Looking for 3 include files sys/types.h, ..., fts.h" - directories: - source: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-wsYza1" - binary: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-wsYza1" - cmakeVariables: - CMAKE_CXX_COMPILER_CLANG_SCAN_DEPS: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/emscan-deps" - CMAKE_C_FLAGS: "" - CMAKE_C_FLAGS_DEBUG: "-g" - CMAKE_EXE_LINKER_FLAGS: "" - CMAKE_MODULE_PATH: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/cmake;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules" - buildResult: - variable: "HAVE_FTS_H" - cached: true - stdout: | - Change Dir: '/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-wsYza1' - - Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_eb004/fast - /usr/bin/gmake -f CMakeFiles/cmTC_eb004.dir/build.make CMakeFiles/cmTC_eb004.dir/build - gmake[1]: вход в каталог «/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-wsYza1» - Building C object CMakeFiles/cmTC_eb004.dir/HAVE_FTS_H.c.o - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" -D__STDC_WANT_LIB_EXT1__=1 -MD -MT CMakeFiles/cmTC_eb004.dir/HAVE_FTS_H.c.o -MF CMakeFiles/cmTC_eb004.dir/HAVE_FTS_H.c.o.d -o CMakeFiles/cmTC_eb004.dir/HAVE_FTS_H.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-wsYza1/HAVE_FTS_H.c" - /home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-wsYza1/HAVE_FTS_H.c:4:10: fatal error: 'fts.h' file not found - 4 | #include - | ^~~~~~~ - 1 error generated. - gmake[1]: *** [CMakeFiles/cmTC_eb004.dir/build.make:79: CMakeFiles/cmTC_eb004.dir/HAVE_FTS_H.c.o] Ошибка 1 - gmake[1]: выход из каталога «/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-wsYza1» - gmake: *** [Makefile:127: cmTC_eb004/fast] Ошибка 2 - - exitCode: 2 - - - kind: "try_compile-v1" - backtrace: - - "/usr/share/cmake-3.28/Modules/CheckIncludeFiles.cmake:132 (try_compile)" - - "CMakeLists.txt:162 (check_include_files)" - checks: - - "Looking for include file stdbool.h" - directories: - source: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-IauMRK" - binary: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-IauMRK" - cmakeVariables: - CMAKE_CXX_COMPILER_CLANG_SCAN_DEPS: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/emscan-deps" - CMAKE_C_FLAGS: "" - CMAKE_C_FLAGS_DEBUG: "-g" - CMAKE_EXE_LINKER_FLAGS: "" - CMAKE_MODULE_PATH: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/cmake;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules" - buildResult: - variable: "HAVE_STDBOOL_H" - cached: true - stdout: | - Change Dir: '/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-IauMRK' - - Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_c6159/fast - /usr/bin/gmake -f CMakeFiles/cmTC_c6159.dir/build.make CMakeFiles/cmTC_c6159.dir/build - gmake[1]: вход в каталог «/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-IauMRK» - Building C object CMakeFiles/cmTC_c6159.dir/HAVE_STDBOOL_H.c.o - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" -D__STDC_WANT_LIB_EXT1__=1 -MD -MT CMakeFiles/cmTC_c6159.dir/HAVE_STDBOOL_H.c.o -MF CMakeFiles/cmTC_c6159.dir/HAVE_STDBOOL_H.c.o.d -o CMakeFiles/cmTC_c6159.dir/HAVE_STDBOOL_H.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-IauMRK/HAVE_STDBOOL_H.c" - Linking C executable cmTC_c6159.js - /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_c6159.dir/link.txt --verbose=1 - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" @CMakeFiles/cmTC_c6159.dir/objects1.rsp -o cmTC_c6159.js - gmake[1]: выход из каталога «/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-IauMRK» - - exitCode: 0 - - - kind: "try_compile-v1" - backtrace: - - "/usr/share/cmake-3.28/Modules/CheckIncludeFiles.cmake:132 (try_compile)" - - "CMakeLists.txt:163 (check_include_files)" - checks: - - "Looking for include file strings.h" - directories: - source: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-kDlfia" - binary: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-kDlfia" - cmakeVariables: - CMAKE_CXX_COMPILER_CLANG_SCAN_DEPS: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/emscan-deps" - CMAKE_C_FLAGS: "" - CMAKE_C_FLAGS_DEBUG: "-g" - CMAKE_EXE_LINKER_FLAGS: "" - CMAKE_MODULE_PATH: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/cmake;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules" - buildResult: - variable: "HAVE_STRINGS_H" - cached: true - stdout: | - Change Dir: '/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-kDlfia' - - Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_25521/fast - /usr/bin/gmake -f CMakeFiles/cmTC_25521.dir/build.make CMakeFiles/cmTC_25521.dir/build - gmake[1]: вход в каталог «/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-kDlfia» - Building C object CMakeFiles/cmTC_25521.dir/HAVE_STRINGS_H.c.o - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" -D__STDC_WANT_LIB_EXT1__=1 -MD -MT CMakeFiles/cmTC_25521.dir/HAVE_STRINGS_H.c.o -MF CMakeFiles/cmTC_25521.dir/HAVE_STRINGS_H.c.o.d -o CMakeFiles/cmTC_25521.dir/HAVE_STRINGS_H.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-kDlfia/HAVE_STRINGS_H.c" - Linking C executable cmTC_25521.js - /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_25521.dir/link.txt --verbose=1 - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" @CMakeFiles/cmTC_25521.dir/objects1.rsp -o cmTC_25521.js - gmake[1]: выход из каталога «/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-kDlfia» - - exitCode: 0 - - - kind: "try_compile-v1" - backtrace: - - "/usr/share/cmake-3.28/Modules/CheckIncludeFiles.cmake:132 (try_compile)" - - "CMakeLists.txt:164 (check_include_files)" - checks: - - "Looking for include file unistd.h" - directories: - source: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-O7hXCY" - binary: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-O7hXCY" - cmakeVariables: - CMAKE_CXX_COMPILER_CLANG_SCAN_DEPS: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/emscan-deps" - CMAKE_C_FLAGS: "" - CMAKE_C_FLAGS_DEBUG: "-g" - CMAKE_EXE_LINKER_FLAGS: "" - CMAKE_MODULE_PATH: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/cmake;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules" - buildResult: - variable: "HAVE_UNISTD_H" - cached: true - stdout: | - Change Dir: '/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-O7hXCY' - - Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_2f4f3/fast - /usr/bin/gmake -f CMakeFiles/cmTC_2f4f3.dir/build.make CMakeFiles/cmTC_2f4f3.dir/build - gmake[1]: вход в каталог «/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-O7hXCY» - Building C object CMakeFiles/cmTC_2f4f3.dir/HAVE_UNISTD_H.c.o - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" -D__STDC_WANT_LIB_EXT1__=1 -MD -MT CMakeFiles/cmTC_2f4f3.dir/HAVE_UNISTD_H.c.o -MF CMakeFiles/cmTC_2f4f3.dir/HAVE_UNISTD_H.c.o.d -o CMakeFiles/cmTC_2f4f3.dir/HAVE_UNISTD_H.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-O7hXCY/HAVE_UNISTD_H.c" - Linking C executable cmTC_2f4f3.js - /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_2f4f3.dir/link.txt --verbose=1 - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" @CMakeFiles/cmTC_2f4f3.dir/objects1.rsp -o cmTC_2f4f3.js - gmake[1]: выход из каталога «/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-O7hXCY» - - exitCode: 0 - - - kind: "try_compile-v1" - backtrace: - - "/usr/share/cmake-3.28/Modules/CheckIncludeFiles.cmake:132 (try_compile)" - - "CMakeLists.txt:166 (check_include_files)" - checks: - - "Looking for include file inttypes.h" - directories: - source: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-VgSXxN" - binary: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-VgSXxN" - cmakeVariables: - CMAKE_CXX_COMPILER_CLANG_SCAN_DEPS: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/emscan-deps" - CMAKE_C_FLAGS: "" - CMAKE_C_FLAGS_DEBUG: "-g" - CMAKE_EXE_LINKER_FLAGS: "" - CMAKE_MODULE_PATH: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/cmake;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules" - buildResult: - variable: "HAVE_INTTYPES_H_LIBZIP" - cached: true - stdout: | - Change Dir: '/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-VgSXxN' - - Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_873f4/fast - /usr/bin/gmake -f CMakeFiles/cmTC_873f4.dir/build.make CMakeFiles/cmTC_873f4.dir/build - gmake[1]: вход в каталог «/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-VgSXxN» - Building C object CMakeFiles/cmTC_873f4.dir/HAVE_INTTYPES_H_LIBZIP.c.o - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" -D__STDC_WANT_LIB_EXT1__=1 -MD -MT CMakeFiles/cmTC_873f4.dir/HAVE_INTTYPES_H_LIBZIP.c.o -MF CMakeFiles/cmTC_873f4.dir/HAVE_INTTYPES_H_LIBZIP.c.o.d -o CMakeFiles/cmTC_873f4.dir/HAVE_INTTYPES_H_LIBZIP.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-VgSXxN/HAVE_INTTYPES_H_LIBZIP.c" - Linking C executable cmTC_873f4.js - /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_873f4.dir/link.txt --verbose=1 - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" @CMakeFiles/cmTC_873f4.dir/objects1.rsp -o cmTC_873f4.js - gmake[1]: выход из каталога «/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-VgSXxN» - - exitCode: 0 - - - kind: "try_compile-v1" - backtrace: - - "/usr/share/cmake-3.28/Modules/CheckIncludeFiles.cmake:132 (try_compile)" - - "CMakeLists.txt:167 (check_include_files)" - checks: - - "Looking for include file stdint.h" - directories: - source: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-I1AziN" - binary: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-I1AziN" - cmakeVariables: - CMAKE_CXX_COMPILER_CLANG_SCAN_DEPS: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/emscan-deps" - CMAKE_C_FLAGS: "" - CMAKE_C_FLAGS_DEBUG: "-g" - CMAKE_EXE_LINKER_FLAGS: "" - CMAKE_MODULE_PATH: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/cmake;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules" - buildResult: - variable: "HAVE_STDINT_H_LIBZIP" - cached: true - stdout: | - Change Dir: '/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-I1AziN' - - Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_f7532/fast - /usr/bin/gmake -f CMakeFiles/cmTC_f7532.dir/build.make CMakeFiles/cmTC_f7532.dir/build - gmake[1]: вход в каталог «/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-I1AziN» - Building C object CMakeFiles/cmTC_f7532.dir/HAVE_STDINT_H_LIBZIP.c.o - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" -D__STDC_WANT_LIB_EXT1__=1 -MD -MT CMakeFiles/cmTC_f7532.dir/HAVE_STDINT_H_LIBZIP.c.o -MF CMakeFiles/cmTC_f7532.dir/HAVE_STDINT_H_LIBZIP.c.o.d -o CMakeFiles/cmTC_f7532.dir/HAVE_STDINT_H_LIBZIP.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-I1AziN/HAVE_STDINT_H_LIBZIP.c" - Linking C executable cmTC_f7532.js - /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_f7532.dir/link.txt --verbose=1 - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" @CMakeFiles/cmTC_f7532.dir/objects1.rsp -o cmTC_f7532.js - gmake[1]: выход из каталога «/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-I1AziN» - - exitCode: 0 - - - kind: "try_compile-v1" - backtrace: - - "/usr/share/cmake-3.28/Modules/CheckIncludeFiles.cmake:132 (try_compile)" - - "CMakeLists.txt:168 (check_include_files)" - checks: - - "Looking for include file sys/types.h" - directories: - source: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-liBlXd" - binary: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-liBlXd" - cmakeVariables: - CMAKE_CXX_COMPILER_CLANG_SCAN_DEPS: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/emscan-deps" - CMAKE_C_FLAGS: "" - CMAKE_C_FLAGS_DEBUG: "-g" - CMAKE_EXE_LINKER_FLAGS: "" - CMAKE_MODULE_PATH: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/cmake;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules" - buildResult: - variable: "HAVE_SYS_TYPES_H_LIBZIP" - cached: true - stdout: | - Change Dir: '/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-liBlXd' - - Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_d60aa/fast - /usr/bin/gmake -f CMakeFiles/cmTC_d60aa.dir/build.make CMakeFiles/cmTC_d60aa.dir/build - gmake[1]: вход в каталог «/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-liBlXd» - Building C object CMakeFiles/cmTC_d60aa.dir/HAVE_SYS_TYPES_H_LIBZIP.c.o - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" -D__STDC_WANT_LIB_EXT1__=1 -MD -MT CMakeFiles/cmTC_d60aa.dir/HAVE_SYS_TYPES_H_LIBZIP.c.o -MF CMakeFiles/cmTC_d60aa.dir/HAVE_SYS_TYPES_H_LIBZIP.c.o.d -o CMakeFiles/cmTC_d60aa.dir/HAVE_SYS_TYPES_H_LIBZIP.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-liBlXd/HAVE_SYS_TYPES_H_LIBZIP.c" - Linking C executable cmTC_d60aa.js - /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_d60aa.dir/link.txt --verbose=1 - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" @CMakeFiles/cmTC_d60aa.dir/objects1.rsp -o cmTC_d60aa.js - gmake[1]: выход из каталога «/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-liBlXd» - - exitCode: 0 - - - kind: "try_compile-v1" - backtrace: - - "/usr/share/cmake-3.28/Modules/CheckIncludeFile.cmake:90 (try_compile)" - - "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules/CheckTypeSize.cmake:223 (check_include_file)" - - "CMakeLists.txt:174 (check_type_size)" - checks: - - "Looking for sys/types.h" - directories: - source: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-MgkrcO" - binary: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-MgkrcO" - cmakeVariables: - CMAKE_CXX_COMPILER_CLANG_SCAN_DEPS: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/emscan-deps" - CMAKE_C_FLAGS: "" - CMAKE_C_FLAGS_DEBUG: "-g" - CMAKE_EXE_LINKER_FLAGS: "" - CMAKE_MODULE_PATH: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/cmake;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules" - buildResult: - variable: "HAVE_SYS_TYPES_H" - cached: true - stdout: | - Change Dir: '/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-MgkrcO' - - Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_64c45/fast - /usr/bin/gmake -f CMakeFiles/cmTC_64c45.dir/build.make CMakeFiles/cmTC_64c45.dir/build - gmake[1]: вход в каталог «/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-MgkrcO» - Building C object CMakeFiles/cmTC_64c45.dir/CheckIncludeFile.c.o - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" -D__STDC_WANT_LIB_EXT1__=1 -MD -MT CMakeFiles/cmTC_64c45.dir/CheckIncludeFile.c.o -MF CMakeFiles/cmTC_64c45.dir/CheckIncludeFile.c.o.d -o CMakeFiles/cmTC_64c45.dir/CheckIncludeFile.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-MgkrcO/CheckIncludeFile.c" - Linking C executable cmTC_64c45.js - /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_64c45.dir/link.txt --verbose=1 - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" @CMakeFiles/cmTC_64c45.dir/objects1.rsp -o cmTC_64c45.js - gmake[1]: выход из каталога «/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-MgkrcO» - - exitCode: 0 - - - kind: "try_compile-v1" - backtrace: - - "/usr/share/cmake-3.28/Modules/CheckIncludeFile.cmake:90 (try_compile)" - - "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules/CheckTypeSize.cmake:224 (check_include_file)" - - "CMakeLists.txt:174 (check_type_size)" - checks: - - "Looking for stdint.h" - directories: - source: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-MEMX0T" - binary: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-MEMX0T" - cmakeVariables: - CMAKE_CXX_COMPILER_CLANG_SCAN_DEPS: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/emscan-deps" - CMAKE_C_FLAGS: "" - CMAKE_C_FLAGS_DEBUG: "-g" - CMAKE_EXE_LINKER_FLAGS: "" - CMAKE_MODULE_PATH: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/cmake;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules" - buildResult: - variable: "HAVE_STDINT_H" - cached: true - stdout: | - Change Dir: '/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-MEMX0T' - - Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_86452/fast - /usr/bin/gmake -f CMakeFiles/cmTC_86452.dir/build.make CMakeFiles/cmTC_86452.dir/build - gmake[1]: вход в каталог «/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-MEMX0T» - Building C object CMakeFiles/cmTC_86452.dir/CheckIncludeFile.c.o - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" -D__STDC_WANT_LIB_EXT1__=1 -MD -MT CMakeFiles/cmTC_86452.dir/CheckIncludeFile.c.o -MF CMakeFiles/cmTC_86452.dir/CheckIncludeFile.c.o.d -o CMakeFiles/cmTC_86452.dir/CheckIncludeFile.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-MEMX0T/CheckIncludeFile.c" - Linking C executable cmTC_86452.js - /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_86452.dir/link.txt --verbose=1 - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" @CMakeFiles/cmTC_86452.dir/objects1.rsp -o cmTC_86452.js - gmake[1]: выход из каталога «/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-MEMX0T» - - exitCode: 0 - - - kind: "try_compile-v1" - backtrace: - - "/usr/share/cmake-3.28/Modules/CheckIncludeFile.cmake:90 (try_compile)" - - "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules/CheckTypeSize.cmake:225 (check_include_file)" - - "CMakeLists.txt:174 (check_type_size)" - checks: - - "Looking for stddef.h" - directories: - source: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-hJ6tJ8" - binary: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-hJ6tJ8" - cmakeVariables: - CMAKE_CXX_COMPILER_CLANG_SCAN_DEPS: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/emscan-deps" - CMAKE_C_FLAGS: "" - CMAKE_C_FLAGS_DEBUG: "-g" - CMAKE_EXE_LINKER_FLAGS: "" - CMAKE_MODULE_PATH: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/cmake;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules" - buildResult: - variable: "HAVE_STDDEF_H" - cached: true - stdout: | - Change Dir: '/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-hJ6tJ8' - - Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_4f3c7/fast - /usr/bin/gmake -f CMakeFiles/cmTC_4f3c7.dir/build.make CMakeFiles/cmTC_4f3c7.dir/build - gmake[1]: вход в каталог «/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-hJ6tJ8» - Building C object CMakeFiles/cmTC_4f3c7.dir/CheckIncludeFile.c.o - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" -D__STDC_WANT_LIB_EXT1__=1 -MD -MT CMakeFiles/cmTC_4f3c7.dir/CheckIncludeFile.c.o -MF CMakeFiles/cmTC_4f3c7.dir/CheckIncludeFile.c.o.d -o CMakeFiles/cmTC_4f3c7.dir/CheckIncludeFile.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-hJ6tJ8/CheckIncludeFile.c" - Linking C executable cmTC_4f3c7.js - /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_4f3c7.dir/link.txt --verbose=1 - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" @CMakeFiles/cmTC_4f3c7.dir/objects1.rsp -o cmTC_4f3c7.js - gmake[1]: выход из каталога «/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-hJ6tJ8» - - exitCode: 0 - - - kind: "try_compile-v1" - backtrace: - - "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules/CheckTypeSize.cmake:114 (try_compile)" - - "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules/CheckTypeSize.cmake:239 (__check_type_size_impl)" - - "CMakeLists.txt:174 (check_type_size)" - directories: - source: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeTmp" - binary: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeTmp" - cmakeVariables: - CMAKE_CXX_COMPILER_CLANG_SCAN_DEPS: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/emscan-deps" - CMAKE_C_FLAGS: "" - CMAKE_C_FLAGS_DEBUG: "-g" - CMAKE_EXE_LINKER_FLAGS: "" - CMAKE_MODULE_PATH: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/cmake;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules" - buildResult: - variable: "HAVE___INT8_LIBZIP" - cached: true - stdout: | - Change Dir: '/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeTmp' - - Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_2fa54/fast - /usr/bin/gmake -f CMakeFiles/cmTC_2fa54.dir/build.make CMakeFiles/cmTC_2fa54.dir/build - gmake[1]: вход в каталог «/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeTmp» - Building C object CMakeFiles/cmTC_2fa54.dir/__INT8_LIBZIP.c.o - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" -D__STDC_WANT_LIB_EXT1__=1 -MD -MT CMakeFiles/cmTC_2fa54.dir/__INT8_LIBZIP.c.o -MF CMakeFiles/cmTC_2fa54.dir/__INT8_LIBZIP.c.o.d -o CMakeFiles/cmTC_2fa54.dir/__INT8_LIBZIP.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CheckTypeSize/__INT8_LIBZIP.c" - /home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CheckTypeSize/__INT8_LIBZIP.c:25:12: error: use of undeclared identifier '__int8' - 25 | ('0' + ((SIZE / 10000)%10)), - | ^ - /home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CheckTypeSize/__INT8_LIBZIP.c:23:22: note: expanded from macro 'SIZE' - 23 | #define SIZE (sizeof(__int8)) - | ^ - /home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CheckTypeSize/__INT8_LIBZIP.c:26:12: error: use of undeclared identifier '__int8' - 26 | ('0' + ((SIZE / 1000)%10)), - | ^ - /home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CheckTypeSize/__INT8_LIBZIP.c:23:22: note: expanded from macro 'SIZE' - 23 | #define SIZE (sizeof(__int8)) - | ^ - /home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CheckTypeSize/__INT8_LIBZIP.c:27:12: error: use of undeclared identifier '__int8' - 27 | ('0' + ((SIZE / 100)%10)), - | ^ - /home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CheckTypeSize/__INT8_LIBZIP.c:23:22: note: expanded from macro 'SIZE' - 23 | #define SIZE (sizeof(__int8)) - | ^ - /home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CheckTypeSize/__INT8_LIBZIP.c:28:12: error: use of undeclared identifier '__int8' - 28 | ('0' + ((SIZE / 10)%10)), - | ^ - /home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CheckTypeSize/__INT8_LIBZIP.c:23:22: note: expanded from macro 'SIZE' - 23 | #define SIZE (sizeof(__int8)) - | ^ - /home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CheckTypeSize/__INT8_LIBZIP.c:29:12: error: use of undeclared identifier '__int8' - 29 | ('0' + (SIZE % 10)), - | ^ - /home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CheckTypeSize/__INT8_LIBZIP.c:23:22: note: expanded from macro 'SIZE' - 23 | #define SIZE (sizeof(__int8)) - | ^ - 5 errors generated. - gmake[1]: *** [CMakeFiles/cmTC_2fa54.dir/build.make:79: CMakeFiles/cmTC_2fa54.dir/__INT8_LIBZIP.c.o] Ошибка 1 - gmake[1]: выход из каталога «/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeTmp» - gmake: *** [Makefile:127: cmTC_2fa54/fast] Ошибка 2 - - exitCode: 2 - - - kind: "try_compile-v1" - backtrace: - - "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules/CheckTypeSize.cmake:114 (try_compile)" - - "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules/CheckTypeSize.cmake:239 (__check_type_size_impl)" - - "CMakeLists.txt:175 (check_type_size)" - directories: - source: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeTmp" - binary: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeTmp" - cmakeVariables: - CMAKE_CXX_COMPILER_CLANG_SCAN_DEPS: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/emscan-deps" - CMAKE_C_FLAGS: "" - CMAKE_C_FLAGS_DEBUG: "-g" - CMAKE_EXE_LINKER_FLAGS: "" - CMAKE_MODULE_PATH: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/cmake;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules" - buildResult: - variable: "HAVE_INT8_T_LIBZIP" - cached: true - stdout: | - Change Dir: '/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeTmp' - - Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_e9d62/fast - /usr/bin/gmake -f CMakeFiles/cmTC_e9d62.dir/build.make CMakeFiles/cmTC_e9d62.dir/build - gmake[1]: вход в каталог «/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeTmp» - Building C object CMakeFiles/cmTC_e9d62.dir/INT8_T_LIBZIP.c.o - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" -D__STDC_WANT_LIB_EXT1__=1 -MD -MT CMakeFiles/cmTC_e9d62.dir/INT8_T_LIBZIP.c.o -MF CMakeFiles/cmTC_e9d62.dir/INT8_T_LIBZIP.c.o.d -o CMakeFiles/cmTC_e9d62.dir/INT8_T_LIBZIP.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CheckTypeSize/INT8_T_LIBZIP.c" - Linking C executable cmTC_e9d62.js - /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_e9d62.dir/link.txt --verbose=1 - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" @CMakeFiles/cmTC_e9d62.dir/objects1.rsp -o cmTC_e9d62.js @CMakeFiles/cmTC_e9d62.dir/linkLibs.rsp - gmake[1]: выход из каталога «/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeTmp» - - exitCode: 0 - - - kind: "try_compile-v1" - backtrace: - - "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules/CheckTypeSize.cmake:114 (try_compile)" - - "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules/CheckTypeSize.cmake:239 (__check_type_size_impl)" - - "CMakeLists.txt:176 (check_type_size)" - directories: - source: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeTmp" - binary: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeTmp" - cmakeVariables: - CMAKE_CXX_COMPILER_CLANG_SCAN_DEPS: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/emscan-deps" - CMAKE_C_FLAGS: "" - CMAKE_C_FLAGS_DEBUG: "-g" - CMAKE_EXE_LINKER_FLAGS: "" - CMAKE_MODULE_PATH: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/cmake;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules" - buildResult: - variable: "HAVE_UINT8_T_LIBZIP" - cached: true - stdout: | - Change Dir: '/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeTmp' - - Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_3ba88/fast - /usr/bin/gmake -f CMakeFiles/cmTC_3ba88.dir/build.make CMakeFiles/cmTC_3ba88.dir/build - gmake[1]: вход в каталог «/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeTmp» - Building C object CMakeFiles/cmTC_3ba88.dir/UINT8_T_LIBZIP.c.o - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" -D__STDC_WANT_LIB_EXT1__=1 -MD -MT CMakeFiles/cmTC_3ba88.dir/UINT8_T_LIBZIP.c.o -MF CMakeFiles/cmTC_3ba88.dir/UINT8_T_LIBZIP.c.o.d -o CMakeFiles/cmTC_3ba88.dir/UINT8_T_LIBZIP.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CheckTypeSize/UINT8_T_LIBZIP.c" - Linking C executable cmTC_3ba88.js - /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_3ba88.dir/link.txt --verbose=1 - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" @CMakeFiles/cmTC_3ba88.dir/objects1.rsp -o cmTC_3ba88.js @CMakeFiles/cmTC_3ba88.dir/linkLibs.rsp - gmake[1]: выход из каталога «/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeTmp» - - exitCode: 0 - - - kind: "try_compile-v1" - backtrace: - - "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules/CheckTypeSize.cmake:114 (try_compile)" - - "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules/CheckTypeSize.cmake:239 (__check_type_size_impl)" - - "CMakeLists.txt:177 (check_type_size)" - directories: - source: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeTmp" - binary: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeTmp" - cmakeVariables: - CMAKE_CXX_COMPILER_CLANG_SCAN_DEPS: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/emscan-deps" - CMAKE_C_FLAGS: "" - CMAKE_C_FLAGS_DEBUG: "-g" - CMAKE_EXE_LINKER_FLAGS: "" - CMAKE_MODULE_PATH: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/cmake;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules" - buildResult: - variable: "HAVE___INT16_LIBZIP" - cached: true - stdout: | - Change Dir: '/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeTmp' - - Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_166e7/fast - /usr/bin/gmake -f CMakeFiles/cmTC_166e7.dir/build.make CMakeFiles/cmTC_166e7.dir/build - gmake[1]: вход в каталог «/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeTmp» - Building C object CMakeFiles/cmTC_166e7.dir/__INT16_LIBZIP.c.o - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" -D__STDC_WANT_LIB_EXT1__=1 -MD -MT CMakeFiles/cmTC_166e7.dir/__INT16_LIBZIP.c.o -MF CMakeFiles/cmTC_166e7.dir/__INT16_LIBZIP.c.o.d -o CMakeFiles/cmTC_166e7.dir/__INT16_LIBZIP.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CheckTypeSize/__INT16_LIBZIP.c" - /home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CheckTypeSize/__INT16_LIBZIP.c:25:12: error: use of undeclared identifier '__int16' - 25 | ('0' + ((SIZE / 10000)%10)), - | ^ - /home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CheckTypeSize/__INT16_LIBZIP.c:23:22: note: expanded from macro 'SIZE' - 23 | #define SIZE (sizeof(__int16)) - | ^ - /home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CheckTypeSize/__INT16_LIBZIP.c:26:12: error: use of undeclared identifier '__int16' - 26 | ('0' + ((SIZE / 1000)%10)), - | ^ - /home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CheckTypeSize/__INT16_LIBZIP.c:23:22: note: expanded from macro 'SIZE' - 23 | #define SIZE (sizeof(__int16)) - | ^ - /home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CheckTypeSize/__INT16_LIBZIP.c:27:12: error: use of undeclared identifier '__int16' - 27 | ('0' + ((SIZE / 100)%10)), - | ^ - /home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CheckTypeSize/__INT16_LIBZIP.c:23:22: note: expanded from macro 'SIZE' - 23 | #define SIZE (sizeof(__int16)) - | ^ - /home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CheckTypeSize/__INT16_LIBZIP.c:28:12: error: use of undeclared identifier '__int16' - 28 | ('0' + ((SIZE / 10)%10)), - | ^ - /home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CheckTypeSize/__INT16_LIBZIP.c:23:22: note: expanded from macro 'SIZE' - 23 | #define SIZE (sizeof(__int16)) - | ^ - /home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CheckTypeSize/__INT16_LIBZIP.c:29:12: error: use of undeclared identifier '__int16' - 29 | ('0' + (SIZE % 10)), - | ^ - /home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CheckTypeSize/__INT16_LIBZIP.c:23:22: note: expanded from macro 'SIZE' - 23 | #define SIZE (sizeof(__int16)) - | ^ - 5 errors generated. - gmake[1]: *** [CMakeFiles/cmTC_166e7.dir/build.make:79: CMakeFiles/cmTC_166e7.dir/__INT16_LIBZIP.c.o] Ошибка 1 - gmake[1]: выход из каталога «/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeTmp» - gmake: *** [Makefile:127: cmTC_166e7/fast] Ошибка 2 - - exitCode: 2 - - - kind: "try_compile-v1" - backtrace: - - "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules/CheckTypeSize.cmake:114 (try_compile)" - - "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules/CheckTypeSize.cmake:239 (__check_type_size_impl)" - - "CMakeLists.txt:178 (check_type_size)" - directories: - source: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeTmp" - binary: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeTmp" - cmakeVariables: - CMAKE_CXX_COMPILER_CLANG_SCAN_DEPS: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/emscan-deps" - CMAKE_C_FLAGS: "" - CMAKE_C_FLAGS_DEBUG: "-g" - CMAKE_EXE_LINKER_FLAGS: "" - CMAKE_MODULE_PATH: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/cmake;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules" - buildResult: - variable: "HAVE_INT16_T_LIBZIP" - cached: true - stdout: | - Change Dir: '/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeTmp' - - Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_d8d32/fast - /usr/bin/gmake -f CMakeFiles/cmTC_d8d32.dir/build.make CMakeFiles/cmTC_d8d32.dir/build - gmake[1]: вход в каталог «/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeTmp» - Building C object CMakeFiles/cmTC_d8d32.dir/INT16_T_LIBZIP.c.o - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" -D__STDC_WANT_LIB_EXT1__=1 -MD -MT CMakeFiles/cmTC_d8d32.dir/INT16_T_LIBZIP.c.o -MF CMakeFiles/cmTC_d8d32.dir/INT16_T_LIBZIP.c.o.d -o CMakeFiles/cmTC_d8d32.dir/INT16_T_LIBZIP.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CheckTypeSize/INT16_T_LIBZIP.c" - Linking C executable cmTC_d8d32.js - /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_d8d32.dir/link.txt --verbose=1 - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" @CMakeFiles/cmTC_d8d32.dir/objects1.rsp -o cmTC_d8d32.js @CMakeFiles/cmTC_d8d32.dir/linkLibs.rsp - gmake[1]: выход из каталога «/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeTmp» - - exitCode: 0 - - - kind: "try_compile-v1" - backtrace: - - "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules/CheckTypeSize.cmake:114 (try_compile)" - - "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules/CheckTypeSize.cmake:239 (__check_type_size_impl)" - - "CMakeLists.txt:179 (check_type_size)" - directories: - source: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeTmp" - binary: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeTmp" - cmakeVariables: - CMAKE_CXX_COMPILER_CLANG_SCAN_DEPS: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/emscan-deps" - CMAKE_C_FLAGS: "" - CMAKE_C_FLAGS_DEBUG: "-g" - CMAKE_EXE_LINKER_FLAGS: "" - CMAKE_MODULE_PATH: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/cmake;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules" - buildResult: - variable: "HAVE_UINT16_T_LIBZIP" - cached: true - stdout: | - Change Dir: '/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeTmp' - - Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_f212a/fast - /usr/bin/gmake -f CMakeFiles/cmTC_f212a.dir/build.make CMakeFiles/cmTC_f212a.dir/build - gmake[1]: вход в каталог «/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeTmp» - Building C object CMakeFiles/cmTC_f212a.dir/UINT16_T_LIBZIP.c.o - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" -D__STDC_WANT_LIB_EXT1__=1 -MD -MT CMakeFiles/cmTC_f212a.dir/UINT16_T_LIBZIP.c.o -MF CMakeFiles/cmTC_f212a.dir/UINT16_T_LIBZIP.c.o.d -o CMakeFiles/cmTC_f212a.dir/UINT16_T_LIBZIP.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CheckTypeSize/UINT16_T_LIBZIP.c" - Linking C executable cmTC_f212a.js - /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_f212a.dir/link.txt --verbose=1 - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" @CMakeFiles/cmTC_f212a.dir/objects1.rsp -o cmTC_f212a.js @CMakeFiles/cmTC_f212a.dir/linkLibs.rsp - gmake[1]: выход из каталога «/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeTmp» - - exitCode: 0 - - - kind: "try_compile-v1" - backtrace: - - "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules/CheckTypeSize.cmake:114 (try_compile)" - - "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules/CheckTypeSize.cmake:239 (__check_type_size_impl)" - - "CMakeLists.txt:180 (check_type_size)" - directories: - source: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeTmp" - binary: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeTmp" - cmakeVariables: - CMAKE_CXX_COMPILER_CLANG_SCAN_DEPS: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/emscan-deps" - CMAKE_C_FLAGS: "" - CMAKE_C_FLAGS_DEBUG: "-g" - CMAKE_EXE_LINKER_FLAGS: "" - CMAKE_MODULE_PATH: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/cmake;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules" - buildResult: - variable: "HAVE___INT32_LIBZIP" - cached: true - stdout: | - Change Dir: '/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeTmp' - - Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_4c735/fast - /usr/bin/gmake -f CMakeFiles/cmTC_4c735.dir/build.make CMakeFiles/cmTC_4c735.dir/build - gmake[1]: вход в каталог «/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeTmp» - Building C object CMakeFiles/cmTC_4c735.dir/__INT32_LIBZIP.c.o - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" -D__STDC_WANT_LIB_EXT1__=1 -MD -MT CMakeFiles/cmTC_4c735.dir/__INT32_LIBZIP.c.o -MF CMakeFiles/cmTC_4c735.dir/__INT32_LIBZIP.c.o.d -o CMakeFiles/cmTC_4c735.dir/__INT32_LIBZIP.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CheckTypeSize/__INT32_LIBZIP.c" - /home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CheckTypeSize/__INT32_LIBZIP.c:25:12: error: use of undeclared identifier '__int32' - 25 | ('0' + ((SIZE / 10000)%10)), - | ^ - /home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CheckTypeSize/__INT32_LIBZIP.c:23:22: note: expanded from macro 'SIZE' - 23 | #define SIZE (sizeof(__int32)) - | ^ - /home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CheckTypeSize/__INT32_LIBZIP.c:26:12: error: use of undeclared identifier '__int32' - 26 | ('0' + ((SIZE / 1000)%10)), - | ^ - /home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CheckTypeSize/__INT32_LIBZIP.c:23:22: note: expanded from macro 'SIZE' - 23 | #define SIZE (sizeof(__int32)) - | ^ - /home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CheckTypeSize/__INT32_LIBZIP.c:27:12: error: use of undeclared identifier '__int32' - 27 | ('0' + ((SIZE / 100)%10)), - | ^ - /home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CheckTypeSize/__INT32_LIBZIP.c:23:22: note: expanded from macro 'SIZE' - 23 | #define SIZE (sizeof(__int32)) - | ^ - /home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CheckTypeSize/__INT32_LIBZIP.c:28:12: error: use of undeclared identifier '__int32' - 28 | ('0' + ((SIZE / 10)%10)), - | ^ - /home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CheckTypeSize/__INT32_LIBZIP.c:23:22: note: expanded from macro 'SIZE' - 23 | #define SIZE (sizeof(__int32)) - | ^ - /home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CheckTypeSize/__INT32_LIBZIP.c:29:12: error: use of undeclared identifier '__int32' - 29 | ('0' + (SIZE % 10)), - | ^ - /home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CheckTypeSize/__INT32_LIBZIP.c:23:22: note: expanded from macro 'SIZE' - 23 | #define SIZE (sizeof(__int32)) - | ^ - 5 errors generated. - gmake[1]: *** [CMakeFiles/cmTC_4c735.dir/build.make:79: CMakeFiles/cmTC_4c735.dir/__INT32_LIBZIP.c.o] Ошибка 1 - gmake[1]: выход из каталога «/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeTmp» - gmake: *** [Makefile:127: cmTC_4c735/fast] Ошибка 2 - - exitCode: 2 - - - kind: "try_compile-v1" - backtrace: - - "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules/CheckTypeSize.cmake:114 (try_compile)" - - "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules/CheckTypeSize.cmake:239 (__check_type_size_impl)" - - "CMakeLists.txt:181 (check_type_size)" - directories: - source: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeTmp" - binary: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeTmp" - cmakeVariables: - CMAKE_CXX_COMPILER_CLANG_SCAN_DEPS: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/emscan-deps" - CMAKE_C_FLAGS: "" - CMAKE_C_FLAGS_DEBUG: "-g" - CMAKE_EXE_LINKER_FLAGS: "" - CMAKE_MODULE_PATH: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/cmake;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules" - buildResult: - variable: "HAVE_INT32_T_LIBZIP" - cached: true - stdout: | - Change Dir: '/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeTmp' - - Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_8eb1c/fast - /usr/bin/gmake -f CMakeFiles/cmTC_8eb1c.dir/build.make CMakeFiles/cmTC_8eb1c.dir/build - gmake[1]: вход в каталог «/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeTmp» - Building C object CMakeFiles/cmTC_8eb1c.dir/INT32_T_LIBZIP.c.o - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" -D__STDC_WANT_LIB_EXT1__=1 -MD -MT CMakeFiles/cmTC_8eb1c.dir/INT32_T_LIBZIP.c.o -MF CMakeFiles/cmTC_8eb1c.dir/INT32_T_LIBZIP.c.o.d -o CMakeFiles/cmTC_8eb1c.dir/INT32_T_LIBZIP.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CheckTypeSize/INT32_T_LIBZIP.c" - Linking C executable cmTC_8eb1c.js - /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_8eb1c.dir/link.txt --verbose=1 - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" @CMakeFiles/cmTC_8eb1c.dir/objects1.rsp -o cmTC_8eb1c.js @CMakeFiles/cmTC_8eb1c.dir/linkLibs.rsp - gmake[1]: выход из каталога «/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeTmp» - - exitCode: 0 - - - kind: "try_compile-v1" - backtrace: - - "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules/CheckTypeSize.cmake:114 (try_compile)" - - "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules/CheckTypeSize.cmake:239 (__check_type_size_impl)" - - "CMakeLists.txt:182 (check_type_size)" - directories: - source: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeTmp" - binary: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeTmp" - cmakeVariables: - CMAKE_CXX_COMPILER_CLANG_SCAN_DEPS: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/emscan-deps" - CMAKE_C_FLAGS: "" - CMAKE_C_FLAGS_DEBUG: "-g" - CMAKE_EXE_LINKER_FLAGS: "" - CMAKE_MODULE_PATH: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/cmake;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules" - buildResult: - variable: "HAVE_UINT32_T_LIBZIP" - cached: true - stdout: | - Change Dir: '/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeTmp' - - Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_a4925/fast - /usr/bin/gmake -f CMakeFiles/cmTC_a4925.dir/build.make CMakeFiles/cmTC_a4925.dir/build - gmake[1]: вход в каталог «/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeTmp» - Building C object CMakeFiles/cmTC_a4925.dir/UINT32_T_LIBZIP.c.o - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" -D__STDC_WANT_LIB_EXT1__=1 -MD -MT CMakeFiles/cmTC_a4925.dir/UINT32_T_LIBZIP.c.o -MF CMakeFiles/cmTC_a4925.dir/UINT32_T_LIBZIP.c.o.d -o CMakeFiles/cmTC_a4925.dir/UINT32_T_LIBZIP.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CheckTypeSize/UINT32_T_LIBZIP.c" - Linking C executable cmTC_a4925.js - /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_a4925.dir/link.txt --verbose=1 - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" @CMakeFiles/cmTC_a4925.dir/objects1.rsp -o cmTC_a4925.js @CMakeFiles/cmTC_a4925.dir/linkLibs.rsp - gmake[1]: выход из каталога «/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeTmp» - - exitCode: 0 - - - kind: "try_compile-v1" - backtrace: - - "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules/CheckTypeSize.cmake:114 (try_compile)" - - "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules/CheckTypeSize.cmake:239 (__check_type_size_impl)" - - "CMakeLists.txt:183 (check_type_size)" - directories: - source: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeTmp" - binary: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeTmp" - cmakeVariables: - CMAKE_CXX_COMPILER_CLANG_SCAN_DEPS: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/emscan-deps" - CMAKE_C_FLAGS: "" - CMAKE_C_FLAGS_DEBUG: "-g" - CMAKE_EXE_LINKER_FLAGS: "" - CMAKE_MODULE_PATH: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/cmake;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules" - buildResult: - variable: "HAVE___INT64_LIBZIP" - cached: true - stdout: | - Change Dir: '/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeTmp' - - Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_5875b/fast - /usr/bin/gmake -f CMakeFiles/cmTC_5875b.dir/build.make CMakeFiles/cmTC_5875b.dir/build - gmake[1]: вход в каталог «/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeTmp» - Building C object CMakeFiles/cmTC_5875b.dir/__INT64_LIBZIP.c.o - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" -D__STDC_WANT_LIB_EXT1__=1 -MD -MT CMakeFiles/cmTC_5875b.dir/__INT64_LIBZIP.c.o -MF CMakeFiles/cmTC_5875b.dir/__INT64_LIBZIP.c.o.d -o CMakeFiles/cmTC_5875b.dir/__INT64_LIBZIP.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CheckTypeSize/__INT64_LIBZIP.c" - /home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CheckTypeSize/__INT64_LIBZIP.c:25:12: error: use of undeclared identifier '__int64' - 25 | ('0' + ((SIZE / 10000)%10)), - | ^ - /home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CheckTypeSize/__INT64_LIBZIP.c:23:22: note: expanded from macro 'SIZE' - 23 | #define SIZE (sizeof(__int64)) - | ^ - /home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CheckTypeSize/__INT64_LIBZIP.c:26:12: error: use of undeclared identifier '__int64' - 26 | ('0' + ((SIZE / 1000)%10)), - | ^ - /home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CheckTypeSize/__INT64_LIBZIP.c:23:22: note: expanded from macro 'SIZE' - 23 | #define SIZE (sizeof(__int64)) - | ^ - /home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CheckTypeSize/__INT64_LIBZIP.c:27:12: error: use of undeclared identifier '__int64' - 27 | ('0' + ((SIZE / 100)%10)), - | ^ - /home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CheckTypeSize/__INT64_LIBZIP.c:23:22: note: expanded from macro 'SIZE' - 23 | #define SIZE (sizeof(__int64)) - | ^ - /home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CheckTypeSize/__INT64_LIBZIP.c:28:12: error: use of undeclared identifier '__int64' - 28 | ('0' + ((SIZE / 10)%10)), - | ^ - /home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CheckTypeSize/__INT64_LIBZIP.c:23:22: note: expanded from macro 'SIZE' - 23 | #define SIZE (sizeof(__int64)) - | ^ - /home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CheckTypeSize/__INT64_LIBZIP.c:29:12: error: use of undeclared identifier '__int64' - 29 | ('0' + (SIZE % 10)), - | ^ - /home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CheckTypeSize/__INT64_LIBZIP.c:23:22: note: expanded from macro 'SIZE' - 23 | #define SIZE (sizeof(__int64)) - | ^ - 5 errors generated. - gmake[1]: *** [CMakeFiles/cmTC_5875b.dir/build.make:79: CMakeFiles/cmTC_5875b.dir/__INT64_LIBZIP.c.o] Ошибка 1 - gmake[1]: выход из каталога «/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeTmp» - gmake: *** [Makefile:127: cmTC_5875b/fast] Ошибка 2 - - exitCode: 2 - - - kind: "try_compile-v1" - backtrace: - - "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules/CheckTypeSize.cmake:114 (try_compile)" - - "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules/CheckTypeSize.cmake:239 (__check_type_size_impl)" - - "CMakeLists.txt:184 (check_type_size)" - directories: - source: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeTmp" - binary: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeTmp" - cmakeVariables: - CMAKE_CXX_COMPILER_CLANG_SCAN_DEPS: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/emscan-deps" - CMAKE_C_FLAGS: "" - CMAKE_C_FLAGS_DEBUG: "-g" - CMAKE_EXE_LINKER_FLAGS: "" - CMAKE_MODULE_PATH: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/cmake;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules" - buildResult: - variable: "HAVE_INT64_T_LIBZIP" - cached: true - stdout: | - Change Dir: '/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeTmp' - - Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_87ee4/fast - /usr/bin/gmake -f CMakeFiles/cmTC_87ee4.dir/build.make CMakeFiles/cmTC_87ee4.dir/build - gmake[1]: вход в каталог «/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeTmp» - Building C object CMakeFiles/cmTC_87ee4.dir/INT64_T_LIBZIP.c.o - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" -D__STDC_WANT_LIB_EXT1__=1 -MD -MT CMakeFiles/cmTC_87ee4.dir/INT64_T_LIBZIP.c.o -MF CMakeFiles/cmTC_87ee4.dir/INT64_T_LIBZIP.c.o.d -o CMakeFiles/cmTC_87ee4.dir/INT64_T_LIBZIP.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CheckTypeSize/INT64_T_LIBZIP.c" - Linking C executable cmTC_87ee4.js - /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_87ee4.dir/link.txt --verbose=1 - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" @CMakeFiles/cmTC_87ee4.dir/objects1.rsp -o cmTC_87ee4.js @CMakeFiles/cmTC_87ee4.dir/linkLibs.rsp - gmake[1]: выход из каталога «/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeTmp» - - exitCode: 0 - - - kind: "try_compile-v1" - backtrace: - - "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules/CheckTypeSize.cmake:114 (try_compile)" - - "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules/CheckTypeSize.cmake:239 (__check_type_size_impl)" - - "CMakeLists.txt:185 (check_type_size)" - directories: - source: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeTmp" - binary: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeTmp" - cmakeVariables: - CMAKE_CXX_COMPILER_CLANG_SCAN_DEPS: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/emscan-deps" - CMAKE_C_FLAGS: "" - CMAKE_C_FLAGS_DEBUG: "-g" - CMAKE_EXE_LINKER_FLAGS: "" - CMAKE_MODULE_PATH: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/cmake;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules" - buildResult: - variable: "HAVE_UINT64_T_LIBZIP" - cached: true - stdout: | - Change Dir: '/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeTmp' - - Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_0376b/fast - /usr/bin/gmake -f CMakeFiles/cmTC_0376b.dir/build.make CMakeFiles/cmTC_0376b.dir/build - gmake[1]: вход в каталог «/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeTmp» - Building C object CMakeFiles/cmTC_0376b.dir/UINT64_T_LIBZIP.c.o - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" -D__STDC_WANT_LIB_EXT1__=1 -MD -MT CMakeFiles/cmTC_0376b.dir/UINT64_T_LIBZIP.c.o -MF CMakeFiles/cmTC_0376b.dir/UINT64_T_LIBZIP.c.o.d -o CMakeFiles/cmTC_0376b.dir/UINT64_T_LIBZIP.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CheckTypeSize/UINT64_T_LIBZIP.c" - Linking C executable cmTC_0376b.js - /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_0376b.dir/link.txt --verbose=1 - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" @CMakeFiles/cmTC_0376b.dir/objects1.rsp -o cmTC_0376b.js @CMakeFiles/cmTC_0376b.dir/linkLibs.rsp - gmake[1]: выход из каталога «/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeTmp» - - exitCode: 0 - - - kind: "try_compile-v1" - backtrace: - - "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules/CheckTypeSize.cmake:114 (try_compile)" - - "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules/CheckTypeSize.cmake:239 (__check_type_size_impl)" - - "CMakeLists.txt:186 (check_type_size)" - directories: - source: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeTmp" - binary: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeTmp" - cmakeVariables: - CMAKE_CXX_COMPILER_CLANG_SCAN_DEPS: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/emscan-deps" - CMAKE_C_FLAGS: "" - CMAKE_C_FLAGS_DEBUG: "-g" - CMAKE_EXE_LINKER_FLAGS: "" - CMAKE_MODULE_PATH: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/cmake;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules" - buildResult: - variable: "HAVE_SHORT_LIBZIP" - cached: true - stdout: | - Change Dir: '/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeTmp' - - Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_55aea/fast - /usr/bin/gmake -f CMakeFiles/cmTC_55aea.dir/build.make CMakeFiles/cmTC_55aea.dir/build - gmake[1]: вход в каталог «/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeTmp» - Building C object CMakeFiles/cmTC_55aea.dir/SHORT_LIBZIP.c.o - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" -D__STDC_WANT_LIB_EXT1__=1 -MD -MT CMakeFiles/cmTC_55aea.dir/SHORT_LIBZIP.c.o -MF CMakeFiles/cmTC_55aea.dir/SHORT_LIBZIP.c.o.d -o CMakeFiles/cmTC_55aea.dir/SHORT_LIBZIP.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CheckTypeSize/SHORT_LIBZIP.c" - Linking C executable cmTC_55aea.js - /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_55aea.dir/link.txt --verbose=1 - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" @CMakeFiles/cmTC_55aea.dir/objects1.rsp -o cmTC_55aea.js @CMakeFiles/cmTC_55aea.dir/linkLibs.rsp - gmake[1]: выход из каталога «/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeTmp» - - exitCode: 0 - - - kind: "try_compile-v1" - backtrace: - - "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules/CheckTypeSize.cmake:114 (try_compile)" - - "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules/CheckTypeSize.cmake:239 (__check_type_size_impl)" - - "CMakeLists.txt:187 (check_type_size)" - directories: - source: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeTmp" - binary: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeTmp" - cmakeVariables: - CMAKE_CXX_COMPILER_CLANG_SCAN_DEPS: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/emscan-deps" - CMAKE_C_FLAGS: "" - CMAKE_C_FLAGS_DEBUG: "-g" - CMAKE_EXE_LINKER_FLAGS: "" - CMAKE_MODULE_PATH: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/cmake;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules" - buildResult: - variable: "HAVE_INT_LIBZIP" - cached: true - stdout: | - Change Dir: '/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeTmp' - - Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_23885/fast - /usr/bin/gmake -f CMakeFiles/cmTC_23885.dir/build.make CMakeFiles/cmTC_23885.dir/build - gmake[1]: вход в каталог «/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeTmp» - Building C object CMakeFiles/cmTC_23885.dir/INT_LIBZIP.c.o - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" -D__STDC_WANT_LIB_EXT1__=1 -MD -MT CMakeFiles/cmTC_23885.dir/INT_LIBZIP.c.o -MF CMakeFiles/cmTC_23885.dir/INT_LIBZIP.c.o.d -o CMakeFiles/cmTC_23885.dir/INT_LIBZIP.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CheckTypeSize/INT_LIBZIP.c" - Linking C executable cmTC_23885.js - /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_23885.dir/link.txt --verbose=1 - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" @CMakeFiles/cmTC_23885.dir/objects1.rsp -o cmTC_23885.js @CMakeFiles/cmTC_23885.dir/linkLibs.rsp - gmake[1]: выход из каталога «/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeTmp» - - exitCode: 0 - - - kind: "try_compile-v1" - backtrace: - - "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules/CheckTypeSize.cmake:114 (try_compile)" - - "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules/CheckTypeSize.cmake:239 (__check_type_size_impl)" - - "CMakeLists.txt:188 (check_type_size)" - directories: - source: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeTmp" - binary: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeTmp" - cmakeVariables: - CMAKE_CXX_COMPILER_CLANG_SCAN_DEPS: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/emscan-deps" - CMAKE_C_FLAGS: "" - CMAKE_C_FLAGS_DEBUG: "-g" - CMAKE_EXE_LINKER_FLAGS: "" - CMAKE_MODULE_PATH: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/cmake;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules" - buildResult: - variable: "HAVE_LONG_LIBZIP" - cached: true - stdout: | - Change Dir: '/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeTmp' - - Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_ff5dc/fast - /usr/bin/gmake -f CMakeFiles/cmTC_ff5dc.dir/build.make CMakeFiles/cmTC_ff5dc.dir/build - gmake[1]: вход в каталог «/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeTmp» - Building C object CMakeFiles/cmTC_ff5dc.dir/LONG_LIBZIP.c.o - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" -D__STDC_WANT_LIB_EXT1__=1 -MD -MT CMakeFiles/cmTC_ff5dc.dir/LONG_LIBZIP.c.o -MF CMakeFiles/cmTC_ff5dc.dir/LONG_LIBZIP.c.o.d -o CMakeFiles/cmTC_ff5dc.dir/LONG_LIBZIP.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CheckTypeSize/LONG_LIBZIP.c" - Linking C executable cmTC_ff5dc.js - /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_ff5dc.dir/link.txt --verbose=1 - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" @CMakeFiles/cmTC_ff5dc.dir/objects1.rsp -o cmTC_ff5dc.js @CMakeFiles/cmTC_ff5dc.dir/linkLibs.rsp - gmake[1]: выход из каталога «/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeTmp» - - exitCode: 0 - - - kind: "try_compile-v1" - backtrace: - - "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules/CheckTypeSize.cmake:114 (try_compile)" - - "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules/CheckTypeSize.cmake:239 (__check_type_size_impl)" - - "CMakeLists.txt:189 (check_type_size)" - directories: - source: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeTmp" - binary: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeTmp" - cmakeVariables: - CMAKE_CXX_COMPILER_CLANG_SCAN_DEPS: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/emscan-deps" - CMAKE_C_FLAGS: "" - CMAKE_C_FLAGS_DEBUG: "-g" - CMAKE_EXE_LINKER_FLAGS: "" - CMAKE_MODULE_PATH: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/cmake;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules" - buildResult: - variable: "HAVE_LONG_LONG_LIBZIP" - cached: true - stdout: | - Change Dir: '/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeTmp' - - Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_c0c7a/fast - /usr/bin/gmake -f CMakeFiles/cmTC_c0c7a.dir/build.make CMakeFiles/cmTC_c0c7a.dir/build - gmake[1]: вход в каталог «/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeTmp» - Building C object CMakeFiles/cmTC_c0c7a.dir/LONG_LONG_LIBZIP.c.o - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" -D__STDC_WANT_LIB_EXT1__=1 -MD -MT CMakeFiles/cmTC_c0c7a.dir/LONG_LONG_LIBZIP.c.o -MF CMakeFiles/cmTC_c0c7a.dir/LONG_LONG_LIBZIP.c.o.d -o CMakeFiles/cmTC_c0c7a.dir/LONG_LONG_LIBZIP.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CheckTypeSize/LONG_LONG_LIBZIP.c" - Linking C executable cmTC_c0c7a.js - /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_c0c7a.dir/link.txt --verbose=1 - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" @CMakeFiles/cmTC_c0c7a.dir/objects1.rsp -o cmTC_c0c7a.js @CMakeFiles/cmTC_c0c7a.dir/linkLibs.rsp - gmake[1]: выход из каталога «/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeTmp» - - exitCode: 0 - - - kind: "try_compile-v1" - backtrace: - - "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules/CheckTypeSize.cmake:114 (try_compile)" - - "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules/CheckTypeSize.cmake:239 (__check_type_size_impl)" - - "CMakeLists.txt:190 (check_type_size)" - directories: - source: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeTmp" - binary: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeTmp" - cmakeVariables: - CMAKE_CXX_COMPILER_CLANG_SCAN_DEPS: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/emscan-deps" - CMAKE_C_FLAGS: "" - CMAKE_C_FLAGS_DEBUG: "-g" - CMAKE_EXE_LINKER_FLAGS: "" - CMAKE_MODULE_PATH: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/cmake;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules" - buildResult: - variable: "HAVE_SIZEOF_OFF_T" - cached: true - stdout: | - Change Dir: '/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeTmp' - - Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_a77c3/fast - /usr/bin/gmake -f CMakeFiles/cmTC_a77c3.dir/build.make CMakeFiles/cmTC_a77c3.dir/build - gmake[1]: вход в каталог «/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeTmp» - Building C object CMakeFiles/cmTC_a77c3.dir/SIZEOF_OFF_T.c.o - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" -D__STDC_WANT_LIB_EXT1__=1 -MD -MT CMakeFiles/cmTC_a77c3.dir/SIZEOF_OFF_T.c.o -MF CMakeFiles/cmTC_a77c3.dir/SIZEOF_OFF_T.c.o.d -o CMakeFiles/cmTC_a77c3.dir/SIZEOF_OFF_T.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CheckTypeSize/SIZEOF_OFF_T.c" - Linking C executable cmTC_a77c3.js - /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_a77c3.dir/link.txt --verbose=1 - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" @CMakeFiles/cmTC_a77c3.dir/objects1.rsp -o cmTC_a77c3.js @CMakeFiles/cmTC_a77c3.dir/linkLibs.rsp - gmake[1]: выход из каталога «/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeTmp» - - exitCode: 0 - - - kind: "try_compile-v1" - backtrace: - - "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules/CheckTypeSize.cmake:114 (try_compile)" - - "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules/CheckTypeSize.cmake:239 (__check_type_size_impl)" - - "CMakeLists.txt:191 (check_type_size)" - directories: - source: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeTmp" - binary: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeTmp" - cmakeVariables: - CMAKE_CXX_COMPILER_CLANG_SCAN_DEPS: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/emscan-deps" - CMAKE_C_FLAGS: "" - CMAKE_C_FLAGS_DEBUG: "-g" - CMAKE_EXE_LINKER_FLAGS: "" - CMAKE_MODULE_PATH: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/cmake;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules" - buildResult: - variable: "HAVE_SIZEOF_SIZE_T" - cached: true - stdout: | - Change Dir: '/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeTmp' - - Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_a0644/fast - /usr/bin/gmake -f CMakeFiles/cmTC_a0644.dir/build.make CMakeFiles/cmTC_a0644.dir/build - gmake[1]: вход в каталог «/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeTmp» - Building C object CMakeFiles/cmTC_a0644.dir/SIZEOF_SIZE_T.c.o - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" -D__STDC_WANT_LIB_EXT1__=1 -MD -MT CMakeFiles/cmTC_a0644.dir/SIZEOF_SIZE_T.c.o -MF CMakeFiles/cmTC_a0644.dir/SIZEOF_SIZE_T.c.o.d -o CMakeFiles/cmTC_a0644.dir/SIZEOF_SIZE_T.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CheckTypeSize/SIZEOF_SIZE_T.c" - Linking C executable cmTC_a0644.js - /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_a0644.dir/link.txt --verbose=1 - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" @CMakeFiles/cmTC_a0644.dir/objects1.rsp -o cmTC_a0644.js @CMakeFiles/cmTC_a0644.dir/linkLibs.rsp - gmake[1]: выход из каталога «/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeTmp» - - exitCode: 0 - - - kind: "try_compile-v1" - backtrace: - - "/usr/share/cmake-3.28/Modules/Internal/CheckSourceCompiles.cmake:101 (try_compile)" - - "/usr/share/cmake-3.28/Modules/CheckCSourceCompiles.cmake:52 (cmake_check_source_compiles)" - - "CMakeLists.txt:193 (check_c_source_compiles)" - checks: - - "Performing Test HAVE_FICLONERANGE" - directories: - source: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-KWMEJA" - binary: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-KWMEJA" - cmakeVariables: - CMAKE_CXX_COMPILER_CLANG_SCAN_DEPS: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/emscan-deps" - CMAKE_C_FLAGS: "" - CMAKE_C_FLAGS_DEBUG: "-g" - CMAKE_EXE_LINKER_FLAGS: "" - CMAKE_MODULE_PATH: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/cmake;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules" - buildResult: - variable: "HAVE_FICLONERANGE" - cached: true - stdout: | - Change Dir: '/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-KWMEJA' - - Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_8cfda/fast - /usr/bin/gmake -f CMakeFiles/cmTC_8cfda.dir/build.make CMakeFiles/cmTC_8cfda.dir/build - gmake[1]: вход в каталог «/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-KWMEJA» - Building C object CMakeFiles/cmTC_8cfda.dir/src.c.o - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" -DHAVE_FICLONERANGE -D__STDC_WANT_LIB_EXT1__=1 -MD -MT CMakeFiles/cmTC_8cfda.dir/src.c.o -MF CMakeFiles/cmTC_8cfda.dir/src.c.o.d -o CMakeFiles/cmTC_8cfda.dir/src.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-KWMEJA/src.c" - /home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-KWMEJA/src.c:2:10: fatal error: 'linux/fs.h' file not found - 2 | #include - | ^~~~~~~~~~~~ - 1 error generated. - gmake[1]: *** [CMakeFiles/cmTC_8cfda.dir/build.make:79: CMakeFiles/cmTC_8cfda.dir/src.c.o] Ошибка 1 - gmake[1]: выход из каталога «/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-KWMEJA» - gmake: *** [Makefile:127: cmTC_8cfda/fast] Ошибка 2 - - exitCode: 2 - - - kind: "try_compile-v1" - backtrace: - - "/usr/share/cmake-3.28/Modules/CheckFunctionExists.cmake:86 (try_compile)" - - "src/CMakeLists.txt:1 (check_function_exists)" - checks: - - "Looking for getopt" - directories: - source: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-e6ui2R" - binary: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-e6ui2R" - cmakeVariables: - CMAKE_CXX_COMPILER_CLANG_SCAN_DEPS: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/emscan-deps" - CMAKE_C_FLAGS: "" - CMAKE_C_FLAGS_DEBUG: "-g" - CMAKE_EXE_LINKER_FLAGS: "" - CMAKE_MODULE_PATH: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/libzip-1.11.3/cmake;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules" - buildResult: - variable: "HAVE_GETOPT" - cached: true - stdout: | - Change Dir: '/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-e6ui2R' - - Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_ade70/fast - /usr/bin/gmake -f CMakeFiles/cmTC_ade70.dir/build.make CMakeFiles/cmTC_ade70.dir/build - gmake[1]: вход в каталог «/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-e6ui2R» - Building C object CMakeFiles/cmTC_ade70.dir/CheckFunctionExists.c.o - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" -D__STDC_WANT_LIB_EXT1__=1 -DCHECK_FUNCTION_EXISTS=getopt -MD -MT CMakeFiles/cmTC_ade70.dir/CheckFunctionExists.c.o -MF CMakeFiles/cmTC_ade70.dir/CheckFunctionExists.c.o.d -o CMakeFiles/cmTC_ade70.dir/CheckFunctionExists.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-e6ui2R/CheckFunctionExists.c" - Linking C executable cmTC_ade70.js - /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_ade70.dir/link.txt --verbose=1 - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" -DCHECK_FUNCTION_EXISTS=getopt @CMakeFiles/cmTC_ade70.dir/objects1.rsp -o cmTC_ade70.js - wasm-ld: warning: function signature mismatch: getopt - >>> defined as () -> i32 in CMakeFiles/cmTC_ade70.dir/CheckFunctionExists.c.o - >>> defined as (i32, i32, i32) -> i32 in /home/romazan/Рабочий стол/emsdk/upstream/emscripten/cache/sysroot/lib/wasm32-emscripten/libc-debug.a(getopt.o) - gmake[1]: выход из каталога «/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-e6ui2R» - - exitCode: 0 -... diff --git a/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeDirectoryInformation.cmake b/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeDirectoryInformation.cmake deleted file mode 100644 index ea55061..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeDirectoryInformation.cmake +++ /dev/null @@ -1,16 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.28 - -# Relative path conversion top directories. -set(CMAKE_RELATIVE_PATH_TOP_SOURCE "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3") -set(CMAKE_RELATIVE_PATH_TOP_BINARY "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake") - -# Force unix paths in dependencies. -set(CMAKE_FORCE_UNIX_PATHS 1) - - -# The C and CXX include file regular expressions for this directory. -set(CMAKE_C_INCLUDE_REGEX_SCAN "^.*$") -set(CMAKE_C_INCLUDE_REGEX_COMPLAIN "^$") -set(CMAKE_CXX_INCLUDE_REGEX_SCAN ${CMAKE_C_INCLUDE_REGEX_SCAN}) -set(CMAKE_CXX_INCLUDE_REGEX_COMPLAIN ${CMAKE_C_INCLUDE_REGEX_COMPLAIN}) diff --git a/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeRuleHashes.txt b/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeRuleHashes.txt deleted file mode 100644 index d471369..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CMakeRuleHashes.txt +++ /dev/null @@ -1,324 +0,0 @@ -# Hashes of file build rules. -fe079431874bb5fcf98e6127380d9915 CMakeFiles/dist -9b6bf55f9963fcde040964803255f01e CMakeFiles/distcheck -8115c1d2692ccedb887651f3561eff6f lib/zip_err_str.c -0294d9259a337993e4dc0847a4eb94eb man/CMakeFiles/man -0294d9259a337993e4dc0847a4eb94eb man/CMakeFiles/update-html -0294d9259a337993e4dc0847a4eb94eb man/CMakeFiles/update-man -0316b03f8ec2c16e60838065eebd441f man/CMakeFiles/update_zip_errors -d159ddf2c2d73a4e2ec0b77217306397 man/ZIP_SOURCE_GET_ARGS.3 -3c2cdfb10713a65a707342fd8b543f9d man/ZIP_SOURCE_GET_ARGS.html -24bbd5b7c58a1a012d3def4f089c20fc man/ZIP_SOURCE_GET_ARGS.man -42273a05e248870f09470c0a8d1ab4d8 man/libzip.3 -beff02be812b943e5137b8dee3c7cbeb man/libzip.html -8fc1a91b88f81ca9cff6c4c51ba74e07 man/libzip.man -fdd5c85b90e8035f69409a418d05d840 man/zip_add.3 -d14e461ea0b1c56df20efae0b354a090 man/zip_add.html -79c17569bf49c7bf09791496ca98a6ab man/zip_add.man -7b16b30c91cc789b760b0771144752e2 man/zip_add_dir.3 -66f107ca4ba186f08593aed2c9599704 man/zip_add_dir.html -4e712df7a5460e8856c541958226d2e5 man/zip_add_dir.man -092c953c43a8a7708ba9a37fab0b6473 man/zip_close.3 -9706e4a4b67a1f2bed60a8d52efee130 man/zip_close.html -10c4dc15c9e0664644c696472379b25e man/zip_close.man -0f7556f52f43ac6add41f8a7ab6c2274 man/zip_compression_method_supported.3 -4190436e2f0936a92b764ae24c536771 man/zip_compression_method_supported.html -4faa7d9eba28dde2088b234ab5dedfcf man/zip_compression_method_supported.man -1bdffaef4935bbb3c5f45160fb3ba065 man/zip_delete.3 -da5730c8a1d6f7f94e862c97280f1d26 man/zip_delete.html -d1bd4dfd2ce79d869260d771c1f8d430 man/zip_delete.man -cbb0caf9b6493a3ddb4459abd6ebdf64 man/zip_dir_add.3 -67c1b6050a1e61879f88fe30f4e56b3d man/zip_dir_add.html -911fab9ca855f89dcedcb9559bf3c608 man/zip_dir_add.man -73b01c40b94c1c221280c43a618ede62 man/zip_discard.3 -d95f0f05ac4ba90750b38e3020cf26fa man/zip_discard.html -4c0ba145a251867e922a369119879617 man/zip_discard.man -a1effc9165f97dfbfdc0335c6802c541 man/zip_encryption_method_supported.3 -37cb98b50257af95f292054ff14210f6 man/zip_encryption_method_supported.html -ed58a1a1431ae705d17370292392353b man/zip_encryption_method_supported.man -0ccf5c543cd6466ad36701a1797e2150 man/zip_error_clear.3 -40408650dcadbe6ea70f01a369a045f0 man/zip_error_clear.html -d47926a18f4019793cef93a1eb540c07 man/zip_error_clear.man -ab91b656ced50a87e7bef67d8626875b man/zip_error_code_system.3 -ccdf3ba48c5ab8b4e5eab2283e2f959e man/zip_error_code_system.html -8a11aa2fe7d1042716302ac4bd63c99b man/zip_error_code_system.man -5b7dd4e72620bfdd2c0626563699c0b1 man/zip_error_code_zip.3 -a2ee3aea90618df8e9243b3a0ba8d540 man/zip_error_code_zip.html -846e89d92de3624332a5b5ac239083aa man/zip_error_code_zip.man -7341f93e94eaa68417ae93d98ecd2187 man/zip_error_fini.3 -c16e9d25d2ac33c9e8e5a7f778d09e1d man/zip_error_fini.html -6eee166beb19524b9f7712ffc55f21e5 man/zip_error_fini.man -f0daae402067bdfa09a933f4eb9b8c11 man/zip_error_get.3 -1dbe3708fedca4e4be038c6598f44c4a man/zip_error_get.html -076e27c2d314588847288299bfef01f4 man/zip_error_get.man -d1078525de898dea808276a402828e85 man/zip_error_get_sys_type.3 -9c52a32947c0c673376afc75baf8d2c2 man/zip_error_get_sys_type.html -61feb8423737870266931cd13eec9954 man/zip_error_get_sys_type.man -daa3cc499f0ff2f831deb1ddedc26105 man/zip_error_init.3 -ee262460403b267002b0def7f06619fe man/zip_error_init.html -bd1b5ec45fd5d09d7ba59917061a262c man/zip_error_init.man -b1741b37334a3e44960fbc593c13da54 man/zip_error_set.3 -a69702c7fea7974f6e759d9c37d952c7 man/zip_error_set.html -7f756947c4497a3335fa1f32a1893c49 man/zip_error_set.man -fc45be7d661ecdd02f8c23eda6cd39f9 man/zip_error_set_from_source.3 -dbda9b64eeaf5a9a2bb2860740945680 man/zip_error_set_from_source.html -2e604e44adc6fc042455c0c45b68a1fe man/zip_error_set_from_source.man -9520eb7ef3d97d21a2f886def2c6a9c5 man/zip_error_strerror.3 -7425cce562a54a2e95754bc74512795f man/zip_error_strerror.html -fa8d5d8a4ed266f607a04b766dfc7fd0 man/zip_error_strerror.man -f96c88d229ade4e770e7345d4fb3f0d5 man/zip_error_system_type.3 -4f95b4ef6383d9aaab879576370e76c7 man/zip_error_system_type.html -b330460476f4d4d6beecb09feaf6c5b3 man/zip_error_system_type.man -a4ef761313728475ce333b1cff908e77 man/zip_error_to_data.3 -e3dd7efa659e26c80a9c77e60e92f75f man/zip_error_to_data.html -f27bbbe8d48487a75d0ae37161a5c3b2 man/zip_error_to_data.man -01ec765896e6bb6bed40aae97db1cf03 man/zip_error_to_str.3 -a744d386715c4c83bd2d8567a7366f0e man/zip_error_to_str.html -4ef4d3c68090ea63aa24c82924e498ce man/zip_error_to_str.man -21000f889abf4a81891bb21432fd6398 man/zip_errors.3 -ec7a64407c9b335b543efea5e346527e man/zip_errors.html -0bb8cb829219c4be01c5f969c72e25f9 man/zip_errors.man -94e63061d23034c4d58d6b97d5a16c20 man/zip_fclose.3 -6d026bb55dc0f36a56f9b10ab6067127 man/zip_fclose.html -41d4aee9a2cb184bc9279940dc797618 man/zip_fclose.man -3e45e125209f0945aeea4027e76618b0 man/zip_fdopen.3 -61a7c57dc3eb352d997790ea2bdee80f man/zip_fdopen.html -3b629c2305b86cda59c32afa9175ac1e man/zip_fdopen.man -d79bad67de1ba03f87cd62b5b600f8c7 man/zip_file_add.3 -e74dbe1017f5a276ca54a1666c8c41f9 man/zip_file_add.html -c3f4975cdb310d0a0302785f0379d817 man/zip_file_add.man -990fd92227b243f043c1412c320c329c man/zip_file_attributes_init.3 -82a9c7e7b9a133ac8b4564b5000b8254 man/zip_file_attributes_init.html -974d171bc077be252b6db0050b31350c man/zip_file_attributes_init.man -94ae53ba0bfec342cff096d2007e8b16 man/zip_file_extra_field_delete.3 -3f025b3ff464cd847b9d9c5c6e7b9172 man/zip_file_extra_field_delete.html -d103bf5581c1f4963018becb5a7745a1 man/zip_file_extra_field_delete.man -37902b6dbe02634393155e612112f890 man/zip_file_extra_field_get.3 -5a189309f96e8277ef52c8279e6a9bb4 man/zip_file_extra_field_get.html -17e416b0ab5cb24061d668d918ec5047 man/zip_file_extra_field_get.man -2c3ec84aabc0a028703a77a769a4749d man/zip_file_extra_field_set.3 -12d2911434a46edac7dd9c30e253fe16 man/zip_file_extra_field_set.html -f4b94e74e113aeab9ef319c9fd980ae6 man/zip_file_extra_field_set.man -a4b2254d5fdcfce6d3871355a4055e1a man/zip_file_extra_fields_count.3 -3047681a825f39b26419614fb1930309 man/zip_file_extra_fields_count.html -8f02fc52194a23339986d39e102f0ec8 man/zip_file_extra_fields_count.man -e2e969ce5a70c82d3f7d2ae8bd797cfe man/zip_file_get_comment.3 -c3e8b568750f4f6763119e3582078f4b man/zip_file_get_comment.html -51f33a7364edc8e8c84c5a87beff4fe1 man/zip_file_get_comment.man -439d0ea26e1c2680a66bbbeffb904466 man/zip_file_get_error.3 -af1ce940225d06b8f42941cc63983699 man/zip_file_get_error.html -3ba7de4a4e6215c96be0d078b6e67e00 man/zip_file_get_error.man -61231dcb024825dff2d3360c66a4762f man/zip_file_get_external_attributes.3 -c968ce8e530cc5c3db979dcb5bb4afce man/zip_file_get_external_attributes.html -12892e9c4053b041813b85d88cdfabbc man/zip_file_get_external_attributes.man -d40340f6b434e18da29c754bc8b7ba45 man/zip_file_rename.3 -a15006364919a987adebbd57ca189e6f man/zip_file_rename.html -837a062241bb85fd7ce1b999033b7e56 man/zip_file_rename.man -269565770f0faa35f0d5ef07b0c35c72 man/zip_file_set_comment.3 -de4892ccf24634949a825b00b50990a2 man/zip_file_set_comment.html -0c33781477a3fb62b33028ae1d4d6993 man/zip_file_set_comment.man -16ff951f7c92d4c9d13b269abe8bd099 man/zip_file_set_encryption.3 -ed131e12dd9f37b860351c00d6513856 man/zip_file_set_encryption.html -189fef372d2357ec97e53aab878262f7 man/zip_file_set_encryption.man -6de0589dad11cdbf08a99faa54f5294b man/zip_file_set_external_attributes.3 -7db55ab9263cf470bc64de5c0a1da90e man/zip_file_set_external_attributes.html -d7f3cfe56559fbc139bea9a26f314594 man/zip_file_set_external_attributes.man -0005689a5df959efcebc4f46e03b6e9b man/zip_file_set_mtime.3 -8fc84ff2fb8d16fc4996d9f0b30c87ce man/zip_file_set_mtime.html -28f4e8dc8372e0874cc5b819c883e852 man/zip_file_set_mtime.man -bf13c0cb662335066625d8a71ebc9024 man/zip_file_strerror.3 -631f0eb6b32e754ea6d4cdb2fb114d92 man/zip_file_strerror.html -297e9a51f53cee9dfa83f7028f1fc1a4 man/zip_file_strerror.man -8d2888512abc14611f3f207ea72d0413 man/zip_fopen.3 -21561ac488e779411f3498106537832f man/zip_fopen.html -7e829c97824e257a8267acceeac868df man/zip_fopen.man -199e0f1ecfaf6ec3c00e3a10dbebb08a man/zip_fopen_encrypted.3 -bf0254f0253ee098f770d3afdf6cbaf2 man/zip_fopen_encrypted.html -6afefd4d1a35467069dd3b808e735fc4 man/zip_fopen_encrypted.man -f21edcc370396b514b94d4eaa604905c man/zip_fread.3 -b0248a8e7b92efaba52d80459dcfd8c2 man/zip_fread.html -b0a03949bed997236a58981a23e36b84 man/zip_fread.man -5bd694a85d2dc21c9f1623012288b61d man/zip_fseek.3 -99abe355a1f5470d2c14f0e08dd64625 man/zip_fseek.html -02c480aba599d3e79cd9e38a65b47829 man/zip_fseek.man -2eeb9b42642ca6b3bcbcc8dac65f53a4 man/zip_ftell.3 -b73d962894dfff2296756b755033c58d man/zip_ftell.html -d2d0a72f8d46b580be23f0bb762a078c man/zip_ftell.man -3b2aee434752084774c2a72702120a1d man/zip_get_archive_comment.3 -3816dd1d97fb5d1c64aa9516e84ebfbb man/zip_get_archive_comment.html -aaa4173e40fbc17981229dcfe6c5f204 man/zip_get_archive_comment.man -7abcfcbaf617cb71fe32f276e1562347 man/zip_get_archive_flag.3 -5c02c35084e476bb92d2556d5fcb218e man/zip_get_archive_flag.html -c55c7d93e16a9427b4911bfe2a22d42b man/zip_get_archive_flag.man -a17b9d64e5005e6ef0cb416b4097bfe4 man/zip_get_error.3 -ff01adb6af5daad514207b6974f9a064 man/zip_get_error.html -c0470c21995f62648980ae8788127b83 man/zip_get_error.man -c04c60080b093051df8c66fbf3ff3938 man/zip_get_file_comment.3 -937dca7f39b6e89997c71d23185950a2 man/zip_get_file_comment.html -921d65e87672074174e56176946e3cd8 man/zip_get_file_comment.man -90cdced489b360fda30ab108aacb143a man/zip_get_name.3 -d71eef2d220cdeafb277479043a45d57 man/zip_get_name.html -162cad6767f2e383652fa2b5a846ad32 man/zip_get_name.man -89817348b21f405da1a8de81c7cd9d80 man/zip_get_num_entries.3 -a681e117cada11e65414645a442f7082 man/zip_get_num_entries.html -61c0088de93892ff9fb9d8480c72e91f man/zip_get_num_entries.man -588f486cc27d11234452aa9af6af7418 man/zip_get_num_files.3 -ce44b480050aef035abc713b9cc2fad9 man/zip_get_num_files.html -7170270f2ec4e44f9cbe35fade04b218 man/zip_get_num_files.man -2425ebb73bebaf899680fdc34f3ccc43 man/zip_libzip_version.3 -afd5d1f893a959f07759112a42e2f5ff man/zip_libzip_version.html -e2424374811d6d9427ea218dd07cc121 man/zip_libzip_version.man -3f04d1b17a656428d725fafe3620c4e5 man/zip_name_locate.3 -f75ccbc1c32917b6d228918a45de7952 man/zip_name_locate.html -fdcb0caa7e9c59965d516f3410192566 man/zip_name_locate.man -b6355123807c159ad2003209de9185e2 man/zip_open.3 -d8a38c4cf97a263e0f58814ea0d62608 man/zip_open.html -3acc7cd72f10f92d5d18f5f450168300 man/zip_open.man -9e8bf0beea93fc0184c8d2cd31164d5b man/zip_register_cancel_callback_with_state.3 -c60ea6e3db77863d44a5cb461039bf98 man/zip_register_cancel_callback_with_state.html -7887dc19309d7a74f979c2f6eb3fc579 man/zip_register_cancel_callback_with_state.man -0d0f662a406323d2508fb351f8407907 man/zip_register_progress_callback.3 -f5c7fdfc4b24c6eba8ce5417d401a3f1 man/zip_register_progress_callback.html -0093e65f5cf81685fed89d8844535013 man/zip_register_progress_callback.man -c3044f0509aea200eb849b1872a91d21 man/zip_register_progress_callback_with_state.3 -1d6769f867fdde788b41d91c9e5933bf man/zip_register_progress_callback_with_state.html -bbb87f5379837f32fde31e0efe546821 man/zip_register_progress_callback_with_state.man -aaae480df7a76e473634be19a4268b42 man/zip_rename.3 -4e2cb263e2edb15f209468bfd87977f6 man/zip_rename.html -d8f6a59f1aa00f397be41bdca0437da6 man/zip_rename.man -bd863a689a782a887f8c59d97155589e man/zip_set_archive_comment.3 -5dddb5f511761b2cbc5b1abed9aeb23c man/zip_set_archive_comment.html -2810299df9fb34af1920df3dd1ecf09f man/zip_set_archive_comment.man -e62145c1b446f79d9fa601b6f70edebd man/zip_set_archive_flag.3 -c9c0830a531f966b681b84553eccffdc man/zip_set_archive_flag.html -f2556d5278b5d2d031c3ed20574a8901 man/zip_set_archive_flag.man -54fcefbbc31e6d5806a80aa90d30e480 man/zip_set_default_password.3 -8fd1ce5ef877e4c0c76f70431ac850a4 man/zip_set_default_password.html -30984467b6fb53cd37261109affe2caa man/zip_set_default_password.man -b86f8fe26ec033fe66014dc9234f0c5c man/zip_set_file_comment.3 -cd974bf3e748e239e974dccab27d5cc8 man/zip_set_file_comment.html -6ddbfd73b251111e749611eb0cf382fa man/zip_set_file_comment.man -59db870679dda4761277fa3d781f2cb0 man/zip_set_file_compression.3 -f0496874c3f266fb933808016f40ba7b man/zip_set_file_compression.html -6a446cdc0efa7f9c54921d71ef1de4dd man/zip_set_file_compression.man -ae3a0ff79727afe83b8b21417f595abd man/zip_source.3 -add7c3b66b1161ebd2a44f2a73189a1b man/zip_source.html -e8da3d1d0dc86b2d6ff830c9a513da72 man/zip_source.man -e0413a2558ac2144e146fccc5d37854a man/zip_source_begin_write.3 -b9425034328f68350586230d45b2430c man/zip_source_begin_write.html -a82177023a8650e0a4dba947a22e5469 man/zip_source_begin_write.man -91113bc75bee538369f6d0e074432b9a man/zip_source_buffer.3 -95e3e3b82429a4c570aa89925563121e man/zip_source_buffer.html -752b5c58a794944057826f31a5240663 man/zip_source_buffer.man -83af792dc37964f3549695f4088821f9 man/zip_source_buffer_fragment.3 -2ecd9d4754995d865c7b72accfea99d9 man/zip_source_buffer_fragment.html -00f764e111dcb3b62e6880b9251c69eb man/zip_source_buffer_fragment.man -10c937eafdb8ffbb2b21e3551b6d25c6 man/zip_source_close.3 -4478ef881b32b1d86bb1cf338ac620ff man/zip_source_close.html -520fd6ee47133d27ddbb70e52de0602c man/zip_source_close.man -946d7b3784a77bde0bf691d5a3013945 man/zip_source_commit_write.3 -def67301615520dda9f4dc568042bc09 man/zip_source_commit_write.html -a4d41b7ffd42279ee3fc14738154d7af man/zip_source_commit_write.man -1477842d2d6b68cff1e2496cacb30f2d man/zip_source_error.3 -2156c72f4de0f63079b3014f564cd9ee man/zip_source_error.html -5e29bc7c509d5bf8edb4778534fea206 man/zip_source_error.man -51bba96f9177499da725b3391144490c man/zip_source_file.3 -4d855ae1ce404591ac77a77bd13fa1ae man/zip_source_file.html -4c06ffb2d7cfeeae64298b9be4189042 man/zip_source_file.man -85d60252a12865a9d1cf372e8ddc116f man/zip_source_filep.3 -7dc4ddd1d8fb8c31619f2c1afe528828 man/zip_source_filep.html -3060a1e9a88d7cb75480caf03da58923 man/zip_source_filep.man -ba2371763698fc7a28e9b647fc0460f0 man/zip_source_free.3 -0537950e9ce14b77c503be2674301cc6 man/zip_source_free.html -bb305b6799ff957dda51bc6b87c28973 man/zip_source_free.man -4dbfd5341fcb6f29647cc6f1f8396900 man/zip_source_function.3 -47da973de0cc944abe3012c870124c67 man/zip_source_function.html -ec0fce03599b9ee22c7ed90476d47dd5 man/zip_source_function.man -d44cbec10a35995d4937016eb5b37e87 man/zip_source_is_deleted.3 -642e3c3456a26644a4c09c360354810c man/zip_source_is_deleted.html -479bffe9e356958b9a6926152ebb510c man/zip_source_is_deleted.man -e20e60e29944fc5875f984706bf958ca man/zip_source_is_seekable.3 -821aa59b632684fd5d1a5eb6fe92b2d0 man/zip_source_is_seekable.html -57f836064e02a6a20fda3e2fb6bd99bf man/zip_source_is_seekable.man -7f2d4f6d3dfc3cd4c07f6c8f169316b8 man/zip_source_keep.3 -8f69112d11dee9bedae0d0c93a8be3c2 man/zip_source_keep.html -782a5e4822adb395af2f993021637d51 man/zip_source_keep.man -aa78734a998df4e68e2ae20bd3fee61d man/zip_source_layered.3 -96c4f8f035cfb9ade5110e0a0e55a287 man/zip_source_layered.html -99cd96d25355d5bdb9c9a1066eafe9d6 man/zip_source_layered.man -7285f7ed4a2b65ae363d3dd982abaf97 man/zip_source_make_command_bitmap.3 -2da74d06580a4cc2bd342f3ce269dbe0 man/zip_source_make_command_bitmap.html -4c3d752cfffa9e5332b4dc9b093fedd3 man/zip_source_make_command_bitmap.man -0a8c1b38dc721d19298b286374034640 man/zip_source_open.3 -b8809b73e7c4558c33e4df4c0b909d75 man/zip_source_open.html -c9ba8c8753dab04c8b1bd94e187ae92b man/zip_source_open.man -8e5342bb18cf7a112d56097229cf7165 man/zip_source_read.3 -c21dc49ae87579616edc0204034358eb man/zip_source_read.html -1e37a53b0d910f572f9fe890ae65ac8c man/zip_source_read.man -27f6839f4b756e4abe570bd0e714029a man/zip_source_rollback_write.3 -3ef1fb8233ff3cc7e3c3e993e2d83333 man/zip_source_rollback_write.html -4d114d1a9b1497d34c92e946e0915b8a man/zip_source_rollback_write.man -1a380a824745648ed37ad9bc14b0edd2 man/zip_source_seek.3 -d7ef841daea9504b4b0f36725ed3fa45 man/zip_source_seek.html -4c2a024ea0444c5a0e51041eca7a1e25 man/zip_source_seek.man -7e1c252aab5caeacf25a8a0d49808da0 man/zip_source_seek_compute_offset.3 -b73cc54ac3e1bad0db4cf145d00d33a8 man/zip_source_seek_compute_offset.html -f3fb15e7d30849c3dbe268d8a7f0c46e man/zip_source_seek_compute_offset.man -2c0441a3cd69a3f1841aa66aadd89bec man/zip_source_seek_write.3 -a78c9a8de236c64502135b9e81c6f60d man/zip_source_seek_write.html -696dc86eecdca2a1fe88a6d037dc0903 man/zip_source_seek_write.man -9793a8d3251b8e67479f62475ebca6e7 man/zip_source_stat.3 -1fdd397f2f3150a2cc4c57066b218ebf man/zip_source_stat.html -7064bc1c1f4731330d00bf7eebe8a9ae man/zip_source_stat.man -a152d4f908dba7f5be7c9d6f9911e11e man/zip_source_tell.3 -23808f0272b6147fd268d78906ade152 man/zip_source_tell.html -64a7c39b656a853a3b9e5acabac5c291 man/zip_source_tell.man -ac02d18ae6f01537e14676bd195531a9 man/zip_source_tell_write.3 -ea0ff3a4eb0b327ed1c8fe4547ea6f38 man/zip_source_tell_write.html -9f3a9f522c473662dfb86c83cce08966 man/zip_source_tell_write.man -b98dfedd043a50e8cb96d8764a5c5b78 man/zip_source_win32a.3 -626b5bb229bb031ce3b99ece293f93a6 man/zip_source_win32a.html -f6d9264140db79f0170113de9c8b55e8 man/zip_source_win32a.man -891ff4708b88131cbdea911e776b7a54 man/zip_source_win32handle.3 -d24024cbb46faa1f4da9cd442a0d8362 man/zip_source_win32handle.html -912de020c1d58528bca0ef0bbecf6c9a man/zip_source_win32handle.man -d8ac1b191a4f14f443247ab64c201c66 man/zip_source_win32w.3 -2716abe5efd61230a2f1542f43ad70b6 man/zip_source_win32w.html -950ab82a2fe37087c34774db089e3d99 man/zip_source_win32w.man -03550611ce3629acc8d097a5bbe06c98 man/zip_source_window_create.3 -a20e3462fb22aa17d0c8ae2d5b5f70ee man/zip_source_window_create.html -644a8eb996950aad0dc059e5ffdc5285 man/zip_source_window_create.man -042ce586ec3f4241dcd138c3ca058f58 man/zip_source_write.3 -a30b1f83ae1e991e1bedf05c965346bc man/zip_source_write.html -4de2e7af74db76a71cbed0d6b28b5af0 man/zip_source_write.man -ac8b50d248b458981214caf687bbe980 man/zip_source_zip.3 -0175fb4f814f12baed55a1b18f832f45 man/zip_source_zip.html -a44a3c5bdedb62047e69c7b29b181d9c man/zip_source_zip.man -5183f855dffbea9b2f18e3fe49f0ff0d man/zip_source_zip_file.3 -8c62774132656aef2ce10849fb3eb933 man/zip_source_zip_file.html -67bd970e3997af7600f56d36eab68a14 man/zip_source_zip_file.man -7b1cb628704acecb18c351143eb88b4a man/zip_stat.3 -913e7269347a85de88476ba253fb2844 man/zip_stat.html -74ca748c4879aa04c7af78921e031024 man/zip_stat.man -c6344020ab0f86434b3a644d07fd3b17 man/zip_stat_init.3 -26cb7bb3d459c7280196866df43b02b0 man/zip_stat_init.html -5af4a860ee9a38415fe2a43e8c57fabc man/zip_stat_init.man -a38c818d1d96cd49304cc6c71ee8f7aa man/zip_unchange.3 -d3e596aeef2d8fb1ec0b2ccfe10cee41 man/zip_unchange.html -3cad0fc26336abe29405f74c6bbc70b5 man/zip_unchange.man -e8487c5515b0b9e2e2e58293ed0e24bd man/zip_unchange_all.3 -f4deced7b7e4ec288d2a1b140d354983 man/zip_unchange_all.html -a1cc2a9a8a5dfaaa6100aa3d5a240c90 man/zip_unchange_all.man -1ba5ccbae608caee379aed02e9e4749d man/zip_unchange_archive.3 -14890fc68fdf63b20e842e8413ac28d9 man/zip_unchange_archive.html -b7bfe339e0155ce2767f4da306a5532a man/zip_unchange_archive.man -46e62c01c08734f0d2e12020919182dd man/zipcmp.1 -e15be517c1210d684c2f90e90777d46c man/zipcmp.html -644605d026594ac61818c7198e0e98ae man/zipcmp.man -3dd3e5ac99602e62f239afc86f7b7f36 man/zipmerge.1 -9f0722da1ffa82861698be3bd9c2825e man/zipmerge.html -355a7d8a710ae3ae95c7dad5ace7312b man/zipmerge.man -f0fa92e007957d83297fd3e5b901cc2f man/ziptool.1 -1f565dc36cbef96afd2e467b39eb7809 man/ziptool.html -df359c96eb34e16c97b56b05bd6cece2 man/ziptool.man -b8981b63665bad1e01674cb95066a3ec ossfuzz/CMakeFiles/list-fuzzers diff --git a/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CheckTypeSize/INT16_T_LIBZIP.bin b/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CheckTypeSize/INT16_T_LIBZIP.bin deleted file mode 100755 index 569e5eac7b9de85df4dc31925533241ae13ffeff..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1166 zcmaJ=&2G~`5T0E-iIcTsw-r?*fwWG0s1#WO4mohD4}cH?9snW7Nw>j?V;g(ZAB1pP zD*nzq40jGZ0q?`Col2Eju;iWDnQvykv1cGG76bsural4~(Xu4vh?Fn_Qqn}*J_(B` zD3UNM-lj6ha&a7qlLy@}pB6z8y%$9=6%xola7KmuAEKS*=_C-Rkp!yQT_B(VPzsu+ zQB7}knx+7h;j-XB3)2A;VlkqZb5Gav0@eB7>u4 zGLcc51Tq}Qg1{ZIC?&)_%yW@QaM~>bK4C=b{M5TTIE;NHR=K;v2VCkquEr_X=C1C8+u%BH z45^6%hSWeohEzG4s5XZbxV}#fx5Zl?tX7wp!0>n6HaB=%x*gu(?WM~U23(VyoXuPd z1Fdx+xLw}0nG5v5KUd`+Ti|?B3UfXy;e1mkuwR7eYlglv@53INR~SVPIP{5c&N%Un znNwM<+D`VV*{2pDSBfu~gmK{1r?OA|t(l*_!#sVh&crp2c*D1A`;`^(Gavf~jMSWp zp+yzabScA+1kR=6;R2R-X6sa7GygX@7s>(6@xujT7AB-K*MJI53@et z*V?FD)q%!JKDU4|=L_n -#include -#include - - -#undef KEY -#if defined(__i386) -# define KEY '_','_','i','3','8','6' -#elif defined(__x86_64) -# define KEY '_','_','x','8','6','_','6','4' -#elif defined(__ppc__) -# define KEY '_','_','p','p','c','_','_' -#elif defined(__ppc64__) -# define KEY '_','_','p','p','c','6','4','_','_' -#elif defined(__aarch64__) -# define KEY '_','_','a','a','r','c','h','6','4','_','_' -#elif defined(__ARM_ARCH_7A__) -# define KEY '_','_','A','R','M','_','A','R','C','H','_','7','A','_','_' -#elif defined(__ARM_ARCH_7S__) -# define KEY '_','_','A','R','M','_','A','R','C','H','_','7','S','_','_' -#endif - -#define SIZE (sizeof(int16_t)) -char info_size[] = {'I', 'N', 'F', 'O', ':', 's','i','z','e','[', - ('0' + ((SIZE / 10000)%10)), - ('0' + ((SIZE / 1000)%10)), - ('0' + ((SIZE / 100)%10)), - ('0' + ((SIZE / 10)%10)), - ('0' + (SIZE % 10)), - ']', -#ifdef KEY - ' ','k','e','y','[', KEY, ']', -#endif - '\0'}; - -#ifdef __CLASSIC_C__ -int main(argc, argv) int argc; char *argv[]; -#else -int main(int argc, char *argv[]) -#endif -{ - int require = 0; - require += info_size[argc]; - (void)argv; - return require; -} diff --git a/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CheckTypeSize/INT32_T_LIBZIP.bin b/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CheckTypeSize/INT32_T_LIBZIP.bin deleted file mode 100755 index cd05fe337c0f81343b73b6d96a009a400c380208..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1166 zcmaJ=&2G~`5T0E-iIcTsw-r?*fwWG0s1#WO3FW}4J^(@pcmRYPC*1}oj&1Bse-OfH zsrWndFx)xt1iTNkb}ChB!IF1oXTF*F#-4$&SP%dpoB9Y~M9Y$tBT~W$NJ$fI`y?!) zph&{3c$>-~%f)ddP9Ai_d|CuW^j;LfR7fEIz!??pe~5OLr;|XOMiQuIcY%NgKq+XN zMm4=bGD2yiNyr7gpv_IKB>rlpGZauCtv{sQT!=-QpHXNAg$#2Ejb0E$$zha>i42aG z$wWqJ63B2I3j%kj^N+uY!7>2`RBx0fzc7;sH)ayD}< z47ApP;C6Y}W-ibJ|6G-SY=QGhDa`q-g!4_Ez;uNnHzybpV5USSkH;Ls<&Ipf4P zW=>_bYCGAdW}jMsTq(X_62^g3pUOV4=oG+*Yy9c%6d{x(4M>gNp4N=JVs(uxHxq`il&$?pO=H7Xg%7*&S z?^f42GhnxZDy2qrFkRi7vSAPsU_G26wJsaaUOsvCNUiJZ`}jP31Mq{`xGL3zi%>3c zER6vhFXOpaFVn!jcJb0o4z?#@9D7%5<)z0WkJDs2=q#48jE=*2DF*gpS#6m&jni=$ q7lW-NO=KQsS(Hq@qfDkzA_sOZjs%YRM0oNn6UD$NqG{rZQ~4KeVK}z{ diff --git a/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CheckTypeSize/INT32_T_LIBZIP.c b/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CheckTypeSize/INT32_T_LIBZIP.c deleted file mode 100644 index b2f010f..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CheckTypeSize/INT32_T_LIBZIP.c +++ /dev/null @@ -1,46 +0,0 @@ -#include -#include -#include - - -#undef KEY -#if defined(__i386) -# define KEY '_','_','i','3','8','6' -#elif defined(__x86_64) -# define KEY '_','_','x','8','6','_','6','4' -#elif defined(__ppc__) -# define KEY '_','_','p','p','c','_','_' -#elif defined(__ppc64__) -# define KEY '_','_','p','p','c','6','4','_','_' -#elif defined(__aarch64__) -# define KEY '_','_','a','a','r','c','h','6','4','_','_' -#elif defined(__ARM_ARCH_7A__) -# define KEY '_','_','A','R','M','_','A','R','C','H','_','7','A','_','_' -#elif defined(__ARM_ARCH_7S__) -# define KEY '_','_','A','R','M','_','A','R','C','H','_','7','S','_','_' -#endif - -#define SIZE (sizeof(int32_t)) -char info_size[] = {'I', 'N', 'F', 'O', ':', 's','i','z','e','[', - ('0' + ((SIZE / 10000)%10)), - ('0' + ((SIZE / 1000)%10)), - ('0' + ((SIZE / 100)%10)), - ('0' + ((SIZE / 10)%10)), - ('0' + (SIZE % 10)), - ']', -#ifdef KEY - ' ','k','e','y','[', KEY, ']', -#endif - '\0'}; - -#ifdef __CLASSIC_C__ -int main(argc, argv) int argc; char *argv[]; -#else -int main(int argc, char *argv[]) -#endif -{ - int require = 0; - require += info_size[argc]; - (void)argv; - return require; -} diff --git a/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CheckTypeSize/INT64_T_LIBZIP.bin b/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CheckTypeSize/INT64_T_LIBZIP.bin deleted file mode 100755 index 517ed5ae5708da750a0c39f6388e1d169cb899e8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1166 zcmaJ=&2G~`5T0E-iIcTsw-r?*fwWG0s1#X(ON2Pp2S5k`4}g&4q}$-cv5md%4?-j@ z6@Oa2Iej=Y1TTnI34_l?6sfVFdLoJbC#+Y4^^ za#6@M7hvDL;Zo%$WuA*fg41ph@ChSY=cnG)!C~wpv6j0le88o?<7%98ZSLwmxDBrJ z#*msQU`P!VWJr~xiE495f$RI!a9h0P!D@Ah2@HS7ZF7USrQ6{h-Y#9HFyNZpq4btbNH#2da{+pnyMpZVA~V5H_$ z3@xgVrb`)qBycVj4;Qe!Gh3$uoB6-NxlkUsu2Nu630dNlRWaCerPb#P3p8xT|1j$V zeyxqlRUK%o>kvL^Hp7I9oc+WH$)-dtNK;+O)Vgdud->$mBekxt@8k3E4Zsg#E<#!2 zSQ-O1F5|gZFVn!jcJb0o4z?#@9D7%5<)z0WkJDs2=q$=uM#o`Xih;c-t1a`UaXJp; qVz8B@iOj<+i;}5#l*u$o -#include -#include - - -#undef KEY -#if defined(__i386) -# define KEY '_','_','i','3','8','6' -#elif defined(__x86_64) -# define KEY '_','_','x','8','6','_','6','4' -#elif defined(__ppc__) -# define KEY '_','_','p','p','c','_','_' -#elif defined(__ppc64__) -# define KEY '_','_','p','p','c','6','4','_','_' -#elif defined(__aarch64__) -# define KEY '_','_','a','a','r','c','h','6','4','_','_' -#elif defined(__ARM_ARCH_7A__) -# define KEY '_','_','A','R','M','_','A','R','C','H','_','7','A','_','_' -#elif defined(__ARM_ARCH_7S__) -# define KEY '_','_','A','R','M','_','A','R','C','H','_','7','S','_','_' -#endif - -#define SIZE (sizeof(int64_t)) -char info_size[] = {'I', 'N', 'F', 'O', ':', 's','i','z','e','[', - ('0' + ((SIZE / 10000)%10)), - ('0' + ((SIZE / 1000)%10)), - ('0' + ((SIZE / 100)%10)), - ('0' + ((SIZE / 10)%10)), - ('0' + (SIZE % 10)), - ']', -#ifdef KEY - ' ','k','e','y','[', KEY, ']', -#endif - '\0'}; - -#ifdef __CLASSIC_C__ -int main(argc, argv) int argc; char *argv[]; -#else -int main(int argc, char *argv[]) -#endif -{ - int require = 0; - require += info_size[argc]; - (void)argv; - return require; -} diff --git a/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CheckTypeSize/INT8_T_LIBZIP.bin b/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CheckTypeSize/INT8_T_LIBZIP.bin deleted file mode 100755 index e69defdcd65525f04edfa1e0cf45e06e8ca4ab46..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1166 zcmaJ=&2G~`5T0E-iIcTsw-r?*fwWG0s1#YEmmE0N2S5k`4}g&Cq?_Qxv5mdy4?;LC z6@OrlpGZauCtv{sQT!=-QpHpZCg$#2Ejb0E$$#Im6u?!~5 zWGtgJ31m2m1%Z2FQH=8_lOj>@@f@L8o%L?nk#{i3g#hzz-zY2uSUY#diR2i%z2KHF z7lll70rve{E>&*4%yW@QaM~>bK4C=b{M5TTIE;NHR=K;v2VCkquEr_X=C1C8+u%BH z45^6%hSWeohEzG4s5XZbxV}#fx5Zl?tX5Z;!0>n6HaB=%x*gu(?WM~U23(VyoXuPd z1Fdx+xLw}0nG5vLzfk2LTi|?B3UfXy;e1mkuwR7eYlglv@53INR~SVPIrNEd&N%Un znNwM<+D`VV*{2pDSBfu~gmK{1r?OA|t(l*_!#sVh&crp2c*D1A`?VGEGavf~jMSWp zp+yzabScA+1kRP>;R2R-X6sa7GygX@m&yY-RSN7WAtg>(6@xujT7AB-K*MJI53@et z*V?FD)q%!JKDU4|=L_n<9zd-)U)8nNkv#waRxpz^evZ4O- zyVZ5h4A`xpN~sYYOjq}&Y#4+DSPy4Nt;@!WmWjy!lWg6HwE?%0+!S* -#include -#include - - -#undef KEY -#if defined(__i386) -# define KEY '_','_','i','3','8','6' -#elif defined(__x86_64) -# define KEY '_','_','x','8','6','_','6','4' -#elif defined(__ppc__) -# define KEY '_','_','p','p','c','_','_' -#elif defined(__ppc64__) -# define KEY '_','_','p','p','c','6','4','_','_' -#elif defined(__aarch64__) -# define KEY '_','_','a','a','r','c','h','6','4','_','_' -#elif defined(__ARM_ARCH_7A__) -# define KEY '_','_','A','R','M','_','A','R','C','H','_','7','A','_','_' -#elif defined(__ARM_ARCH_7S__) -# define KEY '_','_','A','R','M','_','A','R','C','H','_','7','S','_','_' -#endif - -#define SIZE (sizeof(int8_t)) -char info_size[] = {'I', 'N', 'F', 'O', ':', 's','i','z','e','[', - ('0' + ((SIZE / 10000)%10)), - ('0' + ((SIZE / 1000)%10)), - ('0' + ((SIZE / 100)%10)), - ('0' + ((SIZE / 10)%10)), - ('0' + (SIZE % 10)), - ']', -#ifdef KEY - ' ','k','e','y','[', KEY, ']', -#endif - '\0'}; - -#ifdef __CLASSIC_C__ -int main(argc, argv) int argc; char *argv[]; -#else -int main(int argc, char *argv[]) -#endif -{ - int require = 0; - require += info_size[argc]; - (void)argv; - return require; -} diff --git a/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CheckTypeSize/INT_LIBZIP.bin b/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CheckTypeSize/INT_LIBZIP.bin deleted file mode 100755 index cd05fe337c0f81343b73b6d96a009a400c380208..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1166 zcmaJ=&2G~`5T0E-iIcTsw-r?*fwWG0s1#WO3FW}4J^(@pcmRYPC*1}oj&1Bse-OfH zsrWndFx)xt1iTNkb}ChB!IF1oXTF*F#-4$&SP%dpoB9Y~M9Y$tBT~W$NJ$fI`y?!) zph&{3c$>-~%f)ddP9Ai_d|CuW^j;LfR7fEIz!??pe~5OLr;|XOMiQuIcY%NgKq+XN zMm4=bGD2yiNyr7gpv_IKB>rlpGZauCtv{sQT!=-QpHXNAg$#2Ejb0E$$zha>i42aG z$wWqJ63B2I3j%kj^N+uY!7>2`RBx0fzc7;sH)ayD}< z47ApP;C6Y}W-ibJ|6G-SY=QGhDa`q-g!4_Ez;uNnHzybpV5USSkH;Ls<&Ipf4P zW=>_bYCGAdW}jMsTq(X_62^g3pUOV4=oG+*Yy9c%6d{x(4M>gNp4N=JVs(uxHxq`il&$?pO=H7Xg%7*&S z?^f42GhnxZDy2qrFkRi7vSAPsU_G26wJsaaUOsvCNUiJZ`}jP31Mq{`xGL3zi%>3c zER6vhFXOpaFVn!jcJb0o4z?#@9D7%5<)z0WkJDs2=q#48jE=*2DF*gpS#6m&jni=$ q7lW-NO=KQsS(Hq@qfDkzA_sOZjs%YRM0oNn6UD$NqG{rZQ~4KeVK}z{ diff --git a/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CheckTypeSize/INT_LIBZIP.c b/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CheckTypeSize/INT_LIBZIP.c deleted file mode 100644 index f04c822..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CheckTypeSize/INT_LIBZIP.c +++ /dev/null @@ -1,46 +0,0 @@ -#include -#include -#include - - -#undef KEY -#if defined(__i386) -# define KEY '_','_','i','3','8','6' -#elif defined(__x86_64) -# define KEY '_','_','x','8','6','_','6','4' -#elif defined(__ppc__) -# define KEY '_','_','p','p','c','_','_' -#elif defined(__ppc64__) -# define KEY '_','_','p','p','c','6','4','_','_' -#elif defined(__aarch64__) -# define KEY '_','_','a','a','r','c','h','6','4','_','_' -#elif defined(__ARM_ARCH_7A__) -# define KEY '_','_','A','R','M','_','A','R','C','H','_','7','A','_','_' -#elif defined(__ARM_ARCH_7S__) -# define KEY '_','_','A','R','M','_','A','R','C','H','_','7','S','_','_' -#endif - -#define SIZE (sizeof(int)) -char info_size[] = {'I', 'N', 'F', 'O', ':', 's','i','z','e','[', - ('0' + ((SIZE / 10000)%10)), - ('0' + ((SIZE / 1000)%10)), - ('0' + ((SIZE / 100)%10)), - ('0' + ((SIZE / 10)%10)), - ('0' + (SIZE % 10)), - ']', -#ifdef KEY - ' ','k','e','y','[', KEY, ']', -#endif - '\0'}; - -#ifdef __CLASSIC_C__ -int main(argc, argv) int argc; char *argv[]; -#else -int main(int argc, char *argv[]) -#endif -{ - int require = 0; - require += info_size[argc]; - (void)argv; - return require; -} diff --git a/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CheckTypeSize/LONG_LIBZIP.bin b/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CheckTypeSize/LONG_LIBZIP.bin deleted file mode 100755 index cd05fe337c0f81343b73b6d96a009a400c380208..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1166 zcmaJ=&2G~`5T0E-iIcTsw-r?*fwWG0s1#WO3FW}4J^(@pcmRYPC*1}oj&1Bse-OfH zsrWndFx)xt1iTNkb}ChB!IF1oXTF*F#-4$&SP%dpoB9Y~M9Y$tBT~W$NJ$fI`y?!) zph&{3c$>-~%f)ddP9Ai_d|CuW^j;LfR7fEIz!??pe~5OLr;|XOMiQuIcY%NgKq+XN zMm4=bGD2yiNyr7gpv_IKB>rlpGZauCtv{sQT!=-QpHXNAg$#2Ejb0E$$zha>i42aG z$wWqJ63B2I3j%kj^N+uY!7>2`RBx0fzc7;sH)ayD}< z47ApP;C6Y}W-ibJ|6G-SY=QGhDa`q-g!4_Ez;uNnHzybpV5USSkH;Ls<&Ipf4P zW=>_bYCGAdW}jMsTq(X_62^g3pUOV4=oG+*Yy9c%6d{x(4M>gNp4N=JVs(uxHxq`il&$?pO=H7Xg%7*&S z?^f42GhnxZDy2qrFkRi7vSAPsU_G26wJsaaUOsvCNUiJZ`}jP31Mq{`xGL3zi%>3c zER6vhFXOpaFVn!jcJb0o4z?#@9D7%5<)z0WkJDs2=q#48jE=*2DF*gpS#6m&jni=$ q7lW-NO=KQsS(Hq@qfDkzA_sOZjs%YRM0oNn6UD$NqG{rZQ~4KeVK}z{ diff --git a/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CheckTypeSize/LONG_LIBZIP.c b/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CheckTypeSize/LONG_LIBZIP.c deleted file mode 100644 index 7af5b7f..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CheckTypeSize/LONG_LIBZIP.c +++ /dev/null @@ -1,46 +0,0 @@ -#include -#include -#include - - -#undef KEY -#if defined(__i386) -# define KEY '_','_','i','3','8','6' -#elif defined(__x86_64) -# define KEY '_','_','x','8','6','_','6','4' -#elif defined(__ppc__) -# define KEY '_','_','p','p','c','_','_' -#elif defined(__ppc64__) -# define KEY '_','_','p','p','c','6','4','_','_' -#elif defined(__aarch64__) -# define KEY '_','_','a','a','r','c','h','6','4','_','_' -#elif defined(__ARM_ARCH_7A__) -# define KEY '_','_','A','R','M','_','A','R','C','H','_','7','A','_','_' -#elif defined(__ARM_ARCH_7S__) -# define KEY '_','_','A','R','M','_','A','R','C','H','_','7','S','_','_' -#endif - -#define SIZE (sizeof(long)) -char info_size[] = {'I', 'N', 'F', 'O', ':', 's','i','z','e','[', - ('0' + ((SIZE / 10000)%10)), - ('0' + ((SIZE / 1000)%10)), - ('0' + ((SIZE / 100)%10)), - ('0' + ((SIZE / 10)%10)), - ('0' + (SIZE % 10)), - ']', -#ifdef KEY - ' ','k','e','y','[', KEY, ']', -#endif - '\0'}; - -#ifdef __CLASSIC_C__ -int main(argc, argv) int argc; char *argv[]; -#else -int main(int argc, char *argv[]) -#endif -{ - int require = 0; - require += info_size[argc]; - (void)argv; - return require; -} diff --git a/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CheckTypeSize/LONG_LONG_LIBZIP.bin b/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CheckTypeSize/LONG_LONG_LIBZIP.bin deleted file mode 100755 index 517ed5ae5708da750a0c39f6388e1d169cb899e8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1166 zcmaJ=&2G~`5T0E-iIcTsw-r?*fwWG0s1#X(ON2Pp2S5k`4}g&4q}$-cv5md%4?-j@ z6@Oa2Iej=Y1TTnI34_l?6sfVFdLoJbC#+Y4^^ za#6@M7hvDL;Zo%$WuA*fg41ph@ChSY=cnG)!C~wpv6j0le88o?<7%98ZSLwmxDBrJ z#*msQU`P!VWJr~xiE495f$RI!a9h0P!D@Ah2@HS7ZF7USrQ6{h-Y#9HFyNZpq4btbNH#2da{+pnyMpZVA~V5H_$ z3@xgVrb`)qBycVj4;Qe!Gh3$uoB6-NxlkUsu2Nu630dNlRWaCerPb#P3p8xT|1j$V zeyxqlRUK%o>kvL^Hp7I9oc+WH$)-dtNK;+O)Vgdud->$mBekxt@8k3E4Zsg#E<#!2 zSQ-O1F5|gZFVn!jcJb0o4z?#@9D7%5<)z0WkJDs2=q$=uM#o`Xih;c-t1a`UaXJp; qVz8B@iOj<+i;}5#l*u$o -#include -#include - - -#undef KEY -#if defined(__i386) -# define KEY '_','_','i','3','8','6' -#elif defined(__x86_64) -# define KEY '_','_','x','8','6','_','6','4' -#elif defined(__ppc__) -# define KEY '_','_','p','p','c','_','_' -#elif defined(__ppc64__) -# define KEY '_','_','p','p','c','6','4','_','_' -#elif defined(__aarch64__) -# define KEY '_','_','a','a','r','c','h','6','4','_','_' -#elif defined(__ARM_ARCH_7A__) -# define KEY '_','_','A','R','M','_','A','R','C','H','_','7','A','_','_' -#elif defined(__ARM_ARCH_7S__) -# define KEY '_','_','A','R','M','_','A','R','C','H','_','7','S','_','_' -#endif - -#define SIZE (sizeof(long long)) -char info_size[] = {'I', 'N', 'F', 'O', ':', 's','i','z','e','[', - ('0' + ((SIZE / 10000)%10)), - ('0' + ((SIZE / 1000)%10)), - ('0' + ((SIZE / 100)%10)), - ('0' + ((SIZE / 10)%10)), - ('0' + (SIZE % 10)), - ']', -#ifdef KEY - ' ','k','e','y','[', KEY, ']', -#endif - '\0'}; - -#ifdef __CLASSIC_C__ -int main(argc, argv) int argc; char *argv[]; -#else -int main(int argc, char *argv[]) -#endif -{ - int require = 0; - require += info_size[argc]; - (void)argv; - return require; -} diff --git a/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CheckTypeSize/SHORT_LIBZIP.bin b/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CheckTypeSize/SHORT_LIBZIP.bin deleted file mode 100755 index 569e5eac7b9de85df4dc31925533241ae13ffeff..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1166 zcmaJ=&2G~`5T0E-iIcTsw-r?*fwWG0s1#WO4mohD4}cH?9snW7Nw>j?V;g(ZAB1pP zD*nzq40jGZ0q?`Col2Eju;iWDnQvykv1cGG76bsural4~(Xu4vh?Fn_Qqn}*J_(B` zD3UNM-lj6ha&a7qlLy@}pB6z8y%$9=6%xola7KmuAEKS*=_C-Rkp!yQT_B(VPzsu+ zQB7}knx+7h;j-XB3)2A;VlkqZb5Gav0@eB7>u4 zGLcc51Tq}Qg1{ZIC?&)_%yW@QaM~>bK4C=b{M5TTIE;NHR=K;v2VCkquEr_X=C1C8+u%BH z45^6%hSWeohEzG4s5XZbxV}#fx5Zl?tX7wp!0>n6HaB=%x*gu(?WM~U23(VyoXuPd z1Fdx+xLw}0nG5v5KUd`+Ti|?B3UfXy;e1mkuwR7eYlglv@53INR~SVPIP{5c&N%Un znNwM<+D`VV*{2pDSBfu~gmK{1r?OA|t(l*_!#sVh&crp2c*D1A`;`^(Gavf~jMSWp zp+yzabScA+1kR=6;R2R-X6sa7GygX@7s>(6@xujT7AB-K*MJI53@et z*V?FD)q%!JKDU4|=L_n -#include -#include - - -#undef KEY -#if defined(__i386) -# define KEY '_','_','i','3','8','6' -#elif defined(__x86_64) -# define KEY '_','_','x','8','6','_','6','4' -#elif defined(__ppc__) -# define KEY '_','_','p','p','c','_','_' -#elif defined(__ppc64__) -# define KEY '_','_','p','p','c','6','4','_','_' -#elif defined(__aarch64__) -# define KEY '_','_','a','a','r','c','h','6','4','_','_' -#elif defined(__ARM_ARCH_7A__) -# define KEY '_','_','A','R','M','_','A','R','C','H','_','7','A','_','_' -#elif defined(__ARM_ARCH_7S__) -# define KEY '_','_','A','R','M','_','A','R','C','H','_','7','S','_','_' -#endif - -#define SIZE (sizeof(short)) -char info_size[] = {'I', 'N', 'F', 'O', ':', 's','i','z','e','[', - ('0' + ((SIZE / 10000)%10)), - ('0' + ((SIZE / 1000)%10)), - ('0' + ((SIZE / 100)%10)), - ('0' + ((SIZE / 10)%10)), - ('0' + (SIZE % 10)), - ']', -#ifdef KEY - ' ','k','e','y','[', KEY, ']', -#endif - '\0'}; - -#ifdef __CLASSIC_C__ -int main(argc, argv) int argc; char *argv[]; -#else -int main(int argc, char *argv[]) -#endif -{ - int require = 0; - require += info_size[argc]; - (void)argv; - return require; -} diff --git a/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CheckTypeSize/SIZEOF_OFF_T.bin b/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CheckTypeSize/SIZEOF_OFF_T.bin deleted file mode 100755 index 517ed5ae5708da750a0c39f6388e1d169cb899e8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1166 zcmaJ=&2G~`5T0E-iIcTsw-r?*fwWG0s1#X(ON2Pp2S5k`4}g&4q}$-cv5md%4?-j@ z6@Oa2Iej=Y1TTnI34_l?6sfVFdLoJbC#+Y4^^ za#6@M7hvDL;Zo%$WuA*fg41ph@ChSY=cnG)!C~wpv6j0le88o?<7%98ZSLwmxDBrJ z#*msQU`P!VWJr~xiE495f$RI!a9h0P!D@Ah2@HS7ZF7USrQ6{h-Y#9HFyNZpq4btbNH#2da{+pnyMpZVA~V5H_$ z3@xgVrb`)qBycVj4;Qe!Gh3$uoB6-NxlkUsu2Nu630dNlRWaCerPb#P3p8xT|1j$V zeyxqlRUK%o>kvL^Hp7I9oc+WH$)-dtNK;+O)Vgdud->$mBekxt@8k3E4Zsg#E<#!2 zSQ-O1F5|gZFVn!jcJb0o4z?#@9D7%5<)z0WkJDs2=q$=uM#o`Xih;c-t1a`UaXJp; qVz8B@iOj<+i;}5#l*u$o -#include -#include - - -#undef KEY -#if defined(__i386) -# define KEY '_','_','i','3','8','6' -#elif defined(__x86_64) -# define KEY '_','_','x','8','6','_','6','4' -#elif defined(__ppc__) -# define KEY '_','_','p','p','c','_','_' -#elif defined(__ppc64__) -# define KEY '_','_','p','p','c','6','4','_','_' -#elif defined(__aarch64__) -# define KEY '_','_','a','a','r','c','h','6','4','_','_' -#elif defined(__ARM_ARCH_7A__) -# define KEY '_','_','A','R','M','_','A','R','C','H','_','7','A','_','_' -#elif defined(__ARM_ARCH_7S__) -# define KEY '_','_','A','R','M','_','A','R','C','H','_','7','S','_','_' -#endif - -#define SIZE (sizeof(off_t)) -char info_size[] = {'I', 'N', 'F', 'O', ':', 's','i','z','e','[', - ('0' + ((SIZE / 10000)%10)), - ('0' + ((SIZE / 1000)%10)), - ('0' + ((SIZE / 100)%10)), - ('0' + ((SIZE / 10)%10)), - ('0' + (SIZE % 10)), - ']', -#ifdef KEY - ' ','k','e','y','[', KEY, ']', -#endif - '\0'}; - -#ifdef __CLASSIC_C__ -int main(argc, argv) int argc; char *argv[]; -#else -int main(int argc, char *argv[]) -#endif -{ - int require = 0; - require += info_size[argc]; - (void)argv; - return require; -} diff --git a/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CheckTypeSize/SIZEOF_SIZE_T.bin b/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CheckTypeSize/SIZEOF_SIZE_T.bin deleted file mode 100755 index cd05fe337c0f81343b73b6d96a009a400c380208..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1166 zcmaJ=&2G~`5T0E-iIcTsw-r?*fwWG0s1#WO3FW}4J^(@pcmRYPC*1}oj&1Bse-OfH zsrWndFx)xt1iTNkb}ChB!IF1oXTF*F#-4$&SP%dpoB9Y~M9Y$tBT~W$NJ$fI`y?!) zph&{3c$>-~%f)ddP9Ai_d|CuW^j;LfR7fEIz!??pe~5OLr;|XOMiQuIcY%NgKq+XN zMm4=bGD2yiNyr7gpv_IKB>rlpGZauCtv{sQT!=-QpHXNAg$#2Ejb0E$$zha>i42aG z$wWqJ63B2I3j%kj^N+uY!7>2`RBx0fzc7;sH)ayD}< z47ApP;C6Y}W-ibJ|6G-SY=QGhDa`q-g!4_Ez;uNnHzybpV5USSkH;Ls<&Ipf4P zW=>_bYCGAdW}jMsTq(X_62^g3pUOV4=oG+*Yy9c%6d{x(4M>gNp4N=JVs(uxHxq`il&$?pO=H7Xg%7*&S z?^f42GhnxZDy2qrFkRi7vSAPsU_G26wJsaaUOsvCNUiJZ`}jP31Mq{`xGL3zi%>3c zER6vhFXOpaFVn!jcJb0o4z?#@9D7%5<)z0WkJDs2=q#48jE=*2DF*gpS#6m&jni=$ q7lW-NO=KQsS(Hq@qfDkzA_sOZjs%YRM0oNn6UD$NqG{rZQ~4KeVK}z{ diff --git a/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CheckTypeSize/SIZEOF_SIZE_T.c b/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CheckTypeSize/SIZEOF_SIZE_T.c deleted file mode 100644 index f7d214a..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CheckTypeSize/SIZEOF_SIZE_T.c +++ /dev/null @@ -1,46 +0,0 @@ -#include -#include -#include - - -#undef KEY -#if defined(__i386) -# define KEY '_','_','i','3','8','6' -#elif defined(__x86_64) -# define KEY '_','_','x','8','6','_','6','4' -#elif defined(__ppc__) -# define KEY '_','_','p','p','c','_','_' -#elif defined(__ppc64__) -# define KEY '_','_','p','p','c','6','4','_','_' -#elif defined(__aarch64__) -# define KEY '_','_','a','a','r','c','h','6','4','_','_' -#elif defined(__ARM_ARCH_7A__) -# define KEY '_','_','A','R','M','_','A','R','C','H','_','7','A','_','_' -#elif defined(__ARM_ARCH_7S__) -# define KEY '_','_','A','R','M','_','A','R','C','H','_','7','S','_','_' -#endif - -#define SIZE (sizeof(size_t)) -char info_size[] = {'I', 'N', 'F', 'O', ':', 's','i','z','e','[', - ('0' + ((SIZE / 10000)%10)), - ('0' + ((SIZE / 1000)%10)), - ('0' + ((SIZE / 100)%10)), - ('0' + ((SIZE / 10)%10)), - ('0' + (SIZE % 10)), - ']', -#ifdef KEY - ' ','k','e','y','[', KEY, ']', -#endif - '\0'}; - -#ifdef __CLASSIC_C__ -int main(argc, argv) int argc; char *argv[]; -#else -int main(int argc, char *argv[]) -#endif -{ - int require = 0; - require += info_size[argc]; - (void)argv; - return require; -} diff --git a/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CheckTypeSize/UINT16_T_LIBZIP.bin b/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CheckTypeSize/UINT16_T_LIBZIP.bin deleted file mode 100755 index 569e5eac7b9de85df4dc31925533241ae13ffeff..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1166 zcmaJ=&2G~`5T0E-iIcTsw-r?*fwWG0s1#WO4mohD4}cH?9snW7Nw>j?V;g(ZAB1pP zD*nzq40jGZ0q?`Col2Eju;iWDnQvykv1cGG76bsural4~(Xu4vh?Fn_Qqn}*J_(B` zD3UNM-lj6ha&a7qlLy@}pB6z8y%$9=6%xola7KmuAEKS*=_C-Rkp!yQT_B(VPzsu+ zQB7}knx+7h;j-XB3)2A;VlkqZb5Gav0@eB7>u4 zGLcc51Tq}Qg1{ZIC?&)_%yW@QaM~>bK4C=b{M5TTIE;NHR=K;v2VCkquEr_X=C1C8+u%BH z45^6%hSWeohEzG4s5XZbxV}#fx5Zl?tX7wp!0>n6HaB=%x*gu(?WM~U23(VyoXuPd z1Fdx+xLw}0nG5v5KUd`+Ti|?B3UfXy;e1mkuwR7eYlglv@53INR~SVPIP{5c&N%Un znNwM<+D`VV*{2pDSBfu~gmK{1r?OA|t(l*_!#sVh&crp2c*D1A`;`^(Gavf~jMSWp zp+yzabScA+1kR=6;R2R-X6sa7GygX@7s>(6@xujT7AB-K*MJI53@et z*V?FD)q%!JKDU4|=L_n -#include -#include - - -#undef KEY -#if defined(__i386) -# define KEY '_','_','i','3','8','6' -#elif defined(__x86_64) -# define KEY '_','_','x','8','6','_','6','4' -#elif defined(__ppc__) -# define KEY '_','_','p','p','c','_','_' -#elif defined(__ppc64__) -# define KEY '_','_','p','p','c','6','4','_','_' -#elif defined(__aarch64__) -# define KEY '_','_','a','a','r','c','h','6','4','_','_' -#elif defined(__ARM_ARCH_7A__) -# define KEY '_','_','A','R','M','_','A','R','C','H','_','7','A','_','_' -#elif defined(__ARM_ARCH_7S__) -# define KEY '_','_','A','R','M','_','A','R','C','H','_','7','S','_','_' -#endif - -#define SIZE (sizeof(uint16_t)) -char info_size[] = {'I', 'N', 'F', 'O', ':', 's','i','z','e','[', - ('0' + ((SIZE / 10000)%10)), - ('0' + ((SIZE / 1000)%10)), - ('0' + ((SIZE / 100)%10)), - ('0' + ((SIZE / 10)%10)), - ('0' + (SIZE % 10)), - ']', -#ifdef KEY - ' ','k','e','y','[', KEY, ']', -#endif - '\0'}; - -#ifdef __CLASSIC_C__ -int main(argc, argv) int argc; char *argv[]; -#else -int main(int argc, char *argv[]) -#endif -{ - int require = 0; - require += info_size[argc]; - (void)argv; - return require; -} diff --git a/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CheckTypeSize/UINT32_T_LIBZIP.bin b/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CheckTypeSize/UINT32_T_LIBZIP.bin deleted file mode 100755 index cd05fe337c0f81343b73b6d96a009a400c380208..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1166 zcmaJ=&2G~`5T0E-iIcTsw-r?*fwWG0s1#WO3FW}4J^(@pcmRYPC*1}oj&1Bse-OfH zsrWndFx)xt1iTNkb}ChB!IF1oXTF*F#-4$&SP%dpoB9Y~M9Y$tBT~W$NJ$fI`y?!) zph&{3c$>-~%f)ddP9Ai_d|CuW^j;LfR7fEIz!??pe~5OLr;|XOMiQuIcY%NgKq+XN zMm4=bGD2yiNyr7gpv_IKB>rlpGZauCtv{sQT!=-QpHXNAg$#2Ejb0E$$zha>i42aG z$wWqJ63B2I3j%kj^N+uY!7>2`RBx0fzc7;sH)ayD}< z47ApP;C6Y}W-ibJ|6G-SY=QGhDa`q-g!4_Ez;uNnHzybpV5USSkH;Ls<&Ipf4P zW=>_bYCGAdW}jMsTq(X_62^g3pUOV4=oG+*Yy9c%6d{x(4M>gNp4N=JVs(uxHxq`il&$?pO=H7Xg%7*&S z?^f42GhnxZDy2qrFkRi7vSAPsU_G26wJsaaUOsvCNUiJZ`}jP31Mq{`xGL3zi%>3c zER6vhFXOpaFVn!jcJb0o4z?#@9D7%5<)z0WkJDs2=q#48jE=*2DF*gpS#6m&jni=$ q7lW-NO=KQsS(Hq@qfDkzA_sOZjs%YRM0oNn6UD$NqG{rZQ~4KeVK}z{ diff --git a/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CheckTypeSize/UINT32_T_LIBZIP.c b/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CheckTypeSize/UINT32_T_LIBZIP.c deleted file mode 100644 index 8a51cda..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CheckTypeSize/UINT32_T_LIBZIP.c +++ /dev/null @@ -1,46 +0,0 @@ -#include -#include -#include - - -#undef KEY -#if defined(__i386) -# define KEY '_','_','i','3','8','6' -#elif defined(__x86_64) -# define KEY '_','_','x','8','6','_','6','4' -#elif defined(__ppc__) -# define KEY '_','_','p','p','c','_','_' -#elif defined(__ppc64__) -# define KEY '_','_','p','p','c','6','4','_','_' -#elif defined(__aarch64__) -# define KEY '_','_','a','a','r','c','h','6','4','_','_' -#elif defined(__ARM_ARCH_7A__) -# define KEY '_','_','A','R','M','_','A','R','C','H','_','7','A','_','_' -#elif defined(__ARM_ARCH_7S__) -# define KEY '_','_','A','R','M','_','A','R','C','H','_','7','S','_','_' -#endif - -#define SIZE (sizeof(uint32_t)) -char info_size[] = {'I', 'N', 'F', 'O', ':', 's','i','z','e','[', - ('0' + ((SIZE / 10000)%10)), - ('0' + ((SIZE / 1000)%10)), - ('0' + ((SIZE / 100)%10)), - ('0' + ((SIZE / 10)%10)), - ('0' + (SIZE % 10)), - ']', -#ifdef KEY - ' ','k','e','y','[', KEY, ']', -#endif - '\0'}; - -#ifdef __CLASSIC_C__ -int main(argc, argv) int argc; char *argv[]; -#else -int main(int argc, char *argv[]) -#endif -{ - int require = 0; - require += info_size[argc]; - (void)argv; - return require; -} diff --git a/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CheckTypeSize/UINT64_T_LIBZIP.bin b/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CheckTypeSize/UINT64_T_LIBZIP.bin deleted file mode 100755 index 517ed5ae5708da750a0c39f6388e1d169cb899e8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1166 zcmaJ=&2G~`5T0E-iIcTsw-r?*fwWG0s1#X(ON2Pp2S5k`4}g&4q}$-cv5md%4?-j@ z6@Oa2Iej=Y1TTnI34_l?6sfVFdLoJbC#+Y4^^ za#6@M7hvDL;Zo%$WuA*fg41ph@ChSY=cnG)!C~wpv6j0le88o?<7%98ZSLwmxDBrJ z#*msQU`P!VWJr~xiE495f$RI!a9h0P!D@Ah2@HS7ZF7USrQ6{h-Y#9HFyNZpq4btbNH#2da{+pnyMpZVA~V5H_$ z3@xgVrb`)qBycVj4;Qe!Gh3$uoB6-NxlkUsu2Nu630dNlRWaCerPb#P3p8xT|1j$V zeyxqlRUK%o>kvL^Hp7I9oc+WH$)-dtNK;+O)Vgdud->$mBekxt@8k3E4Zsg#E<#!2 zSQ-O1F5|gZFVn!jcJb0o4z?#@9D7%5<)z0WkJDs2=q$=uM#o`Xih;c-t1a`UaXJp; qVz8B@iOj<+i;}5#l*u$o -#include -#include - - -#undef KEY -#if defined(__i386) -# define KEY '_','_','i','3','8','6' -#elif defined(__x86_64) -# define KEY '_','_','x','8','6','_','6','4' -#elif defined(__ppc__) -# define KEY '_','_','p','p','c','_','_' -#elif defined(__ppc64__) -# define KEY '_','_','p','p','c','6','4','_','_' -#elif defined(__aarch64__) -# define KEY '_','_','a','a','r','c','h','6','4','_','_' -#elif defined(__ARM_ARCH_7A__) -# define KEY '_','_','A','R','M','_','A','R','C','H','_','7','A','_','_' -#elif defined(__ARM_ARCH_7S__) -# define KEY '_','_','A','R','M','_','A','R','C','H','_','7','S','_','_' -#endif - -#define SIZE (sizeof(uint64_t)) -char info_size[] = {'I', 'N', 'F', 'O', ':', 's','i','z','e','[', - ('0' + ((SIZE / 10000)%10)), - ('0' + ((SIZE / 1000)%10)), - ('0' + ((SIZE / 100)%10)), - ('0' + ((SIZE / 10)%10)), - ('0' + (SIZE % 10)), - ']', -#ifdef KEY - ' ','k','e','y','[', KEY, ']', -#endif - '\0'}; - -#ifdef __CLASSIC_C__ -int main(argc, argv) int argc; char *argv[]; -#else -int main(int argc, char *argv[]) -#endif -{ - int require = 0; - require += info_size[argc]; - (void)argv; - return require; -} diff --git a/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CheckTypeSize/UINT8_T_LIBZIP.bin b/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CheckTypeSize/UINT8_T_LIBZIP.bin deleted file mode 100755 index e69defdcd65525f04edfa1e0cf45e06e8ca4ab46..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1166 zcmaJ=&2G~`5T0E-iIcTsw-r?*fwWG0s1#YEmmE0N2S5k`4}g&Cq?_Qxv5mdy4?;LC z6@OrlpGZauCtv{sQT!=-QpHpZCg$#2Ejb0E$$#Im6u?!~5 zWGtgJ31m2m1%Z2FQH=8_lOj>@@f@L8o%L?nk#{i3g#hzz-zY2uSUY#diR2i%z2KHF z7lll70rve{E>&*4%yW@QaM~>bK4C=b{M5TTIE;NHR=K;v2VCkquEr_X=C1C8+u%BH z45^6%hSWeohEzG4s5XZbxV}#fx5Zl?tX5Z;!0>n6HaB=%x*gu(?WM~U23(VyoXuPd z1Fdx+xLw}0nG5vLzfk2LTi|?B3UfXy;e1mkuwR7eYlglv@53INR~SVPIrNEd&N%Un znNwM<+D`VV*{2pDSBfu~gmK{1r?OA|t(l*_!#sVh&crp2c*D1A`?VGEGavf~jMSWp zp+yzabScA+1kRP>;R2R-X6sa7GygX@m&yY-RSN7WAtg>(6@xujT7AB-K*MJI53@et z*V?FD)q%!JKDU4|=L_n<9zd-)U)8nNkv#waRxpz^evZ4O- zyVZ5h4A`xpN~sYYOjq}&Y#4+DSPy4Nt;@!WmWjy!lWg6HwE?%0+!S* -#include -#include - - -#undef KEY -#if defined(__i386) -# define KEY '_','_','i','3','8','6' -#elif defined(__x86_64) -# define KEY '_','_','x','8','6','_','6','4' -#elif defined(__ppc__) -# define KEY '_','_','p','p','c','_','_' -#elif defined(__ppc64__) -# define KEY '_','_','p','p','c','6','4','_','_' -#elif defined(__aarch64__) -# define KEY '_','_','a','a','r','c','h','6','4','_','_' -#elif defined(__ARM_ARCH_7A__) -# define KEY '_','_','A','R','M','_','A','R','C','H','_','7','A','_','_' -#elif defined(__ARM_ARCH_7S__) -# define KEY '_','_','A','R','M','_','A','R','C','H','_','7','S','_','_' -#endif - -#define SIZE (sizeof(uint8_t)) -char info_size[] = {'I', 'N', 'F', 'O', ':', 's','i','z','e','[', - ('0' + ((SIZE / 10000)%10)), - ('0' + ((SIZE / 1000)%10)), - ('0' + ((SIZE / 100)%10)), - ('0' + ((SIZE / 10)%10)), - ('0' + (SIZE % 10)), - ']', -#ifdef KEY - ' ','k','e','y','[', KEY, ']', -#endif - '\0'}; - -#ifdef __CLASSIC_C__ -int main(argc, argv) int argc; char *argv[]; -#else -int main(int argc, char *argv[]) -#endif -{ - int require = 0; - require += info_size[argc]; - (void)argv; - return require; -} diff --git a/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CheckTypeSize/__INT16_LIBZIP.c b/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CheckTypeSize/__INT16_LIBZIP.c deleted file mode 100644 index fe73818..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CheckTypeSize/__INT16_LIBZIP.c +++ /dev/null @@ -1,46 +0,0 @@ -#include -#include -#include - - -#undef KEY -#if defined(__i386) -# define KEY '_','_','i','3','8','6' -#elif defined(__x86_64) -# define KEY '_','_','x','8','6','_','6','4' -#elif defined(__ppc__) -# define KEY '_','_','p','p','c','_','_' -#elif defined(__ppc64__) -# define KEY '_','_','p','p','c','6','4','_','_' -#elif defined(__aarch64__) -# define KEY '_','_','a','a','r','c','h','6','4','_','_' -#elif defined(__ARM_ARCH_7A__) -# define KEY '_','_','A','R','M','_','A','R','C','H','_','7','A','_','_' -#elif defined(__ARM_ARCH_7S__) -# define KEY '_','_','A','R','M','_','A','R','C','H','_','7','S','_','_' -#endif - -#define SIZE (sizeof(__int16)) -char info_size[] = {'I', 'N', 'F', 'O', ':', 's','i','z','e','[', - ('0' + ((SIZE / 10000)%10)), - ('0' + ((SIZE / 1000)%10)), - ('0' + ((SIZE / 100)%10)), - ('0' + ((SIZE / 10)%10)), - ('0' + (SIZE % 10)), - ']', -#ifdef KEY - ' ','k','e','y','[', KEY, ']', -#endif - '\0'}; - -#ifdef __CLASSIC_C__ -int main(argc, argv) int argc; char *argv[]; -#else -int main(int argc, char *argv[]) -#endif -{ - int require = 0; - require += info_size[argc]; - (void)argv; - return require; -} diff --git a/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CheckTypeSize/__INT32_LIBZIP.c b/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CheckTypeSize/__INT32_LIBZIP.c deleted file mode 100644 index 5bbafc9..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CheckTypeSize/__INT32_LIBZIP.c +++ /dev/null @@ -1,46 +0,0 @@ -#include -#include -#include - - -#undef KEY -#if defined(__i386) -# define KEY '_','_','i','3','8','6' -#elif defined(__x86_64) -# define KEY '_','_','x','8','6','_','6','4' -#elif defined(__ppc__) -# define KEY '_','_','p','p','c','_','_' -#elif defined(__ppc64__) -# define KEY '_','_','p','p','c','6','4','_','_' -#elif defined(__aarch64__) -# define KEY '_','_','a','a','r','c','h','6','4','_','_' -#elif defined(__ARM_ARCH_7A__) -# define KEY '_','_','A','R','M','_','A','R','C','H','_','7','A','_','_' -#elif defined(__ARM_ARCH_7S__) -# define KEY '_','_','A','R','M','_','A','R','C','H','_','7','S','_','_' -#endif - -#define SIZE (sizeof(__int32)) -char info_size[] = {'I', 'N', 'F', 'O', ':', 's','i','z','e','[', - ('0' + ((SIZE / 10000)%10)), - ('0' + ((SIZE / 1000)%10)), - ('0' + ((SIZE / 100)%10)), - ('0' + ((SIZE / 10)%10)), - ('0' + (SIZE % 10)), - ']', -#ifdef KEY - ' ','k','e','y','[', KEY, ']', -#endif - '\0'}; - -#ifdef __CLASSIC_C__ -int main(argc, argv) int argc; char *argv[]; -#else -int main(int argc, char *argv[]) -#endif -{ - int require = 0; - require += info_size[argc]; - (void)argv; - return require; -} diff --git a/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CheckTypeSize/__INT64_LIBZIP.c b/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CheckTypeSize/__INT64_LIBZIP.c deleted file mode 100644 index 6bce82c..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CheckTypeSize/__INT64_LIBZIP.c +++ /dev/null @@ -1,46 +0,0 @@ -#include -#include -#include - - -#undef KEY -#if defined(__i386) -# define KEY '_','_','i','3','8','6' -#elif defined(__x86_64) -# define KEY '_','_','x','8','6','_','6','4' -#elif defined(__ppc__) -# define KEY '_','_','p','p','c','_','_' -#elif defined(__ppc64__) -# define KEY '_','_','p','p','c','6','4','_','_' -#elif defined(__aarch64__) -# define KEY '_','_','a','a','r','c','h','6','4','_','_' -#elif defined(__ARM_ARCH_7A__) -# define KEY '_','_','A','R','M','_','A','R','C','H','_','7','A','_','_' -#elif defined(__ARM_ARCH_7S__) -# define KEY '_','_','A','R','M','_','A','R','C','H','_','7','S','_','_' -#endif - -#define SIZE (sizeof(__int64)) -char info_size[] = {'I', 'N', 'F', 'O', ':', 's','i','z','e','[', - ('0' + ((SIZE / 10000)%10)), - ('0' + ((SIZE / 1000)%10)), - ('0' + ((SIZE / 100)%10)), - ('0' + ((SIZE / 10)%10)), - ('0' + (SIZE % 10)), - ']', -#ifdef KEY - ' ','k','e','y','[', KEY, ']', -#endif - '\0'}; - -#ifdef __CLASSIC_C__ -int main(argc, argv) int argc; char *argv[]; -#else -int main(int argc, char *argv[]) -#endif -{ - int require = 0; - require += info_size[argc]; - (void)argv; - return require; -} diff --git a/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CheckTypeSize/__INT8_LIBZIP.c b/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CheckTypeSize/__INT8_LIBZIP.c deleted file mode 100644 index f239fef..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/CheckTypeSize/__INT8_LIBZIP.c +++ /dev/null @@ -1,46 +0,0 @@ -#include -#include -#include - - -#undef KEY -#if defined(__i386) -# define KEY '_','_','i','3','8','6' -#elif defined(__x86_64) -# define KEY '_','_','x','8','6','_','6','4' -#elif defined(__ppc__) -# define KEY '_','_','p','p','c','_','_' -#elif defined(__ppc64__) -# define KEY '_','_','p','p','c','6','4','_','_' -#elif defined(__aarch64__) -# define KEY '_','_','a','a','r','c','h','6','4','_','_' -#elif defined(__ARM_ARCH_7A__) -# define KEY '_','_','A','R','M','_','A','R','C','H','_','7','A','_','_' -#elif defined(__ARM_ARCH_7S__) -# define KEY '_','_','A','R','M','_','A','R','C','H','_','7','S','_','_' -#endif - -#define SIZE (sizeof(__int8)) -char info_size[] = {'I', 'N', 'F', 'O', ':', 's','i','z','e','[', - ('0' + ((SIZE / 10000)%10)), - ('0' + ((SIZE / 1000)%10)), - ('0' + ((SIZE / 100)%10)), - ('0' + ((SIZE / 10)%10)), - ('0' + (SIZE % 10)), - ']', -#ifdef KEY - ' ','k','e','y','[', KEY, ']', -#endif - '\0'}; - -#ifdef __CLASSIC_C__ -int main(argc, argv) int argc; char *argv[]; -#else -int main(int argc, char *argv[]) -#endif -{ - int require = 0; - require += info_size[argc]; - (void)argv; - return require; -} diff --git a/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/Export/ab63c3a9eda5ec24a2943b813039874c/libzip-targets-noconfig.cmake b/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/Export/ab63c3a9eda5ec24a2943b813039874c/libzip-targets-noconfig.cmake deleted file mode 100644 index 8316d31..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/Export/ab63c3a9eda5ec24a2943b813039874c/libzip-targets-noconfig.cmake +++ /dev/null @@ -1,46 +0,0 @@ -#---------------------------------------------------------------- -# Generated CMake target import file. -#---------------------------------------------------------------- - -# Commands may need to know the format version. -set(CMAKE_IMPORT_FILE_VERSION 1) - -# Import target "libzip::zip" for configuration "" -set_property(TARGET libzip::zip APPEND PROPERTY IMPORTED_CONFIGURATIONS NOCONFIG) -set_target_properties(libzip::zip PROPERTIES - IMPORTED_LINK_INTERFACE_LANGUAGES_NOCONFIG "C" - IMPORTED_LOCATION_NOCONFIG "${_IMPORT_PREFIX}/lib/libzip.a" - ) - -list(APPEND _cmake_import_check_targets libzip::zip ) -list(APPEND _cmake_import_check_files_for_libzip::zip "${_IMPORT_PREFIX}/lib/libzip.a" ) - -# Import target "libzip::zipcmp" for configuration "" -set_property(TARGET libzip::zipcmp APPEND PROPERTY IMPORTED_CONFIGURATIONS NOCONFIG) -set_target_properties(libzip::zipcmp PROPERTIES - IMPORTED_LOCATION_NOCONFIG "${_IMPORT_PREFIX}/bin/zipcmp.js" - ) - -list(APPEND _cmake_import_check_targets libzip::zipcmp ) -list(APPEND _cmake_import_check_files_for_libzip::zipcmp "${_IMPORT_PREFIX}/bin/zipcmp.js" ) - -# Import target "libzip::zipmerge" for configuration "" -set_property(TARGET libzip::zipmerge APPEND PROPERTY IMPORTED_CONFIGURATIONS NOCONFIG) -set_target_properties(libzip::zipmerge PROPERTIES - IMPORTED_LOCATION_NOCONFIG "${_IMPORT_PREFIX}/bin/zipmerge.js" - ) - -list(APPEND _cmake_import_check_targets libzip::zipmerge ) -list(APPEND _cmake_import_check_files_for_libzip::zipmerge "${_IMPORT_PREFIX}/bin/zipmerge.js" ) - -# Import target "libzip::ziptool" for configuration "" -set_property(TARGET libzip::ziptool APPEND PROPERTY IMPORTED_CONFIGURATIONS NOCONFIG) -set_target_properties(libzip::ziptool PROPERTIES - IMPORTED_LOCATION_NOCONFIG "${_IMPORT_PREFIX}/bin/ziptool.js" - ) - -list(APPEND _cmake_import_check_targets libzip::ziptool ) -list(APPEND _cmake_import_check_files_for_libzip::ziptool "${_IMPORT_PREFIX}/bin/ziptool.js" ) - -# Commands beyond this point should not need to know the version. -set(CMAKE_IMPORT_FILE_VERSION) diff --git a/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/Export/ab63c3a9eda5ec24a2943b813039874c/libzip-targets.cmake b/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/Export/ab63c3a9eda5ec24a2943b813039874c/libzip-targets.cmake deleted file mode 100644 index 187c985..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/Export/ab63c3a9eda5ec24a2943b813039874c/libzip-targets.cmake +++ /dev/null @@ -1,116 +0,0 @@ -# Generated by CMake - -if("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" LESS 2.8) - message(FATAL_ERROR "CMake >= 2.8.0 required") -endif() -if(CMAKE_VERSION VERSION_LESS "2.8.3") - message(FATAL_ERROR "CMake >= 2.8.3 required") -endif() -cmake_policy(PUSH) -cmake_policy(VERSION 2.8.3...3.26) -#---------------------------------------------------------------- -# Generated CMake target import file. -#---------------------------------------------------------------- - -# Commands may need to know the format version. -set(CMAKE_IMPORT_FILE_VERSION 1) - -# Protect against multiple inclusion, which would fail when already imported targets are added once more. -set(_cmake_targets_defined "") -set(_cmake_targets_not_defined "") -set(_cmake_expected_targets "") -foreach(_cmake_expected_target IN ITEMS libzip::zip libzip::zipcmp libzip::zipmerge libzip::ziptool) - list(APPEND _cmake_expected_targets "${_cmake_expected_target}") - if(TARGET "${_cmake_expected_target}") - list(APPEND _cmake_targets_defined "${_cmake_expected_target}") - else() - list(APPEND _cmake_targets_not_defined "${_cmake_expected_target}") - endif() -endforeach() -unset(_cmake_expected_target) -if(_cmake_targets_defined STREQUAL _cmake_expected_targets) - unset(_cmake_targets_defined) - unset(_cmake_targets_not_defined) - unset(_cmake_expected_targets) - unset(CMAKE_IMPORT_FILE_VERSION) - cmake_policy(POP) - return() -endif() -if(NOT _cmake_targets_defined STREQUAL "") - string(REPLACE ";" ", " _cmake_targets_defined_text "${_cmake_targets_defined}") - string(REPLACE ";" ", " _cmake_targets_not_defined_text "${_cmake_targets_not_defined}") - message(FATAL_ERROR "Some (but not all) targets in this export set were already defined.\nTargets Defined: ${_cmake_targets_defined_text}\nTargets not yet defined: ${_cmake_targets_not_defined_text}\n") -endif() -unset(_cmake_targets_defined) -unset(_cmake_targets_not_defined) -unset(_cmake_expected_targets) - - -# Compute the installation prefix relative to this file. -get_filename_component(_IMPORT_PREFIX "${CMAKE_CURRENT_LIST_FILE}" PATH) -get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) -get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) -get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) -if(_IMPORT_PREFIX STREQUAL "/") - set(_IMPORT_PREFIX "") -endif() - -# Create imported target libzip::zip -add_library(libzip::zip STATIC IMPORTED) - -set_target_properties(libzip::zip PROPERTIES - INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include;${_IMPORT_PREFIX}/include" - INTERFACE_LINK_LIBRARIES "\$" -) - -# Create imported target libzip::zipcmp -add_executable(libzip::zipcmp IMPORTED) - -# Create imported target libzip::zipmerge -add_executable(libzip::zipmerge IMPORTED) - -# Create imported target libzip::ziptool -add_executable(libzip::ziptool IMPORTED) - -if(CMAKE_VERSION VERSION_LESS 2.8.12) - message(FATAL_ERROR "This file relies on consumers using CMake 2.8.12 or greater.") -endif() - -# Load information for each installed configuration. -file(GLOB _cmake_config_files "${CMAKE_CURRENT_LIST_DIR}/libzip-targets-*.cmake") -foreach(_cmake_config_file IN LISTS _cmake_config_files) - include("${_cmake_config_file}") -endforeach() -unset(_cmake_config_file) -unset(_cmake_config_files) - -# Cleanup temporary variables. -set(_IMPORT_PREFIX) - -# Loop over all imported files and verify that they actually exist -foreach(_cmake_target IN LISTS _cmake_import_check_targets) - foreach(_cmake_file IN LISTS "_cmake_import_check_files_for_${_cmake_target}") - if(NOT EXISTS "${_cmake_file}") - message(FATAL_ERROR "The imported target \"${_cmake_target}\" references the file - \"${_cmake_file}\" -but this file does not exist. Possible reasons include: -* The file was deleted, renamed, or moved to another location. -* An install or uninstall procedure did not complete successfully. -* The installation package was faulty and contained - \"${CMAKE_CURRENT_LIST_FILE}\" -but not all the files it references. -") - endif() - endforeach() - unset(_cmake_file) - unset("_cmake_import_check_files_for_${_cmake_target}") -endforeach() -unset(_cmake_target) -unset(_cmake_import_check_targets) - -# This file does not depend on other imported targets which have -# been exported from the same project but in a separate export set. - -# Commands beyond this point should not need to know the version. -set(CMAKE_IMPORT_FILE_VERSION) -cmake_policy(POP) diff --git a/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/Makefile.cmake b/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/Makefile.cmake deleted file mode 100644 index 37fc2d7..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/Makefile.cmake +++ /dev/null @@ -1,209 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.28 - -# The generator used is: -set(CMAKE_DEPENDS_GENERATOR "Unix Makefiles") - -# The top level Makefile was generated from the following files: -set(CMAKE_MAKEFILE_DEPENDS - "CMakeCache.txt" - "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/CMakeLists.txt" - "CMakeFiles/3.28.3/CMakeCCompiler.cmake" - "CMakeFiles/3.28.3/CMakeSystem.cmake" - "CMakeFiles/CheckTypeSize/INT16_T_LIBZIP.c" - "CMakeFiles/CheckTypeSize/INT32_T_LIBZIP.c" - "CMakeFiles/CheckTypeSize/INT64_T_LIBZIP.c" - "CMakeFiles/CheckTypeSize/INT8_T_LIBZIP.c" - "CMakeFiles/CheckTypeSize/INT_LIBZIP.c" - "CMakeFiles/CheckTypeSize/LONG_LIBZIP.c" - "CMakeFiles/CheckTypeSize/LONG_LONG_LIBZIP.c" - "CMakeFiles/CheckTypeSize/SHORT_LIBZIP.c" - "CMakeFiles/CheckTypeSize/SIZEOF_OFF_T.c" - "CMakeFiles/CheckTypeSize/SIZEOF_SIZE_T.c" - "CMakeFiles/CheckTypeSize/UINT16_T_LIBZIP.c" - "CMakeFiles/CheckTypeSize/UINT32_T_LIBZIP.c" - "CMakeFiles/CheckTypeSize/UINT64_T_LIBZIP.c" - "CMakeFiles/CheckTypeSize/UINT8_T_LIBZIP.c" - "CMakeFiles/CheckTypeSize/__INT16_LIBZIP.c" - "CMakeFiles/CheckTypeSize/__INT32_LIBZIP.c" - "CMakeFiles/CheckTypeSize/__INT64_LIBZIP.c" - "CMakeFiles/CheckTypeSize/__INT8_LIBZIP.c" - "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/cmake/Dist.cmake" - "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/cmake/FindMbedTLS.cmake" - "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/cmake/FindNettle.cmake" - "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/cmake/Findzstd.cmake" - "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/config.h.in" - "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/examples/CMakeLists.txt" - "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/CMakeLists.txt" - "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/libzip-config.cmake.in" - "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/libzip.pc.in" - "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/man/CMakeLists.txt" - "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/ossfuzz/CMakeLists.txt" - "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/src/CMakeLists.txt" - "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/zipconf.h.in" - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/cmake/Modules/CheckTypeSize.c.in" - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/cmake/Modules/CheckTypeSize.cmake" - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/cmake/Modules/Platform/Emscripten.cmake" - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/cmake/Modules/TestBigEndian.cmake" - "/usr/share/cmake-3.28/Modules/BasicConfigVersion-AnyNewerVersion.cmake.in" - "/usr/share/cmake-3.28/Modules/CMakeCCompiler.cmake.in" - "/usr/share/cmake-3.28/Modules/CMakeCCompilerABI.c" - "/usr/share/cmake-3.28/Modules/CMakeCInformation.cmake" - "/usr/share/cmake-3.28/Modules/CMakeCommonLanguageInclude.cmake" - "/usr/share/cmake-3.28/Modules/CMakeCompilerIdDetection.cmake" - "/usr/share/cmake-3.28/Modules/CMakeDetermineCCompiler.cmake" - "/usr/share/cmake-3.28/Modules/CMakeDetermineCompileFeatures.cmake" - "/usr/share/cmake-3.28/Modules/CMakeDetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/CMakeDetermineCompilerABI.cmake" - "/usr/share/cmake-3.28/Modules/CMakeDetermineCompilerId.cmake" - "/usr/share/cmake-3.28/Modules/CMakeDetermineSystem.cmake" - "/usr/share/cmake-3.28/Modules/CMakeFindBinUtils.cmake" - "/usr/share/cmake-3.28/Modules/CMakeGenericSystem.cmake" - "/usr/share/cmake-3.28/Modules/CMakeInitializeConfigs.cmake" - "/usr/share/cmake-3.28/Modules/CMakeLanguageInformation.cmake" - "/usr/share/cmake-3.28/Modules/CMakePackageConfigHelpers.cmake" - "/usr/share/cmake-3.28/Modules/CMakeParseImplicitIncludeInfo.cmake" - "/usr/share/cmake-3.28/Modules/CMakeParseImplicitLinkInfo.cmake" - "/usr/share/cmake-3.28/Modules/CMakeParseLibraryArchitecture.cmake" - "/usr/share/cmake-3.28/Modules/CMakeSystem.cmake.in" - "/usr/share/cmake-3.28/Modules/CMakeSystemSpecificInformation.cmake" - "/usr/share/cmake-3.28/Modules/CMakeSystemSpecificInitialize.cmake" - "/usr/share/cmake-3.28/Modules/CMakeTestCCompiler.cmake" - "/usr/share/cmake-3.28/Modules/CMakeTestCompilerCommon.cmake" - "/usr/share/cmake-3.28/Modules/CMakeUnixFindMake.cmake" - "/usr/share/cmake-3.28/Modules/CheckCSourceCompiles.cmake" - "/usr/share/cmake-3.28/Modules/CheckCSourceRuns.cmake" - "/usr/share/cmake-3.28/Modules/CheckCXXSourceCompiles.cmake" - "/usr/share/cmake-3.28/Modules/CheckFunctionExists.cmake" - "/usr/share/cmake-3.28/Modules/CheckIncludeFile.cmake" - "/usr/share/cmake-3.28/Modules/CheckIncludeFileCXX.cmake" - "/usr/share/cmake-3.28/Modules/CheckIncludeFiles.cmake" - "/usr/share/cmake-3.28/Modules/CheckLibraryExists.cmake" - "/usr/share/cmake-3.28/Modules/CheckSourceCompiles.cmake" - "/usr/share/cmake-3.28/Modules/CheckStructHasMember.cmake" - "/usr/share/cmake-3.28/Modules/CheckSymbolExists.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/ADSP-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/ARMCC-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/ARMClang-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/AppleClang-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/Borland-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/Bruce-C-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/CMakeCommonCompilerMacros.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/Clang-C.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/Clang-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/Clang-DetermineCompilerInternal.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/Clang-FindBinUtils.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/Clang.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/Compaq-C-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/Cray-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/CrayClang-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/Embarcadero-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/Fujitsu-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/FujitsuClang-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/GHS-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/GNU-C-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/GNU.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/HP-C-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/IAR-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/IBMCPP-C-DetermineVersionInternal.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/IBMClang-C-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/Intel-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/IntelLLVM-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/LCC-C-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/MSVC-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/NVHPC-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/NVIDIA-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/OpenWatcom-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/OrangeC-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/PGI-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/PathScale-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/SCO-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/SDCC-C-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/SunPro-C-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/TI-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/Tasking-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/TinyCC-C-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/VisualAge-C-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/Watcom-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/XL-C-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/XLClang-C-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/zOS-C-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/FindBZip2.cmake" - "/usr/share/cmake-3.28/Modules/FindGnuTLS.cmake" - "/usr/share/cmake-3.28/Modules/FindLibLZMA.cmake" - "/usr/share/cmake-3.28/Modules/FindOpenSSL.cmake" - "/usr/share/cmake-3.28/Modules/FindPackageHandleStandardArgs.cmake" - "/usr/share/cmake-3.28/Modules/FindPackageMessage.cmake" - "/usr/share/cmake-3.28/Modules/FindPkgConfig.cmake" - "/usr/share/cmake-3.28/Modules/FindZLIB.cmake" - "/usr/share/cmake-3.28/Modules/GNUInstallDirs.cmake" - "/usr/share/cmake-3.28/Modules/Internal/CheckSourceCompiles.cmake" - "/usr/share/cmake-3.28/Modules/Internal/CheckSourceRuns.cmake" - "/usr/share/cmake-3.28/Modules/Internal/FeatureTesting.cmake" - "/usr/share/cmake-3.28/Modules/SelectLibraryConfigurations.cmake" - "/usr/share/cmake-3.28/Modules/WriteBasicConfigVersionFile.cmake" - ) - -# The corresponding makefile is: -set(CMAKE_MAKEFILE_OUTPUTS - "Makefile" - "CMakeFiles/cmake.check_cache" - ) - -# Byproducts of CMake generate step: -set(CMAKE_MAKEFILE_PRODUCTS - "CMakeFiles/3.28.3/CMakeSystem.cmake" - "CMakeFiles/3.28.3/CMakeCCompiler.cmake" - "CMakeFiles/3.28.3/CMakeCCompiler.cmake" - "CMakeFiles/CheckTypeSize/__INT8_LIBZIP.c" - "CMakeFiles/CheckTypeSize/INT8_T_LIBZIP.c" - "CMakeFiles/CheckTypeSize/UINT8_T_LIBZIP.c" - "CMakeFiles/CheckTypeSize/__INT16_LIBZIP.c" - "CMakeFiles/CheckTypeSize/INT16_T_LIBZIP.c" - "CMakeFiles/CheckTypeSize/UINT16_T_LIBZIP.c" - "CMakeFiles/CheckTypeSize/__INT32_LIBZIP.c" - "CMakeFiles/CheckTypeSize/INT32_T_LIBZIP.c" - "CMakeFiles/CheckTypeSize/UINT32_T_LIBZIP.c" - "CMakeFiles/CheckTypeSize/__INT64_LIBZIP.c" - "CMakeFiles/CheckTypeSize/INT64_T_LIBZIP.c" - "CMakeFiles/CheckTypeSize/UINT64_T_LIBZIP.c" - "CMakeFiles/CheckTypeSize/SHORT_LIBZIP.c" - "CMakeFiles/CheckTypeSize/INT_LIBZIP.c" - "CMakeFiles/CheckTypeSize/LONG_LIBZIP.c" - "CMakeFiles/CheckTypeSize/LONG_LONG_LIBZIP.c" - "CMakeFiles/CheckTypeSize/SIZEOF_OFF_T.c" - "CMakeFiles/CheckTypeSize/SIZEOF_SIZE_T.c" - "libzip.pc" - "config.h" - "zipconf.h" - "libzip-config-version.cmake" - "libzip-config.cmake" - "CMakeFiles/CMakeDirectoryInformation.cmake" - "lib/CMakeFiles/CMakeDirectoryInformation.cmake" - "man/CMakeFiles/CMakeDirectoryInformation.cmake" - "src/CMakeFiles/CMakeDirectoryInformation.cmake" - "ossfuzz/CMakeFiles/CMakeDirectoryInformation.cmake" - "examples/CMakeFiles/CMakeDirectoryInformation.cmake" - ) - -# Dependency information for all targets: -set(CMAKE_DEPEND_INFO_FILES - "CMakeFiles/dist.dir/DependInfo.cmake" - "CMakeFiles/distcheck.dir/DependInfo.cmake" - "lib/CMakeFiles/zip.dir/DependInfo.cmake" - "man/CMakeFiles/man.dir/DependInfo.cmake" - "man/CMakeFiles/update-man.dir/DependInfo.cmake" - "man/CMakeFiles/update-html.dir/DependInfo.cmake" - "man/CMakeFiles/update_zip_errors.dir/DependInfo.cmake" - "src/CMakeFiles/zipcmp.dir/DependInfo.cmake" - "src/CMakeFiles/zipmerge.dir/DependInfo.cmake" - "src/CMakeFiles/ziptool.dir/DependInfo.cmake" - "ossfuzz/CMakeFiles/zip_read_file_fuzzer.dir/DependInfo.cmake" - "ossfuzz/CMakeFiles/zip_read_fuzzer.dir/DependInfo.cmake" - "ossfuzz/CMakeFiles/zip_write_encrypt_aes256_file_fuzzer.dir/DependInfo.cmake" - "ossfuzz/CMakeFiles/zip_write_encrypt_pkware_file_fuzzer.dir/DependInfo.cmake" - "ossfuzz/CMakeFiles/list-fuzzers.dir/DependInfo.cmake" - "examples/CMakeFiles/add-compressed-data.dir/DependInfo.cmake" - "examples/CMakeFiles/autoclose-archive.dir/DependInfo.cmake" - "examples/CMakeFiles/in-memory.dir/DependInfo.cmake" - ) diff --git a/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/Makefile2 b/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/Makefile2 deleted file mode 100644 index 91955ce..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/Makefile2 +++ /dev/null @@ -1,661 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.28 - -# Default target executed when no arguments are given to make. -default_target: all -.PHONY : default_target - -#============================================================================= -# Special targets provided by cmake. - -# Disable implicit rules so canonical targets will work. -.SUFFIXES: - -# Disable VCS-based implicit rules. -% : %,v - -# Disable VCS-based implicit rules. -% : RCS/% - -# Disable VCS-based implicit rules. -% : RCS/%,v - -# Disable VCS-based implicit rules. -% : SCCS/s.% - -# Disable VCS-based implicit rules. -% : s.% - -.SUFFIXES: .hpux_make_needs_suffix_list - -# Command-line flag to silence nested $(MAKE). -$(VERBOSE)MAKESILENT = -s - -#Suppress display of executed commands. -$(VERBOSE).SILENT: - -# A target that is always out of date. -cmake_force: -.PHONY : cmake_force - -#============================================================================= -# Set environment variables for the build. - -# The shell in which to execute make rules. -SHELL = /bin/sh - -# The CMake executable. -CMAKE_COMMAND = /usr/bin/cmake - -# The command to remove a file. -RM = /usr/bin/cmake -E rm -f - -# Escaping for special characters. -EQUALS = = - -# The top-level source directory on which CMake was run. -CMAKE_SOURCE_DIR = "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3" - -# The top-level build directory on which CMake was run. -CMAKE_BINARY_DIR = "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" - -#============================================================================= -# Directory level rules for the build root directory - -# The main recursive "all" target. -all: lib/all -all: man/all -all: src/all -all: ossfuzz/all -all: examples/all -.PHONY : all - -# The main recursive "preinstall" target. -preinstall: lib/preinstall -preinstall: man/preinstall -preinstall: src/preinstall -preinstall: ossfuzz/preinstall -preinstall: examples/preinstall -.PHONY : preinstall - -# The main recursive "clean" target. -clean: CMakeFiles/dist.dir/clean -clean: CMakeFiles/distcheck.dir/clean -clean: lib/clean -clean: man/clean -clean: src/clean -clean: ossfuzz/clean -clean: examples/clean -.PHONY : clean - -#============================================================================= -# Directory level rules for directory examples - -# Recursive "all" directory target. -examples/all: examples/CMakeFiles/add-compressed-data.dir/all -examples/all: examples/CMakeFiles/autoclose-archive.dir/all -examples/all: examples/CMakeFiles/in-memory.dir/all -.PHONY : examples/all - -# Recursive "preinstall" directory target. -examples/preinstall: -.PHONY : examples/preinstall - -# Recursive "clean" directory target. -examples/clean: examples/CMakeFiles/add-compressed-data.dir/clean -examples/clean: examples/CMakeFiles/autoclose-archive.dir/clean -examples/clean: examples/CMakeFiles/in-memory.dir/clean -.PHONY : examples/clean - -#============================================================================= -# Directory level rules for directory lib - -# Recursive "all" directory target. -lib/all: lib/CMakeFiles/zip.dir/all -.PHONY : lib/all - -# Recursive "preinstall" directory target. -lib/preinstall: -.PHONY : lib/preinstall - -# Recursive "clean" directory target. -lib/clean: lib/CMakeFiles/zip.dir/clean -.PHONY : lib/clean - -#============================================================================= -# Directory level rules for directory man - -# Recursive "all" directory target. -man/all: man/CMakeFiles/man.dir/all -.PHONY : man/all - -# Recursive "preinstall" directory target. -man/preinstall: -.PHONY : man/preinstall - -# Recursive "clean" directory target. -man/clean: man/CMakeFiles/man.dir/clean -man/clean: man/CMakeFiles/update-man.dir/clean -man/clean: man/CMakeFiles/update-html.dir/clean -man/clean: man/CMakeFiles/update_zip_errors.dir/clean -.PHONY : man/clean - -#============================================================================= -# Directory level rules for directory ossfuzz - -# Recursive "all" directory target. -ossfuzz/all: ossfuzz/CMakeFiles/zip_read_file_fuzzer.dir/all -ossfuzz/all: ossfuzz/CMakeFiles/zip_read_fuzzer.dir/all -ossfuzz/all: ossfuzz/CMakeFiles/zip_write_encrypt_aes256_file_fuzzer.dir/all -ossfuzz/all: ossfuzz/CMakeFiles/zip_write_encrypt_pkware_file_fuzzer.dir/all -.PHONY : ossfuzz/all - -# Recursive "preinstall" directory target. -ossfuzz/preinstall: -.PHONY : ossfuzz/preinstall - -# Recursive "clean" directory target. -ossfuzz/clean: ossfuzz/CMakeFiles/zip_read_file_fuzzer.dir/clean -ossfuzz/clean: ossfuzz/CMakeFiles/zip_read_fuzzer.dir/clean -ossfuzz/clean: ossfuzz/CMakeFiles/zip_write_encrypt_aes256_file_fuzzer.dir/clean -ossfuzz/clean: ossfuzz/CMakeFiles/zip_write_encrypt_pkware_file_fuzzer.dir/clean -ossfuzz/clean: ossfuzz/CMakeFiles/list-fuzzers.dir/clean -.PHONY : ossfuzz/clean - -#============================================================================= -# Directory level rules for directory src - -# Recursive "all" directory target. -src/all: src/CMakeFiles/zipcmp.dir/all -src/all: src/CMakeFiles/zipmerge.dir/all -src/all: src/CMakeFiles/ziptool.dir/all -.PHONY : src/all - -# Recursive "preinstall" directory target. -src/preinstall: -.PHONY : src/preinstall - -# Recursive "clean" directory target. -src/clean: src/CMakeFiles/zipcmp.dir/clean -src/clean: src/CMakeFiles/zipmerge.dir/clean -src/clean: src/CMakeFiles/ziptool.dir/clean -.PHONY : src/clean - -#============================================================================= -# Target rules for target CMakeFiles/dist.dir - -# All Build rule for target. -CMakeFiles/dist.dir/all: - $(MAKE) $(MAKESILENT) -f CMakeFiles/dist.dir/build.make CMakeFiles/dist.dir/depend - $(MAKE) $(MAKESILENT) -f CMakeFiles/dist.dir/build.make CMakeFiles/dist.dir/build - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num= "Built target dist" -.PHONY : CMakeFiles/dist.dir/all - -# Build rule for subdir invocation for target. -CMakeFiles/dist.dir/rule: cmake_check_build_system - $(CMAKE_COMMAND) -E cmake_progress_start "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" 0 - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 CMakeFiles/dist.dir/all - $(CMAKE_COMMAND) -E cmake_progress_start "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" 0 -.PHONY : CMakeFiles/dist.dir/rule - -# Convenience name for target. -dist: CMakeFiles/dist.dir/rule -.PHONY : dist - -# clean rule for target. -CMakeFiles/dist.dir/clean: - $(MAKE) $(MAKESILENT) -f CMakeFiles/dist.dir/build.make CMakeFiles/dist.dir/clean -.PHONY : CMakeFiles/dist.dir/clean - -#============================================================================= -# Target rules for target CMakeFiles/distcheck.dir - -# All Build rule for target. -CMakeFiles/distcheck.dir/all: CMakeFiles/dist.dir/all - $(MAKE) $(MAKESILENT) -f CMakeFiles/distcheck.dir/build.make CMakeFiles/distcheck.dir/depend - $(MAKE) $(MAKESILENT) -f CMakeFiles/distcheck.dir/build.make CMakeFiles/distcheck.dir/build - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num= "Built target distcheck" -.PHONY : CMakeFiles/distcheck.dir/all - -# Build rule for subdir invocation for target. -CMakeFiles/distcheck.dir/rule: cmake_check_build_system - $(CMAKE_COMMAND) -E cmake_progress_start "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" 0 - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 CMakeFiles/distcheck.dir/all - $(CMAKE_COMMAND) -E cmake_progress_start "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" 0 -.PHONY : CMakeFiles/distcheck.dir/rule - -# Convenience name for target. -distcheck: CMakeFiles/distcheck.dir/rule -.PHONY : distcheck - -# clean rule for target. -CMakeFiles/distcheck.dir/clean: - $(MAKE) $(MAKESILENT) -f CMakeFiles/distcheck.dir/build.make CMakeFiles/distcheck.dir/clean -.PHONY : CMakeFiles/distcheck.dir/clean - -#============================================================================= -# Target rules for target lib/CMakeFiles/zip.dir - -# All Build rule for target. -lib/CMakeFiles/zip.dir/all: - $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/depend - $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/build - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95 "Built target zip" -.PHONY : lib/CMakeFiles/zip.dir/all - -# Build rule for subdir invocation for target. -lib/CMakeFiles/zip.dir/rule: cmake_check_build_system - $(CMAKE_COMMAND) -E cmake_progress_start "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" 25 - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 lib/CMakeFiles/zip.dir/all - $(CMAKE_COMMAND) -E cmake_progress_start "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" 0 -.PHONY : lib/CMakeFiles/zip.dir/rule - -# Convenience name for target. -zip: lib/CMakeFiles/zip.dir/rule -.PHONY : zip - -# clean rule for target. -lib/CMakeFiles/zip.dir/clean: - $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/clean -.PHONY : lib/CMakeFiles/zip.dir/clean - -#============================================================================= -# Target rules for target man/CMakeFiles/man.dir - -# All Build rule for target. -man/CMakeFiles/man.dir/all: - $(MAKE) $(MAKESILENT) -f man/CMakeFiles/man.dir/build.make man/CMakeFiles/man.dir/depend - $(MAKE) $(MAKESILENT) -f man/CMakeFiles/man.dir/build.make man/CMakeFiles/man.dir/build - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24 "Built target man" -.PHONY : man/CMakeFiles/man.dir/all - -# Build rule for subdir invocation for target. -man/CMakeFiles/man.dir/rule: cmake_check_build_system - $(CMAKE_COMMAND) -E cmake_progress_start "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" 23 - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 man/CMakeFiles/man.dir/all - $(CMAKE_COMMAND) -E cmake_progress_start "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" 0 -.PHONY : man/CMakeFiles/man.dir/rule - -# Convenience name for target. -man: man/CMakeFiles/man.dir/rule -.PHONY : man - -# clean rule for target. -man/CMakeFiles/man.dir/clean: - $(MAKE) $(MAKESILENT) -f man/CMakeFiles/man.dir/build.make man/CMakeFiles/man.dir/clean -.PHONY : man/CMakeFiles/man.dir/clean - -#============================================================================= -# Target rules for target man/CMakeFiles/update-man.dir - -# All Build rule for target. -man/CMakeFiles/update-man.dir/all: - $(MAKE) $(MAKESILENT) -f man/CMakeFiles/update-man.dir/build.make man/CMakeFiles/update-man.dir/depend - $(MAKE) $(MAKESILENT) -f man/CMakeFiles/update-man.dir/build.make man/CMakeFiles/update-man.dir/build - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70 "Built target update-man" -.PHONY : man/CMakeFiles/update-man.dir/all - -# Build rule for subdir invocation for target. -man/CMakeFiles/update-man.dir/rule: cmake_check_build_system - $(CMAKE_COMMAND) -E cmake_progress_start "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" 23 - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 man/CMakeFiles/update-man.dir/all - $(CMAKE_COMMAND) -E cmake_progress_start "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" 0 -.PHONY : man/CMakeFiles/update-man.dir/rule - -# Convenience name for target. -update-man: man/CMakeFiles/update-man.dir/rule -.PHONY : update-man - -# clean rule for target. -man/CMakeFiles/update-man.dir/clean: - $(MAKE) $(MAKESILENT) -f man/CMakeFiles/update-man.dir/build.make man/CMakeFiles/update-man.dir/clean -.PHONY : man/CMakeFiles/update-man.dir/clean - -#============================================================================= -# Target rules for target man/CMakeFiles/update-html.dir - -# All Build rule for target. -man/CMakeFiles/update-html.dir/all: - $(MAKE) $(MAKESILENT) -f man/CMakeFiles/update-html.dir/build.make man/CMakeFiles/update-html.dir/depend - $(MAKE) $(MAKESILENT) -f man/CMakeFiles/update-html.dir/build.make man/CMakeFiles/update-html.dir/build - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47 "Built target update-html" -.PHONY : man/CMakeFiles/update-html.dir/all - -# Build rule for subdir invocation for target. -man/CMakeFiles/update-html.dir/rule: cmake_check_build_system - $(CMAKE_COMMAND) -E cmake_progress_start "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" 23 - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 man/CMakeFiles/update-html.dir/all - $(CMAKE_COMMAND) -E cmake_progress_start "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" 0 -.PHONY : man/CMakeFiles/update-html.dir/rule - -# Convenience name for target. -update-html: man/CMakeFiles/update-html.dir/rule -.PHONY : update-html - -# clean rule for target. -man/CMakeFiles/update-html.dir/clean: - $(MAKE) $(MAKESILENT) -f man/CMakeFiles/update-html.dir/build.make man/CMakeFiles/update-html.dir/clean -.PHONY : man/CMakeFiles/update-html.dir/clean - -#============================================================================= -# Target rules for target man/CMakeFiles/update_zip_errors.dir - -# All Build rule for target. -man/CMakeFiles/update_zip_errors.dir/all: - $(MAKE) $(MAKESILENT) -f man/CMakeFiles/update_zip_errors.dir/build.make man/CMakeFiles/update_zip_errors.dir/depend - $(MAKE) $(MAKESILENT) -f man/CMakeFiles/update_zip_errors.dir/build.make man/CMakeFiles/update_zip_errors.dir/build - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num= "Built target update_zip_errors" -.PHONY : man/CMakeFiles/update_zip_errors.dir/all - -# Build rule for subdir invocation for target. -man/CMakeFiles/update_zip_errors.dir/rule: cmake_check_build_system - $(CMAKE_COMMAND) -E cmake_progress_start "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" 0 - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 man/CMakeFiles/update_zip_errors.dir/all - $(CMAKE_COMMAND) -E cmake_progress_start "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" 0 -.PHONY : man/CMakeFiles/update_zip_errors.dir/rule - -# Convenience name for target. -update_zip_errors: man/CMakeFiles/update_zip_errors.dir/rule -.PHONY : update_zip_errors - -# clean rule for target. -man/CMakeFiles/update_zip_errors.dir/clean: - $(MAKE) $(MAKESILENT) -f man/CMakeFiles/update_zip_errors.dir/build.make man/CMakeFiles/update_zip_errors.dir/clean -.PHONY : man/CMakeFiles/update_zip_errors.dir/clean - -#============================================================================= -# Target rules for target src/CMakeFiles/zipcmp.dir - -# All Build rule for target. -src/CMakeFiles/zipcmp.dir/all: lib/CMakeFiles/zip.dir/all - $(MAKE) $(MAKESILENT) -f src/CMakeFiles/zipcmp.dir/build.make src/CMakeFiles/zipcmp.dir/depend - $(MAKE) $(MAKESILENT) -f src/CMakeFiles/zipcmp.dir/build.make src/CMakeFiles/zipcmp.dir/build - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=99 "Built target zipcmp" -.PHONY : src/CMakeFiles/zipcmp.dir/all - -# Build rule for subdir invocation for target. -src/CMakeFiles/zipcmp.dir/rule: cmake_check_build_system - $(CMAKE_COMMAND) -E cmake_progress_start "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" 26 - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 src/CMakeFiles/zipcmp.dir/all - $(CMAKE_COMMAND) -E cmake_progress_start "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" 0 -.PHONY : src/CMakeFiles/zipcmp.dir/rule - -# Convenience name for target. -zipcmp: src/CMakeFiles/zipcmp.dir/rule -.PHONY : zipcmp - -# clean rule for target. -src/CMakeFiles/zipcmp.dir/clean: - $(MAKE) $(MAKESILENT) -f src/CMakeFiles/zipcmp.dir/build.make src/CMakeFiles/zipcmp.dir/clean -.PHONY : src/CMakeFiles/zipcmp.dir/clean - -#============================================================================= -# Target rules for target src/CMakeFiles/zipmerge.dir - -# All Build rule for target. -src/CMakeFiles/zipmerge.dir/all: lib/CMakeFiles/zip.dir/all - $(MAKE) $(MAKESILENT) -f src/CMakeFiles/zipmerge.dir/build.make src/CMakeFiles/zipmerge.dir/depend - $(MAKE) $(MAKESILENT) -f src/CMakeFiles/zipmerge.dir/build.make src/CMakeFiles/zipmerge.dir/build - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num= "Built target zipmerge" -.PHONY : src/CMakeFiles/zipmerge.dir/all - -# Build rule for subdir invocation for target. -src/CMakeFiles/zipmerge.dir/rule: cmake_check_build_system - $(CMAKE_COMMAND) -E cmake_progress_start "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" 25 - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 src/CMakeFiles/zipmerge.dir/all - $(CMAKE_COMMAND) -E cmake_progress_start "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" 0 -.PHONY : src/CMakeFiles/zipmerge.dir/rule - -# Convenience name for target. -zipmerge: src/CMakeFiles/zipmerge.dir/rule -.PHONY : zipmerge - -# clean rule for target. -src/CMakeFiles/zipmerge.dir/clean: - $(MAKE) $(MAKESILENT) -f src/CMakeFiles/zipmerge.dir/build.make src/CMakeFiles/zipmerge.dir/clean -.PHONY : src/CMakeFiles/zipmerge.dir/clean - -#============================================================================= -# Target rules for target src/CMakeFiles/ziptool.dir - -# All Build rule for target. -src/CMakeFiles/ziptool.dir/all: lib/CMakeFiles/zip.dir/all - $(MAKE) $(MAKESILENT) -f src/CMakeFiles/ziptool.dir/build.make src/CMakeFiles/ziptool.dir/depend - $(MAKE) $(MAKESILENT) -f src/CMakeFiles/ziptool.dir/build.make src/CMakeFiles/ziptool.dir/build - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=100 "Built target ziptool" -.PHONY : src/CMakeFiles/ziptool.dir/all - -# Build rule for subdir invocation for target. -src/CMakeFiles/ziptool.dir/rule: cmake_check_build_system - $(CMAKE_COMMAND) -E cmake_progress_start "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" 26 - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 src/CMakeFiles/ziptool.dir/all - $(CMAKE_COMMAND) -E cmake_progress_start "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" 0 -.PHONY : src/CMakeFiles/ziptool.dir/rule - -# Convenience name for target. -ziptool: src/CMakeFiles/ziptool.dir/rule -.PHONY : ziptool - -# clean rule for target. -src/CMakeFiles/ziptool.dir/clean: - $(MAKE) $(MAKESILENT) -f src/CMakeFiles/ziptool.dir/build.make src/CMakeFiles/ziptool.dir/clean -.PHONY : src/CMakeFiles/ziptool.dir/clean - -#============================================================================= -# Target rules for target ossfuzz/CMakeFiles/zip_read_file_fuzzer.dir - -# All Build rule for target. -ossfuzz/CMakeFiles/zip_read_file_fuzzer.dir/all: lib/CMakeFiles/zip.dir/all - $(MAKE) $(MAKESILENT) -f ossfuzz/CMakeFiles/zip_read_file_fuzzer.dir/build.make ossfuzz/CMakeFiles/zip_read_file_fuzzer.dir/depend - $(MAKE) $(MAKESILENT) -f ossfuzz/CMakeFiles/zip_read_file_fuzzer.dir/build.make ossfuzz/CMakeFiles/zip_read_file_fuzzer.dir/build - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=96 "Built target zip_read_file_fuzzer" -.PHONY : ossfuzz/CMakeFiles/zip_read_file_fuzzer.dir/all - -# Build rule for subdir invocation for target. -ossfuzz/CMakeFiles/zip_read_file_fuzzer.dir/rule: cmake_check_build_system - $(CMAKE_COMMAND) -E cmake_progress_start "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" 26 - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 ossfuzz/CMakeFiles/zip_read_file_fuzzer.dir/all - $(CMAKE_COMMAND) -E cmake_progress_start "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" 0 -.PHONY : ossfuzz/CMakeFiles/zip_read_file_fuzzer.dir/rule - -# Convenience name for target. -zip_read_file_fuzzer: ossfuzz/CMakeFiles/zip_read_file_fuzzer.dir/rule -.PHONY : zip_read_file_fuzzer - -# clean rule for target. -ossfuzz/CMakeFiles/zip_read_file_fuzzer.dir/clean: - $(MAKE) $(MAKESILENT) -f ossfuzz/CMakeFiles/zip_read_file_fuzzer.dir/build.make ossfuzz/CMakeFiles/zip_read_file_fuzzer.dir/clean -.PHONY : ossfuzz/CMakeFiles/zip_read_file_fuzzer.dir/clean - -#============================================================================= -# Target rules for target ossfuzz/CMakeFiles/zip_read_fuzzer.dir - -# All Build rule for target. -ossfuzz/CMakeFiles/zip_read_fuzzer.dir/all: lib/CMakeFiles/zip.dir/all - $(MAKE) $(MAKESILENT) -f ossfuzz/CMakeFiles/zip_read_fuzzer.dir/build.make ossfuzz/CMakeFiles/zip_read_fuzzer.dir/depend - $(MAKE) $(MAKESILENT) -f ossfuzz/CMakeFiles/zip_read_fuzzer.dir/build.make ossfuzz/CMakeFiles/zip_read_fuzzer.dir/build - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=97 "Built target zip_read_fuzzer" -.PHONY : ossfuzz/CMakeFiles/zip_read_fuzzer.dir/all - -# Build rule for subdir invocation for target. -ossfuzz/CMakeFiles/zip_read_fuzzer.dir/rule: cmake_check_build_system - $(CMAKE_COMMAND) -E cmake_progress_start "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" 26 - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 ossfuzz/CMakeFiles/zip_read_fuzzer.dir/all - $(CMAKE_COMMAND) -E cmake_progress_start "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" 0 -.PHONY : ossfuzz/CMakeFiles/zip_read_fuzzer.dir/rule - -# Convenience name for target. -zip_read_fuzzer: ossfuzz/CMakeFiles/zip_read_fuzzer.dir/rule -.PHONY : zip_read_fuzzer - -# clean rule for target. -ossfuzz/CMakeFiles/zip_read_fuzzer.dir/clean: - $(MAKE) $(MAKESILENT) -f ossfuzz/CMakeFiles/zip_read_fuzzer.dir/build.make ossfuzz/CMakeFiles/zip_read_fuzzer.dir/clean -.PHONY : ossfuzz/CMakeFiles/zip_read_fuzzer.dir/clean - -#============================================================================= -# Target rules for target ossfuzz/CMakeFiles/zip_write_encrypt_aes256_file_fuzzer.dir - -# All Build rule for target. -ossfuzz/CMakeFiles/zip_write_encrypt_aes256_file_fuzzer.dir/all: lib/CMakeFiles/zip.dir/all - $(MAKE) $(MAKESILENT) -f ossfuzz/CMakeFiles/zip_write_encrypt_aes256_file_fuzzer.dir/build.make ossfuzz/CMakeFiles/zip_write_encrypt_aes256_file_fuzzer.dir/depend - $(MAKE) $(MAKESILENT) -f ossfuzz/CMakeFiles/zip_write_encrypt_aes256_file_fuzzer.dir/build.make ossfuzz/CMakeFiles/zip_write_encrypt_aes256_file_fuzzer.dir/build - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num= "Built target zip_write_encrypt_aes256_file_fuzzer" -.PHONY : ossfuzz/CMakeFiles/zip_write_encrypt_aes256_file_fuzzer.dir/all - -# Build rule for subdir invocation for target. -ossfuzz/CMakeFiles/zip_write_encrypt_aes256_file_fuzzer.dir/rule: cmake_check_build_system - $(CMAKE_COMMAND) -E cmake_progress_start "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" 25 - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 ossfuzz/CMakeFiles/zip_write_encrypt_aes256_file_fuzzer.dir/all - $(CMAKE_COMMAND) -E cmake_progress_start "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" 0 -.PHONY : ossfuzz/CMakeFiles/zip_write_encrypt_aes256_file_fuzzer.dir/rule - -# Convenience name for target. -zip_write_encrypt_aes256_file_fuzzer: ossfuzz/CMakeFiles/zip_write_encrypt_aes256_file_fuzzer.dir/rule -.PHONY : zip_write_encrypt_aes256_file_fuzzer - -# clean rule for target. -ossfuzz/CMakeFiles/zip_write_encrypt_aes256_file_fuzzer.dir/clean: - $(MAKE) $(MAKESILENT) -f ossfuzz/CMakeFiles/zip_write_encrypt_aes256_file_fuzzer.dir/build.make ossfuzz/CMakeFiles/zip_write_encrypt_aes256_file_fuzzer.dir/clean -.PHONY : ossfuzz/CMakeFiles/zip_write_encrypt_aes256_file_fuzzer.dir/clean - -#============================================================================= -# Target rules for target ossfuzz/CMakeFiles/zip_write_encrypt_pkware_file_fuzzer.dir - -# All Build rule for target. -ossfuzz/CMakeFiles/zip_write_encrypt_pkware_file_fuzzer.dir/all: lib/CMakeFiles/zip.dir/all - $(MAKE) $(MAKESILENT) -f ossfuzz/CMakeFiles/zip_write_encrypt_pkware_file_fuzzer.dir/build.make ossfuzz/CMakeFiles/zip_write_encrypt_pkware_file_fuzzer.dir/depend - $(MAKE) $(MAKESILENT) -f ossfuzz/CMakeFiles/zip_write_encrypt_pkware_file_fuzzer.dir/build.make ossfuzz/CMakeFiles/zip_write_encrypt_pkware_file_fuzzer.dir/build - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=98 "Built target zip_write_encrypt_pkware_file_fuzzer" -.PHONY : ossfuzz/CMakeFiles/zip_write_encrypt_pkware_file_fuzzer.dir/all - -# Build rule for subdir invocation for target. -ossfuzz/CMakeFiles/zip_write_encrypt_pkware_file_fuzzer.dir/rule: cmake_check_build_system - $(CMAKE_COMMAND) -E cmake_progress_start "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" 26 - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 ossfuzz/CMakeFiles/zip_write_encrypt_pkware_file_fuzzer.dir/all - $(CMAKE_COMMAND) -E cmake_progress_start "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" 0 -.PHONY : ossfuzz/CMakeFiles/zip_write_encrypt_pkware_file_fuzzer.dir/rule - -# Convenience name for target. -zip_write_encrypt_pkware_file_fuzzer: ossfuzz/CMakeFiles/zip_write_encrypt_pkware_file_fuzzer.dir/rule -.PHONY : zip_write_encrypt_pkware_file_fuzzer - -# clean rule for target. -ossfuzz/CMakeFiles/zip_write_encrypt_pkware_file_fuzzer.dir/clean: - $(MAKE) $(MAKESILENT) -f ossfuzz/CMakeFiles/zip_write_encrypt_pkware_file_fuzzer.dir/build.make ossfuzz/CMakeFiles/zip_write_encrypt_pkware_file_fuzzer.dir/clean -.PHONY : ossfuzz/CMakeFiles/zip_write_encrypt_pkware_file_fuzzer.dir/clean - -#============================================================================= -# Target rules for target ossfuzz/CMakeFiles/list-fuzzers.dir - -# All Build rule for target. -ossfuzz/CMakeFiles/list-fuzzers.dir/all: - $(MAKE) $(MAKESILENT) -f ossfuzz/CMakeFiles/list-fuzzers.dir/build.make ossfuzz/CMakeFiles/list-fuzzers.dir/depend - $(MAKE) $(MAKESILENT) -f ossfuzz/CMakeFiles/list-fuzzers.dir/build.make ossfuzz/CMakeFiles/list-fuzzers.dir/build - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num= "Built target list-fuzzers" -.PHONY : ossfuzz/CMakeFiles/list-fuzzers.dir/all - -# Build rule for subdir invocation for target. -ossfuzz/CMakeFiles/list-fuzzers.dir/rule: cmake_check_build_system - $(CMAKE_COMMAND) -E cmake_progress_start "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" 0 - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 ossfuzz/CMakeFiles/list-fuzzers.dir/all - $(CMAKE_COMMAND) -E cmake_progress_start "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" 0 -.PHONY : ossfuzz/CMakeFiles/list-fuzzers.dir/rule - -# Convenience name for target. -list-fuzzers: ossfuzz/CMakeFiles/list-fuzzers.dir/rule -.PHONY : list-fuzzers - -# clean rule for target. -ossfuzz/CMakeFiles/list-fuzzers.dir/clean: - $(MAKE) $(MAKESILENT) -f ossfuzz/CMakeFiles/list-fuzzers.dir/build.make ossfuzz/CMakeFiles/list-fuzzers.dir/clean -.PHONY : ossfuzz/CMakeFiles/list-fuzzers.dir/clean - -#============================================================================= -# Target rules for target examples/CMakeFiles/add-compressed-data.dir - -# All Build rule for target. -examples/CMakeFiles/add-compressed-data.dir/all: lib/CMakeFiles/zip.dir/all - $(MAKE) $(MAKESILENT) -f examples/CMakeFiles/add-compressed-data.dir/build.make examples/CMakeFiles/add-compressed-data.dir/depend - $(MAKE) $(MAKESILENT) -f examples/CMakeFiles/add-compressed-data.dir/build.make examples/CMakeFiles/add-compressed-data.dir/build - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num= "Built target add-compressed-data" -.PHONY : examples/CMakeFiles/add-compressed-data.dir/all - -# Build rule for subdir invocation for target. -examples/CMakeFiles/add-compressed-data.dir/rule: cmake_check_build_system - $(CMAKE_COMMAND) -E cmake_progress_start "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" 25 - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 examples/CMakeFiles/add-compressed-data.dir/all - $(CMAKE_COMMAND) -E cmake_progress_start "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" 0 -.PHONY : examples/CMakeFiles/add-compressed-data.dir/rule - -# Convenience name for target. -add-compressed-data: examples/CMakeFiles/add-compressed-data.dir/rule -.PHONY : add-compressed-data - -# clean rule for target. -examples/CMakeFiles/add-compressed-data.dir/clean: - $(MAKE) $(MAKESILENT) -f examples/CMakeFiles/add-compressed-data.dir/build.make examples/CMakeFiles/add-compressed-data.dir/clean -.PHONY : examples/CMakeFiles/add-compressed-data.dir/clean - -#============================================================================= -# Target rules for target examples/CMakeFiles/autoclose-archive.dir - -# All Build rule for target. -examples/CMakeFiles/autoclose-archive.dir/all: lib/CMakeFiles/zip.dir/all - $(MAKE) $(MAKESILENT) -f examples/CMakeFiles/autoclose-archive.dir/build.make examples/CMakeFiles/autoclose-archive.dir/depend - $(MAKE) $(MAKESILENT) -f examples/CMakeFiles/autoclose-archive.dir/build.make examples/CMakeFiles/autoclose-archive.dir/build - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num= "Built target autoclose-archive" -.PHONY : examples/CMakeFiles/autoclose-archive.dir/all - -# Build rule for subdir invocation for target. -examples/CMakeFiles/autoclose-archive.dir/rule: cmake_check_build_system - $(CMAKE_COMMAND) -E cmake_progress_start "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" 25 - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 examples/CMakeFiles/autoclose-archive.dir/all - $(CMAKE_COMMAND) -E cmake_progress_start "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" 0 -.PHONY : examples/CMakeFiles/autoclose-archive.dir/rule - -# Convenience name for target. -autoclose-archive: examples/CMakeFiles/autoclose-archive.dir/rule -.PHONY : autoclose-archive - -# clean rule for target. -examples/CMakeFiles/autoclose-archive.dir/clean: - $(MAKE) $(MAKESILENT) -f examples/CMakeFiles/autoclose-archive.dir/build.make examples/CMakeFiles/autoclose-archive.dir/clean -.PHONY : examples/CMakeFiles/autoclose-archive.dir/clean - -#============================================================================= -# Target rules for target examples/CMakeFiles/in-memory.dir - -# All Build rule for target. -examples/CMakeFiles/in-memory.dir/all: lib/CMakeFiles/zip.dir/all - $(MAKE) $(MAKESILENT) -f examples/CMakeFiles/in-memory.dir/build.make examples/CMakeFiles/in-memory.dir/depend - $(MAKE) $(MAKESILENT) -f examples/CMakeFiles/in-memory.dir/build.make examples/CMakeFiles/in-memory.dir/build - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=1 "Built target in-memory" -.PHONY : examples/CMakeFiles/in-memory.dir/all - -# Build rule for subdir invocation for target. -examples/CMakeFiles/in-memory.dir/rule: cmake_check_build_system - $(CMAKE_COMMAND) -E cmake_progress_start "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" 26 - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 examples/CMakeFiles/in-memory.dir/all - $(CMAKE_COMMAND) -E cmake_progress_start "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" 0 -.PHONY : examples/CMakeFiles/in-memory.dir/rule - -# Convenience name for target. -in-memory: examples/CMakeFiles/in-memory.dir/rule -.PHONY : in-memory - -# clean rule for target. -examples/CMakeFiles/in-memory.dir/clean: - $(MAKE) $(MAKESILENT) -f examples/CMakeFiles/in-memory.dir/build.make examples/CMakeFiles/in-memory.dir/clean -.PHONY : examples/CMakeFiles/in-memory.dir/clean - -#============================================================================= -# Special targets to cleanup operation of make. - -# Special rule to run CMake to check the build system integrity. -# No rule that depends on this can have commands that come from listfiles -# because they might be regenerated. -cmake_check_build_system: - $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0 -.PHONY : cmake_check_build_system - diff --git a/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/TargetDirectories.txt b/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/TargetDirectories.txt deleted file mode 100644 index 5f2122c..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/TargetDirectories.txt +++ /dev/null @@ -1,60 +0,0 @@ -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/dist.dir -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/distcheck.dir -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/test.dir -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/edit_cache.dir -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/rebuild_cache.dir -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/list_install_components.dir -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/install.dir -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/install/local.dir -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/install/strip.dir -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/test.dir -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/edit_cache.dir -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/rebuild_cache.dir -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/list_install_components.dir -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/install.dir -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/install/local.dir -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/install/strip.dir -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/CMakeFiles/man.dir -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/CMakeFiles/update-man.dir -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/CMakeFiles/update-html.dir -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/CMakeFiles/update_zip_errors.dir -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/CMakeFiles/test.dir -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/CMakeFiles/edit_cache.dir -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/CMakeFiles/rebuild_cache.dir -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/CMakeFiles/list_install_components.dir -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/CMakeFiles/install.dir -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/CMakeFiles/install/local.dir -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/CMakeFiles/install/strip.dir -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/src/CMakeFiles/zipcmp.dir -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/src/CMakeFiles/zipmerge.dir -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/src/CMakeFiles/ziptool.dir -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/src/CMakeFiles/test.dir -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/src/CMakeFiles/edit_cache.dir -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/src/CMakeFiles/rebuild_cache.dir -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/src/CMakeFiles/list_install_components.dir -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/src/CMakeFiles/install.dir -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/src/CMakeFiles/install/local.dir -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/src/CMakeFiles/install/strip.dir -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_read_file_fuzzer.dir -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_read_fuzzer.dir -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_write_encrypt_aes256_file_fuzzer.dir -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_write_encrypt_pkware_file_fuzzer.dir -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/list-fuzzers.dir -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/test.dir -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/edit_cache.dir -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/rebuild_cache.dir -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/list_install_components.dir -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/install.dir -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/install/local.dir -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/install/strip.dir -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/examples/CMakeFiles/add-compressed-data.dir -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/examples/CMakeFiles/autoclose-archive.dir -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/examples/CMakeFiles/in-memory.dir -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/examples/CMakeFiles/test.dir -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/examples/CMakeFiles/edit_cache.dir -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/examples/CMakeFiles/rebuild_cache.dir -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/examples/CMakeFiles/list_install_components.dir -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/examples/CMakeFiles/install.dir -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/examples/CMakeFiles/install/local.dir -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/examples/CMakeFiles/install/strip.dir diff --git a/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/cmake.check_cache b/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/cmake.check_cache deleted file mode 100644 index 3dccd73..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/cmake.check_cache +++ /dev/null @@ -1 +0,0 @@ -# This file is generated by cmake for dependency checking of the CMakeCache.txt file diff --git a/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/dist.dir/DependInfo.cmake b/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/dist.dir/DependInfo.cmake deleted file mode 100644 index 29b95a5..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/dist.dir/DependInfo.cmake +++ /dev/null @@ -1,22 +0,0 @@ - -# Consider dependencies only in project. -set(CMAKE_DEPENDS_IN_PROJECT_ONLY OFF) - -# The set of languages for which implicit dependencies are needed: -set(CMAKE_DEPENDS_LANGUAGES - ) - -# The set of dependency files which are needed: -set(CMAKE_DEPENDS_DEPENDENCY_FILES - ) - -# Targets to which this target links which contain Fortran sources. -set(CMAKE_Fortran_TARGET_LINKED_INFO_FILES - ) - -# Targets to which this target links which contain Fortran sources. -set(CMAKE_Fortran_TARGET_FORWARD_LINKED_INFO_FILES - ) - -# Fortran module output directory. -set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/dist.dir/build.make b/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/dist.dir/build.make deleted file mode 100644 index 29b8f38..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/dist.dir/build.make +++ /dev/null @@ -1,89 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.28 - -# Delete rule output on recipe failure. -.DELETE_ON_ERROR: - -#============================================================================= -# Special targets provided by cmake. - -# Disable implicit rules so canonical targets will work. -.SUFFIXES: - -# Disable VCS-based implicit rules. -% : %,v - -# Disable VCS-based implicit rules. -% : RCS/% - -# Disable VCS-based implicit rules. -% : RCS/%,v - -# Disable VCS-based implicit rules. -% : SCCS/s.% - -# Disable VCS-based implicit rules. -% : s.% - -.SUFFIXES: .hpux_make_needs_suffix_list - -# Command-line flag to silence nested $(MAKE). -$(VERBOSE)MAKESILENT = -s - -#Suppress display of executed commands. -$(VERBOSE).SILENT: - -# A target that is always out of date. -cmake_force: -.PHONY : cmake_force - -#============================================================================= -# Set environment variables for the build. - -# The shell in which to execute make rules. -SHELL = /bin/sh - -# The CMake executable. -CMAKE_COMMAND = /usr/bin/cmake - -# The command to remove a file. -RM = /usr/bin/cmake -E rm -f - -# Escaping for special characters. -EQUALS = = - -# The top-level source directory on which CMake was run. -CMAKE_SOURCE_DIR = "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3" - -# The top-level build directory on which CMake was run. -CMAKE_BINARY_DIR = "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" - -# Utility rule file for dist. - -# Include any custom commands dependencies for this target. -include CMakeFiles/dist.dir/compiler_depend.make - -# Include the progress variables for this target. -include CMakeFiles/dist.dir/progress.make - -CMakeFiles/dist: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3" && git config tar.tar.xz.command xz\ -c - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3" && git archive --prefix=libzip-1.11.3/ -o /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/libzip-1.11.3.tar.gz HEAD - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3" && git archive --prefix=libzip-1.11.3/ -o /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/libzip-1.11.3.tar.xz HEAD - -dist: CMakeFiles/dist -dist: CMakeFiles/dist.dir/build.make -.PHONY : dist - -# Rule to build all files generated by this target. -CMakeFiles/dist.dir/build: dist -.PHONY : CMakeFiles/dist.dir/build - -CMakeFiles/dist.dir/clean: - $(CMAKE_COMMAND) -P CMakeFiles/dist.dir/cmake_clean.cmake -.PHONY : CMakeFiles/dist.dir/clean - -CMakeFiles/dist.dir/depend: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3" "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3" "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/dist.dir/DependInfo.cmake" "--color=$(COLOR)" -.PHONY : CMakeFiles/dist.dir/depend - diff --git a/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/dist.dir/cmake_clean.cmake b/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/dist.dir/cmake_clean.cmake deleted file mode 100644 index 656ce9f..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/dist.dir/cmake_clean.cmake +++ /dev/null @@ -1,8 +0,0 @@ -file(REMOVE_RECURSE - "CMakeFiles/dist" -) - -# Per-language clean rules from dependency scanning. -foreach(lang ) - include(CMakeFiles/dist.dir/cmake_clean_${lang}.cmake OPTIONAL) -endforeach() diff --git a/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/dist.dir/compiler_depend.make b/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/dist.dir/compiler_depend.make deleted file mode 100644 index f6b1322..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/dist.dir/compiler_depend.make +++ /dev/null @@ -1,2 +0,0 @@ -# Empty custom commands generated dependencies file for dist. -# This may be replaced when dependencies are built. diff --git a/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/dist.dir/compiler_depend.ts b/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/dist.dir/compiler_depend.ts deleted file mode 100644 index 0b47ca4..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/dist.dir/compiler_depend.ts +++ /dev/null @@ -1,2 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Timestamp file for custom commands dependencies management for dist. diff --git a/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/dist.dir/progress.make b/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/dist.dir/progress.make deleted file mode 100644 index 8b13789..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/dist.dir/progress.make +++ /dev/null @@ -1 +0,0 @@ - diff --git a/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/distcheck.dir/DependInfo.cmake b/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/distcheck.dir/DependInfo.cmake deleted file mode 100644 index 29b95a5..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/distcheck.dir/DependInfo.cmake +++ /dev/null @@ -1,22 +0,0 @@ - -# Consider dependencies only in project. -set(CMAKE_DEPENDS_IN_PROJECT_ONLY OFF) - -# The set of languages for which implicit dependencies are needed: -set(CMAKE_DEPENDS_LANGUAGES - ) - -# The set of dependency files which are needed: -set(CMAKE_DEPENDS_DEPENDENCY_FILES - ) - -# Targets to which this target links which contain Fortran sources. -set(CMAKE_Fortran_TARGET_LINKED_INFO_FILES - ) - -# Targets to which this target links which contain Fortran sources. -set(CMAKE_Fortran_TARGET_FORWARD_LINKED_INFO_FILES - ) - -# Fortran module output directory. -set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/distcheck.dir/build.make b/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/distcheck.dir/build.make deleted file mode 100644 index 3a2987b..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/distcheck.dir/build.make +++ /dev/null @@ -1,100 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.28 - -# Delete rule output on recipe failure. -.DELETE_ON_ERROR: - -#============================================================================= -# Special targets provided by cmake. - -# Disable implicit rules so canonical targets will work. -.SUFFIXES: - -# Disable VCS-based implicit rules. -% : %,v - -# Disable VCS-based implicit rules. -% : RCS/% - -# Disable VCS-based implicit rules. -% : RCS/%,v - -# Disable VCS-based implicit rules. -% : SCCS/s.% - -# Disable VCS-based implicit rules. -% : s.% - -.SUFFIXES: .hpux_make_needs_suffix_list - -# Command-line flag to silence nested $(MAKE). -$(VERBOSE)MAKESILENT = -s - -#Suppress display of executed commands. -$(VERBOSE).SILENT: - -# A target that is always out of date. -cmake_force: -.PHONY : cmake_force - -#============================================================================= -# Set environment variables for the build. - -# The shell in which to execute make rules. -SHELL = /bin/sh - -# The CMake executable. -CMAKE_COMMAND = /usr/bin/cmake - -# The command to remove a file. -RM = /usr/bin/cmake -E rm -f - -# Escaping for special characters. -EQUALS = = - -# The top-level source directory on which CMake was run. -CMAKE_SOURCE_DIR = "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3" - -# The top-level build directory on which CMake was run. -CMAKE_BINARY_DIR = "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" - -# Utility rule file for distcheck. - -# Include any custom commands dependencies for this target. -include CMakeFiles/distcheck.dir/compiler_depend.make - -# Include the progress variables for this target. -include CMakeFiles/distcheck.dir/progress.make - -CMakeFiles/distcheck: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3" && chmod -R u+w libzip-1.11.3 libzip-1.11.3-build libzip-1.11.3-dest 2>/dev/null || true - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3" && rm -rf libzip-1.11.3 libzip-1.11.3-build libzip-1.11.3-dest - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3" && /usr/bin/cmake -E tar xf /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/libzip-1.11.3.tar.gz - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3" && chmod -R u-w libzip-1.11.3 - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3" && mkdir libzip-1.11.3-build - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3" && mkdir libzip-1.11.3-dest - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3" && /usr/bin/cmake -DCMAKE_INSTALL_PREFIX=libzip-1.11.3-dest libzip-1.11.3 -B libzip-1.11.3-build - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3" && make -C libzip-1.11.3-build -j4 - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3" && make -C libzip-1.11.3-build test - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3" && make -C libzip-1.11.3-build install - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3" && make -C libzip-1.11.3-build clean - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3" && chmod -R u+w libzip-1.11.3 libzip-1.11.3-build libzip-1.11.3-dest - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3" && rm -rf libzip-1.11.3 libzip-1.11.3-build libzip-1.11.3-dest - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3" && echo libzip-1.11.3.tar.gz\ is\ ready\ for\ distribution. - -distcheck: CMakeFiles/distcheck -distcheck: CMakeFiles/distcheck.dir/build.make -.PHONY : distcheck - -# Rule to build all files generated by this target. -CMakeFiles/distcheck.dir/build: distcheck -.PHONY : CMakeFiles/distcheck.dir/build - -CMakeFiles/distcheck.dir/clean: - $(CMAKE_COMMAND) -P CMakeFiles/distcheck.dir/cmake_clean.cmake -.PHONY : CMakeFiles/distcheck.dir/clean - -CMakeFiles/distcheck.dir/depend: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3" "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3" "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/distcheck.dir/DependInfo.cmake" "--color=$(COLOR)" -.PHONY : CMakeFiles/distcheck.dir/depend - diff --git a/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/distcheck.dir/cmake_clean.cmake b/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/distcheck.dir/cmake_clean.cmake deleted file mode 100644 index 599552a..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/distcheck.dir/cmake_clean.cmake +++ /dev/null @@ -1,8 +0,0 @@ -file(REMOVE_RECURSE - "CMakeFiles/distcheck" -) - -# Per-language clean rules from dependency scanning. -foreach(lang ) - include(CMakeFiles/distcheck.dir/cmake_clean_${lang}.cmake OPTIONAL) -endforeach() diff --git a/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/distcheck.dir/compiler_depend.make b/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/distcheck.dir/compiler_depend.make deleted file mode 100644 index a6ffafe..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/distcheck.dir/compiler_depend.make +++ /dev/null @@ -1,2 +0,0 @@ -# Empty custom commands generated dependencies file for distcheck. -# This may be replaced when dependencies are built. diff --git a/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/distcheck.dir/compiler_depend.ts b/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/distcheck.dir/compiler_depend.ts deleted file mode 100644 index d481b07..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/distcheck.dir/compiler_depend.ts +++ /dev/null @@ -1,2 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Timestamp file for custom commands dependencies management for distcheck. diff --git a/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/distcheck.dir/progress.make b/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/distcheck.dir/progress.make deleted file mode 100644 index 8b13789..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/distcheck.dir/progress.make +++ /dev/null @@ -1 +0,0 @@ - diff --git a/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/progress.marks b/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/progress.marks deleted file mode 100644 index fb1e7bc..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/progress.marks +++ /dev/null @@ -1 +0,0 @@ -54 diff --git a/thirdparty/libzip-1.11.3/build-emcmake/CTestTestfile.cmake b/thirdparty/libzip-1.11.3/build-emcmake/CTestTestfile.cmake deleted file mode 100644 index c8a0112..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/CTestTestfile.cmake +++ /dev/null @@ -1,11 +0,0 @@ -# CMake generated Testfile for -# Source directory: /home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3 -# Build directory: /home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake -# -# This file includes the relevant testing commands required for -# testing this directory and lists subdirectories to be tested as well. -subdirs("lib") -subdirs("man") -subdirs("src") -subdirs("ossfuzz") -subdirs("examples") diff --git a/thirdparty/libzip-1.11.3/build-emcmake/Makefile b/thirdparty/libzip-1.11.3/build-emcmake/Makefile deleted file mode 100644 index 883b607..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/Makefile +++ /dev/null @@ -1,452 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.28 - -# Default target executed when no arguments are given to make. -default_target: all -.PHONY : default_target - -# Allow only one "make -f Makefile2" at a time, but pass parallelism. -.NOTPARALLEL: - -#============================================================================= -# Special targets provided by cmake. - -# Disable implicit rules so canonical targets will work. -.SUFFIXES: - -# Disable VCS-based implicit rules. -% : %,v - -# Disable VCS-based implicit rules. -% : RCS/% - -# Disable VCS-based implicit rules. -% : RCS/%,v - -# Disable VCS-based implicit rules. -% : SCCS/s.% - -# Disable VCS-based implicit rules. -% : s.% - -.SUFFIXES: .hpux_make_needs_suffix_list - -# Command-line flag to silence nested $(MAKE). -$(VERBOSE)MAKESILENT = -s - -#Suppress display of executed commands. -$(VERBOSE).SILENT: - -# A target that is always out of date. -cmake_force: -.PHONY : cmake_force - -#============================================================================= -# Set environment variables for the build. - -# The shell in which to execute make rules. -SHELL = /bin/sh - -# The CMake executable. -CMAKE_COMMAND = /usr/bin/cmake - -# The command to remove a file. -RM = /usr/bin/cmake -E rm -f - -# Escaping for special characters. -EQUALS = = - -# The top-level source directory on which CMake was run. -CMAKE_SOURCE_DIR = "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3" - -# The top-level build directory on which CMake was run. -CMAKE_BINARY_DIR = "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" - -#============================================================================= -# Targets provided globally by CMake. - -# Special rule for the target test -test: - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Running tests..." - /usr/bin/ctest --force-new-ctest-process $(ARGS) -.PHONY : test - -# Special rule for the target test -test/fast: test -.PHONY : test/fast - -# Special rule for the target edit_cache -edit_cache: - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "No interactive CMake dialog available..." - /usr/bin/cmake -E echo No\ interactive\ CMake\ dialog\ available. -.PHONY : edit_cache - -# Special rule for the target edit_cache -edit_cache/fast: edit_cache -.PHONY : edit_cache/fast - -# Special rule for the target rebuild_cache -rebuild_cache: - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Running CMake to regenerate build system..." - /usr/bin/cmake --regenerate-during-build -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) -.PHONY : rebuild_cache - -# Special rule for the target rebuild_cache -rebuild_cache/fast: rebuild_cache -.PHONY : rebuild_cache/fast - -# Special rule for the target list_install_components -list_install_components: - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Available install components are: \"Unspecified\"" -.PHONY : list_install_components - -# Special rule for the target list_install_components -list_install_components/fast: list_install_components -.PHONY : list_install_components/fast - -# Special rule for the target install -install: preinstall - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Install the project..." - /usr/bin/cmake -P cmake_install.cmake -.PHONY : install - -# Special rule for the target install -install/fast: preinstall/fast - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Install the project..." - /usr/bin/cmake -P cmake_install.cmake -.PHONY : install/fast - -# Special rule for the target install/local -install/local: preinstall - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Installing only the local directory..." - /usr/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake -.PHONY : install/local - -# Special rule for the target install/local -install/local/fast: preinstall/fast - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Installing only the local directory..." - /usr/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake -.PHONY : install/local/fast - -# Special rule for the target install/strip -install/strip: preinstall - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Installing the project stripped..." - /usr/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake -.PHONY : install/strip - -# Special rule for the target install/strip -install/strip/fast: preinstall/fast - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Installing the project stripped..." - /usr/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake -.PHONY : install/strip/fast - -# The main all target -all: cmake_check_build_system - $(CMAKE_COMMAND) -E cmake_progress_start "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake//CMakeFiles/progress.marks" - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 all - $(CMAKE_COMMAND) -E cmake_progress_start "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" 0 -.PHONY : all - -# The main clean target -clean: - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 clean -.PHONY : clean - -# The main clean target -clean/fast: clean -.PHONY : clean/fast - -# Prepare targets for installation. -preinstall: all - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 preinstall -.PHONY : preinstall - -# Prepare targets for installation. -preinstall/fast: - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 preinstall -.PHONY : preinstall/fast - -# clear depends -depend: - $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1 -.PHONY : depend - -#============================================================================= -# Target rules for targets named dist - -# Build rule for target. -dist: cmake_check_build_system - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 dist -.PHONY : dist - -# fast build rule for target. -dist/fast: - $(MAKE) $(MAKESILENT) -f CMakeFiles/dist.dir/build.make CMakeFiles/dist.dir/build -.PHONY : dist/fast - -#============================================================================= -# Target rules for targets named distcheck - -# Build rule for target. -distcheck: cmake_check_build_system - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 distcheck -.PHONY : distcheck - -# fast build rule for target. -distcheck/fast: - $(MAKE) $(MAKESILENT) -f CMakeFiles/distcheck.dir/build.make CMakeFiles/distcheck.dir/build -.PHONY : distcheck/fast - -#============================================================================= -# Target rules for targets named zip - -# Build rule for target. -zip: cmake_check_build_system - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 zip -.PHONY : zip - -# fast build rule for target. -zip/fast: - $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/build -.PHONY : zip/fast - -#============================================================================= -# Target rules for targets named man - -# Build rule for target. -man: cmake_check_build_system - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 man -.PHONY : man - -# fast build rule for target. -man/fast: - $(MAKE) $(MAKESILENT) -f man/CMakeFiles/man.dir/build.make man/CMakeFiles/man.dir/build -.PHONY : man/fast - -#============================================================================= -# Target rules for targets named update-man - -# Build rule for target. -update-man: cmake_check_build_system - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 update-man -.PHONY : update-man - -# fast build rule for target. -update-man/fast: - $(MAKE) $(MAKESILENT) -f man/CMakeFiles/update-man.dir/build.make man/CMakeFiles/update-man.dir/build -.PHONY : update-man/fast - -#============================================================================= -# Target rules for targets named update-html - -# Build rule for target. -update-html: cmake_check_build_system - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 update-html -.PHONY : update-html - -# fast build rule for target. -update-html/fast: - $(MAKE) $(MAKESILENT) -f man/CMakeFiles/update-html.dir/build.make man/CMakeFiles/update-html.dir/build -.PHONY : update-html/fast - -#============================================================================= -# Target rules for targets named update_zip_errors - -# Build rule for target. -update_zip_errors: cmake_check_build_system - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 update_zip_errors -.PHONY : update_zip_errors - -# fast build rule for target. -update_zip_errors/fast: - $(MAKE) $(MAKESILENT) -f man/CMakeFiles/update_zip_errors.dir/build.make man/CMakeFiles/update_zip_errors.dir/build -.PHONY : update_zip_errors/fast - -#============================================================================= -# Target rules for targets named zipcmp - -# Build rule for target. -zipcmp: cmake_check_build_system - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 zipcmp -.PHONY : zipcmp - -# fast build rule for target. -zipcmp/fast: - $(MAKE) $(MAKESILENT) -f src/CMakeFiles/zipcmp.dir/build.make src/CMakeFiles/zipcmp.dir/build -.PHONY : zipcmp/fast - -#============================================================================= -# Target rules for targets named zipmerge - -# Build rule for target. -zipmerge: cmake_check_build_system - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 zipmerge -.PHONY : zipmerge - -# fast build rule for target. -zipmerge/fast: - $(MAKE) $(MAKESILENT) -f src/CMakeFiles/zipmerge.dir/build.make src/CMakeFiles/zipmerge.dir/build -.PHONY : zipmerge/fast - -#============================================================================= -# Target rules for targets named ziptool - -# Build rule for target. -ziptool: cmake_check_build_system - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 ziptool -.PHONY : ziptool - -# fast build rule for target. -ziptool/fast: - $(MAKE) $(MAKESILENT) -f src/CMakeFiles/ziptool.dir/build.make src/CMakeFiles/ziptool.dir/build -.PHONY : ziptool/fast - -#============================================================================= -# Target rules for targets named zip_read_file_fuzzer - -# Build rule for target. -zip_read_file_fuzzer: cmake_check_build_system - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 zip_read_file_fuzzer -.PHONY : zip_read_file_fuzzer - -# fast build rule for target. -zip_read_file_fuzzer/fast: - $(MAKE) $(MAKESILENT) -f ossfuzz/CMakeFiles/zip_read_file_fuzzer.dir/build.make ossfuzz/CMakeFiles/zip_read_file_fuzzer.dir/build -.PHONY : zip_read_file_fuzzer/fast - -#============================================================================= -# Target rules for targets named zip_read_fuzzer - -# Build rule for target. -zip_read_fuzzer: cmake_check_build_system - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 zip_read_fuzzer -.PHONY : zip_read_fuzzer - -# fast build rule for target. -zip_read_fuzzer/fast: - $(MAKE) $(MAKESILENT) -f ossfuzz/CMakeFiles/zip_read_fuzzer.dir/build.make ossfuzz/CMakeFiles/zip_read_fuzzer.dir/build -.PHONY : zip_read_fuzzer/fast - -#============================================================================= -# Target rules for targets named zip_write_encrypt_aes256_file_fuzzer - -# Build rule for target. -zip_write_encrypt_aes256_file_fuzzer: cmake_check_build_system - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 zip_write_encrypt_aes256_file_fuzzer -.PHONY : zip_write_encrypt_aes256_file_fuzzer - -# fast build rule for target. -zip_write_encrypt_aes256_file_fuzzer/fast: - $(MAKE) $(MAKESILENT) -f ossfuzz/CMakeFiles/zip_write_encrypt_aes256_file_fuzzer.dir/build.make ossfuzz/CMakeFiles/zip_write_encrypt_aes256_file_fuzzer.dir/build -.PHONY : zip_write_encrypt_aes256_file_fuzzer/fast - -#============================================================================= -# Target rules for targets named zip_write_encrypt_pkware_file_fuzzer - -# Build rule for target. -zip_write_encrypt_pkware_file_fuzzer: cmake_check_build_system - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 zip_write_encrypt_pkware_file_fuzzer -.PHONY : zip_write_encrypt_pkware_file_fuzzer - -# fast build rule for target. -zip_write_encrypt_pkware_file_fuzzer/fast: - $(MAKE) $(MAKESILENT) -f ossfuzz/CMakeFiles/zip_write_encrypt_pkware_file_fuzzer.dir/build.make ossfuzz/CMakeFiles/zip_write_encrypt_pkware_file_fuzzer.dir/build -.PHONY : zip_write_encrypt_pkware_file_fuzzer/fast - -#============================================================================= -# Target rules for targets named list-fuzzers - -# Build rule for target. -list-fuzzers: cmake_check_build_system - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 list-fuzzers -.PHONY : list-fuzzers - -# fast build rule for target. -list-fuzzers/fast: - $(MAKE) $(MAKESILENT) -f ossfuzz/CMakeFiles/list-fuzzers.dir/build.make ossfuzz/CMakeFiles/list-fuzzers.dir/build -.PHONY : list-fuzzers/fast - -#============================================================================= -# Target rules for targets named add-compressed-data - -# Build rule for target. -add-compressed-data: cmake_check_build_system - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 add-compressed-data -.PHONY : add-compressed-data - -# fast build rule for target. -add-compressed-data/fast: - $(MAKE) $(MAKESILENT) -f examples/CMakeFiles/add-compressed-data.dir/build.make examples/CMakeFiles/add-compressed-data.dir/build -.PHONY : add-compressed-data/fast - -#============================================================================= -# Target rules for targets named autoclose-archive - -# Build rule for target. -autoclose-archive: cmake_check_build_system - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 autoclose-archive -.PHONY : autoclose-archive - -# fast build rule for target. -autoclose-archive/fast: - $(MAKE) $(MAKESILENT) -f examples/CMakeFiles/autoclose-archive.dir/build.make examples/CMakeFiles/autoclose-archive.dir/build -.PHONY : autoclose-archive/fast - -#============================================================================= -# Target rules for targets named in-memory - -# Build rule for target. -in-memory: cmake_check_build_system - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 in-memory -.PHONY : in-memory - -# fast build rule for target. -in-memory/fast: - $(MAKE) $(MAKESILENT) -f examples/CMakeFiles/in-memory.dir/build.make examples/CMakeFiles/in-memory.dir/build -.PHONY : in-memory/fast - -# Help Target -help: - @echo "The following are some of the valid targets for this Makefile:" - @echo "... all (the default if no target is provided)" - @echo "... clean" - @echo "... depend" - @echo "... edit_cache" - @echo "... install" - @echo "... install/local" - @echo "... install/strip" - @echo "... list_install_components" - @echo "... rebuild_cache" - @echo "... test" - @echo "... dist" - @echo "... distcheck" - @echo "... list-fuzzers" - @echo "... man" - @echo "... update-html" - @echo "... update-man" - @echo "... update_zip_errors" - @echo "... add-compressed-data" - @echo "... autoclose-archive" - @echo "... in-memory" - @echo "... zip" - @echo "... zip_read_file_fuzzer" - @echo "... zip_read_fuzzer" - @echo "... zip_write_encrypt_aes256_file_fuzzer" - @echo "... zip_write_encrypt_pkware_file_fuzzer" - @echo "... zipcmp" - @echo "... zipmerge" - @echo "... ziptool" -.PHONY : help - - - -#============================================================================= -# Special targets to cleanup operation of make. - -# Special rule to run CMake to check the build system integrity. -# No rule that depends on this can have commands that come from listfiles -# because they might be regenerated. -cmake_check_build_system: - $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0 -.PHONY : cmake_check_build_system - diff --git a/thirdparty/libzip-1.11.3/build-emcmake/cmake_install.cmake b/thirdparty/libzip-1.11.3/build-emcmake/cmake_install.cmake deleted file mode 100644 index d3fe8c1..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/cmake_install.cmake +++ /dev/null @@ -1,105 +0,0 @@ -# Install script for directory: /home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3 - -# Set the install prefix -if(NOT DEFINED CMAKE_INSTALL_PREFIX) - set(CMAKE_INSTALL_PREFIX "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/install") -endif() -string(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}") - -# Set the install configuration name. -if(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME) - if(BUILD_TYPE) - string(REGEX REPLACE "^[^A-Za-z0-9_]+" "" - CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}") - else() - set(CMAKE_INSTALL_CONFIG_NAME "") - endif() - message(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"") -endif() - -# Set the component getting installed. -if(NOT CMAKE_INSTALL_COMPONENT) - if(COMPONENT) - message(STATUS "Install component: \"${COMPONENT}\"") - set(CMAKE_INSTALL_COMPONENT "${COMPONENT}") - else() - set(CMAKE_INSTALL_COMPONENT) - endif() -endif() - -# Is this installation the result of a crosscompile? -if(NOT DEFINED CMAKE_CROSSCOMPILING) - set(CMAKE_CROSSCOMPILING "TRUE") -endif() - -# Set default install directory permissions. -if(NOT DEFINED CMAKE_OBJDUMP) - set(CMAKE_OBJDUMP "/usr/bin/objdump") -endif() - -if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) - file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/lib/pkgconfig" TYPE FILE FILES "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/libzip.pc") -endif() - -if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) - file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/lib/cmake/libzip/modules" TYPE FILE FILES - "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/cmake/FindNettle.cmake" - "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/cmake/Findzstd.cmake" - "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/cmake/FindMbedTLS.cmake" - ) -endif() - -if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) - file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/include" TYPE FILE FILES "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/zipconf.h") -endif() - -if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) - file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/lib/cmake/libzip" TYPE FILE FILES - "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/libzip-config.cmake" - "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/libzip-config-version.cmake" - ) -endif() - -if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) - if(EXISTS "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/lib/cmake/libzip/libzip-targets.cmake") - file(DIFFERENT _cmake_export_file_changed FILES - "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/lib/cmake/libzip/libzip-targets.cmake" - "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/Export/ab63c3a9eda5ec24a2943b813039874c/libzip-targets.cmake") - if(_cmake_export_file_changed) - file(GLOB _cmake_old_config_files "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/lib/cmake/libzip/libzip-targets-*.cmake") - if(_cmake_old_config_files) - string(REPLACE ";" ", " _cmake_old_config_files_text "${_cmake_old_config_files}") - message(STATUS "Old export file \"$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/lib/cmake/libzip/libzip-targets.cmake\" will be replaced. Removing files [${_cmake_old_config_files_text}].") - unset(_cmake_old_config_files_text) - file(REMOVE ${_cmake_old_config_files}) - endif() - unset(_cmake_old_config_files) - endif() - unset(_cmake_export_file_changed) - endif() - file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/lib/cmake/libzip" TYPE FILE FILES "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/Export/ab63c3a9eda5ec24a2943b813039874c/libzip-targets.cmake") - if(CMAKE_INSTALL_CONFIG_NAME MATCHES "^()$") - file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/lib/cmake/libzip" TYPE FILE FILES "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles/Export/ab63c3a9eda5ec24a2943b813039874c/libzip-targets-noconfig.cmake") - endif() -endif() - -if(NOT CMAKE_INSTALL_LOCAL_ONLY) - # Include the install script for each subdirectory. - include("/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib/cmake_install.cmake") - include("/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/cmake_install.cmake") - include("/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/src/cmake_install.cmake") - include("/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/cmake_install.cmake") - include("/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/examples/cmake_install.cmake") - -endif() - -if(CMAKE_INSTALL_COMPONENT) - set(CMAKE_INSTALL_MANIFEST "install_manifest_${CMAKE_INSTALL_COMPONENT}.txt") -else() - set(CMAKE_INSTALL_MANIFEST "install_manifest.txt") -endif() - -string(REPLACE ";" "\n" CMAKE_INSTALL_MANIFEST_CONTENT - "${CMAKE_INSTALL_MANIFEST_FILES}") -file(WRITE "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/${CMAKE_INSTALL_MANIFEST}" - "${CMAKE_INSTALL_MANIFEST_CONTENT}") diff --git a/thirdparty/libzip-1.11.3/build-emcmake/compile_commands.json b/thirdparty/libzip-1.11.3/build-emcmake/compile_commands.json deleted file mode 100644 index bcd2b69..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/compile_commands.json +++ /dev/null @@ -1,770 +0,0 @@ -[ -{ - "directory": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib", - "command": "\"/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc\" @CMakeFiles/zip.dir/includes_C.rsp -fvisibility=hidden -o CMakeFiles/zip.dir/zip_add.c.o -c \"/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_add.c\"", - "file": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_add.c", - "output": "lib/CMakeFiles/zip.dir/zip_add.c.o" -}, -{ - "directory": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib", - "command": "\"/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc\" @CMakeFiles/zip.dir/includes_C.rsp -fvisibility=hidden -o CMakeFiles/zip.dir/zip_add_dir.c.o -c \"/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_add_dir.c\"", - "file": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_add_dir.c", - "output": "lib/CMakeFiles/zip.dir/zip_add_dir.c.o" -}, -{ - "directory": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib", - "command": "\"/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc\" @CMakeFiles/zip.dir/includes_C.rsp -fvisibility=hidden -o CMakeFiles/zip.dir/zip_add_entry.c.o -c \"/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_add_entry.c\"", - "file": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_add_entry.c", - "output": "lib/CMakeFiles/zip.dir/zip_add_entry.c.o" -}, -{ - "directory": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib", - "command": "\"/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc\" @CMakeFiles/zip.dir/includes_C.rsp -fvisibility=hidden -o CMakeFiles/zip.dir/zip_algorithm_deflate.c.o -c \"/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_algorithm_deflate.c\"", - "file": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_algorithm_deflate.c", - "output": "lib/CMakeFiles/zip.dir/zip_algorithm_deflate.c.o" -}, -{ - "directory": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib", - "command": "\"/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc\" @CMakeFiles/zip.dir/includes_C.rsp -fvisibility=hidden -o CMakeFiles/zip.dir/zip_buffer.c.o -c \"/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_buffer.c\"", - "file": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_buffer.c", - "output": "lib/CMakeFiles/zip.dir/zip_buffer.c.o" -}, -{ - "directory": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib", - "command": "\"/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc\" @CMakeFiles/zip.dir/includes_C.rsp -fvisibility=hidden -o CMakeFiles/zip.dir/zip_close.c.o -c \"/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_close.c\"", - "file": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_close.c", - "output": "lib/CMakeFiles/zip.dir/zip_close.c.o" -}, -{ - "directory": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib", - "command": "\"/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc\" @CMakeFiles/zip.dir/includes_C.rsp -fvisibility=hidden -o CMakeFiles/zip.dir/zip_delete.c.o -c \"/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_delete.c\"", - "file": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_delete.c", - "output": "lib/CMakeFiles/zip.dir/zip_delete.c.o" -}, -{ - "directory": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib", - "command": "\"/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc\" @CMakeFiles/zip.dir/includes_C.rsp -fvisibility=hidden -o CMakeFiles/zip.dir/zip_dir_add.c.o -c \"/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_dir_add.c\"", - "file": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_dir_add.c", - "output": "lib/CMakeFiles/zip.dir/zip_dir_add.c.o" -}, -{ - "directory": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib", - "command": "\"/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc\" @CMakeFiles/zip.dir/includes_C.rsp -fvisibility=hidden -o CMakeFiles/zip.dir/zip_dirent.c.o -c \"/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_dirent.c\"", - "file": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_dirent.c", - "output": "lib/CMakeFiles/zip.dir/zip_dirent.c.o" -}, -{ - "directory": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib", - "command": "\"/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc\" @CMakeFiles/zip.dir/includes_C.rsp -fvisibility=hidden -o CMakeFiles/zip.dir/zip_discard.c.o -c \"/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_discard.c\"", - "file": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_discard.c", - "output": "lib/CMakeFiles/zip.dir/zip_discard.c.o" -}, -{ - "directory": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib", - "command": "\"/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc\" @CMakeFiles/zip.dir/includes_C.rsp -fvisibility=hidden -o CMakeFiles/zip.dir/zip_entry.c.o -c \"/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_entry.c\"", - "file": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_entry.c", - "output": "lib/CMakeFiles/zip.dir/zip_entry.c.o" -}, -{ - "directory": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib", - "command": "\"/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc\" @CMakeFiles/zip.dir/includes_C.rsp -fvisibility=hidden -o CMakeFiles/zip.dir/zip_error.c.o -c \"/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_error.c\"", - "file": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_error.c", - "output": "lib/CMakeFiles/zip.dir/zip_error.c.o" -}, -{ - "directory": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib", - "command": "\"/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc\" @CMakeFiles/zip.dir/includes_C.rsp -fvisibility=hidden -o CMakeFiles/zip.dir/zip_error_clear.c.o -c \"/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_error_clear.c\"", - "file": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_error_clear.c", - "output": "lib/CMakeFiles/zip.dir/zip_error_clear.c.o" -}, -{ - "directory": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib", - "command": "\"/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc\" @CMakeFiles/zip.dir/includes_C.rsp -fvisibility=hidden -o CMakeFiles/zip.dir/zip_error_get.c.o -c \"/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_error_get.c\"", - "file": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_error_get.c", - "output": "lib/CMakeFiles/zip.dir/zip_error_get.c.o" -}, -{ - "directory": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib", - "command": "\"/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc\" @CMakeFiles/zip.dir/includes_C.rsp -fvisibility=hidden -o CMakeFiles/zip.dir/zip_error_get_sys_type.c.o -c \"/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_error_get_sys_type.c\"", - "file": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_error_get_sys_type.c", - "output": "lib/CMakeFiles/zip.dir/zip_error_get_sys_type.c.o" -}, -{ - "directory": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib", - "command": "\"/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc\" @CMakeFiles/zip.dir/includes_C.rsp -fvisibility=hidden -o CMakeFiles/zip.dir/zip_error_strerror.c.o -c \"/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_error_strerror.c\"", - "file": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_error_strerror.c", - "output": "lib/CMakeFiles/zip.dir/zip_error_strerror.c.o" -}, -{ - "directory": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib", - "command": "\"/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc\" @CMakeFiles/zip.dir/includes_C.rsp -fvisibility=hidden -o CMakeFiles/zip.dir/zip_error_to_str.c.o -c \"/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_error_to_str.c\"", - "file": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_error_to_str.c", - "output": "lib/CMakeFiles/zip.dir/zip_error_to_str.c.o" -}, -{ - "directory": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib", - "command": "\"/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc\" @CMakeFiles/zip.dir/includes_C.rsp -fvisibility=hidden -o CMakeFiles/zip.dir/zip_extra_field.c.o -c \"/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_extra_field.c\"", - "file": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_extra_field.c", - "output": "lib/CMakeFiles/zip.dir/zip_extra_field.c.o" -}, -{ - "directory": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib", - "command": "\"/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc\" @CMakeFiles/zip.dir/includes_C.rsp -fvisibility=hidden -o CMakeFiles/zip.dir/zip_extra_field_api.c.o -c \"/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_extra_field_api.c\"", - "file": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_extra_field_api.c", - "output": "lib/CMakeFiles/zip.dir/zip_extra_field_api.c.o" -}, -{ - "directory": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib", - "command": "\"/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc\" @CMakeFiles/zip.dir/includes_C.rsp -fvisibility=hidden -o CMakeFiles/zip.dir/zip_fclose.c.o -c \"/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_fclose.c\"", - "file": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_fclose.c", - "output": "lib/CMakeFiles/zip.dir/zip_fclose.c.o" -}, -{ - "directory": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib", - "command": "\"/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc\" @CMakeFiles/zip.dir/includes_C.rsp -fvisibility=hidden -o CMakeFiles/zip.dir/zip_fdopen.c.o -c \"/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_fdopen.c\"", - "file": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_fdopen.c", - "output": "lib/CMakeFiles/zip.dir/zip_fdopen.c.o" -}, -{ - "directory": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib", - "command": "\"/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc\" @CMakeFiles/zip.dir/includes_C.rsp -fvisibility=hidden -o CMakeFiles/zip.dir/zip_file_add.c.o -c \"/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_file_add.c\"", - "file": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_file_add.c", - "output": "lib/CMakeFiles/zip.dir/zip_file_add.c.o" -}, -{ - "directory": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib", - "command": "\"/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc\" @CMakeFiles/zip.dir/includes_C.rsp -fvisibility=hidden -o CMakeFiles/zip.dir/zip_file_error_clear.c.o -c \"/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_file_error_clear.c\"", - "file": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_file_error_clear.c", - "output": "lib/CMakeFiles/zip.dir/zip_file_error_clear.c.o" -}, -{ - "directory": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib", - "command": "\"/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc\" @CMakeFiles/zip.dir/includes_C.rsp -fvisibility=hidden -o CMakeFiles/zip.dir/zip_file_error_get.c.o -c \"/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_file_error_get.c\"", - "file": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_file_error_get.c", - "output": "lib/CMakeFiles/zip.dir/zip_file_error_get.c.o" -}, -{ - "directory": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib", - "command": "\"/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc\" @CMakeFiles/zip.dir/includes_C.rsp -fvisibility=hidden -o CMakeFiles/zip.dir/zip_file_get_comment.c.o -c \"/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_file_get_comment.c\"", - "file": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_file_get_comment.c", - "output": "lib/CMakeFiles/zip.dir/zip_file_get_comment.c.o" -}, -{ - "directory": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib", - "command": "\"/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc\" @CMakeFiles/zip.dir/includes_C.rsp -fvisibility=hidden -o CMakeFiles/zip.dir/zip_file_get_external_attributes.c.o -c \"/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_file_get_external_attributes.c\"", - "file": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_file_get_external_attributes.c", - "output": "lib/CMakeFiles/zip.dir/zip_file_get_external_attributes.c.o" -}, -{ - "directory": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib", - "command": "\"/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc\" @CMakeFiles/zip.dir/includes_C.rsp -fvisibility=hidden -o CMakeFiles/zip.dir/zip_file_get_offset.c.o -c \"/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_file_get_offset.c\"", - "file": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_file_get_offset.c", - "output": "lib/CMakeFiles/zip.dir/zip_file_get_offset.c.o" -}, -{ - "directory": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib", - "command": "\"/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc\" @CMakeFiles/zip.dir/includes_C.rsp -fvisibility=hidden -o CMakeFiles/zip.dir/zip_file_rename.c.o -c \"/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_file_rename.c\"", - "file": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_file_rename.c", - "output": "lib/CMakeFiles/zip.dir/zip_file_rename.c.o" -}, -{ - "directory": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib", - "command": "\"/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc\" @CMakeFiles/zip.dir/includes_C.rsp -fvisibility=hidden -o CMakeFiles/zip.dir/zip_file_replace.c.o -c \"/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_file_replace.c\"", - "file": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_file_replace.c", - "output": "lib/CMakeFiles/zip.dir/zip_file_replace.c.o" -}, -{ - "directory": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib", - "command": "\"/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc\" @CMakeFiles/zip.dir/includes_C.rsp -fvisibility=hidden -o CMakeFiles/zip.dir/zip_file_set_comment.c.o -c \"/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_file_set_comment.c\"", - "file": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_file_set_comment.c", - "output": "lib/CMakeFiles/zip.dir/zip_file_set_comment.c.o" -}, -{ - "directory": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib", - "command": "\"/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc\" @CMakeFiles/zip.dir/includes_C.rsp -fvisibility=hidden -o CMakeFiles/zip.dir/zip_file_set_encryption.c.o -c \"/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_file_set_encryption.c\"", - "file": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_file_set_encryption.c", - "output": "lib/CMakeFiles/zip.dir/zip_file_set_encryption.c.o" -}, -{ - "directory": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib", - "command": "\"/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc\" @CMakeFiles/zip.dir/includes_C.rsp -fvisibility=hidden -o CMakeFiles/zip.dir/zip_file_set_external_attributes.c.o -c \"/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_file_set_external_attributes.c\"", - "file": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_file_set_external_attributes.c", - "output": "lib/CMakeFiles/zip.dir/zip_file_set_external_attributes.c.o" -}, -{ - "directory": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib", - "command": "\"/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc\" @CMakeFiles/zip.dir/includes_C.rsp -fvisibility=hidden -o CMakeFiles/zip.dir/zip_file_set_mtime.c.o -c \"/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_file_set_mtime.c\"", - "file": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_file_set_mtime.c", - "output": "lib/CMakeFiles/zip.dir/zip_file_set_mtime.c.o" -}, -{ - "directory": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib", - "command": "\"/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc\" @CMakeFiles/zip.dir/includes_C.rsp -fvisibility=hidden -o CMakeFiles/zip.dir/zip_file_strerror.c.o -c \"/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_file_strerror.c\"", - "file": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_file_strerror.c", - "output": "lib/CMakeFiles/zip.dir/zip_file_strerror.c.o" -}, -{ - "directory": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib", - "command": "\"/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc\" @CMakeFiles/zip.dir/includes_C.rsp -fvisibility=hidden -o CMakeFiles/zip.dir/zip_fopen.c.o -c \"/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_fopen.c\"", - "file": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_fopen.c", - "output": "lib/CMakeFiles/zip.dir/zip_fopen.c.o" -}, -{ - "directory": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib", - "command": "\"/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc\" @CMakeFiles/zip.dir/includes_C.rsp -fvisibility=hidden -o CMakeFiles/zip.dir/zip_fopen_encrypted.c.o -c \"/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_fopen_encrypted.c\"", - "file": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_fopen_encrypted.c", - "output": "lib/CMakeFiles/zip.dir/zip_fopen_encrypted.c.o" -}, -{ - "directory": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib", - "command": "\"/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc\" @CMakeFiles/zip.dir/includes_C.rsp -fvisibility=hidden -o CMakeFiles/zip.dir/zip_fopen_index.c.o -c \"/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_fopen_index.c\"", - "file": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_fopen_index.c", - "output": "lib/CMakeFiles/zip.dir/zip_fopen_index.c.o" -}, -{ - "directory": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib", - "command": "\"/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc\" @CMakeFiles/zip.dir/includes_C.rsp -fvisibility=hidden -o CMakeFiles/zip.dir/zip_fopen_index_encrypted.c.o -c \"/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_fopen_index_encrypted.c\"", - "file": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_fopen_index_encrypted.c", - "output": "lib/CMakeFiles/zip.dir/zip_fopen_index_encrypted.c.o" -}, -{ - "directory": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib", - "command": "\"/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc\" @CMakeFiles/zip.dir/includes_C.rsp -fvisibility=hidden -o CMakeFiles/zip.dir/zip_fread.c.o -c \"/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_fread.c\"", - "file": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_fread.c", - "output": "lib/CMakeFiles/zip.dir/zip_fread.c.o" -}, -{ - "directory": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib", - "command": "\"/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc\" @CMakeFiles/zip.dir/includes_C.rsp -fvisibility=hidden -o CMakeFiles/zip.dir/zip_fseek.c.o -c \"/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_fseek.c\"", - "file": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_fseek.c", - "output": "lib/CMakeFiles/zip.dir/zip_fseek.c.o" -}, -{ - "directory": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib", - "command": "\"/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc\" @CMakeFiles/zip.dir/includes_C.rsp -fvisibility=hidden -o CMakeFiles/zip.dir/zip_ftell.c.o -c \"/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_ftell.c\"", - "file": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_ftell.c", - "output": "lib/CMakeFiles/zip.dir/zip_ftell.c.o" -}, -{ - "directory": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib", - "command": "\"/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc\" @CMakeFiles/zip.dir/includes_C.rsp -fvisibility=hidden -o CMakeFiles/zip.dir/zip_get_archive_comment.c.o -c \"/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_get_archive_comment.c\"", - "file": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_get_archive_comment.c", - "output": "lib/CMakeFiles/zip.dir/zip_get_archive_comment.c.o" -}, -{ - "directory": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib", - "command": "\"/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc\" @CMakeFiles/zip.dir/includes_C.rsp -fvisibility=hidden -o CMakeFiles/zip.dir/zip_get_archive_flag.c.o -c \"/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_get_archive_flag.c\"", - "file": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_get_archive_flag.c", - "output": "lib/CMakeFiles/zip.dir/zip_get_archive_flag.c.o" -}, -{ - "directory": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib", - "command": "\"/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc\" @CMakeFiles/zip.dir/includes_C.rsp -fvisibility=hidden -o CMakeFiles/zip.dir/zip_get_encryption_implementation.c.o -c \"/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_get_encryption_implementation.c\"", - "file": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_get_encryption_implementation.c", - "output": "lib/CMakeFiles/zip.dir/zip_get_encryption_implementation.c.o" -}, -{ - "directory": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib", - "command": "\"/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc\" @CMakeFiles/zip.dir/includes_C.rsp -fvisibility=hidden -o CMakeFiles/zip.dir/zip_get_file_comment.c.o -c \"/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_get_file_comment.c\"", - "file": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_get_file_comment.c", - "output": "lib/CMakeFiles/zip.dir/zip_get_file_comment.c.o" -}, -{ - "directory": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib", - "command": "\"/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc\" @CMakeFiles/zip.dir/includes_C.rsp -fvisibility=hidden -o CMakeFiles/zip.dir/zip_get_name.c.o -c \"/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_get_name.c\"", - "file": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_get_name.c", - "output": "lib/CMakeFiles/zip.dir/zip_get_name.c.o" -}, -{ - "directory": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib", - "command": "\"/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc\" @CMakeFiles/zip.dir/includes_C.rsp -fvisibility=hidden -o CMakeFiles/zip.dir/zip_get_num_entries.c.o -c \"/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_get_num_entries.c\"", - "file": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_get_num_entries.c", - "output": "lib/CMakeFiles/zip.dir/zip_get_num_entries.c.o" -}, -{ - "directory": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib", - "command": "\"/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc\" @CMakeFiles/zip.dir/includes_C.rsp -fvisibility=hidden -o CMakeFiles/zip.dir/zip_get_num_files.c.o -c \"/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_get_num_files.c\"", - "file": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_get_num_files.c", - "output": "lib/CMakeFiles/zip.dir/zip_get_num_files.c.o" -}, -{ - "directory": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib", - "command": "\"/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc\" @CMakeFiles/zip.dir/includes_C.rsp -fvisibility=hidden -o CMakeFiles/zip.dir/zip_hash.c.o -c \"/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_hash.c\"", - "file": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_hash.c", - "output": "lib/CMakeFiles/zip.dir/zip_hash.c.o" -}, -{ - "directory": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib", - "command": "\"/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc\" @CMakeFiles/zip.dir/includes_C.rsp -fvisibility=hidden -o CMakeFiles/zip.dir/zip_io_util.c.o -c \"/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_io_util.c\"", - "file": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_io_util.c", - "output": "lib/CMakeFiles/zip.dir/zip_io_util.c.o" -}, -{ - "directory": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib", - "command": "\"/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc\" @CMakeFiles/zip.dir/includes_C.rsp -fvisibility=hidden -o CMakeFiles/zip.dir/zip_libzip_version.c.o -c \"/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_libzip_version.c\"", - "file": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_libzip_version.c", - "output": "lib/CMakeFiles/zip.dir/zip_libzip_version.c.o" -}, -{ - "directory": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib", - "command": "\"/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc\" @CMakeFiles/zip.dir/includes_C.rsp -fvisibility=hidden -o CMakeFiles/zip.dir/zip_memdup.c.o -c \"/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_memdup.c\"", - "file": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_memdup.c", - "output": "lib/CMakeFiles/zip.dir/zip_memdup.c.o" -}, -{ - "directory": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib", - "command": "\"/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc\" @CMakeFiles/zip.dir/includes_C.rsp -fvisibility=hidden -o CMakeFiles/zip.dir/zip_name_locate.c.o -c \"/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_name_locate.c\"", - "file": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_name_locate.c", - "output": "lib/CMakeFiles/zip.dir/zip_name_locate.c.o" -}, -{ - "directory": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib", - "command": "\"/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc\" @CMakeFiles/zip.dir/includes_C.rsp -fvisibility=hidden -o CMakeFiles/zip.dir/zip_new.c.o -c \"/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_new.c\"", - "file": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_new.c", - "output": "lib/CMakeFiles/zip.dir/zip_new.c.o" -}, -{ - "directory": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib", - "command": "\"/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc\" @CMakeFiles/zip.dir/includes_C.rsp -fvisibility=hidden -o CMakeFiles/zip.dir/zip_open.c.o -c \"/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_open.c\"", - "file": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_open.c", - "output": "lib/CMakeFiles/zip.dir/zip_open.c.o" -}, -{ - "directory": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib", - "command": "\"/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc\" @CMakeFiles/zip.dir/includes_C.rsp -fvisibility=hidden -o CMakeFiles/zip.dir/zip_pkware.c.o -c \"/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_pkware.c\"", - "file": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_pkware.c", - "output": "lib/CMakeFiles/zip.dir/zip_pkware.c.o" -}, -{ - "directory": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib", - "command": "\"/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc\" @CMakeFiles/zip.dir/includes_C.rsp -fvisibility=hidden -o CMakeFiles/zip.dir/zip_progress.c.o -c \"/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_progress.c\"", - "file": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_progress.c", - "output": "lib/CMakeFiles/zip.dir/zip_progress.c.o" -}, -{ - "directory": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib", - "command": "\"/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc\" @CMakeFiles/zip.dir/includes_C.rsp -fvisibility=hidden -o CMakeFiles/zip.dir/zip_rename.c.o -c \"/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_rename.c\"", - "file": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_rename.c", - "output": "lib/CMakeFiles/zip.dir/zip_rename.c.o" -}, -{ - "directory": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib", - "command": "\"/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc\" @CMakeFiles/zip.dir/includes_C.rsp -fvisibility=hidden -o CMakeFiles/zip.dir/zip_replace.c.o -c \"/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_replace.c\"", - "file": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_replace.c", - "output": "lib/CMakeFiles/zip.dir/zip_replace.c.o" -}, -{ - "directory": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib", - "command": "\"/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc\" @CMakeFiles/zip.dir/includes_C.rsp -fvisibility=hidden -o CMakeFiles/zip.dir/zip_set_archive_comment.c.o -c \"/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_set_archive_comment.c\"", - "file": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_set_archive_comment.c", - "output": "lib/CMakeFiles/zip.dir/zip_set_archive_comment.c.o" -}, -{ - "directory": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib", - "command": "\"/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc\" @CMakeFiles/zip.dir/includes_C.rsp -fvisibility=hidden -o CMakeFiles/zip.dir/zip_set_archive_flag.c.o -c \"/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_set_archive_flag.c\"", - "file": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_set_archive_flag.c", - "output": "lib/CMakeFiles/zip.dir/zip_set_archive_flag.c.o" -}, -{ - "directory": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib", - "command": "\"/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc\" @CMakeFiles/zip.dir/includes_C.rsp -fvisibility=hidden -o CMakeFiles/zip.dir/zip_set_default_password.c.o -c \"/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_set_default_password.c\"", - "file": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_set_default_password.c", - "output": "lib/CMakeFiles/zip.dir/zip_set_default_password.c.o" -}, -{ - "directory": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib", - "command": "\"/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc\" @CMakeFiles/zip.dir/includes_C.rsp -fvisibility=hidden -o CMakeFiles/zip.dir/zip_set_file_comment.c.o -c \"/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_set_file_comment.c\"", - "file": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_set_file_comment.c", - "output": "lib/CMakeFiles/zip.dir/zip_set_file_comment.c.o" -}, -{ - "directory": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib", - "command": "\"/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc\" @CMakeFiles/zip.dir/includes_C.rsp -fvisibility=hidden -o CMakeFiles/zip.dir/zip_set_file_compression.c.o -c \"/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_set_file_compression.c\"", - "file": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_set_file_compression.c", - "output": "lib/CMakeFiles/zip.dir/zip_set_file_compression.c.o" -}, -{ - "directory": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib", - "command": "\"/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc\" @CMakeFiles/zip.dir/includes_C.rsp -fvisibility=hidden -o CMakeFiles/zip.dir/zip_set_name.c.o -c \"/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_set_name.c\"", - "file": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_set_name.c", - "output": "lib/CMakeFiles/zip.dir/zip_set_name.c.o" -}, -{ - "directory": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib", - "command": "\"/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc\" @CMakeFiles/zip.dir/includes_C.rsp -fvisibility=hidden -o CMakeFiles/zip.dir/zip_source_accept_empty.c.o -c \"/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_accept_empty.c\"", - "file": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_accept_empty.c", - "output": "lib/CMakeFiles/zip.dir/zip_source_accept_empty.c.o" -}, -{ - "directory": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib", - "command": "\"/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc\" @CMakeFiles/zip.dir/includes_C.rsp -fvisibility=hidden -o CMakeFiles/zip.dir/zip_source_begin_write.c.o -c \"/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_begin_write.c\"", - "file": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_begin_write.c", - "output": "lib/CMakeFiles/zip.dir/zip_source_begin_write.c.o" -}, -{ - "directory": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib", - "command": "\"/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc\" @CMakeFiles/zip.dir/includes_C.rsp -fvisibility=hidden -o CMakeFiles/zip.dir/zip_source_begin_write_cloning.c.o -c \"/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_begin_write_cloning.c\"", - "file": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_begin_write_cloning.c", - "output": "lib/CMakeFiles/zip.dir/zip_source_begin_write_cloning.c.o" -}, -{ - "directory": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib", - "command": "\"/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc\" @CMakeFiles/zip.dir/includes_C.rsp -fvisibility=hidden -o CMakeFiles/zip.dir/zip_source_buffer.c.o -c \"/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_buffer.c\"", - "file": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_buffer.c", - "output": "lib/CMakeFiles/zip.dir/zip_source_buffer.c.o" -}, -{ - "directory": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib", - "command": "\"/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc\" @CMakeFiles/zip.dir/includes_C.rsp -fvisibility=hidden -o CMakeFiles/zip.dir/zip_source_call.c.o -c \"/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_call.c\"", - "file": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_call.c", - "output": "lib/CMakeFiles/zip.dir/zip_source_call.c.o" -}, -{ - "directory": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib", - "command": "\"/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc\" @CMakeFiles/zip.dir/includes_C.rsp -fvisibility=hidden -o CMakeFiles/zip.dir/zip_source_close.c.o -c \"/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_close.c\"", - "file": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_close.c", - "output": "lib/CMakeFiles/zip.dir/zip_source_close.c.o" -}, -{ - "directory": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib", - "command": "\"/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc\" @CMakeFiles/zip.dir/includes_C.rsp -fvisibility=hidden -o CMakeFiles/zip.dir/zip_source_commit_write.c.o -c \"/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_commit_write.c\"", - "file": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_commit_write.c", - "output": "lib/CMakeFiles/zip.dir/zip_source_commit_write.c.o" -}, -{ - "directory": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib", - "command": "\"/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc\" @CMakeFiles/zip.dir/includes_C.rsp -fvisibility=hidden -o CMakeFiles/zip.dir/zip_source_compress.c.o -c \"/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_compress.c\"", - "file": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_compress.c", - "output": "lib/CMakeFiles/zip.dir/zip_source_compress.c.o" -}, -{ - "directory": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib", - "command": "\"/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc\" @CMakeFiles/zip.dir/includes_C.rsp -fvisibility=hidden -o CMakeFiles/zip.dir/zip_source_crc.c.o -c \"/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_crc.c\"", - "file": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_crc.c", - "output": "lib/CMakeFiles/zip.dir/zip_source_crc.c.o" -}, -{ - "directory": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib", - "command": "\"/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc\" @CMakeFiles/zip.dir/includes_C.rsp -fvisibility=hidden -o CMakeFiles/zip.dir/zip_source_error.c.o -c \"/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_error.c\"", - "file": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_error.c", - "output": "lib/CMakeFiles/zip.dir/zip_source_error.c.o" -}, -{ - "directory": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib", - "command": "\"/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc\" @CMakeFiles/zip.dir/includes_C.rsp -fvisibility=hidden -o CMakeFiles/zip.dir/zip_source_file_common.c.o -c \"/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_file_common.c\"", - "file": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_file_common.c", - "output": "lib/CMakeFiles/zip.dir/zip_source_file_common.c.o" -}, -{ - "directory": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib", - "command": "\"/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc\" @CMakeFiles/zip.dir/includes_C.rsp -fvisibility=hidden -o CMakeFiles/zip.dir/zip_source_file_stdio.c.o -c \"/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_file_stdio.c\"", - "file": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_file_stdio.c", - "output": "lib/CMakeFiles/zip.dir/zip_source_file_stdio.c.o" -}, -{ - "directory": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib", - "command": "\"/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc\" @CMakeFiles/zip.dir/includes_C.rsp -fvisibility=hidden -o CMakeFiles/zip.dir/zip_source_free.c.o -c \"/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_free.c\"", - "file": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_free.c", - "output": "lib/CMakeFiles/zip.dir/zip_source_free.c.o" -}, -{ - "directory": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib", - "command": "\"/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc\" @CMakeFiles/zip.dir/includes_C.rsp -fvisibility=hidden -o CMakeFiles/zip.dir/zip_source_function.c.o -c \"/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_function.c\"", - "file": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_function.c", - "output": "lib/CMakeFiles/zip.dir/zip_source_function.c.o" -}, -{ - "directory": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib", - "command": "\"/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc\" @CMakeFiles/zip.dir/includes_C.rsp -fvisibility=hidden -o CMakeFiles/zip.dir/zip_source_get_dostime.c.o -c \"/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_get_dostime.c\"", - "file": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_get_dostime.c", - "output": "lib/CMakeFiles/zip.dir/zip_source_get_dostime.c.o" -}, -{ - "directory": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib", - "command": "\"/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc\" @CMakeFiles/zip.dir/includes_C.rsp -fvisibility=hidden -o CMakeFiles/zip.dir/zip_source_get_file_attributes.c.o -c \"/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_get_file_attributes.c\"", - "file": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_get_file_attributes.c", - "output": "lib/CMakeFiles/zip.dir/zip_source_get_file_attributes.c.o" -}, -{ - "directory": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib", - "command": "\"/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc\" @CMakeFiles/zip.dir/includes_C.rsp -fvisibility=hidden -o CMakeFiles/zip.dir/zip_source_is_deleted.c.o -c \"/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_is_deleted.c\"", - "file": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_is_deleted.c", - "output": "lib/CMakeFiles/zip.dir/zip_source_is_deleted.c.o" -}, -{ - "directory": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib", - "command": "\"/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc\" @CMakeFiles/zip.dir/includes_C.rsp -fvisibility=hidden -o CMakeFiles/zip.dir/zip_source_layered.c.o -c \"/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_layered.c\"", - "file": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_layered.c", - "output": "lib/CMakeFiles/zip.dir/zip_source_layered.c.o" -}, -{ - "directory": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib", - "command": "\"/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc\" @CMakeFiles/zip.dir/includes_C.rsp -fvisibility=hidden -o CMakeFiles/zip.dir/zip_source_open.c.o -c \"/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_open.c\"", - "file": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_open.c", - "output": "lib/CMakeFiles/zip.dir/zip_source_open.c.o" -}, -{ - "directory": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib", - "command": "\"/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc\" @CMakeFiles/zip.dir/includes_C.rsp -fvisibility=hidden -o CMakeFiles/zip.dir/zip_source_pass_to_lower_layer.c.o -c \"/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_pass_to_lower_layer.c\"", - "file": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_pass_to_lower_layer.c", - "output": "lib/CMakeFiles/zip.dir/zip_source_pass_to_lower_layer.c.o" -}, -{ - "directory": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib", - "command": "\"/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc\" @CMakeFiles/zip.dir/includes_C.rsp -fvisibility=hidden -o CMakeFiles/zip.dir/zip_source_pkware_decode.c.o -c \"/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_pkware_decode.c\"", - "file": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_pkware_decode.c", - "output": "lib/CMakeFiles/zip.dir/zip_source_pkware_decode.c.o" -}, -{ - "directory": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib", - "command": "\"/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc\" @CMakeFiles/zip.dir/includes_C.rsp -fvisibility=hidden -o CMakeFiles/zip.dir/zip_source_pkware_encode.c.o -c \"/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_pkware_encode.c\"", - "file": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_pkware_encode.c", - "output": "lib/CMakeFiles/zip.dir/zip_source_pkware_encode.c.o" -}, -{ - "directory": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib", - "command": "\"/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc\" @CMakeFiles/zip.dir/includes_C.rsp -fvisibility=hidden -o CMakeFiles/zip.dir/zip_source_read.c.o -c \"/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_read.c\"", - "file": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_read.c", - "output": "lib/CMakeFiles/zip.dir/zip_source_read.c.o" -}, -{ - "directory": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib", - "command": "\"/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc\" @CMakeFiles/zip.dir/includes_C.rsp -fvisibility=hidden -o CMakeFiles/zip.dir/zip_source_remove.c.o -c \"/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_remove.c\"", - "file": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_remove.c", - "output": "lib/CMakeFiles/zip.dir/zip_source_remove.c.o" -}, -{ - "directory": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib", - "command": "\"/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc\" @CMakeFiles/zip.dir/includes_C.rsp -fvisibility=hidden -o CMakeFiles/zip.dir/zip_source_rollback_write.c.o -c \"/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_rollback_write.c\"", - "file": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_rollback_write.c", - "output": "lib/CMakeFiles/zip.dir/zip_source_rollback_write.c.o" -}, -{ - "directory": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib", - "command": "\"/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc\" @CMakeFiles/zip.dir/includes_C.rsp -fvisibility=hidden -o CMakeFiles/zip.dir/zip_source_seek.c.o -c \"/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_seek.c\"", - "file": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_seek.c", - "output": "lib/CMakeFiles/zip.dir/zip_source_seek.c.o" -}, -{ - "directory": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib", - "command": "\"/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc\" @CMakeFiles/zip.dir/includes_C.rsp -fvisibility=hidden -o CMakeFiles/zip.dir/zip_source_seek_write.c.o -c \"/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_seek_write.c\"", - "file": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_seek_write.c", - "output": "lib/CMakeFiles/zip.dir/zip_source_seek_write.c.o" -}, -{ - "directory": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib", - "command": "\"/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc\" @CMakeFiles/zip.dir/includes_C.rsp -fvisibility=hidden -o CMakeFiles/zip.dir/zip_source_stat.c.o -c \"/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_stat.c\"", - "file": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_stat.c", - "output": "lib/CMakeFiles/zip.dir/zip_source_stat.c.o" -}, -{ - "directory": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib", - "command": "\"/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc\" @CMakeFiles/zip.dir/includes_C.rsp -fvisibility=hidden -o CMakeFiles/zip.dir/zip_source_supports.c.o -c \"/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_supports.c\"", - "file": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_supports.c", - "output": "lib/CMakeFiles/zip.dir/zip_source_supports.c.o" -}, -{ - "directory": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib", - "command": "\"/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc\" @CMakeFiles/zip.dir/includes_C.rsp -fvisibility=hidden -o CMakeFiles/zip.dir/zip_source_tell.c.o -c \"/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_tell.c\"", - "file": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_tell.c", - "output": "lib/CMakeFiles/zip.dir/zip_source_tell.c.o" -}, -{ - "directory": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib", - "command": "\"/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc\" @CMakeFiles/zip.dir/includes_C.rsp -fvisibility=hidden -o CMakeFiles/zip.dir/zip_source_tell_write.c.o -c \"/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_tell_write.c\"", - "file": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_tell_write.c", - "output": "lib/CMakeFiles/zip.dir/zip_source_tell_write.c.o" -}, -{ - "directory": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib", - "command": "\"/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc\" @CMakeFiles/zip.dir/includes_C.rsp -fvisibility=hidden -o CMakeFiles/zip.dir/zip_source_window.c.o -c \"/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_window.c\"", - "file": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_window.c", - "output": "lib/CMakeFiles/zip.dir/zip_source_window.c.o" -}, -{ - "directory": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib", - "command": "\"/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc\" @CMakeFiles/zip.dir/includes_C.rsp -fvisibility=hidden -o CMakeFiles/zip.dir/zip_source_write.c.o -c \"/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_write.c\"", - "file": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_write.c", - "output": "lib/CMakeFiles/zip.dir/zip_source_write.c.o" -}, -{ - "directory": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib", - "command": "\"/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc\" @CMakeFiles/zip.dir/includes_C.rsp -fvisibility=hidden -o CMakeFiles/zip.dir/zip_source_zip.c.o -c \"/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_zip.c\"", - "file": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_zip.c", - "output": "lib/CMakeFiles/zip.dir/zip_source_zip.c.o" -}, -{ - "directory": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib", - "command": "\"/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc\" @CMakeFiles/zip.dir/includes_C.rsp -fvisibility=hidden -o CMakeFiles/zip.dir/zip_source_zip_new.c.o -c \"/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_zip_new.c\"", - "file": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_zip_new.c", - "output": "lib/CMakeFiles/zip.dir/zip_source_zip_new.c.o" -}, -{ - "directory": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib", - "command": "\"/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc\" @CMakeFiles/zip.dir/includes_C.rsp -fvisibility=hidden -o CMakeFiles/zip.dir/zip_stat.c.o -c \"/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_stat.c\"", - "file": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_stat.c", - "output": "lib/CMakeFiles/zip.dir/zip_stat.c.o" -}, -{ - "directory": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib", - "command": "\"/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc\" @CMakeFiles/zip.dir/includes_C.rsp -fvisibility=hidden -o CMakeFiles/zip.dir/zip_stat_index.c.o -c \"/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_stat_index.c\"", - "file": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_stat_index.c", - "output": "lib/CMakeFiles/zip.dir/zip_stat_index.c.o" -}, -{ - "directory": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib", - "command": "\"/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc\" @CMakeFiles/zip.dir/includes_C.rsp -fvisibility=hidden -o CMakeFiles/zip.dir/zip_stat_init.c.o -c \"/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_stat_init.c\"", - "file": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_stat_init.c", - "output": "lib/CMakeFiles/zip.dir/zip_stat_init.c.o" -}, -{ - "directory": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib", - "command": "\"/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc\" @CMakeFiles/zip.dir/includes_C.rsp -fvisibility=hidden -o CMakeFiles/zip.dir/zip_strerror.c.o -c \"/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_strerror.c\"", - "file": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_strerror.c", - "output": "lib/CMakeFiles/zip.dir/zip_strerror.c.o" -}, -{ - "directory": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib", - "command": "\"/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc\" @CMakeFiles/zip.dir/includes_C.rsp -fvisibility=hidden -o CMakeFiles/zip.dir/zip_string.c.o -c \"/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_string.c\"", - "file": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_string.c", - "output": "lib/CMakeFiles/zip.dir/zip_string.c.o" -}, -{ - "directory": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib", - "command": "\"/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc\" @CMakeFiles/zip.dir/includes_C.rsp -fvisibility=hidden -o CMakeFiles/zip.dir/zip_unchange.c.o -c \"/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_unchange.c\"", - "file": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_unchange.c", - "output": "lib/CMakeFiles/zip.dir/zip_unchange.c.o" -}, -{ - "directory": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib", - "command": "\"/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc\" @CMakeFiles/zip.dir/includes_C.rsp -fvisibility=hidden -o CMakeFiles/zip.dir/zip_unchange_all.c.o -c \"/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_unchange_all.c\"", - "file": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_unchange_all.c", - "output": "lib/CMakeFiles/zip.dir/zip_unchange_all.c.o" -}, -{ - "directory": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib", - "command": "\"/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc\" @CMakeFiles/zip.dir/includes_C.rsp -fvisibility=hidden -o CMakeFiles/zip.dir/zip_unchange_archive.c.o -c \"/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_unchange_archive.c\"", - "file": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_unchange_archive.c", - "output": "lib/CMakeFiles/zip.dir/zip_unchange_archive.c.o" -}, -{ - "directory": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib", - "command": "\"/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc\" @CMakeFiles/zip.dir/includes_C.rsp -fvisibility=hidden -o CMakeFiles/zip.dir/zip_unchange_data.c.o -c \"/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_unchange_data.c\"", - "file": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_unchange_data.c", - "output": "lib/CMakeFiles/zip.dir/zip_unchange_data.c.o" -}, -{ - "directory": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib", - "command": "\"/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc\" @CMakeFiles/zip.dir/includes_C.rsp -fvisibility=hidden -o CMakeFiles/zip.dir/zip_utf-8.c.o -c \"/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_utf-8.c\"", - "file": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_utf-8.c", - "output": "lib/CMakeFiles/zip.dir/zip_utf-8.c.o" -}, -{ - "directory": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib", - "command": "\"/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc\" @CMakeFiles/zip.dir/includes_C.rsp -fvisibility=hidden -o CMakeFiles/zip.dir/zip_err_str.c.o -c \"/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib/zip_err_str.c\"", - "file": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib/zip_err_str.c", - "output": "lib/CMakeFiles/zip.dir/zip_err_str.c.o" -}, -{ - "directory": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib", - "command": "\"/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc\" @CMakeFiles/zip.dir/includes_C.rsp -fvisibility=hidden -o CMakeFiles/zip.dir/zip_source_file_stdio_named.c.o -c \"/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_file_stdio_named.c\"", - "file": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_file_stdio_named.c", - "output": "lib/CMakeFiles/zip.dir/zip_source_file_stdio_named.c.o" -}, -{ - "directory": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib", - "command": "\"/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc\" @CMakeFiles/zip.dir/includes_C.rsp -fvisibility=hidden -o CMakeFiles/zip.dir/zip_random_unix.c.o -c \"/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_random_unix.c\"", - "file": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_random_unix.c", - "output": "lib/CMakeFiles/zip.dir/zip_random_unix.c.o" -}, -{ - "directory": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/src", - "command": "\"/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc\" @CMakeFiles/zipcmp.dir/includes_C.rsp -o CMakeFiles/zipcmp.dir/zipcmp.c.o -c \"/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/src/zipcmp.c\"", - "file": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/src/zipcmp.c", - "output": "src/CMakeFiles/zipcmp.dir/zipcmp.c.o" -}, -{ - "directory": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/src", - "command": "\"/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc\" @CMakeFiles/zipcmp.dir/includes_C.rsp -o CMakeFiles/zipcmp.dir/diff_output.c.o -c \"/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/src/diff_output.c\"", - "file": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/src/diff_output.c", - "output": "src/CMakeFiles/zipcmp.dir/diff_output.c.o" -}, -{ - "directory": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/src", - "command": "\"/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc\" @CMakeFiles/zipmerge.dir/includes_C.rsp -o CMakeFiles/zipmerge.dir/zipmerge.c.o -c \"/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/src/zipmerge.c\"", - "file": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/src/zipmerge.c", - "output": "src/CMakeFiles/zipmerge.dir/zipmerge.c.o" -}, -{ - "directory": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/src", - "command": "\"/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc\" @CMakeFiles/ziptool.dir/includes_C.rsp -o CMakeFiles/ziptool.dir/ziptool.c.o -c \"/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/src/ziptool.c\"", - "file": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/src/ziptool.c", - "output": "src/CMakeFiles/ziptool.dir/ziptool.c.o" -}, -{ - "directory": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz", - "command": "\"/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc\" @CMakeFiles/zip_read_file_fuzzer.dir/includes_C.rsp -o CMakeFiles/zip_read_file_fuzzer.dir/zip_read_file_fuzzer.c.o -c \"/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/ossfuzz/zip_read_file_fuzzer.c\"", - "file": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/ossfuzz/zip_read_file_fuzzer.c", - "output": "ossfuzz/CMakeFiles/zip_read_file_fuzzer.dir/zip_read_file_fuzzer.c.o" -}, -{ - "directory": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz", - "command": "\"/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc\" @CMakeFiles/zip_read_file_fuzzer.dir/includes_C.rsp -o CMakeFiles/zip_read_file_fuzzer.dir/fuzz_main.c.o -c \"/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/ossfuzz/fuzz_main.c\"", - "file": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/ossfuzz/fuzz_main.c", - "output": "ossfuzz/CMakeFiles/zip_read_file_fuzzer.dir/fuzz_main.c.o" -}, -{ - "directory": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz", - "command": "\"/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc\" @CMakeFiles/zip_read_fuzzer.dir/includes_C.rsp -o CMakeFiles/zip_read_fuzzer.dir/zip_read_fuzzer.c.o -c \"/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/ossfuzz/zip_read_fuzzer.c\"", - "file": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/ossfuzz/zip_read_fuzzer.c", - "output": "ossfuzz/CMakeFiles/zip_read_fuzzer.dir/zip_read_fuzzer.c.o" -}, -{ - "directory": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz", - "command": "\"/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc\" @CMakeFiles/zip_read_fuzzer.dir/includes_C.rsp -o CMakeFiles/zip_read_fuzzer.dir/fuzz_main.c.o -c \"/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/ossfuzz/fuzz_main.c\"", - "file": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/ossfuzz/fuzz_main.c", - "output": "ossfuzz/CMakeFiles/zip_read_fuzzer.dir/fuzz_main.c.o" -}, -{ - "directory": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz", - "command": "\"/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc\" @CMakeFiles/zip_write_encrypt_aes256_file_fuzzer.dir/includes_C.rsp -o CMakeFiles/zip_write_encrypt_aes256_file_fuzzer.dir/zip_write_encrypt_aes256_file_fuzzer.c.o -c \"/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/ossfuzz/zip_write_encrypt_aes256_file_fuzzer.c\"", - "file": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/ossfuzz/zip_write_encrypt_aes256_file_fuzzer.c", - "output": "ossfuzz/CMakeFiles/zip_write_encrypt_aes256_file_fuzzer.dir/zip_write_encrypt_aes256_file_fuzzer.c.o" -}, -{ - "directory": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz", - "command": "\"/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc\" @CMakeFiles/zip_write_encrypt_aes256_file_fuzzer.dir/includes_C.rsp -o CMakeFiles/zip_write_encrypt_aes256_file_fuzzer.dir/fuzz_main.c.o -c \"/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/ossfuzz/fuzz_main.c\"", - "file": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/ossfuzz/fuzz_main.c", - "output": "ossfuzz/CMakeFiles/zip_write_encrypt_aes256_file_fuzzer.dir/fuzz_main.c.o" -}, -{ - "directory": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz", - "command": "\"/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc\" @CMakeFiles/zip_write_encrypt_pkware_file_fuzzer.dir/includes_C.rsp -o CMakeFiles/zip_write_encrypt_pkware_file_fuzzer.dir/zip_write_encrypt_pkware_file_fuzzer.c.o -c \"/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/ossfuzz/zip_write_encrypt_pkware_file_fuzzer.c\"", - "file": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/ossfuzz/zip_write_encrypt_pkware_file_fuzzer.c", - "output": "ossfuzz/CMakeFiles/zip_write_encrypt_pkware_file_fuzzer.dir/zip_write_encrypt_pkware_file_fuzzer.c.o" -}, -{ - "directory": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz", - "command": "\"/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc\" @CMakeFiles/zip_write_encrypt_pkware_file_fuzzer.dir/includes_C.rsp -o CMakeFiles/zip_write_encrypt_pkware_file_fuzzer.dir/fuzz_main.c.o -c \"/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/ossfuzz/fuzz_main.c\"", - "file": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/ossfuzz/fuzz_main.c", - "output": "ossfuzz/CMakeFiles/zip_write_encrypt_pkware_file_fuzzer.dir/fuzz_main.c.o" -}, -{ - "directory": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/examples", - "command": "\"/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc\" @CMakeFiles/add-compressed-data.dir/includes_C.rsp -o CMakeFiles/add-compressed-data.dir/add-compressed-data.c.o -c \"/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/examples/add-compressed-data.c\"", - "file": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/examples/add-compressed-data.c", - "output": "examples/CMakeFiles/add-compressed-data.dir/add-compressed-data.c.o" -}, -{ - "directory": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/examples", - "command": "\"/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc\" @CMakeFiles/autoclose-archive.dir/includes_C.rsp -o CMakeFiles/autoclose-archive.dir/autoclose-archive.c.o -c \"/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/examples/autoclose-archive.c\"", - "file": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/examples/autoclose-archive.c", - "output": "examples/CMakeFiles/autoclose-archive.dir/autoclose-archive.c.o" -}, -{ - "directory": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/examples", - "command": "\"/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc\" @CMakeFiles/in-memory.dir/includes_C.rsp -o CMakeFiles/in-memory.dir/in-memory.c.o -c \"/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/examples/in-memory.c\"", - "file": "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/examples/in-memory.c", - "output": "examples/CMakeFiles/in-memory.dir/in-memory.c.o" -} -] \ No newline at end of file diff --git a/thirdparty/libzip-1.11.3/build-emcmake/config.h b/thirdparty/libzip-1.11.3/build-emcmake/config.h deleted file mode 100644 index 2180487..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/config.h +++ /dev/null @@ -1,75 +0,0 @@ -#ifndef HAD_CONFIG_H -#define HAD_CONFIG_H -#ifndef _HAD_ZIPCONF_H -#include "zipconf.h" -#endif -/* BEGIN DEFINES */ -#define ENABLE_FDOPEN -/* #undef HAVE___PROGNAME */ -/* #undef HAVE__CLOSE */ -/* #undef HAVE__DUP */ -/* #undef HAVE__FDOPEN */ -/* #undef HAVE__FILENO */ -/* #undef HAVE__FSEEKI64 */ -/* #undef HAVE__FSTAT64 */ -/* #undef HAVE__SETMODE */ -/* #undef HAVE__SNPRINTF */ -/* #undef HAVE__SNPRINTF_S */ -/* #undef HAVE__SNWPRINTF_S */ -/* #undef HAVE__STAT64 */ -/* #undef HAVE__STRDUP */ -/* #undef HAVE__STRICMP */ -/* #undef HAVE__STRTOI64 */ -/* #undef HAVE__STRTOUI64 */ -/* #undef HAVE__UNLINK */ -/* #undef HAVE_ARC4RANDOM */ -/* #undef HAVE_CLONEFILE */ -/* #undef HAVE_COMMONCRYPTO */ -/* #undef HAVE_CRYPTO */ -/* #undef HAVE_FICLONERANGE */ -#define HAVE_FILENO -#define HAVE_FCHMOD -#define HAVE_FSEEKO -#define HAVE_FTELLO -/* #undef HAVE_GETPROGNAME */ -/* #undef HAVE_GETSECURITYINFO */ -/* #undef HAVE_GNUTLS */ -/* #undef HAVE_LIBBZ2 */ -/* #undef HAVE_LIBLZMA */ -/* #undef HAVE_LIBZSTD */ -#define HAVE_LOCALTIME_R -/* #undef HAVE_LOCALTIME_S */ -/* #undef HAVE_MEMCPY_S */ -/* #undef HAVE_MBEDTLS */ -/* #undef HAVE_MKSTEMP */ -/* #undef HAVE_OPENSSL */ -/* #undef HAVE_SETMODE */ -#define HAVE_SNPRINTF -/* #undef HAVE_SNPRINTF_S */ -#define HAVE_STRCASECMP -#define HAVE_STRDUP -/* #undef HAVE_STRERROR_S */ -/* #undef HAVE_STRERRORLEN_S */ -/* #undef HAVE_STRICMP */ -/* #undef HAVE_STRNCPY_S */ -#define HAVE_STRTOLL -#define HAVE_STRTOULL -/* #undef HAVE_STRUCT_TM_TM_ZONE */ -#define HAVE_STDBOOL_H -#define HAVE_STRINGS_H -#define HAVE_UNISTD_H -/* #undef HAVE_WINDOWS_CRYPTO */ -#define SIZEOF_OFF_T 8 -#define SIZEOF_SIZE_T 4 -/* #undef HAVE_DIRENT_H */ -/* #undef HAVE_FTS_H */ -/* #undef HAVE_NDIR_H */ -/* #undef HAVE_SYS_DIR_H */ -/* #undef HAVE_SYS_NDIR_H */ -/* #undef WORDS_BIGENDIAN */ -#define HAVE_SHARED -/* END DEFINES */ -#define PACKAGE "libzip" -#define VERSION "1.11.3" - -#endif /* HAD_CONFIG_H */ diff --git a/thirdparty/libzip-1.11.3/build-emcmake/examples/CMakeFiles/CMakeDirectoryInformation.cmake b/thirdparty/libzip-1.11.3/build-emcmake/examples/CMakeFiles/CMakeDirectoryInformation.cmake deleted file mode 100644 index ea55061..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/examples/CMakeFiles/CMakeDirectoryInformation.cmake +++ /dev/null @@ -1,16 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.28 - -# Relative path conversion top directories. -set(CMAKE_RELATIVE_PATH_TOP_SOURCE "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3") -set(CMAKE_RELATIVE_PATH_TOP_BINARY "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake") - -# Force unix paths in dependencies. -set(CMAKE_FORCE_UNIX_PATHS 1) - - -# The C and CXX include file regular expressions for this directory. -set(CMAKE_C_INCLUDE_REGEX_SCAN "^.*$") -set(CMAKE_C_INCLUDE_REGEX_COMPLAIN "^$") -set(CMAKE_CXX_INCLUDE_REGEX_SCAN ${CMAKE_C_INCLUDE_REGEX_SCAN}) -set(CMAKE_CXX_INCLUDE_REGEX_COMPLAIN ${CMAKE_C_INCLUDE_REGEX_COMPLAIN}) diff --git a/thirdparty/libzip-1.11.3/build-emcmake/examples/CMakeFiles/add-compressed-data.dir/DependInfo.cmake b/thirdparty/libzip-1.11.3/build-emcmake/examples/CMakeFiles/add-compressed-data.dir/DependInfo.cmake deleted file mode 100644 index f05b574..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/examples/CMakeFiles/add-compressed-data.dir/DependInfo.cmake +++ /dev/null @@ -1,23 +0,0 @@ - -# Consider dependencies only in project. -set(CMAKE_DEPENDS_IN_PROJECT_ONLY OFF) - -# The set of languages for which implicit dependencies are needed: -set(CMAKE_DEPENDS_LANGUAGES - ) - -# The set of dependency files which are needed: -set(CMAKE_DEPENDS_DEPENDENCY_FILES - "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/examples/add-compressed-data.c" "examples/CMakeFiles/add-compressed-data.dir/add-compressed-data.c.o" "gcc" "examples/CMakeFiles/add-compressed-data.dir/add-compressed-data.c.o.d" - ) - -# Targets to which this target links which contain Fortran sources. -set(CMAKE_Fortran_TARGET_LINKED_INFO_FILES - ) - -# Targets to which this target links which contain Fortran sources. -set(CMAKE_Fortran_TARGET_FORWARD_LINKED_INFO_FILES - ) - -# Fortran module output directory. -set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/thirdparty/libzip-1.11.3/build-emcmake/examples/CMakeFiles/add-compressed-data.dir/add-compressed-data.c.o b/thirdparty/libzip-1.11.3/build-emcmake/examples/CMakeFiles/add-compressed-data.dir/add-compressed-data.c.o deleted file mode 100644 index 6d6d885adbb2dbfa46f37588fb9a0f8dcd3423ae..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4318 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 CMakeFiles/add-compressed-data.dir/add-compressed-data.c.i - -examples/CMakeFiles/add-compressed-data.dir/add-compressed-data.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/add-compressed-data.dir/add-compressed-data.c.s" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/examples" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/examples/add-compressed-data.c" -o CMakeFiles/add-compressed-data.dir/add-compressed-data.c.s - -# Object files for target add-compressed-data -add__compressed__data_OBJECTS = \ -"CMakeFiles/add-compressed-data.dir/add-compressed-data.c.o" - -# External object files for target add-compressed-data -add__compressed__data_EXTERNAL_OBJECTS = - -examples/add-compressed-data.js: examples/CMakeFiles/add-compressed-data.dir/add-compressed-data.c.o -examples/add-compressed-data.js: examples/CMakeFiles/add-compressed-data.dir/build.make -examples/add-compressed-data.js: lib/libzip.a -examples/add-compressed-data.js: /home/romazan/Рабочий\ стол/cproject/thirdparty/zlib-1.3.1/install/lib/libz.a -examples/add-compressed-data.js: examples/CMakeFiles/add-compressed-data.dir/linkLibs.rsp -examples/add-compressed-data.js: examples/CMakeFiles/add-compressed-data.dir/objects1.rsp -examples/add-compressed-data.js: examples/CMakeFiles/add-compressed-data.dir/link.txt - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_2) "Linking C executable add-compressed-data.js" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/examples" && $(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/add-compressed-data.dir/link.txt --verbose=$(VERBOSE) - -# Rule to build all files generated by this target. -examples/CMakeFiles/add-compressed-data.dir/build: examples/add-compressed-data.js -.PHONY : examples/CMakeFiles/add-compressed-data.dir/build - -examples/CMakeFiles/add-compressed-data.dir/clean: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/examples" && $(CMAKE_COMMAND) -P CMakeFiles/add-compressed-data.dir/cmake_clean.cmake -.PHONY : examples/CMakeFiles/add-compressed-data.dir/clean - -examples/CMakeFiles/add-compressed-data.dir/depend: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3" "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/examples" "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/examples" "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/examples/CMakeFiles/add-compressed-data.dir/DependInfo.cmake" "--color=$(COLOR)" -.PHONY : examples/CMakeFiles/add-compressed-data.dir/depend - diff --git a/thirdparty/libzip-1.11.3/build-emcmake/examples/CMakeFiles/add-compressed-data.dir/cmake_clean.cmake b/thirdparty/libzip-1.11.3/build-emcmake/examples/CMakeFiles/add-compressed-data.dir/cmake_clean.cmake deleted file mode 100644 index a5dcade..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/examples/CMakeFiles/add-compressed-data.dir/cmake_clean.cmake +++ /dev/null @@ -1,11 +0,0 @@ -file(REMOVE_RECURSE - "CMakeFiles/add-compressed-data.dir/add-compressed-data.c.o" - "CMakeFiles/add-compressed-data.dir/add-compressed-data.c.o.d" - "add-compressed-data.js" - "add-compressed-data.pdb" -) - -# Per-language clean rules from dependency scanning. -foreach(lang C) - include(CMakeFiles/add-compressed-data.dir/cmake_clean_${lang}.cmake OPTIONAL) -endforeach() diff --git a/thirdparty/libzip-1.11.3/build-emcmake/examples/CMakeFiles/add-compressed-data.dir/compiler_depend.make b/thirdparty/libzip-1.11.3/build-emcmake/examples/CMakeFiles/add-compressed-data.dir/compiler_depend.make deleted file mode 100644 index 9dbf38e..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/examples/CMakeFiles/add-compressed-data.dir/compiler_depend.make +++ /dev/null @@ -1,2 +0,0 @@ -# Empty compiler generated dependencies file for add-compressed-data. -# This may be replaced when dependencies are built. diff --git a/thirdparty/libzip-1.11.3/build-emcmake/examples/CMakeFiles/add-compressed-data.dir/compiler_depend.ts b/thirdparty/libzip-1.11.3/build-emcmake/examples/CMakeFiles/add-compressed-data.dir/compiler_depend.ts deleted file mode 100644 index dcfb961..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/examples/CMakeFiles/add-compressed-data.dir/compiler_depend.ts +++ /dev/null @@ -1,2 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Timestamp file for compiler generated dependencies management for add-compressed-data. diff --git a/thirdparty/libzip-1.11.3/build-emcmake/examples/CMakeFiles/add-compressed-data.dir/depend.make b/thirdparty/libzip-1.11.3/build-emcmake/examples/CMakeFiles/add-compressed-data.dir/depend.make deleted file mode 100644 index 427a796..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/examples/CMakeFiles/add-compressed-data.dir/depend.make +++ /dev/null @@ -1,2 +0,0 @@ -# Empty dependencies file for add-compressed-data. -# This may be replaced when dependencies are built. diff --git a/thirdparty/libzip-1.11.3/build-emcmake/examples/CMakeFiles/add-compressed-data.dir/flags.make b/thirdparty/libzip-1.11.3/build-emcmake/examples/CMakeFiles/add-compressed-data.dir/flags.make deleted file mode 100644 index a6d6e23..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/examples/CMakeFiles/add-compressed-data.dir/flags.make +++ /dev/null @@ -1,10 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.28 - -# compile C with /home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc -C_DEFINES = - -C_INCLUDES = @CMakeFiles/add-compressed-data.dir/includes_C.rsp - -C_FLAGS = - diff --git a/thirdparty/libzip-1.11.3/build-emcmake/examples/CMakeFiles/add-compressed-data.dir/link.txt b/thirdparty/libzip-1.11.3/build-emcmake/examples/CMakeFiles/add-compressed-data.dir/link.txt deleted file mode 100644 index 7828bc2..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/examples/CMakeFiles/add-compressed-data.dir/link.txt +++ /dev/null @@ -1 +0,0 @@ -"/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" @CMakeFiles/add-compressed-data.dir/objects1.rsp -o add-compressed-data.js @CMakeFiles/add-compressed-data.dir/linkLibs.rsp diff --git a/thirdparty/libzip-1.11.3/build-emcmake/examples/CMakeFiles/add-compressed-data.dir/progress.make b/thirdparty/libzip-1.11.3/build-emcmake/examples/CMakeFiles/add-compressed-data.dir/progress.make deleted file mode 100644 index 6c287f1..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/examples/CMakeFiles/add-compressed-data.dir/progress.make +++ /dev/null @@ -1,3 +0,0 @@ -CMAKE_PROGRESS_1 = -CMAKE_PROGRESS_2 = - diff --git a/thirdparty/libzip-1.11.3/build-emcmake/examples/CMakeFiles/autoclose-archive.dir/DependInfo.cmake b/thirdparty/libzip-1.11.3/build-emcmake/examples/CMakeFiles/autoclose-archive.dir/DependInfo.cmake deleted file mode 100644 index 3005dc8..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/examples/CMakeFiles/autoclose-archive.dir/DependInfo.cmake +++ /dev/null @@ -1,23 +0,0 @@ - -# Consider dependencies only in project. -set(CMAKE_DEPENDS_IN_PROJECT_ONLY OFF) - -# The set of languages for which implicit dependencies are needed: -set(CMAKE_DEPENDS_LANGUAGES - ) - -# The set of dependency files which are needed: -set(CMAKE_DEPENDS_DEPENDENCY_FILES - "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/examples/autoclose-archive.c" "examples/CMakeFiles/autoclose-archive.dir/autoclose-archive.c.o" "gcc" "examples/CMakeFiles/autoclose-archive.dir/autoclose-archive.c.o.d" - ) - -# Targets to which this target links which contain Fortran sources. -set(CMAKE_Fortran_TARGET_LINKED_INFO_FILES - ) - -# Targets to which this target links which contain Fortran sources. -set(CMAKE_Fortran_TARGET_FORWARD_LINKED_INFO_FILES - ) - -# Fortran module output directory. -set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/thirdparty/libzip-1.11.3/build-emcmake/examples/CMakeFiles/autoclose-archive.dir/autoclose-archive.c.o b/thirdparty/libzip-1.11.3/build-emcmake/examples/CMakeFiles/autoclose-archive.dir/autoclose-archive.c.o deleted file mode 100644 index d283bda191c5957c9054edee26cf075211e8eca3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4566 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 CMakeFiles/autoclose-archive.dir/autoclose-archive.c.i - -examples/CMakeFiles/autoclose-archive.dir/autoclose-archive.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/autoclose-archive.dir/autoclose-archive.c.s" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/examples" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/examples/autoclose-archive.c" -o CMakeFiles/autoclose-archive.dir/autoclose-archive.c.s - -# Object files for target autoclose-archive -autoclose__archive_OBJECTS = \ -"CMakeFiles/autoclose-archive.dir/autoclose-archive.c.o" - -# External object files for target autoclose-archive -autoclose__archive_EXTERNAL_OBJECTS = - -examples/autoclose-archive.js: examples/CMakeFiles/autoclose-archive.dir/autoclose-archive.c.o -examples/autoclose-archive.js: examples/CMakeFiles/autoclose-archive.dir/build.make -examples/autoclose-archive.js: lib/libzip.a -examples/autoclose-archive.js: /home/romazan/Рабочий\ стол/cproject/thirdparty/zlib-1.3.1/install/lib/libz.a -examples/autoclose-archive.js: examples/CMakeFiles/autoclose-archive.dir/linkLibs.rsp -examples/autoclose-archive.js: examples/CMakeFiles/autoclose-archive.dir/objects1.rsp -examples/autoclose-archive.js: examples/CMakeFiles/autoclose-archive.dir/link.txt - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_2) "Linking C executable autoclose-archive.js" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/examples" && $(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/autoclose-archive.dir/link.txt --verbose=$(VERBOSE) - -# Rule to build all files generated by this target. -examples/CMakeFiles/autoclose-archive.dir/build: examples/autoclose-archive.js -.PHONY : examples/CMakeFiles/autoclose-archive.dir/build - -examples/CMakeFiles/autoclose-archive.dir/clean: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/examples" && $(CMAKE_COMMAND) -P CMakeFiles/autoclose-archive.dir/cmake_clean.cmake -.PHONY : examples/CMakeFiles/autoclose-archive.dir/clean - -examples/CMakeFiles/autoclose-archive.dir/depend: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3" "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/examples" "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/examples" "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/examples/CMakeFiles/autoclose-archive.dir/DependInfo.cmake" "--color=$(COLOR)" -.PHONY : examples/CMakeFiles/autoclose-archive.dir/depend - diff --git a/thirdparty/libzip-1.11.3/build-emcmake/examples/CMakeFiles/autoclose-archive.dir/cmake_clean.cmake b/thirdparty/libzip-1.11.3/build-emcmake/examples/CMakeFiles/autoclose-archive.dir/cmake_clean.cmake deleted file mode 100644 index e4330c3..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/examples/CMakeFiles/autoclose-archive.dir/cmake_clean.cmake +++ /dev/null @@ -1,11 +0,0 @@ -file(REMOVE_RECURSE - "CMakeFiles/autoclose-archive.dir/autoclose-archive.c.o" - "CMakeFiles/autoclose-archive.dir/autoclose-archive.c.o.d" - "autoclose-archive.js" - "autoclose-archive.pdb" -) - -# Per-language clean rules from dependency scanning. -foreach(lang C) - include(CMakeFiles/autoclose-archive.dir/cmake_clean_${lang}.cmake OPTIONAL) -endforeach() diff --git a/thirdparty/libzip-1.11.3/build-emcmake/examples/CMakeFiles/autoclose-archive.dir/compiler_depend.make b/thirdparty/libzip-1.11.3/build-emcmake/examples/CMakeFiles/autoclose-archive.dir/compiler_depend.make deleted file mode 100644 index f18e269..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/examples/CMakeFiles/autoclose-archive.dir/compiler_depend.make +++ /dev/null @@ -1,2 +0,0 @@ -# Empty compiler generated dependencies file for autoclose-archive. -# This may be replaced when dependencies are built. diff --git a/thirdparty/libzip-1.11.3/build-emcmake/examples/CMakeFiles/autoclose-archive.dir/compiler_depend.ts b/thirdparty/libzip-1.11.3/build-emcmake/examples/CMakeFiles/autoclose-archive.dir/compiler_depend.ts deleted file mode 100644 index e1976b1..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/examples/CMakeFiles/autoclose-archive.dir/compiler_depend.ts +++ /dev/null @@ -1,2 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Timestamp file for compiler generated dependencies management for autoclose-archive. diff --git a/thirdparty/libzip-1.11.3/build-emcmake/examples/CMakeFiles/autoclose-archive.dir/depend.make b/thirdparty/libzip-1.11.3/build-emcmake/examples/CMakeFiles/autoclose-archive.dir/depend.make deleted file mode 100644 index 59d6052..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/examples/CMakeFiles/autoclose-archive.dir/depend.make +++ /dev/null @@ -1,2 +0,0 @@ -# Empty dependencies file for autoclose-archive. -# This may be replaced when dependencies are built. diff --git a/thirdparty/libzip-1.11.3/build-emcmake/examples/CMakeFiles/autoclose-archive.dir/flags.make b/thirdparty/libzip-1.11.3/build-emcmake/examples/CMakeFiles/autoclose-archive.dir/flags.make deleted file mode 100644 index c0f26ae..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/examples/CMakeFiles/autoclose-archive.dir/flags.make +++ /dev/null @@ -1,10 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.28 - -# compile C with /home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc -C_DEFINES = - -C_INCLUDES = @CMakeFiles/autoclose-archive.dir/includes_C.rsp - -C_FLAGS = - diff --git a/thirdparty/libzip-1.11.3/build-emcmake/examples/CMakeFiles/autoclose-archive.dir/link.txt b/thirdparty/libzip-1.11.3/build-emcmake/examples/CMakeFiles/autoclose-archive.dir/link.txt deleted file mode 100644 index 5f4f5b9..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/examples/CMakeFiles/autoclose-archive.dir/link.txt +++ /dev/null @@ -1 +0,0 @@ -"/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" @CMakeFiles/autoclose-archive.dir/objects1.rsp -o autoclose-archive.js @CMakeFiles/autoclose-archive.dir/linkLibs.rsp diff --git a/thirdparty/libzip-1.11.3/build-emcmake/examples/CMakeFiles/autoclose-archive.dir/progress.make b/thirdparty/libzip-1.11.3/build-emcmake/examples/CMakeFiles/autoclose-archive.dir/progress.make deleted file mode 100644 index 6c287f1..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/examples/CMakeFiles/autoclose-archive.dir/progress.make +++ /dev/null @@ -1,3 +0,0 @@ -CMAKE_PROGRESS_1 = -CMAKE_PROGRESS_2 = - diff --git a/thirdparty/libzip-1.11.3/build-emcmake/examples/CMakeFiles/in-memory.dir/DependInfo.cmake b/thirdparty/libzip-1.11.3/build-emcmake/examples/CMakeFiles/in-memory.dir/DependInfo.cmake deleted file mode 100644 index 1dc43a1..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/examples/CMakeFiles/in-memory.dir/DependInfo.cmake +++ /dev/null @@ -1,23 +0,0 @@ - -# Consider dependencies only in project. -set(CMAKE_DEPENDS_IN_PROJECT_ONLY OFF) - -# The set of languages for which implicit dependencies are needed: -set(CMAKE_DEPENDS_LANGUAGES - ) - -# The set of dependency files which are needed: -set(CMAKE_DEPENDS_DEPENDENCY_FILES - "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/examples/in-memory.c" "examples/CMakeFiles/in-memory.dir/in-memory.c.o" "gcc" "examples/CMakeFiles/in-memory.dir/in-memory.c.o.d" - ) - -# Targets to which this target links which contain Fortran sources. -set(CMAKE_Fortran_TARGET_LINKED_INFO_FILES - ) - -# Targets to which this target links which contain Fortran sources. -set(CMAKE_Fortran_TARGET_FORWARD_LINKED_INFO_FILES - ) - -# Fortran module output directory. -set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/thirdparty/libzip-1.11.3/build-emcmake/examples/CMakeFiles/in-memory.dir/build.make b/thirdparty/libzip-1.11.3/build-emcmake/examples/CMakeFiles/in-memory.dir/build.make deleted file mode 100644 index 10ef4ca..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/examples/CMakeFiles/in-memory.dir/build.make +++ /dev/null @@ -1,115 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.28 - -# Delete rule output on recipe failure. -.DELETE_ON_ERROR: - -#============================================================================= -# Special targets provided by cmake. - -# Disable implicit rules so canonical targets will work. -.SUFFIXES: - -# Disable VCS-based implicit rules. -% : %,v - -# Disable VCS-based implicit rules. -% : RCS/% - -# Disable VCS-based implicit rules. -% : RCS/%,v - -# Disable VCS-based implicit rules. -% : SCCS/s.% - -# Disable VCS-based implicit rules. -% : s.% - -.SUFFIXES: .hpux_make_needs_suffix_list - -# Command-line flag to silence nested $(MAKE). -$(VERBOSE)MAKESILENT = -s - -#Suppress display of executed commands. -$(VERBOSE).SILENT: - -# A target that is always out of date. -cmake_force: -.PHONY : cmake_force - -#============================================================================= -# Set environment variables for the build. - -# The shell in which to execute make rules. -SHELL = /bin/sh - -# The CMake executable. -CMAKE_COMMAND = /usr/bin/cmake - -# The command to remove a file. -RM = /usr/bin/cmake -E rm -f - -# Escaping for special characters. -EQUALS = = - -# The top-level source directory on which CMake was run. -CMAKE_SOURCE_DIR = "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3" - -# The top-level build directory on which CMake was run. -CMAKE_BINARY_DIR = "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" - -# Include any dependencies generated for this target. -include examples/CMakeFiles/in-memory.dir/depend.make -# Include any dependencies generated by the compiler for this target. -include examples/CMakeFiles/in-memory.dir/compiler_depend.make - -# Include the progress variables for this target. -include examples/CMakeFiles/in-memory.dir/progress.make - -# Include the compile flags for this target's objects. -include examples/CMakeFiles/in-memory.dir/flags.make - -examples/CMakeFiles/in-memory.dir/in-memory.c.o: examples/CMakeFiles/in-memory.dir/flags.make -examples/CMakeFiles/in-memory.dir/in-memory.c.o: examples/CMakeFiles/in-memory.dir/includes_C.rsp -examples/CMakeFiles/in-memory.dir/in-memory.c.o: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/examples/in-memory.c -examples/CMakeFiles/in-memory.dir/in-memory.c.o: examples/CMakeFiles/in-memory.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_1) "Building C object examples/CMakeFiles/in-memory.dir/in-memory.c.o" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/examples" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT examples/CMakeFiles/in-memory.dir/in-memory.c.o -MF CMakeFiles/in-memory.dir/in-memory.c.o.d -o CMakeFiles/in-memory.dir/in-memory.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/examples/in-memory.c" - -examples/CMakeFiles/in-memory.dir/in-memory.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/in-memory.dir/in-memory.c.i" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/examples" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/examples/in-memory.c" > CMakeFiles/in-memory.dir/in-memory.c.i - -examples/CMakeFiles/in-memory.dir/in-memory.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/in-memory.dir/in-memory.c.s" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/examples" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/examples/in-memory.c" -o CMakeFiles/in-memory.dir/in-memory.c.s - -# Object files for target in-memory -in__memory_OBJECTS = \ -"CMakeFiles/in-memory.dir/in-memory.c.o" - -# External object files for target in-memory -in__memory_EXTERNAL_OBJECTS = - -examples/in-memory.js: examples/CMakeFiles/in-memory.dir/in-memory.c.o -examples/in-memory.js: examples/CMakeFiles/in-memory.dir/build.make -examples/in-memory.js: lib/libzip.a -examples/in-memory.js: /home/romazan/Рабочий\ стол/cproject/thirdparty/zlib-1.3.1/install/lib/libz.a -examples/in-memory.js: examples/CMakeFiles/in-memory.dir/linkLibs.rsp -examples/in-memory.js: examples/CMakeFiles/in-memory.dir/objects1.rsp -examples/in-memory.js: examples/CMakeFiles/in-memory.dir/link.txt - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_2) "Linking C executable in-memory.js" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/examples" && $(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/in-memory.dir/link.txt --verbose=$(VERBOSE) - -# Rule to build all files generated by this target. -examples/CMakeFiles/in-memory.dir/build: examples/in-memory.js -.PHONY : examples/CMakeFiles/in-memory.dir/build - -examples/CMakeFiles/in-memory.dir/clean: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/examples" && $(CMAKE_COMMAND) -P CMakeFiles/in-memory.dir/cmake_clean.cmake -.PHONY : examples/CMakeFiles/in-memory.dir/clean - -examples/CMakeFiles/in-memory.dir/depend: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3" "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/examples" "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/examples" "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/examples/CMakeFiles/in-memory.dir/DependInfo.cmake" "--color=$(COLOR)" -.PHONY : examples/CMakeFiles/in-memory.dir/depend - diff --git a/thirdparty/libzip-1.11.3/build-emcmake/examples/CMakeFiles/in-memory.dir/cmake_clean.cmake b/thirdparty/libzip-1.11.3/build-emcmake/examples/CMakeFiles/in-memory.dir/cmake_clean.cmake deleted file mode 100644 index 0ddc3ca..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/examples/CMakeFiles/in-memory.dir/cmake_clean.cmake +++ /dev/null @@ -1,11 +0,0 @@ -file(REMOVE_RECURSE - "CMakeFiles/in-memory.dir/in-memory.c.o" - "CMakeFiles/in-memory.dir/in-memory.c.o.d" - "in-memory.js" - "in-memory.pdb" -) - -# Per-language clean rules from dependency scanning. -foreach(lang C) - include(CMakeFiles/in-memory.dir/cmake_clean_${lang}.cmake OPTIONAL) -endforeach() diff --git a/thirdparty/libzip-1.11.3/build-emcmake/examples/CMakeFiles/in-memory.dir/compiler_depend.make b/thirdparty/libzip-1.11.3/build-emcmake/examples/CMakeFiles/in-memory.dir/compiler_depend.make deleted file mode 100644 index 68570ef..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/examples/CMakeFiles/in-memory.dir/compiler_depend.make +++ /dev/null @@ -1,2 +0,0 @@ -# Empty compiler generated dependencies file for in-memory. -# This may be replaced when dependencies are built. diff --git a/thirdparty/libzip-1.11.3/build-emcmake/examples/CMakeFiles/in-memory.dir/compiler_depend.ts b/thirdparty/libzip-1.11.3/build-emcmake/examples/CMakeFiles/in-memory.dir/compiler_depend.ts deleted file mode 100644 index 0e5790e..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/examples/CMakeFiles/in-memory.dir/compiler_depend.ts +++ /dev/null @@ -1,2 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Timestamp file for compiler generated dependencies management for in-memory. diff --git a/thirdparty/libzip-1.11.3/build-emcmake/examples/CMakeFiles/in-memory.dir/depend.make b/thirdparty/libzip-1.11.3/build-emcmake/examples/CMakeFiles/in-memory.dir/depend.make deleted file mode 100644 index a9dbac9..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/examples/CMakeFiles/in-memory.dir/depend.make +++ /dev/null @@ -1,2 +0,0 @@ -# Empty dependencies file for in-memory. -# This may be replaced when dependencies are built. diff --git a/thirdparty/libzip-1.11.3/build-emcmake/examples/CMakeFiles/in-memory.dir/flags.make b/thirdparty/libzip-1.11.3/build-emcmake/examples/CMakeFiles/in-memory.dir/flags.make deleted file mode 100644 index 7528ea1..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/examples/CMakeFiles/in-memory.dir/flags.make +++ /dev/null @@ -1,10 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.28 - -# compile C with /home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc -C_DEFINES = - -C_INCLUDES = @CMakeFiles/in-memory.dir/includes_C.rsp - -C_FLAGS = - diff --git a/thirdparty/libzip-1.11.3/build-emcmake/examples/CMakeFiles/in-memory.dir/in-memory.c.o b/thirdparty/libzip-1.11.3/build-emcmake/examples/CMakeFiles/in-memory.dir/in-memory.c.o deleted file mode 100644 index 2537fa7d8911f1da734a25fd2fd09297634bb654..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6533 zcmZu$d30OVng8y4Pm3kndbYev4&P1e#E$n(j+2mBBypVJtj$8p;>hxoBiWX$#evWg z8;DsG5+FbVVQE7NX&@;SNGPSyIXzR_lNo3^Glw~JPAS85hBF-6KPl5$zI)$Oq{RFo zKfT|#{l4$s@7}9x2&E?(0I*kQXJ^5=N12&nGkeq-`Cv1!N1HideJ31D*#UNdaH*r5 zJxF%7suADk86KX9#*I*Fc+!|mr1mSoEI6GBg~x}d647|ZNU1Xtc0{I9^d2#lif@lj z4I8OcA~hV1M>C)Z%PIk;6Vs`%F+4IIi5RKjaLNc}3{Zu*G-s2}q@*!uLZC%bhGDwM z^BW<@CRip66H`WfIFd?CS`jR=c_DLNJbCE2VN98B3IrOSNTdxjY@yV;f=PLvVKhBF zYD^dzW7Jg7cS;4y00{1So<&|t`O1R1>B2r4nwUt0%@=)G6fm9`CM1-JCgNZd4xLxl zCf|P^_k90U;!&^*TU$iNlEmzh=!6kZn6Ye;9AkSV&yS6YM%E5tZBNlO*k={T9=SCY zrIB-}b7G=tz%*8Pr}(P7E<7WUfA$pA&9DPE(5G%jIiS$9YGx5>%mP<}e_>oj1=Vq` zp;jl+AaEOMXbUJ`FnU5j`A_j=0p&A#HqaZl2Nmu>J30orGst)WIwkFIq^ zKrY=P&&WZyH1Wl<23(FBz|-_sSTr!YW>k62+E9KLzdTAfrFPAM|#H?=g9d&T&T;c3PKcgk$6(DI;`XMSpPC# zO!iBJQ3Dw@#CRh%@};;47vmCKs^29EG?Az&p!}W@k!Ebd<^kS9X06zQtx4WSMB2>S zwPSm>b{)cJCmD9eco%l@ZtT|Ymfm^@>d^!r^jKTpr^qa0Oq9D|I<_h{?4CUz=C?-!s07xULo^{Uqy;@gN5Ib+`&w<8}Hy zGVmG_tO+O|iLBP*8eBWT*O9LQT!#ZmzMisLZ)P=!gW0S$2#*`daAS;LkJs}d9I~?7 zMBt`?g29)h^UXozTL{_`<6Ch9ZpN*7SrNT$xJ|z|o7Hww+#ciK!f){%xZ`qGI|<&I zH>|tpeOHX{#@+k|yunlxMIv|K#&7HQ33uZCBgVgj-_f5I?==>1Bi^XrFPYs$>E4Vt z;mw2m7D{&*Z^7Xt-$Uu{G1CoUD4Xtxu%`JMw!DnusQ!TTVh|T2pmftC98lVWmn0eq zw(~K9#$tRgj$j1$=DH(Fc=XCKieXHDP#TWQ4jeZLOpxY8fM%=JN0i@WaF+2n;qe$x zV1iHKBu?pvq-~NCN?{UHgFH4+mKP;{H<9=%d zZzuP+2bBKcms0TE;Jd)TN7(mb{0_Vozl(R|k~u*50hx?Kt=^~}XM6@{PV-r@;LOsB z^Gn(46zNWecQXAU>GCcy)$V3^7sI>RAV0{6?i|B|4Ch#q-@}OVJ2SkhZsJ@ayc9k(j#O< z3zo=2t_w#Q9%cFwN%vu)@GvR7CwM=?=sP~b2Kb|b_c4Z#GCW4S9}~PEvv@zw@bSyM zpJ4h?>FGGbfZ%eggcYfKL+Xrx`xM@F|8*XGvRw z_YA{lnEr@xB9`4}g~7A=c~IG(BTz1Q-|p(v6!6EycPe;Z=KTr_{ss7}0)Cb9{s}|!@e0GAT$T503}4IUZDsd5!`GR$ zJTm@xwO_sd8psj3j)+`$nTQOz2G@vm*P>1ET8HaS)44!adOd|6#I-nx1Grv4E(^QCRNIIf zPt&Pj175#@50Tm?9KuaWzL^+qHW_ZgEm?+Jtpabe3cMY+i->dvunN3`SnUWXb@bRK z&J{=LECzgM5cw{G$XAPpCI8z^sRiIkb@RS_HTCAdG&RYc*keqsZi1uNk zX|?x|)!qFZgBPV8r#9!-3MYF!psXbQMYs?b4e&amT90*DpX7@vt;HtUCAcI@w!tLZ zXpxoO4!jAQEV9kSf_hoBbfai#bIEF<@oOchHOAYpfsXubxz($k@OHu5oDqYf_ZyV8 z)cf>U$-9VAH=XIbv6CAANjVNZrbYmJFtCC5k_I(5E=%%0;@oF)UXIJNoL88fS6ZB9 zivwSUt1Ql|iNR{KOIC_5c}o_mpSmPSl3_BD#%M>+J-|)Bg}|qwY6}()wsE0HV0WV<&0RkAWfCdP97dXqVlD?T(3_uaj1| z%j0&xOuw=~r)|RRolb|wjOAFL#!xD}H@eSo0R+A7>ToE&B!lMF37YpQLQ6=S-Dpb1 z4}GM&2NYK#S1DZr_d?5uxb2W?Rs>v9pI(x6_9eJ0O+9ftaFvremKDlSSJI#*#%tbX zU?fEM45L|>=b4+EF2%h9j)pR!Z({fXbE~Nl%I8CJl$TI_I_v09mj#krPVm>uyyRU9 z-7cYd*CfhwRLQ!N;d54}6nA-+m$>Aha%Ll4RNU&Vg3DWqyUf&)S06c*-_Y+^aL`@Z zcr-qyIA_HOc7W!i8=T2dG(H?kjfKUZeToiDx2H3sbg{z}d+SguUFHCIX}m%4JI9R7 zu&4;=40Hu_l_^eBr?rDYHRu}XHqh-kxRZ_;pgTZ!f>K*NnHY^m_ERJ|SwJtKyO^AA zmkJ9(cY|ICdQlGU)}Rvf;vCRp6MzSF9rThM9Iy+XrJ#FrSg!*(C<~m^X+sjvNtQW5 z1-&c>^c4v6a?mT7Qjkrm-6g=vJfy=df>-4sorOZDIuGe8g7UoA?qU(DCJ*WHK$-1z zv6AS;t*L}4X{%Lhre6uPcF>4i1$EAcy5>XO^P!&kP+&gPJ0Ds$AL;{Eauu(R_HV$5 z|2#cPU>-&p%)=;!c^KsY&mW}Hxl#sQJhracvUZ(zz){H@Elj;b0qrTK0-RwQ98_%Z z8^sQDszZHKRRBIzo!X~r0lfIYY)tq9<^HVrmlO%t1R=|Hbo!ZyV zN`PYp8vH{+l{)7l$&;=Mc){h=F1V@zK5}XBH&>1Nwwok>@AkpRZol@0yB6SZp$5+t zE`ZMquTftuBI&P+D&WH+r}kM90?ZX_aJ+Z{oGo_2KhpEl;$k@D;qa`-<#^x29Dk?%E{*QavywM?$?f1G*Rs; zH26h@3qGi5fIn9>I9{XS_&fT1PM`m)Wbo^%X85wor#@RvmglN{@J_W~`={y_fPbsj zw8J&604Hh|sh4U<{BeyBzNqnQcln6wQ$7uT>uXbI{UkZ!_rY_1zxIZ|9pHVx27mB3 z!2kFg)HAgty;$pmU)TDzKh%=+t6I%*ZUKX@#F?OAih681Y^2hxkiLeEblMng8QITl z;fYXu?1s*c*7nx+v1kSx_GU6u>E&(oeed*0YdA64HZif!{L@0FF(aJ8?%v)WBQV<6 z-q+V1=pBvpbp^VNj!;*4w5PA9Jsj>D?Tm~X?LCcfO#DXhWN2ljg)>6`NSIC;X=jsr zWO`z}#r&T|lPB+`B{7w0stD7*&=QT0MpG26h1UAiL?S-c%h&*XF_ zG%{hdj7=m)LKEpGZ#)stq(W0uw7|DSrZVC`A5ET=LI1)q;$fpDvwzA+H#yVMv3QGd HTju`(SBL|S diff --git a/thirdparty/libzip-1.11.3/build-emcmake/examples/CMakeFiles/in-memory.dir/in-memory.c.o.d b/thirdparty/libzip-1.11.3/build-emcmake/examples/CMakeFiles/in-memory.dir/in-memory.c.o.d deleted file mode 100644 index 840c1cd..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/examples/CMakeFiles/in-memory.dir/in-memory.c.o.d +++ /dev/null @@ -1,38 +0,0 @@ -examples/CMakeFiles/in-memory.dir/in-memory.c.o: \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/examples/in-memory.c \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/errno.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/features.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/errno.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/wasi/api.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_header_macro.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_ptrdiff_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_size_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_wchar_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_null.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_max_align_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_offsetof.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/alltypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdio.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/stdlib.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdlib.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/alloca.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/strings.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/sys/stat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/stat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stat.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/zipconf.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/inttypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/inttypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/types.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/endian.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/select.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/time.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/time.h diff --git a/thirdparty/libzip-1.11.3/build-emcmake/examples/CMakeFiles/in-memory.dir/link.txt b/thirdparty/libzip-1.11.3/build-emcmake/examples/CMakeFiles/in-memory.dir/link.txt deleted file mode 100644 index f970bf3..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/examples/CMakeFiles/in-memory.dir/link.txt +++ /dev/null @@ -1 +0,0 @@ -"/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" @CMakeFiles/in-memory.dir/objects1.rsp -o in-memory.js @CMakeFiles/in-memory.dir/linkLibs.rsp diff --git a/thirdparty/libzip-1.11.3/build-emcmake/examples/CMakeFiles/in-memory.dir/progress.make b/thirdparty/libzip-1.11.3/build-emcmake/examples/CMakeFiles/in-memory.dir/progress.make deleted file mode 100644 index b8573d0..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/examples/CMakeFiles/in-memory.dir/progress.make +++ /dev/null @@ -1,3 +0,0 @@ -CMAKE_PROGRESS_1 = 1 -CMAKE_PROGRESS_2 = - diff --git a/thirdparty/libzip-1.11.3/build-emcmake/examples/CMakeFiles/progress.marks b/thirdparty/libzip-1.11.3/build-emcmake/examples/CMakeFiles/progress.marks deleted file mode 100644 index 6f4247a..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/examples/CMakeFiles/progress.marks +++ /dev/null @@ -1 +0,0 @@ -26 diff --git a/thirdparty/libzip-1.11.3/build-emcmake/examples/CTestTestfile.cmake b/thirdparty/libzip-1.11.3/build-emcmake/examples/CTestTestfile.cmake deleted file mode 100644 index ba8055e..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/examples/CTestTestfile.cmake +++ /dev/null @@ -1,6 +0,0 @@ -# CMake generated Testfile for -# Source directory: /home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/examples -# Build directory: /home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/examples -# -# This file includes the relevant testing commands required for -# testing this directory and lists subdirectories to be tested as well. diff --git a/thirdparty/libzip-1.11.3/build-emcmake/examples/Makefile b/thirdparty/libzip-1.11.3/build-emcmake/examples/Makefile deleted file mode 100644 index 644623b..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/examples/Makefile +++ /dev/null @@ -1,326 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.28 - -# Default target executed when no arguments are given to make. -default_target: all -.PHONY : default_target - -# Allow only one "make -f Makefile2" at a time, but pass parallelism. -.NOTPARALLEL: - -#============================================================================= -# Special targets provided by cmake. - -# Disable implicit rules so canonical targets will work. -.SUFFIXES: - -# Disable VCS-based implicit rules. -% : %,v - -# Disable VCS-based implicit rules. -% : RCS/% - -# Disable VCS-based implicit rules. -% : RCS/%,v - -# Disable VCS-based implicit rules. -% : SCCS/s.% - -# Disable VCS-based implicit rules. -% : s.% - -.SUFFIXES: .hpux_make_needs_suffix_list - -# Command-line flag to silence nested $(MAKE). -$(VERBOSE)MAKESILENT = -s - -#Suppress display of executed commands. -$(VERBOSE).SILENT: - -# A target that is always out of date. -cmake_force: -.PHONY : cmake_force - -#============================================================================= -# Set environment variables for the build. - -# The shell in which to execute make rules. -SHELL = /bin/sh - -# The CMake executable. -CMAKE_COMMAND = /usr/bin/cmake - -# The command to remove a file. -RM = /usr/bin/cmake -E rm -f - -# Escaping for special characters. -EQUALS = = - -# The top-level source directory on which CMake was run. -CMAKE_SOURCE_DIR = "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3" - -# The top-level build directory on which CMake was run. -CMAKE_BINARY_DIR = "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" - -#============================================================================= -# Targets provided globally by CMake. - -# Special rule for the target test -test: - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Running tests..." - /usr/bin/ctest --force-new-ctest-process $(ARGS) -.PHONY : test - -# Special rule for the target test -test/fast: test -.PHONY : test/fast - -# Special rule for the target edit_cache -edit_cache: - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "No interactive CMake dialog available..." - /usr/bin/cmake -E echo No\ interactive\ CMake\ dialog\ available. -.PHONY : edit_cache - -# Special rule for the target edit_cache -edit_cache/fast: edit_cache -.PHONY : edit_cache/fast - -# Special rule for the target rebuild_cache -rebuild_cache: - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Running CMake to regenerate build system..." - /usr/bin/cmake --regenerate-during-build -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) -.PHONY : rebuild_cache - -# Special rule for the target rebuild_cache -rebuild_cache/fast: rebuild_cache -.PHONY : rebuild_cache/fast - -# Special rule for the target list_install_components -list_install_components: - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Available install components are: \"Unspecified\"" -.PHONY : list_install_components - -# Special rule for the target list_install_components -list_install_components/fast: list_install_components -.PHONY : list_install_components/fast - -# Special rule for the target install -install: preinstall - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Install the project..." - /usr/bin/cmake -P cmake_install.cmake -.PHONY : install - -# Special rule for the target install -install/fast: preinstall/fast - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Install the project..." - /usr/bin/cmake -P cmake_install.cmake -.PHONY : install/fast - -# Special rule for the target install/local -install/local: preinstall - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Installing only the local directory..." - /usr/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake -.PHONY : install/local - -# Special rule for the target install/local -install/local/fast: preinstall/fast - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Installing only the local directory..." - /usr/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake -.PHONY : install/local/fast - -# Special rule for the target install/strip -install/strip: preinstall - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Installing the project stripped..." - /usr/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake -.PHONY : install/strip - -# Special rule for the target install/strip -install/strip/fast: preinstall/fast - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Installing the project stripped..." - /usr/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake -.PHONY : install/strip/fast - -# The main all target -all: cmake_check_build_system - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(CMAKE_COMMAND) -E cmake_progress_start "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/examples//CMakeFiles/progress.marks" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 examples/all - $(CMAKE_COMMAND) -E cmake_progress_start "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" 0 -.PHONY : all - -# The main clean target -clean: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 examples/clean -.PHONY : clean - -# The main clean target -clean/fast: clean -.PHONY : clean/fast - -# Prepare targets for installation. -preinstall: all - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 examples/preinstall -.PHONY : preinstall - -# Prepare targets for installation. -preinstall/fast: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 examples/preinstall -.PHONY : preinstall/fast - -# clear depends -depend: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1 -.PHONY : depend - -# Convenience name for target. -examples/CMakeFiles/add-compressed-data.dir/rule: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 examples/CMakeFiles/add-compressed-data.dir/rule -.PHONY : examples/CMakeFiles/add-compressed-data.dir/rule - -# Convenience name for target. -add-compressed-data: examples/CMakeFiles/add-compressed-data.dir/rule -.PHONY : add-compressed-data - -# fast build rule for target. -add-compressed-data/fast: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f examples/CMakeFiles/add-compressed-data.dir/build.make examples/CMakeFiles/add-compressed-data.dir/build -.PHONY : add-compressed-data/fast - -# Convenience name for target. -examples/CMakeFiles/autoclose-archive.dir/rule: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 examples/CMakeFiles/autoclose-archive.dir/rule -.PHONY : examples/CMakeFiles/autoclose-archive.dir/rule - -# Convenience name for target. -autoclose-archive: examples/CMakeFiles/autoclose-archive.dir/rule -.PHONY : autoclose-archive - -# fast build rule for target. -autoclose-archive/fast: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f examples/CMakeFiles/autoclose-archive.dir/build.make examples/CMakeFiles/autoclose-archive.dir/build -.PHONY : autoclose-archive/fast - -# Convenience name for target. -examples/CMakeFiles/in-memory.dir/rule: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 examples/CMakeFiles/in-memory.dir/rule -.PHONY : examples/CMakeFiles/in-memory.dir/rule - -# Convenience name for target. -in-memory: examples/CMakeFiles/in-memory.dir/rule -.PHONY : in-memory - -# fast build rule for target. -in-memory/fast: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f examples/CMakeFiles/in-memory.dir/build.make examples/CMakeFiles/in-memory.dir/build -.PHONY : in-memory/fast - -add-compressed-data.o: add-compressed-data.c.o -.PHONY : add-compressed-data.o - -# target to build an object file -add-compressed-data.c.o: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f examples/CMakeFiles/add-compressed-data.dir/build.make examples/CMakeFiles/add-compressed-data.dir/add-compressed-data.c.o -.PHONY : add-compressed-data.c.o - -add-compressed-data.i: add-compressed-data.c.i -.PHONY : add-compressed-data.i - -# target to preprocess a source file -add-compressed-data.c.i: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f examples/CMakeFiles/add-compressed-data.dir/build.make examples/CMakeFiles/add-compressed-data.dir/add-compressed-data.c.i -.PHONY : add-compressed-data.c.i - -add-compressed-data.s: add-compressed-data.c.s -.PHONY : add-compressed-data.s - -# target to generate assembly for a file -add-compressed-data.c.s: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f examples/CMakeFiles/add-compressed-data.dir/build.make examples/CMakeFiles/add-compressed-data.dir/add-compressed-data.c.s -.PHONY : add-compressed-data.c.s - -autoclose-archive.o: autoclose-archive.c.o -.PHONY : autoclose-archive.o - -# target to build an object file -autoclose-archive.c.o: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f examples/CMakeFiles/autoclose-archive.dir/build.make examples/CMakeFiles/autoclose-archive.dir/autoclose-archive.c.o -.PHONY : autoclose-archive.c.o - -autoclose-archive.i: autoclose-archive.c.i -.PHONY : autoclose-archive.i - -# target to preprocess a source file -autoclose-archive.c.i: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f examples/CMakeFiles/autoclose-archive.dir/build.make examples/CMakeFiles/autoclose-archive.dir/autoclose-archive.c.i -.PHONY : autoclose-archive.c.i - -autoclose-archive.s: autoclose-archive.c.s -.PHONY : autoclose-archive.s - -# target to generate assembly for a file -autoclose-archive.c.s: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f examples/CMakeFiles/autoclose-archive.dir/build.make examples/CMakeFiles/autoclose-archive.dir/autoclose-archive.c.s -.PHONY : autoclose-archive.c.s - -in-memory.o: in-memory.c.o -.PHONY : in-memory.o - -# target to build an object file -in-memory.c.o: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f examples/CMakeFiles/in-memory.dir/build.make examples/CMakeFiles/in-memory.dir/in-memory.c.o -.PHONY : in-memory.c.o - -in-memory.i: in-memory.c.i -.PHONY : in-memory.i - -# target to preprocess a source file -in-memory.c.i: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f examples/CMakeFiles/in-memory.dir/build.make examples/CMakeFiles/in-memory.dir/in-memory.c.i -.PHONY : in-memory.c.i - -in-memory.s: in-memory.c.s -.PHONY : in-memory.s - -# target to generate assembly for a file -in-memory.c.s: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f examples/CMakeFiles/in-memory.dir/build.make examples/CMakeFiles/in-memory.dir/in-memory.c.s -.PHONY : in-memory.c.s - -# Help Target -help: - @echo "The following are some of the valid targets for this Makefile:" - @echo "... all (the default if no target is provided)" - @echo "... clean" - @echo "... depend" - @echo "... edit_cache" - @echo "... install" - @echo "... install/local" - @echo "... install/strip" - @echo "... list_install_components" - @echo "... rebuild_cache" - @echo "... test" - @echo "... add-compressed-data" - @echo "... autoclose-archive" - @echo "... in-memory" - @echo "... add-compressed-data.o" - @echo "... add-compressed-data.i" - @echo "... add-compressed-data.s" - @echo "... autoclose-archive.o" - @echo "... autoclose-archive.i" - @echo "... autoclose-archive.s" - @echo "... in-memory.o" - @echo "... in-memory.i" - @echo "... in-memory.s" -.PHONY : help - - - -#============================================================================= -# Special targets to cleanup operation of make. - -# Special rule to run CMake to check the build system integrity. -# No rule that depends on this can have commands that come from listfiles -# because they might be regenerated. -cmake_check_build_system: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0 -.PHONY : cmake_check_build_system - diff --git a/thirdparty/libzip-1.11.3/build-emcmake/examples/add-compressed-data.js b/thirdparty/libzip-1.11.3/build-emcmake/examples/add-compressed-data.js deleted file mode 100644 index df50f4b..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/examples/add-compressed-data.js +++ /dev/null @@ -1,4814 +0,0 @@ -// include: shell.js -// The Module object: Our interface to the outside world. We import -// and export values on it. There are various ways Module can be used: -// 1. Not defined. We create it here -// 2. A function parameter, function(moduleArg) => Promise -// 3. pre-run appended it, var Module = {}; ..generated code.. -// 4. External script tag defines var Module. -// We need to check if Module already exists (e.g. case 3 above). -// Substitution will be replaced with actual code on later stage of the build, -// this way Closure Compiler will not mangle it (e.g. case 4. above). -// Note that if you want to run closure, and also to use Module -// after the generated code, you will need to define var Module = {}; -// before the code. Then that object will be used in the code, and you -// can continue to use Module afterwards as well. -var Module = typeof Module != 'undefined' ? Module : {}; - -// Determine the runtime environment we are in. You can customize this by -// setting the ENVIRONMENT setting at compile time (see settings.js). - -// Attempt to auto-detect the environment -var ENVIRONMENT_IS_WEB = typeof window == 'object'; -var ENVIRONMENT_IS_WORKER = typeof WorkerGlobalScope != 'undefined'; -// N.b. Electron.js environment is simultaneously a NODE-environment, but -// also a web environment. -var ENVIRONMENT_IS_NODE = typeof process == 'object' && typeof process.versions == 'object' && typeof process.versions.node == 'string' && process.type != 'renderer'; -var ENVIRONMENT_IS_SHELL = !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_NODE && !ENVIRONMENT_IS_WORKER; - -if (ENVIRONMENT_IS_NODE) { - -} - -// --pre-jses are emitted after the Module integration code, so that they can -// refer to Module (if they choose; they can also define Module) - - -// Sometimes an existing Module object exists with properties -// meant to overwrite the default module functionality. Here -// we collect those properties and reapply _after_ we configure -// the current environment's defaults to avoid having to be so -// defensive during initialization. -var moduleOverrides = {...Module}; - -var arguments_ = []; -var thisProgram = './this.program'; -var quit_ = (status, toThrow) => { - throw toThrow; -}; - -// `/` should be present at the end if `scriptDirectory` is not empty -var scriptDirectory = ''; -function locateFile(path) { - if (Module['locateFile']) { - return Module['locateFile'](path, scriptDirectory); - } - return scriptDirectory + path; -} - -// Hooks that are implemented differently in different runtime environments. -var readAsync, readBinary; - -if (ENVIRONMENT_IS_NODE) { - if (typeof process == 'undefined' || !process.release || process.release.name !== 'node') throw new Error('not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)'); - - var nodeVersion = process.versions.node; - var numericVersion = nodeVersion.split('.').slice(0, 3); - numericVersion = (numericVersion[0] * 10000) + (numericVersion[1] * 100) + (numericVersion[2].split('-')[0] * 1); - var minVersion = 160000; - if (numericVersion < 160000) { - throw new Error('This emscripten-generated code requires node v16.0.0 (detected v' + nodeVersion + ')'); - } - - // These modules will usually be used on Node.js. Load them eagerly to avoid - // the complexity of lazy-loading. - var fs = require('fs'); - var nodePath = require('path'); - - scriptDirectory = __dirname + '/'; - -// include: node_shell_read.js -readBinary = (filename) => { - // We need to re-wrap `file://` strings to URLs. - filename = isFileURI(filename) ? new URL(filename) : filename; - var ret = fs.readFileSync(filename); - assert(Buffer.isBuffer(ret)); - return ret; -}; - -readAsync = async (filename, binary = true) => { - // See the comment in the `readBinary` function. - filename = isFileURI(filename) ? new URL(filename) : filename; - var ret = fs.readFileSync(filename, binary ? undefined : 'utf8'); - assert(binary ? Buffer.isBuffer(ret) : typeof ret == 'string'); - return ret; -}; -// end include: node_shell_read.js - if (!Module['thisProgram'] && process.argv.length > 1) { - thisProgram = process.argv[1].replace(/\\/g, '/'); - } - - arguments_ = process.argv.slice(2); - - if (typeof module != 'undefined') { - module['exports'] = Module; - } - - quit_ = (status, toThrow) => { - process.exitCode = status; - throw toThrow; - }; - -} else -if (ENVIRONMENT_IS_SHELL) { - - if ((typeof process == 'object' && typeof require === 'function') || typeof window == 'object' || typeof WorkerGlobalScope != 'undefined') throw new Error('not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)'); - -} else - -// Note that this includes Node.js workers when relevant (pthreads is enabled). -// Node.js workers are detected as a combination of ENVIRONMENT_IS_WORKER and -// ENVIRONMENT_IS_NODE. -if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) { - if (ENVIRONMENT_IS_WORKER) { // Check worker, not web, since window could be polyfilled - scriptDirectory = self.location.href; - } else if (typeof document != 'undefined' && document.currentScript) { // web - scriptDirectory = document.currentScript.src; - } - // blob urls look like blob:http://site.com/etc/etc and we cannot infer anything from them. - // otherwise, slice off the final part of the url to find the script directory. - // if scriptDirectory does not contain a slash, lastIndexOf will return -1, - // and scriptDirectory will correctly be replaced with an empty string. - // If scriptDirectory contains a query (starting with ?) or a fragment (starting with #), - // they are removed because they could contain a slash. - if (scriptDirectory.startsWith('blob:')) { - scriptDirectory = ''; - } else { - scriptDirectory = scriptDirectory.slice(0, scriptDirectory.replace(/[?#].*/, '').lastIndexOf('/')+1); - } - - if (!(typeof window == 'object' || typeof WorkerGlobalScope != 'undefined')) throw new Error('not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)'); - - { -// include: web_or_worker_shell_read.js -if (ENVIRONMENT_IS_WORKER) { - readBinary = (url) => { - var xhr = new XMLHttpRequest(); - xhr.open('GET', url, false); - xhr.responseType = 'arraybuffer'; - xhr.send(null); - return new Uint8Array(/** @type{!ArrayBuffer} */(xhr.response)); - }; - } - - readAsync = async (url) => { - // Fetch has some additional restrictions over XHR, like it can't be used on a file:// url. - // See https://github.com/github/fetch/pull/92#issuecomment-140665932 - // Cordova or Electron apps are typically loaded from a file:// url. - // So use XHR on webview if URL is a file URL. - if (isFileURI(url)) { - return new Promise((resolve, reject) => { - var xhr = new XMLHttpRequest(); - xhr.open('GET', url, true); - xhr.responseType = 'arraybuffer'; - xhr.onload = () => { - if (xhr.status == 200 || (xhr.status == 0 && xhr.response)) { // file URLs can return 0 - resolve(xhr.response); - return; - } - reject(xhr.status); - }; - xhr.onerror = reject; - xhr.send(null); - }); - } - var response = await fetch(url, { credentials: 'same-origin' }); - if (response.ok) { - return response.arrayBuffer(); - } - throw new Error(response.status + ' : ' + response.url); - }; -// end include: web_or_worker_shell_read.js - } -} else -{ - throw new Error('environment detection error'); -} - -var out = Module['print'] || console.log.bind(console); -var err = Module['printErr'] || console.error.bind(console); - -// Merge back in the overrides -Object.assign(Module, moduleOverrides); -// Free the object hierarchy contained in the overrides, this lets the GC -// reclaim data used. -moduleOverrides = null; -checkIncomingModuleAPI(); - -// Emit code to handle expected values on the Module object. This applies Module.x -// to the proper local x. This has two benefits: first, we only emit it if it is -// expected to arrive, and second, by using a local everywhere else that can be -// minified. - -if (Module['arguments']) arguments_ = Module['arguments'];legacyModuleProp('arguments', 'arguments_'); - -if (Module['thisProgram']) thisProgram = Module['thisProgram'];legacyModuleProp('thisProgram', 'thisProgram'); - -// perform assertions in shell.js after we set up out() and err(), as otherwise if an assertion fails it cannot print the message -// Assertions on removed incoming Module JS APIs. -assert(typeof Module['memoryInitializerPrefixURL'] == 'undefined', 'Module.memoryInitializerPrefixURL option was removed, use Module.locateFile instead'); -assert(typeof Module['pthreadMainPrefixURL'] == 'undefined', 'Module.pthreadMainPrefixURL option was removed, use Module.locateFile instead'); -assert(typeof Module['cdInitializerPrefixURL'] == 'undefined', 'Module.cdInitializerPrefixURL option was removed, use Module.locateFile instead'); -assert(typeof Module['filePackagePrefixURL'] == 'undefined', 'Module.filePackagePrefixURL option was removed, use Module.locateFile instead'); -assert(typeof Module['read'] == 'undefined', 'Module.read option was removed'); -assert(typeof Module['readAsync'] == 'undefined', 'Module.readAsync option was removed (modify readAsync in JS)'); -assert(typeof Module['readBinary'] == 'undefined', 'Module.readBinary option was removed (modify readBinary in JS)'); -assert(typeof Module['setWindowTitle'] == 'undefined', 'Module.setWindowTitle option was removed (modify emscripten_set_window_title in JS)'); -assert(typeof Module['TOTAL_MEMORY'] == 'undefined', 'Module.TOTAL_MEMORY has been renamed Module.INITIAL_MEMORY'); -legacyModuleProp('asm', 'wasmExports'); -legacyModuleProp('readAsync', 'readAsync'); -legacyModuleProp('readBinary', 'readBinary'); -legacyModuleProp('setWindowTitle', 'setWindowTitle'); -var IDBFS = 'IDBFS is no longer included by default; build with -lidbfs.js'; -var PROXYFS = 'PROXYFS is no longer included by default; build with -lproxyfs.js'; -var WORKERFS = 'WORKERFS is no longer included by default; build with -lworkerfs.js'; -var FETCHFS = 'FETCHFS is no longer included by default; build with -lfetchfs.js'; -var ICASEFS = 'ICASEFS is no longer included by default; build with -licasefs.js'; -var JSFILEFS = 'JSFILEFS is no longer included by default; build with -ljsfilefs.js'; -var OPFS = 'OPFS is no longer included by default; build with -lopfs.js'; - -var NODEFS = 'NODEFS is no longer included by default; build with -lnodefs.js'; - -assert(!ENVIRONMENT_IS_SHELL, 'shell environment detected but not enabled at build time. Add `shell` to `-sENVIRONMENT` to enable.'); - -// end include: shell.js - -// include: preamble.js -// === Preamble library stuff === - -// Documentation for the public APIs defined in this file must be updated in: -// site/source/docs/api_reference/preamble.js.rst -// A prebuilt local version of the documentation is available at: -// site/build/text/docs/api_reference/preamble.js.txt -// You can also build docs locally as HTML or other formats in site/ -// An online HTML version (which may be of a different version of Emscripten) -// is up at http://kripken.github.io/emscripten-site/docs/api_reference/preamble.js.html - -var wasmBinary = Module['wasmBinary'];legacyModuleProp('wasmBinary', 'wasmBinary'); - -if (typeof WebAssembly != 'object') { - err('no native wasm support detected'); -} - -// Wasm globals - -var wasmMemory; - -//======================================== -// Runtime essentials -//======================================== - -// whether we are quitting the application. no code should run after this. -// set in exit() and abort() -var ABORT = false; - -// set by exit() and abort(). Passed to 'onExit' handler. -// NOTE: This is also used as the process return code code in shell environments -// but only when noExitRuntime is false. -var EXITSTATUS; - -// In STRICT mode, we only define assert() when ASSERTIONS is set. i.e. we -// don't define it at all in release modes. This matches the behaviour of -// MINIMAL_RUNTIME. -// TODO(sbc): Make this the default even without STRICT enabled. -/** @type {function(*, string=)} */ -function assert(condition, text) { - if (!condition) { - abort('Assertion failed' + (text ? ': ' + text : '')); - } -} - -// We used to include malloc/free by default in the past. Show a helpful error in -// builds with assertions. -function _malloc() { - abort('malloc() called but not included in the build - add `_malloc` to EXPORTED_FUNCTIONS'); -} -function _free() { - // Show a helpful error since we used to include free by default in the past. - abort('free() called but not included in the build - add `_free` to EXPORTED_FUNCTIONS'); -} - -// Memory management - -var HEAP, -/** @type {!Int8Array} */ - HEAP8, -/** @type {!Uint8Array} */ - HEAPU8, -/** @type {!Int16Array} */ - HEAP16, -/** @type {!Uint16Array} */ - HEAPU16, -/** @type {!Int32Array} */ - HEAP32, -/** @type {!Uint32Array} */ - HEAPU32, -/** @type {!Float32Array} */ - HEAPF32, -/* BigInt64Array type is not correctly defined in closure -/** not-@type {!BigInt64Array} */ - HEAP64, -/* BigUint64Array type is not correctly defined in closure -/** not-t@type {!BigUint64Array} */ - HEAPU64, -/** @type {!Float64Array} */ - HEAPF64; - -var runtimeInitialized = false; - -/** - * Indicates whether filename is delivered via file protocol (as opposed to http/https) - * @noinline - */ -var isFileURI = (filename) => filename.startsWith('file://'); - -// include: runtime_shared.js -// include: runtime_stack_check.js -// Initializes the stack cookie. Called at the startup of main and at the startup of each thread in pthreads mode. -function writeStackCookie() { - var max = _emscripten_stack_get_end(); - assert((max & 3) == 0); - // If the stack ends at address zero we write our cookies 4 bytes into the - // stack. This prevents interference with SAFE_HEAP and ASAN which also - // monitor writes to address zero. - if (max == 0) { - max += 4; - } - // The stack grow downwards towards _emscripten_stack_get_end. - // We write cookies to the final two words in the stack and detect if they are - // ever overwritten. - HEAPU32[((max)>>2)] = 0x02135467; - HEAPU32[(((max)+(4))>>2)] = 0x89BACDFE; - // Also test the global address 0 for integrity. - HEAPU32[((0)>>2)] = 1668509029; -} - -function checkStackCookie() { - if (ABORT) return; - var max = _emscripten_stack_get_end(); - // See writeStackCookie(). - if (max == 0) { - max += 4; - } - var cookie1 = HEAPU32[((max)>>2)]; - var cookie2 = HEAPU32[(((max)+(4))>>2)]; - if (cookie1 != 0x02135467 || cookie2 != 0x89BACDFE) { - abort(`Stack overflow! Stack cookie has been overwritten at ${ptrToString(max)}, expected hex dwords 0x89BACDFE and 0x2135467, but received ${ptrToString(cookie2)} ${ptrToString(cookie1)}`); - } - // Also test the global address 0 for integrity. - if (HEAPU32[((0)>>2)] != 0x63736d65 /* 'emsc' */) { - abort('Runtime error: The application has corrupted its heap memory area (address zero)!'); - } -} -// end include: runtime_stack_check.js -// include: runtime_exceptions.js -// end include: runtime_exceptions.js -// include: runtime_debug.js -// Endianness check -(() => { - var h16 = new Int16Array(1); - var h8 = new Int8Array(h16.buffer); - h16[0] = 0x6373; - if (h8[0] !== 0x73 || h8[1] !== 0x63) throw 'Runtime error: expected the system to be little-endian! (Run with -sSUPPORT_BIG_ENDIAN to bypass)'; -})(); - -if (Module['ENVIRONMENT']) { - throw new Error('Module.ENVIRONMENT has been deprecated. To force the environment, use the ENVIRONMENT compile-time option (for example, -sENVIRONMENT=web or -sENVIRONMENT=node)'); -} - -function legacyModuleProp(prop, newName, incoming=true) { - if (!Object.getOwnPropertyDescriptor(Module, prop)) { - Object.defineProperty(Module, prop, { - configurable: true, - get() { - let extra = incoming ? ' (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)' : ''; - abort(`\`Module.${prop}\` has been replaced by \`${newName}\`` + extra); - - } - }); - } -} - -function consumedModuleProp(prop) { - if (!Object.getOwnPropertyDescriptor(Module, prop)) { - Object.defineProperty(Module, prop, { - configurable: true, - set() { - abort(`Attempt to set \`Module.${prop}\` after it has already been processed. This can happen, for example, when code is injected via '--post-js' rather than '--pre-js'`); - - } - }); - } -} - -function ignoredModuleProp(prop) { - if (Object.getOwnPropertyDescriptor(Module, prop)) { - abort(`\`Module.${prop}\` was supplied but \`${prop}\` not included in INCOMING_MODULE_JS_API`); - } -} - -// forcing the filesystem exports a few things by default -function isExportedByForceFilesystem(name) { - return name === 'FS_createPath' || - name === 'FS_createDataFile' || - name === 'FS_createPreloadedFile' || - name === 'FS_unlink' || - name === 'addRunDependency' || - // The old FS has some functionality that WasmFS lacks. - name === 'FS_createLazyFile' || - name === 'FS_createDevice' || - name === 'removeRunDependency'; -} - -/** - * Intercept access to a global symbol. This enables us to give informative - * warnings/errors when folks attempt to use symbols they did not include in - * their build, or no symbols that no longer exist. - */ -function hookGlobalSymbolAccess(sym, func) { - if (typeof globalThis != 'undefined' && !Object.getOwnPropertyDescriptor(globalThis, sym)) { - Object.defineProperty(globalThis, sym, { - configurable: true, - get() { - func(); - return undefined; - } - }); - } -} - -function missingGlobal(sym, msg) { - hookGlobalSymbolAccess(sym, () => { - warnOnce(`\`${sym}\` is not longer defined by emscripten. ${msg}`); - }); -} - -missingGlobal('buffer', 'Please use HEAP8.buffer or wasmMemory.buffer'); -missingGlobal('asm', 'Please use wasmExports instead'); - -function missingLibrarySymbol(sym) { - hookGlobalSymbolAccess(sym, () => { - // Can't `abort()` here because it would break code that does runtime - // checks. e.g. `if (typeof SDL === 'undefined')`. - var msg = `\`${sym}\` is a library symbol and not included by default; add it to your library.js __deps or to DEFAULT_LIBRARY_FUNCS_TO_INCLUDE on the command line`; - // DEFAULT_LIBRARY_FUNCS_TO_INCLUDE requires the name as it appears in - // library.js, which means $name for a JS name with no prefix, or name - // for a JS name like _name. - var librarySymbol = sym; - if (!librarySymbol.startsWith('_')) { - librarySymbol = '$' + sym; - } - msg += ` (e.g. -sDEFAULT_LIBRARY_FUNCS_TO_INCLUDE='${librarySymbol}')`; - if (isExportedByForceFilesystem(sym)) { - msg += '. Alternatively, forcing filesystem support (-sFORCE_FILESYSTEM) can export this for you'; - } - warnOnce(msg); - }); - - // Any symbol that is not included from the JS library is also (by definition) - // not exported on the Module object. - unexportedRuntimeSymbol(sym); -} - -function unexportedRuntimeSymbol(sym) { - if (!Object.getOwnPropertyDescriptor(Module, sym)) { - Object.defineProperty(Module, sym, { - configurable: true, - get() { - var msg = `'${sym}' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the Emscripten FAQ)`; - if (isExportedByForceFilesystem(sym)) { - msg += '. Alternatively, forcing filesystem support (-sFORCE_FILESYSTEM) can export this for you'; - } - abort(msg); - } - }); - } -} - -var runtimeDebug = true; // Switch to false at runtime to disable logging at the right times - -// Used by XXXXX_DEBUG settings to output debug messages. -function dbg(...args) { - if (!runtimeDebug && typeof runtimeDebug != 'undefined') return; - // TODO(sbc): Make this configurable somehow. Its not always convenient for - // logging to show up as warnings. - console.warn(...args); -} -// end include: runtime_debug.js -// include: memoryprofiler.js -// end include: memoryprofiler.js - - -function updateMemoryViews() { - var b = wasmMemory.buffer; - Module['HEAP8'] = HEAP8 = new Int8Array(b); - Module['HEAP16'] = HEAP16 = new Int16Array(b); - Module['HEAPU8'] = HEAPU8 = new Uint8Array(b); - Module['HEAPU16'] = HEAPU16 = new Uint16Array(b); - Module['HEAP32'] = HEAP32 = new Int32Array(b); - Module['HEAPU32'] = HEAPU32 = new Uint32Array(b); - Module['HEAPF32'] = HEAPF32 = new Float32Array(b); - Module['HEAPF64'] = HEAPF64 = new Float64Array(b); - Module['HEAP64'] = HEAP64 = new BigInt64Array(b); - Module['HEAPU64'] = HEAPU64 = new BigUint64Array(b); -} - -// end include: runtime_shared.js -assert(!Module['STACK_SIZE'], 'STACK_SIZE can no longer be set at runtime. Use -sSTACK_SIZE at link time') - -assert(typeof Int32Array != 'undefined' && typeof Float64Array !== 'undefined' && Int32Array.prototype.subarray != undefined && Int32Array.prototype.set != undefined, - 'JS engine does not provide full typed array support'); - -// If memory is defined in wasm, the user can't provide it, or set INITIAL_MEMORY -assert(!Module['wasmMemory'], 'Use of `wasmMemory` detected. Use -sIMPORTED_MEMORY to define wasmMemory externally'); -assert(!Module['INITIAL_MEMORY'], 'Detected runtime INITIAL_MEMORY setting. Use -sIMPORTED_MEMORY to define wasmMemory dynamically'); - -function preRun() { - if (Module['preRun']) { - if (typeof Module['preRun'] == 'function') Module['preRun'] = [Module['preRun']]; - while (Module['preRun'].length) { - addOnPreRun(Module['preRun'].shift()); - } - } - consumedModuleProp('preRun'); - callRuntimeCallbacks(onPreRuns); -} - -function initRuntime() { - assert(!runtimeInitialized); - runtimeInitialized = true; - - checkStackCookie(); - - if (!Module['noFSInit'] && !FS.initialized) FS.init(); -TTY.init(); - - wasmExports['__wasm_call_ctors'](); - - FS.ignorePermissions = false; -} - -function preMain() { - checkStackCookie(); - -} - -function postRun() { - checkStackCookie(); - - if (Module['postRun']) { - if (typeof Module['postRun'] == 'function') Module['postRun'] = [Module['postRun']]; - while (Module['postRun'].length) { - addOnPostRun(Module['postRun'].shift()); - } - } - consumedModuleProp('postRun'); - - callRuntimeCallbacks(onPostRuns); -} - -// A counter of dependencies for calling run(). If we need to -// do asynchronous work before running, increment this and -// decrement it. Incrementing must happen in a place like -// Module.preRun (used by emcc to add file preloading). -// Note that you can add dependencies in preRun, even though -// it happens right before run - run will be postponed until -// the dependencies are met. -var runDependencies = 0; -var dependenciesFulfilled = null; // overridden to take different actions when all run dependencies are fulfilled -var runDependencyTracking = {}; -var runDependencyWatcher = null; - -function getUniqueRunDependency(id) { - var orig = id; - while (1) { - if (!runDependencyTracking[id]) return id; - id = orig + Math.random(); - } -} - -function addRunDependency(id) { - runDependencies++; - - Module['monitorRunDependencies']?.(runDependencies); - - if (id) { - assert(!runDependencyTracking[id]); - runDependencyTracking[id] = 1; - if (runDependencyWatcher === null && typeof setInterval != 'undefined') { - // Check for missing dependencies every few seconds - runDependencyWatcher = setInterval(() => { - if (ABORT) { - clearInterval(runDependencyWatcher); - runDependencyWatcher = null; - return; - } - var shown = false; - for (var dep in runDependencyTracking) { - if (!shown) { - shown = true; - err('still waiting on run dependencies:'); - } - err(`dependency: ${dep}`); - } - if (shown) { - err('(end of list)'); - } - }, 10000); - } - } else { - err('warning: run dependency added without ID'); - } -} - -function removeRunDependency(id) { - runDependencies--; - - Module['monitorRunDependencies']?.(runDependencies); - - if (id) { - assert(runDependencyTracking[id]); - delete runDependencyTracking[id]; - } else { - err('warning: run dependency removed without ID'); - } - if (runDependencies == 0) { - if (runDependencyWatcher !== null) { - clearInterval(runDependencyWatcher); - runDependencyWatcher = null; - } - if (dependenciesFulfilled) { - var callback = dependenciesFulfilled; - dependenciesFulfilled = null; - callback(); // can add another dependenciesFulfilled - } - } -} - -/** @param {string|number=} what */ -function abort(what) { - Module['onAbort']?.(what); - - what = 'Aborted(' + what + ')'; - // TODO(sbc): Should we remove printing and leave it up to whoever - // catches the exception? - err(what); - - ABORT = true; - - // Use a wasm runtime error, because a JS error might be seen as a foreign - // exception, which means we'd run destructors on it. We need the error to - // simply make the program stop. - // FIXME This approach does not work in Wasm EH because it currently does not assume - // all RuntimeErrors are from traps; it decides whether a RuntimeError is from - // a trap or not based on a hidden field within the object. So at the moment - // we don't have a way of throwing a wasm trap from JS. TODO Make a JS API that - // allows this in the wasm spec. - - // Suppress closure compiler warning here. Closure compiler's builtin extern - // definition for WebAssembly.RuntimeError claims it takes no arguments even - // though it can. - // TODO(https://github.com/google/closure-compiler/pull/3913): Remove if/when upstream closure gets fixed. - /** @suppress {checkTypes} */ - var e = new WebAssembly.RuntimeError(what); - - // Throw the error whether or not MODULARIZE is set because abort is used - // in code paths apart from instantiation where an exception is expected - // to be thrown when abort is called. - throw e; -} - -function createExportWrapper(name, nargs) { - return (...args) => { - assert(runtimeInitialized, `native function \`${name}\` called before runtime initialization`); - var f = wasmExports[name]; - assert(f, `exported native function \`${name}\` not found`); - // Only assert for too many arguments. Too few can be valid since the missing arguments will be zero filled. - assert(args.length <= nargs, `native function \`${name}\` called with ${args.length} args but expects ${nargs}`); - return f(...args); - }; -} - -var wasmBinaryFile; - -function findWasmBinary() { - return locateFile('add-compressed-data.wasm'); -} - -function getBinarySync(file) { - if (file == wasmBinaryFile && wasmBinary) { - return new Uint8Array(wasmBinary); - } - if (readBinary) { - return readBinary(file); - } - throw 'both async and sync fetching of the wasm failed'; -} - -async function getWasmBinary(binaryFile) { - // If we don't have the binary yet, load it asynchronously using readAsync. - if (!wasmBinary) { - // Fetch the binary using readAsync - try { - var response = await readAsync(binaryFile); - return new Uint8Array(response); - } catch { - // Fall back to getBinarySync below; - } - } - - // Otherwise, getBinarySync should be able to get it synchronously - return getBinarySync(binaryFile); -} - -async function instantiateArrayBuffer(binaryFile, imports) { - try { - var binary = await getWasmBinary(binaryFile); - var instance = await WebAssembly.instantiate(binary, imports); - return instance; - } catch (reason) { - err(`failed to asynchronously prepare wasm: ${reason}`); - - // Warn on some common problems. - if (isFileURI(wasmBinaryFile)) { - err(`warning: Loading from a file URI (${wasmBinaryFile}) is not supported in most browsers. See https://emscripten.org/docs/getting_started/FAQ.html#how-do-i-run-a-local-webserver-for-testing-why-does-my-program-stall-in-downloading-or-preparing`); - } - abort(reason); - } -} - -async function instantiateAsync(binary, binaryFile, imports) { - if (!binary && typeof WebAssembly.instantiateStreaming == 'function' - // Don't use streaming for file:// delivered objects in a webview, fetch them synchronously. - && !isFileURI(binaryFile) - // Avoid instantiateStreaming() on Node.js environment for now, as while - // Node.js v18.1.0 implements it, it does not have a full fetch() - // implementation yet. - // - // Reference: - // https://github.com/emscripten-core/emscripten/pull/16917 - && !ENVIRONMENT_IS_NODE - ) { - try { - var response = fetch(binaryFile, { credentials: 'same-origin' }); - var instantiationResult = await WebAssembly.instantiateStreaming(response, imports); - return instantiationResult; - } catch (reason) { - // We expect the most common failure cause to be a bad MIME type for the binary, - // in which case falling back to ArrayBuffer instantiation should work. - err(`wasm streaming compile failed: ${reason}`); - err('falling back to ArrayBuffer instantiation'); - // fall back of instantiateArrayBuffer below - }; - } - return instantiateArrayBuffer(binaryFile, imports); -} - -function getWasmImports() { - // prepare imports - return { - 'env': wasmImports, - 'wasi_snapshot_preview1': wasmImports, - } -} - -// Create the wasm instance. -// Receives the wasm imports, returns the exports. -async function createWasm() { - // Load the wasm module and create an instance of using native support in the JS engine. - // handle a generated wasm instance, receiving its exports and - // performing other necessary setup - /** @param {WebAssembly.Module=} module*/ - function receiveInstance(instance, module) { - wasmExports = instance.exports; - - - - wasmMemory = wasmExports['memory']; - - assert(wasmMemory, 'memory not found in wasm exports'); - updateMemoryViews(); - - removeRunDependency('wasm-instantiate'); - return wasmExports; - } - // wait for the pthread pool (if any) - addRunDependency('wasm-instantiate'); - - // Prefer streaming instantiation if available. - // Async compilation can be confusing when an error on the page overwrites Module - // (for example, if the order of elements is wrong, and the one defining Module is - // later), so we save Module and check it later. - var trueModule = Module; - function receiveInstantiationResult(result) { - // 'result' is a ResultObject object which has both the module and instance. - // receiveInstance() will swap in the exports (to Module.asm) so they can be called - assert(Module === trueModule, 'the Module object should not be replaced during async compilation - perhaps the order of HTML elements is wrong?'); - trueModule = null; - // TODO: Due to Closure regression https://github.com/google/closure-compiler/issues/3193, the above line no longer optimizes out down to the following line. - // When the regression is fixed, can restore the above PTHREADS-enabled path. - return receiveInstance(result['instance']); - } - - var info = getWasmImports(); - - // User shell pages can write their own Module.instantiateWasm = function(imports, successCallback) callback - // to manually instantiate the Wasm module themselves. This allows pages to - // run the instantiation parallel to any other async startup actions they are - // performing. - // Also pthreads and wasm workers initialize the wasm instance through this - // path. - if (Module['instantiateWasm']) { - return new Promise((resolve, reject) => { - try { - Module['instantiateWasm'](info, (mod, inst) => { - receiveInstance(mod, inst); - resolve(mod.exports); - }); - } catch(e) { - err(`Module.instantiateWasm callback failed with error: ${e}`); - reject(e); - } - }); - } - - wasmBinaryFile ??= findWasmBinary(); - var result = await instantiateAsync(wasmBinary, wasmBinaryFile, info); - var exports = receiveInstantiationResult(result); - return exports; -} - -// end include: preamble.js - -// Begin JS library code - - - class ExitStatus { - name = 'ExitStatus'; - constructor(status) { - this.message = `Program terminated with exit(${status})`; - this.status = status; - } - } - - var callRuntimeCallbacks = (callbacks) => { - while (callbacks.length > 0) { - // Pass the module as the first argument. - callbacks.shift()(Module); - } - }; - var onPostRuns = []; - var addOnPostRun = (cb) => onPostRuns.unshift(cb); - - var onPreRuns = []; - var addOnPreRun = (cb) => onPreRuns.unshift(cb); - - - - /** - * @param {number} ptr - * @param {string} type - */ - function getValue(ptr, type = 'i8') { - if (type.endsWith('*')) type = '*'; - switch (type) { - case 'i1': return HEAP8[ptr]; - case 'i8': return HEAP8[ptr]; - case 'i16': return HEAP16[((ptr)>>1)]; - case 'i32': return HEAP32[((ptr)>>2)]; - case 'i64': return HEAP64[((ptr)>>3)]; - case 'float': return HEAPF32[((ptr)>>2)]; - case 'double': return HEAPF64[((ptr)>>3)]; - case '*': return HEAPU32[((ptr)>>2)]; - default: abort(`invalid type for getValue: ${type}`); - } - } - - var noExitRuntime = Module['noExitRuntime'] || true; - - var ptrToString = (ptr) => { - assert(typeof ptr === 'number'); - // With CAN_ADDRESS_2GB or MEMORY64, pointers are already unsigned. - ptr >>>= 0; - return '0x' + ptr.toString(16).padStart(8, '0'); - }; - - - /** - * @param {number} ptr - * @param {number} value - * @param {string} type - */ - function setValue(ptr, value, type = 'i8') { - if (type.endsWith('*')) type = '*'; - switch (type) { - case 'i1': HEAP8[ptr] = value; break; - case 'i8': HEAP8[ptr] = value; break; - case 'i16': HEAP16[((ptr)>>1)] = value; break; - case 'i32': HEAP32[((ptr)>>2)] = value; break; - case 'i64': HEAP64[((ptr)>>3)] = BigInt(value); break; - case 'float': HEAPF32[((ptr)>>2)] = value; break; - case 'double': HEAPF64[((ptr)>>3)] = value; break; - case '*': HEAPU32[((ptr)>>2)] = value; break; - default: abort(`invalid type for setValue: ${type}`); - } - } - - var stackRestore = (val) => __emscripten_stack_restore(val); - - var stackSave = () => _emscripten_stack_get_current(); - - var warnOnce = (text) => { - warnOnce.shown ||= {}; - if (!warnOnce.shown[text]) { - warnOnce.shown[text] = 1; - if (ENVIRONMENT_IS_NODE) text = 'warning: ' + text; - err(text); - } - }; - - var PATH = { - isAbs:(path) => path.charAt(0) === '/', - splitPath:(filename) => { - var splitPathRe = /^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/; - return splitPathRe.exec(filename).slice(1); - }, - normalizeArray:(parts, allowAboveRoot) => { - // if the path tries to go above the root, `up` ends up > 0 - var up = 0; - for (var i = parts.length - 1; i >= 0; i--) { - var last = parts[i]; - if (last === '.') { - parts.splice(i, 1); - } else if (last === '..') { - parts.splice(i, 1); - up++; - } else if (up) { - parts.splice(i, 1); - up--; - } - } - // if the path is allowed to go above the root, restore leading ..s - if (allowAboveRoot) { - for (; up; up--) { - parts.unshift('..'); - } - } - return parts; - }, - normalize:(path) => { - var isAbsolute = PATH.isAbs(path), - trailingSlash = path.slice(-1) === '/'; - // Normalize the path - path = PATH.normalizeArray(path.split('/').filter((p) => !!p), !isAbsolute).join('/'); - if (!path && !isAbsolute) { - path = '.'; - } - if (path && trailingSlash) { - path += '/'; - } - return (isAbsolute ? '/' : '') + path; - }, - dirname:(path) => { - var result = PATH.splitPath(path), - root = result[0], - dir = result[1]; - if (!root && !dir) { - // No dirname whatsoever - return '.'; - } - if (dir) { - // It has a dirname, strip trailing slash - dir = dir.slice(0, -1); - } - return root + dir; - }, - basename:(path) => path && path.match(/([^\/]+|\/)\/*$/)[1], - join:(...paths) => PATH.normalize(paths.join('/')), - join2:(l, r) => PATH.normalize(l + '/' + r), - }; - - var initRandomFill = () => { - // This block is not needed on v19+ since crypto.getRandomValues is builtin - if (ENVIRONMENT_IS_NODE) { - var nodeCrypto = require('crypto'); - return (view) => nodeCrypto.randomFillSync(view); - } - - return (view) => crypto.getRandomValues(view); - }; - var randomFill = (view) => { - // Lazily init on the first invocation. - (randomFill = initRandomFill())(view); - }; - - - - var PATH_FS = { - resolve:(...args) => { - var resolvedPath = '', - resolvedAbsolute = false; - for (var i = args.length - 1; i >= -1 && !resolvedAbsolute; i--) { - var path = (i >= 0) ? args[i] : FS.cwd(); - // Skip empty and invalid entries - if (typeof path != 'string') { - throw new TypeError('Arguments to path.resolve must be strings'); - } else if (!path) { - return ''; // an invalid portion invalidates the whole thing - } - resolvedPath = path + '/' + resolvedPath; - resolvedAbsolute = PATH.isAbs(path); - } - // At this point the path should be resolved to a full absolute path, but - // handle relative paths to be safe (might happen when process.cwd() fails) - resolvedPath = PATH.normalizeArray(resolvedPath.split('/').filter((p) => !!p), !resolvedAbsolute).join('/'); - return ((resolvedAbsolute ? '/' : '') + resolvedPath) || '.'; - }, - relative:(from, to) => { - from = PATH_FS.resolve(from).slice(1); - to = PATH_FS.resolve(to).slice(1); - function trim(arr) { - var start = 0; - for (; start < arr.length; start++) { - if (arr[start] !== '') break; - } - var end = arr.length - 1; - for (; end >= 0; end--) { - if (arr[end] !== '') break; - } - if (start > end) return []; - return arr.slice(start, end - start + 1); - } - var fromParts = trim(from.split('/')); - var toParts = trim(to.split('/')); - var length = Math.min(fromParts.length, toParts.length); - var samePartsLength = length; - for (var i = 0; i < length; i++) { - if (fromParts[i] !== toParts[i]) { - samePartsLength = i; - break; - } - } - var outputParts = []; - for (var i = samePartsLength; i < fromParts.length; i++) { - outputParts.push('..'); - } - outputParts = outputParts.concat(toParts.slice(samePartsLength)); - return outputParts.join('/'); - }, - }; - - - var UTF8Decoder = typeof TextDecoder != 'undefined' ? new TextDecoder() : undefined; - - /** - * Given a pointer 'idx' to a null-terminated UTF8-encoded string in the given - * array that contains uint8 values, returns a copy of that string as a - * Javascript String object. - * heapOrArray is either a regular array, or a JavaScript typed array view. - * @param {number=} idx - * @param {number=} maxBytesToRead - * @return {string} - */ - var UTF8ArrayToString = (heapOrArray, idx = 0, maxBytesToRead = NaN) => { - var endIdx = idx + maxBytesToRead; - var endPtr = idx; - // TextDecoder needs to know the byte length in advance, it doesn't stop on - // null terminator by itself. Also, use the length info to avoid running tiny - // strings through TextDecoder, since .subarray() allocates garbage. - // (As a tiny code save trick, compare endPtr against endIdx using a negation, - // so that undefined/NaN means Infinity) - while (heapOrArray[endPtr] && !(endPtr >= endIdx)) ++endPtr; - - if (endPtr - idx > 16 && heapOrArray.buffer && UTF8Decoder) { - return UTF8Decoder.decode(heapOrArray.subarray(idx, endPtr)); - } - var str = ''; - // If building with TextDecoder, we have already computed the string length - // above, so test loop end condition against that - while (idx < endPtr) { - // For UTF8 byte structure, see: - // http://en.wikipedia.org/wiki/UTF-8#Description - // https://www.ietf.org/rfc/rfc2279.txt - // https://tools.ietf.org/html/rfc3629 - var u0 = heapOrArray[idx++]; - if (!(u0 & 0x80)) { str += String.fromCharCode(u0); continue; } - var u1 = heapOrArray[idx++] & 63; - if ((u0 & 0xE0) == 0xC0) { str += String.fromCharCode(((u0 & 31) << 6) | u1); continue; } - var u2 = heapOrArray[idx++] & 63; - if ((u0 & 0xF0) == 0xE0) { - u0 = ((u0 & 15) << 12) | (u1 << 6) | u2; - } else { - if ((u0 & 0xF8) != 0xF0) warnOnce('Invalid UTF-8 leading byte ' + ptrToString(u0) + ' encountered when deserializing a UTF-8 string in wasm memory to a JS string!'); - u0 = ((u0 & 7) << 18) | (u1 << 12) | (u2 << 6) | (heapOrArray[idx++] & 63); - } - - if (u0 < 0x10000) { - str += String.fromCharCode(u0); - } else { - var ch = u0 - 0x10000; - str += String.fromCharCode(0xD800 | (ch >> 10), 0xDC00 | (ch & 0x3FF)); - } - } - return str; - }; - - var FS_stdin_getChar_buffer = []; - - var lengthBytesUTF8 = (str) => { - var len = 0; - for (var i = 0; i < str.length; ++i) { - // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code - // unit, not a Unicode code point of the character! So decode - // UTF16->UTF32->UTF8. - // See http://unicode.org/faq/utf_bom.html#utf16-3 - var c = str.charCodeAt(i); // possibly a lead surrogate - if (c <= 0x7F) { - len++; - } else if (c <= 0x7FF) { - len += 2; - } else if (c >= 0xD800 && c <= 0xDFFF) { - len += 4; ++i; - } else { - len += 3; - } - } - return len; - }; - - var stringToUTF8Array = (str, heap, outIdx, maxBytesToWrite) => { - assert(typeof str === 'string', `stringToUTF8Array expects a string (got ${typeof str})`); - // Parameter maxBytesToWrite is not optional. Negative values, 0, null, - // undefined and false each don't write out any bytes. - if (!(maxBytesToWrite > 0)) - return 0; - - var startIdx = outIdx; - var endIdx = outIdx + maxBytesToWrite - 1; // -1 for string null terminator. - for (var i = 0; i < str.length; ++i) { - // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code - // unit, not a Unicode code point of the character! So decode - // UTF16->UTF32->UTF8. - // See http://unicode.org/faq/utf_bom.html#utf16-3 - // For UTF8 byte structure, see http://en.wikipedia.org/wiki/UTF-8#Description - // and https://www.ietf.org/rfc/rfc2279.txt - // and https://tools.ietf.org/html/rfc3629 - var u = str.charCodeAt(i); // possibly a lead surrogate - if (u >= 0xD800 && u <= 0xDFFF) { - var u1 = str.charCodeAt(++i); - u = 0x10000 + ((u & 0x3FF) << 10) | (u1 & 0x3FF); - } - if (u <= 0x7F) { - if (outIdx >= endIdx) break; - heap[outIdx++] = u; - } else if (u <= 0x7FF) { - if (outIdx + 1 >= endIdx) break; - heap[outIdx++] = 0xC0 | (u >> 6); - heap[outIdx++] = 0x80 | (u & 63); - } else if (u <= 0xFFFF) { - if (outIdx + 2 >= endIdx) break; - heap[outIdx++] = 0xE0 | (u >> 12); - heap[outIdx++] = 0x80 | ((u >> 6) & 63); - heap[outIdx++] = 0x80 | (u & 63); - } else { - if (outIdx + 3 >= endIdx) break; - if (u > 0x10FFFF) warnOnce('Invalid Unicode code point ' + ptrToString(u) + ' encountered when serializing a JS string to a UTF-8 string in wasm memory! (Valid unicode code points should be in range 0-0x10FFFF).'); - heap[outIdx++] = 0xF0 | (u >> 18); - heap[outIdx++] = 0x80 | ((u >> 12) & 63); - heap[outIdx++] = 0x80 | ((u >> 6) & 63); - heap[outIdx++] = 0x80 | (u & 63); - } - } - // Null-terminate the pointer to the buffer. - heap[outIdx] = 0; - return outIdx - startIdx; - }; - /** @type {function(string, boolean=, number=)} */ - var intArrayFromString = (stringy, dontAddNull, length) => { - var len = length > 0 ? length : lengthBytesUTF8(stringy)+1; - var u8array = new Array(len); - var numBytesWritten = stringToUTF8Array(stringy, u8array, 0, u8array.length); - if (dontAddNull) u8array.length = numBytesWritten; - return u8array; - }; - var FS_stdin_getChar = () => { - if (!FS_stdin_getChar_buffer.length) { - var result = null; - if (ENVIRONMENT_IS_NODE) { - // we will read data by chunks of BUFSIZE - var BUFSIZE = 256; - var buf = Buffer.alloc(BUFSIZE); - var bytesRead = 0; - - // For some reason we must suppress a closure warning here, even though - // fd definitely exists on process.stdin, and is even the proper way to - // get the fd of stdin, - // https://github.com/nodejs/help/issues/2136#issuecomment-523649904 - // This started to happen after moving this logic out of library_tty.js, - // so it is related to the surrounding code in some unclear manner. - /** @suppress {missingProperties} */ - var fd = process.stdin.fd; - - try { - bytesRead = fs.readSync(fd, buf, 0, BUFSIZE); - } catch(e) { - // Cross-platform differences: on Windows, reading EOF throws an - // exception, but on other OSes, reading EOF returns 0. Uniformize - // behavior by treating the EOF exception to return 0. - if (e.toString().includes('EOF')) bytesRead = 0; - else throw e; - } - - if (bytesRead > 0) { - result = buf.slice(0, bytesRead).toString('utf-8'); - } - } else - if (typeof window != 'undefined' && - typeof window.prompt == 'function') { - // Browser. - result = window.prompt('Input: '); // returns null on cancel - if (result !== null) { - result += '\n'; - } - } else - {} - if (!result) { - return null; - } - FS_stdin_getChar_buffer = intArrayFromString(result, true); - } - return FS_stdin_getChar_buffer.shift(); - }; - var TTY = { - ttys:[], - init() { - // https://github.com/emscripten-core/emscripten/pull/1555 - // if (ENVIRONMENT_IS_NODE) { - // // currently, FS.init does not distinguish if process.stdin is a file or TTY - // // device, it always assumes it's a TTY device. because of this, we're forcing - // // process.stdin to UTF8 encoding to at least make stdin reading compatible - // // with text files until FS.init can be refactored. - // process.stdin.setEncoding('utf8'); - // } - }, - shutdown() { - // https://github.com/emscripten-core/emscripten/pull/1555 - // if (ENVIRONMENT_IS_NODE) { - // // inolen: any idea as to why node -e 'process.stdin.read()' wouldn't exit immediately (with process.stdin being a tty)? - // // isaacs: because now it's reading from the stream, you've expressed interest in it, so that read() kicks off a _read() which creates a ReadReq operation - // // inolen: I thought read() in that case was a synchronous operation that just grabbed some amount of buffered data if it exists? - // // isaacs: it is. but it also triggers a _read() call, which calls readStart() on the handle - // // isaacs: do process.stdin.pause() and i'd think it'd probably close the pending call - // process.stdin.pause(); - // } - }, - register(dev, ops) { - TTY.ttys[dev] = { input: [], output: [], ops: ops }; - FS.registerDevice(dev, TTY.stream_ops); - }, - stream_ops:{ - open(stream) { - var tty = TTY.ttys[stream.node.rdev]; - if (!tty) { - throw new FS.ErrnoError(43); - } - stream.tty = tty; - stream.seekable = false; - }, - close(stream) { - // flush any pending line data - stream.tty.ops.fsync(stream.tty); - }, - fsync(stream) { - stream.tty.ops.fsync(stream.tty); - }, - read(stream, buffer, offset, length, pos /* ignored */) { - if (!stream.tty || !stream.tty.ops.get_char) { - throw new FS.ErrnoError(60); - } - var bytesRead = 0; - for (var i = 0; i < length; i++) { - var result; - try { - result = stream.tty.ops.get_char(stream.tty); - } catch (e) { - throw new FS.ErrnoError(29); - } - if (result === undefined && bytesRead === 0) { - throw new FS.ErrnoError(6); - } - if (result === null || result === undefined) break; - bytesRead++; - buffer[offset+i] = result; - } - if (bytesRead) { - stream.node.atime = Date.now(); - } - return bytesRead; - }, - write(stream, buffer, offset, length, pos) { - if (!stream.tty || !stream.tty.ops.put_char) { - throw new FS.ErrnoError(60); - } - try { - for (var i = 0; i < length; i++) { - stream.tty.ops.put_char(stream.tty, buffer[offset+i]); - } - } catch (e) { - throw new FS.ErrnoError(29); - } - if (length) { - stream.node.mtime = stream.node.ctime = Date.now(); - } - return i; - }, - }, - default_tty_ops:{ - get_char(tty) { - return FS_stdin_getChar(); - }, - put_char(tty, val) { - if (val === null || val === 10) { - out(UTF8ArrayToString(tty.output)); - tty.output = []; - } else { - if (val != 0) tty.output.push(val); // val == 0 would cut text output off in the middle. - } - }, - fsync(tty) { - if (tty.output?.length > 0) { - out(UTF8ArrayToString(tty.output)); - tty.output = []; - } - }, - ioctl_tcgets(tty) { - // typical setting - return { - c_iflag: 25856, - c_oflag: 5, - c_cflag: 191, - c_lflag: 35387, - c_cc: [ - 0x03, 0x1c, 0x7f, 0x15, 0x04, 0x00, 0x01, 0x00, 0x11, 0x13, 0x1a, 0x00, - 0x12, 0x0f, 0x17, 0x16, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - ] - }; - }, - ioctl_tcsets(tty, optional_actions, data) { - // currently just ignore - return 0; - }, - ioctl_tiocgwinsz(tty) { - return [24, 80]; - }, - }, - default_tty1_ops:{ - put_char(tty, val) { - if (val === null || val === 10) { - err(UTF8ArrayToString(tty.output)); - tty.output = []; - } else { - if (val != 0) tty.output.push(val); - } - }, - fsync(tty) { - if (tty.output?.length > 0) { - err(UTF8ArrayToString(tty.output)); - tty.output = []; - } - }, - }, - }; - - - var mmapAlloc = (size) => { - abort('internal error: mmapAlloc called but `emscripten_builtin_memalign` native symbol not exported'); - }; - var MEMFS = { - ops_table:null, - mount(mount) { - return MEMFS.createNode(null, '/', 16895, 0); - }, - createNode(parent, name, mode, dev) { - if (FS.isBlkdev(mode) || FS.isFIFO(mode)) { - // no supported - throw new FS.ErrnoError(63); - } - MEMFS.ops_table ||= { - dir: { - node: { - getattr: MEMFS.node_ops.getattr, - setattr: MEMFS.node_ops.setattr, - lookup: MEMFS.node_ops.lookup, - mknod: MEMFS.node_ops.mknod, - rename: MEMFS.node_ops.rename, - unlink: MEMFS.node_ops.unlink, - rmdir: MEMFS.node_ops.rmdir, - readdir: MEMFS.node_ops.readdir, - symlink: MEMFS.node_ops.symlink - }, - stream: { - llseek: MEMFS.stream_ops.llseek - } - }, - file: { - node: { - getattr: MEMFS.node_ops.getattr, - setattr: MEMFS.node_ops.setattr - }, - stream: { - llseek: MEMFS.stream_ops.llseek, - read: MEMFS.stream_ops.read, - write: MEMFS.stream_ops.write, - mmap: MEMFS.stream_ops.mmap, - msync: MEMFS.stream_ops.msync - } - }, - link: { - node: { - getattr: MEMFS.node_ops.getattr, - setattr: MEMFS.node_ops.setattr, - readlink: MEMFS.node_ops.readlink - }, - stream: {} - }, - chrdev: { - node: { - getattr: MEMFS.node_ops.getattr, - setattr: MEMFS.node_ops.setattr - }, - stream: FS.chrdev_stream_ops - } - }; - var node = FS.createNode(parent, name, mode, dev); - if (FS.isDir(node.mode)) { - node.node_ops = MEMFS.ops_table.dir.node; - node.stream_ops = MEMFS.ops_table.dir.stream; - node.contents = {}; - } else if (FS.isFile(node.mode)) { - node.node_ops = MEMFS.ops_table.file.node; - node.stream_ops = MEMFS.ops_table.file.stream; - node.usedBytes = 0; // The actual number of bytes used in the typed array, as opposed to contents.length which gives the whole capacity. - // When the byte data of the file is populated, this will point to either a typed array, or a normal JS array. Typed arrays are preferred - // for performance, and used by default. However, typed arrays are not resizable like normal JS arrays are, so there is a small disk size - // penalty involved for appending file writes that continuously grow a file similar to std::vector capacity vs used -scheme. - node.contents = null; - } else if (FS.isLink(node.mode)) { - node.node_ops = MEMFS.ops_table.link.node; - node.stream_ops = MEMFS.ops_table.link.stream; - } else if (FS.isChrdev(node.mode)) { - node.node_ops = MEMFS.ops_table.chrdev.node; - node.stream_ops = MEMFS.ops_table.chrdev.stream; - } - node.atime = node.mtime = node.ctime = Date.now(); - // add the new node to the parent - if (parent) { - parent.contents[name] = node; - parent.atime = parent.mtime = parent.ctime = node.atime; - } - return node; - }, - getFileDataAsTypedArray(node) { - if (!node.contents) return new Uint8Array(0); - if (node.contents.subarray) return node.contents.subarray(0, node.usedBytes); // Make sure to not return excess unused bytes. - return new Uint8Array(node.contents); - }, - expandFileStorage(node, newCapacity) { - var prevCapacity = node.contents ? node.contents.length : 0; - if (prevCapacity >= newCapacity) return; // No need to expand, the storage was already large enough. - // Don't expand strictly to the given requested limit if it's only a very small increase, but instead geometrically grow capacity. - // For small filesizes (<1MB), perform size*2 geometric increase, but for large sizes, do a much more conservative size*1.125 increase to - // avoid overshooting the allocation cap by a very large margin. - var CAPACITY_DOUBLING_MAX = 1024 * 1024; - newCapacity = Math.max(newCapacity, (prevCapacity * (prevCapacity < CAPACITY_DOUBLING_MAX ? 2.0 : 1.125)) >>> 0); - if (prevCapacity != 0) newCapacity = Math.max(newCapacity, 256); // At minimum allocate 256b for each file when expanding. - var oldContents = node.contents; - node.contents = new Uint8Array(newCapacity); // Allocate new storage. - if (node.usedBytes > 0) node.contents.set(oldContents.subarray(0, node.usedBytes), 0); // Copy old data over to the new storage. - }, - resizeFileStorage(node, newSize) { - if (node.usedBytes == newSize) return; - if (newSize == 0) { - node.contents = null; // Fully decommit when requesting a resize to zero. - node.usedBytes = 0; - } else { - var oldContents = node.contents; - node.contents = new Uint8Array(newSize); // Allocate new storage. - if (oldContents) { - node.contents.set(oldContents.subarray(0, Math.min(newSize, node.usedBytes))); // Copy old data over to the new storage. - } - node.usedBytes = newSize; - } - }, - node_ops:{ - getattr(node) { - var attr = {}; - // device numbers reuse inode numbers. - attr.dev = FS.isChrdev(node.mode) ? node.id : 1; - attr.ino = node.id; - attr.mode = node.mode; - attr.nlink = 1; - attr.uid = 0; - attr.gid = 0; - attr.rdev = node.rdev; - if (FS.isDir(node.mode)) { - attr.size = 4096; - } else if (FS.isFile(node.mode)) { - attr.size = node.usedBytes; - } else if (FS.isLink(node.mode)) { - attr.size = node.link.length; - } else { - attr.size = 0; - } - attr.atime = new Date(node.atime); - attr.mtime = new Date(node.mtime); - attr.ctime = new Date(node.ctime); - // NOTE: In our implementation, st_blocks = Math.ceil(st_size/st_blksize), - // but this is not required by the standard. - attr.blksize = 4096; - attr.blocks = Math.ceil(attr.size / attr.blksize); - return attr; - }, - setattr(node, attr) { - for (const key of ["mode", "atime", "mtime", "ctime"]) { - if (attr[key] != null) { - node[key] = attr[key]; - } - } - if (attr.size !== undefined) { - MEMFS.resizeFileStorage(node, attr.size); - } - }, - lookup(parent, name) { - throw new FS.ErrnoError(44); - }, - mknod(parent, name, mode, dev) { - return MEMFS.createNode(parent, name, mode, dev); - }, - rename(old_node, new_dir, new_name) { - var new_node; - try { - new_node = FS.lookupNode(new_dir, new_name); - } catch (e) {} - if (new_node) { - if (FS.isDir(old_node.mode)) { - // if we're overwriting a directory at new_name, make sure it's empty. - for (var i in new_node.contents) { - throw new FS.ErrnoError(55); - } - } - FS.hashRemoveNode(new_node); - } - // do the internal rewiring - delete old_node.parent.contents[old_node.name]; - new_dir.contents[new_name] = old_node; - old_node.name = new_name; - new_dir.ctime = new_dir.mtime = old_node.parent.ctime = old_node.parent.mtime = Date.now(); - }, - unlink(parent, name) { - delete parent.contents[name]; - parent.ctime = parent.mtime = Date.now(); - }, - rmdir(parent, name) { - var node = FS.lookupNode(parent, name); - for (var i in node.contents) { - throw new FS.ErrnoError(55); - } - delete parent.contents[name]; - parent.ctime = parent.mtime = Date.now(); - }, - readdir(node) { - return ['.', '..', ...Object.keys(node.contents)]; - }, - symlink(parent, newname, oldpath) { - var node = MEMFS.createNode(parent, newname, 0o777 | 40960, 0); - node.link = oldpath; - return node; - }, - readlink(node) { - if (!FS.isLink(node.mode)) { - throw new FS.ErrnoError(28); - } - return node.link; - }, - }, - stream_ops:{ - read(stream, buffer, offset, length, position) { - var contents = stream.node.contents; - if (position >= stream.node.usedBytes) return 0; - var size = Math.min(stream.node.usedBytes - position, length); - assert(size >= 0); - if (size > 8 && contents.subarray) { // non-trivial, and typed array - buffer.set(contents.subarray(position, position + size), offset); - } else { - for (var i = 0; i < size; i++) buffer[offset + i] = contents[position + i]; - } - return size; - }, - write(stream, buffer, offset, length, position, canOwn) { - // The data buffer should be a typed array view - assert(!(buffer instanceof ArrayBuffer)); - - if (!length) return 0; - var node = stream.node; - node.mtime = node.ctime = Date.now(); - - if (buffer.subarray && (!node.contents || node.contents.subarray)) { // This write is from a typed array to a typed array? - if (canOwn) { - assert(position === 0, 'canOwn must imply no weird position inside the file'); - node.contents = buffer.subarray(offset, offset + length); - node.usedBytes = length; - return length; - } else if (node.usedBytes === 0 && position === 0) { // If this is a simple first write to an empty file, do a fast set since we don't need to care about old data. - node.contents = buffer.slice(offset, offset + length); - node.usedBytes = length; - return length; - } else if (position + length <= node.usedBytes) { // Writing to an already allocated and used subrange of the file? - node.contents.set(buffer.subarray(offset, offset + length), position); - return length; - } - } - - // Appending to an existing file and we need to reallocate, or source data did not come as a typed array. - MEMFS.expandFileStorage(node, position+length); - if (node.contents.subarray && buffer.subarray) { - // Use typed array write which is available. - node.contents.set(buffer.subarray(offset, offset + length), position); - } else { - for (var i = 0; i < length; i++) { - node.contents[position + i] = buffer[offset + i]; // Or fall back to manual write if not. - } - } - node.usedBytes = Math.max(node.usedBytes, position + length); - return length; - }, - llseek(stream, offset, whence) { - var position = offset; - if (whence === 1) { - position += stream.position; - } else if (whence === 2) { - if (FS.isFile(stream.node.mode)) { - position += stream.node.usedBytes; - } - } - if (position < 0) { - throw new FS.ErrnoError(28); - } - return position; - }, - mmap(stream, length, position, prot, flags) { - if (!FS.isFile(stream.node.mode)) { - throw new FS.ErrnoError(43); - } - var ptr; - var allocated; - var contents = stream.node.contents; - // Only make a new copy when MAP_PRIVATE is specified. - if (!(flags & 2) && contents && contents.buffer === HEAP8.buffer) { - // We can't emulate MAP_SHARED when the file is not backed by the - // buffer we're mapping to (e.g. the HEAP buffer). - allocated = false; - ptr = contents.byteOffset; - } else { - allocated = true; - ptr = mmapAlloc(length); - if (!ptr) { - throw new FS.ErrnoError(48); - } - if (contents) { - // Try to avoid unnecessary slices. - if (position > 0 || position + length < contents.length) { - if (contents.subarray) { - contents = contents.subarray(position, position + length); - } else { - contents = Array.prototype.slice.call(contents, position, position + length); - } - } - HEAP8.set(contents, ptr); - } - } - return { ptr, allocated }; - }, - msync(stream, buffer, offset, length, mmapFlags) { - MEMFS.stream_ops.write(stream, buffer, 0, length, offset, false); - // should we check if bytesWritten and length are the same? - return 0; - }, - }, - }; - - var asyncLoad = async (url) => { - var arrayBuffer = await readAsync(url); - assert(arrayBuffer, `Loading data file "${url}" failed (no arrayBuffer).`); - return new Uint8Array(arrayBuffer); - }; - - - var FS_createDataFile = (parent, name, fileData, canRead, canWrite, canOwn) => { - FS.createDataFile(parent, name, fileData, canRead, canWrite, canOwn); - }; - - var preloadPlugins = Module['preloadPlugins'] || []; - var FS_handledByPreloadPlugin = (byteArray, fullname, finish, onerror) => { - // Ensure plugins are ready. - if (typeof Browser != 'undefined') Browser.init(); - - var handled = false; - preloadPlugins.forEach((plugin) => { - if (handled) return; - if (plugin['canHandle'](fullname)) { - plugin['handle'](byteArray, fullname, finish, onerror); - handled = true; - } - }); - return handled; - }; - var FS_createPreloadedFile = (parent, name, url, canRead, canWrite, onload, onerror, dontCreateFile, canOwn, preFinish) => { - // TODO we should allow people to just pass in a complete filename instead - // of parent and name being that we just join them anyways - var fullname = name ? PATH_FS.resolve(PATH.join2(parent, name)) : parent; - var dep = getUniqueRunDependency(`cp ${fullname}`); // might have several active requests for the same fullname - function processData(byteArray) { - function finish(byteArray) { - preFinish?.(); - if (!dontCreateFile) { - FS_createDataFile(parent, name, byteArray, canRead, canWrite, canOwn); - } - onload?.(); - removeRunDependency(dep); - } - if (FS_handledByPreloadPlugin(byteArray, fullname, finish, () => { - onerror?.(); - removeRunDependency(dep); - })) { - return; - } - finish(byteArray); - } - addRunDependency(dep); - if (typeof url == 'string') { - asyncLoad(url).then(processData, onerror); - } else { - processData(url); - } - }; - - var FS_modeStringToFlags = (str) => { - var flagModes = { - 'r': 0, - 'r+': 2, - 'w': 512 | 64 | 1, - 'w+': 512 | 64 | 2, - 'a': 1024 | 64 | 1, - 'a+': 1024 | 64 | 2, - }; - var flags = flagModes[str]; - if (typeof flags == 'undefined') { - throw new Error(`Unknown file open mode: ${str}`); - } - return flags; - }; - - var FS_getMode = (canRead, canWrite) => { - var mode = 0; - if (canRead) mode |= 292 | 73; - if (canWrite) mode |= 146; - return mode; - }; - - - - - - - /** - * Given a pointer 'ptr' to a null-terminated UTF8-encoded string in the - * emscripten HEAP, returns a copy of that string as a Javascript String object. - * - * @param {number} ptr - * @param {number=} maxBytesToRead - An optional length that specifies the - * maximum number of bytes to read. You can omit this parameter to scan the - * string until the first 0 byte. If maxBytesToRead is passed, and the string - * at [ptr, ptr+maxBytesToReadr[ contains a null byte in the middle, then the - * string will cut short at that byte index (i.e. maxBytesToRead will not - * produce a string of exact length [ptr, ptr+maxBytesToRead[) N.B. mixing - * frequent uses of UTF8ToString() with and without maxBytesToRead may throw - * JS JIT optimizations off, so it is worth to consider consistently using one - * @return {string} - */ - var UTF8ToString = (ptr, maxBytesToRead) => { - assert(typeof ptr == 'number', `UTF8ToString expects a number (got ${typeof ptr})`); - return ptr ? UTF8ArrayToString(HEAPU8, ptr, maxBytesToRead) : ''; - }; - - var strError = (errno) => UTF8ToString(_strerror(errno)); - - var ERRNO_CODES = { - 'EPERM': 63, - 'ENOENT': 44, - 'ESRCH': 71, - 'EINTR': 27, - 'EIO': 29, - 'ENXIO': 60, - 'E2BIG': 1, - 'ENOEXEC': 45, - 'EBADF': 8, - 'ECHILD': 12, - 'EAGAIN': 6, - 'EWOULDBLOCK': 6, - 'ENOMEM': 48, - 'EACCES': 2, - 'EFAULT': 21, - 'ENOTBLK': 105, - 'EBUSY': 10, - 'EEXIST': 20, - 'EXDEV': 75, - 'ENODEV': 43, - 'ENOTDIR': 54, - 'EISDIR': 31, - 'EINVAL': 28, - 'ENFILE': 41, - 'EMFILE': 33, - 'ENOTTY': 59, - 'ETXTBSY': 74, - 'EFBIG': 22, - 'ENOSPC': 51, - 'ESPIPE': 70, - 'EROFS': 69, - 'EMLINK': 34, - 'EPIPE': 64, - 'EDOM': 18, - 'ERANGE': 68, - 'ENOMSG': 49, - 'EIDRM': 24, - 'ECHRNG': 106, - 'EL2NSYNC': 156, - 'EL3HLT': 107, - 'EL3RST': 108, - 'ELNRNG': 109, - 'EUNATCH': 110, - 'ENOCSI': 111, - 'EL2HLT': 112, - 'EDEADLK': 16, - 'ENOLCK': 46, - 'EBADE': 113, - 'EBADR': 114, - 'EXFULL': 115, - 'ENOANO': 104, - 'EBADRQC': 103, - 'EBADSLT': 102, - 'EDEADLOCK': 16, - 'EBFONT': 101, - 'ENOSTR': 100, - 'ENODATA': 116, - 'ETIME': 117, - 'ENOSR': 118, - 'ENONET': 119, - 'ENOPKG': 120, - 'EREMOTE': 121, - 'ENOLINK': 47, - 'EADV': 122, - 'ESRMNT': 123, - 'ECOMM': 124, - 'EPROTO': 65, - 'EMULTIHOP': 36, - 'EDOTDOT': 125, - 'EBADMSG': 9, - 'ENOTUNIQ': 126, - 'EBADFD': 127, - 'EREMCHG': 128, - 'ELIBACC': 129, - 'ELIBBAD': 130, - 'ELIBSCN': 131, - 'ELIBMAX': 132, - 'ELIBEXEC': 133, - 'ENOSYS': 52, - 'ENOTEMPTY': 55, - 'ENAMETOOLONG': 37, - 'ELOOP': 32, - 'EOPNOTSUPP': 138, - 'EPFNOSUPPORT': 139, - 'ECONNRESET': 15, - 'ENOBUFS': 42, - 'EAFNOSUPPORT': 5, - 'EPROTOTYPE': 67, - 'ENOTSOCK': 57, - 'ENOPROTOOPT': 50, - 'ESHUTDOWN': 140, - 'ECONNREFUSED': 14, - 'EADDRINUSE': 3, - 'ECONNABORTED': 13, - 'ENETUNREACH': 40, - 'ENETDOWN': 38, - 'ETIMEDOUT': 73, - 'EHOSTDOWN': 142, - 'EHOSTUNREACH': 23, - 'EINPROGRESS': 26, - 'EALREADY': 7, - 'EDESTADDRREQ': 17, - 'EMSGSIZE': 35, - 'EPROTONOSUPPORT': 66, - 'ESOCKTNOSUPPORT': 137, - 'EADDRNOTAVAIL': 4, - 'ENETRESET': 39, - 'EISCONN': 30, - 'ENOTCONN': 53, - 'ETOOMANYREFS': 141, - 'EUSERS': 136, - 'EDQUOT': 19, - 'ESTALE': 72, - 'ENOTSUP': 138, - 'ENOMEDIUM': 148, - 'EILSEQ': 25, - 'EOVERFLOW': 61, - 'ECANCELED': 11, - 'ENOTRECOVERABLE': 56, - 'EOWNERDEAD': 62, - 'ESTRPIPE': 135, - }; - var FS = { - root:null, - mounts:[], - devices:{ - }, - streams:[], - nextInode:1, - nameTable:null, - currentPath:"/", - initialized:false, - ignorePermissions:true, - filesystems:null, - syncFSRequests:0, - readFiles:{ - }, - ErrnoError:class extends Error { - name = 'ErrnoError'; - // We set the `name` property to be able to identify `FS.ErrnoError` - // - the `name` is a standard ECMA-262 property of error objects. Kind of good to have it anyway. - // - when using PROXYFS, an error can come from an underlying FS - // as different FS objects have their own FS.ErrnoError each, - // the test `err instanceof FS.ErrnoError` won't detect an error coming from another filesystem, causing bugs. - // we'll use the reliable test `err.name == "ErrnoError"` instead - constructor(errno) { - super(runtimeInitialized ? strError(errno) : ''); - this.errno = errno; - for (var key in ERRNO_CODES) { - if (ERRNO_CODES[key] === errno) { - this.code = key; - break; - } - } - } - }, - FSStream:class { - shared = {}; - get object() { - return this.node; - } - set object(val) { - this.node = val; - } - get isRead() { - return (this.flags & 2097155) !== 1; - } - get isWrite() { - return (this.flags & 2097155) !== 0; - } - get isAppend() { - return (this.flags & 1024); - } - get flags() { - return this.shared.flags; - } - set flags(val) { - this.shared.flags = val; - } - get position() { - return this.shared.position; - } - set position(val) { - this.shared.position = val; - } - }, - FSNode:class { - node_ops = {}; - stream_ops = {}; - readMode = 292 | 73; - writeMode = 146; - mounted = null; - constructor(parent, name, mode, rdev) { - if (!parent) { - parent = this; // root node sets parent to itself - } - this.parent = parent; - this.mount = parent.mount; - this.id = FS.nextInode++; - this.name = name; - this.mode = mode; - this.rdev = rdev; - this.atime = this.mtime = this.ctime = Date.now(); - } - get read() { - return (this.mode & this.readMode) === this.readMode; - } - set read(val) { - val ? this.mode |= this.readMode : this.mode &= ~this.readMode; - } - get write() { - return (this.mode & this.writeMode) === this.writeMode; - } - set write(val) { - val ? this.mode |= this.writeMode : this.mode &= ~this.writeMode; - } - get isFolder() { - return FS.isDir(this.mode); - } - get isDevice() { - return FS.isChrdev(this.mode); - } - }, - lookupPath(path, opts = {}) { - if (!path) { - throw new FS.ErrnoError(44); - } - opts.follow_mount ??= true - - if (!PATH.isAbs(path)) { - path = FS.cwd() + '/' + path; - } - - // limit max consecutive symlinks to 40 (SYMLOOP_MAX). - linkloop: for (var nlinks = 0; nlinks < 40; nlinks++) { - // split the absolute path - var parts = path.split('/').filter((p) => !!p); - - // start at the root - var current = FS.root; - var current_path = '/'; - - for (var i = 0; i < parts.length; i++) { - var islast = (i === parts.length-1); - if (islast && opts.parent) { - // stop resolving - break; - } - - if (parts[i] === '.') { - continue; - } - - if (parts[i] === '..') { - current_path = PATH.dirname(current_path); - current = current.parent; - continue; - } - - current_path = PATH.join2(current_path, parts[i]); - try { - current = FS.lookupNode(current, parts[i]); - } catch (e) { - // if noent_okay is true, suppress a ENOENT in the last component - // and return an object with an undefined node. This is needed for - // resolving symlinks in the path when creating a file. - if ((e?.errno === 44) && islast && opts.noent_okay) { - return { path: current_path }; - } - throw e; - } - - // jump to the mount's root node if this is a mountpoint - if (FS.isMountpoint(current) && (!islast || opts.follow_mount)) { - current = current.mounted.root; - } - - // by default, lookupPath will not follow a symlink if it is the final path component. - // setting opts.follow = true will override this behavior. - if (FS.isLink(current.mode) && (!islast || opts.follow)) { - if (!current.node_ops.readlink) { - throw new FS.ErrnoError(52); - } - var link = current.node_ops.readlink(current); - if (!PATH.isAbs(link)) { - link = PATH.dirname(current_path) + '/' + link; - } - path = link + '/' + parts.slice(i + 1).join('/'); - continue linkloop; - } - } - return { path: current_path, node: current }; - } - throw new FS.ErrnoError(32); - }, - getPath(node) { - var path; - while (true) { - if (FS.isRoot(node)) { - var mount = node.mount.mountpoint; - if (!path) return mount; - return mount[mount.length-1] !== '/' ? `${mount}/${path}` : mount + path; - } - path = path ? `${node.name}/${path}` : node.name; - node = node.parent; - } - }, - hashName(parentid, name) { - var hash = 0; - - for (var i = 0; i < name.length; i++) { - hash = ((hash << 5) - hash + name.charCodeAt(i)) | 0; - } - return ((parentid + hash) >>> 0) % FS.nameTable.length; - }, - hashAddNode(node) { - var hash = FS.hashName(node.parent.id, node.name); - node.name_next = FS.nameTable[hash]; - FS.nameTable[hash] = node; - }, - hashRemoveNode(node) { - var hash = FS.hashName(node.parent.id, node.name); - if (FS.nameTable[hash] === node) { - FS.nameTable[hash] = node.name_next; - } else { - var current = FS.nameTable[hash]; - while (current) { - if (current.name_next === node) { - current.name_next = node.name_next; - break; - } - current = current.name_next; - } - } - }, - lookupNode(parent, name) { - var errCode = FS.mayLookup(parent); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - var hash = FS.hashName(parent.id, name); - for (var node = FS.nameTable[hash]; node; node = node.name_next) { - var nodeName = node.name; - if (node.parent.id === parent.id && nodeName === name) { - return node; - } - } - // if we failed to find it in the cache, call into the VFS - return FS.lookup(parent, name); - }, - createNode(parent, name, mode, rdev) { - assert(typeof parent == 'object') - var node = new FS.FSNode(parent, name, mode, rdev); - - FS.hashAddNode(node); - - return node; - }, - destroyNode(node) { - FS.hashRemoveNode(node); - }, - isRoot(node) { - return node === node.parent; - }, - isMountpoint(node) { - return !!node.mounted; - }, - isFile(mode) { - return (mode & 61440) === 32768; - }, - isDir(mode) { - return (mode & 61440) === 16384; - }, - isLink(mode) { - return (mode & 61440) === 40960; - }, - isChrdev(mode) { - return (mode & 61440) === 8192; - }, - isBlkdev(mode) { - return (mode & 61440) === 24576; - }, - isFIFO(mode) { - return (mode & 61440) === 4096; - }, - isSocket(mode) { - return (mode & 49152) === 49152; - }, - flagsToPermissionString(flag) { - var perms = ['r', 'w', 'rw'][flag & 3]; - if ((flag & 512)) { - perms += 'w'; - } - return perms; - }, - nodePermissions(node, perms) { - if (FS.ignorePermissions) { - return 0; - } - // return 0 if any user, group or owner bits are set. - if (perms.includes('r') && !(node.mode & 292)) { - return 2; - } else if (perms.includes('w') && !(node.mode & 146)) { - return 2; - } else if (perms.includes('x') && !(node.mode & 73)) { - return 2; - } - return 0; - }, - mayLookup(dir) { - if (!FS.isDir(dir.mode)) return 54; - var errCode = FS.nodePermissions(dir, 'x'); - if (errCode) return errCode; - if (!dir.node_ops.lookup) return 2; - return 0; - }, - mayCreate(dir, name) { - if (!FS.isDir(dir.mode)) { - return 54; - } - try { - var node = FS.lookupNode(dir, name); - return 20; - } catch (e) { - } - return FS.nodePermissions(dir, 'wx'); - }, - mayDelete(dir, name, isdir) { - var node; - try { - node = FS.lookupNode(dir, name); - } catch (e) { - return e.errno; - } - var errCode = FS.nodePermissions(dir, 'wx'); - if (errCode) { - return errCode; - } - if (isdir) { - if (!FS.isDir(node.mode)) { - return 54; - } - if (FS.isRoot(node) || FS.getPath(node) === FS.cwd()) { - return 10; - } - } else { - if (FS.isDir(node.mode)) { - return 31; - } - } - return 0; - }, - mayOpen(node, flags) { - if (!node) { - return 44; - } - if (FS.isLink(node.mode)) { - return 32; - } else if (FS.isDir(node.mode)) { - if (FS.flagsToPermissionString(flags) !== 'r' // opening for write - || (flags & (512 | 64))) { // TODO: check for O_SEARCH? (== search for dir only) - return 31; - } - } - return FS.nodePermissions(node, FS.flagsToPermissionString(flags)); - }, - checkOpExists(op, err) { - if (!op) { - throw new FS.ErrnoError(err); - } - return op; - }, - MAX_OPEN_FDS:4096, - nextfd() { - for (var fd = 0; fd <= FS.MAX_OPEN_FDS; fd++) { - if (!FS.streams[fd]) { - return fd; - } - } - throw new FS.ErrnoError(33); - }, - getStreamChecked(fd) { - var stream = FS.getStream(fd); - if (!stream) { - throw new FS.ErrnoError(8); - } - return stream; - }, - getStream:(fd) => FS.streams[fd], - createStream(stream, fd = -1) { - assert(fd >= -1); - - // clone it, so we can return an instance of FSStream - stream = Object.assign(new FS.FSStream(), stream); - if (fd == -1) { - fd = FS.nextfd(); - } - stream.fd = fd; - FS.streams[fd] = stream; - return stream; - }, - closeStream(fd) { - FS.streams[fd] = null; - }, - dupStream(origStream, fd = -1) { - var stream = FS.createStream(origStream, fd); - stream.stream_ops?.dup?.(stream); - return stream; - }, - doSetAttr(stream, node, attr) { - var setattr = stream?.stream_ops.setattr; - var arg = setattr ? stream : node; - setattr ??= node.node_ops.setattr; - FS.checkOpExists(setattr, 63) - setattr(arg, attr); - }, - chrdev_stream_ops:{ - open(stream) { - var device = FS.getDevice(stream.node.rdev); - // override node's stream ops with the device's - stream.stream_ops = device.stream_ops; - // forward the open call - stream.stream_ops.open?.(stream); - }, - llseek() { - throw new FS.ErrnoError(70); - }, - }, - major:(dev) => ((dev) >> 8), - minor:(dev) => ((dev) & 0xff), - makedev:(ma, mi) => ((ma) << 8 | (mi)), - registerDevice(dev, ops) { - FS.devices[dev] = { stream_ops: ops }; - }, - getDevice:(dev) => FS.devices[dev], - getMounts(mount) { - var mounts = []; - var check = [mount]; - - while (check.length) { - var m = check.pop(); - - mounts.push(m); - - check.push(...m.mounts); - } - - return mounts; - }, - syncfs(populate, callback) { - if (typeof populate == 'function') { - callback = populate; - populate = false; - } - - FS.syncFSRequests++; - - if (FS.syncFSRequests > 1) { - err(`warning: ${FS.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`); - } - - var mounts = FS.getMounts(FS.root.mount); - var completed = 0; - - function doCallback(errCode) { - assert(FS.syncFSRequests > 0); - FS.syncFSRequests--; - return callback(errCode); - } - - function done(errCode) { - if (errCode) { - if (!done.errored) { - done.errored = true; - return doCallback(errCode); - } - return; - } - if (++completed >= mounts.length) { - doCallback(null); - } - }; - - // sync all mounts - mounts.forEach((mount) => { - if (!mount.type.syncfs) { - return done(null); - } - mount.type.syncfs(mount, populate, done); - }); - }, - mount(type, opts, mountpoint) { - if (typeof type == 'string') { - // The filesystem was not included, and instead we have an error - // message stored in the variable. - throw type; - } - var root = mountpoint === '/'; - var pseudo = !mountpoint; - var node; - - if (root && FS.root) { - throw new FS.ErrnoError(10); - } else if (!root && !pseudo) { - var lookup = FS.lookupPath(mountpoint, { follow_mount: false }); - - mountpoint = lookup.path; // use the absolute path - node = lookup.node; - - if (FS.isMountpoint(node)) { - throw new FS.ErrnoError(10); - } - - if (!FS.isDir(node.mode)) { - throw new FS.ErrnoError(54); - } - } - - var mount = { - type, - opts, - mountpoint, - mounts: [] - }; - - // create a root node for the fs - var mountRoot = type.mount(mount); - mountRoot.mount = mount; - mount.root = mountRoot; - - if (root) { - FS.root = mountRoot; - } else if (node) { - // set as a mountpoint - node.mounted = mount; - - // add the new mount to the current mount's children - if (node.mount) { - node.mount.mounts.push(mount); - } - } - - return mountRoot; - }, - unmount(mountpoint) { - var lookup = FS.lookupPath(mountpoint, { follow_mount: false }); - - if (!FS.isMountpoint(lookup.node)) { - throw new FS.ErrnoError(28); - } - - // destroy the nodes for this mount, and all its child mounts - var node = lookup.node; - var mount = node.mounted; - var mounts = FS.getMounts(mount); - - Object.keys(FS.nameTable).forEach((hash) => { - var current = FS.nameTable[hash]; - - while (current) { - var next = current.name_next; - - if (mounts.includes(current.mount)) { - FS.destroyNode(current); - } - - current = next; - } - }); - - // no longer a mountpoint - node.mounted = null; - - // remove this mount from the child mounts - var idx = node.mount.mounts.indexOf(mount); - assert(idx !== -1); - node.mount.mounts.splice(idx, 1); - }, - lookup(parent, name) { - return parent.node_ops.lookup(parent, name); - }, - mknod(path, mode, dev) { - var lookup = FS.lookupPath(path, { parent: true }); - var parent = lookup.node; - var name = PATH.basename(path); - if (!name) { - throw new FS.ErrnoError(28); - } - if (name === '.' || name === '..') { - throw new FS.ErrnoError(20); - } - var errCode = FS.mayCreate(parent, name); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - if (!parent.node_ops.mknod) { - throw new FS.ErrnoError(63); - } - return parent.node_ops.mknod(parent, name, mode, dev); - }, - statfs(path) { - return FS.statfsNode(FS.lookupPath(path, {follow: true}).node); - }, - statfsStream(stream) { - // We keep a separate statfsStream function because noderawfs overrides - // it. In noderawfs, stream.node is sometimes null. Instead, we need to - // look at stream.path. - return FS.statfsNode(stream.node); - }, - statfsNode(node) { - // NOTE: None of the defaults here are true. We're just returning safe and - // sane values. Currently nodefs and rawfs replace these defaults, - // other file systems leave them alone. - var rtn = { - bsize: 4096, - frsize: 4096, - blocks: 1e6, - bfree: 5e5, - bavail: 5e5, - files: FS.nextInode, - ffree: FS.nextInode - 1, - fsid: 42, - flags: 2, - namelen: 255, - }; - - if (node.node_ops.statfs) { - Object.assign(rtn, node.node_ops.statfs(node.mount.opts.root)); - } - return rtn; - }, - create(path, mode = 0o666) { - mode &= 4095; - mode |= 32768; - return FS.mknod(path, mode, 0); - }, - mkdir(path, mode = 0o777) { - mode &= 511 | 512; - mode |= 16384; - return FS.mknod(path, mode, 0); - }, - mkdirTree(path, mode) { - var dirs = path.split('/'); - var d = ''; - for (var dir of dirs) { - if (!dir) continue; - if (d || PATH.isAbs(path)) d += '/'; - d += dir; - try { - FS.mkdir(d, mode); - } catch(e) { - if (e.errno != 20) throw e; - } - } - }, - mkdev(path, mode, dev) { - if (typeof dev == 'undefined') { - dev = mode; - mode = 0o666; - } - mode |= 8192; - return FS.mknod(path, mode, dev); - }, - symlink(oldpath, newpath) { - if (!PATH_FS.resolve(oldpath)) { - throw new FS.ErrnoError(44); - } - var lookup = FS.lookupPath(newpath, { parent: true }); - var parent = lookup.node; - if (!parent) { - throw new FS.ErrnoError(44); - } - var newname = PATH.basename(newpath); - var errCode = FS.mayCreate(parent, newname); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - if (!parent.node_ops.symlink) { - throw new FS.ErrnoError(63); - } - return parent.node_ops.symlink(parent, newname, oldpath); - }, - rename(old_path, new_path) { - var old_dirname = PATH.dirname(old_path); - var new_dirname = PATH.dirname(new_path); - var old_name = PATH.basename(old_path); - var new_name = PATH.basename(new_path); - // parents must exist - var lookup, old_dir, new_dir; - - // let the errors from non existent directories percolate up - lookup = FS.lookupPath(old_path, { parent: true }); - old_dir = lookup.node; - lookup = FS.lookupPath(new_path, { parent: true }); - new_dir = lookup.node; - - if (!old_dir || !new_dir) throw new FS.ErrnoError(44); - // need to be part of the same mount - if (old_dir.mount !== new_dir.mount) { - throw new FS.ErrnoError(75); - } - // source must exist - var old_node = FS.lookupNode(old_dir, old_name); - // old path should not be an ancestor of the new path - var relative = PATH_FS.relative(old_path, new_dirname); - if (relative.charAt(0) !== '.') { - throw new FS.ErrnoError(28); - } - // new path should not be an ancestor of the old path - relative = PATH_FS.relative(new_path, old_dirname); - if (relative.charAt(0) !== '.') { - throw new FS.ErrnoError(55); - } - // see if the new path already exists - var new_node; - try { - new_node = FS.lookupNode(new_dir, new_name); - } catch (e) { - // not fatal - } - // early out if nothing needs to change - if (old_node === new_node) { - return; - } - // we'll need to delete the old entry - var isdir = FS.isDir(old_node.mode); - var errCode = FS.mayDelete(old_dir, old_name, isdir); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - // need delete permissions if we'll be overwriting. - // need create permissions if new doesn't already exist. - errCode = new_node ? - FS.mayDelete(new_dir, new_name, isdir) : - FS.mayCreate(new_dir, new_name); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - if (!old_dir.node_ops.rename) { - throw new FS.ErrnoError(63); - } - if (FS.isMountpoint(old_node) || (new_node && FS.isMountpoint(new_node))) { - throw new FS.ErrnoError(10); - } - // if we are going to change the parent, check write permissions - if (new_dir !== old_dir) { - errCode = FS.nodePermissions(old_dir, 'w'); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - } - // remove the node from the lookup hash - FS.hashRemoveNode(old_node); - // do the underlying fs rename - try { - old_dir.node_ops.rename(old_node, new_dir, new_name); - // update old node (we do this here to avoid each backend - // needing to) - old_node.parent = new_dir; - } catch (e) { - throw e; - } finally { - // add the node back to the hash (in case node_ops.rename - // changed its name) - FS.hashAddNode(old_node); - } - }, - rmdir(path) { - var lookup = FS.lookupPath(path, { parent: true }); - var parent = lookup.node; - var name = PATH.basename(path); - var node = FS.lookupNode(parent, name); - var errCode = FS.mayDelete(parent, name, true); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - if (!parent.node_ops.rmdir) { - throw new FS.ErrnoError(63); - } - if (FS.isMountpoint(node)) { - throw new FS.ErrnoError(10); - } - parent.node_ops.rmdir(parent, name); - FS.destroyNode(node); - }, - readdir(path) { - var lookup = FS.lookupPath(path, { follow: true }); - var node = lookup.node; - var readdir = FS.checkOpExists(node.node_ops.readdir, 54); - return readdir(node); - }, - unlink(path) { - var lookup = FS.lookupPath(path, { parent: true }); - var parent = lookup.node; - if (!parent) { - throw new FS.ErrnoError(44); - } - var name = PATH.basename(path); - var node = FS.lookupNode(parent, name); - var errCode = FS.mayDelete(parent, name, false); - if (errCode) { - // According to POSIX, we should map EISDIR to EPERM, but - // we instead do what Linux does (and we must, as we use - // the musl linux libc). - throw new FS.ErrnoError(errCode); - } - if (!parent.node_ops.unlink) { - throw new FS.ErrnoError(63); - } - if (FS.isMountpoint(node)) { - throw new FS.ErrnoError(10); - } - parent.node_ops.unlink(parent, name); - FS.destroyNode(node); - }, - readlink(path) { - var lookup = FS.lookupPath(path); - var link = lookup.node; - if (!link) { - throw new FS.ErrnoError(44); - } - if (!link.node_ops.readlink) { - throw new FS.ErrnoError(28); - } - return link.node_ops.readlink(link); - }, - stat(path, dontFollow) { - var lookup = FS.lookupPath(path, { follow: !dontFollow }); - var node = lookup.node; - var getattr = FS.checkOpExists(node.node_ops.getattr, 63); - return getattr(node); - }, - fstat(fd) { - var stream = FS.getStreamChecked(fd); - var node = stream.node; - var getattr = stream.stream_ops.getattr; - var arg = getattr ? stream : node; - getattr ??= node.node_ops.getattr; - FS.checkOpExists(getattr, 63) - return getattr(arg); - }, - lstat(path) { - return FS.stat(path, true); - }, - doChmod(stream, node, mode, dontFollow) { - FS.doSetAttr(stream, node, { - mode: (mode & 4095) | (node.mode & ~4095), - ctime: Date.now(), - dontFollow - }); - }, - chmod(path, mode, dontFollow) { - var node; - if (typeof path == 'string') { - var lookup = FS.lookupPath(path, { follow: !dontFollow }); - node = lookup.node; - } else { - node = path; - } - FS.doChmod(null, node, mode, dontFollow); - }, - lchmod(path, mode) { - FS.chmod(path, mode, true); - }, - fchmod(fd, mode) { - var stream = FS.getStreamChecked(fd); - FS.doChmod(stream, stream.node, mode, false); - }, - doChown(stream, node, dontFollow) { - FS.doSetAttr(stream, node, { - timestamp: Date.now(), - dontFollow - // we ignore the uid / gid for now - }); - }, - chown(path, uid, gid, dontFollow) { - var node; - if (typeof path == 'string') { - var lookup = FS.lookupPath(path, { follow: !dontFollow }); - node = lookup.node; - } else { - node = path; - } - FS.doChown(null, node, dontFollow); - }, - lchown(path, uid, gid) { - FS.chown(path, uid, gid, true); - }, - fchown(fd, uid, gid) { - var stream = FS.getStreamChecked(fd); - FS.doChown(stream, stream.node, false); - }, - doTruncate(stream, node, len) { - if (FS.isDir(node.mode)) { - throw new FS.ErrnoError(31); - } - if (!FS.isFile(node.mode)) { - throw new FS.ErrnoError(28); - } - var errCode = FS.nodePermissions(node, 'w'); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - FS.doSetAttr(stream, node, { - size: len, - timestamp: Date.now() - }); - }, - truncate(path, len) { - if (len < 0) { - throw new FS.ErrnoError(28); - } - var node; - if (typeof path == 'string') { - var lookup = FS.lookupPath(path, { follow: true }); - node = lookup.node; - } else { - node = path; - } - FS.doTruncate(null, node, len); - }, - ftruncate(fd, len) { - var stream = FS.getStreamChecked(fd); - if (len < 0 || (stream.flags & 2097155) === 0) { - throw new FS.ErrnoError(28); - } - FS.doTruncate(stream, stream.node, len); - }, - utime(path, atime, mtime) { - var lookup = FS.lookupPath(path, { follow: true }); - var node = lookup.node; - var setattr = FS.checkOpExists(node.node_ops.setattr, 63); - setattr(node, { - atime: atime, - mtime: mtime - }); - }, - open(path, flags, mode = 0o666) { - if (path === "") { - throw new FS.ErrnoError(44); - } - flags = typeof flags == 'string' ? FS_modeStringToFlags(flags) : flags; - if ((flags & 64)) { - mode = (mode & 4095) | 32768; - } else { - mode = 0; - } - var node; - var isDirPath; - if (typeof path == 'object') { - node = path; - } else { - isDirPath = path.endsWith("/"); - // noent_okay makes it so that if the final component of the path - // doesn't exist, lookupPath returns `node: undefined`. `path` will be - // updated to point to the target of all symlinks. - var lookup = FS.lookupPath(path, { - follow: !(flags & 131072), - noent_okay: true - }); - node = lookup.node; - path = lookup.path; - } - // perhaps we need to create the node - var created = false; - if ((flags & 64)) { - if (node) { - // if O_CREAT and O_EXCL are set, error out if the node already exists - if ((flags & 128)) { - throw new FS.ErrnoError(20); - } - } else if (isDirPath) { - throw new FS.ErrnoError(31); - } else { - // node doesn't exist, try to create it - // Ignore the permission bits here to ensure we can `open` this new - // file below. We use chmod below the apply the permissions once the - // file is open. - node = FS.mknod(path, mode | 0o777, 0); - created = true; - } - } - if (!node) { - throw new FS.ErrnoError(44); - } - // can't truncate a device - if (FS.isChrdev(node.mode)) { - flags &= ~512; - } - // if asked only for a directory, then this must be one - if ((flags & 65536) && !FS.isDir(node.mode)) { - throw new FS.ErrnoError(54); - } - // check permissions, if this is not a file we just created now (it is ok to - // create and write to a file with read-only permissions; it is read-only - // for later use) - if (!created) { - var errCode = FS.mayOpen(node, flags); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - } - // do truncation if necessary - if ((flags & 512) && !created) { - FS.truncate(node, 0); - } - // we've already handled these, don't pass down to the underlying vfs - flags &= ~(128 | 512 | 131072); - - // register the stream with the filesystem - var stream = FS.createStream({ - node, - path: FS.getPath(node), // we want the absolute path to the node - flags, - seekable: true, - position: 0, - stream_ops: node.stream_ops, - // used by the file family libc calls (fopen, fwrite, ferror, etc.) - ungotten: [], - error: false - }); - // call the new stream's open function - if (stream.stream_ops.open) { - stream.stream_ops.open(stream); - } - if (created) { - FS.chmod(node, mode & 0o777); - } - if (Module['logReadFiles'] && !(flags & 1)) { - if (!(path in FS.readFiles)) { - FS.readFiles[path] = 1; - } - } - return stream; - }, - close(stream) { - if (FS.isClosed(stream)) { - throw new FS.ErrnoError(8); - } - if (stream.getdents) stream.getdents = null; // free readdir state - try { - if (stream.stream_ops.close) { - stream.stream_ops.close(stream); - } - } catch (e) { - throw e; - } finally { - FS.closeStream(stream.fd); - } - stream.fd = null; - }, - isClosed(stream) { - return stream.fd === null; - }, - llseek(stream, offset, whence) { - if (FS.isClosed(stream)) { - throw new FS.ErrnoError(8); - } - if (!stream.seekable || !stream.stream_ops.llseek) { - throw new FS.ErrnoError(70); - } - if (whence != 0 && whence != 1 && whence != 2) { - throw new FS.ErrnoError(28); - } - stream.position = stream.stream_ops.llseek(stream, offset, whence); - stream.ungotten = []; - return stream.position; - }, - read(stream, buffer, offset, length, position) { - assert(offset >= 0); - if (length < 0 || position < 0) { - throw new FS.ErrnoError(28); - } - if (FS.isClosed(stream)) { - throw new FS.ErrnoError(8); - } - if ((stream.flags & 2097155) === 1) { - throw new FS.ErrnoError(8); - } - if (FS.isDir(stream.node.mode)) { - throw new FS.ErrnoError(31); - } - if (!stream.stream_ops.read) { - throw new FS.ErrnoError(28); - } - var seeking = typeof position != 'undefined'; - if (!seeking) { - position = stream.position; - } else if (!stream.seekable) { - throw new FS.ErrnoError(70); - } - var bytesRead = stream.stream_ops.read(stream, buffer, offset, length, position); - if (!seeking) stream.position += bytesRead; - return bytesRead; - }, - write(stream, buffer, offset, length, position, canOwn) { - assert(offset >= 0); - if (length < 0 || position < 0) { - throw new FS.ErrnoError(28); - } - if (FS.isClosed(stream)) { - throw new FS.ErrnoError(8); - } - if ((stream.flags & 2097155) === 0) { - throw new FS.ErrnoError(8); - } - if (FS.isDir(stream.node.mode)) { - throw new FS.ErrnoError(31); - } - if (!stream.stream_ops.write) { - throw new FS.ErrnoError(28); - } - if (stream.seekable && stream.flags & 1024) { - // seek to the end before writing in append mode - FS.llseek(stream, 0, 2); - } - var seeking = typeof position != 'undefined'; - if (!seeking) { - position = stream.position; - } else if (!stream.seekable) { - throw new FS.ErrnoError(70); - } - var bytesWritten = stream.stream_ops.write(stream, buffer, offset, length, position, canOwn); - if (!seeking) stream.position += bytesWritten; - return bytesWritten; - }, - mmap(stream, length, position, prot, flags) { - // User requests writing to file (prot & PROT_WRITE != 0). - // Checking if we have permissions to write to the file unless - // MAP_PRIVATE flag is set. According to POSIX spec it is possible - // to write to file opened in read-only mode with MAP_PRIVATE flag, - // as all modifications will be visible only in the memory of - // the current process. - if ((prot & 2) !== 0 - && (flags & 2) === 0 - && (stream.flags & 2097155) !== 2) { - throw new FS.ErrnoError(2); - } - if ((stream.flags & 2097155) === 1) { - throw new FS.ErrnoError(2); - } - if (!stream.stream_ops.mmap) { - throw new FS.ErrnoError(43); - } - if (!length) { - throw new FS.ErrnoError(28); - } - return stream.stream_ops.mmap(stream, length, position, prot, flags); - }, - msync(stream, buffer, offset, length, mmapFlags) { - assert(offset >= 0); - if (!stream.stream_ops.msync) { - return 0; - } - return stream.stream_ops.msync(stream, buffer, offset, length, mmapFlags); - }, - ioctl(stream, cmd, arg) { - if (!stream.stream_ops.ioctl) { - throw new FS.ErrnoError(59); - } - return stream.stream_ops.ioctl(stream, cmd, arg); - }, - readFile(path, opts = {}) { - opts.flags = opts.flags || 0; - opts.encoding = opts.encoding || 'binary'; - if (opts.encoding !== 'utf8' && opts.encoding !== 'binary') { - throw new Error(`Invalid encoding type "${opts.encoding}"`); - } - var ret; - var stream = FS.open(path, opts.flags); - var stat = FS.stat(path); - var length = stat.size; - var buf = new Uint8Array(length); - FS.read(stream, buf, 0, length, 0); - if (opts.encoding === 'utf8') { - ret = UTF8ArrayToString(buf); - } else if (opts.encoding === 'binary') { - ret = buf; - } - FS.close(stream); - return ret; - }, - writeFile(path, data, opts = {}) { - opts.flags = opts.flags || 577; - var stream = FS.open(path, opts.flags, opts.mode); - if (typeof data == 'string') { - var buf = new Uint8Array(lengthBytesUTF8(data)+1); - var actualNumBytes = stringToUTF8Array(data, buf, 0, buf.length); - FS.write(stream, buf, 0, actualNumBytes, undefined, opts.canOwn); - } else if (ArrayBuffer.isView(data)) { - FS.write(stream, data, 0, data.byteLength, undefined, opts.canOwn); - } else { - throw new Error('Unsupported data type'); - } - FS.close(stream); - }, - cwd:() => FS.currentPath, - chdir(path) { - var lookup = FS.lookupPath(path, { follow: true }); - if (lookup.node === null) { - throw new FS.ErrnoError(44); - } - if (!FS.isDir(lookup.node.mode)) { - throw new FS.ErrnoError(54); - } - var errCode = FS.nodePermissions(lookup.node, 'x'); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - FS.currentPath = lookup.path; - }, - createDefaultDirectories() { - FS.mkdir('/tmp'); - FS.mkdir('/home'); - FS.mkdir('/home/web_user'); - }, - createDefaultDevices() { - // create /dev - FS.mkdir('/dev'); - // setup /dev/null - FS.registerDevice(FS.makedev(1, 3), { - read: () => 0, - write: (stream, buffer, offset, length, pos) => length, - llseek: () => 0, - }); - FS.mkdev('/dev/null', FS.makedev(1, 3)); - // setup /dev/tty and /dev/tty1 - // stderr needs to print output using err() rather than out() - // so we register a second tty just for it. - TTY.register(FS.makedev(5, 0), TTY.default_tty_ops); - TTY.register(FS.makedev(6, 0), TTY.default_tty1_ops); - FS.mkdev('/dev/tty', FS.makedev(5, 0)); - FS.mkdev('/dev/tty1', FS.makedev(6, 0)); - // setup /dev/[u]random - // use a buffer to avoid overhead of individual crypto calls per byte - var randomBuffer = new Uint8Array(1024), randomLeft = 0; - var randomByte = () => { - if (randomLeft === 0) { - randomFill(randomBuffer); - randomLeft = randomBuffer.byteLength; - } - return randomBuffer[--randomLeft]; - }; - FS.createDevice('/dev', 'random', randomByte); - FS.createDevice('/dev', 'urandom', randomByte); - // we're not going to emulate the actual shm device, - // just create the tmp dirs that reside in it commonly - FS.mkdir('/dev/shm'); - FS.mkdir('/dev/shm/tmp'); - }, - createSpecialDirectories() { - // create /proc/self/fd which allows /proc/self/fd/6 => readlink gives the - // name of the stream for fd 6 (see test_unistd_ttyname) - FS.mkdir('/proc'); - var proc_self = FS.mkdir('/proc/self'); - FS.mkdir('/proc/self/fd'); - FS.mount({ - mount() { - var node = FS.createNode(proc_self, 'fd', 16895, 73); - node.stream_ops = { - llseek: MEMFS.stream_ops.llseek, - }; - node.node_ops = { - lookup(parent, name) { - var fd = +name; - var stream = FS.getStreamChecked(fd); - var ret = { - parent: null, - mount: { mountpoint: 'fake' }, - node_ops: { readlink: () => stream.path }, - id: fd + 1, - }; - ret.parent = ret; // make it look like a simple root node - return ret; - }, - readdir() { - return Array.from(FS.streams.entries()) - .filter(([k, v]) => v) - .map(([k, v]) => k.toString()); - } - }; - return node; - } - }, {}, '/proc/self/fd'); - }, - createStandardStreams(input, output, error) { - // TODO deprecate the old functionality of a single - // input / output callback and that utilizes FS.createDevice - // and instead require a unique set of stream ops - - // by default, we symlink the standard streams to the - // default tty devices. however, if the standard streams - // have been overwritten we create a unique device for - // them instead. - if (input) { - FS.createDevice('/dev', 'stdin', input); - } else { - FS.symlink('/dev/tty', '/dev/stdin'); - } - if (output) { - FS.createDevice('/dev', 'stdout', null, output); - } else { - FS.symlink('/dev/tty', '/dev/stdout'); - } - if (error) { - FS.createDevice('/dev', 'stderr', null, error); - } else { - FS.symlink('/dev/tty1', '/dev/stderr'); - } - - // open default streams for the stdin, stdout and stderr devices - var stdin = FS.open('/dev/stdin', 0); - var stdout = FS.open('/dev/stdout', 1); - var stderr = FS.open('/dev/stderr', 1); - assert(stdin.fd === 0, `invalid handle for stdin (${stdin.fd})`); - assert(stdout.fd === 1, `invalid handle for stdout (${stdout.fd})`); - assert(stderr.fd === 2, `invalid handle for stderr (${stderr.fd})`); - }, - staticInit() { - FS.nameTable = new Array(4096); - - FS.mount(MEMFS, {}, '/'); - - FS.createDefaultDirectories(); - FS.createDefaultDevices(); - FS.createSpecialDirectories(); - - FS.filesystems = { - 'MEMFS': MEMFS, - }; - }, - init(input, output, error) { - assert(!FS.initialized, 'FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)'); - FS.initialized = true; - - // Allow Module.stdin etc. to provide defaults, if none explicitly passed to us here - input ??= Module['stdin']; - output ??= Module['stdout']; - error ??= Module['stderr']; - - FS.createStandardStreams(input, output, error); - }, - quit() { - FS.initialized = false; - // force-flush all streams, so we get musl std streams printed out - _fflush(0); - // close all of our streams - for (var stream of FS.streams) { - if (stream) { - FS.close(stream); - } - } - }, - findObject(path, dontResolveLastLink) { - var ret = FS.analyzePath(path, dontResolveLastLink); - if (!ret.exists) { - return null; - } - return ret.object; - }, - analyzePath(path, dontResolveLastLink) { - // operate from within the context of the symlink's target - try { - var lookup = FS.lookupPath(path, { follow: !dontResolveLastLink }); - path = lookup.path; - } catch (e) { - } - var ret = { - isRoot: false, exists: false, error: 0, name: null, path: null, object: null, - parentExists: false, parentPath: null, parentObject: null - }; - try { - var lookup = FS.lookupPath(path, { parent: true }); - ret.parentExists = true; - ret.parentPath = lookup.path; - ret.parentObject = lookup.node; - ret.name = PATH.basename(path); - lookup = FS.lookupPath(path, { follow: !dontResolveLastLink }); - ret.exists = true; - ret.path = lookup.path; - ret.object = lookup.node; - ret.name = lookup.node.name; - ret.isRoot = lookup.path === '/'; - } catch (e) { - ret.error = e.errno; - }; - return ret; - }, - createPath(parent, path, canRead, canWrite) { - parent = typeof parent == 'string' ? parent : FS.getPath(parent); - var parts = path.split('/').reverse(); - while (parts.length) { - var part = parts.pop(); - if (!part) continue; - var current = PATH.join2(parent, part); - try { - FS.mkdir(current); - } catch (e) { - if (e.errno != 20) throw e; - } - parent = current; - } - return current; - }, - createFile(parent, name, properties, canRead, canWrite) { - var path = PATH.join2(typeof parent == 'string' ? parent : FS.getPath(parent), name); - var mode = FS_getMode(canRead, canWrite); - return FS.create(path, mode); - }, - createDataFile(parent, name, data, canRead, canWrite, canOwn) { - var path = name; - if (parent) { - parent = typeof parent == 'string' ? parent : FS.getPath(parent); - path = name ? PATH.join2(parent, name) : parent; - } - var mode = FS_getMode(canRead, canWrite); - var node = FS.create(path, mode); - if (data) { - if (typeof data == 'string') { - var arr = new Array(data.length); - for (var i = 0, len = data.length; i < len; ++i) arr[i] = data.charCodeAt(i); - data = arr; - } - // make sure we can write to the file - FS.chmod(node, mode | 146); - var stream = FS.open(node, 577); - FS.write(stream, data, 0, data.length, 0, canOwn); - FS.close(stream); - FS.chmod(node, mode); - } - }, - createDevice(parent, name, input, output) { - var path = PATH.join2(typeof parent == 'string' ? parent : FS.getPath(parent), name); - var mode = FS_getMode(!!input, !!output); - FS.createDevice.major ??= 64; - var dev = FS.makedev(FS.createDevice.major++, 0); - // Create a fake device that a set of stream ops to emulate - // the old behavior. - FS.registerDevice(dev, { - open(stream) { - stream.seekable = false; - }, - close(stream) { - // flush any pending line data - if (output?.buffer?.length) { - output(10); - } - }, - read(stream, buffer, offset, length, pos /* ignored */) { - var bytesRead = 0; - for (var i = 0; i < length; i++) { - var result; - try { - result = input(); - } catch (e) { - throw new FS.ErrnoError(29); - } - if (result === undefined && bytesRead === 0) { - throw new FS.ErrnoError(6); - } - if (result === null || result === undefined) break; - bytesRead++; - buffer[offset+i] = result; - } - if (bytesRead) { - stream.node.atime = Date.now(); - } - return bytesRead; - }, - write(stream, buffer, offset, length, pos) { - for (var i = 0; i < length; i++) { - try { - output(buffer[offset+i]); - } catch (e) { - throw new FS.ErrnoError(29); - } - } - if (length) { - stream.node.mtime = stream.node.ctime = Date.now(); - } - return i; - } - }); - return FS.mkdev(path, mode, dev); - }, - forceLoadFile(obj) { - if (obj.isDevice || obj.isFolder || obj.link || obj.contents) return true; - if (typeof XMLHttpRequest != 'undefined') { - throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread."); - } else { // Command-line. - try { - obj.contents = readBinary(obj.url); - obj.usedBytes = obj.contents.length; - } catch (e) { - throw new FS.ErrnoError(29); - } - } - }, - createLazyFile(parent, name, url, canRead, canWrite) { - // Lazy chunked Uint8Array (implements get and length from Uint8Array). - // Actual getting is abstracted away for eventual reuse. - class LazyUint8Array { - lengthKnown = false; - chunks = []; // Loaded chunks. Index is the chunk number - get(idx) { - if (idx > this.length-1 || idx < 0) { - return undefined; - } - var chunkOffset = idx % this.chunkSize; - var chunkNum = (idx / this.chunkSize)|0; - return this.getter(chunkNum)[chunkOffset]; - } - setDataGetter(getter) { - this.getter = getter; - } - cacheLength() { - // Find length - var xhr = new XMLHttpRequest(); - xhr.open('HEAD', url, false); - xhr.send(null); - if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error("Couldn't load " + url + ". Status: " + xhr.status); - var datalength = Number(xhr.getResponseHeader("Content-length")); - var header; - var hasByteServing = (header = xhr.getResponseHeader("Accept-Ranges")) && header === "bytes"; - var usesGzip = (header = xhr.getResponseHeader("Content-Encoding")) && header === "gzip"; - - var chunkSize = 1024*1024; // Chunk size in bytes - - if (!hasByteServing) chunkSize = datalength; - - // Function to get a range from the remote URL. - var doXHR = (from, to) => { - if (from > to) throw new Error("invalid range (" + from + ", " + to + ") or no bytes requested!"); - if (to > datalength-1) throw new Error("only " + datalength + " bytes available! programmer error!"); - - // TODO: Use mozResponseArrayBuffer, responseStream, etc. if available. - var xhr = new XMLHttpRequest(); - xhr.open('GET', url, false); - if (datalength !== chunkSize) xhr.setRequestHeader("Range", "bytes=" + from + "-" + to); - - // Some hints to the browser that we want binary data. - xhr.responseType = 'arraybuffer'; - if (xhr.overrideMimeType) { - xhr.overrideMimeType('text/plain; charset=x-user-defined'); - } - - xhr.send(null); - if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error("Couldn't load " + url + ". Status: " + xhr.status); - if (xhr.response !== undefined) { - return new Uint8Array(/** @type{Array} */(xhr.response || [])); - } - return intArrayFromString(xhr.responseText || '', true); - }; - var lazyArray = this; - lazyArray.setDataGetter((chunkNum) => { - var start = chunkNum * chunkSize; - var end = (chunkNum+1) * chunkSize - 1; // including this byte - end = Math.min(end, datalength-1); // if datalength-1 is selected, this is the last block - if (typeof lazyArray.chunks[chunkNum] == 'undefined') { - lazyArray.chunks[chunkNum] = doXHR(start, end); - } - if (typeof lazyArray.chunks[chunkNum] == 'undefined') throw new Error('doXHR failed!'); - return lazyArray.chunks[chunkNum]; - }); - - if (usesGzip || !datalength) { - // if the server uses gzip or doesn't supply the length, we have to download the whole file to get the (uncompressed) length - chunkSize = datalength = 1; // this will force getter(0)/doXHR do download the whole file - datalength = this.getter(0).length; - chunkSize = datalength; - out("LazyFiles on gzip forces download of the whole file when length is accessed"); - } - - this._length = datalength; - this._chunkSize = chunkSize; - this.lengthKnown = true; - } - get length() { - if (!this.lengthKnown) { - this.cacheLength(); - } - return this._length; - } - get chunkSize() { - if (!this.lengthKnown) { - this.cacheLength(); - } - return this._chunkSize; - } - } - - if (typeof XMLHttpRequest != 'undefined') { - if (!ENVIRONMENT_IS_WORKER) throw 'Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc'; - var lazyArray = new LazyUint8Array(); - var properties = { isDevice: false, contents: lazyArray }; - } else { - var properties = { isDevice: false, url: url }; - } - - var node = FS.createFile(parent, name, properties, canRead, canWrite); - // This is a total hack, but I want to get this lazy file code out of the - // core of MEMFS. If we want to keep this lazy file concept I feel it should - // be its own thin LAZYFS proxying calls to MEMFS. - if (properties.contents) { - node.contents = properties.contents; - } else if (properties.url) { - node.contents = null; - node.url = properties.url; - } - // Add a function that defers querying the file size until it is asked the first time. - Object.defineProperties(node, { - usedBytes: { - get: function() { return this.contents.length; } - } - }); - // override each stream op with one that tries to force load the lazy file first - var stream_ops = {}; - var keys = Object.keys(node.stream_ops); - keys.forEach((key) => { - var fn = node.stream_ops[key]; - stream_ops[key] = (...args) => { - FS.forceLoadFile(node); - return fn(...args); - }; - }); - function writeChunks(stream, buffer, offset, length, position) { - var contents = stream.node.contents; - if (position >= contents.length) - return 0; - var size = Math.min(contents.length - position, length); - assert(size >= 0); - if (contents.slice) { // normal array - for (var i = 0; i < size; i++) { - buffer[offset + i] = contents[position + i]; - } - } else { - for (var i = 0; i < size; i++) { // LazyUint8Array from sync binary XHR - buffer[offset + i] = contents.get(position + i); - } - } - return size; - } - // use a custom read function - stream_ops.read = (stream, buffer, offset, length, position) => { - FS.forceLoadFile(node); - return writeChunks(stream, buffer, offset, length, position) - }; - // use a custom mmap function - stream_ops.mmap = (stream, length, position, prot, flags) => { - FS.forceLoadFile(node); - var ptr = mmapAlloc(length); - if (!ptr) { - throw new FS.ErrnoError(48); - } - writeChunks(stream, HEAP8, ptr, length, position); - return { ptr, allocated: true }; - }; - node.stream_ops = stream_ops; - return node; - }, - absolutePath() { - abort('FS.absolutePath has been removed; use PATH_FS.resolve instead'); - }, - createFolder() { - abort('FS.createFolder has been removed; use FS.mkdir instead'); - }, - createLink() { - abort('FS.createLink has been removed; use FS.symlink instead'); - }, - joinPath() { - abort('FS.joinPath has been removed; use PATH.join instead'); - }, - mmapAlloc() { - abort('FS.mmapAlloc has been replaced by the top level function mmapAlloc'); - }, - standardizePath() { - abort('FS.standardizePath has been removed; use PATH.normalize instead'); - }, - }; - - var SYSCALLS = { - DEFAULT_POLLMASK:5, - calculateAt(dirfd, path, allowEmpty) { - if (PATH.isAbs(path)) { - return path; - } - // relative path - var dir; - if (dirfd === -100) { - dir = FS.cwd(); - } else { - var dirstream = SYSCALLS.getStreamFromFD(dirfd); - dir = dirstream.path; - } - if (path.length == 0) { - if (!allowEmpty) { - throw new FS.ErrnoError(44);; - } - return dir; - } - return dir + '/' + path; - }, - writeStat(buf, stat) { - HEAP32[((buf)>>2)] = stat.dev; - HEAP32[(((buf)+(4))>>2)] = stat.mode; - HEAPU32[(((buf)+(8))>>2)] = stat.nlink; - HEAP32[(((buf)+(12))>>2)] = stat.uid; - HEAP32[(((buf)+(16))>>2)] = stat.gid; - HEAP32[(((buf)+(20))>>2)] = stat.rdev; - HEAP64[(((buf)+(24))>>3)] = BigInt(stat.size); - HEAP32[(((buf)+(32))>>2)] = 4096; - HEAP32[(((buf)+(36))>>2)] = stat.blocks; - var atime = stat.atime.getTime(); - var mtime = stat.mtime.getTime(); - var ctime = stat.ctime.getTime(); - HEAP64[(((buf)+(40))>>3)] = BigInt(Math.floor(atime / 1000)); - HEAPU32[(((buf)+(48))>>2)] = (atime % 1000) * 1000 * 1000; - HEAP64[(((buf)+(56))>>3)] = BigInt(Math.floor(mtime / 1000)); - HEAPU32[(((buf)+(64))>>2)] = (mtime % 1000) * 1000 * 1000; - HEAP64[(((buf)+(72))>>3)] = BigInt(Math.floor(ctime / 1000)); - HEAPU32[(((buf)+(80))>>2)] = (ctime % 1000) * 1000 * 1000; - HEAP64[(((buf)+(88))>>3)] = BigInt(stat.ino); - return 0; - }, - writeStatFs(buf, stats) { - HEAP32[(((buf)+(4))>>2)] = stats.bsize; - HEAP32[(((buf)+(40))>>2)] = stats.bsize; - HEAP32[(((buf)+(8))>>2)] = stats.blocks; - HEAP32[(((buf)+(12))>>2)] = stats.bfree; - HEAP32[(((buf)+(16))>>2)] = stats.bavail; - HEAP32[(((buf)+(20))>>2)] = stats.files; - HEAP32[(((buf)+(24))>>2)] = stats.ffree; - HEAP32[(((buf)+(28))>>2)] = stats.fsid; - HEAP32[(((buf)+(44))>>2)] = stats.flags; // ST_NOSUID - HEAP32[(((buf)+(36))>>2)] = stats.namelen; - }, - doMsync(addr, stream, len, flags, offset) { - if (!FS.isFile(stream.node.mode)) { - throw new FS.ErrnoError(43); - } - if (flags & 2) { - // MAP_PRIVATE calls need not to be synced back to underlying fs - return 0; - } - var buffer = HEAPU8.slice(addr, addr + len); - FS.msync(stream, buffer, offset, len, flags); - }, - getStreamFromFD(fd) { - var stream = FS.getStreamChecked(fd); - return stream; - }, - varargs:undefined, - getStr(ptr) { - var ret = UTF8ToString(ptr); - return ret; - }, - }; - function ___syscall_chmod(path, mode) { - try { - - path = SYSCALLS.getStr(path); - FS.chmod(path, mode); - return 0; - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return -e.errno; - } - } - - function ___syscall_fchmod(fd, mode) { - try { - - FS.fchmod(fd, mode); - return 0; - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return -e.errno; - } - } - - /** @suppress {duplicate } */ - var syscallGetVarargI = () => { - assert(SYSCALLS.varargs != undefined); - // the `+` prepended here is necessary to convince the JSCompiler that varargs is indeed a number. - var ret = HEAP32[((+SYSCALLS.varargs)>>2)]; - SYSCALLS.varargs += 4; - return ret; - }; - var syscallGetVarargP = syscallGetVarargI; - - - function ___syscall_fcntl64(fd, cmd, varargs) { - SYSCALLS.varargs = varargs; - try { - - var stream = SYSCALLS.getStreamFromFD(fd); - switch (cmd) { - case 0: { - var arg = syscallGetVarargI(); - if (arg < 0) { - return -28; - } - while (FS.streams[arg]) { - arg++; - } - var newStream; - newStream = FS.dupStream(stream, arg); - return newStream.fd; - } - case 1: - case 2: - return 0; // FD_CLOEXEC makes no sense for a single process. - case 3: - return stream.flags; - case 4: { - var arg = syscallGetVarargI(); - stream.flags |= arg; - return 0; - } - case 12: { - var arg = syscallGetVarargP(); - var offset = 0; - // We're always unlocked. - HEAP16[(((arg)+(offset))>>1)] = 2; - return 0; - } - case 13: - case 14: - // Pretend that the locking is successful. These are process-level locks, - // and Emscripten programs are a single process. If we supported linking a - // filesystem between programs, we'd need to do more here. - // See https://github.com/emscripten-core/emscripten/issues/23697 - return 0; - } - return -28; - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return -e.errno; - } - } - - function ___syscall_fstat64(fd, buf) { - try { - - return SYSCALLS.writeStat(buf, FS.fstat(fd)); - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return -e.errno; - } - } - - - function ___syscall_ioctl(fd, op, varargs) { - SYSCALLS.varargs = varargs; - try { - - var stream = SYSCALLS.getStreamFromFD(fd); - switch (op) { - case 21509: { - if (!stream.tty) return -59; - return 0; - } - case 21505: { - if (!stream.tty) return -59; - if (stream.tty.ops.ioctl_tcgets) { - var termios = stream.tty.ops.ioctl_tcgets(stream); - var argp = syscallGetVarargP(); - HEAP32[((argp)>>2)] = termios.c_iflag || 0; - HEAP32[(((argp)+(4))>>2)] = termios.c_oflag || 0; - HEAP32[(((argp)+(8))>>2)] = termios.c_cflag || 0; - HEAP32[(((argp)+(12))>>2)] = termios.c_lflag || 0; - for (var i = 0; i < 32; i++) { - HEAP8[(argp + i)+(17)] = termios.c_cc[i] || 0; - } - return 0; - } - return 0; - } - case 21510: - case 21511: - case 21512: { - if (!stream.tty) return -59; - return 0; // no-op, not actually adjusting terminal settings - } - case 21506: - case 21507: - case 21508: { - if (!stream.tty) return -59; - if (stream.tty.ops.ioctl_tcsets) { - var argp = syscallGetVarargP(); - var c_iflag = HEAP32[((argp)>>2)]; - var c_oflag = HEAP32[(((argp)+(4))>>2)]; - var c_cflag = HEAP32[(((argp)+(8))>>2)]; - var c_lflag = HEAP32[(((argp)+(12))>>2)]; - var c_cc = [] - for (var i = 0; i < 32; i++) { - c_cc.push(HEAP8[(argp + i)+(17)]); - } - return stream.tty.ops.ioctl_tcsets(stream.tty, op, { c_iflag, c_oflag, c_cflag, c_lflag, c_cc }); - } - return 0; // no-op, not actually adjusting terminal settings - } - case 21519: { - if (!stream.tty) return -59; - var argp = syscallGetVarargP(); - HEAP32[((argp)>>2)] = 0; - return 0; - } - case 21520: { - if (!stream.tty) return -59; - return -28; // not supported - } - case 21531: { - var argp = syscallGetVarargP(); - return FS.ioctl(stream, op, argp); - } - case 21523: { - // TODO: in theory we should write to the winsize struct that gets - // passed in, but for now musl doesn't read anything on it - if (!stream.tty) return -59; - if (stream.tty.ops.ioctl_tiocgwinsz) { - var winsize = stream.tty.ops.ioctl_tiocgwinsz(stream.tty); - var argp = syscallGetVarargP(); - HEAP16[((argp)>>1)] = winsize[0]; - HEAP16[(((argp)+(2))>>1)] = winsize[1]; - } - return 0; - } - case 21524: { - // TODO: technically, this ioctl call should change the window size. - // but, since emscripten doesn't have any concept of a terminal window - // yet, we'll just silently throw it away as we do TIOCGWINSZ - if (!stream.tty) return -59; - return 0; - } - case 21515: { - if (!stream.tty) return -59; - return 0; - } - default: return -28; // not supported - } - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return -e.errno; - } - } - - function ___syscall_lstat64(path, buf) { - try { - - path = SYSCALLS.getStr(path); - return SYSCALLS.writeStat(buf, FS.lstat(path)); - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return -e.errno; - } - } - - function ___syscall_newfstatat(dirfd, path, buf, flags) { - try { - - path = SYSCALLS.getStr(path); - var nofollow = flags & 256; - var allowEmpty = flags & 4096; - flags = flags & (~6400); - assert(!flags, `unknown flags in __syscall_newfstatat: ${flags}`); - path = SYSCALLS.calculateAt(dirfd, path, allowEmpty); - return SYSCALLS.writeStat(buf, nofollow ? FS.lstat(path) : FS.stat(path)); - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return -e.errno; - } - } - - - function ___syscall_openat(dirfd, path, flags, varargs) { - SYSCALLS.varargs = varargs; - try { - - path = SYSCALLS.getStr(path); - path = SYSCALLS.calculateAt(dirfd, path); - var mode = varargs ? syscallGetVarargI() : 0; - return FS.open(path, flags, mode).fd; - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return -e.errno; - } - } - - function ___syscall_renameat(olddirfd, oldpath, newdirfd, newpath) { - try { - - oldpath = SYSCALLS.getStr(oldpath); - newpath = SYSCALLS.getStr(newpath); - oldpath = SYSCALLS.calculateAt(olddirfd, oldpath); - newpath = SYSCALLS.calculateAt(newdirfd, newpath); - FS.rename(oldpath, newpath); - return 0; - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return -e.errno; - } - } - - function ___syscall_rmdir(path) { - try { - - path = SYSCALLS.getStr(path); - FS.rmdir(path); - return 0; - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return -e.errno; - } - } - - function ___syscall_stat64(path, buf) { - try { - - path = SYSCALLS.getStr(path); - return SYSCALLS.writeStat(buf, FS.stat(path)); - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return -e.errno; - } - } - - function ___syscall_unlinkat(dirfd, path, flags) { - try { - - path = SYSCALLS.getStr(path); - path = SYSCALLS.calculateAt(dirfd, path); - if (flags === 0) { - FS.unlink(path); - } else if (flags === 512) { - FS.rmdir(path); - } else { - abort('Invalid flags passed to unlinkat'); - } - return 0; - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return -e.errno; - } - } - - var __abort_js = () => - abort('native code called abort()'); - - var isLeapYear = (year) => year%4 === 0 && (year%100 !== 0 || year%400 === 0); - - var MONTH_DAYS_LEAP_CUMULATIVE = [0,31,60,91,121,152,182,213,244,274,305,335]; - - var MONTH_DAYS_REGULAR_CUMULATIVE = [0,31,59,90,120,151,181,212,243,273,304,334]; - var ydayFromDate = (date) => { - var leap = isLeapYear(date.getFullYear()); - var monthDaysCumulative = (leap ? MONTH_DAYS_LEAP_CUMULATIVE : MONTH_DAYS_REGULAR_CUMULATIVE); - var yday = monthDaysCumulative[date.getMonth()] + date.getDate() - 1; // -1 since it's days since Jan 1 - - return yday; - }; - - var INT53_MAX = 9007199254740992; - - var INT53_MIN = -9007199254740992; - var bigintToI53Checked = (num) => (num < INT53_MIN || num > INT53_MAX) ? NaN : Number(num); - function __localtime_js(time, tmPtr) { - time = bigintToI53Checked(time); - - - var date = new Date(time*1000); - HEAP32[((tmPtr)>>2)] = date.getSeconds(); - HEAP32[(((tmPtr)+(4))>>2)] = date.getMinutes(); - HEAP32[(((tmPtr)+(8))>>2)] = date.getHours(); - HEAP32[(((tmPtr)+(12))>>2)] = date.getDate(); - HEAP32[(((tmPtr)+(16))>>2)] = date.getMonth(); - HEAP32[(((tmPtr)+(20))>>2)] = date.getFullYear()-1900; - HEAP32[(((tmPtr)+(24))>>2)] = date.getDay(); - - var yday = ydayFromDate(date)|0; - HEAP32[(((tmPtr)+(28))>>2)] = yday; - HEAP32[(((tmPtr)+(36))>>2)] = -(date.getTimezoneOffset() * 60); - - // Attention: DST is in December in South, and some regions don't have DST at all. - var start = new Date(date.getFullYear(), 0, 1); - var summerOffset = new Date(date.getFullYear(), 6, 1).getTimezoneOffset(); - var winterOffset = start.getTimezoneOffset(); - var dst = (summerOffset != winterOffset && date.getTimezoneOffset() == Math.min(winterOffset, summerOffset))|0; - HEAP32[(((tmPtr)+(32))>>2)] = dst; - ; - } - - - var __mktime_js = function(tmPtr) { - - var ret = (() => { - var date = new Date(HEAP32[(((tmPtr)+(20))>>2)] + 1900, - HEAP32[(((tmPtr)+(16))>>2)], - HEAP32[(((tmPtr)+(12))>>2)], - HEAP32[(((tmPtr)+(8))>>2)], - HEAP32[(((tmPtr)+(4))>>2)], - HEAP32[((tmPtr)>>2)], - 0); - - // There's an ambiguous hour when the time goes back; the tm_isdst field is - // used to disambiguate it. Date() basically guesses, so we fix it up if it - // guessed wrong, or fill in tm_isdst with the guess if it's -1. - var dst = HEAP32[(((tmPtr)+(32))>>2)]; - var guessedOffset = date.getTimezoneOffset(); - var start = new Date(date.getFullYear(), 0, 1); - var summerOffset = new Date(date.getFullYear(), 6, 1).getTimezoneOffset(); - var winterOffset = start.getTimezoneOffset(); - var dstOffset = Math.min(winterOffset, summerOffset); // DST is in December in South - if (dst < 0) { - // Attention: some regions don't have DST at all. - HEAP32[(((tmPtr)+(32))>>2)] = Number(summerOffset != winterOffset && dstOffset == guessedOffset); - } else if ((dst > 0) != (dstOffset == guessedOffset)) { - var nonDstOffset = Math.max(winterOffset, summerOffset); - var trueOffset = dst > 0 ? dstOffset : nonDstOffset; - // Don't try setMinutes(date.getMinutes() + ...) -- it's messed up. - date.setTime(date.getTime() + (trueOffset - guessedOffset)*60000); - } - - HEAP32[(((tmPtr)+(24))>>2)] = date.getDay(); - var yday = ydayFromDate(date)|0; - HEAP32[(((tmPtr)+(28))>>2)] = yday; - // To match expected behavior, update fields from date - HEAP32[((tmPtr)>>2)] = date.getSeconds(); - HEAP32[(((tmPtr)+(4))>>2)] = date.getMinutes(); - HEAP32[(((tmPtr)+(8))>>2)] = date.getHours(); - HEAP32[(((tmPtr)+(12))>>2)] = date.getDate(); - HEAP32[(((tmPtr)+(16))>>2)] = date.getMonth(); - HEAP32[(((tmPtr)+(20))>>2)] = date.getYear(); - - var timeMs = date.getTime(); - if (isNaN(timeMs)) { - return -1; - } - // Return time in microseconds - return timeMs / 1000; - })(); - return BigInt(ret); - }; - - var stringToUTF8 = (str, outPtr, maxBytesToWrite) => { - assert(typeof maxBytesToWrite == 'number', 'stringToUTF8(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!'); - return stringToUTF8Array(str, HEAPU8, outPtr, maxBytesToWrite); - }; - - var __tzset_js = (timezone, daylight, std_name, dst_name) => { - // TODO: Use (malleable) environment variables instead of system settings. - var currentYear = new Date().getFullYear(); - var winter = new Date(currentYear, 0, 1); - var summer = new Date(currentYear, 6, 1); - var winterOffset = winter.getTimezoneOffset(); - var summerOffset = summer.getTimezoneOffset(); - - // Local standard timezone offset. Local standard time is not adjusted for - // daylight savings. This code uses the fact that getTimezoneOffset returns - // a greater value during Standard Time versus Daylight Saving Time (DST). - // Thus it determines the expected output during Standard Time, and it - // compares whether the output of the given date the same (Standard) or less - // (DST). - var stdTimezoneOffset = Math.max(winterOffset, summerOffset); - - // timezone is specified as seconds west of UTC ("The external variable - // `timezone` shall be set to the difference, in seconds, between - // Coordinated Universal Time (UTC) and local standard time."), the same - // as returned by stdTimezoneOffset. - // See http://pubs.opengroup.org/onlinepubs/009695399/functions/tzset.html - HEAPU32[((timezone)>>2)] = stdTimezoneOffset * 60; - - HEAP32[((daylight)>>2)] = Number(winterOffset != summerOffset); - - var extractZone = (timezoneOffset) => { - // Why inverse sign? - // Read here https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getTimezoneOffset - var sign = timezoneOffset >= 0 ? "-" : "+"; - - var absOffset = Math.abs(timezoneOffset) - var hours = String(Math.floor(absOffset / 60)).padStart(2, "0"); - var minutes = String(absOffset % 60).padStart(2, "0"); - - return `UTC${sign}${hours}${minutes}`; - } - - var winterName = extractZone(winterOffset); - var summerName = extractZone(summerOffset); - assert(winterName); - assert(summerName); - assert(lengthBytesUTF8(winterName) <= 16, `timezone name truncated to fit in TZNAME_MAX (${winterName})`); - assert(lengthBytesUTF8(summerName) <= 16, `timezone name truncated to fit in TZNAME_MAX (${summerName})`); - if (summerOffset < winterOffset) { - // Northern hemisphere - stringToUTF8(winterName, std_name, 17); - stringToUTF8(summerName, dst_name, 17); - } else { - stringToUTF8(winterName, dst_name, 17); - stringToUTF8(summerName, std_name, 17); - } - }; - - var _emscripten_date_now = () => Date.now(); - - var abortOnCannotGrowMemory = (requestedSize) => { - abort(`Cannot enlarge memory arrays to size ${requestedSize} bytes (OOM). Either (1) compile with -sINITIAL_MEMORY=X with X higher than the current value ${HEAP8.length}, (2) compile with -sALLOW_MEMORY_GROWTH which allows increasing the size at runtime, or (3) if you want malloc to return NULL (0) instead of this abort, compile with -sABORTING_MALLOC=0`); - }; - var _emscripten_resize_heap = (requestedSize) => { - var oldSize = HEAPU8.length; - // With CAN_ADDRESS_2GB or MEMORY64, pointers are already unsigned. - requestedSize >>>= 0; - abortOnCannotGrowMemory(requestedSize); - }; - - - var runtimeKeepaliveCounter = 0; - var keepRuntimeAlive = () => noExitRuntime || runtimeKeepaliveCounter > 0; - var _proc_exit = (code) => { - EXITSTATUS = code; - if (!keepRuntimeAlive()) { - Module['onExit']?.(code); - ABORT = true; - } - quit_(code, new ExitStatus(code)); - }; - - - /** @suppress {duplicate } */ - /** @param {boolean|number=} implicit */ - var exitJS = (status, implicit) => { - EXITSTATUS = status; - - checkUnflushedContent(); - - // if exit() was called explicitly, warn the user if the runtime isn't actually being shut down - if (keepRuntimeAlive() && !implicit) { - var msg = `program exited (with status: ${status}), but keepRuntimeAlive() is set (counter=${runtimeKeepaliveCounter}) due to an async operation, so halting execution but not exiting the runtime or preventing further async execution (you can use emscripten_force_exit, if you want to force a true shutdown)`; - err(msg); - } - - _proc_exit(status); - }; - var _exit = exitJS; - - function _fd_close(fd) { - try { - - var stream = SYSCALLS.getStreamFromFD(fd); - FS.close(stream); - return 0; - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return e.errno; - } - } - - function _fd_fdstat_get(fd, pbuf) { - try { - - var rightsBase = 0; - var rightsInheriting = 0; - var flags = 0; - { - var stream = SYSCALLS.getStreamFromFD(fd); - // All character devices are terminals (other things a Linux system would - // assume is a character device, like the mouse, we have special APIs for). - var type = stream.tty ? 2 : - FS.isDir(stream.mode) ? 3 : - FS.isLink(stream.mode) ? 7 : - 4; - } - HEAP8[pbuf] = type; - HEAP16[(((pbuf)+(2))>>1)] = flags; - HEAP64[(((pbuf)+(8))>>3)] = BigInt(rightsBase); - HEAP64[(((pbuf)+(16))>>3)] = BigInt(rightsInheriting); - return 0; - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return e.errno; - } - } - - /** @param {number=} offset */ - var doReadv = (stream, iov, iovcnt, offset) => { - var ret = 0; - for (var i = 0; i < iovcnt; i++) { - var ptr = HEAPU32[((iov)>>2)]; - var len = HEAPU32[(((iov)+(4))>>2)]; - iov += 8; - var curr = FS.read(stream, HEAP8, ptr, len, offset); - if (curr < 0) return -1; - ret += curr; - if (curr < len) break; // nothing more to read - if (typeof offset != 'undefined') { - offset += curr; - } - } - return ret; - }; - - function _fd_read(fd, iov, iovcnt, pnum) { - try { - - var stream = SYSCALLS.getStreamFromFD(fd); - var num = doReadv(stream, iov, iovcnt); - HEAPU32[((pnum)>>2)] = num; - return 0; - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return e.errno; - } - } - - - function _fd_seek(fd, offset, whence, newOffset) { - offset = bigintToI53Checked(offset); - - - try { - - if (isNaN(offset)) return 61; - var stream = SYSCALLS.getStreamFromFD(fd); - FS.llseek(stream, offset, whence); - HEAP64[((newOffset)>>3)] = BigInt(stream.position); - if (stream.getdents && offset === 0 && whence === 0) stream.getdents = null; // reset readdir state - return 0; - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return e.errno; - } - ; - } - - /** @param {number=} offset */ - var doWritev = (stream, iov, iovcnt, offset) => { - var ret = 0; - for (var i = 0; i < iovcnt; i++) { - var ptr = HEAPU32[((iov)>>2)]; - var len = HEAPU32[(((iov)+(4))>>2)]; - iov += 8; - var curr = FS.write(stream, HEAP8, ptr, len, offset); - if (curr < 0) return -1; - ret += curr; - if (curr < len) { - // No more space to write. - break; - } - if (typeof offset != 'undefined') { - offset += curr; - } - } - return ret; - }; - - function _fd_write(fd, iov, iovcnt, pnum) { - try { - - var stream = SYSCALLS.getStreamFromFD(fd); - var num = doWritev(stream, iov, iovcnt); - HEAPU32[((pnum)>>2)] = num; - return 0; - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return e.errno; - } - } - - - var handleException = (e) => { - // Certain exception types we do not treat as errors since they are used for - // internal control flow. - // 1. ExitStatus, which is thrown by exit() - // 2. "unwind", which is thrown by emscripten_unwind_to_js_event_loop() and others - // that wish to return to JS event loop. - if (e instanceof ExitStatus || e == 'unwind') { - return EXITSTATUS; - } - checkStackCookie(); - if (e instanceof WebAssembly.RuntimeError) { - if (_emscripten_stack_get_current() <= 0) { - err('Stack overflow detected. You can try increasing -sSTACK_SIZE (currently set to 65536)'); - } - } - quit_(1, e); - }; - - - - var stackAlloc = (sz) => __emscripten_stack_alloc(sz); - var stringToUTF8OnStack = (str) => { - var size = lengthBytesUTF8(str) + 1; - var ret = stackAlloc(size); - stringToUTF8(str, ret, size); - return ret; - }; - - FS.createPreloadedFile = FS_createPreloadedFile; - FS.staticInit(); - // Set module methods based on EXPORTED_RUNTIME_METHODS - ; -// End JS library code - -function checkIncomingModuleAPI() { - ignoredModuleProp('fetchSettings'); -} -var wasmImports = { - /** @export */ - __syscall_chmod: ___syscall_chmod, - /** @export */ - __syscall_fchmod: ___syscall_fchmod, - /** @export */ - __syscall_fcntl64: ___syscall_fcntl64, - /** @export */ - __syscall_fstat64: ___syscall_fstat64, - /** @export */ - __syscall_ioctl: ___syscall_ioctl, - /** @export */ - __syscall_lstat64: ___syscall_lstat64, - /** @export */ - __syscall_newfstatat: ___syscall_newfstatat, - /** @export */ - __syscall_openat: ___syscall_openat, - /** @export */ - __syscall_renameat: ___syscall_renameat, - /** @export */ - __syscall_rmdir: ___syscall_rmdir, - /** @export */ - __syscall_stat64: ___syscall_stat64, - /** @export */ - __syscall_unlinkat: ___syscall_unlinkat, - /** @export */ - _abort_js: __abort_js, - /** @export */ - _localtime_js: __localtime_js, - /** @export */ - _mktime_js: __mktime_js, - /** @export */ - _tzset_js: __tzset_js, - /** @export */ - emscripten_date_now: _emscripten_date_now, - /** @export */ - emscripten_resize_heap: _emscripten_resize_heap, - /** @export */ - exit: _exit, - /** @export */ - fd_close: _fd_close, - /** @export */ - fd_fdstat_get: _fd_fdstat_get, - /** @export */ - fd_read: _fd_read, - /** @export */ - fd_seek: _fd_seek, - /** @export */ - fd_write: _fd_write -}; -var wasmExports; -createWasm(); -var ___wasm_call_ctors = createExportWrapper('__wasm_call_ctors', 0); -var _main = Module['_main'] = createExportWrapper('__main_argc_argv', 2); -var _strerror = createExportWrapper('strerror', 1); -var _fflush = createExportWrapper('fflush', 1); -var _emscripten_stack_init = () => (_emscripten_stack_init = wasmExports['emscripten_stack_init'])(); -var _emscripten_stack_get_free = () => (_emscripten_stack_get_free = wasmExports['emscripten_stack_get_free'])(); -var _emscripten_stack_get_base = () => (_emscripten_stack_get_base = wasmExports['emscripten_stack_get_base'])(); -var _emscripten_stack_get_end = () => (_emscripten_stack_get_end = wasmExports['emscripten_stack_get_end'])(); -var __emscripten_stack_restore = (a0) => (__emscripten_stack_restore = wasmExports['_emscripten_stack_restore'])(a0); -var __emscripten_stack_alloc = (a0) => (__emscripten_stack_alloc = wasmExports['_emscripten_stack_alloc'])(a0); -var _emscripten_stack_get_current = () => (_emscripten_stack_get_current = wasmExports['emscripten_stack_get_current'])(); - - -// include: postamble.js -// === Auto-generated postamble setup entry stuff === - -var missingLibrarySymbols = [ - 'writeI53ToI64', - 'writeI53ToI64Clamped', - 'writeI53ToI64Signaling', - 'writeI53ToU64Clamped', - 'writeI53ToU64Signaling', - 'readI53FromI64', - 'readI53FromU64', - 'convertI32PairToI53', - 'convertI32PairToI53Checked', - 'convertU32PairToI53', - 'getTempRet0', - 'setTempRet0', - 'zeroMemory', - 'getHeapMax', - 'growMemory', - 'inetPton4', - 'inetNtop4', - 'inetPton6', - 'inetNtop6', - 'readSockaddr', - 'writeSockaddr', - 'emscriptenLog', - 'readEmAsmArgs', - 'jstoi_q', - 'getExecutableName', - 'listenOnce', - 'autoResumeAudioContext', - 'getDynCaller', - 'dynCall', - 'runtimeKeepalivePush', - 'runtimeKeepalivePop', - 'callUserCallback', - 'maybeExit', - 'asmjsMangle', - 'alignMemory', - 'HandleAllocator', - 'getNativeTypeSize', - 'addOnInit', - 'addOnPostCtor', - 'addOnPreMain', - 'addOnExit', - 'STACK_SIZE', - 'STACK_ALIGN', - 'POINTER_SIZE', - 'ASSERTIONS', - 'getCFunc', - 'ccall', - 'cwrap', - 'uleb128Encode', - 'sigToWasmTypes', - 'generateFuncType', - 'convertJsFunctionToWasm', - 'getEmptyTableSlot', - 'updateTableMap', - 'getFunctionAddress', - 'addFunction', - 'removeFunction', - 'reallyNegative', - 'unSign', - 'strLen', - 'reSign', - 'formatString', - 'intArrayToString', - 'AsciiToString', - 'stringToAscii', - 'UTF16ToString', - 'stringToUTF16', - 'lengthBytesUTF16', - 'UTF32ToString', - 'stringToUTF32', - 'lengthBytesUTF32', - 'stringToNewUTF8', - 'writeArrayToMemory', - 'registerKeyEventCallback', - 'maybeCStringToJsString', - 'findEventTarget', - 'getBoundingClientRect', - 'fillMouseEventData', - 'registerMouseEventCallback', - 'registerWheelEventCallback', - 'registerUiEventCallback', - 'registerFocusEventCallback', - 'fillDeviceOrientationEventData', - 'registerDeviceOrientationEventCallback', - 'fillDeviceMotionEventData', - 'registerDeviceMotionEventCallback', - 'screenOrientation', - 'fillOrientationChangeEventData', - 'registerOrientationChangeEventCallback', - 'fillFullscreenChangeEventData', - 'registerFullscreenChangeEventCallback', - 'JSEvents_requestFullscreen', - 'JSEvents_resizeCanvasForFullscreen', - 'registerRestoreOldStyle', - 'hideEverythingExceptGivenElement', - 'restoreHiddenElements', - 'setLetterbox', - 'softFullscreenResizeWebGLRenderTarget', - 'doRequestFullscreen', - 'fillPointerlockChangeEventData', - 'registerPointerlockChangeEventCallback', - 'registerPointerlockErrorEventCallback', - 'requestPointerLock', - 'fillVisibilityChangeEventData', - 'registerVisibilityChangeEventCallback', - 'registerTouchEventCallback', - 'fillGamepadEventData', - 'registerGamepadEventCallback', - 'registerBeforeUnloadEventCallback', - 'fillBatteryEventData', - 'battery', - 'registerBatteryEventCallback', - 'setCanvasElementSize', - 'getCanvasElementSize', - 'jsStackTrace', - 'getCallstack', - 'convertPCtoSourceLocation', - 'getEnvStrings', - 'checkWasiClock', - 'wasiRightsToMuslOFlags', - 'wasiOFlagsToMuslOFlags', - 'safeSetTimeout', - 'setImmediateWrapped', - 'safeRequestAnimationFrame', - 'clearImmediateWrapped', - 'registerPostMainLoop', - 'registerPreMainLoop', - 'getPromise', - 'makePromise', - 'idsToPromises', - 'makePromiseCallback', - 'ExceptionInfo', - 'findMatchingCatch', - 'Browser_asyncPrepareDataCounter', - 'arraySum', - 'addDays', - 'getSocketFromFD', - 'getSocketAddress', - 'FS_unlink', - 'FS_mkdirTree', - '_setNetworkCallback', - 'heapObjectForWebGLType', - 'toTypedArrayIndex', - 'webgl_enable_ANGLE_instanced_arrays', - 'webgl_enable_OES_vertex_array_object', - 'webgl_enable_WEBGL_draw_buffers', - 'webgl_enable_WEBGL_multi_draw', - 'webgl_enable_EXT_polygon_offset_clamp', - 'webgl_enable_EXT_clip_control', - 'webgl_enable_WEBGL_polygon_mode', - 'emscriptenWebGLGet', - 'computeUnpackAlignedImageSize', - 'colorChannelsInGlTextureFormat', - 'emscriptenWebGLGetTexPixelData', - 'emscriptenWebGLGetUniform', - 'webglGetUniformLocation', - 'webglPrepareUniformLocationsBeforeFirstUse', - 'webglGetLeftBracePos', - 'emscriptenWebGLGetVertexAttrib', - '__glGetActiveAttribOrUniform', - 'writeGLArray', - 'registerWebGlEventCallback', - 'runAndAbortIfError', - 'ALLOC_NORMAL', - 'ALLOC_STACK', - 'allocate', - 'writeStringToMemory', - 'writeAsciiToMemory', - 'demangle', - 'stackTrace', -]; -missingLibrarySymbols.forEach(missingLibrarySymbol) - -var unexportedSymbols = [ - 'run', - 'addRunDependency', - 'removeRunDependency', - 'out', - 'err', - 'callMain', - 'abort', - 'wasmMemory', - 'wasmExports', - 'writeStackCookie', - 'checkStackCookie', - 'INT53_MAX', - 'INT53_MIN', - 'bigintToI53Checked', - 'stackSave', - 'stackRestore', - 'stackAlloc', - 'ptrToString', - 'exitJS', - 'abortOnCannotGrowMemory', - 'ENV', - 'ERRNO_CODES', - 'strError', - 'DNS', - 'Protocols', - 'Sockets', - 'timers', - 'warnOnce', - 'readEmAsmArgsArray', - 'jstoi_s', - 'handleException', - 'keepRuntimeAlive', - 'asyncLoad', - 'mmapAlloc', - 'wasmTable', - 'noExitRuntime', - 'addOnPreRun', - 'addOnPostRun', - 'freeTableIndexes', - 'functionsInTableMap', - 'setValue', - 'getValue', - 'PATH', - 'PATH_FS', - 'UTF8Decoder', - 'UTF8ArrayToString', - 'UTF8ToString', - 'stringToUTF8Array', - 'stringToUTF8', - 'lengthBytesUTF8', - 'intArrayFromString', - 'UTF16Decoder', - 'stringToUTF8OnStack', - 'JSEvents', - 'specialHTMLTargets', - 'findCanvasEventTarget', - 'currentFullscreenStrategy', - 'restoreOldWindowedStyle', - 'UNWIND_CACHE', - 'ExitStatus', - 'doReadv', - 'doWritev', - 'initRandomFill', - 'randomFill', - 'emSetImmediate', - 'emClearImmediate_deps', - 'emClearImmediate', - 'promiseMap', - 'uncaughtExceptionCount', - 'exceptionLast', - 'exceptionCaught', - 'Browser', - 'getPreloadedImageData__data', - 'wget', - 'MONTH_DAYS_REGULAR', - 'MONTH_DAYS_LEAP', - 'MONTH_DAYS_REGULAR_CUMULATIVE', - 'MONTH_DAYS_LEAP_CUMULATIVE', - 'isLeapYear', - 'ydayFromDate', - 'SYSCALLS', - 'preloadPlugins', - 'FS_createPreloadedFile', - 'FS_modeStringToFlags', - 'FS_getMode', - 'FS_stdin_getChar_buffer', - 'FS_stdin_getChar', - 'FS_createPath', - 'FS_createDevice', - 'FS_readFile', - 'FS', - 'FS_createDataFile', - 'FS_createLazyFile', - 'MEMFS', - 'TTY', - 'PIPEFS', - 'SOCKFS', - 'tempFixedLengthArray', - 'miniTempWebGLFloatBuffers', - 'miniTempWebGLIntBuffers', - 'GL', - 'AL', - 'GLUT', - 'EGL', - 'GLEW', - 'IDBStore', - 'SDL', - 'SDL_gfx', - 'allocateUTF8', - 'allocateUTF8OnStack', - 'print', - 'printErr', -]; -unexportedSymbols.forEach(unexportedRuntimeSymbol); - - - -var calledRun; - -function callMain(args = []) { - assert(runDependencies == 0, 'cannot call main when async dependencies remain! (listen on Module["onRuntimeInitialized"])'); - assert(typeof onPreRuns === 'undefined' || onPreRuns.length == 0, 'cannot call main when preRun functions remain to be called'); - - var entryFunction = _main; - - args.unshift(thisProgram); - - var argc = args.length; - var argv = stackAlloc((argc + 1) * 4); - var argv_ptr = argv; - args.forEach((arg) => { - HEAPU32[((argv_ptr)>>2)] = stringToUTF8OnStack(arg); - argv_ptr += 4; - }); - HEAPU32[((argv_ptr)>>2)] = 0; - - try { - - var ret = entryFunction(argc, argv); - - // if we're not running an evented main loop, it's time to exit - exitJS(ret, /* implicit = */ true); - return ret; - } catch (e) { - return handleException(e); - } -} - -function stackCheckInit() { - // This is normally called automatically during __wasm_call_ctors but need to - // get these values before even running any of the ctors so we call it redundantly - // here. - _emscripten_stack_init(); - // TODO(sbc): Move writeStackCookie to native to to avoid this. - writeStackCookie(); -} - -function run(args = arguments_) { - - if (runDependencies > 0) { - dependenciesFulfilled = run; - return; - } - - stackCheckInit(); - - preRun(); - - // a preRun added a dependency, run will be called later - if (runDependencies > 0) { - dependenciesFulfilled = run; - return; - } - - function doRun() { - // run may have just been called through dependencies being fulfilled just in this very frame, - // or while the async setStatus time below was happening - assert(!calledRun); - calledRun = true; - Module['calledRun'] = true; - - if (ABORT) return; - - initRuntime(); - - preMain(); - - Module['onRuntimeInitialized']?.(); - consumedModuleProp('onRuntimeInitialized'); - - var noInitialRun = Module['noInitialRun'];legacyModuleProp('noInitialRun', 'noInitialRun'); - if (!noInitialRun) callMain(args); - - postRun(); - } - - if (Module['setStatus']) { - Module['setStatus']('Running...'); - setTimeout(() => { - setTimeout(() => Module['setStatus'](''), 1); - doRun(); - }, 1); - } else - { - doRun(); - } - checkStackCookie(); -} - -function checkUnflushedContent() { - // Compiler settings do not allow exiting the runtime, so flushing - // the streams is not possible. but in ASSERTIONS mode we check - // if there was something to flush, and if so tell the user they - // should request that the runtime be exitable. - // Normally we would not even include flush() at all, but in ASSERTIONS - // builds we do so just for this check, and here we see if there is any - // content to flush, that is, we check if there would have been - // something a non-ASSERTIONS build would have not seen. - // How we flush the streams depends on whether we are in SYSCALLS_REQUIRE_FILESYSTEM=0 - // mode (which has its own special function for this; otherwise, all - // the code is inside libc) - var oldOut = out; - var oldErr = err; - var has = false; - out = err = (x) => { - has = true; - } - try { // it doesn't matter if it fails - _fflush(0); - // also flush in the JS FS layer - ['stdout', 'stderr'].forEach((name) => { - var info = FS.analyzePath('/dev/' + name); - if (!info) return; - var stream = info.object; - var rdev = stream.rdev; - var tty = TTY.ttys[rdev]; - if (tty?.output?.length) { - has = true; - } - }); - } catch(e) {} - out = oldOut; - err = oldErr; - if (has) { - warnOnce('stdio streams had content in them that was not flushed. you should set EXIT_RUNTIME to 1 (see the Emscripten FAQ), or make sure to emit a newline when you printf etc.'); - } -} - -if (Module['preInit']) { - if (typeof Module['preInit'] == 'function') Module['preInit'] = [Module['preInit']]; - while (Module['preInit'].length > 0) { - Module['preInit'].pop()(); - } -} -consumedModuleProp('preInit'); - -run(); - -// end include: postamble.js - diff --git a/thirdparty/libzip-1.11.3/build-emcmake/examples/add-compressed-data.wasm b/thirdparty/libzip-1.11.3/build-emcmake/examples/add-compressed-data.wasm deleted file mode 100755 index 754b4f72593752c47d5235e88bdb40bab3b9b2bb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 398069 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 %s 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

KXVKwn=xM%Cm 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

Jt(l!DM!@#!g@|pRoZ#YK@AfAzqu>yVxPBN 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

9QMvoCXQSH^871!o?>zutg$t21;OImciWFT~k zE!R3--FG??e3|2;@^};_RZf&#pajcns8hV%lt|e-yXkvo#!XxOGWI1-JxyXI`6d^S zqD%#0G&2=2g)x4#L9BmKtp7yW`z@ieMq5WCH2fZm5*@pJ?_G8YbRldo*ffLy{&cgh zv0v9dgn)5wy!<@ABnn#JBo$-+>oEUCrRT6T{4@L-W0u-LU34XbthpPwji!eL%2@R4 zNwUQ&9tijZB>o+ zuP5IY61R5Wc3anB^{pOeTkXT|`Cn!fkV{+O_G{P#wo%gKD%m=|UxVNOq5F>5dTaYX z?tg5I|Fto)yvHp6_OcDk#=*_1k?~kV?BIW4vDGd5Glnp8Z4GAsr*20LVVRJXfaAwu zh_T7X%mdcnFWfH-H@{@l{R(TqFME<-V>tNrY;3kx0jA&8GgNe8yRE?Z;t>FT{EQ}6{f-R^QRljZR{<#eOPXP>vof?+aI)=yW5P-Hc%InZ@td- zwgLLxBNCe*QXJc}c`^YQvgUgR4Ss&U%(0f?c!7)sv&6?!Z*Q-`qnS8)-!;7aKJcS- z4Li;!IJ!~1AIAq8JaH`s^8Vu8$L0DL=tw=lcpSKUSp5ST>L4Z1KZq9gDgeS6t@{aB z3#4p0R0adH3t+k>%Um$r%1i(rj*y`MZoW@EJPo~V01jT8>S#YHSoWjExbyaHjdUy{ z+4i2{jkh)dcy$0Jc18-e#gXH40(#XG0~bFX2A;uBHY>r&^mIyOJM9!>@@Pq{Vt^Xv z9jKd`cN)UEpCKMysf>X-K({5;5Gi)R+3^mxVkUylz`Mf2;$u#JN-N^2Son z$T)bs^;W{dYu_%lgvUz(^O`Wywc_2iwXO>V*NcDG?n2!^pzY^%F)D|1*CwN`vTH0e z*8Lh|E}82L831nfV3XEZXt`A^J&JxZa7uZ9yJgb29bNeyVKkWeJ8k&8Lc!f)G&u6gdn!&7 zug~8J=>J7(&&dQpt_%WYG{F}lsrz5xCoDdhj2D38(fo6p?`cYQL({xCU1Gdk#@@s5?**3)TTcd!1#|_EzqfUTqMs(+jf@#R z%9v5Kj2U*Xk5_u(B8f8OBtXp>K68dm2acVR4l-u2x^Vb>Lb?o|92`%F-Di0+CZAA2 zzy#34GC;e<>=)hP^bKbtxoA;r)R(dP6M`fb?-8 zHwM`>!$_wqC5ATo8KK}zB@Wh38d^mz2K#+mVx-1c(xJ^8w#%rNiH&^@;Yoa zA=st>CZ!p+K9^ZyiyMLHW|fiRqG_XduQcnh^>DjVTUZZwSpMNVAb>kV z?{_K5g<$o8b0-8qb_?n$+ps5q4&@rQt{+gMVe6W_7JTjpxQA3m zk_)@kZG%oC-34OJ!!a2zNHvU3gXW|i4vh39a$V?bdMqa21=%e&C&>lGPkxKXV-j4T z*YL!@JR|-|$rH+M0gJGwHvN-Ea!-X!!=%+zN(&NO1cqXg5)BV&BpTi&dEQ2QAtbQi z=u_^Btg{!bv%f2s1z9ZWN?-90bygx}F&Tz|`z7Eu=3|PI4TFXWWU%1ac_k)^1qmv! zd0J|VSDEN*$}TMK;&qSRH$rM*jGpRBsfDW^lW)ajt}sl#ZJk!hR{=e|s|>=HR+uCd zJb90!fdmzVN5^ERAV)==1Qm8Pe3)TpiV{^ASpCYfFgNe|m6)PWi79xZgcN%!HHFUf zc|PwdSt#Zy7X=P@ICPVdLTY=us3^>5kB>a3%E?MVLF$Rw$thtp5=)$F!;^Nxh9~L7={Ec)lT7ePSthC^ry%u2 zjg-O47VPs<7^=xPAyl6mGEUT$al$$!vBddw3aXdnAqf&p@L57K1Tsrd=T87c1_`Tr zp>j)*VIo6nl{6DHxwtt?uvH|h#HGH^%Pd9kB|!9Nm06D92Kz8YStV#Nft(W1(v`{* zOri*0VqqzRuc8&{B(64ETI%7yCQnKUcMV9pHUM>uG;Ocy^=GMi{Bw zeRsgy~Wh9HR^Tz{!XFgqe zn2w6OG>f|}o5bBfagU`BzK2HlDs8a%gZt>&vPJ~{;Ql<i%?f2jGzgpo3cQVIf6H)s`JNyY?7XgSJH?gIU}STv+4Xb zPvQu})N*TEPM*;6J!u((pP+-MEPKRL`RU{i<`Bq|MAS(VVTZu88K9HM4ng0~(RZu* zZY5EKkr!Dao>vaxI{6{|pf4(SunqcmOC?LIow&i)*Hzy&)%SsDTS9Sj(*haqF;j5c?K1Jarcq2-i{;2r@~8gQS&w5H@MD zJnXMr54=qxbb63-LKv#a34w=OfsDZ<6SkZX)H$>;TZw`Vpu?3Vm|VfxPA-!kf+l2! zSftbtJxUR56^~Lb2IbRlAlHkRK zzU0Kv`$@_HVVEQhgjVvDkO+d8@>q)C6AQDH2!eX2HNkp%XnqDs&pdEGFU08pcb3Y? z3gP(!V-O}PPlV0p9Hofhy=LRc5<%Jsazt!Sst8u#d?kw@O9T?Gazvn6x0bwALb)N( zQNs0k2rp2k2y#U5S_wKOFN7?j*7-$B5n-sh*h+A16HZA2!RHcidYNU4xU4XpG!TrL z<$$P@1H!h~6&Bo2U(-kkK?aERqJC0F`eCnDW(cxD;NPZUmolvBm~y0rFw9+B@L3_q z7a8EWUb!F)9hBC(6<<{z2$GMK&lQ^K?`!hAfKy&J!=e2H1}Hr@`#qQtoRTSTK7xrkj61n0?Gjg4w&1e-X^yjds5&n0;)L zLgdZC?A^(~2xgy{Y^KGsaIGHV0krd)quINYfhetkX!dT@{QqV&`&bnHMo^y`%?{~p z1CeaA0qRbx$qR0c)VI}7M=X2A6#hTx!NF%+_dnAIz24BybY5|24)ha}?Ky6K>?O9)_>S&pZpS_!&EEYf0a`?|?=%Y+pPKun zZBOd}wZBotudVa!C5Jkqv$xm!fo8keB8y%8FLUZ4t2UsTPmh8Cej}frstf=%RQ+v^M9+^A;P|KyO~0SO;s|BGq4Y#Q$CHAq4r#I!2Y?-57V3Uk z1WsuJ9d*BTeVV*j@!Vkm3;Y4Ypusmhq49s#_xYUV z$(G~K^JWOp3kn;K{^KzRKp%e#nX`K^2N;mp0$!9Y0A*O{5CgzVzC)}56u!(BLGf>c znKi%=`>Jn_DFC~`Yczk|^!zKJ2TTCed!q^TH$!u?3K*$j72qRZAglotzhkhw+*JTtN=Lp9EAQ5rync{!RhA^(;pt{^@sTS94cQQG-8^A)c+xDZDs0z1L#xK z|Mm>E{(q?cw`TvD`rn!~tN*Rw|ET`Aw*Qg(-&!=Q|E=KS|C{=sw&j(o|E<%1PyKII z2dV!lsjNi(Zx#O?^}ki*rGpUOt>K-6oOnjcT}p6$dxP+J?I47Q@*hjUolwzTQe30& zN4gDxln_-s9e?Kr;@z(Dm}zE%&-`)AM5kAX}=+$Y*WWq#)=bu{C=U zWj~t#r>XIbcEmGO=&~RX1LWDz<8v0A^SoX(=)xNYc|LJ)?rMZVdl?~?fxpL zBOYUU_1a1gkBDAwWXZ^Xk@kJ3#3JKRI>Pfy_nb9K0J>b0o@{ zkyL47`Sj|Nwd4k8l}Gu?gl1diHOQ8+#x&fi2E3_IadrgHqITS>tnbeXa&wQXCFY(` zP7<1QIv+^EBrKU+U$QoSb88cKt(;+`NZ~;ve&RDBenQrZb?th}5~FC0cEW9JsP!~d zBRh`4ypn(kImG37mr+cl%?55m-ep93v5EGkdG)`s^>6u4@Rq^_t9x*C1athlcb;lT zn6hzGjcZa=E%}Cu%E=U_XyMeP17jo$r|v^)`iA8IbDIl<={&Hv7WE-BO>#3753!{{ z*vdforh=yH1VqqbJ0a9I)VDO0#Y-y^!iM?|-H^hJZJ^RsOe~C82v0Rv7 zFp+VPb}}C(b%B6m(?zmja)&ngE~&hX`x0Fv)ga<5qHCm@!{oliOEP^30x8#3 zK@ee(Yfc3WgczQj#vrFlh|vs*V%7{1U65wZWDtZFL(UgCm&GXNXe1*alx&crxQ(7EQ%ji5ViG{8{1$ zT3ksc4SL2$2`WQIL0}0l{ITgGnOrU5q$Ve&Ys@*GFat>Fx)5hjmuy1S4*4k21#-y^ z5>3oW$;y}6bdg4oP$YdInowRwFkv#cg@EKf$sjzroeFnI_|SBbLT-{2V$lV6+2D8E z;7B2N%kK!gym><13jyD!=^=$6WZch#2PA8VfaOeVa6D*mAdfugfwjr8$cgzHfsA_tH4T6CY@9`GuXKn#534+j5xQ{b`6tMWvO6C{t9 z8j{C9d4+J*KahZ&`UYUvBb>hbY8tnyq6TRU(r3rbt3KwUzVln13^S2mDTl2N>B$$ZpjB#ju^I{wU~ zMdQ@yPCDe%Z%)njYC<(y3-nvk&b}leQ(b~nGo4#vst_zw!9_hvvfL+(`guk*o{Byv z5Y}j2kJZ{(NUY)+t;lkq5Z%tH!KCa{ca$h8n(XA(Bjpu=-LE#01?h9`HTGEu8 z&f*Zdy$3U$Yyb>)E7!P{3vMFXxNPPf$wrC^wMf`$pUi{ef%%%?Ge71UmoxBnpy7=D z-Q36BJjrJ}nIgD0Wq?gX?Ae55s%lSA{Gtx&X*Am0P4h0yo4M&VE^1tu<7BW0GqvoN z?&Fr8>SorsrT<&CzGWw)UDNe}v?h(W30gpDh1;639JlrN+&0s>t%L6}$vELLejq-| zp6jidKa|+Yufjlf6XF$l@FU2?!agg>cB+6vQ-9hCS&UI=@-9K8oFZgV*Y{7|b|JE+ z9gQZ{#`}AGda@&f@8ouLJJpk#T?jRX4-rM(NssDQc#U9qi(nsW%^u6sDN3`%CN+GR z>$(->!%S!+QHyS8NDC?pZx6HpoOU0zIED*;w%cW^!a~0<^S0{>LV}dSx>w)_|Zru00CR-{` zQ(*3;TV4<^P}2oyC5AZ+F2lI=ZS@vLQgDXsCN_WWd;XSn+w(Qt_WS6<@8!DJvu@q@ z2LccQ7u>ge4&Z>|#-~_s2=q~-dP5+1$*%s*&}xDP?t3nJpKl6OEaFgy00a<;O?1(6 z|HBL%$(etY4b~+dz~)HkVXVs^PT*KhSMGeC9LLBo0LL@OSWe68VsQvQ%A!j*4xIaOExSb|P<`|}x`&4gG~Lv@E3fx-UE;PWhI+mRg~1>Bj9s?LVZ zfU1ZFVE`wcX4K#hOs9#xmxhhgu3NkUB(@}|H+j*D!B&w{GioR``@}2oB)lc?B3ssr z{gf|}QWN#1y&mw=$e)oF1tiXqTk~c9wSce-1#?-0Tgd2|C5W;?oDyo2@3rO)RomJF7GkGKi6npce+ ztk%5MI>nhe7V`in5txTt#XmGUg^4hv-eo#Wbqec1VIxG*V1$pj*Sdp!;3M$hB`Cc= z>!~2kX54US<|P2ajTD;}V$2&-M7%H&@D&fEe||*hc{Ic+BI-+(8A9M()0+VOng`ux zh?y$P@bG`wQY%^{}=49Ba$@R}5xI&@waW?ly~ z+}&bP-Z1FLE1;3DZ-Sh+G>^AUlle9z_zv3umFB?NIzehpYx|y%{(kej0C}Q!0Dh=I zM(yE`{EYi!RGKI<>(XG-v?Bc_U-yVNlLiyv#@_BXj|%f+hMR9{N~?(elD`wA%Cs@} zmLh1Or6yU3A_)B@PeK}#eN6*Nz@o5>#&SRDE$dQW(#ruTJWyL&XJ|03vxC*yA<|$H zqu3`eW}Y01?gRDZVRV*5dug353h(&Cq0f|`NASw)BdwF}%x#(D^Jsgm-;uP(Z5egu zG3Y}4@maAK{b?S@g`tnv&?m@)*`2`9i_M*RF-=WpiMDefHv+E9b9lR-cU&gGnjYLK zblr$pui(Z^mD6H}JM(Guak{GL#eQ})w3Qw#MANdsM?B1$Bjd*S7bg@wqgnKfrfG2| zuw_DoT$v>r;)-qvPFk5FhV&V5bwknO44pA3)u|)Rsqw{SX>~N`5&F|gWLyMONnl(L zfpL)!byRZG5ucuEWw^cBn#z{zxQ~1oMYpC@$#htTfwX=*P=TYk@o%;MY~UL^oD<); zmhp|Q(~Z`lW7R)Lca3)e6bHWxpePoykWH}w3rUlSUa2!9`Q+;Wc-oy=t*CV0Mu&T<2p^+>A1ye3lJ>v@!4 zg?L91r81muP(#tPu@c?ptoyH0_SHH$^{f|TCo6xHW)PmzpiK3rKx|wLPe}&7KCI@c zn^J?P+|*5?8xzF}sD45wy&9^YqMHUjbiasdHs|-|HB9Hz#{{+DL9Nj)1B5mHV_HEF zBYGnAPFle+kZ7PMi!!h@EW!`De%P-@Ny^<*bi+8EAU*(+#8Sa0ngv%HmNHhKpeYOr z#SxqqBSgSca2YW;5uX@43&Wg-?t={_4szKYhc=+-h#sKO1Mnz(7FxzW;4`|kyks`lNqe| zj8Lr$?IYFN(LOdwHCvigBLFQFvxe^R+k&H!t5HJDx7~L$n(soY`5x(&Rv*ZuTSE!? zJ-6*96b1;%*q9E(MT3{5&lnJB2Bm8>#BArbBPr|Z13nrxL>gW?unC2st1hIQ9oCDk zU!6=W5kd_w9H=4G?BIUB35C1~4C>pFbtX>J*0~)qr|5PH!8z4T+VNE1!=oNg^}T%U zRT#F{47QW91(2!;KD?k{YVs=v%Mv;ovg=?mZ9)1ex>>%5o%y=6?}1I%$1f7NXwwnP zsXV-`dQB{Sx?~qR`wiMlk~{9oGa@>jPKmbCS(`-rH*&P+(-qBkjqVr$$(f+}aVG3A za3=gv9q%Yj#;2VLTZ5NyCd?c-6J`vY2}UzpC!ahMW(=GO(}Z122-0b6m+kHCxQrNm z2QDLCRP!mugsq9tF1k@0#M^jCF?NiNw;NDskn{^Gw0G0=aUZpZ`$)4H{00(wNj8X0 z6FzfrvhAXhZJY9ZMq+A>Y02k7w54>dCu42Z#s=Eo2Au`~Z0!TJr($CmNWE@}*8>^M z^p*w^dtowIZyKtN$g4K$$@UzHTSPCx+21iQfbUuhOT|=|Il^r{EBQV)itlHhioF~P z+gerLJi?8Yy?R6{*M?!j=D;B!hG%<^4a=roO@6|h8&-)QyPt{$C%tx!6X0j=M;qtt z#O~!F__>X-qm7X%IB@i^ysfhnHjq}z0<&A$+x80|E$#GQGlV&4)!5a)(yp$$U%FpQ zwXw774MR*y`mAd+ThzVTqF3SBhMQektKSlTy=xEpj9uLCW~0xrA#l-hzt2!H1-(Ya z>ot1NYgmQ;$Vsn(bHZHNFQn?&Lq#YrGT#lWhjxP%o)^p+mVt@#ZDhxY8+MF7*)dRj z?2R;mR%4;bPgpR7cN7_DF!n_@L91b1?k|Og4UJBN!ULi{X*KNGLDFd$Mi2JQ4>8-r zAv8yu!RJ8SJPtF($6?5mKE`K?R2$ZOkxUxaHHr*AhXW8=4T_JnY1w%=Q}&HH4f}?@ zY@~>4L!0>+NtR(RZiB|d_S~_iDY0pz`QYylrT5_L@zG{dd_>9OCbb7NePY(2H#y1h zcX9~YwuDR8(W$~8Di2g3r!oK2%?=V0EuCS~*qI&yXIWmQvp~SvjE$Khq<82=xq+jW zP4--asvG+U>wLbcGXDKst%kS@4a|$A;mFJ&1}0XJIJwlkvn~Zplo=OGr9o7W)Ec^{ zFZW=gu|UOf1z=t&Fs}qmxM8v5D@)XBV_qYrhQWWWX*jNBfa`1~z0z%5@96+zh{y>eI z%_b5aJpo>;=sz%=m@eZu{QISrA&vW>4yGxH(RUPy(r$#PALA?FtcCvLSSq0GFbtsNINrm9#)HD3@vvtn z#_rQYw9#`A&piwM29?lmWao3QlpUu57H*NJ`%%wO+_pP|QO~3xB3hfUZKAR{(o^g4xW+a9`JOMZi5w29QVFm3AG2tYT5 zs>>`)`=$m`ClIbplUo$9?QWq7K3aw+T&-^Necmn~Eq5yr-4PmjE17YoV0A5wVOqP8Dy zg8GrrHNIPq`mP@{->pXg6W=Y09|xCmT8`zpRm4pzq#^1hV!O$Mi^-CTPB?hVoVA_= z2Tv=28@H|LxNWgY&&GIexo3gsIloh$%XZ34g=^;%e6pU8-3zq*n}+%uLyZ*{$0iEc z1|_&|z1WD@HuSzEKP^KE9$WvA#}-biVNS2eS<6uJs&D?9T(@x8!b#Oav{!%ijGE@-M$l+&kjnw@JEboygTAPsXaBcKvaog<9c|NYPIdGfZu^>_scW<{))vW4x6;pDkn-?o0GcxQAE@>pS|;8_^||U8>$bs z8191!-Xvn%Iz3c@+J@@G6t8-C-tjq%c-2J;>2`|%$VY6W-c`i5JE9RR+C}I#O^(hh zEc4e+nq`CvlO>Y(Dp1vY*X*-CeY6b&Ckud zbA8w6SxELdV2`M6iqAJ#Ge&i$BDjYsf_sUAxMvW-%_0!I{U-%&6R?=KYvRHzino{W zZFdoXUAsCl+y>Ysd3SN%T|(tc8JvLake{eGu|RHHgg+ZtV~E`bvsYNm_T^xP=xv@{ znV(MdHp5<>cSLbtO;1bxuuBJqy+#q-rf|8|4||J zG2J&(;iiC;WqG&EBZV+-3U3DAw}fZ6DpcF{-)+A6?H06sJI(J<>^8yPvywYi$=%t& zcQ4`F?k?Z#Zr|*lyt_N^?xESe6hw;NCX)L;e%~KPdO#7{+5kjn8?8Q+cMnleC1M*S zJgk^);m?MwE?KBNN%FG`P`pvfL_IKKjz1O+>ig)JmK5KY?Grx83LZjI|8?# zfZU%9qdk>(PucKKhXO*jpRwVe)$q^d-LrY3wDHGRIicAap1RLcM5s2OC$r%l5!;69 z7cETtMFu5c+vfBS1!CLMzoaF9*@CoRV#x{Drp^igdL>kSRgv06Zf93MsW{c-^}Ks6 z?_Q_L8=>Nx3emPc-%_Nudjp8xwy^ED0kX0GdJ~J>Hd=Yt!$)}by9(Z}6T0o;`ylT= z@O^!#h;5>``xLZou=oG7SZ%i_0gjLY0o&A@R~UeLz6D42W`Wy?#|tpsD-0W7Jq2?U zzU^-(-cCYYBDI62uUFCB`(UV|&A!%42O-?xfM9Jt`xSUcNx|{tfWmYlw^=2^wu#O@ zh7Xe0B)Q1kp*|8 zhk;0K3XdxEB?NHWGs3rz!Q9U=zp|L^;}zyTD>*@x+zAbo^eTFLv2S*wAN8byJF!4$ zHfJCO(csu^8;Qv6(}1EiIXw)0h7Z`TCTD8mgleCuP;IhRSkU&_OswjtdnQE|s_jnA zf^T~jv3;%|pNMT8qRlbe><%KeiQWDqp|-?l+wd1CPFurY7z#p!b~U+J!(U?I*q1QY zrHb4pN?XHI_hO2O)#mf3Z1{GCY-`ZV3+~St@R{@#p;HUhw&f;NyOLb3C~ac3dlaZm zouvSDO{jWp!ST7Kfz%FSwP`}2_H~NY?n!P46$#V6(J$Xk7K42Q5G_*~LE25bV`g%* z=!0&bl{56Z*ei{6|u1Z91XZY*Q!nWCl zD+$}yetO43wcnu|g0^j>_Y{mRf+iN*3W(GGfP!lBp^)&AqPB_Ht|k3Ng>d&1fL&GG z_Jla4I}RY5Zkywa?)ak7$_XC6#YJ~Q(JcnP6GLAo72Qd` zuak?8!jp@A$tmI4sYQ1x%~{jaeDl+b?zEyio#tm09iLN*vywAa$(`8*^;x0$+359r z*XI-+pR)k-T$QRCIj)2o5eFVPnx< zP@JAzs8za%oE1fP5fEKmwA<$5Vz5ojOfD&=rR370y9CaUmX~R$%NVLvLm>kDIbB|K ze=fSq>EVh1_mwF6JPcPA9fenclB>hBr6jBHD7nTrzqaVEDY|QEeqGV=xf+yQuS)Lv z21`<5`$twndM!FgLKxV`9Zr=XhL zp^4vFbaxcpouKqCmAku`Sk+PY4vOwBIzG2#k zpy=)|x(6V}2g7I&72QKN{9i)B!$tS74gZLSf0UGDMfWIUJ*IN^m<>f6Ta>U-ETh5?QgifCp@p%J! zcvqF&yG@|K7n;9MA`0L22b^(5_a3l*s51AV!HTU@w!)97?mnW#>~h;A{qkYxZ`mL= zgXPxA+!mw#xh>uvyN4d{!DHDR_tcL)`JwlUi1N2d=20Z8-TW5E*ZD0|lf7D4(*-SV zuNJqUg-A``-`*|WI=fI^EDZhaqaXW({@B6$>i53(u#oJhAN%QHu+naq?60m5XmR_u zxC2^{lU3tDYHa6iwf9BQ8kzTov>t=q&T)Q~rM49uSdtAKLA*m;naD2r1GTszb-A3& zt%M}mu5}jP8wGi9nAcr7X}o)B7rZv?*`co9OXS0%?Id)NapR?@GS$6mIcYapW z22DmwiM6E__X)&+a?*%b8~h4Uy+$f3r9<&-8j-YVZLPL{c_?oHQbv$fleUs;OIAyl z967(AIiP%6-L2+Um&ZxfJWd*K4Q(s!6b;QlmXI?LTsNkl|6v*QpcidH_=Q%f7C>I{zBDy#=B3ch(6-Xdfj6iRUh+_-;79UHueEIjPsPe2bxM~l ztO}HbmEPBHE4Aj*{w2(?v{ydLq8L)w(;52;9;5N3^s+!K^R`sTzXJcxmq>XWM!gs-K@DokWGPeTrQWsnwzS(ZIx{G ztmKK@RKJM1B%&jl@>nU!oh@6^%AR+1!cjw#P+ifr^nm16Kc0CwQJf0#5P^$p=^S2K1TnxDf{}y}gZuzm z3Z+%7!){fr+%2q>=H{azE5!u!>CnK?gzkL3c#aLHiGw4(^^NneM>J8jfrS|+pA^{Q zLqvi8|DQz5yaBX`Q7R-wD3ddl_8c~y(bVDSlp&!x)5BARNkHUm8#`q?Tes*OI=a?r z7nln5Xz1vk&Q_2hWZswra9Nj;*ns*VPfOt2fwyZxN*9nJ)OMFLQ6FmCcWY> zowFGmFvCBy?BKgiRzuRoct)#$VeKmjhO!hgrq<+~?IYF6rSd+=xglw+eP}9WWG$VP z1B((tt0{Yv^`Z-xYo^vtey5|Sjt*4&Y8>b1M7x6?)3*bO*nc{%b+RjK{wMnP&5d$+ z2nnk&V!S_u$N6;kM#UkGirT)rHOhxtxq#_O^YzXG-LoJcMfG&<9`jmz?H~|2Kmh4( z_B^)M9{<+bsHD{si%yhX>0FQFv@d)sq-$uH200mW?H8{CQROm~f8A)-+xWI)CRuRGcHi*Xqwmb6dd< zMMfg5>lNB>n`-rQmFx7KOPTf%{VIE_fBvH^Ph*@VsB@+5PxYn4J<>^?t6ZbP$|Kg? zNO__M1@mU77d(Wzi8|`dSpwrN22uUw7NdjB=*6zJT&eP?dJzEI`J0XI?S_LqT|BGw zUL56_jN`Z!fya|ls?O8-E2b>_9;TwpMP)0_A9!xx{d0$HSXDgaK+>sB@?c5>G~vq9 z05@oEMzkv7I(y%^{}m!bW6p z&G2U-BXkd>K{tUH;p6v5i*7i*P3R zZ^VmE^xyEGggpUjKRNz(a&N*5F)JqV&Ee4?_(_4}D{@Kkn5nWWg*k47Z|ZEwFexJ0 z4W_`js+D6Dn8xMoy0mW?a&dfD88#hmq`@N@M2rK<8Ryei#^pJ3fjw7R7_p}vAd!%i zouT_0?qC{yQ1Y+N9y(~|FMOjM-4x`&Os|pWHPSgoUi8?dZpVWaEhz+G9AY}UFI{VP zX<-ceYXk?+)wrh$&>RePxTmx`T-0lfAGM}+!V}e8iwBwUDJygu)7IKKMAu3&X;BB_ zwGhO_TZzdkZa%tmNabb`{+iq?YUPF)yUJ6sWUxoIL_&*`u%Bm7@HJn#MJ?zxPX!yr zH66vBLpUy}Mq*j2`iqj$T6$dcOPjyC6dXOBEuL~xFf=-0lMQZ@D~(kd=Of%^x~o4q z)I)mwqIvzoYQL-8E>KEKB8~?EX8_va!r(mD+_fp$f1tTy7e z{6Mb_GqoP9uC{7_yxDN=Pb=fAy-Jx<9y^JFE}~mw5$Ki{bSAQ^EYx8~QK+$x|H*Sd zjnWSRn93`qH<3>3%1FmwN7kxKjNVH5-ZWQwR%f}*5ch}*;wl({xsEG$*unv!f;NN% zpykMh#5)T;+I`$wn!w=8HC)t`&eX9@4Uu)ELz2A(qB*;uKaiLXn+m4${OH629$VO_ zy0kHx?`s4APD5zeVJEc#tBH{~svKZNVw5};Wwgm&*EW zYa7O76ERZx%AK07UxcuA*fE11IpfPRGL1Exf@mf-nly5aep%XLrI(LkN`%3LTWb~L zCA=`8OK6>ZD-#>Iizd$zVn>(u(n%v|87xli{)t>}mhP5F*c2zoaSk)c#Qd>_+^;Po zK3=zp=YGZHuz+d;;w1#=55Pw>v)c#0)Hh=_sO?uHk6h5k1uMZO{3ES|2{?C&f2`au zq*Wf$zo{>IK;KLAqg*^mV*cM%&3NAQK5KEWp0D|dhfA&A_4e-y`}d$fYJmN;7o;`O zuMOhc>`^YYDjUSh!cWe68>kcpxz7eEd7l44{Q!Zv%KqxCGnzc-TMc#1SGhaIPff^G zte(rQgO($z9H6Qo$B$5``7c7Y8*Ml4SQ=Gx=_v-Kp&>m(-%BI1LXU|Fc2{_Ixl?PU zb9|!KQ~LsX7gz6CRRGBt`O@#=2=VX}ER4~Cu2fiy$=al1=Lj>ke@)C~@38)M<9{Wl zh9rQ3I4t9?R2}Xr-^^Vl&2-0{E-fPYgpu!xdOC}NJ1R~_Jd(OXTc}efJbR9*pa9Vy zBHUcugC-50l>b`cO@~5m=+$cuwIi}3>4QO!iPEB9NL?|(n zQHmChm$ch`Uh4z`AwW;cD5;X6x*GggD*=T$uxV{X_&on@s5W>&4G*Ppv6lL$^0Xl8 z92&4OR3~BsIFMw(WpE8qz?8LRDjt2h*E?0lQbs5p8hGm&4C5STZ?!zevQ7qdFGdNi zZgWExxVhC(A<456h7afiw6sDhVbavs+)--7j1|+nqS_etDjV;~Xg~qB0?KXi7lG^@{#uOCd?b*sZgJg?y2PSgg61)GOuY}FqFtoYDjk<^sL&Y)0th^^J|;ZdcJ+*;|0;$JjI$gDrXhW( z7)xQRQ+e}xxasZwZ$@^6?!^tI38*clb9PRK(}@k}2%cp*XL*%M8PybhV4EQ!AN}c4 zAG~ZVPvpvOc+bioDTQB)tsK*1mg(~mrAOwFXw zSZw&~1Qfyh@Ym275$;F}mru3kyD&`D$C?*P>l*`Xoj`h(XYG85)H{?Fe&!HESmE4g zQzewnkwPq73;l6J(H>9Y!qJY>ENmUYx{YcgfY(*&)&uZ^BC$RtZHa2E{{^hDCRVCL>exoyzde8R^t_qrLt23+0>zZLr@&F7N&=xukUg6uLOed2~Ml?*d z()YzA3g8*w8Ki@3Q)t+f%ibzp zUjIjr@Njt*1;P~_1ANX8ZH~n(pr_h|{bLYVqrqs>#$sH=F>AT$aILYVz>IE9o>&=; zYf=30>y7~(MTL@*wC&lkxV|WyeXPMw+Og5dn z9gqgqHFadYL*uT)L5f!0FEq@hSHm~1x%ueQ3z0TK9B^kS%{IP?N`CjtX+yio6{J*Y z#+-n*Bfu6l!(1d#RNtEGFw5j<(Ly)}=yc%BaD|;$LVuF5KV7u;z3XVohV!C{sNdtV z8HuGep&K3mROMYe4e7f_I2>I%B#NWmrJi!RD?8)K6ZSqm{iv+c=AX7e+&BO>^WIC zApcwO^?6tO)jB3WU}GO766!j<4GgC~ia%W()zVx#_WcrzY;w+RT$IbGKo!wQF8Dun!cZ-H-s7D869@JWgR^wF%bOlS{ zp@T0A3=`Pz2GB1kVfB!7Eb=y!9>#wSejUQkCFT4i7s0`n;ZQ{fLv}`v(JwjM3{P;_ z82G;%&SvTyVFy~k`Uvf$PSV!6vX?7Iq-*PzEhi&vKaAkQO4rub8^LoXO8zBf%BDP) z-xSh$XN2!jn^oe#6N}zC08HnI>BEP`lQJtUa8^DN$xv}P^YXK_v#QKGR;YAAk9 z5ezhs7T#^Tday=&ojT;{ktfC~vs90VF7%hxQp)qZiDIUB`d0VEYX}2{`yXvRSRQjN{yT`x?I^%fCy;PJ)^i&V<#d@ir4 zn-4F$RSny&4B9vDt)+iGb3WXXwhH*D*;V6JJRY|;!!iybqOnbf4+mtNl@O!Ca^Xa% ziHkaOWuceVu4vjQCpXNGH`~Fc!x5g-@l;|hTPkz49704z%Z3_>9foOMswAz0s{`aJ zZ13OKJ4cZt%9fL}Wfdw`(wq9{aZ|J-sE!n9|NQ@MRn2SFrA+PHbw*z`Z9^3|b+jfw zn!+>Y)J7zQQQ?1;QA1lQmCC3V{f>+IQKN>9ibjnpuzhVbs2C1l#E{CU(kSX_SEu*l z?N%zUE^-=xZOA(L@yQzHq7m6(2wmHV)?5_l3!f>re8z}zyi#rD${o!=MrS|pkIR+u zh+|!;r?gFLWIwRSmfN!*>S0v&!y1h&xoX;~|F#$nVXTtkB)SUb^`!hsSUcB1Lr@0s zl|4*A8}8Pa2?IwPgc)t#!Y&@~HGDqfq{62B#C+99WzW#uw~TSOM6Re;;obPDEPtLhD{?NGw)B-^_u;{lTi(ipMWlxs*wdYBCv%Y$ufRjVLGCBbp z0%D#AqU6Xk2Bp@Ac-ZH$p{dqa;|3QILh2AmHD=h?1Ja+F0=L4_!=rpv=0dT zy3F-A8KF}yP$K8T2nj81Vmya%&bYS9A?k(uhdr$vfy}vQ3!aY9am7vN%7zIkeM{+A zIZ)WI(}oZCV6cw@7{FS#Z zumfZ1VBgu#8;{cqxLMqQl*T(0GG826;8MCeF|0lgmb zdr(g-aB~wKAVMyub$JM6;L024zCewtQ<`vSQ?#PvlCL7rk=jxbU!v)wJ6Gip%^0D) zO?@?2ajOcmtGPBRz`RT!j;=CwI`p#T0^{wj640GX$NOj4TnZU_Rk$h_O)j822a!jO z2BEX&^zTRcJAj~1YUFAz`16r z^m{aU5Rb}?6)R<;1-(URMNRt!Q(g2uYt>|gy{Z6Y|IYsz>o>I#t8%Ir^M#fntwV>E%EL#r zRaRNG!Mf<~2LX&O0f%p#G~u>ydNd*C#$5R$EM%Yd=-+RZ4ymQP*5L}h*DAo+9li1q z*N;AR#4msPqw%>dtis+2$`Bp3E-G#CDIE-{r{hDj zA>WlSI61FoacH(rgjgQjByuJpSGMI6$t7~{;v6!2B9PE-SU+<6u-*S~dZR;al@lTX z6K9aHw_@ht;?qr^8Jf#^ci1nn0uAf!39Z?bTiABOLJ(k?7cqy=8A4EbH!QU3(&cp_ z7C1o)@;<{ULS<;{rF_>vn|H>e2f`1S9k5f6C*c&L61Fd?y4dt!Or7NYGg;dPRP1Xq zS9PBruk$}WLH|}hFuClOHCkds((;^m_rjcLw*cxAoXlJN3B~DyW07RzE}aD&feY=v zY&G5`m8JLY{(1cfBQ81`g{3`BlnIi`%r0YIhNk!VYPudD)YtSL{YxE~m!YF+KXlV% z2(4(>YRd+gZ-10)C^`5po<#?FjO7aF6izAQYZ@mseKbz!EB4YD`x%!~gtfzxmoD2! zWd{Y$#YHaq@#r+5EOe|sn=aYd>7Xic$qv^I)Pmk#SswlW>7XU;s(IxN#2qc}jHcwm z|F#F#7QOtctCMq|)31v)akF4Fp1=o0#-@Sa=*Lq0tyuQlw9y16sg=L-T9EU9QtKpT zWY?e?**Hu7A8Bs_P}3GYjGwyAw~{2KdfhHJl#)=Cp=$_H5=sfp^E@L&N`@kdWQs^6 zDkZ5znKMKxL}iK|QDg||TWg_SwVQYp;0^mwy-+A;iGB;8XlG zVX*X|2`{cZi4;h4gnqKPXkLRh26G0UIqY+X2#l_`Z}SiLf!7IWh#()VNnFP3500cX zD0X?;H-j(C0va5^SHsV26^#KfRni!y1g#88gEJsoW8hQ>)j%OwK?9k^85j$5i9FRW zI+6>&jx{xE=i4W&C@xGeCf2N;429TC6R@R^Ehw@Onp41hFan?qKn9IUV@Kv-gpeBO z27`47gioUxd|xgc+ZxGX!#Ke}B&)LkA@PkVFcXx$_>z8T>I?$UubDE{Py*!%P@{d0 z=D#EiNrs?6fx|}A1%iki1?UAWETCEfGDjv1F5XL=B$ITEAFh#w?k@2F3BabF2B0>p`nL)(a z1oU#G;m4ywIfH;Sp+4HAXhQ)wFl2xqkO}6C0+!)R0tkF5zzPlq1O{q&GLe9b0mPyM zTR|Gpk4y{REt*b!YVLy4lT1d$^Z+BIB}R9oKTRS02Yf_Bzy_59bxz~hz8ho1Qp;XVi2KVbNYcN zEDcqaq07M>Hta^DiFFWJP-d9UWSRzqvgmojs1|r7NG&ozM>-V6tmsY`A`FUU*-X8r zDNLeGkoY!*^rFJ#!=o}ZEEL8a48F562V&qFDgd82KqG}s>j3B+l~lN)Stu3xQ3l5f z1I1|-;;5u?gdCv&=At(Nxlow_l%5M2l(3kKz;Xd_oIjcY$Qx`Dv4NPv`cS(&2{?$B z{QrxICTK>IL`nkF5T_nygbi5==6DbedO*&GJ_(bN`5<%vfWgtAK=AKjpuk+gzzuSI zA=u;&0X$XaC<$dysSm?Q)^_-i%YsP$u0xK>jD`j&i{pfp$X+6?qC(%p&-Wr2{02DmLXzK zFoZC0m1rn{i$FPJ6$sL@kVo-@{0hATym0$GWT=O7*})vPcQ!|s_T0H_Z?d%nX9JBU zHeU~IBv~j!mhWNUY~1t$cLGB`fe*{^b@Od|agwgg2C|;pY@QDzygHfnb{Qaos zVQUl#5^?U2zm7eH!uS}0=oXp?Xs5vT!(m-0H7$Y)TV7aa!Bip~3fK1Y`*|Td_An?0j|hXZfDDNooe>B;L+nai+d&gY z=%+APB)vY80&#XgAQ#e>8%5#BgaA^UO%T{v8)ODTCa?=B%8@ew{R%c;7tbQH`NClS zLEDT*qbMgp2@we_TDXB)ljRKd<|=^M;SKZ3%nQme*bK^a0?^^eIILNKSXc|=f;55M zTRlPpe&e*q07sz#@A?Q04w?(FGm+h=46uneSVX;1mcbl_p4Uhiq=~+SfiZN9dO-|P zjGrUoHI%ql92vGQF4ck+j%t$j^o5}}RF)J+7`F<;9|^gG=)Qo@$`*zEQg*r!EM+rp zPa5p0>)p76YVH6;P=r*tpqqEXHZeZn7bP;RmvUg!g@JGiOadGdM^1v5kRr>eutyM% zNkdK=Kn7KZLXsTchQqP^gXFw6gw;g&J2ANs@Jx;tiNLU6w=Y7cfqlV}D>E`7_F3G~ zg-ezTxv*OawyMC~(k%^GSSrmiw6%cz!w}^g0tYzGKKoMpCAr~ zW)6QX?o!u+1N?IFI9@!-pHDVqFNG-tL}ub%alm;Ve90vclt3FmNgJZ@FI0iP-(d|w zE^K|IA935`E#?hC)Nz`$)J9rADU8jN^9=|WjuV1o6eu7Rs&d<~qv661fMN0`YAx(T zDg#Z$Vs=Krk8s1SJ)3*%qJCyFo39It@QGCAaQFeFT% z>_ymb03xSvRfu6gL(*aVCQ?<hl4I%VGY$Xc1WG0U^Pst^c*^-0=&H=^VK1@hjz&voa zP>3d2+A<(|isE-*a6;IG4~RX7(+L}hnKuiF+viPhpu1FZSXIBz-jD{ub z00PAhuS4Kn6IMs&qxf$~675F3CW1?wd=TGQ!(oNPE(6jLigh55;lkIk@N5hL!|}{tjEfAqUp8paisXkqiXx3J^j- zfsE*}azsM-aHI%frC^gtP@o4KpXm#__-~*?LlU^R2}>jBqT#T$uMhCRSbczpflA{^ zVuTBR3<(!IfRh1uU^WI|NO^H_k1q5Hz@wi<;D#b#aiA{(;F8k-Vh{#p@QKHAh6~@q z5usRt62g28Yp}vXxOkxi0tff2FmQ21Noa>`^X5wQ0T56F8l2uR4qt$08pW^?nTC>} z7#aiENoSA*hzKUhIw4#KM6imx<2jNZ;5YK$94{UA5;UPe9}XAiE5N1>Bu8jU4)bs! z2;xW*7>$$w|5p?!2FoDuPzmJD5^V4dgx61U$h7dGveIs|cUSQXps~U=RX?{a~W-v;~<@ zn*9)iJ;V+vkPN`OG>JnB?%?=;lQ^(|unE71z&XM+iNh&}eO2vOrQ4@wnj5h7b*M$6U`sSTnJqQ(({8Z4wgn&@#B`RW>CfKZT_;4orI z7GD!3Q^}SgB!dJ3AEY}>LTeOX8TeW# z%p3lyo2rCp00UsG4mt%&5ikuo?h8B*90R}a|5`;@Jg@z;!4j3ri2p# zN;n6A5J;i`kU#+dX%qlZ1mgNA03c2U;6g5)BBaa^MIQkG)fmc`K;{-lUV=PE07xK% zi=zM#$CWo)007DVCIHAYBLKkWMF52VDF9HO(;#E(s$4wJ!cfA$3jna+IpUydfPs5N zfEa0NVxQ6K_Hs*eZ&NYJ9dyLf0^^@sohBVqAg5zvbWf<&zOUm^fbtMnBC zAQ1l)0kEH&kr0qVeJ2nBkm?Zuc&-o0uZ5VDz% zyyO7M<9y*HgDQnlk(E=>T?iqgegQiIEsRX2t^plDix}^ryZ$fs1@P4`q}Nz}g^2khNhnApA8% zfxbl1Wgy&5w&7C1u)vilORyAJ3&6cx*vT!RGayW$d>k@NRG*#@XlCT_Mf4d&Gm#RY zeXzmkG^qkkITi&rL~2!{K}B4_6Id(~v|wa`uEpt~tto(ogxr6(MIaYk6uun1qDceI z8(QK6c(5}SF#$9~Qv^W<3{7Ca{eyZykfF%KT}fDx^b1LVln8IYBN5mFxGocW1kg-Y z+Hnxz9U2IeY`{1`UPVd(j9`@-&`%%|1@s8{3?x)syRei$o_ zoKbK_2TvHo6U6WXxxhH)u;K)-X>i)G4xZ5<0KFkka99chg>VT3c<3CFIWmYA{0~nG z)14sS(0O#e03oEIZ`g_k#ey0zL4YiZD@xBI5FZev7f3UP!N7vUl?%Cj=v{ySgQNQ_ zu#1Fg;K=YnK7!v3tVa%)0AYC}AHtFs*x3*e0xJf{5J2ra9sz>s@ql|x;+y8Q$uzNdw5_#XFoEnyTRyd15A)#ve`BzfU7_FPTJw3^*E$ zd-@>HJcfuLUzS^=0LNb(R_iUyz1w}J2z zL5_j&1|)Nq2?sbFq&DLP0>3q35yFE&;rw^xi53kY=3w}I4(KxkLzur9A0q%;d~ui; z68>Nq8lVMV6BwL~9;QhkXkZjxe7I8u#Vias4S_Haet^B8`3!W3#sringa8Htta2bp zfVC(L0UoFZKtBCh3B1j`WU`1l_>#I7YspecU7GfX@G;dm)%M6taw;2yoB{ zrEv`-0#Xy@GpvYAipaxR1mg&)r)T~!&JKKypu^@bc5jvc=3iuI7(O-ub|K;5f8tjH zq)m^&1ZY5_fW=JXR|4Xzv>^Y#;Frw8FgP~|sPp2_N5zE5l=Fh1fdn4{aNu6T6Q3F( z9EHILE-2 zc%lX87fc&Ce+(+77_n%TLefArV(usaa!MlVcp}8puZ}x zMToP`1T;Wg0Wwg{g3bY3gf9(p0?z378YAL8#)vrh67ce0dV0*rkj?u95q5i*?C|IiF$7C_?vw^_i17vYX37$Pu}Fk3DObs-F#h)xQ= zpl8$^NNT`H5GhW^5~z;grdh9{Xe&S=cB~W}tOqQ0xH@GkY*v6|P zp&^JV!FvWpX6g7k^Amv4v8#;#H zGbdgnuuqTINQe(dM|+L1a~X=Eq{fR~fKlMFM^eL3&jqh zBIui@B5)p|AMBrT9x0I5pnE`G3)8V5;5It;1Jg!o!w;F$@>;l$^C(0UQO`Vqk_4pn zc(_1$04pu8VR;8g0onr85ib%31M(XB0WT7+;zTbJ@Y*Y{AxXSQIPU?WA6i}`R9K3U z*JR>|yhb`jhogrTagzFUh=YJf#0266vDVADT!_{SVb>BkiBSFvEN~Gn5YBHB z3yd&~vp{Qbj~a?95Ku%^!9~aaH&MkxQ3VPOs{>}SIy&KWb!ZSG1L%W8fJOpMRDeiH z1MUMNmB@`B1i3&*Sd+xGu;bn~U}#Je%-gghpug^CE+j0Lh9 zY$k|1kTTdR9n@x#_xQ}j8o)mNr&Iz~fnXh>V-7*MD!E?b&xjVl2V?)IR1)irY-3B< zKFlOQj*&Ma{!w=_;)tX`9O0pD_=|;cuNj!AD1`*$LLR|p;0+)H!&*=uq>um?K$L=- z@E#-E_#P=5#STqec)}QD1&}SR{xD)en~g$1g+1{M7!o<`ix)1^wZWW3+9N}N$R2UH z|IpRI2LGn3p*LDr_x3?JfKk&dl;=HB5KNL6WTBB*1LTn_NrMi3kY`#6^eA*e129*D zaX^X|s4x`30AU3{C)lD4Ge9QBQ_ zkZ_>9`k{ohnHi&oK~E@%}EO_9o~93fgog9hn|?~2jXLjy`XRR|~sGz6|+uabrf z)PWelw?V&zzBPboY3K^HG>g{KK>Dbq#Zd0{cvVD8vrtO|H=ve=2?Of~W4&Z9#n3n; zS{iISI@a5_D_A=L-oe8`LUbgYOe?57?0W|n8H>&U>(Oc?c3#b6bB8ck*^TH8=mYADVnX9^CV@skW z{A>o{OAw-rk%LABMf@~icD%uzzFdn~6y!EaU>*p>qEev6ItB3HJzIb}fH(@OqY(%w zhiC(73fJAxWrH3_L=ol@Vw@-$@P;kAEEJ>@J#lhGI!t+B5Nt>zF$@mGz+fI2H;` zKqmk#>3~r~Wcb)2;~0`o2qpx>0xBig`1fH6MnaIw1R;n`!vtnf5rd(C>!+f<7$IXJ z5eOoUaNzJkp^HS#XgZ7yFq)3W4G1Mr!Hg_}CcxlAI}$B7`WGpnfI!PZCN3QjEeD5H zdYn|UrvSVXv^9VeVP74rCem|>5}D=?BEZ1OlI-2h!pt|R&KMlXjC6I7mw;_SI0J_a z-3zoF@I7id2B6?$L6DIDcQn1SAnhlnfDC{HMtWYngpkGKrQ0HUi=y zS`N)a~2AdVEyAM8w^wVYsF#BHQ4d>{e*ogki!wA($^imzfKN-@bbs$=M|H@0f+zL@fjNyQu5)gV1%Ob}L+#NWs*)9tr z37dn}1%ZwcNFy{Ndj%CO(FJY|5n05o=`F#9i;K{|fwqKTROAI=3M3@p)qnaokcDdD zzx*3$jqz__CjaOD4XKWr8uvc|wfy1VK=-}=4QM_BBifjxCJ>)AsY#o3*ai%ZD0gDT z^jWiqh8UBMY{;SSvgtAD$flhCnSVn7=o@tb<=Erj5HSDOCLOkf1MK795I*^D{{{;8 z@o!+P#8d^ABF+5Mq!ZwRP&r)_xIkdiAu~ao<9GiCL?@u3>S1SGmhm;mw^zlKB@|Hn*#_pJ6x zd?4K(iBC>}|F4;V_%$%VK7I`h4JAJCHzV;O)yJ=a!hQT2!MGSE_`|R1#YJBx5ikKt zZwX>=q9x17bOD*bJI1dOumz!gi9Z;lhp><)@ai+%Jp#e{o)F}}_%(1j5`-WzJcWi9 z2fHRj!(q|q8His4F$CaS^lJe1pqcOsBq1&Opo_kK4Y?$M>{}7yYeMfBdi)o^hE%41 zZwd5bU%%#$r6SmBhF%S`R0KXlPv{Z+Fmw$7a3)X!&L4yxL0k59YCvrN)2YFqse)qv z=G2gh6zf?kqK8foS#8a(mIfhcqO2;3^U1_I04(w=1A47$<2Fj@>VSA73Kvu=p1#0t@;RCSKXG8p2b- zNJh~QAv2`Wi$D+F*>O0qY_3S`1~OuiSTLj!S#V(kdw?RV)HAWnL>ssG7_lmIK@;x}VK7=fO@i{#|ZUcTd9=n5m^3n8uD#*}_ zgFK;VuE;U4&$>6ldATmyN}D<{4yFZx2YJkoid*ZI&1{6G1Xu0B>18f8bscsC|0M8i zGHa?(B;%0_&Z*n>x&25ffNd-yA$Nd&f`c<$7J`MRX9%7snmPm{ z1MJ|+_)IJSzgaVarL+NV7YfYY0M&lO8HG3_D|uC8nBV)OgHy)>sR$}X!JUX3IMjwRwiHwzii4!sgL@A6;F@Rv-2Xwp08*ErXxf2( zflD_;QA5{b6-eXXeqK;|C=P*Q_hU*9A&=fzlN7}SU4osEBLuM;V0L!YDIrh4Fh?Ix z7Y_Ulb>(>aahzTKLV_H9I4+(+uFfI;K`SUvzu-_eH&16zc*F5^^~F3tS63G(;vC}X z@8<~5I@%l#M{luS1f`?5SX*x~q;>QnwDlr5kR|BD#Wlpy(}&|46yzVo;e}Fmo&g-k zAZHKHFzngc-!IrRI0QPOW-~xJ2Dyj&VuqlFMGH-J#zR?-v%fESL1!>e9M515f5Eib zvpJ4_0G+>Uu-`C%*fGS}qo;zPB_GcaR~Y6fA6Gy35RYI^uxoEG&i*d0oW3tY{k;AB z!~HlOu8uCQK^!+9NB7@rxB%dee$K9R?jIl&*gRw9YcTeX&*@Ce+d4@3Ha)Mj~TpdFwQ%@gPj-yWyz`KIu8UfG+Qz8ET z(1PCzK~b0k0oa`26~0dXKEafr#bB6tm|!O#e`jw2CMb8uASXw6Xg36g;X+0e0i?ol z^K|ub38r|#_#cHMT*2YF7;)gi2?z%eMrNF{@MjXiApn>!^RUp>ham}=c9;`Cpgp?$ z0#{dWCTSA{)5WCSaBOr5D;OV>wDa+FVv;V7A&yLPn$F5MCgFRQeG9YvO z!(4;heEh?ii3JEl0Beu|V+SGwBm}{5R(b{iVqkIt978;@38)nebWiy?`cb1?T*F3% z1_8nO`%-^SJoez@7!b_CDICcGoQHV01_8MPr35%SyKlqyE>F18KrQ`3WLuQkVgpi$pnw>pdoxS^HGt~FbY=TumCM`31 z$OlQw%`u4M`M}i{m{TzK=DLO~+_~oB}aI za_K7Y3aFnhha4B=8XOEb!Kndc^=2R!IBeqC;0#Ww6pa(p=^dh5&fJv@E z$_u&y76)|~;^FT?2_%-EOAl^sJpE9A@n$mVQHTE{ ze}F`0jTCB%A=R{{e=xhohf6WCJ+{I0grY`vuUuq!#(PMg)Kc2MT2b9;kSnhJVqO0;+! z0_*^Xfz=TLdKPu96q7}m?)NN)seaE4Co1*#Jm6)Qe>6vWpheCfz5GWu&a7LIzc1&{ z_oM?tr~gra5hs0X`u55;S7KENMoK8=H#!=|3m(=NN>UTW6K#h`QK7+Lz+ef1gq5N! z=ZH(dA2D(KBL;s&@efM`{(zZG|0_w+U{dg9q-m__s_CZbtm&Z1?LqfYWNH4-(FGM%sQp2d> z)Cfw8(xyhju4Y|o6s1Rvru3;X)L3d9Wk4BHfV@|NKK+9gKKR9{`ORA8a17o zL77rBsae!)%8Z&r&85sK3u+!^NzJFMs0GwQY7u2k*-(oqTgr}FLfKPGsb$o1%7JpE zoG53?g>t3bD0j+(@}#^dZ_0=ArTi#=Du4>4f+(;SsZc763a28d71T;<6%|RXrq)ox zL#|OjsTS%v^^$6$UQw^9zp1y>8|nk~o_a@Jrmj#osAlRa)j@rsK2krZPO6)#rJhiS zsdVZnb&Rt^=o!^YeWJco?bJQ$1a+P&qvVF1q)Mq0>JXJh6;p}49lRu-FmEW&k>|v- z<}Knm^XBtxcuRTqyd^w2o&s+yZzNBZNAV`|mhqPJ?05@#o;)|61J9D@!*l0(@LYJV zJX_vko)vEa&ztAPQ{qYU;&>Z)TY1}gQM_DMBbCIu$Vz8bunMTltPEBP>o_Z)^%wUl ztAI6v>&VTeT)8e>&Jc|uU#VH#97>s6NDbz$<>XOmyfi`v5KbZA552H8(NkY?ykA%(nwm{xkC|B}w=53&w^2a^O9t)-iBgWb(H&CW5W_)h| zKCJPEfj5K6w`AHM&3tP!<-C|@D`+3Sd3dd$QuMmYSxxNB4JY&pj(y8kxIB zT<6^DM76T*E^>uxA2~T*vjU4gHSjNNSpDGf;I}WI`pz$S&~YuMI@&tLXTZfwZWA7l&bTX6`^0wAy{waZk2H;_hWSzR>#i$0 zR+SZWOa?Gah96nrAaz& zXSeg8goy>#3zcy0r)bI5eApC|8>n7zR_y4@vV&tDoO^TlhIqu-PO4u*rsOWA6xnCR zGG1$SCizP2_HjuRvUhIonD6cFZp*)r4EVpHkbQ-zWOM~ z)v~2f{_k@awnWAi{cKcw>NH#D@xV`!)mvTXKKQZNG0*(Y`~ss8swDlnUhxC|(MGen z5T0g?8?ygaR20qHK z#k~E(R37|l(yrcQxAL*vEwiWY{*6VQogXeFOuJAxs3sxD;Z1sN?V6-}hc1^t9B=ip zabCN7@jZ8&l8mQf1ykl2ZW-J4Tl_LC#4-Sos8r?HLB>0V9alzAc z>lw$&!O?CdY4`nk2G2dLlEbBMv1YQ1ixh>qqclYqT`)d>WjMPuZ--sJwusjm`(xd8 z<)iOb6>K^1Xr$Vyh9x=WE_*dUI=|bO?iDJP z7JYdZp5q@rvrwtoP9iSAt6%p`V=*^-wow1>1FqXVPdR<7?)G+^ao0yN;<;4X`};C= z3!_CW%FnPSIBL2d`>NnzR`|G+c11nzmf;0<{-Ffv3YA7tyZ8^n5C^9yQ)746tzma=-ZVdc+V*X$g?iOy?V9~VHY81(^qg8V&+YDa0oRwKGw0pJM>U*Xul~mZ(g-iAF@88+gHYP56xAoMf$(@yGu=;k85i&53WoY-sF4p zMuv6vNgovvmKMj^P4|ba#eanbeH$s**WDe`fWKHtC;p}oaNqwmZ`M{-A`KQr_P%*aFt|0 z&|ejk>T_enN*){u8>81Z$H!r!^b%TGY&qM_TlwqPK%%&Zu?6w#<6jdiB|y ztgcwy&GE`sx6ZCH6#G$^VsbI3tJ6N@+&e947H>lUr{tJO?wii&@a_I*sFNbJH;-sEy0F!xK9EDW)wZI z6 zzN_xa-K3nOq`7>{+G)3Rj1O;Cw7+JuyJ7Q71bRZi_Ct{>5qX5=+fS zHE;g;I?Xo&6Vgm$dVXi=iLn;@x8Z}8Si>&uE zKD+DM&bI8dc4ziWIi6m0=!ex>kB^(0m&F;}uec*qkRf8CDmiu4DxZ5#r^N4WUi@Zh zR{Knq?Yp?@bM9WS4alrdnj{obBj(oMG>zLv?VXW)v-X|Q*48b{v-c|ud7BYzs`2)5 zi+fe+){d}F-#qgJ5)qW)vB}1k<)d>xPY>U+L!Jj+<|H3%Sy?*H`{YC9 z|HV)OTgLypHm4T~A?)`egUG7HH zl`E>vF4xM?An^au?GQT>`^!Cu_ zALaz{3oEzp`e}0N$&rh5*)pbsGZ$U`wsxn73Zm)wA?#M;~0Vv|o+J(^lcQ zCB=uT>TSb@zmqTz@cBFS(cdK#)_E;^fAg8cksXffgN&XH-$NfYuiP!mtutG;(k63L^}SzOTjr~FU3|v`^Kv$ zt3JNou>0lu*g;~8MkQK)3Gbh$QM6IV>6!T5f?4bKD9Q<~y0m2Tj4dpwWA-Puws(J& z9x&YC(47cBjghCX9a|}Va9B$HgOeGFTSrbe<(-g!wOXr9|4fO0;MKiw-uL zaDRTTc#7ocSM$;e&%FC)IN#XvVgFQ##h=U%H5`54xoqZyyqXoke=pj5WLouYag_z5 zs%oy}B*o9Lnm)8bNldGuK zx%b8nO@5CGXTRB|(BH$iqVdJBy~dI{3NA#QCb6uvLJsi6;sNa&yTHA^S zL`#0isox~yzFl~X&h_>8zB`I+w4JcQHQ}rL_uHp;C=C`BTL}Cw|LqY#60v z8@JWuk=GKo)x!P@?w`H-ePNU9;RnKbZYvs}Pwt#FZueU6U3a@T@i&ANvY&J;dJ-DM zTC4N%S>_9uHE)Yw?wcs@bn~Fu^Wn3EJQam)TRLjm{11m^elR(N{QvB%)rV;B2ck|- zWB(Sb%VfWH{QfegBvRHzO81%csriFil~~`lU5SzR3$E*uTG6Tc_HNdvP4YU*9!J)G zQL<0h?fkp_(q6-G?Un0zm;c(r=5qd75bR7kZv z&rbhSlEl+Qiv+`fZ%-cToikl}PgWuCO!bb%R<0Kd4gB9**F7pJDiASRurSY~WTN6A zv!`h@j+U*in76DlG0o^w8NWWf^;FRb@9B$GCu9wO`6~E^RpGv@ZKK1?COGfW9b+DG zH%5JT_ToLO=f1DpG1M&I<;u_IEypw*98GuYCvf+x`d4UML>>Ba-OI!zHO3(z{`|VD zjf-BW*p>-rvn}0@@p3oz4`24`R(rn4%Jd~Z4NtP;JrbsVD3HjMW!cU2k_^e%Ql>e( z#VIXa;=#wc5hHbX?n#YY^<(Du#KG;EYu5aTJ$TUkK|t4bt5j7@Dl}yM+UVr5IzC@p zvSJmNcX|dbs*6i{5#!!InH4V=H{Z$fdgbffHG3qg)778r4>XstR(F0^cziUgCZw=s zZ22oOd$-iK(yHs~jWQOWCl{*@w#(K3Q7rDD@aS>#ukk+l{b%j;xN)3oq*>Wra!YIW z`ym$7E|#DEyhG>qaD{6l510<0ZZx6c=vMF1*XFm@YrZZUJGC{jCVfeT(WTfKRUExR zQ`R+mpK`FAz!#1$%X(qlI(_5lilc5D6U{{I2Bp1vH)CG>ETbZyUmn)7L*AEsNG@5h z<=~DyuMroQN_3bOwoFx6yyyJ&s0is)|H1cEV}7_>cpdb0*s`Wx-$hj{KcOq9*)dsR z&+d@Jl@W?-&3Amgp}sn)V)VYCQ0HK|%vXEb|0)d2U8eKN^37UR{c)XNs-v@%3pd4l zvz}5nXzcU(T{R0?@}+H&FYQfr*^~EXK5NwZE?Ye8!3VphDM2twfItCp?{% z|3qKQ)9ztqqlDq<8qHb@=a2~_FMO=NEs-|y=*h;L(+9`%G_SGmUJJD4q^}CUH1#%5 zmm`;c`BFx^_Oo5h3KR$cr!M{e(Q_Prz2;k}i+xpXbJ0p29JBBG=hpFsEa`+-@B9`x zi*0)~y5;Q$bqOh3^Vc35DrGk5?|I&NbB2*pEsUL{nb${f&T!9zzoSjBef2O`ENk@-f3|M#$VV zpET3!IwhtW%(Kg0xZ}ypf}shSPovtGO*BZ)UG|o@q-<$;e!Y$DBBN*Q^NT0OTNZ6@ zEV~iJavy$qew>+dom1B7nE1O#vwU<1bVkp;v(_^^LMQgh6RUusUerO;!r0JbLJv|a z*xy%iOEY(xIOwi9R2!Ly{6DQSW8<~$6CZ3?lDgpTFp1!;?@o0{6plSMCvpepz&yF; zryI^X+BS~VAFQysV7`Y^vV8gl`CZ?J@@vMdzq)$Q{6UkgzHUD+>08lRUO7GQf~`w? zX!nayUDq6gR~3dYYWeMHYOlkFny%)#$JZYo**<%{ztIQLw~nFKnJ236eb-OdE$S3K zKI!nm?`u3KtR6QoYiU@6%;S$SyEo-pjFxp-edhYGvjgX)w{BBy(j2ij%dWWiO`_UF zpPL)~M+s@X*_icl!exhr7fg)rw6fYfyk>3vZpNNze|wwi)dRQc9F&z`K5w)eHGOeI zNCSI+S;W@bioZ`LOU%{ozo0h4DkY%1!_{*5j5+9qb7_ws)qcj-89U-ZQ-MR zK;~GyvT42g1W~!73+v_#X)TY6@fvhS{N%!jL)ukCj3biX?C*ZKvtQ%h<;NGRi;Q90 z-%Z{sYx64DeBZQ=8`mBk+bq47b19&eT3$)TBPnijeYV}XC_Iy0~9yjA;yQ8mE*eiqWyo@e`!*43Lp3kDRCXHH>yPw%z}#MXEt}UOZdv_MBO@-nVYWw;$YQYNK@7=*sww z?apPa6P@o&9G82`caGXQUw_kp8qWbHyABszd)hGU^?`xw90pscjIoU=&EI-Za zdp^(6WMxRS9@UtZXedO10N5bJuDNzI+sfZzP4vjDha#D6Q*GWFzpP4|8P@h= zo!QW#s_)XaG^E2|vV@!B>WYhrohf$Z=NJ5(p?d1(>*cOK4)v42 zj7j-ynP0uBeCPJ5E&~*lf0@|aUwm!-v&TZ0v?60?1UA=*oj0*Ezj{ANRwm^0X6yGE zH}=oca5UW8#{D@dJmc80p|5;|(oexo@z(lrBA!vFZM5b{R&_^gQ7k#5lQ{lOVfm^d z{b%Sck9G~-$$S3wZdq==h_XTRKF=FRZSGoVNH0=zy7nn`M6u&}uYhZl-fJ)Q%WnG7 z5>dTkl(AA{X4$kEKYqr&h%D>~wC|WwS0CVF9yjLn+kSgR$2UB@bHLUG+2Qzw zT)pf;ExWXm@}yT(tvK;Z)NJ^8({%}D<&PEKt?QrXebbjSXH!P(EtxLWgBAwom5~28 zW>ijlFmd~}1*uCm1WOFN+i~jM)?;G}B{(}G=QPXBJK%VB!&Ci{jkX1w6$U3OdCZr; zkS@<3`fb#e{qM&`JBz*_JUnUj1kW`~vj&cPEYlFS zX?M&=+0hoc*UzkWnK$t4Fx73X>3c_LHWe4!WldB|eB;0Irq3GHsWV}k(L8d0|Yw$)GeN!H^g@xGXzP$U>%3y3 z%1?@)8KiwEVqt{wkgD$eZ;~4O?R>cS`0~B%F(T?)lkeIGzp|0-n6}US*rRJVIBTUh zQ>_7)HqI$t|KMJe*n)8F8OfiOw#zT5uIAr}v$^U&O`*AK%5ujg9jf}5PNx*OyVSen z-wA#pFRGUlw=CaKH~H%z5CGc;bGs{|R;-$?nKyp@k#()2!e*zeQ~GP&oBY_b{bU9= zOv=}hx82~?VS}!W^II$5OwyvV{Bo9zYEj(ob7RB1VHVtBE^6l@n^ONOOt;^+A*|kL z-nh6lh1`B(jUPwtOfSmR_xS!JbIh7Z*>97wpIRkrt=dz&;#s-XubGnl8)`!BY=bW- zOSQb(A3smGVa{ze_AT$)SqIzWZzXaX_Nq@e{ z0MD9h1&4RN9@g;GVcoz3V^k~#=a+>x?r|c}>R6W3D>UNV~$_m#O z-?tHZ{A_(}q}HXH=D-^&G;GphpcjqUat3?w=+1m?Cw_sWs&?F zp8J|D?%EtxTO_TK`std}dB@@rldc7L`7PCc-}0j=d(?{Rh|ESM;~z7ol|{aY`)ME8 zQCMF$r6bPVC7|Ei(_2EBhR{5AK+q&w4{Zu`&L;;e$$t=M?7@X?UgRI|J|t_ zZn*a{Z{12Bd&^%pZ6|ee8k_dtjkk`R@bRNUZQAtD6E*kjt_~R$rfE$WN-dnt*`b^H0j(0?YCYnNna_F{iMNXYJx|6rbNMqnRYDMj1Wn$*_vfr($kz;=6-x2u~TP z&lWO`gH?+s|Ip91Q*aP3{?+{WQU83O@i#nn&eAmE9=}!6T{-0aY_0N((=2p$d_H|m zVfgLgrUyngOfZ^0+I#EK`quf^#+JR-tVwL0YE-c#y=q46r745-IH$au*YPJ_q0xc=xKvXjZ(n$1k6f_d{eClq7%1+i`Hq(u*U!3QapC z7As6`iMoD%kAJFkM2zaa!Cn^bKejmd9(2*KUz3n8rs~+7)3tk#LUKgq;gB8XYZX_k z-}t(3bVX9Ib7;_>SDA8Qg@3hw(pi?Py7rCbm(Fqe%30CX-(ofu4yv1C-8KLDSb5gM znwODnrEFbO`)8SZC(C}19KkK2Lr$_J8(qhgF{8~o8+9sj?;q7a4 zTPc~!4Ia<;=x;KbakH~#P^8k7#6v5qDhBNx-Ky5zP?q)A*a=~g_1+iv>nONY{1RuU>E6run4&i~WQJ9`=BG1LB|7V}?dBQG ze6nL}-^{dx8?Bg^=Si_01}7rC>7Zp6*MJlv^H z*(^Thbe2!n(Yw)|19Uyt-kBS#6OkQY_2kMy_!Y#^*h16P2SUeIeP>tf%q-=u(RDCM zjI1U8f8Fz_#Uc4(?djIB$6GvPo=@H!e}4ZH_5icVTjod}Qj2Mrw*Tqsfhr*j&VZ@LQkT<;t=zv%`jMkhn*LqO;Em4pvpER|^ptHQbNGW_ zXl}bLlu_qr!&y^Qkf!-*i?;7j&#ZA9r|9gne42e(b3>RyyW5w!R(b)iV(zz<-hH>~ zi<0b*Q^ku{i~F4KT0V;Bo%rqA+Z#&~eI2$2w~oJR?iSqtbhCC|r^9+zm8QqzuA2Y# zeCTace$bo`yS7&rJ~?IblRfw1k<7uSGHbtGT{O|%a_`%is)||F)?Nok*Xq~wTe?EH z^{K|8;w5omw)Iu!67Pnm{_PVmq2%vJ@0WS4JL2%{X7GB)9aRrr8;cvbJ5N8}o}Dx& z@Ux!USNqr9;Ud|We$HDtBy!NB(C-&ycdu+-W>&}Dlxee4>({;NF4g&43b~IjI$X3% zso3>ov_gozr_I}&$D$<7x`!;kW!+IaSN1~mwHcm{Gu3VyUdmUi;lK0VnmVz>Z?KE{ z_# zh3+g#J~iDtTvzqFMrMI}#qiceUFjL?)rb7jn0?gdOBSzR!PqmGoNCAHxfE5Pr|2}! z!`}YFkS!M`uNwa5-2HB;@taTAC0j&{8>m?CoKz;gZoq5PvXqmFOO-nG*$0-sYWYhv zBP^~maHmAl{qh7OQI4$ByuV^br2G^OG(Hji@ZBs{RGsqJ2nqy1dba+ika>CcCI?PP zZAmIBH@h;$d;hSqF%9QNbV=GBKY9WJfUDo1UT9b~RJ}?6$joUj-1j?U51+lfq+ig0 zqHS6^A0(sQWj598j1k`c{oeZPwi`tp6I?e;xcy!J>tLlFr;98U#QaX~TsCxv`oK>C z2hA-tm0xbWyr-mn|5P8%wdG@DMoiytReAY}(&u>z5dN$6;m=-MoPJ~2w~5PJMm03% zZjG~5TH^J{r2j%I_SLiZ7q~Vp{GKQL;PCUt6>j4ubxz*py>>T$Q}c_(b^ z>Eq@%En45&YHzMm-!No<&9mtlN&D+-^S+g|cGwI|o2(zSH=^2L(%ZB1#j=&Z&2f)B z7@*N~HH#N>XuGqP#M9&R{F^_V(l&{#oV&`%<&{C3(0ZA(u>7}MX{G7C!fLk4{d~Qp zW7>AzvEH2>*EzXq>OR|gk-mbyRF*(V&U_&9si61nTM9IQu3U%fKdyDR!ddCu(Eqg(oo`ipIxs|L=Q_g7GWWN!VWiU%cPF_}Zcj@+JZ{@kgR8ZN%s*suA{{;ufb z8O0;1w}G?Ws|;%V>Metu9-++q83Ub(7bx{Q8me)pj+HU74LW>($eBI_sOS zt=Go2X0+8S$O==D)~_&ZE9xDl}ldTj7^NnF0FHHQJF51z!AVAlIOfW z_-;~h@D{PIC)_!PMKb~d7Yo%spXAnhWXIh!zpt5lhX=~Y4O8&ab}X)N%W62Xv~^0; zk2Q81FOL7L8~<_p?6djrYOf}5%I&JwRLW7Fwsy<%!^S$duGuSY_V~QSL}rJBSYl;qVx7xrrnsou&)DorTd~-a*t-oAtP??xs#92ADE4F1= zYU$~?F>S7`3oC~#lWa0F_N$NFd2QF(_O$FaxtDC`&}cp0W3AO6%FIoVSKK#<%P5e! zBdKa4;vynAMQ)>7`S?J5`U&QY(=46qFmnv~SvO{}Jkn`W9kV=ra& zuJ-2gEv;LJDD2NR4bFJm^7yUB*3v3>-_EcOi38?&#|){6a!cdM(?92o*4VKnJi+*C z>0A4*A5uz7Jp9)>=w7VVd3iKf@$e&Ex9F1DORo%QlIs_?QG538iulJLkDT4NROW~E zc(03cN5-fqTw2Jn^6Ty_a|E_Nxsj!>&*_M7FH=iYE0lBb%He$cR1`RC!v%iB;KvVE z`#yd7w&Ov;{OIbKYXf{ztX;e_FLpU~uH5W;&Nxkoj!v$GJY& zQ*K#}1OMe=_rRcute5xZh&-5iUnZvOs8oUXxPr{@Q}a@M>WgpGo-FA!(SPXkVn(BV z=#yHRyIJ=p*=j!0J2}6BGP+(jKdP+CQBfnmqrm#iIz3fu9Qasg_SWjiPd^^a zbv4g(Tx?V@|4w=d74o21@3~pyQU0Wd$#qBWUG}Z6?f5axv&Czy-=m+|?s2A%9nMuv z7tskG!%};7LTc{vr!tW@EJXt+4in~|xWJZ^yCKbqwecw6ar|S>6uCW+yyN)t;If8J z*%6O!q~uhkaIe*6=G&f`G)OmJW?f;az468KKH073qB*H$XU?+DK9>&3y`TDb&CCh= z?}wijsn;AB{6sPOg)>`zr;G6h8DFo-E4}P8U&`KPCrNhim!eJ$TP=Pdx2<2&^oRz#Xdq#^W*Xk8?x0IHCRK0n=eDi`cNqR%`(=*Oj8HnDl z6H8jyU^8OKBlog1ZYy;!JDQza>Y*a6<*&UnpMAlwLOS7)ooJ(qj_`+gdZRWVabKn~qkcflNEO>5%`XZ2C2p6`3*P*@)q+Q@M z6rMBT8_REi&vbZx1NE^zd-$lra|)#(z5vpZ@Rz`zV3c~yzjl9H<9_% zfa&K0|1#9Kmh+F|{l#!9@!vUr9`6^xal}ue(w#c*{#P^^EEQc!MPuMQka~>2EU$67On0PqxTRQ(C z;$w-QK;?R`gc{=SsW16F2l7>Ry34ThA1CIc)%U8-e~`E@@k6Mz*Gd>o{3Z1z|FfZ# z_*R|&ONmb>-mUZBO3Xji^F517f4T-H68}tn$-nfOJnny+&VQ7cJosML`Ik2BLwr9f z`>%je#Gg}N@;?h`XWvaa|4WER5Wl1I-%L!u_C1YCe_9RWiGQTN+|NuXOv(Qu;-PGR zL+8JVxIgh@sGM&Vj3xe-`qG|rfpP1*Q|Esv@tMRQ>ikED2NFMzN`G1dlZk)tV*GFA z_>%ux2(bU%sDfosN&GR}CI9C_5%G08{}&MtBYsooe?IX5;>S_R*I(f*;_s+0`9IwF ze?{lNfqjl){|8ao|1VHY`~~&pco#q~;#+k7FCjjS_&uHf7UJWHpFz99)i8nh0QDuG zha3Md>HN=QpQG9TKGX%5!${)Ks4w|AA9@nssPlg@@u|db>-;YuK92Y)RNC_@7)SgA z^(Fs@8~?BC{5P^sKlXnVmG-^@#t?r)eaZhEC?mc@=l?R|Gl)OX`41DHK>Qrq9j=8* z#J_bh{_x!yYH&HneI1}ujv;!oKw*K-~e6W`Ej{O{8F53&7Nwr@b?dar~U;{DW@ zd>(H6@6h=VvQJ<3e;AeaS_z|xzoNe6e>Rj7-=_0_De>vVdvyL=i7SXVp_y{jsNXB|Ml$Chy5QwW&ag0ig+*eCI7Rag!pEi|0TpDh~L%uZze7$-iZ2PHH;_z ziTZLsha3Mpb^e>!r$76zN9BC0U@Y-I>Pve%-b{Xw~Arqu6NU~aYQyP2Dq%u~{M zu=tp*_?e|-F^9=xc2uH{;+In8{2FQmzj&I)ua=@}g}PU5Q=iHl$SN{-N?mfOD@(3k z@;H(#J@k^V>?K?6;1^T!3lbMIBe@2dFJ)4*SoP*NSXHV{EmvEWVJtV8WVsEG;Wg6n z6v;MFRY_bq&K}@=swKX!Y|-oTSjSV)D&2T)Tn!W8H8>s~ zffo20dco~*0lW{V!DhGwegzj?4kO`3I2!JOdGHD3!u4=Ayagx16VMLdLk3(0zYNes8&{gPIbS%0Z-H!H0`=bw_51>tG6S^1Oix#4V=*{TO=uC7b z`Y!q|Iusp>ZbUbti_k^rPv}o*7Mg{wLD!&@(aGpebSF9x9f+<+*P{_Mg6>22p+})d zq3h6f=v;Iz`VsmOdM0`%`U3g_x)fcC9z+kK@+7E)0MtS@Oo2hr2J&~1vtR(shaxx^ zhQUSPfoeDg8lVSEhm#-%ZjP`5M!`1d1NTBbd1@vVWjknGt=OA3-vfo~la%$B)#MSI#Xd#7#we?_iSuF?5CVK%}P z+vm+N{hn^_Ojmb9K9M>Wxksm-+?U*wb1!laa_w@xeAA+DDEgG5Zz%eMQUMqM{B?~! zs8l6Pfm&#TWpEd4fq%dsmComvbIW<Io*{G1vutSU(5t&u_J5TkT9EVfchg4el&>zKCg34VE5Fc=*g)j4wkpcwsz< z&4;RvwBie*y_)d2!M((C6v5953m8n8#JkD%X9~n(i`A51yX9_#b4f!m9Kyb%qm>E1 zCas~ESdOGx&xp}Z!bv5u1qTqEyP~#fmNv_pVcDUHuTcvoWEj#&P4N(liJ6WZ({gWW z2{vMLBiFDn#9d5|TP9!HBQ0UoGcO)pY@1tYi=XIXe9l?}SQ)k8U}BqHBpggaSOdkw zbqg^#v2MCXo1sOq!&0N#aSy7nPZwwjg_~0hhQ#&;Coeg)s&?GltX9OFhc+7(35PK& z5ziKB(-5D(+&fv<|Br>dcW z1B#h=$#oG;*LN z5^1yghd3rBcbZQBuq@RQPDj?w>l|>WR!Wk#Q(S8zts}8o>9kq;6>fMfmMM+ZC1oe4 zdB#Y36FpKT&Mg-hm8#Nwsb@&^tOjgdthQYgiF5EsJ^y}8O~X1SsK;2nIF4B<#G7eh zC=!nb$Z=2xONWtVTk^1K3}#FT+n`WuTT4*f`0Q-8(gnmOPONZ(QOTh_XlfX!u@Gi) z?Q}nJd1_GA*08ZIq7E+`dQz+0h&9lXEv5I8z9~IZ4>EiAsB~q^5G$%CNTw2&L(w4j z#5tz4M`Drsh+`@zEvm239`MQRNWY!OX0g0+o;6Y06lcKdAa+|}+bK!sgA?l>I#J(n zGB=5H+NNgm%&?vy`e=#GVpx{E&kn1T9!=A%OR(C|YN_NF84JlMQN0mIB%UF1@Z?r! zZ2r+k>p`HKDKUsUUfU#W>LTsUiQ(_Wsl)$|o-bj$Uh3ndZl3KuMWVGmp#3aOHiW)o z9yRs$Ba1ZZb#hh7m3W3(cPVy+b&Z$@VmT!F3Pk6}W7cCT`KjQzA(G^__DGXFs8Sw$ zscRV-j5KR(;uqDxgY9hkD}yEZ5Stp0@L3SNs2&?kr`I=x;;m#kjz^enCB>suR#~4I zmL1pp2+nSNDDgC=(%HKI1e$|(vXTujo;A{uahI~5flh3BX)!{1t~MxHDaKjt!3DMj z6_4|1u-*C~vOlZs*ZW+v)IW`<%&X15#tLt#d#&f7+U_3g_Io!QYmBAtS3Tuww|Bi7 z>7L|%-{|hiS9g0ejkWmx4)Zp+HoFeGX1n)#{AoK~JIsCN9`j>YnRm2nrMleJ;*NN} zQ~TXT=6h3}!bxo5Q z$e${`Wuj%3fim?vq@3&->zR?*$Ju<>A!~4JFl)`QS;wSlXW}Ye@qXbw;4MoVo>r4K z$C(OR2PtOu$saxBy-f2cGCQ@Vq@v8(Gcwrj&PZbdjrHQQSM!>> z-PzC9f|M{{-dis|do{28H)!yQLryyRl%d0hSB)H1JsPvMWsjNuUyaUlcsYslJ;eF` zA>TV>KS_~v5}9)!Za?W-vYju}Y5?fYBWtYh0oI#NFVa%dYo0te(J`$(I(K;O)O@g0 z^*^fzmNIQB&uA6jLCZ|IJgYTsP1`G)S|V8dM9cHS*#EWHwY6c`SJ8+MXDA#i&uR~1 W5i4H;D&$ESEl-bzn!**# - -typedef int8_t zip_int8_t; -typedef uint8_t zip_uint8_t; -typedef int16_t zip_int16_t; -typedef uint16_t zip_uint16_t; -typedef int32_t zip_int32_t; -typedef uint32_t zip_uint32_t; -typedef int64_t zip_int64_t; -typedef uint64_t zip_uint64_t; - -#define ZIP_INT8_MIN (-ZIP_INT8_MAX-1) -#define ZIP_INT8_MAX 0x7f -#define ZIP_UINT8_MAX 0xff - -#define ZIP_INT16_MIN (-ZIP_INT16_MAX-1) -#define ZIP_INT16_MAX 0x7fff -#define ZIP_UINT16_MAX 0xffff - -#define ZIP_INT32_MIN (-ZIP_INT32_MAX-1L) -#define ZIP_INT32_MAX 0x7fffffffL -#define ZIP_UINT32_MAX 0xffffffffLU - -#define ZIP_INT64_MIN (-ZIP_INT64_MAX-1LL) -#define ZIP_INT64_MAX 0x7fffffffffffffffLL -#define ZIP_UINT64_MAX 0xffffffffffffffffULL - -#endif /* zipconf.h */ diff --git a/thirdparty/libzip-1.11.3/build-emcmake/install/lib/cmake/libzip/libzip-config-version.cmake b/thirdparty/libzip-1.11.3/build-emcmake/install/lib/cmake/libzip/libzip-config-version.cmake deleted file mode 100644 index b026896..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/install/lib/cmake/libzip/libzip-config-version.cmake +++ /dev/null @@ -1,43 +0,0 @@ -# This is a basic version file for the Config-mode of find_package(). -# It is used by write_basic_package_version_file() as input file for configure_file() -# to create a version-file which can be installed along a config.cmake file. -# -# The created file sets PACKAGE_VERSION_EXACT if the current version string and -# the requested version string are exactly the same and it sets -# PACKAGE_VERSION_COMPATIBLE if the current version is >= requested version. -# The variable CVF_VERSION must be set before calling configure_file(). - -set(PACKAGE_VERSION "1.11.3") - -if (PACKAGE_FIND_VERSION_RANGE) - # Package version must be in the requested version range - if ((PACKAGE_FIND_VERSION_RANGE_MIN STREQUAL "INCLUDE" AND PACKAGE_VERSION VERSION_LESS PACKAGE_FIND_VERSION_MIN) - OR ((PACKAGE_FIND_VERSION_RANGE_MAX STREQUAL "INCLUDE" AND PACKAGE_VERSION VERSION_GREATER PACKAGE_FIND_VERSION_MAX) - OR (PACKAGE_FIND_VERSION_RANGE_MAX STREQUAL "EXCLUDE" AND PACKAGE_VERSION VERSION_GREATER_EQUAL PACKAGE_FIND_VERSION_MAX))) - set(PACKAGE_VERSION_COMPATIBLE FALSE) - else() - set(PACKAGE_VERSION_COMPATIBLE TRUE) - endif() -else() - if(PACKAGE_VERSION VERSION_LESS PACKAGE_FIND_VERSION) - set(PACKAGE_VERSION_COMPATIBLE FALSE) - else() - set(PACKAGE_VERSION_COMPATIBLE TRUE) - if(PACKAGE_FIND_VERSION STREQUAL PACKAGE_VERSION) - set(PACKAGE_VERSION_EXACT TRUE) - endif() - endif() -endif() - - -# if the installed or the using project don't have CMAKE_SIZEOF_VOID_P set, ignore it: -if("${CMAKE_SIZEOF_VOID_P}" STREQUAL "" OR "4" STREQUAL "") - return() -endif() - -# check that the installed version has the same 32/64bit-ness as the one which is currently searching: -if(NOT CMAKE_SIZEOF_VOID_P STREQUAL "4") - math(EXPR installedBits "4 * 8") - set(PACKAGE_VERSION "${PACKAGE_VERSION} (${installedBits}bit)") - set(PACKAGE_VERSION_UNSUITABLE TRUE) -endif() diff --git a/thirdparty/libzip-1.11.3/build-emcmake/install/lib/cmake/libzip/libzip-config.cmake b/thirdparty/libzip-1.11.3/build-emcmake/install/lib/cmake/libzip/libzip-config.cmake deleted file mode 100644 index f0b8af7..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/install/lib/cmake/libzip/libzip-config.cmake +++ /dev/null @@ -1,69 +0,0 @@ - -####### Expanded from @PACKAGE_INIT@ by configure_package_config_file() ####### -####### Any changes to this file will be overwritten by the next CMake run #### -####### The input file was libzip-config.cmake.in ######## - -get_filename_component(PACKAGE_PREFIX_DIR "${CMAKE_CURRENT_LIST_DIR}/../../../" ABSOLUTE) - -macro(set_and_check _var _file) - set(${_var} "${_file}") - if(NOT EXISTS "${_file}") - message(FATAL_ERROR "File or directory ${_file} referenced by variable ${_var} does not exist !") - endif() -endmacro() - -macro(check_required_components _NAME) - foreach(comp ${${_NAME}_FIND_COMPONENTS}) - if(NOT ${_NAME}_${comp}_FOUND) - if(${_NAME}_FIND_REQUIRED_${comp}) - set(${_NAME}_FOUND FALSE) - endif() - endif() - endforeach() -endmacro() - -#################################################################################### - -# We need to supply transitive dependencies if this config is for a static library -set(IS_SHARED ON) -if (NOT IS_SHARED) - include(CMakeFindDependencyMacro) - set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_CURRENT_LIST_DIR}/modules") - - set(ENABLE_BZIP2 FALSE) - set(ENABLE_LZMA FALSE) - set(ENABLE_ZSTD FALSE) - set(ENABLE_GNUTLS FALSE) - set(ENABLE_MBEDTLS FALSE) - set(ENABLE_OPENSSL FALSE) - - find_dependency(ZLIB 1.1.2) - if(ENABLE_BZIP2) - find_dependency(BZip2) - endif() - - if(ENABLE_LZMA) - find_dependency(LibLZMA 5.2) - endif() - - if(ENABLE_ZSTD) - find_dependency(zstd 1.3.6) - endif() - - if(ENABLE_GNUTLS) - find_dependency(Nettle 3.0) - find_dependency(GnuTLS) - endif() - if(ENABLE_MBEDTLS) - find_dependency(MbedTLS 1.0) - endif() - if(ENABLE_OPENSSL) - find_dependency(OpenSSL) - endif() -endif() - -# Provide all our library targets to users. -include("${CMAKE_CURRENT_LIST_DIR}/libzip-targets.cmake") - -check_required_components(libzip) - diff --git a/thirdparty/libzip-1.11.3/build-emcmake/install/lib/cmake/libzip/libzip-targets-noconfig.cmake b/thirdparty/libzip-1.11.3/build-emcmake/install/lib/cmake/libzip/libzip-targets-noconfig.cmake deleted file mode 100644 index 8316d31..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/install/lib/cmake/libzip/libzip-targets-noconfig.cmake +++ /dev/null @@ -1,46 +0,0 @@ -#---------------------------------------------------------------- -# Generated CMake target import file. -#---------------------------------------------------------------- - -# Commands may need to know the format version. -set(CMAKE_IMPORT_FILE_VERSION 1) - -# Import target "libzip::zip" for configuration "" -set_property(TARGET libzip::zip APPEND PROPERTY IMPORTED_CONFIGURATIONS NOCONFIG) -set_target_properties(libzip::zip PROPERTIES - IMPORTED_LINK_INTERFACE_LANGUAGES_NOCONFIG "C" - IMPORTED_LOCATION_NOCONFIG "${_IMPORT_PREFIX}/lib/libzip.a" - ) - -list(APPEND _cmake_import_check_targets libzip::zip ) -list(APPEND _cmake_import_check_files_for_libzip::zip "${_IMPORT_PREFIX}/lib/libzip.a" ) - -# Import target "libzip::zipcmp" for configuration "" -set_property(TARGET libzip::zipcmp APPEND PROPERTY IMPORTED_CONFIGURATIONS NOCONFIG) -set_target_properties(libzip::zipcmp PROPERTIES - IMPORTED_LOCATION_NOCONFIG "${_IMPORT_PREFIX}/bin/zipcmp.js" - ) - -list(APPEND _cmake_import_check_targets libzip::zipcmp ) -list(APPEND _cmake_import_check_files_for_libzip::zipcmp "${_IMPORT_PREFIX}/bin/zipcmp.js" ) - -# Import target "libzip::zipmerge" for configuration "" -set_property(TARGET libzip::zipmerge APPEND PROPERTY IMPORTED_CONFIGURATIONS NOCONFIG) -set_target_properties(libzip::zipmerge PROPERTIES - IMPORTED_LOCATION_NOCONFIG "${_IMPORT_PREFIX}/bin/zipmerge.js" - ) - -list(APPEND _cmake_import_check_targets libzip::zipmerge ) -list(APPEND _cmake_import_check_files_for_libzip::zipmerge "${_IMPORT_PREFIX}/bin/zipmerge.js" ) - -# Import target "libzip::ziptool" for configuration "" -set_property(TARGET libzip::ziptool APPEND PROPERTY IMPORTED_CONFIGURATIONS NOCONFIG) -set_target_properties(libzip::ziptool PROPERTIES - IMPORTED_LOCATION_NOCONFIG "${_IMPORT_PREFIX}/bin/ziptool.js" - ) - -list(APPEND _cmake_import_check_targets libzip::ziptool ) -list(APPEND _cmake_import_check_files_for_libzip::ziptool "${_IMPORT_PREFIX}/bin/ziptool.js" ) - -# Commands beyond this point should not need to know the version. -set(CMAKE_IMPORT_FILE_VERSION) diff --git a/thirdparty/libzip-1.11.3/build-emcmake/install/lib/cmake/libzip/libzip-targets.cmake b/thirdparty/libzip-1.11.3/build-emcmake/install/lib/cmake/libzip/libzip-targets.cmake deleted file mode 100644 index 187c985..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/install/lib/cmake/libzip/libzip-targets.cmake +++ /dev/null @@ -1,116 +0,0 @@ -# Generated by CMake - -if("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" LESS 2.8) - message(FATAL_ERROR "CMake >= 2.8.0 required") -endif() -if(CMAKE_VERSION VERSION_LESS "2.8.3") - message(FATAL_ERROR "CMake >= 2.8.3 required") -endif() -cmake_policy(PUSH) -cmake_policy(VERSION 2.8.3...3.26) -#---------------------------------------------------------------- -# Generated CMake target import file. -#---------------------------------------------------------------- - -# Commands may need to know the format version. -set(CMAKE_IMPORT_FILE_VERSION 1) - -# Protect against multiple inclusion, which would fail when already imported targets are added once more. -set(_cmake_targets_defined "") -set(_cmake_targets_not_defined "") -set(_cmake_expected_targets "") -foreach(_cmake_expected_target IN ITEMS libzip::zip libzip::zipcmp libzip::zipmerge libzip::ziptool) - list(APPEND _cmake_expected_targets "${_cmake_expected_target}") - if(TARGET "${_cmake_expected_target}") - list(APPEND _cmake_targets_defined "${_cmake_expected_target}") - else() - list(APPEND _cmake_targets_not_defined "${_cmake_expected_target}") - endif() -endforeach() -unset(_cmake_expected_target) -if(_cmake_targets_defined STREQUAL _cmake_expected_targets) - unset(_cmake_targets_defined) - unset(_cmake_targets_not_defined) - unset(_cmake_expected_targets) - unset(CMAKE_IMPORT_FILE_VERSION) - cmake_policy(POP) - return() -endif() -if(NOT _cmake_targets_defined STREQUAL "") - string(REPLACE ";" ", " _cmake_targets_defined_text "${_cmake_targets_defined}") - string(REPLACE ";" ", " _cmake_targets_not_defined_text "${_cmake_targets_not_defined}") - message(FATAL_ERROR "Some (but not all) targets in this export set were already defined.\nTargets Defined: ${_cmake_targets_defined_text}\nTargets not yet defined: ${_cmake_targets_not_defined_text}\n") -endif() -unset(_cmake_targets_defined) -unset(_cmake_targets_not_defined) -unset(_cmake_expected_targets) - - -# Compute the installation prefix relative to this file. -get_filename_component(_IMPORT_PREFIX "${CMAKE_CURRENT_LIST_FILE}" PATH) -get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) -get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) -get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) -if(_IMPORT_PREFIX STREQUAL "/") - set(_IMPORT_PREFIX "") -endif() - -# Create imported target libzip::zip -add_library(libzip::zip STATIC IMPORTED) - -set_target_properties(libzip::zip PROPERTIES - INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include;${_IMPORT_PREFIX}/include" - INTERFACE_LINK_LIBRARIES "\$" -) - -# Create imported target libzip::zipcmp -add_executable(libzip::zipcmp IMPORTED) - -# Create imported target libzip::zipmerge -add_executable(libzip::zipmerge IMPORTED) - -# Create imported target libzip::ziptool -add_executable(libzip::ziptool IMPORTED) - -if(CMAKE_VERSION VERSION_LESS 2.8.12) - message(FATAL_ERROR "This file relies on consumers using CMake 2.8.12 or greater.") -endif() - -# Load information for each installed configuration. -file(GLOB _cmake_config_files "${CMAKE_CURRENT_LIST_DIR}/libzip-targets-*.cmake") -foreach(_cmake_config_file IN LISTS _cmake_config_files) - include("${_cmake_config_file}") -endforeach() -unset(_cmake_config_file) -unset(_cmake_config_files) - -# Cleanup temporary variables. -set(_IMPORT_PREFIX) - -# Loop over all imported files and verify that they actually exist -foreach(_cmake_target IN LISTS _cmake_import_check_targets) - foreach(_cmake_file IN LISTS "_cmake_import_check_files_for_${_cmake_target}") - if(NOT EXISTS "${_cmake_file}") - message(FATAL_ERROR "The imported target \"${_cmake_target}\" references the file - \"${_cmake_file}\" -but this file does not exist. Possible reasons include: -* The file was deleted, renamed, or moved to another location. -* An install or uninstall procedure did not complete successfully. -* The installation package was faulty and contained - \"${CMAKE_CURRENT_LIST_FILE}\" -but not all the files it references. -") - endif() - endforeach() - unset(_cmake_file) - unset("_cmake_import_check_files_for_${_cmake_target}") -endforeach() -unset(_cmake_target) -unset(_cmake_import_check_targets) - -# This file does not depend on other imported targets which have -# been exported from the same project but in a separate export set. - -# Commands beyond this point should not need to know the version. -set(CMAKE_IMPORT_FILE_VERSION) -cmake_policy(POP) diff --git a/thirdparty/libzip-1.11.3/build-emcmake/install/lib/libzip.a b/thirdparty/libzip-1.11.3/build-emcmake/install/lib/libzip.a deleted file mode 100644 index d529d3f85e1de2037e0144e9441c358d6fd55bf8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 353784 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
JN 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
  • 1V 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 diff --git a/thirdparty/libzip-1.11.3/build-emcmake/install/lib/pkgconfig/libzip.pc b/thirdparty/libzip-1.11.3/build-emcmake/install/lib/pkgconfig/libzip.pc deleted file mode 100644 index e3676c3..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/install/lib/pkgconfig/libzip.pc +++ /dev/null @@ -1,14 +0,0 @@ -prefix=/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/install -exec_prefix=${prefix} -bindir=${prefix}/bin -libdir=${prefix}/lib -includedir=${prefix}/include - -zipcmp=${bindir}/zipcmp - -Name: libzip -Description: library for handling zip archives -Version: 1.11.3 -Libs: -L${libdir} -lzip -Libs.private: -lz -Cflags: -I${includedir} diff --git a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man1/zipcmp.1 b/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man1/zipcmp.1 deleted file mode 100644 index d3d69e6..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man1/zipcmp.1 +++ /dev/null @@ -1,99 +0,0 @@ -.\" zipcmp.mdoc -- compare zip archives -.\" Copyright (C) 2003-2024 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd March 15, 2024 -.Dt ZIPCMP 1 -.Os -.Sh NAME -.Nm zipcmp -.Nd compare contents of zip archives -.Sh SYNOPSIS -.Nm -.Op Fl ChipqsTtVv -.Ar archive1 archive2 -.Sh DESCRIPTION -.Nm -compares the zip archives or directories -.Ar archive1 -and -.Ar archive2 -and checks if they contain the same files, comparing their names, -uncompressed sizes, and CRCs. -File order and compressed size differences are ignored. -.Pp -Supported options: -.Bl -tag -width MMM -.It Fl C -Check consistency of archives. -Results in an error if archive is inconsistent or not valid -according to the zip specification. -.It Fl h -Display a short help message and exit. -.It Fl i -Compare names ignoring case distinctions. -.It Fl p -Enable paranoid checks. -Compares extra fields, comments, and other meta data. -(Automatically disabled if one of the archives is a directory.) -These checks are skipped for files where the data differs. -.It Fl q -Quiet mode. -Compare -.Fl v . -.It Fl s -Print a summary of how many files where added and removed. -.It Fl T -Additionally compare the time stamps of the entries. -.It Fl t -Test zip files by comparing the contents to their checksums. -.It Fl V -Display version information and exit. -.It Fl v -Verbose mode. -Print details about differences to stdout. -(This is the default.) -.El -.Sh EXIT STATUS -.Nm -exits 0 if the two archives contain the same files, 1 if they differ, -and >1 if an error occurred. -.Sh SEE ALSO -.Xr zipmerge 1 , -.Xr ziptool 1 , -.Xr libzip 3 -.Sh HISTORY -.Nm -was added in libzip 0.6. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man1/zipmerge.1 b/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man1/zipmerge.1 deleted file mode 100644 index f7c535b..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man1/zipmerge.1 +++ /dev/null @@ -1,105 +0,0 @@ -.\" zipmerge.mdoc -- merge zip archives -.\" Copyright (C) 2004-2022 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd November 7, 2023 -.Dt ZIPMERGE 1 -.Os -.Sh NAME -.Nm zipmerge -.Nd merge zip archives -.Sh SYNOPSIS -.Nm -.Op Fl DhIiSsV -.Ar target-zip -.Ar source-zip Op Ar source-zip ... -.Sh DESCRIPTION -.Nm -copies files from the source zip archives -.Ar source-zip -to the target zip archive -.Ar target-zip . -By default, files in the source zip archives overwrite -existing files of the same name in the target zip archive. -By default, compressed files in the source archive are -copied directly without recompression, uncompressed files -are compressed using the default compression algorithm. -.Pp -Supported options: -.Bl -tag -width MMM -.It Fl D -Ignore directory components in file name comparisons. -This option is slow for archives with many files. -.It Fl h -Display a short help message and exit. -.It Fl I -Ignore case in file name comparisons -This option is slow for archives with many files. -.It Fl i -Ask before overwriting files. -See also -.Fl s . -.It Fl k -Do not compress files that were uncompressed in -.Ar source-zip , -otherwise they are compressed with the default compression method. -.It Fl S -Do not overwrite files that have the same name, size, and -CRC32 in both the source and target archives. -.It Fl s -When -.Fl i -is given, do not ask before overwriting files that have the same name, size, -and CRC32. -.It Fl V -Display version information and exit. -.El -.Sh EXIT STATUS -.Nm -exits 0 on success and >1 if an error occurred. -.Sh SEE ALSO -.Xr zipcmp 1 , -.Xr ziptool 1 , -.Xr libzip 3 -.Sh HISTORY -.Nm -was added in libzip 0.6. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at -.Sh CAVEATS -.Nm -uses one open file descriptor per zip archive. -If you need to merge a lot of zip archives, check your shell's -file descriptor ulimit and either increase it or run -.Nm -multiple times with e.g. 1000 source zip archives each time. diff --git a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man1/ziptool.1 b/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man1/ziptool.1 deleted file mode 100644 index 05f57bd..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man1/ziptool.1 +++ /dev/null @@ -1,364 +0,0 @@ -.\" ziptool.mdoc -- modify zip archives in multiple ways -.\" Copyright (C) 2016-2022 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd January 23, 2023 -.Dt ZIPTOOL 1 -.Os -.Sh NAME -.Nm ziptool -.Nd modify zip archives -.Sh SYNOPSIS -.Nm -.Op Fl ceghnrst -.Op Fl l Ar length -.Op Fl o Ar offset -.Ar zip-archive -.Cm command Op Ar command-args ... -.Op Cm command Oo Ar command-args ... Oc ... -.Sh DESCRIPTION -.Nm -modifies the zip archive -.Ar zip-archive -according to the -.Ar commands -given. -.Pp -Supported options: -.Bl -tag -width MoMoffsetMM -.It Fl c -Check zip archive consistency when opening it. -.It Fl e -Error if archive already exists (only useful with -.Fl n ) . -.It Fl g -Guess file name encoding (for -.Cm stat -command). -.It Fl h -Display help. -.It Fl l Ar length -Only read -.Ar length -bytes of archive. -See also -.Fl o . -.It Fl n -Create archive if it doesn't exist. -See also -.Fl e . -.It Fl o Ar offset -Start reading input archive from -.Ar offset . -See also -.Fl l . -.It Fl r -Print raw file name encoding without translation (for -.Cm stat -command). -.It Fl s -Follow file name convention strictly (for -.Cm stat -command). -.It Fl t -Disregard current file contents, if any. -.Em Note : -use this with care, it deletes all existing file contents when -you modify the archive. -.El -.Ss Commands -For all commands below, the index is zero-based. -In other words, the first entry in the zip archive has index 0. -.Pp -Supported commands and arguments are: -.Bl -tag -width 10n -.It Cm add Ar name content -Add file called -.Ar name -using the string -.Ar content -from the command line as data. -.It Cm add_dir Ar name -Add directory -.Ar name . -.It Cm add_file Ar name file_to_add offset len -Add file -.Ar name -to archive, using -.Ar len -bytes from the file -.Ar file_to_add -as input data, starting at -.Ar offset . -.It Cm add_from_zip Ar name archivename index offset len -Add file called -.Ar name -to archive using data from another zip archive -.Ar archivename -using the entry with index -.Ar index -and reading -.Ar len -bytes from -.Ar offset . -.It Cm cat Ar index -Output file contents for entry -.Ar index -to stdout. -.It Cm count_extra Ar index flags -Print the number of extra fields for archive entry -.Ar index -using -.Ar flags . -.It Cm count_extra_by_id Ar index extra_id flags -Print number of extra fields of type -.Ar extra_id -for archive entry -.Ar index -using -.Ar flags . -.It Cm delete Ar index -Remove entry at -.Ar index -from zip archive. -.It Cm delete_extra Ar index extra_idx flags -Remove extra field number -.Ar extra_idx -from archive entry -.Ar index -using -.Ar flags . -.It Cm delete_extra_by_id Ar index extra_id extra_index flags -Remove extra field number -.Ar extra_index -of type -.Ar extra_id -from archive entry -.Ar index -using -.Ar flags . -.It Cm get_archive_comment -Print archive comment. -.It Cm get_archive_flag Ar flag -Print state of archive flag -.Ar flag . -.It Cm get_extra Ar index extra_index flags -Print extra field -.Ar extra_index -for archive entry -.Ar index -using -.Ar flags . -.It Cm get_extra_by_id Ar index extra_id extra_index flags -Print extra field -.Ar extra_index -of type -.Ar extra_id -for archive entry -.Ar index -using -.Ar flags . -.It Cm get_file_comment Ar index -Get file comment for archive entry -.Ar index . -.It Cm get_num_entries Ar flags -Print number of entries in archive using -.Ar flags . -.It Cm name_locate Ar name flags -Find entry in archive with the filename -.Ar name -using -.Ar flags -and print its index. -.It Cm rename Ar index name -Rename archive entry -.Ar index -to -.Ar name . -.It Cm replace_file_contents Ar index data -Replace file contents for archive entry -.Ar index -with the string -.Ar data . -.It Cm set_archive_comment Ar comment -Set archive comment to -.Ar comment . -.It Cm get_archive_flag Ar flag Ar value -Set archive flag -.Ar flag -to -.Ar value . -.It Cm set_extra Ar index extra_id extra_index flags value -Set extra field number -.Ar extra_index -of type -.Ar extra_id -for archive entry -.Ar index -using -.Ar flags -to -.Ar value . -.It Cm set_file_comment Ar index comment -Set file comment for archive entry -.Ar index -to string -.Ar comment . -.It Cm set_file_compression Ar index method compression_flags -Set file compression method for archive entry -.Ar index -to -.Ar method -using -.Ar compression_flags . -.Em Note : -Currently, -.Ar compression_flags -are ignored. -.It Cm set_file_encryption Ar index method password -Set file encryption method for archive entry -.Ar index -to -.Ar method -with password -.Ar password . -.It Cm set_file_mtime Ar index timestamp -Set file modification time for archive entry -.Ar index -to UNIX mtime -.Ar timestamp . -.It Cm set_file_mtime_all Ar timestamp -Set file modification time for all archive entries to UNIX mtime -.Ar timestamp . -.It Cm set_password Ar password -Set default password for encryption/decryption to -.Ar password . -.It Cm stat Ar index -Print information about archive entry -.Ar index . -.El -.Ss Flags -Some commands take flag arguments. -Each character in the argument sets the corresponding flag. -Use 0 or the empty string for no flags. -.Pp -Supported flags are: -.Bl -tag -width MMM -compact -offset indent -.It Ar 4 -.Dv ZIP_FL_ENC_CP437 -.It Ar 8 -.Dv ZIP_FL_ENC_UTF_8 -.It Ar C -.Dv ZIP_FL_NOCASE -.It Ar c -.Dv ZIP_FL_CENTRAL -.It Ar d -.Dv ZIP_FL_NODIR -.It Ar l -.Dv ZIP_FL_LOCAL -.It Ar r -.Dv ZIP_FL_ENC_RAW -.It Ar s -.Dv ZIP_FL_ENC_STRICT -.It Ar u -.Dv ZIP_FL_UNCHANGED -.El -.Ss Archive flags -.Cm get_archive_flag -and -.Cm set_archive_flag -work on the following flags: -.Bl -bullet -compact -offset indent -.It -.Dv create-or-keep-empty-file-for-archive -.It -.Dv is-torrentzip -.It -.Dv rdonly -.It -.Dv want-torrentzip -.El -.Ss Compression Methods -Some commands take compression method arguments. -Supported methods are: -.Bl -bullet -compact -offset indent -.It -.Dv default -.It -.Dv deflate -.It -.Dv store -.El -.Ss Encryption Methods -Some commands take encryption method arguments. -Supported methods are: -.Bl -bullet -compact -offset indent -.It -.Dv none -.It -.Dv AES-128 -.It -.Dv AES-192 -.It -.Dv AES-256 -.El -.Sh EXIT STATUS -.Ex -std -.Sh EXAMPLES -Add a file called -.Pa teststring.txt -to the zip archive -.Pa testbuffer.zip -with data -.Dq This is a test.\en -where -.Dq \en -is replaced with a newline character: -.Bd -literal -offset indent -ziptool testbuffer.zip add teststring.txt \\"This is a test.\en\\" -.Ed -.Pp -Delete the first file from the zip archive -.Pa testfile.zip : -.Bd -literal -offset indent -ziptool testfile.zip delete 0 -.Ed -.Sh SEE ALSO -.Xr zipcmp 1 , -.Xr zipmerge 1 , -.Xr libzip 3 -.Sh HISTORY -.Nm -was added in libzip 1.1. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/ZIP_SOURCE_GET_ARGS.3 b/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/ZIP_SOURCE_GET_ARGS.3 deleted file mode 100644 index 25b8193..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/ZIP_SOURCE_GET_ARGS.3 +++ /dev/null @@ -1,79 +0,0 @@ -.\" ZIP_SOURCE_GET_ARGS -- validate and cast arguments to source callback -.\" Copyright (C) 2014-2017 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd December 18, 2017 -.Dt ZIP_SOURCE_GET_ARGS 3 -.Os -.Sh NAME -.Nm ZIP_SOURCE_GET_ARGS -.Nd validate and cast arguments to source callback -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft type * -.Fn ZIP_SOURCE_GET_ARGS "type" "void *data" "zip_uint64_t len" "zip_error_t *error" -.Sh DESCRIPTION -The -.Fn ZIP_SOURCE_GET_ARGS -macro casts -.Ar data -to a pointer to -.Ar type . -.Sh RETURN VALUES -On success, -.Fn ZIP_SOURCE_GET_ARGS -returns -.Ar data . -In case of error, it returns -.Dv NULL -and sets -.Ar error . -.Sh ERRORS -.Fn ZIP_SOURCE_GET_ARGS -fails if: -.Bl -tag -width Er -.It Bq Er ZIP_ER_INVAL -.Ar len -is less than the size of -.Ar type -.El -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_source_function 3 -.Sh HISTORY -.Fn ZIP_SOURCE_GET_ARGS -was added in libzip 1.0. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/libzip.3 b/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/libzip.3 deleted file mode 100644 index 0490f37..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/libzip.3 +++ /dev/null @@ -1,299 +0,0 @@ -.\" libzip.mdoc -- general overview of available functions -.\" Copyright (C) 2005-2024 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd August 21, 2024 -.Dt LIBZIP 3 -.Os -.Sh NAME -.Nm libzip -.Nd library for manipulating zip archives -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Sh DESCRIPTION -.Nm -is a library for reading, creating, and modifying zip archives. -.Pp -The main design criteria for -.Nm -were: -.Bl -bullet -compact -.It -Do not create corrupt files, even in case of errors. -.It -Do not delete data. -.It -Be efficient. -.El -.Pp -For this reason, when modifying zip archives, -.Nm -writes to a temporary file and replaces the original -zip archive atomically. -.Pp -Below there are two sections listing functions: one for how to read -from zip archives and one for how to create/modify them. -.Sh GENERAL NOTES -Unless explicitly documented, functions should not be passed -.Dv NULL -pointers as arguments. -.Sh FILE NAMES -.Ss Encoding -Names of files in the host file system are expected in UTF-8 encoding. -On Windows, variants for ASCII and UTF-16 are also available. -.Pp -Names of files inside archives are by default expected in UTF-8 encoding. -Other encodings can be requested by using the flags -.Dv ZIP_FL_ENC_CP437 -and -.Dv ZIP_FL_ENC_RAW . -.Pp -For details see the relevant man pages. -.Ss Directory Separator -The zip format requires the use of forward slash -.Pq Sq / -as directory separator. -Since backslash -.Pq Sq \e -can be part of a valid file name on Unix systems, -.Nm -does not automatically convert them, even on Windows. -It is the responsibility of the programmer to ensure that all -directory separators are passed as forward slashes to -.Nm . -.Sh THREAD SAFETY -In general, different zip archives opened by -.Nm -are independent of each other and can be used by parallel-running -threads without locking. -If you want to use an archive from multiple threads, you have to -synchronize access to it yourself. -If you use an archive as a source for -.Xr zip_file_add 3 -or -.Xr zip_file_replace 3 , -access to the target archive must be synchronized with access to the -source archive as well. -.Sh READING ZIP ARCHIVES -.Ss Open Archive -.Bl -bullet -compact -.It -.Xr zip_open 3 -.It -.Xr zip_fdopen 3 -.El -.Ss Find Files -.Bl -bullet -compact -.It -.Xr zip_name_locate 3 -.El -.Ss Read Files -.Bl -bullet -compact -.It -.Xr zip_fopen 3 -.It -.Xr zip_fopen_encrypted 3 -.It -.Xr zip_fopen_index 3 -.It -.Xr zip_fopen_index_encrypted 3 -.It -.Xr zip_fread 3 -.It -.Xr zip_file_is_seekable 3 -.It -.Xr zip_fseek 3 -(uncompressed files only) -.It -.Xr zip_ftell 3 -.It -.Xr zip_fclose 3 -.El -.Ss Close Archive -.Bl -bullet -compact -.It -.Xr zip_close 3 -.El -.Ss Miscellaneous -.Bl -bullet -compact -.It -.Xr zip_stat 3 -.It -.Xr zip_compression_method_supported 3 -.It -.Xr zip_encryption_method_supported 3 -.It -.Xr zip_file_get_comment 3 -.It -.Xr zip_file_get_external_attributes 3 -.It -.Xr zip_get_archive_comment 3 -.It -.Xr zip_get_archive_flag 3 -.It -.Xr zip_get_name 3 -.It -.Xr zip_get_num_entries 3 -.It -.Xr zip_set_default_password 3 -.It -.Xr zip_source_pass_to_lower_layer 3 -.El -.Sh CREATING/MODIFYING ZIP ARCHIVES -.Ss Create/Open Archive -.Bl -bullet -compact -.It -.Xr zip_open 3 -.El -.Ss Add/Change Files and Directories -.Bl -bullet -compact -.It -.Xr zip_dir_add 3 -.It -.Xr zip_file_add 3 -.It -.Xr zip_file_replace 3 -.It -.Xr zip_file_set_comment 3 -.It -.Xr zip_file_set_dostime 3 -.It -.Xr zip_file_set_external_attributes 3 -.It -.Xr zip_file_set_encryption 3 -.It -.Xr zip_file_set_mtime 3 -.It -.Xr zip_set_file_compression 3 -.It -.Xr zip_source_buffer 3 -.It -.Xr zip_source_file 3 -.It -.Xr zip_source_filep 3 -.It -.Xr zip_source_free 3 -.It -.Xr zip_source_function 3 -.It -.Xr zip_source_layered 3 -.It -.Xr zip_source_zip 3 -.El -.Ss Rename Files -.Bl -bullet -compact -.It -.Xr zip_rename 3 -.El -.Ss Delete Files -.Bl -bullet -compact -.It -.Xr zip_delete 3 -.El -.Ss Revert Changes -.Bl -bullet -compact -.It -.Xr zip_unchange 3 -.It -.Xr zip_unchange_all 3 -.It -.Xr zip_unchange_archive 3 -.El -.Ss Read/Modify Extra Fields -.Bl -bullet -compact -.It -.Xr zip_file_extra_field_delete 3 -.It -.Xr zip_file_extra_field_delete_by_id 3 -.It -.Xr zip_file_extra_field_get 3 -.It -.Xr zip_file_extra_field_get_by_id 3 -.It -.Xr zip_file_extra_field_set 3 -.It -.Xr zip_file_extra_fields_count 3 -.It -.Xr zip_file_extra_fields_count_by_id 3 -.El -.Ss Close Archive (Writing) -.Bl -bullet -compact -.It -.Xr zip_close 3 -.It -.Xr zip_discard 3 -.El -.Ss Miscellaneous (Writing) -.Bl -bullet -compact -.It -.Xr zip_file_attributes_init 3 -.It -.Xr zip_libzip_version 3 -.It -.Xr zip_register_cancel_callback_with_state 3 -.It -.Xr zip_register_progress_callback_with_state 3 -.It -.Xr zip_set_archive_comment 3 -.It -.Xr zip_set_archive_flag 3 -.It -.Xr zip_source 3 -.El -.Sh ERROR HANDLING -.Bl -bullet -compact -.It -.Xr zip_error_strerror 3 -.It -.Xr zip_strerror 3 -.It -.Xr zip_file_strerror 3 -.It -.Xr zip_file_get_error 3 -.It -.Xr zip_get_error 3 -.It -.Xr zip_error_init_with_code 3 -.It -.Xr zip_error_set 3 -.It -.Xr zip_error_set_from_source 3 -.It -.Xr zip_error_system_type 3 -.It -.Xr zip_errors 3 -.El -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_add.3 b/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_add.3 deleted file mode 100644 index 71bc4c8..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_add.3 +++ /dev/null @@ -1,96 +0,0 @@ -.\" zip_add.mdoc -- add files to zip archive -.\" Copyright (C) 2004-2017 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd December 18, 2017 -.Dt ZIP_ADD 3 -.Os -.Sh NAME -.Nm zip_add , -.Nm zip_replace -.Nd add file to zip archive or replace file in zip archive (obsolete interface) -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft zip_int64_t -.Fn zip_add "zip_t *archive" "const char *name" "zip_source_t *source" -.Ft int -.Fn zip_replace "zip_t *archive" "zip_uint64_t index" "zip_source_t *source" -.Sh DESCRIPTION -The function -.Fn zip_add -is the obsolete version of -.Xr zip_file_add 3 . -It is the same as calling -.Xr zip_file_add 3 -with an empty -.Ar flags -argument. -Similarly, the -.Fn zip_replace -function is the obsolete version of -.Xr zip_file_replace 3 . -It is the same as calling -.Xr zip_file_replace 3 -with an empty -.Ar flags -argument. -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_file_add 3 , -.Xr zip_file_replace 3 -.Sh HISTORY -.Fn zip_add -was added in libzip 0.6. -In libzip 0.10 the return type was changed from -.Vt int -to -.Vt zip_int64_t . -It was deprecated in libzip 0.11, use -.Fn zip_file_add -instead. -.Pp -.Fn zip_replace -was added in libzip 0.6. -In libzip 0.10 the type of -.Ar index -was changed from -.Vt int -to -.Vt zip_uint64_t . -It was deprecated in libzip 0.11, use -.Fn zip_file_replace -instead. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_add_dir.3 b/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_add_dir.3 deleted file mode 100644 index 4a6801b..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_add_dir.3 +++ /dev/null @@ -1,69 +0,0 @@ -.\" zip_add_dir.mdoc -- add directory to zip archive -.\" Copyright (C) 2006-2017 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd December 18, 2017 -.Dt ZIP_ADD_DIR 3 -.Os -.Sh NAME -.Nm zip_add_dir -.Nd add directory to zip archive (obsolete interface) -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft zip_int64_t -.Fn zip_add_dir "zip_t *archive" "const char *name" -.Sh DESCRIPTION -The function -.Fn zip_add_dir -is the obsolete version of -.Xr zip_dir_add 3 . -It is the same as calling -.Xr zip_dir_add 3 -with an empty flags argument. -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_dir_add 3 -.Sh HISTORY -.Fn zip_add_dir -was added in libzip 0.8. -In libzip 0.10 the return type was changed from -.Vt int -to -.Vt zip_int64_t . -It was deprecated in libzip 0.11, use -.Fn zip_dir_add -instead. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_close.3 b/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_close.3 deleted file mode 100644 index 4716b9d..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_close.3 +++ /dev/null @@ -1,136 +0,0 @@ -.\" zip_close.mdoc -- close zip archive -.\" Copyright (C) 2003-2022 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd January 23, 2023 -.Dt ZIP_CLOSE 3 -.Os -.Sh NAME -.Nm zip_close -.Nd close zip archive -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft int -.Fn zip_close "zip_t *archive" -.Sh DESCRIPTION -The -.Fn zip_close -function writes any changes made to -.Ar archive -to disk. -If -.Ar archive -contains no files, the file is completely removed (no empty archive is -written), unless the archive flag -.Dv ZIP_AFL_CREATE_OR_KEEP_FILE_FOR_EMPTY_ARCHIVE -is set. -If successful, -.Ar archive -is freed. -Otherwise -.Ar archive -is left unchanged and must still be freed. -.Pp -To close and free a zip archive without saving changes, use -.Xr zip_discard 3 . -.Pp -Progress updates for GUIs can be implemented using -.Xr zip_register_progress_callback_with_state 3 . -Cancelling the write of an archive during -.Nm -can be implemented using -.Xr zip_register_cancel_callback_with_state 3 . -.Sh RETURN VALUES -Upon successful completion 0 is returned. -Otherwise, \-1 is returned and the error code in -.Ar archive -is set to indicate the error. -.Sh ERRORS -.Fn zip_close -will fail if: -.Bl -tag -width Er -.It Bq Er ZIP_ER_EOF -Unexpected end-of-file found while reading from a file. -.It Bq Er ZIP_ER_INTERNAL -The callback function of an added or replaced file returned an -error but failed to report which. -.It Bq Er ZIP_ER_INVAL -The -.Ar path -argument is -.Dv NULL . -.It Bq Er ZIP_ER_MEMORY -Required memory could not be allocated. -.It Bq Er ZIP_ER_NOZIP -File is not a zip archive. -.It Bq Er ZIP_ER_READ -A file read failed. -.It Bq Er ZIP_ER_RENAME -A temporary file could not be renamed to its final name. -.It Bq Er ZIP_ER_SEEK -A file seek failed. -.It Bq Er ZIP_ER_TMPOPEN -A temporary file could not be created. -.It Bq Er ZIP_ER_WRITE -A file write failed. -.It Bq Er ZIP_ER_ZLIB -An error occurred while (de)compressing a stream with -.Xr zlib 3 . -.El -Additionally, any errors returned by the callback function -for added or replaced files will be passed back. -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_discard 3 , -.Xr zip_fdopen 3 , -.Xr zip_get_error 3 , -.Xr zip_open 3 , -.Xr zip_register_cancel_callback_with_state 3 , -.Xr zip_register_progress_callback_with_state 3 , -.Xr zip_set_archive_flag 3 , -.Xr zip_strerror 3 -.Sh HISTORY -.Fn zip_close -was added in libzip 0.6. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at -.Sh CAVEATS -Please note that all indices, -.Xr zip_stat 3 -information and other data about the archive is invalid after -.Nm . -When you open the same file again, it will be a completely new -.Vt zip_t -structure. diff --git a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_compression_method_supported.3 b/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_compression_method_supported.3 deleted file mode 100644 index 77553cf..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_compression_method_supported.3 +++ /dev/null @@ -1,65 +0,0 @@ -.\" zip_compression_method_supported.mdoc -- return if compression method is supported -.\" Copyright (C) 2020 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP files. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd April 2, 2020 -.Dt ZIP_COMPRESSION_METHOD_SUPPORTED 3 -.Os -.Sh NAME -.Nm zip_compression_method_supported -.Nd return if a compression method is supported -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft int -.Fn zip_compression_method_supported "zip_int32_t method" "int compress" -.Sh DESCRIPTION -The -.Fn zip_compression_method_supported -returns if the compression method -.Ar method -is supported for compression (if -.Ar compress -is zero) or decompression (otherwise). -.Sh RETURN VALUES -Returns 1 if the method is supported, 0 otherwise. -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_encryption_method_supported 3 , -.Xr zip_set_file_compression 3 -.Sh HISTORY -.Fn zip_compression_method_supported -was added in libzip 1.7.0. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_delete.3 b/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_delete.3 deleted file mode 100644 index 0b622fe..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_delete.3 +++ /dev/null @@ -1,80 +0,0 @@ -.\" zip_delete.mdoc -- delete files from zip archive -.\" Copyright (C) 2003-2017 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd December 18, 2017 -.Dt ZIP_DELETE 3 -.Os -.Sh NAME -.Nm zip_delete -.Nd delete file from zip archive -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft int -.Fn zip_delete "zip_t *archive" "zip_uint64_t index" -.Sh DESCRIPTION -The file at position -.Ar index -in the zip archive -.Ar archive -is marked as deleted. -.Sh RETURN VALUES -Upon successful completion 0 is returned. -Otherwise, \-1 is returned and the error code in -.Ar archive -is set to indicate the error. -.Sh ERRORS -.Fn zip_delete -fails if: -.Bl -tag -width Er -.It Bq Er ZIP_ER_INVAL -.Ar index -is not a valid file index in -.Ar archive . -.El -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_unchange 3 -.Sh HISTORY -.Fn zip_delete -was added in libzip 0.6. -In libzip 0.10 the type of -.Ar index -was changed from -.Vt int -to -.Vt zip_uint64_t . -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_dir_add.3 b/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_dir_add.3 deleted file mode 100644 index c4b697b..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_dir_add.3 +++ /dev/null @@ -1,109 +0,0 @@ -.\" zip_dir_add.mdoc -- add directory to zip archive -.\" Copyright (C) 2006-2020 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd September 20, 2020 -.Dt ZIP_DIR_ADD 3 -.Os -.Sh NAME -.Nm zip_dir_add -.Nd add directory to zip archive -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft zip_int64_t -.Fn zip_dir_add "zip_t *archive" "const char *name" "zip_flags_t flags" -.Sh DESCRIPTION -The function -.Fn zip_dir_add -adds a directory to a zip archive. -The argument -.Ar archive -specifies the zip archive to which the directory should be added. -.Ar name -is the directory's name in the zip archive. -.Pp -This function adds an entry to the archive. -It does not check whether a directory with that name exists in the -file system, nor does it add its contents if it does. -The -.Ar flags -argument can be any of: -.Bl -tag -width XZIPXFLXENCXSTRICTXX -.It Dv ZIP_FL_ENC_GUESS -Guess encoding of -.Ar name -(default). -(Only CP-437 and UTF-8 are recognized.) -.It Dv ZIP_FL_ENC_UTF_8 -Interpret -.Ar name -as UTF-8. -.It Dv ZIP_FL_ENC_CP437 -Interpret -.Ar name -as code page 437 (CP-437). -.El -.Sh RETURN VALUES -Upon successful completion, the index of the new entry in the archive -is returned. -Otherwise, \-1 is returned and the error code in -.Ar archive -is set to indicate the error. -.Sh ERRORS -.Fn zip_dir_add -fails if: -.Bl -tag -width Er -.It Bq Er ZIP_ER_EXISTS -There is already an entry called -.Ar name -in the archive. -.It Bq Er ZIP_ER_INVAL -.Ar archive -or -.Ar name -are -.Dv NULL , -or invalid UTF-8 encoded file names. -.It Bq Er ZIP_ER_MEMORY -Required memory could not be allocated. -.El -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_file_add 3 -.Sh HISTORY -.Fn zip_dir_add -was added in libzip 0.11. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_discard.3 b/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_discard.3 deleted file mode 100644 index 5c4f3f4..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_discard.3 +++ /dev/null @@ -1,61 +0,0 @@ -.\" zip_discard.mdoc -- close zip archive and discard changes -.\" Copyright (C) 2012-2017 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd December 18, 2017 -.Dt ZIP_DISCARD 3 -.Os -.Sh NAME -.Nm zip_discard -.Nd close zip archive and discard changes -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft void -.Fn zip_discard "zip_t *archive" -.Sh DESCRIPTION -The -.Fn zip_discard -function closes -.Ar archive -and frees the memory allocated for it. -Any changes to the archive are not written to disk and discarded. -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_close 3 -.Sh HISTORY -.Fn zip_discard -was added in libzip 0.11. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_encryption_method_supported.3 b/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_encryption_method_supported.3 deleted file mode 100644 index 84c0ae8..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_encryption_method_supported.3 +++ /dev/null @@ -1,65 +0,0 @@ -.\" zip_encryption_method_supported.mdoc -- return if encryption method is supported -.\" Copyright (C) 2020 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP files. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd April 2, 2020 -.Dt ZIP_ENCRYPTION_METHOD_SUPPORTED 3 -.Os -.Sh NAME -.Nm zip_encryption_method_supported -.Nd return if an encryption method is supported -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft int -.Fn zip_encryption_method_supported "zip_int16_t method" "int encrypt" -.Sh DESCRIPTION -The -.Fn zip_encryption_method_supported -returns if the encryption method -.Ar method -is supported for encryption (if -.Ar encrypt -is zero) or decryption (otherwise). -.Sh RETURN VALUES -Returns 1 if the method is supported, 0 otherwise. -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_compression_method_supported 3 , -.Xr zip_file_set_encryption 3 -.Sh HISTORY -.Fn zip_encryption_method_supported -was added in libzip 1.7.0. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_error_clear.3 b/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_error_clear.3 deleted file mode 100644 index 5b2bc6e..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_error_clear.3 +++ /dev/null @@ -1,69 +0,0 @@ -.\" zip_error_clear.mdoc -- clear error state for archive or file -.\" Copyright (C) 2006-2021 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd December 18, 2017 -.Dt ZIP_ERROR_CLEAR 3 -.Os -.Sh NAME -.Nm zip_error_clear , -.Nm zip_file_error_clear -.Nd clear error state for archive or file -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft void -.Fn zip_error_clear "zip_t *archive" -.Ft void -.Fn zip_file_error_clear "zip_file_t *file" -.Sh DESCRIPTION -The -.Fn zip_error_clear -function clears the error state for the zip archive -.Ar archive . -.Pp -The -.Fn zip_file_error_clear -function does the same for the zip file -.Ar file . -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_get_error 3 -.Sh HISTORY -.Fn zip_error_clear -and -.Fn zip_file_error_clear -were added in libzip 0.8. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_error_code_system.3 b/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_error_code_system.3 deleted file mode 100644 index 54a4f63..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_error_code_system.3 +++ /dev/null @@ -1,63 +0,0 @@ -.\" zip_error_code_system.mdoc -- get system error part of zip_error -.\" Copyright (C) 2014-2017 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd December 18, 2017 -.Dt ZIP_ERROR_CODE_SYSTEM 3 -.Os -.Sh NAME -.Nm zip_error_code_system -.Nd get operating system error part of zip_error -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft int -.Fn zip_error_code_system "const zip_error_t *ze" -.Sh DESCRIPTION -The -.Fn zip_error_code_system -function returns the system specific part of the error from the -zip_error error -.Ar ze . -For finding out what system reported the error, use -.Xr zip_error_system_type 3 . -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_error_code_zip 3 , -.Xr zip_error_system_type 3 -.Sh HISTORY -.Fn zip_error_code_system -was added in libzip 1.0. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_error_code_zip.3 b/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_error_code_zip.3 deleted file mode 100644 index a07c90e..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_error_code_zip.3 +++ /dev/null @@ -1,60 +0,0 @@ -.\" zip_error_code_zip.mdoc -- get libzip error part of zip_error -.\" Copyright (C) 2014-2017 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd December 18, 2017 -.Dt ZIP_ERROR_CODE_ZIP 3 -.Os -.Sh NAME -.Nm zip_error_code_zip -.Nd get libzip error part of zip_error -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft int -.Fn zip_error_code_zip "const zip_error_t *ze" -.Sh DESCRIPTION -The -.Fn zip_error_code_zip -function returns the libzip specific part of the error from the -zip_error error -.Ar ze . -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_error_code_system 3 -.Sh HISTORY -.Fn zip_error_code_zip -was added in libzip 1.0. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_error_fini.3 b/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_error_fini.3 deleted file mode 100644 index 80395aa..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_error_fini.3 +++ /dev/null @@ -1,60 +0,0 @@ -.\" zip_error_fini.mdoc -- clean up zip_error -.\" Copyright (C) 2014-2017 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd December 18, 2017 -.Dt ZIP_ERROR_FINI 3 -.Os -.Sh NAME -.Nm zip_error_fini -.Nd clean up zip_error structure -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft void -.Fn zip_error_fini "zip_error_t *ze" -.Sh DESCRIPTION -The -.Fn zip_error_fini -function cleans up and frees internally allocated memory of the -zip_error pointed to by -.Ar ze . -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_error_init 3 -.Sh HISTORY -.Fn zip_error_fini -was added in libzip 1.0. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_error_get.3 b/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_error_get.3 deleted file mode 100644 index 55b0979..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_error_get.3 +++ /dev/null @@ -1,117 +0,0 @@ -.\" zip_error_get.mdoc -- get error codes for archive or file -.\" Copyright (C) 2004-2017 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd December 18, 2017 -.Dt ZIP_ERROR_GET 3 -.Os -.Sh NAME -.Nm zip_error_get , -.Nm zip_file_error_get -.Nd get error codes for archive or file (obsolete interface) -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft void -.Fn zip_error_get "zip_t *archive" "int *zep" "int *sep" -.Ft void -.Fn zip_file_error_get "zip_file_t *file" "int *zep" "int *sep" -.Sh DESCRIPTION -The functions -.Fn zip_error_get -and -.Fn zip_file_error_get -are deprecated. -Use -.Xr zip_error_code_system 3 , -.Xr zip_error_code_zip 3 , -.Xr zip_file_get_error 3 , -and -.Xr zip_get_error 3 -instead. -.Pp -For -.Fn zip_error_get , -replace -.Bd -literal -offset indent -int ze, se; -zip_error_get(za, &ze, &se); -.Ed -with -.Bd -literal -offset indent -int ze, se; -zip_error_t *error = zip_get_error(za); -ze = zip_error_code_zip(error); -se = zip_error_code_system(error); -.Ed -For -.Fn zip_file_error_get , -replace -.Bd -literal -offset indent -int ze, se; -zip_file_error_get(zf, &ze, &se); -.Ed -with -.Bd -literal -offset indent -int ze, se; -zip_error_t *error = zip_file_get_error(zf); -ze = zip_error_code_zip(error); -se = zip_error_code_system(error); -.Ed -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_error_code_system 3 , -.Xr zip_error_code_zip 3 , -.Xr zip_file_get_error 3 , -.Xr zip_get_error 3 -.Sh HISTORY -.Fn zip_error_get -was added in libzip 0.6. -It was deprecated in libzip 1.0, use -.Fn zip_get_error , -.Fn zip_error_code_zip , -/ -.Fn zip_error_code_system -instead. -.Pp -.Fn zip_file_error_get -was added in libzip 0.6. -It was deprecated in libzip 1.0, use -.Fn zip_file_get_error , -.Fn zip_error_code_zip , -/ -.Fn zip_error_code_system -instead. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_error_get_sys_type.3 b/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_error_get_sys_type.3 deleted file mode 100644 index 43219a3..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_error_get_sys_type.3 +++ /dev/null @@ -1,77 +0,0 @@ -.\" zip_error_get_sys_type.mdoc -- get type of error -.\" Copyright (C) 2004-2017 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd December 18, 2017 -.Dt ZIP_ERROR_GET_SYS_TYPE 3 -.Os -.Sh NAME -.Nm zip_error_get_sys_type -.Nd get type of system error code (obsolete interface) -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft int -.Fn zip_error_get_sys_type "int ze" -.Sh DESCRIPTION -The function -.Fn zip_error_get_sys_type -is deprecated; use -.Xr zip_error_init_with_code 3 -and -.Xr zip_error_system_type 3 -instead. -.Pp -Replace -.Bd -literal -offset indent -int i = zip_error_get_sys_type(ze); -.Ed -with -.Bd -literal -offset indent -zip_error_t error; -zip_error_init_with_code(&error, ze); -int i = zip_error_system_type(&error); -.Ed -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_error_init_with_code 3 , -.Xr zip_error_system_type 3 -.Sh HISTORY -.Fn zip_error_get_sys_type -was added in libzip 0.6. -It was deprecated in libzip 1.0, use -.Fn zip_error_system_type -instead. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_error_init.3 b/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_error_init.3 deleted file mode 100644 index 3f2e3b7..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_error_init.3 +++ /dev/null @@ -1,76 +0,0 @@ -.\" zip_error_init.mdoc -- initialize zip_error -.\" Copyright (C) 2014-2017 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd December 18, 2017 -.Dt ZIP_ERROR_INIT 3 -.Os -.Sh NAME -.Nm zip_error_init , -.Nm zip_error_init_with_code -.Nd initialize zip_error structure -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft void -.Fn zip_error_init "zip_error_t *error" -.Ft void -.Fn zip_error_init_with_code "zip_error_t *error" "int ze" -.Sh DESCRIPTION -The -.Fn zip_error_init -function initializes the zip_error pointed to by -.Ar error . -.Ar *error -must be allocated before calling -.Fn zip_error_init . -.Pp -The -.Fn zip_error_init_with_code -function does the same, but additionally sets the zip error code to -.Ar ze -and sets the system error code to the current -.Xr errno 3 -value, if appropriate. -.\" TODO: describe when you would need to call this at all -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_error_fini 3 -.Sh HISTORY -.Fn zip_error_init -and -.Fn zip_error_init_with_code -were added in libzip 1.0. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_error_init_with_code.3 b/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_error_init_with_code.3 deleted file mode 100644 index 3f2e3b7..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_error_init_with_code.3 +++ /dev/null @@ -1,76 +0,0 @@ -.\" zip_error_init.mdoc -- initialize zip_error -.\" Copyright (C) 2014-2017 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd December 18, 2017 -.Dt ZIP_ERROR_INIT 3 -.Os -.Sh NAME -.Nm zip_error_init , -.Nm zip_error_init_with_code -.Nd initialize zip_error structure -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft void -.Fn zip_error_init "zip_error_t *error" -.Ft void -.Fn zip_error_init_with_code "zip_error_t *error" "int ze" -.Sh DESCRIPTION -The -.Fn zip_error_init -function initializes the zip_error pointed to by -.Ar error . -.Ar *error -must be allocated before calling -.Fn zip_error_init . -.Pp -The -.Fn zip_error_init_with_code -function does the same, but additionally sets the zip error code to -.Ar ze -and sets the system error code to the current -.Xr errno 3 -value, if appropriate. -.\" TODO: describe when you would need to call this at all -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_error_fini 3 -.Sh HISTORY -.Fn zip_error_init -and -.Fn zip_error_init_with_code -were added in libzip 1.0. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_error_set.3 b/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_error_set.3 deleted file mode 100644 index d421867..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_error_set.3 +++ /dev/null @@ -1,70 +0,0 @@ -.\" zip_error_set.mdoc -- set zip_error -.\" Copyright (C) 2014-2021 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd December 5, 2022 -.Dt ZIP_ERROR_SET 3 -.Os -.Sh NAME -.Nm zip_error_set -.Nd fill in zip_error structure -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft void -.Fn zip_error_set "zip_error_t *ze" "int le" "int se" -.Sh DESCRIPTION -The -.Fn zip_error_set -function sets the zip_error pointed to by -.Ar ze -to the libzip error code -.Ar le -and the system error code -.Ar se . -.Pp -.Ar ze -must be allocated and initialized with -.Xr zip_error_init 3 -before calling -.Fn zip_error_set . -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_error_init 3 , -.Xr zip_error_set_from_source 3 -.Sh HISTORY -.Fn zip_error_set -was added in libzip 1.0. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_error_set_from_source.3 b/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_error_set_from_source.3 deleted file mode 100644 index 48f974f..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_error_set_from_source.3 +++ /dev/null @@ -1,69 +0,0 @@ -.\" zip_error_set_from_source.mdoc -- set zip_error from source -.\" Copyright (C) 2022 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd December 5, 2022 -.Dt ZIP_ERROR_SET_FROM_SOURCE 3 -.Os -.Sh NAME -.Nm zip_error_set_from_source -.Nd fill in zip_error structure from source -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft void -.Fn zip_error_set_from_source "zip_error_t *ze" "zip_source_t *src" -.Sh DESCRIPTION -The -.Fn zip_error_set_from_source -function sets the zip_error pointed to by -.Ar ze -to the error reported by -.Ar src -as returned by -.Xr zip_error_source 3 . -.Ar ze -must be allocated and initialized with -.Xr zip_error_init 3 -before calling -.Fn zip_error_set_from_source . -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_error_init 3 , -.Xr zip_error_set 3 -.Sh HISTORY -.Fn zip_error_set_from_source -was added in libzip 1.10. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_error_strerror.3 b/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_error_strerror.3 deleted file mode 100644 index 40d5865..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_error_strerror.3 +++ /dev/null @@ -1,67 +0,0 @@ -.\" zip_error_strerror.mdoc -- create human-readable version of zip_error -.\" Copyright (C) 2014-2017 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd December 18, 2017 -.Dt ZIP_ERROR_STRERROR 3 -.Os -.Sh NAME -.Nm zip_error_strerror -.Nd create human-readable string for zip_error -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft const char * -.Fn zip_error_strerror "zip_error_t *ze" -.Sh DESCRIPTION -The -.Fn zip_error_strerror -function returns an error message string corresponding to -.Ar ze -like -.Xr strerror 3 . -This string will stay valid until the next call to -.Fn zip_error_strerror -or until -.Xr zip_error_fini 3 -is called. -.Sh SEE ALSO -.Xr libzip 3 , -.Xr strerror 3 , -.Xr zip_error_fini 3 -.Sh HISTORY -.Fn zip_error_strerror -was added in libzip 1.0. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_error_system_type.3 b/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_error_system_type.3 deleted file mode 100644 index 5a74dc0..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_error_system_type.3 +++ /dev/null @@ -1,77 +0,0 @@ -.\" zip_error_system_type.mdoc -- return system type for error -.\" Copyright (C) 2014-2017 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd December 18, 2017 -.Dt ZIP_ERROR_SYSTEM_TYPE 3 -.Os -.Sh NAME -.Nm zip_error_system_type -.Nd return type of system error -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft int -.Fn zip_error_system_type "const zip_error_t *ze" -.Sh DESCRIPTION -The -.Fn zip_error_system_type -function returns the type of the system specific part for the zip_error -.Ar ze . -Currently, the following system types are defined: -.Bl -tag -width ZIP_ET_NONE -.It Dv ZIP_ET_NONE -System specific part of -.Ar ze -is unused. -.It Dv ZIP_ET_SYS -System specific part of -.Ar ze -is an -.Xr errno 2 . -.It Dv ZIP_ET_ZLIB -System specific part of -.Ar ze -is a -.Xr zlib 3 -error. -.El -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_error_code_system 3 -.Sh HISTORY -.Fn zip_error_system_type -was added in libzip 1.0. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_error_to_data.3 b/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_error_to_data.3 deleted file mode 100644 index 6fdb2a3..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_error_to_data.3 +++ /dev/null @@ -1,69 +0,0 @@ -.\" zip_error_to_data.mdoc -- create error data for ZIP_SOURCE_ERROR -.\" Copyright (C) 2014-2017 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd December 18, 2017 -.Dt ZIP_ERROR_TO_DATA 3 -.Os -.Sh NAME -.Nm zip_error_to_data -.Nd convert zip_error to return value suitable for ZIP_SOURCE_ERROR -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft zip_int64_t -.Fn zip_error_to_data "const zip_error_t *ze" "void *data" "zip_uint64_t len" -.Sh DESCRIPTION -.Fn zip_error_to_data -function converts the zip_error -.Ar ze -into data suitable as return value for -.Dv ZIP_SOURCE_ERROR . -The data is written into the buffer -.Ar data -of size -.Ar len . -If the buffer is not large enough to hold 2 ints, an error is -returned. -.Sh RETURN VALUES -.Fn zip_error_to_data -returns 2*(sizeof int) on success, and \-1 on error. -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_source_function 3 -.Sh HISTORY -.Fn zip_error_to_data -was added in libzip 1.0. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_error_to_str.3 b/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_error_to_str.3 deleted file mode 100644 index 62b5a32..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_error_to_str.3 +++ /dev/null @@ -1,88 +0,0 @@ -.\" zip_error_to_str.mdoc -- get string representation of zip error code -.\" Copyright (C) 2003-2017 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd December 18, 2017 -.Dt ZIP_ERROR_TO_STR 3 -.Os -.Sh NAME -.Nm zip_error_to_str -.Nd get string representation of zip error (obsolete interface) -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft int -.Fn zip_error_to_str "char *buf" "zip_uint64_t len" "int ze" "int se" -.Sh DESCRIPTION -The function -.Fn zip_error_to_str -is deprecated; use -.Xr zip_error_init_with_code 3 -and -.Xr zip_error_strerror 3 -instead. -.Pp -Replace -.Bd -literal -offset indent -char buf[BUFSIZE]; -zip_error_to_str(buf, sizeof(buf), ze, se); -printf("%s", buf); -.Ed -with -.Bd -literal -offset indent -zip_error_t error; -zip_error_init_with_code(&error, ze); -printf("%s", zip_error_strerror(&error)); -zip_error_fini(&error); -.Ed -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_error_init_with_code 3 , -.Xr zip_error_strerror 3 -.Sh HISTORY -.Fn zip_error_to_str -was added in libzip 0.6. -In libzip 0.10 the type of -.Ar len -was changed from -.Vt size_t -to -.Vt zip_uint64_t . -It was deprecated in libzip 1.0, use -.Fn zip_error_init_with_code -and -.Fn zip_error_strerror -instead. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_errors.3 b/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_errors.3 deleted file mode 100644 index 117e2e9..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_errors.3 +++ /dev/null @@ -1,125 +0,0 @@ -.\" zip_errors.mdoc -- list of all libzip error codes -.\" Copyright (C) 1999-2024 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.\" This file was generated automatically by ./make_zip_errors.sh -.\" from ../lib/zip.h; make changes there. -.\" -.Dd March 15, 2024 -.Dt ZIP_ERRORS 3 -.Os -.Sh NAME -.Nm zip_errors -.Nd list of all libzip error codes -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Sh DESCRIPTION -The following error codes are used by libzip: -.Bl -tag -width XZIPXERXCOMPNOTSUPPXX -.It Bq Er ZIP_ER_CANCELLED -Operation cancelled. -.It Bq Er ZIP_ER_CHANGED -Entry has been changed. -.It Bq Er ZIP_ER_CLOSE -Closing zip archive failed. -.It Bq Er ZIP_ER_COMPNOTSUPP -Compression method not supported. -.It Bq Er ZIP_ER_COMPRESSED_DATA -Compressed data invalid. -.It Bq Er ZIP_ER_CRC -CRC error. -.It Bq Er ZIP_ER_DATA_LENGTH -Unexpected length of data. -.It Bq Er ZIP_ER_DELETED -Entry has been deleted. -.It Bq Er ZIP_ER_ENCRNOTSUPP -Encryption method not supported. -.It Bq Er ZIP_ER_EOF -Premature end of file. -.It Bq Er ZIP_ER_EXISTS -File already exists. -.It Bq Er ZIP_ER_INCONS -Zip archive inconsistent. -.It Bq Er ZIP_ER_INTERNAL -Internal error. -.It Bq Er ZIP_ER_INUSE -Resource still in use. -.It Bq Er ZIP_ER_INVAL -Invalid argument. -.It Bq Er ZIP_ER_MEMORY -Malloc failure. -.It Bq Er ZIP_ER_MULTIDISK -Multi-disk zip archives not supported. -.It Bq Er ZIP_ER_NOENT -No such file. -.It Bq Er ZIP_ER_NOPASSWD -No password provided. -.It Bq Er ZIP_ER_NOT_ALLOWED -Not allowed in torrentzip. -.It Bq Er ZIP_ER_NOZIP -Not a zip archive. -.It Bq Er ZIP_ER_OK -No error. -.It Bq Er ZIP_ER_OPEN -Can't open file. -.It Bq Er ZIP_ER_OPNOTSUPP -Operation not supported. -.It Bq Er ZIP_ER_RDONLY -Read-only archive. -.It Bq Er ZIP_ER_READ -Read error. -.It Bq Er ZIP_ER_REMOVE -Can't remove file. -.It Bq Er ZIP_ER_RENAME -Renaming temporary file failed. -.It Bq Er ZIP_ER_SEEK -Seek error. -.It Bq Er ZIP_ER_TELL -Tell error. -.It Bq Er ZIP_ER_TMPOPEN -Failure to create temporary file. -.It Bq Er ZIP_ER_TRUNCATED_ZIP -Possibly truncated or corrupted zip archive. -.It Bq Er ZIP_ER_WRITE -Write error. -.It Bq Er ZIP_ER_WRONGPASSWD -Wrong password provided. -.It Bq Er ZIP_ER_ZIPCLOSED -Containing zip archive was closed. -.It Bq Er ZIP_ER_ZLIB -Zlib error. -.El -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_fclose.3 b/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_fclose.3 deleted file mode 100644 index 42e5e80..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_fclose.3 +++ /dev/null @@ -1,65 +0,0 @@ -.\" zip_fclose.mdoc -- close file in zip archive -.\" Copyright (C) 2003-2017 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd December 18, 2017 -.Dt ZIP_FCLOSE 3 -.Os -.Sh NAME -.Nm zip_fclose -.Nd close file in zip archive -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft int -.Fn zip_fclose "zip_file_t *file" -.Sh DESCRIPTION -The -.Fn zip_fclose -function closes -.Ar file -and frees the memory allocated for it. -.Sh RETURN VALUES -Upon successful completion 0 is returned. -Otherwise, the error code is returned. -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_fopen 3 , -.Xr zip_fread 3 , -.Xr zip_fseek 3 -.Sh HISTORY -.Fn zip_fclose -was added in libzip 0.6. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_fdopen.3 b/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_fdopen.3 deleted file mode 100644 index ee249e5..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_fdopen.3 +++ /dev/null @@ -1,149 +0,0 @@ -.\" zip_fdopen.mdoc -- open zip archive using existing file descriptor -.\" Copyright (C) 2009-2021 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd September 23, 2022 -.Dt ZIP_FDOPEN 3 -.Os -.Sh NAME -.Nm zip_fdopen -.Nd open zip archive using open file descriptor -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft zip_t * -.Fn zip_fdopen "int fd" "int flags" "int *errorp" -.Sh DESCRIPTION -The zip archive specified by the open file descriptor -.Ar fd -is opened and a pointer to a -.Ft struct zip , -used to manipulate the archive, is returned. -In contrast to -.Xr zip_open 3 , -using -.Nm zip_fdopen -the archive can only be opened in read-only mode. -The -.Ar fd -argument may not be used any longer after calling -.Nm zip_fdopen . -The -.Fa flags -are specified by -.Em or Ns No 'ing -the following values, or 0 for none of them. -.Bl -tag -offset indent -width ZIP_CHECKCONS -.It Dv ZIP_CHECKCONS -Perform additional stricter consistency checks on the archive, and -error if they fail. -.El -.Pp -If an error occurs and -.Ar errorp -is -.No non- Ns Dv NULL , -it will be set to the corresponding error code. -.Sh RETURN VALUES -Upon successful completion -.Fn zip_fdopen -returns a -.Ft struct zip -pointer, and -.Ar fd -should not be used any longer, nor passed to -.Xr close 2 . -Otherwise, -.Dv NULL -is returned and -.Ar *errorp -is set to indicate the error. -In the error case, -.Ar fd -remains unchanged. -.Sh ERRORS -The file specified by -.Ar fd -is prepared for use by -.Xr libzip 3 -unless: -.Bl -tag -width Er -.It Bq Er ZIP_ER_INCONS -Inconsistencies were found in the file specified by -.Ar path . -This error is often caused by specifying -.Dv ZIP_CHECKCONS -but can also happen without it. -.It Bq Er ZIP_ER_INVAL -The -.Ar flags -argument is invalid. -Not all -.Xr zip_open 3 -flags are allowed for -.Nm zip_fdopen , -see -.Sx DESCRIPTION . -.It Bq Er ZIP_ER_MEMORY -Required memory could not be allocated. -.It Bq Er ZIP_ER_NOZIP -The file specified by -.Ar fd -is not a zip archive. -.It Bq Er ZIP_ER_OPEN -The file specified by -.Ar fd -could not be prepared for use by -.Xr libzip 3 . -.It Bq Er ZIP_ER_OPNOTSUPP -This functionality has been disabled at compile time. -.It Bq Er ZIP_ER_READ -A read error occurred; see -.Va errno -for details. -.It Bq Er ZIP_ER_SEEK -The file specified by -.Ar fd -does not allow seeks. -.El -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_close 3 , -.Xr zip_error_strerror 3 , -.Xr zip_open 3 -.Sh HISTORY -.Fn zip_fdopen -was added in libzip 1.0. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_file_add.3 b/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_file_add.3 deleted file mode 100644 index 8a6ceb7..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_file_add.3 +++ /dev/null @@ -1,175 +0,0 @@ -.\" zip_file_add.mdoc -- add files to zip archive -.\" Copyright (C) 2004-2021 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd March 18, 2024 -.Dt ZIP_FILE_ADD 3 -.Os -.Sh NAME -.Nm zip_file_add , -.Nm zip_file_replace -.Nd add file to zip archive or replace file in zip archive -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft zip_int64_t -.Fn zip_file_add "zip_t *archive" "const char *name" "zip_source_t *source" "zip_flags_t flags" -.Ft int -.Fn zip_file_replace "zip_t *archive" "zip_uint64_t index" "zip_source_t *source" "zip_flags_t flags" -.Sh DESCRIPTION -The function -.Fn zip_file_add -adds a file to a zip archive, while -.Fn zip_file_replace -replaces an existing file in a zip archive. -The argument -.Ar archive -specifies the zip archive to which the file should be added. -.Ar name -is the file's name in the zip archive (for -.Fn zip_file_add ) , -while -.Ar index -specifies which file should be replaced (for -.Fn zip_file_replace ) . -The -.Ar flags -argument can be any combination of -.Dv ZIP_FL_OVERWRITE -with one of -.Dv ZIP_FL_ENC_* : -.Bl -tag -width XZIPXFLXENCXSTRICTXX -.It Dv ZIP_FL_OVERWRITE -Overwrite any existing file of the same name. -For -.Nm zip_file_add -only. -.It Dv ZIP_FL_ENC_GUESS -Guess encoding of -.Ar name -(default). -(Only CP-437 and UTF-8 are recognized.) -.It Dv ZIP_FL_ENC_UTF_8 -Interpret -.Ar name -as UTF-8. -.It Dv ZIP_FL_ENC_CP437 -Interpret -.Ar name -as code page 437 (CP-437). -.El -The data is obtained from the -.Ar source -argument, see -.Xr zip_source 3 . -.Pp -.Em NOTE : -.Xr zip_source_free 3 -should not be called on a -.Ar source -after it was used successfully in a -.Nm zip_file_add -or -.Nm zip_file_replace -call. -.Pp -Please also note that when using -.Nm zip_replace , -the target file's extra field information will be deleted since this -usually is dependent on the file contents. -If you want to keep them, query them beforehand with -.Xr zip_file_extra_field_get 3 -and restore them after -.Nm zip_replace -with -.Xr zip_file_extra_field_set 3 . -.Sh RETURN VALUES -Upon successful completion, -.Fn zip_file_add -returns the index of the new file in the archive, and -.Fn zip_file_replace -returns 0. -Otherwise, \-1 is returned and the error code in -.Ar archive -is set to indicate the error. -.Sh EXAMPLES -.Bd -literal -offset indent -zip_source_t *s; -const char buf[]="teststring"; - -if ((s=zip_source_buffer(archive, buf, sizeof(buf), 0)) == NULL || - zip_file_add(archive, name, s, ZIP_FL_ENC_UTF_8) < 0) { - zip_source_free(s); - printf("error adding file: %s\en", zip_strerror(archive)); -} -.Ed -.Sh ERRORS -.Fn zip_file_add -and -.Fn zip_file_replace -fail if: -.Bl -tag -width Er -.It Bq Er ZIP_ER_EXISTS -There is already a file called -.Ar name -in the archive. -(Only applies to -.Fn zip_file_add , -and only if -.Dv ZIP_FL_OVERWRITE -is not provided). -.It Bq Er ZIP_ER_INVAL -.Ar source -or -.Ar name -are -.Dv NULL , -or -.Ar index -is invalid. -.It Bq Er ZIP_ER_MEMORY -Required memory could not be allocated. -.It Bq Er ZIP_ER_RDONLY -Archive was opened in read-only mode. -.El -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_source 3 -.Sh HISTORY -.Fn zip_file_add -and -.Fn zip_file_replace -were added in libzip 0.11. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_file_attributes_init.3 b/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_file_attributes_init.3 deleted file mode 100644 index 27ca205..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_file_attributes_init.3 +++ /dev/null @@ -1,61 +0,0 @@ -.\" zip_file_attributes_init.mdoc -- initialize attributes structure -.\" Copyright (C) 2020 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP files. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd April 17, 2020 -.Dt ZIP_FILE_ATTRIBUTES_INIT 3 -.Os -.Sh NAME -.Nm zip_file_attributes_init -.Nd initialize zip file attributes structure -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft void -.Fn zip_file_attributes_init "zip_file_attributes_t *attributes" -.Sh DESCRIPTION -The -.Fn zip_file_attributes_init -initializes a -.Vt zip_file_attributes_t -structure with default values. -It must be called before modifying such a structure for the first time. -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_source_function 3 -.Sh HISTORY -.Fn zip_file_attributes_init -was added in libzip 1.7.0. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_file_error_clear.3 b/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_file_error_clear.3 deleted file mode 100644 index 5b2bc6e..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_file_error_clear.3 +++ /dev/null @@ -1,69 +0,0 @@ -.\" zip_error_clear.mdoc -- clear error state for archive or file -.\" Copyright (C) 2006-2021 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd December 18, 2017 -.Dt ZIP_ERROR_CLEAR 3 -.Os -.Sh NAME -.Nm zip_error_clear , -.Nm zip_file_error_clear -.Nd clear error state for archive or file -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft void -.Fn zip_error_clear "zip_t *archive" -.Ft void -.Fn zip_file_error_clear "zip_file_t *file" -.Sh DESCRIPTION -The -.Fn zip_error_clear -function clears the error state for the zip archive -.Ar archive . -.Pp -The -.Fn zip_file_error_clear -function does the same for the zip file -.Ar file . -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_get_error 3 -.Sh HISTORY -.Fn zip_error_clear -and -.Fn zip_file_error_clear -were added in libzip 0.8. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_file_error_get.3 b/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_file_error_get.3 deleted file mode 100644 index 55b0979..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_file_error_get.3 +++ /dev/null @@ -1,117 +0,0 @@ -.\" zip_error_get.mdoc -- get error codes for archive or file -.\" Copyright (C) 2004-2017 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd December 18, 2017 -.Dt ZIP_ERROR_GET 3 -.Os -.Sh NAME -.Nm zip_error_get , -.Nm zip_file_error_get -.Nd get error codes for archive or file (obsolete interface) -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft void -.Fn zip_error_get "zip_t *archive" "int *zep" "int *sep" -.Ft void -.Fn zip_file_error_get "zip_file_t *file" "int *zep" "int *sep" -.Sh DESCRIPTION -The functions -.Fn zip_error_get -and -.Fn zip_file_error_get -are deprecated. -Use -.Xr zip_error_code_system 3 , -.Xr zip_error_code_zip 3 , -.Xr zip_file_get_error 3 , -and -.Xr zip_get_error 3 -instead. -.Pp -For -.Fn zip_error_get , -replace -.Bd -literal -offset indent -int ze, se; -zip_error_get(za, &ze, &se); -.Ed -with -.Bd -literal -offset indent -int ze, se; -zip_error_t *error = zip_get_error(za); -ze = zip_error_code_zip(error); -se = zip_error_code_system(error); -.Ed -For -.Fn zip_file_error_get , -replace -.Bd -literal -offset indent -int ze, se; -zip_file_error_get(zf, &ze, &se); -.Ed -with -.Bd -literal -offset indent -int ze, se; -zip_error_t *error = zip_file_get_error(zf); -ze = zip_error_code_zip(error); -se = zip_error_code_system(error); -.Ed -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_error_code_system 3 , -.Xr zip_error_code_zip 3 , -.Xr zip_file_get_error 3 , -.Xr zip_get_error 3 -.Sh HISTORY -.Fn zip_error_get -was added in libzip 0.6. -It was deprecated in libzip 1.0, use -.Fn zip_get_error , -.Fn zip_error_code_zip , -/ -.Fn zip_error_code_system -instead. -.Pp -.Fn zip_file_error_get -was added in libzip 0.6. -It was deprecated in libzip 1.0, use -.Fn zip_file_get_error , -.Fn zip_error_code_zip , -/ -.Fn zip_error_code_system -instead. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_file_extra_field_delete.3 b/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_file_extra_field_delete.3 deleted file mode 100644 index a194161..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_file_extra_field_delete.3 +++ /dev/null @@ -1,130 +0,0 @@ -.\" zip_file_extra_field_delete.mdoc -- delete extra field for file in zip -.\" Copyright (C) 2012-2017 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP files. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd December 18, 2017 -.Dt ZIP_FILE_EXTRA_FIELD_DELETE 3 -.Os -.Sh NAME -.Nm zip_file_extra_field_delete , -.Nm zip_file_extra_field_delete_by_id -.Nd delete extra field for file in zip -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft int -.Fn zip_file_extra_field_delete "zip_t *archive" "zip_uint64_t index" "zip_uint16_t extra_field_index" "zip_flags_t flags" -.Ft int -.Fn zip_file_extra_field_delete_by_id "zip_t *archive" "zip_uint64_t index" "zip_uint16_t extra_field_id" "zip_uint16_t extra_field_index" "zip_flags_t flags" -.Sh DESCRIPTION -The -.Fn zip_file_extra_field_delete -function deletes the extra field with index -.Ar extra_field_index -for the file at position -.Ar index -in the zip archive. -.Pp -If -.Ar extra_field_index -is -.Dv ZIP_EXTRA_FIELD_ALL , -then all extra fields will be deleted. -.Pp -The following -.Ar flags -are supported: -.Bl -tag -width ZIP_FL_CENTRALXX -offset indent -.It Dv ZIP_FL_CENTRAL -Delete extra fields from the archive's central directory. -.It Dv ZIP_FL_LOCAL -Delete extra fields from the local file headers. -.El -.Pp -The -.Fn zip_file_extra_field_delete_by_id -function deletes the extra field with ID (two-byte signature) -.Ar extra_field_id -and index -.Ar extra_field_index -(in other words, the -.Ar extra_field_index Ns No 'th -extra field with ID -.Ar extra_field_id ) -The other arguments are the same as for -.Fn zip_file_extra_field_delete -.Dv ( ZIP_EXTRA_FIELD_ALL -will delete all extra fields of the specified ID). -.Pp -Please note that due to the library design, the index of an extra -field may be different between central directory and local file -headers. -For this reason, it is not allowed to specify both -.Dv ZIP_FL_CENTRAL -and -.Dv ZIP_FL_LOCAL -in -.Ar flags , -except when deleting all extra fields (i.e., -.Ar extra_field_index -being -.Dv ZIP_EXTRA_FIELD_ALL ) . -.Sh RETURN VALUES -Upon successful completion 0 is returned. -Otherwise, \-1 is returned and the error code in -.Ar archive -is set to indicate the error. -.Sh ERRORS -.Fn zip_file_extra_field_delete -and -.Fn zip_file_extra_field_delete_by_id -fail if: -.Bl -tag -width Er -.It Bq Er ZIP_ER_NOENT -.Ar index -is not a valid file index in -.Ar archive . -.El -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_file_extra_field_get 3 , -.Xr zip_file_extra_field_set 3 , -.Xr zip_file_extra_fields_count 3 -.Sh HISTORY -.Fn zip_file_extra_field_delete -and -.Fn zip_file_extra_field_delete_by_id -were added in libzip 0.11. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_file_extra_field_delete_by_id.3 b/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_file_extra_field_delete_by_id.3 deleted file mode 100644 index a194161..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_file_extra_field_delete_by_id.3 +++ /dev/null @@ -1,130 +0,0 @@ -.\" zip_file_extra_field_delete.mdoc -- delete extra field for file in zip -.\" Copyright (C) 2012-2017 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP files. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd December 18, 2017 -.Dt ZIP_FILE_EXTRA_FIELD_DELETE 3 -.Os -.Sh NAME -.Nm zip_file_extra_field_delete , -.Nm zip_file_extra_field_delete_by_id -.Nd delete extra field for file in zip -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft int -.Fn zip_file_extra_field_delete "zip_t *archive" "zip_uint64_t index" "zip_uint16_t extra_field_index" "zip_flags_t flags" -.Ft int -.Fn zip_file_extra_field_delete_by_id "zip_t *archive" "zip_uint64_t index" "zip_uint16_t extra_field_id" "zip_uint16_t extra_field_index" "zip_flags_t flags" -.Sh DESCRIPTION -The -.Fn zip_file_extra_field_delete -function deletes the extra field with index -.Ar extra_field_index -for the file at position -.Ar index -in the zip archive. -.Pp -If -.Ar extra_field_index -is -.Dv ZIP_EXTRA_FIELD_ALL , -then all extra fields will be deleted. -.Pp -The following -.Ar flags -are supported: -.Bl -tag -width ZIP_FL_CENTRALXX -offset indent -.It Dv ZIP_FL_CENTRAL -Delete extra fields from the archive's central directory. -.It Dv ZIP_FL_LOCAL -Delete extra fields from the local file headers. -.El -.Pp -The -.Fn zip_file_extra_field_delete_by_id -function deletes the extra field with ID (two-byte signature) -.Ar extra_field_id -and index -.Ar extra_field_index -(in other words, the -.Ar extra_field_index Ns No 'th -extra field with ID -.Ar extra_field_id ) -The other arguments are the same as for -.Fn zip_file_extra_field_delete -.Dv ( ZIP_EXTRA_FIELD_ALL -will delete all extra fields of the specified ID). -.Pp -Please note that due to the library design, the index of an extra -field may be different between central directory and local file -headers. -For this reason, it is not allowed to specify both -.Dv ZIP_FL_CENTRAL -and -.Dv ZIP_FL_LOCAL -in -.Ar flags , -except when deleting all extra fields (i.e., -.Ar extra_field_index -being -.Dv ZIP_EXTRA_FIELD_ALL ) . -.Sh RETURN VALUES -Upon successful completion 0 is returned. -Otherwise, \-1 is returned and the error code in -.Ar archive -is set to indicate the error. -.Sh ERRORS -.Fn zip_file_extra_field_delete -and -.Fn zip_file_extra_field_delete_by_id -fail if: -.Bl -tag -width Er -.It Bq Er ZIP_ER_NOENT -.Ar index -is not a valid file index in -.Ar archive . -.El -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_file_extra_field_get 3 , -.Xr zip_file_extra_field_set 3 , -.Xr zip_file_extra_fields_count 3 -.Sh HISTORY -.Fn zip_file_extra_field_delete -and -.Fn zip_file_extra_field_delete_by_id -were added in libzip 0.11. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_file_extra_field_get.3 b/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_file_extra_field_get.3 deleted file mode 100644 index b1fa8a8..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_file_extra_field_get.3 +++ /dev/null @@ -1,157 +0,0 @@ -.\" zip_file_extra_field_get.mdoc -- get extra field for file in zip -.\" Copyright (C) 2012-2017 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP files. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd December 18, 2017 -.Dt ZIP_FILE_EXTRA_FIELD_GET 3 -.Os -.Sh NAME -.Nm zip_file_extra_field_get , -.Nm zip_file_extra_field_get_by_id -.Nd get extra field for file in zip -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft const zip_uint8_t * -.Fn zip_file_extra_field_get "zip_t *archive" "zip_uint64_t index" "zip_uint16_t extra_field_index" "zip_uint16_t *idp" "zip_uint16_t *lenp" "zip_flags_t flags" -.Ft const zip_uint8_t * -.Fn zip_file_extra_field_get_by_id "zip_t *archive" "zip_uint64_t index" "zip_uint16_t extra_field_id" "zip_uint16_t extra_field_index" "zip_uint16_t *lenp" "zip_flags_t flags" -.Sh DESCRIPTION -The -.Fn zip_file_extra_field_get -function returns the extra field with index -.Ar extra_field_index -for the file at position -.Ar index -in the zip archive. -This pointer should not be modified or -.Xr free 3 Ap d , -and becomes invalid when -.Ar archive -is closed. -If -.Ar idp -is not -.Dv NULL , -the integer to which it points will be set to the ID (two-byte -signature) of the selected extra field. -If -.Ar lenp -is not -.Dv NULL , -the integer to which it points will be set to the length of the -extra field. -Generally speaking, -.Ar lenp -and -.Ar idp -should be passed since only the extra field data is returned (i.e., -neither the ID nor the length, if the -.Ar idp -and -.Ar lenp -arguments are not provided). -.Pp -The following -.Ar flags -are supported: -.Bl -tag -width ZIP_FL_UNCHANGEDXX -offset indent -.It Dv ZIP_FL_CENTRAL -Return extra fields from the archive's central directory. -.It Dv ZIP_FL_LOCAL -Return extra fields from the local file headers. -.It Dv ZIP_FL_UNCHANGED -Return the original unchanged extra fields, ignoring any changes made. -.El -.Pp -The -.Fn zip_file_extra_field_get_by_id -function returns the extra field with ID (two-byte signature) -.Ar extra_field_id -and index -.Ar extra_field_index -(in other words, the -.Ar extra_field_index Ns No 'th -extra field with ID -.Ar extra_field_id ) -The other arguments are the same as for -.Fn zip_file_extra_field_get . -.Sh RETURN VALUES -Upon successful completion, a pointer to an extra field is returned, -or -.Dv NULL -if there is no extra field with that -.Ar extra_field_index -for the file with index -.Ar index . -In case of an error, -.Dv NULL -is returned and the error code in -.Ar archive -is set to indicate the error. -.Sh ERRORS -.Fn zip_file_extra_field_get -and -.Fn zip_file_extra_field_get_by_id -fail if: -.Bl -tag -width Er -.It Bq Er ZIP_ER_NOENT -.Ar index -is not a valid file index in -.Ar archive , -or -.Ar extra_field_index -is not a valid extra file index (for ID -.Ar extra_field_id ) . -.El -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_file_extra_field_delete 3 , -.Xr zip_file_extra_field_set 3 , -.Xr zip_file_extra_fields_count 3 -.Sh HISTORY -.Fn zip_file_extra_field_get -and -.Fn zip_file_extra_field_get_by_id -were added in libzip 0.11. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at -.Sh CAVEATS -Please note that the extra field IDs 0x0001 (ZIP64 extension), -0x6375 (Infozip UTF-8 comment), and -0x7075 (Infozip UTF-8 file name) can not be read using -.Fn zip_file_extra_field_get -since they are used by -.Xr libzip 3 -internally. diff --git a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_file_extra_field_get_by_id.3 b/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_file_extra_field_get_by_id.3 deleted file mode 100644 index b1fa8a8..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_file_extra_field_get_by_id.3 +++ /dev/null @@ -1,157 +0,0 @@ -.\" zip_file_extra_field_get.mdoc -- get extra field for file in zip -.\" Copyright (C) 2012-2017 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP files. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd December 18, 2017 -.Dt ZIP_FILE_EXTRA_FIELD_GET 3 -.Os -.Sh NAME -.Nm zip_file_extra_field_get , -.Nm zip_file_extra_field_get_by_id -.Nd get extra field for file in zip -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft const zip_uint8_t * -.Fn zip_file_extra_field_get "zip_t *archive" "zip_uint64_t index" "zip_uint16_t extra_field_index" "zip_uint16_t *idp" "zip_uint16_t *lenp" "zip_flags_t flags" -.Ft const zip_uint8_t * -.Fn zip_file_extra_field_get_by_id "zip_t *archive" "zip_uint64_t index" "zip_uint16_t extra_field_id" "zip_uint16_t extra_field_index" "zip_uint16_t *lenp" "zip_flags_t flags" -.Sh DESCRIPTION -The -.Fn zip_file_extra_field_get -function returns the extra field with index -.Ar extra_field_index -for the file at position -.Ar index -in the zip archive. -This pointer should not be modified or -.Xr free 3 Ap d , -and becomes invalid when -.Ar archive -is closed. -If -.Ar idp -is not -.Dv NULL , -the integer to which it points will be set to the ID (two-byte -signature) of the selected extra field. -If -.Ar lenp -is not -.Dv NULL , -the integer to which it points will be set to the length of the -extra field. -Generally speaking, -.Ar lenp -and -.Ar idp -should be passed since only the extra field data is returned (i.e., -neither the ID nor the length, if the -.Ar idp -and -.Ar lenp -arguments are not provided). -.Pp -The following -.Ar flags -are supported: -.Bl -tag -width ZIP_FL_UNCHANGEDXX -offset indent -.It Dv ZIP_FL_CENTRAL -Return extra fields from the archive's central directory. -.It Dv ZIP_FL_LOCAL -Return extra fields from the local file headers. -.It Dv ZIP_FL_UNCHANGED -Return the original unchanged extra fields, ignoring any changes made. -.El -.Pp -The -.Fn zip_file_extra_field_get_by_id -function returns the extra field with ID (two-byte signature) -.Ar extra_field_id -and index -.Ar extra_field_index -(in other words, the -.Ar extra_field_index Ns No 'th -extra field with ID -.Ar extra_field_id ) -The other arguments are the same as for -.Fn zip_file_extra_field_get . -.Sh RETURN VALUES -Upon successful completion, a pointer to an extra field is returned, -or -.Dv NULL -if there is no extra field with that -.Ar extra_field_index -for the file with index -.Ar index . -In case of an error, -.Dv NULL -is returned and the error code in -.Ar archive -is set to indicate the error. -.Sh ERRORS -.Fn zip_file_extra_field_get -and -.Fn zip_file_extra_field_get_by_id -fail if: -.Bl -tag -width Er -.It Bq Er ZIP_ER_NOENT -.Ar index -is not a valid file index in -.Ar archive , -or -.Ar extra_field_index -is not a valid extra file index (for ID -.Ar extra_field_id ) . -.El -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_file_extra_field_delete 3 , -.Xr zip_file_extra_field_set 3 , -.Xr zip_file_extra_fields_count 3 -.Sh HISTORY -.Fn zip_file_extra_field_get -and -.Fn zip_file_extra_field_get_by_id -were added in libzip 0.11. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at -.Sh CAVEATS -Please note that the extra field IDs 0x0001 (ZIP64 extension), -0x6375 (Infozip UTF-8 comment), and -0x7075 (Infozip UTF-8 file name) can not be read using -.Fn zip_file_extra_field_get -since they are used by -.Xr libzip 3 -internally. diff --git a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_file_extra_field_set.3 b/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_file_extra_field_set.3 deleted file mode 100644 index 8646c64..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_file_extra_field_set.3 +++ /dev/null @@ -1,115 +0,0 @@ -.\" zip_file_extra_field_set.mdoc -- set extra field for file in zip -.\" Copyright (C) 2012-2017 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP files. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd December 18, 2017 -.Dt ZIP_FILE_EXTRA_FIELD_SET 3 -.Os -.Sh NAME -.Nm zip_file_extra_field_set -.Nd set extra field for file in zip -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft int -.Fn zip_file_extra_field_set "zip_t *archive" "zip_uint64_t index" "zip_uint16_t extra_field_id" "zip_uint16_t extra_field_index" "const zip_uint8_t *extra_field_data" "zip_uint16_t len" "zip_flags_t flags" -.Sh DESCRIPTION -The -.Fn zip_file_extra_field_set -function sets the extra field with ID (two-byte signature) -.Ar extra_field_id -and index -.Ar extra_field_index -for the file at position -.Ar index -in the zip archive. -The extra field's data will be set to -.Ar extra_field_data -and length -.Ar len . -If a new entry shall be appended, set -.Ar extra_field_index -to -.Dv ZIP_EXTRA_FIELD_NEW . -.Pp -At least one of the following -.Ar flags -must be set: -.Bl -tag -width ZIP_FL_CENTRALXX -offset indent -.It Dv ZIP_FL_CENTRAL -Set extra field in the archive's central directory. -.It Dv ZIP_FL_LOCAL -Set extra field in the local file headers. -.El -.Pp -Please note that the extra field IDs 0x0001 (ZIP64 extension), -0x6375 (Infozip UTF-8 comment), and -0x7075 (Infozip UTF-8 file name) can not be set using -.Fn zip_file_extra_field_set -since they are set by -.Xr libzip 3 -automatically when needed. -.Sh RETURN VALUES -Upon successful completion 0 is returned. -Otherwise, \-1 is returned and the error code in -.Ar archive -is set to indicate the error. -.Sh ERRORS -.Fn zip_file_extra_field_set -fails if: -.Bl -tag -width Er -.It Bq Er ZIP_ER_INVAL -The extra field size is too large (ID and length need 4 bytes; the -maximum length of all extra fields for one file combined is 65536 -bytes). -This error also occurs if -.Ar extra_field_index -is too large. -.It Bq Er ZIP_ER_MEMORY -Required memory could not be allocated. -.It Bq Er ZIP_ER_NOENT -.Ar index -is not a valid file index in -.Ar archive . -.El -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_file_extra_field_delete 3 , -.Xr zip_file_extra_field_get 3 , -.Xr zip_file_extra_fields_count 3 -.Sh HISTORY -.Fn zip_file_extra_field_set -was added in libzip 0.11. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_file_extra_fields_count.3 b/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_file_extra_fields_count.3 deleted file mode 100644 index 1b40f5e..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_file_extra_fields_count.3 +++ /dev/null @@ -1,113 +0,0 @@ -.\" zip_file_extra_fields_count.mdoc -- count extra field for file in zip -.\" Copyright (C) 2012-2017 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP files. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd December 18, 2017 -.Dt ZIP_FILE_EXTRA_FIELDS_COUNT 3 -.Os -.Sh NAME -.Nm zip_file_extra_fields_count , -.Nm zip_file_extra_fields_count_by_id -.Nd count extra fields for file in zip -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft zip_int16_t -.Fn zip_file_extra_fields_count "zip_t *archive" "zip_uint64_t index" "zip_flags_t flags" -.Ft zip_int16_t -.Fn zip_file_extra_fields_count_by_id "zip_t *archive" "zip_uint64_t index" "zip_uint16_t extra_field_id" "zip_flags_t flags" -.Sh DESCRIPTION -The -.Fn zip_file_extra_fields_count -function counts the extra fields for the file at position -.Ar index -in the zip archive. -.Pp -The following -.Ar flags -are supported: -.Bl -tag -width ZIP_FL_CENTRALXX -offset indent -.It Dv ZIP_FL_CENTRAL -Count extra fields from the archive's central directory. -.It Dv ZIP_FL_LOCAL -Count extra fields from the local file headers. -.It Dv ZIP_FL_UNCHANGED -Count the original unchanged extra fields, ignoring any changes made. -.El -.Pp -The -.Fn zip_file_extra_fields_count_by_id -function counts the extra fields with ID (two-byte signature) -.Ar extra_field_id . -The other arguments are the same as for -.Fn zip_file_extra_fields_count . -.Pp -Extra fields that are the same in the central directory and the local file -header are merged into one. -Therefore, the counts with -.Dv ZIP_FL_CENTRAL -and -.Dv ZIP_FL_LOCAL -do not need to add up to the same value as when given -.Dv ZIP_FL_CENTRAL|ZIP_FL_LOCAL -at the same time. -.Sh RETURN VALUES -Upon successful completion, the requested number of extra fields is returned. -Otherwise, \-1 is returned and the error code in -.Ar archive -is set to indicate the error. -.Sh ERRORS -.Fn zip_file_extra_fields_count -and -.Fn zip_file_extra_fields_count_by_id -fail if: -.Bl -tag -width Er -.It Bq Er ZIP_ER_NOENT -.Ar index -is not a valid file index in -.Ar archive . -.\" TODO: _zip_read_local_ef errors -.El -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_file_extra_field_delete 3 , -.Xr zip_file_extra_field_get 3 , -.Xr zip_file_extra_field_set 3 -.Sh HISTORY -.Fn zip_file_extra_fields_count -and -.Fn zip_file_extra_fields_count_by_id -were added in libzip 0.11. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_file_extra_fields_count_by_id.3 b/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_file_extra_fields_count_by_id.3 deleted file mode 100644 index 1b40f5e..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_file_extra_fields_count_by_id.3 +++ /dev/null @@ -1,113 +0,0 @@ -.\" zip_file_extra_fields_count.mdoc -- count extra field for file in zip -.\" Copyright (C) 2012-2017 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP files. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd December 18, 2017 -.Dt ZIP_FILE_EXTRA_FIELDS_COUNT 3 -.Os -.Sh NAME -.Nm zip_file_extra_fields_count , -.Nm zip_file_extra_fields_count_by_id -.Nd count extra fields for file in zip -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft zip_int16_t -.Fn zip_file_extra_fields_count "zip_t *archive" "zip_uint64_t index" "zip_flags_t flags" -.Ft zip_int16_t -.Fn zip_file_extra_fields_count_by_id "zip_t *archive" "zip_uint64_t index" "zip_uint16_t extra_field_id" "zip_flags_t flags" -.Sh DESCRIPTION -The -.Fn zip_file_extra_fields_count -function counts the extra fields for the file at position -.Ar index -in the zip archive. -.Pp -The following -.Ar flags -are supported: -.Bl -tag -width ZIP_FL_CENTRALXX -offset indent -.It Dv ZIP_FL_CENTRAL -Count extra fields from the archive's central directory. -.It Dv ZIP_FL_LOCAL -Count extra fields from the local file headers. -.It Dv ZIP_FL_UNCHANGED -Count the original unchanged extra fields, ignoring any changes made. -.El -.Pp -The -.Fn zip_file_extra_fields_count_by_id -function counts the extra fields with ID (two-byte signature) -.Ar extra_field_id . -The other arguments are the same as for -.Fn zip_file_extra_fields_count . -.Pp -Extra fields that are the same in the central directory and the local file -header are merged into one. -Therefore, the counts with -.Dv ZIP_FL_CENTRAL -and -.Dv ZIP_FL_LOCAL -do not need to add up to the same value as when given -.Dv ZIP_FL_CENTRAL|ZIP_FL_LOCAL -at the same time. -.Sh RETURN VALUES -Upon successful completion, the requested number of extra fields is returned. -Otherwise, \-1 is returned and the error code in -.Ar archive -is set to indicate the error. -.Sh ERRORS -.Fn zip_file_extra_fields_count -and -.Fn zip_file_extra_fields_count_by_id -fail if: -.Bl -tag -width Er -.It Bq Er ZIP_ER_NOENT -.Ar index -is not a valid file index in -.Ar archive . -.\" TODO: _zip_read_local_ef errors -.El -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_file_extra_field_delete 3 , -.Xr zip_file_extra_field_get 3 , -.Xr zip_file_extra_field_set 3 -.Sh HISTORY -.Fn zip_file_extra_fields_count -and -.Fn zip_file_extra_fields_count_by_id -were added in libzip 0.11. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_file_get_comment.3 b/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_file_get_comment.3 deleted file mode 100644 index dc1461c..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_file_get_comment.3 +++ /dev/null @@ -1,119 +0,0 @@ -.\" zip_file_get_comment.mdoc -- get comment for file in zip -.\" Copyright (C) 2006-2021 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP files. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd September 22, 2020 -.Dt ZIP_FILE_GET_COMMENT 3 -.Os -.Sh NAME -.Nm zip_file_get_comment -.Nd get comment for file in zip -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft const char * -.Fn zip_file_get_comment "zip_t *archive" "zip_uint64_t index" "zip_uint32_t *lenp" "zip_flags_t flags" -.Sh DESCRIPTION -The -.Fn zip_file_get_comment -function returns the comment for the file at position -.Ar index -in the zip archive. -The name is in UTF-8 encoding unless -.Dv ZIP_FL_ENC_RAW -was specified (see below). -This pointer should not be modified or -.Xr free 3 Ap d , -and becomes invalid when -.Ar archive -is closed. -If -.Ar lenp -is not -.Dv NULL , -the integer to which it points will be set to the length of the -comment. -If -.Ar flags -is set to -.Dv ZIP_FL_UNCHANGED , -the original unchanged comment is returned. -.Pp -Additionally, the following -.Ar flags -are supported: -.Bl -tag -width ZIP_FL_ENC_STRICTXX -offset indent -.It Dv ZIP_FL_ENC_RAW -Return the unmodified comment as it is in the ZIP archive. -.It Dv ZIP_FL_ENC_GUESS -(Default.) -Guess the encoding of the comment in the ZIP archive and convert it -to UTF-8, if necessary. -(Only CP-437 and UTF-8 are recognized.) -.It Dv ZIP_FL_ENC_STRICT -Follow the ZIP specification for file names and extend it to file -comments, expecting them to be encoded in CP-437 in the ZIP archive -(except if it is a UTF-8 comment from the special extra field). -Convert it to UTF-8. -.El -.Em Note : -ASCII is a subset of both CP-437 and UTF-8. -.Sh RETURN VALUES -Upon successful completion, a pointer to the comment is returned, -or -.Dv NULL -if there is no comment. -In case of an error, -.Dv NULL -is returned and the error code in -.Ar archive -is set to indicate the error. -.Sh ERRORS -.Fn zip_file_get_comment -fails if: -.Bl -tag -width Er -.It Bq Er ZIP_ER_INVAL -.Ar index -is not a valid file index in -.Ar archive . -.El -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_file_set_comment 3 , -.Xr zip_get_archive_comment 3 -.Sh HISTORY -.Fn zip_file_get_comment -was added in libzip 0.11. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_file_get_error.3 b/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_file_get_error.3 deleted file mode 100644 index 5680a5e..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_file_get_error.3 +++ /dev/null @@ -1,57 +0,0 @@ -.\" zip_file_get_error.mdoc -- extract zip_error from zip_file -.\" Copyright (C) 2014-2017 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd December 18, 2017 -.Dt ZIP_FILE_GET_ERROR 3 -.Os -.Sh NAME -.Nm zip_file_get_error -.Nd extract zip_error from zip_file -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft zip_error_t * -.Fn zip_file_get_error "zip_file_t *zf" -.Sh DESCRIPTION -.Fn zip_file_get_error -function returns the zip_error associated with the zip_file -.Ar zf . -.Sh SEE ALSO -.Xr libzip 3 -.Sh HISTORY -.Fn zip_file_get_error -was added in libzip 1.0. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_file_get_external_attributes.3 b/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_file_get_external_attributes.3 deleted file mode 100644 index fe5293a..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_file_get_external_attributes.3 +++ /dev/null @@ -1,165 +0,0 @@ -.\" zip_file_get_external_attributes.mdoc -- get external attributes for file in zip -.\" Copyright (C) 2013-2017 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP files. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd December 18, 2017 -.Dt ZIP_FILE_GET_EXTERNAL_ATTRIBUTES 3 -.Os -.Sh NAME -.Nm zip_file_get_external_attributes -.Nd get external attributes for file in zip -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft int -.Fn zip_file_get_external_attributes "zip_t *archive" "zip_uint64_t index" "zip_flags_t flags" "zip_uint8_t *opsys" "zip_uint32_t *attributes" -.Sh DESCRIPTION -The -.Fn zip_file_get_external_attributes -function returns the operating system and external attributes for the -file at position -.Ar index -in the zip archive. -The external attributes usually contain the operating system-specific -file permissions. -If -.Ar flags -is set to -.Dv ZIP_FL_UNCHANGED , -the original unchanged values are returned. -If -.Ar opsys -or -.Ar attributes -are -.Dv NULL , -they are not filled in. -.Pp -The following operating systems are defined by the zip specification: -.Bl -item -compact -offset indent -.It -.Dv ZIP_OPSYS_ACORN_RISC -.It -.Dv ZIP_OPSYS_ALTERNATE_MVS -.It -.Dv ZIP_OPSYS_AMIGA -.It -.Dv ZIP_OPSYS_ATARI_ST -.It -.Dv ZIP_OPSYS_BEOS -.It -.Dv ZIP_OPSYS_CPM -.It -.Dv ZIP_OPSYS_DOS -.It -.Dv ZIP_OPSYS_MACINTOSH -.It -.Dv ZIP_OPSYS_MVS -.It -.Dv ZIP_OPSYS_OPENVMS -.It -.Dv ZIP_OPSYS_OS_2 -.It -.Dv ZIP_OPSYS_OS_400 -.It -.Dv ZIP_OPSYS_OS_X -.It -.Dv ZIP_OPSYS_TANDEM -.It -.Dv ZIP_OPSYS_UNIX -.It -.Dv ZIP_OPSYS_VFAT -.It -.Dv ZIP_OPSYS_VM_CMS -.It -.Dv ZIP_OPSYS_VSE -.It -.Dv ZIP_OPSYS_WINDOWS_NTFS -(uncommon, use -.Dv ZIP_OPSYS_DOS -instead) -.It -.Dv ZIP_OPSYS_Z_SYSTEM -.El -.Pp -The defines above follow the PKWARE Inc. Appnote; please note that -the InfoZIP Appnote has a slightly different mapping. -.Sh RETURN VALUES -Upon successful completion, 0 is returned. -In case of an error, -.Dv \-1 -is returned and the error code in -.Ar archive -is set to indicate the error. -.Sh EXAMPLES -The following code can be used to expand -.Ar attributes -if the operating system is -.Dv ZIP_OPSYS_DOS . -.Bd -literal -#include - -#define FA_RDONLY 0x01 // FILE_ATTRIBUTE_READONLY -#define FA_DIREC 0x10 // FILE_ATTRIBUTE_DIRECTORY - -static mode_t -_zip_dos_attr2mode(zip_uint32_t attr) -{ - mode_t m = S_IRUSR | S_IRGRP | S_IROTH; - if (0 == (attr & FA_RDONLY)) - m |= S_IWUSR | S_IWGRP | S_IWOTH; - - if (attr & FA_DIREC) - m = (S_IFDIR | (m & ~S_IFMT)) | S_IXUSR | S_IXGRP | S_IXOTH; - - return m; -} -.Ed -.Sh ERRORS -.Fn zip_file_get_external_attributes -fails if: -.Bl -tag -width Er -.It Bq Er ZIP_ER_INVAL -.Ar index -is not a valid file index in -.Ar archive . -.El -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_file_set_external_attributes 3 -.Sh HISTORY -.Fn zip_file_get_external_attributes -was added in libzip 0.11.2. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_file_is_seekable.3 b/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_file_is_seekable.3 deleted file mode 100644 index 3ba5a9e..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_file_is_seekable.3 +++ /dev/null @@ -1,89 +0,0 @@ -.\" zip_fseek.mdoc -- seek in file -.\" Copyright (C) 2016-2022 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd September 11, 2024 -.Dt ZIP_FSEEK 3 -.Os -.Sh NAME -.Nm zip_fseek , -.Nm zip_file_is_seekable -.Nd seek in file -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft zip_int8_t -.Fn zip_fseek "zip_file_t *file" "zip_int64_t offset" "int whence" -.Ft int -.Fn zip_file_is_seekable "zip_file_t *file" -.Sh DESCRIPTION -The -.Fn zip_fseek -function seeks to the specified -.Ar offset -relative to -.Ar whence , -just like -.Xr fseek 3 . -.Pp -.Nm -only works on uncompressed (stored), unencrypted data. -When called on compressed or encrypted data it will return an error. -.Pp -The -.Fn zip_file_is_seekable -function returns 1 if a file is seekable. -.Sh RETURN VALUES -If successful, -.Fn zip_fseek -returns 0. -Otherwise, \-1 is returned. -.Pp -.Fn zip_file_is_seekable -returns 1 if a file is seekable and 0 if not. -On an invalid argument, it returns \-1. -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_fclose 3 , -.Xr zip_file_get_error 3 , -.Xr zip_fopen 3 , -.Xr zip_fread 3 , -.Xr zip_ftell 3 -.Sh HISTORY -.Fn zip_fseek -was added in libzip 1.2.0. -.Fn zip_file_is_seekable -was added in libzip 1.9.0. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_file_rename.3 b/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_file_rename.3 deleted file mode 100644 index c4fad6b..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_file_rename.3 +++ /dev/null @@ -1,104 +0,0 @@ -.\" zip_file_rename.mdoc -- rename file in zip archive -.\" Copyright (C) 2003-2021 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd September 22, 2020 -.Dt ZIP_FILE_RENAME 3 -.Os -.Sh NAME -.Nm zip_file_rename -.Nd rename file in zip archive -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft int -.Fn zip_file_rename "zip_t *archive" "zip_uint64_t index" "const char *name" "zip_flags_t flags" -.Sh DESCRIPTION -The file at position -.Ar index -in the zip archive -.Ar archive -is renamed to -.Ar name . -The -.Ar flags -argument can be any of: -.Bl -tag -width XZIPXFLXENCXSTRICTXX -.It Dv ZIP_FL_ENC_GUESS -Guess encoding of -.Ar name -(default). -(Only CP-437 and UTF-8 are recognized.) -.It Dv ZIP_FL_ENC_UTF_8 -Interpret -.Ar name -as UTF-8. -.It Dv ZIP_FL_ENC_CP437 -Interpret -.Ar name -as code page 437 (CP-437). -.El -.Sh RETURN VALUES -Upon successful completion 0 is returned. -Otherwise, \-1 is returned and the error code in -.Ar archive -is set to indicate the error. -.Sh ERRORS -.Fn zip_file_rename -fails if: -.Bl -tag -width Er -.It Bq Er ZIP_ER_DELETED -The file to be renamed has been deleted from the archive. -.It Bq Er ZIP_ER_EXISTS -There is already a file called -.Ar name -in the archive. -.It Bq Er ZIP_ER_INVAL -.Ar index -is not a valid file index in -.Ar archive , -.Ar name is -.Dv NULL , -the empty string, or not a valid UTF-8 encoded string. -Also a file cannot be renamed to a directory or vice versa. -Directories are denoted by a trailing slash. -.El -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_unchange 3 -.Sh HISTORY -.Fn zip_file_rename -was added in libzip 0.11. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_file_replace.3 b/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_file_replace.3 deleted file mode 100644 index 8a6ceb7..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_file_replace.3 +++ /dev/null @@ -1,175 +0,0 @@ -.\" zip_file_add.mdoc -- add files to zip archive -.\" Copyright (C) 2004-2021 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd March 18, 2024 -.Dt ZIP_FILE_ADD 3 -.Os -.Sh NAME -.Nm zip_file_add , -.Nm zip_file_replace -.Nd add file to zip archive or replace file in zip archive -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft zip_int64_t -.Fn zip_file_add "zip_t *archive" "const char *name" "zip_source_t *source" "zip_flags_t flags" -.Ft int -.Fn zip_file_replace "zip_t *archive" "zip_uint64_t index" "zip_source_t *source" "zip_flags_t flags" -.Sh DESCRIPTION -The function -.Fn zip_file_add -adds a file to a zip archive, while -.Fn zip_file_replace -replaces an existing file in a zip archive. -The argument -.Ar archive -specifies the zip archive to which the file should be added. -.Ar name -is the file's name in the zip archive (for -.Fn zip_file_add ) , -while -.Ar index -specifies which file should be replaced (for -.Fn zip_file_replace ) . -The -.Ar flags -argument can be any combination of -.Dv ZIP_FL_OVERWRITE -with one of -.Dv ZIP_FL_ENC_* : -.Bl -tag -width XZIPXFLXENCXSTRICTXX -.It Dv ZIP_FL_OVERWRITE -Overwrite any existing file of the same name. -For -.Nm zip_file_add -only. -.It Dv ZIP_FL_ENC_GUESS -Guess encoding of -.Ar name -(default). -(Only CP-437 and UTF-8 are recognized.) -.It Dv ZIP_FL_ENC_UTF_8 -Interpret -.Ar name -as UTF-8. -.It Dv ZIP_FL_ENC_CP437 -Interpret -.Ar name -as code page 437 (CP-437). -.El -The data is obtained from the -.Ar source -argument, see -.Xr zip_source 3 . -.Pp -.Em NOTE : -.Xr zip_source_free 3 -should not be called on a -.Ar source -after it was used successfully in a -.Nm zip_file_add -or -.Nm zip_file_replace -call. -.Pp -Please also note that when using -.Nm zip_replace , -the target file's extra field information will be deleted since this -usually is dependent on the file contents. -If you want to keep them, query them beforehand with -.Xr zip_file_extra_field_get 3 -and restore them after -.Nm zip_replace -with -.Xr zip_file_extra_field_set 3 . -.Sh RETURN VALUES -Upon successful completion, -.Fn zip_file_add -returns the index of the new file in the archive, and -.Fn zip_file_replace -returns 0. -Otherwise, \-1 is returned and the error code in -.Ar archive -is set to indicate the error. -.Sh EXAMPLES -.Bd -literal -offset indent -zip_source_t *s; -const char buf[]="teststring"; - -if ((s=zip_source_buffer(archive, buf, sizeof(buf), 0)) == NULL || - zip_file_add(archive, name, s, ZIP_FL_ENC_UTF_8) < 0) { - zip_source_free(s); - printf("error adding file: %s\en", zip_strerror(archive)); -} -.Ed -.Sh ERRORS -.Fn zip_file_add -and -.Fn zip_file_replace -fail if: -.Bl -tag -width Er -.It Bq Er ZIP_ER_EXISTS -There is already a file called -.Ar name -in the archive. -(Only applies to -.Fn zip_file_add , -and only if -.Dv ZIP_FL_OVERWRITE -is not provided). -.It Bq Er ZIP_ER_INVAL -.Ar source -or -.Ar name -are -.Dv NULL , -or -.Ar index -is invalid. -.It Bq Er ZIP_ER_MEMORY -Required memory could not be allocated. -.It Bq Er ZIP_ER_RDONLY -Archive was opened in read-only mode. -.El -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_source 3 -.Sh HISTORY -.Fn zip_file_add -and -.Fn zip_file_replace -were added in libzip 0.11. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_file_set_comment.3 b/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_file_set_comment.3 deleted file mode 100644 index dbc1f14..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_file_set_comment.3 +++ /dev/null @@ -1,116 +0,0 @@ -.\" zip_file_set_comment.mdoc -- set comment for file in zip -.\" Copyright (C) 2006-2021 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP files. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd September 22, 2020 -.Dt ZIP_FILE_SET_COMMENT 3 -.Os -.Sh NAME -.Nm zip_file_set_comment -.Nd set comment for file in zip -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft int -.Fn zip_file_set_comment "zip_t *archive" "zip_uint64_t index" "const char *comment" "zip_uint16_t len" "zip_flags_t flags" -.Sh DESCRIPTION -The -.Fn zip_file_set_comment -function sets the comment for the file at position -.Ar index -in the zip archive to -.Ar comment -of length -.Ar len . -If -.Ar comment -is -.Dv NULL -and -.Ar len -is 0, the file comment will be removed. -The -.Ar flags -argument can be any of: -.Bl -tag -width XZIPXFLXENCXSTRICTXX -.It Dv ZIP_FL_ENC_GUESS -Guess encoding of -.Ar comment -(default). -(Only CP-437 and UTF-8 are recognized.) -.It Dv ZIP_FL_ENC_UTF_8 -Interpret -.Ar comment -as UTF-8. -.It Dv ZIP_FL_ENC_CP437 -Interpret -.Ar comment -as code page 437 (CP-437). -.El -.Sh RETURN VALUES -Upon successful completion 0 is returned. -Otherwise, \-1 is returned and the error information in -.Ar archive -is set to indicate the error. -.Sh ERRORS -.Fn zip_file_set_comment -fails if: -.Bl -tag -width Er -.It Bq Er ZIP_ER_INVAL -.Ar index -is not a valid file index in -.Ar archive , -or -.Ar len -is less than 0 or longer than the maximum comment length in a zip file -(65535), or -.Ar comment -is not a valid UTF-8 encoded string. -.It Bq Er ZIP_ER_MEMORY -Required memory could not be allocated. -.It Bq Er ZIP_ER_RDONLY -The -.Ar archive -was opened in read-only mode. -.El -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_file_get_comment 3 , -.Xr zip_get_archive_comment 3 , -.Xr zip_set_archive_comment 3 -.Sh HISTORY -.Fn zip_file_set_comment -was added in libzip 0.11. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_file_set_dostime.3 b/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_file_set_dostime.3 deleted file mode 100644 index f1a63bd..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_file_set_dostime.3 +++ /dev/null @@ -1,126 +0,0 @@ -.\" zip_file_set_mtime.mdoc -- set mtime for file in zip -.\" Copyright (C) 2014-2022 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP files. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd June 18, 2022 -.Dt ZIP_FILE_SET_MTIME 3 -.Os -.Sh NAME -.Nm zip_file_set_dostime , -.Nm zip_file_set_mtime -.Nd set last modification time (mtime) for file in zip -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft int -.Fn zip_file_set_dostime "zip_t *archive" "zip_uint64_t index" "zip_uint16_t dostime" "zip_uint16_t dosdate" "zip_flags_t flags" -.Ft int -.Fn zip_file_set_mtime "zip_t *archive" "zip_uint64_t index" "time_t mtime" "zip_flags_t flags" -.Sh DESCRIPTION -The -.Fn zip_file_set_mtime -function sets the last modification time (mtime) for the file at -position -.Ar index -in the zip archive to -.Ar mtime . -Currently, no support for any -.Ar flags -is implemented. -.Pp -In the zip archive, the time and date are saved as two 16-bit integers. -To set the values directly, call the -.Fn zip_file_set_dostime -function. -The values of the time bytes are defined as follows: -.Bl -tag -width 5n -offset indent -.It 0-4 -seconds divided by two (1-2 = 1, 3-4 = 2, ...) -.It 5-10 -minute (0-59) -.It 11-15 -hour (0-23) -.El -.Pp -The values of the date bytes are defined as follows: -.Bl -tag -width 5n -offset indent -.It 0-4 -day of the month (1-31) -.It 5-8 -month (January = 1, February = 2, ...) -.It 9-15 -year offset from 1980 (1980 = 0, 1981 = 1, ...) -.El -.Sh RETURN VALUES -Upon successful completion 0 is returned. -Otherwise, \-1 is returned and the error information in -.Ar archive -is set to indicate the error. -.Sh ERRORS -.Fn zip_file_set_dostime -and -.Fn zip_file_set_mtime -fail if: -.Bl -tag -width Er -.It Bq Er ZIP_ER_INVAL -.Ar index -is not a valid file index in -.Ar archive . -.It Bq Er ZIP_ER_MEMORY -Required memory could not be allocated. -.It Bq Er ZIP_ER_OPNOTSUPP -Traditional PKWare encryption uses the file's mtime, therefore it cannot be changed without re-encrypting the data. -.It Bq Er ZIP_ER_RDONLY -The -.Ar archive -was opened in read-only mode. -.El -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_stat 3 -.Sh HISTORY -.Fn zip_file_set_mtime -was added in libzip 1.0. -.Fn zip_file_set_dostime -was added in libzip 1.6. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at -.Sh CAVEATS -Following historical practice, the -.Fn zip_file_set_mtime -function translates the time from the zip archive into the local time -zone. -If you want to avoid this, use the -.Fn zip_file_set_dostime -function instead. diff --git a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_file_set_encryption.3 b/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_file_set_encryption.3 deleted file mode 100644 index 9071947..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_file_set_encryption.3 +++ /dev/null @@ -1,121 +0,0 @@ -.\" zip_file_set_encryption.mdoc -- set encryption method for file -.\" Copyright (C) 2016-2021 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP files. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd April 2, 2020 -.Dt ZIP_FILE_SET_ENCRYPTION 3 -.Os -.Sh NAME -.Nm zip_file_set_encryption -.Nd set encryption method for file in zip -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft int -.Fn zip_file_set_encryption "zip_t *archive" "zip_uint64_t index" "zip_uint16_t method" "const char *password" -.Sh DESCRIPTION -The -.Fn zip_file_set_encryption -function sets the encryption method for the file at position -.Ar index -in the zip archive to -.Ar method -using the password -.Ar password . -The -.Ar method -is the same as returned by -.Xr zip_stat 3 . -For the -.Ar method -argument, currently only the following values are supported: -.Bl -tag -width ZIP_CM_DEFLATE_XX -.It Dv ZIP_EM_NONE -No encryption. -.It Dv ZIP_EM_AES_128 -Winzip AES-128 encryption. -.It Dv ZIP_EM_AES_192 -Winzip AES-192 encryption. -.It Dv ZIP_EM_AES_256 -Winzip AES-256 encryption. -.It Dv ZIP_EM_TRAD_PKWARE -Traditional PKWare encryption. -Do not use this method, it is not secure. -It is only provided for backwards compatibility. -.El -.Pp -If -.Ar password -is -.Dv NULL , -the default password provided by -.Xr zip_set_default_password 3 -is used. -.Pp -The current encryption method for a file in a zip archive can be -determined using -.Xr zip_stat 3 . -.Sh RETURN VALUES -Upon successful completion 0 is returned. -Otherwise, \-1 is returned and the error information in -.Ar archive -is set to indicate the error. -.Sh ERRORS -.Fn zip_file_set_encryption -fails if: -.Bl -tag -width Er -.It Bq Er ZIP_ER_ENCRNOTSUPP -Unsupported compression method requested. -.It Bq Er ZIP_ER_INVAL -.Ar index -is not a valid file index in -.Ar archive , -or the argument combination is invalid. -.It Bq Er ZIP_ER_MEMORY -Required memory could not be allocated. -.It Bq Er ZIP_ER_RDONLY -Read-only zip file, no changes allowed. -.El -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_encryption_method_supported 3 , -.Xr zip_fopen_encrypted 3 , -.Xr zip_fopen_index_encrypted 3 , -.Xr zip_set_default_password 3 , -.Xr zip_stat 3 -.Sh HISTORY -.Fn zip_file_set_encryption -was added in libzip 1.2.0. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_file_set_external_attributes.3 b/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_file_set_external_attributes.3 deleted file mode 100644 index 1043df6..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_file_set_external_attributes.3 +++ /dev/null @@ -1,89 +0,0 @@ -.\" zip_file_set_external_attributes.mdoc -- set external attributes for file in zip -.\" Copyright (C) 2013-2017 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP files. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd December 18, 2017 -.Dt ZIP_FILE_SET_EXTERNAL_ATTRIBUTES 3 -.Os -.Sh NAME -.Nm zip_file_set_external_attributes -.Nd set external attributes for file in zip -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft int -.Fn zip_file_set_external_attributes "zip_t *archive" "zip_uint64_t index" "zip_flags_t flags" "zip_uint8_t opsys" "zip_uint32_t attributes" -.Sh DESCRIPTION -The -.Fn zip_file_set_external_attributes -function sets the operating system and external attributes for the -file at position -.Ar index -in the zip archive. -Currently, no -.Ar flags -are supported. -.Pp -For a list of known -.Ar opsys -values, see -.Xr zip_file_get_external_attributes 3 . -.Sh RETURN VALUES -Upon successful completion 0 is returned. -Otherwise, \-1 is returned and the error information in -.Ar archive -is set to indicate the error. -.Sh ERRORS -.Fn zip_file_set_external_attributes -fails if: -.Bl -tag -width Er -.It Bq Er ZIP_ER_INVAL -.Ar index -is not a valid file index in -.Ar archive . -.It Bq Er ZIP_ER_MEMORY -Required memory could not be allocated. -.It Bq Er ZIP_ER_RDONLY -The -.Ar archive -was opened in read-only mode. -.El -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_file_get_external_attributes 3 -.Sh HISTORY -.Fn zip_file_set_external_attributes -was added in libzip 0.11.2. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_file_set_mtime.3 b/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_file_set_mtime.3 deleted file mode 100644 index f1a63bd..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_file_set_mtime.3 +++ /dev/null @@ -1,126 +0,0 @@ -.\" zip_file_set_mtime.mdoc -- set mtime for file in zip -.\" Copyright (C) 2014-2022 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP files. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd June 18, 2022 -.Dt ZIP_FILE_SET_MTIME 3 -.Os -.Sh NAME -.Nm zip_file_set_dostime , -.Nm zip_file_set_mtime -.Nd set last modification time (mtime) for file in zip -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft int -.Fn zip_file_set_dostime "zip_t *archive" "zip_uint64_t index" "zip_uint16_t dostime" "zip_uint16_t dosdate" "zip_flags_t flags" -.Ft int -.Fn zip_file_set_mtime "zip_t *archive" "zip_uint64_t index" "time_t mtime" "zip_flags_t flags" -.Sh DESCRIPTION -The -.Fn zip_file_set_mtime -function sets the last modification time (mtime) for the file at -position -.Ar index -in the zip archive to -.Ar mtime . -Currently, no support for any -.Ar flags -is implemented. -.Pp -In the zip archive, the time and date are saved as two 16-bit integers. -To set the values directly, call the -.Fn zip_file_set_dostime -function. -The values of the time bytes are defined as follows: -.Bl -tag -width 5n -offset indent -.It 0-4 -seconds divided by two (1-2 = 1, 3-4 = 2, ...) -.It 5-10 -minute (0-59) -.It 11-15 -hour (0-23) -.El -.Pp -The values of the date bytes are defined as follows: -.Bl -tag -width 5n -offset indent -.It 0-4 -day of the month (1-31) -.It 5-8 -month (January = 1, February = 2, ...) -.It 9-15 -year offset from 1980 (1980 = 0, 1981 = 1, ...) -.El -.Sh RETURN VALUES -Upon successful completion 0 is returned. -Otherwise, \-1 is returned and the error information in -.Ar archive -is set to indicate the error. -.Sh ERRORS -.Fn zip_file_set_dostime -and -.Fn zip_file_set_mtime -fail if: -.Bl -tag -width Er -.It Bq Er ZIP_ER_INVAL -.Ar index -is not a valid file index in -.Ar archive . -.It Bq Er ZIP_ER_MEMORY -Required memory could not be allocated. -.It Bq Er ZIP_ER_OPNOTSUPP -Traditional PKWare encryption uses the file's mtime, therefore it cannot be changed without re-encrypting the data. -.It Bq Er ZIP_ER_RDONLY -The -.Ar archive -was opened in read-only mode. -.El -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_stat 3 -.Sh HISTORY -.Fn zip_file_set_mtime -was added in libzip 1.0. -.Fn zip_file_set_dostime -was added in libzip 1.6. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at -.Sh CAVEATS -Following historical practice, the -.Fn zip_file_set_mtime -function translates the time from the zip archive into the local time -zone. -If you want to avoid this, use the -.Fn zip_file_set_dostime -function instead. diff --git a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_file_strerror.3 b/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_file_strerror.3 deleted file mode 100644 index 498fcc2..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_file_strerror.3 +++ /dev/null @@ -1,85 +0,0 @@ -.\" zip_file_strerror.mdoc -- get string representation for a zip error -.\" Copyright (C) 2003-2021 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd December 18, 2017 -.Dt ZIP_FILE_STRERROR 3 -.Os -.Sh NAME -.Nm zip_file_strerror , -.Nm zip_strerror -.Nd get string representation for a zip error -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft const char * -.Fn zip_file_strerror "zip_file_t *file" -.Ft const char * -.Fn zip_strerror "zip_t *archive" -.Sh DESCRIPTION -The -.Fn zip_strerror -function returns a string describing the last error for the zip archive -.Ar archive , -while the -.Fn zip_file_strerror -function does the same for a zip file -.Ar file -(one file in an archive). -The returned string must not be modified or freed, and becomes invalid when -.Ar archive -or -.Ar file , -respectively, -is closed or on the next call to -.Fn zip_strerror -or -.Fn zip_file_strerror , -respectively, -for the same archive. -.Sh RETURN VALUES -.Fn zip_file_strerror -and -.Fn zip_strerror -return a pointer to the error string. -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_error_strerror 3 -.Sh HISTORY -.Fn zip_file_strerror -and -.Fn zip_strerror -were added in libzip 0.6. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_fopen.3 b/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_fopen.3 deleted file mode 100644 index d86bdb9..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_fopen.3 +++ /dev/null @@ -1,148 +0,0 @@ -.\" zip_fopen.mdoc -- open file in zip archive for reading -.\" Copyright (C) 2003-2017 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd December 18, 2017 -.Dt ZIP_FOPEN 3 -.Os -.Sh NAME -.Nm zip_fopen , -.Nm zip_fopen_index -.Nd open file in zip archive for reading -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft zip_file_t * -.Fn zip_fopen "zip_t *archive" "const char *fname" "zip_flags_t flags" -.Ft zip_file_t * -.Fn zip_fopen_index "zip_t *archive" "zip_uint64_t index" "zip_flags_t flags" -.Sh DESCRIPTION -The -.Fn zip_fopen -function opens the file name -.Ar fname -in -.Ar archive . -The -.Ar flags -argument specifies how the name lookup should be done, according to -the values are described in -.Xr zip_name_locate 3 . -Also, the following values may be -.Em or Ns No 'ed -to it. -.Bl -tag -offset indent -width ZIP_FL_COMPRESSED -.It Dv ZIP_FL_COMPRESSED -Read the compressed data. -Otherwise the data is uncompressed by -.Fn zip_fread . -.It Dv ZIP_FL_UNCHANGED -Read the original data from the zip archive, ignoring any changes made -to the file; this is not supported by all data sources. -.El -.Pp -The -.Fn zip_fopen_index -function opens the file at position -.Ar index . -.Pp -If encrypted data is encountered, the functions call -.Xr zip_fopen_encrypted 3 -or -.Xr zip_fopen_index_encrypted 3 -respectively, using the default password set with -.Xr zip_set_default_password 3 . -.Sh RETURN VALUES -Upon successful completion, a -.Ft struct zip_file -pointer is returned. -Otherwise, -.Dv NULL -is returned and the error code in -.Ar archive -is set to indicate the error. -.Sh ERRORS -.Bl -tag -width Er -.It Bq Er ZIP_ER_CHANGED -The file data has been changed and the data source does -not support rereading data. -.It Bq Er ZIP_ER_COMPNOTSUPP -The compression method used is not supported. -.It Bq Er ZIP_ER_ENCRNOTSUPP -The encryption method used is not supported. -.It Bq Er ZIP_ER_MEMORY -Required memory could not be allocated. -.It Bq Er ZIP_ER_NOPASSWD -The file is encrypted, but no password has been provided. -.It Bq Er ZIP_ER_READ -A file read error occurred. -.It Bq Er ZIP_ER_SEEK -A file seek error occurred. -.It Bq Er ZIP_ER_WRONGPASSWD -The provided password does not match the password used for encryption. -Note that some incorrect passwords are not detected by the check done by -.Fn zip_fopen . -.It Bq Er ZIP_ER_ZLIB -Initializing the zlib stream failed. -.El -.Pp -The function -.Fn zip_fopen -may also fail and set -.Va zip_err -for any of the errors specified for the routine -.Xr zip_name_locate 3 . -.Pp -The function -.Fn zip_fopen_index -may also fail with -.Er ZIP_ER_INVAL -if -.Ar index -is invalid. -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_fclose 3 , -.Xr zip_fread 3 , -.Xr zip_fseek 3 , -.Xr zip_get_num_entries 3 , -.Xr zip_name_locate 3 , -.Xr zip_set_default_password 3 -.Sh HISTORY -.Fn zip_fopen -and -.Fn zip_fopen_index -were added in libzip 1.0. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_fopen_encrypted.3 b/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_fopen_encrypted.3 deleted file mode 100644 index 9428798..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_fopen_encrypted.3 +++ /dev/null @@ -1,135 +0,0 @@ -.\" zip_fopen_encrypted.mdoc -- open encrypted file in zip archive for reading -.\" Copyright (C) 2011-2021 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd September 15, 2020 -.Dt ZIP_FOPEN_ENCRYPTED 3 -.Os -.Sh NAME -.Nm zip_fopen_encrypted , -.Nm zip_fopen_index_encrypted -.Nd open encrypted file in zip archive for reading -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft zip_file_t * -.Fn zip_fopen_encrypted "zip_t *archive" "const char *fname" "zip_flags_t flags" "const char *password" -.Ft zip_file_t * -.Fn zip_fopen_index_encrypted "zip_t *archive" "zip_uint64_t index" "zip_flags_t flags" "const char *password" -.Sh DESCRIPTION -The -.Fn zip_fopen_encrypted -function opens the encrypted file name -.Ar fname -in -.Ar archive -using the password given in the -.Ar password -argument. -If -.Ar password -is -.Dv NULL -or the empty string, the default password is used (see -.Xr zip_set_default_password 3 ) . -The -.Ar flags -argument are the same as for -.Xr zip_fopen 3 . -.Pp -The -.Fn zip_fopen_index_encrypted -function opens the file at position -.Ar index , -see -.Xr zip_fopen_index 3 . -These functions are called automatically by -.Xr zip_fopen 3 ; -you only need to call them if you want to specify a non-default password -(see -.Xr zip_set_default_password 3 ) . -.Sh RETURN VALUES -Upon successful completion, a -.Ft struct zip_file -pointer is returned. -Otherwise, -.Dv NULL -is returned and the error code in -.Ar archive -is set to indicate the error. -.Sh ERRORS -.Bl -tag -width ZIP_ER_ENCRNOTSUPPXX -.It Bq Er ZIP_ER_NOPASSWD -No password was provided. -.El -.Pp -The function -.Fn zip_fopen_encrypted -may also fail and set -.Va zip_err -for any of the errors specified for the routine -.Xr zip_fopen 3 . -.Pp -The function -.Fn zip_fopen_index_encrypted -may also fail and set -.Va zip_err -for any of the errors specified for the routine -.Xr zip_fopen_index 3 . -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_fclose 3 , -.Xr zip_fopen 3 , -.Xr zip_fread 3 , -.Xr zip_get_num_entries 3 , -.Xr zip_name_locate 3 -.Sh HISTORY -.Fn zip_fopen_encrypted -and -.Fn zip_fopen_index_encrypted -were added in libzip 1.0. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at -.Sh CAVEATS -The zip file format provides very limited possibility for password -verification (a short hash of is compared against one byte in the zip -archive). -For this reason, reading a file while using an incorrect password may -immediately fail with -.Er ZIP_ER_WRONGPASSWD , -but if the mismatch is not detected, a zlib error may be returned -later instead. -Since zlib errors can also be caused by broken compressed data, there -is no way to make sure if the password was incorrect or if it was -correct, but the compressed data was invalid. diff --git a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_fopen_index.3 b/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_fopen_index.3 deleted file mode 100644 index d86bdb9..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_fopen_index.3 +++ /dev/null @@ -1,148 +0,0 @@ -.\" zip_fopen.mdoc -- open file in zip archive for reading -.\" Copyright (C) 2003-2017 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd December 18, 2017 -.Dt ZIP_FOPEN 3 -.Os -.Sh NAME -.Nm zip_fopen , -.Nm zip_fopen_index -.Nd open file in zip archive for reading -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft zip_file_t * -.Fn zip_fopen "zip_t *archive" "const char *fname" "zip_flags_t flags" -.Ft zip_file_t * -.Fn zip_fopen_index "zip_t *archive" "zip_uint64_t index" "zip_flags_t flags" -.Sh DESCRIPTION -The -.Fn zip_fopen -function opens the file name -.Ar fname -in -.Ar archive . -The -.Ar flags -argument specifies how the name lookup should be done, according to -the values are described in -.Xr zip_name_locate 3 . -Also, the following values may be -.Em or Ns No 'ed -to it. -.Bl -tag -offset indent -width ZIP_FL_COMPRESSED -.It Dv ZIP_FL_COMPRESSED -Read the compressed data. -Otherwise the data is uncompressed by -.Fn zip_fread . -.It Dv ZIP_FL_UNCHANGED -Read the original data from the zip archive, ignoring any changes made -to the file; this is not supported by all data sources. -.El -.Pp -The -.Fn zip_fopen_index -function opens the file at position -.Ar index . -.Pp -If encrypted data is encountered, the functions call -.Xr zip_fopen_encrypted 3 -or -.Xr zip_fopen_index_encrypted 3 -respectively, using the default password set with -.Xr zip_set_default_password 3 . -.Sh RETURN VALUES -Upon successful completion, a -.Ft struct zip_file -pointer is returned. -Otherwise, -.Dv NULL -is returned and the error code in -.Ar archive -is set to indicate the error. -.Sh ERRORS -.Bl -tag -width Er -.It Bq Er ZIP_ER_CHANGED -The file data has been changed and the data source does -not support rereading data. -.It Bq Er ZIP_ER_COMPNOTSUPP -The compression method used is not supported. -.It Bq Er ZIP_ER_ENCRNOTSUPP -The encryption method used is not supported. -.It Bq Er ZIP_ER_MEMORY -Required memory could not be allocated. -.It Bq Er ZIP_ER_NOPASSWD -The file is encrypted, but no password has been provided. -.It Bq Er ZIP_ER_READ -A file read error occurred. -.It Bq Er ZIP_ER_SEEK -A file seek error occurred. -.It Bq Er ZIP_ER_WRONGPASSWD -The provided password does not match the password used for encryption. -Note that some incorrect passwords are not detected by the check done by -.Fn zip_fopen . -.It Bq Er ZIP_ER_ZLIB -Initializing the zlib stream failed. -.El -.Pp -The function -.Fn zip_fopen -may also fail and set -.Va zip_err -for any of the errors specified for the routine -.Xr zip_name_locate 3 . -.Pp -The function -.Fn zip_fopen_index -may also fail with -.Er ZIP_ER_INVAL -if -.Ar index -is invalid. -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_fclose 3 , -.Xr zip_fread 3 , -.Xr zip_fseek 3 , -.Xr zip_get_num_entries 3 , -.Xr zip_name_locate 3 , -.Xr zip_set_default_password 3 -.Sh HISTORY -.Fn zip_fopen -and -.Fn zip_fopen_index -were added in libzip 1.0. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_fopen_index_encrypted.3 b/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_fopen_index_encrypted.3 deleted file mode 100644 index 9428798..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_fopen_index_encrypted.3 +++ /dev/null @@ -1,135 +0,0 @@ -.\" zip_fopen_encrypted.mdoc -- open encrypted file in zip archive for reading -.\" Copyright (C) 2011-2021 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd September 15, 2020 -.Dt ZIP_FOPEN_ENCRYPTED 3 -.Os -.Sh NAME -.Nm zip_fopen_encrypted , -.Nm zip_fopen_index_encrypted -.Nd open encrypted file in zip archive for reading -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft zip_file_t * -.Fn zip_fopen_encrypted "zip_t *archive" "const char *fname" "zip_flags_t flags" "const char *password" -.Ft zip_file_t * -.Fn zip_fopen_index_encrypted "zip_t *archive" "zip_uint64_t index" "zip_flags_t flags" "const char *password" -.Sh DESCRIPTION -The -.Fn zip_fopen_encrypted -function opens the encrypted file name -.Ar fname -in -.Ar archive -using the password given in the -.Ar password -argument. -If -.Ar password -is -.Dv NULL -or the empty string, the default password is used (see -.Xr zip_set_default_password 3 ) . -The -.Ar flags -argument are the same as for -.Xr zip_fopen 3 . -.Pp -The -.Fn zip_fopen_index_encrypted -function opens the file at position -.Ar index , -see -.Xr zip_fopen_index 3 . -These functions are called automatically by -.Xr zip_fopen 3 ; -you only need to call them if you want to specify a non-default password -(see -.Xr zip_set_default_password 3 ) . -.Sh RETURN VALUES -Upon successful completion, a -.Ft struct zip_file -pointer is returned. -Otherwise, -.Dv NULL -is returned and the error code in -.Ar archive -is set to indicate the error. -.Sh ERRORS -.Bl -tag -width ZIP_ER_ENCRNOTSUPPXX -.It Bq Er ZIP_ER_NOPASSWD -No password was provided. -.El -.Pp -The function -.Fn zip_fopen_encrypted -may also fail and set -.Va zip_err -for any of the errors specified for the routine -.Xr zip_fopen 3 . -.Pp -The function -.Fn zip_fopen_index_encrypted -may also fail and set -.Va zip_err -for any of the errors specified for the routine -.Xr zip_fopen_index 3 . -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_fclose 3 , -.Xr zip_fopen 3 , -.Xr zip_fread 3 , -.Xr zip_get_num_entries 3 , -.Xr zip_name_locate 3 -.Sh HISTORY -.Fn zip_fopen_encrypted -and -.Fn zip_fopen_index_encrypted -were added in libzip 1.0. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at -.Sh CAVEATS -The zip file format provides very limited possibility for password -verification (a short hash of is compared against one byte in the zip -archive). -For this reason, reading a file while using an incorrect password may -immediately fail with -.Er ZIP_ER_WRONGPASSWD , -but if the mismatch is not detected, a zlib error may be returned -later instead. -Since zlib errors can also be caused by broken compressed data, there -is no way to make sure if the password was incorrect or if it was -correct, but the compressed data was invalid. diff --git a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_fread.3 b/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_fread.3 deleted file mode 100644 index 3371298..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_fread.3 +++ /dev/null @@ -1,85 +0,0 @@ -.\" zip_fread.mdoc -- read from file -.\" Copyright (C) 2003-2022 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd September 11, 2024 -.Dt ZIP_FREAD 3 -.Os -.Sh NAME -.Nm zip_fread -.Nd read from file -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft zip_int64_t -.Fn zip_fread "zip_file_t *file" "void *buf" "zip_uint64_t nbytes" -.Sh DESCRIPTION -The -.Fn zip_fread -function reads up to -.Ar nbytes -bytes from -.Ar file -into -.Ar buf -from the current position in the file (see -.Xr zip_fseek 3 ) . -After reading, the current position is updated by the number of bytes read. -.Sh RETURN VALUES -If successful, the number of bytes actually read is returned. -When -.Fn zip_fread -is called after reaching the end of the file, 0 is returned. -In case of error, \-1 is returned. -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_fclose 3 , -.Xr zip_file_get_error 3 , -.Xr zip_fopen 3 , -.Xr zip_fseek 3 -.Sh HISTORY -.Fn zip_fread -was added in libzip 0.6. -In libzip 0.10 the return type was changed from -.Vt ssize_t -to -.Vt zip_int64_t . -In libzip 0.10 the type of -.Ar nbytes -was changed from -.Vt size_t -to -.Vt zip_uint64_t . -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_fseek.3 b/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_fseek.3 deleted file mode 100644 index 3ba5a9e..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_fseek.3 +++ /dev/null @@ -1,89 +0,0 @@ -.\" zip_fseek.mdoc -- seek in file -.\" Copyright (C) 2016-2022 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd September 11, 2024 -.Dt ZIP_FSEEK 3 -.Os -.Sh NAME -.Nm zip_fseek , -.Nm zip_file_is_seekable -.Nd seek in file -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft zip_int8_t -.Fn zip_fseek "zip_file_t *file" "zip_int64_t offset" "int whence" -.Ft int -.Fn zip_file_is_seekable "zip_file_t *file" -.Sh DESCRIPTION -The -.Fn zip_fseek -function seeks to the specified -.Ar offset -relative to -.Ar whence , -just like -.Xr fseek 3 . -.Pp -.Nm -only works on uncompressed (stored), unencrypted data. -When called on compressed or encrypted data it will return an error. -.Pp -The -.Fn zip_file_is_seekable -function returns 1 if a file is seekable. -.Sh RETURN VALUES -If successful, -.Fn zip_fseek -returns 0. -Otherwise, \-1 is returned. -.Pp -.Fn zip_file_is_seekable -returns 1 if a file is seekable and 0 if not. -On an invalid argument, it returns \-1. -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_fclose 3 , -.Xr zip_file_get_error 3 , -.Xr zip_fopen 3 , -.Xr zip_fread 3 , -.Xr zip_ftell 3 -.Sh HISTORY -.Fn zip_fseek -was added in libzip 1.2.0. -.Fn zip_file_is_seekable -was added in libzip 1.9.0. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_ftell.3 b/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_ftell.3 deleted file mode 100644 index e045634..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_ftell.3 +++ /dev/null @@ -1,67 +0,0 @@ -.\" zip_ftell.mdoc -- tell position in file -.\" Copyright (C) 2016-2021 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd September 11, 2024 -.Dt ZIP_FTELL 3 -.Os -.Sh NAME -.Nm zip_ftell -.Nd tell position in file -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft zip_int64_t -.Fn zip_ftell "zip_file_t *file" -.Sh DESCRIPTION -The -.Fn zip_ftell -function reports the current offset in the file. -.Sh RETURN VALUES -If successful, -.Nm -returns the current file position. -Otherwise, \-1 is returned. -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_fclose 3 , -.Xr zip_file_get_error 3 , -.Xr zip_fopen 3 , -.Xr zip_fread 3 , -.Xr zip_fseek 3 -.Sh HISTORY -.Fn zip_ftell -was added in libzip 1.2.0. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_get_archive_comment.3 b/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_get_archive_comment.3 deleted file mode 100644 index d8f2e9b..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_get_archive_comment.3 +++ /dev/null @@ -1,112 +0,0 @@ -.\" zip_get_archive_comment.mdoc -- get zip archive comment -.\" Copyright (C) 2006-2021 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd September 22, 2020 -.Dt ZIP_GET_ARCHIVE_COMMENT 3 -.Os -.Sh NAME -.Nm zip_get_archive_comment -.Nd get zip archive comment -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft const char * -.Fn zip_get_archive_comment "zip_t *archive" "int *lenp" "zip_flags_t flags" -.Sh DESCRIPTION -The -.Fn zip_get_archive_comment -function returns the comment for the entire zip archive. -The return value is in UTF-8 encoding unless -.Dv ZIP_FL_ENC_RAW -was specified (see below). -This pointer should not be modified or -.Xr free 3 Ap d , -and becomes invalid when -.Ar archive -is closed. -If -.Ar lenp -is not -.Dv NULL , -the integer to which it points will be set to the length of the -comment. -If -.Ar flags -is set to -.Dv ZIP_FL_UNCHANGED , -the original unchanged comment is returned. -.Pp -Additionally, the following -.Ar flags -are supported: -.Bl -tag -width ZIP_FL_ENC_STRICTXX -offset indent -.It Dv ZIP_FL_ENC_RAW -Return the unmodified archive comment as it is in the ZIP archive. -.It Dv ZIP_FL_ENC_GUESS -(Default.) -Guess the encoding of the archive comment in the ZIP archive and convert it -to UTF-8, if necessary. -(Only CP-437 and UTF-8 are recognized.) -.It Dv ZIP_FL_ENC_STRICT -Follow the ZIP specification for file names and extend it to the -archive comment, thus also expecting it in CP-437 encoding. -Convert it to UTF-8. -.El -.Em Note : -ASCII is a subset of both CP-437 and UTF-8. -.Sh RETURN VALUES -Upon successful completion, a pointer to the comment is returned, -or -.Dv NULL -if there is no comment. -.\" In case of an error, -.\" .Dv NULL -.\" is returned and the error code in -.\" .Ar archive -.\" is set to indicate the error. -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_file_get_comment 3 -.Sh HISTORY -.Fn zip_get_archive_comment -was added in libzip 0.7. -In libzip 0.11 the type of -.Ar flags -was changed from -.Vt int -to -.Vt zip_flags_t . -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_get_archive_flag.3 b/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_get_archive_flag.3 deleted file mode 100644 index 2edf7cf..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_get_archive_flag.3 +++ /dev/null @@ -1,110 +0,0 @@ -.\" zip_get_archive_flag.mdoc -- get comment for file in zip -.\" Copyright (C) 2008-2017 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP files. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd January 23, 2023 -.Dt ZIP_GET_ARCHIVE_FLAG 3 -.Os -.Sh NAME -.Nm zip_get_archive_flag -.Nd get status flags for zip -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft int -.Fn zip_get_archive_flag "zip_t *archive" "zip_flags_t flag" "zip_flags_t flags" -.Sh DESCRIPTION -The -.Fn zip_get_archive_flag -function returns if the flag -.Ar flag -is set for the archive -.Ar archive . -The archive flags might have been changed with -.Fn zip_set_archive_flag ; -if -.Ar flags -is set to -.Dv ZIP_FL_UNCHANGED , -the original unchanged flags are tested. -.Pp -Supported flags are: -.Bl -tag -width XZIPXAFLXRDONLYXXX -.It Dv ZIP_AFL_CREATE_OR_KEEP_FILE_FOR_EMPTY_ARCHIVE -If this flag is cleared, the archive file will be removed if the archive is empty. -If it is set, an empty archive will be created, which is not recommended by the zip specification. -This flag is always cleared unless explicitly set by the user with -.Xr zip_set_archive_flag 3 . -.It Dv ZIP_AFL_IS_TORRENTZIP -The archive is in torrentzip format. -.It Dv ZIP_AFL_RDONLY -The archive is read-only. -.It Dv ZIP_AFL_WANT_TORRENTZIP -If the flag is set, the archive will be written in torrentzip format. -This flag is always cleared unless explicitly set by the user with -.Xr zip_set_archive_flag 3 . -.El -.Sh RETURN VALUES -.Fn zip_get_archive_flag -returns 1 if -.Ar flag -is set for -.Ar archive , -0 if not, -and \-1 if an error occurred. -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_set_archive_flag 3 -.Sh HISTORY -.Fn zip_get_archive_flag -was added in libzip 0.9. -In libzip 0.11 the type of -.Ar flag -was changed from -.Vt int -to -.Vt zip_flags_t m -and the type of -.Ar flags -was changed from -.Vt int -to -.Vt zip_flags_t . -.Dv ZIP_AFL_CREATE_OR_KEEP_FILE_FOR_EMPTY_ARCHIVE , -.Dv ZIP_AFL_IS_TORRENTZIP , -and -.Dv ZIP_AFL_WANT_TORRENTZIP -were added in libzip 1.10.0. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_get_error.3 b/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_get_error.3 deleted file mode 100644 index 6af6f21..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_get_error.3 +++ /dev/null @@ -1,60 +0,0 @@ -.\" zip_get_error.mdoc -- get zip_error for archive -.\" Copyright (C) 2014-2017 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd December 18, 2017 -.Dt ZIP_GET_ERROR 3 -.Os -.Sh NAME -.Nm zip_get_error -.Nd get zip error for archive -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft zip_error_t * -.Fn zip_get_error "zip_t *archive" -.Sh DESCRIPTION -The -.Fn zip_get_error -function returns the zip error for the zip archive -.Ar archive . -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_error_code_system 3 , -.Xr zip_error_code_zip 3 -.Sh HISTORY -.Fn zip_get_error -was added in libzip 1.0. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_get_file_comment.3 b/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_get_file_comment.3 deleted file mode 100644 index 1b9676b..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_get_file_comment.3 +++ /dev/null @@ -1,73 +0,0 @@ -.\" zip_get_file_comment.mdoc -- get comment for file in zip -.\" Copyright (C) 2006-2017 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP files. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd December 18, 2017 -.Dt ZIP_GET_FILE_COMMENT 3 -.Os -.Sh NAME -.Nm zip_get_file_comment -.Nd get comment for file in zip (obsolete interface) -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft const char * -.Fn zip_get_file_comment "zip_t *archive" "zip_uint64_t index" "int *lenp" "int flags" -.Sh DESCRIPTION -The -.Fn zip_get_file_comment -function is the obsolete version of -.Xr zip_file_get_comment 3 . -The only differences are the types of the -.Ar lenp -and -.Ar flags -arguments. -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_file_get_comment 3 -.Sh HISTORY -.Fn zip_get_file_comment -was added in libzip 0.7. -In libzip 0.10 the type of -.Ar index -was changed from -.Vt int -to -.Vt zip_uint64_t . -It was deprecated in libzip 0.11, use -.Fn zip_file_get_comment -instead. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_get_name.3 b/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_get_name.3 deleted file mode 100644 index 9b4fea6..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_get_name.3 +++ /dev/null @@ -1,132 +0,0 @@ -.\" zip_get_name.mdoc -- get name of file by index -.\" Copyright (C) 2003-2021 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd September 22, 2020 -.Dt ZIP_GET_NAME 3 -.Os -.Sh NAME -.Nm zip_get_name -.Nd get name of file by index -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft const char * -.Fn zip_get_name "zip_t *archive" "zip_uint64_t index" "zip_flags_t flags" -.Sh DESCRIPTION -The -.Fn zip_get_name -function returns the name of the file at position -.Ar index -in -.Ar archive . -The name is in UTF-8 encoding unless -.Dv ZIP_FL_ENC_RAW -was specified (see below). -.Pp -If -.Ar flags -is set to -.Dv ZIP_FL_UNCHANGED , -the original unchanged filename is returned. -The returned string must not be modified or freed, and becomes invalid when -.Ar archive -is closed. -.Pp -Additionally, the following -.Ar flags -are supported: -.Bl -tag -width ZIP_FL_ENC_STRICTXX -offset indent -.It Dv ZIP_FL_ENC_RAW -Return the unmodified names as it is in the ZIP archive. -.It Dv ZIP_FL_ENC_GUESS -(Default.) -Guess the encoding of the name in the ZIP archive and convert it -to UTF-8, if necessary. -(Only CP-437 and UTF-8 are recognized.) -.It Dv ZIP_FL_ENC_STRICT -Follow the ZIP specification and expect CP-437 encoded names in -the ZIP archive (except if they are explicitly marked as UTF-8). -Convert it to UTF-8. -.El -.Em Note : -ASCII is a subset of both CP-437 and UTF-8. -.Sh RETURN VALUES -Upon successful completion, a pointer to the name is returned. -Otherwise, -.Dv NULL -and the error code in -.Ar archive -is set to indicate the error. -.Sh ERRORS -.Fn zip_get_name -fails if: -.Bl -tag -width Er -.It Bq Er ZIP_ER_DELETED -.Ar index -refers to a file that has been deleted -(see -.Xr zip_delete 3 ) . -.It Bq Er ZIP_ER_INVAL -.Ar index -is not a valid file index in -.Ar archive , -or -.Ar index -points to an added file and -.Dv ZIP_FL_UNCHANGED -is set. -.It Bq Er ZIP_ER_MEMORY -Required memory could not be allocated. -.El -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_name_locate 3 -.Sh HISTORY -.Fn zip_get_name -was added in libzip 0.6. -In libzip 0.10 the type of -.Ar index -was changed from -.Vt int -to -.Vt zip_uint64_t . -In libzip 0.11 the type of -.Ar flags -was changed from -.Vt int -to -.Vt zip_flags_t . -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_get_num_entries.3 b/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_get_num_entries.3 deleted file mode 100644 index 1bc6072..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_get_num_entries.3 +++ /dev/null @@ -1,88 +0,0 @@ -.\" zip_get_num_entries.mdoc -- get number of files in archive -.\" Copyright (C) 2011-2017 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd August 19, 2022 -.Dt ZIP_GET_NUM_ENTRIES 3 -.Os -.Sh NAME -.Nm zip_get_num_entries -.Nd get number of entries in archive -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft zip_int64_t -.Fn zip_get_num_entries "zip_t *archive" "zip_flags_t flags" -.Sh DESCRIPTION -The -.Fn zip_get_num_entries -function returns the number of entries in -.Ar archive . -Entries are all files that are present in the original archive or that -were added while the archive is open. -This includes deleted files, since -indices are not renumbered until the archive is closed. -(This allows one to refer to deleted files, e. g. to undelete them.) -.Pp -If -.Ar flags -is set to -.Dv ZIP_FL_UNCHANGED , -the original number of files is returned. -.Sh RETURN VALUES -.Fn zip_get_num_entries -returns the number of entries in the zip archive, -or \-1 if -.Ar archive -is -.Dv NULL . -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_fopen_index 3 , -.Xr zip_stat_index 3 -.Sh HISTORY -.Fn zip_get_num_entries -was added in libzip 0.10. -In libzip 0.11 the return type was changed from -.Vt zip_uint64_t -to -.Vt zip_int64_t . -In libzip 0.11 the type of -.Ar flags -was changed from -.Vt int -to -.Vt zip_flags_t . -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_get_num_files.3 b/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_get_num_files.3 deleted file mode 100644 index b18c06d..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_get_num_files.3 +++ /dev/null @@ -1,75 +0,0 @@ -.\" zip_get_num_files.mdoc -- get number of files in archive -.\" Copyright (C) 2003-2017 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd December 18, 2017 -.Dt ZIP_GET_NUM_FILES 3 -.Os -.Sh NAME -.Nm zip_get_num_files -.Nd get number of files in archive (obsolete interface) -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft int -.Fn zip_get_num_files "zip_t *archive" -.Sh DESCRIPTION -.Em This function is deprecated . -.Em Use -.Xr zip_get_num_entries 3 -.Em instead . -.Pp -The -.Fn zip_get_num_files -function returns the number of files in -.Ar archive . -.Sh RETURN VALUES -.Fn zip_get_num_files -returns the number of files in the zip archive, -or \-1 if -.Ar archive -is -.Dv NULL . -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_fopen_index 3 , -.Xr zip_stat_index 3 -.Sh HISTORY -.Fn zip_get_num_files -was added in libzip 0.6. -It was deprecated in libzip 0.11, use -.Fn zip_get_num_entries instead -instead. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_libzip_version.3 b/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_libzip_version.3 deleted file mode 100644 index 04af461..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_libzip_version.3 +++ /dev/null @@ -1,66 +0,0 @@ -.\" zip_libzip_version.mdoc -- return run-time version of library -.\" Copyright (C) 2017 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd December 18, 2017 -.Dt ZIP_LIBZIP_VERSION 3 -.Os -.Sh NAME -.Nm zip_libzip_version -.Nd return run-time version of library -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft const char * -.Fn zip_libzip_version void -.Sh DESCRIPTION -.Nm -returns the version number of the library as string in the format -.Dq $MAJOR.$MINOR.$MICRO$SUFFIX -where -.Ar $MAJOR -is the major version, -.Ar $MINOR -the minor, -.Ar $MICRO -the micro, and -.Ar $SUFFIX -a suffix that's only set for development versions. -.Sh SEE ALSO -.Xr libzip 3 -.Sh HISTORY -.Fn zip_libzip_version -was added in libzip 1.3.1. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_name_locate.3 b/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_name_locate.3 deleted file mode 100644 index 612c2a6..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_name_locate.3 +++ /dev/null @@ -1,148 +0,0 @@ -.\" zip_name_locate.mdoc -- get index of file by name -.\" Copyright (C) 2003-2022 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd March 15, 2022 -.Dt ZIP_NAME_LOCATE 3 -.Os -.Sh NAME -.Nm zip_name_locate -.Nd get index of file by name -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft zip_int64_t -.Fn zip_name_locate "zip_t *archive" "const char *fname" "zip_flags_t flags" -.Sh DESCRIPTION -The -.Fn zip_name_locate -function returns the index of the file named -.Ar fname -in -.Ar archive . -If -.Ar archive -does not contain a file with that name, \-1 is returned. -.Pp -If neither -.Dv ZIP_FL_ENC_RAW -nor -.Dv ZIP_FL_ENC_STRICT -are specified, guess the encoding of the name in the ZIP archive and convert it -to UTF-8, if necessary, before comparing. -.Pp -If neither -.Dv ZIP_FL_ENC_CP437 -nor -.Dv ZIP_FL_ENC_UTF_8 -are specified, guess the encoding of -.Ar fname . -.Pp -Only CP-437 and UTF-8 are recognized. -.Pp -The -.Fa flags -are specified by -.Em or Ns No 'ing -the following values, or 0 for none of them. -.Bl -tag -offset indent -width ZIP_FL_ENC_STRICT -.It Dv ZIP_FL_NOCASE -Ignore case distinctions. -(Will only work well if the file names are ASCII.) -With this flag, -.Fn zip_name_locate -will be slow for archives with many files. -.It Dv ZIP_FL_NODIR -Ignore directory part of file name in archive. -With this flag, -.Fn zip_name_locate -will be slow for archives with many files. -.It Dv ZIP_FL_ENC_GUESS -This flag has no effect (its value is 0); it can be used to explicitly denote the absence of encoding flags. -.It Dv ZIP_FL_ENC_RAW -Compare -.Ar fname -against the unmodified names as they are in the ZIP archive, without converting them to UTF-8. -.It Dv ZIP_FL_ENC_STRICT -Follow the ZIP specification and expect CP-437 encoded names in -the ZIP archive (except if they are explicitly marked as UTF-8). -Convert them to UTF-8 before comparing. -.It Dv ZIP_FL_ENC_CP437 -.Ar fname -is encoded as CP-437. -.It Dv ZIP_FL_ENC_UTF_8 -.Ar fname -is encoded as UTF-8. -.El -.Pp -.Em Note : -ASCII is a subset of both CP-437 and UTF-8. -.Sh RETURN VALUES -.Fn zip_name_locate -returns the index of the file named -.Ar fname -or \-1, if -.Ar archive -does not contain an entry of that name. -.Sh ERRORS -.Fn zip_name_locate -fails if: -.Bl -tag -width Er -.It Bq Er ZIP_ER_INVAL -One of the arguments is invalid. -.It Bq Er ZIP_ER_MEMORY -Required memory could not be allocated. -.It Bq Er ZIP_ER_NOENT -No entry of the name -.Ar fname -is found in the archive. -.El -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_get_name 3 -.Sh HISTORY -.Fn zip_name_locate -was added in libzip 0.6. -In libzip 0.11 the return type was changed from -.Vt int -to -.Vt zip_int64_t . -In libzip 0.11 the type of -.Ar flags -was changed from -.Vt int -to -.Vt zip_flags_t . -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_open.3 b/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_open.3 deleted file mode 100644 index 5a8357a..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_open.3 +++ /dev/null @@ -1,192 +0,0 @@ -.\" zip_open.mdoc -- open zip archive -.\" Copyright (C) 2003-2022 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd October 9, 2022 -.Dt ZIP_OPEN 3 -.Os -.Sh NAME -.Nm zip_open , -.Nm zip_open_from_source -.Nd open zip archive -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft zip_t * -.Fn zip_open "const char *path" "int flags" "int *errorp" -.Ft zip_t * -.Fn zip_open_from_source "zip_source_t *zs" "int flags" "zip_error_t *ze" -.Sh DESCRIPTION -The -.Fn zip_open -function opens the zip archive specified by -.Ar path -and returns a pointer to a -.Ft struct zip , -used to manipulate the archive. -The -.Fa flags -are specified by -.Em or Ns No 'ing -the following values, or 0 for none of them. -.Bl -tag -offset indent -width ZIP_CHECKCONS -.It Dv ZIP_CHECKCONS -Perform additional stricter consistency checks on the archive, and -error if they fail. -.It Dv ZIP_CREATE -Create the archive if it does not exist. -.It Dv ZIP_EXCL -Error if archive already exists. -.It Dv ZIP_TRUNCATE -If archive exists, ignore its current contents. -In other words, handle it the same way as an empty archive. -.It Dv ZIP_RDONLY -Open archive in read-only mode. -.El -.Pp -If an error occurs and -.Ar errorp -is -.Pf non- Dv NULL , -it will be set to the corresponding error code. -.Pp -The -.Fn zip_open_from_source -function opens a zip archive encapsulated by the zip_source -.Fa zs -using the provided -.Fa flags . -In case of error, the zip_error -.Fa ze -is filled in. -.Sh RETURN VALUES -Upon successful completion -.Fn zip_open -and -.Fn zip_open_from_source -return a -.Ft struct zip -pointer. -Otherwise, -.Dv NULL -is returned and -.Fn zip_open -sets -.Ar *errorp -to indicate the error, while -.Fn zip_open_from source -sets -.Ar ze -to indicate the error. -.Sh EXAMPLES -Here's an example of how you could report errors during -.Nm : -.Bd -literal - zip_t *za; - int err; - - if ((za = zip_open(name, 0, &err)) == NULL) { - zip_error_t error; - zip_error_init_with_code(&error, err); - fprintf(stderr, "%s: cannot open zip archive '%s': %s\en", - progname, name, zip_error_strerror(&error)); - zip_error_fini(&error); - return -1; - } -.Ed -.Sh ERRORS -The archive specified by -.Ar path -is opened unless: -.Bl -tag -width Er -.It Bq Er ZIP_ER_EXISTS -The file specified by -.Ar path -exists and -.Dv ZIP_EXCL -is set. -.It Bq Er ZIP_ER_INCONS -Inconsistencies were found in the file specified by -.Ar path . -This error is often caused by specifying -.Dv ZIP_CHECKCONS -but can also happen without it. -.It Bq Er ZIP_ER_INVAL -The -.Ar path -argument is -.Dv NULL . -.It Bq Er ZIP_ER_MEMORY -Required memory could not be allocated. -.It Bq Er ZIP_ER_NOENT -The file specified by -.Ar path -does not exist and -.Dv ZIP_CREATE -is not set. -.It Bq Er ZIP_ER_NOZIP -The file specified by -.Ar path -is not a zip archive. -.It Bq Er ZIP_ER_OPEN -The file specified by -.Ar path -could not be opened. -.It Bq Er ZIP_ER_READ -A read error occurred; see -.Va errno -for details. -.It Bq Er ZIP_ER_SEEK -The file specified by -.Ar path -does not allow seeks. -.El -For newly created archives, -.Fn zip_open -does not try to create the file; this is done when calling -.Xr zip_close 3 -and any errors, like missing write permissions, will -be reported then. -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_close 3 , -.Xr zip_error_strerror 3 , -.Xr zip_fdopen 3 -.Sh HISTORY -.Fn zip_open -and -.Fn zip_open_from_source -were added in libzip 1.0. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_open_from_source.3 b/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_open_from_source.3 deleted file mode 100644 index 5a8357a..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_open_from_source.3 +++ /dev/null @@ -1,192 +0,0 @@ -.\" zip_open.mdoc -- open zip archive -.\" Copyright (C) 2003-2022 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd October 9, 2022 -.Dt ZIP_OPEN 3 -.Os -.Sh NAME -.Nm zip_open , -.Nm zip_open_from_source -.Nd open zip archive -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft zip_t * -.Fn zip_open "const char *path" "int flags" "int *errorp" -.Ft zip_t * -.Fn zip_open_from_source "zip_source_t *zs" "int flags" "zip_error_t *ze" -.Sh DESCRIPTION -The -.Fn zip_open -function opens the zip archive specified by -.Ar path -and returns a pointer to a -.Ft struct zip , -used to manipulate the archive. -The -.Fa flags -are specified by -.Em or Ns No 'ing -the following values, or 0 for none of them. -.Bl -tag -offset indent -width ZIP_CHECKCONS -.It Dv ZIP_CHECKCONS -Perform additional stricter consistency checks on the archive, and -error if they fail. -.It Dv ZIP_CREATE -Create the archive if it does not exist. -.It Dv ZIP_EXCL -Error if archive already exists. -.It Dv ZIP_TRUNCATE -If archive exists, ignore its current contents. -In other words, handle it the same way as an empty archive. -.It Dv ZIP_RDONLY -Open archive in read-only mode. -.El -.Pp -If an error occurs and -.Ar errorp -is -.Pf non- Dv NULL , -it will be set to the corresponding error code. -.Pp -The -.Fn zip_open_from_source -function opens a zip archive encapsulated by the zip_source -.Fa zs -using the provided -.Fa flags . -In case of error, the zip_error -.Fa ze -is filled in. -.Sh RETURN VALUES -Upon successful completion -.Fn zip_open -and -.Fn zip_open_from_source -return a -.Ft struct zip -pointer. -Otherwise, -.Dv NULL -is returned and -.Fn zip_open -sets -.Ar *errorp -to indicate the error, while -.Fn zip_open_from source -sets -.Ar ze -to indicate the error. -.Sh EXAMPLES -Here's an example of how you could report errors during -.Nm : -.Bd -literal - zip_t *za; - int err; - - if ((za = zip_open(name, 0, &err)) == NULL) { - zip_error_t error; - zip_error_init_with_code(&error, err); - fprintf(stderr, "%s: cannot open zip archive '%s': %s\en", - progname, name, zip_error_strerror(&error)); - zip_error_fini(&error); - return -1; - } -.Ed -.Sh ERRORS -The archive specified by -.Ar path -is opened unless: -.Bl -tag -width Er -.It Bq Er ZIP_ER_EXISTS -The file specified by -.Ar path -exists and -.Dv ZIP_EXCL -is set. -.It Bq Er ZIP_ER_INCONS -Inconsistencies were found in the file specified by -.Ar path . -This error is often caused by specifying -.Dv ZIP_CHECKCONS -but can also happen without it. -.It Bq Er ZIP_ER_INVAL -The -.Ar path -argument is -.Dv NULL . -.It Bq Er ZIP_ER_MEMORY -Required memory could not be allocated. -.It Bq Er ZIP_ER_NOENT -The file specified by -.Ar path -does not exist and -.Dv ZIP_CREATE -is not set. -.It Bq Er ZIP_ER_NOZIP -The file specified by -.Ar path -is not a zip archive. -.It Bq Er ZIP_ER_OPEN -The file specified by -.Ar path -could not be opened. -.It Bq Er ZIP_ER_READ -A read error occurred; see -.Va errno -for details. -.It Bq Er ZIP_ER_SEEK -The file specified by -.Ar path -does not allow seeks. -.El -For newly created archives, -.Fn zip_open -does not try to create the file; this is done when calling -.Xr zip_close 3 -and any errors, like missing write permissions, will -be reported then. -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_close 3 , -.Xr zip_error_strerror 3 , -.Xr zip_fdopen 3 -.Sh HISTORY -.Fn zip_open -and -.Fn zip_open_from_source -were added in libzip 1.0. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_register_cancel_callback_with_state.3 b/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_register_cancel_callback_with_state.3 deleted file mode 100644 index 59705ae..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_register_cancel_callback_with_state.3 +++ /dev/null @@ -1,84 +0,0 @@ -.\" zip_register_cancel_callback_with_state.mdoc -- allow cancelling during zip_close -.\" Copyright (C) 2021-2022 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd June 18, 2022 -.Dt ZIP_REGISTER_CANCEL_CALLBACK_WITH_STATE 3 -.Os -.Sh NAME -.Nm zip_register_cancel_callback_with_state -.Nd allow cancelling during zip_close -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Vt typedef int (*zip_cancel_callback)(zip_t *, void *); -.Ft void -.Fn zip_register_cancel_callback_with_state "zip_t *archive" "zip_cancel_callback callback" "void (*ud_free)(void *)" "void *ud" -.Sh DESCRIPTION -This function can be used to cancel writing of a zip archive during -.Xr zip_close 3 . -.Pp -The -.Fn zip_register_cancel_callback_with_state -function registers a callback function -.Ar callback -for the zip archive -.Ar archive . -The -.Ar ud_free -function is called during cleanup for deleting the userdata supplied in -.Ar ud . -.Pp -The callback function is called during -.Xr zip_close 3 -in regular intervals (after every zip archive entry that's completely -written to disk, and while writing data for entries) with zip archive -.Ar archive -and the user-provided user-data -.Ar ud -as arguments. -When the callback function returns a non-zero value, writing is cancelled and -.Xr zip_close 3 -returns an error. -.Pp -The callback function should be fast, since it will be called often. -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_close 3 , -.Xr zip_register_progress_callback_with_state 3 -.Sh HISTORY -.Fn zip_register_cancel_callback_with_state -was added in libzip 1.6.0. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_register_progress_callback.3 b/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_register_progress_callback.3 deleted file mode 100644 index 69cc4f5..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_register_progress_callback.3 +++ /dev/null @@ -1,77 +0,0 @@ -.\" zip_register_progress_callback.mdoc -- provide updates during zip_close -.\" Copyright (C) 2016-2017 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd December 18, 2017 -.Dt ZIP_REGISTER_PROGRESS_CALLBACK 3 -.Os -.Sh NAME -.Nm zip_register_progress_callback -.Nd provide updates during zip_close (obsolete interface) -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Vt typedef void (*zip_progress_callback_t)(double); -.Ft void -.Fn zip_register_progress_callback "zip_t *archive" "zip_progress_callback_t progress_callback" -.Sh DESCRIPTION -The function -.Fn zip_register_progress_callback -is the obsolete version of -.Xr zip_register_progress_callback_with_state 3 . -.Pp -The -.Fn zip_register_progress_callback -function registers a callback function -.Ar progress_callback -for the zip archive -.Ar archive . -This function is called during -.Xr zip_close 3 -after every zip archive entry that's completely written to disk. -The value is a -.Vt double -in the range from 0.0 to 1.0. -This can be used to provide progress indicators for user interfaces. -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_close 3 -.Sh HISTORY -.Fn zip_register_progress_callback -was added in libzip 1.2.0. -It was deprecated in libzip 1.3.0, use -.Fn zip_register_progress_callback_with_state -instead. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_register_progress_callback_with_state.3 b/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_register_progress_callback_with_state.3 deleted file mode 100644 index 4ee88e6..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_register_progress_callback_with_state.3 +++ /dev/null @@ -1,87 +0,0 @@ -.\" zip_register_progress_callback_with_state.mdoc -- provide updates during zip_close -.\" Copyright (C) 2017-2021 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd December 18, 2017 -.Dt ZIP_REGISTER_PROGRESS_CALLBACK_WITH_STATE 3 -.Os -.Sh NAME -.Nm zip_register_progress_callback_with_state -.Nd provide updates during zip_close -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Vt typedef void (*zip_progress_callback)(zip_t *, double, void *); -.Ft void -.Fn zip_register_progress_callback_with_state "zip_t *archive" "double precision" "zip_progress_callback callback" "void (*ud_free)(void *)" "void *ud" -.Sh DESCRIPTION -The -.Fn zip_register_progress_callback_with_state -function registers a callback function -.Ar callback -for the zip archive -.Ar archive . -The -.Ar precision -argument is a double in the range from 0.00 to 1.0 that defines the -smallest change for which the callback should be called (to avoid too -frequent calls). -The -.Ar ud_free -function is called during cleanup for deleting the userdata supplied in -.Ar ud . -.Pp -The callback function is called during -.Xr zip_close 3 -in regular intervals (after every zip archive entry that's completely -written to disk, and while writing data for entries) with zip archive -.Ar archive , -the current progression state as a -.Vt double , -and the user-provided user-data -.Ar ud -as arguments. -The progression state is a -.Vt double -in the range from 0.0 to 1.0. -This can be used to provide progress indicators for user interfaces. -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_close 3 , -.Xr zip_register_cancel_callback_with_state 3 -.Sh HISTORY -.Fn zip_register_progress_callback_with_state -was added in libzip 1.3.0. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_rename.3 b/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_rename.3 deleted file mode 100644 index 5a53880..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_rename.3 +++ /dev/null @@ -1,70 +0,0 @@ -.\" zip_rename.mdoc -- rename file in zip archive -.\" Copyright (C) 2003-2017 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd December 18, 2017 -.Dt ZIP_RENAME 3 -.Os -.Sh NAME -.Nm zip_rename -.Nd rename file in zip archive (obsolete interface) -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft int -.Fn zip_rename "zip_t *archive" "zip_uint64_t index" "const char *name" -.Sh DESCRIPTION -.Fn zip_rename -is the obsolete version of -.Xr zip_file_rename 3 . -It is the same as calling -.Xr zip_file_rename 3 -with an empty flags argument. -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_file_rename 3 -.Sh HISTORY -.Fn zip_rename -was added in libzip 0.6. -In libzip 0.10 the type of -.Ar index -was changed from -.Vt int -to -.Vt zip_uint64_t . -It was deprecated in libzip 0.11, use -.Fn zip_file_rename -instead. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_replace.3 b/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_replace.3 deleted file mode 100644 index 71bc4c8..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_replace.3 +++ /dev/null @@ -1,96 +0,0 @@ -.\" zip_add.mdoc -- add files to zip archive -.\" Copyright (C) 2004-2017 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd December 18, 2017 -.Dt ZIP_ADD 3 -.Os -.Sh NAME -.Nm zip_add , -.Nm zip_replace -.Nd add file to zip archive or replace file in zip archive (obsolete interface) -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft zip_int64_t -.Fn zip_add "zip_t *archive" "const char *name" "zip_source_t *source" -.Ft int -.Fn zip_replace "zip_t *archive" "zip_uint64_t index" "zip_source_t *source" -.Sh DESCRIPTION -The function -.Fn zip_add -is the obsolete version of -.Xr zip_file_add 3 . -It is the same as calling -.Xr zip_file_add 3 -with an empty -.Ar flags -argument. -Similarly, the -.Fn zip_replace -function is the obsolete version of -.Xr zip_file_replace 3 . -It is the same as calling -.Xr zip_file_replace 3 -with an empty -.Ar flags -argument. -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_file_add 3 , -.Xr zip_file_replace 3 -.Sh HISTORY -.Fn zip_add -was added in libzip 0.6. -In libzip 0.10 the return type was changed from -.Vt int -to -.Vt zip_int64_t . -It was deprecated in libzip 0.11, use -.Fn zip_file_add -instead. -.Pp -.Fn zip_replace -was added in libzip 0.6. -In libzip 0.10 the type of -.Ar index -was changed from -.Vt int -to -.Vt zip_uint64_t . -It was deprecated in libzip 0.11, use -.Fn zip_file_replace -instead. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_set_archive_comment.3 b/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_set_archive_comment.3 deleted file mode 100644 index a6aaea1..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_set_archive_comment.3 +++ /dev/null @@ -1,93 +0,0 @@ -.\" zip_set_archive_comment.mdoc -- set zip archive comment -.\" Copyright (C) 2006-2021 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd December 18, 2017 -.Dt ZIP_SET_ARCHIVE_COMMENT 3 -.Os -.Sh NAME -.Nm zip_set_archive_comment -.Nd set zip archive comment -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft int -.Fn zip_set_archive_comment "zip_t *archive" "const char *comment" "zip_uint16_t len" -.Sh DESCRIPTION -The -.Fn zip_set_archive_comment -function sets the comment for the entire zip archive. -If -.Ar comment -is -.Dv NULL -and -.Ar len -is 0, the archive comment will be removed. -.Ar comment -must be encoded in ASCII or UTF-8. -.Sh RETURN VALUES -Upon successful completion 0 is returned. -Otherwise, \-1 is returned and the error information in -.Ar archive -is set to indicate the error. -.Sh ERRORS -.Fn zip_set_archive_comment -fails if: -.Bl -tag -width Er -.It Bq Er ZIP_ER_INVAL -.Ar len -is less than 0 or longer than the maximum comment length in a zip file -(65535), or -.Ar comment -is not a valid UTF-8 encoded string. -.It Bq Er ZIP_ER_MEMORY -Required memory could not be allocated. -.El -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_file_get_comment 3 , -.Xr zip_file_set_comment 3 , -.Xr zip_get_archive_comment 3 -.Sh HISTORY -.Fn zip_set_archive_comment -was added in libzip 0.7. -In libzip 0.11 the type of -.Ar len -was changed from -.Vt int -to -.Vt zip_uint16_t . -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_set_archive_flag.3 b/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_set_archive_flag.3 deleted file mode 100644 index ee0a246..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_set_archive_flag.3 +++ /dev/null @@ -1,90 +0,0 @@ -.\" zip_set_archive_flag.mdoc -- set zip archive flag -.\" Copyright (C) 2008-2017 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd July 19, 2023 -.Dt ZIP_SET_ARCHIVE_FLAG 3 -.Os -.Sh NAME -.Nm zip_set_archive_flag -.Nd set zip archive flag -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft int -.Fn zip_set_archive_flag "zip_t *archive" "zip_flags_t flag" "int value" -.Sh DESCRIPTION -The -.Fn zip_set_archive_flag -function sets the flag -.Ar flag -for the archive -.Ar archive -to the value -.Ar value . -.Pp -Supported flags are: -.Bl -tag -width XZIPXAFLXRDONLYXXX -.It Dv ZIP_AFL_CREATE_OR_KEEP_FILE_FOR_EMPTY_ARCHIVE -If this flag is cleared, the archive file will be removed if the archive is empty. -If it is set, an empty archive will be created, which is not recommended by the zip specification. -.It Dv ZIP_AFL_RDONLY -If this flag is set, no modification to the archive are allowed. -This flag can only be cleared if it was manually set with -.Nm , -not if the archive was opened read-only. -.It Dv ZIP_AFL_WANT_TORRENTZIP -If this flag is set, the archive will be written in torrentzip format. -.El -.Sh RETURN VALUES -Upon successful completion 0 is returned, and \-1 if an error -occurred. -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_get_archive_flag 3 -.Sh HISTORY -.Fn zip_set_archive_flag -was added in libzip 0.9. -In libzip 0.11 the type of -.Ar flag -was changed from -.Vt int -to -.Vt zip_flags_t . -.Dv ZIP_AFL_CREATE_OR_KEEP_FILE_FOR_EMPTY_ARCHIVE -and -.Dv ZIP_AFL_WANT_TORRENTZIP -were added in libzip 1.10.0. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_set_default_password.3 b/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_set_default_password.3 deleted file mode 100644 index f2574ca..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_set_default_password.3 +++ /dev/null @@ -1,90 +0,0 @@ -.\" zip_set_default_password.mdoc -- set default password for zip -.\" Copyright (C) 2011-2021 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP files. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd September 15, 2020 -.Dt ZIP_SET_DEFAULT_PASSWORD 3 -.Os -.Sh NAME -.Nm zip_set_default_password -.Nd set default password for encrypted files in zip -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft int -.Fn zip_set_default_password "zip_t *archive" "const char *password" -.Sh DESCRIPTION -The -.Fn zip_set_default_password -function sets the default password used when accessing encrypted files. -If -.Ar password -is -.Dv NULL -or the empty string, the default password is unset. -.Pp -If you prefer a different password for single files, use -.Xr zip_fopen_encrypted 3 -instead of -.Xr zip_fopen 3 . -Usually, however, the same password is used for every file in an -zip archive. -.Pp -The password is not verified when calling this function. -See the -.Sx CAVEATS -section in -.Xr zip_fopen_encrypted 3 -for more details about password handling. -.Sh RETURN VALUES -Upon successful completion 0 is returned. -Otherwise, \-1 is returned and the error information in -.Ar archive -is set to indicate the error. -.Sh ERRORS -.Fn zip_set_default_password -fails if: -.Bl -tag -width Er -.It Bq Er ZIP_ER_MEMORY -Required memory could not be allocated. -.El -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_fopen 3 , -.Xr zip_fopen_encrypted 3 -.Sh HISTORY -.Fn zip_set_default_password -was added in libzip 0.10. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_set_file_comment.3 b/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_set_file_comment.3 deleted file mode 100644 index 242597d..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_set_file_comment.3 +++ /dev/null @@ -1,79 +0,0 @@ -.\" zip_set_file_comment.mdoc -- set comment for file in zip -.\" Copyright (C) 2006-2017 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP files. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd December 18, 2017 -.Dt ZIP_SET_FILE_COMMENT 3 -.Os -.Sh NAME -.Nm zip_set_file_comment -.Nd set comment for file in zip (obsolete interface) -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft int -.Fn zip_set_file_comment "zip_t *archive" "zip_uint64_t index" "const char *comment" "int len" -.Sh DESCRIPTION -The -.Fn zip_set_file_comment -function is the obsolete version of -.Xr zip_file_set_comment 3 . -The only differences are the type of the -.Ar len -argument and the additional -.Ar flags -argument. -.Fn zip_set_file_comment -is the same as calling -.Xr zip_file_set_comment 3 -with an empty -.Ar flags -argument. -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_file_set_comment 3 -.Sh HISTORY -.Fn zip_set_file_comment -was added in libzip 0.7. -In libzip 0.10 the type of -.Ar index -was changed from -.Vt int -to -.Vt zip_uint64_t . -It was deprecated in libzip 0.11, use -.Fn zip_file_set_comment -instead. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_set_file_compression.3 b/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_set_file_compression.3 deleted file mode 100644 index b58dcb6..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_set_file_compression.3 +++ /dev/null @@ -1,146 +0,0 @@ -.\" zip_set_file_compression.mdoc -- set compression method and its flags -.\" Copyright (C) 2012-2021 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP files. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd February 2, 2023 -.Dt ZIP_SET_FILE_COMPRESSION 3 -.Os -.Sh NAME -.Nm zip_set_file_compression -.Nd set compression method for file in zip -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft int -.Fn zip_set_file_compression "zip_t *archive" "zip_uint64_t index" "zip_int32_t comp" "zip_uint32_t comp_flags" -.Sh DESCRIPTION -The -.Fn zip_set_file_compression -function sets the compression method for the file at position -.Ar index -in the zip archive to -.Ar comp -with the compression method specific -.Ar comp_flags . -The -.Ar comp -is the same as returned by -.Xr zip_stat 3 . -For the -.Ar comp -argument, currently only the following values are supported: -.Bl -tag -width ZIP_CM_DEFLATE_XX -.It Dv ZIP_CM_DEFAULT -default compression; currently the same as -.Dv ZIP_CM_DEFLATE , -but -.Ar flags -are ignored. -.It Dv ZIP_CM_STORE -Store the file uncompressed. -.It Dv ZIP_CM_BZIP2 -Compress the file using the -.Xr bzip2 1 -algorithm. -.It Dv ZIP_CM_DEFLATE -Deflate the file with the -.Xr zlib 3 -algorithm and default options. -.It Dv ZIP_CM_XZ -Use the -.Xr xz 1 -algorithm for compression -.It Dv ZIP_CM_ZSTD -Use the -.Xr zstd 1 -algorithm for compression -.El -.Pp -.Em NOTE : -Only the deflate and store methods can be assumed to be universally -supported. -.Pp -The -.Ar comp_flags -argument defines the compression level. -This value is dependent on the compression algorithm. -In general, lower numbers mean faster de/compression and higher -numbers mean slower de/compression. -For -.Dv ZIP_CM_BZIP , -.Dv ZIP_CM_DEFLATE , -and -.Dv ZIP_CM_XZ -1 is the fastest compression and 9 the best, 0 chooses the default. -For -.Dv ZIP_CM_ZSTD -possible values are -.Xr ZSTD_minCLevel 3 -to -.Xr ZSTD_maxCLevel 3 ; negative values must be cast to -.Ft zip_uint32_t . -.Pp -Further compression method specific flags might be added over time. -.Pp -The current compression method for a file in a zip archive can be -determined using -.Xr zip_stat 3 . -.Sh RETURN VALUES -Upon successful completion 0 is returned. -Otherwise, \-1 is returned and the error information in -.Ar archive -is set to indicate the error. -.Sh ERRORS -.Fn zip_set_file_compression -fails if: -.Bl -tag -width Er -.It Bq Er ZIP_ER_COMPNOTSUPP -Unsupported compression method requested. -.It Bq Er ZIP_ER_INVAL -.Ar index -is not a valid file index in -.Ar archive , -or the argument combination is invalid. -.It Bq Er ZIP_ER_RDONLY -Read-only zip file, no changes allowed. -.El -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_compression_method_supported 3 , -.Xr zip_stat 3 -.Sh HISTORY -.Fn zip_set_file_compression -was added in libzip 0.11. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source.3 b/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source.3 deleted file mode 100644 index fd748fd..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source.3 +++ /dev/null @@ -1,90 +0,0 @@ -.\" zip_source.mdoc -- description of zip data source -.\" Copyright (C) 2014-2021 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd December 18, 2017 -.Dt ZIP_SOURCE 3 -.Os -.Sh NAME -.Nm zip_source -.Nd zip data source structure -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Vt zip_source_t *zs ; -.Sh DESCRIPTION -A -.Vt struct zip_source -is a data source used by -.Xr libzip 3 -for adding or replacing file contents for a file in a zip archive. -If the source supports seeking, it can also be used to open zip archives from. -It is created by calling one of -.Xr zip_source_buffer 3 , -.Xr zip_source_buffer_create 3 , -.Xr zip_source_file 3 , -.Xr zip_source_file_create 3 , -.Xr zip_source_filep 3 , -.Xr zip_source_filep_create 3 , -.Xr zip_source_function 3 , -.Xr zip_source_function_create 3 , -.Xr zip_source_window 3 , -or -.Xr zip_source_zip 3 . -.Vt zip_source_t -is reference counted, and created with a reference count of 1. -.Xr zip_open_from_source 3 , -.Xr zip_file_add 3 , -and -.Xr zip_file_replace 3 -will decrement the reference count of the -.Vt zip_source_t -when they are done using it, so -.Xr zip_source_free 3 -only needs to be called when these functions return an error. -Use -.Xr zip_source_keep 3 -to increase the reference count, for example if you need the source after -.Xr zip_close 3 . -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_source_buffer 3 , -.Xr zip_source_file 3 , -.Xr zip_source_filep 3 , -.Xr zip_source_free 3 , -.Xr zip_source_function 3 , -.Xr zip_source_window 3 , -.Xr zip_source_zip 3 -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_begin_write.3 b/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_begin_write.3 deleted file mode 100644 index 8bcd555..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_begin_write.3 +++ /dev/null @@ -1,89 +0,0 @@ -.\" zip_source_begin_write.mdoc -- prepare zip source for writing -.\" Copyright (C) 2014-2017 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd December 18, 2017 -.Dt ZIP_SOURCE_BEGIN_WRITE 3 -.Os -.Sh NAME -.Nm zip_source_begin_write , -.Nm zip_source_begin_write_cloning -.Nd prepare zip source for writing -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft int -.Fn zip_source_begin_write "zip_source_t *source" -.Ft int -.Fn zip_source_begin_write_cloning "zip_source_t *source" "zip_uint64_t offset" -.Sh DESCRIPTION -The functions -.Fn zip_source_begin_write -and -.Fn zip_source_begin_write_cloning -prepare -.Fa source -for writing. -Usually this involves creating temporary files or allocating buffers. -.Pp -.Fn zip_source_begin_write_cloning -preserves the first -.Ar offset -bytes of the original file. -This is done efficiently, and writes to -.Ar source -won't overwrite the original data until -.Fn zip_commit_write -is called. -.Sh RETURN VALUES -Upon successful completion 0 is returned. -Otherwise, \-1 is returned and the error information in -.Ar source -is set to indicate the error. -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_source 3 , -.Xr zip_source_commit_write 3 , -.Xr zip_source_rollback_write 3 , -.Xr zip_source_seek_write 3 , -.Xr zip_source_tell_write 3 , -.Xr zip_source_write 3 -.Sh HISTORY -.Fn zip_source_begin_write -was added in libzip 1.0. -.Pp -.Fn zip_source_begin_write_cloning -was added in libzip 1.4.0. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_begin_write_cloning.3 b/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_begin_write_cloning.3 deleted file mode 100644 index 8bcd555..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_begin_write_cloning.3 +++ /dev/null @@ -1,89 +0,0 @@ -.\" zip_source_begin_write.mdoc -- prepare zip source for writing -.\" Copyright (C) 2014-2017 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd December 18, 2017 -.Dt ZIP_SOURCE_BEGIN_WRITE 3 -.Os -.Sh NAME -.Nm zip_source_begin_write , -.Nm zip_source_begin_write_cloning -.Nd prepare zip source for writing -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft int -.Fn zip_source_begin_write "zip_source_t *source" -.Ft int -.Fn zip_source_begin_write_cloning "zip_source_t *source" "zip_uint64_t offset" -.Sh DESCRIPTION -The functions -.Fn zip_source_begin_write -and -.Fn zip_source_begin_write_cloning -prepare -.Fa source -for writing. -Usually this involves creating temporary files or allocating buffers. -.Pp -.Fn zip_source_begin_write_cloning -preserves the first -.Ar offset -bytes of the original file. -This is done efficiently, and writes to -.Ar source -won't overwrite the original data until -.Fn zip_commit_write -is called. -.Sh RETURN VALUES -Upon successful completion 0 is returned. -Otherwise, \-1 is returned and the error information in -.Ar source -is set to indicate the error. -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_source 3 , -.Xr zip_source_commit_write 3 , -.Xr zip_source_rollback_write 3 , -.Xr zip_source_seek_write 3 , -.Xr zip_source_tell_write 3 , -.Xr zip_source_write 3 -.Sh HISTORY -.Fn zip_source_begin_write -was added in libzip 1.0. -.Pp -.Fn zip_source_begin_write_cloning -was added in libzip 1.4.0. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_buffer.3 b/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_buffer.3 deleted file mode 100644 index 148ceed..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_buffer.3 +++ /dev/null @@ -1,102 +0,0 @@ -.\" zip_source_buffer.mdoc -- create zip data source from buffer -.\" Copyright (C) 2004-2021 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd December 18, 2017 -.Dt ZIP_SOURCE_BUFFER 3 -.Os -.Sh NAME -.Nm zip_source_buffer , -.Nm zip_source_buffer_create -.Nd create zip data source from buffer -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft zip_source_t * -.Fn zip_source_buffer "zip_t *archive" "const void *data" "zip_uint64_t len" "int freep" -.Ft zip_source_t * -.Fn zip_source_buffer_create "const void *data" "zip_uint64_t len" "int freep" "zip_error_t *error" -.Sh DESCRIPTION -The functions -.Fn zip_source_buffer -and -.Fn zip_source_buffer_create -create a zip source from the buffer -.Ar data -of size -.Ar len . -If -.Ar freep -is non-zero, the buffer will be freed when it is no longer needed. -.Ar data -must remain valid for the lifetime of the created source. -.Pp -The source can be used to open a zip archive from. -.Sh RETURN VALUES -Upon successful completion, the created source is returned. -Otherwise, -.Dv NULL -is returned and the error code in -.Ar archive -or -.Ar error -is set to indicate the error. -.Sh ERRORS -.Fn zip_source_buffer -and -.Fn zip_source_buffer_create -fail if: -.Bl -tag -width Er -.It Bq Er ZIP_ER_INVAL -.Ar len -is greater than zero and -.Ar data -is -.Dv NULL . -.It Bq Er ZIP_ER_MEMORY -Required memory could not be allocated. -.El -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_file_add 3 , -.Xr zip_file_replace 3 , -.Xr zip_open_from_source 3 , -.Xr zip_source 3 -.Sh HISTORY -.Fn zip_source_buffer -and -.Fn zip_source_buffer_create -were added in libzip 1.0. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_buffer_create.3 b/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_buffer_create.3 deleted file mode 100644 index 148ceed..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_buffer_create.3 +++ /dev/null @@ -1,102 +0,0 @@ -.\" zip_source_buffer.mdoc -- create zip data source from buffer -.\" Copyright (C) 2004-2021 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd December 18, 2017 -.Dt ZIP_SOURCE_BUFFER 3 -.Os -.Sh NAME -.Nm zip_source_buffer , -.Nm zip_source_buffer_create -.Nd create zip data source from buffer -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft zip_source_t * -.Fn zip_source_buffer "zip_t *archive" "const void *data" "zip_uint64_t len" "int freep" -.Ft zip_source_t * -.Fn zip_source_buffer_create "const void *data" "zip_uint64_t len" "int freep" "zip_error_t *error" -.Sh DESCRIPTION -The functions -.Fn zip_source_buffer -and -.Fn zip_source_buffer_create -create a zip source from the buffer -.Ar data -of size -.Ar len . -If -.Ar freep -is non-zero, the buffer will be freed when it is no longer needed. -.Ar data -must remain valid for the lifetime of the created source. -.Pp -The source can be used to open a zip archive from. -.Sh RETURN VALUES -Upon successful completion, the created source is returned. -Otherwise, -.Dv NULL -is returned and the error code in -.Ar archive -or -.Ar error -is set to indicate the error. -.Sh ERRORS -.Fn zip_source_buffer -and -.Fn zip_source_buffer_create -fail if: -.Bl -tag -width Er -.It Bq Er ZIP_ER_INVAL -.Ar len -is greater than zero and -.Ar data -is -.Dv NULL . -.It Bq Er ZIP_ER_MEMORY -Required memory could not be allocated. -.El -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_file_add 3 , -.Xr zip_file_replace 3 , -.Xr zip_open_from_source 3 , -.Xr zip_source 3 -.Sh HISTORY -.Fn zip_source_buffer -and -.Fn zip_source_buffer_create -were added in libzip 1.0. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_buffer_fragment.3 b/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_buffer_fragment.3 deleted file mode 100644 index c452ef7..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_buffer_fragment.3 +++ /dev/null @@ -1,112 +0,0 @@ -.\" zip_source_buffer_fragment.mdoc -- create zip data source from multiple buffers -.\" Copyright (C) 2004-2021 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd December 18, 2017 -.Dt ZIP_SOURCE_BUFFER_FRAGMENT 3 -.Os -.Sh NAME -.Nm zip_source_buffer_fragment , -.Nm zip_source_buffer_fragment_create -.Nd create zip data source from multiple buffer -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft zip_source_t * -.Fn zip_source_buffer_fragment "zip_t *archive" "zip_buffer_fragment_t *fragments" "zip_uint64_t nfragments" "int freep" -.Ft zip_source_t * -.Fn zip_source_buffer_fragment_create "zip_buffer_fragment_t *fragments" "zip_uint64_t nfragments" "int freep" "zip_error_t *error" -.Sh DESCRIPTION -The functions -.Fn zip_source_buffer_fragment -and -.Fn zip_source_buffer_fragment_create -create a zip source from the data in -.Ar fragments . -.Ar nfragments -specifies the number of fragments. -If -.Ar freep -is non-zero, the data will be freed when it is no longer needed. -.Bd -literal -struct zip_stat { - zip_uint8_t *data; /* pointer to the actual data */ - zip_uint64_t length; /* length of this fragment */ -}; -.Ed -.Pp -The data -.Ar fragments -point to must remain valid for the lifetime of the created source. -.Ar fragments -itself can be discarded once the source is created. -.Pp -The source can be used to open a zip archive from. -.Sh RETURN VALUES -Upon successful completion, the created source is returned. -Otherwise, -.Dv NULL -is returned and the error code in -.Ar archive -or -.Ar error -is set to indicate the error. -.Sh ERRORS -.Fn zip_source_buffer -and -.Fn zip_source_buffer_create -fail if: -.Bl -tag -width Er -.It Bq Er ZIP_ER_INVAL -.Ar nfragments -is greater than zero and -.Ar fragments -is -.Dv NULL . -.It Bq Er ZIP_ER_MEMORY -Required memory could not be allocated. -.El -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_file_add 3 , -.Xr zip_file_replace 3 , -.Xr zip_open_from_source 3 , -.Xr zip_source 3 -.Sh HISTORY -.Fn zip_source_buffer_fragment -and -.Fn zip_source_buffer_fragment_create -were added in libzip 1.4.0. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_buffer_fragment_create.3 b/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_buffer_fragment_create.3 deleted file mode 100644 index c452ef7..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_buffer_fragment_create.3 +++ /dev/null @@ -1,112 +0,0 @@ -.\" zip_source_buffer_fragment.mdoc -- create zip data source from multiple buffers -.\" Copyright (C) 2004-2021 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd December 18, 2017 -.Dt ZIP_SOURCE_BUFFER_FRAGMENT 3 -.Os -.Sh NAME -.Nm zip_source_buffer_fragment , -.Nm zip_source_buffer_fragment_create -.Nd create zip data source from multiple buffer -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft zip_source_t * -.Fn zip_source_buffer_fragment "zip_t *archive" "zip_buffer_fragment_t *fragments" "zip_uint64_t nfragments" "int freep" -.Ft zip_source_t * -.Fn zip_source_buffer_fragment_create "zip_buffer_fragment_t *fragments" "zip_uint64_t nfragments" "int freep" "zip_error_t *error" -.Sh DESCRIPTION -The functions -.Fn zip_source_buffer_fragment -and -.Fn zip_source_buffer_fragment_create -create a zip source from the data in -.Ar fragments . -.Ar nfragments -specifies the number of fragments. -If -.Ar freep -is non-zero, the data will be freed when it is no longer needed. -.Bd -literal -struct zip_stat { - zip_uint8_t *data; /* pointer to the actual data */ - zip_uint64_t length; /* length of this fragment */ -}; -.Ed -.Pp -The data -.Ar fragments -point to must remain valid for the lifetime of the created source. -.Ar fragments -itself can be discarded once the source is created. -.Pp -The source can be used to open a zip archive from. -.Sh RETURN VALUES -Upon successful completion, the created source is returned. -Otherwise, -.Dv NULL -is returned and the error code in -.Ar archive -or -.Ar error -is set to indicate the error. -.Sh ERRORS -.Fn zip_source_buffer -and -.Fn zip_source_buffer_create -fail if: -.Bl -tag -width Er -.It Bq Er ZIP_ER_INVAL -.Ar nfragments -is greater than zero and -.Ar fragments -is -.Dv NULL . -.It Bq Er ZIP_ER_MEMORY -Required memory could not be allocated. -.El -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_file_add 3 , -.Xr zip_file_replace 3 , -.Xr zip_open_from_source 3 , -.Xr zip_source 3 -.Sh HISTORY -.Fn zip_source_buffer_fragment -and -.Fn zip_source_buffer_fragment_create -were added in libzip 1.4.0. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_close.3 b/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_close.3 deleted file mode 100644 index 05c7ed1..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_close.3 +++ /dev/null @@ -1,67 +0,0 @@ -.\" zip_source_close.mdoc -- close zip source (open for reading) -.\" Copyright (C) 2014-2021 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd December 18, 2017 -.Dt ZIP_SOURCE_CLOSE 3 -.Os -.Sh NAME -.Nm zip_source_close -.Nd close zip_source (which was open for reading) -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft int -.Fn zip_source_close "zip_source_t *source" -.Sh DESCRIPTION -The function -.Fn zip_source_close -closes -.Fa source , -indicating that no more data will be read. -.Sh RETURN VALUES -Upon successful completion 0 is returned. -Otherwise, \-1 is returned and the error information in -.Ar source -is set to indicate the error. -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_source 3 , -.Xr zip_source_free 3 , -.Xr zip_source_open 3 -.Sh HISTORY -.Fn zip_source_close -was added in libzip 1.0. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_commit_write.3 b/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_commit_write.3 deleted file mode 100644 index 9deae6b..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_commit_write.3 +++ /dev/null @@ -1,70 +0,0 @@ -.\" zip_source_commit_write.mdoc -- finalize changes to zip source -.\" Copyright (C) 2014-2017 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd December 18, 2017 -.Dt ZIP_SOURCE_COMMIT_WRITE 3 -.Os -.Sh NAME -.Nm zip_source_commit_write -.Nd finalize changes to zip source -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft int -.Fn zip_source_commit_write "zip_source_t *source" -.Sh DESCRIPTION -The function -.Fn zip_source_commit_write -finishes writing data to -.Fa source -and replaces the original with the newly written data. -.Sh RETURN VALUES -Upon successful completion 0 is returned. -Otherwise, \-1 is returned and the error information in -.Ar source -is set to indicate the error. -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_source 3 , -.Xr zip_source_begin_write 3 , -.Xr zip_source_rollback_write 3 , -.Xr zip_source_seek_write 3 , -.Xr zip_source_tell_write 3 , -.Xr zip_source_write 3 -.Sh HISTORY -.Fn zip_source_commit_write -was added in libzip 1.0. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_error.3 b/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_error.3 deleted file mode 100644 index 291a144..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_error.3 +++ /dev/null @@ -1,60 +0,0 @@ -.\" zip_source_error.mdoc -- get zip_error for data source -.\" Copyright (C) 2014-2017 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd December 18, 2017 -.Dt ZIP_SOURCE_ERROR 3 -.Os -.Sh NAME -.Nm zip_source_error -.Nd get zip error for data source -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft zip_error_t * -.Fn zip_source_error "zip_source_t *source" -.Sh DESCRIPTION -The -.Fn zip_source_error -function returns the zip error for the data source -.Ar source . -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_error_code_system 3 , -.Xr zip_error_code_zip 3 -.Sh HISTORY -.Fn zip_source_error -was added in libzip 1.0. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_file.3 b/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_file.3 deleted file mode 100644 index 15b7c00..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_file.3 +++ /dev/null @@ -1,147 +0,0 @@ -.\" zip_source_file.mdoc -- create data source from a file -.\" Copyright (C) 2004-2021 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd June 30, 2023 -.Dt ZIP_SOURCE_FILE 3 -.Os -.Sh NAME -.Nm zip_source_file , -.Nm zip_source_file_create -.Nd create data source from a file -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft zip_source_t * -.Fn zip_source_file "zip_t *archive" "const char *fname" "zip_uint64_t start" "zip_int64_t len" -.Ft zip_source_t * -.Fn zip_source_file_create "const char *fname" "zip_uint64_t start" "zip_int64_t len" "zip_error_t *error" -.Sh DESCRIPTION -The functions -.Fn zip_source_file -and -.Fn zip_source_file_create -create a zip source from a file. -They open -.Ar fname -and read -.Ar len -bytes from offset -.Ar start -from it. -.Pp -When passing -.Dv ZIP_LENGTH_TO_END -(or \-1, which is deprecated) as -.Ar len , -.Nm -determines the file size when it is called and uses that as the -expected file size. -If the file size grows between creating and reading from the source, -the additional data is ignored. -If the file shrinks, -.Nm libzip -treats it as an error -.Dv ( ZIP_ER_DATA_LENGTH ) . -.Pp -When passing -.Dv ZIP_LENGTH_UNCHECKED -as -.Ar len , -.Nm -assumes the file's size is unknown. -Reading from the source returns as much data as is there at that time -(usually when calling -.Xr zip_close 3 ) . -.Pp -.Nm libzip -can do various optimizations if the size of a source is known when -it's created, so -.Dv ZIP_LENGTH_TO_END -is preferable. -If you deal with files that are likely to change while you are -processing them, you can use the less efficient -.Dv ZIP_LENGTH_UNCHECKED . -.Pp -If the file supports seek, the source can be used to open a zip archive from. -.Pp -The file is opened and read when the data from the source is used, usually by -.Fn zip_close -or -.Fn zip_open_from_source . -.Sh RETURN VALUES -Upon successful completion, the created source is returned. -Otherwise, -.Dv NULL -is returned and the error code in -.Ar archive -or -.Ar error -is set to indicate the error. -.Sh ERRORS -.Fn zip_source_file -and -.Fn zip_source_file_create -fail if: -.Bl -tag -width Er -.It Bq Er ZIP_ER_INVAL -.Ar fname , -.Ar start , -or -.Ar len -are invalid. -.It Bq Er ZIP_ER_MEMORY -Required memory could not be allocated. -.It Bq Er ZIP_ER_OPEN -Opening -.Ar fname -failed. -.El -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_file_add 3 , -.Xr zip_file_replace 3 , -.Xr zip_source 3 -.Sh HISTORY -.Fn zip_source_file -and -.Fn zip_source_file_create -were added in libzip 1.0. -.Pp -.Dv ZIP_LENGTH_TO_END -and -.Dv ZIP_LENGTH_UNCHECKED -were added in libzip 1.10.1. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_file_create.3 b/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_file_create.3 deleted file mode 100644 index 15b7c00..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_file_create.3 +++ /dev/null @@ -1,147 +0,0 @@ -.\" zip_source_file.mdoc -- create data source from a file -.\" Copyright (C) 2004-2021 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd June 30, 2023 -.Dt ZIP_SOURCE_FILE 3 -.Os -.Sh NAME -.Nm zip_source_file , -.Nm zip_source_file_create -.Nd create data source from a file -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft zip_source_t * -.Fn zip_source_file "zip_t *archive" "const char *fname" "zip_uint64_t start" "zip_int64_t len" -.Ft zip_source_t * -.Fn zip_source_file_create "const char *fname" "zip_uint64_t start" "zip_int64_t len" "zip_error_t *error" -.Sh DESCRIPTION -The functions -.Fn zip_source_file -and -.Fn zip_source_file_create -create a zip source from a file. -They open -.Ar fname -and read -.Ar len -bytes from offset -.Ar start -from it. -.Pp -When passing -.Dv ZIP_LENGTH_TO_END -(or \-1, which is deprecated) as -.Ar len , -.Nm -determines the file size when it is called and uses that as the -expected file size. -If the file size grows between creating and reading from the source, -the additional data is ignored. -If the file shrinks, -.Nm libzip -treats it as an error -.Dv ( ZIP_ER_DATA_LENGTH ) . -.Pp -When passing -.Dv ZIP_LENGTH_UNCHECKED -as -.Ar len , -.Nm -assumes the file's size is unknown. -Reading from the source returns as much data as is there at that time -(usually when calling -.Xr zip_close 3 ) . -.Pp -.Nm libzip -can do various optimizations if the size of a source is known when -it's created, so -.Dv ZIP_LENGTH_TO_END -is preferable. -If you deal with files that are likely to change while you are -processing them, you can use the less efficient -.Dv ZIP_LENGTH_UNCHECKED . -.Pp -If the file supports seek, the source can be used to open a zip archive from. -.Pp -The file is opened and read when the data from the source is used, usually by -.Fn zip_close -or -.Fn zip_open_from_source . -.Sh RETURN VALUES -Upon successful completion, the created source is returned. -Otherwise, -.Dv NULL -is returned and the error code in -.Ar archive -or -.Ar error -is set to indicate the error. -.Sh ERRORS -.Fn zip_source_file -and -.Fn zip_source_file_create -fail if: -.Bl -tag -width Er -.It Bq Er ZIP_ER_INVAL -.Ar fname , -.Ar start , -or -.Ar len -are invalid. -.It Bq Er ZIP_ER_MEMORY -Required memory could not be allocated. -.It Bq Er ZIP_ER_OPEN -Opening -.Ar fname -failed. -.El -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_file_add 3 , -.Xr zip_file_replace 3 , -.Xr zip_source 3 -.Sh HISTORY -.Fn zip_source_file -and -.Fn zip_source_file_create -were added in libzip 1.0. -.Pp -.Dv ZIP_LENGTH_TO_END -and -.Dv ZIP_LENGTH_UNCHECKED -were added in libzip 1.10.1. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_filep.3 b/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_filep.3 deleted file mode 100644 index 341f2db..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_filep.3 +++ /dev/null @@ -1,112 +0,0 @@ -.\" zip_source_filep.mdoc -- create data source from a file stream -.\" Copyright (C) 2004-2021 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd June 30, 2023 -.Dt ZIP_SOURCE_FILEP 3 -.Os -.Sh NAME -.Nm zip_source_filep , -.Nm zip_source_filep_create -.Nd create data source from FILE * -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft zip_source_t * -.Fn zip_source_filep "zip_t *archive" "FILE *file" "zip_uint64_t start" "zip_int64_t len" -.Ft zip_source_t * -.Fn zip_source_filep_create "FILE *file" "zip_uint64_t start" "zip_int64_t len" "zip_error_t *error" -.Sh DESCRIPTION -The functions -.Fn zip_source_filep -and -.Fn zip_source_filep_create -create a zip source from a file stream. -They read -.Ar len -bytes from offset -.Ar start -from the open file stream -.Ar file . -For a description of the -.Ar len -argument, see -.Xr zip_source_file 3 . -.Pp -If the file stream supports seeking, the source can be used to open -a read-only zip archive from. -.Pp -The file stream is closed when the source is being freed, usually -by -.Xr zip_close 3 . -.Sh RETURN VALUES -Upon successful completion, the created source is returned. -Otherwise, -.Dv NULL -is returned and the error code in -.Ar archive -or -.Ar error -is set to indicate the error. -.Sh ERRORS -.Fn zip_source_filep -fails if: -.Bl -tag -width Er -.It Bq Er ZIP_ER_INVAL -.Ar file , -.Ar start , -or -.Ar len -are invalid. -.It Bq Er ZIP_ER_MEMORY -Required memory could not be allocated. -.El -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_file_add 3 , -.Xr zip_file_replace 3 , -.Xr zip_source 3 , -.Xr zip_source_file 3 -.Sh HISTORY -.Fn zip_source_filep -and -.Fn zip_source_filep_create -were added in libzip 1.0. -.Pp -.Dv ZIP_LENGTH_TO_END -and -.Dv ZIP_LENGTH_UNCHECKED -were added in libzip 1.10.1. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_filep_create.3 b/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_filep_create.3 deleted file mode 100644 index 341f2db..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_filep_create.3 +++ /dev/null @@ -1,112 +0,0 @@ -.\" zip_source_filep.mdoc -- create data source from a file stream -.\" Copyright (C) 2004-2021 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd June 30, 2023 -.Dt ZIP_SOURCE_FILEP 3 -.Os -.Sh NAME -.Nm zip_source_filep , -.Nm zip_source_filep_create -.Nd create data source from FILE * -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft zip_source_t * -.Fn zip_source_filep "zip_t *archive" "FILE *file" "zip_uint64_t start" "zip_int64_t len" -.Ft zip_source_t * -.Fn zip_source_filep_create "FILE *file" "zip_uint64_t start" "zip_int64_t len" "zip_error_t *error" -.Sh DESCRIPTION -The functions -.Fn zip_source_filep -and -.Fn zip_source_filep_create -create a zip source from a file stream. -They read -.Ar len -bytes from offset -.Ar start -from the open file stream -.Ar file . -For a description of the -.Ar len -argument, see -.Xr zip_source_file 3 . -.Pp -If the file stream supports seeking, the source can be used to open -a read-only zip archive from. -.Pp -The file stream is closed when the source is being freed, usually -by -.Xr zip_close 3 . -.Sh RETURN VALUES -Upon successful completion, the created source is returned. -Otherwise, -.Dv NULL -is returned and the error code in -.Ar archive -or -.Ar error -is set to indicate the error. -.Sh ERRORS -.Fn zip_source_filep -fails if: -.Bl -tag -width Er -.It Bq Er ZIP_ER_INVAL -.Ar file , -.Ar start , -or -.Ar len -are invalid. -.It Bq Er ZIP_ER_MEMORY -Required memory could not be allocated. -.El -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_file_add 3 , -.Xr zip_file_replace 3 , -.Xr zip_source 3 , -.Xr zip_source_file 3 -.Sh HISTORY -.Fn zip_source_filep -and -.Fn zip_source_filep_create -were added in libzip 1.0. -.Pp -.Dv ZIP_LENGTH_TO_END -and -.Dv ZIP_LENGTH_UNCHECKED -were added in libzip 1.10.1. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_free.3 b/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_free.3 deleted file mode 100644 index 3f17792..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_free.3 +++ /dev/null @@ -1,76 +0,0 @@ -.\" zip_source_free.mdoc -- free zip data source -.\" Copyright (C) 2004-2017 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd December 18, 2017 -.Dt ZIP_SOURCE_FREE 3 -.Os -.Sh NAME -.Nm zip_source_free -.Nd free zip data source -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft void -.Fn zip_source_free "zip_source_t *source" -.Sh DESCRIPTION -The function -.Fn zip_source_free -decrements the reference count of -.Ar source -and frees it if the reference count drops to 0. -If -.Ar source -is -.Dv NULL , -it does nothing. -.Pp -.Em NOTE : -This function should not be called on a -.Ar source -after it was used successfully in a -.Xr zip_open_from_source 3 , -.Xr zip_file_add 3 , -or -.Xr zip_file_replace 3 -call. -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_source 3 , -.Xr zip_source_keep 3 -.Sh HISTORY -.Fn zip_source_free -was added in libzip 0.6. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_function.3 b/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_function.3 deleted file mode 100644 index cfd595d..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_function.3 +++ /dev/null @@ -1,415 +0,0 @@ -.\" zip_source_function.mdoc -- create data source from function -.\" Copyright (C) 2004-2022 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd January 5, 2023 -.Dt ZIP_SOURCE_FUNCTION 3 -.Os -.Sh NAME -.Nm zip_source_function , -.Nm zip_source_function_create -.Nd create data source from function -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft zip_source_t * -.Fn zip_source_function "zip_t *archive" "zip_source_callback fn" "void *userdata" -.Ft zip_source_t * -.Fn zip_source_function_create "zip_source_callback fn" "void *userdata" "zip_error_t *error" -.Sh DESCRIPTION -The functions -.Fn zip_source_function -and -.Fn zip_source_function_create -create a zip source from the user-provided function -.Ar fn , -which must be of the following type: -.Pp -.Ft typedef zip_int64_t -.Fo \fR(*\fPzip_source_callback\fR)\fP -.Fa "void *userdata" "void *data" "zip_uint64_t len" "zip_source_cmd_t cmd" -.Fc -.Pp -.Ar archive -or -.Ar error -are used for reporting errors and can be -.Dv NULL . -.Pp -When called by the library, the first argument is the -.Ar userdata -argument supplied to the function. -The next two arguments are a buffer -.Ar data -of size -.Ar len -when data is passed in or expected to be returned, or else -.Dv NULL -and 0. -The last argument, -.Ar cmd , -specifies which action the function should perform. -.Pp -Depending on the uses, there are three useful sets of commands to be supported by a -.Fn zip_source_callback : -.Bl -tag -width seekable-read-sourceXX -.It read source -Providing streamed data (for file data added to archives). -Must support -.Dv ZIP_SOURCE_OPEN , -.Dv ZIP_SOURCE_READ , -.Dv ZIP_SOURCE_CLOSE , -.Dv ZIP_SOURCE_STAT , -and -.Dv ZIP_SOURCE_ERROR . -.Pp -If your source uses any allocated memory (including -.Ar userdata ) -it should also implement -.Dv ZIP_SOURCE_FREE -to avoid memory leaks. -.It seekable read source -Same as previous, but from a source allowing reading from arbitrary -offsets (also for read-only zip archive). -Must additionally support -.Dv ZIP_SOURCE_SEEK , -.Dv ZIP_SOURCE_TELL , -and -.Dv ZIP_SOURCE_SUPPORTS . -.It read/write source -Same as previous, but additionally allowing writing (also for writable -zip archives). -Must additionally support -.Dv ZIP_SOURCE_BEGIN_WRITE , -.Dv ZIP_SOURCE_COMMIT_WRITE , -.Dv ZIP_SOURCE_ROLLBACK_WRITE , -.Dv ZIP_SOURCE_SEEK_WRITE , -.Dv ZIP_SOURCE_TELL_WRITE , -and -.Dv ZIP_SOURCE_REMOVE . -.Pp -On top of the above, supporting the pseudo-command -.Dv ZIP_SOURCE_SUPPORTS_REOPEN -allows calling -.Fn zip_source_open -again after calling -.Fn zip_source_close . -.El -.Ss Dv ZIP_SOURCE_ACCEPT_EMPTY -Return 1 if an empty source should be accepted as a valid zip archive. -This is the default if this command is not supported by a source. -File system backed sources should return 0. -.Ss Dv ZIP_SOURCE_BEGIN_WRITE -Prepare the source for writing. -Use this to create any temporary file(s). -.Ss Dv ZIP_SOURCE_BEGIN_WRITE_CLONING -Prepare the source for writing, keeping the first -.Ar len -bytes of the original file. -Only implement this command if it is more efficient than copying the -data, and if it does not destructively overwrite the original file -(you still have to be able to execute -.Dv ZIP_SOURCE_ROLLBACK_WRITE ) . -.Pp -The next write should happen at byte -.Ar offset . -.Ss Dv ZIP_SOURCE_CLOSE -Reading is done. -.Ss Dv ZIP_SOURCE_COMMIT_WRITE -Finish writing to the source. -Replace the original data with the newly written data. -Clean up temporary files or internal buffers. -Subsequently opening and reading from the source should return the -newly written data. -.Ss Dv ZIP_SOURCE_ERROR -Get error information. -.Ar data -points to an array of two ints, which should be filled with the libzip -error code and the corresponding system error code for the error that -occurred. -See -.Xr zip_errors 3 -for details on the error codes. -If the source stores error information in a zip_error_t, use -.Xr zip_error_to_data 3 -and return its return value. -Otherwise, return 2 * sizeof(int). -.Ss Dv ZIP_SOURCE_FREE -Clean up and free all resources, including -.Ar userdata . -The callback function will not be called again. -.Ss Dv ZIP_SOURCE_GET_FILE_ATTRIBUTES -Provide information about various data. -Then the data should be put in the appropriate entry in the passed -.Vt zip_file_attributes_t -argument, and the appropriate -.Dv ZIP_FILE_ATTRIBUTES_* -value must be or'ed into the -.Ar valid -member to denote that the corresponding data has been provided. -A -.Vt zip_file_attributes_t -structure can be initialized using -.Xr zip_file_attributes_init 3 . -.Bl -tag -width 10n -.It ASCII mode -If a file is a plaintext file in ASCII. -Can be used by extraction tools to automatically convert line endings -(part of the internal file attributes). -Member -.Ar ascii , -flag -.Dv ZIP_FILE_ATTRIBUTES_ASCII . -.It General Purpose Bit Flags (limited to Compression Flags) -The general purpose bit flag in the zip in the local and central -directory headers contain information about the compression method. -Member -.Ar general_purpose_bit_flags -and -.Ar general_purpose_bit_mask -to denote which members have been set; -flag -.Dv ZIP_FILE_ATTRIBUTES_GENERAL_PURPOSE_BIT_FLAGS . -.It External File Attributes -The external file attributes (usually operating system-specific). -Member -.Ar external_file_attributes , -flag -.Dv ZIP_FILE_ATTRIBUTES_EXTERNAL_FILE_ATTRIBUTES . -.It Version Needed -A minimum version needed required to unpack this entry (in the usual -"major * 10 + minor" format). -Member -.Ar version_needed , -flag -.Dv ZIP_FILE_ATTRIBUTES_VERSION_NEEDED . -.It Operating System -One of the operating systems as defined by the -.Dv ZIP_OPSYS_* -variables (see -.Pa zip.h ) . -This value affects the interpretation of the external file attributes. -Member -.Ar host_system , -flag -.Dv ZIP_FILE_ATTRIBUTES_HOST_SYSTEM . -.El -.Ss Dv ZIP_SOURCE_OPEN -Prepare for reading. -.Ss Dv ZIP_SOURCE_READ -Read data into the buffer -.Ar data -of size -.Ar len . -Return the number of bytes placed into -.Ar data -on success, and zero for end-of-file. -.Ss Dv ZIP_SOURCE_REMOVE -Remove the underlying file. -This is called if a zip archive is empty when closed. -.Ss Dv ZIP_SOURCE_ROLLBACK_WRITE -Abort writing to the source. -Discard written data. -Clean up temporary files or internal buffers. -Subsequently opening and reading from the source should return the -original data. -.Ss Dv ZIP_SOURCE_SEEK -Specify position to read next byte from, like -.Xr fseek 3 . -Use -.Xr ZIP_SOURCE_GET_ARGS 3 -to decode the arguments into the following struct: -.Bd -literal -struct zip_source_args_seek { - zip_int64_t offset; - int whence; -}; -.Ed -.Pp -If the size of the source's data is known, use -.Xr zip_source_seek_compute_offset 3 -to validate the arguments and compute the new offset. -.Ss Dv ZIP_SOURCE_SEEK_WRITE -Specify position to write next byte to, like -.Xr fseek 3 . -See -.Dv ZIP_SOURCE_SEEK -for details. -.Ss Dv ZIP_SOURCE_STAT -Get meta information for the input data. -.Ar data -points to an allocated -.Vt struct zip_stat , -which should be initialized using -.Xr zip_stat_init 3 -and then filled in. -.Pp -For uncompressed, unencrypted data, all information is optional. -However, fill in as much information as is readily available. -.Pp -If the data is compressed, -.Dv ZIP_STAT_COMP_METHOD , -.Dv ZIP_STAT_SIZE , -and -.Dv ZIP_STAT_CRC -must be filled in. -.Pp -If the data is encrypted, -.Dv ZIP_STAT_ENCRYPTION_METHOD , -.Dv ZIP_STAT_COMP_METHOD , -.Dv ZIP_STAT_SIZE , -and -.Dv ZIP_STAT_CRC -must be filled in. -.Pp -Information only available after the source has been read (e.g., size) -can be omitted in an earlier call. -.Em NOTE : -.Fn zip_source_function -may be called with this argument even after being called with -.Dv ZIP_SOURCE_CLOSE . -.Pp -Return sizeof(struct zip_stat) on success. -.Ss Dv ZIP_SOURCE_SUPPORTS -Return bitmap specifying which commands are supported. -Use -.Xr zip_source_make_command_bitmap 3 . -If this command is not implemented, the source is assumed to be a -read source without seek support. -.Ss Dv ZIP_SOURCE_TELL -Return the current read offset in the source, like -.Xr ftell 3 . -.Ss Dv ZIP_SOURCE_TELL_WRITE -Return the current write offset in the source, like -.Xr ftell 3 . -.Ss Dv ZIP_SOURCE_WRITE -Write data to the source. -Return number of bytes written. -.Ss Dv ZIP_SOURCE_SUPPORTS_REOPEN -This command is never actually invoked, support for it signals the -ability to handle multiple open/read/close cycles. -.Ss Return Values -Commands should return \-1 on error. -.Dv ZIP_SOURCE_ERROR -will be called to retrieve the error code. -On success, commands return 0, unless specified otherwise in the -description above. -.Ss Calling Conventions -The library will always issue -.Dv ZIP_SOURCE_OPEN -before issuing -.Dv ZIP_SOURCE_READ , -.Dv ZIP_SOURCE_SEEK , -or -.Dv ZIP_SOURCE_TELL . -When it no longer wishes to read from this source, it will issue -.Dv ZIP_SOURCE_CLOSE . -If the library wishes to read the data again, it will issue -.Dv ZIP_SOURCE_OPEN -a second time. -If the function is unable to provide the data again, it should -return \-1. -.Pp -.Dv ZIP_SOURCE_BEGIN_WRITE -or -.Dv ZIP_SOURCE_BEGIN_WRITE_CLONING -will be called before -.Dv ZIP_SOURCE_WRITE , -.Dv ZIP_SOURCE_SEEK_WRITE , -or -.Dv ZIP_SOURCE_TELL_WRITE . -When writing is complete, either -.Dv ZIP_SOURCE_COMMIT_WRITE -or -.Dv ZIP_SOURCE_ROLLBACK_WRITE -will be called. -.Pp -.Dv ZIP_SOURCE_ACCEPT_EMPTY , -.Dv ZIP_SOURCE_GET_FILE_ATTRIBUTES , -and -.Dv ZIP_SOURCE_STAT -can be issued at any time. -.Pp -.Dv ZIP_SOURCE_ERROR -will only be issued in response to the function -returning \-1. -.Pp -.Dv ZIP_SOURCE_FREE -will be the last command issued; -if -.Dv ZIP_SOURCE_OPEN -was called and succeeded, -.Dv ZIP_SOURCE_CLOSE -will be called before -.Dv ZIP_SOURCE_FREE , -and similarly for -.Dv ZIP_SOURCE_BEGIN_WRITE -or -.Dv ZIP_SOURCE_BEGIN_WRITE_CLONING -and -.Dv ZIP_SOURCE_COMMIT_WRITE -or -.Dv ZIP_SOURCE_ROLLBACK_WRITE . -.Sh RETURN VALUES -Upon successful completion, the created source is returned. -Otherwise, -.Dv NULL -is returned and the error code in -.Ar archive -or -.Ar error -is set to indicate the error (unless -it is -.Dv NULL ) . -.Sh ERRORS -.Fn zip_source_function -fails if: -.Bl -tag -width Er -.It Bq Er ZIP_ER_MEMORY -Required memory could not be allocated. -.El -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_file_add 3 , -.Xr zip_file_attributes_init 3 , -.Xr zip_file_replace 3 , -.Xr zip_source 3 , -.Xr zip_stat_init 3 -.Sh HISTORY -.Fn zip_source_function -and -.Fn zip_source_function_create -were added in libzip 1.0. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_function_create.3 b/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_function_create.3 deleted file mode 100644 index cfd595d..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_function_create.3 +++ /dev/null @@ -1,415 +0,0 @@ -.\" zip_source_function.mdoc -- create data source from function -.\" Copyright (C) 2004-2022 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd January 5, 2023 -.Dt ZIP_SOURCE_FUNCTION 3 -.Os -.Sh NAME -.Nm zip_source_function , -.Nm zip_source_function_create -.Nd create data source from function -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft zip_source_t * -.Fn zip_source_function "zip_t *archive" "zip_source_callback fn" "void *userdata" -.Ft zip_source_t * -.Fn zip_source_function_create "zip_source_callback fn" "void *userdata" "zip_error_t *error" -.Sh DESCRIPTION -The functions -.Fn zip_source_function -and -.Fn zip_source_function_create -create a zip source from the user-provided function -.Ar fn , -which must be of the following type: -.Pp -.Ft typedef zip_int64_t -.Fo \fR(*\fPzip_source_callback\fR)\fP -.Fa "void *userdata" "void *data" "zip_uint64_t len" "zip_source_cmd_t cmd" -.Fc -.Pp -.Ar archive -or -.Ar error -are used for reporting errors and can be -.Dv NULL . -.Pp -When called by the library, the first argument is the -.Ar userdata -argument supplied to the function. -The next two arguments are a buffer -.Ar data -of size -.Ar len -when data is passed in or expected to be returned, or else -.Dv NULL -and 0. -The last argument, -.Ar cmd , -specifies which action the function should perform. -.Pp -Depending on the uses, there are three useful sets of commands to be supported by a -.Fn zip_source_callback : -.Bl -tag -width seekable-read-sourceXX -.It read source -Providing streamed data (for file data added to archives). -Must support -.Dv ZIP_SOURCE_OPEN , -.Dv ZIP_SOURCE_READ , -.Dv ZIP_SOURCE_CLOSE , -.Dv ZIP_SOURCE_STAT , -and -.Dv ZIP_SOURCE_ERROR . -.Pp -If your source uses any allocated memory (including -.Ar userdata ) -it should also implement -.Dv ZIP_SOURCE_FREE -to avoid memory leaks. -.It seekable read source -Same as previous, but from a source allowing reading from arbitrary -offsets (also for read-only zip archive). -Must additionally support -.Dv ZIP_SOURCE_SEEK , -.Dv ZIP_SOURCE_TELL , -and -.Dv ZIP_SOURCE_SUPPORTS . -.It read/write source -Same as previous, but additionally allowing writing (also for writable -zip archives). -Must additionally support -.Dv ZIP_SOURCE_BEGIN_WRITE , -.Dv ZIP_SOURCE_COMMIT_WRITE , -.Dv ZIP_SOURCE_ROLLBACK_WRITE , -.Dv ZIP_SOURCE_SEEK_WRITE , -.Dv ZIP_SOURCE_TELL_WRITE , -and -.Dv ZIP_SOURCE_REMOVE . -.Pp -On top of the above, supporting the pseudo-command -.Dv ZIP_SOURCE_SUPPORTS_REOPEN -allows calling -.Fn zip_source_open -again after calling -.Fn zip_source_close . -.El -.Ss Dv ZIP_SOURCE_ACCEPT_EMPTY -Return 1 if an empty source should be accepted as a valid zip archive. -This is the default if this command is not supported by a source. -File system backed sources should return 0. -.Ss Dv ZIP_SOURCE_BEGIN_WRITE -Prepare the source for writing. -Use this to create any temporary file(s). -.Ss Dv ZIP_SOURCE_BEGIN_WRITE_CLONING -Prepare the source for writing, keeping the first -.Ar len -bytes of the original file. -Only implement this command if it is more efficient than copying the -data, and if it does not destructively overwrite the original file -(you still have to be able to execute -.Dv ZIP_SOURCE_ROLLBACK_WRITE ) . -.Pp -The next write should happen at byte -.Ar offset . -.Ss Dv ZIP_SOURCE_CLOSE -Reading is done. -.Ss Dv ZIP_SOURCE_COMMIT_WRITE -Finish writing to the source. -Replace the original data with the newly written data. -Clean up temporary files or internal buffers. -Subsequently opening and reading from the source should return the -newly written data. -.Ss Dv ZIP_SOURCE_ERROR -Get error information. -.Ar data -points to an array of two ints, which should be filled with the libzip -error code and the corresponding system error code for the error that -occurred. -See -.Xr zip_errors 3 -for details on the error codes. -If the source stores error information in a zip_error_t, use -.Xr zip_error_to_data 3 -and return its return value. -Otherwise, return 2 * sizeof(int). -.Ss Dv ZIP_SOURCE_FREE -Clean up and free all resources, including -.Ar userdata . -The callback function will not be called again. -.Ss Dv ZIP_SOURCE_GET_FILE_ATTRIBUTES -Provide information about various data. -Then the data should be put in the appropriate entry in the passed -.Vt zip_file_attributes_t -argument, and the appropriate -.Dv ZIP_FILE_ATTRIBUTES_* -value must be or'ed into the -.Ar valid -member to denote that the corresponding data has been provided. -A -.Vt zip_file_attributes_t -structure can be initialized using -.Xr zip_file_attributes_init 3 . -.Bl -tag -width 10n -.It ASCII mode -If a file is a plaintext file in ASCII. -Can be used by extraction tools to automatically convert line endings -(part of the internal file attributes). -Member -.Ar ascii , -flag -.Dv ZIP_FILE_ATTRIBUTES_ASCII . -.It General Purpose Bit Flags (limited to Compression Flags) -The general purpose bit flag in the zip in the local and central -directory headers contain information about the compression method. -Member -.Ar general_purpose_bit_flags -and -.Ar general_purpose_bit_mask -to denote which members have been set; -flag -.Dv ZIP_FILE_ATTRIBUTES_GENERAL_PURPOSE_BIT_FLAGS . -.It External File Attributes -The external file attributes (usually operating system-specific). -Member -.Ar external_file_attributes , -flag -.Dv ZIP_FILE_ATTRIBUTES_EXTERNAL_FILE_ATTRIBUTES . -.It Version Needed -A minimum version needed required to unpack this entry (in the usual -"major * 10 + minor" format). -Member -.Ar version_needed , -flag -.Dv ZIP_FILE_ATTRIBUTES_VERSION_NEEDED . -.It Operating System -One of the operating systems as defined by the -.Dv ZIP_OPSYS_* -variables (see -.Pa zip.h ) . -This value affects the interpretation of the external file attributes. -Member -.Ar host_system , -flag -.Dv ZIP_FILE_ATTRIBUTES_HOST_SYSTEM . -.El -.Ss Dv ZIP_SOURCE_OPEN -Prepare for reading. -.Ss Dv ZIP_SOURCE_READ -Read data into the buffer -.Ar data -of size -.Ar len . -Return the number of bytes placed into -.Ar data -on success, and zero for end-of-file. -.Ss Dv ZIP_SOURCE_REMOVE -Remove the underlying file. -This is called if a zip archive is empty when closed. -.Ss Dv ZIP_SOURCE_ROLLBACK_WRITE -Abort writing to the source. -Discard written data. -Clean up temporary files or internal buffers. -Subsequently opening and reading from the source should return the -original data. -.Ss Dv ZIP_SOURCE_SEEK -Specify position to read next byte from, like -.Xr fseek 3 . -Use -.Xr ZIP_SOURCE_GET_ARGS 3 -to decode the arguments into the following struct: -.Bd -literal -struct zip_source_args_seek { - zip_int64_t offset; - int whence; -}; -.Ed -.Pp -If the size of the source's data is known, use -.Xr zip_source_seek_compute_offset 3 -to validate the arguments and compute the new offset. -.Ss Dv ZIP_SOURCE_SEEK_WRITE -Specify position to write next byte to, like -.Xr fseek 3 . -See -.Dv ZIP_SOURCE_SEEK -for details. -.Ss Dv ZIP_SOURCE_STAT -Get meta information for the input data. -.Ar data -points to an allocated -.Vt struct zip_stat , -which should be initialized using -.Xr zip_stat_init 3 -and then filled in. -.Pp -For uncompressed, unencrypted data, all information is optional. -However, fill in as much information as is readily available. -.Pp -If the data is compressed, -.Dv ZIP_STAT_COMP_METHOD , -.Dv ZIP_STAT_SIZE , -and -.Dv ZIP_STAT_CRC -must be filled in. -.Pp -If the data is encrypted, -.Dv ZIP_STAT_ENCRYPTION_METHOD , -.Dv ZIP_STAT_COMP_METHOD , -.Dv ZIP_STAT_SIZE , -and -.Dv ZIP_STAT_CRC -must be filled in. -.Pp -Information only available after the source has been read (e.g., size) -can be omitted in an earlier call. -.Em NOTE : -.Fn zip_source_function -may be called with this argument even after being called with -.Dv ZIP_SOURCE_CLOSE . -.Pp -Return sizeof(struct zip_stat) on success. -.Ss Dv ZIP_SOURCE_SUPPORTS -Return bitmap specifying which commands are supported. -Use -.Xr zip_source_make_command_bitmap 3 . -If this command is not implemented, the source is assumed to be a -read source without seek support. -.Ss Dv ZIP_SOURCE_TELL -Return the current read offset in the source, like -.Xr ftell 3 . -.Ss Dv ZIP_SOURCE_TELL_WRITE -Return the current write offset in the source, like -.Xr ftell 3 . -.Ss Dv ZIP_SOURCE_WRITE -Write data to the source. -Return number of bytes written. -.Ss Dv ZIP_SOURCE_SUPPORTS_REOPEN -This command is never actually invoked, support for it signals the -ability to handle multiple open/read/close cycles. -.Ss Return Values -Commands should return \-1 on error. -.Dv ZIP_SOURCE_ERROR -will be called to retrieve the error code. -On success, commands return 0, unless specified otherwise in the -description above. -.Ss Calling Conventions -The library will always issue -.Dv ZIP_SOURCE_OPEN -before issuing -.Dv ZIP_SOURCE_READ , -.Dv ZIP_SOURCE_SEEK , -or -.Dv ZIP_SOURCE_TELL . -When it no longer wishes to read from this source, it will issue -.Dv ZIP_SOURCE_CLOSE . -If the library wishes to read the data again, it will issue -.Dv ZIP_SOURCE_OPEN -a second time. -If the function is unable to provide the data again, it should -return \-1. -.Pp -.Dv ZIP_SOURCE_BEGIN_WRITE -or -.Dv ZIP_SOURCE_BEGIN_WRITE_CLONING -will be called before -.Dv ZIP_SOURCE_WRITE , -.Dv ZIP_SOURCE_SEEK_WRITE , -or -.Dv ZIP_SOURCE_TELL_WRITE . -When writing is complete, either -.Dv ZIP_SOURCE_COMMIT_WRITE -or -.Dv ZIP_SOURCE_ROLLBACK_WRITE -will be called. -.Pp -.Dv ZIP_SOURCE_ACCEPT_EMPTY , -.Dv ZIP_SOURCE_GET_FILE_ATTRIBUTES , -and -.Dv ZIP_SOURCE_STAT -can be issued at any time. -.Pp -.Dv ZIP_SOURCE_ERROR -will only be issued in response to the function -returning \-1. -.Pp -.Dv ZIP_SOURCE_FREE -will be the last command issued; -if -.Dv ZIP_SOURCE_OPEN -was called and succeeded, -.Dv ZIP_SOURCE_CLOSE -will be called before -.Dv ZIP_SOURCE_FREE , -and similarly for -.Dv ZIP_SOURCE_BEGIN_WRITE -or -.Dv ZIP_SOURCE_BEGIN_WRITE_CLONING -and -.Dv ZIP_SOURCE_COMMIT_WRITE -or -.Dv ZIP_SOURCE_ROLLBACK_WRITE . -.Sh RETURN VALUES -Upon successful completion, the created source is returned. -Otherwise, -.Dv NULL -is returned and the error code in -.Ar archive -or -.Ar error -is set to indicate the error (unless -it is -.Dv NULL ) . -.Sh ERRORS -.Fn zip_source_function -fails if: -.Bl -tag -width Er -.It Bq Er ZIP_ER_MEMORY -Required memory could not be allocated. -.El -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_file_add 3 , -.Xr zip_file_attributes_init 3 , -.Xr zip_file_replace 3 , -.Xr zip_source 3 , -.Xr zip_stat_init 3 -.Sh HISTORY -.Fn zip_source_function -and -.Fn zip_source_function_create -were added in libzip 1.0. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_is_deleted.3 b/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_is_deleted.3 deleted file mode 100644 index af1c93b..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_is_deleted.3 +++ /dev/null @@ -1,62 +0,0 @@ -.\" zip_source_is_deleted.mdoc -- check if zip source is deleted -.\" Copyright (C) 2014-2017 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd December 18, 2017 -.Dt ZIP_SOURCE_IS_DELETED 3 -.Os -.Sh NAME -.Nm zip_source_is_deleted -.Nd check if zip_source is deleted -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft int -.Fn zip_source_is_deleted "zip_source_t *source" -.Sh DESCRIPTION -The function -.Fn zip_source_is_deleted -returns whether the zip_source was deleted. -This can for example happen when all entries are removed from a zip archive. -.Sh RETURN VALUES -.Fn zip_source_is_deleted -returns 1 if the zip_source is deleted and 0 otherwise. -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_source 3 -.Sh HISTORY -.Fn zip_source_is_deleted -was added in libzip 1.0. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_is_seekable.3 b/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_is_seekable.3 deleted file mode 100644 index c0d781b..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_is_seekable.3 +++ /dev/null @@ -1,65 +0,0 @@ -.\" zip_source_seek.mdoc -- set read offset in source -.\" Copyright (C) 2023 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd March 10, 2023 -.Dt ZIP_SOURCE_IS_SEEKABLE 3 -.Os -.Sh NAME -.Nm zip_source_is_seekable -.Nd check if a source supports seeking -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft int -.Fn zip_source_is_seekable "zip_source_t *source" -.Sh DESCRIPTION -The function -.Fn zip_source_is_seekable -checks if -.Fa source -supports seeking via -.Xr zip_source_seek 3 . -.Sh RETURN VALUES -If the source supports seeking, 1 is returned. -Otherwise, 0 is returned. -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_source 3 , -.Xr zip_source_seek 3 -.Sh HISTORY -.Fn zip_source_is_seekable -was added in libzip 1.10.0. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_keep.3 b/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_keep.3 deleted file mode 100644 index ac3bef5..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_keep.3 +++ /dev/null @@ -1,60 +0,0 @@ -.\" zip_source_keep.mdoc -- increment reference count of zip data source -.\" Copyright (C) 2014-2017 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd December 18, 2017 -.Dt ZIP_SOURCE_KEEP 3 -.Os -.Sh NAME -.Nm zip_source_keep -.Nd increment reference count of zip data source -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft void -.Fn zip_source_keep "zip_source_t *source" -.Sh DESCRIPTION -The function -.Fn zip_source_keep -increments the reference count of -.Ar source . -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_source 3 , -.Xr zip_source_free 3 -.Sh HISTORY -.Fn zip_source_keep -was added in libzip 1.0. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_layered.3 b/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_layered.3 deleted file mode 100644 index 4281dc5..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_layered.3 +++ /dev/null @@ -1,166 +0,0 @@ -.\" zip_source_layered.mdoc -- create layered source from function -.\" Copyright (C) 2004-2022 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd January 20, 2023 -.Dt ZIP_SOURCE_LAYERED 3 -.Os -.Sh NAME -.Nm zip_source_layered , -.Nm zip_source_layered_create -.Nd create layered data source from function -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft zip_source_t * -.Fn zip_source_layered "zip_t *archive" "zip_source_t *source" "zip_source_layered_callback fn" "void *userdata" -.Ft zip_source_t * -.Fn zip_source_layered_create "zip_source_t *source" "zip_source_layered_callback fn" "void *userdata" "zip_error_t *error" -.Sh DESCRIPTION -The functions -.Fn zip_source_layered -and -.Fn zip_source_layered_create -create a layered zip source from the user-provided function -.Ar fn , -which must be of the following type: -.Pp -.Ft typedef zip_int64_t -.Fo \fR(*\zip_source_layered_callback\fR)\fP -.Fa "zip_source_t *source" "void *userdata" "void *data" "zip_uint64_t length" "zip_source_cmd_t cmd" -.Fc -.Pp -.Ar archive -or -.Ar error -are used for reporting errors and can be -.Dv NULL . -.Pp -When called by the library, the first argument is the -.Ar source -of the lower layer, the second argument is the -.Ar userdata -argument supplied to the function. -The next two arguments are a buffer -.Ar data -of size -.Ar length -when data is passed in or expected to be returned, or else -.Dv NULL -and 0. -The last argument, -.Ar cmd , -specifies which action the function should perform. -.Pp -See -.Xr zip_source_function 3 -for a description of the commands. -.Pp -A layered source transforms the data or metadata of the source below in some way. -Layered sources can't support writing and are not sufficient to cleanly add support for additional compression or encryption methods. -This may be revised in a later release of libzip. -.Pp -On success, the layered source takes ownership of -.Ar source . -The caller should not free it. -.Pp -The interaction with the lower layer depends on the command: -.Ss Dv ZIP_SOURCE_ACCEPT_EMPTY -If the layered source supports this command, the lower layer is not called automatically. -Otherwise, the return value of the lower source is used. -.Ss Dv ZIP_SOURCE_CLOSE -The lower layer is closed after the callback returns. -.Ss Dv ZIP_SOURCE_ERROR -The lower layer is not called automatically. -If you need to retrieve error information from the lower layer, use -.Xr zip_error_set_from_source 3 -or -.Xr zip_source_pass_to_lower_layer 3 . -.Ss Dv ZIP_SOURCE_FREE -The lower layer is freed after the callback returns. -.Ss Dv ZIP_SOURCE_GET_FILE_ATTRIBUTES -The attributes of the lower layer are merged with the attributes returned by the callback: information set by the callback wins over the lower layer, with the following exceptions: the higher -.Ar version_needed -is used, and -.Ar general_purpose_bit_flags -are only overwritten if the corresponding bit is set in -.Ar general_purpose_bit_mask . -.Ss Dv ZIP_SOURCE_OPEN -The lower layer is opened before the callback is called. -.Ss Dv ZIP_SOURCE_READ -The lower layer is not called automatically. -.Ss Dv ZIP_SOURCE_SEEK -The lower layer is not called automatically. -.Ss Dv ZIP_SOURCE_STAT -.Ar data -contains the stat information from the lower layer when the callback is called. -.Ss Dv ZIP_SOURCE_SUPPORTS -.Ar data -contains the bitmap of commands supported by the lower layer when the callback is called. -Since layered sources can't support writing, all commands related to writing are stripped from the returned support bitmap. -.Ss Dv ZIP_SOURCE_TELL -The lower layer is not called automatically. -.Sh RETURN VALUES -Upon successful completion, the created source is returned. -Otherwise, -.Dv NULL -is returned and the error code in -.Ar archive -or -.Ar error -is set to indicate the error (unless -it is -.Dv NULL ) . -.Sh ERRORS -.Fn zip_source_layered -fails if: -.Bl -tag -width Er -.It Bq Er ZIP_ER_MEMORY -Required memory could not be allocated. -.El -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_file_add 3 , -.Xr zip_file_attributes_init 3 , -.Xr zip_file_replace 3 , -.Xr zip_source 3 , -.Xr zip_source_function 3 , -.Xr zip_source_pass_to_lower_layer 3 -.Sh HISTORY -.Fn zip_source_layered -and -.Fn zip_source_layered_create -were added in libzip 1.10. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_layered_create.3 b/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_layered_create.3 deleted file mode 100644 index 4281dc5..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_layered_create.3 +++ /dev/null @@ -1,166 +0,0 @@ -.\" zip_source_layered.mdoc -- create layered source from function -.\" Copyright (C) 2004-2022 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd January 20, 2023 -.Dt ZIP_SOURCE_LAYERED 3 -.Os -.Sh NAME -.Nm zip_source_layered , -.Nm zip_source_layered_create -.Nd create layered data source from function -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft zip_source_t * -.Fn zip_source_layered "zip_t *archive" "zip_source_t *source" "zip_source_layered_callback fn" "void *userdata" -.Ft zip_source_t * -.Fn zip_source_layered_create "zip_source_t *source" "zip_source_layered_callback fn" "void *userdata" "zip_error_t *error" -.Sh DESCRIPTION -The functions -.Fn zip_source_layered -and -.Fn zip_source_layered_create -create a layered zip source from the user-provided function -.Ar fn , -which must be of the following type: -.Pp -.Ft typedef zip_int64_t -.Fo \fR(*\zip_source_layered_callback\fR)\fP -.Fa "zip_source_t *source" "void *userdata" "void *data" "zip_uint64_t length" "zip_source_cmd_t cmd" -.Fc -.Pp -.Ar archive -or -.Ar error -are used for reporting errors and can be -.Dv NULL . -.Pp -When called by the library, the first argument is the -.Ar source -of the lower layer, the second argument is the -.Ar userdata -argument supplied to the function. -The next two arguments are a buffer -.Ar data -of size -.Ar length -when data is passed in or expected to be returned, or else -.Dv NULL -and 0. -The last argument, -.Ar cmd , -specifies which action the function should perform. -.Pp -See -.Xr zip_source_function 3 -for a description of the commands. -.Pp -A layered source transforms the data or metadata of the source below in some way. -Layered sources can't support writing and are not sufficient to cleanly add support for additional compression or encryption methods. -This may be revised in a later release of libzip. -.Pp -On success, the layered source takes ownership of -.Ar source . -The caller should not free it. -.Pp -The interaction with the lower layer depends on the command: -.Ss Dv ZIP_SOURCE_ACCEPT_EMPTY -If the layered source supports this command, the lower layer is not called automatically. -Otherwise, the return value of the lower source is used. -.Ss Dv ZIP_SOURCE_CLOSE -The lower layer is closed after the callback returns. -.Ss Dv ZIP_SOURCE_ERROR -The lower layer is not called automatically. -If you need to retrieve error information from the lower layer, use -.Xr zip_error_set_from_source 3 -or -.Xr zip_source_pass_to_lower_layer 3 . -.Ss Dv ZIP_SOURCE_FREE -The lower layer is freed after the callback returns. -.Ss Dv ZIP_SOURCE_GET_FILE_ATTRIBUTES -The attributes of the lower layer are merged with the attributes returned by the callback: information set by the callback wins over the lower layer, with the following exceptions: the higher -.Ar version_needed -is used, and -.Ar general_purpose_bit_flags -are only overwritten if the corresponding bit is set in -.Ar general_purpose_bit_mask . -.Ss Dv ZIP_SOURCE_OPEN -The lower layer is opened before the callback is called. -.Ss Dv ZIP_SOURCE_READ -The lower layer is not called automatically. -.Ss Dv ZIP_SOURCE_SEEK -The lower layer is not called automatically. -.Ss Dv ZIP_SOURCE_STAT -.Ar data -contains the stat information from the lower layer when the callback is called. -.Ss Dv ZIP_SOURCE_SUPPORTS -.Ar data -contains the bitmap of commands supported by the lower layer when the callback is called. -Since layered sources can't support writing, all commands related to writing are stripped from the returned support bitmap. -.Ss Dv ZIP_SOURCE_TELL -The lower layer is not called automatically. -.Sh RETURN VALUES -Upon successful completion, the created source is returned. -Otherwise, -.Dv NULL -is returned and the error code in -.Ar archive -or -.Ar error -is set to indicate the error (unless -it is -.Dv NULL ) . -.Sh ERRORS -.Fn zip_source_layered -fails if: -.Bl -tag -width Er -.It Bq Er ZIP_ER_MEMORY -Required memory could not be allocated. -.El -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_file_add 3 , -.Xr zip_file_attributes_init 3 , -.Xr zip_file_replace 3 , -.Xr zip_source 3 , -.Xr zip_source_function 3 , -.Xr zip_source_pass_to_lower_layer 3 -.Sh HISTORY -.Fn zip_source_layered -and -.Fn zip_source_layered_create -were added in libzip 1.10. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_make_command_bitmap.3 b/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_make_command_bitmap.3 deleted file mode 100644 index 825f3aa..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_make_command_bitmap.3 +++ /dev/null @@ -1,62 +0,0 @@ -.\" zip_source_make_command_bitmap -- create bitmap of supported source operations -.\" Copyright (C) 2014-2017 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd December 18, 2017 -.Dt ZIP_SOURCE_MAKE_COMMAND_BITMAP 3 -.Os -.Sh NAME -.Nm zip_source_make_command_bitmap -.Nd create bitmap of supported source operations -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft zip_int64_t -.Fn zip_source_make_command_bitmap "zip_source_cmd_t command" "..." -.Sh DESCRIPTION -The -.Fn zip_source_make_command_bitmap -function returns a bitmap of source commands suitable as return value -for -.Dv ZIP_SOURCE_SUPPORTS . -It includes all the commands from the argument list, which must be -terminated by \-1. -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_source_function 3 -.Sh HISTORY -.Fn zip_source_make_command_bitmap -was added in libzip 1.0. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_open.3 b/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_open.3 deleted file mode 100644 index 827f90a..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_open.3 +++ /dev/null @@ -1,70 +0,0 @@ -.\" zip_source_open.mdoc -- open zip source for reading -.\" Copyright (C) 2014-2017 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd December 18, 2017 -.Dt ZIP_SOURCE_OPEN 3 -.Os -.Sh NAME -.Nm zip_source_open -.Nd open zip_source for reading -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft int -.Fn zip_source_open "zip_source_t *source" -.Sh DESCRIPTION -The function -.Fn zip_source_open -opens -.Fa source -for reading. -.Sh RETURN VALUES -Upon successful completion 0 is returned. -Otherwise, \-1 is returned and the error information in -.Ar source -is set to indicate the error. -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_source 3 , -.Xr zip_source_begin_write 3 , -.Xr zip_source_close 3 , -.Xr zip_source_read 3 , -.Xr zip_source_seek 3 , -.Xr zip_source_tell 3 -.Sh HISTORY -.Fn zip_source_open -was added in libzip 1.0. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_read.3 b/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_read.3 deleted file mode 100644 index 8f04871..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_read.3 +++ /dev/null @@ -1,80 +0,0 @@ -.\" zip_source_read.mdoc -- read data from zip source -.\" Copyright (C) 2014-2022 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd September 28, 2021 -.Dt ZIP_SOURCE_READ 3 -.Os -.Sh NAME -.Nm zip_source_read -.Nd read data from zip source -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft zip_int64_t -.Fn zip_source_read "zip_source_t *source" "void *data" "zip_uint64_t len" -.Sh DESCRIPTION -The function -.Fn zip_source_read -reads up to -.Ar len -bytes of data from -.Ar source -at the current read offset into the buffer -.Ar data . -.Pp -The zip source -.Ar source -has to be opened for reading by calling -.Xr zip_source_open 3 -first. -.Sh RETURN VALUES -Upon successful completion the number of bytes read is returned. -When -.Fn zip_source_read -is called after reaching the end of the file, 0 is returned. -Otherwise, \-1 is returned and the error information in -.Ar source -is set to indicate the error. -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_source 3 , -.Xr zip_source_seek 3 , -.Xr zip_source_tell 3 , -.Xr zip_source_write 3 -.Sh HISTORY -.Fn zip_source_read -was added in libzip 1.0. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_rollback_write.3 b/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_rollback_write.3 deleted file mode 100644 index d749885..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_rollback_write.3 +++ /dev/null @@ -1,68 +0,0 @@ -.\" zip_source_rollback_write.mdoc -- undo changes to zip source -.\" Copyright (C) 2014-2022 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd November 3, 2021 -.Dt ZIP_SOURCE_ROLLBACK_WRITE 3 -.Os -.Sh NAME -.Nm zip_source_rollback_write -.Nd undo changes to zip source -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft void -.Fn zip_source_rollback_write "zip_source_t *source" -.Sh DESCRIPTION -The function -.Fn zip_source_rollback_write -reverts changes written to -.Fa source , -restoring the data before -.Xr zip_source_begin_write 3 -was called. -Usually this removes temporary files or frees buffers. -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_source 3 , -.Xr zip_source_begin_write 3 , -.Xr zip_source_commit_write 3 , -.Xr zip_source_seek_write 3 , -.Xr zip_source_tell_write 3 , -.Xr zip_source_write 3 -.Sh HISTORY -.Fn zip_source_rollback_write -was added in libzip 1.0. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_seek.3 b/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_seek.3 deleted file mode 100644 index face17c..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_seek.3 +++ /dev/null @@ -1,82 +0,0 @@ -.\" zip_source_seek.mdoc -- set read offset in source -.\" Copyright (C) 2014-2017 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd March 10, 2023 -.Dt ZIP_SOURCE_SEEK 3 -.Os -.Sh NAME -.Nm zip_source_seek -.Nd set read offset in zip source -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft int -.Fn zip_source_seek "zip_source_t *source" "zip_int64_t offset" "int whence" -.Sh DESCRIPTION -The function -.Fn zip_source_seek -sets the current read offset for -.Fa source . -Just like in -.Xr fseek 3 , -depending on the -.Ar whence -argument, the -.Ar offset -is counted relative from: -.Bl -tag -width SEEK_CURXX -offset indent -.It Dv SEEK_SET -start of file -.It Dv SEEK_CUR -current read offset in file -.It Dv SEEK_END -end of file -.El -.Sh RETURN VALUES -Upon successful completion 0 is returned. -Otherwise, \-1 is returned and the error information in -.Ar source -is set to indicate the error. -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_source 3 , -.Xr zip_source_is_seekable 3 , -.Xr zip_source_read 3 , -.Xr zip_source_tell 3 -.Sh HISTORY -.Fn zip_source_seek -was added in libzip 1.0. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_seek_compute_offset.3 b/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_seek_compute_offset.3 deleted file mode 100644 index e849886..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_seek_compute_offset.3 +++ /dev/null @@ -1,81 +0,0 @@ -.\" zip_source_seek_compute_offset.mdoc - validate arguments and compute offset -.\" Copyright (C) 2014-2017 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd December 18, 2017 -.Dt ZIP_SOURCE_SEEK_COMPUTE_OFFSET 3 -.Os -.Sh NAME -.Nm zip_source_seek_compute_offset -.Nd validate arguments and compute offset -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft zip_int64_t -.Fn zip_source_seek_compute_offset "zip_uint64_t offset" "zip_uint64_t length" "void *data" "zip_uint64_t data_length" "zip_error_t *error" -.Sh DESCRIPTION -Use this function to compute the offset for a -.Dv ZIP_SOURCE_SEEK -or -.Dv ZIP_SOURCE_SEEK_WRITE -command. -.Ar data -and -.Ar data_length -are the arguments to the source callback, -.Ar offset -is the current offset and -.Ar length -is the length of the source data or, for -.Dv ZIP_SOURCE_SEEK_WRITE , -the amount of data written. -.Sh RETURN VALUES -On success, it returns the new offset, on error it returns \-1 and -sets -.Ar error . -.Sh ERRORS -.Fn zip_source_seek_compute_offset -fails if: -.Bl -tag -width Er -.It Bq Er ZIP_ER_INVAL -One of the arguments is invalid or the seek would place the offset -outside the data. -.El -.Sh SEE ALSO -.Xr zip_source_function 3 -.Sh HISTORY -.Fn zip_source_seek_compute_offset -was added in libzip 1.0. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_seek_write.3 b/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_seek_write.3 deleted file mode 100644 index 832c31e..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_seek_write.3 +++ /dev/null @@ -1,84 +0,0 @@ -.\" zip_source_seek_write.mdoc -- set write offset in source -.\" Copyright (C) 2014-2017 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd December 18, 2017 -.Dt ZIP_SOURCE_SEEK_WRITE 3 -.Os -.Sh NAME -.Nm zip_source_seek_write -.Nd set write offset in zip source -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft int -.Fn zip_source_seek_write "zip_source_t *source" "zip_int64_t offset" "int whence" -.Sh DESCRIPTION -The function -.Fn zip_source_seek_write -sets the current write offset for -.Fa source . -Just like in -.Xr fseek 3 , -depending on the -.Ar whence -argument, the -.Ar offset -is counted relative from: -.Bl -tag -width SEEK_CURXX -offset indent -.It Dv SEEK_SET -start of file -.It Dv SEEK_CUR -current write offset in file -.It Dv SEEK_END -end of file -.El -.Sh RETURN VALUES -Upon successful completion 0 is returned. -Otherwise, \-1 is returned and the error information in -.Ar source -is set to indicate the error. -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_source 3 , -.Xr zip_source_begin_write 3 , -.Xr zip_source_commit_write 3 , -.Xr zip_source_rollback_write 3 , -.Xr zip_source_tell_write 3 , -.Xr zip_source_write 3 -.Sh HISTORY -.Fn zip_source_seek_write -was added in libzip 1.0. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_stat.3 b/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_stat.3 deleted file mode 100644 index 8b13bef..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_stat.3 +++ /dev/null @@ -1,125 +0,0 @@ -.\" zip_source_stat.mdoc -- get information about zip source -.\" Copyright (C) 2014-2021 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd December 18, 2017 -.Dt ZIP_SOURCE_STAT 3 -.Os -.Sh NAME -.Nm zip_source_stat -.Nd get information about zip_source -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft int -.Fn zip_source_stat "zip_source_t *source" "zip_stat_t *sb" -.Sh DESCRIPTION -The -.Fn zip_source_stat -function obtains information about the zip source -.Ar source -.Pp -The -.Ar sb -argument is a pointer to a -.Ft struct zip_source_stat -(shown below), into which information about the zip source is placed. -.Bd -literal -struct zip_source_stat { - zip_uint64_t valid; /* which fields have valid values */ - const char *name; /* name of the file */ - zip_uint64_t index; /* index within archive */ - zip_uint64_t size; /* size of file (uncompressed) */ - zip_uint64_t comp_size; /* size of file (compressed) */ - time_t mtime; /* modification time */ - zip_uint32_t crc; /* crc of file data */ - zip_uint16_t comp_method; /* compression method used */ - zip_uint16_t encryption_method; /* encryption method used */ - zip_uint32_t flags; /* reserved for future use */ -}; -.Ed -The structure pointed to by -.Ar sb -must be initialized with -.Fn zip_stat_init 3 -before calling -.Fn zip_source_stat . -.Pp -The -.Ar valid -field of the structure specifies which other fields are valid. -Check if the flag defined by the following defines are in -.Ar valid -before accessing the fields: -.Bl -tag -width ZIP_STAT_ENCRYPTION_METHODXX -compact -offset indent -.It Dv ZIP_STAT_NAME -.Ar name -.It Dv ZIP_STAT_INDEX -.Ar index -.It Dv ZIP_STAT_SIZE -.Ar size -.It Dv ZIP_STAT_COMP_SIZE -.Ar comp_size -.It Dv ZIP_STAT_MTIME -.Ar mtime -.It Dv ZIP_STAT_CRC -.Ar crc -.It Dv ZIP_STAT_COMP_METHOD -.Ar comp_method -.It Dv ZIP_STAT_ENCRYPTION_METHOD -.Ar encryption_method -.It Dv ZIP_STAT_FLAGS -.Ar flags -.El -.Pp -.Em NOTE : -Some fields may only be filled out after all data has been read from -the source, for example the -.Ar crc -or -.Ar size -fields. -.Sh RETURN VALUES -Upon successful completion 0 is returned. -Otherwise, \-1 is returned and the error information in -.Ar source -is set to indicate the error. -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_source 3 -.Sh HISTORY -.Fn zip_source_stat -was added in libzip 1.0. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_tell.3 b/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_tell.3 deleted file mode 100644 index 168220c..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_tell.3 +++ /dev/null @@ -1,74 +0,0 @@ -.\" zip_source_tell.mdoc -- report current read offset in source -.\" Copyright (C) 2014-2017 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd December 18, 2017 -.Dt ZIP_SOURCE_TELL 3 -.Os -.Sh NAME -.Nm zip_source_tell -.Nd report current read offset in zip source -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft zip_int64_t -.Fn zip_source_tell "zip_source_t *source" -.Sh DESCRIPTION -The function -.Fn zip_source_tell -returns the current read offset -for -.Fa source . -The return value can be passed to -.Xr zip_source_seek 3 -with -.Ar whence -set to -.Dv SEEK_SET -to return to the same location in the source. -.Sh RETURN VALUES -Upon successful completion the current read offset is returned. -Otherwise, \-1 is returned and the error information in -.Ar source -is set to indicate the error. -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_source 3 , -.Xr zip_source_read 3 , -.Xr zip_source_tell_write 3 -.Sh HISTORY -.Fn zip_source_tell -was added in libzip 1.0. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_tell_write.3 b/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_tell_write.3 deleted file mode 100644 index 202478c..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_tell_write.3 +++ /dev/null @@ -1,77 +0,0 @@ -.\" zip_source_tell_write.mdoc -- report current write offset in source -.\" Copyright (C) 2014-2017 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd December 18, 2017 -.Dt ZIP_SOURCE_TELL_WRITE 3 -.Os -.Sh NAME -.Nm zip_source_tell_write -.Nd report current write offset in zip source -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft zip_int64_t -.Fn zip_source_tell_write "zip_source_t *source" -.Sh DESCRIPTION -The function -.Fn zip_source_tell_write -returns the current write offset -for -.Fa source . -The return value can be passed to -.Xr zip_source_seek_write 3 -with -.Ar whence -set to -.Dv SEEK_SET -to return to the same location in the source. -.Sh RETURN VALUES -Upon successful completion the current write offset is returned. -Otherwise, \-1 is returned and the error information in -.Ar source -is set to indicate the error. -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_source 3 , -.Xr zip_source_begin_write 3 , -.Xr zip_source_commit_write 3 , -.Xr zip_source_rollback_write 3 , -.Xr zip_source_tell 3 , -.Xr zip_source_write 3 -.Sh HISTORY -.Fn zip_source_tell_write -was added in libzip 1.0. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_win32a.3 b/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_win32a.3 deleted file mode 100644 index 5bdc045..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_win32a.3 +++ /dev/null @@ -1,121 +0,0 @@ -.\" zip_source_win32a.mdoc -- create data source using a win32 ANSI name -.\" Copyright (C) 2015-2021 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd June 30, 2023 -.Dt ZIP_SOURCE_WIN32A 3 -.Os -.Sh NAME -.Nm zip_source_win32a , -.Nm zip_source_win32a_create -.Nd create data source from a Windows ANSI file name -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft zip_source_t * -.Fn zip_source_win32a "zip_t *archive" "const char *fname" "zip_uint64_t start" "zip_int64_t len" -.Ft zip_source_t * -.Fn zip_source_win32a_create "const char *fname" "zip_uint64_t start" "zip_int64_t len" "zip_error_t *error" -.Sh DESCRIPTION -The functions -.Fn zip_source_win32a -and -.Fn zip_source_win32a_create -create a zip source on Windows using a Windows ANSI name. -They open -.Ar fname -and read -.Ar len -bytes from offset -.Ar start -from it. -For a description of the -.Ar len -argument, see -.Xr zip_source_file 3 . -.Pp -If the file supports seek, the source can be used to open a zip archive from. -.Pp -The file is opened and read when the data from the source is used, usually by -.Fn zip_close -or -.Fn zip_open_from_source . -.Sh RETURN VALUES -Upon successful completion, the created source is returned. -Otherwise, -.Dv NULL -is returned and the error code in -.Ar archive -or -.Ar error -is set to indicate the error. -.Sh ERRORS -.Fn zip_source_win32a -and -.Fn zip_source_win32a_create -fail if: -.Bl -tag -width Er -.It Bq Er ZIP_ER_INVAL -.Ar fname , -.Ar start , -or -.Ar len -are invalid. -.It Bq Er ZIP_ER_MEMORY -Required memory could not be allocated. -.It Bq Er ZIP_ER_OPEN -Opening -.Ar fname -failed. -.El -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_file_add 3 , -.Xr zip_file_replace 3 , -.Xr zip_source 3 , -.Xr zip_source_file 3 , -.Xr zip_source_win32handle 3 , -.Xr zip_source_win32w 3 -.Sh HISTORY -.Fn zip_source_win32a -and -.Fn zip_source_win32a_create -were added in libzip 1.0. -.Pp -.Dv ZIP_LENGTH_TO_END -and -.Dv ZIP_LENGTH_UNCHECKED -were added in libzip 1.10.1. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_win32a_create.3 b/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_win32a_create.3 deleted file mode 100644 index 5bdc045..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_win32a_create.3 +++ /dev/null @@ -1,121 +0,0 @@ -.\" zip_source_win32a.mdoc -- create data source using a win32 ANSI name -.\" Copyright (C) 2015-2021 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd June 30, 2023 -.Dt ZIP_SOURCE_WIN32A 3 -.Os -.Sh NAME -.Nm zip_source_win32a , -.Nm zip_source_win32a_create -.Nd create data source from a Windows ANSI file name -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft zip_source_t * -.Fn zip_source_win32a "zip_t *archive" "const char *fname" "zip_uint64_t start" "zip_int64_t len" -.Ft zip_source_t * -.Fn zip_source_win32a_create "const char *fname" "zip_uint64_t start" "zip_int64_t len" "zip_error_t *error" -.Sh DESCRIPTION -The functions -.Fn zip_source_win32a -and -.Fn zip_source_win32a_create -create a zip source on Windows using a Windows ANSI name. -They open -.Ar fname -and read -.Ar len -bytes from offset -.Ar start -from it. -For a description of the -.Ar len -argument, see -.Xr zip_source_file 3 . -.Pp -If the file supports seek, the source can be used to open a zip archive from. -.Pp -The file is opened and read when the data from the source is used, usually by -.Fn zip_close -or -.Fn zip_open_from_source . -.Sh RETURN VALUES -Upon successful completion, the created source is returned. -Otherwise, -.Dv NULL -is returned and the error code in -.Ar archive -or -.Ar error -is set to indicate the error. -.Sh ERRORS -.Fn zip_source_win32a -and -.Fn zip_source_win32a_create -fail if: -.Bl -tag -width Er -.It Bq Er ZIP_ER_INVAL -.Ar fname , -.Ar start , -or -.Ar len -are invalid. -.It Bq Er ZIP_ER_MEMORY -Required memory could not be allocated. -.It Bq Er ZIP_ER_OPEN -Opening -.Ar fname -failed. -.El -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_file_add 3 , -.Xr zip_file_replace 3 , -.Xr zip_source 3 , -.Xr zip_source_file 3 , -.Xr zip_source_win32handle 3 , -.Xr zip_source_win32w 3 -.Sh HISTORY -.Fn zip_source_win32a -and -.Fn zip_source_win32a_create -were added in libzip 1.0. -.Pp -.Dv ZIP_LENGTH_TO_END -and -.Dv ZIP_LENGTH_UNCHECKED -were added in libzip 1.10.1. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_win32handle.3 b/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_win32handle.3 deleted file mode 100644 index c0c47b6..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_win32handle.3 +++ /dev/null @@ -1,110 +0,0 @@ -.\" zip_source_handle.mdoc -- create data source from a Windows file handle -.\" Copyright (C) 2015-2021 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd May 14, 2024 -.Dt ZIP_SOURCE_WIN32HANDLE 3 -.Os -.Sh NAME -.Nm zip_source_win32handle , -.Nm zip_source_win32handle_create -.Nd create data source from a Windows file handle -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft zip_source_t * -.Fn zip_source_win32handle "zip_t *archive" "HANDLE h" "zip_uint64_t start" "zip_int64_t len" -.Ft zip_source_t * -.Fn zip_source_win32handle_create "HANDLE h" "zip_uint64_t start" "zip_int64_t len" "zip_error_t *error" -.Sh DESCRIPTION -The functions -.Fn zip_source_win32handle -and -.Fn zip_source_win32handle_create -create a zip source from a Windows file handle. -They read -.Ar len -bytes from offset -.Ar start -from it. -If -.Ar len -is 0 or \-1, the whole file (starting from -.Ar start ) -is used. -.Pp -If the file supports seek, the source can be used to open a zip archive from. -.Pp -The file is opened and read when the data from the source is used, usually by -.Fn zip_close -or -.Fn zip_open_from_source . -.Sh RETURN VALUES -Upon successful completion, the created source is returned. -Otherwise, -.Dv NULL -is returned and the error code in -.Ar archive -or -.Ar error -is set to indicate the error. -.Sh ERRORS -.Fn zip_source_w32handle -and -.Fn zip_source_w32handle_create -fail if: -.Bl -tag -width Er -.It Bq Er ZIP_ER_INVAL -.Ar h , -.Ar start , -or -.Ar len -are invalid. -.It Bq Er ZIP_ER_MEMORY -Required memory could not be allocated. -.El -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_file_add 3 , -.Xr zip_file_replace 3 , -.Xr zip_source 3 , -.Xr zip_source_win32a 3 , -.Xr zip_source_win32w 3 -.Sh HISTORY -.Fn zip_source_win32handle -and -.Fn zip_source_win32handle_create -were added in libzip 1.0. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_win32handle_create.3 b/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_win32handle_create.3 deleted file mode 100644 index c0c47b6..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_win32handle_create.3 +++ /dev/null @@ -1,110 +0,0 @@ -.\" zip_source_handle.mdoc -- create data source from a Windows file handle -.\" Copyright (C) 2015-2021 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd May 14, 2024 -.Dt ZIP_SOURCE_WIN32HANDLE 3 -.Os -.Sh NAME -.Nm zip_source_win32handle , -.Nm zip_source_win32handle_create -.Nd create data source from a Windows file handle -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft zip_source_t * -.Fn zip_source_win32handle "zip_t *archive" "HANDLE h" "zip_uint64_t start" "zip_int64_t len" -.Ft zip_source_t * -.Fn zip_source_win32handle_create "HANDLE h" "zip_uint64_t start" "zip_int64_t len" "zip_error_t *error" -.Sh DESCRIPTION -The functions -.Fn zip_source_win32handle -and -.Fn zip_source_win32handle_create -create a zip source from a Windows file handle. -They read -.Ar len -bytes from offset -.Ar start -from it. -If -.Ar len -is 0 or \-1, the whole file (starting from -.Ar start ) -is used. -.Pp -If the file supports seek, the source can be used to open a zip archive from. -.Pp -The file is opened and read when the data from the source is used, usually by -.Fn zip_close -or -.Fn zip_open_from_source . -.Sh RETURN VALUES -Upon successful completion, the created source is returned. -Otherwise, -.Dv NULL -is returned and the error code in -.Ar archive -or -.Ar error -is set to indicate the error. -.Sh ERRORS -.Fn zip_source_w32handle -and -.Fn zip_source_w32handle_create -fail if: -.Bl -tag -width Er -.It Bq Er ZIP_ER_INVAL -.Ar h , -.Ar start , -or -.Ar len -are invalid. -.It Bq Er ZIP_ER_MEMORY -Required memory could not be allocated. -.El -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_file_add 3 , -.Xr zip_file_replace 3 , -.Xr zip_source 3 , -.Xr zip_source_win32a 3 , -.Xr zip_source_win32w 3 -.Sh HISTORY -.Fn zip_source_win32handle -and -.Fn zip_source_win32handle_create -were added in libzip 1.0. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_win32w.3 b/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_win32w.3 deleted file mode 100644 index 6f33fd7..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_win32w.3 +++ /dev/null @@ -1,119 +0,0 @@ -.\" zip_source_win32w.mdoc -- create data source using a win32 Unicode name -.\" Copyright (C) 2015-2021 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd June 30, 2023 -.Dt ZIP_SOURCE_WIN32W 3 -.Os -.Sh NAME -.Nm zip_source_win32w , -.Nm zip_source_win32w_create -.Nd create data source from a Windows Unicode file name -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft zip_source_t * -.Fn zip_source_win32w "zip_t *archive" "const wchar_t *fname" "zip_uint64_t start" "zip_int64_t len" -.Ft zip_source_t * -.Fn zip_source_win32w_create "const wchar_t *fname" "zip_uint64_t start" "zip_int64_t len" "zip_error_t *error" -.Sh DESCRIPTION -The functions -.Fn zip_source_win32w -and -.Fn zip_source_win32w_create -create a zip source on Windows using a Windows Unicode name. -They open -.Ar fname -and read -.Ar len -bytes from offset -.Ar start -from it. -For a description of the -.Ar len -argument, see -.Xr zip_source_file 3 . -.Pp -If the file supports seek, the source can be used to open a zip archive from. -.Pp -The file is opened and read when the data from the source is used, usually by -.Fn zip_close -or -.Fn zip_open_from_source . -.Sh RETURN VALUES -Upon successful completion, the created source is returned. -Otherwise, -.Dv NULL -is returned and the error code in -.Ar archive -or -.Ar error -is set to indicate the error. -.Sh ERRORS -.Fn zip_source_win32w -and -.Fn zip_source_win32w_create -fail if: -.Bl -tag -width Er -.It Bq Er ZIP_ER_INVAL -.Ar fname , -.Ar start , -or -.Ar len -are invalid. -.It Bq Er ZIP_ER_MEMORY -Required memory could not be allocated. -.It Bq Er ZIP_ER_OPEN -Opening -.Ar fname -failed. -.El -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_file_add 3 , -.Xr zip_file_replace 3 , -.Xr zip_source 3 , -.Xr zip_source_file 3 , -.Xr zip_source_win32a 3 , -.Xr zip_source_win32handle 3 -.Sh HISTORY -.Fn zip_source_win32w -was added in libzip 1.0. -.Pp -.Dv ZIP_LENGTH_TO_END -and -.Dv ZIP_LENGTH_UNCHECKED -were added in libzip 1.10.1. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_win32w_create.3 b/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_win32w_create.3 deleted file mode 100644 index 6f33fd7..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_win32w_create.3 +++ /dev/null @@ -1,119 +0,0 @@ -.\" zip_source_win32w.mdoc -- create data source using a win32 Unicode name -.\" Copyright (C) 2015-2021 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd June 30, 2023 -.Dt ZIP_SOURCE_WIN32W 3 -.Os -.Sh NAME -.Nm zip_source_win32w , -.Nm zip_source_win32w_create -.Nd create data source from a Windows Unicode file name -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft zip_source_t * -.Fn zip_source_win32w "zip_t *archive" "const wchar_t *fname" "zip_uint64_t start" "zip_int64_t len" -.Ft zip_source_t * -.Fn zip_source_win32w_create "const wchar_t *fname" "zip_uint64_t start" "zip_int64_t len" "zip_error_t *error" -.Sh DESCRIPTION -The functions -.Fn zip_source_win32w -and -.Fn zip_source_win32w_create -create a zip source on Windows using a Windows Unicode name. -They open -.Ar fname -and read -.Ar len -bytes from offset -.Ar start -from it. -For a description of the -.Ar len -argument, see -.Xr zip_source_file 3 . -.Pp -If the file supports seek, the source can be used to open a zip archive from. -.Pp -The file is opened and read when the data from the source is used, usually by -.Fn zip_close -or -.Fn zip_open_from_source . -.Sh RETURN VALUES -Upon successful completion, the created source is returned. -Otherwise, -.Dv NULL -is returned and the error code in -.Ar archive -or -.Ar error -is set to indicate the error. -.Sh ERRORS -.Fn zip_source_win32w -and -.Fn zip_source_win32w_create -fail if: -.Bl -tag -width Er -.It Bq Er ZIP_ER_INVAL -.Ar fname , -.Ar start , -or -.Ar len -are invalid. -.It Bq Er ZIP_ER_MEMORY -Required memory could not be allocated. -.It Bq Er ZIP_ER_OPEN -Opening -.Ar fname -failed. -.El -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_file_add 3 , -.Xr zip_file_replace 3 , -.Xr zip_source 3 , -.Xr zip_source_file 3 , -.Xr zip_source_win32a 3 , -.Xr zip_source_win32handle 3 -.Sh HISTORY -.Fn zip_source_win32w -was added in libzip 1.0. -.Pp -.Dv ZIP_LENGTH_TO_END -and -.Dv ZIP_LENGTH_UNCHECKED -were added in libzip 1.10.1. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_window_create.3 b/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_window_create.3 deleted file mode 100644 index 4774491..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_window_create.3 +++ /dev/null @@ -1,98 +0,0 @@ -.\" zip_source_window_create.mdoc -- create zip data source overlay -.\" Copyright (C) 2021 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd April 29, 2021 -.Dt ZIP_SOURCE_WINDOW_CREATE 3 -.Os -.Sh NAME -.Nm zip_source_window_create -.Nd create zip data source overlay -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft zip_source_t * -.Fn zip_source_window_create "zip_source_t *source" "zip_uint64_t start" "zip_int64_t len" "zip_error_t *error" -.Sh DESCRIPTION -The -.Fn zip_source_window_create -function create a zip source from an underlying zip source, -restricting access to a particular window starting at byte -.Ar start -and having size -.Ar len . -If -.Ar len -is \-1, the window spans to the end of the underlying source. -.Pp -.Fn zip_source_window -and -.Fn zip_source_window_create -don't take ownership of -.Ar source . -The caller is responsible for freeing it. -(This is different to other layered sources.) -.Sh RETURN VALUES -Upon successful completion, the created source is returned. -Otherwise, -.Dv NULL -is returned and the error code in -.Ar error -is set to indicate the error. -.Sh ERRORS -.Fn zip_source_window_create -fails if: -.Bl -tag -width Er -.It Bq Er ZIP_ER_INVAL -.Ar src -is -.Dv NULL ; -there is an integer overflow adding -.Ar start -and -.Ar len ; -or -.Ar len -is less than \-1. -.It Bq Er ZIP_ER_MEMORY -Required memory could not be allocated. -.El -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_source 3 -.Sh HISTORY -.Fn zip_source_window_create -was added in libzip 1.8.0. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_write.3 b/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_write.3 deleted file mode 100644 index 9b47082..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_write.3 +++ /dev/null @@ -1,80 +0,0 @@ -.\" zip_source_write.mdoc -- write data to zip source -.\" Copyright (C) 2014-2017 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd December 18, 2017 -.Dt ZIP_SOURCE_WRITE 3 -.Os -.Sh NAME -.Nm zip_source_write -.Nd write data to zip source -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft zip_int64_t -.Fn zip_source_write "zip_source_t *source" "const void *data" "zip_uint64_t len" -.Sh DESCRIPTION -The function -.Fn zip_source_write -writes -.Ar len -bytes from the buffer -.Ar data -to the zip source -.Ar source -at the current write offset. -.Pp -The zip source -.Ar source -has to be prepared for writing by calling -.Xr zip_source_begin_write 3 -first. -.Sh RETURN VALUES -Upon successful completion the number of bytes written is returned. -Otherwise, \-1 is returned and the error information in -.Ar source -is set to indicate the error. -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_source 3 , -.Xr zip_source_begin_write 3 , -.Xr zip_source_commit_write 3 , -.Xr zip_source_rollback_write 3 , -.Xr zip_source_seek_write 3 , -.Xr zip_source_tell_write 3 -.Sh HISTORY -.Fn zip_source_write -was added in libzip 1.0. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_zip.3 b/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_zip.3 deleted file mode 100644 index acc96bf..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_zip.3 +++ /dev/null @@ -1,144 +0,0 @@ -.\" zip_source_zip.mdoc -- create data source from zip file -.\" Copyright (C) 2004-2021 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd January 23, 2023 -.Dt ZIP_SOURCE_ZIP 3 -.Os -.Sh NAME -.Nm zip_source_zip , -.Nm zip_source_zip_create -.Nd create data source from zip file (obsolete interface) -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft zip_source_t * -.Fn zip_source_zip "zip_t *archive" "zip_t *srcarchive" "zip_uint64_t srcidx" "zip_flags_t flags" "zip_uint64_t start" "zip_int64_t len" -.Ft zip_source_t * -.Fn zip_source_zip_create "zip_t *srcarchive" "zip_uint64_t srcidx" "zip_flags_t flags" "zip_uint64_t start" "zip_int64_t len" "zip_error_t *error" -.Sh DESCRIPTION -The functions -.Fn zip_source_zip -and -.Fn zip_source_zip_create -are the obsolete versions of -.Xr zip_source_zip_file 3 -or -.Xr zip_source_zip_file_create 3 -respectively. -If you want to get the compressed data of the complete file, use -.Dl zip_source_zip_file(za, source_archive, source_index, ZIP_FL_COMPRESSED, 0, -1, NULL) -.Pp -The functions -.Fn zip_source_zip -and -.Fn zip_source_zip_create -create a zip source from a file in a zip archive. -The -.Ar srcarchive -argument is the (open) zip archive containing the source zip file -at index -.Ar srcidx . -.Ar len -bytes from offset -.Ar start -will be used in the zip_source. -If -.Ar len -is 0 or \-1, the rest of the file, starting from -.Ar start , -is used. -If -.Ar start -is zero and -.Ar len -is \-1, the whole file will be copied without decompressing it. -.Pp -Supported flags are: -.Bl -tag -width Dv -.It Dv ZIP_FL_UNCHANGED -Try to get the original data without any changes that may have been -made to -.Ar srcarchive -after opening it. -.El -.Sh RETURN VALUES -Upon successful completion, the created source is returned. -Otherwise, -.Dv NULL -is returned and the error code in -.Ar archive -or -.Ar error -is set to indicate the error. -.Sh ERRORS -.Fn zip_source_zip -and -.Fn zip_source_zip_create -fail if: -.Bl -tag -width Er -.It Bq Er ZIP_ER_CHANGED -Unchanged data was requested, but it is not available. -.It Bq Er ZIP_ER_INVAL -.Ar srcarchive , -.Ar srcidx , -.Ar start , -or -.Ar len -are invalid. -.It Bq Er ZIP_ER_MEMORY -Required memory could not be allocated. -.El -Additionally, it can return all error codes from -.Fn zip_stat_index -and -.Fn zip_fopen_index . -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_file_add 3 , -.Xr zip_file_replace 3 , -.Xr zip_source 3 -.Sh HISTORY -.Fn zip_source_zip -was added in libzip 1.0. -.Fn zip_source_zip_create -was added in libzip 1.8.0. -Both were deprecated in libzip 1.10.0. -Use -.Fn zip_source_zip_file -or -.Fn zip_source_zip_file_create -instead. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_zip_create.3 b/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_zip_create.3 deleted file mode 100644 index acc96bf..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_zip_create.3 +++ /dev/null @@ -1,144 +0,0 @@ -.\" zip_source_zip.mdoc -- create data source from zip file -.\" Copyright (C) 2004-2021 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd January 23, 2023 -.Dt ZIP_SOURCE_ZIP 3 -.Os -.Sh NAME -.Nm zip_source_zip , -.Nm zip_source_zip_create -.Nd create data source from zip file (obsolete interface) -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft zip_source_t * -.Fn zip_source_zip "zip_t *archive" "zip_t *srcarchive" "zip_uint64_t srcidx" "zip_flags_t flags" "zip_uint64_t start" "zip_int64_t len" -.Ft zip_source_t * -.Fn zip_source_zip_create "zip_t *srcarchive" "zip_uint64_t srcidx" "zip_flags_t flags" "zip_uint64_t start" "zip_int64_t len" "zip_error_t *error" -.Sh DESCRIPTION -The functions -.Fn zip_source_zip -and -.Fn zip_source_zip_create -are the obsolete versions of -.Xr zip_source_zip_file 3 -or -.Xr zip_source_zip_file_create 3 -respectively. -If you want to get the compressed data of the complete file, use -.Dl zip_source_zip_file(za, source_archive, source_index, ZIP_FL_COMPRESSED, 0, -1, NULL) -.Pp -The functions -.Fn zip_source_zip -and -.Fn zip_source_zip_create -create a zip source from a file in a zip archive. -The -.Ar srcarchive -argument is the (open) zip archive containing the source zip file -at index -.Ar srcidx . -.Ar len -bytes from offset -.Ar start -will be used in the zip_source. -If -.Ar len -is 0 or \-1, the rest of the file, starting from -.Ar start , -is used. -If -.Ar start -is zero and -.Ar len -is \-1, the whole file will be copied without decompressing it. -.Pp -Supported flags are: -.Bl -tag -width Dv -.It Dv ZIP_FL_UNCHANGED -Try to get the original data without any changes that may have been -made to -.Ar srcarchive -after opening it. -.El -.Sh RETURN VALUES -Upon successful completion, the created source is returned. -Otherwise, -.Dv NULL -is returned and the error code in -.Ar archive -or -.Ar error -is set to indicate the error. -.Sh ERRORS -.Fn zip_source_zip -and -.Fn zip_source_zip_create -fail if: -.Bl -tag -width Er -.It Bq Er ZIP_ER_CHANGED -Unchanged data was requested, but it is not available. -.It Bq Er ZIP_ER_INVAL -.Ar srcarchive , -.Ar srcidx , -.Ar start , -or -.Ar len -are invalid. -.It Bq Er ZIP_ER_MEMORY -Required memory could not be allocated. -.El -Additionally, it can return all error codes from -.Fn zip_stat_index -and -.Fn zip_fopen_index . -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_file_add 3 , -.Xr zip_file_replace 3 , -.Xr zip_source 3 -.Sh HISTORY -.Fn zip_source_zip -was added in libzip 1.0. -.Fn zip_source_zip_create -was added in libzip 1.8.0. -Both were deprecated in libzip 1.10.0. -Use -.Fn zip_source_zip_file -or -.Fn zip_source_zip_file_create -instead. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_zip_file.3 b/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_zip_file.3 deleted file mode 100644 index fee9d49..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_zip_file.3 +++ /dev/null @@ -1,144 +0,0 @@ -.\" zip_source_zip_file.mdoc -- create data source from zip file -.\" Copyright (C) 2004-2021 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd March 10, 2023 -.Dt ZIP_SOURCE_ZIP_FILE 3 -.Os -.Sh NAME -.Nm zip_source_zip_file , -.Nm zip_source_zip_file_create -.Nd create data source from zip file -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft zip_source_t * -.Fn zip_source_zip_file "zip_t *archive" "zip_t *srcarchive" "zip_uint64_t srcidx" "zip_flags_t flags" "zip_uint64_t start" "zip_int64_t length" "const char *password" -.Ft zip_source_t * -.Fn zip_source_zip_file_create "zip_t *srcarchive" "zip_uint64_t srcidx" "zip_flags_t flags" "zip_uint64_t start" "zip_int64_t length" "const char *password" "zip_error_t *error" -.Sh DESCRIPTION -The functions -.Fn zip_source_zip_file -and -.Fn zip_source_zip_file_create -create a zip source from a file in a zip archive. -The -.Ar srcarchive -argument is the (open) zip archive containing the source zip file -at index -.Ar srcidx . -.Ar length -bytes from offset -.Ar start -will be used in the zip_source. -If -.Ar length -is \-1, the rest of the file, starting from -.Ar start , -is used. -.Pp -If you intend to copy a file from one archive to another, using the flag -.Dv ZIP_FL_COMPRESSED -is more efficient, as it avoids recompressing the file data. -.Pp -Supported flags are: -.Bl -tag -width 20n -.It Dv ZIP_FL_COMPRESSED -Get the compressed data. -This is only supported if the complete file data is requested -.Ar ( start -== 0 and -.Ar length -== \-1). -This is not supported for changed data. -Default is uncompressed. -.It Dv ZIP_FL_ENCRYPTED -Get the encrypted data. -(This flag implies -.Dv ZIP_FL_COMPRESSED . ) -This is only supported if the complete file data is requested -.Ar ( start -== 0 and -.Ar length -== \-1). -Default is decrypted. -.It Dv ZIP_FL_UNCHANGED -Try to get the original data without any changes that may have been -made to -.Ar srcarchive -after opening it. -.El -.Sh RETURN VALUES -Upon successful completion, the created source is returned. -Otherwise, -.Dv NULL -is returned and the error code in -.Ar archive -or -.Ar error -is set to indicate the error. -.Sh ERRORS -.Fn zip_source_zip_file -and -.Fn zip_source_zip_file_create -fail if: -.Bl -tag -width Er -.It Bq Er ZIP_ER_CHANGED -Unchanged data was requested, but it is not available. -.It Bq Er ZIP_ER_INVAL -.Ar srcarchive , -.Ar srcidx , -.Ar start , -or -.Ar length -are invalid. -.It Bq Er ZIP_ER_MEMORY -Required memory could not be allocated. -.El -Additionally, it can return all error codes from -.Fn zip_stat_index -and -.Fn zip_fopen_index . -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_file_add 3 , -.Xr zip_file_replace 3 , -.Xr zip_source 3 -.Sh HISTORY -.Fn zip_source_zip_file -and -.Fn zip_source_zip_file_create -were added in libzip 1.10.0. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_zip_file_create.3 b/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_zip_file_create.3 deleted file mode 100644 index fee9d49..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_zip_file_create.3 +++ /dev/null @@ -1,144 +0,0 @@ -.\" zip_source_zip_file.mdoc -- create data source from zip file -.\" Copyright (C) 2004-2021 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd March 10, 2023 -.Dt ZIP_SOURCE_ZIP_FILE 3 -.Os -.Sh NAME -.Nm zip_source_zip_file , -.Nm zip_source_zip_file_create -.Nd create data source from zip file -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft zip_source_t * -.Fn zip_source_zip_file "zip_t *archive" "zip_t *srcarchive" "zip_uint64_t srcidx" "zip_flags_t flags" "zip_uint64_t start" "zip_int64_t length" "const char *password" -.Ft zip_source_t * -.Fn zip_source_zip_file_create "zip_t *srcarchive" "zip_uint64_t srcidx" "zip_flags_t flags" "zip_uint64_t start" "zip_int64_t length" "const char *password" "zip_error_t *error" -.Sh DESCRIPTION -The functions -.Fn zip_source_zip_file -and -.Fn zip_source_zip_file_create -create a zip source from a file in a zip archive. -The -.Ar srcarchive -argument is the (open) zip archive containing the source zip file -at index -.Ar srcidx . -.Ar length -bytes from offset -.Ar start -will be used in the zip_source. -If -.Ar length -is \-1, the rest of the file, starting from -.Ar start , -is used. -.Pp -If you intend to copy a file from one archive to another, using the flag -.Dv ZIP_FL_COMPRESSED -is more efficient, as it avoids recompressing the file data. -.Pp -Supported flags are: -.Bl -tag -width 20n -.It Dv ZIP_FL_COMPRESSED -Get the compressed data. -This is only supported if the complete file data is requested -.Ar ( start -== 0 and -.Ar length -== \-1). -This is not supported for changed data. -Default is uncompressed. -.It Dv ZIP_FL_ENCRYPTED -Get the encrypted data. -(This flag implies -.Dv ZIP_FL_COMPRESSED . ) -This is only supported if the complete file data is requested -.Ar ( start -== 0 and -.Ar length -== \-1). -Default is decrypted. -.It Dv ZIP_FL_UNCHANGED -Try to get the original data without any changes that may have been -made to -.Ar srcarchive -after opening it. -.El -.Sh RETURN VALUES -Upon successful completion, the created source is returned. -Otherwise, -.Dv NULL -is returned and the error code in -.Ar archive -or -.Ar error -is set to indicate the error. -.Sh ERRORS -.Fn zip_source_zip_file -and -.Fn zip_source_zip_file_create -fail if: -.Bl -tag -width Er -.It Bq Er ZIP_ER_CHANGED -Unchanged data was requested, but it is not available. -.It Bq Er ZIP_ER_INVAL -.Ar srcarchive , -.Ar srcidx , -.Ar start , -or -.Ar length -are invalid. -.It Bq Er ZIP_ER_MEMORY -Required memory could not be allocated. -.El -Additionally, it can return all error codes from -.Fn zip_stat_index -and -.Fn zip_fopen_index . -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_file_add 3 , -.Xr zip_file_replace 3 , -.Xr zip_source 3 -.Sh HISTORY -.Fn zip_source_zip_file -and -.Fn zip_source_zip_file_create -were added in libzip 1.10.0. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_stat.3 b/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_stat.3 deleted file mode 100644 index 3ee9bbe..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_stat.3 +++ /dev/null @@ -1,179 +0,0 @@ -.\" zip_stat.mdoc -- get information about file -.\" Copyright (C) 2003-2017 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd December 18, 2017 -.Dt ZIP_STAT 3 -.Os -.Sh NAME -.Nm zip_stat , -.Nm zip_stat_index -.Nd get information about file -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft int -.Fn zip_stat "zip_t *archive" "const char *fname" "zip_flags_t flags" "zip_stat_t *sb" -.Ft int -.Fn zip_stat_index "zip_t *archive" "zip_uint64_t index" "zip_flags_t flags" "zip_stat_t *sb" -.Sh DESCRIPTION -The -.Fn zip_stat -function obtains information about the file named -.Ar fname -in -.Ar archive . -The -.Ar flags -argument specifies how the name lookup should be done. -Its values are described in -.Xr zip_name_locate 3 . -Also, -.Dv ZIP_FL_UNCHANGED -may be -.Em or Ns No 'ed -to it to request information about the original file in the archive, -ignoring any changes made. -.Pp -The -.Fn zip_stat_index -function obtains information about the file at position -.Ar index . -.Pp -The -.Ar sb -argument is a pointer to a -.Ft struct zip_stat -(shown below), into which information about the file is placed. -.Bd -literal -struct zip_stat { - zip_uint64_t valid; /* which fields have valid values */ - const char *name; /* name of the file */ - zip_uint64_t index; /* index within archive */ - zip_uint64_t size; /* size of file (uncompressed) */ - zip_uint64_t comp_size; /* size of file (compressed) */ - time_t mtime; /* modification time */ - zip_uint32_t crc; /* crc of file data */ - zip_uint16_t comp_method; /* compression method used */ - zip_uint16_t encryption_method; /* encryption method used */ - zip_uint32_t flags; /* reserved for future use */ -}; -.Ed -The structure pointed to by -.Ar sb -must be allocated before calling -.Fn zip_stat -or -.Fn zip_stat_index . -.Pp -The -.Ar valid -field of the structure specifies which other fields are valid. -Check if the flag defined by the following defines are in -.Ar valid -before accessing the fields: -.Bl -tag -width ZIP_STAT_ENCRYPTION_METHODXX -compact -offset indent -.It Dv ZIP_STAT_NAME -.Ar name -.It Dv ZIP_STAT_INDEX -.Ar index -.It Dv ZIP_STAT_SIZE -.Ar size -.It Dv ZIP_STAT_COMP_SIZE -.Ar comp_size -.It Dv ZIP_STAT_MTIME -.Ar mtime -.It Dv ZIP_STAT_CRC -.Ar crc -.It Dv ZIP_STAT_COMP_METHOD -.Ar comp_method -.It Dv ZIP_STAT_ENCRYPTION_METHOD -.Ar encryption_method -.It Dv ZIP_STAT_FLAGS -.Ar flags -.El -.Sh RETURN VALUES -Upon successful completion 0 is returned. -Otherwise, \-1 is returned and the error information in -.Ar archive -is set to indicate the error. -.Sh ERRORS -The function -.Fn zip_stat -can fail for any of the errors specified for the routine -.Xr zip_name_locate 3 . -.Pp -The function -.Fn zip_stat_index -fails and sets the error information to -.Er ZIP_ER_INVAL -if -.Ar index -is invalid. -If -.Dv ZIP_FL_UNCHANGED -is not set and no information can be obtained from the source -callback, the error information is set to -.Er ZIP_ER_CHANGED . -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_get_num_entries 3 , -.Xr zip_name_locate 3 , -.Xr zip_stat_init 3 -.Sh HISTORY -.Fn zip_stat -was added in libzip 0.6. -In libzip 0.11 the type of -.Ar flags -was changed from -.Vt int -to -.Vt zip_flags_t . -.Pp -.Fn zip_stat_index -was added in libzip 0.6. -In libzip 0.10 the type of -.Ar index -was changed from -.Vt int -to -.Vt zip_uint64_t . -In libzip 0.11 the type of -.Ar flags -was changed from -.Vt int -to -.Vt zip_flags_t . -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_stat_index.3 b/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_stat_index.3 deleted file mode 100644 index 3ee9bbe..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_stat_index.3 +++ /dev/null @@ -1,179 +0,0 @@ -.\" zip_stat.mdoc -- get information about file -.\" Copyright (C) 2003-2017 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd December 18, 2017 -.Dt ZIP_STAT 3 -.Os -.Sh NAME -.Nm zip_stat , -.Nm zip_stat_index -.Nd get information about file -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft int -.Fn zip_stat "zip_t *archive" "const char *fname" "zip_flags_t flags" "zip_stat_t *sb" -.Ft int -.Fn zip_stat_index "zip_t *archive" "zip_uint64_t index" "zip_flags_t flags" "zip_stat_t *sb" -.Sh DESCRIPTION -The -.Fn zip_stat -function obtains information about the file named -.Ar fname -in -.Ar archive . -The -.Ar flags -argument specifies how the name lookup should be done. -Its values are described in -.Xr zip_name_locate 3 . -Also, -.Dv ZIP_FL_UNCHANGED -may be -.Em or Ns No 'ed -to it to request information about the original file in the archive, -ignoring any changes made. -.Pp -The -.Fn zip_stat_index -function obtains information about the file at position -.Ar index . -.Pp -The -.Ar sb -argument is a pointer to a -.Ft struct zip_stat -(shown below), into which information about the file is placed. -.Bd -literal -struct zip_stat { - zip_uint64_t valid; /* which fields have valid values */ - const char *name; /* name of the file */ - zip_uint64_t index; /* index within archive */ - zip_uint64_t size; /* size of file (uncompressed) */ - zip_uint64_t comp_size; /* size of file (compressed) */ - time_t mtime; /* modification time */ - zip_uint32_t crc; /* crc of file data */ - zip_uint16_t comp_method; /* compression method used */ - zip_uint16_t encryption_method; /* encryption method used */ - zip_uint32_t flags; /* reserved for future use */ -}; -.Ed -The structure pointed to by -.Ar sb -must be allocated before calling -.Fn zip_stat -or -.Fn zip_stat_index . -.Pp -The -.Ar valid -field of the structure specifies which other fields are valid. -Check if the flag defined by the following defines are in -.Ar valid -before accessing the fields: -.Bl -tag -width ZIP_STAT_ENCRYPTION_METHODXX -compact -offset indent -.It Dv ZIP_STAT_NAME -.Ar name -.It Dv ZIP_STAT_INDEX -.Ar index -.It Dv ZIP_STAT_SIZE -.Ar size -.It Dv ZIP_STAT_COMP_SIZE -.Ar comp_size -.It Dv ZIP_STAT_MTIME -.Ar mtime -.It Dv ZIP_STAT_CRC -.Ar crc -.It Dv ZIP_STAT_COMP_METHOD -.Ar comp_method -.It Dv ZIP_STAT_ENCRYPTION_METHOD -.Ar encryption_method -.It Dv ZIP_STAT_FLAGS -.Ar flags -.El -.Sh RETURN VALUES -Upon successful completion 0 is returned. -Otherwise, \-1 is returned and the error information in -.Ar archive -is set to indicate the error. -.Sh ERRORS -The function -.Fn zip_stat -can fail for any of the errors specified for the routine -.Xr zip_name_locate 3 . -.Pp -The function -.Fn zip_stat_index -fails and sets the error information to -.Er ZIP_ER_INVAL -if -.Ar index -is invalid. -If -.Dv ZIP_FL_UNCHANGED -is not set and no information can be obtained from the source -callback, the error information is set to -.Er ZIP_ER_CHANGED . -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_get_num_entries 3 , -.Xr zip_name_locate 3 , -.Xr zip_stat_init 3 -.Sh HISTORY -.Fn zip_stat -was added in libzip 0.6. -In libzip 0.11 the type of -.Ar flags -was changed from -.Vt int -to -.Vt zip_flags_t . -.Pp -.Fn zip_stat_index -was added in libzip 0.6. -In libzip 0.10 the type of -.Ar index -was changed from -.Vt int -to -.Vt zip_uint64_t . -In libzip 0.11 the type of -.Ar flags -was changed from -.Vt int -to -.Vt zip_flags_t . -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_stat_init.3 b/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_stat_init.3 deleted file mode 100644 index afa38ec..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_stat_init.3 +++ /dev/null @@ -1,76 +0,0 @@ -.\" zip_stat_init.mdoc -- init zip_stat structure -.\" Copyright (C) 2006-2017 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd December 18, 2017 -.Dt ZIP_STAT_INIT 3 -.Os -.Sh NAME -.Nm zip_stat_init -.Nd initialize zip_stat structure -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft void -.Fn zip_stat_init "zip_stat_t *sb" -.Sh DESCRIPTION -The -.Fn zip_stat_init -function initializes the members of a struct zip_stat. -The current members are described in -.Xr zip_stat 3 , -but this function should be used to initialize it to -make sure none are missed. -The structure pointed to by -.Ar sb -must be allocated before calling -.Fn zip_stat_init . -.Pp -This function should be used by functions provided to -.Xr zip_source_function 3 -when returning -.Dv ZIP_SOURCE_STAT -information to make sure all fields are initialized. -.Sh RETURN VALUES -If -.Ar sb -is valid, the function is always successful. -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_stat 3 -.Sh HISTORY -.Fn zip_stat_init -was added in libzip 0.8. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_strerror.3 b/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_strerror.3 deleted file mode 100644 index 498fcc2..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_strerror.3 +++ /dev/null @@ -1,85 +0,0 @@ -.\" zip_file_strerror.mdoc -- get string representation for a zip error -.\" Copyright (C) 2003-2021 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd December 18, 2017 -.Dt ZIP_FILE_STRERROR 3 -.Os -.Sh NAME -.Nm zip_file_strerror , -.Nm zip_strerror -.Nd get string representation for a zip error -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft const char * -.Fn zip_file_strerror "zip_file_t *file" -.Ft const char * -.Fn zip_strerror "zip_t *archive" -.Sh DESCRIPTION -The -.Fn zip_strerror -function returns a string describing the last error for the zip archive -.Ar archive , -while the -.Fn zip_file_strerror -function does the same for a zip file -.Ar file -(one file in an archive). -The returned string must not be modified or freed, and becomes invalid when -.Ar archive -or -.Ar file , -respectively, -is closed or on the next call to -.Fn zip_strerror -or -.Fn zip_file_strerror , -respectively, -for the same archive. -.Sh RETURN VALUES -.Fn zip_file_strerror -and -.Fn zip_strerror -return a pointer to the error string. -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_error_strerror 3 -.Sh HISTORY -.Fn zip_file_strerror -and -.Fn zip_strerror -were added in libzip 0.6. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_unchange.3 b/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_unchange.3 deleted file mode 100644 index 4867243..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_unchange.3 +++ /dev/null @@ -1,81 +0,0 @@ -.\" zip_unchange.mdoc -- undo changes to file in zip archive -.\" Copyright (C) 2003-2017 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd December 18, 2017 -.Dt ZIP_UNCHANGE 3 -.Os -.Sh NAME -.Nm zip_unchange -.Nd undo changes to file in zip archive -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft int -.Fn zip_unchange "zip_t *archive" "zip_uint64_t index" -.Sh DESCRIPTION -Changes to the file at position -.Ar index -are reverted. -.Sh RETURN VALUES -Upon successful completion 0 is returned. -Otherwise, \-1 is returned and the error code in -.Ar archive -is set to indicate the error. -.Sh ERRORS -.Fn zip_unchange -fails if: -.Bl -tag -width Er -.It Bq Er ZIP_ER_EXISTS -Unchanging the name would result in a duplicate name in the archive. -.It Bq Er ZIP_ER_INVAL -.Ar index -is not a valid file index in -.Ar zip . -.El -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_unchange_all 3 , -.Xr zip_unchange_archive 3 -.Sh HISTORY -.Fn zip_unchange -was added in libzip 0.6. -In libzip 0.10 the type of -.Ar index -was changed from -.Vt int -to -.Vt zip_uint64_t . -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_unchange_all.3 b/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_unchange_all.3 deleted file mode 100644 index 7604165..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_unchange_all.3 +++ /dev/null @@ -1,64 +0,0 @@ -.\" zip_unchange_all.mdoc -- undo changes to all files in zip archive -.\" Copyright (C) 2003-2017 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd December 18, 2017 -.Dt ZIP_UNCHANGE_ALL 3 -.Os -.Sh NAME -.Nm zip_unchange_all -.Nd undo all changes in a zip archive -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft int -.Fn zip_unchange_all "zip_t *archive" -.Sh DESCRIPTION -All changes to files and global information in -.Ar archive -are reverted. -.Sh RETURN VALUES -Upon successful completion 0 is returned. -Otherwise, \-1 is returned and the error code in -.Ar archive -is set to indicate the error. -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_unchange 3 , -.Xr zip_unchange_archive 3 -.Sh HISTORY -.Fn zip_unchange_all -was added in libzip 0.6. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_unchange_archive.3 b/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_unchange_archive.3 deleted file mode 100644 index 45a3c82..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_unchange_archive.3 +++ /dev/null @@ -1,64 +0,0 @@ -.\" zip_unchange_archive.mdoc -- undo changes to all files in zip archive -.\" Copyright (C) 2006-2017 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd December 18, 2017 -.Dt ZIP_UNCHANGE_ARCHIVE 3 -.Os -.Sh NAME -.Nm zip_unchange_archive -.Nd undo global changes to zip archive -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft int -.Fn zip_unchange_archive "zip_t *archive" -.Sh DESCRIPTION -Revert all global changes to the archive -.Ar archive . -This reverts changes to the archive comment and global flags. -.Sh RETURN VALUES -Upon successful completion 0 is returned. -Otherwise, \-1 is returned and the error code in -.Ar archive -is set to indicate the error. -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_unchange 3 , -.Xr zip_unchange_all 3 -.Sh HISTORY -.Fn zip_unchange_archive -was added in libzip 0.7. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/install_manifest.txt b/thirdparty/libzip-1.11.3/build-emcmake/install_manifest.txt deleted file mode 100644 index 4b20be1..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/install_manifest.txt +++ /dev/null @@ -1,146 +0,0 @@ -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/install/lib/pkgconfig/libzip.pc -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/install/lib/cmake/libzip/modules/FindNettle.cmake -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/install/lib/cmake/libzip/modules/Findzstd.cmake -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/install/lib/cmake/libzip/modules/FindMbedTLS.cmake -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/install/include/zipconf.h -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/install/lib/cmake/libzip/libzip-config.cmake -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/install/lib/cmake/libzip/libzip-config-version.cmake -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/install/lib/cmake/libzip/libzip-targets.cmake -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/install/lib/cmake/libzip/libzip-targets-noconfig.cmake -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/install/lib/libzip.a -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/install/include/zip.h -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/ZIP_SOURCE_GET_ARGS.3 -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/libzip.3 -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_add.3 -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_add_dir.3 -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_close.3 -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_compression_method_supported.3 -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_delete.3 -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_dir_add.3 -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_discard.3 -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_encryption_method_supported.3 -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_error_clear.3 -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_error_code_system.3 -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_error_code_zip.3 -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_error_fini.3 -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_error_get.3 -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_error_get_sys_type.3 -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_error_init.3 -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_error_set.3 -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_error_set_from_source.3 -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_error_strerror.3 -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_error_system_type.3 -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_error_to_data.3 -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_error_to_str.3 -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_errors.3 -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_fclose.3 -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_fdopen.3 -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_file_add.3 -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_file_attributes_init.3 -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_file_extra_field_delete.3 -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_file_extra_field_get.3 -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_file_extra_field_set.3 -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_file_extra_fields_count.3 -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_file_get_comment.3 -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_file_get_error.3 -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_file_get_external_attributes.3 -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_file_rename.3 -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_file_set_comment.3 -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_file_set_encryption.3 -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_file_set_external_attributes.3 -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_file_set_mtime.3 -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_file_strerror.3 -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_fopen.3 -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_fopen_encrypted.3 -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_fread.3 -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_fseek.3 -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_ftell.3 -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_get_archive_comment.3 -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_get_archive_flag.3 -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_get_error.3 -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_get_file_comment.3 -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_get_name.3 -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_get_num_entries.3 -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_get_num_files.3 -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_libzip_version.3 -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_name_locate.3 -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_open.3 -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_register_cancel_callback_with_state.3 -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_register_progress_callback.3 -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_register_progress_callback_with_state.3 -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_rename.3 -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_set_archive_comment.3 -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_set_archive_flag.3 -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_set_default_password.3 -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_set_file_comment.3 -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_set_file_compression.3 -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source.3 -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_begin_write.3 -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_buffer.3 -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_buffer_fragment.3 -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_close.3 -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_commit_write.3 -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_error.3 -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_file.3 -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_filep.3 -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_free.3 -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_function.3 -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_is_deleted.3 -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_is_seekable.3 -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_layered.3 -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_keep.3 -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_make_command_bitmap.3 -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_open.3 -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_read.3 -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_rollback_write.3 -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_seek.3 -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_seek_compute_offset.3 -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_seek_write.3 -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_stat.3 -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_tell.3 -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_tell_write.3 -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_win32a.3 -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_win32handle.3 -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_win32w.3 -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_window_create.3 -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_write.3 -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_zip.3 -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_zip_file.3 -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_stat.3 -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_stat_init.3 -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_unchange.3 -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_unchange_all.3 -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_unchange_archive.3 -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man1/zipcmp.1 -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man1/zipmerge.1 -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man1/ziptool.1 -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_replace.3 -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_file_error_clear.3 -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_file_error_get.3 -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_error_init_with_code.3 -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_file_replace.3 -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_file_extra_field_delete_by_id.3 -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_file_extra_field_get_by_id.3 -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_file_extra_fields_count_by_id.3 -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_file_set_dostime.3 -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_strerror.3 -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_fopen_index.3 -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_fopen_index_encrypted.3 -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_file_is_seekable.3 -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_open_from_source.3 -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_begin_write_cloning.3 -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_buffer_create.3 -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_buffer_fragment_create.3 -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_file_create.3 -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_filep_create.3 -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_function_create.3 -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_layered_create.3 -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_win32a_create.3 -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_win32handle_create.3 -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_win32w_create.3 -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_zip_create.3 -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_source_zip_file_create.3 -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/install/share/man/man3/zip_stat_index.3 -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/install/bin/zipcmp.js -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/install/bin/zipmerge.js -/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/install/bin/ziptool.js \ No newline at end of file diff --git a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/CMakeDirectoryInformation.cmake b/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/CMakeDirectoryInformation.cmake deleted file mode 100644 index ea55061..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/CMakeDirectoryInformation.cmake +++ /dev/null @@ -1,16 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.28 - -# Relative path conversion top directories. -set(CMAKE_RELATIVE_PATH_TOP_SOURCE "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3") -set(CMAKE_RELATIVE_PATH_TOP_BINARY "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake") - -# Force unix paths in dependencies. -set(CMAKE_FORCE_UNIX_PATHS 1) - - -# The C and CXX include file regular expressions for this directory. -set(CMAKE_C_INCLUDE_REGEX_SCAN "^.*$") -set(CMAKE_C_INCLUDE_REGEX_COMPLAIN "^$") -set(CMAKE_CXX_INCLUDE_REGEX_SCAN ${CMAKE_C_INCLUDE_REGEX_SCAN}) -set(CMAKE_CXX_INCLUDE_REGEX_COMPLAIN ${CMAKE_C_INCLUDE_REGEX_COMPLAIN}) diff --git a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/progress.marks b/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/progress.marks deleted file mode 100644 index 7273c0f..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/progress.marks +++ /dev/null @@ -1 +0,0 @@ -25 diff --git a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/DependInfo.cmake b/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/DependInfo.cmake deleted file mode 100644 index 7329606..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/DependInfo.cmake +++ /dev/null @@ -1,135 +0,0 @@ - -# Consider dependencies only in project. -set(CMAKE_DEPENDS_IN_PROJECT_ONLY OFF) - -# The set of languages for which implicit dependencies are needed: -set(CMAKE_DEPENDS_LANGUAGES - ) - -# The set of dependency files which are needed: -set(CMAKE_DEPENDS_DEPENDENCY_FILES - "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_add.c" "lib/CMakeFiles/zip.dir/zip_add.c.o" "gcc" "lib/CMakeFiles/zip.dir/zip_add.c.o.d" - "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_add_dir.c" "lib/CMakeFiles/zip.dir/zip_add_dir.c.o" "gcc" "lib/CMakeFiles/zip.dir/zip_add_dir.c.o.d" - "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_add_entry.c" "lib/CMakeFiles/zip.dir/zip_add_entry.c.o" "gcc" "lib/CMakeFiles/zip.dir/zip_add_entry.c.o.d" - "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_algorithm_deflate.c" "lib/CMakeFiles/zip.dir/zip_algorithm_deflate.c.o" "gcc" "lib/CMakeFiles/zip.dir/zip_algorithm_deflate.c.o.d" - "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_buffer.c" "lib/CMakeFiles/zip.dir/zip_buffer.c.o" "gcc" "lib/CMakeFiles/zip.dir/zip_buffer.c.o.d" - "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_close.c" "lib/CMakeFiles/zip.dir/zip_close.c.o" "gcc" "lib/CMakeFiles/zip.dir/zip_close.c.o.d" - "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_delete.c" "lib/CMakeFiles/zip.dir/zip_delete.c.o" "gcc" "lib/CMakeFiles/zip.dir/zip_delete.c.o.d" - "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_dir_add.c" "lib/CMakeFiles/zip.dir/zip_dir_add.c.o" "gcc" "lib/CMakeFiles/zip.dir/zip_dir_add.c.o.d" - "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_dirent.c" "lib/CMakeFiles/zip.dir/zip_dirent.c.o" "gcc" "lib/CMakeFiles/zip.dir/zip_dirent.c.o.d" - "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_discard.c" "lib/CMakeFiles/zip.dir/zip_discard.c.o" "gcc" "lib/CMakeFiles/zip.dir/zip_discard.c.o.d" - "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_entry.c" "lib/CMakeFiles/zip.dir/zip_entry.c.o" "gcc" "lib/CMakeFiles/zip.dir/zip_entry.c.o.d" - "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib/zip_err_str.c" "lib/CMakeFiles/zip.dir/zip_err_str.c.o" "gcc" "lib/CMakeFiles/zip.dir/zip_err_str.c.o.d" - "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_error.c" "lib/CMakeFiles/zip.dir/zip_error.c.o" "gcc" "lib/CMakeFiles/zip.dir/zip_error.c.o.d" - "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_error_clear.c" "lib/CMakeFiles/zip.dir/zip_error_clear.c.o" "gcc" "lib/CMakeFiles/zip.dir/zip_error_clear.c.o.d" - "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_error_get.c" "lib/CMakeFiles/zip.dir/zip_error_get.c.o" "gcc" "lib/CMakeFiles/zip.dir/zip_error_get.c.o.d" - "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_error_get_sys_type.c" "lib/CMakeFiles/zip.dir/zip_error_get_sys_type.c.o" "gcc" "lib/CMakeFiles/zip.dir/zip_error_get_sys_type.c.o.d" - "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_error_strerror.c" "lib/CMakeFiles/zip.dir/zip_error_strerror.c.o" "gcc" "lib/CMakeFiles/zip.dir/zip_error_strerror.c.o.d" - "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_error_to_str.c" "lib/CMakeFiles/zip.dir/zip_error_to_str.c.o" "gcc" "lib/CMakeFiles/zip.dir/zip_error_to_str.c.o.d" - "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_extra_field.c" "lib/CMakeFiles/zip.dir/zip_extra_field.c.o" "gcc" "lib/CMakeFiles/zip.dir/zip_extra_field.c.o.d" - "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_extra_field_api.c" "lib/CMakeFiles/zip.dir/zip_extra_field_api.c.o" "gcc" "lib/CMakeFiles/zip.dir/zip_extra_field_api.c.o.d" - "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_fclose.c" "lib/CMakeFiles/zip.dir/zip_fclose.c.o" "gcc" "lib/CMakeFiles/zip.dir/zip_fclose.c.o.d" - "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_fdopen.c" "lib/CMakeFiles/zip.dir/zip_fdopen.c.o" "gcc" "lib/CMakeFiles/zip.dir/zip_fdopen.c.o.d" - "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_file_add.c" "lib/CMakeFiles/zip.dir/zip_file_add.c.o" "gcc" "lib/CMakeFiles/zip.dir/zip_file_add.c.o.d" - "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_file_error_clear.c" "lib/CMakeFiles/zip.dir/zip_file_error_clear.c.o" "gcc" "lib/CMakeFiles/zip.dir/zip_file_error_clear.c.o.d" - "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_file_error_get.c" "lib/CMakeFiles/zip.dir/zip_file_error_get.c.o" "gcc" "lib/CMakeFiles/zip.dir/zip_file_error_get.c.o.d" - "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_file_get_comment.c" "lib/CMakeFiles/zip.dir/zip_file_get_comment.c.o" "gcc" "lib/CMakeFiles/zip.dir/zip_file_get_comment.c.o.d" - "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_file_get_external_attributes.c" "lib/CMakeFiles/zip.dir/zip_file_get_external_attributes.c.o" "gcc" "lib/CMakeFiles/zip.dir/zip_file_get_external_attributes.c.o.d" - "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_file_get_offset.c" "lib/CMakeFiles/zip.dir/zip_file_get_offset.c.o" "gcc" "lib/CMakeFiles/zip.dir/zip_file_get_offset.c.o.d" - "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_file_rename.c" "lib/CMakeFiles/zip.dir/zip_file_rename.c.o" "gcc" "lib/CMakeFiles/zip.dir/zip_file_rename.c.o.d" - "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_file_replace.c" "lib/CMakeFiles/zip.dir/zip_file_replace.c.o" "gcc" "lib/CMakeFiles/zip.dir/zip_file_replace.c.o.d" - "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_file_set_comment.c" "lib/CMakeFiles/zip.dir/zip_file_set_comment.c.o" "gcc" "lib/CMakeFiles/zip.dir/zip_file_set_comment.c.o.d" - "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_file_set_encryption.c" "lib/CMakeFiles/zip.dir/zip_file_set_encryption.c.o" "gcc" "lib/CMakeFiles/zip.dir/zip_file_set_encryption.c.o.d" - "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_file_set_external_attributes.c" "lib/CMakeFiles/zip.dir/zip_file_set_external_attributes.c.o" "gcc" "lib/CMakeFiles/zip.dir/zip_file_set_external_attributes.c.o.d" - "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_file_set_mtime.c" "lib/CMakeFiles/zip.dir/zip_file_set_mtime.c.o" "gcc" "lib/CMakeFiles/zip.dir/zip_file_set_mtime.c.o.d" - "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_file_strerror.c" "lib/CMakeFiles/zip.dir/zip_file_strerror.c.o" "gcc" "lib/CMakeFiles/zip.dir/zip_file_strerror.c.o.d" - "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_fopen.c" "lib/CMakeFiles/zip.dir/zip_fopen.c.o" "gcc" "lib/CMakeFiles/zip.dir/zip_fopen.c.o.d" - "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_fopen_encrypted.c" "lib/CMakeFiles/zip.dir/zip_fopen_encrypted.c.o" "gcc" "lib/CMakeFiles/zip.dir/zip_fopen_encrypted.c.o.d" - "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_fopen_index.c" "lib/CMakeFiles/zip.dir/zip_fopen_index.c.o" "gcc" "lib/CMakeFiles/zip.dir/zip_fopen_index.c.o.d" - "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_fopen_index_encrypted.c" "lib/CMakeFiles/zip.dir/zip_fopen_index_encrypted.c.o" "gcc" "lib/CMakeFiles/zip.dir/zip_fopen_index_encrypted.c.o.d" - "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_fread.c" "lib/CMakeFiles/zip.dir/zip_fread.c.o" "gcc" "lib/CMakeFiles/zip.dir/zip_fread.c.o.d" - "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_fseek.c" "lib/CMakeFiles/zip.dir/zip_fseek.c.o" "gcc" "lib/CMakeFiles/zip.dir/zip_fseek.c.o.d" - "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_ftell.c" "lib/CMakeFiles/zip.dir/zip_ftell.c.o" "gcc" "lib/CMakeFiles/zip.dir/zip_ftell.c.o.d" - "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_get_archive_comment.c" "lib/CMakeFiles/zip.dir/zip_get_archive_comment.c.o" "gcc" "lib/CMakeFiles/zip.dir/zip_get_archive_comment.c.o.d" - "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_get_archive_flag.c" "lib/CMakeFiles/zip.dir/zip_get_archive_flag.c.o" "gcc" "lib/CMakeFiles/zip.dir/zip_get_archive_flag.c.o.d" - "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_get_encryption_implementation.c" "lib/CMakeFiles/zip.dir/zip_get_encryption_implementation.c.o" "gcc" "lib/CMakeFiles/zip.dir/zip_get_encryption_implementation.c.o.d" - "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_get_file_comment.c" "lib/CMakeFiles/zip.dir/zip_get_file_comment.c.o" "gcc" "lib/CMakeFiles/zip.dir/zip_get_file_comment.c.o.d" - "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_get_name.c" "lib/CMakeFiles/zip.dir/zip_get_name.c.o" "gcc" "lib/CMakeFiles/zip.dir/zip_get_name.c.o.d" - "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_get_num_entries.c" "lib/CMakeFiles/zip.dir/zip_get_num_entries.c.o" "gcc" "lib/CMakeFiles/zip.dir/zip_get_num_entries.c.o.d" - "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_get_num_files.c" "lib/CMakeFiles/zip.dir/zip_get_num_files.c.o" "gcc" "lib/CMakeFiles/zip.dir/zip_get_num_files.c.o.d" - "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_hash.c" "lib/CMakeFiles/zip.dir/zip_hash.c.o" "gcc" "lib/CMakeFiles/zip.dir/zip_hash.c.o.d" - "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_io_util.c" "lib/CMakeFiles/zip.dir/zip_io_util.c.o" "gcc" "lib/CMakeFiles/zip.dir/zip_io_util.c.o.d" - "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_libzip_version.c" "lib/CMakeFiles/zip.dir/zip_libzip_version.c.o" "gcc" "lib/CMakeFiles/zip.dir/zip_libzip_version.c.o.d" - "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_memdup.c" "lib/CMakeFiles/zip.dir/zip_memdup.c.o" "gcc" "lib/CMakeFiles/zip.dir/zip_memdup.c.o.d" - "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_name_locate.c" "lib/CMakeFiles/zip.dir/zip_name_locate.c.o" "gcc" "lib/CMakeFiles/zip.dir/zip_name_locate.c.o.d" - "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_new.c" "lib/CMakeFiles/zip.dir/zip_new.c.o" "gcc" "lib/CMakeFiles/zip.dir/zip_new.c.o.d" - "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_open.c" "lib/CMakeFiles/zip.dir/zip_open.c.o" "gcc" "lib/CMakeFiles/zip.dir/zip_open.c.o.d" - "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_pkware.c" "lib/CMakeFiles/zip.dir/zip_pkware.c.o" "gcc" "lib/CMakeFiles/zip.dir/zip_pkware.c.o.d" - "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_progress.c" "lib/CMakeFiles/zip.dir/zip_progress.c.o" "gcc" "lib/CMakeFiles/zip.dir/zip_progress.c.o.d" - "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_random_unix.c" "lib/CMakeFiles/zip.dir/zip_random_unix.c.o" "gcc" "lib/CMakeFiles/zip.dir/zip_random_unix.c.o.d" - "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_rename.c" "lib/CMakeFiles/zip.dir/zip_rename.c.o" "gcc" "lib/CMakeFiles/zip.dir/zip_rename.c.o.d" - "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_replace.c" "lib/CMakeFiles/zip.dir/zip_replace.c.o" "gcc" "lib/CMakeFiles/zip.dir/zip_replace.c.o.d" - "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_set_archive_comment.c" "lib/CMakeFiles/zip.dir/zip_set_archive_comment.c.o" "gcc" "lib/CMakeFiles/zip.dir/zip_set_archive_comment.c.o.d" - "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_set_archive_flag.c" "lib/CMakeFiles/zip.dir/zip_set_archive_flag.c.o" "gcc" "lib/CMakeFiles/zip.dir/zip_set_archive_flag.c.o.d" - "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_set_default_password.c" "lib/CMakeFiles/zip.dir/zip_set_default_password.c.o" "gcc" "lib/CMakeFiles/zip.dir/zip_set_default_password.c.o.d" - "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_set_file_comment.c" "lib/CMakeFiles/zip.dir/zip_set_file_comment.c.o" "gcc" "lib/CMakeFiles/zip.dir/zip_set_file_comment.c.o.d" - "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_set_file_compression.c" "lib/CMakeFiles/zip.dir/zip_set_file_compression.c.o" "gcc" "lib/CMakeFiles/zip.dir/zip_set_file_compression.c.o.d" - "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_set_name.c" "lib/CMakeFiles/zip.dir/zip_set_name.c.o" "gcc" "lib/CMakeFiles/zip.dir/zip_set_name.c.o.d" - "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_accept_empty.c" "lib/CMakeFiles/zip.dir/zip_source_accept_empty.c.o" "gcc" "lib/CMakeFiles/zip.dir/zip_source_accept_empty.c.o.d" - "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_begin_write.c" "lib/CMakeFiles/zip.dir/zip_source_begin_write.c.o" "gcc" "lib/CMakeFiles/zip.dir/zip_source_begin_write.c.o.d" - "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_begin_write_cloning.c" "lib/CMakeFiles/zip.dir/zip_source_begin_write_cloning.c.o" "gcc" "lib/CMakeFiles/zip.dir/zip_source_begin_write_cloning.c.o.d" - "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_buffer.c" "lib/CMakeFiles/zip.dir/zip_source_buffer.c.o" "gcc" "lib/CMakeFiles/zip.dir/zip_source_buffer.c.o.d" - "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_call.c" "lib/CMakeFiles/zip.dir/zip_source_call.c.o" "gcc" "lib/CMakeFiles/zip.dir/zip_source_call.c.o.d" - "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_close.c" "lib/CMakeFiles/zip.dir/zip_source_close.c.o" "gcc" "lib/CMakeFiles/zip.dir/zip_source_close.c.o.d" - "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_commit_write.c" "lib/CMakeFiles/zip.dir/zip_source_commit_write.c.o" "gcc" "lib/CMakeFiles/zip.dir/zip_source_commit_write.c.o.d" - "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_compress.c" "lib/CMakeFiles/zip.dir/zip_source_compress.c.o" "gcc" "lib/CMakeFiles/zip.dir/zip_source_compress.c.o.d" - "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_crc.c" "lib/CMakeFiles/zip.dir/zip_source_crc.c.o" "gcc" "lib/CMakeFiles/zip.dir/zip_source_crc.c.o.d" - "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_error.c" "lib/CMakeFiles/zip.dir/zip_source_error.c.o" "gcc" "lib/CMakeFiles/zip.dir/zip_source_error.c.o.d" - "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_file_common.c" "lib/CMakeFiles/zip.dir/zip_source_file_common.c.o" "gcc" "lib/CMakeFiles/zip.dir/zip_source_file_common.c.o.d" - "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_file_stdio.c" "lib/CMakeFiles/zip.dir/zip_source_file_stdio.c.o" "gcc" "lib/CMakeFiles/zip.dir/zip_source_file_stdio.c.o.d" - "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_file_stdio_named.c" "lib/CMakeFiles/zip.dir/zip_source_file_stdio_named.c.o" "gcc" "lib/CMakeFiles/zip.dir/zip_source_file_stdio_named.c.o.d" - "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_free.c" "lib/CMakeFiles/zip.dir/zip_source_free.c.o" "gcc" "lib/CMakeFiles/zip.dir/zip_source_free.c.o.d" - "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_function.c" "lib/CMakeFiles/zip.dir/zip_source_function.c.o" "gcc" "lib/CMakeFiles/zip.dir/zip_source_function.c.o.d" - "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_get_dostime.c" "lib/CMakeFiles/zip.dir/zip_source_get_dostime.c.o" "gcc" "lib/CMakeFiles/zip.dir/zip_source_get_dostime.c.o.d" - "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_get_file_attributes.c" "lib/CMakeFiles/zip.dir/zip_source_get_file_attributes.c.o" "gcc" "lib/CMakeFiles/zip.dir/zip_source_get_file_attributes.c.o.d" - "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_is_deleted.c" "lib/CMakeFiles/zip.dir/zip_source_is_deleted.c.o" "gcc" "lib/CMakeFiles/zip.dir/zip_source_is_deleted.c.o.d" - "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_layered.c" "lib/CMakeFiles/zip.dir/zip_source_layered.c.o" "gcc" "lib/CMakeFiles/zip.dir/zip_source_layered.c.o.d" - "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_open.c" "lib/CMakeFiles/zip.dir/zip_source_open.c.o" "gcc" "lib/CMakeFiles/zip.dir/zip_source_open.c.o.d" - "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_pass_to_lower_layer.c" "lib/CMakeFiles/zip.dir/zip_source_pass_to_lower_layer.c.o" "gcc" "lib/CMakeFiles/zip.dir/zip_source_pass_to_lower_layer.c.o.d" - "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_pkware_decode.c" "lib/CMakeFiles/zip.dir/zip_source_pkware_decode.c.o" "gcc" "lib/CMakeFiles/zip.dir/zip_source_pkware_decode.c.o.d" - "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_pkware_encode.c" "lib/CMakeFiles/zip.dir/zip_source_pkware_encode.c.o" "gcc" "lib/CMakeFiles/zip.dir/zip_source_pkware_encode.c.o.d" - "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_read.c" "lib/CMakeFiles/zip.dir/zip_source_read.c.o" "gcc" "lib/CMakeFiles/zip.dir/zip_source_read.c.o.d" - "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_remove.c" "lib/CMakeFiles/zip.dir/zip_source_remove.c.o" "gcc" "lib/CMakeFiles/zip.dir/zip_source_remove.c.o.d" - "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_rollback_write.c" "lib/CMakeFiles/zip.dir/zip_source_rollback_write.c.o" "gcc" "lib/CMakeFiles/zip.dir/zip_source_rollback_write.c.o.d" - "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_seek.c" "lib/CMakeFiles/zip.dir/zip_source_seek.c.o" "gcc" "lib/CMakeFiles/zip.dir/zip_source_seek.c.o.d" - "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_seek_write.c" "lib/CMakeFiles/zip.dir/zip_source_seek_write.c.o" "gcc" "lib/CMakeFiles/zip.dir/zip_source_seek_write.c.o.d" - "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_stat.c" "lib/CMakeFiles/zip.dir/zip_source_stat.c.o" "gcc" "lib/CMakeFiles/zip.dir/zip_source_stat.c.o.d" - "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_supports.c" "lib/CMakeFiles/zip.dir/zip_source_supports.c.o" "gcc" "lib/CMakeFiles/zip.dir/zip_source_supports.c.o.d" - "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_tell.c" "lib/CMakeFiles/zip.dir/zip_source_tell.c.o" "gcc" "lib/CMakeFiles/zip.dir/zip_source_tell.c.o.d" - "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_tell_write.c" "lib/CMakeFiles/zip.dir/zip_source_tell_write.c.o" "gcc" "lib/CMakeFiles/zip.dir/zip_source_tell_write.c.o.d" - "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_window.c" "lib/CMakeFiles/zip.dir/zip_source_window.c.o" "gcc" "lib/CMakeFiles/zip.dir/zip_source_window.c.o.d" - "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_write.c" "lib/CMakeFiles/zip.dir/zip_source_write.c.o" "gcc" "lib/CMakeFiles/zip.dir/zip_source_write.c.o.d" - "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_zip.c" "lib/CMakeFiles/zip.dir/zip_source_zip.c.o" "gcc" "lib/CMakeFiles/zip.dir/zip_source_zip.c.o.d" - "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_zip_new.c" "lib/CMakeFiles/zip.dir/zip_source_zip_new.c.o" "gcc" "lib/CMakeFiles/zip.dir/zip_source_zip_new.c.o.d" - "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_stat.c" "lib/CMakeFiles/zip.dir/zip_stat.c.o" "gcc" "lib/CMakeFiles/zip.dir/zip_stat.c.o.d" - "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_stat_index.c" "lib/CMakeFiles/zip.dir/zip_stat_index.c.o" "gcc" "lib/CMakeFiles/zip.dir/zip_stat_index.c.o.d" - "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_stat_init.c" "lib/CMakeFiles/zip.dir/zip_stat_init.c.o" "gcc" "lib/CMakeFiles/zip.dir/zip_stat_init.c.o.d" - "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_strerror.c" "lib/CMakeFiles/zip.dir/zip_strerror.c.o" "gcc" "lib/CMakeFiles/zip.dir/zip_strerror.c.o.d" - "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_string.c" "lib/CMakeFiles/zip.dir/zip_string.c.o" "gcc" "lib/CMakeFiles/zip.dir/zip_string.c.o.d" - "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_unchange.c" "lib/CMakeFiles/zip.dir/zip_unchange.c.o" "gcc" "lib/CMakeFiles/zip.dir/zip_unchange.c.o.d" - "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_unchange_all.c" "lib/CMakeFiles/zip.dir/zip_unchange_all.c.o" "gcc" "lib/CMakeFiles/zip.dir/zip_unchange_all.c.o.d" - "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_unchange_archive.c" "lib/CMakeFiles/zip.dir/zip_unchange_archive.c.o" "gcc" "lib/CMakeFiles/zip.dir/zip_unchange_archive.c.o.d" - "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_unchange_data.c" "lib/CMakeFiles/zip.dir/zip_unchange_data.c.o" "gcc" "lib/CMakeFiles/zip.dir/zip_unchange_data.c.o.d" - "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_utf-8.c" "lib/CMakeFiles/zip.dir/zip_utf-8.c.o" "gcc" "lib/CMakeFiles/zip.dir/zip_utf-8.c.o.d" - ) - -# Targets to which this target links which contain Fortran sources. -set(CMAKE_Fortran_TARGET_LINKED_INFO_FILES - ) - -# Targets to which this target links which contain Fortran sources. -set(CMAKE_Fortran_TARGET_FORWARD_LINKED_INFO_FILES - ) - -# Fortran module output directory. -set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/build.make b/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/build.make deleted file mode 100644 index 6543ced..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/build.make +++ /dev/null @@ -1,2022 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.28 - -# Delete rule output on recipe failure. -.DELETE_ON_ERROR: - -#============================================================================= -# Special targets provided by cmake. - -# Disable implicit rules so canonical targets will work. -.SUFFIXES: - -# Disable VCS-based implicit rules. -% : %,v - -# Disable VCS-based implicit rules. -% : RCS/% - -# Disable VCS-based implicit rules. -% : RCS/%,v - -# Disable VCS-based implicit rules. -% : SCCS/s.% - -# Disable VCS-based implicit rules. -% : s.% - -.SUFFIXES: .hpux_make_needs_suffix_list - -# Command-line flag to silence nested $(MAKE). -$(VERBOSE)MAKESILENT = -s - -#Suppress display of executed commands. -$(VERBOSE).SILENT: - -# A target that is always out of date. -cmake_force: -.PHONY : cmake_force - -#============================================================================= -# Set environment variables for the build. - -# The shell in which to execute make rules. -SHELL = /bin/sh - -# The CMake executable. -CMAKE_COMMAND = /usr/bin/cmake - -# The command to remove a file. -RM = /usr/bin/cmake -E rm -f - -# Escaping for special characters. -EQUALS = = - -# The top-level source directory on which CMake was run. -CMAKE_SOURCE_DIR = "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3" - -# The top-level build directory on which CMake was run. -CMAKE_BINARY_DIR = "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" - -# Include any dependencies generated for this target. -include lib/CMakeFiles/zip.dir/depend.make -# Include any dependencies generated by the compiler for this target. -include lib/CMakeFiles/zip.dir/compiler_depend.make - -# Include the progress variables for this target. -include lib/CMakeFiles/zip.dir/progress.make - -# Include the compile flags for this target's objects. -include lib/CMakeFiles/zip.dir/flags.make - -lib/zip_err_str.c: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/cmake/GenerateZipErrorStrings.cmake -lib/zip_err_str.c: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip.h -lib/zip_err_str.c: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zipint.h - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_1) "Generating zip_err_str.c" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && /usr/bin/cmake -DPROJECT_SOURCE_DIR=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3 -DCMAKE_CURRENT_BINARY_DIR=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/cmake/GenerateZipErrorStrings.cmake - -lib/CMakeFiles/zip.dir/zip_add.c.o: lib/CMakeFiles/zip.dir/flags.make -lib/CMakeFiles/zip.dir/zip_add.c.o: lib/CMakeFiles/zip.dir/includes_C.rsp -lib/CMakeFiles/zip.dir/zip_add.c.o: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_add.c -lib/CMakeFiles/zip.dir/zip_add.c.o: lib/CMakeFiles/zip.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_2) "Building C object lib/CMakeFiles/zip.dir/zip_add.c.o" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT lib/CMakeFiles/zip.dir/zip_add.c.o -MF CMakeFiles/zip.dir/zip_add.c.o.d -o CMakeFiles/zip.dir/zip_add.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_add.c" - -lib/CMakeFiles/zip.dir/zip_add.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/zip.dir/zip_add.c.i" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_add.c" > CMakeFiles/zip.dir/zip_add.c.i - -lib/CMakeFiles/zip.dir/zip_add.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/zip.dir/zip_add.c.s" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_add.c" -o CMakeFiles/zip.dir/zip_add.c.s - -lib/CMakeFiles/zip.dir/zip_add_dir.c.o: lib/CMakeFiles/zip.dir/flags.make -lib/CMakeFiles/zip.dir/zip_add_dir.c.o: lib/CMakeFiles/zip.dir/includes_C.rsp -lib/CMakeFiles/zip.dir/zip_add_dir.c.o: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_add_dir.c -lib/CMakeFiles/zip.dir/zip_add_dir.c.o: lib/CMakeFiles/zip.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_3) "Building C object lib/CMakeFiles/zip.dir/zip_add_dir.c.o" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT lib/CMakeFiles/zip.dir/zip_add_dir.c.o -MF CMakeFiles/zip.dir/zip_add_dir.c.o.d -o CMakeFiles/zip.dir/zip_add_dir.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_add_dir.c" - -lib/CMakeFiles/zip.dir/zip_add_dir.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/zip.dir/zip_add_dir.c.i" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_add_dir.c" > CMakeFiles/zip.dir/zip_add_dir.c.i - -lib/CMakeFiles/zip.dir/zip_add_dir.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/zip.dir/zip_add_dir.c.s" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_add_dir.c" -o CMakeFiles/zip.dir/zip_add_dir.c.s - -lib/CMakeFiles/zip.dir/zip_add_entry.c.o: lib/CMakeFiles/zip.dir/flags.make -lib/CMakeFiles/zip.dir/zip_add_entry.c.o: lib/CMakeFiles/zip.dir/includes_C.rsp -lib/CMakeFiles/zip.dir/zip_add_entry.c.o: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_add_entry.c -lib/CMakeFiles/zip.dir/zip_add_entry.c.o: lib/CMakeFiles/zip.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_4) "Building C object lib/CMakeFiles/zip.dir/zip_add_entry.c.o" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT lib/CMakeFiles/zip.dir/zip_add_entry.c.o -MF CMakeFiles/zip.dir/zip_add_entry.c.o.d -o CMakeFiles/zip.dir/zip_add_entry.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_add_entry.c" - -lib/CMakeFiles/zip.dir/zip_add_entry.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/zip.dir/zip_add_entry.c.i" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_add_entry.c" > CMakeFiles/zip.dir/zip_add_entry.c.i - -lib/CMakeFiles/zip.dir/zip_add_entry.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/zip.dir/zip_add_entry.c.s" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_add_entry.c" -o CMakeFiles/zip.dir/zip_add_entry.c.s - -lib/CMakeFiles/zip.dir/zip_algorithm_deflate.c.o: lib/CMakeFiles/zip.dir/flags.make -lib/CMakeFiles/zip.dir/zip_algorithm_deflate.c.o: lib/CMakeFiles/zip.dir/includes_C.rsp -lib/CMakeFiles/zip.dir/zip_algorithm_deflate.c.o: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_algorithm_deflate.c -lib/CMakeFiles/zip.dir/zip_algorithm_deflate.c.o: lib/CMakeFiles/zip.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_5) "Building C object lib/CMakeFiles/zip.dir/zip_algorithm_deflate.c.o" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT lib/CMakeFiles/zip.dir/zip_algorithm_deflate.c.o -MF CMakeFiles/zip.dir/zip_algorithm_deflate.c.o.d -o CMakeFiles/zip.dir/zip_algorithm_deflate.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_algorithm_deflate.c" - -lib/CMakeFiles/zip.dir/zip_algorithm_deflate.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/zip.dir/zip_algorithm_deflate.c.i" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_algorithm_deflate.c" > CMakeFiles/zip.dir/zip_algorithm_deflate.c.i - -lib/CMakeFiles/zip.dir/zip_algorithm_deflate.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/zip.dir/zip_algorithm_deflate.c.s" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_algorithm_deflate.c" -o CMakeFiles/zip.dir/zip_algorithm_deflate.c.s - -lib/CMakeFiles/zip.dir/zip_buffer.c.o: lib/CMakeFiles/zip.dir/flags.make -lib/CMakeFiles/zip.dir/zip_buffer.c.o: lib/CMakeFiles/zip.dir/includes_C.rsp -lib/CMakeFiles/zip.dir/zip_buffer.c.o: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_buffer.c -lib/CMakeFiles/zip.dir/zip_buffer.c.o: lib/CMakeFiles/zip.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_6) "Building C object lib/CMakeFiles/zip.dir/zip_buffer.c.o" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT lib/CMakeFiles/zip.dir/zip_buffer.c.o -MF CMakeFiles/zip.dir/zip_buffer.c.o.d -o CMakeFiles/zip.dir/zip_buffer.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_buffer.c" - -lib/CMakeFiles/zip.dir/zip_buffer.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/zip.dir/zip_buffer.c.i" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_buffer.c" > CMakeFiles/zip.dir/zip_buffer.c.i - -lib/CMakeFiles/zip.dir/zip_buffer.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/zip.dir/zip_buffer.c.s" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_buffer.c" -o CMakeFiles/zip.dir/zip_buffer.c.s - -lib/CMakeFiles/zip.dir/zip_close.c.o: lib/CMakeFiles/zip.dir/flags.make -lib/CMakeFiles/zip.dir/zip_close.c.o: lib/CMakeFiles/zip.dir/includes_C.rsp -lib/CMakeFiles/zip.dir/zip_close.c.o: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_close.c -lib/CMakeFiles/zip.dir/zip_close.c.o: lib/CMakeFiles/zip.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_7) "Building C object lib/CMakeFiles/zip.dir/zip_close.c.o" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT lib/CMakeFiles/zip.dir/zip_close.c.o -MF CMakeFiles/zip.dir/zip_close.c.o.d -o CMakeFiles/zip.dir/zip_close.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_close.c" - -lib/CMakeFiles/zip.dir/zip_close.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/zip.dir/zip_close.c.i" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_close.c" > CMakeFiles/zip.dir/zip_close.c.i - -lib/CMakeFiles/zip.dir/zip_close.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/zip.dir/zip_close.c.s" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_close.c" -o CMakeFiles/zip.dir/zip_close.c.s - -lib/CMakeFiles/zip.dir/zip_delete.c.o: lib/CMakeFiles/zip.dir/flags.make -lib/CMakeFiles/zip.dir/zip_delete.c.o: lib/CMakeFiles/zip.dir/includes_C.rsp -lib/CMakeFiles/zip.dir/zip_delete.c.o: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_delete.c -lib/CMakeFiles/zip.dir/zip_delete.c.o: lib/CMakeFiles/zip.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_8) "Building C object lib/CMakeFiles/zip.dir/zip_delete.c.o" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT lib/CMakeFiles/zip.dir/zip_delete.c.o -MF CMakeFiles/zip.dir/zip_delete.c.o.d -o CMakeFiles/zip.dir/zip_delete.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_delete.c" - -lib/CMakeFiles/zip.dir/zip_delete.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/zip.dir/zip_delete.c.i" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_delete.c" > CMakeFiles/zip.dir/zip_delete.c.i - -lib/CMakeFiles/zip.dir/zip_delete.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/zip.dir/zip_delete.c.s" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_delete.c" -o CMakeFiles/zip.dir/zip_delete.c.s - -lib/CMakeFiles/zip.dir/zip_dir_add.c.o: lib/CMakeFiles/zip.dir/flags.make -lib/CMakeFiles/zip.dir/zip_dir_add.c.o: lib/CMakeFiles/zip.dir/includes_C.rsp -lib/CMakeFiles/zip.dir/zip_dir_add.c.o: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_dir_add.c -lib/CMakeFiles/zip.dir/zip_dir_add.c.o: lib/CMakeFiles/zip.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_9) "Building C object lib/CMakeFiles/zip.dir/zip_dir_add.c.o" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT lib/CMakeFiles/zip.dir/zip_dir_add.c.o -MF CMakeFiles/zip.dir/zip_dir_add.c.o.d -o CMakeFiles/zip.dir/zip_dir_add.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_dir_add.c" - -lib/CMakeFiles/zip.dir/zip_dir_add.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/zip.dir/zip_dir_add.c.i" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_dir_add.c" > CMakeFiles/zip.dir/zip_dir_add.c.i - -lib/CMakeFiles/zip.dir/zip_dir_add.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/zip.dir/zip_dir_add.c.s" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_dir_add.c" -o CMakeFiles/zip.dir/zip_dir_add.c.s - -lib/CMakeFiles/zip.dir/zip_dirent.c.o: lib/CMakeFiles/zip.dir/flags.make -lib/CMakeFiles/zip.dir/zip_dirent.c.o: lib/CMakeFiles/zip.dir/includes_C.rsp -lib/CMakeFiles/zip.dir/zip_dirent.c.o: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_dirent.c -lib/CMakeFiles/zip.dir/zip_dirent.c.o: lib/CMakeFiles/zip.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_10) "Building C object lib/CMakeFiles/zip.dir/zip_dirent.c.o" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT lib/CMakeFiles/zip.dir/zip_dirent.c.o -MF CMakeFiles/zip.dir/zip_dirent.c.o.d -o CMakeFiles/zip.dir/zip_dirent.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_dirent.c" - -lib/CMakeFiles/zip.dir/zip_dirent.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/zip.dir/zip_dirent.c.i" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_dirent.c" > CMakeFiles/zip.dir/zip_dirent.c.i - -lib/CMakeFiles/zip.dir/zip_dirent.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/zip.dir/zip_dirent.c.s" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_dirent.c" -o CMakeFiles/zip.dir/zip_dirent.c.s - -lib/CMakeFiles/zip.dir/zip_discard.c.o: lib/CMakeFiles/zip.dir/flags.make -lib/CMakeFiles/zip.dir/zip_discard.c.o: lib/CMakeFiles/zip.dir/includes_C.rsp -lib/CMakeFiles/zip.dir/zip_discard.c.o: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_discard.c -lib/CMakeFiles/zip.dir/zip_discard.c.o: lib/CMakeFiles/zip.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_11) "Building C object lib/CMakeFiles/zip.dir/zip_discard.c.o" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT lib/CMakeFiles/zip.dir/zip_discard.c.o -MF CMakeFiles/zip.dir/zip_discard.c.o.d -o CMakeFiles/zip.dir/zip_discard.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_discard.c" - -lib/CMakeFiles/zip.dir/zip_discard.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/zip.dir/zip_discard.c.i" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_discard.c" > CMakeFiles/zip.dir/zip_discard.c.i - -lib/CMakeFiles/zip.dir/zip_discard.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/zip.dir/zip_discard.c.s" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_discard.c" -o CMakeFiles/zip.dir/zip_discard.c.s - -lib/CMakeFiles/zip.dir/zip_entry.c.o: lib/CMakeFiles/zip.dir/flags.make -lib/CMakeFiles/zip.dir/zip_entry.c.o: lib/CMakeFiles/zip.dir/includes_C.rsp -lib/CMakeFiles/zip.dir/zip_entry.c.o: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_entry.c -lib/CMakeFiles/zip.dir/zip_entry.c.o: lib/CMakeFiles/zip.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_12) "Building C object lib/CMakeFiles/zip.dir/zip_entry.c.o" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT lib/CMakeFiles/zip.dir/zip_entry.c.o -MF CMakeFiles/zip.dir/zip_entry.c.o.d -o CMakeFiles/zip.dir/zip_entry.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_entry.c" - -lib/CMakeFiles/zip.dir/zip_entry.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/zip.dir/zip_entry.c.i" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_entry.c" > CMakeFiles/zip.dir/zip_entry.c.i - -lib/CMakeFiles/zip.dir/zip_entry.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/zip.dir/zip_entry.c.s" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_entry.c" -o CMakeFiles/zip.dir/zip_entry.c.s - -lib/CMakeFiles/zip.dir/zip_error.c.o: lib/CMakeFiles/zip.dir/flags.make -lib/CMakeFiles/zip.dir/zip_error.c.o: lib/CMakeFiles/zip.dir/includes_C.rsp -lib/CMakeFiles/zip.dir/zip_error.c.o: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_error.c -lib/CMakeFiles/zip.dir/zip_error.c.o: lib/CMakeFiles/zip.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_13) "Building C object lib/CMakeFiles/zip.dir/zip_error.c.o" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT lib/CMakeFiles/zip.dir/zip_error.c.o -MF CMakeFiles/zip.dir/zip_error.c.o.d -o CMakeFiles/zip.dir/zip_error.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_error.c" - -lib/CMakeFiles/zip.dir/zip_error.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/zip.dir/zip_error.c.i" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_error.c" > CMakeFiles/zip.dir/zip_error.c.i - -lib/CMakeFiles/zip.dir/zip_error.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/zip.dir/zip_error.c.s" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_error.c" -o CMakeFiles/zip.dir/zip_error.c.s - -lib/CMakeFiles/zip.dir/zip_error_clear.c.o: lib/CMakeFiles/zip.dir/flags.make -lib/CMakeFiles/zip.dir/zip_error_clear.c.o: lib/CMakeFiles/zip.dir/includes_C.rsp -lib/CMakeFiles/zip.dir/zip_error_clear.c.o: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_error_clear.c -lib/CMakeFiles/zip.dir/zip_error_clear.c.o: lib/CMakeFiles/zip.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_14) "Building C object lib/CMakeFiles/zip.dir/zip_error_clear.c.o" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT lib/CMakeFiles/zip.dir/zip_error_clear.c.o -MF CMakeFiles/zip.dir/zip_error_clear.c.o.d -o CMakeFiles/zip.dir/zip_error_clear.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_error_clear.c" - -lib/CMakeFiles/zip.dir/zip_error_clear.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/zip.dir/zip_error_clear.c.i" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_error_clear.c" > CMakeFiles/zip.dir/zip_error_clear.c.i - -lib/CMakeFiles/zip.dir/zip_error_clear.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/zip.dir/zip_error_clear.c.s" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_error_clear.c" -o CMakeFiles/zip.dir/zip_error_clear.c.s - -lib/CMakeFiles/zip.dir/zip_error_get.c.o: lib/CMakeFiles/zip.dir/flags.make -lib/CMakeFiles/zip.dir/zip_error_get.c.o: lib/CMakeFiles/zip.dir/includes_C.rsp -lib/CMakeFiles/zip.dir/zip_error_get.c.o: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_error_get.c -lib/CMakeFiles/zip.dir/zip_error_get.c.o: lib/CMakeFiles/zip.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_15) "Building C object lib/CMakeFiles/zip.dir/zip_error_get.c.o" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT lib/CMakeFiles/zip.dir/zip_error_get.c.o -MF CMakeFiles/zip.dir/zip_error_get.c.o.d -o CMakeFiles/zip.dir/zip_error_get.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_error_get.c" - -lib/CMakeFiles/zip.dir/zip_error_get.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/zip.dir/zip_error_get.c.i" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_error_get.c" > CMakeFiles/zip.dir/zip_error_get.c.i - -lib/CMakeFiles/zip.dir/zip_error_get.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/zip.dir/zip_error_get.c.s" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_error_get.c" -o CMakeFiles/zip.dir/zip_error_get.c.s - -lib/CMakeFiles/zip.dir/zip_error_get_sys_type.c.o: lib/CMakeFiles/zip.dir/flags.make -lib/CMakeFiles/zip.dir/zip_error_get_sys_type.c.o: lib/CMakeFiles/zip.dir/includes_C.rsp -lib/CMakeFiles/zip.dir/zip_error_get_sys_type.c.o: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_error_get_sys_type.c -lib/CMakeFiles/zip.dir/zip_error_get_sys_type.c.o: lib/CMakeFiles/zip.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_16) "Building C object lib/CMakeFiles/zip.dir/zip_error_get_sys_type.c.o" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT lib/CMakeFiles/zip.dir/zip_error_get_sys_type.c.o -MF CMakeFiles/zip.dir/zip_error_get_sys_type.c.o.d -o CMakeFiles/zip.dir/zip_error_get_sys_type.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_error_get_sys_type.c" - -lib/CMakeFiles/zip.dir/zip_error_get_sys_type.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/zip.dir/zip_error_get_sys_type.c.i" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_error_get_sys_type.c" > CMakeFiles/zip.dir/zip_error_get_sys_type.c.i - -lib/CMakeFiles/zip.dir/zip_error_get_sys_type.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/zip.dir/zip_error_get_sys_type.c.s" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_error_get_sys_type.c" -o CMakeFiles/zip.dir/zip_error_get_sys_type.c.s - -lib/CMakeFiles/zip.dir/zip_error_strerror.c.o: lib/CMakeFiles/zip.dir/flags.make -lib/CMakeFiles/zip.dir/zip_error_strerror.c.o: lib/CMakeFiles/zip.dir/includes_C.rsp -lib/CMakeFiles/zip.dir/zip_error_strerror.c.o: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_error_strerror.c -lib/CMakeFiles/zip.dir/zip_error_strerror.c.o: lib/CMakeFiles/zip.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_17) "Building C object lib/CMakeFiles/zip.dir/zip_error_strerror.c.o" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT lib/CMakeFiles/zip.dir/zip_error_strerror.c.o -MF CMakeFiles/zip.dir/zip_error_strerror.c.o.d -o CMakeFiles/zip.dir/zip_error_strerror.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_error_strerror.c" - -lib/CMakeFiles/zip.dir/zip_error_strerror.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/zip.dir/zip_error_strerror.c.i" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_error_strerror.c" > CMakeFiles/zip.dir/zip_error_strerror.c.i - -lib/CMakeFiles/zip.dir/zip_error_strerror.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/zip.dir/zip_error_strerror.c.s" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_error_strerror.c" -o CMakeFiles/zip.dir/zip_error_strerror.c.s - -lib/CMakeFiles/zip.dir/zip_error_to_str.c.o: lib/CMakeFiles/zip.dir/flags.make -lib/CMakeFiles/zip.dir/zip_error_to_str.c.o: lib/CMakeFiles/zip.dir/includes_C.rsp -lib/CMakeFiles/zip.dir/zip_error_to_str.c.o: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_error_to_str.c -lib/CMakeFiles/zip.dir/zip_error_to_str.c.o: lib/CMakeFiles/zip.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_18) "Building C object lib/CMakeFiles/zip.dir/zip_error_to_str.c.o" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT lib/CMakeFiles/zip.dir/zip_error_to_str.c.o -MF CMakeFiles/zip.dir/zip_error_to_str.c.o.d -o CMakeFiles/zip.dir/zip_error_to_str.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_error_to_str.c" - -lib/CMakeFiles/zip.dir/zip_error_to_str.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/zip.dir/zip_error_to_str.c.i" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_error_to_str.c" > CMakeFiles/zip.dir/zip_error_to_str.c.i - -lib/CMakeFiles/zip.dir/zip_error_to_str.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/zip.dir/zip_error_to_str.c.s" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_error_to_str.c" -o CMakeFiles/zip.dir/zip_error_to_str.c.s - -lib/CMakeFiles/zip.dir/zip_extra_field.c.o: lib/CMakeFiles/zip.dir/flags.make -lib/CMakeFiles/zip.dir/zip_extra_field.c.o: lib/CMakeFiles/zip.dir/includes_C.rsp -lib/CMakeFiles/zip.dir/zip_extra_field.c.o: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_extra_field.c -lib/CMakeFiles/zip.dir/zip_extra_field.c.o: lib/CMakeFiles/zip.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_19) "Building C object lib/CMakeFiles/zip.dir/zip_extra_field.c.o" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT lib/CMakeFiles/zip.dir/zip_extra_field.c.o -MF CMakeFiles/zip.dir/zip_extra_field.c.o.d -o CMakeFiles/zip.dir/zip_extra_field.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_extra_field.c" - -lib/CMakeFiles/zip.dir/zip_extra_field.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/zip.dir/zip_extra_field.c.i" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_extra_field.c" > CMakeFiles/zip.dir/zip_extra_field.c.i - -lib/CMakeFiles/zip.dir/zip_extra_field.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/zip.dir/zip_extra_field.c.s" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_extra_field.c" -o CMakeFiles/zip.dir/zip_extra_field.c.s - -lib/CMakeFiles/zip.dir/zip_extra_field_api.c.o: lib/CMakeFiles/zip.dir/flags.make -lib/CMakeFiles/zip.dir/zip_extra_field_api.c.o: lib/CMakeFiles/zip.dir/includes_C.rsp -lib/CMakeFiles/zip.dir/zip_extra_field_api.c.o: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_extra_field_api.c -lib/CMakeFiles/zip.dir/zip_extra_field_api.c.o: lib/CMakeFiles/zip.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_20) "Building C object lib/CMakeFiles/zip.dir/zip_extra_field_api.c.o" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT lib/CMakeFiles/zip.dir/zip_extra_field_api.c.o -MF CMakeFiles/zip.dir/zip_extra_field_api.c.o.d -o CMakeFiles/zip.dir/zip_extra_field_api.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_extra_field_api.c" - -lib/CMakeFiles/zip.dir/zip_extra_field_api.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/zip.dir/zip_extra_field_api.c.i" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_extra_field_api.c" > CMakeFiles/zip.dir/zip_extra_field_api.c.i - -lib/CMakeFiles/zip.dir/zip_extra_field_api.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/zip.dir/zip_extra_field_api.c.s" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_extra_field_api.c" -o CMakeFiles/zip.dir/zip_extra_field_api.c.s - -lib/CMakeFiles/zip.dir/zip_fclose.c.o: lib/CMakeFiles/zip.dir/flags.make -lib/CMakeFiles/zip.dir/zip_fclose.c.o: lib/CMakeFiles/zip.dir/includes_C.rsp -lib/CMakeFiles/zip.dir/zip_fclose.c.o: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_fclose.c -lib/CMakeFiles/zip.dir/zip_fclose.c.o: lib/CMakeFiles/zip.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_21) "Building C object lib/CMakeFiles/zip.dir/zip_fclose.c.o" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT lib/CMakeFiles/zip.dir/zip_fclose.c.o -MF CMakeFiles/zip.dir/zip_fclose.c.o.d -o CMakeFiles/zip.dir/zip_fclose.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_fclose.c" - -lib/CMakeFiles/zip.dir/zip_fclose.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/zip.dir/zip_fclose.c.i" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_fclose.c" > CMakeFiles/zip.dir/zip_fclose.c.i - -lib/CMakeFiles/zip.dir/zip_fclose.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/zip.dir/zip_fclose.c.s" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_fclose.c" -o CMakeFiles/zip.dir/zip_fclose.c.s - -lib/CMakeFiles/zip.dir/zip_fdopen.c.o: lib/CMakeFiles/zip.dir/flags.make -lib/CMakeFiles/zip.dir/zip_fdopen.c.o: lib/CMakeFiles/zip.dir/includes_C.rsp -lib/CMakeFiles/zip.dir/zip_fdopen.c.o: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_fdopen.c -lib/CMakeFiles/zip.dir/zip_fdopen.c.o: lib/CMakeFiles/zip.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_22) "Building C object lib/CMakeFiles/zip.dir/zip_fdopen.c.o" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT lib/CMakeFiles/zip.dir/zip_fdopen.c.o -MF CMakeFiles/zip.dir/zip_fdopen.c.o.d -o CMakeFiles/zip.dir/zip_fdopen.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_fdopen.c" - -lib/CMakeFiles/zip.dir/zip_fdopen.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/zip.dir/zip_fdopen.c.i" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_fdopen.c" > CMakeFiles/zip.dir/zip_fdopen.c.i - -lib/CMakeFiles/zip.dir/zip_fdopen.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/zip.dir/zip_fdopen.c.s" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_fdopen.c" -o CMakeFiles/zip.dir/zip_fdopen.c.s - -lib/CMakeFiles/zip.dir/zip_file_add.c.o: lib/CMakeFiles/zip.dir/flags.make -lib/CMakeFiles/zip.dir/zip_file_add.c.o: lib/CMakeFiles/zip.dir/includes_C.rsp -lib/CMakeFiles/zip.dir/zip_file_add.c.o: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_file_add.c -lib/CMakeFiles/zip.dir/zip_file_add.c.o: lib/CMakeFiles/zip.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_23) "Building C object lib/CMakeFiles/zip.dir/zip_file_add.c.o" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT lib/CMakeFiles/zip.dir/zip_file_add.c.o -MF CMakeFiles/zip.dir/zip_file_add.c.o.d -o CMakeFiles/zip.dir/zip_file_add.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_file_add.c" - -lib/CMakeFiles/zip.dir/zip_file_add.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/zip.dir/zip_file_add.c.i" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_file_add.c" > CMakeFiles/zip.dir/zip_file_add.c.i - -lib/CMakeFiles/zip.dir/zip_file_add.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/zip.dir/zip_file_add.c.s" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_file_add.c" -o CMakeFiles/zip.dir/zip_file_add.c.s - -lib/CMakeFiles/zip.dir/zip_file_error_clear.c.o: lib/CMakeFiles/zip.dir/flags.make -lib/CMakeFiles/zip.dir/zip_file_error_clear.c.o: lib/CMakeFiles/zip.dir/includes_C.rsp -lib/CMakeFiles/zip.dir/zip_file_error_clear.c.o: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_file_error_clear.c -lib/CMakeFiles/zip.dir/zip_file_error_clear.c.o: lib/CMakeFiles/zip.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_24) "Building C object lib/CMakeFiles/zip.dir/zip_file_error_clear.c.o" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT lib/CMakeFiles/zip.dir/zip_file_error_clear.c.o -MF CMakeFiles/zip.dir/zip_file_error_clear.c.o.d -o CMakeFiles/zip.dir/zip_file_error_clear.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_file_error_clear.c" - -lib/CMakeFiles/zip.dir/zip_file_error_clear.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/zip.dir/zip_file_error_clear.c.i" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_file_error_clear.c" > CMakeFiles/zip.dir/zip_file_error_clear.c.i - -lib/CMakeFiles/zip.dir/zip_file_error_clear.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/zip.dir/zip_file_error_clear.c.s" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_file_error_clear.c" -o CMakeFiles/zip.dir/zip_file_error_clear.c.s - -lib/CMakeFiles/zip.dir/zip_file_error_get.c.o: lib/CMakeFiles/zip.dir/flags.make -lib/CMakeFiles/zip.dir/zip_file_error_get.c.o: lib/CMakeFiles/zip.dir/includes_C.rsp -lib/CMakeFiles/zip.dir/zip_file_error_get.c.o: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_file_error_get.c -lib/CMakeFiles/zip.dir/zip_file_error_get.c.o: lib/CMakeFiles/zip.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_25) "Building C object lib/CMakeFiles/zip.dir/zip_file_error_get.c.o" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT lib/CMakeFiles/zip.dir/zip_file_error_get.c.o -MF CMakeFiles/zip.dir/zip_file_error_get.c.o.d -o CMakeFiles/zip.dir/zip_file_error_get.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_file_error_get.c" - -lib/CMakeFiles/zip.dir/zip_file_error_get.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/zip.dir/zip_file_error_get.c.i" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_file_error_get.c" > CMakeFiles/zip.dir/zip_file_error_get.c.i - -lib/CMakeFiles/zip.dir/zip_file_error_get.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/zip.dir/zip_file_error_get.c.s" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_file_error_get.c" -o CMakeFiles/zip.dir/zip_file_error_get.c.s - -lib/CMakeFiles/zip.dir/zip_file_get_comment.c.o: lib/CMakeFiles/zip.dir/flags.make -lib/CMakeFiles/zip.dir/zip_file_get_comment.c.o: lib/CMakeFiles/zip.dir/includes_C.rsp -lib/CMakeFiles/zip.dir/zip_file_get_comment.c.o: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_file_get_comment.c -lib/CMakeFiles/zip.dir/zip_file_get_comment.c.o: lib/CMakeFiles/zip.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_26) "Building C object lib/CMakeFiles/zip.dir/zip_file_get_comment.c.o" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT lib/CMakeFiles/zip.dir/zip_file_get_comment.c.o -MF CMakeFiles/zip.dir/zip_file_get_comment.c.o.d -o CMakeFiles/zip.dir/zip_file_get_comment.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_file_get_comment.c" - -lib/CMakeFiles/zip.dir/zip_file_get_comment.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/zip.dir/zip_file_get_comment.c.i" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_file_get_comment.c" > CMakeFiles/zip.dir/zip_file_get_comment.c.i - -lib/CMakeFiles/zip.dir/zip_file_get_comment.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/zip.dir/zip_file_get_comment.c.s" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_file_get_comment.c" -o CMakeFiles/zip.dir/zip_file_get_comment.c.s - -lib/CMakeFiles/zip.dir/zip_file_get_external_attributes.c.o: lib/CMakeFiles/zip.dir/flags.make -lib/CMakeFiles/zip.dir/zip_file_get_external_attributes.c.o: lib/CMakeFiles/zip.dir/includes_C.rsp -lib/CMakeFiles/zip.dir/zip_file_get_external_attributes.c.o: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_file_get_external_attributes.c -lib/CMakeFiles/zip.dir/zip_file_get_external_attributes.c.o: lib/CMakeFiles/zip.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_27) "Building C object lib/CMakeFiles/zip.dir/zip_file_get_external_attributes.c.o" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT lib/CMakeFiles/zip.dir/zip_file_get_external_attributes.c.o -MF CMakeFiles/zip.dir/zip_file_get_external_attributes.c.o.d -o CMakeFiles/zip.dir/zip_file_get_external_attributes.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_file_get_external_attributes.c" - -lib/CMakeFiles/zip.dir/zip_file_get_external_attributes.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/zip.dir/zip_file_get_external_attributes.c.i" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_file_get_external_attributes.c" > CMakeFiles/zip.dir/zip_file_get_external_attributes.c.i - -lib/CMakeFiles/zip.dir/zip_file_get_external_attributes.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/zip.dir/zip_file_get_external_attributes.c.s" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_file_get_external_attributes.c" -o CMakeFiles/zip.dir/zip_file_get_external_attributes.c.s - -lib/CMakeFiles/zip.dir/zip_file_get_offset.c.o: lib/CMakeFiles/zip.dir/flags.make -lib/CMakeFiles/zip.dir/zip_file_get_offset.c.o: lib/CMakeFiles/zip.dir/includes_C.rsp -lib/CMakeFiles/zip.dir/zip_file_get_offset.c.o: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_file_get_offset.c -lib/CMakeFiles/zip.dir/zip_file_get_offset.c.o: lib/CMakeFiles/zip.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_28) "Building C object lib/CMakeFiles/zip.dir/zip_file_get_offset.c.o" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT lib/CMakeFiles/zip.dir/zip_file_get_offset.c.o -MF CMakeFiles/zip.dir/zip_file_get_offset.c.o.d -o CMakeFiles/zip.dir/zip_file_get_offset.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_file_get_offset.c" - -lib/CMakeFiles/zip.dir/zip_file_get_offset.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/zip.dir/zip_file_get_offset.c.i" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_file_get_offset.c" > CMakeFiles/zip.dir/zip_file_get_offset.c.i - -lib/CMakeFiles/zip.dir/zip_file_get_offset.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/zip.dir/zip_file_get_offset.c.s" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_file_get_offset.c" -o CMakeFiles/zip.dir/zip_file_get_offset.c.s - -lib/CMakeFiles/zip.dir/zip_file_rename.c.o: lib/CMakeFiles/zip.dir/flags.make -lib/CMakeFiles/zip.dir/zip_file_rename.c.o: lib/CMakeFiles/zip.dir/includes_C.rsp -lib/CMakeFiles/zip.dir/zip_file_rename.c.o: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_file_rename.c -lib/CMakeFiles/zip.dir/zip_file_rename.c.o: lib/CMakeFiles/zip.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_29) "Building C object lib/CMakeFiles/zip.dir/zip_file_rename.c.o" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT lib/CMakeFiles/zip.dir/zip_file_rename.c.o -MF CMakeFiles/zip.dir/zip_file_rename.c.o.d -o CMakeFiles/zip.dir/zip_file_rename.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_file_rename.c" - -lib/CMakeFiles/zip.dir/zip_file_rename.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/zip.dir/zip_file_rename.c.i" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_file_rename.c" > CMakeFiles/zip.dir/zip_file_rename.c.i - -lib/CMakeFiles/zip.dir/zip_file_rename.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/zip.dir/zip_file_rename.c.s" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_file_rename.c" -o CMakeFiles/zip.dir/zip_file_rename.c.s - -lib/CMakeFiles/zip.dir/zip_file_replace.c.o: lib/CMakeFiles/zip.dir/flags.make -lib/CMakeFiles/zip.dir/zip_file_replace.c.o: lib/CMakeFiles/zip.dir/includes_C.rsp -lib/CMakeFiles/zip.dir/zip_file_replace.c.o: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_file_replace.c -lib/CMakeFiles/zip.dir/zip_file_replace.c.o: lib/CMakeFiles/zip.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_30) "Building C object lib/CMakeFiles/zip.dir/zip_file_replace.c.o" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT lib/CMakeFiles/zip.dir/zip_file_replace.c.o -MF CMakeFiles/zip.dir/zip_file_replace.c.o.d -o CMakeFiles/zip.dir/zip_file_replace.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_file_replace.c" - -lib/CMakeFiles/zip.dir/zip_file_replace.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/zip.dir/zip_file_replace.c.i" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_file_replace.c" > CMakeFiles/zip.dir/zip_file_replace.c.i - -lib/CMakeFiles/zip.dir/zip_file_replace.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/zip.dir/zip_file_replace.c.s" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_file_replace.c" -o CMakeFiles/zip.dir/zip_file_replace.c.s - -lib/CMakeFiles/zip.dir/zip_file_set_comment.c.o: lib/CMakeFiles/zip.dir/flags.make -lib/CMakeFiles/zip.dir/zip_file_set_comment.c.o: lib/CMakeFiles/zip.dir/includes_C.rsp -lib/CMakeFiles/zip.dir/zip_file_set_comment.c.o: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_file_set_comment.c -lib/CMakeFiles/zip.dir/zip_file_set_comment.c.o: lib/CMakeFiles/zip.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_31) "Building C object lib/CMakeFiles/zip.dir/zip_file_set_comment.c.o" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT lib/CMakeFiles/zip.dir/zip_file_set_comment.c.o -MF CMakeFiles/zip.dir/zip_file_set_comment.c.o.d -o CMakeFiles/zip.dir/zip_file_set_comment.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_file_set_comment.c" - -lib/CMakeFiles/zip.dir/zip_file_set_comment.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/zip.dir/zip_file_set_comment.c.i" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_file_set_comment.c" > CMakeFiles/zip.dir/zip_file_set_comment.c.i - -lib/CMakeFiles/zip.dir/zip_file_set_comment.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/zip.dir/zip_file_set_comment.c.s" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_file_set_comment.c" -o CMakeFiles/zip.dir/zip_file_set_comment.c.s - -lib/CMakeFiles/zip.dir/zip_file_set_encryption.c.o: lib/CMakeFiles/zip.dir/flags.make -lib/CMakeFiles/zip.dir/zip_file_set_encryption.c.o: lib/CMakeFiles/zip.dir/includes_C.rsp -lib/CMakeFiles/zip.dir/zip_file_set_encryption.c.o: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_file_set_encryption.c -lib/CMakeFiles/zip.dir/zip_file_set_encryption.c.o: lib/CMakeFiles/zip.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_32) "Building C object lib/CMakeFiles/zip.dir/zip_file_set_encryption.c.o" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT lib/CMakeFiles/zip.dir/zip_file_set_encryption.c.o -MF CMakeFiles/zip.dir/zip_file_set_encryption.c.o.d -o CMakeFiles/zip.dir/zip_file_set_encryption.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_file_set_encryption.c" - -lib/CMakeFiles/zip.dir/zip_file_set_encryption.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/zip.dir/zip_file_set_encryption.c.i" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_file_set_encryption.c" > CMakeFiles/zip.dir/zip_file_set_encryption.c.i - -lib/CMakeFiles/zip.dir/zip_file_set_encryption.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/zip.dir/zip_file_set_encryption.c.s" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_file_set_encryption.c" -o CMakeFiles/zip.dir/zip_file_set_encryption.c.s - -lib/CMakeFiles/zip.dir/zip_file_set_external_attributes.c.o: lib/CMakeFiles/zip.dir/flags.make -lib/CMakeFiles/zip.dir/zip_file_set_external_attributes.c.o: lib/CMakeFiles/zip.dir/includes_C.rsp -lib/CMakeFiles/zip.dir/zip_file_set_external_attributes.c.o: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_file_set_external_attributes.c -lib/CMakeFiles/zip.dir/zip_file_set_external_attributes.c.o: lib/CMakeFiles/zip.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_33) "Building C object lib/CMakeFiles/zip.dir/zip_file_set_external_attributes.c.o" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT lib/CMakeFiles/zip.dir/zip_file_set_external_attributes.c.o -MF CMakeFiles/zip.dir/zip_file_set_external_attributes.c.o.d -o CMakeFiles/zip.dir/zip_file_set_external_attributes.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_file_set_external_attributes.c" - -lib/CMakeFiles/zip.dir/zip_file_set_external_attributes.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/zip.dir/zip_file_set_external_attributes.c.i" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_file_set_external_attributes.c" > CMakeFiles/zip.dir/zip_file_set_external_attributes.c.i - -lib/CMakeFiles/zip.dir/zip_file_set_external_attributes.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/zip.dir/zip_file_set_external_attributes.c.s" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_file_set_external_attributes.c" -o CMakeFiles/zip.dir/zip_file_set_external_attributes.c.s - -lib/CMakeFiles/zip.dir/zip_file_set_mtime.c.o: lib/CMakeFiles/zip.dir/flags.make -lib/CMakeFiles/zip.dir/zip_file_set_mtime.c.o: lib/CMakeFiles/zip.dir/includes_C.rsp -lib/CMakeFiles/zip.dir/zip_file_set_mtime.c.o: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_file_set_mtime.c -lib/CMakeFiles/zip.dir/zip_file_set_mtime.c.o: lib/CMakeFiles/zip.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_34) "Building C object lib/CMakeFiles/zip.dir/zip_file_set_mtime.c.o" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT lib/CMakeFiles/zip.dir/zip_file_set_mtime.c.o -MF CMakeFiles/zip.dir/zip_file_set_mtime.c.o.d -o CMakeFiles/zip.dir/zip_file_set_mtime.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_file_set_mtime.c" - -lib/CMakeFiles/zip.dir/zip_file_set_mtime.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/zip.dir/zip_file_set_mtime.c.i" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_file_set_mtime.c" > CMakeFiles/zip.dir/zip_file_set_mtime.c.i - -lib/CMakeFiles/zip.dir/zip_file_set_mtime.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/zip.dir/zip_file_set_mtime.c.s" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_file_set_mtime.c" -o CMakeFiles/zip.dir/zip_file_set_mtime.c.s - -lib/CMakeFiles/zip.dir/zip_file_strerror.c.o: lib/CMakeFiles/zip.dir/flags.make -lib/CMakeFiles/zip.dir/zip_file_strerror.c.o: lib/CMakeFiles/zip.dir/includes_C.rsp -lib/CMakeFiles/zip.dir/zip_file_strerror.c.o: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_file_strerror.c -lib/CMakeFiles/zip.dir/zip_file_strerror.c.o: lib/CMakeFiles/zip.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_35) "Building C object lib/CMakeFiles/zip.dir/zip_file_strerror.c.o" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT lib/CMakeFiles/zip.dir/zip_file_strerror.c.o -MF CMakeFiles/zip.dir/zip_file_strerror.c.o.d -o CMakeFiles/zip.dir/zip_file_strerror.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_file_strerror.c" - -lib/CMakeFiles/zip.dir/zip_file_strerror.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/zip.dir/zip_file_strerror.c.i" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_file_strerror.c" > CMakeFiles/zip.dir/zip_file_strerror.c.i - -lib/CMakeFiles/zip.dir/zip_file_strerror.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/zip.dir/zip_file_strerror.c.s" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_file_strerror.c" -o CMakeFiles/zip.dir/zip_file_strerror.c.s - -lib/CMakeFiles/zip.dir/zip_fopen.c.o: lib/CMakeFiles/zip.dir/flags.make -lib/CMakeFiles/zip.dir/zip_fopen.c.o: lib/CMakeFiles/zip.dir/includes_C.rsp -lib/CMakeFiles/zip.dir/zip_fopen.c.o: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_fopen.c -lib/CMakeFiles/zip.dir/zip_fopen.c.o: lib/CMakeFiles/zip.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_36) "Building C object lib/CMakeFiles/zip.dir/zip_fopen.c.o" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT lib/CMakeFiles/zip.dir/zip_fopen.c.o -MF CMakeFiles/zip.dir/zip_fopen.c.o.d -o CMakeFiles/zip.dir/zip_fopen.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_fopen.c" - -lib/CMakeFiles/zip.dir/zip_fopen.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/zip.dir/zip_fopen.c.i" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_fopen.c" > CMakeFiles/zip.dir/zip_fopen.c.i - -lib/CMakeFiles/zip.dir/zip_fopen.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/zip.dir/zip_fopen.c.s" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_fopen.c" -o CMakeFiles/zip.dir/zip_fopen.c.s - -lib/CMakeFiles/zip.dir/zip_fopen_encrypted.c.o: lib/CMakeFiles/zip.dir/flags.make -lib/CMakeFiles/zip.dir/zip_fopen_encrypted.c.o: lib/CMakeFiles/zip.dir/includes_C.rsp -lib/CMakeFiles/zip.dir/zip_fopen_encrypted.c.o: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_fopen_encrypted.c -lib/CMakeFiles/zip.dir/zip_fopen_encrypted.c.o: lib/CMakeFiles/zip.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_37) "Building C object lib/CMakeFiles/zip.dir/zip_fopen_encrypted.c.o" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT lib/CMakeFiles/zip.dir/zip_fopen_encrypted.c.o -MF CMakeFiles/zip.dir/zip_fopen_encrypted.c.o.d -o CMakeFiles/zip.dir/zip_fopen_encrypted.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_fopen_encrypted.c" - -lib/CMakeFiles/zip.dir/zip_fopen_encrypted.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/zip.dir/zip_fopen_encrypted.c.i" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_fopen_encrypted.c" > CMakeFiles/zip.dir/zip_fopen_encrypted.c.i - -lib/CMakeFiles/zip.dir/zip_fopen_encrypted.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/zip.dir/zip_fopen_encrypted.c.s" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_fopen_encrypted.c" -o CMakeFiles/zip.dir/zip_fopen_encrypted.c.s - -lib/CMakeFiles/zip.dir/zip_fopen_index.c.o: lib/CMakeFiles/zip.dir/flags.make -lib/CMakeFiles/zip.dir/zip_fopen_index.c.o: lib/CMakeFiles/zip.dir/includes_C.rsp -lib/CMakeFiles/zip.dir/zip_fopen_index.c.o: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_fopen_index.c -lib/CMakeFiles/zip.dir/zip_fopen_index.c.o: lib/CMakeFiles/zip.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_38) "Building C object lib/CMakeFiles/zip.dir/zip_fopen_index.c.o" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT lib/CMakeFiles/zip.dir/zip_fopen_index.c.o -MF CMakeFiles/zip.dir/zip_fopen_index.c.o.d -o CMakeFiles/zip.dir/zip_fopen_index.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_fopen_index.c" - -lib/CMakeFiles/zip.dir/zip_fopen_index.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/zip.dir/zip_fopen_index.c.i" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_fopen_index.c" > CMakeFiles/zip.dir/zip_fopen_index.c.i - -lib/CMakeFiles/zip.dir/zip_fopen_index.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/zip.dir/zip_fopen_index.c.s" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_fopen_index.c" -o CMakeFiles/zip.dir/zip_fopen_index.c.s - -lib/CMakeFiles/zip.dir/zip_fopen_index_encrypted.c.o: lib/CMakeFiles/zip.dir/flags.make -lib/CMakeFiles/zip.dir/zip_fopen_index_encrypted.c.o: lib/CMakeFiles/zip.dir/includes_C.rsp -lib/CMakeFiles/zip.dir/zip_fopen_index_encrypted.c.o: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_fopen_index_encrypted.c -lib/CMakeFiles/zip.dir/zip_fopen_index_encrypted.c.o: lib/CMakeFiles/zip.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_39) "Building C object lib/CMakeFiles/zip.dir/zip_fopen_index_encrypted.c.o" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT lib/CMakeFiles/zip.dir/zip_fopen_index_encrypted.c.o -MF CMakeFiles/zip.dir/zip_fopen_index_encrypted.c.o.d -o CMakeFiles/zip.dir/zip_fopen_index_encrypted.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_fopen_index_encrypted.c" - -lib/CMakeFiles/zip.dir/zip_fopen_index_encrypted.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/zip.dir/zip_fopen_index_encrypted.c.i" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_fopen_index_encrypted.c" > CMakeFiles/zip.dir/zip_fopen_index_encrypted.c.i - -lib/CMakeFiles/zip.dir/zip_fopen_index_encrypted.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/zip.dir/zip_fopen_index_encrypted.c.s" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_fopen_index_encrypted.c" -o CMakeFiles/zip.dir/zip_fopen_index_encrypted.c.s - -lib/CMakeFiles/zip.dir/zip_fread.c.o: lib/CMakeFiles/zip.dir/flags.make -lib/CMakeFiles/zip.dir/zip_fread.c.o: lib/CMakeFiles/zip.dir/includes_C.rsp -lib/CMakeFiles/zip.dir/zip_fread.c.o: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_fread.c -lib/CMakeFiles/zip.dir/zip_fread.c.o: lib/CMakeFiles/zip.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_40) "Building C object lib/CMakeFiles/zip.dir/zip_fread.c.o" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT lib/CMakeFiles/zip.dir/zip_fread.c.o -MF CMakeFiles/zip.dir/zip_fread.c.o.d -o CMakeFiles/zip.dir/zip_fread.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_fread.c" - -lib/CMakeFiles/zip.dir/zip_fread.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/zip.dir/zip_fread.c.i" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_fread.c" > CMakeFiles/zip.dir/zip_fread.c.i - -lib/CMakeFiles/zip.dir/zip_fread.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/zip.dir/zip_fread.c.s" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_fread.c" -o CMakeFiles/zip.dir/zip_fread.c.s - -lib/CMakeFiles/zip.dir/zip_fseek.c.o: lib/CMakeFiles/zip.dir/flags.make -lib/CMakeFiles/zip.dir/zip_fseek.c.o: lib/CMakeFiles/zip.dir/includes_C.rsp -lib/CMakeFiles/zip.dir/zip_fseek.c.o: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_fseek.c -lib/CMakeFiles/zip.dir/zip_fseek.c.o: lib/CMakeFiles/zip.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_41) "Building C object lib/CMakeFiles/zip.dir/zip_fseek.c.o" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT lib/CMakeFiles/zip.dir/zip_fseek.c.o -MF CMakeFiles/zip.dir/zip_fseek.c.o.d -o CMakeFiles/zip.dir/zip_fseek.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_fseek.c" - -lib/CMakeFiles/zip.dir/zip_fseek.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/zip.dir/zip_fseek.c.i" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_fseek.c" > CMakeFiles/zip.dir/zip_fseek.c.i - -lib/CMakeFiles/zip.dir/zip_fseek.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/zip.dir/zip_fseek.c.s" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_fseek.c" -o CMakeFiles/zip.dir/zip_fseek.c.s - -lib/CMakeFiles/zip.dir/zip_ftell.c.o: lib/CMakeFiles/zip.dir/flags.make -lib/CMakeFiles/zip.dir/zip_ftell.c.o: lib/CMakeFiles/zip.dir/includes_C.rsp -lib/CMakeFiles/zip.dir/zip_ftell.c.o: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_ftell.c -lib/CMakeFiles/zip.dir/zip_ftell.c.o: lib/CMakeFiles/zip.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_42) "Building C object lib/CMakeFiles/zip.dir/zip_ftell.c.o" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT lib/CMakeFiles/zip.dir/zip_ftell.c.o -MF CMakeFiles/zip.dir/zip_ftell.c.o.d -o CMakeFiles/zip.dir/zip_ftell.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_ftell.c" - -lib/CMakeFiles/zip.dir/zip_ftell.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/zip.dir/zip_ftell.c.i" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_ftell.c" > CMakeFiles/zip.dir/zip_ftell.c.i - -lib/CMakeFiles/zip.dir/zip_ftell.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/zip.dir/zip_ftell.c.s" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_ftell.c" -o CMakeFiles/zip.dir/zip_ftell.c.s - -lib/CMakeFiles/zip.dir/zip_get_archive_comment.c.o: lib/CMakeFiles/zip.dir/flags.make -lib/CMakeFiles/zip.dir/zip_get_archive_comment.c.o: lib/CMakeFiles/zip.dir/includes_C.rsp -lib/CMakeFiles/zip.dir/zip_get_archive_comment.c.o: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_get_archive_comment.c -lib/CMakeFiles/zip.dir/zip_get_archive_comment.c.o: lib/CMakeFiles/zip.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_43) "Building C object lib/CMakeFiles/zip.dir/zip_get_archive_comment.c.o" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT lib/CMakeFiles/zip.dir/zip_get_archive_comment.c.o -MF CMakeFiles/zip.dir/zip_get_archive_comment.c.o.d -o CMakeFiles/zip.dir/zip_get_archive_comment.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_get_archive_comment.c" - -lib/CMakeFiles/zip.dir/zip_get_archive_comment.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/zip.dir/zip_get_archive_comment.c.i" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_get_archive_comment.c" > CMakeFiles/zip.dir/zip_get_archive_comment.c.i - -lib/CMakeFiles/zip.dir/zip_get_archive_comment.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/zip.dir/zip_get_archive_comment.c.s" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_get_archive_comment.c" -o CMakeFiles/zip.dir/zip_get_archive_comment.c.s - -lib/CMakeFiles/zip.dir/zip_get_archive_flag.c.o: lib/CMakeFiles/zip.dir/flags.make -lib/CMakeFiles/zip.dir/zip_get_archive_flag.c.o: lib/CMakeFiles/zip.dir/includes_C.rsp -lib/CMakeFiles/zip.dir/zip_get_archive_flag.c.o: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_get_archive_flag.c -lib/CMakeFiles/zip.dir/zip_get_archive_flag.c.o: lib/CMakeFiles/zip.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_44) "Building C object lib/CMakeFiles/zip.dir/zip_get_archive_flag.c.o" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT lib/CMakeFiles/zip.dir/zip_get_archive_flag.c.o -MF CMakeFiles/zip.dir/zip_get_archive_flag.c.o.d -o CMakeFiles/zip.dir/zip_get_archive_flag.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_get_archive_flag.c" - -lib/CMakeFiles/zip.dir/zip_get_archive_flag.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/zip.dir/zip_get_archive_flag.c.i" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_get_archive_flag.c" > CMakeFiles/zip.dir/zip_get_archive_flag.c.i - -lib/CMakeFiles/zip.dir/zip_get_archive_flag.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/zip.dir/zip_get_archive_flag.c.s" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_get_archive_flag.c" -o CMakeFiles/zip.dir/zip_get_archive_flag.c.s - -lib/CMakeFiles/zip.dir/zip_get_encryption_implementation.c.o: lib/CMakeFiles/zip.dir/flags.make -lib/CMakeFiles/zip.dir/zip_get_encryption_implementation.c.o: lib/CMakeFiles/zip.dir/includes_C.rsp -lib/CMakeFiles/zip.dir/zip_get_encryption_implementation.c.o: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_get_encryption_implementation.c -lib/CMakeFiles/zip.dir/zip_get_encryption_implementation.c.o: lib/CMakeFiles/zip.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_45) "Building C object lib/CMakeFiles/zip.dir/zip_get_encryption_implementation.c.o" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT lib/CMakeFiles/zip.dir/zip_get_encryption_implementation.c.o -MF CMakeFiles/zip.dir/zip_get_encryption_implementation.c.o.d -o CMakeFiles/zip.dir/zip_get_encryption_implementation.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_get_encryption_implementation.c" - -lib/CMakeFiles/zip.dir/zip_get_encryption_implementation.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/zip.dir/zip_get_encryption_implementation.c.i" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_get_encryption_implementation.c" > CMakeFiles/zip.dir/zip_get_encryption_implementation.c.i - -lib/CMakeFiles/zip.dir/zip_get_encryption_implementation.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/zip.dir/zip_get_encryption_implementation.c.s" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_get_encryption_implementation.c" -o CMakeFiles/zip.dir/zip_get_encryption_implementation.c.s - -lib/CMakeFiles/zip.dir/zip_get_file_comment.c.o: lib/CMakeFiles/zip.dir/flags.make -lib/CMakeFiles/zip.dir/zip_get_file_comment.c.o: lib/CMakeFiles/zip.dir/includes_C.rsp -lib/CMakeFiles/zip.dir/zip_get_file_comment.c.o: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_get_file_comment.c -lib/CMakeFiles/zip.dir/zip_get_file_comment.c.o: lib/CMakeFiles/zip.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_46) "Building C object lib/CMakeFiles/zip.dir/zip_get_file_comment.c.o" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT lib/CMakeFiles/zip.dir/zip_get_file_comment.c.o -MF CMakeFiles/zip.dir/zip_get_file_comment.c.o.d -o CMakeFiles/zip.dir/zip_get_file_comment.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_get_file_comment.c" - -lib/CMakeFiles/zip.dir/zip_get_file_comment.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/zip.dir/zip_get_file_comment.c.i" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_get_file_comment.c" > CMakeFiles/zip.dir/zip_get_file_comment.c.i - -lib/CMakeFiles/zip.dir/zip_get_file_comment.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/zip.dir/zip_get_file_comment.c.s" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_get_file_comment.c" -o CMakeFiles/zip.dir/zip_get_file_comment.c.s - -lib/CMakeFiles/zip.dir/zip_get_name.c.o: lib/CMakeFiles/zip.dir/flags.make -lib/CMakeFiles/zip.dir/zip_get_name.c.o: lib/CMakeFiles/zip.dir/includes_C.rsp -lib/CMakeFiles/zip.dir/zip_get_name.c.o: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_get_name.c -lib/CMakeFiles/zip.dir/zip_get_name.c.o: lib/CMakeFiles/zip.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_47) "Building C object lib/CMakeFiles/zip.dir/zip_get_name.c.o" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT lib/CMakeFiles/zip.dir/zip_get_name.c.o -MF CMakeFiles/zip.dir/zip_get_name.c.o.d -o CMakeFiles/zip.dir/zip_get_name.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_get_name.c" - -lib/CMakeFiles/zip.dir/zip_get_name.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/zip.dir/zip_get_name.c.i" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_get_name.c" > CMakeFiles/zip.dir/zip_get_name.c.i - -lib/CMakeFiles/zip.dir/zip_get_name.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/zip.dir/zip_get_name.c.s" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_get_name.c" -o CMakeFiles/zip.dir/zip_get_name.c.s - -lib/CMakeFiles/zip.dir/zip_get_num_entries.c.o: lib/CMakeFiles/zip.dir/flags.make -lib/CMakeFiles/zip.dir/zip_get_num_entries.c.o: lib/CMakeFiles/zip.dir/includes_C.rsp -lib/CMakeFiles/zip.dir/zip_get_num_entries.c.o: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_get_num_entries.c -lib/CMakeFiles/zip.dir/zip_get_num_entries.c.o: lib/CMakeFiles/zip.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_48) "Building C object lib/CMakeFiles/zip.dir/zip_get_num_entries.c.o" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT lib/CMakeFiles/zip.dir/zip_get_num_entries.c.o -MF CMakeFiles/zip.dir/zip_get_num_entries.c.o.d -o CMakeFiles/zip.dir/zip_get_num_entries.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_get_num_entries.c" - -lib/CMakeFiles/zip.dir/zip_get_num_entries.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/zip.dir/zip_get_num_entries.c.i" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_get_num_entries.c" > CMakeFiles/zip.dir/zip_get_num_entries.c.i - -lib/CMakeFiles/zip.dir/zip_get_num_entries.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/zip.dir/zip_get_num_entries.c.s" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_get_num_entries.c" -o CMakeFiles/zip.dir/zip_get_num_entries.c.s - -lib/CMakeFiles/zip.dir/zip_get_num_files.c.o: lib/CMakeFiles/zip.dir/flags.make -lib/CMakeFiles/zip.dir/zip_get_num_files.c.o: lib/CMakeFiles/zip.dir/includes_C.rsp -lib/CMakeFiles/zip.dir/zip_get_num_files.c.o: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_get_num_files.c -lib/CMakeFiles/zip.dir/zip_get_num_files.c.o: lib/CMakeFiles/zip.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_49) "Building C object lib/CMakeFiles/zip.dir/zip_get_num_files.c.o" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT lib/CMakeFiles/zip.dir/zip_get_num_files.c.o -MF CMakeFiles/zip.dir/zip_get_num_files.c.o.d -o CMakeFiles/zip.dir/zip_get_num_files.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_get_num_files.c" - -lib/CMakeFiles/zip.dir/zip_get_num_files.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/zip.dir/zip_get_num_files.c.i" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_get_num_files.c" > CMakeFiles/zip.dir/zip_get_num_files.c.i - -lib/CMakeFiles/zip.dir/zip_get_num_files.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/zip.dir/zip_get_num_files.c.s" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_get_num_files.c" -o CMakeFiles/zip.dir/zip_get_num_files.c.s - -lib/CMakeFiles/zip.dir/zip_hash.c.o: lib/CMakeFiles/zip.dir/flags.make -lib/CMakeFiles/zip.dir/zip_hash.c.o: lib/CMakeFiles/zip.dir/includes_C.rsp -lib/CMakeFiles/zip.dir/zip_hash.c.o: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_hash.c -lib/CMakeFiles/zip.dir/zip_hash.c.o: lib/CMakeFiles/zip.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_50) "Building C object lib/CMakeFiles/zip.dir/zip_hash.c.o" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT lib/CMakeFiles/zip.dir/zip_hash.c.o -MF CMakeFiles/zip.dir/zip_hash.c.o.d -o CMakeFiles/zip.dir/zip_hash.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_hash.c" - -lib/CMakeFiles/zip.dir/zip_hash.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/zip.dir/zip_hash.c.i" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_hash.c" > CMakeFiles/zip.dir/zip_hash.c.i - -lib/CMakeFiles/zip.dir/zip_hash.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/zip.dir/zip_hash.c.s" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_hash.c" -o CMakeFiles/zip.dir/zip_hash.c.s - -lib/CMakeFiles/zip.dir/zip_io_util.c.o: lib/CMakeFiles/zip.dir/flags.make -lib/CMakeFiles/zip.dir/zip_io_util.c.o: lib/CMakeFiles/zip.dir/includes_C.rsp -lib/CMakeFiles/zip.dir/zip_io_util.c.o: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_io_util.c -lib/CMakeFiles/zip.dir/zip_io_util.c.o: lib/CMakeFiles/zip.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_51) "Building C object lib/CMakeFiles/zip.dir/zip_io_util.c.o" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT lib/CMakeFiles/zip.dir/zip_io_util.c.o -MF CMakeFiles/zip.dir/zip_io_util.c.o.d -o CMakeFiles/zip.dir/zip_io_util.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_io_util.c" - -lib/CMakeFiles/zip.dir/zip_io_util.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/zip.dir/zip_io_util.c.i" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_io_util.c" > CMakeFiles/zip.dir/zip_io_util.c.i - -lib/CMakeFiles/zip.dir/zip_io_util.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/zip.dir/zip_io_util.c.s" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_io_util.c" -o CMakeFiles/zip.dir/zip_io_util.c.s - -lib/CMakeFiles/zip.dir/zip_libzip_version.c.o: lib/CMakeFiles/zip.dir/flags.make -lib/CMakeFiles/zip.dir/zip_libzip_version.c.o: lib/CMakeFiles/zip.dir/includes_C.rsp -lib/CMakeFiles/zip.dir/zip_libzip_version.c.o: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_libzip_version.c -lib/CMakeFiles/zip.dir/zip_libzip_version.c.o: lib/CMakeFiles/zip.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_52) "Building C object lib/CMakeFiles/zip.dir/zip_libzip_version.c.o" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT lib/CMakeFiles/zip.dir/zip_libzip_version.c.o -MF CMakeFiles/zip.dir/zip_libzip_version.c.o.d -o CMakeFiles/zip.dir/zip_libzip_version.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_libzip_version.c" - -lib/CMakeFiles/zip.dir/zip_libzip_version.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/zip.dir/zip_libzip_version.c.i" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_libzip_version.c" > CMakeFiles/zip.dir/zip_libzip_version.c.i - -lib/CMakeFiles/zip.dir/zip_libzip_version.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/zip.dir/zip_libzip_version.c.s" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_libzip_version.c" -o CMakeFiles/zip.dir/zip_libzip_version.c.s - -lib/CMakeFiles/zip.dir/zip_memdup.c.o: lib/CMakeFiles/zip.dir/flags.make -lib/CMakeFiles/zip.dir/zip_memdup.c.o: lib/CMakeFiles/zip.dir/includes_C.rsp -lib/CMakeFiles/zip.dir/zip_memdup.c.o: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_memdup.c -lib/CMakeFiles/zip.dir/zip_memdup.c.o: lib/CMakeFiles/zip.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_53) "Building C object lib/CMakeFiles/zip.dir/zip_memdup.c.o" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT lib/CMakeFiles/zip.dir/zip_memdup.c.o -MF CMakeFiles/zip.dir/zip_memdup.c.o.d -o CMakeFiles/zip.dir/zip_memdup.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_memdup.c" - -lib/CMakeFiles/zip.dir/zip_memdup.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/zip.dir/zip_memdup.c.i" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_memdup.c" > CMakeFiles/zip.dir/zip_memdup.c.i - -lib/CMakeFiles/zip.dir/zip_memdup.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/zip.dir/zip_memdup.c.s" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_memdup.c" -o CMakeFiles/zip.dir/zip_memdup.c.s - -lib/CMakeFiles/zip.dir/zip_name_locate.c.o: lib/CMakeFiles/zip.dir/flags.make -lib/CMakeFiles/zip.dir/zip_name_locate.c.o: lib/CMakeFiles/zip.dir/includes_C.rsp -lib/CMakeFiles/zip.dir/zip_name_locate.c.o: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_name_locate.c -lib/CMakeFiles/zip.dir/zip_name_locate.c.o: lib/CMakeFiles/zip.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_54) "Building C object lib/CMakeFiles/zip.dir/zip_name_locate.c.o" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT lib/CMakeFiles/zip.dir/zip_name_locate.c.o -MF CMakeFiles/zip.dir/zip_name_locate.c.o.d -o CMakeFiles/zip.dir/zip_name_locate.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_name_locate.c" - -lib/CMakeFiles/zip.dir/zip_name_locate.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/zip.dir/zip_name_locate.c.i" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_name_locate.c" > CMakeFiles/zip.dir/zip_name_locate.c.i - -lib/CMakeFiles/zip.dir/zip_name_locate.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/zip.dir/zip_name_locate.c.s" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_name_locate.c" -o CMakeFiles/zip.dir/zip_name_locate.c.s - -lib/CMakeFiles/zip.dir/zip_new.c.o: lib/CMakeFiles/zip.dir/flags.make -lib/CMakeFiles/zip.dir/zip_new.c.o: lib/CMakeFiles/zip.dir/includes_C.rsp -lib/CMakeFiles/zip.dir/zip_new.c.o: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_new.c -lib/CMakeFiles/zip.dir/zip_new.c.o: lib/CMakeFiles/zip.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_55) "Building C object lib/CMakeFiles/zip.dir/zip_new.c.o" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT lib/CMakeFiles/zip.dir/zip_new.c.o -MF CMakeFiles/zip.dir/zip_new.c.o.d -o CMakeFiles/zip.dir/zip_new.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_new.c" - -lib/CMakeFiles/zip.dir/zip_new.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/zip.dir/zip_new.c.i" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_new.c" > CMakeFiles/zip.dir/zip_new.c.i - -lib/CMakeFiles/zip.dir/zip_new.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/zip.dir/zip_new.c.s" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_new.c" -o CMakeFiles/zip.dir/zip_new.c.s - -lib/CMakeFiles/zip.dir/zip_open.c.o: lib/CMakeFiles/zip.dir/flags.make -lib/CMakeFiles/zip.dir/zip_open.c.o: lib/CMakeFiles/zip.dir/includes_C.rsp -lib/CMakeFiles/zip.dir/zip_open.c.o: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_open.c -lib/CMakeFiles/zip.dir/zip_open.c.o: lib/CMakeFiles/zip.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_56) "Building C object lib/CMakeFiles/zip.dir/zip_open.c.o" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT lib/CMakeFiles/zip.dir/zip_open.c.o -MF CMakeFiles/zip.dir/zip_open.c.o.d -o CMakeFiles/zip.dir/zip_open.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_open.c" - -lib/CMakeFiles/zip.dir/zip_open.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/zip.dir/zip_open.c.i" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_open.c" > CMakeFiles/zip.dir/zip_open.c.i - -lib/CMakeFiles/zip.dir/zip_open.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/zip.dir/zip_open.c.s" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_open.c" -o CMakeFiles/zip.dir/zip_open.c.s - -lib/CMakeFiles/zip.dir/zip_pkware.c.o: lib/CMakeFiles/zip.dir/flags.make -lib/CMakeFiles/zip.dir/zip_pkware.c.o: lib/CMakeFiles/zip.dir/includes_C.rsp -lib/CMakeFiles/zip.dir/zip_pkware.c.o: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_pkware.c -lib/CMakeFiles/zip.dir/zip_pkware.c.o: lib/CMakeFiles/zip.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_57) "Building C object lib/CMakeFiles/zip.dir/zip_pkware.c.o" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT lib/CMakeFiles/zip.dir/zip_pkware.c.o -MF CMakeFiles/zip.dir/zip_pkware.c.o.d -o CMakeFiles/zip.dir/zip_pkware.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_pkware.c" - -lib/CMakeFiles/zip.dir/zip_pkware.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/zip.dir/zip_pkware.c.i" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_pkware.c" > CMakeFiles/zip.dir/zip_pkware.c.i - -lib/CMakeFiles/zip.dir/zip_pkware.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/zip.dir/zip_pkware.c.s" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_pkware.c" -o CMakeFiles/zip.dir/zip_pkware.c.s - -lib/CMakeFiles/zip.dir/zip_progress.c.o: lib/CMakeFiles/zip.dir/flags.make -lib/CMakeFiles/zip.dir/zip_progress.c.o: lib/CMakeFiles/zip.dir/includes_C.rsp -lib/CMakeFiles/zip.dir/zip_progress.c.o: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_progress.c -lib/CMakeFiles/zip.dir/zip_progress.c.o: lib/CMakeFiles/zip.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_58) "Building C object lib/CMakeFiles/zip.dir/zip_progress.c.o" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT lib/CMakeFiles/zip.dir/zip_progress.c.o -MF CMakeFiles/zip.dir/zip_progress.c.o.d -o CMakeFiles/zip.dir/zip_progress.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_progress.c" - -lib/CMakeFiles/zip.dir/zip_progress.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/zip.dir/zip_progress.c.i" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_progress.c" > CMakeFiles/zip.dir/zip_progress.c.i - -lib/CMakeFiles/zip.dir/zip_progress.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/zip.dir/zip_progress.c.s" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_progress.c" -o CMakeFiles/zip.dir/zip_progress.c.s - -lib/CMakeFiles/zip.dir/zip_rename.c.o: lib/CMakeFiles/zip.dir/flags.make -lib/CMakeFiles/zip.dir/zip_rename.c.o: lib/CMakeFiles/zip.dir/includes_C.rsp -lib/CMakeFiles/zip.dir/zip_rename.c.o: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_rename.c -lib/CMakeFiles/zip.dir/zip_rename.c.o: lib/CMakeFiles/zip.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_59) "Building C object lib/CMakeFiles/zip.dir/zip_rename.c.o" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT lib/CMakeFiles/zip.dir/zip_rename.c.o -MF CMakeFiles/zip.dir/zip_rename.c.o.d -o CMakeFiles/zip.dir/zip_rename.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_rename.c" - -lib/CMakeFiles/zip.dir/zip_rename.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/zip.dir/zip_rename.c.i" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_rename.c" > CMakeFiles/zip.dir/zip_rename.c.i - -lib/CMakeFiles/zip.dir/zip_rename.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/zip.dir/zip_rename.c.s" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_rename.c" -o CMakeFiles/zip.dir/zip_rename.c.s - -lib/CMakeFiles/zip.dir/zip_replace.c.o: lib/CMakeFiles/zip.dir/flags.make -lib/CMakeFiles/zip.dir/zip_replace.c.o: lib/CMakeFiles/zip.dir/includes_C.rsp -lib/CMakeFiles/zip.dir/zip_replace.c.o: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_replace.c -lib/CMakeFiles/zip.dir/zip_replace.c.o: lib/CMakeFiles/zip.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_60) "Building C object lib/CMakeFiles/zip.dir/zip_replace.c.o" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT lib/CMakeFiles/zip.dir/zip_replace.c.o -MF CMakeFiles/zip.dir/zip_replace.c.o.d -o CMakeFiles/zip.dir/zip_replace.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_replace.c" - -lib/CMakeFiles/zip.dir/zip_replace.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/zip.dir/zip_replace.c.i" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_replace.c" > CMakeFiles/zip.dir/zip_replace.c.i - -lib/CMakeFiles/zip.dir/zip_replace.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/zip.dir/zip_replace.c.s" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_replace.c" -o CMakeFiles/zip.dir/zip_replace.c.s - -lib/CMakeFiles/zip.dir/zip_set_archive_comment.c.o: lib/CMakeFiles/zip.dir/flags.make -lib/CMakeFiles/zip.dir/zip_set_archive_comment.c.o: lib/CMakeFiles/zip.dir/includes_C.rsp -lib/CMakeFiles/zip.dir/zip_set_archive_comment.c.o: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_set_archive_comment.c -lib/CMakeFiles/zip.dir/zip_set_archive_comment.c.o: lib/CMakeFiles/zip.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_61) "Building C object lib/CMakeFiles/zip.dir/zip_set_archive_comment.c.o" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT lib/CMakeFiles/zip.dir/zip_set_archive_comment.c.o -MF CMakeFiles/zip.dir/zip_set_archive_comment.c.o.d -o CMakeFiles/zip.dir/zip_set_archive_comment.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_set_archive_comment.c" - -lib/CMakeFiles/zip.dir/zip_set_archive_comment.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/zip.dir/zip_set_archive_comment.c.i" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_set_archive_comment.c" > CMakeFiles/zip.dir/zip_set_archive_comment.c.i - -lib/CMakeFiles/zip.dir/zip_set_archive_comment.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/zip.dir/zip_set_archive_comment.c.s" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_set_archive_comment.c" -o CMakeFiles/zip.dir/zip_set_archive_comment.c.s - -lib/CMakeFiles/zip.dir/zip_set_archive_flag.c.o: lib/CMakeFiles/zip.dir/flags.make -lib/CMakeFiles/zip.dir/zip_set_archive_flag.c.o: lib/CMakeFiles/zip.dir/includes_C.rsp -lib/CMakeFiles/zip.dir/zip_set_archive_flag.c.o: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_set_archive_flag.c -lib/CMakeFiles/zip.dir/zip_set_archive_flag.c.o: lib/CMakeFiles/zip.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_62) "Building C object lib/CMakeFiles/zip.dir/zip_set_archive_flag.c.o" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT lib/CMakeFiles/zip.dir/zip_set_archive_flag.c.o -MF CMakeFiles/zip.dir/zip_set_archive_flag.c.o.d -o CMakeFiles/zip.dir/zip_set_archive_flag.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_set_archive_flag.c" - -lib/CMakeFiles/zip.dir/zip_set_archive_flag.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/zip.dir/zip_set_archive_flag.c.i" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_set_archive_flag.c" > CMakeFiles/zip.dir/zip_set_archive_flag.c.i - -lib/CMakeFiles/zip.dir/zip_set_archive_flag.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/zip.dir/zip_set_archive_flag.c.s" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_set_archive_flag.c" -o CMakeFiles/zip.dir/zip_set_archive_flag.c.s - -lib/CMakeFiles/zip.dir/zip_set_default_password.c.o: lib/CMakeFiles/zip.dir/flags.make -lib/CMakeFiles/zip.dir/zip_set_default_password.c.o: lib/CMakeFiles/zip.dir/includes_C.rsp -lib/CMakeFiles/zip.dir/zip_set_default_password.c.o: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_set_default_password.c -lib/CMakeFiles/zip.dir/zip_set_default_password.c.o: lib/CMakeFiles/zip.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_63) "Building C object lib/CMakeFiles/zip.dir/zip_set_default_password.c.o" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT lib/CMakeFiles/zip.dir/zip_set_default_password.c.o -MF CMakeFiles/zip.dir/zip_set_default_password.c.o.d -o CMakeFiles/zip.dir/zip_set_default_password.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_set_default_password.c" - -lib/CMakeFiles/zip.dir/zip_set_default_password.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/zip.dir/zip_set_default_password.c.i" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_set_default_password.c" > CMakeFiles/zip.dir/zip_set_default_password.c.i - -lib/CMakeFiles/zip.dir/zip_set_default_password.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/zip.dir/zip_set_default_password.c.s" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_set_default_password.c" -o CMakeFiles/zip.dir/zip_set_default_password.c.s - -lib/CMakeFiles/zip.dir/zip_set_file_comment.c.o: lib/CMakeFiles/zip.dir/flags.make -lib/CMakeFiles/zip.dir/zip_set_file_comment.c.o: lib/CMakeFiles/zip.dir/includes_C.rsp -lib/CMakeFiles/zip.dir/zip_set_file_comment.c.o: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_set_file_comment.c -lib/CMakeFiles/zip.dir/zip_set_file_comment.c.o: lib/CMakeFiles/zip.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_64) "Building C object lib/CMakeFiles/zip.dir/zip_set_file_comment.c.o" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT lib/CMakeFiles/zip.dir/zip_set_file_comment.c.o -MF CMakeFiles/zip.dir/zip_set_file_comment.c.o.d -o CMakeFiles/zip.dir/zip_set_file_comment.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_set_file_comment.c" - -lib/CMakeFiles/zip.dir/zip_set_file_comment.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/zip.dir/zip_set_file_comment.c.i" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_set_file_comment.c" > CMakeFiles/zip.dir/zip_set_file_comment.c.i - -lib/CMakeFiles/zip.dir/zip_set_file_comment.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/zip.dir/zip_set_file_comment.c.s" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_set_file_comment.c" -o CMakeFiles/zip.dir/zip_set_file_comment.c.s - -lib/CMakeFiles/zip.dir/zip_set_file_compression.c.o: lib/CMakeFiles/zip.dir/flags.make -lib/CMakeFiles/zip.dir/zip_set_file_compression.c.o: lib/CMakeFiles/zip.dir/includes_C.rsp -lib/CMakeFiles/zip.dir/zip_set_file_compression.c.o: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_set_file_compression.c -lib/CMakeFiles/zip.dir/zip_set_file_compression.c.o: lib/CMakeFiles/zip.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_65) "Building C object lib/CMakeFiles/zip.dir/zip_set_file_compression.c.o" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT lib/CMakeFiles/zip.dir/zip_set_file_compression.c.o -MF CMakeFiles/zip.dir/zip_set_file_compression.c.o.d -o CMakeFiles/zip.dir/zip_set_file_compression.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_set_file_compression.c" - -lib/CMakeFiles/zip.dir/zip_set_file_compression.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/zip.dir/zip_set_file_compression.c.i" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_set_file_compression.c" > CMakeFiles/zip.dir/zip_set_file_compression.c.i - -lib/CMakeFiles/zip.dir/zip_set_file_compression.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/zip.dir/zip_set_file_compression.c.s" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_set_file_compression.c" -o CMakeFiles/zip.dir/zip_set_file_compression.c.s - -lib/CMakeFiles/zip.dir/zip_set_name.c.o: lib/CMakeFiles/zip.dir/flags.make -lib/CMakeFiles/zip.dir/zip_set_name.c.o: lib/CMakeFiles/zip.dir/includes_C.rsp -lib/CMakeFiles/zip.dir/zip_set_name.c.o: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_set_name.c -lib/CMakeFiles/zip.dir/zip_set_name.c.o: lib/CMakeFiles/zip.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_66) "Building C object lib/CMakeFiles/zip.dir/zip_set_name.c.o" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT lib/CMakeFiles/zip.dir/zip_set_name.c.o -MF CMakeFiles/zip.dir/zip_set_name.c.o.d -o CMakeFiles/zip.dir/zip_set_name.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_set_name.c" - -lib/CMakeFiles/zip.dir/zip_set_name.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/zip.dir/zip_set_name.c.i" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_set_name.c" > CMakeFiles/zip.dir/zip_set_name.c.i - -lib/CMakeFiles/zip.dir/zip_set_name.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/zip.dir/zip_set_name.c.s" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_set_name.c" -o CMakeFiles/zip.dir/zip_set_name.c.s - -lib/CMakeFiles/zip.dir/zip_source_accept_empty.c.o: lib/CMakeFiles/zip.dir/flags.make -lib/CMakeFiles/zip.dir/zip_source_accept_empty.c.o: lib/CMakeFiles/zip.dir/includes_C.rsp -lib/CMakeFiles/zip.dir/zip_source_accept_empty.c.o: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_accept_empty.c -lib/CMakeFiles/zip.dir/zip_source_accept_empty.c.o: lib/CMakeFiles/zip.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_67) "Building C object lib/CMakeFiles/zip.dir/zip_source_accept_empty.c.o" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT lib/CMakeFiles/zip.dir/zip_source_accept_empty.c.o -MF CMakeFiles/zip.dir/zip_source_accept_empty.c.o.d -o CMakeFiles/zip.dir/zip_source_accept_empty.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_accept_empty.c" - -lib/CMakeFiles/zip.dir/zip_source_accept_empty.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/zip.dir/zip_source_accept_empty.c.i" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_accept_empty.c" > CMakeFiles/zip.dir/zip_source_accept_empty.c.i - -lib/CMakeFiles/zip.dir/zip_source_accept_empty.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/zip.dir/zip_source_accept_empty.c.s" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_accept_empty.c" -o CMakeFiles/zip.dir/zip_source_accept_empty.c.s - -lib/CMakeFiles/zip.dir/zip_source_begin_write.c.o: lib/CMakeFiles/zip.dir/flags.make -lib/CMakeFiles/zip.dir/zip_source_begin_write.c.o: lib/CMakeFiles/zip.dir/includes_C.rsp -lib/CMakeFiles/zip.dir/zip_source_begin_write.c.o: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_begin_write.c -lib/CMakeFiles/zip.dir/zip_source_begin_write.c.o: lib/CMakeFiles/zip.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_68) "Building C object lib/CMakeFiles/zip.dir/zip_source_begin_write.c.o" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT lib/CMakeFiles/zip.dir/zip_source_begin_write.c.o -MF CMakeFiles/zip.dir/zip_source_begin_write.c.o.d -o CMakeFiles/zip.dir/zip_source_begin_write.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_begin_write.c" - -lib/CMakeFiles/zip.dir/zip_source_begin_write.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/zip.dir/zip_source_begin_write.c.i" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_begin_write.c" > CMakeFiles/zip.dir/zip_source_begin_write.c.i - -lib/CMakeFiles/zip.dir/zip_source_begin_write.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/zip.dir/zip_source_begin_write.c.s" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_begin_write.c" -o CMakeFiles/zip.dir/zip_source_begin_write.c.s - -lib/CMakeFiles/zip.dir/zip_source_begin_write_cloning.c.o: lib/CMakeFiles/zip.dir/flags.make -lib/CMakeFiles/zip.dir/zip_source_begin_write_cloning.c.o: lib/CMakeFiles/zip.dir/includes_C.rsp -lib/CMakeFiles/zip.dir/zip_source_begin_write_cloning.c.o: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_begin_write_cloning.c -lib/CMakeFiles/zip.dir/zip_source_begin_write_cloning.c.o: lib/CMakeFiles/zip.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_69) "Building C object lib/CMakeFiles/zip.dir/zip_source_begin_write_cloning.c.o" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT lib/CMakeFiles/zip.dir/zip_source_begin_write_cloning.c.o -MF CMakeFiles/zip.dir/zip_source_begin_write_cloning.c.o.d -o CMakeFiles/zip.dir/zip_source_begin_write_cloning.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_begin_write_cloning.c" - -lib/CMakeFiles/zip.dir/zip_source_begin_write_cloning.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/zip.dir/zip_source_begin_write_cloning.c.i" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_begin_write_cloning.c" > CMakeFiles/zip.dir/zip_source_begin_write_cloning.c.i - -lib/CMakeFiles/zip.dir/zip_source_begin_write_cloning.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/zip.dir/zip_source_begin_write_cloning.c.s" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_begin_write_cloning.c" -o CMakeFiles/zip.dir/zip_source_begin_write_cloning.c.s - -lib/CMakeFiles/zip.dir/zip_source_buffer.c.o: lib/CMakeFiles/zip.dir/flags.make -lib/CMakeFiles/zip.dir/zip_source_buffer.c.o: lib/CMakeFiles/zip.dir/includes_C.rsp -lib/CMakeFiles/zip.dir/zip_source_buffer.c.o: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_buffer.c -lib/CMakeFiles/zip.dir/zip_source_buffer.c.o: lib/CMakeFiles/zip.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_70) "Building C object lib/CMakeFiles/zip.dir/zip_source_buffer.c.o" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT lib/CMakeFiles/zip.dir/zip_source_buffer.c.o -MF CMakeFiles/zip.dir/zip_source_buffer.c.o.d -o CMakeFiles/zip.dir/zip_source_buffer.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_buffer.c" - -lib/CMakeFiles/zip.dir/zip_source_buffer.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/zip.dir/zip_source_buffer.c.i" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_buffer.c" > CMakeFiles/zip.dir/zip_source_buffer.c.i - -lib/CMakeFiles/zip.dir/zip_source_buffer.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/zip.dir/zip_source_buffer.c.s" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_buffer.c" -o CMakeFiles/zip.dir/zip_source_buffer.c.s - -lib/CMakeFiles/zip.dir/zip_source_call.c.o: lib/CMakeFiles/zip.dir/flags.make -lib/CMakeFiles/zip.dir/zip_source_call.c.o: lib/CMakeFiles/zip.dir/includes_C.rsp -lib/CMakeFiles/zip.dir/zip_source_call.c.o: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_call.c -lib/CMakeFiles/zip.dir/zip_source_call.c.o: lib/CMakeFiles/zip.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_71) "Building C object lib/CMakeFiles/zip.dir/zip_source_call.c.o" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT lib/CMakeFiles/zip.dir/zip_source_call.c.o -MF CMakeFiles/zip.dir/zip_source_call.c.o.d -o CMakeFiles/zip.dir/zip_source_call.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_call.c" - -lib/CMakeFiles/zip.dir/zip_source_call.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/zip.dir/zip_source_call.c.i" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_call.c" > CMakeFiles/zip.dir/zip_source_call.c.i - -lib/CMakeFiles/zip.dir/zip_source_call.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/zip.dir/zip_source_call.c.s" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_call.c" -o CMakeFiles/zip.dir/zip_source_call.c.s - -lib/CMakeFiles/zip.dir/zip_source_close.c.o: lib/CMakeFiles/zip.dir/flags.make -lib/CMakeFiles/zip.dir/zip_source_close.c.o: lib/CMakeFiles/zip.dir/includes_C.rsp -lib/CMakeFiles/zip.dir/zip_source_close.c.o: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_close.c -lib/CMakeFiles/zip.dir/zip_source_close.c.o: lib/CMakeFiles/zip.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_72) "Building C object lib/CMakeFiles/zip.dir/zip_source_close.c.o" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT lib/CMakeFiles/zip.dir/zip_source_close.c.o -MF CMakeFiles/zip.dir/zip_source_close.c.o.d -o CMakeFiles/zip.dir/zip_source_close.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_close.c" - -lib/CMakeFiles/zip.dir/zip_source_close.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/zip.dir/zip_source_close.c.i" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_close.c" > CMakeFiles/zip.dir/zip_source_close.c.i - -lib/CMakeFiles/zip.dir/zip_source_close.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/zip.dir/zip_source_close.c.s" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_close.c" -o CMakeFiles/zip.dir/zip_source_close.c.s - -lib/CMakeFiles/zip.dir/zip_source_commit_write.c.o: lib/CMakeFiles/zip.dir/flags.make -lib/CMakeFiles/zip.dir/zip_source_commit_write.c.o: lib/CMakeFiles/zip.dir/includes_C.rsp -lib/CMakeFiles/zip.dir/zip_source_commit_write.c.o: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_commit_write.c -lib/CMakeFiles/zip.dir/zip_source_commit_write.c.o: lib/CMakeFiles/zip.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_73) "Building C object lib/CMakeFiles/zip.dir/zip_source_commit_write.c.o" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT lib/CMakeFiles/zip.dir/zip_source_commit_write.c.o -MF CMakeFiles/zip.dir/zip_source_commit_write.c.o.d -o CMakeFiles/zip.dir/zip_source_commit_write.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_commit_write.c" - -lib/CMakeFiles/zip.dir/zip_source_commit_write.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/zip.dir/zip_source_commit_write.c.i" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_commit_write.c" > CMakeFiles/zip.dir/zip_source_commit_write.c.i - -lib/CMakeFiles/zip.dir/zip_source_commit_write.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/zip.dir/zip_source_commit_write.c.s" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_commit_write.c" -o CMakeFiles/zip.dir/zip_source_commit_write.c.s - -lib/CMakeFiles/zip.dir/zip_source_compress.c.o: lib/CMakeFiles/zip.dir/flags.make -lib/CMakeFiles/zip.dir/zip_source_compress.c.o: lib/CMakeFiles/zip.dir/includes_C.rsp -lib/CMakeFiles/zip.dir/zip_source_compress.c.o: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_compress.c -lib/CMakeFiles/zip.dir/zip_source_compress.c.o: lib/CMakeFiles/zip.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_74) "Building C object lib/CMakeFiles/zip.dir/zip_source_compress.c.o" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT lib/CMakeFiles/zip.dir/zip_source_compress.c.o -MF CMakeFiles/zip.dir/zip_source_compress.c.o.d -o CMakeFiles/zip.dir/zip_source_compress.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_compress.c" - -lib/CMakeFiles/zip.dir/zip_source_compress.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/zip.dir/zip_source_compress.c.i" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_compress.c" > CMakeFiles/zip.dir/zip_source_compress.c.i - -lib/CMakeFiles/zip.dir/zip_source_compress.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/zip.dir/zip_source_compress.c.s" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_compress.c" -o CMakeFiles/zip.dir/zip_source_compress.c.s - -lib/CMakeFiles/zip.dir/zip_source_crc.c.o: lib/CMakeFiles/zip.dir/flags.make -lib/CMakeFiles/zip.dir/zip_source_crc.c.o: lib/CMakeFiles/zip.dir/includes_C.rsp -lib/CMakeFiles/zip.dir/zip_source_crc.c.o: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_crc.c -lib/CMakeFiles/zip.dir/zip_source_crc.c.o: lib/CMakeFiles/zip.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_75) "Building C object lib/CMakeFiles/zip.dir/zip_source_crc.c.o" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT lib/CMakeFiles/zip.dir/zip_source_crc.c.o -MF CMakeFiles/zip.dir/zip_source_crc.c.o.d -o CMakeFiles/zip.dir/zip_source_crc.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_crc.c" - -lib/CMakeFiles/zip.dir/zip_source_crc.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/zip.dir/zip_source_crc.c.i" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_crc.c" > CMakeFiles/zip.dir/zip_source_crc.c.i - -lib/CMakeFiles/zip.dir/zip_source_crc.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/zip.dir/zip_source_crc.c.s" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_crc.c" -o CMakeFiles/zip.dir/zip_source_crc.c.s - -lib/CMakeFiles/zip.dir/zip_source_error.c.o: lib/CMakeFiles/zip.dir/flags.make -lib/CMakeFiles/zip.dir/zip_source_error.c.o: lib/CMakeFiles/zip.dir/includes_C.rsp -lib/CMakeFiles/zip.dir/zip_source_error.c.o: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_error.c -lib/CMakeFiles/zip.dir/zip_source_error.c.o: lib/CMakeFiles/zip.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_76) "Building C object lib/CMakeFiles/zip.dir/zip_source_error.c.o" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT lib/CMakeFiles/zip.dir/zip_source_error.c.o -MF CMakeFiles/zip.dir/zip_source_error.c.o.d -o CMakeFiles/zip.dir/zip_source_error.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_error.c" - -lib/CMakeFiles/zip.dir/zip_source_error.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/zip.dir/zip_source_error.c.i" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_error.c" > CMakeFiles/zip.dir/zip_source_error.c.i - -lib/CMakeFiles/zip.dir/zip_source_error.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/zip.dir/zip_source_error.c.s" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_error.c" -o CMakeFiles/zip.dir/zip_source_error.c.s - -lib/CMakeFiles/zip.dir/zip_source_file_common.c.o: lib/CMakeFiles/zip.dir/flags.make -lib/CMakeFiles/zip.dir/zip_source_file_common.c.o: lib/CMakeFiles/zip.dir/includes_C.rsp -lib/CMakeFiles/zip.dir/zip_source_file_common.c.o: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_file_common.c -lib/CMakeFiles/zip.dir/zip_source_file_common.c.o: lib/CMakeFiles/zip.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_77) "Building C object lib/CMakeFiles/zip.dir/zip_source_file_common.c.o" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT lib/CMakeFiles/zip.dir/zip_source_file_common.c.o -MF CMakeFiles/zip.dir/zip_source_file_common.c.o.d -o CMakeFiles/zip.dir/zip_source_file_common.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_file_common.c" - -lib/CMakeFiles/zip.dir/zip_source_file_common.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/zip.dir/zip_source_file_common.c.i" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_file_common.c" > CMakeFiles/zip.dir/zip_source_file_common.c.i - -lib/CMakeFiles/zip.dir/zip_source_file_common.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/zip.dir/zip_source_file_common.c.s" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_file_common.c" -o CMakeFiles/zip.dir/zip_source_file_common.c.s - -lib/CMakeFiles/zip.dir/zip_source_file_stdio.c.o: lib/CMakeFiles/zip.dir/flags.make -lib/CMakeFiles/zip.dir/zip_source_file_stdio.c.o: lib/CMakeFiles/zip.dir/includes_C.rsp -lib/CMakeFiles/zip.dir/zip_source_file_stdio.c.o: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_file_stdio.c -lib/CMakeFiles/zip.dir/zip_source_file_stdio.c.o: lib/CMakeFiles/zip.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_78) "Building C object lib/CMakeFiles/zip.dir/zip_source_file_stdio.c.o" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT lib/CMakeFiles/zip.dir/zip_source_file_stdio.c.o -MF CMakeFiles/zip.dir/zip_source_file_stdio.c.o.d -o CMakeFiles/zip.dir/zip_source_file_stdio.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_file_stdio.c" - -lib/CMakeFiles/zip.dir/zip_source_file_stdio.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/zip.dir/zip_source_file_stdio.c.i" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_file_stdio.c" > CMakeFiles/zip.dir/zip_source_file_stdio.c.i - -lib/CMakeFiles/zip.dir/zip_source_file_stdio.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/zip.dir/zip_source_file_stdio.c.s" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_file_stdio.c" -o CMakeFiles/zip.dir/zip_source_file_stdio.c.s - -lib/CMakeFiles/zip.dir/zip_source_free.c.o: lib/CMakeFiles/zip.dir/flags.make -lib/CMakeFiles/zip.dir/zip_source_free.c.o: lib/CMakeFiles/zip.dir/includes_C.rsp -lib/CMakeFiles/zip.dir/zip_source_free.c.o: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_free.c -lib/CMakeFiles/zip.dir/zip_source_free.c.o: lib/CMakeFiles/zip.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_79) "Building C object lib/CMakeFiles/zip.dir/zip_source_free.c.o" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT lib/CMakeFiles/zip.dir/zip_source_free.c.o -MF CMakeFiles/zip.dir/zip_source_free.c.o.d -o CMakeFiles/zip.dir/zip_source_free.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_free.c" - -lib/CMakeFiles/zip.dir/zip_source_free.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/zip.dir/zip_source_free.c.i" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_free.c" > CMakeFiles/zip.dir/zip_source_free.c.i - -lib/CMakeFiles/zip.dir/zip_source_free.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/zip.dir/zip_source_free.c.s" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_free.c" -o CMakeFiles/zip.dir/zip_source_free.c.s - -lib/CMakeFiles/zip.dir/zip_source_function.c.o: lib/CMakeFiles/zip.dir/flags.make -lib/CMakeFiles/zip.dir/zip_source_function.c.o: lib/CMakeFiles/zip.dir/includes_C.rsp -lib/CMakeFiles/zip.dir/zip_source_function.c.o: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_function.c -lib/CMakeFiles/zip.dir/zip_source_function.c.o: lib/CMakeFiles/zip.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_80) "Building C object lib/CMakeFiles/zip.dir/zip_source_function.c.o" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT lib/CMakeFiles/zip.dir/zip_source_function.c.o -MF CMakeFiles/zip.dir/zip_source_function.c.o.d -o CMakeFiles/zip.dir/zip_source_function.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_function.c" - -lib/CMakeFiles/zip.dir/zip_source_function.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/zip.dir/zip_source_function.c.i" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_function.c" > CMakeFiles/zip.dir/zip_source_function.c.i - -lib/CMakeFiles/zip.dir/zip_source_function.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/zip.dir/zip_source_function.c.s" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_function.c" -o CMakeFiles/zip.dir/zip_source_function.c.s - -lib/CMakeFiles/zip.dir/zip_source_get_dostime.c.o: lib/CMakeFiles/zip.dir/flags.make -lib/CMakeFiles/zip.dir/zip_source_get_dostime.c.o: lib/CMakeFiles/zip.dir/includes_C.rsp -lib/CMakeFiles/zip.dir/zip_source_get_dostime.c.o: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_get_dostime.c -lib/CMakeFiles/zip.dir/zip_source_get_dostime.c.o: lib/CMakeFiles/zip.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_81) "Building C object lib/CMakeFiles/zip.dir/zip_source_get_dostime.c.o" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT lib/CMakeFiles/zip.dir/zip_source_get_dostime.c.o -MF CMakeFiles/zip.dir/zip_source_get_dostime.c.o.d -o CMakeFiles/zip.dir/zip_source_get_dostime.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_get_dostime.c" - -lib/CMakeFiles/zip.dir/zip_source_get_dostime.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/zip.dir/zip_source_get_dostime.c.i" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_get_dostime.c" > CMakeFiles/zip.dir/zip_source_get_dostime.c.i - -lib/CMakeFiles/zip.dir/zip_source_get_dostime.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/zip.dir/zip_source_get_dostime.c.s" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_get_dostime.c" -o CMakeFiles/zip.dir/zip_source_get_dostime.c.s - -lib/CMakeFiles/zip.dir/zip_source_get_file_attributes.c.o: lib/CMakeFiles/zip.dir/flags.make -lib/CMakeFiles/zip.dir/zip_source_get_file_attributes.c.o: lib/CMakeFiles/zip.dir/includes_C.rsp -lib/CMakeFiles/zip.dir/zip_source_get_file_attributes.c.o: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_get_file_attributes.c -lib/CMakeFiles/zip.dir/zip_source_get_file_attributes.c.o: lib/CMakeFiles/zip.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_82) "Building C object lib/CMakeFiles/zip.dir/zip_source_get_file_attributes.c.o" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT lib/CMakeFiles/zip.dir/zip_source_get_file_attributes.c.o -MF CMakeFiles/zip.dir/zip_source_get_file_attributes.c.o.d -o CMakeFiles/zip.dir/zip_source_get_file_attributes.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_get_file_attributes.c" - -lib/CMakeFiles/zip.dir/zip_source_get_file_attributes.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/zip.dir/zip_source_get_file_attributes.c.i" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_get_file_attributes.c" > CMakeFiles/zip.dir/zip_source_get_file_attributes.c.i - -lib/CMakeFiles/zip.dir/zip_source_get_file_attributes.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/zip.dir/zip_source_get_file_attributes.c.s" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_get_file_attributes.c" -o CMakeFiles/zip.dir/zip_source_get_file_attributes.c.s - -lib/CMakeFiles/zip.dir/zip_source_is_deleted.c.o: lib/CMakeFiles/zip.dir/flags.make -lib/CMakeFiles/zip.dir/zip_source_is_deleted.c.o: lib/CMakeFiles/zip.dir/includes_C.rsp -lib/CMakeFiles/zip.dir/zip_source_is_deleted.c.o: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_is_deleted.c -lib/CMakeFiles/zip.dir/zip_source_is_deleted.c.o: lib/CMakeFiles/zip.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_83) "Building C object lib/CMakeFiles/zip.dir/zip_source_is_deleted.c.o" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT lib/CMakeFiles/zip.dir/zip_source_is_deleted.c.o -MF CMakeFiles/zip.dir/zip_source_is_deleted.c.o.d -o CMakeFiles/zip.dir/zip_source_is_deleted.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_is_deleted.c" - -lib/CMakeFiles/zip.dir/zip_source_is_deleted.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/zip.dir/zip_source_is_deleted.c.i" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_is_deleted.c" > CMakeFiles/zip.dir/zip_source_is_deleted.c.i - -lib/CMakeFiles/zip.dir/zip_source_is_deleted.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/zip.dir/zip_source_is_deleted.c.s" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_is_deleted.c" -o CMakeFiles/zip.dir/zip_source_is_deleted.c.s - -lib/CMakeFiles/zip.dir/zip_source_layered.c.o: lib/CMakeFiles/zip.dir/flags.make -lib/CMakeFiles/zip.dir/zip_source_layered.c.o: lib/CMakeFiles/zip.dir/includes_C.rsp -lib/CMakeFiles/zip.dir/zip_source_layered.c.o: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_layered.c -lib/CMakeFiles/zip.dir/zip_source_layered.c.o: lib/CMakeFiles/zip.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_84) "Building C object lib/CMakeFiles/zip.dir/zip_source_layered.c.o" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT lib/CMakeFiles/zip.dir/zip_source_layered.c.o -MF CMakeFiles/zip.dir/zip_source_layered.c.o.d -o CMakeFiles/zip.dir/zip_source_layered.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_layered.c" - -lib/CMakeFiles/zip.dir/zip_source_layered.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/zip.dir/zip_source_layered.c.i" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_layered.c" > CMakeFiles/zip.dir/zip_source_layered.c.i - -lib/CMakeFiles/zip.dir/zip_source_layered.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/zip.dir/zip_source_layered.c.s" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_layered.c" -o CMakeFiles/zip.dir/zip_source_layered.c.s - -lib/CMakeFiles/zip.dir/zip_source_open.c.o: lib/CMakeFiles/zip.dir/flags.make -lib/CMakeFiles/zip.dir/zip_source_open.c.o: lib/CMakeFiles/zip.dir/includes_C.rsp -lib/CMakeFiles/zip.dir/zip_source_open.c.o: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_open.c -lib/CMakeFiles/zip.dir/zip_source_open.c.o: lib/CMakeFiles/zip.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_85) "Building C object lib/CMakeFiles/zip.dir/zip_source_open.c.o" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT lib/CMakeFiles/zip.dir/zip_source_open.c.o -MF CMakeFiles/zip.dir/zip_source_open.c.o.d -o CMakeFiles/zip.dir/zip_source_open.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_open.c" - -lib/CMakeFiles/zip.dir/zip_source_open.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/zip.dir/zip_source_open.c.i" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_open.c" > CMakeFiles/zip.dir/zip_source_open.c.i - -lib/CMakeFiles/zip.dir/zip_source_open.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/zip.dir/zip_source_open.c.s" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_open.c" -o CMakeFiles/zip.dir/zip_source_open.c.s - -lib/CMakeFiles/zip.dir/zip_source_pass_to_lower_layer.c.o: lib/CMakeFiles/zip.dir/flags.make -lib/CMakeFiles/zip.dir/zip_source_pass_to_lower_layer.c.o: lib/CMakeFiles/zip.dir/includes_C.rsp -lib/CMakeFiles/zip.dir/zip_source_pass_to_lower_layer.c.o: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_pass_to_lower_layer.c -lib/CMakeFiles/zip.dir/zip_source_pass_to_lower_layer.c.o: lib/CMakeFiles/zip.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_86) "Building C object lib/CMakeFiles/zip.dir/zip_source_pass_to_lower_layer.c.o" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT lib/CMakeFiles/zip.dir/zip_source_pass_to_lower_layer.c.o -MF CMakeFiles/zip.dir/zip_source_pass_to_lower_layer.c.o.d -o CMakeFiles/zip.dir/zip_source_pass_to_lower_layer.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_pass_to_lower_layer.c" - -lib/CMakeFiles/zip.dir/zip_source_pass_to_lower_layer.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/zip.dir/zip_source_pass_to_lower_layer.c.i" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_pass_to_lower_layer.c" > CMakeFiles/zip.dir/zip_source_pass_to_lower_layer.c.i - -lib/CMakeFiles/zip.dir/zip_source_pass_to_lower_layer.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/zip.dir/zip_source_pass_to_lower_layer.c.s" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_pass_to_lower_layer.c" -o CMakeFiles/zip.dir/zip_source_pass_to_lower_layer.c.s - -lib/CMakeFiles/zip.dir/zip_source_pkware_decode.c.o: lib/CMakeFiles/zip.dir/flags.make -lib/CMakeFiles/zip.dir/zip_source_pkware_decode.c.o: lib/CMakeFiles/zip.dir/includes_C.rsp -lib/CMakeFiles/zip.dir/zip_source_pkware_decode.c.o: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_pkware_decode.c -lib/CMakeFiles/zip.dir/zip_source_pkware_decode.c.o: lib/CMakeFiles/zip.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_87) "Building C object lib/CMakeFiles/zip.dir/zip_source_pkware_decode.c.o" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT lib/CMakeFiles/zip.dir/zip_source_pkware_decode.c.o -MF CMakeFiles/zip.dir/zip_source_pkware_decode.c.o.d -o CMakeFiles/zip.dir/zip_source_pkware_decode.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_pkware_decode.c" - -lib/CMakeFiles/zip.dir/zip_source_pkware_decode.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/zip.dir/zip_source_pkware_decode.c.i" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_pkware_decode.c" > CMakeFiles/zip.dir/zip_source_pkware_decode.c.i - -lib/CMakeFiles/zip.dir/zip_source_pkware_decode.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/zip.dir/zip_source_pkware_decode.c.s" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_pkware_decode.c" -o CMakeFiles/zip.dir/zip_source_pkware_decode.c.s - -lib/CMakeFiles/zip.dir/zip_source_pkware_encode.c.o: lib/CMakeFiles/zip.dir/flags.make -lib/CMakeFiles/zip.dir/zip_source_pkware_encode.c.o: lib/CMakeFiles/zip.dir/includes_C.rsp -lib/CMakeFiles/zip.dir/zip_source_pkware_encode.c.o: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_pkware_encode.c -lib/CMakeFiles/zip.dir/zip_source_pkware_encode.c.o: lib/CMakeFiles/zip.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_88) "Building C object lib/CMakeFiles/zip.dir/zip_source_pkware_encode.c.o" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT lib/CMakeFiles/zip.dir/zip_source_pkware_encode.c.o -MF CMakeFiles/zip.dir/zip_source_pkware_encode.c.o.d -o CMakeFiles/zip.dir/zip_source_pkware_encode.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_pkware_encode.c" - -lib/CMakeFiles/zip.dir/zip_source_pkware_encode.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/zip.dir/zip_source_pkware_encode.c.i" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_pkware_encode.c" > CMakeFiles/zip.dir/zip_source_pkware_encode.c.i - -lib/CMakeFiles/zip.dir/zip_source_pkware_encode.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/zip.dir/zip_source_pkware_encode.c.s" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_pkware_encode.c" -o CMakeFiles/zip.dir/zip_source_pkware_encode.c.s - -lib/CMakeFiles/zip.dir/zip_source_read.c.o: lib/CMakeFiles/zip.dir/flags.make -lib/CMakeFiles/zip.dir/zip_source_read.c.o: lib/CMakeFiles/zip.dir/includes_C.rsp -lib/CMakeFiles/zip.dir/zip_source_read.c.o: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_read.c -lib/CMakeFiles/zip.dir/zip_source_read.c.o: lib/CMakeFiles/zip.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_89) "Building C object lib/CMakeFiles/zip.dir/zip_source_read.c.o" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT lib/CMakeFiles/zip.dir/zip_source_read.c.o -MF CMakeFiles/zip.dir/zip_source_read.c.o.d -o CMakeFiles/zip.dir/zip_source_read.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_read.c" - -lib/CMakeFiles/zip.dir/zip_source_read.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/zip.dir/zip_source_read.c.i" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_read.c" > CMakeFiles/zip.dir/zip_source_read.c.i - -lib/CMakeFiles/zip.dir/zip_source_read.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/zip.dir/zip_source_read.c.s" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_read.c" -o CMakeFiles/zip.dir/zip_source_read.c.s - -lib/CMakeFiles/zip.dir/zip_source_remove.c.o: lib/CMakeFiles/zip.dir/flags.make -lib/CMakeFiles/zip.dir/zip_source_remove.c.o: lib/CMakeFiles/zip.dir/includes_C.rsp -lib/CMakeFiles/zip.dir/zip_source_remove.c.o: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_remove.c -lib/CMakeFiles/zip.dir/zip_source_remove.c.o: lib/CMakeFiles/zip.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_90) "Building C object lib/CMakeFiles/zip.dir/zip_source_remove.c.o" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT lib/CMakeFiles/zip.dir/zip_source_remove.c.o -MF CMakeFiles/zip.dir/zip_source_remove.c.o.d -o CMakeFiles/zip.dir/zip_source_remove.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_remove.c" - -lib/CMakeFiles/zip.dir/zip_source_remove.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/zip.dir/zip_source_remove.c.i" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_remove.c" > CMakeFiles/zip.dir/zip_source_remove.c.i - -lib/CMakeFiles/zip.dir/zip_source_remove.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/zip.dir/zip_source_remove.c.s" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_remove.c" -o CMakeFiles/zip.dir/zip_source_remove.c.s - -lib/CMakeFiles/zip.dir/zip_source_rollback_write.c.o: lib/CMakeFiles/zip.dir/flags.make -lib/CMakeFiles/zip.dir/zip_source_rollback_write.c.o: lib/CMakeFiles/zip.dir/includes_C.rsp -lib/CMakeFiles/zip.dir/zip_source_rollback_write.c.o: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_rollback_write.c -lib/CMakeFiles/zip.dir/zip_source_rollback_write.c.o: lib/CMakeFiles/zip.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_91) "Building C object lib/CMakeFiles/zip.dir/zip_source_rollback_write.c.o" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT lib/CMakeFiles/zip.dir/zip_source_rollback_write.c.o -MF CMakeFiles/zip.dir/zip_source_rollback_write.c.o.d -o CMakeFiles/zip.dir/zip_source_rollback_write.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_rollback_write.c" - -lib/CMakeFiles/zip.dir/zip_source_rollback_write.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/zip.dir/zip_source_rollback_write.c.i" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_rollback_write.c" > CMakeFiles/zip.dir/zip_source_rollback_write.c.i - -lib/CMakeFiles/zip.dir/zip_source_rollback_write.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/zip.dir/zip_source_rollback_write.c.s" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_rollback_write.c" -o CMakeFiles/zip.dir/zip_source_rollback_write.c.s - -lib/CMakeFiles/zip.dir/zip_source_seek.c.o: lib/CMakeFiles/zip.dir/flags.make -lib/CMakeFiles/zip.dir/zip_source_seek.c.o: lib/CMakeFiles/zip.dir/includes_C.rsp -lib/CMakeFiles/zip.dir/zip_source_seek.c.o: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_seek.c -lib/CMakeFiles/zip.dir/zip_source_seek.c.o: lib/CMakeFiles/zip.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_92) "Building C object lib/CMakeFiles/zip.dir/zip_source_seek.c.o" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT lib/CMakeFiles/zip.dir/zip_source_seek.c.o -MF CMakeFiles/zip.dir/zip_source_seek.c.o.d -o CMakeFiles/zip.dir/zip_source_seek.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_seek.c" - -lib/CMakeFiles/zip.dir/zip_source_seek.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/zip.dir/zip_source_seek.c.i" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_seek.c" > CMakeFiles/zip.dir/zip_source_seek.c.i - -lib/CMakeFiles/zip.dir/zip_source_seek.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/zip.dir/zip_source_seek.c.s" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_seek.c" -o CMakeFiles/zip.dir/zip_source_seek.c.s - -lib/CMakeFiles/zip.dir/zip_source_seek_write.c.o: lib/CMakeFiles/zip.dir/flags.make -lib/CMakeFiles/zip.dir/zip_source_seek_write.c.o: lib/CMakeFiles/zip.dir/includes_C.rsp -lib/CMakeFiles/zip.dir/zip_source_seek_write.c.o: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_seek_write.c -lib/CMakeFiles/zip.dir/zip_source_seek_write.c.o: lib/CMakeFiles/zip.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_93) "Building C object lib/CMakeFiles/zip.dir/zip_source_seek_write.c.o" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT lib/CMakeFiles/zip.dir/zip_source_seek_write.c.o -MF CMakeFiles/zip.dir/zip_source_seek_write.c.o.d -o CMakeFiles/zip.dir/zip_source_seek_write.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_seek_write.c" - -lib/CMakeFiles/zip.dir/zip_source_seek_write.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/zip.dir/zip_source_seek_write.c.i" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_seek_write.c" > CMakeFiles/zip.dir/zip_source_seek_write.c.i - -lib/CMakeFiles/zip.dir/zip_source_seek_write.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/zip.dir/zip_source_seek_write.c.s" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_seek_write.c" -o CMakeFiles/zip.dir/zip_source_seek_write.c.s - -lib/CMakeFiles/zip.dir/zip_source_stat.c.o: lib/CMakeFiles/zip.dir/flags.make -lib/CMakeFiles/zip.dir/zip_source_stat.c.o: lib/CMakeFiles/zip.dir/includes_C.rsp -lib/CMakeFiles/zip.dir/zip_source_stat.c.o: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_stat.c -lib/CMakeFiles/zip.dir/zip_source_stat.c.o: lib/CMakeFiles/zip.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_94) "Building C object lib/CMakeFiles/zip.dir/zip_source_stat.c.o" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT lib/CMakeFiles/zip.dir/zip_source_stat.c.o -MF CMakeFiles/zip.dir/zip_source_stat.c.o.d -o CMakeFiles/zip.dir/zip_source_stat.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_stat.c" - -lib/CMakeFiles/zip.dir/zip_source_stat.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/zip.dir/zip_source_stat.c.i" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_stat.c" > CMakeFiles/zip.dir/zip_source_stat.c.i - -lib/CMakeFiles/zip.dir/zip_source_stat.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/zip.dir/zip_source_stat.c.s" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_stat.c" -o CMakeFiles/zip.dir/zip_source_stat.c.s - -lib/CMakeFiles/zip.dir/zip_source_supports.c.o: lib/CMakeFiles/zip.dir/flags.make -lib/CMakeFiles/zip.dir/zip_source_supports.c.o: lib/CMakeFiles/zip.dir/includes_C.rsp -lib/CMakeFiles/zip.dir/zip_source_supports.c.o: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_supports.c -lib/CMakeFiles/zip.dir/zip_source_supports.c.o: lib/CMakeFiles/zip.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_95) "Building C object lib/CMakeFiles/zip.dir/zip_source_supports.c.o" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT lib/CMakeFiles/zip.dir/zip_source_supports.c.o -MF CMakeFiles/zip.dir/zip_source_supports.c.o.d -o CMakeFiles/zip.dir/zip_source_supports.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_supports.c" - -lib/CMakeFiles/zip.dir/zip_source_supports.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/zip.dir/zip_source_supports.c.i" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_supports.c" > CMakeFiles/zip.dir/zip_source_supports.c.i - -lib/CMakeFiles/zip.dir/zip_source_supports.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/zip.dir/zip_source_supports.c.s" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_supports.c" -o CMakeFiles/zip.dir/zip_source_supports.c.s - -lib/CMakeFiles/zip.dir/zip_source_tell.c.o: lib/CMakeFiles/zip.dir/flags.make -lib/CMakeFiles/zip.dir/zip_source_tell.c.o: lib/CMakeFiles/zip.dir/includes_C.rsp -lib/CMakeFiles/zip.dir/zip_source_tell.c.o: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_tell.c -lib/CMakeFiles/zip.dir/zip_source_tell.c.o: lib/CMakeFiles/zip.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_96) "Building C object lib/CMakeFiles/zip.dir/zip_source_tell.c.o" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT lib/CMakeFiles/zip.dir/zip_source_tell.c.o -MF CMakeFiles/zip.dir/zip_source_tell.c.o.d -o CMakeFiles/zip.dir/zip_source_tell.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_tell.c" - -lib/CMakeFiles/zip.dir/zip_source_tell.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/zip.dir/zip_source_tell.c.i" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_tell.c" > CMakeFiles/zip.dir/zip_source_tell.c.i - -lib/CMakeFiles/zip.dir/zip_source_tell.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/zip.dir/zip_source_tell.c.s" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_tell.c" -o CMakeFiles/zip.dir/zip_source_tell.c.s - -lib/CMakeFiles/zip.dir/zip_source_tell_write.c.o: lib/CMakeFiles/zip.dir/flags.make -lib/CMakeFiles/zip.dir/zip_source_tell_write.c.o: lib/CMakeFiles/zip.dir/includes_C.rsp -lib/CMakeFiles/zip.dir/zip_source_tell_write.c.o: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_tell_write.c -lib/CMakeFiles/zip.dir/zip_source_tell_write.c.o: lib/CMakeFiles/zip.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_97) "Building C object lib/CMakeFiles/zip.dir/zip_source_tell_write.c.o" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT lib/CMakeFiles/zip.dir/zip_source_tell_write.c.o -MF CMakeFiles/zip.dir/zip_source_tell_write.c.o.d -o CMakeFiles/zip.dir/zip_source_tell_write.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_tell_write.c" - -lib/CMakeFiles/zip.dir/zip_source_tell_write.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/zip.dir/zip_source_tell_write.c.i" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_tell_write.c" > CMakeFiles/zip.dir/zip_source_tell_write.c.i - -lib/CMakeFiles/zip.dir/zip_source_tell_write.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/zip.dir/zip_source_tell_write.c.s" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_tell_write.c" -o CMakeFiles/zip.dir/zip_source_tell_write.c.s - -lib/CMakeFiles/zip.dir/zip_source_window.c.o: lib/CMakeFiles/zip.dir/flags.make -lib/CMakeFiles/zip.dir/zip_source_window.c.o: lib/CMakeFiles/zip.dir/includes_C.rsp -lib/CMakeFiles/zip.dir/zip_source_window.c.o: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_window.c -lib/CMakeFiles/zip.dir/zip_source_window.c.o: lib/CMakeFiles/zip.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_98) "Building C object lib/CMakeFiles/zip.dir/zip_source_window.c.o" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT lib/CMakeFiles/zip.dir/zip_source_window.c.o -MF CMakeFiles/zip.dir/zip_source_window.c.o.d -o CMakeFiles/zip.dir/zip_source_window.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_window.c" - -lib/CMakeFiles/zip.dir/zip_source_window.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/zip.dir/zip_source_window.c.i" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_window.c" > CMakeFiles/zip.dir/zip_source_window.c.i - -lib/CMakeFiles/zip.dir/zip_source_window.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/zip.dir/zip_source_window.c.s" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_window.c" -o CMakeFiles/zip.dir/zip_source_window.c.s - -lib/CMakeFiles/zip.dir/zip_source_write.c.o: lib/CMakeFiles/zip.dir/flags.make -lib/CMakeFiles/zip.dir/zip_source_write.c.o: lib/CMakeFiles/zip.dir/includes_C.rsp -lib/CMakeFiles/zip.dir/zip_source_write.c.o: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_write.c -lib/CMakeFiles/zip.dir/zip_source_write.c.o: lib/CMakeFiles/zip.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_99) "Building C object lib/CMakeFiles/zip.dir/zip_source_write.c.o" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT lib/CMakeFiles/zip.dir/zip_source_write.c.o -MF CMakeFiles/zip.dir/zip_source_write.c.o.d -o CMakeFiles/zip.dir/zip_source_write.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_write.c" - -lib/CMakeFiles/zip.dir/zip_source_write.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/zip.dir/zip_source_write.c.i" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_write.c" > CMakeFiles/zip.dir/zip_source_write.c.i - -lib/CMakeFiles/zip.dir/zip_source_write.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/zip.dir/zip_source_write.c.s" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_write.c" -o CMakeFiles/zip.dir/zip_source_write.c.s - -lib/CMakeFiles/zip.dir/zip_source_zip.c.o: lib/CMakeFiles/zip.dir/flags.make -lib/CMakeFiles/zip.dir/zip_source_zip.c.o: lib/CMakeFiles/zip.dir/includes_C.rsp -lib/CMakeFiles/zip.dir/zip_source_zip.c.o: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_zip.c -lib/CMakeFiles/zip.dir/zip_source_zip.c.o: lib/CMakeFiles/zip.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_100) "Building C object lib/CMakeFiles/zip.dir/zip_source_zip.c.o" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT lib/CMakeFiles/zip.dir/zip_source_zip.c.o -MF CMakeFiles/zip.dir/zip_source_zip.c.o.d -o CMakeFiles/zip.dir/zip_source_zip.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_zip.c" - -lib/CMakeFiles/zip.dir/zip_source_zip.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/zip.dir/zip_source_zip.c.i" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_zip.c" > CMakeFiles/zip.dir/zip_source_zip.c.i - -lib/CMakeFiles/zip.dir/zip_source_zip.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/zip.dir/zip_source_zip.c.s" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_zip.c" -o CMakeFiles/zip.dir/zip_source_zip.c.s - -lib/CMakeFiles/zip.dir/zip_source_zip_new.c.o: lib/CMakeFiles/zip.dir/flags.make -lib/CMakeFiles/zip.dir/zip_source_zip_new.c.o: lib/CMakeFiles/zip.dir/includes_C.rsp -lib/CMakeFiles/zip.dir/zip_source_zip_new.c.o: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_zip_new.c -lib/CMakeFiles/zip.dir/zip_source_zip_new.c.o: lib/CMakeFiles/zip.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_101) "Building C object lib/CMakeFiles/zip.dir/zip_source_zip_new.c.o" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT lib/CMakeFiles/zip.dir/zip_source_zip_new.c.o -MF CMakeFiles/zip.dir/zip_source_zip_new.c.o.d -o CMakeFiles/zip.dir/zip_source_zip_new.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_zip_new.c" - -lib/CMakeFiles/zip.dir/zip_source_zip_new.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/zip.dir/zip_source_zip_new.c.i" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_zip_new.c" > CMakeFiles/zip.dir/zip_source_zip_new.c.i - -lib/CMakeFiles/zip.dir/zip_source_zip_new.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/zip.dir/zip_source_zip_new.c.s" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_zip_new.c" -o CMakeFiles/zip.dir/zip_source_zip_new.c.s - -lib/CMakeFiles/zip.dir/zip_stat.c.o: lib/CMakeFiles/zip.dir/flags.make -lib/CMakeFiles/zip.dir/zip_stat.c.o: lib/CMakeFiles/zip.dir/includes_C.rsp -lib/CMakeFiles/zip.dir/zip_stat.c.o: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_stat.c -lib/CMakeFiles/zip.dir/zip_stat.c.o: lib/CMakeFiles/zip.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_102) "Building C object lib/CMakeFiles/zip.dir/zip_stat.c.o" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT lib/CMakeFiles/zip.dir/zip_stat.c.o -MF CMakeFiles/zip.dir/zip_stat.c.o.d -o CMakeFiles/zip.dir/zip_stat.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_stat.c" - -lib/CMakeFiles/zip.dir/zip_stat.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/zip.dir/zip_stat.c.i" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_stat.c" > CMakeFiles/zip.dir/zip_stat.c.i - -lib/CMakeFiles/zip.dir/zip_stat.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/zip.dir/zip_stat.c.s" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_stat.c" -o CMakeFiles/zip.dir/zip_stat.c.s - -lib/CMakeFiles/zip.dir/zip_stat_index.c.o: lib/CMakeFiles/zip.dir/flags.make -lib/CMakeFiles/zip.dir/zip_stat_index.c.o: lib/CMakeFiles/zip.dir/includes_C.rsp -lib/CMakeFiles/zip.dir/zip_stat_index.c.o: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_stat_index.c -lib/CMakeFiles/zip.dir/zip_stat_index.c.o: lib/CMakeFiles/zip.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_103) "Building C object lib/CMakeFiles/zip.dir/zip_stat_index.c.o" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT lib/CMakeFiles/zip.dir/zip_stat_index.c.o -MF CMakeFiles/zip.dir/zip_stat_index.c.o.d -o CMakeFiles/zip.dir/zip_stat_index.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_stat_index.c" - -lib/CMakeFiles/zip.dir/zip_stat_index.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/zip.dir/zip_stat_index.c.i" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_stat_index.c" > CMakeFiles/zip.dir/zip_stat_index.c.i - -lib/CMakeFiles/zip.dir/zip_stat_index.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/zip.dir/zip_stat_index.c.s" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_stat_index.c" -o CMakeFiles/zip.dir/zip_stat_index.c.s - -lib/CMakeFiles/zip.dir/zip_stat_init.c.o: lib/CMakeFiles/zip.dir/flags.make -lib/CMakeFiles/zip.dir/zip_stat_init.c.o: lib/CMakeFiles/zip.dir/includes_C.rsp -lib/CMakeFiles/zip.dir/zip_stat_init.c.o: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_stat_init.c -lib/CMakeFiles/zip.dir/zip_stat_init.c.o: lib/CMakeFiles/zip.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_104) "Building C object lib/CMakeFiles/zip.dir/zip_stat_init.c.o" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT lib/CMakeFiles/zip.dir/zip_stat_init.c.o -MF CMakeFiles/zip.dir/zip_stat_init.c.o.d -o CMakeFiles/zip.dir/zip_stat_init.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_stat_init.c" - -lib/CMakeFiles/zip.dir/zip_stat_init.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/zip.dir/zip_stat_init.c.i" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_stat_init.c" > CMakeFiles/zip.dir/zip_stat_init.c.i - -lib/CMakeFiles/zip.dir/zip_stat_init.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/zip.dir/zip_stat_init.c.s" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_stat_init.c" -o CMakeFiles/zip.dir/zip_stat_init.c.s - -lib/CMakeFiles/zip.dir/zip_strerror.c.o: lib/CMakeFiles/zip.dir/flags.make -lib/CMakeFiles/zip.dir/zip_strerror.c.o: lib/CMakeFiles/zip.dir/includes_C.rsp -lib/CMakeFiles/zip.dir/zip_strerror.c.o: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_strerror.c -lib/CMakeFiles/zip.dir/zip_strerror.c.o: lib/CMakeFiles/zip.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_105) "Building C object lib/CMakeFiles/zip.dir/zip_strerror.c.o" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT lib/CMakeFiles/zip.dir/zip_strerror.c.o -MF CMakeFiles/zip.dir/zip_strerror.c.o.d -o CMakeFiles/zip.dir/zip_strerror.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_strerror.c" - -lib/CMakeFiles/zip.dir/zip_strerror.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/zip.dir/zip_strerror.c.i" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_strerror.c" > CMakeFiles/zip.dir/zip_strerror.c.i - -lib/CMakeFiles/zip.dir/zip_strerror.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/zip.dir/zip_strerror.c.s" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_strerror.c" -o CMakeFiles/zip.dir/zip_strerror.c.s - -lib/CMakeFiles/zip.dir/zip_string.c.o: lib/CMakeFiles/zip.dir/flags.make -lib/CMakeFiles/zip.dir/zip_string.c.o: lib/CMakeFiles/zip.dir/includes_C.rsp -lib/CMakeFiles/zip.dir/zip_string.c.o: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_string.c -lib/CMakeFiles/zip.dir/zip_string.c.o: lib/CMakeFiles/zip.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_106) "Building C object lib/CMakeFiles/zip.dir/zip_string.c.o" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT lib/CMakeFiles/zip.dir/zip_string.c.o -MF CMakeFiles/zip.dir/zip_string.c.o.d -o CMakeFiles/zip.dir/zip_string.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_string.c" - -lib/CMakeFiles/zip.dir/zip_string.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/zip.dir/zip_string.c.i" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_string.c" > CMakeFiles/zip.dir/zip_string.c.i - -lib/CMakeFiles/zip.dir/zip_string.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/zip.dir/zip_string.c.s" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_string.c" -o CMakeFiles/zip.dir/zip_string.c.s - -lib/CMakeFiles/zip.dir/zip_unchange.c.o: lib/CMakeFiles/zip.dir/flags.make -lib/CMakeFiles/zip.dir/zip_unchange.c.o: lib/CMakeFiles/zip.dir/includes_C.rsp -lib/CMakeFiles/zip.dir/zip_unchange.c.o: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_unchange.c -lib/CMakeFiles/zip.dir/zip_unchange.c.o: lib/CMakeFiles/zip.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_107) "Building C object lib/CMakeFiles/zip.dir/zip_unchange.c.o" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT lib/CMakeFiles/zip.dir/zip_unchange.c.o -MF CMakeFiles/zip.dir/zip_unchange.c.o.d -o CMakeFiles/zip.dir/zip_unchange.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_unchange.c" - -lib/CMakeFiles/zip.dir/zip_unchange.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/zip.dir/zip_unchange.c.i" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_unchange.c" > CMakeFiles/zip.dir/zip_unchange.c.i - -lib/CMakeFiles/zip.dir/zip_unchange.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/zip.dir/zip_unchange.c.s" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_unchange.c" -o CMakeFiles/zip.dir/zip_unchange.c.s - -lib/CMakeFiles/zip.dir/zip_unchange_all.c.o: lib/CMakeFiles/zip.dir/flags.make -lib/CMakeFiles/zip.dir/zip_unchange_all.c.o: lib/CMakeFiles/zip.dir/includes_C.rsp -lib/CMakeFiles/zip.dir/zip_unchange_all.c.o: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_unchange_all.c -lib/CMakeFiles/zip.dir/zip_unchange_all.c.o: lib/CMakeFiles/zip.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_108) "Building C object lib/CMakeFiles/zip.dir/zip_unchange_all.c.o" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT lib/CMakeFiles/zip.dir/zip_unchange_all.c.o -MF CMakeFiles/zip.dir/zip_unchange_all.c.o.d -o CMakeFiles/zip.dir/zip_unchange_all.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_unchange_all.c" - -lib/CMakeFiles/zip.dir/zip_unchange_all.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/zip.dir/zip_unchange_all.c.i" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_unchange_all.c" > CMakeFiles/zip.dir/zip_unchange_all.c.i - -lib/CMakeFiles/zip.dir/zip_unchange_all.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/zip.dir/zip_unchange_all.c.s" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_unchange_all.c" -o CMakeFiles/zip.dir/zip_unchange_all.c.s - -lib/CMakeFiles/zip.dir/zip_unchange_archive.c.o: lib/CMakeFiles/zip.dir/flags.make -lib/CMakeFiles/zip.dir/zip_unchange_archive.c.o: lib/CMakeFiles/zip.dir/includes_C.rsp -lib/CMakeFiles/zip.dir/zip_unchange_archive.c.o: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_unchange_archive.c -lib/CMakeFiles/zip.dir/zip_unchange_archive.c.o: lib/CMakeFiles/zip.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_109) "Building C object lib/CMakeFiles/zip.dir/zip_unchange_archive.c.o" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT lib/CMakeFiles/zip.dir/zip_unchange_archive.c.o -MF CMakeFiles/zip.dir/zip_unchange_archive.c.o.d -o CMakeFiles/zip.dir/zip_unchange_archive.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_unchange_archive.c" - -lib/CMakeFiles/zip.dir/zip_unchange_archive.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/zip.dir/zip_unchange_archive.c.i" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_unchange_archive.c" > CMakeFiles/zip.dir/zip_unchange_archive.c.i - -lib/CMakeFiles/zip.dir/zip_unchange_archive.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/zip.dir/zip_unchange_archive.c.s" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_unchange_archive.c" -o CMakeFiles/zip.dir/zip_unchange_archive.c.s - -lib/CMakeFiles/zip.dir/zip_unchange_data.c.o: lib/CMakeFiles/zip.dir/flags.make -lib/CMakeFiles/zip.dir/zip_unchange_data.c.o: lib/CMakeFiles/zip.dir/includes_C.rsp -lib/CMakeFiles/zip.dir/zip_unchange_data.c.o: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_unchange_data.c -lib/CMakeFiles/zip.dir/zip_unchange_data.c.o: lib/CMakeFiles/zip.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_110) "Building C object lib/CMakeFiles/zip.dir/zip_unchange_data.c.o" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT lib/CMakeFiles/zip.dir/zip_unchange_data.c.o -MF CMakeFiles/zip.dir/zip_unchange_data.c.o.d -o CMakeFiles/zip.dir/zip_unchange_data.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_unchange_data.c" - -lib/CMakeFiles/zip.dir/zip_unchange_data.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/zip.dir/zip_unchange_data.c.i" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_unchange_data.c" > CMakeFiles/zip.dir/zip_unchange_data.c.i - -lib/CMakeFiles/zip.dir/zip_unchange_data.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/zip.dir/zip_unchange_data.c.s" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_unchange_data.c" -o CMakeFiles/zip.dir/zip_unchange_data.c.s - -lib/CMakeFiles/zip.dir/zip_utf-8.c.o: lib/CMakeFiles/zip.dir/flags.make -lib/CMakeFiles/zip.dir/zip_utf-8.c.o: lib/CMakeFiles/zip.dir/includes_C.rsp -lib/CMakeFiles/zip.dir/zip_utf-8.c.o: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_utf-8.c -lib/CMakeFiles/zip.dir/zip_utf-8.c.o: lib/CMakeFiles/zip.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_111) "Building C object lib/CMakeFiles/zip.dir/zip_utf-8.c.o" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT lib/CMakeFiles/zip.dir/zip_utf-8.c.o -MF CMakeFiles/zip.dir/zip_utf-8.c.o.d -o CMakeFiles/zip.dir/zip_utf-8.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_utf-8.c" - -lib/CMakeFiles/zip.dir/zip_utf-8.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/zip.dir/zip_utf-8.c.i" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_utf-8.c" > CMakeFiles/zip.dir/zip_utf-8.c.i - -lib/CMakeFiles/zip.dir/zip_utf-8.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/zip.dir/zip_utf-8.c.s" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_utf-8.c" -o CMakeFiles/zip.dir/zip_utf-8.c.s - -lib/CMakeFiles/zip.dir/zip_err_str.c.o: lib/CMakeFiles/zip.dir/flags.make -lib/CMakeFiles/zip.dir/zip_err_str.c.o: lib/CMakeFiles/zip.dir/includes_C.rsp -lib/CMakeFiles/zip.dir/zip_err_str.c.o: lib/zip_err_str.c -lib/CMakeFiles/zip.dir/zip_err_str.c.o: lib/CMakeFiles/zip.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_112) "Building C object lib/CMakeFiles/zip.dir/zip_err_str.c.o" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT lib/CMakeFiles/zip.dir/zip_err_str.c.o -MF CMakeFiles/zip.dir/zip_err_str.c.o.d -o CMakeFiles/zip.dir/zip_err_str.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib/zip_err_str.c" - -lib/CMakeFiles/zip.dir/zip_err_str.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/zip.dir/zip_err_str.c.i" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib/zip_err_str.c" > CMakeFiles/zip.dir/zip_err_str.c.i - -lib/CMakeFiles/zip.dir/zip_err_str.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/zip.dir/zip_err_str.c.s" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib/zip_err_str.c" -o CMakeFiles/zip.dir/zip_err_str.c.s - -lib/CMakeFiles/zip.dir/zip_source_file_stdio_named.c.o: lib/CMakeFiles/zip.dir/flags.make -lib/CMakeFiles/zip.dir/zip_source_file_stdio_named.c.o: lib/CMakeFiles/zip.dir/includes_C.rsp -lib/CMakeFiles/zip.dir/zip_source_file_stdio_named.c.o: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_file_stdio_named.c -lib/CMakeFiles/zip.dir/zip_source_file_stdio_named.c.o: lib/CMakeFiles/zip.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_113) "Building C object lib/CMakeFiles/zip.dir/zip_source_file_stdio_named.c.o" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT lib/CMakeFiles/zip.dir/zip_source_file_stdio_named.c.o -MF CMakeFiles/zip.dir/zip_source_file_stdio_named.c.o.d -o CMakeFiles/zip.dir/zip_source_file_stdio_named.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_file_stdio_named.c" - -lib/CMakeFiles/zip.dir/zip_source_file_stdio_named.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/zip.dir/zip_source_file_stdio_named.c.i" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_file_stdio_named.c" > CMakeFiles/zip.dir/zip_source_file_stdio_named.c.i - -lib/CMakeFiles/zip.dir/zip_source_file_stdio_named.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/zip.dir/zip_source_file_stdio_named.c.s" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_file_stdio_named.c" -o CMakeFiles/zip.dir/zip_source_file_stdio_named.c.s - -lib/CMakeFiles/zip.dir/zip_random_unix.c.o: lib/CMakeFiles/zip.dir/flags.make -lib/CMakeFiles/zip.dir/zip_random_unix.c.o: lib/CMakeFiles/zip.dir/includes_C.rsp -lib/CMakeFiles/zip.dir/zip_random_unix.c.o: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_random_unix.c -lib/CMakeFiles/zip.dir/zip_random_unix.c.o: lib/CMakeFiles/zip.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_114) "Building C object lib/CMakeFiles/zip.dir/zip_random_unix.c.o" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT lib/CMakeFiles/zip.dir/zip_random_unix.c.o -MF CMakeFiles/zip.dir/zip_random_unix.c.o.d -o CMakeFiles/zip.dir/zip_random_unix.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_random_unix.c" - -lib/CMakeFiles/zip.dir/zip_random_unix.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/zip.dir/zip_random_unix.c.i" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_random_unix.c" > CMakeFiles/zip.dir/zip_random_unix.c.i - -lib/CMakeFiles/zip.dir/zip_random_unix.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/zip.dir/zip_random_unix.c.s" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip_random_unix.c" -o CMakeFiles/zip.dir/zip_random_unix.c.s - -# Object files for target zip -zip_OBJECTS = \ -"CMakeFiles/zip.dir/zip_add.c.o" \ -"CMakeFiles/zip.dir/zip_add_dir.c.o" \ -"CMakeFiles/zip.dir/zip_add_entry.c.o" \ -"CMakeFiles/zip.dir/zip_algorithm_deflate.c.o" \ -"CMakeFiles/zip.dir/zip_buffer.c.o" \ -"CMakeFiles/zip.dir/zip_close.c.o" \ -"CMakeFiles/zip.dir/zip_delete.c.o" \ -"CMakeFiles/zip.dir/zip_dir_add.c.o" \ -"CMakeFiles/zip.dir/zip_dirent.c.o" \ -"CMakeFiles/zip.dir/zip_discard.c.o" \ -"CMakeFiles/zip.dir/zip_entry.c.o" \ -"CMakeFiles/zip.dir/zip_error.c.o" \ -"CMakeFiles/zip.dir/zip_error_clear.c.o" \ -"CMakeFiles/zip.dir/zip_error_get.c.o" \ -"CMakeFiles/zip.dir/zip_error_get_sys_type.c.o" \ -"CMakeFiles/zip.dir/zip_error_strerror.c.o" \ -"CMakeFiles/zip.dir/zip_error_to_str.c.o" \ -"CMakeFiles/zip.dir/zip_extra_field.c.o" \ -"CMakeFiles/zip.dir/zip_extra_field_api.c.o" \ -"CMakeFiles/zip.dir/zip_fclose.c.o" \ -"CMakeFiles/zip.dir/zip_fdopen.c.o" \ -"CMakeFiles/zip.dir/zip_file_add.c.o" \ -"CMakeFiles/zip.dir/zip_file_error_clear.c.o" \ -"CMakeFiles/zip.dir/zip_file_error_get.c.o" \ -"CMakeFiles/zip.dir/zip_file_get_comment.c.o" \ -"CMakeFiles/zip.dir/zip_file_get_external_attributes.c.o" \ -"CMakeFiles/zip.dir/zip_file_get_offset.c.o" \ -"CMakeFiles/zip.dir/zip_file_rename.c.o" \ -"CMakeFiles/zip.dir/zip_file_replace.c.o" \ -"CMakeFiles/zip.dir/zip_file_set_comment.c.o" \ -"CMakeFiles/zip.dir/zip_file_set_encryption.c.o" \ -"CMakeFiles/zip.dir/zip_file_set_external_attributes.c.o" \ -"CMakeFiles/zip.dir/zip_file_set_mtime.c.o" \ -"CMakeFiles/zip.dir/zip_file_strerror.c.o" \ -"CMakeFiles/zip.dir/zip_fopen.c.o" \ -"CMakeFiles/zip.dir/zip_fopen_encrypted.c.o" \ -"CMakeFiles/zip.dir/zip_fopen_index.c.o" \ -"CMakeFiles/zip.dir/zip_fopen_index_encrypted.c.o" \ -"CMakeFiles/zip.dir/zip_fread.c.o" \ -"CMakeFiles/zip.dir/zip_fseek.c.o" \ -"CMakeFiles/zip.dir/zip_ftell.c.o" \ -"CMakeFiles/zip.dir/zip_get_archive_comment.c.o" \ -"CMakeFiles/zip.dir/zip_get_archive_flag.c.o" \ -"CMakeFiles/zip.dir/zip_get_encryption_implementation.c.o" \ -"CMakeFiles/zip.dir/zip_get_file_comment.c.o" \ -"CMakeFiles/zip.dir/zip_get_name.c.o" \ -"CMakeFiles/zip.dir/zip_get_num_entries.c.o" \ -"CMakeFiles/zip.dir/zip_get_num_files.c.o" \ -"CMakeFiles/zip.dir/zip_hash.c.o" \ -"CMakeFiles/zip.dir/zip_io_util.c.o" \ -"CMakeFiles/zip.dir/zip_libzip_version.c.o" \ -"CMakeFiles/zip.dir/zip_memdup.c.o" \ -"CMakeFiles/zip.dir/zip_name_locate.c.o" \ -"CMakeFiles/zip.dir/zip_new.c.o" \ -"CMakeFiles/zip.dir/zip_open.c.o" \ -"CMakeFiles/zip.dir/zip_pkware.c.o" \ -"CMakeFiles/zip.dir/zip_progress.c.o" \ -"CMakeFiles/zip.dir/zip_rename.c.o" \ -"CMakeFiles/zip.dir/zip_replace.c.o" \ -"CMakeFiles/zip.dir/zip_set_archive_comment.c.o" \ -"CMakeFiles/zip.dir/zip_set_archive_flag.c.o" \ -"CMakeFiles/zip.dir/zip_set_default_password.c.o" \ -"CMakeFiles/zip.dir/zip_set_file_comment.c.o" \ -"CMakeFiles/zip.dir/zip_set_file_compression.c.o" \ -"CMakeFiles/zip.dir/zip_set_name.c.o" \ -"CMakeFiles/zip.dir/zip_source_accept_empty.c.o" \ -"CMakeFiles/zip.dir/zip_source_begin_write.c.o" \ -"CMakeFiles/zip.dir/zip_source_begin_write_cloning.c.o" \ -"CMakeFiles/zip.dir/zip_source_buffer.c.o" \ -"CMakeFiles/zip.dir/zip_source_call.c.o" \ -"CMakeFiles/zip.dir/zip_source_close.c.o" \ -"CMakeFiles/zip.dir/zip_source_commit_write.c.o" \ -"CMakeFiles/zip.dir/zip_source_compress.c.o" \ -"CMakeFiles/zip.dir/zip_source_crc.c.o" \ -"CMakeFiles/zip.dir/zip_source_error.c.o" \ -"CMakeFiles/zip.dir/zip_source_file_common.c.o" \ -"CMakeFiles/zip.dir/zip_source_file_stdio.c.o" \ -"CMakeFiles/zip.dir/zip_source_free.c.o" \ -"CMakeFiles/zip.dir/zip_source_function.c.o" \ -"CMakeFiles/zip.dir/zip_source_get_dostime.c.o" \ -"CMakeFiles/zip.dir/zip_source_get_file_attributes.c.o" \ -"CMakeFiles/zip.dir/zip_source_is_deleted.c.o" \ -"CMakeFiles/zip.dir/zip_source_layered.c.o" \ -"CMakeFiles/zip.dir/zip_source_open.c.o" \ -"CMakeFiles/zip.dir/zip_source_pass_to_lower_layer.c.o" \ -"CMakeFiles/zip.dir/zip_source_pkware_decode.c.o" \ -"CMakeFiles/zip.dir/zip_source_pkware_encode.c.o" \ -"CMakeFiles/zip.dir/zip_source_read.c.o" \ -"CMakeFiles/zip.dir/zip_source_remove.c.o" \ -"CMakeFiles/zip.dir/zip_source_rollback_write.c.o" \ -"CMakeFiles/zip.dir/zip_source_seek.c.o" \ -"CMakeFiles/zip.dir/zip_source_seek_write.c.o" \ -"CMakeFiles/zip.dir/zip_source_stat.c.o" \ -"CMakeFiles/zip.dir/zip_source_supports.c.o" \ -"CMakeFiles/zip.dir/zip_source_tell.c.o" \ -"CMakeFiles/zip.dir/zip_source_tell_write.c.o" \ -"CMakeFiles/zip.dir/zip_source_window.c.o" \ -"CMakeFiles/zip.dir/zip_source_write.c.o" \ -"CMakeFiles/zip.dir/zip_source_zip.c.o" \ -"CMakeFiles/zip.dir/zip_source_zip_new.c.o" \ -"CMakeFiles/zip.dir/zip_stat.c.o" \ -"CMakeFiles/zip.dir/zip_stat_index.c.o" \ -"CMakeFiles/zip.dir/zip_stat_init.c.o" \ -"CMakeFiles/zip.dir/zip_strerror.c.o" \ -"CMakeFiles/zip.dir/zip_string.c.o" \ -"CMakeFiles/zip.dir/zip_unchange.c.o" \ -"CMakeFiles/zip.dir/zip_unchange_all.c.o" \ -"CMakeFiles/zip.dir/zip_unchange_archive.c.o" \ -"CMakeFiles/zip.dir/zip_unchange_data.c.o" \ -"CMakeFiles/zip.dir/zip_utf-8.c.o" \ -"CMakeFiles/zip.dir/zip_err_str.c.o" \ -"CMakeFiles/zip.dir/zip_source_file_stdio_named.c.o" \ -"CMakeFiles/zip.dir/zip_random_unix.c.o" - -# External object files for target zip -zip_EXTERNAL_OBJECTS = - -lib/libzip.a: lib/CMakeFiles/zip.dir/zip_add.c.o -lib/libzip.a: lib/CMakeFiles/zip.dir/zip_add_dir.c.o -lib/libzip.a: lib/CMakeFiles/zip.dir/zip_add_entry.c.o -lib/libzip.a: lib/CMakeFiles/zip.dir/zip_algorithm_deflate.c.o -lib/libzip.a: lib/CMakeFiles/zip.dir/zip_buffer.c.o -lib/libzip.a: lib/CMakeFiles/zip.dir/zip_close.c.o -lib/libzip.a: lib/CMakeFiles/zip.dir/zip_delete.c.o -lib/libzip.a: lib/CMakeFiles/zip.dir/zip_dir_add.c.o -lib/libzip.a: lib/CMakeFiles/zip.dir/zip_dirent.c.o -lib/libzip.a: lib/CMakeFiles/zip.dir/zip_discard.c.o -lib/libzip.a: lib/CMakeFiles/zip.dir/zip_entry.c.o -lib/libzip.a: lib/CMakeFiles/zip.dir/zip_error.c.o -lib/libzip.a: lib/CMakeFiles/zip.dir/zip_error_clear.c.o -lib/libzip.a: lib/CMakeFiles/zip.dir/zip_error_get.c.o -lib/libzip.a: lib/CMakeFiles/zip.dir/zip_error_get_sys_type.c.o -lib/libzip.a: lib/CMakeFiles/zip.dir/zip_error_strerror.c.o -lib/libzip.a: lib/CMakeFiles/zip.dir/zip_error_to_str.c.o -lib/libzip.a: lib/CMakeFiles/zip.dir/zip_extra_field.c.o -lib/libzip.a: lib/CMakeFiles/zip.dir/zip_extra_field_api.c.o -lib/libzip.a: lib/CMakeFiles/zip.dir/zip_fclose.c.o -lib/libzip.a: lib/CMakeFiles/zip.dir/zip_fdopen.c.o -lib/libzip.a: lib/CMakeFiles/zip.dir/zip_file_add.c.o -lib/libzip.a: lib/CMakeFiles/zip.dir/zip_file_error_clear.c.o -lib/libzip.a: lib/CMakeFiles/zip.dir/zip_file_error_get.c.o -lib/libzip.a: lib/CMakeFiles/zip.dir/zip_file_get_comment.c.o -lib/libzip.a: lib/CMakeFiles/zip.dir/zip_file_get_external_attributes.c.o -lib/libzip.a: lib/CMakeFiles/zip.dir/zip_file_get_offset.c.o -lib/libzip.a: lib/CMakeFiles/zip.dir/zip_file_rename.c.o -lib/libzip.a: lib/CMakeFiles/zip.dir/zip_file_replace.c.o -lib/libzip.a: lib/CMakeFiles/zip.dir/zip_file_set_comment.c.o -lib/libzip.a: lib/CMakeFiles/zip.dir/zip_file_set_encryption.c.o -lib/libzip.a: lib/CMakeFiles/zip.dir/zip_file_set_external_attributes.c.o -lib/libzip.a: lib/CMakeFiles/zip.dir/zip_file_set_mtime.c.o -lib/libzip.a: lib/CMakeFiles/zip.dir/zip_file_strerror.c.o -lib/libzip.a: lib/CMakeFiles/zip.dir/zip_fopen.c.o -lib/libzip.a: lib/CMakeFiles/zip.dir/zip_fopen_encrypted.c.o -lib/libzip.a: lib/CMakeFiles/zip.dir/zip_fopen_index.c.o -lib/libzip.a: lib/CMakeFiles/zip.dir/zip_fopen_index_encrypted.c.o -lib/libzip.a: lib/CMakeFiles/zip.dir/zip_fread.c.o -lib/libzip.a: lib/CMakeFiles/zip.dir/zip_fseek.c.o -lib/libzip.a: lib/CMakeFiles/zip.dir/zip_ftell.c.o -lib/libzip.a: lib/CMakeFiles/zip.dir/zip_get_archive_comment.c.o -lib/libzip.a: lib/CMakeFiles/zip.dir/zip_get_archive_flag.c.o -lib/libzip.a: lib/CMakeFiles/zip.dir/zip_get_encryption_implementation.c.o -lib/libzip.a: lib/CMakeFiles/zip.dir/zip_get_file_comment.c.o -lib/libzip.a: lib/CMakeFiles/zip.dir/zip_get_name.c.o -lib/libzip.a: lib/CMakeFiles/zip.dir/zip_get_num_entries.c.o -lib/libzip.a: lib/CMakeFiles/zip.dir/zip_get_num_files.c.o -lib/libzip.a: lib/CMakeFiles/zip.dir/zip_hash.c.o -lib/libzip.a: lib/CMakeFiles/zip.dir/zip_io_util.c.o -lib/libzip.a: lib/CMakeFiles/zip.dir/zip_libzip_version.c.o -lib/libzip.a: lib/CMakeFiles/zip.dir/zip_memdup.c.o -lib/libzip.a: lib/CMakeFiles/zip.dir/zip_name_locate.c.o -lib/libzip.a: lib/CMakeFiles/zip.dir/zip_new.c.o -lib/libzip.a: lib/CMakeFiles/zip.dir/zip_open.c.o -lib/libzip.a: lib/CMakeFiles/zip.dir/zip_pkware.c.o -lib/libzip.a: lib/CMakeFiles/zip.dir/zip_progress.c.o -lib/libzip.a: lib/CMakeFiles/zip.dir/zip_rename.c.o -lib/libzip.a: lib/CMakeFiles/zip.dir/zip_replace.c.o -lib/libzip.a: lib/CMakeFiles/zip.dir/zip_set_archive_comment.c.o -lib/libzip.a: lib/CMakeFiles/zip.dir/zip_set_archive_flag.c.o -lib/libzip.a: lib/CMakeFiles/zip.dir/zip_set_default_password.c.o -lib/libzip.a: lib/CMakeFiles/zip.dir/zip_set_file_comment.c.o -lib/libzip.a: lib/CMakeFiles/zip.dir/zip_set_file_compression.c.o -lib/libzip.a: lib/CMakeFiles/zip.dir/zip_set_name.c.o -lib/libzip.a: lib/CMakeFiles/zip.dir/zip_source_accept_empty.c.o -lib/libzip.a: lib/CMakeFiles/zip.dir/zip_source_begin_write.c.o -lib/libzip.a: lib/CMakeFiles/zip.dir/zip_source_begin_write_cloning.c.o -lib/libzip.a: lib/CMakeFiles/zip.dir/zip_source_buffer.c.o -lib/libzip.a: lib/CMakeFiles/zip.dir/zip_source_call.c.o -lib/libzip.a: lib/CMakeFiles/zip.dir/zip_source_close.c.o -lib/libzip.a: lib/CMakeFiles/zip.dir/zip_source_commit_write.c.o -lib/libzip.a: lib/CMakeFiles/zip.dir/zip_source_compress.c.o -lib/libzip.a: lib/CMakeFiles/zip.dir/zip_source_crc.c.o -lib/libzip.a: lib/CMakeFiles/zip.dir/zip_source_error.c.o -lib/libzip.a: lib/CMakeFiles/zip.dir/zip_source_file_common.c.o -lib/libzip.a: lib/CMakeFiles/zip.dir/zip_source_file_stdio.c.o -lib/libzip.a: lib/CMakeFiles/zip.dir/zip_source_free.c.o -lib/libzip.a: lib/CMakeFiles/zip.dir/zip_source_function.c.o -lib/libzip.a: lib/CMakeFiles/zip.dir/zip_source_get_dostime.c.o -lib/libzip.a: lib/CMakeFiles/zip.dir/zip_source_get_file_attributes.c.o -lib/libzip.a: lib/CMakeFiles/zip.dir/zip_source_is_deleted.c.o -lib/libzip.a: lib/CMakeFiles/zip.dir/zip_source_layered.c.o -lib/libzip.a: lib/CMakeFiles/zip.dir/zip_source_open.c.o -lib/libzip.a: lib/CMakeFiles/zip.dir/zip_source_pass_to_lower_layer.c.o -lib/libzip.a: lib/CMakeFiles/zip.dir/zip_source_pkware_decode.c.o -lib/libzip.a: lib/CMakeFiles/zip.dir/zip_source_pkware_encode.c.o -lib/libzip.a: lib/CMakeFiles/zip.dir/zip_source_read.c.o -lib/libzip.a: lib/CMakeFiles/zip.dir/zip_source_remove.c.o -lib/libzip.a: lib/CMakeFiles/zip.dir/zip_source_rollback_write.c.o -lib/libzip.a: lib/CMakeFiles/zip.dir/zip_source_seek.c.o -lib/libzip.a: lib/CMakeFiles/zip.dir/zip_source_seek_write.c.o -lib/libzip.a: lib/CMakeFiles/zip.dir/zip_source_stat.c.o -lib/libzip.a: lib/CMakeFiles/zip.dir/zip_source_supports.c.o -lib/libzip.a: lib/CMakeFiles/zip.dir/zip_source_tell.c.o -lib/libzip.a: lib/CMakeFiles/zip.dir/zip_source_tell_write.c.o -lib/libzip.a: lib/CMakeFiles/zip.dir/zip_source_window.c.o -lib/libzip.a: lib/CMakeFiles/zip.dir/zip_source_write.c.o -lib/libzip.a: lib/CMakeFiles/zip.dir/zip_source_zip.c.o -lib/libzip.a: lib/CMakeFiles/zip.dir/zip_source_zip_new.c.o -lib/libzip.a: lib/CMakeFiles/zip.dir/zip_stat.c.o -lib/libzip.a: lib/CMakeFiles/zip.dir/zip_stat_index.c.o -lib/libzip.a: lib/CMakeFiles/zip.dir/zip_stat_init.c.o -lib/libzip.a: lib/CMakeFiles/zip.dir/zip_strerror.c.o -lib/libzip.a: lib/CMakeFiles/zip.dir/zip_string.c.o -lib/libzip.a: lib/CMakeFiles/zip.dir/zip_unchange.c.o -lib/libzip.a: lib/CMakeFiles/zip.dir/zip_unchange_all.c.o -lib/libzip.a: lib/CMakeFiles/zip.dir/zip_unchange_archive.c.o -lib/libzip.a: lib/CMakeFiles/zip.dir/zip_unchange_data.c.o -lib/libzip.a: lib/CMakeFiles/zip.dir/zip_utf-8.c.o -lib/libzip.a: lib/CMakeFiles/zip.dir/zip_err_str.c.o -lib/libzip.a: lib/CMakeFiles/zip.dir/zip_source_file_stdio_named.c.o -lib/libzip.a: lib/CMakeFiles/zip.dir/zip_random_unix.c.o -lib/libzip.a: lib/CMakeFiles/zip.dir/build.make -lib/libzip.a: lib/CMakeFiles/zip.dir/link.txt - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_115) "Linking C static library libzip.a" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && $(CMAKE_COMMAND) -P CMakeFiles/zip.dir/cmake_clean_target.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && $(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/zip.dir/link.txt --verbose=$(VERBOSE) - -# Rule to build all files generated by this target. -lib/CMakeFiles/zip.dir/build: lib/libzip.a -.PHONY : lib/CMakeFiles/zip.dir/build - -lib/CMakeFiles/zip.dir/clean: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" && $(CMAKE_COMMAND) -P CMakeFiles/zip.dir/cmake_clean.cmake -.PHONY : lib/CMakeFiles/zip.dir/clean - -lib/CMakeFiles/zip.dir/depend: lib/zip_err_str.c - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3" "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib" "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib" "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/DependInfo.cmake" "--color=$(COLOR)" -.PHONY : lib/CMakeFiles/zip.dir/depend - diff --git a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/cmake_clean.cmake b/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/cmake_clean.cmake deleted file mode 100644 index d2e9f8a..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/cmake_clean.cmake +++ /dev/null @@ -1,236 +0,0 @@ -file(REMOVE_RECURSE - "CMakeFiles/zip.dir/zip_add.c.o" - "CMakeFiles/zip.dir/zip_add.c.o.d" - "CMakeFiles/zip.dir/zip_add_dir.c.o" - "CMakeFiles/zip.dir/zip_add_dir.c.o.d" - "CMakeFiles/zip.dir/zip_add_entry.c.o" - "CMakeFiles/zip.dir/zip_add_entry.c.o.d" - "CMakeFiles/zip.dir/zip_algorithm_deflate.c.o" - "CMakeFiles/zip.dir/zip_algorithm_deflate.c.o.d" - "CMakeFiles/zip.dir/zip_buffer.c.o" - "CMakeFiles/zip.dir/zip_buffer.c.o.d" - "CMakeFiles/zip.dir/zip_close.c.o" - "CMakeFiles/zip.dir/zip_close.c.o.d" - "CMakeFiles/zip.dir/zip_delete.c.o" - "CMakeFiles/zip.dir/zip_delete.c.o.d" - "CMakeFiles/zip.dir/zip_dir_add.c.o" - "CMakeFiles/zip.dir/zip_dir_add.c.o.d" - "CMakeFiles/zip.dir/zip_dirent.c.o" - "CMakeFiles/zip.dir/zip_dirent.c.o.d" - "CMakeFiles/zip.dir/zip_discard.c.o" - "CMakeFiles/zip.dir/zip_discard.c.o.d" - "CMakeFiles/zip.dir/zip_entry.c.o" - "CMakeFiles/zip.dir/zip_entry.c.o.d" - "CMakeFiles/zip.dir/zip_err_str.c.o" - "CMakeFiles/zip.dir/zip_err_str.c.o.d" - "CMakeFiles/zip.dir/zip_error.c.o" - "CMakeFiles/zip.dir/zip_error.c.o.d" - "CMakeFiles/zip.dir/zip_error_clear.c.o" - "CMakeFiles/zip.dir/zip_error_clear.c.o.d" - "CMakeFiles/zip.dir/zip_error_get.c.o" - "CMakeFiles/zip.dir/zip_error_get.c.o.d" - "CMakeFiles/zip.dir/zip_error_get_sys_type.c.o" - "CMakeFiles/zip.dir/zip_error_get_sys_type.c.o.d" - "CMakeFiles/zip.dir/zip_error_strerror.c.o" - "CMakeFiles/zip.dir/zip_error_strerror.c.o.d" - "CMakeFiles/zip.dir/zip_error_to_str.c.o" - "CMakeFiles/zip.dir/zip_error_to_str.c.o.d" - "CMakeFiles/zip.dir/zip_extra_field.c.o" - "CMakeFiles/zip.dir/zip_extra_field.c.o.d" - "CMakeFiles/zip.dir/zip_extra_field_api.c.o" - "CMakeFiles/zip.dir/zip_extra_field_api.c.o.d" - "CMakeFiles/zip.dir/zip_fclose.c.o" - "CMakeFiles/zip.dir/zip_fclose.c.o.d" - "CMakeFiles/zip.dir/zip_fdopen.c.o" - "CMakeFiles/zip.dir/zip_fdopen.c.o.d" - "CMakeFiles/zip.dir/zip_file_add.c.o" - "CMakeFiles/zip.dir/zip_file_add.c.o.d" - "CMakeFiles/zip.dir/zip_file_error_clear.c.o" - "CMakeFiles/zip.dir/zip_file_error_clear.c.o.d" - "CMakeFiles/zip.dir/zip_file_error_get.c.o" - "CMakeFiles/zip.dir/zip_file_error_get.c.o.d" - "CMakeFiles/zip.dir/zip_file_get_comment.c.o" - "CMakeFiles/zip.dir/zip_file_get_comment.c.o.d" - "CMakeFiles/zip.dir/zip_file_get_external_attributes.c.o" - "CMakeFiles/zip.dir/zip_file_get_external_attributes.c.o.d" - "CMakeFiles/zip.dir/zip_file_get_offset.c.o" - "CMakeFiles/zip.dir/zip_file_get_offset.c.o.d" - "CMakeFiles/zip.dir/zip_file_rename.c.o" - "CMakeFiles/zip.dir/zip_file_rename.c.o.d" - "CMakeFiles/zip.dir/zip_file_replace.c.o" - "CMakeFiles/zip.dir/zip_file_replace.c.o.d" - "CMakeFiles/zip.dir/zip_file_set_comment.c.o" - "CMakeFiles/zip.dir/zip_file_set_comment.c.o.d" - "CMakeFiles/zip.dir/zip_file_set_encryption.c.o" - "CMakeFiles/zip.dir/zip_file_set_encryption.c.o.d" - "CMakeFiles/zip.dir/zip_file_set_external_attributes.c.o" - "CMakeFiles/zip.dir/zip_file_set_external_attributes.c.o.d" - "CMakeFiles/zip.dir/zip_file_set_mtime.c.o" - "CMakeFiles/zip.dir/zip_file_set_mtime.c.o.d" - "CMakeFiles/zip.dir/zip_file_strerror.c.o" - "CMakeFiles/zip.dir/zip_file_strerror.c.o.d" - "CMakeFiles/zip.dir/zip_fopen.c.o" - "CMakeFiles/zip.dir/zip_fopen.c.o.d" - "CMakeFiles/zip.dir/zip_fopen_encrypted.c.o" - "CMakeFiles/zip.dir/zip_fopen_encrypted.c.o.d" - "CMakeFiles/zip.dir/zip_fopen_index.c.o" - "CMakeFiles/zip.dir/zip_fopen_index.c.o.d" - "CMakeFiles/zip.dir/zip_fopen_index_encrypted.c.o" - "CMakeFiles/zip.dir/zip_fopen_index_encrypted.c.o.d" - "CMakeFiles/zip.dir/zip_fread.c.o" - "CMakeFiles/zip.dir/zip_fread.c.o.d" - "CMakeFiles/zip.dir/zip_fseek.c.o" - "CMakeFiles/zip.dir/zip_fseek.c.o.d" - "CMakeFiles/zip.dir/zip_ftell.c.o" - "CMakeFiles/zip.dir/zip_ftell.c.o.d" - "CMakeFiles/zip.dir/zip_get_archive_comment.c.o" - "CMakeFiles/zip.dir/zip_get_archive_comment.c.o.d" - "CMakeFiles/zip.dir/zip_get_archive_flag.c.o" - "CMakeFiles/zip.dir/zip_get_archive_flag.c.o.d" - "CMakeFiles/zip.dir/zip_get_encryption_implementation.c.o" - "CMakeFiles/zip.dir/zip_get_encryption_implementation.c.o.d" - "CMakeFiles/zip.dir/zip_get_file_comment.c.o" - "CMakeFiles/zip.dir/zip_get_file_comment.c.o.d" - "CMakeFiles/zip.dir/zip_get_name.c.o" - "CMakeFiles/zip.dir/zip_get_name.c.o.d" - "CMakeFiles/zip.dir/zip_get_num_entries.c.o" - "CMakeFiles/zip.dir/zip_get_num_entries.c.o.d" - "CMakeFiles/zip.dir/zip_get_num_files.c.o" - "CMakeFiles/zip.dir/zip_get_num_files.c.o.d" - "CMakeFiles/zip.dir/zip_hash.c.o" - "CMakeFiles/zip.dir/zip_hash.c.o.d" - "CMakeFiles/zip.dir/zip_io_util.c.o" - "CMakeFiles/zip.dir/zip_io_util.c.o.d" - "CMakeFiles/zip.dir/zip_libzip_version.c.o" - "CMakeFiles/zip.dir/zip_libzip_version.c.o.d" - "CMakeFiles/zip.dir/zip_memdup.c.o" - "CMakeFiles/zip.dir/zip_memdup.c.o.d" - "CMakeFiles/zip.dir/zip_name_locate.c.o" - "CMakeFiles/zip.dir/zip_name_locate.c.o.d" - "CMakeFiles/zip.dir/zip_new.c.o" - "CMakeFiles/zip.dir/zip_new.c.o.d" - "CMakeFiles/zip.dir/zip_open.c.o" - "CMakeFiles/zip.dir/zip_open.c.o.d" - "CMakeFiles/zip.dir/zip_pkware.c.o" - "CMakeFiles/zip.dir/zip_pkware.c.o.d" - "CMakeFiles/zip.dir/zip_progress.c.o" - "CMakeFiles/zip.dir/zip_progress.c.o.d" - "CMakeFiles/zip.dir/zip_random_unix.c.o" - "CMakeFiles/zip.dir/zip_random_unix.c.o.d" - "CMakeFiles/zip.dir/zip_rename.c.o" - "CMakeFiles/zip.dir/zip_rename.c.o.d" - "CMakeFiles/zip.dir/zip_replace.c.o" - "CMakeFiles/zip.dir/zip_replace.c.o.d" - "CMakeFiles/zip.dir/zip_set_archive_comment.c.o" - "CMakeFiles/zip.dir/zip_set_archive_comment.c.o.d" - "CMakeFiles/zip.dir/zip_set_archive_flag.c.o" - "CMakeFiles/zip.dir/zip_set_archive_flag.c.o.d" - "CMakeFiles/zip.dir/zip_set_default_password.c.o" - "CMakeFiles/zip.dir/zip_set_default_password.c.o.d" - "CMakeFiles/zip.dir/zip_set_file_comment.c.o" - "CMakeFiles/zip.dir/zip_set_file_comment.c.o.d" - "CMakeFiles/zip.dir/zip_set_file_compression.c.o" - "CMakeFiles/zip.dir/zip_set_file_compression.c.o.d" - "CMakeFiles/zip.dir/zip_set_name.c.o" - "CMakeFiles/zip.dir/zip_set_name.c.o.d" - "CMakeFiles/zip.dir/zip_source_accept_empty.c.o" - "CMakeFiles/zip.dir/zip_source_accept_empty.c.o.d" - "CMakeFiles/zip.dir/zip_source_begin_write.c.o" - "CMakeFiles/zip.dir/zip_source_begin_write.c.o.d" - "CMakeFiles/zip.dir/zip_source_begin_write_cloning.c.o" - "CMakeFiles/zip.dir/zip_source_begin_write_cloning.c.o.d" - "CMakeFiles/zip.dir/zip_source_buffer.c.o" - "CMakeFiles/zip.dir/zip_source_buffer.c.o.d" - "CMakeFiles/zip.dir/zip_source_call.c.o" - "CMakeFiles/zip.dir/zip_source_call.c.o.d" - "CMakeFiles/zip.dir/zip_source_close.c.o" - "CMakeFiles/zip.dir/zip_source_close.c.o.d" - "CMakeFiles/zip.dir/zip_source_commit_write.c.o" - "CMakeFiles/zip.dir/zip_source_commit_write.c.o.d" - "CMakeFiles/zip.dir/zip_source_compress.c.o" - "CMakeFiles/zip.dir/zip_source_compress.c.o.d" - "CMakeFiles/zip.dir/zip_source_crc.c.o" - "CMakeFiles/zip.dir/zip_source_crc.c.o.d" - "CMakeFiles/zip.dir/zip_source_error.c.o" - "CMakeFiles/zip.dir/zip_source_error.c.o.d" - "CMakeFiles/zip.dir/zip_source_file_common.c.o" - "CMakeFiles/zip.dir/zip_source_file_common.c.o.d" - "CMakeFiles/zip.dir/zip_source_file_stdio.c.o" - "CMakeFiles/zip.dir/zip_source_file_stdio.c.o.d" - "CMakeFiles/zip.dir/zip_source_file_stdio_named.c.o" - "CMakeFiles/zip.dir/zip_source_file_stdio_named.c.o.d" - "CMakeFiles/zip.dir/zip_source_free.c.o" - "CMakeFiles/zip.dir/zip_source_free.c.o.d" - "CMakeFiles/zip.dir/zip_source_function.c.o" - "CMakeFiles/zip.dir/zip_source_function.c.o.d" - "CMakeFiles/zip.dir/zip_source_get_dostime.c.o" - "CMakeFiles/zip.dir/zip_source_get_dostime.c.o.d" - "CMakeFiles/zip.dir/zip_source_get_file_attributes.c.o" - "CMakeFiles/zip.dir/zip_source_get_file_attributes.c.o.d" - "CMakeFiles/zip.dir/zip_source_is_deleted.c.o" - "CMakeFiles/zip.dir/zip_source_is_deleted.c.o.d" - "CMakeFiles/zip.dir/zip_source_layered.c.o" - "CMakeFiles/zip.dir/zip_source_layered.c.o.d" - "CMakeFiles/zip.dir/zip_source_open.c.o" - "CMakeFiles/zip.dir/zip_source_open.c.o.d" - "CMakeFiles/zip.dir/zip_source_pass_to_lower_layer.c.o" - "CMakeFiles/zip.dir/zip_source_pass_to_lower_layer.c.o.d" - "CMakeFiles/zip.dir/zip_source_pkware_decode.c.o" - "CMakeFiles/zip.dir/zip_source_pkware_decode.c.o.d" - "CMakeFiles/zip.dir/zip_source_pkware_encode.c.o" - "CMakeFiles/zip.dir/zip_source_pkware_encode.c.o.d" - "CMakeFiles/zip.dir/zip_source_read.c.o" - "CMakeFiles/zip.dir/zip_source_read.c.o.d" - "CMakeFiles/zip.dir/zip_source_remove.c.o" - "CMakeFiles/zip.dir/zip_source_remove.c.o.d" - "CMakeFiles/zip.dir/zip_source_rollback_write.c.o" - "CMakeFiles/zip.dir/zip_source_rollback_write.c.o.d" - "CMakeFiles/zip.dir/zip_source_seek.c.o" - "CMakeFiles/zip.dir/zip_source_seek.c.o.d" - "CMakeFiles/zip.dir/zip_source_seek_write.c.o" - "CMakeFiles/zip.dir/zip_source_seek_write.c.o.d" - "CMakeFiles/zip.dir/zip_source_stat.c.o" - "CMakeFiles/zip.dir/zip_source_stat.c.o.d" - "CMakeFiles/zip.dir/zip_source_supports.c.o" - "CMakeFiles/zip.dir/zip_source_supports.c.o.d" - "CMakeFiles/zip.dir/zip_source_tell.c.o" - "CMakeFiles/zip.dir/zip_source_tell.c.o.d" - "CMakeFiles/zip.dir/zip_source_tell_write.c.o" - "CMakeFiles/zip.dir/zip_source_tell_write.c.o.d" - "CMakeFiles/zip.dir/zip_source_window.c.o" - "CMakeFiles/zip.dir/zip_source_window.c.o.d" - "CMakeFiles/zip.dir/zip_source_write.c.o" - "CMakeFiles/zip.dir/zip_source_write.c.o.d" - "CMakeFiles/zip.dir/zip_source_zip.c.o" - "CMakeFiles/zip.dir/zip_source_zip.c.o.d" - "CMakeFiles/zip.dir/zip_source_zip_new.c.o" - "CMakeFiles/zip.dir/zip_source_zip_new.c.o.d" - "CMakeFiles/zip.dir/zip_stat.c.o" - "CMakeFiles/zip.dir/zip_stat.c.o.d" - "CMakeFiles/zip.dir/zip_stat_index.c.o" - "CMakeFiles/zip.dir/zip_stat_index.c.o.d" - "CMakeFiles/zip.dir/zip_stat_init.c.o" - "CMakeFiles/zip.dir/zip_stat_init.c.o.d" - "CMakeFiles/zip.dir/zip_strerror.c.o" - "CMakeFiles/zip.dir/zip_strerror.c.o.d" - "CMakeFiles/zip.dir/zip_string.c.o" - "CMakeFiles/zip.dir/zip_string.c.o.d" - "CMakeFiles/zip.dir/zip_unchange.c.o" - "CMakeFiles/zip.dir/zip_unchange.c.o.d" - "CMakeFiles/zip.dir/zip_unchange_all.c.o" - "CMakeFiles/zip.dir/zip_unchange_all.c.o.d" - "CMakeFiles/zip.dir/zip_unchange_archive.c.o" - "CMakeFiles/zip.dir/zip_unchange_archive.c.o.d" - "CMakeFiles/zip.dir/zip_unchange_data.c.o" - "CMakeFiles/zip.dir/zip_unchange_data.c.o.d" - "CMakeFiles/zip.dir/zip_utf-8.c.o" - "CMakeFiles/zip.dir/zip_utf-8.c.o.d" - "libzip.a" - "libzip.pdb" - "zip_err_str.c" -) - -# Per-language clean rules from dependency scanning. -foreach(lang C) - include(CMakeFiles/zip.dir/cmake_clean_${lang}.cmake OPTIONAL) -endforeach() diff --git a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/cmake_clean_target.cmake b/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/cmake_clean_target.cmake deleted file mode 100644 index e68a0d9..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/cmake_clean_target.cmake +++ /dev/null @@ -1,3 +0,0 @@ -file(REMOVE_RECURSE - "libzip.a" -) diff --git a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/compiler_depend.make b/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/compiler_depend.make deleted file mode 100644 index cd5d6a1..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/compiler_depend.make +++ /dev/null @@ -1,2 +0,0 @@ -# Empty compiler generated dependencies file for zip. -# This may be replaced when dependencies are built. diff --git a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/compiler_depend.ts b/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/compiler_depend.ts deleted file mode 100644 index 554de6c..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/compiler_depend.ts +++ /dev/null @@ -1,2 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Timestamp file for compiler generated dependencies management for zip. diff --git a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/depend.make b/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/depend.make deleted file mode 100644 index 4b936e6..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/depend.make +++ /dev/null @@ -1,2 +0,0 @@ -# Empty dependencies file for zip. -# This may be replaced when dependencies are built. diff --git a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/flags.make b/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/flags.make deleted file mode 100644 index dccbf94..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/flags.make +++ /dev/null @@ -1,10 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.28 - -# compile C with /home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc -C_DEFINES = - -C_INCLUDES = @CMakeFiles/zip.dir/includes_C.rsp - -C_FLAGS = -fvisibility=hidden - diff --git a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/link.txt b/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/link.txt deleted file mode 100644 index b67e250..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/link.txt +++ /dev/null @@ -1,2 +0,0 @@ -"/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emar" qc libzip.a CMakeFiles/zip.dir/zip_add.c.o CMakeFiles/zip.dir/zip_add_dir.c.o CMakeFiles/zip.dir/zip_add_entry.c.o CMakeFiles/zip.dir/zip_algorithm_deflate.c.o CMakeFiles/zip.dir/zip_buffer.c.o CMakeFiles/zip.dir/zip_close.c.o CMakeFiles/zip.dir/zip_delete.c.o CMakeFiles/zip.dir/zip_dir_add.c.o CMakeFiles/zip.dir/zip_dirent.c.o CMakeFiles/zip.dir/zip_discard.c.o CMakeFiles/zip.dir/zip_entry.c.o CMakeFiles/zip.dir/zip_error.c.o CMakeFiles/zip.dir/zip_error_clear.c.o CMakeFiles/zip.dir/zip_error_get.c.o CMakeFiles/zip.dir/zip_error_get_sys_type.c.o CMakeFiles/zip.dir/zip_error_strerror.c.o CMakeFiles/zip.dir/zip_error_to_str.c.o CMakeFiles/zip.dir/zip_extra_field.c.o CMakeFiles/zip.dir/zip_extra_field_api.c.o CMakeFiles/zip.dir/zip_fclose.c.o CMakeFiles/zip.dir/zip_fdopen.c.o CMakeFiles/zip.dir/zip_file_add.c.o CMakeFiles/zip.dir/zip_file_error_clear.c.o CMakeFiles/zip.dir/zip_file_error_get.c.o CMakeFiles/zip.dir/zip_file_get_comment.c.o CMakeFiles/zip.dir/zip_file_get_external_attributes.c.o CMakeFiles/zip.dir/zip_file_get_offset.c.o CMakeFiles/zip.dir/zip_file_rename.c.o CMakeFiles/zip.dir/zip_file_replace.c.o CMakeFiles/zip.dir/zip_file_set_comment.c.o CMakeFiles/zip.dir/zip_file_set_encryption.c.o CMakeFiles/zip.dir/zip_file_set_external_attributes.c.o CMakeFiles/zip.dir/zip_file_set_mtime.c.o CMakeFiles/zip.dir/zip_file_strerror.c.o CMakeFiles/zip.dir/zip_fopen.c.o CMakeFiles/zip.dir/zip_fopen_encrypted.c.o CMakeFiles/zip.dir/zip_fopen_index.c.o CMakeFiles/zip.dir/zip_fopen_index_encrypted.c.o CMakeFiles/zip.dir/zip_fread.c.o CMakeFiles/zip.dir/zip_fseek.c.o CMakeFiles/zip.dir/zip_ftell.c.o CMakeFiles/zip.dir/zip_get_archive_comment.c.o CMakeFiles/zip.dir/zip_get_archive_flag.c.o CMakeFiles/zip.dir/zip_get_encryption_implementation.c.o CMakeFiles/zip.dir/zip_get_file_comment.c.o CMakeFiles/zip.dir/zip_get_name.c.o CMakeFiles/zip.dir/zip_get_num_entries.c.o CMakeFiles/zip.dir/zip_get_num_files.c.o CMakeFiles/zip.dir/zip_hash.c.o CMakeFiles/zip.dir/zip_io_util.c.o CMakeFiles/zip.dir/zip_libzip_version.c.o CMakeFiles/zip.dir/zip_memdup.c.o CMakeFiles/zip.dir/zip_name_locate.c.o CMakeFiles/zip.dir/zip_new.c.o CMakeFiles/zip.dir/zip_open.c.o CMakeFiles/zip.dir/zip_pkware.c.o CMakeFiles/zip.dir/zip_progress.c.o CMakeFiles/zip.dir/zip_rename.c.o CMakeFiles/zip.dir/zip_replace.c.o CMakeFiles/zip.dir/zip_set_archive_comment.c.o CMakeFiles/zip.dir/zip_set_archive_flag.c.o CMakeFiles/zip.dir/zip_set_default_password.c.o CMakeFiles/zip.dir/zip_set_file_comment.c.o CMakeFiles/zip.dir/zip_set_file_compression.c.o CMakeFiles/zip.dir/zip_set_name.c.o CMakeFiles/zip.dir/zip_source_accept_empty.c.o CMakeFiles/zip.dir/zip_source_begin_write.c.o CMakeFiles/zip.dir/zip_source_begin_write_cloning.c.o CMakeFiles/zip.dir/zip_source_buffer.c.o CMakeFiles/zip.dir/zip_source_call.c.o CMakeFiles/zip.dir/zip_source_close.c.o CMakeFiles/zip.dir/zip_source_commit_write.c.o CMakeFiles/zip.dir/zip_source_compress.c.o CMakeFiles/zip.dir/zip_source_crc.c.o CMakeFiles/zip.dir/zip_source_error.c.o CMakeFiles/zip.dir/zip_source_file_common.c.o CMakeFiles/zip.dir/zip_source_file_stdio.c.o CMakeFiles/zip.dir/zip_source_free.c.o CMakeFiles/zip.dir/zip_source_function.c.o CMakeFiles/zip.dir/zip_source_get_dostime.c.o CMakeFiles/zip.dir/zip_source_get_file_attributes.c.o CMakeFiles/zip.dir/zip_source_is_deleted.c.o CMakeFiles/zip.dir/zip_source_layered.c.o CMakeFiles/zip.dir/zip_source_open.c.o CMakeFiles/zip.dir/zip_source_pass_to_lower_layer.c.o CMakeFiles/zip.dir/zip_source_pkware_decode.c.o CMakeFiles/zip.dir/zip_source_pkware_encode.c.o CMakeFiles/zip.dir/zip_source_read.c.o CMakeFiles/zip.dir/zip_source_remove.c.o CMakeFiles/zip.dir/zip_source_rollback_write.c.o CMakeFiles/zip.dir/zip_source_seek.c.o CMakeFiles/zip.dir/zip_source_seek_write.c.o CMakeFiles/zip.dir/zip_source_stat.c.o CMakeFiles/zip.dir/zip_source_supports.c.o CMakeFiles/zip.dir/zip_source_tell.c.o CMakeFiles/zip.dir/zip_source_tell_write.c.o CMakeFiles/zip.dir/zip_source_window.c.o CMakeFiles/zip.dir/zip_source_write.c.o CMakeFiles/zip.dir/zip_source_zip.c.o CMakeFiles/zip.dir/zip_source_zip_new.c.o CMakeFiles/zip.dir/zip_stat.c.o CMakeFiles/zip.dir/zip_stat_index.c.o CMakeFiles/zip.dir/zip_stat_init.c.o CMakeFiles/zip.dir/zip_strerror.c.o CMakeFiles/zip.dir/zip_string.c.o CMakeFiles/zip.dir/zip_unchange.c.o CMakeFiles/zip.dir/zip_unchange_all.c.o CMakeFiles/zip.dir/zip_unchange_archive.c.o CMakeFiles/zip.dir/zip_unchange_data.c.o "CMakeFiles/zip.dir/zip_utf-8.c.o" CMakeFiles/zip.dir/zip_err_str.c.o CMakeFiles/zip.dir/zip_source_file_stdio_named.c.o CMakeFiles/zip.dir/zip_random_unix.c.o -"/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emranlib" libzip.a diff --git a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/progress.make b/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/progress.make deleted file mode 100644 index 072351c..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/progress.make +++ /dev/null @@ -1,116 +0,0 @@ -CMAKE_PROGRESS_1 = -CMAKE_PROGRESS_2 = -CMAKE_PROGRESS_3 = 71 -CMAKE_PROGRESS_4 = -CMAKE_PROGRESS_5 = -CMAKE_PROGRESS_6 = -CMAKE_PROGRESS_7 = 72 -CMAKE_PROGRESS_8 = -CMAKE_PROGRESS_9 = -CMAKE_PROGRESS_10 = -CMAKE_PROGRESS_11 = -CMAKE_PROGRESS_12 = 73 -CMAKE_PROGRESS_13 = -CMAKE_PROGRESS_14 = -CMAKE_PROGRESS_15 = -CMAKE_PROGRESS_16 = 74 -CMAKE_PROGRESS_17 = -CMAKE_PROGRESS_18 = -CMAKE_PROGRESS_19 = -CMAKE_PROGRESS_20 = -CMAKE_PROGRESS_21 = 75 -CMAKE_PROGRESS_22 = -CMAKE_PROGRESS_23 = -CMAKE_PROGRESS_24 = -CMAKE_PROGRESS_25 = 76 -CMAKE_PROGRESS_26 = -CMAKE_PROGRESS_27 = -CMAKE_PROGRESS_28 = -CMAKE_PROGRESS_29 = -CMAKE_PROGRESS_30 = 77 -CMAKE_PROGRESS_31 = -CMAKE_PROGRESS_32 = -CMAKE_PROGRESS_33 = -CMAKE_PROGRESS_34 = 78 -CMAKE_PROGRESS_35 = -CMAKE_PROGRESS_36 = -CMAKE_PROGRESS_37 = -CMAKE_PROGRESS_38 = -CMAKE_PROGRESS_39 = 79 -CMAKE_PROGRESS_40 = -CMAKE_PROGRESS_41 = -CMAKE_PROGRESS_42 = -CMAKE_PROGRESS_43 = 80 -CMAKE_PROGRESS_44 = -CMAKE_PROGRESS_45 = -CMAKE_PROGRESS_46 = -CMAKE_PROGRESS_47 = -CMAKE_PROGRESS_48 = 81 -CMAKE_PROGRESS_49 = -CMAKE_PROGRESS_50 = -CMAKE_PROGRESS_51 = -CMAKE_PROGRESS_52 = -CMAKE_PROGRESS_53 = 82 -CMAKE_PROGRESS_54 = -CMAKE_PROGRESS_55 = -CMAKE_PROGRESS_56 = -CMAKE_PROGRESS_57 = 83 -CMAKE_PROGRESS_58 = -CMAKE_PROGRESS_59 = -CMAKE_PROGRESS_60 = -CMAKE_PROGRESS_61 = -CMAKE_PROGRESS_62 = 84 -CMAKE_PROGRESS_63 = -CMAKE_PROGRESS_64 = -CMAKE_PROGRESS_65 = -CMAKE_PROGRESS_66 = 85 -CMAKE_PROGRESS_67 = -CMAKE_PROGRESS_68 = -CMAKE_PROGRESS_69 = -CMAKE_PROGRESS_70 = -CMAKE_PROGRESS_71 = 86 -CMAKE_PROGRESS_72 = -CMAKE_PROGRESS_73 = -CMAKE_PROGRESS_74 = -CMAKE_PROGRESS_75 = 87 -CMAKE_PROGRESS_76 = -CMAKE_PROGRESS_77 = -CMAKE_PROGRESS_78 = -CMAKE_PROGRESS_79 = -CMAKE_PROGRESS_80 = 88 -CMAKE_PROGRESS_81 = -CMAKE_PROGRESS_82 = -CMAKE_PROGRESS_83 = -CMAKE_PROGRESS_84 = 89 -CMAKE_PROGRESS_85 = -CMAKE_PROGRESS_86 = -CMAKE_PROGRESS_87 = -CMAKE_PROGRESS_88 = -CMAKE_PROGRESS_89 = 90 -CMAKE_PROGRESS_90 = -CMAKE_PROGRESS_91 = -CMAKE_PROGRESS_92 = -CMAKE_PROGRESS_93 = -CMAKE_PROGRESS_94 = 91 -CMAKE_PROGRESS_95 = -CMAKE_PROGRESS_96 = -CMAKE_PROGRESS_97 = -CMAKE_PROGRESS_98 = 92 -CMAKE_PROGRESS_99 = -CMAKE_PROGRESS_100 = -CMAKE_PROGRESS_101 = -CMAKE_PROGRESS_102 = -CMAKE_PROGRESS_103 = 93 -CMAKE_PROGRESS_104 = -CMAKE_PROGRESS_105 = -CMAKE_PROGRESS_106 = -CMAKE_PROGRESS_107 = 94 -CMAKE_PROGRESS_108 = -CMAKE_PROGRESS_109 = -CMAKE_PROGRESS_110 = -CMAKE_PROGRESS_111 = -CMAKE_PROGRESS_112 = 95 -CMAKE_PROGRESS_113 = -CMAKE_PROGRESS_114 = -CMAKE_PROGRESS_115 = - diff --git a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_add.c.o b/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_add.c.o deleted file mode 100644 index 7785297d187e1683b205d9b02aee0d17b57b90d5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 587 zcmYjO!H&}~5Vf6jlctff(n?%$#2yw!>2|lbn4VCN`gDAH6by{u z#MDe4;*f^tN5LSPpr6*yGjnWeSrPx6O&v45XWKQMl2e4t`C<7$foS>k<(pTp9oGx6 z_Y|Xd#OpBnZJ)=TYKwt`>Tzg74t)8z?Xy|~x9>t9@&_CJMvfUH=}R;!zAS(K}JHis)V=fz^Rm~lQYuFC>ui|6S3XX74e zrYg{R2}}km uv$cS<678CaJ~@-E)QWYT`K+|;wB2wLDJVgKt9ap1}=b)0E7TgQnUr=lFTT|R&l zLgEAX5I%=L;E3Js0m<^4d1JqMVVZ9+{9s+d`gXd)(uK$>P)X)nq!E7Nw>acUm{?n@bblb=id1)uj--^Ol&a z_rNv1SuW?W$XCSnRbH>=rV23Ksx^Z9B%<$RW3Z*rKWqmt lekNA#vV9BP@_EY0f!3Gpa4vF43(8hjS7BYd)`X4f`sF45w diff --git a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_add_dir.c.o.d b/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_add_dir.c.o.d deleted file mode 100644 index 0554534..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_add_dir.c.o.d +++ /dev/null @@ -1,41 +0,0 @@ -lib/CMakeFiles/zip.dir/zip_add_dir.c.o: \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_add_dir.c \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zipint.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/config.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/zipconf.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/inttypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/inttypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/features.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/alltypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stdint.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/compat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdbool.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdbool.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/errno.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/errno.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/wasi/api.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_header_macro.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_ptrdiff_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_size_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_rsize_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_wchar_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_null.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_max_align_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_offsetof.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/sys/stat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/stat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stat.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdio.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/types.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/endian.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/select.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/time.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/time.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/strings.h diff --git a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_add_entry.c.o b/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_add_entry.c.o deleted file mode 100644 index 631dbb26b69545f11b50024e3714a321eacc467d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1366 zcmYjROH&(15T4!93j|0uHpWl7jciMnR|xb%_=Uv7Z}0PF_$MUC^k`KiRa(tVcYj}hJv}o_Z#NXinDXoK@iFslDz0+0 z$z9iFo2u(7E*Y5mUHbf7So@Jm#jIOGw<`_NXxaxVV?A@*(T&|ot68@kVRKiJ=D{E9 zt%|Vird??Zhjnd1Tj-|QG??lEyCIfiA5`jA-C>;nER!j$|Ibfy{39^tbNP{!<#Pi^ zoaWs1(_HD<)T0p1Rr-c{qe?My?Q>Nc$BFKkp;G#bp$ZD9yU2mZx>n%8@@f`%T+N~n zdkn8YUpUhm)jh@^pKqN+Ha^6l8WVTN=V#iD4eHkb``*+l{h|1??VypM}O)z_yIv5xHmgIR_rvAT#Wq5gruV4vY6?mFRmkT`ZpYQ=6~`4=Il;G7 z;VQg^RR`a}8+f;aYp@pW-U}~kofy`=OtLW>@@&5++xs2-03Uj1dm|ENU**;W>BjEX zt(qG8O)mY+$A>EN+UeD5MaZkCMj4Yog+*0%B7^#EL3cDYw>-bVgTXl^xUR78TxGxe zIQ!eDvd;lu@LND(|H$CJmffs&3}LsG0h$`3-4<1C>p<}vrf${NrY2MARJvAoApX&D zTJ4z$nt$wUrHp1{!Zi22KaHR}!f+s4DC9)GT1*#<*?gh8UCiV&Vp7i-)m$-`HjGSl zYP%}Zxdi)#TF)YmZr6lU*%rFfu|+$S3~zPJUCn!-l9B%{v}Vgmju`a*XmzVvw<(*} z+!walv}(!zM#psO`?}c?$w;H)=v$`HYG!jwH`~c!t4SNBw_3E1+IGv4&s;KMi)~>G U%MhA#&=T!rs9mpFn)t!_7t5eF%K!iX diff --git a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_add_entry.c.o.d b/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_add_entry.c.o.d deleted file mode 100644 index 397a999..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_add_entry.c.o.d +++ /dev/null @@ -1,44 +0,0 @@ -lib/CMakeFiles/zip.dir/zip_add_entry.c.o: \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_add_entry.c \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/stdlib.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdlib.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/features.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/alltypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/alloca.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zipint.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/config.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/zipconf.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/inttypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/inttypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stdint.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/compat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdbool.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdbool.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/errno.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/errno.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/wasi/api.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_header_macro.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_ptrdiff_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_size_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_rsize_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_wchar_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_null.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_max_align_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_offsetof.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/sys/stat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/stat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stat.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdio.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/types.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/endian.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/select.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/time.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/time.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/strings.h diff --git a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_algorithm_deflate.c.o b/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_algorithm_deflate.c.o deleted file mode 100644 index fb1e7638e73055363ff8934914714b7280527999..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4579 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 diff --git a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_algorithm_deflate.c.o.d b/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_algorithm_deflate.c.o.d deleted file mode 100644 index f972f43..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_algorithm_deflate.c.o.d +++ /dev/null @@ -1,60 +0,0 @@ -lib/CMakeFiles/zip.dir/zip_algorithm_deflate.c.o: \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_algorithm_deflate.c \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zipint.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/config.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/zipconf.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/inttypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/inttypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/features.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/alltypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stdint.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/compat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdbool.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdbool.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/errno.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/errno.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/wasi/api.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_header_macro.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_ptrdiff_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_size_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_rsize_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_wchar_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_null.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_max_align_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_offsetof.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/sys/stat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/stat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stat.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdio.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/types.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/endian.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/select.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/time.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/time.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/strings.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/limits.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/limits.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/limits.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/stdlib.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdlib.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/alloca.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/zlib-1.3.1/install/include/zlib.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/zlib-1.3.1/install/include/zconf.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/stdarg.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdarg.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdarg.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stdarg_header_macro.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stdarg___gnuc_va_list.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stdarg_va_list.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stdarg_va_arg.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stdarg___va_copy.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stdarg_va_copy.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/unistd.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/posix.h diff --git a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_buffer.c.o b/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_buffer.c.o deleted file mode 100644 index d7661989b86eeba595a30449c5c13b35e3e8ebd0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7286 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 LcQ=Z`M{0itl^pYy diff --git a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_buffer.c.o.d b/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_buffer.c.o.d deleted file mode 100644 index d608eb0..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_buffer.c.o.d +++ /dev/null @@ -1,44 +0,0 @@ -lib/CMakeFiles/zip.dir/zip_buffer.c.o: \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_buffer.c \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/stdlib.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdlib.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/features.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/alltypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/alloca.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/strings.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zipint.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/config.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/zipconf.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/inttypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/inttypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stdint.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/compat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdbool.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdbool.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/errno.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/errno.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/wasi/api.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_header_macro.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_ptrdiff_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_size_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_rsize_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_wchar_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_null.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_max_align_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_offsetof.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/sys/stat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/stat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stat.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdio.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/types.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/endian.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/select.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/time.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/time.h diff --git a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_close.c.o b/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_close.c.o deleted file mode 100644 index 6325eaeeeb549080ba5766a50d27698da080e0af..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22626 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 diff --git a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_close.c.o.d b/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_close.c.o.d deleted file mode 100644 index 6d9ec49..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_close.c.o.d +++ /dev/null @@ -1,44 +0,0 @@ -lib/CMakeFiles/zip.dir/zip_close.c.o: \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_close.c \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zipint.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/config.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/zipconf.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/inttypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/inttypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/features.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/alltypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stdint.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/compat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdbool.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdbool.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/errno.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/errno.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/wasi/api.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_header_macro.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_ptrdiff_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_size_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_rsize_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_wchar_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_null.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_max_align_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_offsetof.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/sys/stat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/stat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stat.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdio.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/types.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/endian.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/select.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/time.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/time.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/strings.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/stdlib.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdlib.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/alloca.h diff --git a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_delete.c.o b/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_delete.c.o deleted file mode 100644 index 132cb1ab1685386817502d7f2c1f459a9a39bfb7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1166 zcmYjROK;mo5MC}ROP1t_@hf)hB(t%TNMR_`mL)~bOGKMo(__&KO_8gYDUv2vM%{zy zCb{>Lb1yx#K+!+ZQ-K2g9sLPCc1Rk504{fTINxJ;XG!dMCJ{oUU#_pON#T?xS5k5+ zCrLt1mE2NXY0th{)KY`IX7VgHmB^4xy`naa~tl! z7Hogvyo;Q77ddxw`@6ZqJ!H5K_u&4NJwPH-jOXb!ZhoJp=|1-?2Sh z;Xdra{yBSuULK(rbp9Cg9xtjqfhTqP4XdXrRo2MGo}!orPeGfqXHbU*JX5o?VLFmF zL5Jo!J3!KdjMG3)W0CVPcYcJ)EjWZDXsI7Fm&b@X&W*GY)LsO2pi`%P*3Gfc;rXwu zXDaLjdT=7x3+Td&DSL^Ouiz!TIw9#&Un9wDB*{);m%YJ?=wqlqWhR(674fE4A%CRm zMXcwfgL_SND z{EO{3DwCgNh5REIihn8+`7Z@5hf(0p9UjF}6^9OwWA5sMOR3;^SmfUx9X5@oF`5Xd zkA(>1lLH)&=Yysb%nm&7B7f-!opMLOakty%9k*xnddHovJM6VOEq-XX9Jk$T8;;X* zkA^Nc+70qKy}~tNN9oNQa$C$J9+$MrVD6pi`CZm(3llvEg|_L~o~KWIcM_qR9$fIq z3;dB*p3OZmxv;%C*J`u5um>L3M_w?ny;xiG17AdT7~)py!%(Du1g#eFA&#@G2kmq^Qy5F%S$&f1H(U0a%-Dw6adl&*)Na)+m)jvv66XFF^>&HdcFQg~+-1Hk>bSPaEhYb!~%}%H3*}+bk^X;i}C!i})@j;Zv=fykzsXsT-U{g+28i z^qn_sI#Vts{+!aZbhD(pu3ay8UGA`$0LO(}g`3>vObLA~)RS2Jw=YEhRvAc=ig9WO zsHLbysUfljI_UJ~kY0POK;xWjmGGujqBL5Pzu11I3*rXZ(??355h_JvO3>7eK{LD92t8qUD1`ianm#LLP_ z)Pkis&|t2CXQ|e6a2C$ZFn@cKI3KJpP*RJq0E-Pg5A$%offp$LMYsSL$<>dR!AoSi zJjd_~T!PDR1um1yn$YTC8yc_zCbYp)>Eoue z+aYfoI$)nihl07_fZM??N!Hy6mBH13_!+FiGxbXW+e1}7ry8CIM}c-nB)&$LHM02A zEWV(N;3b(}Ht-d^$`G!{;6*CIeiow`U8yT|t0pVoi)oUvc*4Jh>UK%5RAiMg@spS; zGd0B2FjFH;jWRXHRE4R1>{kJc+nlb_;j`Dy&4<)jPKwP+?2RO|zp1^EL+r;;n7t0m z?1ylKeHV$c-y<>hHma~cqcQevtdIQ>i?gqlMC=zuV*d!jzP8<}bPaAhQj&%ScN|{H zm)E3-Vd_@x{@CbnVYpDMyO3RW-L^9`LgVFbdDv(*M@(}y_{$Tt!3`HCrlux&u`*ql zo}MU9RjSkD#c@8Wj~kWA>B)j&j91306<(MeV&918CgtjOjV|gc*WIqo9VM42cg>Z2 z@b2VN?@jWpwwv2&&{LAHTa~&^(ekZTZksKumWwyLrdwat%`VTSnq5~fn>=4LTV>sJ qasyV&a&5icCiU~xwkuw*T*~J3+HlL@d3UYNot)y-YgV3KjQ;_KL${Iu diff --git a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_dir_add.c.o.d b/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_dir_add.c.o.d deleted file mode 100644 index 53e6a5a..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_dir_add.c.o.d +++ /dev/null @@ -1,44 +0,0 @@ -lib/CMakeFiles/zip.dir/zip_dir_add.c.o: \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_dir_add.c \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/stdlib.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdlib.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/features.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/alltypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/alloca.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/strings.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zipint.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/config.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/zipconf.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/inttypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/inttypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stdint.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/compat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdbool.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdbool.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/errno.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/errno.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/wasi/api.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_header_macro.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_ptrdiff_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_size_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_rsize_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_wchar_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_null.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_max_align_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_offsetof.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/sys/stat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/stat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stat.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdio.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/types.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/endian.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/select.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/time.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/time.h diff --git a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_dirent.c.o b/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_dirent.c.o deleted file mode 100644 index 0a4bb8f06db4909a5a6eafce9e6b603da131b31d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 35910 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 diff --git a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_dirent.c.o.d b/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_dirent.c.o.d deleted file mode 100644 index 528fe67..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_dirent.c.o.d +++ /dev/null @@ -1,59 +0,0 @@ -lib/CMakeFiles/zip.dir/zip_dirent.c.o: \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_dirent.c \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdio.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/wasi/api.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_header_macro.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_ptrdiff_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_size_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_wchar_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_null.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_max_align_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_offsetof.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/alltypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/features.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/stdlib.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdlib.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/alloca.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/strings.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/types.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/endian.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/select.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/time.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/time.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/zlib-1.3.1/install/include/zlib.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/zlib-1.3.1/install/include/zconf.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/limits.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/limits.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/limits.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/stdarg.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdarg.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdarg.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stdarg_header_macro.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stdarg___gnuc_va_list.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stdarg_va_list.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stdarg_va_arg.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stdarg___va_copy.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stdarg_va_copy.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/unistd.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/posix.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zipint.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/config.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/zipconf.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/inttypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/inttypes.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/compat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdbool.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdbool.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/errno.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/errno.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/sys/stat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/stat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stat.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip.h diff --git a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_discard.c.o b/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_discard.c.o deleted file mode 100644 index 900f8d3e05c0c457ac94fefd6e4be2784f1ad516..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1479 zcmY*Z%~RV(6n|P-*w_XykdTCs1R4U_nLD~$)$&$dh0Edzo7jKa%yKf(;U09nA(}KtbM=z?R&p{Pw#>5H6#F#emXrp z1@fiT2JuL3^66_~CuD9Pr79K6w7Kq98oc4S#{}RE_I%wqs5BkZ_PHy!r2wWc%x1-N zTCTw>hUIu1I&i87uDP6tJ|f*Et#lZ^Yufcn7ar`ud%CyR1CDe+Zu{$qtAzLV+YvR!NdY%D@zipt8>T z$`XrWA4U&ZjFdx4agyS0WYXzl3m1$ zz33&pq>^nmhGX=*F84BCR!NDC3&B@#9ItG!t3vQKyo%Qj84AHD1TO<)A|Gr)22zqs zC{N44u7|-UaAI1{vPry-lRNB&ID8Xt;LSreg;Q$-Qb>3^;F@SaLG+5J$(1AOp?mCA&b zv4mxxE#rM$-e)Vg5>#mwSLqL3$!kLLIu<4BiK4;x4xwBeSx#x+c@;loVZ( z;H^a9cS(jnqzL>iDe#IY@S60&uW}SV$`SY&iNR|n0>3Ez@Ii^gpGqY9mmaYn57TDuv;Y0OyGQTV5c zqx;i^ciELbX=R6>@x5&l%NxF`qSzTy?Hi<=Ol+{2UC$l&`yW?pJDD z_gi9;#L|h~mUWJ9J`*5H(Hi&iV@Y~=~ScT z>$?`$>Xx&sTV8s^cEoton@y2=t=9B|8JkYIyvAK_8(i~`o7_vsJhN_V{44)I89TlP946;gr_ zZ@?4q47>pk(%0a~Zrwupel}5jUFgO;(jcX{en8w)k0gC#tMf{D!FlvYctw)sG(za#4fQ*}4WW_`7Xl z^n&|uHfV8hcxliPMfiFg5sE3(ScDJ+(rQnI?-@g;NkzfKJ9jmObeIxQt~L>H^ifT>ZQc(n)!wd zs80te@jDV2GNb_=UZGJqM1SnVJmcj?sDk*vZQ4UFIeBo#*i!GawNOloJ0N3(?1#+^ z!YAiK35|Z)n?Vh-S5sbYPo>;-zrdm>d^uY# zFVf3=y_~0WIAe33FP4iL=kxr0ox^PL8vV304K=F^Farms+Zq}_9p+iJFwkQB09G1q^^& YjKdn%V3v(TqW2XvvEPV7CGbW613iq%;Q#;t diff --git a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_entry.c.o.d b/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_entry.c.o.d deleted file mode 100644 index 20ae08c..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_entry.c.o.d +++ /dev/null @@ -1,41 +0,0 @@ -lib/CMakeFiles/zip.dir/zip_entry.c.o: \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_entry.c \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zipint.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/config.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/zipconf.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/inttypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/inttypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/features.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/alltypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stdint.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/compat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdbool.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdbool.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/errno.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/errno.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/wasi/api.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_header_macro.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_ptrdiff_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_size_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_rsize_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_wchar_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_null.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_max_align_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_offsetof.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/sys/stat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/stat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stat.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdio.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/types.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/endian.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/select.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/time.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/time.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/strings.h diff --git a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_err_str.c.o b/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_err_str.c.o deleted file mode 100644 index e38d4d8b3308fe4c0423cb5ac24f7f896076fdca..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5668 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 diff --git a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_error.c.o.d b/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_error.c.o.d deleted file mode 100644 index 52d4a9c..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_error.c.o.d +++ /dev/null @@ -1,44 +0,0 @@ -lib/CMakeFiles/zip.dir/zip_error.c.o: \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_error.c \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/stdlib.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdlib.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/features.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/alltypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/alloca.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zipint.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/config.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/zipconf.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/inttypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/inttypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stdint.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/compat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdbool.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdbool.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/errno.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/errno.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/wasi/api.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_header_macro.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_ptrdiff_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_size_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_rsize_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_wchar_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_null.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_max_align_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_offsetof.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/sys/stat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/stat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stat.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdio.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/types.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/endian.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/select.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/time.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/time.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/strings.h diff --git a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_error_clear.c.o b/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_error_clear.c.o deleted file mode 100644 index 0af21859bfc1319ebc4b3d818088150e611046b0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 595 zcmZ8e&5qMB5VoDRNt;%wgtQkfw&1WRO1Hb+wkoHsV7YST7F=hVP3y$LaVpATTab7I zF7O7t2+zb3r{#cI+4sHi_cTZ)Mz7w! zzIR$~2fI%(0^;s5`rWv@rB+ETKv%eLp@6D_BwFopTS#7{?{2O~_)(vEeoVfn%rd4I&tJU6@^8L#F8Z+ zz#s4lY*@45XINslg9Ixi%hx`>_Z<89qPQtBLI{6491e)w7+u$)8{FZJeAkF!K(+It zh!qvYA}XQeVowmdgBuwq+oTG;mC{_uCVoJ8Yp|p=;hNd?ay+xJQ#8xHYc-kf)8a!0X1eylYaJ|P?!s04_eR(mN zPNsPw>G)R4x_Nf4*0=3?lJN4JvE6A3Rp|y2Nw1d6IV{rEbhWx#EYoZ?Tg>1ho+asg zHJ>KQEWON9n9iS~&-z0>84G>w3}V>|Xxw11ZrL_GbxYv=wF!AGgGWisSXfkPA(UFk zcOV$A@}OU~OcuMCwGen^E8{hTFlT%nvnF_0@k)xgu9d-IR!iM;fhQmX0aXH_+}F?q LZd2q{2yf+Y6CTCN diff --git a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_error_get.c.o.d b/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_error_get.c.o.d deleted file mode 100644 index 5a8a0fc..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_error_get.c.o.d +++ /dev/null @@ -1,41 +0,0 @@ -lib/CMakeFiles/zip.dir/zip_error_get.c.o: \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_error_get.c \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zipint.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/config.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/zipconf.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/inttypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/inttypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/features.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/alltypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stdint.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/compat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdbool.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdbool.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/errno.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/errno.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/wasi/api.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_header_macro.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_ptrdiff_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_size_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_rsize_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_wchar_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_null.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_max_align_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_offsetof.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/sys/stat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/stat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stat.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdio.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/types.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/endian.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/select.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/time.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/time.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/strings.h diff --git a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_error_get_sys_type.c.o b/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_error_get_sys_type.c.o deleted file mode 100644 index ab052d973dcb295a47c452d6c62f152723e0e8f4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 675 zcmYjPPjA{V6t^8H0YXEe;l_imtA++ zr`QLWw8Or^zRiwvN)MGK>;3ute$Vecqfo6eLI{7|@An9Q#5=qrKTDffkZ#-{5J?K5 z4A!vDk^7Z!yrZaMQqCqwh|L(Ue2y=ABLv`-K_GmJCCc)&ZXM|*A) z{Vm^JGo7!JG$!_+(yf>&^*$we08(Z$h(QNxs{*~vfwU2BcY?=cptKBlR-_uYou@(c zqtt0g5E&o5diVO;vT8MKy(g&h4OLXGD(o1OgHjOri!H8l5vK8n%ZtHq zFpLvT`!`zW>czRSZ;Hi$XX|qzHiyeM)LY=1UQMTCm_)PTY<4x7M$6e~GJ=b6#G~7T`nUSj-R9N<=$K!%CfU1gu0NRY_GW}#L7Qx-*cZhewJ&m$3r3fB#jbjs`=Rl zq{!0PYpe^QlT9cJ@Z5Ew!-W7p7TF>c%Il_Cs%4nxX1M+`*X1AbTnS5%kaF9J5ND_aYG=y2ZXLX3+GQ$xbBqEnYAoNU#QX`QNnVEL}Br@OV#kI5wu7f+@4KCLQ;60kQxYD zuhgNBajeiGLRxoNNQ1jZNNa^&t#!)+6qufa8Wy6kS`*U8et!7iZ;?e|lEo-OaYhET zDeeyfrNRv_L5cD&W&bjiRco$-a+IQcmNYrE0wyXlvJ#ckN+}Q?B3Xqh(-AL6u#yp; zl2*AHV~oUR7&%>T&Vi$_IYwpV7TOeSF|Aba+zwj-*cRKFPBBNj5Zg1w7;KL*&0>(dW7&6XNQ=3X zJMd_Skk(#84q><45j!fT>aZ@yp&H|Cxs%6MgBtAABX`Em)tVuL92oRqx@9eDRn&Nl zR}ppWS=S>cV1hDE3=hhBOhkQ;YzS+z5e;bEcXYnwT!w}+U6AHx+$}>0Df~&8WG><~ zh1>aCcJoTVJKJ~PQ2ISM-^thmlc&om92>?I zgfnta=G@aQ{a)BBU;3#WIaQUu&@25kxAfC7UFq2ydwY6XT+SJoh8D~)Pg2snQt#tV z?aN#VPd$VKFxmlKK4 z&`E?vgp7(F<~*OlW_`hYNrxTA)HFn(rt+mL1^SD}@DxV~9_eswCDdL;^X~I*4r+N4v$Du_&L*VW+G($eC*q$RiOL&gi zo>y$o=h<523xpTE+*ss`gcmpLsh1S_OHP*VJvLRotk_;5yi9n7*o7KF-YFN)ZpfSl@$&gxVSYjQobUy!_^)G*$uHG9t|fd)Sj+49mGb(U@D<@}X8y*_<(qtM zWAa z<^Ku%`-h96?$lwz@Fx3yt{l=BbV%cU@2qY@F3{A=Z=o_T)OzG14U07I^|wGP4+K6` z)P?+%3RE1N>`kVQPQrPJVr)!^a7AELJUK6th{q7K>_|M3pX}$!ae-1RX=ex6wHae` zYzYN?V{__<`@08-Klcde%@E=pepCq`zo2{L$u7rH)6^(Pyr~LWoVED-MeSa*r%p41K0o=kAu(Cgmyj;RN;34dRPci^ zmT84T+^6}B#d?7d!@6IbY7~hThM})9cwU@U;1^dH6pJ<7t}7@K7ZnEd2Yn?%tnnH8 za=(Ij)n6*adcV)Or>IPb$BGSoNkG}343r6DK}op~H6QvpUsa*PR#sLBV|8VvFg{nk6;)M2JW}NoYpYD(B_l}uqH0={=92bD zt!$1;xEr-{IV%?I7@&e^B9iQCoj9SkuC}f#Zlk)}w$r)h@!aq3@2HKY`o<>`^W2Xh zhxS-e8x4~tHCmxqQ(aS2LugX0v#CB*Z%v5QM`MjmjdjszeQaW9%&Kb~Czh(xmfMkR zmu0tgS`oWHYvuekfsXz}Z_xcRSW~{qAec(qH6x?^T`w3<#^PCK3#R5-*+eSYRa4y8 zpRnV6p!%(v^1gmM(vh%&U5QjjB$2DBN~ZWYMbc?LBf-wJt-ey$lxM9@D{CdAR?r?u QTe%v4F5Z<4TF2Ob0(U@^qyPW_ diff --git a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_error_strerror.c.o.d b/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_error_strerror.c.o.d deleted file mode 100644 index 8586172..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_error_strerror.c.o.d +++ /dev/null @@ -1,59 +0,0 @@ -lib/CMakeFiles/zip.dir/zip_error_strerror.c.o: \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_error_strerror.c \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdio.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/wasi/api.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_header_macro.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_ptrdiff_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_size_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_wchar_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_null.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_max_align_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_offsetof.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/alltypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/features.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/stdlib.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdlib.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/alloca.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/strings.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/zlib-1.3.1/install/include/zlib.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/zlib-1.3.1/install/include/zconf.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/limits.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/limits.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/limits.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/types.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/endian.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/select.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/stdarg.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdarg.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdarg.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stdarg_header_macro.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stdarg___gnuc_va_list.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stdarg_va_list.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stdarg_va_arg.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stdarg___va_copy.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stdarg_va_copy.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/unistd.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/posix.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zipint.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/config.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/zipconf.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/inttypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/inttypes.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/compat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdbool.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdbool.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/errno.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/errno.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/sys/stat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/stat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stat.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/time.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/time.h diff --git a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_error_to_str.c.o b/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_error_to_str.c.o deleted file mode 100644 index 5f383caeb68b080ee1593e6bc40bcfd7c3912f81..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 980 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 S3z@~%(BjnOTzlru{Qm(#UV!re diff --git a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_extra_field.c.o.d b/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_extra_field.c.o.d deleted file mode 100644 index 71ffc5a..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_extra_field.c.o.d +++ /dev/null @@ -1,44 +0,0 @@ -lib/CMakeFiles/zip.dir/zip_extra_field.c.o: \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_extra_field.c \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/stdlib.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdlib.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/features.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/alltypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/alloca.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/strings.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zipint.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/config.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/zipconf.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/inttypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/inttypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stdint.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/compat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdbool.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdbool.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/errno.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/errno.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/wasi/api.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_header_macro.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_ptrdiff_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_size_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_rsize_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_wchar_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_null.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_max_align_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_offsetof.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/sys/stat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/stat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stat.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdio.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/types.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/endian.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/select.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/time.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/time.h diff --git a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_extra_field_api.c.o b/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_extra_field_api.c.o deleted file mode 100644 index e756c6cd5357d8c656265f4e907c4e70dba41ce2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9231 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 diff --git a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_extra_field_api.c.o.d b/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_extra_field_api.c.o.d deleted file mode 100644 index 0e92c70..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_extra_field_api.c.o.d +++ /dev/null @@ -1,41 +0,0 @@ -lib/CMakeFiles/zip.dir/zip_extra_field_api.c.o: \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_extra_field_api.c \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zipint.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/config.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/zipconf.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/inttypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/inttypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/features.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/alltypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stdint.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/compat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdbool.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdbool.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/errno.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/errno.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/wasi/api.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_header_macro.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_ptrdiff_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_size_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_rsize_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_wchar_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_null.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_max_align_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_offsetof.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/sys/stat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/stat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stat.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdio.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/types.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/endian.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/select.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/time.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/time.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/strings.h diff --git a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_fclose.c.o b/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_fclose.c.o deleted file mode 100644 index 9f7ff82dd8c90244ecfe68bd9e42362cde44c1b7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 733 zcmYjPJ#X7E5G5%)l0OnDAMVtFLOY}ov|t;scqUe)DG=-z@(OGDBOq?xapYER$1k$XOFg8Ap00Mi%Y8(Tyv-|2)bWpX*(X|Xa_jeKZ&&uQ+d&UTV(V_s^CBb8SK~Hy zJKLr`DdVC7;vr-fMjk=m452N73)X-6=GC>eXWQ6*j8Q_+1Gdn2+^~OOjQ$v2tCS+C z8OREE^^rkUK@!gHag*`5$lhL@_Xqt!mMeOCqf}WvKhx)%de&!RamM*_YeFr(1*Yib zWHN$rG965(m*Yv2PKV?xQklFGY(}NW{Ii+&RB{`AH>^0wUFJ2ZVygYE_klh}uLg+wo+W7*N;% zQfagsKIp1oS3u}=T}xJK4O@09mMcwPLNw(1e|(JzLi~`z2WD!n)2es@6MzC|KBRV~ zWWcAYMH-~}@p(=D^inNvW0CQmc#-cN;^+oYq+B2!BdD)Z6r-a-5Tgi1F~*Bl6r;R| zqCkv}iBXD`f#Mj$_%bER8ueiU`_?Ea&Z!S3`ynh#l~*Z^DNL_XKlU&7Ybg~+8en*) zyqydjzziBjAjh$7EV8XACemTy7;VSxM&O$UIW<@mBV09vgE+KIJ6L!p?!cXEw2MV| zErzN{!(6kwoT5EAjJt8q7W-bN*!!M+ghtBY!|%fp+-C%RqWxU7zbF*P0o;!VmIzsg z5RumCAnP35)ES{ec*yunb#G7jRHKYJ%(_Q#6c6K(E#0F`c{J25>!kWQ)}(P9r(<}` z_*@Yv{4iw~fF>4tl;f&ASLK^DiIY^oEKXn!3&t0!mZms0RTKuRP2&_!FVPG;oW&WO zU86a6IJfC=n2K05__((m&NK6Ih97TI2}^W>DNf=%p1_lvW_3En=~GQQji>1ho-w{u zXf8X;;j{01XVAIugv-phz`2DcoyYTZ0ncF>FBq=^r;D6eEQ%qZEy~^mTO}d8H=sGjpz$6`gYfCleWJn2f?vGV6{Tv*h1#8X-vHTXso z@PihCzciu05<0*e5rtnx4E_)TzK+Dc)}&rt!tMU(Ik z|6ayo@gHLv{Hs*@IxOC`r0Z#EzO|(1$!c!pxyFOdY}X%7Pvr~wLcQVR*fZbncqbT!9{G2RSONCNtwm4s{m1c@Fa>|^ss&l2ef@RHAr)yPN zm>Y*TYC>mx)2;Kct?@+cy3$KzQ!8D2H5ZQRZ03Va&guBsotA0axkkI%a9J(qtV`E+ z+VyO*)wTV`x@mW1Hq+|*=87$Ib=z4nZ7)06cG|vcb~=1&xmw3p13#N_Wlg%WZONSf Qyd%AA!fVvqIr)+QA10B8V*mgE diff --git a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_fdopen.c.o.d b/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_fdopen.c.o.d deleted file mode 100644 index 5ac9259..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_fdopen.c.o.d +++ /dev/null @@ -1,43 +0,0 @@ -lib/CMakeFiles/zip.dir/zip_fdopen.c.o: \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_fdopen.c \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zipint.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/config.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/zipconf.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/inttypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/inttypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/features.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/alltypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stdint.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/compat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdbool.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdbool.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/errno.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/errno.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/wasi/api.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_header_macro.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_ptrdiff_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_size_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_rsize_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_wchar_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_null.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_max_align_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_offsetof.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/sys/stat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/stat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stat.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdio.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/types.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/endian.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/select.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/time.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/time.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/strings.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/unistd.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/posix.h diff --git a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_file_add.c.o b/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_file_add.c.o deleted file mode 100644 index 5a66dbbfcdbc4e69d7973fa2306678269658b432..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 796 zcmYjPyK>V&6y06%lhkhHXPiY%=i#cN4ftv!SyHhcm@ z!9YPx$N%sT)Re63z#wUK?mhS1xsP4sCS!~c!k_2!Inr)2Gxgxd8%+Va$<7`ZF8P^8 zGa3u0hU4%cWUg?=Y#fOPg3uG4NY@)VaTJ7-32lZ`y8JGP9VSF1oP zg2mkR7$Vw-v;anhugXx(kZeVDk(p_aWOk%Nb3`*epjpU3c0_ZKJ6@2G1Jou}1-MO2 z1*A<%3bZ!SA$LMdn(ra1Lmu>Ny3)h604q?qr$zESeW6%JsjNgxN>+vvl&|Tkk{PfH z#yvH`yei{jDyh=7o=z*U29-Oy-mB26%GiK)sKSQ1=;g(XZmQCo9j#XSo3piSqP8ru zoq|qxlyVogU>9nz4Lj!h#dv!vcTeT2YNuL_?yG4J6m@V%58?1>+I^#lzNhNEI)YIU z4vGFHbu$Q&(!Zs;zE4bq(hs9=X}lm9kG%TJ*RQU$Y~H~6V~l=af_`Bw|B+zyI~A?O zBJw956A3OU(_=}(e7paEvmSTD;hT%|dZXSL1`{~SAtrM2m~oZCU@2SQb|qbU=pEG;N rqrS@%YdwrYDcm?#tFs5OOs}eC2sU7Xg&wozL(CFOPl91+v$ygO(=pC1 diff --git a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_file_add.c.o.d b/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_file_add.c.o.d deleted file mode 100644 index 895e086..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_file_add.c.o.d +++ /dev/null @@ -1,41 +0,0 @@ -lib/CMakeFiles/zip.dir/zip_file_add.c.o: \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_file_add.c \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zipint.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/config.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/zipconf.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/inttypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/inttypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/features.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/alltypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stdint.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/compat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdbool.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdbool.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/errno.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/errno.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/wasi/api.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_header_macro.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_ptrdiff_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_size_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_rsize_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_wchar_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_null.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_max_align_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_offsetof.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/sys/stat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/stat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stat.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdio.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/types.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/endian.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/select.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/time.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/time.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/strings.h diff --git a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_file_error_clear.c.o b/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_file_error_clear.c.o deleted file mode 100644 index 06c3ac9e8d6ea664849e2d506c6c04453ecdfe8f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 589 zcmYjO!H&}~5Vf7QNt>cn0&(Hu2o8&)bi3Pat8&^3mMd4pCAiKco2}zyZKtAKT9Ehy zE}ZxSK7&6(;)v67Sjif{8NYcm<3UW97$Jne9S#SCKjJ+izgy@yAh$u1h(ZEWNeN}8 zb_AjSVQm=SBz09t1IpRsHato`7j*(kRVv}aW?A;vqbwTyIo=xk`{x!NP>5HfkWfs? zCUmIt;uxe3MRPKw&KVhoofQhZv_rdZ!`=#qF6~kGKJ>^nxu)LDBQ(VRiP)$8(J|e( zk^`$TxC?#ipCkhx{c7vEc8*OUbK?DMUB^!Rr0q5<1Uzh+j1aQtM@t$g5EUQ4e)s0a z>9{@YKEvn(aV187+vk3*s7g!5^7nWZq9y+q%? z*y@2{DhHEfz)Yh+dy&6x#3nv1DheJraaEh>DQ7~&g-i=&tHsq8l&EAL4a!ECV#`DW xQBXF9tp&unsMbvA=&`J%QLL`*&&647+I2^Pf(#T$4zbzQpd(Kgxs2hH`3GrltaJbX diff --git a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_file_error_clear.c.o.d b/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_file_error_clear.c.o.d deleted file mode 100644 index 1bfc288..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_file_error_clear.c.o.d +++ /dev/null @@ -1,41 +0,0 @@ -lib/CMakeFiles/zip.dir/zip_file_error_clear.c.o: \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_file_error_clear.c \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zipint.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/config.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/zipconf.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/inttypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/inttypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/features.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/alltypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stdint.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/compat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdbool.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdbool.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/errno.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/errno.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/wasi/api.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_header_macro.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_ptrdiff_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_size_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_rsize_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_wchar_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_null.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_max_align_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_offsetof.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/sys/stat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/stat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stat.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdio.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/types.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/endian.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/select.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/time.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/time.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/strings.h diff --git a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_file_error_get.c.o b/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_file_error_get.c.o deleted file mode 100644 index 9b6db4002b683613fd0c86087587eec84181c325..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 577 zcmYjO&5qMB5Vn)FNxK!PK;pv15qnq^rQ6+ZQ^ZA<}&mh{?7$Jne9FIqY-@AR^Bj@MfxGux3K!{ZnflQRKduM;>vB zw~Iz(bbcbqh@jM&S-`0iSa4FuBclsv7L5l8B7Xoc3dorFB$%I~Y@&(PPVS;9nVz4h z@C^MJs`$3|9ha38d>>rb{`29`VaWyjYtxw{WY4!jGSwgyTfBVp>b2|nW9&b{=&j=y z82uieCyiD`$3VAuW=#fd3q_J2@Q4X2t9RE|i{)ZjaYHU{jcMBFm)5@R@&!}%r4al3 zE3u(>zzn(BY}Sw#+vRq9lWvM~yGmDZMOUm?Z`Vu4R>gH$z;gWzef?yshlXl9)~p0- zIt^_QpXHs{CHJd|!~dK_H70({s1OO41=qG(qV}MLl2tsdJ7M^qiVoti?hMTZB$ZG( n6>a=TDrq!r8aub7Y|OCWIMh&r2FV~XhX&d>Xn7?Q_+b73udb>B diff --git a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_file_error_get.c.o.d b/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_file_error_get.c.o.d deleted file mode 100644 index 63e1417..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_file_error_get.c.o.d +++ /dev/null @@ -1,41 +0,0 @@ -lib/CMakeFiles/zip.dir/zip_file_error_get.c.o: \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_file_error_get.c \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zipint.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/config.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/zipconf.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/inttypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/inttypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/features.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/alltypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stdint.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/compat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdbool.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdbool.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/errno.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/errno.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/wasi/api.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_header_macro.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_ptrdiff_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_size_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_rsize_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_wchar_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_null.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_max_align_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_offsetof.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/sys/stat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/stat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stat.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdio.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/types.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/endian.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/select.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/time.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/time.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/strings.h diff --git a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_file_get_comment.c.o b/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_file_get_comment.c.o deleted file mode 100644 index 3329ccfb57240e549ed53c8eff842c04f73714f9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 894 zcmYjQ&2HL25Z+z$7a)NoBq0fDX7dXnCL{z?dJ1Zj9((PL8nY0Cu^oFsO%E~c8&vAK zhrU6dr|MhuP*tkbF{ElO%d_*%eDkemc8TtfC?SM?oKB~Ny@>=5K|lkv_|SlT3*m?& z>`A8GwoF^-UV9`)j(5)pd4zqb8^gBin6?z263{vP&UD*-A=_Qk6Sn-D9HPGTOuHWj z2~|FX0+b|wmuMfnme!qOejuq$>2 znd?P@;VfomHFlb&$SJZMUxwu(d&*bl#aHKwxmJR&K@Qdie7%+B8%Ww1@I2)CCal0F ztipQs{p^pnFtnwyG?w0mE!e){1ytUF0_@!JC#d^muDgqQyZ>|x9FV~QfWPE>$k>NH z*uUck$T&boxQ#473{8O_!4Vv4jLdeN=Eqp-7)#CEQ(nZLmJlip_z9dm_OzHuk+0zf z<2d9Yj)x__gl>comJ5g0Gc7Tjr{Ro7I8c@)Bz!6P9OflGVL3+S`KuS#N;ICLaiGLt z!v~E7eN1Z%QcMO6mH~&TxG@ z?o?3n%(5o)kBZcRFeF?y8g-#{o7HCXQfqX3&6-vd=X%ZP)|>UJVbr=8y{@R%OXL%_ zo@Au%h3By+bUF5fpD3p~V{53+Pjfl*pQAdiEUz27WvQkeo?k<%&O~^YWB1F+(b$sa zM7PGGoEeR!-m!$*x15e{`Q=sHv8AWGE_P7uxiY*H<%}nK0xy9fRC(_Tznt*RzO9P4 F@(+Oj+g|_x diff --git a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_file_get_comment.c.o.d b/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_file_get_comment.c.o.d deleted file mode 100644 index e7c3865..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_file_get_comment.c.o.d +++ /dev/null @@ -1,41 +0,0 @@ -lib/CMakeFiles/zip.dir/zip_file_get_comment.c.o: \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_file_get_comment.c \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zipint.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/config.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/zipconf.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/inttypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/inttypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/features.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/alltypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stdint.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/compat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdbool.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdbool.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/errno.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/errno.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/wasi/api.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_header_macro.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_ptrdiff_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_size_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_rsize_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_wchar_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_null.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_max_align_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_offsetof.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/sys/stat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/stat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stat.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdio.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/types.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/endian.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/select.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/time.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/time.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/strings.h diff --git a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_file_get_external_attributes.c.o b/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_file_get_external_attributes.c.o deleted file mode 100644 index a62bf8ecce6ae91b2f89dfabd3da01c0e05c9266..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 870 zcmYjP%TC)s6rC9-#3Z2!?*IYr@C;ZE;Sr;-A}W++x7`KDo& zw#rvv8CGImZ9h@I3RPGg^0hJRI;_Lm86nRi84f7I0f1le4HVgg4cHv=Efm@MC$bIO zHFm*wQi2TMg2kFEV%u7UP4%e_*8d{0N6LmTfLug}zP zX{n(5kebzVT=DFfc#l4MrrR;444rN)Ma0U4;PW*F)1Z(*`m?hBVRtEdP$mL zx^_Kb$~Y8}sujAid#8_=RxABi=zbuz1$$JvWLNH-Tnhqba=lFqq4k8Rk{q7rU1k z3($`CnbiIC6Y>0oXV62{2+$?dCGN%8MVG%N)4j6iZI5zmgjVh|R5A%vK>>9eJ>UsB zM(_Yj${`x0lyZ~?IVlf-CoG513*N9ik3R53l%uGD_6)l+Dt1E`bld0$ANaR00D-W~ zuqVT?7kZ#~8G{)KbqIpqz&?3io`=4r9ws6V;7geS>?h9wcnSJpKzB08G8`n`!ITmX zNPbs(2!@385m)*s9DRnvBz+8q;h2rb;Rqbx!V_>pNS}n05oHxmQH)b5MRNn3hSOpW zL;wwuG|vD4!WrGEB94$H1S1ey#Zk)lER4e02A-pA&vmj5yP+Zw5uwH)3}gCZQAo-- zN@~%=8IQxb@QS$`jc4{{oXEU*pvPxM@!xT)f;tXXm z3o|g=z$9gnq%24#MSiIR8L^Y|BEE`gNaGyLeTf&~JY3kti`f?kKMXIyMYyz%mnq^E zxC~bsD7rA;*;j@tnavF00%RZy3!N@3lGx&5u_ae*8J2McR=&hlSc27ETqD0V@}piw zlrUZ;s;-gg+7@1i>miq_t3m&B--t>y(plW2v(=$gA~MCZ7`^RLqfwBnv~6n3OGJBU zUZHjWmtF^3qF0coftPsI^p8aUu#3{|B37uv4$ZgFPsIv=9|8^RaiHyS8_-Lhy$3ZB zhaw0;L8k7K*#~{kh-wx41<^Kvt;4_;@jNJC7^1~P)MXb!f?2eVV2&t&!^H6LE)nej zdK`|y@jG~evN#DR;A8_&Ia!<%Cr9-Cw7ZxX7K;&11McFP!(AVNGcdA_Aqp`HAsB5C z)MuA^+!Hl`=P1cAH9Z372;@ko>0^}R*uNW8iR`G57p$*K3pnJz{G?U zz=Xs1BqU(6fm0dHMY(}9MB7Z8wh%!*D{7H+HIQTR$v)cZsRJct-&g+HSj8_UG1n5%tDP|7I9vNYw&VM?G;jcP3tcr)|s zXHUOpcnfaAtrfgY(QY3!?o|@J1FyoJU3`t!zD7lK&W(oa*#N!{>+t$6-ldtlo$|gx z6?qfhfH(CIot)pIMBj$D;Oz$9qtN%9LB7GSd~N`uhIs#;XOUt4#NJK6Qk8<5sO;*hV~lJ>Ik}QvOZYyDe_k^6`Zmi%V+1 zZ$k1dO6+GzX5YyQdoHW&TgAhEQDxuf9?AC?U5~vI`^L-I51Pz=>QdO_Zk2uA?PGt_ z_=jI(zXxRBlOBmZce1aO=1!hlO({UPdERXDLTvMqxwRCrCGMM zoSUHg2Robbe62EJnh)JSFx-GtwqCtxn XIepUPdCY!P=gp|rESIV={*L_*)6^q^ diff --git a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_file_get_offset.c.o.d b/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_file_get_offset.c.o.d deleted file mode 100644 index 4fad3af..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_file_get_offset.c.o.d +++ /dev/null @@ -1,40 +0,0 @@ -lib/CMakeFiles/zip.dir/zip_file_get_offset.c.o: \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_file_get_offset.c \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdio.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/wasi/api.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_header_macro.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_ptrdiff_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_size_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_wchar_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_null.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_max_align_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_offsetof.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/alltypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/features.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/strings.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zipint.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/config.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/zipconf.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/inttypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/inttypes.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/compat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdbool.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdbool.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/errno.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/errno.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/sys/stat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/stat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stat.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/types.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/endian.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/select.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/time.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/time.h diff --git a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_file_rename.c.o b/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_file_rename.c.o deleted file mode 100644 index 9eee299b100fa0696393918d854603963fa57257..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1420 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 C!i)_7 diff --git a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_file_replace.c.o.d b/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_file_replace.c.o.d deleted file mode 100644 index 78e3d91..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_file_replace.c.o.d +++ /dev/null @@ -1,41 +0,0 @@ -lib/CMakeFiles/zip.dir/zip_file_replace.c.o: \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_file_replace.c \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zipint.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/config.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/zipconf.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/inttypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/inttypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/features.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/alltypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stdint.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/compat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdbool.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdbool.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/errno.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/errno.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/wasi/api.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_header_macro.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_ptrdiff_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_size_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_rsize_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_wchar_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_null.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_max_align_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_offsetof.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/sys/stat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/stat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stat.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdio.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/types.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/endian.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/select.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/time.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/time.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/strings.h diff --git a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_file_set_comment.c.o b/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_file_set_comment.c.o deleted file mode 100644 index bb483630b495ab7579778a14b006e4f56c584db3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2439 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 diff --git a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_file_set_external_attributes.c.o.d b/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_file_set_external_attributes.c.o.d deleted file mode 100644 index b32b464..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_file_set_external_attributes.c.o.d +++ /dev/null @@ -1,41 +0,0 @@ -lib/CMakeFiles/zip.dir/zip_file_set_external_attributes.c.o: \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_file_set_external_attributes.c \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zipint.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/config.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/zipconf.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/inttypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/inttypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/features.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/alltypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stdint.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/compat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdbool.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdbool.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/errno.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/errno.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/wasi/api.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_header_macro.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_ptrdiff_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_size_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_rsize_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_wchar_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_null.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_max_align_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_offsetof.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/sys/stat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/stat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stat.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdio.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/types.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/endian.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/select.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/time.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/time.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/strings.h diff --git a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_file_set_mtime.c.o b/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_file_set_mtime.c.o deleted file mode 100644 index d4eeb3557cd6b7aefe87d1157acbae5e157af6d2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2264 zcmaJ@J9HaG6rI_XcGr?^$)6Y}QIh-eAvQv`W5+U%Nn(-2&JPkGKp=oDOKU~)>a(kr ziSx0XUq{J-bErbWp`fBkO~s+7;T$>&N*XBW;LWaLLPN2dnfJMK=Xak(p;ePY2>En- zds~<*(au(<(~+GOBj~7JMD@7U*&$YB*R&Ow0+06iKIa;`UEfIL^G>C17rcDUt~I<( zO^B|!Qe62g>dgu2%l-Yg zPW_0X-=#z_NFt7;O9Qabg9HZ9i@xOJfXX0K8DjjQDh*?}OJy(-|IsoP<$e5J7_*Bf!<`8h zpy(}8e@;>Y{Ybc!)E2cxB+vDUTqjt?0Pj?Z4*erJ zi(bG8UZ~P&Za3}bY4>0hyRj$9S7uvb?q%+KpT|rgr7-t#>VE9QewPj~=7Akdu!8_l zl@8_((jmq?jDt9Y!#kKq81u;Um@neRF>R5KhN~aL*f%tui_l9L$4fq?aTMt)z06rJ zXSIO3pbRo&nxF}WpTq3t$htJg zIj>+2uPo6#cTZp*CtO;6i(vQGM(nYMV!W>OF5n=w-fprUQ?lG za7ImcHut@tb2y80E-hiHFFX@L%UD+T@jL@wz}+1=eS8D2 z;W$gFxF5YwLI+MM= zL-u{VuULM750Vdp>wZIB2|*v?L)_r|$Pgdl20mJ%j~OD5kCAt2g&|hD5TjIJhN~!G zwMxZYKb1JeMiC|0I}F#D;hJKo#raCAS6L3Hxrv*KX$2LO7v!+=^-?wTtz%vJ95|>h z$Ps0XP>s>+sG+`04JOn?15KCQ;QG5=N)htljq8G1A&?JWrMA&VYffJYjT_id#!ndJ z7CynP6T z063`NlPrVAq!g?n+-S5*O%|b0Jd8j*Fv{Yg#B~pbvB#yo!61cQNV&8RgDgIKSu94d zyDP5yng0G@pBO7e2YA(B6RNBo)Lr#~L|pu;sGD4~)+_b0X8ojwmJpF)Rd3cRj;(4? zzSL-``l2O;(4qtXaRqgU?MW$;T8;+pwIuM~eN z#yw51QEC@$uO)lATeMp(yOdeol+mJ7sF$x#ADft(m?~F%jNSD8X6wWx_iwgWCyI^Q zq~mOaKN(J~+C?A7=jLYZY-xUKe*SoNuCz8klbx}T6=sU1+46 zs`4lNf~Si3nqBbQp53z2@zu7oo(cZ~q!Z5#GL5F69w`9E(d-A z7bN}xe}o%>q{)qQ@@BQkq?}OZiSthsys4{anV_=za5bOKrn8D$a&cpAV_sZ3eADJrrs_)}wx=y|S8st?a=l(JVO6BFG`(J} zi!xoT7BHs^RxH!yjIl*=RTeN?K1bi~T=&pYU4hL?ptjXuhVfb6icNBwKpg%TB&xCT zV@8EYxGcDK-4eA0EtIU{QQZp5w^XzchjnXdE+DCd%Be8%xm40>+BELllCrVg9OFk diff --git a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_file_strerror.c.o.d b/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_file_strerror.c.o.d deleted file mode 100644 index bce4a20..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_file_strerror.c.o.d +++ /dev/null @@ -1,41 +0,0 @@ -lib/CMakeFiles/zip.dir/zip_file_strerror.c.o: \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_file_strerror.c \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zipint.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/config.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/zipconf.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/inttypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/inttypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/features.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/alltypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stdint.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/compat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdbool.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdbool.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/errno.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/errno.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/wasi/api.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_header_macro.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_ptrdiff_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_size_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_rsize_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_wchar_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_null.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_max_align_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_offsetof.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/sys/stat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/stat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stat.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdio.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/types.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/endian.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/select.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/time.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/time.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/strings.h diff --git a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_fopen.c.o b/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_fopen.c.o deleted file mode 100644 index fff8db77838b8747b94cf15f738ba80fb1af7d48..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 756 zcmYjPyKdVs6eTGuk{^kbcM4=6(F_R$IZhnQaHphg<_=woE{ZH&D~k21L>X}h%k4K5 z=+?3S(T~YgpmWEPc2N`{cz6%b<$drXuS_sP2!CBJmq@u&>bl1D8WwkrdLd2nBrh8Z zq%*^H<0u8Ma1%(fVonhHOPAd9r*57_DThL-@rwQ!5fnPewf4yhZZ z0X({p`o%ow5Fny_mZ30e{rV*FCssFVvQTTh(CX*nYKfR~Ls^3=v@vBWRZmtVRVi}F zkpS$FJpsfaCRI<#5!;Zk$218h)9D7)sBW&GY6@j@sOT>dYtbfcy=Cni%sRA9J0I94 zxhB_i^L7*6AhsoxTMjwy;P(1igQ{nW&Q?K8w!J2I=*}rQX1mm&Cf%mHrYJ&WEEC!j z&MVhrwl4}e5Y)i~JEVsv>jL(THu^5rn&|H|N<*TrzNCQ=Y5r>%F%gmrqi<5%DnK;0 z`|8c>TSe6jtes%=o}eFC(Vj3yzon*`7gb8)_}#$7*4&f|Et-fZFe06wQz!{Gp&VALCpuAE^o8TFk$TzGvy7>ouz z-|q*PlK^^yGxSCNpuxQ&1ny42<5dBrZnei%Jhj);V;TP$c9wJN!1v-h9md(%i%V-a%~D=?c`n*!PjW72&@u{`Kp{p8Y(CGS MwDd9xQyU)nAJYNK9smFU diff --git a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_fopen.c.o.d b/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_fopen.c.o.d deleted file mode 100644 index 684f833..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_fopen.c.o.d +++ /dev/null @@ -1,41 +0,0 @@ -lib/CMakeFiles/zip.dir/zip_fopen.c.o: \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_fopen.c \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zipint.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/config.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/zipconf.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/inttypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/inttypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/features.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/alltypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stdint.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/compat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdbool.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdbool.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/errno.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/errno.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/wasi/api.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_header_macro.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_ptrdiff_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_size_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_rsize_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_wchar_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_null.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_max_align_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_offsetof.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/sys/stat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/stat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stat.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdio.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/types.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/endian.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/select.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/time.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/time.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/strings.h diff --git a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_fopen_encrypted.c.o b/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_fopen_encrypted.c.o deleted file mode 100644 index 729c23dc499e2506458e816b3e7579a4d8652476..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 767 zcmYjP%Wl&^6rCC8owQDyzL2_@5nZ&hoTg3VD6CqbYZh$SxfA=wbu)fokE4b~6Zi%e ztdRHveu0na3W+sKW|9i9ET6e&?(_H}o<|rVgug78OJv-X7V5!^8$-i`G9R=_9`$X> zfOuxQt_Wk`nHxcrWOIVh6P-)$P2DsJV+onDz$^Mgn7T2Kz!izdC7>1iOtX_Dh1d;a zAMRaMYn0Et%gt?>xOnz z)GFqX?WzIx6t#E9_UZo90J~-reb?SqrSCM115*2@%@RVS^G~q9Qjs=7`o-w0c57sy zB<{X?^ZME-S4~_!!iW>}0~^&xjL~oHQ%|$RFFeR{+)_sm@*I47JjZ2E@HlvPe%9@E zdqF7a@vW3;{^C@fZ;Nr)OQKUDX6uiwLhrzn^kO(1fa8yPqtS&k^e3af(}y$O_x!#=Vuc=U#hL)~k`Cc(oF%m5E!3oX`j8 zp_ldz`ZRr=9=lujPzuX@Gv6@ZFf)r-U0{R|{<7cik#kGh#}>D@9RmiPpOz&A3rtc9n(%Ve)K6F&cb+ zviO8ar^S!m_NAfsC?KzC(4mBOHi1jsvp*ztDOxzE2Jn)M4LA#DMBQ`eH0V$Gbas#)`a|@?cJ|DCn_Om2@4F3&S&IMP z7|s|W^S;^qK!GUv1uVeSSIOewwS>c zoAG46nol{OCD&;J)ARvcpH)0bVZWsFh1W{S(@PsoVB6F%- znQl?J1tm(Eg@d9II^QzUK$mAy^lQu<~%%n@5CWXuF0ZgRK5WL&HZ@=B!-CMAyV+8<|@2{?|Aa$%o zmr+PP-F- z=!GIsBSos$KNwEBQ-2mXqAR!kp)0yhAnZ^;3@~m0{E6^@NwYPn6+z$!-Khw>{lFj3 zSwM}w-LUEhLVzZe!4$Ay0q|m{%onhT3n4eqz=at%(JTTHEE44+QRXGS%$G2=tD1aS zN(H`>kgO(WrA~(5!V=yZ@$z%vYtJLTj!U?VE4YU1xQb;nxy}Z0ZZw&s-^2~vJmR-0 zzB_mu@0{_w>={LPmm;KNBqTQ3WI2HjJv!dPd${!u-zMw(xQ+ME_ye+i zFuz@yKct9u@FDJu_^yl*_#@oKN9IS8AyHJYV#XC9y2s@0@wK-yx6m>_kG)mtsM=&2 zq4uzfdq=!RPWQ2f`)B-soF2@b0!_lh#GOJN zQ%BSlO41c)JR7GvDWwKZ%DaKRFPTaV@jjRum^zp#NXP;~FSGjA zyDwgGZ+Y6^Z*_4JpTlKz&yA2kJj(bDj>o`E0qZ2B)< zfj2U;>?H7eGe-ndr9fLpOsAq}om?oo{4hLh>jJ=(vTom3rv zyyv>-$)820BjJR2*lIOIv)8V*+lS3ouivgW>tf%oJH1A`QFEMn@1WlkwZ<-dC8wYf z+QC2$B^qM0Kuj~0{K?EcwUTjIF>VN!KM5-(ho+K6=^F;*&GOGh;QHR6k{i$5aCmOJ zGf^?dv(P?qg*9;f6Wg6umObAK1A8)|dRYBQD2Hmr2t;25R03gz7ZWk9WTwM`XNlM0 EKX_bK{{R30 diff --git a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_fopen_index_encrypted.c.o.d b/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_fopen_index_encrypted.c.o.d deleted file mode 100644 index 4eaef0f..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_fopen_index_encrypted.c.o.d +++ /dev/null @@ -1,43 +0,0 @@ -lib/CMakeFiles/zip.dir/zip_fopen_index_encrypted.c.o: \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_fopen_index_encrypted.c \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdio.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/wasi/api.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_header_macro.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_ptrdiff_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_size_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_wchar_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_null.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_max_align_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_offsetof.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/alltypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/features.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/stdlib.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdlib.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/alloca.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zipint.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/config.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/zipconf.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/inttypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/inttypes.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/compat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdbool.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdbool.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/errno.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/errno.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/sys/stat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/stat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stat.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/types.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/endian.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/select.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/time.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/time.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/strings.h diff --git a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_fread.c.o b/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_fread.c.o deleted file mode 100644 index 5eb22dd7523993c40d0c68185835ed45174f5280..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1011 zcmY*Y&2rN)5SFE;Nz(+Iwv_(TRa+pzIHZ5cgi~86SB7DR;bt6L38s$i%1VcFXbL<6 zaN){{cj3S=!#nT@aDr9RGT^batJQwrej}}jm-P%ni1F_1?2NEyY%n-APPG}3XA~#; zOK;?uh>uOzjlx)X((Q>}B2OqG=iy9w{-K*DVXTB?14D<)ufo(7QYO;Pgd)S3sbg8v zm%ebN@PZM+{C}BlM<%`VBtqF6UEUzY?{BsJ#>$0(aY_g5bQ}kk!ZGscU=35x2xoi1 z$AH1uAeHerskOrMWV>GCRhBjFNauqtm$M*=&!#Lz0@WP(KC!hcmN4!XP=`Iux z%4C1QClN5&WOF40J&h?rsX_@aV@i3HatTu|U8Gc5ft&lkFFwL8Fu{7lFC+gHT!yJ5 zK8?_6gpT-T_NMq1)G-S)a0Oi${D3$(FPZ z!j}=Te1XtXufeqnE%6my$l?GwEsnzq0C4N|@W56Pv)W`Dz6PtX_L#3D_jOo@>qqwZ?dvP%2yx=vct&i^I zwmC^YYZZBHt-~Bq#mH|P zxg#1utKMpDH=04Gwbj@X8{U>5?6h|3zP}Z0 zb^=k~sgn12xWrVR>f&q5Zw>aq9jVBW5==cVb3NxC=lox}?(4WzwhhBQhwdY=o{)rxXYiB7HFd&JukMHdpJk5|GUs6H{{j^%G2tViLyONgY ztSren#fp7+kGREUa^;T4ag@kFjhAwns%u8b2F`U5F2-3JC0Z(8(hB||%EozGs8Eh` zDHm(UJ2qcLM@em$9UPl9N>qko6|Kp=0PcWds7J>uc zaJY%j2Hs`1sG*YuHL%`bc66QHrLe2OY!gO_A#!M7!X~du(}bq!z6CAsgXtXu9Gd#SKog9nm6h#S_evgrHuSddHpv=>%ZgoFGk7F+^YY$U5-Hx7Q9>E2!##IYYG(@3G4pI%87r^&q6To$p8u7bFbJ$G4Xvq}Cu sPA5T}_jZyr(JII?jM$%L+AMF+RdObkOhW1F>rCc7JCEjxFTdCS0jR?Ood5s; diff --git a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_fseek.c.o.d b/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_fseek.c.o.d deleted file mode 100644 index 9ddd667..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_fseek.c.o.d +++ /dev/null @@ -1,41 +0,0 @@ -lib/CMakeFiles/zip.dir/zip_fseek.c.o: \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_fseek.c \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zipint.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/config.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/zipconf.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/inttypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/inttypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/features.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/alltypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stdint.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/compat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdbool.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdbool.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/errno.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/errno.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/wasi/api.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_header_macro.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_ptrdiff_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_size_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_rsize_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_wchar_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_null.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_max_align_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_offsetof.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/sys/stat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/stat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stat.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdio.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/types.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/endian.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/select.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/time.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/time.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/strings.h diff --git a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_ftell.c.o b/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_ftell.c.o deleted file mode 100644 index 31e18be452f1776578aad7fc9479745adefb4977..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 807 zcmYjP%Wl&^6rD%XIFHt8o3`m=F(X(cGEUQ`NfcIXp=?>OVdpybBy}@>bUcnIizcvT zi^LKnBqSt$iya@pl9{?lmHfDKeC|2-USHs*Ap`)xPs`;Jpi8)bcb90f0O+>{3YbN6 z({XqZF;_St3uAGM0C<2?>3TCKiGxToffw)|ejg-G8fU^|j%1wY$hGeQx81kETW_~|`JFaZP9Ah?AZ zv~UJ!krYVr64qBU6rB>|VilY(XjvtchqzgT)jX#{DlG(PRZ*%rrKTvg z$COpF+CnwDM%L}@P_CO~gKXZ=h7xQj!Q5ple{GX( zt+Ye7$WHx(Zc3HZRBFxtep+x>0lNxN6}EAc?y0u-6|{d%56Hno+k0je{Llg=^>=1L zG)2Z2eJlWg%6i-rJ$_UNKwl7i)gLQ@@!0FUc>VGM7fU;^^bCS;5P?4sm%bwi{%TS= z5wV|nOr)@;LXV{>^X>61EPC9Hrf-jrI^9lp8c5Q*k}^r3AFB8&8+W`oJmh?yKWvqH z%{)m?hQmG^_@nMPIb7dx2 zYFO2A#%FfEe3tp>V8@BHwmp|~JBa*1C^tKvGr{9%YE{CF%V6&Ej9F%wNq5YdJ>~J( p<*Bt9#gP6u!9uL4FJ>{-d6&s9+|DB5~-dOsidX+Z~2*!9Ykta$#yWVA}`iqPy<; z27QRWNS~rJ-Sk|rGo55|&iT&Ych9*YRy0%yA3s|ZO8Qfxs>;2I z)@r$q$E~n6Dvq=Y=fk+AGREASmp@KBv93;2T*v?38YUa!^Tf+*@oSxO?LsGzak#&9S9sk|kgX5+jzRFXaQt zERnu#whYT9T4bpvVQEM~`i^Cq3d=$UvLm(vE4NuCy@=F6D^Xxr6LKcaWd7l+uqrF8 zA-;zAJUYYH7p;+q?6QFjHemxc`)mtU$#T2Tc3_9?!aD3i9=39eqwS$<&!jQrQ-D1v z+_8P+a{&8rFk**u?uWNof^NV_FlphLNS-kSkAT6^8+MF2ML34yh@IeRPcTCgNwQNZ z^6U)G;MAmKPBz9$SgM4j=4OGFalGdUo%fjzdT}w{vX&-4Sk|-$TmqHVNs6u|rfaM_c zJ7b%Nk&;2x=265uM*C5T+pgvH-d$Z*s+DTb5m0&%B8XmGp#Cs!SFqWI>rNIQ15^9l z7I1xYQ|D%68KTz1gH diff --git a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_get_archive_comment.c.o.d b/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_get_archive_comment.c.o.d deleted file mode 100644 index 7445726..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_get_archive_comment.c.o.d +++ /dev/null @@ -1,41 +0,0 @@ -lib/CMakeFiles/zip.dir/zip_get_archive_comment.c.o: \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_get_archive_comment.c \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/features.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/alltypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/strings.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zipint.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/config.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/zipconf.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/inttypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/inttypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stdint.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/compat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdbool.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdbool.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/errno.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/errno.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/wasi/api.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_header_macro.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_ptrdiff_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_size_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_rsize_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_wchar_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_null.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_max_align_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_offsetof.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/sys/stat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/stat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stat.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdio.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/types.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/endian.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/select.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/time.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/time.h diff --git a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_get_archive_flag.c.o b/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_get_archive_flag.c.o deleted file mode 100644 index bf8216e3e0bcc3e02e16e0fb4c2675ff7f6e656a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 606 zcmYjOzmw8H6yDvy5lFajz&Os>?2ZjiCLDJhVX!(zueP;|%jP8)+5EW8h7lXk%F@Ep z&KVmE|2<2S!@_3Y`@Vhed%qAbQ;ZP8UyjEk!tad3;eZe1cY}xl+0F?9nPk9KkV2ZP zJwfOnU1~12L6Ik!24x(u@%d2#^?rV8q<&yLJUp+dBVxvSz*^Lxtu1TQHbp+MYlD4a z)`s|`McWh7VrOfUb?6!GJTQ~ol3Qxt^-=R>vo7sU$e8tLk6AXhPNYrk33Ku=-`1}tT7v|5gXAV9np(tY)r?Fg?=^tb?OPXNfs0Hdjsnc z(fDIh1TpAdUV1^D4=wp!iz z%P?Ba{W)Cmxd<1l#Y~8KcpZf>Tf9KunuR->tES-yxULkGrfY2~x%EzGbDjTymlxW7 zBDj=Zl7)$?t9khjl+3f(?WL8}$&SkkTqmtG-$?LcnQyo(-BFfjTJfT&x8+5JZjSFd W3L;RD3Gnp3fYLR~B+fkep#K6u7v_Z9&cuo%FXX_a4Cm$>ue{hwqLevc#gi8{1Iq;` zasmBs8^X)&o0jE;uE)UP)+h}f?nR-+?V%4iMnrnMKt-tfJ{K?=V3i=O{CtyVkl|W( zN7&~`CxeDAQ9`AOUZN$69$-Z*xJQJxgB86z!1@v`)1@O_CWqvZ%5_9b+oYsd1|n|} zp*j#T#i~$+R%vBRS49A|M`|^!4v=0GT1{xex=m_&oz^w=2gc3o0q!oSt_L|kmkN}# zOB6v@5#E*JcLj2_;8Vn20iekO%8|Y*4z1Bu zx^||oi@58T;2WY)O<`)D>YH@)f^$Pt(eFHaS@eD4g=13rm8(mrL~dJof5*Tr(Ka@V z7Y*`)*oOc@Zs#g#Ae6sixTIUT_Z80o_(|kiNgBry~Xq%!g-wB-x2ajI&3*nu;csF;$w=Vr()3P{=q>PdTzhn@9*~x+)=;N>%gwvaoldd z+jg9eyEk&7-MxoC=a)j`Hp>ez0-L7{l8T`YQ-5L>x5Ln`C}tFMqv_bbZ~hx=GnxYP zqi}2}LF#jFYWpb|T97WL+#LJS(DoB!EsR3W>^K(XH%Bqg@0g)67y%RI1e4EVNQ_G2 JjYAV&^1maP0v`YX diff --git a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_get_encryption_implementation.c.o.d b/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_get_encryption_implementation.c.o.d deleted file mode 100644 index 747dbe8..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_get_encryption_implementation.c.o.d +++ /dev/null @@ -1,41 +0,0 @@ -lib/CMakeFiles/zip.dir/zip_get_encryption_implementation.c.o: \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_get_encryption_implementation.c \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zipint.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/config.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/zipconf.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/inttypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/inttypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/features.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/alltypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stdint.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/compat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdbool.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdbool.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/errno.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/errno.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/wasi/api.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_header_macro.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_ptrdiff_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_size_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_rsize_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_wchar_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_null.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_max_align_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_offsetof.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/sys/stat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/stat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stat.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdio.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/types.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/endian.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/select.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/time.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/time.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/strings.h diff --git a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_get_file_comment.c.o b/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_get_file_comment.c.o deleted file mode 100644 index aaee557a692059550ffcf6ed21887f05bb1f381f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 723 zcmYjPJ#X7E5G5tWU$P@7cD^$lkq!w2IZhnQaHkq=kg;nwRhDQ)F-0j7Wi%Zkw_Ep4 zUHT9DL;6oT73kEllX$F1))tk6RtORk~rjorfPx9boXPJIJ1yZC!oUd;wYkA$P=Ge?NQ^;r&8uO zRx&2>_Hdy9?8Ds>~A<4IapH<;SdgFS6weLB1dwNW2tofKu+LfGsuyl zqaWp*RcYirMoL-i^EO}X`GmQmlDKH)8oxjcAxebwvt`avk*{9cG8dwD7M_xZFZwJsT3 ztQSijeW0Fzo6%@UZGYS!k8kXeKN}D10ljhuoQy@=qGVO;@+4 zuE>jJrJ5BlXv$(9n2jiBB3!sEr=}6*!ksc| s1uUMrEHgVi<|1{IL|SLf5>Y-l(@5!zrj&cs5>E-u%vu%(+@c@EKO>U9y8r+H diff --git a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_get_file_comment.c.o.d b/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_get_file_comment.c.o.d deleted file mode 100644 index 5a2c82e..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_get_file_comment.c.o.d +++ /dev/null @@ -1,41 +0,0 @@ -lib/CMakeFiles/zip.dir/zip_get_file_comment.c.o: \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_get_file_comment.c \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zipint.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/config.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/zipconf.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/inttypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/inttypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/features.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/alltypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stdint.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/compat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdbool.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdbool.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/errno.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/errno.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/wasi/api.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_header_macro.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_ptrdiff_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_size_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_rsize_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_wchar_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_null.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_max_align_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_offsetof.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/sys/stat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/stat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stat.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdio.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/types.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/endian.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/select.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/time.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/time.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/strings.h diff --git a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_get_name.c.o b/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_get_name.c.o deleted file mode 100644 index 6269652b436ae2bd3687e3b88cd7c2183bff3816..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 984 zcmYjQ&2G~`5Z+zeaekcIP@1NY!mQvB6uG2LlPa8u__=cBmO9QRIB{%aZz{@x1R-7k zao`O&pmIgxEjaTG+&MBE7txDn=i8b2z8%jHFI!MT2>rZXuZec5t=_Ka>QqOQ+m*8H zm%7z85uMq?VHiZhONR@wh|_aM$R(Uf&z}#IIEbW3wH3|bH$gI-3OO7HsfZ-Gf@U%e zqN%zhOna{g7@_6wcp~fr)$|p8Yp(7hz9w870M|hSea;Oq?rlIYfb>`c4L#8uG_1!g zFq*8v3t-&W9BwMl;>8>+4T`)BB`D8$1qxt75h~7xms?oAiWRCez6D$N^758lxnLU^ zyZ>b97-xVE#vCaMmvIFpqmC6fG77nj0%$!}ghG?mQARUzfei4 z^q4*%+=2>N&v&mnEc3%Gm zM()6M*nw@h;k?^)v4)wo9#chjp$5CpcpW+RpbmSl_)TQEnKRtNxLf}j2yY34b^ap-mYakt-X`+jG9G#QI__dfZAjU~49QZ?ce;mKtxvSO<;T848s zUyzo4#c|_Awrai?hHen4mGGq-pNTY#qiL(WScWn<^TMTQ*^8z0Mxk)0VLbA}thF7* kkxacL!OpsqM5;Aw*{PTa+$&$W@;nh)tC$7T$Q7^UUt&b+R{#J2 diff --git a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_get_name.c.o.d b/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_get_name.c.o.d deleted file mode 100644 index 892bbba..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_get_name.c.o.d +++ /dev/null @@ -1,41 +0,0 @@ -lib/CMakeFiles/zip.dir/zip_get_name.c.o: \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_get_name.c \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/features.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/alltypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/strings.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zipint.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/config.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/zipconf.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/inttypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/inttypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stdint.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/compat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdbool.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdbool.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/errno.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/errno.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/wasi/api.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_header_macro.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_ptrdiff_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_size_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_rsize_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_wchar_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_null.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_max_align_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_offsetof.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/sys/stat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/stat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stat.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdio.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/types.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/endian.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/select.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/time.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/time.h diff --git a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_get_num_entries.c.o b/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_get_num_entries.c.o deleted file mode 100644 index ba7ceeafbfa6ac841b65f74ac025b0d7db3994a7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 818 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 pZ+Yc|11xfG`=BLnpz;}Y7zhd diff --git a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_io_util.c.o.d b/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_io_util.c.o.d deleted file mode 100644 index 5ac621f..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_io_util.c.o.d +++ /dev/null @@ -1,59 +0,0 @@ -lib/CMakeFiles/zip.dir/zip_io_util.c.o: \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_io_util.c \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/limits.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/limits.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/features.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/alltypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/limits.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/stdlib.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdlib.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/alloca.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/strings.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/zlib-1.3.1/install/include/zlib.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/zlib-1.3.1/install/include/zconf.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_header_macro.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_ptrdiff_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_size_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_wchar_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_null.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_max_align_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_offsetof.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/types.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/endian.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/select.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/stdarg.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdarg.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdarg.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stdarg_header_macro.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stdarg___gnuc_va_list.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stdarg_va_list.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stdarg_va_arg.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stdarg___va_copy.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stdarg_va_copy.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/unistd.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/wasi/api.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/posix.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zipint.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/config.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/zipconf.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/inttypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/inttypes.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/compat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdbool.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdbool.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/errno.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/errno.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/sys/stat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/stat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stat.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdio.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/time.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/time.h diff --git a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_libzip_version.c.o b/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_libzip_version.c.o deleted file mode 100644 index 3924cedca0b779fc409f13e3c919c8ff72c31886..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 489 zcmYjNJ#X7E6ns=Z?Ak#EG(cu|Yax)4qS%JI1x>dCUAwsy^`x+&NP(n`xJ#S@88f8l z&^`aAzo=trr9&6qy{|j)fV-9e0J-08w?MuCxs84ebPx49UageW$nC1d*4Rx1WbgYh zg`>LxCyxWfgxp>PwuRR)gLpc97}{_F(^1BPbc_HRI7aGqFHMzHsvEw2^-H=F0ody*my3sxO%^?Wt1h=ZA*VuPFTNe7T(C zqAJp&IA1KQy2uwfW;_?wyqKp#cKSL}Kdu|)_s~WlQExK_sEqirMpF>RI z{|ah4pPUG;6qUM?Hn>p}Qcy-W$)xR-mus$iOyaipyi`aVWlFAGa;%N^mUmr9lh&O# YQu`#fSffQPkorxBE*U%7Xo@%fFHrWH8UO$Q diff --git a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_libzip_version.c.o.d b/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_libzip_version.c.o.d deleted file mode 100644 index 3f6f88f..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_libzip_version.c.o.d +++ /dev/null @@ -1,41 +0,0 @@ -lib/CMakeFiles/zip.dir/zip_libzip_version.c.o: \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_libzip_version.c \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zipint.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/config.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/zipconf.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/inttypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/inttypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/features.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/alltypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stdint.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/compat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdbool.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdbool.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/errno.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/errno.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/wasi/api.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_header_macro.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_ptrdiff_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_size_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_rsize_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_wchar_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_null.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_max_align_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_offsetof.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/sys/stat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/stat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stat.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdio.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/types.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/endian.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/select.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/time.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/time.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/strings.h diff --git a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_memdup.c.o b/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_memdup.c.o deleted file mode 100644 index 25ce18d134cdd4ada2e6d3ae186fc28c84a53410..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 767 zcmYjPO>fgc5S?8ob(%P}`<+%j?1~y^;yQ+Iz){ zp!rD}fIec>Sv-=^5~wyJv_>>io6Yg*fI0}i zsc@4ssdo42i)Xi5UDuI*g5VW~??}@>Uhgg0Tns5mPdc57TEQ)j(Qw)vmqJc#>z4-At=Q#4|ssm~Ez&@W%;rq9h;tNont9c_z4D6jC^6QV6w@w#nIq Uah3(l5%YqTcB71=%wccDAF5!%u>b%7 diff --git a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_memdup.c.o.d b/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_memdup.c.o.d deleted file mode 100644 index b734947..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_memdup.c.o.d +++ /dev/null @@ -1,44 +0,0 @@ -lib/CMakeFiles/zip.dir/zip_memdup.c.o: \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_memdup.c \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/stdlib.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdlib.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/features.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/alltypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/alloca.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/strings.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zipint.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/config.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/zipconf.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/inttypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/inttypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stdint.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/compat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdbool.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdbool.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/errno.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/errno.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/wasi/api.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_header_macro.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_ptrdiff_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_size_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_rsize_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_wchar_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_null.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_max_align_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_offsetof.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/sys/stat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/stat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stat.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdio.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/types.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/endian.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/select.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/time.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/time.h diff --git a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_name_locate.c.o b/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_name_locate.c.o deleted file mode 100644 index 4d1cf69795bf9368f9721c110919f0f213ededc9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2309 zcmZWrOLH4V5T2RUTe7uDoWw~?=uQlgBgvLyTaE(+uM;~jAOQji= zV~l^jxw*+=i(0qavE;;yHRVFr0X`^Qd@dVC|#uOxwdqe7WgR(($t)4 z$&uGs=zrQOIr>_?^oVW6m6C;(ae}-pvn{Q9lSS?acrfVmod~1kn03jb${bs! z#^dj+4rc~Wif|vx#;ev$xViup<@U%2(4lm!o$82!oZ3mMS>SajD#qP z5QH-#g%KrU7*!&KG^dntBZdixLt+J!5P>MfAgO=k!>0(oj}ZD+upjz|1Nc-rc`v?8 z(TGt?P#d78#__J$plz@bqBhhG`7%s>TK$wS#>aGS9e2gq(aY=Z&VuKVc{*bV~Q@hI3%*s0(0 z3p7YmgGB)f0C1P_@4p)EhF!4x4DO*YL$C*iTKE`+dF(-$y%gqg3Inhg9tU_31_=uv zhRNYR<9i+V!#>#G!eN3K4u}@;33wvU7(QtX;sJOP4tSV>3>@g-2#oZ?6!2h>cowof zu2j#A$YDN6cGTxO200jOVF3<80rD`a($?pMj_0nHC-; z%%eT(L-;H_tG}&?Q1NHUZ8iwu$H<{!{J?Pz447--G4eas^UL9J0-T5AFyF!jBUqpl zMv&1-H~}YNVGo`nyi-LnJjd`fbx%)gF)^!Alo2h4XB7QOd=8!)(F*uHoPp=h;|qj( z7G8j}Ej$P3=KFYH^kU%hk{adk5HGg0@LU4C1Sl`vrIv zE-c_h0(}iG!fP#j-QT#cQx?75n!`(mz{_w6F1PRsWq75R;UHc$#;^oep``n_11=K& zVo?kz`~frxe+f)jI)N79m%)N^3nd}Q9>M@tXrc-gsIK5LIWH5rq+i%!tSOWNt^{OP zVFgy9w&h)w2sPRkHX+&fPfH!@`Ugs_%!kkcCs?zfEDgeLsAUT)bXD8t9LE+kp>-2o znslk~DHepzVB3hJN9;S$1`j&HnFxT_VC}(XxJHiG9v+cNybjkh;vB9A%x@@>!#9-3 z;7wSE8}J6))Iapuze&z-PHR2B8?f<^FT*ZPb_v-hdl)ylx}|Q>Qo}92g10%`=DnM0 zlc$sHSA`g*XKa;T9TEFU4bzMz)9QUu&jj7)mgz~MGZsn(*Zd=DMrxfiT`*l^dWh*^ zrbn0_WqK_9CB3wIoaqVnmqJarlAuP9ojpDu+8s^uC~&qSqFo;Sj`QfxoU=cL#_nh# z_KT*mZ$lyWTPV!F2}jr;;VAzi660S*;_UNig58NFBY(#t1OHInKaTgYPvcScdt768 zNq(E?XFn#Q(R&Hb?y9iyrrRiYEa|p+in^9;w`DoMw9dnpZ93J9hsH+>qlIeCgUqt$ zHQPtVsK4A<8nqhrG231X{_^CyLa!oBPESwCVtJ-8Gc#G7E>~tIiW73&oUqDMGgAf2 znkXNtlx1ORgndHimZd$@RS#}OnqJ41?N~Os)Uj9d!3RS&{m3BSXnNTlmTBAh`)_c* zu_j%+;Z(DUddK!^Yo^_i*>t_*Kgs#3-B>d1c6OW7a6H#+Hfag-m8PdYJF;n4R-`K( TOXj`xrfg?p?ON5z%j@2M4J;3% diff --git a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_name_locate.c.o.d b/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_name_locate.c.o.d deleted file mode 100644 index fa007f0..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_name_locate.c.o.d +++ /dev/null @@ -1,41 +0,0 @@ -lib/CMakeFiles/zip.dir/zip_name_locate.c.o: \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_name_locate.c \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/features.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/alltypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/strings.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zipint.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/config.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/zipconf.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/inttypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/inttypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stdint.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/compat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdbool.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdbool.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/errno.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/errno.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/wasi/api.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_header_macro.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_ptrdiff_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_size_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_rsize_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_wchar_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_null.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_max_align_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_offsetof.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/sys/stat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/stat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stat.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdio.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/types.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/endian.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/select.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/time.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/time.h diff --git a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_new.c.o b/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_new.c.o deleted file mode 100644 index b6654ee0586fe1abdffabe873b8694764ddfc5e1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1163 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 QhbuX6Wo~wHApCUYzx-bw6aWAK diff --git a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_progress.c.o.d b/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_progress.c.o.d deleted file mode 100644 index 617845f..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_progress.c.o.d +++ /dev/null @@ -1,44 +0,0 @@ -lib/CMakeFiles/zip.dir/zip_progress.c.o: \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_progress.c \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/stdlib.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdlib.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/features.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/alltypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/alloca.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zipint.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/config.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/zipconf.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/inttypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/inttypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stdint.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/compat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdbool.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdbool.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/errno.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/errno.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/wasi/api.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_header_macro.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_ptrdiff_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_size_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_rsize_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_wchar_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_null.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_max_align_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_offsetof.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/sys/stat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/stat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stat.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdio.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/types.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/endian.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/select.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/time.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/time.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/strings.h diff --git a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_random_unix.c.o b/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_random_unix.c.o deleted file mode 100644 index 671ec84070633e34649f5b7c1f7cdfeca6a5b456..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1361 zcmZ`(&2Jk;6n`_j_BviWyUusgqIch?c& zfCCgH4%|3^!~uyz&*h)s+6$-t1BeSqTo4i}Z+26uNN|{$H*bFL>-S~`ymZ6>fPH^? zc?so5d^TgVN7^i3n39182_Mr0{11hyXfistdcANMNiXS*Aoq!$!o$q(aH0#}B5HXKRNl~_s>FAAWPt8-D)K2w1?Xthsrq5AxZ z+P~mzceYKMOAx$k3k^AHXF^APCs(45(BTzY*qf}}Er6vih%%P2jAgsf7z8jn9O$5e z23Fn`b6qB?IEU4VF!_CcAI%4KbzCET9cx&hh$ryN6R|;2Hz;c1{2E@f zKUH;ZP!^kn+QLoTnuzO^#r4;-xPdob0hvGo3PcnWag%^I2}sF0V2N!y*}-kxnTT6N z+%BE&o{HOe`--?*miar=7O3yWD}sS=3<24h;K&PHw^DF^syG*=t}e=XRR*zZOo+`A zR_rfS-v3Q0az$B<+E(lE8c|8r)v@ltSGmnRWoh9&S`%Rt9d_P>1~%;cIuN@HPl?+_ z`-wsmc8ScFiO{9v!hvajp8Hv$04o&0RPkzJl`2^y)!HeMy?#~ks%4trDzv%>W_>S^ z=X+Ci`{EHmw{Frac}D#MgRcGAFdFd6uL^Aflp7xn$Gueg(?s?P3vL7BW%oTd%@Tk* z*Z?*In}crT-~!c~(i>^-Grp!A{7dJiQU)?$Kvo*qI@qPsk9l_UZW0Gx=DAni*_PW+ zQ}_Qo0Kju)S50IX`|jKCzwF^sX!8g2Q{LGp03yr@ygQps3 zFEj(-FRcP!>T}w6I&FT?tHw_{gFltmxiKX(^<|Q>8i~G4QyDn@3r0`div}O;-*sDV zYcS04&f_c_r^kCFKc4noKOXIc;dwDRWO^$74DTHt9>`8`)H*u4*EtMMj@q5Jyz907 z;Na+><@@bm|0IyDgE!!7)e0-~l7Y;6C(_G^`?S(D`_u5uDSo7;_1eaX$60g5_rlN_ zM!_(lXij`ClQ513&FW|xX2WwYoXVy(nr2=|!j_W+fdCB1e9h{R7SqMmPWf diff --git a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_random_unix.c.o.d b/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_random_unix.c.o.d deleted file mode 100644 index 5ba9293..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_random_unix.c.o.d +++ /dev/null @@ -1,48 +0,0 @@ -lib/CMakeFiles/zip.dir/zip_random_unix.c.o: \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_random_unix.c \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zipint.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/config.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/zipconf.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/inttypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/inttypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/features.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/alltypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stdint.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/compat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdbool.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdbool.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/errno.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/errno.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/wasi/api.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_header_macro.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_ptrdiff_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_size_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_rsize_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_wchar_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_null.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_max_align_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_offsetof.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/sys/stat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/stat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stat.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdio.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/types.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/endian.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/select.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/time.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/time.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/strings.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/fcntl.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/fcntl.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/unistd.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/posix.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/stdlib.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdlib.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/alloca.h diff --git a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_rename.c.o b/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_rename.c.o deleted file mode 100644 index 2d0f5e83f5391b26df892ef8fc07757e7b7fe2a1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 593 zcmYjOO>fgc5Z(3Kb>c*Fq)MDBu@*hFvYe((lPKIO;LH_?gS%djT{r8swO$9pp$_~4 z4shVkU*SK&jdj8SX|-?OjONW3Voiw=Lip=`zem7F{=-P;BXTEBWPAt1MY9E(B% zQ*jAprFIrV|J;pcd=uAIAvGw{;e-2AQO8*!AXXq*2?&!fy%a{?p96j%c88yw?uB7{ z6p%X_*pyIv6FAg4KRBsF(b76IfLCNRec7!3lLP$s}-lHVy`NC>YWc>e2xn zPL6_}5geJE(PJ>C*;Jd%L`2}9<;8T zmsiGqXp0-T@aXwFPvJ_^E zOZ4rtsqSm0a?o)GOt%V}K{!fUv5Afs3jO~`RMk3s#+eXNA=5&cYEiWXB`TSRUfBv= zY?){w^vhPWL_m~_Dq*4tPh};wVs&ly6=k*V?;QFHGBDfX5b0eFO*m+ZTt@Iw{{@2j BtmFUy diff --git a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_rename.c.o.d b/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_rename.c.o.d deleted file mode 100644 index 5a94505..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_rename.c.o.d +++ /dev/null @@ -1,41 +0,0 @@ -lib/CMakeFiles/zip.dir/zip_rename.c.o: \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_rename.c \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zipint.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/config.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/zipconf.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/inttypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/inttypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/features.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/alltypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stdint.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/compat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdbool.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdbool.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/errno.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/errno.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/wasi/api.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_header_macro.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_ptrdiff_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_size_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_rsize_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_wchar_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_null.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_max_align_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_offsetof.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/sys/stat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/stat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stat.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdio.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/types.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/endian.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/select.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/time.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/time.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/strings.h diff --git a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_replace.c.o b/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_replace.c.o deleted file mode 100644 index 691c91aabed34e1e3a6d1e0bfc6c80849f60a9dc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 595 zcmYjOv2NQi5G6$`vSkA@P@q$QQfP(*f*dD~ZMa*|cJ5lBgF;g$MKMJY6y??#BBx)_ zp(xM~=&$sf+O1Tap#Z^m?;Y;l@rYPmVuTR>w%_lOb3@vP7PmJ&3l^QkDB^g_A7S4#er_OPBMBOto4!w?z!u~Z12lR+~ zv`+`)gQ0H?hqh*T7mn!YZ!!8$0<{vLFCez6@FAP1s zHAdBM&TV|#tS7uG&xP0?uGp5|0XOt&xtzlyT}@Z3tHm-XF|kz7p0^(d$YbNUGg{-8}OewptI8&zk=_t^Ufdb%7 diff --git a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_replace.c.o.d b/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_replace.c.o.d deleted file mode 100644 index 081fd28..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_replace.c.o.d +++ /dev/null @@ -1,41 +0,0 @@ -lib/CMakeFiles/zip.dir/zip_replace.c.o: \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_replace.c \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zipint.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/config.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/zipconf.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/inttypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/inttypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/features.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/alltypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stdint.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/compat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdbool.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdbool.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/errno.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/errno.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/wasi/api.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_header_macro.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_ptrdiff_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_size_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_rsize_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_wchar_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_null.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_max_align_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_offsetof.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/sys/stat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/stat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stat.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdio.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/types.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/endian.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/select.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/time.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/time.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/strings.h diff --git a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_set_archive_comment.c.o b/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_set_archive_comment.c.o deleted file mode 100644 index 219a5da7fb8c8ab6c928f580d4c08e9a6a62f00f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1623 zcmYjR%W@M}5WO>!EMrSZ*ai$3I1L5_Lbm*pk6V5f#pr7P55zhzWBBCV~IrkM>(>aNz3E!%ys3bAAMeBId8+IGY8r5oug zfjRk2qpeBTwO!4Vz6fn8Eiih%+py}ICBG7CfE*32^^WvBO#}PSU&aHCIXz z4b1y?o2ApyO@@CLWTS|oPd^6h-*Lt1o@CRuphyW6MFi1JiXk=`8WDpisN=jS1$B%U zby*ofETfLo00x33UQ%fgaSS@NM_o}@uxB+XdWfOYAPr*(!%a$*4pFisXfF~-VsAPm zFLf!!l&OL`kx+(vK53)_)_v?cf_)fqXp}ie`S0CqOt+rjv}B z#7Rs#bPA{XGETFMGdPViP0Ex;=qx*&Lk4GYt}i3YGP1j6oDXH>a2`2_rr2W|Q=O z;d+@?nW2nTlpVUk3^#UUCg>(^rauH>dpd8i&NbY^T9a;baqckVUEIbU-0c_V9*4cx z3(Hr}fctE?&w6*--~k?F)Jb}Xhr5X%G4L@S;c-Eo?1g%QCm9v=lnFN11^6@A&ixL0@;IJ^$r6Z8hJ@h1I!Sh2TwoBYy+@9-`_X-vBg4eMpnnYIEQ z6^9HMt4XCtP-TQf6|zh&(&p<+awR(WcWqFNezoXf^_0Mf;M?TsDr{*9{Qw^&U4Ffbtg8HmL{#uf2jz_F+8+SQIBT~A5ytHHBN zR&$m2O3W~ItNvnkW-33GuQz;THhjPBElu6*4x&knUZrr+4o&5q2bS{+}nm@-#4?TT)C q*-^{3d{=L`x!So}+YhFDHs#8iba_h4od3Qpz3iaZs9QPtwf{d2DRzVa diff --git a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_set_archive_comment.c.o.d b/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_set_archive_comment.c.o.d deleted file mode 100644 index 5773743..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_set_archive_comment.c.o.d +++ /dev/null @@ -1,44 +0,0 @@ -lib/CMakeFiles/zip.dir/zip_set_archive_comment.c.o: \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_set_archive_comment.c \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/stdlib.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdlib.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/features.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/alltypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/alloca.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zipint.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/config.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/zipconf.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/inttypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/inttypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stdint.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/compat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdbool.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdbool.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/errno.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/errno.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/wasi/api.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_header_macro.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_ptrdiff_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_size_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_rsize_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_wchar_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_null.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_max_align_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_offsetof.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/sys/stat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/stat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stat.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdio.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/types.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/endian.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/select.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/time.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/time.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/strings.h diff --git a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_set_archive_flag.c.o b/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_set_archive_flag.c.o deleted file mode 100644 index c62c64fbba7a14fee31095e5ea45ffc00abb3f20..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1120 zcmYjQU31z-6kV+#V89WviGvf8+#5TI9Yq)$BZBi~#YtZK+BZc=3l|Jn4XEfT~t8>mh_v$Wl(y_uAQ$Al^T`~2OI-k##`C?(8 zxZLwE@=Hz?;Y_pbzz>C!*kdt{l1t9mbvVr&_ri`NKg>j;&J`J6|K5*nkt9)Kry^sE zSjCn>_uL7G!ed@?jiy-8InY>PmV)7a- z+~ifr@9`SmuyR;{8&LR&MN7doD8kwVOZ=3dLg~Xglc+kDts+*S43!bCTN`-OVyMA7 z+yt$ad;SUAO~xCwPwt_lU4aQo+X3-+j0*Sr4EA4?f~UDg@vmzyy)XK(auF9})A> zSA%ujfgRa_U5n#m*oDUvd_w3aE5lEz=skD}dn4Spw(%Kh=&%pZKwlO8oHU<*)vTdG zVoflhIl%)GJGd6BVhdU;;X^o-ZjT7th9hWC@EDH&Yjuaxn9u>U`s3n%c1fnYqP`$c zJ$M1V5uR8Yz9jG~IDwb&YUSxQd3r59@$z+(-YlE+7T&@e8Ux~-66TaJ3qS)cnwfVL zdN;x|INM#$jHQ*?@6tknX7|DmhrIZ!JmwhVH93tmoVJs==l)FCgTNW`Dr53d*l!Y7 zN<LNG><7;N=A8Yhs_d5>FZ_{H*gq1x7AKK6bw!dY723KYO@(Ll zFO|F-(8zy#bl7Y)TSGsCz4I)K(~|?*pHKTuHyR%V!EE_5h&mE(2FKlQN0?r()$1Lb zU2o89n{9FEv|X>$>$F_A?Hvs~(dz88&(vh5Wll1rVg|y=rin<4dbvLhE{x@6)wTZ} zj400ZE!PPG!w)?_p=?Gp6G;$-L%lSf2AMx|f~nB8@icS#fiQ+a)OUhZ-wdNLOPn~S gP8x$alUH8X5-|{o2wh=hm$69oV(Je=LwuM03%9!bg8%>k diff --git a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_set_archive_flag.c.o.d b/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_set_archive_flag.c.o.d deleted file mode 100644 index 18e2956..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_set_archive_flag.c.o.d +++ /dev/null @@ -1,41 +0,0 @@ -lib/CMakeFiles/zip.dir/zip_set_archive_flag.c.o: \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_set_archive_flag.c \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zipint.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/config.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/zipconf.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/inttypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/inttypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/features.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/alltypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stdint.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/compat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdbool.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdbool.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/errno.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/errno.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/wasi/api.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_header_macro.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_ptrdiff_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_size_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_rsize_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_wchar_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_null.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_max_align_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_offsetof.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/sys/stat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/stat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stat.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdio.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/types.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/endian.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/select.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/time.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/time.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/strings.h diff --git a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_set_default_password.c.o b/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_set_default_password.c.o deleted file mode 100644 index b7b8a424451df9f7f744178c6263957b10636152..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 901 zcmYjQOH$iF5SSl9-ezX20^_?mLb7!0PI6|Mxb%r-kCOJgG}OJX!~LN;=8hE(>+ zE;q<2a)BHnt5ju?Wm+~xrAnVSZ~Ar5>z0Ta4k;moejbmpgf}X5I`?T1*o<)ssSy37iR)w4;Eqgr9rw z1RWuzFFT=7MAJSd1t`h>K|ttlMl10yQe(ndyT~Qm4ftQ9{@ zY?P)I*I^w>O;*Md8&HCcYrcsk%CHILd%lH7-FnpO{8?M)+wcsw?>MyQIY-G30C3nT zPP&DLcG1voVo1w9dD_Fceb|G2tdc`~fH4OcGqIfKhuF>vQk6S?1V@kUJS^nM_vDxv zobABz`b__pEYmpLQZgzWQpXlOGjdfYFvIYzFKt#NB)KRlGV(PE&r0F?R_(>>msi?M zCPOo2N)#hMs7Ai9ROT0>ZQplQoBz5biilUlu2?>h=A zw@L-!^JB!fQMYFK!(-PSO&P)X$H|C!7T-C{y;)PfwUCk|NZrxo+eRjOq7WE&R7I{6JM#Ez@-k$Fm)Y)eL_m zr0aYAYIca-a7LyZiE3dODYNSeqwo4%(+#Ujp6@AX1_3tH=mjeIE2;%4dO`}%5{7yR OL|D~Br|%i!o%#oXLEMl4 diff --git a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_set_default_password.c.o.d b/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_set_default_password.c.o.d deleted file mode 100644 index d476239..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_set_default_password.c.o.d +++ /dev/null @@ -1,44 +0,0 @@ -lib/CMakeFiles/zip.dir/zip_set_default_password.c.o: \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_set_default_password.c \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/stdlib.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdlib.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/features.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/alltypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/alloca.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/strings.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zipint.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/config.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/zipconf.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/inttypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/inttypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stdint.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/compat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdbool.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdbool.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/errno.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/errno.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/wasi/api.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_header_macro.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_ptrdiff_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_size_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_rsize_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_wchar_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_null.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_max_align_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_offsetof.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/sys/stat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/stat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stat.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdio.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/types.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/endian.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/select.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/time.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/time.h diff --git a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_set_file_comment.c.o b/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_set_file_comment.c.o deleted file mode 100644 index 042b810d395230970bd868a3c6fff739d977454f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 818 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 diff --git a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_accept_empty.c.o.d b/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_accept_empty.c.o.d deleted file mode 100644 index 41353bc..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_accept_empty.c.o.d +++ /dev/null @@ -1,41 +0,0 @@ -lib/CMakeFiles/zip.dir/zip_source_accept_empty.c.o: \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_accept_empty.c \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zipint.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/config.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/zipconf.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/inttypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/inttypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/features.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/alltypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stdint.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/compat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdbool.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdbool.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/errno.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/errno.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/wasi/api.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_header_macro.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_ptrdiff_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_size_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_rsize_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_wchar_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_null.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_max_align_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_offsetof.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/sys/stat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/stat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stat.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdio.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/types.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/endian.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/select.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/time.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/time.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/strings.h diff --git a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_begin_write.c.o b/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_begin_write.c.o deleted file mode 100644 index 83c678f55d04506d5adb298698302521df282631..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 899 zcmYk5%Wm306ozNU5D1r=+{isSlaPeOG9e)l(N$=hcG*QY-8se##9(Y^JkX{KOuOzf zPf+y@`ZksN5M8zEs$+;EB+EMUpL4$7b7qXpppOwk_+dOABjpB%IJ{B9Fhn=8FdT(= zM1Dq@n8MtlY8Z~~GLsv9*7x{5LFiEqglY8*-?Lr8xDw(>&VI6egK_S0BVYnew44!% zfj8h5Gc40_5K+EFe2h~6WPtD=65p1tI3%M~xGz&Ss(@0Mh@b$fkt8TZ zlB6++6$zs82BLEihq*U2(ZDnb2}s`2d2&UrVE#Ibrp2j7hNd9}=`PJQwrEy1J%bEn z;aP4%ZiG~obhSn@8JwQ>Q=B=TReJgM)wMF0P;sJw(TJd5 zn4qsjN&F@l{f+A8eeSge7UKcV$k1Xzz*>6q9>*=mbUW|Q&r0P|xnm0`-U{Id&rfB1 zJ7|_HuYc+|!|6+xtzBjbxVXHmvRbQNuGcSWm#ucaQme2tvtqTX^=jF&Dy{Q&i9Tvv!>20bk7%BKDwj2?Y3+#-E?orxZ}AUE!7`5 z!XBE=fN5%fAk3!2^p4{-O()QnT+bEU^nE!;z3q$Wuh3M^+Ke;TV!F8ZS)e5YyW{HY GqxcVwY2W1l diff --git a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_begin_write.c.o.d b/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_begin_write.c.o.d deleted file mode 100644 index 2d56a8b..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_begin_write.c.o.d +++ /dev/null @@ -1,41 +0,0 @@ -lib/CMakeFiles/zip.dir/zip_source_begin_write.c.o: \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_begin_write.c \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zipint.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/config.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/zipconf.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/inttypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/inttypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/features.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/alltypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stdint.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/compat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdbool.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdbool.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/errno.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/errno.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/wasi/api.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_header_macro.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_ptrdiff_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_size_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_rsize_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_wchar_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_null.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_max_align_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_offsetof.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/sys/stat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/stat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stat.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdio.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/types.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/endian.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/select.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/time.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/time.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/strings.h diff --git a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_begin_write_cloning.c.o b/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_begin_write_cloning.c.o deleted file mode 100644 index 804aafa55d97834f2690afdc358d3ae445fbe3d8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 919 zcmYk5%U0Sz7{@0Q5aiO}{f7FDqJlAqqHyR++S)F==%%|E!hnI0#L0x#E(rGW25n!U z+rB~Hr0YIJ&*`QU^msTY$$ax&e*erjGsy4<5<*D&HXe_We1*f26kf?;7^16K7>+_| zgnvh&m`t6aqU*NhP=o0MI&j%7M(DxqbHnWGo@+UrGC7nYclLwj>69^-=|1IX;>+og z({}@AQr$Fc8)5ll#FtR&^QUOMljHeFHN>M-xGO?qL~t`lWWXTzNep6zi4$UgYB(td zsV*ak6>*ZpAzs9Y%rp^6zzif_kz`XMvyg<@8jJ+4Yp@O*kNCX6=cnC|M<{Saogl*UY$lXoaK%OD80|a*7 zkX<2LfL$oukUb&0CuGI{?hD}lH1I&A72yDiHCzzTl8Bc?e6pGhITUSGg-h*`BRG0! z>!FfHzaqJW*y_IJbaC=$G>svIx286)MZ1=xzhf2`8)>^vl$k>)dL;BCsz@lc^uOhSPNQ0@(i5X< zw$B^q71OM?PdjZ|IWM8FqOVBd2J2F;cc{SwM*XCkZUuHX=mHw;uJ?q;GW{jlSpq0YLHN`2YX_ diff --git a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_begin_write_cloning.c.o.d b/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_begin_write_cloning.c.o.d deleted file mode 100644 index 19ec3f9..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_begin_write_cloning.c.o.d +++ /dev/null @@ -1,41 +0,0 @@ -lib/CMakeFiles/zip.dir/zip_source_begin_write_cloning.c.o: \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_begin_write_cloning.c \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zipint.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/config.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/zipconf.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/inttypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/inttypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/features.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/alltypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stdint.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/compat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdbool.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdbool.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/errno.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/errno.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/wasi/api.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_header_macro.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_ptrdiff_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_size_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_rsize_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_wchar_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_null.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_max_align_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_offsetof.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/sys/stat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/stat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stat.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdio.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/types.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/endian.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/select.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/time.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/time.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/strings.h diff --git a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_buffer.c.o b/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_buffer.c.o deleted file mode 100644 index 2596149bd887e8248b48bbd8c317235bbb379776..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16267 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 diff --git a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_buffer.c.o.d b/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_buffer.c.o.d deleted file mode 100644 index ce91b4e..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_buffer.c.o.d +++ /dev/null @@ -1,44 +0,0 @@ -lib/CMakeFiles/zip.dir/zip_source_buffer.c.o: \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_buffer.c \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/stdlib.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdlib.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/features.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/alltypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/alloca.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/strings.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zipint.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/config.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/zipconf.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/inttypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/inttypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stdint.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/compat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdbool.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdbool.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/errno.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/errno.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/wasi/api.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_header_macro.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_ptrdiff_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_size_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_rsize_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_wchar_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_null.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_max_align_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_offsetof.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/sys/stat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/stat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stat.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdio.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/types.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/endian.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/select.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/time.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/time.h diff --git a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_call.c.o b/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_call.c.o deleted file mode 100644 index 9be4ab7884f66b6ec5b4cc6cb87b513263b26dc5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1311 zcmYjROIO=g5Wc$d3ksp72>bC0A~Jz~ z^fW;-NsmHLJdo;XDvu^2GBS^K#>=7`_6L>>vfU^*jwNSaTmYZ+` zW?>F)0*nRR!GX7k{#Hdz4CrseZHbr-5$9oECUYm$a*&hwcSC$F#LtKL3vdVSf(Ch5 zfb3W>zmTCo3h!`U=fyfu}F0-LlKs{SfaL-&a28`xfa0+l%cYP_sFLT z_n_Lv74lgb_}s5uzz1+29&F)5@_7Ug;ZYYK!{b43Rw0J9dIIZ&wg#(EgF39Gzox7h zu2U8punrr$xJl7lunAjTd=hl`$pGOgjqe#eg=dHOyq3WiG?JI_9A3c7aD0QNy&}hL zcm>;s_*%Au;f@p$d;_mx2i}D4$>eztcBv)1H1j~s;#>Mv-;wFvA-;$A=fCRPRFZv? zxyI?H9kuKxPy8s=2#Y9bUEV0q>A9xRO~bNynz1yC()qLW8Fq!`nEAEs^$j%{Ur^%f z3j0IhvEMn%{K?hWPb$y+qN?n-2xA|koc$W*@xP-A`z(WpI`9ibhL-vF3cf6GadjHVd&znwr!Lp9SL!;0`y4!#iCI(8>MQgV4B6o(m_KMO7rX^jfSOs!)*%M3BvGuuJ97MS7Ov&k&D?OiXZfvT!|I7#s@)4Vi`KN9eZ%r{gG hTeX9ZFSk`L<%$F03fmN#f6@_NF5$JBwkE#x{{>0vEJXkS diff --git a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_call.c.o.d b/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_call.c.o.d deleted file mode 100644 index 2a63075..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_call.c.o.d +++ /dev/null @@ -1,41 +0,0 @@ -lib/CMakeFiles/zip.dir/zip_source_call.c.o: \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_call.c \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zipint.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/config.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/zipconf.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/inttypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/inttypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/features.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/alltypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stdint.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/compat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdbool.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdbool.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/errno.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/errno.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/wasi/api.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_header_macro.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_ptrdiff_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_size_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_rsize_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_wchar_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_null.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_max_align_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_offsetof.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/sys/stat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/stat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stat.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdio.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/types.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/endian.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/select.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/time.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/time.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/strings.h diff --git a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_close.c.o b/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_close.c.o deleted file mode 100644 index 7b2c5fa4e1a95f07eea798685dddb5bca1fd2fb4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 924 zcmYjQO>^2X5S3(72!`N%lJBhYN#YntNXXDrXq#zgdg!$`#~48j#&%@EG(E($z4p{e zuQ~SCKh){1f1=0AkaRNRv8A{B-s-K^$O?NHA%yRS!y!^GafG8wC5j?+nTVp>2;Y)l zaU`KIZ;&%h*YTLe%^vId{DvU(0Efb|yJp}!o?u*wa13WZI)TYJ_qiD|fkv2S#$f38 zxy?-5a$Q7}&#^v6>F;0S?>9xs%c}WkOTt4$ab2SXFpw@)K-nIFpa80p6etCfq6tV8 z2+)Z-qR(Igp1q~XI;JT|Lh71Ml5=tnlUX#*P1iG2g*2!gnyJswtmI5V2C^`vjfCqF z%}McGm1Htl9dk6$V*P0un}KPV>CjowV75wN9G`=^I6g1y%s7V(k(`>}SV8x4c>WNQ{HkE|H_n|5xZmvCjE6WQmo^JS)-)P7c*1rqul@e` zs8}wR+m3+3l@LMryd>9G{YKIDdnMN$j9-SNc9<>TUa>C+mCd?MIM4z)TrK^p;+cn06uIHX?3_lS1LOi^N z<24;Fs~P@)ao6|Sdb-zlg)^|+KGSo(zOWiDGup1-u-s6e^?XloD+pv4jaDGy-$l=H W)?%D_HZ#Ocz(PG0I&IHjAH+Y0Sm4Y6 diff --git a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_close.c.o.d b/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_close.c.o.d deleted file mode 100644 index f8627bd..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_close.c.o.d +++ /dev/null @@ -1,41 +0,0 @@ -lib/CMakeFiles/zip.dir/zip_source_close.c.o: \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_close.c \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zipint.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/config.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/zipconf.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/inttypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/inttypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/features.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/alltypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stdint.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/compat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdbool.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdbool.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/errno.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/errno.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/wasi/api.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_header_macro.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_ptrdiff_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_size_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_rsize_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_wchar_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_null.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_max_align_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_offsetof.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/sys/stat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/stat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stat.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdio.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/types.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/endian.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/select.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/time.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/time.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/strings.h diff --git a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_commit_write.c.o b/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_commit_write.c.o deleted file mode 100644 index a5af81d52d9d9725a4d711b515e78e4a71aadb08..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1150 zcmYk6OLN**6vywqf`9=B#ZK%z?Btx7BshvNHU@(8vixdivdAKv?qne@L|8~53AgUT zavvWdAEMJQ&_zE%SDneaU!uD%djt-{j7B>5JbwTCI9JRH2b?j+KVMy4G3AuUJU&(8 zIA*7*IKGVerT90Aq!sC%7fsW3JZS~yKo0!iLNIpi4kODxGl#z8MKVxgp12o(bcUu3 z0zWWA8L^2^O?;t04s2=Kt{=)NK{e<7mg_R1{G7;gmizK+^8GuNZqQ_SEG`T228FH| zazjM{9K;zapp+&~P=GZ=7L>BcVhU1a!7yzwya8#r@eO7Sj#%pH@C2UD@XrYUY#v{Ra)RHa+~=?f&)=g)_!pqT zixKLC*Jt<&RMej)d%i{4RoH^+x42E&JFpEqBdk$&jk0Nvc1dP8krDapO{!B#|HtTCn#KUlHy#yn@#wd_%Z5Gx4{Ez<2N#-Zeyt1olZ_e|{YX z@eja&gCx%Ikm83FpQsn`h??Y>T*rMpfs^YdIV$GaAIW+$)X!&**Av;_l3|+Kado~G z{lUPA%Q&pWb#}TPS*>rf&vbUI z7+FD2MrK!9(KwJ{R?D}??wLNl%35)5p!>r}Te0aL>W$fd8)RsNpivnvnq&?NU!zlS7XvIKwWgtCU>e0nehFUgsdY&$S Gi2etX;tccv diff --git a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_commit_write.c.o.d b/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_commit_write.c.o.d deleted file mode 100644 index 42c17fd..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_commit_write.c.o.d +++ /dev/null @@ -1,41 +0,0 @@ -lib/CMakeFiles/zip.dir/zip_source_commit_write.c.o: \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_commit_write.c \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zipint.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/config.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/zipconf.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/inttypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/inttypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/features.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/alltypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stdint.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/compat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdbool.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdbool.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/errno.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/errno.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/wasi/api.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_header_macro.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_ptrdiff_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_size_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_rsize_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_wchar_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_null.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_max_align_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_offsetof.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/sys/stat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/stat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stat.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdio.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/types.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/endian.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/select.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/time.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/time.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/strings.h diff --git a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_compress.c.o b/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_compress.c.o deleted file mode 100644 index 35c75499ed98dd5ceae239942d669cb6253ec4a3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8706 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 L;NVCzQu2QRLl6F; diff --git a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_compress.c.o.d b/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_compress.c.o.d deleted file mode 100644 index 998f6f0..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_compress.c.o.d +++ /dev/null @@ -1,44 +0,0 @@ -lib/CMakeFiles/zip.dir/zip_source_compress.c.o: \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_compress.c \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/stdlib.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdlib.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/features.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/alltypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/alloca.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/strings.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zipint.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/config.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/zipconf.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/inttypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/inttypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stdint.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/compat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdbool.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdbool.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/errno.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/errno.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/wasi/api.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_header_macro.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_ptrdiff_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_size_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_rsize_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_wchar_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_null.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_max_align_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_offsetof.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/sys/stat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/stat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stat.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdio.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/types.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/endian.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/select.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/time.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/time.h diff --git a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_crc.c.o b/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_crc.c.o deleted file mode 100644 index c25efa3c6bcbe607018bdc7b09972dc1030d18e1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4760 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 diff --git a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_crc.c.o.d b/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_crc.c.o.d deleted file mode 100644 index 290fcbc..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_crc.c.o.d +++ /dev/null @@ -1,59 +0,0 @@ -lib/CMakeFiles/zip.dir/zip_source_crc.c.o: \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_crc.c \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/limits.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/limits.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/features.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/alltypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/limits.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/stdlib.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdlib.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/alloca.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/zlib-1.3.1/install/include/zlib.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/zlib-1.3.1/install/include/zconf.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_header_macro.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_ptrdiff_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_size_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_wchar_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_null.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_max_align_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_offsetof.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/types.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/endian.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/select.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/stdarg.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdarg.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdarg.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stdarg_header_macro.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stdarg___gnuc_va_list.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stdarg_va_list.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stdarg_va_arg.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stdarg___va_copy.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stdarg_va_copy.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/unistd.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/wasi/api.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/posix.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zipint.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/config.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/zipconf.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/inttypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/inttypes.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/compat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdbool.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdbool.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/errno.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/errno.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/sys/stat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/stat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stat.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdio.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/time.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/time.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/strings.h diff --git a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_error.c.o b/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_error.c.o deleted file mode 100644 index 6117055043b2fa80d8a229d427a099ef79c8015e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 633 zcmZva&yLeD5XSAKN%|*JDj_)Af#{N;2yA^aX6@zMI(#+D6oA0&y$B`}>7 zP$+${5PFa+!}u;KRW1!^`-tt&_Ygw;AD>z}#_sWXBb^Y%%OSN0Cf1JH#3pEF`NSSs zKJ6@h>W~g`w$vqVFxX=M|ICYfqkmb_8J_JO;*2ar-6f(Paf$bqc9)p;NSE~PXuqjF zXu!di`ow?m=?4S!ySeZO5;zEf1d5Icy3*3g9$CRqbBwT7x24pz0;Mdz7@!J{Nnr3s&LCPb9WG}leF zNbNxjC9|+!)WYO@CTa+SqBd+LAj*VVF;Rt2q>@InvTXVptxMDXj4;r!1`U!!WDX@% MVYkXN8Nmnh7gUe3r~m)} diff --git a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_error.c.o.d b/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_error.c.o.d deleted file mode 100644 index 50eabac..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_error.c.o.d +++ /dev/null @@ -1,41 +0,0 @@ -lib/CMakeFiles/zip.dir/zip_source_error.c.o: \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_error.c \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zipint.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/config.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/zipconf.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/inttypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/inttypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/features.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/alltypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stdint.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/compat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdbool.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdbool.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/errno.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/errno.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/wasi/api.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_header_macro.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_ptrdiff_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_size_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_rsize_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_wchar_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_null.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_max_align_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_offsetof.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/sys/stat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/stat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stat.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdio.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/types.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/endian.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/select.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/time.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/time.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/strings.h diff --git a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_file_common.c.o b/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_file_common.c.o deleted file mode 100644 index 7df7a01824a68146703d36d58994570863418c51..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10358 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 diff --git a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_file_common.c.o.d b/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_file_common.c.o.d deleted file mode 100644 index 3e1fc4b..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_file_common.c.o.d +++ /dev/null @@ -1,44 +0,0 @@ -lib/CMakeFiles/zip.dir/zip_source_file_common.c.o: \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_file_common.c \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdio.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/wasi/api.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_header_macro.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_ptrdiff_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_size_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_wchar_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_null.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_max_align_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_offsetof.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/alltypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/features.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/stdlib.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdlib.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/alloca.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/strings.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zipint.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/config.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/zipconf.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/inttypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/inttypes.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/compat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdbool.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdbool.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/errno.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/errno.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/sys/stat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/stat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stat.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/types.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/endian.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/select.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/time.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/time.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_file.h diff --git a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_file_stdio.c.o b/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_file_stdio.c.o deleted file mode 100644 index 85837e7d2b43dda099bd344351747784ba2ccd65..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3298 zcmb7HTWlOj6|L&W^vrb6bkD<&*c0d0CY!b6jN`3vB%T% zXorN4885JGvLM6<5@?q{1V~6Lka$R}goHps;sfys(ju{6eC1<5c>OJ>s@vJDg#?UL zuI_v5-l}`g9DbmWekUd0Uu%>42GEX;c&=qC8ZQkQo`}hW7U8U zq=k|*Wi^bg)TAke{5y~)1MQ73%1v~?ecP>8Tg|p#>s9ysy`XnjV>}l3!&-f}+6kKN z(C_I(CC+@I*{S-yUeK%d{g7#L>4cQ^gZ*CJuWmJ4ezhL#?FH>>+y6Y%<$}aky%qF* zX37_HtLN7m%!(AsRiyB$(s4Vewt{*sYzA$XjMnshe>Y%h`C{NqA+sYnwrU55P9If- zeybI*j9hiBT5Yx)&7NNmt6Tf+y7XHOYnv^fcVK!?Vr?;QBvQ7M`l@{6tio+GlXbnE z^M(?n556H+{ekQ0p*FCFCm}sx!l;li$sluABq(u82`NErSsTa1m$f1$ZADLF(pPjw ziD_+ISQRFcWKr^}NL9E>e+^28l|k$>0B3!GSRBgS6j{XX%0qXBN8Xi86sjR|mAuFUg97C!PX$k* zig$@+@e@qOWk55!hk%slF?kL{jAP}oin0+Cbc{x5l*Ta2=W$PEQ%u6si0M2oU zj_-&mnu@_Gx%LhI5EEYUghrgSU7?d6FVSV99nz;YM;K&GYbB7u^iWm@Yyt+zIVE<4 zMOI|s+P~Lq9Z;i?P}Y3l$TGyccE~3kCoy1U>`G7ZHm2OBNT%eIhe<(iN-z`aALHj@ zhXh%l6-fY^q9modA`Q&bpi;cRhM5f-VxHDKuuGX|DDwj_3Zfzs;mY%SaFIiLa>$G4 zeMwO%592)YtoWHnB9%db3euoRMeoaM*$B2A!IqJF)O%A&$7pO?W5|jrjv*5=2aq4I z^&zrj(!`2B?r63;mw~)YiV~IHLpDr04i)4x`nZ?^EGHm3u_K7+lyX2*uKh9B4L~?@ z2;cuzjxlqK5ByR!MMJiCS8`a?&JAvAUa1>)qa^h*iZM z;4p&PEzqcUUm1@O_T1<8*98OaO^VRPbb1loa$OKp$fcJS65*m9wD86rH## z2&*MeL{~h9^FJojgu{g5B%(Y;C+XB0lRSSM<1{@^r@P__Z2iO<8-j|_xu;|AGc+T; zp8p8Nl{dQ|2kD@JrtKB$z{ovD|DHzbj4L5 zbPawt=o)R%)k*O@U83iE;)TfFi}WJBu&lMP;w6li=_Pu(D_%kLuONEFUS>ma9hz6^ zI=$KzH>B&=pnh#f+@zZ^4R5&i&$wv}b$oK<{TF{rHJt1}Q`Uh8P*x$9l$7<}R)k4F zo`~TEf7j!$>dhlxRrO7k0XV{m(~6r?@0U9(L9(qV@Ji+ zIvS_YXCC8PHt6)L{jkvts;Zk}i_GK9$P}u|N-2U)HEO#&jTzber!~sT)0t;5&t!&s zL@iq`<|UZn9aYHw%d?o5WL}CHxg%=Xc`+|-{+KiK+X}DZT%#7&=01I1VD(cOe!AzQ z*_*p`{qhy_jAe6+IQt>lx2NeTeaQ&e=aS-T0vnG=Hs|)?amQ{SD*3!P)l>%X;77 z)(03L;r$~s#lDqDv-c7<`)xwE-myH=@vYg#_3+y+p&Hn7_)<0d&z9Zv`Pky=bnM%Uc z5(#Z0shxJTGg<9Ip8ZR%NOgKaW54eA`rN@|-S7APMtSotH|wohd;4=2&d<%y&2KkD zntnYDJN>nDcz%6`_S63I8R~lQZ3(E`s`PxFg zv9!80U#~ATE^IaY`K1~5O^K`<)_U7MdR|awzvuUpv-akGYquQr__OXKFXf;U&W_e= ztycN4RW1j&{a!0*Z_lRp_FG}|cCEGV&$@g2s&g)Hw}Q=Dt3O+42ko#|>vTZq@>VC5 f|0&G6J%7vZ`R%%24)1pS{%o?}+-{fsJK?_pEp(+v diff --git a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_file_stdio.c.o.d b/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_file_stdio.c.o.d deleted file mode 100644 index 156be14..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_file_stdio.c.o.d +++ /dev/null @@ -1,48 +0,0 @@ -lib/CMakeFiles/zip.dir/zip_source_file_stdio.c.o: \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_file_stdio.c \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zipint.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/config.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/zipconf.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/inttypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/inttypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/features.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/alltypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stdint.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/compat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdbool.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdbool.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/errno.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/errno.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/wasi/api.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_header_macro.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_ptrdiff_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_size_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_rsize_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_wchar_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_null.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_max_align_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_offsetof.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/sys/stat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/stat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stat.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdio.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/types.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/endian.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/select.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/time.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/time.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/strings.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_file.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_file_stdio.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/fcntl.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/fcntl.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/stdlib.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdlib.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/alloca.h diff --git a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_file_stdio_named.c.o b/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_file_stdio_named.c.o deleted file mode 100644 index b07fcb51d95e5dc39a4dd49058d690c71256aac8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6073 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 Sg?iAMc3LaT)tTUd_J0HJ9?-o2 diff --git a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_file_stdio_named.c.o.d b/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_file_stdio_named.c.o.d deleted file mode 100644 index 8406f80..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_file_stdio_named.c.o.d +++ /dev/null @@ -1,50 +0,0 @@ -lib/CMakeFiles/zip.dir/zip_source_file_stdio_named.c.o: \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_file_stdio_named.c \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zipint.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/config.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/zipconf.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/inttypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/inttypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/features.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/alltypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stdint.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/compat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdbool.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdbool.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/errno.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/errno.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/wasi/api.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_header_macro.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_ptrdiff_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_size_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_rsize_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_wchar_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_null.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_max_align_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_offsetof.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/sys/stat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/stat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stat.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdio.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/types.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/endian.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/select.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/time.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/time.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/strings.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_file.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_file_stdio.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/fcntl.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/fcntl.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/stdlib.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdlib.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/alloca.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/unistd.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/posix.h diff --git a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_free.c.o b/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_free.c.o deleted file mode 100644 index c431eb35d1470ec945cd3476e534954bbe5b9207..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1199 zcmYjRJ9FDc5MCTWks>JrwrtswUwf8pLxw<6qDY$ZOO#~0P?0tr4T47+5(tn0s6;7D z=JgLUNtZ4ulPXQh6q!kzIzJ?(_Xt|U89eTGzwg`K!!E#y`w9RkKTReR(B3Iypj#Qg zV`Exrc-TFDngAFQ8ihSYfa!8)G+gg zFEkaN#Rbd`d5#^h1I)c%f}&DLfs43kvNF#TzJPfwobV#ym#~OSLw<$OR|uU#b<`!) zXpZ?+H1O&vzlJ(qtFiJ-YZ;d%;5upD!0UM9gs+g+OHuyRrH*g&{-tdRC ze1s42(U3nTwa1rgCYlB{!USg2P24ou7JovCSoj33w|tAJHg2IkUr{EnE;Bj60|{+n)A)X_mP0%=sAH%$>X0L9iKA0~ zjK^t*=mq#g`m)seXI{`_xnHMSfQ&xZ%CZBQ0U$303en!Y6gDR0DjXJvVUm`{4Yt1gDC8bToJ`ek(REAW6`nO7fQzU zouK#m?oO#(D)+nu&G$(%i1)W?{eILgxnY0X_s`RZP1IB2Cb(CxS4FMUC^s5=wR)%9 zsMIQA$EmoTYNJ|q-AZS-+Y#mJCj21hT~C~-Cz4iIILRmyan35VNB)_e4!)(&ZR~K6 zSSv0KqwNJ9FQRC6crGG840=|+Kk^gr-0?@k()**tY5T(N`C;4fV{17GgCueW13Ff_ eJ4od3!_p(srQr`;VJ8;@5nH*~>jk#>GWiH3HW~{6 diff --git a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_free.c.o.d b/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_free.c.o.d deleted file mode 100644 index e0473d6..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_free.c.o.d +++ /dev/null @@ -1,44 +0,0 @@ -lib/CMakeFiles/zip.dir/zip_source_free.c.o: \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_free.c \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/stdlib.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdlib.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/features.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/alltypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/alloca.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zipint.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/config.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/zipconf.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/inttypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/inttypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stdint.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/compat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdbool.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdbool.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/errno.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/errno.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/wasi/api.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_header_macro.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_ptrdiff_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_size_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_rsize_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_wchar_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_null.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_max_align_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_offsetof.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/sys/stat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/stat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stat.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdio.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/types.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/endian.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/select.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/time.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/time.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/strings.h diff --git a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_function.c.o b/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_function.c.o deleted file mode 100644 index bfd1ca3376d18d193cac575cb15b22c28b746208..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1819 zcmZ`)&2Jk;6rY*h_4;F--6U@6Bu@G!aT2G-soOLT$)$CnxpLsbZM#`d+_l$hXT1)T zLmWN@LPA0+Ck|ZT#)ShXF8m9?l`9e_BrXUcA@OE5EkOdw>zVn@dvD(F{pN#s;{hdv z&@V48E=cB)Hl0rC^bwVR`gD3erRR?rLg#9R-~?e`y@jTxCZaRjb;BSMUhEFUU>HAP zgj~Yo#Pj>^Xc$C^h_xw|@S^JmQ74FnpSUNJ$WMY{RlW04SD8qEBI1yPU?Lwiq>(~+f- z|M~;j{g%?X={lkpgllbw>!5+&=LQ&61%d&j#j@DY7Spj|Ek?kou`JKD2{$1F<`K`f zDbGO`a;H4c?z8)le^?|qT|kFIi&+-MUXAJ8k`3X-G{Q_f%WaqeyT=`{pa_nm66CY! zH;aDC%i?pG*gQh>Jzj!RHBD^JE_|jHXHgN<=$uX2xvp9{mi_0X;D1P!F(Q&GVS}U` znUcdZka6Bu)i4n^F$biP1rxGIJclgvkc0dwFDRCUlqHe^tHmmpEXyf9i_ajnqN-Yr zm5?YdU?EWlY*o=3D@&qsZVnfje?WMtJ;SfT9Lz%ruEFf=+cFbHmoKF5*Wo%W>}#02 z3|5BnwpQkg=(+@pu=FZl#vCiK43$&9f;y~VhNpepl2RI+@|-GsPSVok zCd_001+=sv4+XFsRWTeFF$mUP?L0Kp`3!<;ugU$Z5C@T2R0B5}?s{pXWRT^T`Y5D? zHrJ#WEe0vFfCx$e*ITTbB4tDtp$v2@Y$4$-b!0Gci`TH) z+X!v<_)WNZS?!u#xJS)rC*$9ONFgj4%92vlSd$x=vl5_($6S|Zp=lS$Uoue>FS~va zby@aTIm{EH&tJK*p51B8!3)(``i~jckA;^AqGxRP%5)@NH_%7^C~+8ZG(t@Kia}q9 z5&2QA84JAoc3yhr<%imwX;QO7$tRSV-%x7)gx_zJl24hI`CMbAFEpKeq#NcBIyHaB z?@yhQkBtoZ-Z06BX4d=#-G4VJ`9lWIjpAWv;){4pE$sSYJQkhC@e^wJp%-;uyK{S| zxzp?h3Dh1Z$!L6d3;T~J$2)jM-wMOC^sj-gJ-pxH?*9IsXmt*n2M2ds`<;`6-PW$S z?d|%Vy@S1`@9%c*oODEUZ<{=ouZf*_aaZ88faRIQVw|lPjwfNikv=PR`^um(93}My zAK!q+v)80CJQHy^jJoywU=k+5nHNq(-5yNTgc3GRMu~i! b>UJznL@Xj-G?FJHF|KFFK{slMH diff --git a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_function.c.o.d b/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_function.c.o.d deleted file mode 100644 index cad89f3..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_function.c.o.d +++ /dev/null @@ -1,44 +0,0 @@ -lib/CMakeFiles/zip.dir/zip_source_function.c.o: \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_function.c \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/stdlib.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdlib.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/features.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/alltypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/alloca.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zipint.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/config.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/zipconf.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/inttypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/inttypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stdint.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/compat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdbool.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdbool.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/errno.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/errno.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/wasi/api.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_header_macro.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_ptrdiff_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_size_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_rsize_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_wchar_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_null.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_max_align_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_offsetof.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/sys/stat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/stat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stat.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdio.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/types.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/endian.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/select.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/time.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/time.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/strings.h diff --git a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_get_dostime.c.o b/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_get_dostime.c.o deleted file mode 100644 index 3890be48fe7ca299976805a5b8ca93009ceb73fb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1200 zcmYk6+iu%N5QdjaDv~AHQhZcmC!UF&L=H_^wk#=fPNsZF?uxWGy`w2=rBJ3wilmIX z7p8l7gaQTn0xi%7Xm9#Z1qw9iRfkgQ8X&pc+4=sNogI>y;ZS0XNk3g*Uo+*5$FUTj z$#ERBGbxs?&XhR5qLKfVtfyq*UK9+&v0Y&X#!w8s;F2@;$s9(eb#C~c?M5PyV<|Du zer@}P2m&uKLJ_fvZ6UFR-Z-#?5srP|3!;$m#JgzRTCz;XVY2*f5?Nx|f4)z~zm?p2 ztX!oiCn=V%l$cNMxp;%zt{HM2PzDb2IVzxRPK=-cYw!{cQiCsoQsyO0K}us~yrWB) zhC7fRVTK>_L&%)WGCjr_a-M1MwY-!|{1-8+Gt5C2a;KOlW)|`=JHk04=7^YT7W6z8 zp#a4J-qq)Eo{$B&3-hp0oa8~e6de}-*Dc`^ES32tF6%O`z%s0yVu|GMK?&}S@IJ}k zzmZ=h`88ODwE;fRQ}|Hd#&viA4`F>OKgqO&08sp9QVVR;AmJlGc=R1^v>9%~25f$g zk150xcnnWQ_>@9Cy$MmCZg#7!;4^&*RVc$2JOi~jIRxCM?6;e829zy1gBl4|K!eH` zxI=jDYb;C5wQ<7*nf|8A{tPK#t554G!ug1b0VJKCR&uq z0kq)YJ-#5~CA@%_BYZ`~tAvp7H4(4>Ba(xCLsdG2H*h#WU0=jDsUCq2Z8*9)gkxfk zr-wkRCp0^u*`$1HcuEcQmP~I4_zvEEYM|3Xj{TO@G)=94Zo7S+`6ZdAm?E#-YT3Ss zjII|Nkv$Z=$XIeotjO7~iFY;-j%QVlK07{?Fh;rqR0;qcIf@XxKpvb z;f~{6OdlGd17St5-)z=JquZ*sTKkP=x7VsQYGT){S>1Z8UbU=RcdyqK)%q6uff|Sv zA~Q%f)Dvbj4n&wybDgnsu1!CCwQy^qd48lWCm*b4yInh=XqtB+0>^XvYIZnwBKyL0 z#zHL&$C24_gw}Vwj_HKzg6p|aVER54RqOdt^7Bv&f#``qxR%hOOJ9U)CbavmCccXP E1;d0Ic>n+a diff --git a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_get_dostime.c.o.d b/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_get_dostime.c.o.d deleted file mode 100644 index 1bb56a8..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_get_dostime.c.o.d +++ /dev/null @@ -1,41 +0,0 @@ -lib/CMakeFiles/zip.dir/zip_source_get_dostime.c.o: \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_get_dostime.c \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zipint.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/config.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/zipconf.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/inttypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/inttypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/features.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/alltypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stdint.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/compat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdbool.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdbool.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/errno.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/errno.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/wasi/api.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_header_macro.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_ptrdiff_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_size_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_rsize_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_wchar_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_null.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_max_align_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_offsetof.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/sys/stat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/stat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stat.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdio.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/types.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/endian.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/select.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/time.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/time.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/strings.h diff --git a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_get_file_attributes.c.o b/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_get_file_attributes.c.o deleted file mode 100644 index 04a55cff5dd6647eebbd3bcd91df90af2faeb8fc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2692 zcmZ8j33pS~7C!qXrKKq*w1A}wejBQ$rfCbMtt}2DjN*VT4mhT1dRx+_8E$SWMQsYH z;)D+s#Q|`hXT^DX=ySx`=Y;dWc;Iicjxotc^cO-W&F2@ahb_cZzPh4C(Wo888Jsv)|jDGDV(*V zvEfKM6;Ilx<;s%|&)6JKM@-8~S&^)1D?`V85gp8?a#qZY#G;9Wa_R8gzd$1cR%)aK zQf^m4>l=zHckR%V)h@SKGx7^1JfWCEJ~luwhS>!dRJ&0Hm*1#jcUW;5+$igCDJL>5 zL|l$(DDP4gUeBlAd9(BG@iHN!yfHpc=5G0$mM{OyXWieP7vx>z6^F!)P>ZMx5_8Llvv8Ou_3$wweJqZ_u^FBx((|UI=Q}Qs3)eD2 zHO!cg;{dR4OL0pU2*pAyz{2%hFBHe49>-_+1fe*=srN+jb)xoVc!~x4*$=Wf2x>hQ$JE6;SICFToOS!(z1g zCX2S(g}ejp=vc!i3wb9_MrVe*guH92vZd10Q?L}L4DqQ>k50pBn)h^^iqm~tHIX!S znJ6rC3V^%8Rl%V!aTpPVM7hwY~>fwt;;u2hpOEP?^7`t@J*k!m(^Ia}k z5nPT)fqNw@ie5y!xlgiU=tC^S{pc?lt7g-&GJpY?U8>S~8pNO`+9*VEY(#vLhcJkt z!^VcgZcbnri2{#^L=q!N_Harh(nukl;fxr|Oc}FaX}+vv*~r2!a89yDk;7;YUm;nW za0NDHc&zxn8Y`Kr;mx5xiLbY(!QxL(O)9Qh1S5U#=mt>rBwR9gvK z2wN$`1uD`NXo_!=blNq9Ny0UPxR!7&@ivRv~j^gq@2xne4CErHqy;4 zZTn6NSMcqGorK$|z;}=|YZu`T!Y=CJJ9U+J5$+`1CC=`aDsi_{qdrvk5bi1J?A9!M z2)hY;gk`U0xtFk)a4&W9eVXNd!hMAMh2;Ul1BWig--N@mR44=jc98VIMz1c%1Nrs6VOIpCUX-cuHz`TB|=pc$)Bxs6VS~ zc=nKfJwHcyt|;@oW_f||JmCdlc~P_MBfLo1CoC^%mX`@H5ndLSSDgKRwdmHPTI;bZaT<4+vy0m3JQ z1A_RJAmbyl_%n^cXCmlxynXIqzaV^0_(HH>me{@`d{wOSYX|WS;cLP-g7`N<#+SnO zt;XP6VXK}x?B5Z-D|Y#N-Q^z$-xGe2&HPcv@uS{Mr__Tbp`Qpc4j#7jb7|ohf{dRv zyT{{^H}$WwfM4a@G!{>PBmYM7WBa>~{!T;u2jLGY{owvaUXMDcU(MxmJsFNC2aSpY z`f-}vPipnmVj!L{BT?J7;(a;W%tqqLxNZ29QttUj+(!mY`|n64ARj58q4sIQO3O^7 zVol4}tyt-*EU%>UZA9g}iPS@eOYJw5+T(Jo?QW&^xefI{cUk#%N&b({oSwE){kfQF zWvNQ0F*BPr`-6RBR2EA_lY<);FKTLOY8i~%@Ncy3bhfKm<{NW;O|jHSb0RV7{0mCz zkQuYFq@$zFZ13-E>Fiw6-qAnM+1lP}E{e9s`rA6&T4J%*{>20RW=mUx+9|)u%4`=Cj0;DB5~^g diff --git a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_get_file_attributes.c.o.d b/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_get_file_attributes.c.o.d deleted file mode 100644 index 615e156..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_get_file_attributes.c.o.d +++ /dev/null @@ -1,41 +0,0 @@ -lib/CMakeFiles/zip.dir/zip_source_get_file_attributes.c.o: \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_get_file_attributes.c \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zipint.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/config.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/zipconf.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/inttypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/inttypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/features.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/alltypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stdint.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/compat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdbool.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdbool.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/errno.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/errno.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/wasi/api.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_header_macro.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_ptrdiff_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_size_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_rsize_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_wchar_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_null.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_max_align_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_offsetof.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/sys/stat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/stat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stat.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdio.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/types.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/endian.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/select.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/time.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/time.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/strings.h diff --git a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_is_deleted.c.o b/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_is_deleted.c.o deleted file mode 100644 index 32692d5378f81553acea5a6eab3b0cfe5bf25ade..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 510 zcmYjOv5wO~5Z$#eiIa=ulMvKvK@nta&Ud*a3S9(8OG{_gyJO#y^{&}nM}#JUf|`Ps zKS1I$_$5m0I|`baH%~L~jb;#YHAV>Gucy-q;dl6mkHN1V2O;QvoaahvU^cIzHuex8 z^pAF)@m<~+sXf^6h{G@U0%-F4KHuW;@o9%nD8bu{Bp{dsyCftbL91X&!dWm)&dAv; zc$N&dVKO8GGJKtkwm6B%h(sTfF&W3_=x47m>Q>lET?NsPzU+2Dk3Y#Kcc!%*a_Mpb z3OtD50-PiyXgOGirybSa7+>@L2dI>AB$u^st)moIB#cBapY{A8Hv&=YO zi0e{7wtSAhf9~94&uj%gFM;{if{W7gqE$QkaM(2dub`&!=@ZVBqEZWKJ2z_fV3pBT zI;mUb<({b)(ztFtD-_U5nSv>oKGH^e%bKP;7cCp#zbB0?lwd(~p#IQ+OCu*MP2r>e E3vND|*#H0l diff --git a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_is_deleted.c.o.d b/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_is_deleted.c.o.d deleted file mode 100644 index 0b0e322..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_is_deleted.c.o.d +++ /dev/null @@ -1,41 +0,0 @@ -lib/CMakeFiles/zip.dir/zip_source_is_deleted.c.o: \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_is_deleted.c \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zipint.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/config.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/zipconf.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/inttypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/inttypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/features.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/alltypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stdint.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/compat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdbool.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdbool.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/errno.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/errno.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/wasi/api.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_header_macro.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_ptrdiff_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_size_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_rsize_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_wchar_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_null.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_max_align_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_offsetof.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/sys/stat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/stat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stat.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdio.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/types.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/endian.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/select.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/time.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/time.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/strings.h diff --git a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_layered.c.o b/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_layered.c.o deleted file mode 100644 index 16e0db95c6510a6fab4b567274b3fcc81ee14d9c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1418 zcmZ`(&vV;E6y9CQmg66hVmoP)y6xMOaM!oZVcXl9stMt)E4z5VokZ+9QD!YL($(C@CVuSw=u zp5u?skLjFV9cR$LiX90Z636E3>l>`gO2WNRP16~>!V1i(n0mn_BV-W{Bg;NBeQ)eW zB9P`Z4p%-M`)26P0$Z5j%=f(@3Q3aLFwL<$90$UV%+r}`M`O=5BkRNw)K4Kx@mdiC zUSNhIB2xO9JAkhEn8?zbSOT)h|M_L?{6cAEzKyYK!sP+*49Ji<<5|eolOSY)7;GI4 zHCPo5Gnj@(GFTC^4Ytme0pU4NAor3l4JgmU66DW$fjwu>q41(aFpZT^G+3=j3-OvN zFU3aV%dshPH3iZJIlclKtW05Lk%9lLwE$6cSvj^R;(2awzJru8t1^ZgeTv^)D|89tlEYx*nY|D$n7!I;qf_t zf?NC~-QuTM_w+49gJU=2)6s+`Gz_+2_$&>!pastiCZ|Mq(x47H>=yX`SyK{eANp--kWef5W@bf$o152T0=pX(R__hxY~@ZeYlm@ILex2c@SL z$ggqN6ug;dV|T=IKP9htkIHxMi(_4iKn$6NH(%cPf5Nl_VMT&yB!eXyB^o0MP(Bcj zXSd(~@Pil9vZ7F>M#;C7DL+%H{D#jBqvQuBW&dETddp<;qm;?sO04>qB$IFCtnzz? zlG~Wkk{@`(nJt2l7SXju7>c2Oa!E6`W4WVO`+Mz9yE7U`(0Cn1e)!%l`mbjvZQGmf zI?hGdgn#={HV2NTaKguJEe5*LIjTIj#~NY%!$SqmNOGA zbvjFimOgU46Uzx(71wj4!18_E2mREK;&Iqg196J2cWt3Zm%a#Fxo|vkb@55`54JTz ARR910 diff --git a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_layered.c.o.d b/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_layered.c.o.d deleted file mode 100644 index f4c7fe3..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_layered.c.o.d +++ /dev/null @@ -1,44 +0,0 @@ -lib/CMakeFiles/zip.dir/zip_source_layered.c.o: \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_layered.c \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/stdlib.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdlib.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/features.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/alltypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/alloca.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zipint.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/config.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/zipconf.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/inttypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/inttypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stdint.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/compat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdbool.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdbool.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/errno.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/errno.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/wasi/api.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_header_macro.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_ptrdiff_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_size_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_rsize_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_wchar_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_null.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_max_align_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_offsetof.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/sys/stat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/stat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stat.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdio.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/types.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/endian.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/select.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/time.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/time.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/strings.h diff --git a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_open.c.o b/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_open.c.o deleted file mode 100644 index 634574e20659c5d1b794f0105e810ec28388285b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1467 zcmY*ZO;g)O7+y*K0-IO~1Of!|ZXk(?BV#bOV-ga~cR~_ENC^2FBjmMXBTKR*Go=Sa zo3=lolS>Yr&g9lxZ|$+|wg00(pr=kxeb@4M=!{3+ee^u<^SryOC92a92qD7f)6-KD z+7~>*+m}4gBYb$WFY-~q^G^6g@QC=wSICP<%s7gdN_x#;s$FWZhG`#*gmhrXRkg#C zW!4Or*^(!4xbMrFRbsYn+9ij%q>c4+%rRTG#!61hvP|1`h{)N)|6`Xbw%OXZz-wj)_T7`kMDEklxSV@&6w~;ZZMeGVVzy1K4TAo50tn zgbGEOiXeb^NF|Ua+aO3la$*FegczX#2q+{$gGGUcAPAu*4U3E7B7|4_NYSInf=Et` z#e}HO?}46#I7xep5{*JHMAv8xrF{^Cz9v0~!gDC}sqtcr$`A*+PR|#I=!GJo{cs*G zK)>A1f#nCV{J`1r7vW+;1UiV^AsB?AO?nB-55pxGZqku%rQZl0 zgUc}XfsQW`dIiSe$~FbmQUIV$dKIHx?J6fQ+9XWCWSw3sj?wFAcLT1$b-2-umcVEU z9!-jNo1cQIgh=R3q$lAfB-iOJbWq?HC{3C|hg8>L8m2il4QUxS2qVs*XclH*c7tY6 zGzS@&Ytk%=vRzRQW91(!b48ogiZMyUVkKtX&zykM?8%f?WB2(rJlfJcrs7s{5G}_c?w(bbe?2=WE)$3 z2HWtgPIq8O{+5^X-#o|6FW@=6$V;6?*o9qwC|+W$J$MOwb@~c+;Z;rqEc+VmU!#57 zJ4WB&fq#q8+d6#*?>YzmO*~3|vzYtCc=%G^?gscy?=P9zyUXz7QFfAb~dXC{hixyeC(Cn+_fT(i+lF^`z7n?^O++i2-- z?MT&IEE#XKT=hU_N>w)xRNYDT8>Zpfs%7B{D;3M-_h&M0vkJ4Bp)tihwwRNQIJK&w IurJ*I03pv*j{pDw diff --git a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_open.c.o.d b/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_open.c.o.d deleted file mode 100644 index fd237b9..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_open.c.o.d +++ /dev/null @@ -1,41 +0,0 @@ -lib/CMakeFiles/zip.dir/zip_source_open.c.o: \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_open.c \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zipint.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/config.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/zipconf.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/inttypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/inttypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/features.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/alltypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stdint.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/compat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdbool.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdbool.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/errno.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/errno.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/wasi/api.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_header_macro.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_ptrdiff_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_size_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_rsize_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_wchar_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_null.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_max_align_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_offsetof.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/sys/stat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/stat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stat.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdio.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/types.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/endian.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/select.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/time.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/time.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/strings.h diff --git a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_pass_to_lower_layer.c.o b/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_pass_to_lower_layer.c.o deleted file mode 100644 index edef197f85ba442f07263c8c9ee87c58fadd47a9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1004 zcmYjQy>i<|5WXLfgh)z&ElQScS>Cf`n=}S8ZCPZPDpcaiMVb`pU=Tdgpg;gQ9A(Re zASaDGH+hFNeuFf5h7_4h(&RBxW=~W!0&v*dZ}$6c_x6s2#hemC=%@4ZbHZL*WqDT8 zv)8;VOTzv#pv7f+;sikwr!rK*T+TCf$_TlH3mrzsL7v5_mWr3uz;5t9&VwRbs7MA; zm?X>SRf9^UG8Gh36Uu)y`jpiF{>j)sxl<|G8N>A{j!MbT?5nxKcQO2&2x|zU0v1$` zMHQ-h7a&xD^jHfG?J*Y(>vJ0o?=cIiZDxtua6{No1N+q-_SN+lYHOQ>5y}W-{Nk~A zg=2xN(l{bw1yxr1e5;AxZ$#A5tsB>B7~Ph*Fs^7qwZm<(x?F4x8qkDQSaX*tJIHbj zi(j(bVN=`y7jDeN&Ed9K9}>}mo3IWo_k$_&s1zH>*)SZ29HYH?WQ$v{3AerzTSF>t z!xr5BL0~m-=jAF{W^)&Hx8W{q&&0i9OYETTeYgiZaQ{jdP#6B!Z8KL05FJj$1H>N~ zoL=U*i&}fI3wty15OaKlT94r&Jc7qpT5aUCk#mvZmgrz-o*?vOCOq&iJJWF*|@Yl2sDm5mpXR0VC~G?GOj$NuP)R-zyIacgWiFB79K?7 z!@*%UiVnulCu7+??2whbH`Sly+T20UQF0=c TOe5**(_9vwUBuJWm+$m{AkXfO diff --git a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_pass_to_lower_layer.c.o.d b/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_pass_to_lower_layer.c.o.d deleted file mode 100644 index 214929e..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_pass_to_lower_layer.c.o.d +++ /dev/null @@ -1,41 +0,0 @@ -lib/CMakeFiles/zip.dir/zip_source_pass_to_lower_layer.c.o: \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_pass_to_lower_layer.c \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zipint.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/config.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/zipconf.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/inttypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/inttypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/features.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/alltypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stdint.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/compat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdbool.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdbool.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/errno.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/errno.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/wasi/api.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_header_macro.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_ptrdiff_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_size_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_rsize_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_wchar_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_null.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_max_align_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_offsetof.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/sys/stat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/stat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stat.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdio.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/types.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/endian.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/select.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/time.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/time.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/strings.h diff --git a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_pkware_decode.c.o b/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_pkware_decode.c.o deleted file mode 100644 index 0529025d5386eb75b7601ae7782943053565751d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4296 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 J_B!{J{} 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 P`qInCyl$sw%Fq3G1!Pr3 diff --git a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_seek.c.o.d b/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_seek.c.o.d deleted file mode 100644 index 87204ec..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_seek.c.o.d +++ /dev/null @@ -1,41 +0,0 @@ -lib/CMakeFiles/zip.dir/zip_source_seek.c.o: \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_seek.c \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zipint.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/config.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/zipconf.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/inttypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/inttypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/features.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/alltypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stdint.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/compat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdbool.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdbool.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/errno.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/errno.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/wasi/api.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_header_macro.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_ptrdiff_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_size_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_rsize_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_wchar_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_null.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_max_align_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_offsetof.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/sys/stat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/stat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stat.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdio.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/types.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/endian.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/select.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/time.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/time.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/strings.h diff --git a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_seek_write.c.o b/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_seek_write.c.o deleted file mode 100644 index c9bb7f99deda7fe36b1260e72ec4d0976f1bc3cc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1015 zcmYjQ&2rO75S|&?vEv_X5)yu5pqrTBpvZCJSjORk*bO;y;KEJF^4Q3hC3!RsghLeI z1vpS!d*3(MN8mBI?rE#`0rt2fJ4;a|sk^`F?(b923~}NqC4|u5E-x>M_C`xC5}GKJ zB;-vdNuvw)JzdLaJUFY^w(kYp5%!c%LvhXsxq@TqxDz`Hy+CrIB{YT0AH2xsLWIJO zxg-m$YNucv&V|cu*YSPAv`=Y&N(%pcPVL`XZbz|Z)k_n0v6^hF zvh@WBSs*5BC_}p%D8o!vgKUE}a0ONxj9|_pn1>wXPjS_vSb$Y1%&^Fwv1d>`DU)S# z$tqzPN>Co-HLHddRaAv*P=RW7!DA(OU3I^1vb_>5E^F3ct-3$HgWbJSTVv2XOcb+iECBingN^n$QMw zhFv&<4s^HhiR$!3Q7^>qVNY${v4W1r_!OSjms{7X6v>}y)0{d|6E7IC{2ytUA%t!G zbVy>(C-ytxNzST-qz@&F#Dd^{=r(_O`Rj?cl3S;_1|?r8Bi|S!ziV3VFO8Ca(~hf= z2nTbQi+(3}1EYUVv##$1qt}NA%~rED@+36gN*Tq+`^tYi?>F6Wy6^jE%a5T- z$J~{0)a`b-Iq0=|y(6-s@ z3m)h7Vt?*WjO7i|D?bHB7)gCIy%mNR3_PLOjPQ&LKMY2CVLJDvcjowWu2-gW>GXYW tjQp_g__4kogn<-J6sb8H!$_w0P_GC+OrivE@Y{SQ5MRy3Rx;A@88_sz%ISrRWDD})f`$N79t3dc0d zliQTatJF!3CeF+1vx8Fft4w{f{ZK3 z$Tbb8!b~v09I>m;DqBU$8eD}{STh$sQ1=?@UVEpjv+HoZMyqVyQP~YxhZ}F$O_bk& zo3Jruw^07prTlG_zXP}7&WPQ03hbV<&F;fpxCi%h`3t82VB*rvFHA9DHA>h6G_wg0 zVDlqZ#R3nZ3J<635f*rKS>Q1|me5-M#amE=EfX7!U44RV3!Z@WG22GA4clN(SsmH+ zOZE=hYrqaPMr=3l#~$oSy(a8J(_Abac3>YnurE76%L~IgYvuLYM}HC4!9F~N7PO%Q zPtC6v#k)s@9Y7ZjK4s6a_;Yv$&!_AK7Jq@oQSv29zRa77K3`$<3ZsR3g&pERIGA!q z>=XvTYECr6f=gvdi7CMBjyewDyd!o%3FfAGnN zuhr$Ep%kkM`B|alTT00fR3-o59{EMp$lq$A_`9Z%eh($ diff --git a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_stat.c.o.d b/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_stat.c.o.d deleted file mode 100644 index f3290bb..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_stat.c.o.d +++ /dev/null @@ -1,41 +0,0 @@ -lib/CMakeFiles/zip.dir/zip_source_stat.c.o: \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_stat.c \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zipint.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/config.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/zipconf.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/inttypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/inttypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/features.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/alltypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stdint.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/compat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdbool.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdbool.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/errno.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/errno.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/wasi/api.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_header_macro.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_ptrdiff_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_size_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_rsize_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_wchar_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_null.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_max_align_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_offsetof.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/sys/stat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/stat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stat.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdio.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/types.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/endian.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/select.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/time.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/time.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/strings.h diff --git a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_supports.c.o b/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_supports.c.o deleted file mode 100644 index b487552480934348a0c328b861be8b0c2fa3170f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1089 zcmb7DO>f&q5Zw<_q)5tC;>2-`pqNE^a3Ii;<5-4@9xS&3dMlb!Zwy7Q6k7Z;xisn= zEERTh56~abQ*S}hL+=IpJNh#U6g_peasi{rr3dZ~XJ_WUc{@v@CZ~iD`fjya5&nuU z>7`zluh`I7SQbdo_Rqt4Z} zHusr<#U7)3MFgGn1p^9fAvka#Bjy3$Wu7p=c*3`Z38wG1+*lfy=JJC%AOBP6zq$Q& zdGlno`jvt-3b*Abip|jE>b{H@J>Y!dN<`<-~F8$=8|8!%g(=K z*#wX!1HRDoG}%XB?6OCiC1P~mBLYPP#CR*Z7|}iAecUK^#g6&04)%mIF@y^axTgqf zfTvq_b{Ro*19~H7>o8kvOo;Gd1N<*UAIaW>DTDPjp zq>W|WP!G*mHjPYz=>;|8EGp(-Kil6M?hWUug5B3jRm~?)(SF@d_mJJwEIVH>0j8eH zSi$q7qeD4L#>4UW`RFK_jSof#az8qVlf&`hFpdwBXR|~O51)|lwS2yc>bX?mOh&4$ zWn&NAX`3yA^@AMvw|;`MQiH8H%CaCWlC(y&pgfm#Ru=Ptled{l&!eoB13zz-mL-^H se)lM?B{j zM>5ZIc4X!G1&zet#f&9Yd}e!I6voQe-dK$jeJ&Wgf-~a>CtjL_u~Ay)ynyRJhN-8t zPPCUP!=_lnE5Iz7=sapNsgMRsMQcw13LQ5@oH@$8+n#%Ed)_+9xN|R#3Z6 zl1qlX*FXUr#0g4}8&eP@uzg{HYzhl4uw2%}xgN)Pn1lIKEQy!mC6r#(*(Ot)t(IKHmBZgS-i8&p{SH?T8Qy_axbqtCQl@)w7w(QK7PhgA4TSTT1Em_769mqC8 z+sC*AJ68wNv8(LYf?cBGISJ#DDF0FnEyjd>tsIPsBGF*1csct}P%2tQNznfKyKi2} z`O+pYeaYGHT(EzHU>~I{{UJH~w;(R0IvGp?r88cmZlJPE4cz`Yp9>;C9(}*F-R`tI zqtHO}tubl#VvG83C;fJijJKlbZ1!_WdaMEi&kqjv)c&B`>2{y*9}I@w-Ths)?e7MI zz3yHo2zCcM!-4ATwb*;w2WA^zkCgF-$~P0Ova(a{Pofidc1s-l+Q3axS=c&q^au$waSN&lA15nWPod5s; diff --git a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_tell.c.o.d b/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_tell.c.o.d deleted file mode 100644 index f1a3155..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_tell.c.o.d +++ /dev/null @@ -1,41 +0,0 @@ -lib/CMakeFiles/zip.dir/zip_source_tell.c.o: \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_tell.c \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zipint.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/config.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/zipconf.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/inttypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/inttypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/features.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/alltypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stdint.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/compat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdbool.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdbool.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/errno.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/errno.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/wasi/api.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_header_macro.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_ptrdiff_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_size_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_rsize_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_wchar_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_null.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_max_align_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_offsetof.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/sys/stat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/stat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stat.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdio.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/types.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/endian.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/select.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/time.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/time.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/strings.h diff --git a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_tell_write.c.o b/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_tell_write.c.o deleted file mode 100644 index b0344a2323705471825f963bf29582951f4e848e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 841 zcmYk4%W~5&6ow@^ZSHk?zqdzi7wH(MY11SVR!yO>WXsNV93^$4*sd%G%AyV|cmetb zya5|l%KUIM650YI_yXKRf)xt4R&qHOIAd1^1N&o{HQVq1DsR$aN21$Wd zCMlYNRGA<;*G6<6=3xFcO}8=4KpHZ)G)peX1!S*^XlBl}3p5Wo$PZ|ty+eztXaNdP zgoVK<+(ey4Nn!eb|9r*n|Dj$LYU=GJ`U!4>{H{l&V%7 zDCuB858?2!6;#ioZ;3mtj%nz6eUkZ_q$z~R>XXJx#<}%QxRQ|)Ldk{E)R+^D`%dM> zo0nJGe0m+HpJDVF6ZBiHFGNd!Cm8)nh}l5+-N<1g#03>PEDTxK?A+lwhudEN?b&Ii zTB-J33FR9pgYfx@if^J$#qmccoR4QWQTfV)}tJ){;pxU9am3 zwVUaWnc%+HH*%whOLuJZh#C4Ql6HqPv(NpG%|m0^^F1l-AW(fYdx1=5+t3B;F~K~C Rner}Rp^*vQzGt%c@-ITg*U$g} diff --git a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_tell_write.c.o.d b/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_tell_write.c.o.d deleted file mode 100644 index 2965eb8..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_tell_write.c.o.d +++ /dev/null @@ -1,41 +0,0 @@ -lib/CMakeFiles/zip.dir/zip_source_tell_write.c.o: \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_tell_write.c \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zipint.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/config.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/zipconf.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/inttypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/inttypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/features.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/alltypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stdint.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/compat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdbool.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdbool.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/errno.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/errno.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/wasi/api.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_header_macro.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_ptrdiff_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_size_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_rsize_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_wchar_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_null.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_max_align_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_offsetof.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/sys/stat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/stat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stat.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdio.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/types.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/endian.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/select.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/time.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/time.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/strings.h diff --git a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_window.c.o b/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_window.c.o deleted file mode 100644 index d846b64c2c20d234c513c0a00982fdab26e2bc9a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9541 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 diff --git a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_window.c.o.d b/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_window.c.o.d deleted file mode 100644 index 882b0da..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_window.c.o.d +++ /dev/null @@ -1,44 +0,0 @@ -lib/CMakeFiles/zip.dir/zip_source_window.c.o: \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_window.c \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/stdlib.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdlib.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/features.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/alltypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/alloca.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/strings.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zipint.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/config.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/zipconf.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/inttypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/inttypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stdint.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/compat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdbool.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdbool.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/errno.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/errno.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/wasi/api.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_header_macro.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_ptrdiff_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_size_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_rsize_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_wchar_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_null.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_max_align_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_offsetof.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/sys/stat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/stat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stat.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdio.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/types.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/endian.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/select.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/time.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/time.h diff --git a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_write.c.o b/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_write.c.o deleted file mode 100644 index cd64babc452ec2f68a9203ce310e8c0c31987eac..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 806 zcmYjP&2G~`5Z+xUjq_K#ZQ7>4niV~?GEUQ`O%zU~P_En%H`lQ@sT;?3*Xuwz#DQl( zT#!IWTzLr|gBO7ttP?8LfAh`f`F3_@2ifr$BZTm$*=&ZCDc;wkx+ z{mUsVm}r*edjYe#HD=?G-w}lV)3LCfkrjnrAQ)FtoYB>HUSu)OLvF=PpgE^o85xHO zcbMhazK@9VAzL4#(sv0E{zi($luXquvwX3{Bz+`9W{4_1pgB+=H==pSAIwR}18S3+ zG`LN4X-G#=A%93}bP1LY$pJ0&Fjb)d>I+(wumnXY-O@67n%z*otRl!CDJrd8{Jp;r ztwIH=ujsNAXs`_0E!9E4tm5)w>6KoEuEGke-q5w)Dy{VpU57QO!MZ-*)kR7-j!^bs^fikqaps3kW*7-$BO4;q3tW%OY-TuN+z*4HQ5q+{@FupO zFhd(B!tVRb9QtA3_G4o$2m`_GD3a|n2a(9e*3dW`FwO#pnc^;Dv7yG^FfiF$@ekGt B*&hG^ diff --git a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_write.c.o.d b/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_write.c.o.d deleted file mode 100644 index c9e6ec4..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_write.c.o.d +++ /dev/null @@ -1,41 +0,0 @@ -lib/CMakeFiles/zip.dir/zip_source_write.c.o: \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_write.c \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zipint.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/config.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/zipconf.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/inttypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/inttypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/features.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/alltypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stdint.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/compat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdbool.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdbool.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/errno.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/errno.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/wasi/api.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_header_macro.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_ptrdiff_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_size_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_rsize_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_wchar_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_null.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_max_align_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_offsetof.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/sys/stat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/stat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stat.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdio.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/types.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/endian.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/select.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/time.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/time.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/strings.h diff --git a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_zip.c.o b/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_zip.c.o deleted file mode 100644 index b66a8370019ec60ca1e7996a6fd54c0931d1f106..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1216 zcma)6Idj`a6yAdrz)PSgOSWa&dTYrxX%G~3k;7D`6W19{nsgKhE@?<0Kmwp9N@fV< z_z7t<>Cz@men4h2lfRHERoYZ(Ql!XRfJNdeGhDu7-|@Zuc0ufDMhPMGySuwPlDphU zR>^9W(BzUQNkT5Q%vO$#B-Lrceote$^lyye&~trhhr^ki1>r3tWbKY(+qoXj1J{pb z$P=pEl~3LIP=;X;4kH!xfr9oppkQ5AN5Ol%iXzwJ z7z+6=%YokHx+uI(L=g&5{794rRFt6v<%OuQSL_v3-c$(a4VDv|gPJe~L{woD45(Jq zR%mZwt*tI=m1!v}S9?vwHq>DILfpf0J8%zn7Gf8R?P4+PbssbCBZxGY4x*{7x_GIqsxY%jTG`|lPT7VAG~p$f z(1JEt)z8z@Kf+o^ID1;FB|1pPF}jYg#0i|N$>B3NqT_JHuvEmjgNZ%Lf09%N-hBa$fNZIxp@s?2{ zKdWsGZ~L|DPnrIsGV_G6op&y9c6V8o5cR{i#W(*OLB3b1#ZY>I(|-TM58m*CwokP) zO1`Cxe8ai+6Q|m*xc=aj{FWoypE*kYQb~n*7>t*W3?o`b)sayo$JXeU<{i)Wryrjj zw>$05)QzF>Hjd}fdq=3hU5?sLFgxG#jNz44@f+C7!W z_Ng;I@1J)Z=X88B8OzRjlYEWr5+k<5sf>pce4NWrM!H!VExl_id-|sFFT)DvvAOHm zo@crK*bT9p72L?s3;d~BoGrcBy|KNeG>zFZwnv_{rd}|zy~y1513wP!`5aH#n#^PM b0WpnGPGl&3M_TdiTt=oIxl`YgpTz$FdtMrH diff --git a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_zip.c.o.d b/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_zip.c.o.d deleted file mode 100644 index 90ce593..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_zip.c.o.d +++ /dev/null @@ -1,44 +0,0 @@ -lib/CMakeFiles/zip.dir/zip_source_zip.c.o: \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_source_zip.c \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/stdlib.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdlib.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/features.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/alltypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/alloca.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zipint.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/config.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/zipconf.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/inttypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/inttypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stdint.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/compat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdbool.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdbool.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/errno.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/errno.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/wasi/api.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_header_macro.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_ptrdiff_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_size_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_rsize_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_wchar_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_null.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_max_align_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_offsetof.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/sys/stat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/stat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stat.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdio.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/types.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/endian.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/select.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/time.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/time.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/strings.h diff --git a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_zip_new.c.o b/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_source_zip_new.c.o deleted file mode 100644 index 6afe8824f796bfe04d08ff2adfbb67723b815318..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8276 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 C=f)ZU diff --git a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_stat.c.o.d b/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_stat.c.o.d deleted file mode 100644 index 99cb698..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_stat.c.o.d +++ /dev/null @@ -1,41 +0,0 @@ -lib/CMakeFiles/zip.dir/zip_stat.c.o: \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_stat.c \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zipint.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/config.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/zipconf.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/inttypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/inttypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/features.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/alltypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stdint.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/compat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdbool.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdbool.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/errno.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/errno.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/wasi/api.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_header_macro.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_ptrdiff_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_size_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_rsize_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_wchar_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_null.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_max_align_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_offsetof.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/sys/stat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/stat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stat.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdio.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/types.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/endian.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/select.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/time.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/time.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/strings.h diff --git a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_stat_index.c.o b/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_stat_index.c.o deleted file mode 100644 index b68a6b5c9f59d4cc92ef8b2f429fa0a3fc30b221..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3212 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≦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 diff --git a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_unchange.c.o.d b/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_unchange.c.o.d deleted file mode 100644 index e1cf672..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_unchange.c.o.d +++ /dev/null @@ -1,44 +0,0 @@ -lib/CMakeFiles/zip.dir/zip_unchange.c.o: \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_unchange.c \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/stdlib.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdlib.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/features.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/alltypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/alloca.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zipint.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/config.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/zipconf.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/inttypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/inttypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stdint.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/compat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdbool.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdbool.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/errno.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/errno.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/wasi/api.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_header_macro.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_ptrdiff_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_size_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_rsize_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_wchar_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_null.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_max_align_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_offsetof.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/sys/stat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/stat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stat.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdio.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/types.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/endian.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/select.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/time.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/time.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/strings.h diff --git a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_unchange_all.c.o b/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_unchange_all.c.o deleted file mode 100644 index 3aca76e07bee91d019508535266dddea95eb93d3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 912 zcmY*YOK;Oa5Z+xUjq_^UHhrhH8gzBb_L_g42Q60ys>>_U&VHjJ<`nN>i`^savW-5>zc#Nw+c0KpHZ4G)r2f z1=&1m&uC666T2gCG*AX?JG=6unncR zbVp9?$m}_k&Bltmu&YHqqkADxq#&O?PN`(lNFoIHrMEAa69tv%fo$EOgbr`%5ga|V z?x2uGU&CTja>s|Z+b8O$&`ru+(f;2p#~~U*;fs+*(C3hr;mq-@%9CeLua$+=I!-;p z=oLZVu!6pjMCv=i=y%9V``qh}Eye?!lcvRjfOYlGJx*GVJRUF4&nneQwQmbJ9thzF zk58pN7^p;ryE*gzXR_`{e&E`eD(d{*B^%^@fYgYHNd0DlrTKBxy zW!1|Q^ig&i6@BXRgI`aqqLB MtOj=9)!A$D2My=rzW@LL diff --git a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_unchange_all.c.o.d b/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_unchange_all.c.o.d deleted file mode 100644 index 5f8f07b..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_unchange_all.c.o.d +++ /dev/null @@ -1,41 +0,0 @@ -lib/CMakeFiles/zip.dir/zip_unchange_all.c.o: \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_unchange_all.c \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zipint.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/config.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/zipconf.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/inttypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/inttypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/features.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/alltypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stdint.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/compat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdbool.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdbool.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/errno.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/errno.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/wasi/api.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_header_macro.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_ptrdiff_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_size_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_rsize_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_wchar_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_null.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_max_align_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_offsetof.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/sys/stat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/stat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stat.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdio.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/types.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/endian.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/select.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/time.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/time.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/strings.h diff --git a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_unchange_archive.c.o b/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_unchange_archive.c.o deleted file mode 100644 index e2824d0f636358c769cc0e9a19921b0cb1d1dfa5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 664 zcmYjPJC74F5VpO^ZC-bqyPOaOg;%5qT5T?OxoniHh~R2ks20aN+3dyp!0U|&O#&q~ z6%GFYi3*7yz;B|&CMl4t@ys_5e=}pm$`m7n@aO%0kH}lR!#gby`E6{=f^6f2p-3`d zGE5=O<(43HgiFQvIxO-eQy{G!HgGrmkQ8C5WRk_YuBPy{~t&#iUQK1)_`=}8m;+g;MV8ZJ)w1a^3Ju%b86q8qJzId8w1jJ zo3z^7K2%h@;>!!;Z8Xfm6OI3Gth%Lqo3 zXXuOBh@+T{L4`|Ts*+GPy!N6JYyYrr&-u^r^Fn!#I1|E8vM7=IH9y~g6nPeVt+Wy< z*)UOo=cJWl3juyC@&yy6*UR!uNmdkkbpEnX=F@nNge6GGIQVK?K@Zsx@61FIQArUZpa+>oQFA> z?~?`Yx$xw<2#W$;f+Zazvdpm+Sca88S%uXnXbsi`v<~Y!*2qTlJ=uf}*nCO0IKK^B zu-zv+u=B(NfZz!bVYk=<+>5i14Jg&7`K)-~6!tcH71s$CGDTW!8 z!SkbwOatfE4m#9wZDwN)A@ND*hoJH?^+Tuh{MCzVIjbm=vMC`Kqu*FozQ_{#E12mh z4&BtDaUvCY=+GpguGzYmvX0MvU!R|qDy2%tW1!zM7A03@9^a;|k`wmIzCRfMOuqDv zIt(r@FKe{!HY$zAMg7ukH>&k2J+rHhTWi!Rj#G8d+b*rtj?s5s7^E^g?oi%`)MjZ+ zlblg#rGD2Ox3{7GH!#D98Ox6C`=%F&_H~#U4ruI$LC47VQlEJP+fS*X_EKiId}?<5 sux0y+u@Hm-i|r`l^)uTM6OY7DW7?+t4LHClfGsD0HA8s6aWAK diff --git a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_unchange_data.c.o.d b/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_unchange_data.c.o.d deleted file mode 100644 index d8c60e4..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_unchange_data.c.o.d +++ /dev/null @@ -1,41 +0,0 @@ -lib/CMakeFiles/zip.dir/zip_unchange_data.c.o: \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_unchange_data.c \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zipint.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/config.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/zipconf.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/inttypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/inttypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/features.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/alltypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stdint.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/compat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdbool.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdbool.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/errno.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/errno.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/wasi/api.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_header_macro.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_ptrdiff_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_size_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_rsize_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_wchar_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_null.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_max_align_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_offsetof.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/sys/stat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/stat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stat.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdio.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/types.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/endian.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/select.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/time.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/time.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/strings.h diff --git a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_utf-8.c.o b/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_utf-8.c.o deleted file mode 100644 index fc94e6646963ae0e5cb2d511bd77e63741ba16cf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4857 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 diff --git a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_utf-8.c.o.d b/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_utf-8.c.o.d deleted file mode 100644 index e654693..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/lib/CMakeFiles/zip.dir/zip_utf-8.c.o.d +++ /dev/null @@ -1,44 +0,0 @@ -lib/CMakeFiles/zip.dir/zip_utf-8.c.o: \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip_utf-8.c \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zipint.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/config.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/zipconf.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/inttypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/inttypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/features.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/alltypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stdint.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/compat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdbool.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdbool.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/errno.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/errno.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/wasi/api.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_header_macro.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_ptrdiff_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_size_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_rsize_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_wchar_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_null.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_max_align_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_offsetof.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/sys/stat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/stat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stat.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdio.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/types.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/endian.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/select.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/time.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/time.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/strings.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/stdlib.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdlib.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/alloca.h diff --git a/thirdparty/libzip-1.11.3/build-emcmake/lib/CTestTestfile.cmake b/thirdparty/libzip-1.11.3/build-emcmake/lib/CTestTestfile.cmake deleted file mode 100644 index 6b1930a..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/lib/CTestTestfile.cmake +++ /dev/null @@ -1,6 +0,0 @@ -# CMake generated Testfile for -# Source directory: /home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib -# Build directory: /home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib -# -# This file includes the relevant testing commands required for -# testing this directory and lists subdirectories to be tested as well. diff --git a/thirdparty/libzip-1.11.3/build-emcmake/lib/Makefile b/thirdparty/libzip-1.11.3/build-emcmake/lib/Makefile deleted file mode 100644 index bb572c0..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/lib/Makefile +++ /dev/null @@ -1,3266 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.28 - -# Default target executed when no arguments are given to make. -default_target: all -.PHONY : default_target - -# Allow only one "make -f Makefile2" at a time, but pass parallelism. -.NOTPARALLEL: - -#============================================================================= -# Special targets provided by cmake. - -# Disable implicit rules so canonical targets will work. -.SUFFIXES: - -# Disable VCS-based implicit rules. -% : %,v - -# Disable VCS-based implicit rules. -% : RCS/% - -# Disable VCS-based implicit rules. -% : RCS/%,v - -# Disable VCS-based implicit rules. -% : SCCS/s.% - -# Disable VCS-based implicit rules. -% : s.% - -.SUFFIXES: .hpux_make_needs_suffix_list - -# Command-line flag to silence nested $(MAKE). -$(VERBOSE)MAKESILENT = -s - -#Suppress display of executed commands. -$(VERBOSE).SILENT: - -# A target that is always out of date. -cmake_force: -.PHONY : cmake_force - -#============================================================================= -# Set environment variables for the build. - -# The shell in which to execute make rules. -SHELL = /bin/sh - -# The CMake executable. -CMAKE_COMMAND = /usr/bin/cmake - -# The command to remove a file. -RM = /usr/bin/cmake -E rm -f - -# Escaping for special characters. -EQUALS = = - -# The top-level source directory on which CMake was run. -CMAKE_SOURCE_DIR = "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3" - -# The top-level build directory on which CMake was run. -CMAKE_BINARY_DIR = "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" - -#============================================================================= -# Targets provided globally by CMake. - -# Special rule for the target test -test: - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Running tests..." - /usr/bin/ctest --force-new-ctest-process $(ARGS) -.PHONY : test - -# Special rule for the target test -test/fast: test -.PHONY : test/fast - -# Special rule for the target edit_cache -edit_cache: - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "No interactive CMake dialog available..." - /usr/bin/cmake -E echo No\ interactive\ CMake\ dialog\ available. -.PHONY : edit_cache - -# Special rule for the target edit_cache -edit_cache/fast: edit_cache -.PHONY : edit_cache/fast - -# Special rule for the target rebuild_cache -rebuild_cache: - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Running CMake to regenerate build system..." - /usr/bin/cmake --regenerate-during-build -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) -.PHONY : rebuild_cache - -# Special rule for the target rebuild_cache -rebuild_cache/fast: rebuild_cache -.PHONY : rebuild_cache/fast - -# Special rule for the target list_install_components -list_install_components: - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Available install components are: \"Unspecified\"" -.PHONY : list_install_components - -# Special rule for the target list_install_components -list_install_components/fast: list_install_components -.PHONY : list_install_components/fast - -# Special rule for the target install -install: preinstall - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Install the project..." - /usr/bin/cmake -P cmake_install.cmake -.PHONY : install - -# Special rule for the target install -install/fast: preinstall/fast - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Install the project..." - /usr/bin/cmake -P cmake_install.cmake -.PHONY : install/fast - -# Special rule for the target install/local -install/local: preinstall - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Installing only the local directory..." - /usr/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake -.PHONY : install/local - -# Special rule for the target install/local -install/local/fast: preinstall/fast - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Installing only the local directory..." - /usr/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake -.PHONY : install/local/fast - -# Special rule for the target install/strip -install/strip: preinstall - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Installing the project stripped..." - /usr/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake -.PHONY : install/strip - -# Special rule for the target install/strip -install/strip/fast: preinstall/fast - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Installing the project stripped..." - /usr/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake -.PHONY : install/strip/fast - -# The main all target -all: cmake_check_build_system - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(CMAKE_COMMAND) -E cmake_progress_start "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib//CMakeFiles/progress.marks" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 lib/all - $(CMAKE_COMMAND) -E cmake_progress_start "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" 0 -.PHONY : all - -# The main clean target -clean: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 lib/clean -.PHONY : clean - -# The main clean target -clean/fast: clean -.PHONY : clean/fast - -# Prepare targets for installation. -preinstall: all - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 lib/preinstall -.PHONY : preinstall - -# Prepare targets for installation. -preinstall/fast: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 lib/preinstall -.PHONY : preinstall/fast - -# clear depends -depend: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1 -.PHONY : depend - -# Convenience name for target. -lib/CMakeFiles/zip.dir/rule: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 lib/CMakeFiles/zip.dir/rule -.PHONY : lib/CMakeFiles/zip.dir/rule - -# Convenience name for target. -zip: lib/CMakeFiles/zip.dir/rule -.PHONY : zip - -# fast build rule for target. -zip/fast: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/build -.PHONY : zip/fast - -zip_add.o: zip_add.c.o -.PHONY : zip_add.o - -# target to build an object file -zip_add.c.o: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_add.c.o -.PHONY : zip_add.c.o - -zip_add.i: zip_add.c.i -.PHONY : zip_add.i - -# target to preprocess a source file -zip_add.c.i: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_add.c.i -.PHONY : zip_add.c.i - -zip_add.s: zip_add.c.s -.PHONY : zip_add.s - -# target to generate assembly for a file -zip_add.c.s: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_add.c.s -.PHONY : zip_add.c.s - -zip_add_dir.o: zip_add_dir.c.o -.PHONY : zip_add_dir.o - -# target to build an object file -zip_add_dir.c.o: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_add_dir.c.o -.PHONY : zip_add_dir.c.o - -zip_add_dir.i: zip_add_dir.c.i -.PHONY : zip_add_dir.i - -# target to preprocess a source file -zip_add_dir.c.i: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_add_dir.c.i -.PHONY : zip_add_dir.c.i - -zip_add_dir.s: zip_add_dir.c.s -.PHONY : zip_add_dir.s - -# target to generate assembly for a file -zip_add_dir.c.s: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_add_dir.c.s -.PHONY : zip_add_dir.c.s - -zip_add_entry.o: zip_add_entry.c.o -.PHONY : zip_add_entry.o - -# target to build an object file -zip_add_entry.c.o: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_add_entry.c.o -.PHONY : zip_add_entry.c.o - -zip_add_entry.i: zip_add_entry.c.i -.PHONY : zip_add_entry.i - -# target to preprocess a source file -zip_add_entry.c.i: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_add_entry.c.i -.PHONY : zip_add_entry.c.i - -zip_add_entry.s: zip_add_entry.c.s -.PHONY : zip_add_entry.s - -# target to generate assembly for a file -zip_add_entry.c.s: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_add_entry.c.s -.PHONY : zip_add_entry.c.s - -zip_algorithm_deflate.o: zip_algorithm_deflate.c.o -.PHONY : zip_algorithm_deflate.o - -# target to build an object file -zip_algorithm_deflate.c.o: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_algorithm_deflate.c.o -.PHONY : zip_algorithm_deflate.c.o - -zip_algorithm_deflate.i: zip_algorithm_deflate.c.i -.PHONY : zip_algorithm_deflate.i - -# target to preprocess a source file -zip_algorithm_deflate.c.i: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_algorithm_deflate.c.i -.PHONY : zip_algorithm_deflate.c.i - -zip_algorithm_deflate.s: zip_algorithm_deflate.c.s -.PHONY : zip_algorithm_deflate.s - -# target to generate assembly for a file -zip_algorithm_deflate.c.s: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_algorithm_deflate.c.s -.PHONY : zip_algorithm_deflate.c.s - -zip_buffer.o: zip_buffer.c.o -.PHONY : zip_buffer.o - -# target to build an object file -zip_buffer.c.o: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_buffer.c.o -.PHONY : zip_buffer.c.o - -zip_buffer.i: zip_buffer.c.i -.PHONY : zip_buffer.i - -# target to preprocess a source file -zip_buffer.c.i: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_buffer.c.i -.PHONY : zip_buffer.c.i - -zip_buffer.s: zip_buffer.c.s -.PHONY : zip_buffer.s - -# target to generate assembly for a file -zip_buffer.c.s: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_buffer.c.s -.PHONY : zip_buffer.c.s - -zip_close.o: zip_close.c.o -.PHONY : zip_close.o - -# target to build an object file -zip_close.c.o: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_close.c.o -.PHONY : zip_close.c.o - -zip_close.i: zip_close.c.i -.PHONY : zip_close.i - -# target to preprocess a source file -zip_close.c.i: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_close.c.i -.PHONY : zip_close.c.i - -zip_close.s: zip_close.c.s -.PHONY : zip_close.s - -# target to generate assembly for a file -zip_close.c.s: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_close.c.s -.PHONY : zip_close.c.s - -zip_delete.o: zip_delete.c.o -.PHONY : zip_delete.o - -# target to build an object file -zip_delete.c.o: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_delete.c.o -.PHONY : zip_delete.c.o - -zip_delete.i: zip_delete.c.i -.PHONY : zip_delete.i - -# target to preprocess a source file -zip_delete.c.i: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_delete.c.i -.PHONY : zip_delete.c.i - -zip_delete.s: zip_delete.c.s -.PHONY : zip_delete.s - -# target to generate assembly for a file -zip_delete.c.s: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_delete.c.s -.PHONY : zip_delete.c.s - -zip_dir_add.o: zip_dir_add.c.o -.PHONY : zip_dir_add.o - -# target to build an object file -zip_dir_add.c.o: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_dir_add.c.o -.PHONY : zip_dir_add.c.o - -zip_dir_add.i: zip_dir_add.c.i -.PHONY : zip_dir_add.i - -# target to preprocess a source file -zip_dir_add.c.i: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_dir_add.c.i -.PHONY : zip_dir_add.c.i - -zip_dir_add.s: zip_dir_add.c.s -.PHONY : zip_dir_add.s - -# target to generate assembly for a file -zip_dir_add.c.s: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_dir_add.c.s -.PHONY : zip_dir_add.c.s - -zip_dirent.o: zip_dirent.c.o -.PHONY : zip_dirent.o - -# target to build an object file -zip_dirent.c.o: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_dirent.c.o -.PHONY : zip_dirent.c.o - -zip_dirent.i: zip_dirent.c.i -.PHONY : zip_dirent.i - -# target to preprocess a source file -zip_dirent.c.i: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_dirent.c.i -.PHONY : zip_dirent.c.i - -zip_dirent.s: zip_dirent.c.s -.PHONY : zip_dirent.s - -# target to generate assembly for a file -zip_dirent.c.s: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_dirent.c.s -.PHONY : zip_dirent.c.s - -zip_discard.o: zip_discard.c.o -.PHONY : zip_discard.o - -# target to build an object file -zip_discard.c.o: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_discard.c.o -.PHONY : zip_discard.c.o - -zip_discard.i: zip_discard.c.i -.PHONY : zip_discard.i - -# target to preprocess a source file -zip_discard.c.i: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_discard.c.i -.PHONY : zip_discard.c.i - -zip_discard.s: zip_discard.c.s -.PHONY : zip_discard.s - -# target to generate assembly for a file -zip_discard.c.s: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_discard.c.s -.PHONY : zip_discard.c.s - -zip_entry.o: zip_entry.c.o -.PHONY : zip_entry.o - -# target to build an object file -zip_entry.c.o: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_entry.c.o -.PHONY : zip_entry.c.o - -zip_entry.i: zip_entry.c.i -.PHONY : zip_entry.i - -# target to preprocess a source file -zip_entry.c.i: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_entry.c.i -.PHONY : zip_entry.c.i - -zip_entry.s: zip_entry.c.s -.PHONY : zip_entry.s - -# target to generate assembly for a file -zip_entry.c.s: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_entry.c.s -.PHONY : zip_entry.c.s - -zip_err_str.o: zip_err_str.c.o -.PHONY : zip_err_str.o - -# target to build an object file -zip_err_str.c.o: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_err_str.c.o -.PHONY : zip_err_str.c.o - -zip_err_str.i: zip_err_str.c.i -.PHONY : zip_err_str.i - -# target to preprocess a source file -zip_err_str.c.i: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_err_str.c.i -.PHONY : zip_err_str.c.i - -zip_err_str.s: zip_err_str.c.s -.PHONY : zip_err_str.s - -# target to generate assembly for a file -zip_err_str.c.s: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_err_str.c.s -.PHONY : zip_err_str.c.s - -zip_error.o: zip_error.c.o -.PHONY : zip_error.o - -# target to build an object file -zip_error.c.o: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_error.c.o -.PHONY : zip_error.c.o - -zip_error.i: zip_error.c.i -.PHONY : zip_error.i - -# target to preprocess a source file -zip_error.c.i: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_error.c.i -.PHONY : zip_error.c.i - -zip_error.s: zip_error.c.s -.PHONY : zip_error.s - -# target to generate assembly for a file -zip_error.c.s: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_error.c.s -.PHONY : zip_error.c.s - -zip_error_clear.o: zip_error_clear.c.o -.PHONY : zip_error_clear.o - -# target to build an object file -zip_error_clear.c.o: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_error_clear.c.o -.PHONY : zip_error_clear.c.o - -zip_error_clear.i: zip_error_clear.c.i -.PHONY : zip_error_clear.i - -# target to preprocess a source file -zip_error_clear.c.i: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_error_clear.c.i -.PHONY : zip_error_clear.c.i - -zip_error_clear.s: zip_error_clear.c.s -.PHONY : zip_error_clear.s - -# target to generate assembly for a file -zip_error_clear.c.s: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_error_clear.c.s -.PHONY : zip_error_clear.c.s - -zip_error_get.o: zip_error_get.c.o -.PHONY : zip_error_get.o - -# target to build an object file -zip_error_get.c.o: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_error_get.c.o -.PHONY : zip_error_get.c.o - -zip_error_get.i: zip_error_get.c.i -.PHONY : zip_error_get.i - -# target to preprocess a source file -zip_error_get.c.i: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_error_get.c.i -.PHONY : zip_error_get.c.i - -zip_error_get.s: zip_error_get.c.s -.PHONY : zip_error_get.s - -# target to generate assembly for a file -zip_error_get.c.s: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_error_get.c.s -.PHONY : zip_error_get.c.s - -zip_error_get_sys_type.o: zip_error_get_sys_type.c.o -.PHONY : zip_error_get_sys_type.o - -# target to build an object file -zip_error_get_sys_type.c.o: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_error_get_sys_type.c.o -.PHONY : zip_error_get_sys_type.c.o - -zip_error_get_sys_type.i: zip_error_get_sys_type.c.i -.PHONY : zip_error_get_sys_type.i - -# target to preprocess a source file -zip_error_get_sys_type.c.i: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_error_get_sys_type.c.i -.PHONY : zip_error_get_sys_type.c.i - -zip_error_get_sys_type.s: zip_error_get_sys_type.c.s -.PHONY : zip_error_get_sys_type.s - -# target to generate assembly for a file -zip_error_get_sys_type.c.s: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_error_get_sys_type.c.s -.PHONY : zip_error_get_sys_type.c.s - -zip_error_strerror.o: zip_error_strerror.c.o -.PHONY : zip_error_strerror.o - -# target to build an object file -zip_error_strerror.c.o: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_error_strerror.c.o -.PHONY : zip_error_strerror.c.o - -zip_error_strerror.i: zip_error_strerror.c.i -.PHONY : zip_error_strerror.i - -# target to preprocess a source file -zip_error_strerror.c.i: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_error_strerror.c.i -.PHONY : zip_error_strerror.c.i - -zip_error_strerror.s: zip_error_strerror.c.s -.PHONY : zip_error_strerror.s - -# target to generate assembly for a file -zip_error_strerror.c.s: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_error_strerror.c.s -.PHONY : zip_error_strerror.c.s - -zip_error_to_str.o: zip_error_to_str.c.o -.PHONY : zip_error_to_str.o - -# target to build an object file -zip_error_to_str.c.o: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_error_to_str.c.o -.PHONY : zip_error_to_str.c.o - -zip_error_to_str.i: zip_error_to_str.c.i -.PHONY : zip_error_to_str.i - -# target to preprocess a source file -zip_error_to_str.c.i: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_error_to_str.c.i -.PHONY : zip_error_to_str.c.i - -zip_error_to_str.s: zip_error_to_str.c.s -.PHONY : zip_error_to_str.s - -# target to generate assembly for a file -zip_error_to_str.c.s: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_error_to_str.c.s -.PHONY : zip_error_to_str.c.s - -zip_extra_field.o: zip_extra_field.c.o -.PHONY : zip_extra_field.o - -# target to build an object file -zip_extra_field.c.o: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_extra_field.c.o -.PHONY : zip_extra_field.c.o - -zip_extra_field.i: zip_extra_field.c.i -.PHONY : zip_extra_field.i - -# target to preprocess a source file -zip_extra_field.c.i: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_extra_field.c.i -.PHONY : zip_extra_field.c.i - -zip_extra_field.s: zip_extra_field.c.s -.PHONY : zip_extra_field.s - -# target to generate assembly for a file -zip_extra_field.c.s: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_extra_field.c.s -.PHONY : zip_extra_field.c.s - -zip_extra_field_api.o: zip_extra_field_api.c.o -.PHONY : zip_extra_field_api.o - -# target to build an object file -zip_extra_field_api.c.o: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_extra_field_api.c.o -.PHONY : zip_extra_field_api.c.o - -zip_extra_field_api.i: zip_extra_field_api.c.i -.PHONY : zip_extra_field_api.i - -# target to preprocess a source file -zip_extra_field_api.c.i: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_extra_field_api.c.i -.PHONY : zip_extra_field_api.c.i - -zip_extra_field_api.s: zip_extra_field_api.c.s -.PHONY : zip_extra_field_api.s - -# target to generate assembly for a file -zip_extra_field_api.c.s: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_extra_field_api.c.s -.PHONY : zip_extra_field_api.c.s - -zip_fclose.o: zip_fclose.c.o -.PHONY : zip_fclose.o - -# target to build an object file -zip_fclose.c.o: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_fclose.c.o -.PHONY : zip_fclose.c.o - -zip_fclose.i: zip_fclose.c.i -.PHONY : zip_fclose.i - -# target to preprocess a source file -zip_fclose.c.i: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_fclose.c.i -.PHONY : zip_fclose.c.i - -zip_fclose.s: zip_fclose.c.s -.PHONY : zip_fclose.s - -# target to generate assembly for a file -zip_fclose.c.s: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_fclose.c.s -.PHONY : zip_fclose.c.s - -zip_fdopen.o: zip_fdopen.c.o -.PHONY : zip_fdopen.o - -# target to build an object file -zip_fdopen.c.o: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_fdopen.c.o -.PHONY : zip_fdopen.c.o - -zip_fdopen.i: zip_fdopen.c.i -.PHONY : zip_fdopen.i - -# target to preprocess a source file -zip_fdopen.c.i: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_fdopen.c.i -.PHONY : zip_fdopen.c.i - -zip_fdopen.s: zip_fdopen.c.s -.PHONY : zip_fdopen.s - -# target to generate assembly for a file -zip_fdopen.c.s: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_fdopen.c.s -.PHONY : zip_fdopen.c.s - -zip_file_add.o: zip_file_add.c.o -.PHONY : zip_file_add.o - -# target to build an object file -zip_file_add.c.o: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_file_add.c.o -.PHONY : zip_file_add.c.o - -zip_file_add.i: zip_file_add.c.i -.PHONY : zip_file_add.i - -# target to preprocess a source file -zip_file_add.c.i: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_file_add.c.i -.PHONY : zip_file_add.c.i - -zip_file_add.s: zip_file_add.c.s -.PHONY : zip_file_add.s - -# target to generate assembly for a file -zip_file_add.c.s: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_file_add.c.s -.PHONY : zip_file_add.c.s - -zip_file_error_clear.o: zip_file_error_clear.c.o -.PHONY : zip_file_error_clear.o - -# target to build an object file -zip_file_error_clear.c.o: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_file_error_clear.c.o -.PHONY : zip_file_error_clear.c.o - -zip_file_error_clear.i: zip_file_error_clear.c.i -.PHONY : zip_file_error_clear.i - -# target to preprocess a source file -zip_file_error_clear.c.i: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_file_error_clear.c.i -.PHONY : zip_file_error_clear.c.i - -zip_file_error_clear.s: zip_file_error_clear.c.s -.PHONY : zip_file_error_clear.s - -# target to generate assembly for a file -zip_file_error_clear.c.s: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_file_error_clear.c.s -.PHONY : zip_file_error_clear.c.s - -zip_file_error_get.o: zip_file_error_get.c.o -.PHONY : zip_file_error_get.o - -# target to build an object file -zip_file_error_get.c.o: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_file_error_get.c.o -.PHONY : zip_file_error_get.c.o - -zip_file_error_get.i: zip_file_error_get.c.i -.PHONY : zip_file_error_get.i - -# target to preprocess a source file -zip_file_error_get.c.i: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_file_error_get.c.i -.PHONY : zip_file_error_get.c.i - -zip_file_error_get.s: zip_file_error_get.c.s -.PHONY : zip_file_error_get.s - -# target to generate assembly for a file -zip_file_error_get.c.s: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_file_error_get.c.s -.PHONY : zip_file_error_get.c.s - -zip_file_get_comment.o: zip_file_get_comment.c.o -.PHONY : zip_file_get_comment.o - -# target to build an object file -zip_file_get_comment.c.o: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_file_get_comment.c.o -.PHONY : zip_file_get_comment.c.o - -zip_file_get_comment.i: zip_file_get_comment.c.i -.PHONY : zip_file_get_comment.i - -# target to preprocess a source file -zip_file_get_comment.c.i: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_file_get_comment.c.i -.PHONY : zip_file_get_comment.c.i - -zip_file_get_comment.s: zip_file_get_comment.c.s -.PHONY : zip_file_get_comment.s - -# target to generate assembly for a file -zip_file_get_comment.c.s: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_file_get_comment.c.s -.PHONY : zip_file_get_comment.c.s - -zip_file_get_external_attributes.o: zip_file_get_external_attributes.c.o -.PHONY : zip_file_get_external_attributes.o - -# target to build an object file -zip_file_get_external_attributes.c.o: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_file_get_external_attributes.c.o -.PHONY : zip_file_get_external_attributes.c.o - -zip_file_get_external_attributes.i: zip_file_get_external_attributes.c.i -.PHONY : zip_file_get_external_attributes.i - -# target to preprocess a source file -zip_file_get_external_attributes.c.i: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_file_get_external_attributes.c.i -.PHONY : zip_file_get_external_attributes.c.i - -zip_file_get_external_attributes.s: zip_file_get_external_attributes.c.s -.PHONY : zip_file_get_external_attributes.s - -# target to generate assembly for a file -zip_file_get_external_attributes.c.s: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_file_get_external_attributes.c.s -.PHONY : zip_file_get_external_attributes.c.s - -zip_file_get_offset.o: zip_file_get_offset.c.o -.PHONY : zip_file_get_offset.o - -# target to build an object file -zip_file_get_offset.c.o: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_file_get_offset.c.o -.PHONY : zip_file_get_offset.c.o - -zip_file_get_offset.i: zip_file_get_offset.c.i -.PHONY : zip_file_get_offset.i - -# target to preprocess a source file -zip_file_get_offset.c.i: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_file_get_offset.c.i -.PHONY : zip_file_get_offset.c.i - -zip_file_get_offset.s: zip_file_get_offset.c.s -.PHONY : zip_file_get_offset.s - -# target to generate assembly for a file -zip_file_get_offset.c.s: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_file_get_offset.c.s -.PHONY : zip_file_get_offset.c.s - -zip_file_rename.o: zip_file_rename.c.o -.PHONY : zip_file_rename.o - -# target to build an object file -zip_file_rename.c.o: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_file_rename.c.o -.PHONY : zip_file_rename.c.o - -zip_file_rename.i: zip_file_rename.c.i -.PHONY : zip_file_rename.i - -# target to preprocess a source file -zip_file_rename.c.i: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_file_rename.c.i -.PHONY : zip_file_rename.c.i - -zip_file_rename.s: zip_file_rename.c.s -.PHONY : zip_file_rename.s - -# target to generate assembly for a file -zip_file_rename.c.s: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_file_rename.c.s -.PHONY : zip_file_rename.c.s - -zip_file_replace.o: zip_file_replace.c.o -.PHONY : zip_file_replace.o - -# target to build an object file -zip_file_replace.c.o: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_file_replace.c.o -.PHONY : zip_file_replace.c.o - -zip_file_replace.i: zip_file_replace.c.i -.PHONY : zip_file_replace.i - -# target to preprocess a source file -zip_file_replace.c.i: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_file_replace.c.i -.PHONY : zip_file_replace.c.i - -zip_file_replace.s: zip_file_replace.c.s -.PHONY : zip_file_replace.s - -# target to generate assembly for a file -zip_file_replace.c.s: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_file_replace.c.s -.PHONY : zip_file_replace.c.s - -zip_file_set_comment.o: zip_file_set_comment.c.o -.PHONY : zip_file_set_comment.o - -# target to build an object file -zip_file_set_comment.c.o: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_file_set_comment.c.o -.PHONY : zip_file_set_comment.c.o - -zip_file_set_comment.i: zip_file_set_comment.c.i -.PHONY : zip_file_set_comment.i - -# target to preprocess a source file -zip_file_set_comment.c.i: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_file_set_comment.c.i -.PHONY : zip_file_set_comment.c.i - -zip_file_set_comment.s: zip_file_set_comment.c.s -.PHONY : zip_file_set_comment.s - -# target to generate assembly for a file -zip_file_set_comment.c.s: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_file_set_comment.c.s -.PHONY : zip_file_set_comment.c.s - -zip_file_set_encryption.o: zip_file_set_encryption.c.o -.PHONY : zip_file_set_encryption.o - -# target to build an object file -zip_file_set_encryption.c.o: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_file_set_encryption.c.o -.PHONY : zip_file_set_encryption.c.o - -zip_file_set_encryption.i: zip_file_set_encryption.c.i -.PHONY : zip_file_set_encryption.i - -# target to preprocess a source file -zip_file_set_encryption.c.i: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_file_set_encryption.c.i -.PHONY : zip_file_set_encryption.c.i - -zip_file_set_encryption.s: zip_file_set_encryption.c.s -.PHONY : zip_file_set_encryption.s - -# target to generate assembly for a file -zip_file_set_encryption.c.s: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_file_set_encryption.c.s -.PHONY : zip_file_set_encryption.c.s - -zip_file_set_external_attributes.o: zip_file_set_external_attributes.c.o -.PHONY : zip_file_set_external_attributes.o - -# target to build an object file -zip_file_set_external_attributes.c.o: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_file_set_external_attributes.c.o -.PHONY : zip_file_set_external_attributes.c.o - -zip_file_set_external_attributes.i: zip_file_set_external_attributes.c.i -.PHONY : zip_file_set_external_attributes.i - -# target to preprocess a source file -zip_file_set_external_attributes.c.i: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_file_set_external_attributes.c.i -.PHONY : zip_file_set_external_attributes.c.i - -zip_file_set_external_attributes.s: zip_file_set_external_attributes.c.s -.PHONY : zip_file_set_external_attributes.s - -# target to generate assembly for a file -zip_file_set_external_attributes.c.s: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_file_set_external_attributes.c.s -.PHONY : zip_file_set_external_attributes.c.s - -zip_file_set_mtime.o: zip_file_set_mtime.c.o -.PHONY : zip_file_set_mtime.o - -# target to build an object file -zip_file_set_mtime.c.o: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_file_set_mtime.c.o -.PHONY : zip_file_set_mtime.c.o - -zip_file_set_mtime.i: zip_file_set_mtime.c.i -.PHONY : zip_file_set_mtime.i - -# target to preprocess a source file -zip_file_set_mtime.c.i: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_file_set_mtime.c.i -.PHONY : zip_file_set_mtime.c.i - -zip_file_set_mtime.s: zip_file_set_mtime.c.s -.PHONY : zip_file_set_mtime.s - -# target to generate assembly for a file -zip_file_set_mtime.c.s: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_file_set_mtime.c.s -.PHONY : zip_file_set_mtime.c.s - -zip_file_strerror.o: zip_file_strerror.c.o -.PHONY : zip_file_strerror.o - -# target to build an object file -zip_file_strerror.c.o: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_file_strerror.c.o -.PHONY : zip_file_strerror.c.o - -zip_file_strerror.i: zip_file_strerror.c.i -.PHONY : zip_file_strerror.i - -# target to preprocess a source file -zip_file_strerror.c.i: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_file_strerror.c.i -.PHONY : zip_file_strerror.c.i - -zip_file_strerror.s: zip_file_strerror.c.s -.PHONY : zip_file_strerror.s - -# target to generate assembly for a file -zip_file_strerror.c.s: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_file_strerror.c.s -.PHONY : zip_file_strerror.c.s - -zip_fopen.o: zip_fopen.c.o -.PHONY : zip_fopen.o - -# target to build an object file -zip_fopen.c.o: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_fopen.c.o -.PHONY : zip_fopen.c.o - -zip_fopen.i: zip_fopen.c.i -.PHONY : zip_fopen.i - -# target to preprocess a source file -zip_fopen.c.i: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_fopen.c.i -.PHONY : zip_fopen.c.i - -zip_fopen.s: zip_fopen.c.s -.PHONY : zip_fopen.s - -# target to generate assembly for a file -zip_fopen.c.s: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_fopen.c.s -.PHONY : zip_fopen.c.s - -zip_fopen_encrypted.o: zip_fopen_encrypted.c.o -.PHONY : zip_fopen_encrypted.o - -# target to build an object file -zip_fopen_encrypted.c.o: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_fopen_encrypted.c.o -.PHONY : zip_fopen_encrypted.c.o - -zip_fopen_encrypted.i: zip_fopen_encrypted.c.i -.PHONY : zip_fopen_encrypted.i - -# target to preprocess a source file -zip_fopen_encrypted.c.i: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_fopen_encrypted.c.i -.PHONY : zip_fopen_encrypted.c.i - -zip_fopen_encrypted.s: zip_fopen_encrypted.c.s -.PHONY : zip_fopen_encrypted.s - -# target to generate assembly for a file -zip_fopen_encrypted.c.s: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_fopen_encrypted.c.s -.PHONY : zip_fopen_encrypted.c.s - -zip_fopen_index.o: zip_fopen_index.c.o -.PHONY : zip_fopen_index.o - -# target to build an object file -zip_fopen_index.c.o: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_fopen_index.c.o -.PHONY : zip_fopen_index.c.o - -zip_fopen_index.i: zip_fopen_index.c.i -.PHONY : zip_fopen_index.i - -# target to preprocess a source file -zip_fopen_index.c.i: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_fopen_index.c.i -.PHONY : zip_fopen_index.c.i - -zip_fopen_index.s: zip_fopen_index.c.s -.PHONY : zip_fopen_index.s - -# target to generate assembly for a file -zip_fopen_index.c.s: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_fopen_index.c.s -.PHONY : zip_fopen_index.c.s - -zip_fopen_index_encrypted.o: zip_fopen_index_encrypted.c.o -.PHONY : zip_fopen_index_encrypted.o - -# target to build an object file -zip_fopen_index_encrypted.c.o: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_fopen_index_encrypted.c.o -.PHONY : zip_fopen_index_encrypted.c.o - -zip_fopen_index_encrypted.i: zip_fopen_index_encrypted.c.i -.PHONY : zip_fopen_index_encrypted.i - -# target to preprocess a source file -zip_fopen_index_encrypted.c.i: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_fopen_index_encrypted.c.i -.PHONY : zip_fopen_index_encrypted.c.i - -zip_fopen_index_encrypted.s: zip_fopen_index_encrypted.c.s -.PHONY : zip_fopen_index_encrypted.s - -# target to generate assembly for a file -zip_fopen_index_encrypted.c.s: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_fopen_index_encrypted.c.s -.PHONY : zip_fopen_index_encrypted.c.s - -zip_fread.o: zip_fread.c.o -.PHONY : zip_fread.o - -# target to build an object file -zip_fread.c.o: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_fread.c.o -.PHONY : zip_fread.c.o - -zip_fread.i: zip_fread.c.i -.PHONY : zip_fread.i - -# target to preprocess a source file -zip_fread.c.i: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_fread.c.i -.PHONY : zip_fread.c.i - -zip_fread.s: zip_fread.c.s -.PHONY : zip_fread.s - -# target to generate assembly for a file -zip_fread.c.s: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_fread.c.s -.PHONY : zip_fread.c.s - -zip_fseek.o: zip_fseek.c.o -.PHONY : zip_fseek.o - -# target to build an object file -zip_fseek.c.o: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_fseek.c.o -.PHONY : zip_fseek.c.o - -zip_fseek.i: zip_fseek.c.i -.PHONY : zip_fseek.i - -# target to preprocess a source file -zip_fseek.c.i: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_fseek.c.i -.PHONY : zip_fseek.c.i - -zip_fseek.s: zip_fseek.c.s -.PHONY : zip_fseek.s - -# target to generate assembly for a file -zip_fseek.c.s: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_fseek.c.s -.PHONY : zip_fseek.c.s - -zip_ftell.o: zip_ftell.c.o -.PHONY : zip_ftell.o - -# target to build an object file -zip_ftell.c.o: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_ftell.c.o -.PHONY : zip_ftell.c.o - -zip_ftell.i: zip_ftell.c.i -.PHONY : zip_ftell.i - -# target to preprocess a source file -zip_ftell.c.i: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_ftell.c.i -.PHONY : zip_ftell.c.i - -zip_ftell.s: zip_ftell.c.s -.PHONY : zip_ftell.s - -# target to generate assembly for a file -zip_ftell.c.s: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_ftell.c.s -.PHONY : zip_ftell.c.s - -zip_get_archive_comment.o: zip_get_archive_comment.c.o -.PHONY : zip_get_archive_comment.o - -# target to build an object file -zip_get_archive_comment.c.o: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_get_archive_comment.c.o -.PHONY : zip_get_archive_comment.c.o - -zip_get_archive_comment.i: zip_get_archive_comment.c.i -.PHONY : zip_get_archive_comment.i - -# target to preprocess a source file -zip_get_archive_comment.c.i: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_get_archive_comment.c.i -.PHONY : zip_get_archive_comment.c.i - -zip_get_archive_comment.s: zip_get_archive_comment.c.s -.PHONY : zip_get_archive_comment.s - -# target to generate assembly for a file -zip_get_archive_comment.c.s: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_get_archive_comment.c.s -.PHONY : zip_get_archive_comment.c.s - -zip_get_archive_flag.o: zip_get_archive_flag.c.o -.PHONY : zip_get_archive_flag.o - -# target to build an object file -zip_get_archive_flag.c.o: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_get_archive_flag.c.o -.PHONY : zip_get_archive_flag.c.o - -zip_get_archive_flag.i: zip_get_archive_flag.c.i -.PHONY : zip_get_archive_flag.i - -# target to preprocess a source file -zip_get_archive_flag.c.i: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_get_archive_flag.c.i -.PHONY : zip_get_archive_flag.c.i - -zip_get_archive_flag.s: zip_get_archive_flag.c.s -.PHONY : zip_get_archive_flag.s - -# target to generate assembly for a file -zip_get_archive_flag.c.s: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_get_archive_flag.c.s -.PHONY : zip_get_archive_flag.c.s - -zip_get_encryption_implementation.o: zip_get_encryption_implementation.c.o -.PHONY : zip_get_encryption_implementation.o - -# target to build an object file -zip_get_encryption_implementation.c.o: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_get_encryption_implementation.c.o -.PHONY : zip_get_encryption_implementation.c.o - -zip_get_encryption_implementation.i: zip_get_encryption_implementation.c.i -.PHONY : zip_get_encryption_implementation.i - -# target to preprocess a source file -zip_get_encryption_implementation.c.i: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_get_encryption_implementation.c.i -.PHONY : zip_get_encryption_implementation.c.i - -zip_get_encryption_implementation.s: zip_get_encryption_implementation.c.s -.PHONY : zip_get_encryption_implementation.s - -# target to generate assembly for a file -zip_get_encryption_implementation.c.s: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_get_encryption_implementation.c.s -.PHONY : zip_get_encryption_implementation.c.s - -zip_get_file_comment.o: zip_get_file_comment.c.o -.PHONY : zip_get_file_comment.o - -# target to build an object file -zip_get_file_comment.c.o: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_get_file_comment.c.o -.PHONY : zip_get_file_comment.c.o - -zip_get_file_comment.i: zip_get_file_comment.c.i -.PHONY : zip_get_file_comment.i - -# target to preprocess a source file -zip_get_file_comment.c.i: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_get_file_comment.c.i -.PHONY : zip_get_file_comment.c.i - -zip_get_file_comment.s: zip_get_file_comment.c.s -.PHONY : zip_get_file_comment.s - -# target to generate assembly for a file -zip_get_file_comment.c.s: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_get_file_comment.c.s -.PHONY : zip_get_file_comment.c.s - -zip_get_name.o: zip_get_name.c.o -.PHONY : zip_get_name.o - -# target to build an object file -zip_get_name.c.o: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_get_name.c.o -.PHONY : zip_get_name.c.o - -zip_get_name.i: zip_get_name.c.i -.PHONY : zip_get_name.i - -# target to preprocess a source file -zip_get_name.c.i: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_get_name.c.i -.PHONY : zip_get_name.c.i - -zip_get_name.s: zip_get_name.c.s -.PHONY : zip_get_name.s - -# target to generate assembly for a file -zip_get_name.c.s: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_get_name.c.s -.PHONY : zip_get_name.c.s - -zip_get_num_entries.o: zip_get_num_entries.c.o -.PHONY : zip_get_num_entries.o - -# target to build an object file -zip_get_num_entries.c.o: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_get_num_entries.c.o -.PHONY : zip_get_num_entries.c.o - -zip_get_num_entries.i: zip_get_num_entries.c.i -.PHONY : zip_get_num_entries.i - -# target to preprocess a source file -zip_get_num_entries.c.i: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_get_num_entries.c.i -.PHONY : zip_get_num_entries.c.i - -zip_get_num_entries.s: zip_get_num_entries.c.s -.PHONY : zip_get_num_entries.s - -# target to generate assembly for a file -zip_get_num_entries.c.s: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_get_num_entries.c.s -.PHONY : zip_get_num_entries.c.s - -zip_get_num_files.o: zip_get_num_files.c.o -.PHONY : zip_get_num_files.o - -# target to build an object file -zip_get_num_files.c.o: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_get_num_files.c.o -.PHONY : zip_get_num_files.c.o - -zip_get_num_files.i: zip_get_num_files.c.i -.PHONY : zip_get_num_files.i - -# target to preprocess a source file -zip_get_num_files.c.i: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_get_num_files.c.i -.PHONY : zip_get_num_files.c.i - -zip_get_num_files.s: zip_get_num_files.c.s -.PHONY : zip_get_num_files.s - -# target to generate assembly for a file -zip_get_num_files.c.s: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_get_num_files.c.s -.PHONY : zip_get_num_files.c.s - -zip_hash.o: zip_hash.c.o -.PHONY : zip_hash.o - -# target to build an object file -zip_hash.c.o: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_hash.c.o -.PHONY : zip_hash.c.o - -zip_hash.i: zip_hash.c.i -.PHONY : zip_hash.i - -# target to preprocess a source file -zip_hash.c.i: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_hash.c.i -.PHONY : zip_hash.c.i - -zip_hash.s: zip_hash.c.s -.PHONY : zip_hash.s - -# target to generate assembly for a file -zip_hash.c.s: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_hash.c.s -.PHONY : zip_hash.c.s - -zip_io_util.o: zip_io_util.c.o -.PHONY : zip_io_util.o - -# target to build an object file -zip_io_util.c.o: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_io_util.c.o -.PHONY : zip_io_util.c.o - -zip_io_util.i: zip_io_util.c.i -.PHONY : zip_io_util.i - -# target to preprocess a source file -zip_io_util.c.i: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_io_util.c.i -.PHONY : zip_io_util.c.i - -zip_io_util.s: zip_io_util.c.s -.PHONY : zip_io_util.s - -# target to generate assembly for a file -zip_io_util.c.s: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_io_util.c.s -.PHONY : zip_io_util.c.s - -zip_libzip_version.o: zip_libzip_version.c.o -.PHONY : zip_libzip_version.o - -# target to build an object file -zip_libzip_version.c.o: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_libzip_version.c.o -.PHONY : zip_libzip_version.c.o - -zip_libzip_version.i: zip_libzip_version.c.i -.PHONY : zip_libzip_version.i - -# target to preprocess a source file -zip_libzip_version.c.i: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_libzip_version.c.i -.PHONY : zip_libzip_version.c.i - -zip_libzip_version.s: zip_libzip_version.c.s -.PHONY : zip_libzip_version.s - -# target to generate assembly for a file -zip_libzip_version.c.s: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_libzip_version.c.s -.PHONY : zip_libzip_version.c.s - -zip_memdup.o: zip_memdup.c.o -.PHONY : zip_memdup.o - -# target to build an object file -zip_memdup.c.o: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_memdup.c.o -.PHONY : zip_memdup.c.o - -zip_memdup.i: zip_memdup.c.i -.PHONY : zip_memdup.i - -# target to preprocess a source file -zip_memdup.c.i: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_memdup.c.i -.PHONY : zip_memdup.c.i - -zip_memdup.s: zip_memdup.c.s -.PHONY : zip_memdup.s - -# target to generate assembly for a file -zip_memdup.c.s: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_memdup.c.s -.PHONY : zip_memdup.c.s - -zip_name_locate.o: zip_name_locate.c.o -.PHONY : zip_name_locate.o - -# target to build an object file -zip_name_locate.c.o: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_name_locate.c.o -.PHONY : zip_name_locate.c.o - -zip_name_locate.i: zip_name_locate.c.i -.PHONY : zip_name_locate.i - -# target to preprocess a source file -zip_name_locate.c.i: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_name_locate.c.i -.PHONY : zip_name_locate.c.i - -zip_name_locate.s: zip_name_locate.c.s -.PHONY : zip_name_locate.s - -# target to generate assembly for a file -zip_name_locate.c.s: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_name_locate.c.s -.PHONY : zip_name_locate.c.s - -zip_new.o: zip_new.c.o -.PHONY : zip_new.o - -# target to build an object file -zip_new.c.o: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_new.c.o -.PHONY : zip_new.c.o - -zip_new.i: zip_new.c.i -.PHONY : zip_new.i - -# target to preprocess a source file -zip_new.c.i: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_new.c.i -.PHONY : zip_new.c.i - -zip_new.s: zip_new.c.s -.PHONY : zip_new.s - -# target to generate assembly for a file -zip_new.c.s: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_new.c.s -.PHONY : zip_new.c.s - -zip_open.o: zip_open.c.o -.PHONY : zip_open.o - -# target to build an object file -zip_open.c.o: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_open.c.o -.PHONY : zip_open.c.o - -zip_open.i: zip_open.c.i -.PHONY : zip_open.i - -# target to preprocess a source file -zip_open.c.i: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_open.c.i -.PHONY : zip_open.c.i - -zip_open.s: zip_open.c.s -.PHONY : zip_open.s - -# target to generate assembly for a file -zip_open.c.s: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_open.c.s -.PHONY : zip_open.c.s - -zip_pkware.o: zip_pkware.c.o -.PHONY : zip_pkware.o - -# target to build an object file -zip_pkware.c.o: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_pkware.c.o -.PHONY : zip_pkware.c.o - -zip_pkware.i: zip_pkware.c.i -.PHONY : zip_pkware.i - -# target to preprocess a source file -zip_pkware.c.i: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_pkware.c.i -.PHONY : zip_pkware.c.i - -zip_pkware.s: zip_pkware.c.s -.PHONY : zip_pkware.s - -# target to generate assembly for a file -zip_pkware.c.s: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_pkware.c.s -.PHONY : zip_pkware.c.s - -zip_progress.o: zip_progress.c.o -.PHONY : zip_progress.o - -# target to build an object file -zip_progress.c.o: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_progress.c.o -.PHONY : zip_progress.c.o - -zip_progress.i: zip_progress.c.i -.PHONY : zip_progress.i - -# target to preprocess a source file -zip_progress.c.i: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_progress.c.i -.PHONY : zip_progress.c.i - -zip_progress.s: zip_progress.c.s -.PHONY : zip_progress.s - -# target to generate assembly for a file -zip_progress.c.s: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_progress.c.s -.PHONY : zip_progress.c.s - -zip_random_unix.o: zip_random_unix.c.o -.PHONY : zip_random_unix.o - -# target to build an object file -zip_random_unix.c.o: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_random_unix.c.o -.PHONY : zip_random_unix.c.o - -zip_random_unix.i: zip_random_unix.c.i -.PHONY : zip_random_unix.i - -# target to preprocess a source file -zip_random_unix.c.i: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_random_unix.c.i -.PHONY : zip_random_unix.c.i - -zip_random_unix.s: zip_random_unix.c.s -.PHONY : zip_random_unix.s - -# target to generate assembly for a file -zip_random_unix.c.s: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_random_unix.c.s -.PHONY : zip_random_unix.c.s - -zip_rename.o: zip_rename.c.o -.PHONY : zip_rename.o - -# target to build an object file -zip_rename.c.o: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_rename.c.o -.PHONY : zip_rename.c.o - -zip_rename.i: zip_rename.c.i -.PHONY : zip_rename.i - -# target to preprocess a source file -zip_rename.c.i: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_rename.c.i -.PHONY : zip_rename.c.i - -zip_rename.s: zip_rename.c.s -.PHONY : zip_rename.s - -# target to generate assembly for a file -zip_rename.c.s: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_rename.c.s -.PHONY : zip_rename.c.s - -zip_replace.o: zip_replace.c.o -.PHONY : zip_replace.o - -# target to build an object file -zip_replace.c.o: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_replace.c.o -.PHONY : zip_replace.c.o - -zip_replace.i: zip_replace.c.i -.PHONY : zip_replace.i - -# target to preprocess a source file -zip_replace.c.i: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_replace.c.i -.PHONY : zip_replace.c.i - -zip_replace.s: zip_replace.c.s -.PHONY : zip_replace.s - -# target to generate assembly for a file -zip_replace.c.s: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_replace.c.s -.PHONY : zip_replace.c.s - -zip_set_archive_comment.o: zip_set_archive_comment.c.o -.PHONY : zip_set_archive_comment.o - -# target to build an object file -zip_set_archive_comment.c.o: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_set_archive_comment.c.o -.PHONY : zip_set_archive_comment.c.o - -zip_set_archive_comment.i: zip_set_archive_comment.c.i -.PHONY : zip_set_archive_comment.i - -# target to preprocess a source file -zip_set_archive_comment.c.i: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_set_archive_comment.c.i -.PHONY : zip_set_archive_comment.c.i - -zip_set_archive_comment.s: zip_set_archive_comment.c.s -.PHONY : zip_set_archive_comment.s - -# target to generate assembly for a file -zip_set_archive_comment.c.s: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_set_archive_comment.c.s -.PHONY : zip_set_archive_comment.c.s - -zip_set_archive_flag.o: zip_set_archive_flag.c.o -.PHONY : zip_set_archive_flag.o - -# target to build an object file -zip_set_archive_flag.c.o: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_set_archive_flag.c.o -.PHONY : zip_set_archive_flag.c.o - -zip_set_archive_flag.i: zip_set_archive_flag.c.i -.PHONY : zip_set_archive_flag.i - -# target to preprocess a source file -zip_set_archive_flag.c.i: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_set_archive_flag.c.i -.PHONY : zip_set_archive_flag.c.i - -zip_set_archive_flag.s: zip_set_archive_flag.c.s -.PHONY : zip_set_archive_flag.s - -# target to generate assembly for a file -zip_set_archive_flag.c.s: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_set_archive_flag.c.s -.PHONY : zip_set_archive_flag.c.s - -zip_set_default_password.o: zip_set_default_password.c.o -.PHONY : zip_set_default_password.o - -# target to build an object file -zip_set_default_password.c.o: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_set_default_password.c.o -.PHONY : zip_set_default_password.c.o - -zip_set_default_password.i: zip_set_default_password.c.i -.PHONY : zip_set_default_password.i - -# target to preprocess a source file -zip_set_default_password.c.i: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_set_default_password.c.i -.PHONY : zip_set_default_password.c.i - -zip_set_default_password.s: zip_set_default_password.c.s -.PHONY : zip_set_default_password.s - -# target to generate assembly for a file -zip_set_default_password.c.s: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_set_default_password.c.s -.PHONY : zip_set_default_password.c.s - -zip_set_file_comment.o: zip_set_file_comment.c.o -.PHONY : zip_set_file_comment.o - -# target to build an object file -zip_set_file_comment.c.o: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_set_file_comment.c.o -.PHONY : zip_set_file_comment.c.o - -zip_set_file_comment.i: zip_set_file_comment.c.i -.PHONY : zip_set_file_comment.i - -# target to preprocess a source file -zip_set_file_comment.c.i: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_set_file_comment.c.i -.PHONY : zip_set_file_comment.c.i - -zip_set_file_comment.s: zip_set_file_comment.c.s -.PHONY : zip_set_file_comment.s - -# target to generate assembly for a file -zip_set_file_comment.c.s: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_set_file_comment.c.s -.PHONY : zip_set_file_comment.c.s - -zip_set_file_compression.o: zip_set_file_compression.c.o -.PHONY : zip_set_file_compression.o - -# target to build an object file -zip_set_file_compression.c.o: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_set_file_compression.c.o -.PHONY : zip_set_file_compression.c.o - -zip_set_file_compression.i: zip_set_file_compression.c.i -.PHONY : zip_set_file_compression.i - -# target to preprocess a source file -zip_set_file_compression.c.i: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_set_file_compression.c.i -.PHONY : zip_set_file_compression.c.i - -zip_set_file_compression.s: zip_set_file_compression.c.s -.PHONY : zip_set_file_compression.s - -# target to generate assembly for a file -zip_set_file_compression.c.s: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_set_file_compression.c.s -.PHONY : zip_set_file_compression.c.s - -zip_set_name.o: zip_set_name.c.o -.PHONY : zip_set_name.o - -# target to build an object file -zip_set_name.c.o: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_set_name.c.o -.PHONY : zip_set_name.c.o - -zip_set_name.i: zip_set_name.c.i -.PHONY : zip_set_name.i - -# target to preprocess a source file -zip_set_name.c.i: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_set_name.c.i -.PHONY : zip_set_name.c.i - -zip_set_name.s: zip_set_name.c.s -.PHONY : zip_set_name.s - -# target to generate assembly for a file -zip_set_name.c.s: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_set_name.c.s -.PHONY : zip_set_name.c.s - -zip_source_accept_empty.o: zip_source_accept_empty.c.o -.PHONY : zip_source_accept_empty.o - -# target to build an object file -zip_source_accept_empty.c.o: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_source_accept_empty.c.o -.PHONY : zip_source_accept_empty.c.o - -zip_source_accept_empty.i: zip_source_accept_empty.c.i -.PHONY : zip_source_accept_empty.i - -# target to preprocess a source file -zip_source_accept_empty.c.i: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_source_accept_empty.c.i -.PHONY : zip_source_accept_empty.c.i - -zip_source_accept_empty.s: zip_source_accept_empty.c.s -.PHONY : zip_source_accept_empty.s - -# target to generate assembly for a file -zip_source_accept_empty.c.s: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_source_accept_empty.c.s -.PHONY : zip_source_accept_empty.c.s - -zip_source_begin_write.o: zip_source_begin_write.c.o -.PHONY : zip_source_begin_write.o - -# target to build an object file -zip_source_begin_write.c.o: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_source_begin_write.c.o -.PHONY : zip_source_begin_write.c.o - -zip_source_begin_write.i: zip_source_begin_write.c.i -.PHONY : zip_source_begin_write.i - -# target to preprocess a source file -zip_source_begin_write.c.i: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_source_begin_write.c.i -.PHONY : zip_source_begin_write.c.i - -zip_source_begin_write.s: zip_source_begin_write.c.s -.PHONY : zip_source_begin_write.s - -# target to generate assembly for a file -zip_source_begin_write.c.s: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_source_begin_write.c.s -.PHONY : zip_source_begin_write.c.s - -zip_source_begin_write_cloning.o: zip_source_begin_write_cloning.c.o -.PHONY : zip_source_begin_write_cloning.o - -# target to build an object file -zip_source_begin_write_cloning.c.o: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_source_begin_write_cloning.c.o -.PHONY : zip_source_begin_write_cloning.c.o - -zip_source_begin_write_cloning.i: zip_source_begin_write_cloning.c.i -.PHONY : zip_source_begin_write_cloning.i - -# target to preprocess a source file -zip_source_begin_write_cloning.c.i: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_source_begin_write_cloning.c.i -.PHONY : zip_source_begin_write_cloning.c.i - -zip_source_begin_write_cloning.s: zip_source_begin_write_cloning.c.s -.PHONY : zip_source_begin_write_cloning.s - -# target to generate assembly for a file -zip_source_begin_write_cloning.c.s: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_source_begin_write_cloning.c.s -.PHONY : zip_source_begin_write_cloning.c.s - -zip_source_buffer.o: zip_source_buffer.c.o -.PHONY : zip_source_buffer.o - -# target to build an object file -zip_source_buffer.c.o: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_source_buffer.c.o -.PHONY : zip_source_buffer.c.o - -zip_source_buffer.i: zip_source_buffer.c.i -.PHONY : zip_source_buffer.i - -# target to preprocess a source file -zip_source_buffer.c.i: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_source_buffer.c.i -.PHONY : zip_source_buffer.c.i - -zip_source_buffer.s: zip_source_buffer.c.s -.PHONY : zip_source_buffer.s - -# target to generate assembly for a file -zip_source_buffer.c.s: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_source_buffer.c.s -.PHONY : zip_source_buffer.c.s - -zip_source_call.o: zip_source_call.c.o -.PHONY : zip_source_call.o - -# target to build an object file -zip_source_call.c.o: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_source_call.c.o -.PHONY : zip_source_call.c.o - -zip_source_call.i: zip_source_call.c.i -.PHONY : zip_source_call.i - -# target to preprocess a source file -zip_source_call.c.i: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_source_call.c.i -.PHONY : zip_source_call.c.i - -zip_source_call.s: zip_source_call.c.s -.PHONY : zip_source_call.s - -# target to generate assembly for a file -zip_source_call.c.s: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_source_call.c.s -.PHONY : zip_source_call.c.s - -zip_source_close.o: zip_source_close.c.o -.PHONY : zip_source_close.o - -# target to build an object file -zip_source_close.c.o: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_source_close.c.o -.PHONY : zip_source_close.c.o - -zip_source_close.i: zip_source_close.c.i -.PHONY : zip_source_close.i - -# target to preprocess a source file -zip_source_close.c.i: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_source_close.c.i -.PHONY : zip_source_close.c.i - -zip_source_close.s: zip_source_close.c.s -.PHONY : zip_source_close.s - -# target to generate assembly for a file -zip_source_close.c.s: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_source_close.c.s -.PHONY : zip_source_close.c.s - -zip_source_commit_write.o: zip_source_commit_write.c.o -.PHONY : zip_source_commit_write.o - -# target to build an object file -zip_source_commit_write.c.o: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_source_commit_write.c.o -.PHONY : zip_source_commit_write.c.o - -zip_source_commit_write.i: zip_source_commit_write.c.i -.PHONY : zip_source_commit_write.i - -# target to preprocess a source file -zip_source_commit_write.c.i: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_source_commit_write.c.i -.PHONY : zip_source_commit_write.c.i - -zip_source_commit_write.s: zip_source_commit_write.c.s -.PHONY : zip_source_commit_write.s - -# target to generate assembly for a file -zip_source_commit_write.c.s: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_source_commit_write.c.s -.PHONY : zip_source_commit_write.c.s - -zip_source_compress.o: zip_source_compress.c.o -.PHONY : zip_source_compress.o - -# target to build an object file -zip_source_compress.c.o: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_source_compress.c.o -.PHONY : zip_source_compress.c.o - -zip_source_compress.i: zip_source_compress.c.i -.PHONY : zip_source_compress.i - -# target to preprocess a source file -zip_source_compress.c.i: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_source_compress.c.i -.PHONY : zip_source_compress.c.i - -zip_source_compress.s: zip_source_compress.c.s -.PHONY : zip_source_compress.s - -# target to generate assembly for a file -zip_source_compress.c.s: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_source_compress.c.s -.PHONY : zip_source_compress.c.s - -zip_source_crc.o: zip_source_crc.c.o -.PHONY : zip_source_crc.o - -# target to build an object file -zip_source_crc.c.o: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_source_crc.c.o -.PHONY : zip_source_crc.c.o - -zip_source_crc.i: zip_source_crc.c.i -.PHONY : zip_source_crc.i - -# target to preprocess a source file -zip_source_crc.c.i: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_source_crc.c.i -.PHONY : zip_source_crc.c.i - -zip_source_crc.s: zip_source_crc.c.s -.PHONY : zip_source_crc.s - -# target to generate assembly for a file -zip_source_crc.c.s: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_source_crc.c.s -.PHONY : zip_source_crc.c.s - -zip_source_error.o: zip_source_error.c.o -.PHONY : zip_source_error.o - -# target to build an object file -zip_source_error.c.o: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_source_error.c.o -.PHONY : zip_source_error.c.o - -zip_source_error.i: zip_source_error.c.i -.PHONY : zip_source_error.i - -# target to preprocess a source file -zip_source_error.c.i: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_source_error.c.i -.PHONY : zip_source_error.c.i - -zip_source_error.s: zip_source_error.c.s -.PHONY : zip_source_error.s - -# target to generate assembly for a file -zip_source_error.c.s: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_source_error.c.s -.PHONY : zip_source_error.c.s - -zip_source_file_common.o: zip_source_file_common.c.o -.PHONY : zip_source_file_common.o - -# target to build an object file -zip_source_file_common.c.o: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_source_file_common.c.o -.PHONY : zip_source_file_common.c.o - -zip_source_file_common.i: zip_source_file_common.c.i -.PHONY : zip_source_file_common.i - -# target to preprocess a source file -zip_source_file_common.c.i: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_source_file_common.c.i -.PHONY : zip_source_file_common.c.i - -zip_source_file_common.s: zip_source_file_common.c.s -.PHONY : zip_source_file_common.s - -# target to generate assembly for a file -zip_source_file_common.c.s: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_source_file_common.c.s -.PHONY : zip_source_file_common.c.s - -zip_source_file_stdio.o: zip_source_file_stdio.c.o -.PHONY : zip_source_file_stdio.o - -# target to build an object file -zip_source_file_stdio.c.o: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_source_file_stdio.c.o -.PHONY : zip_source_file_stdio.c.o - -zip_source_file_stdio.i: zip_source_file_stdio.c.i -.PHONY : zip_source_file_stdio.i - -# target to preprocess a source file -zip_source_file_stdio.c.i: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_source_file_stdio.c.i -.PHONY : zip_source_file_stdio.c.i - -zip_source_file_stdio.s: zip_source_file_stdio.c.s -.PHONY : zip_source_file_stdio.s - -# target to generate assembly for a file -zip_source_file_stdio.c.s: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_source_file_stdio.c.s -.PHONY : zip_source_file_stdio.c.s - -zip_source_file_stdio_named.o: zip_source_file_stdio_named.c.o -.PHONY : zip_source_file_stdio_named.o - -# target to build an object file -zip_source_file_stdio_named.c.o: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_source_file_stdio_named.c.o -.PHONY : zip_source_file_stdio_named.c.o - -zip_source_file_stdio_named.i: zip_source_file_stdio_named.c.i -.PHONY : zip_source_file_stdio_named.i - -# target to preprocess a source file -zip_source_file_stdio_named.c.i: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_source_file_stdio_named.c.i -.PHONY : zip_source_file_stdio_named.c.i - -zip_source_file_stdio_named.s: zip_source_file_stdio_named.c.s -.PHONY : zip_source_file_stdio_named.s - -# target to generate assembly for a file -zip_source_file_stdio_named.c.s: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_source_file_stdio_named.c.s -.PHONY : zip_source_file_stdio_named.c.s - -zip_source_free.o: zip_source_free.c.o -.PHONY : zip_source_free.o - -# target to build an object file -zip_source_free.c.o: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_source_free.c.o -.PHONY : zip_source_free.c.o - -zip_source_free.i: zip_source_free.c.i -.PHONY : zip_source_free.i - -# target to preprocess a source file -zip_source_free.c.i: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_source_free.c.i -.PHONY : zip_source_free.c.i - -zip_source_free.s: zip_source_free.c.s -.PHONY : zip_source_free.s - -# target to generate assembly for a file -zip_source_free.c.s: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_source_free.c.s -.PHONY : zip_source_free.c.s - -zip_source_function.o: zip_source_function.c.o -.PHONY : zip_source_function.o - -# target to build an object file -zip_source_function.c.o: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_source_function.c.o -.PHONY : zip_source_function.c.o - -zip_source_function.i: zip_source_function.c.i -.PHONY : zip_source_function.i - -# target to preprocess a source file -zip_source_function.c.i: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_source_function.c.i -.PHONY : zip_source_function.c.i - -zip_source_function.s: zip_source_function.c.s -.PHONY : zip_source_function.s - -# target to generate assembly for a file -zip_source_function.c.s: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_source_function.c.s -.PHONY : zip_source_function.c.s - -zip_source_get_dostime.o: zip_source_get_dostime.c.o -.PHONY : zip_source_get_dostime.o - -# target to build an object file -zip_source_get_dostime.c.o: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_source_get_dostime.c.o -.PHONY : zip_source_get_dostime.c.o - -zip_source_get_dostime.i: zip_source_get_dostime.c.i -.PHONY : zip_source_get_dostime.i - -# target to preprocess a source file -zip_source_get_dostime.c.i: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_source_get_dostime.c.i -.PHONY : zip_source_get_dostime.c.i - -zip_source_get_dostime.s: zip_source_get_dostime.c.s -.PHONY : zip_source_get_dostime.s - -# target to generate assembly for a file -zip_source_get_dostime.c.s: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_source_get_dostime.c.s -.PHONY : zip_source_get_dostime.c.s - -zip_source_get_file_attributes.o: zip_source_get_file_attributes.c.o -.PHONY : zip_source_get_file_attributes.o - -# target to build an object file -zip_source_get_file_attributes.c.o: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_source_get_file_attributes.c.o -.PHONY : zip_source_get_file_attributes.c.o - -zip_source_get_file_attributes.i: zip_source_get_file_attributes.c.i -.PHONY : zip_source_get_file_attributes.i - -# target to preprocess a source file -zip_source_get_file_attributes.c.i: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_source_get_file_attributes.c.i -.PHONY : zip_source_get_file_attributes.c.i - -zip_source_get_file_attributes.s: zip_source_get_file_attributes.c.s -.PHONY : zip_source_get_file_attributes.s - -# target to generate assembly for a file -zip_source_get_file_attributes.c.s: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_source_get_file_attributes.c.s -.PHONY : zip_source_get_file_attributes.c.s - -zip_source_is_deleted.o: zip_source_is_deleted.c.o -.PHONY : zip_source_is_deleted.o - -# target to build an object file -zip_source_is_deleted.c.o: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_source_is_deleted.c.o -.PHONY : zip_source_is_deleted.c.o - -zip_source_is_deleted.i: zip_source_is_deleted.c.i -.PHONY : zip_source_is_deleted.i - -# target to preprocess a source file -zip_source_is_deleted.c.i: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_source_is_deleted.c.i -.PHONY : zip_source_is_deleted.c.i - -zip_source_is_deleted.s: zip_source_is_deleted.c.s -.PHONY : zip_source_is_deleted.s - -# target to generate assembly for a file -zip_source_is_deleted.c.s: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_source_is_deleted.c.s -.PHONY : zip_source_is_deleted.c.s - -zip_source_layered.o: zip_source_layered.c.o -.PHONY : zip_source_layered.o - -# target to build an object file -zip_source_layered.c.o: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_source_layered.c.o -.PHONY : zip_source_layered.c.o - -zip_source_layered.i: zip_source_layered.c.i -.PHONY : zip_source_layered.i - -# target to preprocess a source file -zip_source_layered.c.i: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_source_layered.c.i -.PHONY : zip_source_layered.c.i - -zip_source_layered.s: zip_source_layered.c.s -.PHONY : zip_source_layered.s - -# target to generate assembly for a file -zip_source_layered.c.s: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_source_layered.c.s -.PHONY : zip_source_layered.c.s - -zip_source_open.o: zip_source_open.c.o -.PHONY : zip_source_open.o - -# target to build an object file -zip_source_open.c.o: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_source_open.c.o -.PHONY : zip_source_open.c.o - -zip_source_open.i: zip_source_open.c.i -.PHONY : zip_source_open.i - -# target to preprocess a source file -zip_source_open.c.i: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_source_open.c.i -.PHONY : zip_source_open.c.i - -zip_source_open.s: zip_source_open.c.s -.PHONY : zip_source_open.s - -# target to generate assembly for a file -zip_source_open.c.s: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_source_open.c.s -.PHONY : zip_source_open.c.s - -zip_source_pass_to_lower_layer.o: zip_source_pass_to_lower_layer.c.o -.PHONY : zip_source_pass_to_lower_layer.o - -# target to build an object file -zip_source_pass_to_lower_layer.c.o: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_source_pass_to_lower_layer.c.o -.PHONY : zip_source_pass_to_lower_layer.c.o - -zip_source_pass_to_lower_layer.i: zip_source_pass_to_lower_layer.c.i -.PHONY : zip_source_pass_to_lower_layer.i - -# target to preprocess a source file -zip_source_pass_to_lower_layer.c.i: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_source_pass_to_lower_layer.c.i -.PHONY : zip_source_pass_to_lower_layer.c.i - -zip_source_pass_to_lower_layer.s: zip_source_pass_to_lower_layer.c.s -.PHONY : zip_source_pass_to_lower_layer.s - -# target to generate assembly for a file -zip_source_pass_to_lower_layer.c.s: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_source_pass_to_lower_layer.c.s -.PHONY : zip_source_pass_to_lower_layer.c.s - -zip_source_pkware_decode.o: zip_source_pkware_decode.c.o -.PHONY : zip_source_pkware_decode.o - -# target to build an object file -zip_source_pkware_decode.c.o: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_source_pkware_decode.c.o -.PHONY : zip_source_pkware_decode.c.o - -zip_source_pkware_decode.i: zip_source_pkware_decode.c.i -.PHONY : zip_source_pkware_decode.i - -# target to preprocess a source file -zip_source_pkware_decode.c.i: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_source_pkware_decode.c.i -.PHONY : zip_source_pkware_decode.c.i - -zip_source_pkware_decode.s: zip_source_pkware_decode.c.s -.PHONY : zip_source_pkware_decode.s - -# target to generate assembly for a file -zip_source_pkware_decode.c.s: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_source_pkware_decode.c.s -.PHONY : zip_source_pkware_decode.c.s - -zip_source_pkware_encode.o: zip_source_pkware_encode.c.o -.PHONY : zip_source_pkware_encode.o - -# target to build an object file -zip_source_pkware_encode.c.o: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_source_pkware_encode.c.o -.PHONY : zip_source_pkware_encode.c.o - -zip_source_pkware_encode.i: zip_source_pkware_encode.c.i -.PHONY : zip_source_pkware_encode.i - -# target to preprocess a source file -zip_source_pkware_encode.c.i: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_source_pkware_encode.c.i -.PHONY : zip_source_pkware_encode.c.i - -zip_source_pkware_encode.s: zip_source_pkware_encode.c.s -.PHONY : zip_source_pkware_encode.s - -# target to generate assembly for a file -zip_source_pkware_encode.c.s: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_source_pkware_encode.c.s -.PHONY : zip_source_pkware_encode.c.s - -zip_source_read.o: zip_source_read.c.o -.PHONY : zip_source_read.o - -# target to build an object file -zip_source_read.c.o: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_source_read.c.o -.PHONY : zip_source_read.c.o - -zip_source_read.i: zip_source_read.c.i -.PHONY : zip_source_read.i - -# target to preprocess a source file -zip_source_read.c.i: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_source_read.c.i -.PHONY : zip_source_read.c.i - -zip_source_read.s: zip_source_read.c.s -.PHONY : zip_source_read.s - -# target to generate assembly for a file -zip_source_read.c.s: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_source_read.c.s -.PHONY : zip_source_read.c.s - -zip_source_remove.o: zip_source_remove.c.o -.PHONY : zip_source_remove.o - -# target to build an object file -zip_source_remove.c.o: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_source_remove.c.o -.PHONY : zip_source_remove.c.o - -zip_source_remove.i: zip_source_remove.c.i -.PHONY : zip_source_remove.i - -# target to preprocess a source file -zip_source_remove.c.i: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_source_remove.c.i -.PHONY : zip_source_remove.c.i - -zip_source_remove.s: zip_source_remove.c.s -.PHONY : zip_source_remove.s - -# target to generate assembly for a file -zip_source_remove.c.s: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_source_remove.c.s -.PHONY : zip_source_remove.c.s - -zip_source_rollback_write.o: zip_source_rollback_write.c.o -.PHONY : zip_source_rollback_write.o - -# target to build an object file -zip_source_rollback_write.c.o: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_source_rollback_write.c.o -.PHONY : zip_source_rollback_write.c.o - -zip_source_rollback_write.i: zip_source_rollback_write.c.i -.PHONY : zip_source_rollback_write.i - -# target to preprocess a source file -zip_source_rollback_write.c.i: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_source_rollback_write.c.i -.PHONY : zip_source_rollback_write.c.i - -zip_source_rollback_write.s: zip_source_rollback_write.c.s -.PHONY : zip_source_rollback_write.s - -# target to generate assembly for a file -zip_source_rollback_write.c.s: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_source_rollback_write.c.s -.PHONY : zip_source_rollback_write.c.s - -zip_source_seek.o: zip_source_seek.c.o -.PHONY : zip_source_seek.o - -# target to build an object file -zip_source_seek.c.o: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_source_seek.c.o -.PHONY : zip_source_seek.c.o - -zip_source_seek.i: zip_source_seek.c.i -.PHONY : zip_source_seek.i - -# target to preprocess a source file -zip_source_seek.c.i: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_source_seek.c.i -.PHONY : zip_source_seek.c.i - -zip_source_seek.s: zip_source_seek.c.s -.PHONY : zip_source_seek.s - -# target to generate assembly for a file -zip_source_seek.c.s: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_source_seek.c.s -.PHONY : zip_source_seek.c.s - -zip_source_seek_write.o: zip_source_seek_write.c.o -.PHONY : zip_source_seek_write.o - -# target to build an object file -zip_source_seek_write.c.o: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_source_seek_write.c.o -.PHONY : zip_source_seek_write.c.o - -zip_source_seek_write.i: zip_source_seek_write.c.i -.PHONY : zip_source_seek_write.i - -# target to preprocess a source file -zip_source_seek_write.c.i: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_source_seek_write.c.i -.PHONY : zip_source_seek_write.c.i - -zip_source_seek_write.s: zip_source_seek_write.c.s -.PHONY : zip_source_seek_write.s - -# target to generate assembly for a file -zip_source_seek_write.c.s: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_source_seek_write.c.s -.PHONY : zip_source_seek_write.c.s - -zip_source_stat.o: zip_source_stat.c.o -.PHONY : zip_source_stat.o - -# target to build an object file -zip_source_stat.c.o: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_source_stat.c.o -.PHONY : zip_source_stat.c.o - -zip_source_stat.i: zip_source_stat.c.i -.PHONY : zip_source_stat.i - -# target to preprocess a source file -zip_source_stat.c.i: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_source_stat.c.i -.PHONY : zip_source_stat.c.i - -zip_source_stat.s: zip_source_stat.c.s -.PHONY : zip_source_stat.s - -# target to generate assembly for a file -zip_source_stat.c.s: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_source_stat.c.s -.PHONY : zip_source_stat.c.s - -zip_source_supports.o: zip_source_supports.c.o -.PHONY : zip_source_supports.o - -# target to build an object file -zip_source_supports.c.o: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_source_supports.c.o -.PHONY : zip_source_supports.c.o - -zip_source_supports.i: zip_source_supports.c.i -.PHONY : zip_source_supports.i - -# target to preprocess a source file -zip_source_supports.c.i: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_source_supports.c.i -.PHONY : zip_source_supports.c.i - -zip_source_supports.s: zip_source_supports.c.s -.PHONY : zip_source_supports.s - -# target to generate assembly for a file -zip_source_supports.c.s: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_source_supports.c.s -.PHONY : zip_source_supports.c.s - -zip_source_tell.o: zip_source_tell.c.o -.PHONY : zip_source_tell.o - -# target to build an object file -zip_source_tell.c.o: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_source_tell.c.o -.PHONY : zip_source_tell.c.o - -zip_source_tell.i: zip_source_tell.c.i -.PHONY : zip_source_tell.i - -# target to preprocess a source file -zip_source_tell.c.i: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_source_tell.c.i -.PHONY : zip_source_tell.c.i - -zip_source_tell.s: zip_source_tell.c.s -.PHONY : zip_source_tell.s - -# target to generate assembly for a file -zip_source_tell.c.s: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_source_tell.c.s -.PHONY : zip_source_tell.c.s - -zip_source_tell_write.o: zip_source_tell_write.c.o -.PHONY : zip_source_tell_write.o - -# target to build an object file -zip_source_tell_write.c.o: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_source_tell_write.c.o -.PHONY : zip_source_tell_write.c.o - -zip_source_tell_write.i: zip_source_tell_write.c.i -.PHONY : zip_source_tell_write.i - -# target to preprocess a source file -zip_source_tell_write.c.i: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_source_tell_write.c.i -.PHONY : zip_source_tell_write.c.i - -zip_source_tell_write.s: zip_source_tell_write.c.s -.PHONY : zip_source_tell_write.s - -# target to generate assembly for a file -zip_source_tell_write.c.s: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_source_tell_write.c.s -.PHONY : zip_source_tell_write.c.s - -zip_source_window.o: zip_source_window.c.o -.PHONY : zip_source_window.o - -# target to build an object file -zip_source_window.c.o: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_source_window.c.o -.PHONY : zip_source_window.c.o - -zip_source_window.i: zip_source_window.c.i -.PHONY : zip_source_window.i - -# target to preprocess a source file -zip_source_window.c.i: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_source_window.c.i -.PHONY : zip_source_window.c.i - -zip_source_window.s: zip_source_window.c.s -.PHONY : zip_source_window.s - -# target to generate assembly for a file -zip_source_window.c.s: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_source_window.c.s -.PHONY : zip_source_window.c.s - -zip_source_write.o: zip_source_write.c.o -.PHONY : zip_source_write.o - -# target to build an object file -zip_source_write.c.o: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_source_write.c.o -.PHONY : zip_source_write.c.o - -zip_source_write.i: zip_source_write.c.i -.PHONY : zip_source_write.i - -# target to preprocess a source file -zip_source_write.c.i: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_source_write.c.i -.PHONY : zip_source_write.c.i - -zip_source_write.s: zip_source_write.c.s -.PHONY : zip_source_write.s - -# target to generate assembly for a file -zip_source_write.c.s: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_source_write.c.s -.PHONY : zip_source_write.c.s - -zip_source_zip.o: zip_source_zip.c.o -.PHONY : zip_source_zip.o - -# target to build an object file -zip_source_zip.c.o: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_source_zip.c.o -.PHONY : zip_source_zip.c.o - -zip_source_zip.i: zip_source_zip.c.i -.PHONY : zip_source_zip.i - -# target to preprocess a source file -zip_source_zip.c.i: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_source_zip.c.i -.PHONY : zip_source_zip.c.i - -zip_source_zip.s: zip_source_zip.c.s -.PHONY : zip_source_zip.s - -# target to generate assembly for a file -zip_source_zip.c.s: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_source_zip.c.s -.PHONY : zip_source_zip.c.s - -zip_source_zip_new.o: zip_source_zip_new.c.o -.PHONY : zip_source_zip_new.o - -# target to build an object file -zip_source_zip_new.c.o: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_source_zip_new.c.o -.PHONY : zip_source_zip_new.c.o - -zip_source_zip_new.i: zip_source_zip_new.c.i -.PHONY : zip_source_zip_new.i - -# target to preprocess a source file -zip_source_zip_new.c.i: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_source_zip_new.c.i -.PHONY : zip_source_zip_new.c.i - -zip_source_zip_new.s: zip_source_zip_new.c.s -.PHONY : zip_source_zip_new.s - -# target to generate assembly for a file -zip_source_zip_new.c.s: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_source_zip_new.c.s -.PHONY : zip_source_zip_new.c.s - -zip_stat.o: zip_stat.c.o -.PHONY : zip_stat.o - -# target to build an object file -zip_stat.c.o: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_stat.c.o -.PHONY : zip_stat.c.o - -zip_stat.i: zip_stat.c.i -.PHONY : zip_stat.i - -# target to preprocess a source file -zip_stat.c.i: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_stat.c.i -.PHONY : zip_stat.c.i - -zip_stat.s: zip_stat.c.s -.PHONY : zip_stat.s - -# target to generate assembly for a file -zip_stat.c.s: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_stat.c.s -.PHONY : zip_stat.c.s - -zip_stat_index.o: zip_stat_index.c.o -.PHONY : zip_stat_index.o - -# target to build an object file -zip_stat_index.c.o: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_stat_index.c.o -.PHONY : zip_stat_index.c.o - -zip_stat_index.i: zip_stat_index.c.i -.PHONY : zip_stat_index.i - -# target to preprocess a source file -zip_stat_index.c.i: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_stat_index.c.i -.PHONY : zip_stat_index.c.i - -zip_stat_index.s: zip_stat_index.c.s -.PHONY : zip_stat_index.s - -# target to generate assembly for a file -zip_stat_index.c.s: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_stat_index.c.s -.PHONY : zip_stat_index.c.s - -zip_stat_init.o: zip_stat_init.c.o -.PHONY : zip_stat_init.o - -# target to build an object file -zip_stat_init.c.o: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_stat_init.c.o -.PHONY : zip_stat_init.c.o - -zip_stat_init.i: zip_stat_init.c.i -.PHONY : zip_stat_init.i - -# target to preprocess a source file -zip_stat_init.c.i: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_stat_init.c.i -.PHONY : zip_stat_init.c.i - -zip_stat_init.s: zip_stat_init.c.s -.PHONY : zip_stat_init.s - -# target to generate assembly for a file -zip_stat_init.c.s: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_stat_init.c.s -.PHONY : zip_stat_init.c.s - -zip_strerror.o: zip_strerror.c.o -.PHONY : zip_strerror.o - -# target to build an object file -zip_strerror.c.o: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_strerror.c.o -.PHONY : zip_strerror.c.o - -zip_strerror.i: zip_strerror.c.i -.PHONY : zip_strerror.i - -# target to preprocess a source file -zip_strerror.c.i: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_strerror.c.i -.PHONY : zip_strerror.c.i - -zip_strerror.s: zip_strerror.c.s -.PHONY : zip_strerror.s - -# target to generate assembly for a file -zip_strerror.c.s: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_strerror.c.s -.PHONY : zip_strerror.c.s - -zip_string.o: zip_string.c.o -.PHONY : zip_string.o - -# target to build an object file -zip_string.c.o: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_string.c.o -.PHONY : zip_string.c.o - -zip_string.i: zip_string.c.i -.PHONY : zip_string.i - -# target to preprocess a source file -zip_string.c.i: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_string.c.i -.PHONY : zip_string.c.i - -zip_string.s: zip_string.c.s -.PHONY : zip_string.s - -# target to generate assembly for a file -zip_string.c.s: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_string.c.s -.PHONY : zip_string.c.s - -zip_unchange.o: zip_unchange.c.o -.PHONY : zip_unchange.o - -# target to build an object file -zip_unchange.c.o: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_unchange.c.o -.PHONY : zip_unchange.c.o - -zip_unchange.i: zip_unchange.c.i -.PHONY : zip_unchange.i - -# target to preprocess a source file -zip_unchange.c.i: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_unchange.c.i -.PHONY : zip_unchange.c.i - -zip_unchange.s: zip_unchange.c.s -.PHONY : zip_unchange.s - -# target to generate assembly for a file -zip_unchange.c.s: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_unchange.c.s -.PHONY : zip_unchange.c.s - -zip_unchange_all.o: zip_unchange_all.c.o -.PHONY : zip_unchange_all.o - -# target to build an object file -zip_unchange_all.c.o: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_unchange_all.c.o -.PHONY : zip_unchange_all.c.o - -zip_unchange_all.i: zip_unchange_all.c.i -.PHONY : zip_unchange_all.i - -# target to preprocess a source file -zip_unchange_all.c.i: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_unchange_all.c.i -.PHONY : zip_unchange_all.c.i - -zip_unchange_all.s: zip_unchange_all.c.s -.PHONY : zip_unchange_all.s - -# target to generate assembly for a file -zip_unchange_all.c.s: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_unchange_all.c.s -.PHONY : zip_unchange_all.c.s - -zip_unchange_archive.o: zip_unchange_archive.c.o -.PHONY : zip_unchange_archive.o - -# target to build an object file -zip_unchange_archive.c.o: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_unchange_archive.c.o -.PHONY : zip_unchange_archive.c.o - -zip_unchange_archive.i: zip_unchange_archive.c.i -.PHONY : zip_unchange_archive.i - -# target to preprocess a source file -zip_unchange_archive.c.i: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_unchange_archive.c.i -.PHONY : zip_unchange_archive.c.i - -zip_unchange_archive.s: zip_unchange_archive.c.s -.PHONY : zip_unchange_archive.s - -# target to generate assembly for a file -zip_unchange_archive.c.s: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_unchange_archive.c.s -.PHONY : zip_unchange_archive.c.s - -zip_unchange_data.o: zip_unchange_data.c.o -.PHONY : zip_unchange_data.o - -# target to build an object file -zip_unchange_data.c.o: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_unchange_data.c.o -.PHONY : zip_unchange_data.c.o - -zip_unchange_data.i: zip_unchange_data.c.i -.PHONY : zip_unchange_data.i - -# target to preprocess a source file -zip_unchange_data.c.i: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_unchange_data.c.i -.PHONY : zip_unchange_data.c.i - -zip_unchange_data.s: zip_unchange_data.c.s -.PHONY : zip_unchange_data.s - -# target to generate assembly for a file -zip_unchange_data.c.s: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_unchange_data.c.s -.PHONY : zip_unchange_data.c.s - -zip_utf-8.o: zip_utf-8.c.o -.PHONY : zip_utf-8.o - -# target to build an object file -zip_utf-8.c.o: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_utf-8.c.o -.PHONY : zip_utf-8.c.o - -zip_utf-8.i: zip_utf-8.c.i -.PHONY : zip_utf-8.i - -# target to preprocess a source file -zip_utf-8.c.i: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_utf-8.c.i -.PHONY : zip_utf-8.c.i - -zip_utf-8.s: zip_utf-8.c.s -.PHONY : zip_utf-8.s - -# target to generate assembly for a file -zip_utf-8.c.s: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f lib/CMakeFiles/zip.dir/build.make lib/CMakeFiles/zip.dir/zip_utf-8.c.s -.PHONY : zip_utf-8.c.s - -# Help Target -help: - @echo "The following are some of the valid targets for this Makefile:" - @echo "... all (the default if no target is provided)" - @echo "... clean" - @echo "... depend" - @echo "... edit_cache" - @echo "... install" - @echo "... install/local" - @echo "... install/strip" - @echo "... list_install_components" - @echo "... rebuild_cache" - @echo "... test" - @echo "... zip" - @echo "... zip_add.o" - @echo "... zip_add.i" - @echo "... zip_add.s" - @echo "... zip_add_dir.o" - @echo "... zip_add_dir.i" - @echo "... zip_add_dir.s" - @echo "... zip_add_entry.o" - @echo "... zip_add_entry.i" - @echo "... zip_add_entry.s" - @echo "... zip_algorithm_deflate.o" - @echo "... zip_algorithm_deflate.i" - @echo "... zip_algorithm_deflate.s" - @echo "... zip_buffer.o" - @echo "... zip_buffer.i" - @echo "... zip_buffer.s" - @echo "... zip_close.o" - @echo "... zip_close.i" - @echo "... zip_close.s" - @echo "... zip_delete.o" - @echo "... zip_delete.i" - @echo "... zip_delete.s" - @echo "... zip_dir_add.o" - @echo "... zip_dir_add.i" - @echo "... zip_dir_add.s" - @echo "... zip_dirent.o" - @echo "... zip_dirent.i" - @echo "... zip_dirent.s" - @echo "... zip_discard.o" - @echo "... zip_discard.i" - @echo "... zip_discard.s" - @echo "... zip_entry.o" - @echo "... zip_entry.i" - @echo "... zip_entry.s" - @echo "... zip_err_str.o" - @echo "... zip_err_str.i" - @echo "... zip_err_str.s" - @echo "... zip_error.o" - @echo "... zip_error.i" - @echo "... zip_error.s" - @echo "... zip_error_clear.o" - @echo "... zip_error_clear.i" - @echo "... zip_error_clear.s" - @echo "... zip_error_get.o" - @echo "... zip_error_get.i" - @echo "... zip_error_get.s" - @echo "... zip_error_get_sys_type.o" - @echo "... zip_error_get_sys_type.i" - @echo "... zip_error_get_sys_type.s" - @echo "... zip_error_strerror.o" - @echo "... zip_error_strerror.i" - @echo "... zip_error_strerror.s" - @echo "... zip_error_to_str.o" - @echo "... zip_error_to_str.i" - @echo "... zip_error_to_str.s" - @echo "... zip_extra_field.o" - @echo "... zip_extra_field.i" - @echo "... zip_extra_field.s" - @echo "... zip_extra_field_api.o" - @echo "... zip_extra_field_api.i" - @echo "... zip_extra_field_api.s" - @echo "... zip_fclose.o" - @echo "... zip_fclose.i" - @echo "... zip_fclose.s" - @echo "... zip_fdopen.o" - @echo "... zip_fdopen.i" - @echo "... zip_fdopen.s" - @echo "... zip_file_add.o" - @echo "... zip_file_add.i" - @echo "... zip_file_add.s" - @echo "... zip_file_error_clear.o" - @echo "... zip_file_error_clear.i" - @echo "... zip_file_error_clear.s" - @echo "... zip_file_error_get.o" - @echo "... zip_file_error_get.i" - @echo "... zip_file_error_get.s" - @echo "... zip_file_get_comment.o" - @echo "... zip_file_get_comment.i" - @echo "... zip_file_get_comment.s" - @echo "... zip_file_get_external_attributes.o" - @echo "... zip_file_get_external_attributes.i" - @echo "... zip_file_get_external_attributes.s" - @echo "... zip_file_get_offset.o" - @echo "... zip_file_get_offset.i" - @echo "... zip_file_get_offset.s" - @echo "... zip_file_rename.o" - @echo "... zip_file_rename.i" - @echo "... zip_file_rename.s" - @echo "... zip_file_replace.o" - @echo "... zip_file_replace.i" - @echo "... zip_file_replace.s" - @echo "... zip_file_set_comment.o" - @echo "... zip_file_set_comment.i" - @echo "... zip_file_set_comment.s" - @echo "... zip_file_set_encryption.o" - @echo "... zip_file_set_encryption.i" - @echo "... zip_file_set_encryption.s" - @echo "... zip_file_set_external_attributes.o" - @echo "... zip_file_set_external_attributes.i" - @echo "... zip_file_set_external_attributes.s" - @echo "... zip_file_set_mtime.o" - @echo "... zip_file_set_mtime.i" - @echo "... zip_file_set_mtime.s" - @echo "... zip_file_strerror.o" - @echo "... zip_file_strerror.i" - @echo "... zip_file_strerror.s" - @echo "... zip_fopen.o" - @echo "... zip_fopen.i" - @echo "... zip_fopen.s" - @echo "... zip_fopen_encrypted.o" - @echo "... zip_fopen_encrypted.i" - @echo "... zip_fopen_encrypted.s" - @echo "... zip_fopen_index.o" - @echo "... zip_fopen_index.i" - @echo "... zip_fopen_index.s" - @echo "... zip_fopen_index_encrypted.o" - @echo "... zip_fopen_index_encrypted.i" - @echo "... zip_fopen_index_encrypted.s" - @echo "... zip_fread.o" - @echo "... zip_fread.i" - @echo "... zip_fread.s" - @echo "... zip_fseek.o" - @echo "... zip_fseek.i" - @echo "... zip_fseek.s" - @echo "... zip_ftell.o" - @echo "... zip_ftell.i" - @echo "... zip_ftell.s" - @echo "... zip_get_archive_comment.o" - @echo "... zip_get_archive_comment.i" - @echo "... zip_get_archive_comment.s" - @echo "... zip_get_archive_flag.o" - @echo "... zip_get_archive_flag.i" - @echo "... zip_get_archive_flag.s" - @echo "... zip_get_encryption_implementation.o" - @echo "... zip_get_encryption_implementation.i" - @echo "... zip_get_encryption_implementation.s" - @echo "... zip_get_file_comment.o" - @echo "... zip_get_file_comment.i" - @echo "... zip_get_file_comment.s" - @echo "... zip_get_name.o" - @echo "... zip_get_name.i" - @echo "... zip_get_name.s" - @echo "... zip_get_num_entries.o" - @echo "... zip_get_num_entries.i" - @echo "... zip_get_num_entries.s" - @echo "... zip_get_num_files.o" - @echo "... zip_get_num_files.i" - @echo "... zip_get_num_files.s" - @echo "... zip_hash.o" - @echo "... zip_hash.i" - @echo "... zip_hash.s" - @echo "... zip_io_util.o" - @echo "... zip_io_util.i" - @echo "... zip_io_util.s" - @echo "... zip_libzip_version.o" - @echo "... zip_libzip_version.i" - @echo "... zip_libzip_version.s" - @echo "... zip_memdup.o" - @echo "... zip_memdup.i" - @echo "... zip_memdup.s" - @echo "... zip_name_locate.o" - @echo "... zip_name_locate.i" - @echo "... zip_name_locate.s" - @echo "... zip_new.o" - @echo "... zip_new.i" - @echo "... zip_new.s" - @echo "... zip_open.o" - @echo "... zip_open.i" - @echo "... zip_open.s" - @echo "... zip_pkware.o" - @echo "... zip_pkware.i" - @echo "... zip_pkware.s" - @echo "... zip_progress.o" - @echo "... zip_progress.i" - @echo "... zip_progress.s" - @echo "... zip_random_unix.o" - @echo "... zip_random_unix.i" - @echo "... zip_random_unix.s" - @echo "... zip_rename.o" - @echo "... zip_rename.i" - @echo "... zip_rename.s" - @echo "... zip_replace.o" - @echo "... zip_replace.i" - @echo "... zip_replace.s" - @echo "... zip_set_archive_comment.o" - @echo "... zip_set_archive_comment.i" - @echo "... zip_set_archive_comment.s" - @echo "... zip_set_archive_flag.o" - @echo "... zip_set_archive_flag.i" - @echo "... zip_set_archive_flag.s" - @echo "... zip_set_default_password.o" - @echo "... zip_set_default_password.i" - @echo "... zip_set_default_password.s" - @echo "... zip_set_file_comment.o" - @echo "... zip_set_file_comment.i" - @echo "... zip_set_file_comment.s" - @echo "... zip_set_file_compression.o" - @echo "... zip_set_file_compression.i" - @echo "... zip_set_file_compression.s" - @echo "... zip_set_name.o" - @echo "... zip_set_name.i" - @echo "... zip_set_name.s" - @echo "... zip_source_accept_empty.o" - @echo "... zip_source_accept_empty.i" - @echo "... zip_source_accept_empty.s" - @echo "... zip_source_begin_write.o" - @echo "... zip_source_begin_write.i" - @echo "... zip_source_begin_write.s" - @echo "... zip_source_begin_write_cloning.o" - @echo "... zip_source_begin_write_cloning.i" - @echo "... zip_source_begin_write_cloning.s" - @echo "... zip_source_buffer.o" - @echo "... zip_source_buffer.i" - @echo "... zip_source_buffer.s" - @echo "... zip_source_call.o" - @echo "... zip_source_call.i" - @echo "... zip_source_call.s" - @echo "... zip_source_close.o" - @echo "... zip_source_close.i" - @echo "... zip_source_close.s" - @echo "... zip_source_commit_write.o" - @echo "... zip_source_commit_write.i" - @echo "... zip_source_commit_write.s" - @echo "... zip_source_compress.o" - @echo "... zip_source_compress.i" - @echo "... zip_source_compress.s" - @echo "... zip_source_crc.o" - @echo "... zip_source_crc.i" - @echo "... zip_source_crc.s" - @echo "... zip_source_error.o" - @echo "... zip_source_error.i" - @echo "... zip_source_error.s" - @echo "... zip_source_file_common.o" - @echo "... zip_source_file_common.i" - @echo "... zip_source_file_common.s" - @echo "... zip_source_file_stdio.o" - @echo "... zip_source_file_stdio.i" - @echo "... zip_source_file_stdio.s" - @echo "... zip_source_file_stdio_named.o" - @echo "... zip_source_file_stdio_named.i" - @echo "... zip_source_file_stdio_named.s" - @echo "... zip_source_free.o" - @echo "... zip_source_free.i" - @echo "... zip_source_free.s" - @echo "... zip_source_function.o" - @echo "... zip_source_function.i" - @echo "... zip_source_function.s" - @echo "... zip_source_get_dostime.o" - @echo "... zip_source_get_dostime.i" - @echo "... zip_source_get_dostime.s" - @echo "... zip_source_get_file_attributes.o" - @echo "... zip_source_get_file_attributes.i" - @echo "... zip_source_get_file_attributes.s" - @echo "... zip_source_is_deleted.o" - @echo "... zip_source_is_deleted.i" - @echo "... zip_source_is_deleted.s" - @echo "... zip_source_layered.o" - @echo "... zip_source_layered.i" - @echo "... zip_source_layered.s" - @echo "... zip_source_open.o" - @echo "... zip_source_open.i" - @echo "... zip_source_open.s" - @echo "... zip_source_pass_to_lower_layer.o" - @echo "... zip_source_pass_to_lower_layer.i" - @echo "... zip_source_pass_to_lower_layer.s" - @echo "... zip_source_pkware_decode.o" - @echo "... zip_source_pkware_decode.i" - @echo "... zip_source_pkware_decode.s" - @echo "... zip_source_pkware_encode.o" - @echo "... zip_source_pkware_encode.i" - @echo "... zip_source_pkware_encode.s" - @echo "... zip_source_read.o" - @echo "... zip_source_read.i" - @echo "... zip_source_read.s" - @echo "... zip_source_remove.o" - @echo "... zip_source_remove.i" - @echo "... zip_source_remove.s" - @echo "... zip_source_rollback_write.o" - @echo "... zip_source_rollback_write.i" - @echo "... zip_source_rollback_write.s" - @echo "... zip_source_seek.o" - @echo "... zip_source_seek.i" - @echo "... zip_source_seek.s" - @echo "... zip_source_seek_write.o" - @echo "... zip_source_seek_write.i" - @echo "... zip_source_seek_write.s" - @echo "... zip_source_stat.o" - @echo "... zip_source_stat.i" - @echo "... zip_source_stat.s" - @echo "... zip_source_supports.o" - @echo "... zip_source_supports.i" - @echo "... zip_source_supports.s" - @echo "... zip_source_tell.o" - @echo "... zip_source_tell.i" - @echo "... zip_source_tell.s" - @echo "... zip_source_tell_write.o" - @echo "... zip_source_tell_write.i" - @echo "... zip_source_tell_write.s" - @echo "... zip_source_window.o" - @echo "... zip_source_window.i" - @echo "... zip_source_window.s" - @echo "... zip_source_write.o" - @echo "... zip_source_write.i" - @echo "... zip_source_write.s" - @echo "... zip_source_zip.o" - @echo "... zip_source_zip.i" - @echo "... zip_source_zip.s" - @echo "... zip_source_zip_new.o" - @echo "... zip_source_zip_new.i" - @echo "... zip_source_zip_new.s" - @echo "... zip_stat.o" - @echo "... zip_stat.i" - @echo "... zip_stat.s" - @echo "... zip_stat_index.o" - @echo "... zip_stat_index.i" - @echo "... zip_stat_index.s" - @echo "... zip_stat_init.o" - @echo "... zip_stat_init.i" - @echo "... zip_stat_init.s" - @echo "... zip_strerror.o" - @echo "... zip_strerror.i" - @echo "... zip_strerror.s" - @echo "... zip_string.o" - @echo "... zip_string.i" - @echo "... zip_string.s" - @echo "... zip_unchange.o" - @echo "... zip_unchange.i" - @echo "... zip_unchange.s" - @echo "... zip_unchange_all.o" - @echo "... zip_unchange_all.i" - @echo "... zip_unchange_all.s" - @echo "... zip_unchange_archive.o" - @echo "... zip_unchange_archive.i" - @echo "... zip_unchange_archive.s" - @echo "... zip_unchange_data.o" - @echo "... zip_unchange_data.i" - @echo "... zip_unchange_data.s" - @echo "... zip_utf-8.o" - @echo "... zip_utf-8.i" - @echo "... zip_utf-8.s" -.PHONY : help - - - -#============================================================================= -# Special targets to cleanup operation of make. - -# Special rule to run CMake to check the build system integrity. -# No rule that depends on this can have commands that come from listfiles -# because they might be regenerated. -cmake_check_build_system: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0 -.PHONY : cmake_check_build_system - diff --git a/thirdparty/libzip-1.11.3/build-emcmake/lib/cmake_install.cmake b/thirdparty/libzip-1.11.3/build-emcmake/lib/cmake_install.cmake deleted file mode 100644 index 89e4c5c..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/lib/cmake_install.cmake +++ /dev/null @@ -1,47 +0,0 @@ -# Install script for directory: /home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib - -# Set the install prefix -if(NOT DEFINED CMAKE_INSTALL_PREFIX) - set(CMAKE_INSTALL_PREFIX "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/install") -endif() -string(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}") - -# Set the install configuration name. -if(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME) - if(BUILD_TYPE) - string(REGEX REPLACE "^[^A-Za-z0-9_]+" "" - CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}") - else() - set(CMAKE_INSTALL_CONFIG_NAME "") - endif() - message(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"") -endif() - -# Set the component getting installed. -if(NOT CMAKE_INSTALL_COMPONENT) - if(COMPONENT) - message(STATUS "Install component: \"${COMPONENT}\"") - set(CMAKE_INSTALL_COMPONENT "${COMPONENT}") - else() - set(CMAKE_INSTALL_COMPONENT) - endif() -endif() - -# Is this installation the result of a crosscompile? -if(NOT DEFINED CMAKE_CROSSCOMPILING) - set(CMAKE_CROSSCOMPILING "TRUE") -endif() - -# Set default install directory permissions. -if(NOT DEFINED CMAKE_OBJDUMP) - set(CMAKE_OBJDUMP "/usr/bin/objdump") -endif() - -if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) - file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/lib" TYPE STATIC_LIBRARY FILES "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib/libzip.a") -endif() - -if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) - file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/include" TYPE FILE FILES "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib/zip.h") -endif() - diff --git a/thirdparty/libzip-1.11.3/build-emcmake/lib/libzip.a b/thirdparty/libzip-1.11.3/build-emcmake/lib/libzip.a deleted file mode 100644 index d529d3f85e1de2037e0144e9441c358d6fd55bf8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 353784 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
    JN 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
  • 1V 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 diff --git a/thirdparty/libzip-1.11.3/build-emcmake/lib/zip_err_str.c b/thirdparty/libzip-1.11.3/build-emcmake/lib/zip_err_str.c deleted file mode 100644 index 7e3616b..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/lib/zip_err_str.c +++ /dev/null @@ -1,86 +0,0 @@ -/* - This file was generated automatically by CMake - from zip.h and zipint.h; make changes there. -*/ - -#include "zipint.h" - -#define L ZIP_ET_LIBZIP -#define N ZIP_ET_NONE -#define S ZIP_ET_SYS -#define Z ZIP_ET_ZLIB - -#define E ZIP_DETAIL_ET_ENTRY -#define G ZIP_DETAIL_ET_GLOBAL - -const struct _zip_err_info _zip_err_str[] = { - { N, "No error" }, - { N, "Multi-disk zip archives not supported" }, - { S, "Renaming temporary file failed" }, - { S, "Closing zip archive failed" }, - { S, "Seek error" }, - { S, "Read error" }, - { S, "Write error" }, - { N, "CRC error" }, - { N, "Containing zip archive was closed" }, - { N, "No such file" }, - { N, "File already exists" }, - { S, "Can't open file" }, - { S, "Failure to create temporary file" }, - { Z, "Zlib error" }, - { N, "Malloc failure" }, - { N, "Entry has been changed" }, - { N, "Compression method not supported" }, - { N, "Premature end of file" }, - { N, "Invalid argument" }, - { N, "Not a zip archive" }, - { N, "Internal error" }, - { L, "Zip archive inconsistent" }, - { S, "Can't remove file" }, - { N, "Entry has been deleted" }, - { N, "Encryption method not supported" }, - { N, "Read-only archive" }, - { N, "No password provided" }, - { N, "Wrong password provided" }, - { N, "Operation not supported" }, - { N, "Resource still in use" }, - { S, "Tell error" }, - { N, "Compressed data invalid" }, - { N, "Operation cancelled" }, - { N, "Unexpected length of data" }, - { N, "Not allowed in torrentzip" }, - { N, "Possibly truncated or corrupted zip archive" }, -}; - -const int _zip_err_str_count = sizeof(_zip_err_str)/sizeof(_zip_err_str[0]); - -const struct _zip_err_info _zip_err_details[] = { - { G, "no detail" }, - { G, "central directory overlaps EOCD, or there is space between them" }, - { G, "archive comment length incorrect" }, - { G, "central directory length invalid" }, - { E, "central header invalid" }, - { G, "central directory count of entries is incorrect" }, - { E, "local and central headers do not match" }, - { G, "wrong EOCD length" }, - { G, "EOCD64 overlaps EOCD, or there is space between them" }, - { G, "EOCD64 magic incorrect" }, - { G, "EOCD64 and EOCD do not match" }, - { G, "invalid value in central directory" }, - { E, "variable size fields overflow header" }, - { E, "invalid UTF-8 in filename" }, - { E, "invalid UTF-8 in comment" }, - { E, "invalid Zip64 extra field" }, - { E, "invalid WinZip AES extra field" }, - { E, "garbage at end of extra fields" }, - { E, "extra field length is invalid" }, - { E, "file length in header doesn't match actual file length" }, - { E, "compressed and uncompressed sizes don't match for stored file" }, - { E, "local header and data descriptor do not match" }, - { G, "EOCD64 and EOCD64 locator do not match" }, - { E, "UTF-8 filename is ASCII and doesn't match filename" }, - { E, "UTF-8 comment is ASCII and doesn't match comment" }, - { G, "garbage at end of compressed data" }, -}; - -const int _zip_err_details_count = sizeof(_zip_err_details)/sizeof(_zip_err_details[0]); diff --git a/thirdparty/libzip-1.11.3/build-emcmake/libzip-config-version.cmake b/thirdparty/libzip-1.11.3/build-emcmake/libzip-config-version.cmake deleted file mode 100644 index b026896..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/libzip-config-version.cmake +++ /dev/null @@ -1,43 +0,0 @@ -# This is a basic version file for the Config-mode of find_package(). -# It is used by write_basic_package_version_file() as input file for configure_file() -# to create a version-file which can be installed along a config.cmake file. -# -# The created file sets PACKAGE_VERSION_EXACT if the current version string and -# the requested version string are exactly the same and it sets -# PACKAGE_VERSION_COMPATIBLE if the current version is >= requested version. -# The variable CVF_VERSION must be set before calling configure_file(). - -set(PACKAGE_VERSION "1.11.3") - -if (PACKAGE_FIND_VERSION_RANGE) - # Package version must be in the requested version range - if ((PACKAGE_FIND_VERSION_RANGE_MIN STREQUAL "INCLUDE" AND PACKAGE_VERSION VERSION_LESS PACKAGE_FIND_VERSION_MIN) - OR ((PACKAGE_FIND_VERSION_RANGE_MAX STREQUAL "INCLUDE" AND PACKAGE_VERSION VERSION_GREATER PACKAGE_FIND_VERSION_MAX) - OR (PACKAGE_FIND_VERSION_RANGE_MAX STREQUAL "EXCLUDE" AND PACKAGE_VERSION VERSION_GREATER_EQUAL PACKAGE_FIND_VERSION_MAX))) - set(PACKAGE_VERSION_COMPATIBLE FALSE) - else() - set(PACKAGE_VERSION_COMPATIBLE TRUE) - endif() -else() - if(PACKAGE_VERSION VERSION_LESS PACKAGE_FIND_VERSION) - set(PACKAGE_VERSION_COMPATIBLE FALSE) - else() - set(PACKAGE_VERSION_COMPATIBLE TRUE) - if(PACKAGE_FIND_VERSION STREQUAL PACKAGE_VERSION) - set(PACKAGE_VERSION_EXACT TRUE) - endif() - endif() -endif() - - -# if the installed or the using project don't have CMAKE_SIZEOF_VOID_P set, ignore it: -if("${CMAKE_SIZEOF_VOID_P}" STREQUAL "" OR "4" STREQUAL "") - return() -endif() - -# check that the installed version has the same 32/64bit-ness as the one which is currently searching: -if(NOT CMAKE_SIZEOF_VOID_P STREQUAL "4") - math(EXPR installedBits "4 * 8") - set(PACKAGE_VERSION "${PACKAGE_VERSION} (${installedBits}bit)") - set(PACKAGE_VERSION_UNSUITABLE TRUE) -endif() diff --git a/thirdparty/libzip-1.11.3/build-emcmake/libzip-config.cmake b/thirdparty/libzip-1.11.3/build-emcmake/libzip-config.cmake deleted file mode 100644 index f0b8af7..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/libzip-config.cmake +++ /dev/null @@ -1,69 +0,0 @@ - -####### Expanded from @PACKAGE_INIT@ by configure_package_config_file() ####### -####### Any changes to this file will be overwritten by the next CMake run #### -####### The input file was libzip-config.cmake.in ######## - -get_filename_component(PACKAGE_PREFIX_DIR "${CMAKE_CURRENT_LIST_DIR}/../../../" ABSOLUTE) - -macro(set_and_check _var _file) - set(${_var} "${_file}") - if(NOT EXISTS "${_file}") - message(FATAL_ERROR "File or directory ${_file} referenced by variable ${_var} does not exist !") - endif() -endmacro() - -macro(check_required_components _NAME) - foreach(comp ${${_NAME}_FIND_COMPONENTS}) - if(NOT ${_NAME}_${comp}_FOUND) - if(${_NAME}_FIND_REQUIRED_${comp}) - set(${_NAME}_FOUND FALSE) - endif() - endif() - endforeach() -endmacro() - -#################################################################################### - -# We need to supply transitive dependencies if this config is for a static library -set(IS_SHARED ON) -if (NOT IS_SHARED) - include(CMakeFindDependencyMacro) - set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_CURRENT_LIST_DIR}/modules") - - set(ENABLE_BZIP2 FALSE) - set(ENABLE_LZMA FALSE) - set(ENABLE_ZSTD FALSE) - set(ENABLE_GNUTLS FALSE) - set(ENABLE_MBEDTLS FALSE) - set(ENABLE_OPENSSL FALSE) - - find_dependency(ZLIB 1.1.2) - if(ENABLE_BZIP2) - find_dependency(BZip2) - endif() - - if(ENABLE_LZMA) - find_dependency(LibLZMA 5.2) - endif() - - if(ENABLE_ZSTD) - find_dependency(zstd 1.3.6) - endif() - - if(ENABLE_GNUTLS) - find_dependency(Nettle 3.0) - find_dependency(GnuTLS) - endif() - if(ENABLE_MBEDTLS) - find_dependency(MbedTLS 1.0) - endif() - if(ENABLE_OPENSSL) - find_dependency(OpenSSL) - endif() -endif() - -# Provide all our library targets to users. -include("${CMAKE_CURRENT_LIST_DIR}/libzip-targets.cmake") - -check_required_components(libzip) - diff --git a/thirdparty/libzip-1.11.3/build-emcmake/libzip-targets.cmake b/thirdparty/libzip-1.11.3/build-emcmake/libzip-targets.cmake deleted file mode 100644 index 2dfeb58..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/libzip-targets.cmake +++ /dev/null @@ -1,69 +0,0 @@ -# Generated by CMake - -if("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" LESS 2.8) - message(FATAL_ERROR "CMake >= 2.8.0 required") -endif() -if(CMAKE_VERSION VERSION_LESS "2.8.3") - message(FATAL_ERROR "CMake >= 2.8.3 required") -endif() -cmake_policy(PUSH) -cmake_policy(VERSION 2.8.3...3.26) -#---------------------------------------------------------------- -# Generated CMake target import file. -#---------------------------------------------------------------- - -# Commands may need to know the format version. -set(CMAKE_IMPORT_FILE_VERSION 1) - -# Protect against multiple inclusion, which would fail when already imported targets are added once more. -set(_cmake_targets_defined "") -set(_cmake_targets_not_defined "") -set(_cmake_expected_targets "") -foreach(_cmake_expected_target IN ITEMS zip) - list(APPEND _cmake_expected_targets "${_cmake_expected_target}") - if(TARGET "${_cmake_expected_target}") - list(APPEND _cmake_targets_defined "${_cmake_expected_target}") - else() - list(APPEND _cmake_targets_not_defined "${_cmake_expected_target}") - endif() -endforeach() -unset(_cmake_expected_target) -if(_cmake_targets_defined STREQUAL _cmake_expected_targets) - unset(_cmake_targets_defined) - unset(_cmake_targets_not_defined) - unset(_cmake_expected_targets) - unset(CMAKE_IMPORT_FILE_VERSION) - cmake_policy(POP) - return() -endif() -if(NOT _cmake_targets_defined STREQUAL "") - string(REPLACE ";" ", " _cmake_targets_defined_text "${_cmake_targets_defined}") - string(REPLACE ";" ", " _cmake_targets_not_defined_text "${_cmake_targets_not_defined}") - message(FATAL_ERROR "Some (but not all) targets in this export set were already defined.\nTargets Defined: ${_cmake_targets_defined_text}\nTargets not yet defined: ${_cmake_targets_not_defined_text}\n") -endif() -unset(_cmake_targets_defined) -unset(_cmake_targets_not_defined) -unset(_cmake_expected_targets) - - -# Create imported target zip -add_library(zip STATIC IMPORTED) - -set_target_properties(zip PROPERTIES - INTERFACE_INCLUDE_DIRECTORIES "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/lib;/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" - INTERFACE_LINK_LIBRARIES "\$" -) - -# Import target "zip" for configuration "" -set_property(TARGET zip APPEND PROPERTY IMPORTED_CONFIGURATIONS NOCONFIG) -set_target_properties(zip PROPERTIES - IMPORTED_LINK_INTERFACE_LANGUAGES_NOCONFIG "C" - IMPORTED_LOCATION_NOCONFIG "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/lib/libzip.a" - ) - -# This file does not depend on other imported targets which have -# been exported from the same project but in a separate export set. - -# Commands beyond this point should not need to know the version. -set(CMAKE_IMPORT_FILE_VERSION) -cmake_policy(POP) diff --git a/thirdparty/libzip-1.11.3/build-emcmake/libzip.pc b/thirdparty/libzip-1.11.3/build-emcmake/libzip.pc deleted file mode 100644 index e3676c3..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/libzip.pc +++ /dev/null @@ -1,14 +0,0 @@ -prefix=/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/install -exec_prefix=${prefix} -bindir=${prefix}/bin -libdir=${prefix}/lib -includedir=${prefix}/include - -zipcmp=${bindir}/zipcmp - -Name: libzip -Description: library for handling zip archives -Version: 1.11.3 -Libs: -L${libdir} -lzip -Libs.private: -lz -Cflags: -I${includedir} diff --git a/thirdparty/libzip-1.11.3/build-emcmake/man/CMakeFiles/CMakeDirectoryInformation.cmake b/thirdparty/libzip-1.11.3/build-emcmake/man/CMakeFiles/CMakeDirectoryInformation.cmake deleted file mode 100644 index ea55061..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/man/CMakeFiles/CMakeDirectoryInformation.cmake +++ /dev/null @@ -1,16 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.28 - -# Relative path conversion top directories. -set(CMAKE_RELATIVE_PATH_TOP_SOURCE "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3") -set(CMAKE_RELATIVE_PATH_TOP_BINARY "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake") - -# Force unix paths in dependencies. -set(CMAKE_FORCE_UNIX_PATHS 1) - - -# The C and CXX include file regular expressions for this directory. -set(CMAKE_C_INCLUDE_REGEX_SCAN "^.*$") -set(CMAKE_C_INCLUDE_REGEX_COMPLAIN "^$") -set(CMAKE_CXX_INCLUDE_REGEX_SCAN ${CMAKE_C_INCLUDE_REGEX_SCAN}) -set(CMAKE_CXX_INCLUDE_REGEX_COMPLAIN ${CMAKE_C_INCLUDE_REGEX_COMPLAIN}) diff --git a/thirdparty/libzip-1.11.3/build-emcmake/man/CMakeFiles/man.dir/DependInfo.cmake b/thirdparty/libzip-1.11.3/build-emcmake/man/CMakeFiles/man.dir/DependInfo.cmake deleted file mode 100644 index 29b95a5..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/man/CMakeFiles/man.dir/DependInfo.cmake +++ /dev/null @@ -1,22 +0,0 @@ - -# Consider dependencies only in project. -set(CMAKE_DEPENDS_IN_PROJECT_ONLY OFF) - -# The set of languages for which implicit dependencies are needed: -set(CMAKE_DEPENDS_LANGUAGES - ) - -# The set of dependency files which are needed: -set(CMAKE_DEPENDS_DEPENDENCY_FILES - ) - -# Targets to which this target links which contain Fortran sources. -set(CMAKE_Fortran_TARGET_LINKED_INFO_FILES - ) - -# Targets to which this target links which contain Fortran sources. -set(CMAKE_Fortran_TARGET_FORWARD_LINKED_INFO_FILES - ) - -# Fortran module output directory. -set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/thirdparty/libzip-1.11.3/build-emcmake/man/CMakeFiles/man.dir/build.make b/thirdparty/libzip-1.11.3/build-emcmake/man/CMakeFiles/man.dir/build.make deleted file mode 100644 index f90eb34..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/man/CMakeFiles/man.dir/build.make +++ /dev/null @@ -1,715 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.28 - -# Delete rule output on recipe failure. -.DELETE_ON_ERROR: - -#============================================================================= -# Special targets provided by cmake. - -# Disable implicit rules so canonical targets will work. -.SUFFIXES: - -# Disable VCS-based implicit rules. -% : %,v - -# Disable VCS-based implicit rules. -% : RCS/% - -# Disable VCS-based implicit rules. -% : RCS/%,v - -# Disable VCS-based implicit rules. -% : SCCS/s.% - -# Disable VCS-based implicit rules. -% : s.% - -.SUFFIXES: .hpux_make_needs_suffix_list - -# Command-line flag to silence nested $(MAKE). -$(VERBOSE)MAKESILENT = -s - -#Suppress display of executed commands. -$(VERBOSE).SILENT: - -# A target that is always out of date. -cmake_force: -.PHONY : cmake_force - -#============================================================================= -# Set environment variables for the build. - -# The shell in which to execute make rules. -SHELL = /bin/sh - -# The CMake executable. -CMAKE_COMMAND = /usr/bin/cmake - -# The command to remove a file. -RM = /usr/bin/cmake -E rm -f - -# Escaping for special characters. -EQUALS = = - -# The top-level source directory on which CMake was run. -CMAKE_SOURCE_DIR = "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3" - -# The top-level build directory on which CMake was run. -CMAKE_BINARY_DIR = "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" - -# Utility rule file for man. - -# Include any custom commands dependencies for this target. -include man/CMakeFiles/man.dir/compiler_depend.make - -# Include the progress variables for this target. -include man/CMakeFiles/man.dir/progress.make - -man/CMakeFiles/man: man/ZIP_SOURCE_GET_ARGS.3 -man/CMakeFiles/man: man/libzip.3 -man/CMakeFiles/man: man/zip_add.3 -man/CMakeFiles/man: man/zip_add_dir.3 -man/CMakeFiles/man: man/zip_close.3 -man/CMakeFiles/man: man/zip_compression_method_supported.3 -man/CMakeFiles/man: man/zip_delete.3 -man/CMakeFiles/man: man/zip_dir_add.3 -man/CMakeFiles/man: man/zip_discard.3 -man/CMakeFiles/man: man/zip_encryption_method_supported.3 -man/CMakeFiles/man: man/zip_error_clear.3 -man/CMakeFiles/man: man/zip_error_code_system.3 -man/CMakeFiles/man: man/zip_error_code_zip.3 -man/CMakeFiles/man: man/zip_error_fini.3 -man/CMakeFiles/man: man/zip_error_get.3 -man/CMakeFiles/man: man/zip_error_get_sys_type.3 -man/CMakeFiles/man: man/zip_error_init.3 -man/CMakeFiles/man: man/zip_error_set.3 -man/CMakeFiles/man: man/zip_error_set_from_source.3 -man/CMakeFiles/man: man/zip_error_strerror.3 -man/CMakeFiles/man: man/zip_error_system_type.3 -man/CMakeFiles/man: man/zip_error_to_data.3 -man/CMakeFiles/man: man/zip_error_to_str.3 -man/CMakeFiles/man: man/zip_errors.3 -man/CMakeFiles/man: man/zip_fclose.3 -man/CMakeFiles/man: man/zip_fdopen.3 -man/CMakeFiles/man: man/zip_file_add.3 -man/CMakeFiles/man: man/zip_file_attributes_init.3 -man/CMakeFiles/man: man/zip_file_extra_field_delete.3 -man/CMakeFiles/man: man/zip_file_extra_field_get.3 -man/CMakeFiles/man: man/zip_file_extra_field_set.3 -man/CMakeFiles/man: man/zip_file_extra_fields_count.3 -man/CMakeFiles/man: man/zip_file_get_comment.3 -man/CMakeFiles/man: man/zip_file_get_error.3 -man/CMakeFiles/man: man/zip_file_get_external_attributes.3 -man/CMakeFiles/man: man/zip_file_rename.3 -man/CMakeFiles/man: man/zip_file_set_comment.3 -man/CMakeFiles/man: man/zip_file_set_encryption.3 -man/CMakeFiles/man: man/zip_file_set_external_attributes.3 -man/CMakeFiles/man: man/zip_file_set_mtime.3 -man/CMakeFiles/man: man/zip_file_strerror.3 -man/CMakeFiles/man: man/zip_fopen.3 -man/CMakeFiles/man: man/zip_fopen_encrypted.3 -man/CMakeFiles/man: man/zip_fread.3 -man/CMakeFiles/man: man/zip_fseek.3 -man/CMakeFiles/man: man/zip_ftell.3 -man/CMakeFiles/man: man/zip_get_archive_comment.3 -man/CMakeFiles/man: man/zip_get_archive_flag.3 -man/CMakeFiles/man: man/zip_get_error.3 -man/CMakeFiles/man: man/zip_get_file_comment.3 -man/CMakeFiles/man: man/zip_get_name.3 -man/CMakeFiles/man: man/zip_get_num_entries.3 -man/CMakeFiles/man: man/zip_get_num_files.3 -man/CMakeFiles/man: man/zip_libzip_version.3 -man/CMakeFiles/man: man/zip_name_locate.3 -man/CMakeFiles/man: man/zip_open.3 -man/CMakeFiles/man: man/zip_register_cancel_callback_with_state.3 -man/CMakeFiles/man: man/zip_register_progress_callback.3 -man/CMakeFiles/man: man/zip_register_progress_callback_with_state.3 -man/CMakeFiles/man: man/zip_rename.3 -man/CMakeFiles/man: man/zip_set_archive_comment.3 -man/CMakeFiles/man: man/zip_set_archive_flag.3 -man/CMakeFiles/man: man/zip_set_default_password.3 -man/CMakeFiles/man: man/zip_set_file_comment.3 -man/CMakeFiles/man: man/zip_set_file_compression.3 -man/CMakeFiles/man: man/zip_source.3 -man/CMakeFiles/man: man/zip_source_begin_write.3 -man/CMakeFiles/man: man/zip_source_buffer.3 -man/CMakeFiles/man: man/zip_source_buffer_fragment.3 -man/CMakeFiles/man: man/zip_source_close.3 -man/CMakeFiles/man: man/zip_source_commit_write.3 -man/CMakeFiles/man: man/zip_source_error.3 -man/CMakeFiles/man: man/zip_source_file.3 -man/CMakeFiles/man: man/zip_source_filep.3 -man/CMakeFiles/man: man/zip_source_free.3 -man/CMakeFiles/man: man/zip_source_function.3 -man/CMakeFiles/man: man/zip_source_is_deleted.3 -man/CMakeFiles/man: man/zip_source_is_seekable.3 -man/CMakeFiles/man: man/zip_source_layered.3 -man/CMakeFiles/man: man/zip_source_keep.3 -man/CMakeFiles/man: man/zip_source_make_command_bitmap.3 -man/CMakeFiles/man: man/zip_source_open.3 -man/CMakeFiles/man: man/zip_source_read.3 -man/CMakeFiles/man: man/zip_source_rollback_write.3 -man/CMakeFiles/man: man/zip_source_seek.3 -man/CMakeFiles/man: man/zip_source_seek_compute_offset.3 -man/CMakeFiles/man: man/zip_source_seek_write.3 -man/CMakeFiles/man: man/zip_source_stat.3 -man/CMakeFiles/man: man/zip_source_tell.3 -man/CMakeFiles/man: man/zip_source_tell_write.3 -man/CMakeFiles/man: man/zip_source_win32a.3 -man/CMakeFiles/man: man/zip_source_win32handle.3 -man/CMakeFiles/man: man/zip_source_win32w.3 -man/CMakeFiles/man: man/zip_source_window_create.3 -man/CMakeFiles/man: man/zip_source_write.3 -man/CMakeFiles/man: man/zip_source_zip.3 -man/CMakeFiles/man: man/zip_source_zip_file.3 -man/CMakeFiles/man: man/zip_stat.3 -man/CMakeFiles/man: man/zip_stat_init.3 -man/CMakeFiles/man: man/zip_unchange.3 -man/CMakeFiles/man: man/zip_unchange_all.3 -man/CMakeFiles/man: man/zip_unchange_archive.3 -man/CMakeFiles/man: man/zipcmp.1 -man/CMakeFiles/man: man/zipmerge.1 -man/CMakeFiles/man: man/ziptool.1 - -man/ZIP_SOURCE_GET_ARGS.3: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/ZIP_SOURCE_GET_ARGS.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_1) "Preparing ZIP_SOURCE_GET_ARGS.3" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/ZIP_SOURCE_GET_ARGS.mdoc /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/ZIP_SOURCE_GET_ARGS.3 - -man/libzip.3: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/libzip.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_2) "Preparing libzip.3" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/libzip.mdoc /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/libzip.3 - -man/zip_add.3: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_add.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_3) "Preparing zip_add.3" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_add.mdoc /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_add.3 - -man/zip_add_dir.3: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_add_dir.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_4) "Preparing zip_add_dir.3" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_add_dir.mdoc /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_add_dir.3 - -man/zip_close.3: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_close.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_5) "Preparing zip_close.3" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_close.mdoc /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_close.3 - -man/zip_compression_method_supported.3: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_compression_method_supported.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_6) "Preparing zip_compression_method_supported.3" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_compression_method_supported.mdoc /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_compression_method_supported.3 - -man/zip_delete.3: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_delete.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_7) "Preparing zip_delete.3" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_delete.mdoc /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_delete.3 - -man/zip_dir_add.3: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_dir_add.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_8) "Preparing zip_dir_add.3" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_dir_add.mdoc /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_dir_add.3 - -man/zip_discard.3: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_discard.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_9) "Preparing zip_discard.3" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_discard.mdoc /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_discard.3 - -man/zip_encryption_method_supported.3: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_encryption_method_supported.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_10) "Preparing zip_encryption_method_supported.3" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_encryption_method_supported.mdoc /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_encryption_method_supported.3 - -man/zip_error_clear.3: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_error_clear.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_11) "Preparing zip_error_clear.3" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_error_clear.mdoc /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_error_clear.3 - -man/zip_error_code_system.3: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_error_code_system.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_12) "Preparing zip_error_code_system.3" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_error_code_system.mdoc /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_error_code_system.3 - -man/zip_error_code_zip.3: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_error_code_zip.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_13) "Preparing zip_error_code_zip.3" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_error_code_zip.mdoc /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_error_code_zip.3 - -man/zip_error_fini.3: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_error_fini.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_14) "Preparing zip_error_fini.3" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_error_fini.mdoc /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_error_fini.3 - -man/zip_error_get.3: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_error_get.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_15) "Preparing zip_error_get.3" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_error_get.mdoc /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_error_get.3 - -man/zip_error_get_sys_type.3: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_error_get_sys_type.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_16) "Preparing zip_error_get_sys_type.3" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_error_get_sys_type.mdoc /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_error_get_sys_type.3 - -man/zip_error_init.3: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_error_init.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_17) "Preparing zip_error_init.3" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_error_init.mdoc /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_error_init.3 - -man/zip_error_set.3: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_error_set.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_18) "Preparing zip_error_set.3" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_error_set.mdoc /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_error_set.3 - -man/zip_error_set_from_source.3: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_error_set_from_source.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_19) "Preparing zip_error_set_from_source.3" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_error_set_from_source.mdoc /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_error_set_from_source.3 - -man/zip_error_strerror.3: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_error_strerror.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_20) "Preparing zip_error_strerror.3" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_error_strerror.mdoc /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_error_strerror.3 - -man/zip_error_system_type.3: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_error_system_type.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_21) "Preparing zip_error_system_type.3" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_error_system_type.mdoc /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_error_system_type.3 - -man/zip_error_to_data.3: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_error_to_data.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_22) "Preparing zip_error_to_data.3" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_error_to_data.mdoc /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_error_to_data.3 - -man/zip_error_to_str.3: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_error_to_str.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_23) "Preparing zip_error_to_str.3" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_error_to_str.mdoc /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_error_to_str.3 - -man/zip_errors.3: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_errors.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_24) "Preparing zip_errors.3" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_errors.mdoc /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_errors.3 - -man/zip_fclose.3: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_fclose.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_25) "Preparing zip_fclose.3" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_fclose.mdoc /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_fclose.3 - -man/zip_fdopen.3: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_fdopen.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_26) "Preparing zip_fdopen.3" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_fdopen.mdoc /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_fdopen.3 - -man/zip_file_add.3: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_file_add.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_27) "Preparing zip_file_add.3" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_file_add.mdoc /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_file_add.3 - -man/zip_file_attributes_init.3: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_file_attributes_init.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_28) "Preparing zip_file_attributes_init.3" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_file_attributes_init.mdoc /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_file_attributes_init.3 - -man/zip_file_extra_field_delete.3: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_file_extra_field_delete.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_29) "Preparing zip_file_extra_field_delete.3" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_file_extra_field_delete.mdoc /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_file_extra_field_delete.3 - -man/zip_file_extra_field_get.3: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_file_extra_field_get.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_30) "Preparing zip_file_extra_field_get.3" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_file_extra_field_get.mdoc /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_file_extra_field_get.3 - -man/zip_file_extra_field_set.3: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_file_extra_field_set.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_31) "Preparing zip_file_extra_field_set.3" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_file_extra_field_set.mdoc /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_file_extra_field_set.3 - -man/zip_file_extra_fields_count.3: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_file_extra_fields_count.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_32) "Preparing zip_file_extra_fields_count.3" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_file_extra_fields_count.mdoc /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_file_extra_fields_count.3 - -man/zip_file_get_comment.3: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_file_get_comment.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_33) "Preparing zip_file_get_comment.3" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_file_get_comment.mdoc /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_file_get_comment.3 - -man/zip_file_get_error.3: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_file_get_error.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_34) "Preparing zip_file_get_error.3" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_file_get_error.mdoc /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_file_get_error.3 - -man/zip_file_get_external_attributes.3: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_file_get_external_attributes.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_35) "Preparing zip_file_get_external_attributes.3" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_file_get_external_attributes.mdoc /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_file_get_external_attributes.3 - -man/zip_file_rename.3: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_file_rename.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_36) "Preparing zip_file_rename.3" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_file_rename.mdoc /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_file_rename.3 - -man/zip_file_set_comment.3: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_file_set_comment.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_37) "Preparing zip_file_set_comment.3" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_file_set_comment.mdoc /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_file_set_comment.3 - -man/zip_file_set_encryption.3: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_file_set_encryption.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_38) "Preparing zip_file_set_encryption.3" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_file_set_encryption.mdoc /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_file_set_encryption.3 - -man/zip_file_set_external_attributes.3: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_file_set_external_attributes.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_39) "Preparing zip_file_set_external_attributes.3" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_file_set_external_attributes.mdoc /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_file_set_external_attributes.3 - -man/zip_file_set_mtime.3: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_file_set_mtime.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_40) "Preparing zip_file_set_mtime.3" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_file_set_mtime.mdoc /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_file_set_mtime.3 - -man/zip_file_strerror.3: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_file_strerror.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_41) "Preparing zip_file_strerror.3" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_file_strerror.mdoc /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_file_strerror.3 - -man/zip_fopen.3: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_fopen.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_42) "Preparing zip_fopen.3" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_fopen.mdoc /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_fopen.3 - -man/zip_fopen_encrypted.3: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_fopen_encrypted.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_43) "Preparing zip_fopen_encrypted.3" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_fopen_encrypted.mdoc /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_fopen_encrypted.3 - -man/zip_fread.3: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_fread.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_44) "Preparing zip_fread.3" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_fread.mdoc /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_fread.3 - -man/zip_fseek.3: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_fseek.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_45) "Preparing zip_fseek.3" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_fseek.mdoc /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_fseek.3 - -man/zip_ftell.3: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_ftell.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_46) "Preparing zip_ftell.3" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_ftell.mdoc /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_ftell.3 - -man/zip_get_archive_comment.3: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_get_archive_comment.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_47) "Preparing zip_get_archive_comment.3" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_get_archive_comment.mdoc /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_get_archive_comment.3 - -man/zip_get_archive_flag.3: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_get_archive_flag.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_48) "Preparing zip_get_archive_flag.3" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_get_archive_flag.mdoc /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_get_archive_flag.3 - -man/zip_get_error.3: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_get_error.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_49) "Preparing zip_get_error.3" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_get_error.mdoc /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_get_error.3 - -man/zip_get_file_comment.3: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_get_file_comment.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_50) "Preparing zip_get_file_comment.3" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_get_file_comment.mdoc /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_get_file_comment.3 - -man/zip_get_name.3: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_get_name.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_51) "Preparing zip_get_name.3" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_get_name.mdoc /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_get_name.3 - -man/zip_get_num_entries.3: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_get_num_entries.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_52) "Preparing zip_get_num_entries.3" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_get_num_entries.mdoc /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_get_num_entries.3 - -man/zip_get_num_files.3: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_get_num_files.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_53) "Preparing zip_get_num_files.3" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_get_num_files.mdoc /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_get_num_files.3 - -man/zip_libzip_version.3: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_libzip_version.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_54) "Preparing zip_libzip_version.3" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_libzip_version.mdoc /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_libzip_version.3 - -man/zip_name_locate.3: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_name_locate.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_55) "Preparing zip_name_locate.3" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_name_locate.mdoc /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_name_locate.3 - -man/zip_open.3: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_open.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_56) "Preparing zip_open.3" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_open.mdoc /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_open.3 - -man/zip_register_cancel_callback_with_state.3: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_register_cancel_callback_with_state.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_57) "Preparing zip_register_cancel_callback_with_state.3" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_register_cancel_callback_with_state.mdoc /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_register_cancel_callback_with_state.3 - -man/zip_register_progress_callback.3: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_register_progress_callback.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_58) "Preparing zip_register_progress_callback.3" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_register_progress_callback.mdoc /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_register_progress_callback.3 - -man/zip_register_progress_callback_with_state.3: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_register_progress_callback_with_state.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_59) "Preparing zip_register_progress_callback_with_state.3" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_register_progress_callback_with_state.mdoc /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_register_progress_callback_with_state.3 - -man/zip_rename.3: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_rename.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_60) "Preparing zip_rename.3" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_rename.mdoc /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_rename.3 - -man/zip_set_archive_comment.3: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_set_archive_comment.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_61) "Preparing zip_set_archive_comment.3" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_set_archive_comment.mdoc /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_set_archive_comment.3 - -man/zip_set_archive_flag.3: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_set_archive_flag.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_62) "Preparing zip_set_archive_flag.3" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_set_archive_flag.mdoc /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_set_archive_flag.3 - -man/zip_set_default_password.3: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_set_default_password.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_63) "Preparing zip_set_default_password.3" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_set_default_password.mdoc /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_set_default_password.3 - -man/zip_set_file_comment.3: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_set_file_comment.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_64) "Preparing zip_set_file_comment.3" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_set_file_comment.mdoc /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_set_file_comment.3 - -man/zip_set_file_compression.3: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_set_file_compression.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_65) "Preparing zip_set_file_compression.3" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_set_file_compression.mdoc /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_set_file_compression.3 - -man/zip_source.3: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_66) "Preparing zip_source.3" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source.mdoc /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source.3 - -man/zip_source_begin_write.3: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_begin_write.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_67) "Preparing zip_source_begin_write.3" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_begin_write.mdoc /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_begin_write.3 - -man/zip_source_buffer.3: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_buffer.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_68) "Preparing zip_source_buffer.3" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_buffer.mdoc /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_buffer.3 - -man/zip_source_buffer_fragment.3: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_buffer_fragment.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_69) "Preparing zip_source_buffer_fragment.3" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_buffer_fragment.mdoc /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_buffer_fragment.3 - -man/zip_source_close.3: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_close.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_70) "Preparing zip_source_close.3" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_close.mdoc /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_close.3 - -man/zip_source_commit_write.3: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_commit_write.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_71) "Preparing zip_source_commit_write.3" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_commit_write.mdoc /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_commit_write.3 - -man/zip_source_error.3: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_error.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_72) "Preparing zip_source_error.3" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_error.mdoc /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_error.3 - -man/zip_source_file.3: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_file.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_73) "Preparing zip_source_file.3" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_file.mdoc /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_file.3 - -man/zip_source_filep.3: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_filep.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_74) "Preparing zip_source_filep.3" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_filep.mdoc /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_filep.3 - -man/zip_source_free.3: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_free.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_75) "Preparing zip_source_free.3" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_free.mdoc /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_free.3 - -man/zip_source_function.3: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_function.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_76) "Preparing zip_source_function.3" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_function.mdoc /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_function.3 - -man/zip_source_is_deleted.3: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_is_deleted.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_77) "Preparing zip_source_is_deleted.3" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_is_deleted.mdoc /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_is_deleted.3 - -man/zip_source_is_seekable.3: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_is_seekable.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_78) "Preparing zip_source_is_seekable.3" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_is_seekable.mdoc /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_is_seekable.3 - -man/zip_source_keep.3: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_keep.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_79) "Preparing zip_source_keep.3" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_keep.mdoc /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_keep.3 - -man/zip_source_layered.3: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_layered.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_80) "Preparing zip_source_layered.3" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_layered.mdoc /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_layered.3 - -man/zip_source_make_command_bitmap.3: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_make_command_bitmap.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_81) "Preparing zip_source_make_command_bitmap.3" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_make_command_bitmap.mdoc /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_make_command_bitmap.3 - -man/zip_source_open.3: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_open.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_82) "Preparing zip_source_open.3" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_open.mdoc /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_open.3 - -man/zip_source_read.3: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_read.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_83) "Preparing zip_source_read.3" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_read.mdoc /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_read.3 - -man/zip_source_rollback_write.3: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_rollback_write.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_84) "Preparing zip_source_rollback_write.3" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_rollback_write.mdoc /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_rollback_write.3 - -man/zip_source_seek.3: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_seek.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_85) "Preparing zip_source_seek.3" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_seek.mdoc /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_seek.3 - -man/zip_source_seek_compute_offset.3: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_seek_compute_offset.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_86) "Preparing zip_source_seek_compute_offset.3" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_seek_compute_offset.mdoc /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_seek_compute_offset.3 - -man/zip_source_seek_write.3: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_seek_write.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_87) "Preparing zip_source_seek_write.3" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_seek_write.mdoc /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_seek_write.3 - -man/zip_source_stat.3: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_stat.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_88) "Preparing zip_source_stat.3" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_stat.mdoc /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_stat.3 - -man/zip_source_tell.3: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_tell.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_89) "Preparing zip_source_tell.3" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_tell.mdoc /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_tell.3 - -man/zip_source_tell_write.3: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_tell_write.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_90) "Preparing zip_source_tell_write.3" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_tell_write.mdoc /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_tell_write.3 - -man/zip_source_win32a.3: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_win32a.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_91) "Preparing zip_source_win32a.3" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_win32a.mdoc /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_win32a.3 - -man/zip_source_win32handle.3: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_win32handle.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_92) "Preparing zip_source_win32handle.3" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_win32handle.mdoc /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_win32handle.3 - -man/zip_source_win32w.3: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_win32w.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_93) "Preparing zip_source_win32w.3" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_win32w.mdoc /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_win32w.3 - -man/zip_source_window_create.3: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_window_create.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_94) "Preparing zip_source_window_create.3" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_window_create.mdoc /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_window_create.3 - -man/zip_source_write.3: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_write.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_95) "Preparing zip_source_write.3" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_write.mdoc /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_write.3 - -man/zip_source_zip.3: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_zip.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_96) "Preparing zip_source_zip.3" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_zip.mdoc /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_zip.3 - -man/zip_source_zip_file.3: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_zip_file.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_97) "Preparing zip_source_zip_file.3" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_zip_file.mdoc /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_zip_file.3 - -man/zip_stat.3: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_stat.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_98) "Preparing zip_stat.3" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_stat.mdoc /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_stat.3 - -man/zip_stat_init.3: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_stat_init.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_99) "Preparing zip_stat_init.3" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_stat_init.mdoc /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_stat_init.3 - -man/zip_unchange.3: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_unchange.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_100) "Preparing zip_unchange.3" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_unchange.mdoc /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_unchange.3 - -man/zip_unchange_all.3: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_unchange_all.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_101) "Preparing zip_unchange_all.3" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_unchange_all.mdoc /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_unchange_all.3 - -man/zip_unchange_archive.3: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_unchange_archive.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_102) "Preparing zip_unchange_archive.3" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_unchange_archive.mdoc /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_unchange_archive.3 - -man/zipcmp.1: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zipcmp.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_103) "Preparing zipcmp.1" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zipcmp.mdoc /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zipcmp.1 - -man/zipmerge.1: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zipmerge.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_104) "Preparing zipmerge.1" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zipmerge.mdoc /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zipmerge.1 - -man/ziptool.1: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/ziptool.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_105) "Preparing ziptool.1" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/ziptool.mdoc /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/ziptool.1 - -man: man/CMakeFiles/man -man: man/ZIP_SOURCE_GET_ARGS.3 -man: man/libzip.3 -man: man/zip_add.3 -man: man/zip_add_dir.3 -man: man/zip_close.3 -man: man/zip_compression_method_supported.3 -man: man/zip_delete.3 -man: man/zip_dir_add.3 -man: man/zip_discard.3 -man: man/zip_encryption_method_supported.3 -man: man/zip_error_clear.3 -man: man/zip_error_code_system.3 -man: man/zip_error_code_zip.3 -man: man/zip_error_fini.3 -man: man/zip_error_get.3 -man: man/zip_error_get_sys_type.3 -man: man/zip_error_init.3 -man: man/zip_error_set.3 -man: man/zip_error_set_from_source.3 -man: man/zip_error_strerror.3 -man: man/zip_error_system_type.3 -man: man/zip_error_to_data.3 -man: man/zip_error_to_str.3 -man: man/zip_errors.3 -man: man/zip_fclose.3 -man: man/zip_fdopen.3 -man: man/zip_file_add.3 -man: man/zip_file_attributes_init.3 -man: man/zip_file_extra_field_delete.3 -man: man/zip_file_extra_field_get.3 -man: man/zip_file_extra_field_set.3 -man: man/zip_file_extra_fields_count.3 -man: man/zip_file_get_comment.3 -man: man/zip_file_get_error.3 -man: man/zip_file_get_external_attributes.3 -man: man/zip_file_rename.3 -man: man/zip_file_set_comment.3 -man: man/zip_file_set_encryption.3 -man: man/zip_file_set_external_attributes.3 -man: man/zip_file_set_mtime.3 -man: man/zip_file_strerror.3 -man: man/zip_fopen.3 -man: man/zip_fopen_encrypted.3 -man: man/zip_fread.3 -man: man/zip_fseek.3 -man: man/zip_ftell.3 -man: man/zip_get_archive_comment.3 -man: man/zip_get_archive_flag.3 -man: man/zip_get_error.3 -man: man/zip_get_file_comment.3 -man: man/zip_get_name.3 -man: man/zip_get_num_entries.3 -man: man/zip_get_num_files.3 -man: man/zip_libzip_version.3 -man: man/zip_name_locate.3 -man: man/zip_open.3 -man: man/zip_register_cancel_callback_with_state.3 -man: man/zip_register_progress_callback.3 -man: man/zip_register_progress_callback_with_state.3 -man: man/zip_rename.3 -man: man/zip_set_archive_comment.3 -man: man/zip_set_archive_flag.3 -man: man/zip_set_default_password.3 -man: man/zip_set_file_comment.3 -man: man/zip_set_file_compression.3 -man: man/zip_source.3 -man: man/zip_source_begin_write.3 -man: man/zip_source_buffer.3 -man: man/zip_source_buffer_fragment.3 -man: man/zip_source_close.3 -man: man/zip_source_commit_write.3 -man: man/zip_source_error.3 -man: man/zip_source_file.3 -man: man/zip_source_filep.3 -man: man/zip_source_free.3 -man: man/zip_source_function.3 -man: man/zip_source_is_deleted.3 -man: man/zip_source_is_seekable.3 -man: man/zip_source_keep.3 -man: man/zip_source_layered.3 -man: man/zip_source_make_command_bitmap.3 -man: man/zip_source_open.3 -man: man/zip_source_read.3 -man: man/zip_source_rollback_write.3 -man: man/zip_source_seek.3 -man: man/zip_source_seek_compute_offset.3 -man: man/zip_source_seek_write.3 -man: man/zip_source_stat.3 -man: man/zip_source_tell.3 -man: man/zip_source_tell_write.3 -man: man/zip_source_win32a.3 -man: man/zip_source_win32handle.3 -man: man/zip_source_win32w.3 -man: man/zip_source_window_create.3 -man: man/zip_source_write.3 -man: man/zip_source_zip.3 -man: man/zip_source_zip_file.3 -man: man/zip_stat.3 -man: man/zip_stat_init.3 -man: man/zip_unchange.3 -man: man/zip_unchange_all.3 -man: man/zip_unchange_archive.3 -man: man/zipcmp.1 -man: man/zipmerge.1 -man: man/ziptool.1 -man: man/CMakeFiles/man.dir/build.make -.PHONY : man - -# Rule to build all files generated by this target. -man/CMakeFiles/man.dir/build: man -.PHONY : man/CMakeFiles/man.dir/build - -man/CMakeFiles/man.dir/clean: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && $(CMAKE_COMMAND) -P CMakeFiles/man.dir/cmake_clean.cmake -.PHONY : man/CMakeFiles/man.dir/clean - -man/CMakeFiles/man.dir/depend: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3" "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/man" "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/CMakeFiles/man.dir/DependInfo.cmake" "--color=$(COLOR)" -.PHONY : man/CMakeFiles/man.dir/depend - diff --git a/thirdparty/libzip-1.11.3/build-emcmake/man/CMakeFiles/man.dir/cmake_clean.cmake b/thirdparty/libzip-1.11.3/build-emcmake/man/CMakeFiles/man.dir/cmake_clean.cmake deleted file mode 100644 index 3eab722..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/man/CMakeFiles/man.dir/cmake_clean.cmake +++ /dev/null @@ -1,113 +0,0 @@ -file(REMOVE_RECURSE - "CMakeFiles/man" - "ZIP_SOURCE_GET_ARGS.3" - "libzip.3" - "zip_add.3" - "zip_add_dir.3" - "zip_close.3" - "zip_compression_method_supported.3" - "zip_delete.3" - "zip_dir_add.3" - "zip_discard.3" - "zip_encryption_method_supported.3" - "zip_error_clear.3" - "zip_error_code_system.3" - "zip_error_code_zip.3" - "zip_error_fini.3" - "zip_error_get.3" - "zip_error_get_sys_type.3" - "zip_error_init.3" - "zip_error_set.3" - "zip_error_set_from_source.3" - "zip_error_strerror.3" - "zip_error_system_type.3" - "zip_error_to_data.3" - "zip_error_to_str.3" - "zip_errors.3" - "zip_fclose.3" - "zip_fdopen.3" - "zip_file_add.3" - "zip_file_attributes_init.3" - "zip_file_extra_field_delete.3" - "zip_file_extra_field_get.3" - "zip_file_extra_field_set.3" - "zip_file_extra_fields_count.3" - "zip_file_get_comment.3" - "zip_file_get_error.3" - "zip_file_get_external_attributes.3" - "zip_file_rename.3" - "zip_file_set_comment.3" - "zip_file_set_encryption.3" - "zip_file_set_external_attributes.3" - "zip_file_set_mtime.3" - "zip_file_strerror.3" - "zip_fopen.3" - "zip_fopen_encrypted.3" - "zip_fread.3" - "zip_fseek.3" - "zip_ftell.3" - "zip_get_archive_comment.3" - "zip_get_archive_flag.3" - "zip_get_error.3" - "zip_get_file_comment.3" - "zip_get_name.3" - "zip_get_num_entries.3" - "zip_get_num_files.3" - "zip_libzip_version.3" - "zip_name_locate.3" - "zip_open.3" - "zip_register_cancel_callback_with_state.3" - "zip_register_progress_callback.3" - "zip_register_progress_callback_with_state.3" - "zip_rename.3" - "zip_set_archive_comment.3" - "zip_set_archive_flag.3" - "zip_set_default_password.3" - "zip_set_file_comment.3" - "zip_set_file_compression.3" - "zip_source.3" - "zip_source_begin_write.3" - "zip_source_buffer.3" - "zip_source_buffer_fragment.3" - "zip_source_close.3" - "zip_source_commit_write.3" - "zip_source_error.3" - "zip_source_file.3" - "zip_source_filep.3" - "zip_source_free.3" - "zip_source_function.3" - "zip_source_is_deleted.3" - "zip_source_is_seekable.3" - "zip_source_keep.3" - "zip_source_layered.3" - "zip_source_make_command_bitmap.3" - "zip_source_open.3" - "zip_source_read.3" - "zip_source_rollback_write.3" - "zip_source_seek.3" - "zip_source_seek_compute_offset.3" - "zip_source_seek_write.3" - "zip_source_stat.3" - "zip_source_tell.3" - "zip_source_tell_write.3" - "zip_source_win32a.3" - "zip_source_win32handle.3" - "zip_source_win32w.3" - "zip_source_window_create.3" - "zip_source_write.3" - "zip_source_zip.3" - "zip_source_zip_file.3" - "zip_stat.3" - "zip_stat_init.3" - "zip_unchange.3" - "zip_unchange_all.3" - "zip_unchange_archive.3" - "zipcmp.1" - "zipmerge.1" - "ziptool.1" -) - -# Per-language clean rules from dependency scanning. -foreach(lang ) - include(CMakeFiles/man.dir/cmake_clean_${lang}.cmake OPTIONAL) -endforeach() diff --git a/thirdparty/libzip-1.11.3/build-emcmake/man/CMakeFiles/man.dir/compiler_depend.make b/thirdparty/libzip-1.11.3/build-emcmake/man/CMakeFiles/man.dir/compiler_depend.make deleted file mode 100644 index bd58c46..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/man/CMakeFiles/man.dir/compiler_depend.make +++ /dev/null @@ -1,2 +0,0 @@ -# Empty custom commands generated dependencies file for man. -# This may be replaced when dependencies are built. diff --git a/thirdparty/libzip-1.11.3/build-emcmake/man/CMakeFiles/man.dir/compiler_depend.ts b/thirdparty/libzip-1.11.3/build-emcmake/man/CMakeFiles/man.dir/compiler_depend.ts deleted file mode 100644 index b61e3b0..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/man/CMakeFiles/man.dir/compiler_depend.ts +++ /dev/null @@ -1,2 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Timestamp file for custom commands dependencies management for man. diff --git a/thirdparty/libzip-1.11.3/build-emcmake/man/CMakeFiles/man.dir/progress.make b/thirdparty/libzip-1.11.3/build-emcmake/man/CMakeFiles/man.dir/progress.make deleted file mode 100644 index 832c34c..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/man/CMakeFiles/man.dir/progress.make +++ /dev/null @@ -1,106 +0,0 @@ -CMAKE_PROGRESS_1 = -CMAKE_PROGRESS_2 = -CMAKE_PROGRESS_3 = -CMAKE_PROGRESS_4 = 2 -CMAKE_PROGRESS_5 = -CMAKE_PROGRESS_6 = -CMAKE_PROGRESS_7 = -CMAKE_PROGRESS_8 = 3 -CMAKE_PROGRESS_9 = -CMAKE_PROGRESS_10 = -CMAKE_PROGRESS_11 = -CMAKE_PROGRESS_12 = -CMAKE_PROGRESS_13 = 4 -CMAKE_PROGRESS_14 = -CMAKE_PROGRESS_15 = -CMAKE_PROGRESS_16 = -CMAKE_PROGRESS_17 = 5 -CMAKE_PROGRESS_18 = -CMAKE_PROGRESS_19 = -CMAKE_PROGRESS_20 = -CMAKE_PROGRESS_21 = -CMAKE_PROGRESS_22 = 6 -CMAKE_PROGRESS_23 = -CMAKE_PROGRESS_24 = -CMAKE_PROGRESS_25 = -CMAKE_PROGRESS_26 = 7 -CMAKE_PROGRESS_27 = -CMAKE_PROGRESS_28 = -CMAKE_PROGRESS_29 = -CMAKE_PROGRESS_30 = -CMAKE_PROGRESS_31 = 8 -CMAKE_PROGRESS_32 = -CMAKE_PROGRESS_33 = -CMAKE_PROGRESS_34 = -CMAKE_PROGRESS_35 = 9 -CMAKE_PROGRESS_36 = -CMAKE_PROGRESS_37 = -CMAKE_PROGRESS_38 = -CMAKE_PROGRESS_39 = -CMAKE_PROGRESS_40 = 10 -CMAKE_PROGRESS_41 = -CMAKE_PROGRESS_42 = -CMAKE_PROGRESS_43 = -CMAKE_PROGRESS_44 = -CMAKE_PROGRESS_45 = 11 -CMAKE_PROGRESS_46 = -CMAKE_PROGRESS_47 = -CMAKE_PROGRESS_48 = -CMAKE_PROGRESS_49 = 12 -CMAKE_PROGRESS_50 = -CMAKE_PROGRESS_51 = -CMAKE_PROGRESS_52 = -CMAKE_PROGRESS_53 = -CMAKE_PROGRESS_54 = 13 -CMAKE_PROGRESS_55 = -CMAKE_PROGRESS_56 = -CMAKE_PROGRESS_57 = -CMAKE_PROGRESS_58 = 14 -CMAKE_PROGRESS_59 = -CMAKE_PROGRESS_60 = -CMAKE_PROGRESS_61 = -CMAKE_PROGRESS_62 = -CMAKE_PROGRESS_63 = 15 -CMAKE_PROGRESS_64 = -CMAKE_PROGRESS_65 = -CMAKE_PROGRESS_66 = -CMAKE_PROGRESS_67 = 16 -CMAKE_PROGRESS_68 = -CMAKE_PROGRESS_69 = -CMAKE_PROGRESS_70 = -CMAKE_PROGRESS_71 = -CMAKE_PROGRESS_72 = 17 -CMAKE_PROGRESS_73 = -CMAKE_PROGRESS_74 = -CMAKE_PROGRESS_75 = -CMAKE_PROGRESS_76 = 18 -CMAKE_PROGRESS_77 = -CMAKE_PROGRESS_78 = -CMAKE_PROGRESS_79 = -CMAKE_PROGRESS_80 = -CMAKE_PROGRESS_81 = 19 -CMAKE_PROGRESS_82 = -CMAKE_PROGRESS_83 = -CMAKE_PROGRESS_84 = -CMAKE_PROGRESS_85 = 20 -CMAKE_PROGRESS_86 = -CMAKE_PROGRESS_87 = -CMAKE_PROGRESS_88 = -CMAKE_PROGRESS_89 = -CMAKE_PROGRESS_90 = 21 -CMAKE_PROGRESS_91 = -CMAKE_PROGRESS_92 = -CMAKE_PROGRESS_93 = -CMAKE_PROGRESS_94 = -CMAKE_PROGRESS_95 = 22 -CMAKE_PROGRESS_96 = -CMAKE_PROGRESS_97 = -CMAKE_PROGRESS_98 = -CMAKE_PROGRESS_99 = 23 -CMAKE_PROGRESS_100 = -CMAKE_PROGRESS_101 = -CMAKE_PROGRESS_102 = -CMAKE_PROGRESS_103 = -CMAKE_PROGRESS_104 = 24 -CMAKE_PROGRESS_105 = - diff --git a/thirdparty/libzip-1.11.3/build-emcmake/man/CMakeFiles/progress.marks b/thirdparty/libzip-1.11.3/build-emcmake/man/CMakeFiles/progress.marks deleted file mode 100644 index 4099407..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/man/CMakeFiles/progress.marks +++ /dev/null @@ -1 +0,0 @@ -23 diff --git a/thirdparty/libzip-1.11.3/build-emcmake/man/CMakeFiles/update-html.dir/DependInfo.cmake b/thirdparty/libzip-1.11.3/build-emcmake/man/CMakeFiles/update-html.dir/DependInfo.cmake deleted file mode 100644 index 29b95a5..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/man/CMakeFiles/update-html.dir/DependInfo.cmake +++ /dev/null @@ -1,22 +0,0 @@ - -# Consider dependencies only in project. -set(CMAKE_DEPENDS_IN_PROJECT_ONLY OFF) - -# The set of languages for which implicit dependencies are needed: -set(CMAKE_DEPENDS_LANGUAGES - ) - -# The set of dependency files which are needed: -set(CMAKE_DEPENDS_DEPENDENCY_FILES - ) - -# Targets to which this target links which contain Fortran sources. -set(CMAKE_Fortran_TARGET_LINKED_INFO_FILES - ) - -# Targets to which this target links which contain Fortran sources. -set(CMAKE_Fortran_TARGET_FORWARD_LINKED_INFO_FILES - ) - -# Fortran module output directory. -set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/thirdparty/libzip-1.11.3/build-emcmake/man/CMakeFiles/update-html.dir/build.make b/thirdparty/libzip-1.11.3/build-emcmake/man/CMakeFiles/update-html.dir/build.make deleted file mode 100644 index a244951..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/man/CMakeFiles/update-html.dir/build.make +++ /dev/null @@ -1,820 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.28 - -# Delete rule output on recipe failure. -.DELETE_ON_ERROR: - -#============================================================================= -# Special targets provided by cmake. - -# Disable implicit rules so canonical targets will work. -.SUFFIXES: - -# Disable VCS-based implicit rules. -% : %,v - -# Disable VCS-based implicit rules. -% : RCS/% - -# Disable VCS-based implicit rules. -% : RCS/%,v - -# Disable VCS-based implicit rules. -% : SCCS/s.% - -# Disable VCS-based implicit rules. -% : s.% - -.SUFFIXES: .hpux_make_needs_suffix_list - -# Command-line flag to silence nested $(MAKE). -$(VERBOSE)MAKESILENT = -s - -#Suppress display of executed commands. -$(VERBOSE).SILENT: - -# A target that is always out of date. -cmake_force: -.PHONY : cmake_force - -#============================================================================= -# Set environment variables for the build. - -# The shell in which to execute make rules. -SHELL = /bin/sh - -# The CMake executable. -CMAKE_COMMAND = /usr/bin/cmake - -# The command to remove a file. -RM = /usr/bin/cmake -E rm -f - -# Escaping for special characters. -EQUALS = = - -# The top-level source directory on which CMake was run. -CMAKE_SOURCE_DIR = "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3" - -# The top-level build directory on which CMake was run. -CMAKE_BINARY_DIR = "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" - -# Utility rule file for update-html. - -# Include any custom commands dependencies for this target. -include man/CMakeFiles/update-html.dir/compiler_depend.make - -# Include the progress variables for this target. -include man/CMakeFiles/update-html.dir/progress.make - -man/CMakeFiles/update-html: man/ZIP_SOURCE_GET_ARGS.html -man/CMakeFiles/update-html: man/libzip.html -man/CMakeFiles/update-html: man/zip_add.html -man/CMakeFiles/update-html: man/zip_add_dir.html -man/CMakeFiles/update-html: man/zip_close.html -man/CMakeFiles/update-html: man/zip_compression_method_supported.html -man/CMakeFiles/update-html: man/zip_delete.html -man/CMakeFiles/update-html: man/zip_dir_add.html -man/CMakeFiles/update-html: man/zip_discard.html -man/CMakeFiles/update-html: man/zip_encryption_method_supported.html -man/CMakeFiles/update-html: man/zip_error_clear.html -man/CMakeFiles/update-html: man/zip_error_code_system.html -man/CMakeFiles/update-html: man/zip_error_code_zip.html -man/CMakeFiles/update-html: man/zip_error_fini.html -man/CMakeFiles/update-html: man/zip_error_get.html -man/CMakeFiles/update-html: man/zip_error_get_sys_type.html -man/CMakeFiles/update-html: man/zip_error_init.html -man/CMakeFiles/update-html: man/zip_error_set.html -man/CMakeFiles/update-html: man/zip_error_set_from_source.html -man/CMakeFiles/update-html: man/zip_error_strerror.html -man/CMakeFiles/update-html: man/zip_error_system_type.html -man/CMakeFiles/update-html: man/zip_error_to_data.html -man/CMakeFiles/update-html: man/zip_error_to_str.html -man/CMakeFiles/update-html: man/zip_errors.html -man/CMakeFiles/update-html: man/zip_fclose.html -man/CMakeFiles/update-html: man/zip_fdopen.html -man/CMakeFiles/update-html: man/zip_file_add.html -man/CMakeFiles/update-html: man/zip_file_attributes_init.html -man/CMakeFiles/update-html: man/zip_file_extra_field_delete.html -man/CMakeFiles/update-html: man/zip_file_extra_field_get.html -man/CMakeFiles/update-html: man/zip_file_extra_field_set.html -man/CMakeFiles/update-html: man/zip_file_extra_fields_count.html -man/CMakeFiles/update-html: man/zip_file_get_comment.html -man/CMakeFiles/update-html: man/zip_file_get_error.html -man/CMakeFiles/update-html: man/zip_file_get_external_attributes.html -man/CMakeFiles/update-html: man/zip_file_rename.html -man/CMakeFiles/update-html: man/zip_file_set_comment.html -man/CMakeFiles/update-html: man/zip_file_set_encryption.html -man/CMakeFiles/update-html: man/zip_file_set_external_attributes.html -man/CMakeFiles/update-html: man/zip_file_set_mtime.html -man/CMakeFiles/update-html: man/zip_file_strerror.html -man/CMakeFiles/update-html: man/zip_fopen.html -man/CMakeFiles/update-html: man/zip_fopen_encrypted.html -man/CMakeFiles/update-html: man/zip_fread.html -man/CMakeFiles/update-html: man/zip_fseek.html -man/CMakeFiles/update-html: man/zip_ftell.html -man/CMakeFiles/update-html: man/zip_get_archive_comment.html -man/CMakeFiles/update-html: man/zip_get_archive_flag.html -man/CMakeFiles/update-html: man/zip_get_error.html -man/CMakeFiles/update-html: man/zip_get_file_comment.html -man/CMakeFiles/update-html: man/zip_get_name.html -man/CMakeFiles/update-html: man/zip_get_num_entries.html -man/CMakeFiles/update-html: man/zip_get_num_files.html -man/CMakeFiles/update-html: man/zip_libzip_version.html -man/CMakeFiles/update-html: man/zip_name_locate.html -man/CMakeFiles/update-html: man/zip_open.html -man/CMakeFiles/update-html: man/zip_register_cancel_callback_with_state.html -man/CMakeFiles/update-html: man/zip_register_progress_callback.html -man/CMakeFiles/update-html: man/zip_register_progress_callback_with_state.html -man/CMakeFiles/update-html: man/zip_rename.html -man/CMakeFiles/update-html: man/zip_set_archive_comment.html -man/CMakeFiles/update-html: man/zip_set_archive_flag.html -man/CMakeFiles/update-html: man/zip_set_default_password.html -man/CMakeFiles/update-html: man/zip_set_file_comment.html -man/CMakeFiles/update-html: man/zip_set_file_compression.html -man/CMakeFiles/update-html: man/zip_source.html -man/CMakeFiles/update-html: man/zip_source_begin_write.html -man/CMakeFiles/update-html: man/zip_source_buffer.html -man/CMakeFiles/update-html: man/zip_source_buffer_fragment.html -man/CMakeFiles/update-html: man/zip_source_close.html -man/CMakeFiles/update-html: man/zip_source_commit_write.html -man/CMakeFiles/update-html: man/zip_source_error.html -man/CMakeFiles/update-html: man/zip_source_file.html -man/CMakeFiles/update-html: man/zip_source_filep.html -man/CMakeFiles/update-html: man/zip_source_free.html -man/CMakeFiles/update-html: man/zip_source_function.html -man/CMakeFiles/update-html: man/zip_source_is_deleted.html -man/CMakeFiles/update-html: man/zip_source_is_seekable.html -man/CMakeFiles/update-html: man/zip_source_layered.html -man/CMakeFiles/update-html: man/zip_source_keep.html -man/CMakeFiles/update-html: man/zip_source_make_command_bitmap.html -man/CMakeFiles/update-html: man/zip_source_open.html -man/CMakeFiles/update-html: man/zip_source_read.html -man/CMakeFiles/update-html: man/zip_source_rollback_write.html -man/CMakeFiles/update-html: man/zip_source_seek.html -man/CMakeFiles/update-html: man/zip_source_seek_compute_offset.html -man/CMakeFiles/update-html: man/zip_source_seek_write.html -man/CMakeFiles/update-html: man/zip_source_stat.html -man/CMakeFiles/update-html: man/zip_source_tell.html -man/CMakeFiles/update-html: man/zip_source_tell_write.html -man/CMakeFiles/update-html: man/zip_source_win32a.html -man/CMakeFiles/update-html: man/zip_source_win32handle.html -man/CMakeFiles/update-html: man/zip_source_win32w.html -man/CMakeFiles/update-html: man/zip_source_window_create.html -man/CMakeFiles/update-html: man/zip_source_write.html -man/CMakeFiles/update-html: man/zip_source_zip.html -man/CMakeFiles/update-html: man/zip_source_zip_file.html -man/CMakeFiles/update-html: man/zip_stat.html -man/CMakeFiles/update-html: man/zip_stat_init.html -man/CMakeFiles/update-html: man/zip_unchange.html -man/CMakeFiles/update-html: man/zip_unchange_all.html -man/CMakeFiles/update-html: man/zip_unchange_archive.html -man/CMakeFiles/update-html: man/zipcmp.html -man/CMakeFiles/update-html: man/zipmerge.html -man/CMakeFiles/update-html: man/ziptool.html - -man/ZIP_SOURCE_GET_ARGS.html: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/ZIP_SOURCE_GET_ARGS.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_1) "Generating ZIP_SOURCE_GET_ARGS.html" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/ZIP_SOURCE_GET_ARGS.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/ZIP_SOURCE_GET_ARGS.html -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-html.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/ZIP_SOURCE_GET_ARGS.html /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/ZIP_SOURCE_GET_ARGS.html - -man/libzip.html: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/libzip.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_2) "Generating libzip.html" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/libzip.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/libzip.html -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-html.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/libzip.html /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/libzip.html - -man/zip_add.html: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_add.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_3) "Generating zip_add.html" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_add.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_add.html -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-html.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_add.html /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_add.html - -man/zip_add_dir.html: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_add_dir.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_4) "Generating zip_add_dir.html" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_add_dir.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_add_dir.html -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-html.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_add_dir.html /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_add_dir.html - -man/zip_close.html: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_close.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_5) "Generating zip_close.html" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_close.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_close.html -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-html.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_close.html /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_close.html - -man/zip_compression_method_supported.html: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_compression_method_supported.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_6) "Generating zip_compression_method_supported.html" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_compression_method_supported.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_compression_method_supported.html -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-html.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_compression_method_supported.html /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_compression_method_supported.html - -man/zip_delete.html: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_delete.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_7) "Generating zip_delete.html" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_delete.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_delete.html -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-html.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_delete.html /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_delete.html - -man/zip_dir_add.html: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_dir_add.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_8) "Generating zip_dir_add.html" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_dir_add.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_dir_add.html -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-html.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_dir_add.html /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_dir_add.html - -man/zip_discard.html: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_discard.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_9) "Generating zip_discard.html" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_discard.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_discard.html -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-html.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_discard.html /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_discard.html - -man/zip_encryption_method_supported.html: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_encryption_method_supported.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_10) "Generating zip_encryption_method_supported.html" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_encryption_method_supported.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_encryption_method_supported.html -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-html.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_encryption_method_supported.html /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_encryption_method_supported.html - -man/zip_error_clear.html: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_error_clear.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_11) "Generating zip_error_clear.html" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_error_clear.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_error_clear.html -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-html.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_error_clear.html /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_error_clear.html - -man/zip_error_code_system.html: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_error_code_system.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_12) "Generating zip_error_code_system.html" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_error_code_system.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_error_code_system.html -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-html.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_error_code_system.html /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_error_code_system.html - -man/zip_error_code_zip.html: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_error_code_zip.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_13) "Generating zip_error_code_zip.html" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_error_code_zip.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_error_code_zip.html -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-html.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_error_code_zip.html /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_error_code_zip.html - -man/zip_error_fini.html: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_error_fini.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_14) "Generating zip_error_fini.html" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_error_fini.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_error_fini.html -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-html.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_error_fini.html /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_error_fini.html - -man/zip_error_get.html: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_error_get.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_15) "Generating zip_error_get.html" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_error_get.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_error_get.html -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-html.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_error_get.html /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_error_get.html - -man/zip_error_get_sys_type.html: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_error_get_sys_type.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_16) "Generating zip_error_get_sys_type.html" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_error_get_sys_type.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_error_get_sys_type.html -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-html.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_error_get_sys_type.html /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_error_get_sys_type.html - -man/zip_error_init.html: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_error_init.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_17) "Generating zip_error_init.html" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_error_init.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_error_init.html -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-html.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_error_init.html /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_error_init.html - -man/zip_error_set.html: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_error_set.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_18) "Generating zip_error_set.html" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_error_set.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_error_set.html -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-html.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_error_set.html /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_error_set.html - -man/zip_error_set_from_source.html: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_error_set_from_source.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_19) "Generating zip_error_set_from_source.html" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_error_set_from_source.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_error_set_from_source.html -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-html.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_error_set_from_source.html /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_error_set_from_source.html - -man/zip_error_strerror.html: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_error_strerror.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_20) "Generating zip_error_strerror.html" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_error_strerror.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_error_strerror.html -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-html.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_error_strerror.html /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_error_strerror.html - -man/zip_error_system_type.html: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_error_system_type.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_21) "Generating zip_error_system_type.html" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_error_system_type.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_error_system_type.html -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-html.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_error_system_type.html /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_error_system_type.html - -man/zip_error_to_data.html: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_error_to_data.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_22) "Generating zip_error_to_data.html" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_error_to_data.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_error_to_data.html -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-html.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_error_to_data.html /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_error_to_data.html - -man/zip_error_to_str.html: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_error_to_str.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_23) "Generating zip_error_to_str.html" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_error_to_str.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_error_to_str.html -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-html.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_error_to_str.html /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_error_to_str.html - -man/zip_errors.html: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_errors.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_24) "Generating zip_errors.html" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_errors.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_errors.html -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-html.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_errors.html /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_errors.html - -man/zip_fclose.html: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_fclose.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_25) "Generating zip_fclose.html" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_fclose.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_fclose.html -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-html.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_fclose.html /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_fclose.html - -man/zip_fdopen.html: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_fdopen.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_26) "Generating zip_fdopen.html" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_fdopen.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_fdopen.html -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-html.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_fdopen.html /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_fdopen.html - -man/zip_file_add.html: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_file_add.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_27) "Generating zip_file_add.html" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_file_add.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_file_add.html -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-html.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_file_add.html /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_file_add.html - -man/zip_file_attributes_init.html: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_file_attributes_init.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_28) "Generating zip_file_attributes_init.html" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_file_attributes_init.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_file_attributes_init.html -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-html.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_file_attributes_init.html /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_file_attributes_init.html - -man/zip_file_extra_field_delete.html: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_file_extra_field_delete.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_29) "Generating zip_file_extra_field_delete.html" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_file_extra_field_delete.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_file_extra_field_delete.html -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-html.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_file_extra_field_delete.html /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_file_extra_field_delete.html - -man/zip_file_extra_field_get.html: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_file_extra_field_get.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_30) "Generating zip_file_extra_field_get.html" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_file_extra_field_get.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_file_extra_field_get.html -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-html.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_file_extra_field_get.html /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_file_extra_field_get.html - -man/zip_file_extra_field_set.html: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_file_extra_field_set.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_31) "Generating zip_file_extra_field_set.html" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_file_extra_field_set.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_file_extra_field_set.html -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-html.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_file_extra_field_set.html /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_file_extra_field_set.html - -man/zip_file_extra_fields_count.html: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_file_extra_fields_count.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_32) "Generating zip_file_extra_fields_count.html" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_file_extra_fields_count.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_file_extra_fields_count.html -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-html.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_file_extra_fields_count.html /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_file_extra_fields_count.html - -man/zip_file_get_comment.html: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_file_get_comment.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_33) "Generating zip_file_get_comment.html" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_file_get_comment.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_file_get_comment.html -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-html.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_file_get_comment.html /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_file_get_comment.html - -man/zip_file_get_error.html: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_file_get_error.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_34) "Generating zip_file_get_error.html" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_file_get_error.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_file_get_error.html -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-html.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_file_get_error.html /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_file_get_error.html - -man/zip_file_get_external_attributes.html: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_file_get_external_attributes.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_35) "Generating zip_file_get_external_attributes.html" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_file_get_external_attributes.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_file_get_external_attributes.html -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-html.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_file_get_external_attributes.html /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_file_get_external_attributes.html - -man/zip_file_rename.html: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_file_rename.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_36) "Generating zip_file_rename.html" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_file_rename.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_file_rename.html -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-html.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_file_rename.html /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_file_rename.html - -man/zip_file_set_comment.html: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_file_set_comment.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_37) "Generating zip_file_set_comment.html" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_file_set_comment.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_file_set_comment.html -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-html.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_file_set_comment.html /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_file_set_comment.html - -man/zip_file_set_encryption.html: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_file_set_encryption.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_38) "Generating zip_file_set_encryption.html" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_file_set_encryption.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_file_set_encryption.html -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-html.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_file_set_encryption.html /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_file_set_encryption.html - -man/zip_file_set_external_attributes.html: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_file_set_external_attributes.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_39) "Generating zip_file_set_external_attributes.html" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_file_set_external_attributes.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_file_set_external_attributes.html -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-html.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_file_set_external_attributes.html /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_file_set_external_attributes.html - -man/zip_file_set_mtime.html: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_file_set_mtime.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_40) "Generating zip_file_set_mtime.html" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_file_set_mtime.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_file_set_mtime.html -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-html.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_file_set_mtime.html /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_file_set_mtime.html - -man/zip_file_strerror.html: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_file_strerror.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_41) "Generating zip_file_strerror.html" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_file_strerror.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_file_strerror.html -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-html.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_file_strerror.html /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_file_strerror.html - -man/zip_fopen.html: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_fopen.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_42) "Generating zip_fopen.html" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_fopen.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_fopen.html -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-html.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_fopen.html /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_fopen.html - -man/zip_fopen_encrypted.html: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_fopen_encrypted.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_43) "Generating zip_fopen_encrypted.html" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_fopen_encrypted.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_fopen_encrypted.html -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-html.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_fopen_encrypted.html /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_fopen_encrypted.html - -man/zip_fread.html: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_fread.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_44) "Generating zip_fread.html" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_fread.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_fread.html -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-html.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_fread.html /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_fread.html - -man/zip_fseek.html: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_fseek.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_45) "Generating zip_fseek.html" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_fseek.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_fseek.html -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-html.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_fseek.html /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_fseek.html - -man/zip_ftell.html: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_ftell.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_46) "Generating zip_ftell.html" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_ftell.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_ftell.html -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-html.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_ftell.html /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_ftell.html - -man/zip_get_archive_comment.html: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_get_archive_comment.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_47) "Generating zip_get_archive_comment.html" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_get_archive_comment.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_get_archive_comment.html -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-html.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_get_archive_comment.html /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_get_archive_comment.html - -man/zip_get_archive_flag.html: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_get_archive_flag.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_48) "Generating zip_get_archive_flag.html" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_get_archive_flag.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_get_archive_flag.html -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-html.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_get_archive_flag.html /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_get_archive_flag.html - -man/zip_get_error.html: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_get_error.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_49) "Generating zip_get_error.html" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_get_error.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_get_error.html -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-html.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_get_error.html /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_get_error.html - -man/zip_get_file_comment.html: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_get_file_comment.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_50) "Generating zip_get_file_comment.html" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_get_file_comment.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_get_file_comment.html -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-html.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_get_file_comment.html /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_get_file_comment.html - -man/zip_get_name.html: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_get_name.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_51) "Generating zip_get_name.html" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_get_name.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_get_name.html -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-html.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_get_name.html /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_get_name.html - -man/zip_get_num_entries.html: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_get_num_entries.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_52) "Generating zip_get_num_entries.html" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_get_num_entries.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_get_num_entries.html -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-html.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_get_num_entries.html /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_get_num_entries.html - -man/zip_get_num_files.html: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_get_num_files.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_53) "Generating zip_get_num_files.html" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_get_num_files.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_get_num_files.html -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-html.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_get_num_files.html /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_get_num_files.html - -man/zip_libzip_version.html: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_libzip_version.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_54) "Generating zip_libzip_version.html" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_libzip_version.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_libzip_version.html -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-html.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_libzip_version.html /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_libzip_version.html - -man/zip_name_locate.html: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_name_locate.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_55) "Generating zip_name_locate.html" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_name_locate.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_name_locate.html -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-html.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_name_locate.html /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_name_locate.html - -man/zip_open.html: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_open.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_56) "Generating zip_open.html" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_open.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_open.html -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-html.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_open.html /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_open.html - -man/zip_register_cancel_callback_with_state.html: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_register_cancel_callback_with_state.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_57) "Generating zip_register_cancel_callback_with_state.html" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_register_cancel_callback_with_state.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_register_cancel_callback_with_state.html -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-html.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_register_cancel_callback_with_state.html /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_register_cancel_callback_with_state.html - -man/zip_register_progress_callback.html: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_register_progress_callback.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_58) "Generating zip_register_progress_callback.html" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_register_progress_callback.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_register_progress_callback.html -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-html.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_register_progress_callback.html /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_register_progress_callback.html - -man/zip_register_progress_callback_with_state.html: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_register_progress_callback_with_state.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_59) "Generating zip_register_progress_callback_with_state.html" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_register_progress_callback_with_state.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_register_progress_callback_with_state.html -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-html.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_register_progress_callback_with_state.html /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_register_progress_callback_with_state.html - -man/zip_rename.html: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_rename.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_60) "Generating zip_rename.html" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_rename.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_rename.html -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-html.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_rename.html /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_rename.html - -man/zip_set_archive_comment.html: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_set_archive_comment.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_61) "Generating zip_set_archive_comment.html" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_set_archive_comment.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_set_archive_comment.html -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-html.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_set_archive_comment.html /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_set_archive_comment.html - -man/zip_set_archive_flag.html: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_set_archive_flag.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_62) "Generating zip_set_archive_flag.html" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_set_archive_flag.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_set_archive_flag.html -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-html.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_set_archive_flag.html /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_set_archive_flag.html - -man/zip_set_default_password.html: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_set_default_password.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_63) "Generating zip_set_default_password.html" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_set_default_password.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_set_default_password.html -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-html.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_set_default_password.html /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_set_default_password.html - -man/zip_set_file_comment.html: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_set_file_comment.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_64) "Generating zip_set_file_comment.html" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_set_file_comment.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_set_file_comment.html -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-html.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_set_file_comment.html /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_set_file_comment.html - -man/zip_set_file_compression.html: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_set_file_compression.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_65) "Generating zip_set_file_compression.html" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_set_file_compression.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_set_file_compression.html -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-html.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_set_file_compression.html /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_set_file_compression.html - -man/zip_source.html: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_66) "Generating zip_source.html" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source.html -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-html.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source.html /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source.html - -man/zip_source_begin_write.html: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_begin_write.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_67) "Generating zip_source_begin_write.html" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_begin_write.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_begin_write.html -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-html.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_begin_write.html /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_begin_write.html - -man/zip_source_buffer.html: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_buffer.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_68) "Generating zip_source_buffer.html" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_buffer.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_buffer.html -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-html.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_buffer.html /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_buffer.html - -man/zip_source_buffer_fragment.html: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_buffer_fragment.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_69) "Generating zip_source_buffer_fragment.html" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_buffer_fragment.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_buffer_fragment.html -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-html.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_buffer_fragment.html /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_buffer_fragment.html - -man/zip_source_close.html: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_close.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_70) "Generating zip_source_close.html" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_close.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_close.html -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-html.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_close.html /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_close.html - -man/zip_source_commit_write.html: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_commit_write.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_71) "Generating zip_source_commit_write.html" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_commit_write.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_commit_write.html -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-html.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_commit_write.html /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_commit_write.html - -man/zip_source_error.html: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_error.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_72) "Generating zip_source_error.html" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_error.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_error.html -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-html.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_error.html /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_error.html - -man/zip_source_file.html: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_file.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_73) "Generating zip_source_file.html" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_file.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_file.html -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-html.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_file.html /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_file.html - -man/zip_source_filep.html: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_filep.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_74) "Generating zip_source_filep.html" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_filep.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_filep.html -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-html.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_filep.html /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_filep.html - -man/zip_source_free.html: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_free.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_75) "Generating zip_source_free.html" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_free.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_free.html -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-html.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_free.html /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_free.html - -man/zip_source_function.html: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_function.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_76) "Generating zip_source_function.html" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_function.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_function.html -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-html.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_function.html /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_function.html - -man/zip_source_is_deleted.html: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_is_deleted.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_77) "Generating zip_source_is_deleted.html" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_is_deleted.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_is_deleted.html -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-html.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_is_deleted.html /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_is_deleted.html - -man/zip_source_is_seekable.html: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_is_seekable.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_78) "Generating zip_source_is_seekable.html" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_is_seekable.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_is_seekable.html -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-html.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_is_seekable.html /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_is_seekable.html - -man/zip_source_keep.html: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_keep.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_79) "Generating zip_source_keep.html" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_keep.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_keep.html -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-html.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_keep.html /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_keep.html - -man/zip_source_layered.html: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_layered.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_80) "Generating zip_source_layered.html" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_layered.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_layered.html -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-html.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_layered.html /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_layered.html - -man/zip_source_make_command_bitmap.html: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_make_command_bitmap.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_81) "Generating zip_source_make_command_bitmap.html" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_make_command_bitmap.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_make_command_bitmap.html -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-html.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_make_command_bitmap.html /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_make_command_bitmap.html - -man/zip_source_open.html: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_open.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_82) "Generating zip_source_open.html" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_open.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_open.html -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-html.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_open.html /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_open.html - -man/zip_source_read.html: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_read.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_83) "Generating zip_source_read.html" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_read.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_read.html -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-html.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_read.html /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_read.html - -man/zip_source_rollback_write.html: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_rollback_write.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_84) "Generating zip_source_rollback_write.html" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_rollback_write.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_rollback_write.html -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-html.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_rollback_write.html /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_rollback_write.html - -man/zip_source_seek.html: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_seek.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_85) "Generating zip_source_seek.html" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_seek.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_seek.html -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-html.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_seek.html /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_seek.html - -man/zip_source_seek_compute_offset.html: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_seek_compute_offset.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_86) "Generating zip_source_seek_compute_offset.html" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_seek_compute_offset.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_seek_compute_offset.html -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-html.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_seek_compute_offset.html /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_seek_compute_offset.html - -man/zip_source_seek_write.html: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_seek_write.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_87) "Generating zip_source_seek_write.html" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_seek_write.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_seek_write.html -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-html.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_seek_write.html /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_seek_write.html - -man/zip_source_stat.html: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_stat.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_88) "Generating zip_source_stat.html" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_stat.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_stat.html -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-html.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_stat.html /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_stat.html - -man/zip_source_tell.html: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_tell.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_89) "Generating zip_source_tell.html" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_tell.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_tell.html -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-html.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_tell.html /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_tell.html - -man/zip_source_tell_write.html: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_tell_write.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_90) "Generating zip_source_tell_write.html" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_tell_write.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_tell_write.html -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-html.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_tell_write.html /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_tell_write.html - -man/zip_source_win32a.html: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_win32a.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_91) "Generating zip_source_win32a.html" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_win32a.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_win32a.html -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-html.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_win32a.html /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_win32a.html - -man/zip_source_win32handle.html: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_win32handle.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_92) "Generating zip_source_win32handle.html" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_win32handle.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_win32handle.html -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-html.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_win32handle.html /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_win32handle.html - -man/zip_source_win32w.html: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_win32w.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_93) "Generating zip_source_win32w.html" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_win32w.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_win32w.html -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-html.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_win32w.html /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_win32w.html - -man/zip_source_window_create.html: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_window_create.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_94) "Generating zip_source_window_create.html" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_window_create.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_window_create.html -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-html.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_window_create.html /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_window_create.html - -man/zip_source_write.html: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_write.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_95) "Generating zip_source_write.html" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_write.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_write.html -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-html.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_write.html /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_write.html - -man/zip_source_zip.html: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_zip.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_96) "Generating zip_source_zip.html" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_zip.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_zip.html -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-html.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_zip.html /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_zip.html - -man/zip_source_zip_file.html: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_zip_file.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_97) "Generating zip_source_zip_file.html" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_zip_file.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_zip_file.html -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-html.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_zip_file.html /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_zip_file.html - -man/zip_stat.html: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_stat.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_98) "Generating zip_stat.html" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_stat.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_stat.html -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-html.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_stat.html /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_stat.html - -man/zip_stat_init.html: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_stat_init.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_99) "Generating zip_stat_init.html" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_stat_init.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_stat_init.html -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-html.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_stat_init.html /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_stat_init.html - -man/zip_unchange.html: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_unchange.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_100) "Generating zip_unchange.html" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_unchange.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_unchange.html -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-html.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_unchange.html /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_unchange.html - -man/zip_unchange_all.html: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_unchange_all.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_101) "Generating zip_unchange_all.html" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_unchange_all.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_unchange_all.html -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-html.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_unchange_all.html /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_unchange_all.html - -man/zip_unchange_archive.html: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_unchange_archive.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_102) "Generating zip_unchange_archive.html" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_unchange_archive.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_unchange_archive.html -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-html.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_unchange_archive.html /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_unchange_archive.html - -man/zipcmp.html: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zipcmp.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_103) "Generating zipcmp.html" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zipcmp.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zipcmp.html -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-html.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zipcmp.html /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zipcmp.html - -man/zipmerge.html: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zipmerge.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_104) "Generating zipmerge.html" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zipmerge.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zipmerge.html -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-html.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zipmerge.html /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zipmerge.html - -man/ziptool.html: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/ziptool.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_105) "Generating ziptool.html" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/ziptool.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/ziptool.html -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-html.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/ziptool.html /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/ziptool.html - -update-html: man/CMakeFiles/update-html -update-html: man/ZIP_SOURCE_GET_ARGS.html -update-html: man/libzip.html -update-html: man/zip_add.html -update-html: man/zip_add_dir.html -update-html: man/zip_close.html -update-html: man/zip_compression_method_supported.html -update-html: man/zip_delete.html -update-html: man/zip_dir_add.html -update-html: man/zip_discard.html -update-html: man/zip_encryption_method_supported.html -update-html: man/zip_error_clear.html -update-html: man/zip_error_code_system.html -update-html: man/zip_error_code_zip.html -update-html: man/zip_error_fini.html -update-html: man/zip_error_get.html -update-html: man/zip_error_get_sys_type.html -update-html: man/zip_error_init.html -update-html: man/zip_error_set.html -update-html: man/zip_error_set_from_source.html -update-html: man/zip_error_strerror.html -update-html: man/zip_error_system_type.html -update-html: man/zip_error_to_data.html -update-html: man/zip_error_to_str.html -update-html: man/zip_errors.html -update-html: man/zip_fclose.html -update-html: man/zip_fdopen.html -update-html: man/zip_file_add.html -update-html: man/zip_file_attributes_init.html -update-html: man/zip_file_extra_field_delete.html -update-html: man/zip_file_extra_field_get.html -update-html: man/zip_file_extra_field_set.html -update-html: man/zip_file_extra_fields_count.html -update-html: man/zip_file_get_comment.html -update-html: man/zip_file_get_error.html -update-html: man/zip_file_get_external_attributes.html -update-html: man/zip_file_rename.html -update-html: man/zip_file_set_comment.html -update-html: man/zip_file_set_encryption.html -update-html: man/zip_file_set_external_attributes.html -update-html: man/zip_file_set_mtime.html -update-html: man/zip_file_strerror.html -update-html: man/zip_fopen.html -update-html: man/zip_fopen_encrypted.html -update-html: man/zip_fread.html -update-html: man/zip_fseek.html -update-html: man/zip_ftell.html -update-html: man/zip_get_archive_comment.html -update-html: man/zip_get_archive_flag.html -update-html: man/zip_get_error.html -update-html: man/zip_get_file_comment.html -update-html: man/zip_get_name.html -update-html: man/zip_get_num_entries.html -update-html: man/zip_get_num_files.html -update-html: man/zip_libzip_version.html -update-html: man/zip_name_locate.html -update-html: man/zip_open.html -update-html: man/zip_register_cancel_callback_with_state.html -update-html: man/zip_register_progress_callback.html -update-html: man/zip_register_progress_callback_with_state.html -update-html: man/zip_rename.html -update-html: man/zip_set_archive_comment.html -update-html: man/zip_set_archive_flag.html -update-html: man/zip_set_default_password.html -update-html: man/zip_set_file_comment.html -update-html: man/zip_set_file_compression.html -update-html: man/zip_source.html -update-html: man/zip_source_begin_write.html -update-html: man/zip_source_buffer.html -update-html: man/zip_source_buffer_fragment.html -update-html: man/zip_source_close.html -update-html: man/zip_source_commit_write.html -update-html: man/zip_source_error.html -update-html: man/zip_source_file.html -update-html: man/zip_source_filep.html -update-html: man/zip_source_free.html -update-html: man/zip_source_function.html -update-html: man/zip_source_is_deleted.html -update-html: man/zip_source_is_seekable.html -update-html: man/zip_source_keep.html -update-html: man/zip_source_layered.html -update-html: man/zip_source_make_command_bitmap.html -update-html: man/zip_source_open.html -update-html: man/zip_source_read.html -update-html: man/zip_source_rollback_write.html -update-html: man/zip_source_seek.html -update-html: man/zip_source_seek_compute_offset.html -update-html: man/zip_source_seek_write.html -update-html: man/zip_source_stat.html -update-html: man/zip_source_tell.html -update-html: man/zip_source_tell_write.html -update-html: man/zip_source_win32a.html -update-html: man/zip_source_win32handle.html -update-html: man/zip_source_win32w.html -update-html: man/zip_source_window_create.html -update-html: man/zip_source_write.html -update-html: man/zip_source_zip.html -update-html: man/zip_source_zip_file.html -update-html: man/zip_stat.html -update-html: man/zip_stat_init.html -update-html: man/zip_unchange.html -update-html: man/zip_unchange_all.html -update-html: man/zip_unchange_archive.html -update-html: man/zipcmp.html -update-html: man/zipmerge.html -update-html: man/ziptool.html -update-html: man/CMakeFiles/update-html.dir/build.make -.PHONY : update-html - -# Rule to build all files generated by this target. -man/CMakeFiles/update-html.dir/build: update-html -.PHONY : man/CMakeFiles/update-html.dir/build - -man/CMakeFiles/update-html.dir/clean: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && $(CMAKE_COMMAND) -P CMakeFiles/update-html.dir/cmake_clean.cmake -.PHONY : man/CMakeFiles/update-html.dir/clean - -man/CMakeFiles/update-html.dir/depend: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3" "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/man" "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/CMakeFiles/update-html.dir/DependInfo.cmake" "--color=$(COLOR)" -.PHONY : man/CMakeFiles/update-html.dir/depend - diff --git a/thirdparty/libzip-1.11.3/build-emcmake/man/CMakeFiles/update-html.dir/cmake_clean.cmake b/thirdparty/libzip-1.11.3/build-emcmake/man/CMakeFiles/update-html.dir/cmake_clean.cmake deleted file mode 100644 index 29f9582..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/man/CMakeFiles/update-html.dir/cmake_clean.cmake +++ /dev/null @@ -1,113 +0,0 @@ -file(REMOVE_RECURSE - "CMakeFiles/update-html" - "ZIP_SOURCE_GET_ARGS.html" - "libzip.html" - "zip_add.html" - "zip_add_dir.html" - "zip_close.html" - "zip_compression_method_supported.html" - "zip_delete.html" - "zip_dir_add.html" - "zip_discard.html" - "zip_encryption_method_supported.html" - "zip_error_clear.html" - "zip_error_code_system.html" - "zip_error_code_zip.html" - "zip_error_fini.html" - "zip_error_get.html" - "zip_error_get_sys_type.html" - "zip_error_init.html" - "zip_error_set.html" - "zip_error_set_from_source.html" - "zip_error_strerror.html" - "zip_error_system_type.html" - "zip_error_to_data.html" - "zip_error_to_str.html" - "zip_errors.html" - "zip_fclose.html" - "zip_fdopen.html" - "zip_file_add.html" - "zip_file_attributes_init.html" - "zip_file_extra_field_delete.html" - "zip_file_extra_field_get.html" - "zip_file_extra_field_set.html" - "zip_file_extra_fields_count.html" - "zip_file_get_comment.html" - "zip_file_get_error.html" - "zip_file_get_external_attributes.html" - "zip_file_rename.html" - "zip_file_set_comment.html" - "zip_file_set_encryption.html" - "zip_file_set_external_attributes.html" - "zip_file_set_mtime.html" - "zip_file_strerror.html" - "zip_fopen.html" - "zip_fopen_encrypted.html" - "zip_fread.html" - "zip_fseek.html" - "zip_ftell.html" - "zip_get_archive_comment.html" - "zip_get_archive_flag.html" - "zip_get_error.html" - "zip_get_file_comment.html" - "zip_get_name.html" - "zip_get_num_entries.html" - "zip_get_num_files.html" - "zip_libzip_version.html" - "zip_name_locate.html" - "zip_open.html" - "zip_register_cancel_callback_with_state.html" - "zip_register_progress_callback.html" - "zip_register_progress_callback_with_state.html" - "zip_rename.html" - "zip_set_archive_comment.html" - "zip_set_archive_flag.html" - "zip_set_default_password.html" - "zip_set_file_comment.html" - "zip_set_file_compression.html" - "zip_source.html" - "zip_source_begin_write.html" - "zip_source_buffer.html" - "zip_source_buffer_fragment.html" - "zip_source_close.html" - "zip_source_commit_write.html" - "zip_source_error.html" - "zip_source_file.html" - "zip_source_filep.html" - "zip_source_free.html" - "zip_source_function.html" - "zip_source_is_deleted.html" - "zip_source_is_seekable.html" - "zip_source_keep.html" - "zip_source_layered.html" - "zip_source_make_command_bitmap.html" - "zip_source_open.html" - "zip_source_read.html" - "zip_source_rollback_write.html" - "zip_source_seek.html" - "zip_source_seek_compute_offset.html" - "zip_source_seek_write.html" - "zip_source_stat.html" - "zip_source_tell.html" - "zip_source_tell_write.html" - "zip_source_win32a.html" - "zip_source_win32handle.html" - "zip_source_win32w.html" - "zip_source_window_create.html" - "zip_source_write.html" - "zip_source_zip.html" - "zip_source_zip_file.html" - "zip_stat.html" - "zip_stat_init.html" - "zip_unchange.html" - "zip_unchange_all.html" - "zip_unchange_archive.html" - "zipcmp.html" - "zipmerge.html" - "ziptool.html" -) - -# Per-language clean rules from dependency scanning. -foreach(lang ) - include(CMakeFiles/update-html.dir/cmake_clean_${lang}.cmake OPTIONAL) -endforeach() diff --git a/thirdparty/libzip-1.11.3/build-emcmake/man/CMakeFiles/update-html.dir/compiler_depend.make b/thirdparty/libzip-1.11.3/build-emcmake/man/CMakeFiles/update-html.dir/compiler_depend.make deleted file mode 100644 index bc03a28..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/man/CMakeFiles/update-html.dir/compiler_depend.make +++ /dev/null @@ -1,2 +0,0 @@ -# Empty custom commands generated dependencies file for update-html. -# This may be replaced when dependencies are built. diff --git a/thirdparty/libzip-1.11.3/build-emcmake/man/CMakeFiles/update-html.dir/compiler_depend.ts b/thirdparty/libzip-1.11.3/build-emcmake/man/CMakeFiles/update-html.dir/compiler_depend.ts deleted file mode 100644 index 4d94b90..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/man/CMakeFiles/update-html.dir/compiler_depend.ts +++ /dev/null @@ -1,2 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Timestamp file for custom commands dependencies management for update-html. diff --git a/thirdparty/libzip-1.11.3/build-emcmake/man/CMakeFiles/update-html.dir/progress.make b/thirdparty/libzip-1.11.3/build-emcmake/man/CMakeFiles/update-html.dir/progress.make deleted file mode 100644 index 11c26aa..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/man/CMakeFiles/update-html.dir/progress.make +++ /dev/null @@ -1,106 +0,0 @@ -CMAKE_PROGRESS_1 = -CMAKE_PROGRESS_2 = -CMAKE_PROGRESS_3 = 25 -CMAKE_PROGRESS_4 = -CMAKE_PROGRESS_5 = -CMAKE_PROGRESS_6 = -CMAKE_PROGRESS_7 = -CMAKE_PROGRESS_8 = 26 -CMAKE_PROGRESS_9 = -CMAKE_PROGRESS_10 = -CMAKE_PROGRESS_11 = -CMAKE_PROGRESS_12 = 27 -CMAKE_PROGRESS_13 = -CMAKE_PROGRESS_14 = -CMAKE_PROGRESS_15 = -CMAKE_PROGRESS_16 = -CMAKE_PROGRESS_17 = 28 -CMAKE_PROGRESS_18 = -CMAKE_PROGRESS_19 = -CMAKE_PROGRESS_20 = -CMAKE_PROGRESS_21 = 29 -CMAKE_PROGRESS_22 = -CMAKE_PROGRESS_23 = -CMAKE_PROGRESS_24 = -CMAKE_PROGRESS_25 = -CMAKE_PROGRESS_26 = 30 -CMAKE_PROGRESS_27 = -CMAKE_PROGRESS_28 = -CMAKE_PROGRESS_29 = -CMAKE_PROGRESS_30 = -CMAKE_PROGRESS_31 = 31 -CMAKE_PROGRESS_32 = -CMAKE_PROGRESS_33 = -CMAKE_PROGRESS_34 = -CMAKE_PROGRESS_35 = 32 -CMAKE_PROGRESS_36 = -CMAKE_PROGRESS_37 = -CMAKE_PROGRESS_38 = -CMAKE_PROGRESS_39 = -CMAKE_PROGRESS_40 = 33 -CMAKE_PROGRESS_41 = -CMAKE_PROGRESS_42 = -CMAKE_PROGRESS_43 = -CMAKE_PROGRESS_44 = 34 -CMAKE_PROGRESS_45 = -CMAKE_PROGRESS_46 = -CMAKE_PROGRESS_47 = -CMAKE_PROGRESS_48 = -CMAKE_PROGRESS_49 = 35 -CMAKE_PROGRESS_50 = -CMAKE_PROGRESS_51 = -CMAKE_PROGRESS_52 = -CMAKE_PROGRESS_53 = 36 -CMAKE_PROGRESS_54 = -CMAKE_PROGRESS_55 = -CMAKE_PROGRESS_56 = -CMAKE_PROGRESS_57 = -CMAKE_PROGRESS_58 = 37 -CMAKE_PROGRESS_59 = -CMAKE_PROGRESS_60 = -CMAKE_PROGRESS_61 = -CMAKE_PROGRESS_62 = 38 -CMAKE_PROGRESS_63 = -CMAKE_PROGRESS_64 = -CMAKE_PROGRESS_65 = -CMAKE_PROGRESS_66 = -CMAKE_PROGRESS_67 = 39 -CMAKE_PROGRESS_68 = -CMAKE_PROGRESS_69 = -CMAKE_PROGRESS_70 = -CMAKE_PROGRESS_71 = 40 -CMAKE_PROGRESS_72 = -CMAKE_PROGRESS_73 = -CMAKE_PROGRESS_74 = -CMAKE_PROGRESS_75 = -CMAKE_PROGRESS_76 = 41 -CMAKE_PROGRESS_77 = -CMAKE_PROGRESS_78 = -CMAKE_PROGRESS_79 = -CMAKE_PROGRESS_80 = -CMAKE_PROGRESS_81 = 42 -CMAKE_PROGRESS_82 = -CMAKE_PROGRESS_83 = -CMAKE_PROGRESS_84 = -CMAKE_PROGRESS_85 = 43 -CMAKE_PROGRESS_86 = -CMAKE_PROGRESS_87 = -CMAKE_PROGRESS_88 = -CMAKE_PROGRESS_89 = -CMAKE_PROGRESS_90 = 44 -CMAKE_PROGRESS_91 = -CMAKE_PROGRESS_92 = -CMAKE_PROGRESS_93 = -CMAKE_PROGRESS_94 = 45 -CMAKE_PROGRESS_95 = -CMAKE_PROGRESS_96 = -CMAKE_PROGRESS_97 = -CMAKE_PROGRESS_98 = -CMAKE_PROGRESS_99 = 46 -CMAKE_PROGRESS_100 = -CMAKE_PROGRESS_101 = -CMAKE_PROGRESS_102 = -CMAKE_PROGRESS_103 = 47 -CMAKE_PROGRESS_104 = -CMAKE_PROGRESS_105 = - diff --git a/thirdparty/libzip-1.11.3/build-emcmake/man/CMakeFiles/update-man.dir/DependInfo.cmake b/thirdparty/libzip-1.11.3/build-emcmake/man/CMakeFiles/update-man.dir/DependInfo.cmake deleted file mode 100644 index 29b95a5..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/man/CMakeFiles/update-man.dir/DependInfo.cmake +++ /dev/null @@ -1,22 +0,0 @@ - -# Consider dependencies only in project. -set(CMAKE_DEPENDS_IN_PROJECT_ONLY OFF) - -# The set of languages for which implicit dependencies are needed: -set(CMAKE_DEPENDS_LANGUAGES - ) - -# The set of dependency files which are needed: -set(CMAKE_DEPENDS_DEPENDENCY_FILES - ) - -# Targets to which this target links which contain Fortran sources. -set(CMAKE_Fortran_TARGET_LINKED_INFO_FILES - ) - -# Targets to which this target links which contain Fortran sources. -set(CMAKE_Fortran_TARGET_FORWARD_LINKED_INFO_FILES - ) - -# Fortran module output directory. -set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/thirdparty/libzip-1.11.3/build-emcmake/man/CMakeFiles/update-man.dir/build.make b/thirdparty/libzip-1.11.3/build-emcmake/man/CMakeFiles/update-man.dir/build.make deleted file mode 100644 index dc8c16e..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/man/CMakeFiles/update-man.dir/build.make +++ /dev/null @@ -1,820 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.28 - -# Delete rule output on recipe failure. -.DELETE_ON_ERROR: - -#============================================================================= -# Special targets provided by cmake. - -# Disable implicit rules so canonical targets will work. -.SUFFIXES: - -# Disable VCS-based implicit rules. -% : %,v - -# Disable VCS-based implicit rules. -% : RCS/% - -# Disable VCS-based implicit rules. -% : RCS/%,v - -# Disable VCS-based implicit rules. -% : SCCS/s.% - -# Disable VCS-based implicit rules. -% : s.% - -.SUFFIXES: .hpux_make_needs_suffix_list - -# Command-line flag to silence nested $(MAKE). -$(VERBOSE)MAKESILENT = -s - -#Suppress display of executed commands. -$(VERBOSE).SILENT: - -# A target that is always out of date. -cmake_force: -.PHONY : cmake_force - -#============================================================================= -# Set environment variables for the build. - -# The shell in which to execute make rules. -SHELL = /bin/sh - -# The CMake executable. -CMAKE_COMMAND = /usr/bin/cmake - -# The command to remove a file. -RM = /usr/bin/cmake -E rm -f - -# Escaping for special characters. -EQUALS = = - -# The top-level source directory on which CMake was run. -CMAKE_SOURCE_DIR = "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3" - -# The top-level build directory on which CMake was run. -CMAKE_BINARY_DIR = "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" - -# Utility rule file for update-man. - -# Include any custom commands dependencies for this target. -include man/CMakeFiles/update-man.dir/compiler_depend.make - -# Include the progress variables for this target. -include man/CMakeFiles/update-man.dir/progress.make - -man/CMakeFiles/update-man: man/ZIP_SOURCE_GET_ARGS.man -man/CMakeFiles/update-man: man/libzip.man -man/CMakeFiles/update-man: man/zip_add.man -man/CMakeFiles/update-man: man/zip_add_dir.man -man/CMakeFiles/update-man: man/zip_close.man -man/CMakeFiles/update-man: man/zip_compression_method_supported.man -man/CMakeFiles/update-man: man/zip_delete.man -man/CMakeFiles/update-man: man/zip_dir_add.man -man/CMakeFiles/update-man: man/zip_discard.man -man/CMakeFiles/update-man: man/zip_encryption_method_supported.man -man/CMakeFiles/update-man: man/zip_error_clear.man -man/CMakeFiles/update-man: man/zip_error_code_system.man -man/CMakeFiles/update-man: man/zip_error_code_zip.man -man/CMakeFiles/update-man: man/zip_error_fini.man -man/CMakeFiles/update-man: man/zip_error_get.man -man/CMakeFiles/update-man: man/zip_error_get_sys_type.man -man/CMakeFiles/update-man: man/zip_error_init.man -man/CMakeFiles/update-man: man/zip_error_set.man -man/CMakeFiles/update-man: man/zip_error_set_from_source.man -man/CMakeFiles/update-man: man/zip_error_strerror.man -man/CMakeFiles/update-man: man/zip_error_system_type.man -man/CMakeFiles/update-man: man/zip_error_to_data.man -man/CMakeFiles/update-man: man/zip_error_to_str.man -man/CMakeFiles/update-man: man/zip_errors.man -man/CMakeFiles/update-man: man/zip_fclose.man -man/CMakeFiles/update-man: man/zip_fdopen.man -man/CMakeFiles/update-man: man/zip_file_add.man -man/CMakeFiles/update-man: man/zip_file_attributes_init.man -man/CMakeFiles/update-man: man/zip_file_extra_field_delete.man -man/CMakeFiles/update-man: man/zip_file_extra_field_get.man -man/CMakeFiles/update-man: man/zip_file_extra_field_set.man -man/CMakeFiles/update-man: man/zip_file_extra_fields_count.man -man/CMakeFiles/update-man: man/zip_file_get_comment.man -man/CMakeFiles/update-man: man/zip_file_get_error.man -man/CMakeFiles/update-man: man/zip_file_get_external_attributes.man -man/CMakeFiles/update-man: man/zip_file_rename.man -man/CMakeFiles/update-man: man/zip_file_set_comment.man -man/CMakeFiles/update-man: man/zip_file_set_encryption.man -man/CMakeFiles/update-man: man/zip_file_set_external_attributes.man -man/CMakeFiles/update-man: man/zip_file_set_mtime.man -man/CMakeFiles/update-man: man/zip_file_strerror.man -man/CMakeFiles/update-man: man/zip_fopen.man -man/CMakeFiles/update-man: man/zip_fopen_encrypted.man -man/CMakeFiles/update-man: man/zip_fread.man -man/CMakeFiles/update-man: man/zip_fseek.man -man/CMakeFiles/update-man: man/zip_ftell.man -man/CMakeFiles/update-man: man/zip_get_archive_comment.man -man/CMakeFiles/update-man: man/zip_get_archive_flag.man -man/CMakeFiles/update-man: man/zip_get_error.man -man/CMakeFiles/update-man: man/zip_get_file_comment.man -man/CMakeFiles/update-man: man/zip_get_name.man -man/CMakeFiles/update-man: man/zip_get_num_entries.man -man/CMakeFiles/update-man: man/zip_get_num_files.man -man/CMakeFiles/update-man: man/zip_libzip_version.man -man/CMakeFiles/update-man: man/zip_name_locate.man -man/CMakeFiles/update-man: man/zip_open.man -man/CMakeFiles/update-man: man/zip_register_cancel_callback_with_state.man -man/CMakeFiles/update-man: man/zip_register_progress_callback.man -man/CMakeFiles/update-man: man/zip_register_progress_callback_with_state.man -man/CMakeFiles/update-man: man/zip_rename.man -man/CMakeFiles/update-man: man/zip_set_archive_comment.man -man/CMakeFiles/update-man: man/zip_set_archive_flag.man -man/CMakeFiles/update-man: man/zip_set_default_password.man -man/CMakeFiles/update-man: man/zip_set_file_comment.man -man/CMakeFiles/update-man: man/zip_set_file_compression.man -man/CMakeFiles/update-man: man/zip_source.man -man/CMakeFiles/update-man: man/zip_source_begin_write.man -man/CMakeFiles/update-man: man/zip_source_buffer.man -man/CMakeFiles/update-man: man/zip_source_buffer_fragment.man -man/CMakeFiles/update-man: man/zip_source_close.man -man/CMakeFiles/update-man: man/zip_source_commit_write.man -man/CMakeFiles/update-man: man/zip_source_error.man -man/CMakeFiles/update-man: man/zip_source_file.man -man/CMakeFiles/update-man: man/zip_source_filep.man -man/CMakeFiles/update-man: man/zip_source_free.man -man/CMakeFiles/update-man: man/zip_source_function.man -man/CMakeFiles/update-man: man/zip_source_is_deleted.man -man/CMakeFiles/update-man: man/zip_source_is_seekable.man -man/CMakeFiles/update-man: man/zip_source_layered.man -man/CMakeFiles/update-man: man/zip_source_keep.man -man/CMakeFiles/update-man: man/zip_source_make_command_bitmap.man -man/CMakeFiles/update-man: man/zip_source_open.man -man/CMakeFiles/update-man: man/zip_source_read.man -man/CMakeFiles/update-man: man/zip_source_rollback_write.man -man/CMakeFiles/update-man: man/zip_source_seek.man -man/CMakeFiles/update-man: man/zip_source_seek_compute_offset.man -man/CMakeFiles/update-man: man/zip_source_seek_write.man -man/CMakeFiles/update-man: man/zip_source_stat.man -man/CMakeFiles/update-man: man/zip_source_tell.man -man/CMakeFiles/update-man: man/zip_source_tell_write.man -man/CMakeFiles/update-man: man/zip_source_win32a.man -man/CMakeFiles/update-man: man/zip_source_win32handle.man -man/CMakeFiles/update-man: man/zip_source_win32w.man -man/CMakeFiles/update-man: man/zip_source_window_create.man -man/CMakeFiles/update-man: man/zip_source_write.man -man/CMakeFiles/update-man: man/zip_source_zip.man -man/CMakeFiles/update-man: man/zip_source_zip_file.man -man/CMakeFiles/update-man: man/zip_stat.man -man/CMakeFiles/update-man: man/zip_stat_init.man -man/CMakeFiles/update-man: man/zip_unchange.man -man/CMakeFiles/update-man: man/zip_unchange_all.man -man/CMakeFiles/update-man: man/zip_unchange_archive.man -man/CMakeFiles/update-man: man/zipcmp.man -man/CMakeFiles/update-man: man/zipmerge.man -man/CMakeFiles/update-man: man/ziptool.man - -man/ZIP_SOURCE_GET_ARGS.man: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/ZIP_SOURCE_GET_ARGS.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_1) "Generating ZIP_SOURCE_GET_ARGS.man" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/ZIP_SOURCE_GET_ARGS.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/ZIP_SOURCE_GET_ARGS.man -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-man.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/ZIP_SOURCE_GET_ARGS.man /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/ZIP_SOURCE_GET_ARGS.man - -man/libzip.man: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/libzip.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_2) "Generating libzip.man" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/libzip.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/libzip.man -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-man.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/libzip.man /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/libzip.man - -man/zip_add.man: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_add.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_3) "Generating zip_add.man" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_add.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_add.man -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-man.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_add.man /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_add.man - -man/zip_add_dir.man: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_add_dir.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_4) "Generating zip_add_dir.man" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_add_dir.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_add_dir.man -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-man.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_add_dir.man /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_add_dir.man - -man/zip_close.man: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_close.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_5) "Generating zip_close.man" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_close.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_close.man -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-man.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_close.man /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_close.man - -man/zip_compression_method_supported.man: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_compression_method_supported.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_6) "Generating zip_compression_method_supported.man" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_compression_method_supported.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_compression_method_supported.man -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-man.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_compression_method_supported.man /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_compression_method_supported.man - -man/zip_delete.man: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_delete.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_7) "Generating zip_delete.man" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_delete.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_delete.man -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-man.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_delete.man /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_delete.man - -man/zip_dir_add.man: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_dir_add.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_8) "Generating zip_dir_add.man" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_dir_add.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_dir_add.man -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-man.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_dir_add.man /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_dir_add.man - -man/zip_discard.man: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_discard.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_9) "Generating zip_discard.man" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_discard.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_discard.man -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-man.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_discard.man /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_discard.man - -man/zip_encryption_method_supported.man: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_encryption_method_supported.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_10) "Generating zip_encryption_method_supported.man" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_encryption_method_supported.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_encryption_method_supported.man -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-man.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_encryption_method_supported.man /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_encryption_method_supported.man - -man/zip_error_clear.man: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_error_clear.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_11) "Generating zip_error_clear.man" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_error_clear.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_error_clear.man -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-man.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_error_clear.man /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_error_clear.man - -man/zip_error_code_system.man: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_error_code_system.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_12) "Generating zip_error_code_system.man" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_error_code_system.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_error_code_system.man -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-man.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_error_code_system.man /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_error_code_system.man - -man/zip_error_code_zip.man: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_error_code_zip.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_13) "Generating zip_error_code_zip.man" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_error_code_zip.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_error_code_zip.man -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-man.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_error_code_zip.man /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_error_code_zip.man - -man/zip_error_fini.man: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_error_fini.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_14) "Generating zip_error_fini.man" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_error_fini.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_error_fini.man -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-man.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_error_fini.man /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_error_fini.man - -man/zip_error_get.man: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_error_get.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_15) "Generating zip_error_get.man" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_error_get.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_error_get.man -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-man.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_error_get.man /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_error_get.man - -man/zip_error_get_sys_type.man: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_error_get_sys_type.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_16) "Generating zip_error_get_sys_type.man" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_error_get_sys_type.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_error_get_sys_type.man -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-man.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_error_get_sys_type.man /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_error_get_sys_type.man - -man/zip_error_init.man: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_error_init.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_17) "Generating zip_error_init.man" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_error_init.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_error_init.man -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-man.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_error_init.man /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_error_init.man - -man/zip_error_set.man: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_error_set.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_18) "Generating zip_error_set.man" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_error_set.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_error_set.man -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-man.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_error_set.man /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_error_set.man - -man/zip_error_set_from_source.man: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_error_set_from_source.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_19) "Generating zip_error_set_from_source.man" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_error_set_from_source.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_error_set_from_source.man -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-man.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_error_set_from_source.man /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_error_set_from_source.man - -man/zip_error_strerror.man: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_error_strerror.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_20) "Generating zip_error_strerror.man" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_error_strerror.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_error_strerror.man -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-man.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_error_strerror.man /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_error_strerror.man - -man/zip_error_system_type.man: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_error_system_type.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_21) "Generating zip_error_system_type.man" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_error_system_type.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_error_system_type.man -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-man.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_error_system_type.man /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_error_system_type.man - -man/zip_error_to_data.man: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_error_to_data.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_22) "Generating zip_error_to_data.man" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_error_to_data.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_error_to_data.man -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-man.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_error_to_data.man /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_error_to_data.man - -man/zip_error_to_str.man: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_error_to_str.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_23) "Generating zip_error_to_str.man" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_error_to_str.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_error_to_str.man -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-man.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_error_to_str.man /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_error_to_str.man - -man/zip_errors.man: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_errors.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_24) "Generating zip_errors.man" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_errors.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_errors.man -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-man.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_errors.man /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_errors.man - -man/zip_fclose.man: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_fclose.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_25) "Generating zip_fclose.man" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_fclose.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_fclose.man -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-man.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_fclose.man /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_fclose.man - -man/zip_fdopen.man: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_fdopen.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_26) "Generating zip_fdopen.man" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_fdopen.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_fdopen.man -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-man.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_fdopen.man /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_fdopen.man - -man/zip_file_add.man: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_file_add.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_27) "Generating zip_file_add.man" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_file_add.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_file_add.man -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-man.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_file_add.man /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_file_add.man - -man/zip_file_attributes_init.man: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_file_attributes_init.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_28) "Generating zip_file_attributes_init.man" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_file_attributes_init.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_file_attributes_init.man -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-man.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_file_attributes_init.man /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_file_attributes_init.man - -man/zip_file_extra_field_delete.man: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_file_extra_field_delete.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_29) "Generating zip_file_extra_field_delete.man" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_file_extra_field_delete.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_file_extra_field_delete.man -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-man.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_file_extra_field_delete.man /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_file_extra_field_delete.man - -man/zip_file_extra_field_get.man: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_file_extra_field_get.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_30) "Generating zip_file_extra_field_get.man" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_file_extra_field_get.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_file_extra_field_get.man -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-man.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_file_extra_field_get.man /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_file_extra_field_get.man - -man/zip_file_extra_field_set.man: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_file_extra_field_set.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_31) "Generating zip_file_extra_field_set.man" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_file_extra_field_set.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_file_extra_field_set.man -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-man.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_file_extra_field_set.man /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_file_extra_field_set.man - -man/zip_file_extra_fields_count.man: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_file_extra_fields_count.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_32) "Generating zip_file_extra_fields_count.man" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_file_extra_fields_count.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_file_extra_fields_count.man -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-man.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_file_extra_fields_count.man /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_file_extra_fields_count.man - -man/zip_file_get_comment.man: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_file_get_comment.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_33) "Generating zip_file_get_comment.man" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_file_get_comment.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_file_get_comment.man -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-man.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_file_get_comment.man /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_file_get_comment.man - -man/zip_file_get_error.man: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_file_get_error.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_34) "Generating zip_file_get_error.man" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_file_get_error.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_file_get_error.man -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-man.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_file_get_error.man /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_file_get_error.man - -man/zip_file_get_external_attributes.man: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_file_get_external_attributes.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_35) "Generating zip_file_get_external_attributes.man" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_file_get_external_attributes.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_file_get_external_attributes.man -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-man.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_file_get_external_attributes.man /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_file_get_external_attributes.man - -man/zip_file_rename.man: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_file_rename.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_36) "Generating zip_file_rename.man" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_file_rename.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_file_rename.man -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-man.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_file_rename.man /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_file_rename.man - -man/zip_file_set_comment.man: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_file_set_comment.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_37) "Generating zip_file_set_comment.man" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_file_set_comment.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_file_set_comment.man -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-man.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_file_set_comment.man /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_file_set_comment.man - -man/zip_file_set_encryption.man: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_file_set_encryption.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_38) "Generating zip_file_set_encryption.man" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_file_set_encryption.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_file_set_encryption.man -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-man.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_file_set_encryption.man /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_file_set_encryption.man - -man/zip_file_set_external_attributes.man: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_file_set_external_attributes.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_39) "Generating zip_file_set_external_attributes.man" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_file_set_external_attributes.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_file_set_external_attributes.man -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-man.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_file_set_external_attributes.man /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_file_set_external_attributes.man - -man/zip_file_set_mtime.man: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_file_set_mtime.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_40) "Generating zip_file_set_mtime.man" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_file_set_mtime.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_file_set_mtime.man -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-man.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_file_set_mtime.man /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_file_set_mtime.man - -man/zip_file_strerror.man: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_file_strerror.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_41) "Generating zip_file_strerror.man" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_file_strerror.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_file_strerror.man -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-man.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_file_strerror.man /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_file_strerror.man - -man/zip_fopen.man: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_fopen.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_42) "Generating zip_fopen.man" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_fopen.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_fopen.man -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-man.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_fopen.man /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_fopen.man - -man/zip_fopen_encrypted.man: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_fopen_encrypted.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_43) "Generating zip_fopen_encrypted.man" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_fopen_encrypted.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_fopen_encrypted.man -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-man.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_fopen_encrypted.man /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_fopen_encrypted.man - -man/zip_fread.man: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_fread.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_44) "Generating zip_fread.man" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_fread.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_fread.man -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-man.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_fread.man /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_fread.man - -man/zip_fseek.man: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_fseek.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_45) "Generating zip_fseek.man" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_fseek.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_fseek.man -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-man.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_fseek.man /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_fseek.man - -man/zip_ftell.man: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_ftell.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_46) "Generating zip_ftell.man" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_ftell.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_ftell.man -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-man.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_ftell.man /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_ftell.man - -man/zip_get_archive_comment.man: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_get_archive_comment.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_47) "Generating zip_get_archive_comment.man" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_get_archive_comment.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_get_archive_comment.man -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-man.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_get_archive_comment.man /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_get_archive_comment.man - -man/zip_get_archive_flag.man: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_get_archive_flag.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_48) "Generating zip_get_archive_flag.man" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_get_archive_flag.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_get_archive_flag.man -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-man.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_get_archive_flag.man /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_get_archive_flag.man - -man/zip_get_error.man: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_get_error.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_49) "Generating zip_get_error.man" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_get_error.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_get_error.man -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-man.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_get_error.man /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_get_error.man - -man/zip_get_file_comment.man: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_get_file_comment.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_50) "Generating zip_get_file_comment.man" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_get_file_comment.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_get_file_comment.man -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-man.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_get_file_comment.man /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_get_file_comment.man - -man/zip_get_name.man: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_get_name.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_51) "Generating zip_get_name.man" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_get_name.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_get_name.man -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-man.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_get_name.man /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_get_name.man - -man/zip_get_num_entries.man: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_get_num_entries.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_52) "Generating zip_get_num_entries.man" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_get_num_entries.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_get_num_entries.man -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-man.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_get_num_entries.man /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_get_num_entries.man - -man/zip_get_num_files.man: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_get_num_files.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_53) "Generating zip_get_num_files.man" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_get_num_files.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_get_num_files.man -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-man.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_get_num_files.man /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_get_num_files.man - -man/zip_libzip_version.man: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_libzip_version.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_54) "Generating zip_libzip_version.man" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_libzip_version.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_libzip_version.man -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-man.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_libzip_version.man /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_libzip_version.man - -man/zip_name_locate.man: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_name_locate.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_55) "Generating zip_name_locate.man" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_name_locate.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_name_locate.man -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-man.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_name_locate.man /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_name_locate.man - -man/zip_open.man: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_open.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_56) "Generating zip_open.man" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_open.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_open.man -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-man.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_open.man /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_open.man - -man/zip_register_cancel_callback_with_state.man: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_register_cancel_callback_with_state.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_57) "Generating zip_register_cancel_callback_with_state.man" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_register_cancel_callback_with_state.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_register_cancel_callback_with_state.man -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-man.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_register_cancel_callback_with_state.man /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_register_cancel_callback_with_state.man - -man/zip_register_progress_callback.man: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_register_progress_callback.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_58) "Generating zip_register_progress_callback.man" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_register_progress_callback.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_register_progress_callback.man -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-man.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_register_progress_callback.man /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_register_progress_callback.man - -man/zip_register_progress_callback_with_state.man: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_register_progress_callback_with_state.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_59) "Generating zip_register_progress_callback_with_state.man" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_register_progress_callback_with_state.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_register_progress_callback_with_state.man -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-man.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_register_progress_callback_with_state.man /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_register_progress_callback_with_state.man - -man/zip_rename.man: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_rename.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_60) "Generating zip_rename.man" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_rename.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_rename.man -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-man.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_rename.man /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_rename.man - -man/zip_set_archive_comment.man: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_set_archive_comment.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_61) "Generating zip_set_archive_comment.man" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_set_archive_comment.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_set_archive_comment.man -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-man.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_set_archive_comment.man /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_set_archive_comment.man - -man/zip_set_archive_flag.man: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_set_archive_flag.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_62) "Generating zip_set_archive_flag.man" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_set_archive_flag.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_set_archive_flag.man -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-man.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_set_archive_flag.man /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_set_archive_flag.man - -man/zip_set_default_password.man: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_set_default_password.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_63) "Generating zip_set_default_password.man" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_set_default_password.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_set_default_password.man -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-man.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_set_default_password.man /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_set_default_password.man - -man/zip_set_file_comment.man: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_set_file_comment.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_64) "Generating zip_set_file_comment.man" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_set_file_comment.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_set_file_comment.man -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-man.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_set_file_comment.man /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_set_file_comment.man - -man/zip_set_file_compression.man: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_set_file_compression.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_65) "Generating zip_set_file_compression.man" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_set_file_compression.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_set_file_compression.man -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-man.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_set_file_compression.man /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_set_file_compression.man - -man/zip_source.man: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_66) "Generating zip_source.man" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source.man -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-man.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source.man /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source.man - -man/zip_source_begin_write.man: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_begin_write.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_67) "Generating zip_source_begin_write.man" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_begin_write.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_begin_write.man -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-man.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_begin_write.man /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_begin_write.man - -man/zip_source_buffer.man: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_buffer.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_68) "Generating zip_source_buffer.man" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_buffer.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_buffer.man -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-man.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_buffer.man /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_buffer.man - -man/zip_source_buffer_fragment.man: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_buffer_fragment.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_69) "Generating zip_source_buffer_fragment.man" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_buffer_fragment.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_buffer_fragment.man -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-man.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_buffer_fragment.man /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_buffer_fragment.man - -man/zip_source_close.man: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_close.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_70) "Generating zip_source_close.man" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_close.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_close.man -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-man.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_close.man /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_close.man - -man/zip_source_commit_write.man: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_commit_write.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_71) "Generating zip_source_commit_write.man" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_commit_write.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_commit_write.man -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-man.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_commit_write.man /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_commit_write.man - -man/zip_source_error.man: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_error.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_72) "Generating zip_source_error.man" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_error.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_error.man -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-man.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_error.man /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_error.man - -man/zip_source_file.man: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_file.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_73) "Generating zip_source_file.man" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_file.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_file.man -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-man.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_file.man /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_file.man - -man/zip_source_filep.man: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_filep.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_74) "Generating zip_source_filep.man" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_filep.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_filep.man -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-man.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_filep.man /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_filep.man - -man/zip_source_free.man: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_free.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_75) "Generating zip_source_free.man" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_free.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_free.man -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-man.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_free.man /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_free.man - -man/zip_source_function.man: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_function.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_76) "Generating zip_source_function.man" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_function.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_function.man -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-man.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_function.man /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_function.man - -man/zip_source_is_deleted.man: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_is_deleted.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_77) "Generating zip_source_is_deleted.man" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_is_deleted.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_is_deleted.man -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-man.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_is_deleted.man /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_is_deleted.man - -man/zip_source_is_seekable.man: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_is_seekable.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_78) "Generating zip_source_is_seekable.man" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_is_seekable.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_is_seekable.man -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-man.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_is_seekable.man /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_is_seekable.man - -man/zip_source_keep.man: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_keep.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_79) "Generating zip_source_keep.man" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_keep.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_keep.man -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-man.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_keep.man /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_keep.man - -man/zip_source_layered.man: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_layered.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_80) "Generating zip_source_layered.man" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_layered.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_layered.man -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-man.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_layered.man /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_layered.man - -man/zip_source_make_command_bitmap.man: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_make_command_bitmap.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_81) "Generating zip_source_make_command_bitmap.man" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_make_command_bitmap.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_make_command_bitmap.man -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-man.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_make_command_bitmap.man /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_make_command_bitmap.man - -man/zip_source_open.man: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_open.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_82) "Generating zip_source_open.man" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_open.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_open.man -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-man.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_open.man /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_open.man - -man/zip_source_read.man: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_read.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_83) "Generating zip_source_read.man" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_read.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_read.man -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-man.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_read.man /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_read.man - -man/zip_source_rollback_write.man: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_rollback_write.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_84) "Generating zip_source_rollback_write.man" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_rollback_write.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_rollback_write.man -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-man.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_rollback_write.man /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_rollback_write.man - -man/zip_source_seek.man: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_seek.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_85) "Generating zip_source_seek.man" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_seek.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_seek.man -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-man.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_seek.man /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_seek.man - -man/zip_source_seek_compute_offset.man: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_seek_compute_offset.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_86) "Generating zip_source_seek_compute_offset.man" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_seek_compute_offset.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_seek_compute_offset.man -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-man.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_seek_compute_offset.man /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_seek_compute_offset.man - -man/zip_source_seek_write.man: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_seek_write.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_87) "Generating zip_source_seek_write.man" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_seek_write.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_seek_write.man -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-man.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_seek_write.man /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_seek_write.man - -man/zip_source_stat.man: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_stat.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_88) "Generating zip_source_stat.man" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_stat.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_stat.man -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-man.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_stat.man /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_stat.man - -man/zip_source_tell.man: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_tell.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_89) "Generating zip_source_tell.man" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_tell.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_tell.man -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-man.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_tell.man /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_tell.man - -man/zip_source_tell_write.man: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_tell_write.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_90) "Generating zip_source_tell_write.man" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_tell_write.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_tell_write.man -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-man.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_tell_write.man /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_tell_write.man - -man/zip_source_win32a.man: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_win32a.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_91) "Generating zip_source_win32a.man" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_win32a.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_win32a.man -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-man.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_win32a.man /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_win32a.man - -man/zip_source_win32handle.man: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_win32handle.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_92) "Generating zip_source_win32handle.man" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_win32handle.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_win32handle.man -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-man.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_win32handle.man /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_win32handle.man - -man/zip_source_win32w.man: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_win32w.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_93) "Generating zip_source_win32w.man" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_win32w.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_win32w.man -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-man.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_win32w.man /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_win32w.man - -man/zip_source_window_create.man: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_window_create.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_94) "Generating zip_source_window_create.man" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_window_create.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_window_create.man -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-man.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_window_create.man /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_window_create.man - -man/zip_source_write.man: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_write.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_95) "Generating zip_source_write.man" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_write.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_write.man -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-man.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_write.man /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_write.man - -man/zip_source_zip.man: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_zip.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_96) "Generating zip_source_zip.man" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_zip.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_zip.man -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-man.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_zip.man /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_zip.man - -man/zip_source_zip_file.man: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_zip_file.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_97) "Generating zip_source_zip_file.man" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_zip_file.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_zip_file.man -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-man.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_zip_file.man /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_source_zip_file.man - -man/zip_stat.man: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_stat.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_98) "Generating zip_stat.man" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_stat.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_stat.man -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-man.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_stat.man /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_stat.man - -man/zip_stat_init.man: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_stat_init.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_99) "Generating zip_stat_init.man" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_stat_init.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_stat_init.man -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-man.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_stat_init.man /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_stat_init.man - -man/zip_unchange.man: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_unchange.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_100) "Generating zip_unchange.man" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_unchange.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_unchange.man -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-man.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_unchange.man /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_unchange.man - -man/zip_unchange_all.man: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_unchange_all.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_101) "Generating zip_unchange_all.man" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_unchange_all.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_unchange_all.man -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-man.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_unchange_all.man /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_unchange_all.man - -man/zip_unchange_archive.man: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_unchange_archive.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_102) "Generating zip_unchange_archive.man" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_unchange_archive.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_unchange_archive.man -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-man.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_unchange_archive.man /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_unchange_archive.man - -man/zipcmp.man: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zipcmp.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_103) "Generating zipcmp.man" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zipcmp.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zipcmp.man -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-man.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zipcmp.man /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zipcmp.man - -man/zipmerge.man: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zipmerge.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_104) "Generating zipmerge.man" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zipmerge.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zipmerge.man -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-man.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zipmerge.man /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zipmerge.man - -man/ziptool.man: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/ziptool.mdoc - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --blue --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_105) "Generating ziptool.man" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -DIN=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/ziptool.mdoc -DOUT=/home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/ziptool.man -P /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/update-man.cmake - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && /usr/bin/cmake -E copy_if_different /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/ziptool.man /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/ziptool.man - -update-man: man/CMakeFiles/update-man -update-man: man/ZIP_SOURCE_GET_ARGS.man -update-man: man/libzip.man -update-man: man/zip_add.man -update-man: man/zip_add_dir.man -update-man: man/zip_close.man -update-man: man/zip_compression_method_supported.man -update-man: man/zip_delete.man -update-man: man/zip_dir_add.man -update-man: man/zip_discard.man -update-man: man/zip_encryption_method_supported.man -update-man: man/zip_error_clear.man -update-man: man/zip_error_code_system.man -update-man: man/zip_error_code_zip.man -update-man: man/zip_error_fini.man -update-man: man/zip_error_get.man -update-man: man/zip_error_get_sys_type.man -update-man: man/zip_error_init.man -update-man: man/zip_error_set.man -update-man: man/zip_error_set_from_source.man -update-man: man/zip_error_strerror.man -update-man: man/zip_error_system_type.man -update-man: man/zip_error_to_data.man -update-man: man/zip_error_to_str.man -update-man: man/zip_errors.man -update-man: man/zip_fclose.man -update-man: man/zip_fdopen.man -update-man: man/zip_file_add.man -update-man: man/zip_file_attributes_init.man -update-man: man/zip_file_extra_field_delete.man -update-man: man/zip_file_extra_field_get.man -update-man: man/zip_file_extra_field_set.man -update-man: man/zip_file_extra_fields_count.man -update-man: man/zip_file_get_comment.man -update-man: man/zip_file_get_error.man -update-man: man/zip_file_get_external_attributes.man -update-man: man/zip_file_rename.man -update-man: man/zip_file_set_comment.man -update-man: man/zip_file_set_encryption.man -update-man: man/zip_file_set_external_attributes.man -update-man: man/zip_file_set_mtime.man -update-man: man/zip_file_strerror.man -update-man: man/zip_fopen.man -update-man: man/zip_fopen_encrypted.man -update-man: man/zip_fread.man -update-man: man/zip_fseek.man -update-man: man/zip_ftell.man -update-man: man/zip_get_archive_comment.man -update-man: man/zip_get_archive_flag.man -update-man: man/zip_get_error.man -update-man: man/zip_get_file_comment.man -update-man: man/zip_get_name.man -update-man: man/zip_get_num_entries.man -update-man: man/zip_get_num_files.man -update-man: man/zip_libzip_version.man -update-man: man/zip_name_locate.man -update-man: man/zip_open.man -update-man: man/zip_register_cancel_callback_with_state.man -update-man: man/zip_register_progress_callback.man -update-man: man/zip_register_progress_callback_with_state.man -update-man: man/zip_rename.man -update-man: man/zip_set_archive_comment.man -update-man: man/zip_set_archive_flag.man -update-man: man/zip_set_default_password.man -update-man: man/zip_set_file_comment.man -update-man: man/zip_set_file_compression.man -update-man: man/zip_source.man -update-man: man/zip_source_begin_write.man -update-man: man/zip_source_buffer.man -update-man: man/zip_source_buffer_fragment.man -update-man: man/zip_source_close.man -update-man: man/zip_source_commit_write.man -update-man: man/zip_source_error.man -update-man: man/zip_source_file.man -update-man: man/zip_source_filep.man -update-man: man/zip_source_free.man -update-man: man/zip_source_function.man -update-man: man/zip_source_is_deleted.man -update-man: man/zip_source_is_seekable.man -update-man: man/zip_source_keep.man -update-man: man/zip_source_layered.man -update-man: man/zip_source_make_command_bitmap.man -update-man: man/zip_source_open.man -update-man: man/zip_source_read.man -update-man: man/zip_source_rollback_write.man -update-man: man/zip_source_seek.man -update-man: man/zip_source_seek_compute_offset.man -update-man: man/zip_source_seek_write.man -update-man: man/zip_source_stat.man -update-man: man/zip_source_tell.man -update-man: man/zip_source_tell_write.man -update-man: man/zip_source_win32a.man -update-man: man/zip_source_win32handle.man -update-man: man/zip_source_win32w.man -update-man: man/zip_source_window_create.man -update-man: man/zip_source_write.man -update-man: man/zip_source_zip.man -update-man: man/zip_source_zip_file.man -update-man: man/zip_stat.man -update-man: man/zip_stat_init.man -update-man: man/zip_unchange.man -update-man: man/zip_unchange_all.man -update-man: man/zip_unchange_archive.man -update-man: man/zipcmp.man -update-man: man/zipmerge.man -update-man: man/ziptool.man -update-man: man/CMakeFiles/update-man.dir/build.make -.PHONY : update-man - -# Rule to build all files generated by this target. -man/CMakeFiles/update-man.dir/build: update-man -.PHONY : man/CMakeFiles/update-man.dir/build - -man/CMakeFiles/update-man.dir/clean: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && $(CMAKE_COMMAND) -P CMakeFiles/update-man.dir/cmake_clean.cmake -.PHONY : man/CMakeFiles/update-man.dir/clean - -man/CMakeFiles/update-man.dir/depend: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3" "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/man" "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/CMakeFiles/update-man.dir/DependInfo.cmake" "--color=$(COLOR)" -.PHONY : man/CMakeFiles/update-man.dir/depend - diff --git a/thirdparty/libzip-1.11.3/build-emcmake/man/CMakeFiles/update-man.dir/cmake_clean.cmake b/thirdparty/libzip-1.11.3/build-emcmake/man/CMakeFiles/update-man.dir/cmake_clean.cmake deleted file mode 100644 index 034488f..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/man/CMakeFiles/update-man.dir/cmake_clean.cmake +++ /dev/null @@ -1,113 +0,0 @@ -file(REMOVE_RECURSE - "CMakeFiles/update-man" - "ZIP_SOURCE_GET_ARGS.man" - "libzip.man" - "zip_add.man" - "zip_add_dir.man" - "zip_close.man" - "zip_compression_method_supported.man" - "zip_delete.man" - "zip_dir_add.man" - "zip_discard.man" - "zip_encryption_method_supported.man" - "zip_error_clear.man" - "zip_error_code_system.man" - "zip_error_code_zip.man" - "zip_error_fini.man" - "zip_error_get.man" - "zip_error_get_sys_type.man" - "zip_error_init.man" - "zip_error_set.man" - "zip_error_set_from_source.man" - "zip_error_strerror.man" - "zip_error_system_type.man" - "zip_error_to_data.man" - "zip_error_to_str.man" - "zip_errors.man" - "zip_fclose.man" - "zip_fdopen.man" - "zip_file_add.man" - "zip_file_attributes_init.man" - "zip_file_extra_field_delete.man" - "zip_file_extra_field_get.man" - "zip_file_extra_field_set.man" - "zip_file_extra_fields_count.man" - "zip_file_get_comment.man" - "zip_file_get_error.man" - "zip_file_get_external_attributes.man" - "zip_file_rename.man" - "zip_file_set_comment.man" - "zip_file_set_encryption.man" - "zip_file_set_external_attributes.man" - "zip_file_set_mtime.man" - "zip_file_strerror.man" - "zip_fopen.man" - "zip_fopen_encrypted.man" - "zip_fread.man" - "zip_fseek.man" - "zip_ftell.man" - "zip_get_archive_comment.man" - "zip_get_archive_flag.man" - "zip_get_error.man" - "zip_get_file_comment.man" - "zip_get_name.man" - "zip_get_num_entries.man" - "zip_get_num_files.man" - "zip_libzip_version.man" - "zip_name_locate.man" - "zip_open.man" - "zip_register_cancel_callback_with_state.man" - "zip_register_progress_callback.man" - "zip_register_progress_callback_with_state.man" - "zip_rename.man" - "zip_set_archive_comment.man" - "zip_set_archive_flag.man" - "zip_set_default_password.man" - "zip_set_file_comment.man" - "zip_set_file_compression.man" - "zip_source.man" - "zip_source_begin_write.man" - "zip_source_buffer.man" - "zip_source_buffer_fragment.man" - "zip_source_close.man" - "zip_source_commit_write.man" - "zip_source_error.man" - "zip_source_file.man" - "zip_source_filep.man" - "zip_source_free.man" - "zip_source_function.man" - "zip_source_is_deleted.man" - "zip_source_is_seekable.man" - "zip_source_keep.man" - "zip_source_layered.man" - "zip_source_make_command_bitmap.man" - "zip_source_open.man" - "zip_source_read.man" - "zip_source_rollback_write.man" - "zip_source_seek.man" - "zip_source_seek_compute_offset.man" - "zip_source_seek_write.man" - "zip_source_stat.man" - "zip_source_tell.man" - "zip_source_tell_write.man" - "zip_source_win32a.man" - "zip_source_win32handle.man" - "zip_source_win32w.man" - "zip_source_window_create.man" - "zip_source_write.man" - "zip_source_zip.man" - "zip_source_zip_file.man" - "zip_stat.man" - "zip_stat_init.man" - "zip_unchange.man" - "zip_unchange_all.man" - "zip_unchange_archive.man" - "zipcmp.man" - "zipmerge.man" - "ziptool.man" -) - -# Per-language clean rules from dependency scanning. -foreach(lang ) - include(CMakeFiles/update-man.dir/cmake_clean_${lang}.cmake OPTIONAL) -endforeach() diff --git a/thirdparty/libzip-1.11.3/build-emcmake/man/CMakeFiles/update-man.dir/compiler_depend.make b/thirdparty/libzip-1.11.3/build-emcmake/man/CMakeFiles/update-man.dir/compiler_depend.make deleted file mode 100644 index 1edaa76..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/man/CMakeFiles/update-man.dir/compiler_depend.make +++ /dev/null @@ -1,2 +0,0 @@ -# Empty custom commands generated dependencies file for update-man. -# This may be replaced when dependencies are built. diff --git a/thirdparty/libzip-1.11.3/build-emcmake/man/CMakeFiles/update-man.dir/compiler_depend.ts b/thirdparty/libzip-1.11.3/build-emcmake/man/CMakeFiles/update-man.dir/compiler_depend.ts deleted file mode 100644 index 92caa70..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/man/CMakeFiles/update-man.dir/compiler_depend.ts +++ /dev/null @@ -1,2 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Timestamp file for custom commands dependencies management for update-man. diff --git a/thirdparty/libzip-1.11.3/build-emcmake/man/CMakeFiles/update-man.dir/progress.make b/thirdparty/libzip-1.11.3/build-emcmake/man/CMakeFiles/update-man.dir/progress.make deleted file mode 100644 index 2dbc2ad..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/man/CMakeFiles/update-man.dir/progress.make +++ /dev/null @@ -1,106 +0,0 @@ -CMAKE_PROGRESS_1 = -CMAKE_PROGRESS_2 = -CMAKE_PROGRESS_3 = 48 -CMAKE_PROGRESS_4 = -CMAKE_PROGRESS_5 = -CMAKE_PROGRESS_6 = -CMAKE_PROGRESS_7 = 49 -CMAKE_PROGRESS_8 = -CMAKE_PROGRESS_9 = -CMAKE_PROGRESS_10 = -CMAKE_PROGRESS_11 = -CMAKE_PROGRESS_12 = 50 -CMAKE_PROGRESS_13 = -CMAKE_PROGRESS_14 = -CMAKE_PROGRESS_15 = -CMAKE_PROGRESS_16 = -CMAKE_PROGRESS_17 = 51 -CMAKE_PROGRESS_18 = -CMAKE_PROGRESS_19 = -CMAKE_PROGRESS_20 = -CMAKE_PROGRESS_21 = 52 -CMAKE_PROGRESS_22 = -CMAKE_PROGRESS_23 = -CMAKE_PROGRESS_24 = -CMAKE_PROGRESS_25 = -CMAKE_PROGRESS_26 = 53 -CMAKE_PROGRESS_27 = -CMAKE_PROGRESS_28 = -CMAKE_PROGRESS_29 = -CMAKE_PROGRESS_30 = 54 -CMAKE_PROGRESS_31 = -CMAKE_PROGRESS_32 = -CMAKE_PROGRESS_33 = -CMAKE_PROGRESS_34 = -CMAKE_PROGRESS_35 = 55 -CMAKE_PROGRESS_36 = -CMAKE_PROGRESS_37 = -CMAKE_PROGRESS_38 = -CMAKE_PROGRESS_39 = 56 -CMAKE_PROGRESS_40 = -CMAKE_PROGRESS_41 = -CMAKE_PROGRESS_42 = -CMAKE_PROGRESS_43 = -CMAKE_PROGRESS_44 = 57 -CMAKE_PROGRESS_45 = -CMAKE_PROGRESS_46 = -CMAKE_PROGRESS_47 = -CMAKE_PROGRESS_48 = 58 -CMAKE_PROGRESS_49 = -CMAKE_PROGRESS_50 = -CMAKE_PROGRESS_51 = -CMAKE_PROGRESS_52 = -CMAKE_PROGRESS_53 = 59 -CMAKE_PROGRESS_54 = -CMAKE_PROGRESS_55 = -CMAKE_PROGRESS_56 = -CMAKE_PROGRESS_57 = 60 -CMAKE_PROGRESS_58 = -CMAKE_PROGRESS_59 = -CMAKE_PROGRESS_60 = -CMAKE_PROGRESS_61 = -CMAKE_PROGRESS_62 = 61 -CMAKE_PROGRESS_63 = -CMAKE_PROGRESS_64 = -CMAKE_PROGRESS_65 = -CMAKE_PROGRESS_66 = -CMAKE_PROGRESS_67 = 62 -CMAKE_PROGRESS_68 = -CMAKE_PROGRESS_69 = -CMAKE_PROGRESS_70 = -CMAKE_PROGRESS_71 = 63 -CMAKE_PROGRESS_72 = -CMAKE_PROGRESS_73 = -CMAKE_PROGRESS_74 = -CMAKE_PROGRESS_75 = -CMAKE_PROGRESS_76 = 64 -CMAKE_PROGRESS_77 = -CMAKE_PROGRESS_78 = -CMAKE_PROGRESS_79 = -CMAKE_PROGRESS_80 = 65 -CMAKE_PROGRESS_81 = -CMAKE_PROGRESS_82 = -CMAKE_PROGRESS_83 = -CMAKE_PROGRESS_84 = -CMAKE_PROGRESS_85 = 66 -CMAKE_PROGRESS_86 = -CMAKE_PROGRESS_87 = -CMAKE_PROGRESS_88 = -CMAKE_PROGRESS_89 = 67 -CMAKE_PROGRESS_90 = -CMAKE_PROGRESS_91 = -CMAKE_PROGRESS_92 = -CMAKE_PROGRESS_93 = -CMAKE_PROGRESS_94 = 68 -CMAKE_PROGRESS_95 = -CMAKE_PROGRESS_96 = -CMAKE_PROGRESS_97 = -CMAKE_PROGRESS_98 = 69 -CMAKE_PROGRESS_99 = -CMAKE_PROGRESS_100 = -CMAKE_PROGRESS_101 = -CMAKE_PROGRESS_102 = -CMAKE_PROGRESS_103 = 70 -CMAKE_PROGRESS_104 = -CMAKE_PROGRESS_105 = - diff --git a/thirdparty/libzip-1.11.3/build-emcmake/man/CMakeFiles/update_zip_errors.dir/DependInfo.cmake b/thirdparty/libzip-1.11.3/build-emcmake/man/CMakeFiles/update_zip_errors.dir/DependInfo.cmake deleted file mode 100644 index 29b95a5..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/man/CMakeFiles/update_zip_errors.dir/DependInfo.cmake +++ /dev/null @@ -1,22 +0,0 @@ - -# Consider dependencies only in project. -set(CMAKE_DEPENDS_IN_PROJECT_ONLY OFF) - -# The set of languages for which implicit dependencies are needed: -set(CMAKE_DEPENDS_LANGUAGES - ) - -# The set of dependency files which are needed: -set(CMAKE_DEPENDS_DEPENDENCY_FILES - ) - -# Targets to which this target links which contain Fortran sources. -set(CMAKE_Fortran_TARGET_LINKED_INFO_FILES - ) - -# Targets to which this target links which contain Fortran sources. -set(CMAKE_Fortran_TARGET_FORWARD_LINKED_INFO_FILES - ) - -# Fortran module output directory. -set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/thirdparty/libzip-1.11.3/build-emcmake/man/CMakeFiles/update_zip_errors.dir/build.make b/thirdparty/libzip-1.11.3/build-emcmake/man/CMakeFiles/update_zip_errors.dir/build.make deleted file mode 100644 index bbf657e..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/man/CMakeFiles/update_zip_errors.dir/build.make +++ /dev/null @@ -1,88 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.28 - -# Delete rule output on recipe failure. -.DELETE_ON_ERROR: - -#============================================================================= -# Special targets provided by cmake. - -# Disable implicit rules so canonical targets will work. -.SUFFIXES: - -# Disable VCS-based implicit rules. -% : %,v - -# Disable VCS-based implicit rules. -% : RCS/% - -# Disable VCS-based implicit rules. -% : RCS/%,v - -# Disable VCS-based implicit rules. -% : SCCS/s.% - -# Disable VCS-based implicit rules. -% : s.% - -.SUFFIXES: .hpux_make_needs_suffix_list - -# Command-line flag to silence nested $(MAKE). -$(VERBOSE)MAKESILENT = -s - -#Suppress display of executed commands. -$(VERBOSE).SILENT: - -# A target that is always out of date. -cmake_force: -.PHONY : cmake_force - -#============================================================================= -# Set environment variables for the build. - -# The shell in which to execute make rules. -SHELL = /bin/sh - -# The CMake executable. -CMAKE_COMMAND = /usr/bin/cmake - -# The command to remove a file. -RM = /usr/bin/cmake -E rm -f - -# Escaping for special characters. -EQUALS = = - -# The top-level source directory on which CMake was run. -CMAKE_SOURCE_DIR = "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3" - -# The top-level build directory on which CMake was run. -CMAKE_BINARY_DIR = "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" - -# Utility rule file for update_zip_errors. - -# Include any custom commands dependencies for this target. -include man/CMakeFiles/update_zip_errors.dir/compiler_depend.make - -# Include the progress variables for this target. -include man/CMakeFiles/update_zip_errors.dir/progress.make - -man/CMakeFiles/update_zip_errors: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip.h -man/CMakeFiles/update_zip_errors: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_errors.mdoc - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && sh /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/make_zip_errors.sh /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip.h /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/man/zip_errors.mdoc - -update_zip_errors: man/CMakeFiles/update_zip_errors -update_zip_errors: man/CMakeFiles/update_zip_errors.dir/build.make -.PHONY : update_zip_errors - -# Rule to build all files generated by this target. -man/CMakeFiles/update_zip_errors.dir/build: update_zip_errors -.PHONY : man/CMakeFiles/update_zip_errors.dir/build - -man/CMakeFiles/update_zip_errors.dir/clean: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" && $(CMAKE_COMMAND) -P CMakeFiles/update_zip_errors.dir/cmake_clean.cmake -.PHONY : man/CMakeFiles/update_zip_errors.dir/clean - -man/CMakeFiles/update_zip_errors.dir/depend: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3" "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/man" "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man" "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/CMakeFiles/update_zip_errors.dir/DependInfo.cmake" "--color=$(COLOR)" -.PHONY : man/CMakeFiles/update_zip_errors.dir/depend - diff --git a/thirdparty/libzip-1.11.3/build-emcmake/man/CMakeFiles/update_zip_errors.dir/cmake_clean.cmake b/thirdparty/libzip-1.11.3/build-emcmake/man/CMakeFiles/update_zip_errors.dir/cmake_clean.cmake deleted file mode 100644 index 54bb66a..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/man/CMakeFiles/update_zip_errors.dir/cmake_clean.cmake +++ /dev/null @@ -1,8 +0,0 @@ -file(REMOVE_RECURSE - "CMakeFiles/update_zip_errors" -) - -# Per-language clean rules from dependency scanning. -foreach(lang ) - include(CMakeFiles/update_zip_errors.dir/cmake_clean_${lang}.cmake OPTIONAL) -endforeach() diff --git a/thirdparty/libzip-1.11.3/build-emcmake/man/CMakeFiles/update_zip_errors.dir/compiler_depend.make b/thirdparty/libzip-1.11.3/build-emcmake/man/CMakeFiles/update_zip_errors.dir/compiler_depend.make deleted file mode 100644 index cff0226..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/man/CMakeFiles/update_zip_errors.dir/compiler_depend.make +++ /dev/null @@ -1,2 +0,0 @@ -# Empty custom commands generated dependencies file for update_zip_errors. -# This may be replaced when dependencies are built. diff --git a/thirdparty/libzip-1.11.3/build-emcmake/man/CMakeFiles/update_zip_errors.dir/compiler_depend.ts b/thirdparty/libzip-1.11.3/build-emcmake/man/CMakeFiles/update_zip_errors.dir/compiler_depend.ts deleted file mode 100644 index fed624b..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/man/CMakeFiles/update_zip_errors.dir/compiler_depend.ts +++ /dev/null @@ -1,2 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Timestamp file for custom commands dependencies management for update_zip_errors. diff --git a/thirdparty/libzip-1.11.3/build-emcmake/man/CMakeFiles/update_zip_errors.dir/progress.make b/thirdparty/libzip-1.11.3/build-emcmake/man/CMakeFiles/update_zip_errors.dir/progress.make deleted file mode 100644 index 8b13789..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/man/CMakeFiles/update_zip_errors.dir/progress.make +++ /dev/null @@ -1 +0,0 @@ - diff --git a/thirdparty/libzip-1.11.3/build-emcmake/man/CTestTestfile.cmake b/thirdparty/libzip-1.11.3/build-emcmake/man/CTestTestfile.cmake deleted file mode 100644 index b7c0775..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/man/CTestTestfile.cmake +++ /dev/null @@ -1,6 +0,0 @@ -# CMake generated Testfile for -# Source directory: /home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/man -# Build directory: /home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man -# -# This file includes the relevant testing commands required for -# testing this directory and lists subdirectories to be tested as well. diff --git a/thirdparty/libzip-1.11.3/build-emcmake/man/Makefile b/thirdparty/libzip-1.11.3/build-emcmake/man/Makefile deleted file mode 100644 index 0345a00..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/man/Makefile +++ /dev/null @@ -1,260 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.28 - -# Default target executed when no arguments are given to make. -default_target: all -.PHONY : default_target - -# Allow only one "make -f Makefile2" at a time, but pass parallelism. -.NOTPARALLEL: - -#============================================================================= -# Special targets provided by cmake. - -# Disable implicit rules so canonical targets will work. -.SUFFIXES: - -# Disable VCS-based implicit rules. -% : %,v - -# Disable VCS-based implicit rules. -% : RCS/% - -# Disable VCS-based implicit rules. -% : RCS/%,v - -# Disable VCS-based implicit rules. -% : SCCS/s.% - -# Disable VCS-based implicit rules. -% : s.% - -.SUFFIXES: .hpux_make_needs_suffix_list - -# Command-line flag to silence nested $(MAKE). -$(VERBOSE)MAKESILENT = -s - -#Suppress display of executed commands. -$(VERBOSE).SILENT: - -# A target that is always out of date. -cmake_force: -.PHONY : cmake_force - -#============================================================================= -# Set environment variables for the build. - -# The shell in which to execute make rules. -SHELL = /bin/sh - -# The CMake executable. -CMAKE_COMMAND = /usr/bin/cmake - -# The command to remove a file. -RM = /usr/bin/cmake -E rm -f - -# Escaping for special characters. -EQUALS = = - -# The top-level source directory on which CMake was run. -CMAKE_SOURCE_DIR = "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3" - -# The top-level build directory on which CMake was run. -CMAKE_BINARY_DIR = "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" - -#============================================================================= -# Targets provided globally by CMake. - -# Special rule for the target test -test: - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Running tests..." - /usr/bin/ctest --force-new-ctest-process $(ARGS) -.PHONY : test - -# Special rule for the target test -test/fast: test -.PHONY : test/fast - -# Special rule for the target edit_cache -edit_cache: - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "No interactive CMake dialog available..." - /usr/bin/cmake -E echo No\ interactive\ CMake\ dialog\ available. -.PHONY : edit_cache - -# Special rule for the target edit_cache -edit_cache/fast: edit_cache -.PHONY : edit_cache/fast - -# Special rule for the target rebuild_cache -rebuild_cache: - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Running CMake to regenerate build system..." - /usr/bin/cmake --regenerate-during-build -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) -.PHONY : rebuild_cache - -# Special rule for the target rebuild_cache -rebuild_cache/fast: rebuild_cache -.PHONY : rebuild_cache/fast - -# Special rule for the target list_install_components -list_install_components: - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Available install components are: \"Unspecified\"" -.PHONY : list_install_components - -# Special rule for the target list_install_components -list_install_components/fast: list_install_components -.PHONY : list_install_components/fast - -# Special rule for the target install -install: preinstall - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Install the project..." - /usr/bin/cmake -P cmake_install.cmake -.PHONY : install - -# Special rule for the target install -install/fast: preinstall/fast - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Install the project..." - /usr/bin/cmake -P cmake_install.cmake -.PHONY : install/fast - -# Special rule for the target install/local -install/local: preinstall - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Installing only the local directory..." - /usr/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake -.PHONY : install/local - -# Special rule for the target install/local -install/local/fast: preinstall/fast - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Installing only the local directory..." - /usr/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake -.PHONY : install/local/fast - -# Special rule for the target install/strip -install/strip: preinstall - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Installing the project stripped..." - /usr/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake -.PHONY : install/strip - -# Special rule for the target install/strip -install/strip/fast: preinstall/fast - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Installing the project stripped..." - /usr/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake -.PHONY : install/strip/fast - -# The main all target -all: cmake_check_build_system - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(CMAKE_COMMAND) -E cmake_progress_start "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man//CMakeFiles/progress.marks" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 man/all - $(CMAKE_COMMAND) -E cmake_progress_start "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" 0 -.PHONY : all - -# The main clean target -clean: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 man/clean -.PHONY : clean - -# The main clean target -clean/fast: clean -.PHONY : clean/fast - -# Prepare targets for installation. -preinstall: all - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 man/preinstall -.PHONY : preinstall - -# Prepare targets for installation. -preinstall/fast: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 man/preinstall -.PHONY : preinstall/fast - -# clear depends -depend: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1 -.PHONY : depend - -# Convenience name for target. -man/CMakeFiles/man.dir/rule: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 man/CMakeFiles/man.dir/rule -.PHONY : man/CMakeFiles/man.dir/rule - -# Convenience name for target. -man: man/CMakeFiles/man.dir/rule -.PHONY : man - -# fast build rule for target. -man/fast: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f man/CMakeFiles/man.dir/build.make man/CMakeFiles/man.dir/build -.PHONY : man/fast - -# Convenience name for target. -man/CMakeFiles/update-man.dir/rule: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 man/CMakeFiles/update-man.dir/rule -.PHONY : man/CMakeFiles/update-man.dir/rule - -# Convenience name for target. -update-man: man/CMakeFiles/update-man.dir/rule -.PHONY : update-man - -# fast build rule for target. -update-man/fast: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f man/CMakeFiles/update-man.dir/build.make man/CMakeFiles/update-man.dir/build -.PHONY : update-man/fast - -# Convenience name for target. -man/CMakeFiles/update-html.dir/rule: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 man/CMakeFiles/update-html.dir/rule -.PHONY : man/CMakeFiles/update-html.dir/rule - -# Convenience name for target. -update-html: man/CMakeFiles/update-html.dir/rule -.PHONY : update-html - -# fast build rule for target. -update-html/fast: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f man/CMakeFiles/update-html.dir/build.make man/CMakeFiles/update-html.dir/build -.PHONY : update-html/fast - -# Convenience name for target. -man/CMakeFiles/update_zip_errors.dir/rule: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 man/CMakeFiles/update_zip_errors.dir/rule -.PHONY : man/CMakeFiles/update_zip_errors.dir/rule - -# Convenience name for target. -update_zip_errors: man/CMakeFiles/update_zip_errors.dir/rule -.PHONY : update_zip_errors - -# fast build rule for target. -update_zip_errors/fast: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f man/CMakeFiles/update_zip_errors.dir/build.make man/CMakeFiles/update_zip_errors.dir/build -.PHONY : update_zip_errors/fast - -# Help Target -help: - @echo "The following are some of the valid targets for this Makefile:" - @echo "... all (the default if no target is provided)" - @echo "... clean" - @echo "... depend" - @echo "... edit_cache" - @echo "... install" - @echo "... install/local" - @echo "... install/strip" - @echo "... list_install_components" - @echo "... rebuild_cache" - @echo "... test" - @echo "... man" - @echo "... update-html" - @echo "... update-man" - @echo "... update_zip_errors" -.PHONY : help - - - -#============================================================================= -# Special targets to cleanup operation of make. - -# Special rule to run CMake to check the build system integrity. -# No rule that depends on this can have commands that come from listfiles -# because they might be regenerated. -cmake_check_build_system: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0 -.PHONY : cmake_check_build_system - diff --git a/thirdparty/libzip-1.11.3/build-emcmake/man/ZIP_SOURCE_GET_ARGS.3 b/thirdparty/libzip-1.11.3/build-emcmake/man/ZIP_SOURCE_GET_ARGS.3 deleted file mode 100644 index 25b8193..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/man/ZIP_SOURCE_GET_ARGS.3 +++ /dev/null @@ -1,79 +0,0 @@ -.\" ZIP_SOURCE_GET_ARGS -- validate and cast arguments to source callback -.\" Copyright (C) 2014-2017 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd December 18, 2017 -.Dt ZIP_SOURCE_GET_ARGS 3 -.Os -.Sh NAME -.Nm ZIP_SOURCE_GET_ARGS -.Nd validate and cast arguments to source callback -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft type * -.Fn ZIP_SOURCE_GET_ARGS "type" "void *data" "zip_uint64_t len" "zip_error_t *error" -.Sh DESCRIPTION -The -.Fn ZIP_SOURCE_GET_ARGS -macro casts -.Ar data -to a pointer to -.Ar type . -.Sh RETURN VALUES -On success, -.Fn ZIP_SOURCE_GET_ARGS -returns -.Ar data . -In case of error, it returns -.Dv NULL -and sets -.Ar error . -.Sh ERRORS -.Fn ZIP_SOURCE_GET_ARGS -fails if: -.Bl -tag -width Er -.It Bq Er ZIP_ER_INVAL -.Ar len -is less than the size of -.Ar type -.El -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_source_function 3 -.Sh HISTORY -.Fn ZIP_SOURCE_GET_ARGS -was added in libzip 1.0. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/man/cmake_install.cmake b/thirdparty/libzip-1.11.3/build-emcmake/man/cmake_install.cmake deleted file mode 100644 index 628eeb4..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/man/cmake_install.cmake +++ /dev/null @@ -1,567 +0,0 @@ -# Install script for directory: /home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/man - -# Set the install prefix -if(NOT DEFINED CMAKE_INSTALL_PREFIX) - set(CMAKE_INSTALL_PREFIX "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/install") -endif() -string(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}") - -# Set the install configuration name. -if(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME) - if(BUILD_TYPE) - string(REGEX REPLACE "^[^A-Za-z0-9_]+" "" - CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}") - else() - set(CMAKE_INSTALL_CONFIG_NAME "") - endif() - message(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"") -endif() - -# Set the component getting installed. -if(NOT CMAKE_INSTALL_COMPONENT) - if(COMPONENT) - message(STATUS "Install component: \"${COMPONENT}\"") - set(CMAKE_INSTALL_COMPONENT "${COMPONENT}") - else() - set(CMAKE_INSTALL_COMPONENT) - endif() -endif() - -# Is this installation the result of a crosscompile? -if(NOT DEFINED CMAKE_CROSSCOMPILING) - set(CMAKE_CROSSCOMPILING "TRUE") -endif() - -# Set default install directory permissions. -if(NOT DEFINED CMAKE_OBJDUMP) - set(CMAKE_OBJDUMP "/usr/bin/objdump") -endif() - -if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) - file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/share/man/man3" TYPE FILE FILES "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/ZIP_SOURCE_GET_ARGS.3") -endif() - -if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) - file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/share/man/man3" TYPE FILE FILES "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/libzip.3") -endif() - -if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) - file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/share/man/man3" TYPE FILE FILES "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_add.3") -endif() - -if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) - file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/share/man/man3" TYPE FILE FILES "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_add_dir.3") -endif() - -if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) - file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/share/man/man3" TYPE FILE FILES "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_close.3") -endif() - -if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) - file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/share/man/man3" TYPE FILE FILES "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_compression_method_supported.3") -endif() - -if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) - file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/share/man/man3" TYPE FILE FILES "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_delete.3") -endif() - -if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) - file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/share/man/man3" TYPE FILE FILES "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_dir_add.3") -endif() - -if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) - file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/share/man/man3" TYPE FILE FILES "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_discard.3") -endif() - -if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) - file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/share/man/man3" TYPE FILE FILES "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_encryption_method_supported.3") -endif() - -if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) - file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/share/man/man3" TYPE FILE FILES "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_error_clear.3") -endif() - -if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) - file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/share/man/man3" TYPE FILE FILES "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_error_code_system.3") -endif() - -if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) - file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/share/man/man3" TYPE FILE FILES "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_error_code_zip.3") -endif() - -if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) - file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/share/man/man3" TYPE FILE FILES "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_error_fini.3") -endif() - -if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) - file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/share/man/man3" TYPE FILE FILES "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_error_get.3") -endif() - -if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) - file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/share/man/man3" TYPE FILE FILES "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_error_get_sys_type.3") -endif() - -if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) - file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/share/man/man3" TYPE FILE FILES "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_error_init.3") -endif() - -if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) - file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/share/man/man3" TYPE FILE FILES "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_error_set.3") -endif() - -if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) - file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/share/man/man3" TYPE FILE FILES "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_error_set_from_source.3") -endif() - -if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) - file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/share/man/man3" TYPE FILE FILES "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_error_strerror.3") -endif() - -if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) - file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/share/man/man3" TYPE FILE FILES "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_error_system_type.3") -endif() - -if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) - file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/share/man/man3" TYPE FILE FILES "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_error_to_data.3") -endif() - -if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) - file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/share/man/man3" TYPE FILE FILES "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_error_to_str.3") -endif() - -if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) - file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/share/man/man3" TYPE FILE FILES "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_errors.3") -endif() - -if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) - file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/share/man/man3" TYPE FILE FILES "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_fclose.3") -endif() - -if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) - file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/share/man/man3" TYPE FILE FILES "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_fdopen.3") -endif() - -if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) - file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/share/man/man3" TYPE FILE FILES "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_file_add.3") -endif() - -if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) - file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/share/man/man3" TYPE FILE FILES "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_file_attributes_init.3") -endif() - -if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) - file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/share/man/man3" TYPE FILE FILES "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_file_extra_field_delete.3") -endif() - -if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) - file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/share/man/man3" TYPE FILE FILES "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_file_extra_field_get.3") -endif() - -if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) - file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/share/man/man3" TYPE FILE FILES "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_file_extra_field_set.3") -endif() - -if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) - file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/share/man/man3" TYPE FILE FILES "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_file_extra_fields_count.3") -endif() - -if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) - file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/share/man/man3" TYPE FILE FILES "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_file_get_comment.3") -endif() - -if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) - file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/share/man/man3" TYPE FILE FILES "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_file_get_error.3") -endif() - -if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) - file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/share/man/man3" TYPE FILE FILES "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_file_get_external_attributes.3") -endif() - -if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) - file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/share/man/man3" TYPE FILE FILES "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_file_rename.3") -endif() - -if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) - file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/share/man/man3" TYPE FILE FILES "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_file_set_comment.3") -endif() - -if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) - file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/share/man/man3" TYPE FILE FILES "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_file_set_encryption.3") -endif() - -if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) - file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/share/man/man3" TYPE FILE FILES "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_file_set_external_attributes.3") -endif() - -if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) - file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/share/man/man3" TYPE FILE FILES "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_file_set_mtime.3") -endif() - -if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) - file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/share/man/man3" TYPE FILE FILES "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_file_strerror.3") -endif() - -if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) - file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/share/man/man3" TYPE FILE FILES "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_fopen.3") -endif() - -if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) - file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/share/man/man3" TYPE FILE FILES "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_fopen_encrypted.3") -endif() - -if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) - file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/share/man/man3" TYPE FILE FILES "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_fread.3") -endif() - -if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) - file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/share/man/man3" TYPE FILE FILES "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_fseek.3") -endif() - -if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) - file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/share/man/man3" TYPE FILE FILES "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_ftell.3") -endif() - -if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) - file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/share/man/man3" TYPE FILE FILES "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_get_archive_comment.3") -endif() - -if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) - file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/share/man/man3" TYPE FILE FILES "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_get_archive_flag.3") -endif() - -if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) - file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/share/man/man3" TYPE FILE FILES "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_get_error.3") -endif() - -if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) - file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/share/man/man3" TYPE FILE FILES "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_get_file_comment.3") -endif() - -if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) - file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/share/man/man3" TYPE FILE FILES "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_get_name.3") -endif() - -if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) - file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/share/man/man3" TYPE FILE FILES "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_get_num_entries.3") -endif() - -if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) - file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/share/man/man3" TYPE FILE FILES "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_get_num_files.3") -endif() - -if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) - file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/share/man/man3" TYPE FILE FILES "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_libzip_version.3") -endif() - -if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) - file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/share/man/man3" TYPE FILE FILES "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_name_locate.3") -endif() - -if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) - file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/share/man/man3" TYPE FILE FILES "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_open.3") -endif() - -if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) - file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/share/man/man3" TYPE FILE FILES "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_register_cancel_callback_with_state.3") -endif() - -if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) - file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/share/man/man3" TYPE FILE FILES "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_register_progress_callback.3") -endif() - -if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) - file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/share/man/man3" TYPE FILE FILES "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_register_progress_callback_with_state.3") -endif() - -if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) - file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/share/man/man3" TYPE FILE FILES "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_rename.3") -endif() - -if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) - file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/share/man/man3" TYPE FILE FILES "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_set_archive_comment.3") -endif() - -if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) - file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/share/man/man3" TYPE FILE FILES "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_set_archive_flag.3") -endif() - -if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) - file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/share/man/man3" TYPE FILE FILES "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_set_default_password.3") -endif() - -if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) - file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/share/man/man3" TYPE FILE FILES "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_set_file_comment.3") -endif() - -if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) - file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/share/man/man3" TYPE FILE FILES "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_set_file_compression.3") -endif() - -if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) - file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/share/man/man3" TYPE FILE FILES "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source.3") -endif() - -if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) - file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/share/man/man3" TYPE FILE FILES "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_begin_write.3") -endif() - -if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) - file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/share/man/man3" TYPE FILE FILES "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_buffer.3") -endif() - -if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) - file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/share/man/man3" TYPE FILE FILES "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_buffer_fragment.3") -endif() - -if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) - file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/share/man/man3" TYPE FILE FILES "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_close.3") -endif() - -if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) - file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/share/man/man3" TYPE FILE FILES "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_commit_write.3") -endif() - -if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) - file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/share/man/man3" TYPE FILE FILES "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_error.3") -endif() - -if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) - file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/share/man/man3" TYPE FILE FILES "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_file.3") -endif() - -if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) - file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/share/man/man3" TYPE FILE FILES "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_filep.3") -endif() - -if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) - file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/share/man/man3" TYPE FILE FILES "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_free.3") -endif() - -if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) - file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/share/man/man3" TYPE FILE FILES "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_function.3") -endif() - -if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) - file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/share/man/man3" TYPE FILE FILES "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_is_deleted.3") -endif() - -if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) - file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/share/man/man3" TYPE FILE FILES "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_is_seekable.3") -endif() - -if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) - file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/share/man/man3" TYPE FILE FILES "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_layered.3") -endif() - -if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) - file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/share/man/man3" TYPE FILE FILES "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_keep.3") -endif() - -if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) - file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/share/man/man3" TYPE FILE FILES "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_make_command_bitmap.3") -endif() - -if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) - file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/share/man/man3" TYPE FILE FILES "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_open.3") -endif() - -if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) - file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/share/man/man3" TYPE FILE FILES "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_read.3") -endif() - -if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) - file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/share/man/man3" TYPE FILE FILES "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_rollback_write.3") -endif() - -if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) - file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/share/man/man3" TYPE FILE FILES "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_seek.3") -endif() - -if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) - file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/share/man/man3" TYPE FILE FILES "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_seek_compute_offset.3") -endif() - -if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) - file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/share/man/man3" TYPE FILE FILES "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_seek_write.3") -endif() - -if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) - file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/share/man/man3" TYPE FILE FILES "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_stat.3") -endif() - -if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) - file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/share/man/man3" TYPE FILE FILES "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_tell.3") -endif() - -if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) - file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/share/man/man3" TYPE FILE FILES "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_tell_write.3") -endif() - -if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) - file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/share/man/man3" TYPE FILE FILES "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_win32a.3") -endif() - -if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) - file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/share/man/man3" TYPE FILE FILES "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_win32handle.3") -endif() - -if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) - file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/share/man/man3" TYPE FILE FILES "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_win32w.3") -endif() - -if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) - file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/share/man/man3" TYPE FILE FILES "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_window_create.3") -endif() - -if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) - file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/share/man/man3" TYPE FILE FILES "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_write.3") -endif() - -if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) - file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/share/man/man3" TYPE FILE FILES "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_zip.3") -endif() - -if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) - file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/share/man/man3" TYPE FILE FILES "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_zip_file.3") -endif() - -if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) - file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/share/man/man3" TYPE FILE FILES "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_stat.3") -endif() - -if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) - file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/share/man/man3" TYPE FILE FILES "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_stat_init.3") -endif() - -if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) - file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/share/man/man3" TYPE FILE FILES "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_unchange.3") -endif() - -if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) - file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/share/man/man3" TYPE FILE FILES "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_unchange_all.3") -endif() - -if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) - file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/share/man/man3" TYPE FILE FILES "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_unchange_archive.3") -endif() - -if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) - file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/share/man/man1" TYPE FILE FILES "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zipcmp.1") -endif() - -if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) - file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/share/man/man1" TYPE FILE FILES "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zipmerge.1") -endif() - -if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) - file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/share/man/man1" TYPE FILE FILES "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/ziptool.1") -endif() - -if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) - file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/share/man/man3" TYPE FILE RENAME "zip_replace.3" FILES "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_add.3") -endif() - -if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) - file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/share/man/man3" TYPE FILE RENAME "zip_file_error_clear.3" FILES "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_error_clear.3") -endif() - -if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) - file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/share/man/man3" TYPE FILE RENAME "zip_file_error_get.3" FILES "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_error_get.3") -endif() - -if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) - file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/share/man/man3" TYPE FILE RENAME "zip_error_init_with_code.3" FILES "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_error_init.3") -endif() - -if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) - file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/share/man/man3" TYPE FILE RENAME "zip_file_replace.3" FILES "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_file_add.3") -endif() - -if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) - file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/share/man/man3" TYPE FILE RENAME "zip_file_extra_field_delete_by_id.3" FILES "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_file_extra_field_delete.3") -endif() - -if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) - file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/share/man/man3" TYPE FILE RENAME "zip_file_extra_field_get_by_id.3" FILES "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_file_extra_field_get.3") -endif() - -if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) - file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/share/man/man3" TYPE FILE RENAME "zip_file_extra_fields_count_by_id.3" FILES "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_file_extra_fields_count.3") -endif() - -if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) - file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/share/man/man3" TYPE FILE RENAME "zip_file_set_dostime.3" FILES "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_file_set_mtime.3") -endif() - -if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) - file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/share/man/man3" TYPE FILE RENAME "zip_strerror.3" FILES "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_file_strerror.3") -endif() - -if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) - file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/share/man/man3" TYPE FILE RENAME "zip_fopen_index.3" FILES "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_fopen.3") -endif() - -if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) - file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/share/man/man3" TYPE FILE RENAME "zip_fopen_index_encrypted.3" FILES "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_fopen_encrypted.3") -endif() - -if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) - file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/share/man/man3" TYPE FILE RENAME "zip_file_is_seekable.3" FILES "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_fseek.3") -endif() - -if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) - file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/share/man/man3" TYPE FILE RENAME "zip_open_from_source.3" FILES "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_open.3") -endif() - -if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) - file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/share/man/man3" TYPE FILE RENAME "zip_source_begin_write_cloning.3" FILES "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_begin_write.3") -endif() - -if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) - file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/share/man/man3" TYPE FILE RENAME "zip_source_buffer_create.3" FILES "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_buffer.3") -endif() - -if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) - file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/share/man/man3" TYPE FILE RENAME "zip_source_buffer_fragment_create.3" FILES "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_buffer_fragment.3") -endif() - -if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) - file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/share/man/man3" TYPE FILE RENAME "zip_source_file_create.3" FILES "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_file.3") -endif() - -if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) - file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/share/man/man3" TYPE FILE RENAME "zip_source_filep_create.3" FILES "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_filep.3") -endif() - -if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) - file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/share/man/man3" TYPE FILE RENAME "zip_source_function_create.3" FILES "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_function.3") -endif() - -if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) - file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/share/man/man3" TYPE FILE RENAME "zip_source_layered_create.3" FILES "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_layered.3") -endif() - -if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) - file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/share/man/man3" TYPE FILE RENAME "zip_source_win32a_create.3" FILES "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_win32a.3") -endif() - -if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) - file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/share/man/man3" TYPE FILE RENAME "zip_source_win32handle_create.3" FILES "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_win32handle.3") -endif() - -if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) - file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/share/man/man3" TYPE FILE RENAME "zip_source_win32w_create.3" FILES "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_win32w.3") -endif() - -if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) - file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/share/man/man3" TYPE FILE RENAME "zip_source_zip_create.3" FILES "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_zip.3") -endif() - -if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) - file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/share/man/man3" TYPE FILE RENAME "zip_source_zip_file_create.3" FILES "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_zip_file.3") -endif() - -if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) - file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/share/man/man3" TYPE FILE RENAME "zip_stat_index.3" FILES "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/man/zip_stat.3") -endif() - diff --git a/thirdparty/libzip-1.11.3/build-emcmake/man/libzip.3 b/thirdparty/libzip-1.11.3/build-emcmake/man/libzip.3 deleted file mode 100644 index 0490f37..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/man/libzip.3 +++ /dev/null @@ -1,299 +0,0 @@ -.\" libzip.mdoc -- general overview of available functions -.\" Copyright (C) 2005-2024 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd August 21, 2024 -.Dt LIBZIP 3 -.Os -.Sh NAME -.Nm libzip -.Nd library for manipulating zip archives -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Sh DESCRIPTION -.Nm -is a library for reading, creating, and modifying zip archives. -.Pp -The main design criteria for -.Nm -were: -.Bl -bullet -compact -.It -Do not create corrupt files, even in case of errors. -.It -Do not delete data. -.It -Be efficient. -.El -.Pp -For this reason, when modifying zip archives, -.Nm -writes to a temporary file and replaces the original -zip archive atomically. -.Pp -Below there are two sections listing functions: one for how to read -from zip archives and one for how to create/modify them. -.Sh GENERAL NOTES -Unless explicitly documented, functions should not be passed -.Dv NULL -pointers as arguments. -.Sh FILE NAMES -.Ss Encoding -Names of files in the host file system are expected in UTF-8 encoding. -On Windows, variants for ASCII and UTF-16 are also available. -.Pp -Names of files inside archives are by default expected in UTF-8 encoding. -Other encodings can be requested by using the flags -.Dv ZIP_FL_ENC_CP437 -and -.Dv ZIP_FL_ENC_RAW . -.Pp -For details see the relevant man pages. -.Ss Directory Separator -The zip format requires the use of forward slash -.Pq Sq / -as directory separator. -Since backslash -.Pq Sq \e -can be part of a valid file name on Unix systems, -.Nm -does not automatically convert them, even on Windows. -It is the responsibility of the programmer to ensure that all -directory separators are passed as forward slashes to -.Nm . -.Sh THREAD SAFETY -In general, different zip archives opened by -.Nm -are independent of each other and can be used by parallel-running -threads without locking. -If you want to use an archive from multiple threads, you have to -synchronize access to it yourself. -If you use an archive as a source for -.Xr zip_file_add 3 -or -.Xr zip_file_replace 3 , -access to the target archive must be synchronized with access to the -source archive as well. -.Sh READING ZIP ARCHIVES -.Ss Open Archive -.Bl -bullet -compact -.It -.Xr zip_open 3 -.It -.Xr zip_fdopen 3 -.El -.Ss Find Files -.Bl -bullet -compact -.It -.Xr zip_name_locate 3 -.El -.Ss Read Files -.Bl -bullet -compact -.It -.Xr zip_fopen 3 -.It -.Xr zip_fopen_encrypted 3 -.It -.Xr zip_fopen_index 3 -.It -.Xr zip_fopen_index_encrypted 3 -.It -.Xr zip_fread 3 -.It -.Xr zip_file_is_seekable 3 -.It -.Xr zip_fseek 3 -(uncompressed files only) -.It -.Xr zip_ftell 3 -.It -.Xr zip_fclose 3 -.El -.Ss Close Archive -.Bl -bullet -compact -.It -.Xr zip_close 3 -.El -.Ss Miscellaneous -.Bl -bullet -compact -.It -.Xr zip_stat 3 -.It -.Xr zip_compression_method_supported 3 -.It -.Xr zip_encryption_method_supported 3 -.It -.Xr zip_file_get_comment 3 -.It -.Xr zip_file_get_external_attributes 3 -.It -.Xr zip_get_archive_comment 3 -.It -.Xr zip_get_archive_flag 3 -.It -.Xr zip_get_name 3 -.It -.Xr zip_get_num_entries 3 -.It -.Xr zip_set_default_password 3 -.It -.Xr zip_source_pass_to_lower_layer 3 -.El -.Sh CREATING/MODIFYING ZIP ARCHIVES -.Ss Create/Open Archive -.Bl -bullet -compact -.It -.Xr zip_open 3 -.El -.Ss Add/Change Files and Directories -.Bl -bullet -compact -.It -.Xr zip_dir_add 3 -.It -.Xr zip_file_add 3 -.It -.Xr zip_file_replace 3 -.It -.Xr zip_file_set_comment 3 -.It -.Xr zip_file_set_dostime 3 -.It -.Xr zip_file_set_external_attributes 3 -.It -.Xr zip_file_set_encryption 3 -.It -.Xr zip_file_set_mtime 3 -.It -.Xr zip_set_file_compression 3 -.It -.Xr zip_source_buffer 3 -.It -.Xr zip_source_file 3 -.It -.Xr zip_source_filep 3 -.It -.Xr zip_source_free 3 -.It -.Xr zip_source_function 3 -.It -.Xr zip_source_layered 3 -.It -.Xr zip_source_zip 3 -.El -.Ss Rename Files -.Bl -bullet -compact -.It -.Xr zip_rename 3 -.El -.Ss Delete Files -.Bl -bullet -compact -.It -.Xr zip_delete 3 -.El -.Ss Revert Changes -.Bl -bullet -compact -.It -.Xr zip_unchange 3 -.It -.Xr zip_unchange_all 3 -.It -.Xr zip_unchange_archive 3 -.El -.Ss Read/Modify Extra Fields -.Bl -bullet -compact -.It -.Xr zip_file_extra_field_delete 3 -.It -.Xr zip_file_extra_field_delete_by_id 3 -.It -.Xr zip_file_extra_field_get 3 -.It -.Xr zip_file_extra_field_get_by_id 3 -.It -.Xr zip_file_extra_field_set 3 -.It -.Xr zip_file_extra_fields_count 3 -.It -.Xr zip_file_extra_fields_count_by_id 3 -.El -.Ss Close Archive (Writing) -.Bl -bullet -compact -.It -.Xr zip_close 3 -.It -.Xr zip_discard 3 -.El -.Ss Miscellaneous (Writing) -.Bl -bullet -compact -.It -.Xr zip_file_attributes_init 3 -.It -.Xr zip_libzip_version 3 -.It -.Xr zip_register_cancel_callback_with_state 3 -.It -.Xr zip_register_progress_callback_with_state 3 -.It -.Xr zip_set_archive_comment 3 -.It -.Xr zip_set_archive_flag 3 -.It -.Xr zip_source 3 -.El -.Sh ERROR HANDLING -.Bl -bullet -compact -.It -.Xr zip_error_strerror 3 -.It -.Xr zip_strerror 3 -.It -.Xr zip_file_strerror 3 -.It -.Xr zip_file_get_error 3 -.It -.Xr zip_get_error 3 -.It -.Xr zip_error_init_with_code 3 -.It -.Xr zip_error_set 3 -.It -.Xr zip_error_set_from_source 3 -.It -.Xr zip_error_system_type 3 -.It -.Xr zip_errors 3 -.El -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_add.3 b/thirdparty/libzip-1.11.3/build-emcmake/man/zip_add.3 deleted file mode 100644 index 71bc4c8..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_add.3 +++ /dev/null @@ -1,96 +0,0 @@ -.\" zip_add.mdoc -- add files to zip archive -.\" Copyright (C) 2004-2017 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd December 18, 2017 -.Dt ZIP_ADD 3 -.Os -.Sh NAME -.Nm zip_add , -.Nm zip_replace -.Nd add file to zip archive or replace file in zip archive (obsolete interface) -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft zip_int64_t -.Fn zip_add "zip_t *archive" "const char *name" "zip_source_t *source" -.Ft int -.Fn zip_replace "zip_t *archive" "zip_uint64_t index" "zip_source_t *source" -.Sh DESCRIPTION -The function -.Fn zip_add -is the obsolete version of -.Xr zip_file_add 3 . -It is the same as calling -.Xr zip_file_add 3 -with an empty -.Ar flags -argument. -Similarly, the -.Fn zip_replace -function is the obsolete version of -.Xr zip_file_replace 3 . -It is the same as calling -.Xr zip_file_replace 3 -with an empty -.Ar flags -argument. -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_file_add 3 , -.Xr zip_file_replace 3 -.Sh HISTORY -.Fn zip_add -was added in libzip 0.6. -In libzip 0.10 the return type was changed from -.Vt int -to -.Vt zip_int64_t . -It was deprecated in libzip 0.11, use -.Fn zip_file_add -instead. -.Pp -.Fn zip_replace -was added in libzip 0.6. -In libzip 0.10 the type of -.Ar index -was changed from -.Vt int -to -.Vt zip_uint64_t . -It was deprecated in libzip 0.11, use -.Fn zip_file_replace -instead. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_add_dir.3 b/thirdparty/libzip-1.11.3/build-emcmake/man/zip_add_dir.3 deleted file mode 100644 index 4a6801b..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_add_dir.3 +++ /dev/null @@ -1,69 +0,0 @@ -.\" zip_add_dir.mdoc -- add directory to zip archive -.\" Copyright (C) 2006-2017 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd December 18, 2017 -.Dt ZIP_ADD_DIR 3 -.Os -.Sh NAME -.Nm zip_add_dir -.Nd add directory to zip archive (obsolete interface) -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft zip_int64_t -.Fn zip_add_dir "zip_t *archive" "const char *name" -.Sh DESCRIPTION -The function -.Fn zip_add_dir -is the obsolete version of -.Xr zip_dir_add 3 . -It is the same as calling -.Xr zip_dir_add 3 -with an empty flags argument. -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_dir_add 3 -.Sh HISTORY -.Fn zip_add_dir -was added in libzip 0.8. -In libzip 0.10 the return type was changed from -.Vt int -to -.Vt zip_int64_t . -It was deprecated in libzip 0.11, use -.Fn zip_dir_add -instead. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_close.3 b/thirdparty/libzip-1.11.3/build-emcmake/man/zip_close.3 deleted file mode 100644 index 4716b9d..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_close.3 +++ /dev/null @@ -1,136 +0,0 @@ -.\" zip_close.mdoc -- close zip archive -.\" Copyright (C) 2003-2022 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd January 23, 2023 -.Dt ZIP_CLOSE 3 -.Os -.Sh NAME -.Nm zip_close -.Nd close zip archive -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft int -.Fn zip_close "zip_t *archive" -.Sh DESCRIPTION -The -.Fn zip_close -function writes any changes made to -.Ar archive -to disk. -If -.Ar archive -contains no files, the file is completely removed (no empty archive is -written), unless the archive flag -.Dv ZIP_AFL_CREATE_OR_KEEP_FILE_FOR_EMPTY_ARCHIVE -is set. -If successful, -.Ar archive -is freed. -Otherwise -.Ar archive -is left unchanged and must still be freed. -.Pp -To close and free a zip archive without saving changes, use -.Xr zip_discard 3 . -.Pp -Progress updates for GUIs can be implemented using -.Xr zip_register_progress_callback_with_state 3 . -Cancelling the write of an archive during -.Nm -can be implemented using -.Xr zip_register_cancel_callback_with_state 3 . -.Sh RETURN VALUES -Upon successful completion 0 is returned. -Otherwise, \-1 is returned and the error code in -.Ar archive -is set to indicate the error. -.Sh ERRORS -.Fn zip_close -will fail if: -.Bl -tag -width Er -.It Bq Er ZIP_ER_EOF -Unexpected end-of-file found while reading from a file. -.It Bq Er ZIP_ER_INTERNAL -The callback function of an added or replaced file returned an -error but failed to report which. -.It Bq Er ZIP_ER_INVAL -The -.Ar path -argument is -.Dv NULL . -.It Bq Er ZIP_ER_MEMORY -Required memory could not be allocated. -.It Bq Er ZIP_ER_NOZIP -File is not a zip archive. -.It Bq Er ZIP_ER_READ -A file read failed. -.It Bq Er ZIP_ER_RENAME -A temporary file could not be renamed to its final name. -.It Bq Er ZIP_ER_SEEK -A file seek failed. -.It Bq Er ZIP_ER_TMPOPEN -A temporary file could not be created. -.It Bq Er ZIP_ER_WRITE -A file write failed. -.It Bq Er ZIP_ER_ZLIB -An error occurred while (de)compressing a stream with -.Xr zlib 3 . -.El -Additionally, any errors returned by the callback function -for added or replaced files will be passed back. -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_discard 3 , -.Xr zip_fdopen 3 , -.Xr zip_get_error 3 , -.Xr zip_open 3 , -.Xr zip_register_cancel_callback_with_state 3 , -.Xr zip_register_progress_callback_with_state 3 , -.Xr zip_set_archive_flag 3 , -.Xr zip_strerror 3 -.Sh HISTORY -.Fn zip_close -was added in libzip 0.6. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at -.Sh CAVEATS -Please note that all indices, -.Xr zip_stat 3 -information and other data about the archive is invalid after -.Nm . -When you open the same file again, it will be a completely new -.Vt zip_t -structure. diff --git a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_compression_method_supported.3 b/thirdparty/libzip-1.11.3/build-emcmake/man/zip_compression_method_supported.3 deleted file mode 100644 index 77553cf..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_compression_method_supported.3 +++ /dev/null @@ -1,65 +0,0 @@ -.\" zip_compression_method_supported.mdoc -- return if compression method is supported -.\" Copyright (C) 2020 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP files. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd April 2, 2020 -.Dt ZIP_COMPRESSION_METHOD_SUPPORTED 3 -.Os -.Sh NAME -.Nm zip_compression_method_supported -.Nd return if a compression method is supported -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft int -.Fn zip_compression_method_supported "zip_int32_t method" "int compress" -.Sh DESCRIPTION -The -.Fn zip_compression_method_supported -returns if the compression method -.Ar method -is supported for compression (if -.Ar compress -is zero) or decompression (otherwise). -.Sh RETURN VALUES -Returns 1 if the method is supported, 0 otherwise. -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_encryption_method_supported 3 , -.Xr zip_set_file_compression 3 -.Sh HISTORY -.Fn zip_compression_method_supported -was added in libzip 1.7.0. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_delete.3 b/thirdparty/libzip-1.11.3/build-emcmake/man/zip_delete.3 deleted file mode 100644 index 0b622fe..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_delete.3 +++ /dev/null @@ -1,80 +0,0 @@ -.\" zip_delete.mdoc -- delete files from zip archive -.\" Copyright (C) 2003-2017 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd December 18, 2017 -.Dt ZIP_DELETE 3 -.Os -.Sh NAME -.Nm zip_delete -.Nd delete file from zip archive -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft int -.Fn zip_delete "zip_t *archive" "zip_uint64_t index" -.Sh DESCRIPTION -The file at position -.Ar index -in the zip archive -.Ar archive -is marked as deleted. -.Sh RETURN VALUES -Upon successful completion 0 is returned. -Otherwise, \-1 is returned and the error code in -.Ar archive -is set to indicate the error. -.Sh ERRORS -.Fn zip_delete -fails if: -.Bl -tag -width Er -.It Bq Er ZIP_ER_INVAL -.Ar index -is not a valid file index in -.Ar archive . -.El -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_unchange 3 -.Sh HISTORY -.Fn zip_delete -was added in libzip 0.6. -In libzip 0.10 the type of -.Ar index -was changed from -.Vt int -to -.Vt zip_uint64_t . -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_dir_add.3 b/thirdparty/libzip-1.11.3/build-emcmake/man/zip_dir_add.3 deleted file mode 100644 index c4b697b..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_dir_add.3 +++ /dev/null @@ -1,109 +0,0 @@ -.\" zip_dir_add.mdoc -- add directory to zip archive -.\" Copyright (C) 2006-2020 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd September 20, 2020 -.Dt ZIP_DIR_ADD 3 -.Os -.Sh NAME -.Nm zip_dir_add -.Nd add directory to zip archive -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft zip_int64_t -.Fn zip_dir_add "zip_t *archive" "const char *name" "zip_flags_t flags" -.Sh DESCRIPTION -The function -.Fn zip_dir_add -adds a directory to a zip archive. -The argument -.Ar archive -specifies the zip archive to which the directory should be added. -.Ar name -is the directory's name in the zip archive. -.Pp -This function adds an entry to the archive. -It does not check whether a directory with that name exists in the -file system, nor does it add its contents if it does. -The -.Ar flags -argument can be any of: -.Bl -tag -width XZIPXFLXENCXSTRICTXX -.It Dv ZIP_FL_ENC_GUESS -Guess encoding of -.Ar name -(default). -(Only CP-437 and UTF-8 are recognized.) -.It Dv ZIP_FL_ENC_UTF_8 -Interpret -.Ar name -as UTF-8. -.It Dv ZIP_FL_ENC_CP437 -Interpret -.Ar name -as code page 437 (CP-437). -.El -.Sh RETURN VALUES -Upon successful completion, the index of the new entry in the archive -is returned. -Otherwise, \-1 is returned and the error code in -.Ar archive -is set to indicate the error. -.Sh ERRORS -.Fn zip_dir_add -fails if: -.Bl -tag -width Er -.It Bq Er ZIP_ER_EXISTS -There is already an entry called -.Ar name -in the archive. -.It Bq Er ZIP_ER_INVAL -.Ar archive -or -.Ar name -are -.Dv NULL , -or invalid UTF-8 encoded file names. -.It Bq Er ZIP_ER_MEMORY -Required memory could not be allocated. -.El -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_file_add 3 -.Sh HISTORY -.Fn zip_dir_add -was added in libzip 0.11. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_discard.3 b/thirdparty/libzip-1.11.3/build-emcmake/man/zip_discard.3 deleted file mode 100644 index 5c4f3f4..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_discard.3 +++ /dev/null @@ -1,61 +0,0 @@ -.\" zip_discard.mdoc -- close zip archive and discard changes -.\" Copyright (C) 2012-2017 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd December 18, 2017 -.Dt ZIP_DISCARD 3 -.Os -.Sh NAME -.Nm zip_discard -.Nd close zip archive and discard changes -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft void -.Fn zip_discard "zip_t *archive" -.Sh DESCRIPTION -The -.Fn zip_discard -function closes -.Ar archive -and frees the memory allocated for it. -Any changes to the archive are not written to disk and discarded. -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_close 3 -.Sh HISTORY -.Fn zip_discard -was added in libzip 0.11. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_encryption_method_supported.3 b/thirdparty/libzip-1.11.3/build-emcmake/man/zip_encryption_method_supported.3 deleted file mode 100644 index 84c0ae8..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_encryption_method_supported.3 +++ /dev/null @@ -1,65 +0,0 @@ -.\" zip_encryption_method_supported.mdoc -- return if encryption method is supported -.\" Copyright (C) 2020 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP files. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd April 2, 2020 -.Dt ZIP_ENCRYPTION_METHOD_SUPPORTED 3 -.Os -.Sh NAME -.Nm zip_encryption_method_supported -.Nd return if an encryption method is supported -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft int -.Fn zip_encryption_method_supported "zip_int16_t method" "int encrypt" -.Sh DESCRIPTION -The -.Fn zip_encryption_method_supported -returns if the encryption method -.Ar method -is supported for encryption (if -.Ar encrypt -is zero) or decryption (otherwise). -.Sh RETURN VALUES -Returns 1 if the method is supported, 0 otherwise. -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_compression_method_supported 3 , -.Xr zip_file_set_encryption 3 -.Sh HISTORY -.Fn zip_encryption_method_supported -was added in libzip 1.7.0. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_error_clear.3 b/thirdparty/libzip-1.11.3/build-emcmake/man/zip_error_clear.3 deleted file mode 100644 index 5b2bc6e..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_error_clear.3 +++ /dev/null @@ -1,69 +0,0 @@ -.\" zip_error_clear.mdoc -- clear error state for archive or file -.\" Copyright (C) 2006-2021 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd December 18, 2017 -.Dt ZIP_ERROR_CLEAR 3 -.Os -.Sh NAME -.Nm zip_error_clear , -.Nm zip_file_error_clear -.Nd clear error state for archive or file -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft void -.Fn zip_error_clear "zip_t *archive" -.Ft void -.Fn zip_file_error_clear "zip_file_t *file" -.Sh DESCRIPTION -The -.Fn zip_error_clear -function clears the error state for the zip archive -.Ar archive . -.Pp -The -.Fn zip_file_error_clear -function does the same for the zip file -.Ar file . -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_get_error 3 -.Sh HISTORY -.Fn zip_error_clear -and -.Fn zip_file_error_clear -were added in libzip 0.8. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_error_code_system.3 b/thirdparty/libzip-1.11.3/build-emcmake/man/zip_error_code_system.3 deleted file mode 100644 index 54a4f63..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_error_code_system.3 +++ /dev/null @@ -1,63 +0,0 @@ -.\" zip_error_code_system.mdoc -- get system error part of zip_error -.\" Copyright (C) 2014-2017 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd December 18, 2017 -.Dt ZIP_ERROR_CODE_SYSTEM 3 -.Os -.Sh NAME -.Nm zip_error_code_system -.Nd get operating system error part of zip_error -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft int -.Fn zip_error_code_system "const zip_error_t *ze" -.Sh DESCRIPTION -The -.Fn zip_error_code_system -function returns the system specific part of the error from the -zip_error error -.Ar ze . -For finding out what system reported the error, use -.Xr zip_error_system_type 3 . -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_error_code_zip 3 , -.Xr zip_error_system_type 3 -.Sh HISTORY -.Fn zip_error_code_system -was added in libzip 1.0. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_error_code_zip.3 b/thirdparty/libzip-1.11.3/build-emcmake/man/zip_error_code_zip.3 deleted file mode 100644 index a07c90e..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_error_code_zip.3 +++ /dev/null @@ -1,60 +0,0 @@ -.\" zip_error_code_zip.mdoc -- get libzip error part of zip_error -.\" Copyright (C) 2014-2017 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd December 18, 2017 -.Dt ZIP_ERROR_CODE_ZIP 3 -.Os -.Sh NAME -.Nm zip_error_code_zip -.Nd get libzip error part of zip_error -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft int -.Fn zip_error_code_zip "const zip_error_t *ze" -.Sh DESCRIPTION -The -.Fn zip_error_code_zip -function returns the libzip specific part of the error from the -zip_error error -.Ar ze . -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_error_code_system 3 -.Sh HISTORY -.Fn zip_error_code_zip -was added in libzip 1.0. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_error_fini.3 b/thirdparty/libzip-1.11.3/build-emcmake/man/zip_error_fini.3 deleted file mode 100644 index 80395aa..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_error_fini.3 +++ /dev/null @@ -1,60 +0,0 @@ -.\" zip_error_fini.mdoc -- clean up zip_error -.\" Copyright (C) 2014-2017 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd December 18, 2017 -.Dt ZIP_ERROR_FINI 3 -.Os -.Sh NAME -.Nm zip_error_fini -.Nd clean up zip_error structure -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft void -.Fn zip_error_fini "zip_error_t *ze" -.Sh DESCRIPTION -The -.Fn zip_error_fini -function cleans up and frees internally allocated memory of the -zip_error pointed to by -.Ar ze . -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_error_init 3 -.Sh HISTORY -.Fn zip_error_fini -was added in libzip 1.0. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_error_get.3 b/thirdparty/libzip-1.11.3/build-emcmake/man/zip_error_get.3 deleted file mode 100644 index 55b0979..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_error_get.3 +++ /dev/null @@ -1,117 +0,0 @@ -.\" zip_error_get.mdoc -- get error codes for archive or file -.\" Copyright (C) 2004-2017 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd December 18, 2017 -.Dt ZIP_ERROR_GET 3 -.Os -.Sh NAME -.Nm zip_error_get , -.Nm zip_file_error_get -.Nd get error codes for archive or file (obsolete interface) -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft void -.Fn zip_error_get "zip_t *archive" "int *zep" "int *sep" -.Ft void -.Fn zip_file_error_get "zip_file_t *file" "int *zep" "int *sep" -.Sh DESCRIPTION -The functions -.Fn zip_error_get -and -.Fn zip_file_error_get -are deprecated. -Use -.Xr zip_error_code_system 3 , -.Xr zip_error_code_zip 3 , -.Xr zip_file_get_error 3 , -and -.Xr zip_get_error 3 -instead. -.Pp -For -.Fn zip_error_get , -replace -.Bd -literal -offset indent -int ze, se; -zip_error_get(za, &ze, &se); -.Ed -with -.Bd -literal -offset indent -int ze, se; -zip_error_t *error = zip_get_error(za); -ze = zip_error_code_zip(error); -se = zip_error_code_system(error); -.Ed -For -.Fn zip_file_error_get , -replace -.Bd -literal -offset indent -int ze, se; -zip_file_error_get(zf, &ze, &se); -.Ed -with -.Bd -literal -offset indent -int ze, se; -zip_error_t *error = zip_file_get_error(zf); -ze = zip_error_code_zip(error); -se = zip_error_code_system(error); -.Ed -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_error_code_system 3 , -.Xr zip_error_code_zip 3 , -.Xr zip_file_get_error 3 , -.Xr zip_get_error 3 -.Sh HISTORY -.Fn zip_error_get -was added in libzip 0.6. -It was deprecated in libzip 1.0, use -.Fn zip_get_error , -.Fn zip_error_code_zip , -/ -.Fn zip_error_code_system -instead. -.Pp -.Fn zip_file_error_get -was added in libzip 0.6. -It was deprecated in libzip 1.0, use -.Fn zip_file_get_error , -.Fn zip_error_code_zip , -/ -.Fn zip_error_code_system -instead. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_error_get_sys_type.3 b/thirdparty/libzip-1.11.3/build-emcmake/man/zip_error_get_sys_type.3 deleted file mode 100644 index 43219a3..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_error_get_sys_type.3 +++ /dev/null @@ -1,77 +0,0 @@ -.\" zip_error_get_sys_type.mdoc -- get type of error -.\" Copyright (C) 2004-2017 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd December 18, 2017 -.Dt ZIP_ERROR_GET_SYS_TYPE 3 -.Os -.Sh NAME -.Nm zip_error_get_sys_type -.Nd get type of system error code (obsolete interface) -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft int -.Fn zip_error_get_sys_type "int ze" -.Sh DESCRIPTION -The function -.Fn zip_error_get_sys_type -is deprecated; use -.Xr zip_error_init_with_code 3 -and -.Xr zip_error_system_type 3 -instead. -.Pp -Replace -.Bd -literal -offset indent -int i = zip_error_get_sys_type(ze); -.Ed -with -.Bd -literal -offset indent -zip_error_t error; -zip_error_init_with_code(&error, ze); -int i = zip_error_system_type(&error); -.Ed -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_error_init_with_code 3 , -.Xr zip_error_system_type 3 -.Sh HISTORY -.Fn zip_error_get_sys_type -was added in libzip 0.6. -It was deprecated in libzip 1.0, use -.Fn zip_error_system_type -instead. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_error_init.3 b/thirdparty/libzip-1.11.3/build-emcmake/man/zip_error_init.3 deleted file mode 100644 index 3f2e3b7..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_error_init.3 +++ /dev/null @@ -1,76 +0,0 @@ -.\" zip_error_init.mdoc -- initialize zip_error -.\" Copyright (C) 2014-2017 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd December 18, 2017 -.Dt ZIP_ERROR_INIT 3 -.Os -.Sh NAME -.Nm zip_error_init , -.Nm zip_error_init_with_code -.Nd initialize zip_error structure -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft void -.Fn zip_error_init "zip_error_t *error" -.Ft void -.Fn zip_error_init_with_code "zip_error_t *error" "int ze" -.Sh DESCRIPTION -The -.Fn zip_error_init -function initializes the zip_error pointed to by -.Ar error . -.Ar *error -must be allocated before calling -.Fn zip_error_init . -.Pp -The -.Fn zip_error_init_with_code -function does the same, but additionally sets the zip error code to -.Ar ze -and sets the system error code to the current -.Xr errno 3 -value, if appropriate. -.\" TODO: describe when you would need to call this at all -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_error_fini 3 -.Sh HISTORY -.Fn zip_error_init -and -.Fn zip_error_init_with_code -were added in libzip 1.0. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_error_set.3 b/thirdparty/libzip-1.11.3/build-emcmake/man/zip_error_set.3 deleted file mode 100644 index d421867..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_error_set.3 +++ /dev/null @@ -1,70 +0,0 @@ -.\" zip_error_set.mdoc -- set zip_error -.\" Copyright (C) 2014-2021 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd December 5, 2022 -.Dt ZIP_ERROR_SET 3 -.Os -.Sh NAME -.Nm zip_error_set -.Nd fill in zip_error structure -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft void -.Fn zip_error_set "zip_error_t *ze" "int le" "int se" -.Sh DESCRIPTION -The -.Fn zip_error_set -function sets the zip_error pointed to by -.Ar ze -to the libzip error code -.Ar le -and the system error code -.Ar se . -.Pp -.Ar ze -must be allocated and initialized with -.Xr zip_error_init 3 -before calling -.Fn zip_error_set . -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_error_init 3 , -.Xr zip_error_set_from_source 3 -.Sh HISTORY -.Fn zip_error_set -was added in libzip 1.0. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_error_set_from_source.3 b/thirdparty/libzip-1.11.3/build-emcmake/man/zip_error_set_from_source.3 deleted file mode 100644 index 48f974f..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_error_set_from_source.3 +++ /dev/null @@ -1,69 +0,0 @@ -.\" zip_error_set_from_source.mdoc -- set zip_error from source -.\" Copyright (C) 2022 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd December 5, 2022 -.Dt ZIP_ERROR_SET_FROM_SOURCE 3 -.Os -.Sh NAME -.Nm zip_error_set_from_source -.Nd fill in zip_error structure from source -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft void -.Fn zip_error_set_from_source "zip_error_t *ze" "zip_source_t *src" -.Sh DESCRIPTION -The -.Fn zip_error_set_from_source -function sets the zip_error pointed to by -.Ar ze -to the error reported by -.Ar src -as returned by -.Xr zip_error_source 3 . -.Ar ze -must be allocated and initialized with -.Xr zip_error_init 3 -before calling -.Fn zip_error_set_from_source . -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_error_init 3 , -.Xr zip_error_set 3 -.Sh HISTORY -.Fn zip_error_set_from_source -was added in libzip 1.10. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_error_strerror.3 b/thirdparty/libzip-1.11.3/build-emcmake/man/zip_error_strerror.3 deleted file mode 100644 index 40d5865..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_error_strerror.3 +++ /dev/null @@ -1,67 +0,0 @@ -.\" zip_error_strerror.mdoc -- create human-readable version of zip_error -.\" Copyright (C) 2014-2017 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd December 18, 2017 -.Dt ZIP_ERROR_STRERROR 3 -.Os -.Sh NAME -.Nm zip_error_strerror -.Nd create human-readable string for zip_error -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft const char * -.Fn zip_error_strerror "zip_error_t *ze" -.Sh DESCRIPTION -The -.Fn zip_error_strerror -function returns an error message string corresponding to -.Ar ze -like -.Xr strerror 3 . -This string will stay valid until the next call to -.Fn zip_error_strerror -or until -.Xr zip_error_fini 3 -is called. -.Sh SEE ALSO -.Xr libzip 3 , -.Xr strerror 3 , -.Xr zip_error_fini 3 -.Sh HISTORY -.Fn zip_error_strerror -was added in libzip 1.0. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_error_system_type.3 b/thirdparty/libzip-1.11.3/build-emcmake/man/zip_error_system_type.3 deleted file mode 100644 index 5a74dc0..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_error_system_type.3 +++ /dev/null @@ -1,77 +0,0 @@ -.\" zip_error_system_type.mdoc -- return system type for error -.\" Copyright (C) 2014-2017 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd December 18, 2017 -.Dt ZIP_ERROR_SYSTEM_TYPE 3 -.Os -.Sh NAME -.Nm zip_error_system_type -.Nd return type of system error -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft int -.Fn zip_error_system_type "const zip_error_t *ze" -.Sh DESCRIPTION -The -.Fn zip_error_system_type -function returns the type of the system specific part for the zip_error -.Ar ze . -Currently, the following system types are defined: -.Bl -tag -width ZIP_ET_NONE -.It Dv ZIP_ET_NONE -System specific part of -.Ar ze -is unused. -.It Dv ZIP_ET_SYS -System specific part of -.Ar ze -is an -.Xr errno 2 . -.It Dv ZIP_ET_ZLIB -System specific part of -.Ar ze -is a -.Xr zlib 3 -error. -.El -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_error_code_system 3 -.Sh HISTORY -.Fn zip_error_system_type -was added in libzip 1.0. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_error_to_data.3 b/thirdparty/libzip-1.11.3/build-emcmake/man/zip_error_to_data.3 deleted file mode 100644 index 6fdb2a3..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_error_to_data.3 +++ /dev/null @@ -1,69 +0,0 @@ -.\" zip_error_to_data.mdoc -- create error data for ZIP_SOURCE_ERROR -.\" Copyright (C) 2014-2017 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd December 18, 2017 -.Dt ZIP_ERROR_TO_DATA 3 -.Os -.Sh NAME -.Nm zip_error_to_data -.Nd convert zip_error to return value suitable for ZIP_SOURCE_ERROR -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft zip_int64_t -.Fn zip_error_to_data "const zip_error_t *ze" "void *data" "zip_uint64_t len" -.Sh DESCRIPTION -.Fn zip_error_to_data -function converts the zip_error -.Ar ze -into data suitable as return value for -.Dv ZIP_SOURCE_ERROR . -The data is written into the buffer -.Ar data -of size -.Ar len . -If the buffer is not large enough to hold 2 ints, an error is -returned. -.Sh RETURN VALUES -.Fn zip_error_to_data -returns 2*(sizeof int) on success, and \-1 on error. -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_source_function 3 -.Sh HISTORY -.Fn zip_error_to_data -was added in libzip 1.0. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_error_to_str.3 b/thirdparty/libzip-1.11.3/build-emcmake/man/zip_error_to_str.3 deleted file mode 100644 index 62b5a32..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_error_to_str.3 +++ /dev/null @@ -1,88 +0,0 @@ -.\" zip_error_to_str.mdoc -- get string representation of zip error code -.\" Copyright (C) 2003-2017 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd December 18, 2017 -.Dt ZIP_ERROR_TO_STR 3 -.Os -.Sh NAME -.Nm zip_error_to_str -.Nd get string representation of zip error (obsolete interface) -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft int -.Fn zip_error_to_str "char *buf" "zip_uint64_t len" "int ze" "int se" -.Sh DESCRIPTION -The function -.Fn zip_error_to_str -is deprecated; use -.Xr zip_error_init_with_code 3 -and -.Xr zip_error_strerror 3 -instead. -.Pp -Replace -.Bd -literal -offset indent -char buf[BUFSIZE]; -zip_error_to_str(buf, sizeof(buf), ze, se); -printf("%s", buf); -.Ed -with -.Bd -literal -offset indent -zip_error_t error; -zip_error_init_with_code(&error, ze); -printf("%s", zip_error_strerror(&error)); -zip_error_fini(&error); -.Ed -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_error_init_with_code 3 , -.Xr zip_error_strerror 3 -.Sh HISTORY -.Fn zip_error_to_str -was added in libzip 0.6. -In libzip 0.10 the type of -.Ar len -was changed from -.Vt size_t -to -.Vt zip_uint64_t . -It was deprecated in libzip 1.0, use -.Fn zip_error_init_with_code -and -.Fn zip_error_strerror -instead. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_errors.3 b/thirdparty/libzip-1.11.3/build-emcmake/man/zip_errors.3 deleted file mode 100644 index 117e2e9..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_errors.3 +++ /dev/null @@ -1,125 +0,0 @@ -.\" zip_errors.mdoc -- list of all libzip error codes -.\" Copyright (C) 1999-2024 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.\" This file was generated automatically by ./make_zip_errors.sh -.\" from ../lib/zip.h; make changes there. -.\" -.Dd March 15, 2024 -.Dt ZIP_ERRORS 3 -.Os -.Sh NAME -.Nm zip_errors -.Nd list of all libzip error codes -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Sh DESCRIPTION -The following error codes are used by libzip: -.Bl -tag -width XZIPXERXCOMPNOTSUPPXX -.It Bq Er ZIP_ER_CANCELLED -Operation cancelled. -.It Bq Er ZIP_ER_CHANGED -Entry has been changed. -.It Bq Er ZIP_ER_CLOSE -Closing zip archive failed. -.It Bq Er ZIP_ER_COMPNOTSUPP -Compression method not supported. -.It Bq Er ZIP_ER_COMPRESSED_DATA -Compressed data invalid. -.It Bq Er ZIP_ER_CRC -CRC error. -.It Bq Er ZIP_ER_DATA_LENGTH -Unexpected length of data. -.It Bq Er ZIP_ER_DELETED -Entry has been deleted. -.It Bq Er ZIP_ER_ENCRNOTSUPP -Encryption method not supported. -.It Bq Er ZIP_ER_EOF -Premature end of file. -.It Bq Er ZIP_ER_EXISTS -File already exists. -.It Bq Er ZIP_ER_INCONS -Zip archive inconsistent. -.It Bq Er ZIP_ER_INTERNAL -Internal error. -.It Bq Er ZIP_ER_INUSE -Resource still in use. -.It Bq Er ZIP_ER_INVAL -Invalid argument. -.It Bq Er ZIP_ER_MEMORY -Malloc failure. -.It Bq Er ZIP_ER_MULTIDISK -Multi-disk zip archives not supported. -.It Bq Er ZIP_ER_NOENT -No such file. -.It Bq Er ZIP_ER_NOPASSWD -No password provided. -.It Bq Er ZIP_ER_NOT_ALLOWED -Not allowed in torrentzip. -.It Bq Er ZIP_ER_NOZIP -Not a zip archive. -.It Bq Er ZIP_ER_OK -No error. -.It Bq Er ZIP_ER_OPEN -Can't open file. -.It Bq Er ZIP_ER_OPNOTSUPP -Operation not supported. -.It Bq Er ZIP_ER_RDONLY -Read-only archive. -.It Bq Er ZIP_ER_READ -Read error. -.It Bq Er ZIP_ER_REMOVE -Can't remove file. -.It Bq Er ZIP_ER_RENAME -Renaming temporary file failed. -.It Bq Er ZIP_ER_SEEK -Seek error. -.It Bq Er ZIP_ER_TELL -Tell error. -.It Bq Er ZIP_ER_TMPOPEN -Failure to create temporary file. -.It Bq Er ZIP_ER_TRUNCATED_ZIP -Possibly truncated or corrupted zip archive. -.It Bq Er ZIP_ER_WRITE -Write error. -.It Bq Er ZIP_ER_WRONGPASSWD -Wrong password provided. -.It Bq Er ZIP_ER_ZIPCLOSED -Containing zip archive was closed. -.It Bq Er ZIP_ER_ZLIB -Zlib error. -.El -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_fclose.3 b/thirdparty/libzip-1.11.3/build-emcmake/man/zip_fclose.3 deleted file mode 100644 index 42e5e80..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_fclose.3 +++ /dev/null @@ -1,65 +0,0 @@ -.\" zip_fclose.mdoc -- close file in zip archive -.\" Copyright (C) 2003-2017 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd December 18, 2017 -.Dt ZIP_FCLOSE 3 -.Os -.Sh NAME -.Nm zip_fclose -.Nd close file in zip archive -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft int -.Fn zip_fclose "zip_file_t *file" -.Sh DESCRIPTION -The -.Fn zip_fclose -function closes -.Ar file -and frees the memory allocated for it. -.Sh RETURN VALUES -Upon successful completion 0 is returned. -Otherwise, the error code is returned. -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_fopen 3 , -.Xr zip_fread 3 , -.Xr zip_fseek 3 -.Sh HISTORY -.Fn zip_fclose -was added in libzip 0.6. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_fdopen.3 b/thirdparty/libzip-1.11.3/build-emcmake/man/zip_fdopen.3 deleted file mode 100644 index ee249e5..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_fdopen.3 +++ /dev/null @@ -1,149 +0,0 @@ -.\" zip_fdopen.mdoc -- open zip archive using existing file descriptor -.\" Copyright (C) 2009-2021 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd September 23, 2022 -.Dt ZIP_FDOPEN 3 -.Os -.Sh NAME -.Nm zip_fdopen -.Nd open zip archive using open file descriptor -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft zip_t * -.Fn zip_fdopen "int fd" "int flags" "int *errorp" -.Sh DESCRIPTION -The zip archive specified by the open file descriptor -.Ar fd -is opened and a pointer to a -.Ft struct zip , -used to manipulate the archive, is returned. -In contrast to -.Xr zip_open 3 , -using -.Nm zip_fdopen -the archive can only be opened in read-only mode. -The -.Ar fd -argument may not be used any longer after calling -.Nm zip_fdopen . -The -.Fa flags -are specified by -.Em or Ns No 'ing -the following values, or 0 for none of them. -.Bl -tag -offset indent -width ZIP_CHECKCONS -.It Dv ZIP_CHECKCONS -Perform additional stricter consistency checks on the archive, and -error if they fail. -.El -.Pp -If an error occurs and -.Ar errorp -is -.No non- Ns Dv NULL , -it will be set to the corresponding error code. -.Sh RETURN VALUES -Upon successful completion -.Fn zip_fdopen -returns a -.Ft struct zip -pointer, and -.Ar fd -should not be used any longer, nor passed to -.Xr close 2 . -Otherwise, -.Dv NULL -is returned and -.Ar *errorp -is set to indicate the error. -In the error case, -.Ar fd -remains unchanged. -.Sh ERRORS -The file specified by -.Ar fd -is prepared for use by -.Xr libzip 3 -unless: -.Bl -tag -width Er -.It Bq Er ZIP_ER_INCONS -Inconsistencies were found in the file specified by -.Ar path . -This error is often caused by specifying -.Dv ZIP_CHECKCONS -but can also happen without it. -.It Bq Er ZIP_ER_INVAL -The -.Ar flags -argument is invalid. -Not all -.Xr zip_open 3 -flags are allowed for -.Nm zip_fdopen , -see -.Sx DESCRIPTION . -.It Bq Er ZIP_ER_MEMORY -Required memory could not be allocated. -.It Bq Er ZIP_ER_NOZIP -The file specified by -.Ar fd -is not a zip archive. -.It Bq Er ZIP_ER_OPEN -The file specified by -.Ar fd -could not be prepared for use by -.Xr libzip 3 . -.It Bq Er ZIP_ER_OPNOTSUPP -This functionality has been disabled at compile time. -.It Bq Er ZIP_ER_READ -A read error occurred; see -.Va errno -for details. -.It Bq Er ZIP_ER_SEEK -The file specified by -.Ar fd -does not allow seeks. -.El -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_close 3 , -.Xr zip_error_strerror 3 , -.Xr zip_open 3 -.Sh HISTORY -.Fn zip_fdopen -was added in libzip 1.0. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_file_add.3 b/thirdparty/libzip-1.11.3/build-emcmake/man/zip_file_add.3 deleted file mode 100644 index 8a6ceb7..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_file_add.3 +++ /dev/null @@ -1,175 +0,0 @@ -.\" zip_file_add.mdoc -- add files to zip archive -.\" Copyright (C) 2004-2021 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd March 18, 2024 -.Dt ZIP_FILE_ADD 3 -.Os -.Sh NAME -.Nm zip_file_add , -.Nm zip_file_replace -.Nd add file to zip archive or replace file in zip archive -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft zip_int64_t -.Fn zip_file_add "zip_t *archive" "const char *name" "zip_source_t *source" "zip_flags_t flags" -.Ft int -.Fn zip_file_replace "zip_t *archive" "zip_uint64_t index" "zip_source_t *source" "zip_flags_t flags" -.Sh DESCRIPTION -The function -.Fn zip_file_add -adds a file to a zip archive, while -.Fn zip_file_replace -replaces an existing file in a zip archive. -The argument -.Ar archive -specifies the zip archive to which the file should be added. -.Ar name -is the file's name in the zip archive (for -.Fn zip_file_add ) , -while -.Ar index -specifies which file should be replaced (for -.Fn zip_file_replace ) . -The -.Ar flags -argument can be any combination of -.Dv ZIP_FL_OVERWRITE -with one of -.Dv ZIP_FL_ENC_* : -.Bl -tag -width XZIPXFLXENCXSTRICTXX -.It Dv ZIP_FL_OVERWRITE -Overwrite any existing file of the same name. -For -.Nm zip_file_add -only. -.It Dv ZIP_FL_ENC_GUESS -Guess encoding of -.Ar name -(default). -(Only CP-437 and UTF-8 are recognized.) -.It Dv ZIP_FL_ENC_UTF_8 -Interpret -.Ar name -as UTF-8. -.It Dv ZIP_FL_ENC_CP437 -Interpret -.Ar name -as code page 437 (CP-437). -.El -The data is obtained from the -.Ar source -argument, see -.Xr zip_source 3 . -.Pp -.Em NOTE : -.Xr zip_source_free 3 -should not be called on a -.Ar source -after it was used successfully in a -.Nm zip_file_add -or -.Nm zip_file_replace -call. -.Pp -Please also note that when using -.Nm zip_replace , -the target file's extra field information will be deleted since this -usually is dependent on the file contents. -If you want to keep them, query them beforehand with -.Xr zip_file_extra_field_get 3 -and restore them after -.Nm zip_replace -with -.Xr zip_file_extra_field_set 3 . -.Sh RETURN VALUES -Upon successful completion, -.Fn zip_file_add -returns the index of the new file in the archive, and -.Fn zip_file_replace -returns 0. -Otherwise, \-1 is returned and the error code in -.Ar archive -is set to indicate the error. -.Sh EXAMPLES -.Bd -literal -offset indent -zip_source_t *s; -const char buf[]="teststring"; - -if ((s=zip_source_buffer(archive, buf, sizeof(buf), 0)) == NULL || - zip_file_add(archive, name, s, ZIP_FL_ENC_UTF_8) < 0) { - zip_source_free(s); - printf("error adding file: %s\en", zip_strerror(archive)); -} -.Ed -.Sh ERRORS -.Fn zip_file_add -and -.Fn zip_file_replace -fail if: -.Bl -tag -width Er -.It Bq Er ZIP_ER_EXISTS -There is already a file called -.Ar name -in the archive. -(Only applies to -.Fn zip_file_add , -and only if -.Dv ZIP_FL_OVERWRITE -is not provided). -.It Bq Er ZIP_ER_INVAL -.Ar source -or -.Ar name -are -.Dv NULL , -or -.Ar index -is invalid. -.It Bq Er ZIP_ER_MEMORY -Required memory could not be allocated. -.It Bq Er ZIP_ER_RDONLY -Archive was opened in read-only mode. -.El -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_source 3 -.Sh HISTORY -.Fn zip_file_add -and -.Fn zip_file_replace -were added in libzip 0.11. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_file_attributes_init.3 b/thirdparty/libzip-1.11.3/build-emcmake/man/zip_file_attributes_init.3 deleted file mode 100644 index 27ca205..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_file_attributes_init.3 +++ /dev/null @@ -1,61 +0,0 @@ -.\" zip_file_attributes_init.mdoc -- initialize attributes structure -.\" Copyright (C) 2020 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP files. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd April 17, 2020 -.Dt ZIP_FILE_ATTRIBUTES_INIT 3 -.Os -.Sh NAME -.Nm zip_file_attributes_init -.Nd initialize zip file attributes structure -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft void -.Fn zip_file_attributes_init "zip_file_attributes_t *attributes" -.Sh DESCRIPTION -The -.Fn zip_file_attributes_init -initializes a -.Vt zip_file_attributes_t -structure with default values. -It must be called before modifying such a structure for the first time. -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_source_function 3 -.Sh HISTORY -.Fn zip_file_attributes_init -was added in libzip 1.7.0. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_file_extra_field_delete.3 b/thirdparty/libzip-1.11.3/build-emcmake/man/zip_file_extra_field_delete.3 deleted file mode 100644 index a194161..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_file_extra_field_delete.3 +++ /dev/null @@ -1,130 +0,0 @@ -.\" zip_file_extra_field_delete.mdoc -- delete extra field for file in zip -.\" Copyright (C) 2012-2017 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP files. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd December 18, 2017 -.Dt ZIP_FILE_EXTRA_FIELD_DELETE 3 -.Os -.Sh NAME -.Nm zip_file_extra_field_delete , -.Nm zip_file_extra_field_delete_by_id -.Nd delete extra field for file in zip -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft int -.Fn zip_file_extra_field_delete "zip_t *archive" "zip_uint64_t index" "zip_uint16_t extra_field_index" "zip_flags_t flags" -.Ft int -.Fn zip_file_extra_field_delete_by_id "zip_t *archive" "zip_uint64_t index" "zip_uint16_t extra_field_id" "zip_uint16_t extra_field_index" "zip_flags_t flags" -.Sh DESCRIPTION -The -.Fn zip_file_extra_field_delete -function deletes the extra field with index -.Ar extra_field_index -for the file at position -.Ar index -in the zip archive. -.Pp -If -.Ar extra_field_index -is -.Dv ZIP_EXTRA_FIELD_ALL , -then all extra fields will be deleted. -.Pp -The following -.Ar flags -are supported: -.Bl -tag -width ZIP_FL_CENTRALXX -offset indent -.It Dv ZIP_FL_CENTRAL -Delete extra fields from the archive's central directory. -.It Dv ZIP_FL_LOCAL -Delete extra fields from the local file headers. -.El -.Pp -The -.Fn zip_file_extra_field_delete_by_id -function deletes the extra field with ID (two-byte signature) -.Ar extra_field_id -and index -.Ar extra_field_index -(in other words, the -.Ar extra_field_index Ns No 'th -extra field with ID -.Ar extra_field_id ) -The other arguments are the same as for -.Fn zip_file_extra_field_delete -.Dv ( ZIP_EXTRA_FIELD_ALL -will delete all extra fields of the specified ID). -.Pp -Please note that due to the library design, the index of an extra -field may be different between central directory and local file -headers. -For this reason, it is not allowed to specify both -.Dv ZIP_FL_CENTRAL -and -.Dv ZIP_FL_LOCAL -in -.Ar flags , -except when deleting all extra fields (i.e., -.Ar extra_field_index -being -.Dv ZIP_EXTRA_FIELD_ALL ) . -.Sh RETURN VALUES -Upon successful completion 0 is returned. -Otherwise, \-1 is returned and the error code in -.Ar archive -is set to indicate the error. -.Sh ERRORS -.Fn zip_file_extra_field_delete -and -.Fn zip_file_extra_field_delete_by_id -fail if: -.Bl -tag -width Er -.It Bq Er ZIP_ER_NOENT -.Ar index -is not a valid file index in -.Ar archive . -.El -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_file_extra_field_get 3 , -.Xr zip_file_extra_field_set 3 , -.Xr zip_file_extra_fields_count 3 -.Sh HISTORY -.Fn zip_file_extra_field_delete -and -.Fn zip_file_extra_field_delete_by_id -were added in libzip 0.11. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_file_extra_field_get.3 b/thirdparty/libzip-1.11.3/build-emcmake/man/zip_file_extra_field_get.3 deleted file mode 100644 index b1fa8a8..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_file_extra_field_get.3 +++ /dev/null @@ -1,157 +0,0 @@ -.\" zip_file_extra_field_get.mdoc -- get extra field for file in zip -.\" Copyright (C) 2012-2017 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP files. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd December 18, 2017 -.Dt ZIP_FILE_EXTRA_FIELD_GET 3 -.Os -.Sh NAME -.Nm zip_file_extra_field_get , -.Nm zip_file_extra_field_get_by_id -.Nd get extra field for file in zip -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft const zip_uint8_t * -.Fn zip_file_extra_field_get "zip_t *archive" "zip_uint64_t index" "zip_uint16_t extra_field_index" "zip_uint16_t *idp" "zip_uint16_t *lenp" "zip_flags_t flags" -.Ft const zip_uint8_t * -.Fn zip_file_extra_field_get_by_id "zip_t *archive" "zip_uint64_t index" "zip_uint16_t extra_field_id" "zip_uint16_t extra_field_index" "zip_uint16_t *lenp" "zip_flags_t flags" -.Sh DESCRIPTION -The -.Fn zip_file_extra_field_get -function returns the extra field with index -.Ar extra_field_index -for the file at position -.Ar index -in the zip archive. -This pointer should not be modified or -.Xr free 3 Ap d , -and becomes invalid when -.Ar archive -is closed. -If -.Ar idp -is not -.Dv NULL , -the integer to which it points will be set to the ID (two-byte -signature) of the selected extra field. -If -.Ar lenp -is not -.Dv NULL , -the integer to which it points will be set to the length of the -extra field. -Generally speaking, -.Ar lenp -and -.Ar idp -should be passed since only the extra field data is returned (i.e., -neither the ID nor the length, if the -.Ar idp -and -.Ar lenp -arguments are not provided). -.Pp -The following -.Ar flags -are supported: -.Bl -tag -width ZIP_FL_UNCHANGEDXX -offset indent -.It Dv ZIP_FL_CENTRAL -Return extra fields from the archive's central directory. -.It Dv ZIP_FL_LOCAL -Return extra fields from the local file headers. -.It Dv ZIP_FL_UNCHANGED -Return the original unchanged extra fields, ignoring any changes made. -.El -.Pp -The -.Fn zip_file_extra_field_get_by_id -function returns the extra field with ID (two-byte signature) -.Ar extra_field_id -and index -.Ar extra_field_index -(in other words, the -.Ar extra_field_index Ns No 'th -extra field with ID -.Ar extra_field_id ) -The other arguments are the same as for -.Fn zip_file_extra_field_get . -.Sh RETURN VALUES -Upon successful completion, a pointer to an extra field is returned, -or -.Dv NULL -if there is no extra field with that -.Ar extra_field_index -for the file with index -.Ar index . -In case of an error, -.Dv NULL -is returned and the error code in -.Ar archive -is set to indicate the error. -.Sh ERRORS -.Fn zip_file_extra_field_get -and -.Fn zip_file_extra_field_get_by_id -fail if: -.Bl -tag -width Er -.It Bq Er ZIP_ER_NOENT -.Ar index -is not a valid file index in -.Ar archive , -or -.Ar extra_field_index -is not a valid extra file index (for ID -.Ar extra_field_id ) . -.El -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_file_extra_field_delete 3 , -.Xr zip_file_extra_field_set 3 , -.Xr zip_file_extra_fields_count 3 -.Sh HISTORY -.Fn zip_file_extra_field_get -and -.Fn zip_file_extra_field_get_by_id -were added in libzip 0.11. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at -.Sh CAVEATS -Please note that the extra field IDs 0x0001 (ZIP64 extension), -0x6375 (Infozip UTF-8 comment), and -0x7075 (Infozip UTF-8 file name) can not be read using -.Fn zip_file_extra_field_get -since they are used by -.Xr libzip 3 -internally. diff --git a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_file_extra_field_set.3 b/thirdparty/libzip-1.11.3/build-emcmake/man/zip_file_extra_field_set.3 deleted file mode 100644 index 8646c64..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_file_extra_field_set.3 +++ /dev/null @@ -1,115 +0,0 @@ -.\" zip_file_extra_field_set.mdoc -- set extra field for file in zip -.\" Copyright (C) 2012-2017 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP files. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd December 18, 2017 -.Dt ZIP_FILE_EXTRA_FIELD_SET 3 -.Os -.Sh NAME -.Nm zip_file_extra_field_set -.Nd set extra field for file in zip -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft int -.Fn zip_file_extra_field_set "zip_t *archive" "zip_uint64_t index" "zip_uint16_t extra_field_id" "zip_uint16_t extra_field_index" "const zip_uint8_t *extra_field_data" "zip_uint16_t len" "zip_flags_t flags" -.Sh DESCRIPTION -The -.Fn zip_file_extra_field_set -function sets the extra field with ID (two-byte signature) -.Ar extra_field_id -and index -.Ar extra_field_index -for the file at position -.Ar index -in the zip archive. -The extra field's data will be set to -.Ar extra_field_data -and length -.Ar len . -If a new entry shall be appended, set -.Ar extra_field_index -to -.Dv ZIP_EXTRA_FIELD_NEW . -.Pp -At least one of the following -.Ar flags -must be set: -.Bl -tag -width ZIP_FL_CENTRALXX -offset indent -.It Dv ZIP_FL_CENTRAL -Set extra field in the archive's central directory. -.It Dv ZIP_FL_LOCAL -Set extra field in the local file headers. -.El -.Pp -Please note that the extra field IDs 0x0001 (ZIP64 extension), -0x6375 (Infozip UTF-8 comment), and -0x7075 (Infozip UTF-8 file name) can not be set using -.Fn zip_file_extra_field_set -since they are set by -.Xr libzip 3 -automatically when needed. -.Sh RETURN VALUES -Upon successful completion 0 is returned. -Otherwise, \-1 is returned and the error code in -.Ar archive -is set to indicate the error. -.Sh ERRORS -.Fn zip_file_extra_field_set -fails if: -.Bl -tag -width Er -.It Bq Er ZIP_ER_INVAL -The extra field size is too large (ID and length need 4 bytes; the -maximum length of all extra fields for one file combined is 65536 -bytes). -This error also occurs if -.Ar extra_field_index -is too large. -.It Bq Er ZIP_ER_MEMORY -Required memory could not be allocated. -.It Bq Er ZIP_ER_NOENT -.Ar index -is not a valid file index in -.Ar archive . -.El -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_file_extra_field_delete 3 , -.Xr zip_file_extra_field_get 3 , -.Xr zip_file_extra_fields_count 3 -.Sh HISTORY -.Fn zip_file_extra_field_set -was added in libzip 0.11. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_file_extra_fields_count.3 b/thirdparty/libzip-1.11.3/build-emcmake/man/zip_file_extra_fields_count.3 deleted file mode 100644 index 1b40f5e..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_file_extra_fields_count.3 +++ /dev/null @@ -1,113 +0,0 @@ -.\" zip_file_extra_fields_count.mdoc -- count extra field for file in zip -.\" Copyright (C) 2012-2017 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP files. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd December 18, 2017 -.Dt ZIP_FILE_EXTRA_FIELDS_COUNT 3 -.Os -.Sh NAME -.Nm zip_file_extra_fields_count , -.Nm zip_file_extra_fields_count_by_id -.Nd count extra fields for file in zip -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft zip_int16_t -.Fn zip_file_extra_fields_count "zip_t *archive" "zip_uint64_t index" "zip_flags_t flags" -.Ft zip_int16_t -.Fn zip_file_extra_fields_count_by_id "zip_t *archive" "zip_uint64_t index" "zip_uint16_t extra_field_id" "zip_flags_t flags" -.Sh DESCRIPTION -The -.Fn zip_file_extra_fields_count -function counts the extra fields for the file at position -.Ar index -in the zip archive. -.Pp -The following -.Ar flags -are supported: -.Bl -tag -width ZIP_FL_CENTRALXX -offset indent -.It Dv ZIP_FL_CENTRAL -Count extra fields from the archive's central directory. -.It Dv ZIP_FL_LOCAL -Count extra fields from the local file headers. -.It Dv ZIP_FL_UNCHANGED -Count the original unchanged extra fields, ignoring any changes made. -.El -.Pp -The -.Fn zip_file_extra_fields_count_by_id -function counts the extra fields with ID (two-byte signature) -.Ar extra_field_id . -The other arguments are the same as for -.Fn zip_file_extra_fields_count . -.Pp -Extra fields that are the same in the central directory and the local file -header are merged into one. -Therefore, the counts with -.Dv ZIP_FL_CENTRAL -and -.Dv ZIP_FL_LOCAL -do not need to add up to the same value as when given -.Dv ZIP_FL_CENTRAL|ZIP_FL_LOCAL -at the same time. -.Sh RETURN VALUES -Upon successful completion, the requested number of extra fields is returned. -Otherwise, \-1 is returned and the error code in -.Ar archive -is set to indicate the error. -.Sh ERRORS -.Fn zip_file_extra_fields_count -and -.Fn zip_file_extra_fields_count_by_id -fail if: -.Bl -tag -width Er -.It Bq Er ZIP_ER_NOENT -.Ar index -is not a valid file index in -.Ar archive . -.\" TODO: _zip_read_local_ef errors -.El -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_file_extra_field_delete 3 , -.Xr zip_file_extra_field_get 3 , -.Xr zip_file_extra_field_set 3 -.Sh HISTORY -.Fn zip_file_extra_fields_count -and -.Fn zip_file_extra_fields_count_by_id -were added in libzip 0.11. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_file_get_comment.3 b/thirdparty/libzip-1.11.3/build-emcmake/man/zip_file_get_comment.3 deleted file mode 100644 index dc1461c..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_file_get_comment.3 +++ /dev/null @@ -1,119 +0,0 @@ -.\" zip_file_get_comment.mdoc -- get comment for file in zip -.\" Copyright (C) 2006-2021 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP files. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd September 22, 2020 -.Dt ZIP_FILE_GET_COMMENT 3 -.Os -.Sh NAME -.Nm zip_file_get_comment -.Nd get comment for file in zip -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft const char * -.Fn zip_file_get_comment "zip_t *archive" "zip_uint64_t index" "zip_uint32_t *lenp" "zip_flags_t flags" -.Sh DESCRIPTION -The -.Fn zip_file_get_comment -function returns the comment for the file at position -.Ar index -in the zip archive. -The name is in UTF-8 encoding unless -.Dv ZIP_FL_ENC_RAW -was specified (see below). -This pointer should not be modified or -.Xr free 3 Ap d , -and becomes invalid when -.Ar archive -is closed. -If -.Ar lenp -is not -.Dv NULL , -the integer to which it points will be set to the length of the -comment. -If -.Ar flags -is set to -.Dv ZIP_FL_UNCHANGED , -the original unchanged comment is returned. -.Pp -Additionally, the following -.Ar flags -are supported: -.Bl -tag -width ZIP_FL_ENC_STRICTXX -offset indent -.It Dv ZIP_FL_ENC_RAW -Return the unmodified comment as it is in the ZIP archive. -.It Dv ZIP_FL_ENC_GUESS -(Default.) -Guess the encoding of the comment in the ZIP archive and convert it -to UTF-8, if necessary. -(Only CP-437 and UTF-8 are recognized.) -.It Dv ZIP_FL_ENC_STRICT -Follow the ZIP specification for file names and extend it to file -comments, expecting them to be encoded in CP-437 in the ZIP archive -(except if it is a UTF-8 comment from the special extra field). -Convert it to UTF-8. -.El -.Em Note : -ASCII is a subset of both CP-437 and UTF-8. -.Sh RETURN VALUES -Upon successful completion, a pointer to the comment is returned, -or -.Dv NULL -if there is no comment. -In case of an error, -.Dv NULL -is returned and the error code in -.Ar archive -is set to indicate the error. -.Sh ERRORS -.Fn zip_file_get_comment -fails if: -.Bl -tag -width Er -.It Bq Er ZIP_ER_INVAL -.Ar index -is not a valid file index in -.Ar archive . -.El -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_file_set_comment 3 , -.Xr zip_get_archive_comment 3 -.Sh HISTORY -.Fn zip_file_get_comment -was added in libzip 0.11. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_file_get_error.3 b/thirdparty/libzip-1.11.3/build-emcmake/man/zip_file_get_error.3 deleted file mode 100644 index 5680a5e..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_file_get_error.3 +++ /dev/null @@ -1,57 +0,0 @@ -.\" zip_file_get_error.mdoc -- extract zip_error from zip_file -.\" Copyright (C) 2014-2017 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd December 18, 2017 -.Dt ZIP_FILE_GET_ERROR 3 -.Os -.Sh NAME -.Nm zip_file_get_error -.Nd extract zip_error from zip_file -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft zip_error_t * -.Fn zip_file_get_error "zip_file_t *zf" -.Sh DESCRIPTION -.Fn zip_file_get_error -function returns the zip_error associated with the zip_file -.Ar zf . -.Sh SEE ALSO -.Xr libzip 3 -.Sh HISTORY -.Fn zip_file_get_error -was added in libzip 1.0. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_file_get_external_attributes.3 b/thirdparty/libzip-1.11.3/build-emcmake/man/zip_file_get_external_attributes.3 deleted file mode 100644 index fe5293a..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_file_get_external_attributes.3 +++ /dev/null @@ -1,165 +0,0 @@ -.\" zip_file_get_external_attributes.mdoc -- get external attributes for file in zip -.\" Copyright (C) 2013-2017 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP files. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd December 18, 2017 -.Dt ZIP_FILE_GET_EXTERNAL_ATTRIBUTES 3 -.Os -.Sh NAME -.Nm zip_file_get_external_attributes -.Nd get external attributes for file in zip -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft int -.Fn zip_file_get_external_attributes "zip_t *archive" "zip_uint64_t index" "zip_flags_t flags" "zip_uint8_t *opsys" "zip_uint32_t *attributes" -.Sh DESCRIPTION -The -.Fn zip_file_get_external_attributes -function returns the operating system and external attributes for the -file at position -.Ar index -in the zip archive. -The external attributes usually contain the operating system-specific -file permissions. -If -.Ar flags -is set to -.Dv ZIP_FL_UNCHANGED , -the original unchanged values are returned. -If -.Ar opsys -or -.Ar attributes -are -.Dv NULL , -they are not filled in. -.Pp -The following operating systems are defined by the zip specification: -.Bl -item -compact -offset indent -.It -.Dv ZIP_OPSYS_ACORN_RISC -.It -.Dv ZIP_OPSYS_ALTERNATE_MVS -.It -.Dv ZIP_OPSYS_AMIGA -.It -.Dv ZIP_OPSYS_ATARI_ST -.It -.Dv ZIP_OPSYS_BEOS -.It -.Dv ZIP_OPSYS_CPM -.It -.Dv ZIP_OPSYS_DOS -.It -.Dv ZIP_OPSYS_MACINTOSH -.It -.Dv ZIP_OPSYS_MVS -.It -.Dv ZIP_OPSYS_OPENVMS -.It -.Dv ZIP_OPSYS_OS_2 -.It -.Dv ZIP_OPSYS_OS_400 -.It -.Dv ZIP_OPSYS_OS_X -.It -.Dv ZIP_OPSYS_TANDEM -.It -.Dv ZIP_OPSYS_UNIX -.It -.Dv ZIP_OPSYS_VFAT -.It -.Dv ZIP_OPSYS_VM_CMS -.It -.Dv ZIP_OPSYS_VSE -.It -.Dv ZIP_OPSYS_WINDOWS_NTFS -(uncommon, use -.Dv ZIP_OPSYS_DOS -instead) -.It -.Dv ZIP_OPSYS_Z_SYSTEM -.El -.Pp -The defines above follow the PKWARE Inc. Appnote; please note that -the InfoZIP Appnote has a slightly different mapping. -.Sh RETURN VALUES -Upon successful completion, 0 is returned. -In case of an error, -.Dv \-1 -is returned and the error code in -.Ar archive -is set to indicate the error. -.Sh EXAMPLES -The following code can be used to expand -.Ar attributes -if the operating system is -.Dv ZIP_OPSYS_DOS . -.Bd -literal -#include - -#define FA_RDONLY 0x01 // FILE_ATTRIBUTE_READONLY -#define FA_DIREC 0x10 // FILE_ATTRIBUTE_DIRECTORY - -static mode_t -_zip_dos_attr2mode(zip_uint32_t attr) -{ - mode_t m = S_IRUSR | S_IRGRP | S_IROTH; - if (0 == (attr & FA_RDONLY)) - m |= S_IWUSR | S_IWGRP | S_IWOTH; - - if (attr & FA_DIREC) - m = (S_IFDIR | (m & ~S_IFMT)) | S_IXUSR | S_IXGRP | S_IXOTH; - - return m; -} -.Ed -.Sh ERRORS -.Fn zip_file_get_external_attributes -fails if: -.Bl -tag -width Er -.It Bq Er ZIP_ER_INVAL -.Ar index -is not a valid file index in -.Ar archive . -.El -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_file_set_external_attributes 3 -.Sh HISTORY -.Fn zip_file_get_external_attributes -was added in libzip 0.11.2. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_file_rename.3 b/thirdparty/libzip-1.11.3/build-emcmake/man/zip_file_rename.3 deleted file mode 100644 index c4fad6b..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_file_rename.3 +++ /dev/null @@ -1,104 +0,0 @@ -.\" zip_file_rename.mdoc -- rename file in zip archive -.\" Copyright (C) 2003-2021 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd September 22, 2020 -.Dt ZIP_FILE_RENAME 3 -.Os -.Sh NAME -.Nm zip_file_rename -.Nd rename file in zip archive -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft int -.Fn zip_file_rename "zip_t *archive" "zip_uint64_t index" "const char *name" "zip_flags_t flags" -.Sh DESCRIPTION -The file at position -.Ar index -in the zip archive -.Ar archive -is renamed to -.Ar name . -The -.Ar flags -argument can be any of: -.Bl -tag -width XZIPXFLXENCXSTRICTXX -.It Dv ZIP_FL_ENC_GUESS -Guess encoding of -.Ar name -(default). -(Only CP-437 and UTF-8 are recognized.) -.It Dv ZIP_FL_ENC_UTF_8 -Interpret -.Ar name -as UTF-8. -.It Dv ZIP_FL_ENC_CP437 -Interpret -.Ar name -as code page 437 (CP-437). -.El -.Sh RETURN VALUES -Upon successful completion 0 is returned. -Otherwise, \-1 is returned and the error code in -.Ar archive -is set to indicate the error. -.Sh ERRORS -.Fn zip_file_rename -fails if: -.Bl -tag -width Er -.It Bq Er ZIP_ER_DELETED -The file to be renamed has been deleted from the archive. -.It Bq Er ZIP_ER_EXISTS -There is already a file called -.Ar name -in the archive. -.It Bq Er ZIP_ER_INVAL -.Ar index -is not a valid file index in -.Ar archive , -.Ar name is -.Dv NULL , -the empty string, or not a valid UTF-8 encoded string. -Also a file cannot be renamed to a directory or vice versa. -Directories are denoted by a trailing slash. -.El -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_unchange 3 -.Sh HISTORY -.Fn zip_file_rename -was added in libzip 0.11. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_file_set_comment.3 b/thirdparty/libzip-1.11.3/build-emcmake/man/zip_file_set_comment.3 deleted file mode 100644 index dbc1f14..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_file_set_comment.3 +++ /dev/null @@ -1,116 +0,0 @@ -.\" zip_file_set_comment.mdoc -- set comment for file in zip -.\" Copyright (C) 2006-2021 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP files. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd September 22, 2020 -.Dt ZIP_FILE_SET_COMMENT 3 -.Os -.Sh NAME -.Nm zip_file_set_comment -.Nd set comment for file in zip -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft int -.Fn zip_file_set_comment "zip_t *archive" "zip_uint64_t index" "const char *comment" "zip_uint16_t len" "zip_flags_t flags" -.Sh DESCRIPTION -The -.Fn zip_file_set_comment -function sets the comment for the file at position -.Ar index -in the zip archive to -.Ar comment -of length -.Ar len . -If -.Ar comment -is -.Dv NULL -and -.Ar len -is 0, the file comment will be removed. -The -.Ar flags -argument can be any of: -.Bl -tag -width XZIPXFLXENCXSTRICTXX -.It Dv ZIP_FL_ENC_GUESS -Guess encoding of -.Ar comment -(default). -(Only CP-437 and UTF-8 are recognized.) -.It Dv ZIP_FL_ENC_UTF_8 -Interpret -.Ar comment -as UTF-8. -.It Dv ZIP_FL_ENC_CP437 -Interpret -.Ar comment -as code page 437 (CP-437). -.El -.Sh RETURN VALUES -Upon successful completion 0 is returned. -Otherwise, \-1 is returned and the error information in -.Ar archive -is set to indicate the error. -.Sh ERRORS -.Fn zip_file_set_comment -fails if: -.Bl -tag -width Er -.It Bq Er ZIP_ER_INVAL -.Ar index -is not a valid file index in -.Ar archive , -or -.Ar len -is less than 0 or longer than the maximum comment length in a zip file -(65535), or -.Ar comment -is not a valid UTF-8 encoded string. -.It Bq Er ZIP_ER_MEMORY -Required memory could not be allocated. -.It Bq Er ZIP_ER_RDONLY -The -.Ar archive -was opened in read-only mode. -.El -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_file_get_comment 3 , -.Xr zip_get_archive_comment 3 , -.Xr zip_set_archive_comment 3 -.Sh HISTORY -.Fn zip_file_set_comment -was added in libzip 0.11. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_file_set_encryption.3 b/thirdparty/libzip-1.11.3/build-emcmake/man/zip_file_set_encryption.3 deleted file mode 100644 index 9071947..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_file_set_encryption.3 +++ /dev/null @@ -1,121 +0,0 @@ -.\" zip_file_set_encryption.mdoc -- set encryption method for file -.\" Copyright (C) 2016-2021 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP files. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd April 2, 2020 -.Dt ZIP_FILE_SET_ENCRYPTION 3 -.Os -.Sh NAME -.Nm zip_file_set_encryption -.Nd set encryption method for file in zip -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft int -.Fn zip_file_set_encryption "zip_t *archive" "zip_uint64_t index" "zip_uint16_t method" "const char *password" -.Sh DESCRIPTION -The -.Fn zip_file_set_encryption -function sets the encryption method for the file at position -.Ar index -in the zip archive to -.Ar method -using the password -.Ar password . -The -.Ar method -is the same as returned by -.Xr zip_stat 3 . -For the -.Ar method -argument, currently only the following values are supported: -.Bl -tag -width ZIP_CM_DEFLATE_XX -.It Dv ZIP_EM_NONE -No encryption. -.It Dv ZIP_EM_AES_128 -Winzip AES-128 encryption. -.It Dv ZIP_EM_AES_192 -Winzip AES-192 encryption. -.It Dv ZIP_EM_AES_256 -Winzip AES-256 encryption. -.It Dv ZIP_EM_TRAD_PKWARE -Traditional PKWare encryption. -Do not use this method, it is not secure. -It is only provided for backwards compatibility. -.El -.Pp -If -.Ar password -is -.Dv NULL , -the default password provided by -.Xr zip_set_default_password 3 -is used. -.Pp -The current encryption method for a file in a zip archive can be -determined using -.Xr zip_stat 3 . -.Sh RETURN VALUES -Upon successful completion 0 is returned. -Otherwise, \-1 is returned and the error information in -.Ar archive -is set to indicate the error. -.Sh ERRORS -.Fn zip_file_set_encryption -fails if: -.Bl -tag -width Er -.It Bq Er ZIP_ER_ENCRNOTSUPP -Unsupported compression method requested. -.It Bq Er ZIP_ER_INVAL -.Ar index -is not a valid file index in -.Ar archive , -or the argument combination is invalid. -.It Bq Er ZIP_ER_MEMORY -Required memory could not be allocated. -.It Bq Er ZIP_ER_RDONLY -Read-only zip file, no changes allowed. -.El -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_encryption_method_supported 3 , -.Xr zip_fopen_encrypted 3 , -.Xr zip_fopen_index_encrypted 3 , -.Xr zip_set_default_password 3 , -.Xr zip_stat 3 -.Sh HISTORY -.Fn zip_file_set_encryption -was added in libzip 1.2.0. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_file_set_external_attributes.3 b/thirdparty/libzip-1.11.3/build-emcmake/man/zip_file_set_external_attributes.3 deleted file mode 100644 index 1043df6..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_file_set_external_attributes.3 +++ /dev/null @@ -1,89 +0,0 @@ -.\" zip_file_set_external_attributes.mdoc -- set external attributes for file in zip -.\" Copyright (C) 2013-2017 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP files. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd December 18, 2017 -.Dt ZIP_FILE_SET_EXTERNAL_ATTRIBUTES 3 -.Os -.Sh NAME -.Nm zip_file_set_external_attributes -.Nd set external attributes for file in zip -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft int -.Fn zip_file_set_external_attributes "zip_t *archive" "zip_uint64_t index" "zip_flags_t flags" "zip_uint8_t opsys" "zip_uint32_t attributes" -.Sh DESCRIPTION -The -.Fn zip_file_set_external_attributes -function sets the operating system and external attributes for the -file at position -.Ar index -in the zip archive. -Currently, no -.Ar flags -are supported. -.Pp -For a list of known -.Ar opsys -values, see -.Xr zip_file_get_external_attributes 3 . -.Sh RETURN VALUES -Upon successful completion 0 is returned. -Otherwise, \-1 is returned and the error information in -.Ar archive -is set to indicate the error. -.Sh ERRORS -.Fn zip_file_set_external_attributes -fails if: -.Bl -tag -width Er -.It Bq Er ZIP_ER_INVAL -.Ar index -is not a valid file index in -.Ar archive . -.It Bq Er ZIP_ER_MEMORY -Required memory could not be allocated. -.It Bq Er ZIP_ER_RDONLY -The -.Ar archive -was opened in read-only mode. -.El -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_file_get_external_attributes 3 -.Sh HISTORY -.Fn zip_file_set_external_attributes -was added in libzip 0.11.2. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_file_set_mtime.3 b/thirdparty/libzip-1.11.3/build-emcmake/man/zip_file_set_mtime.3 deleted file mode 100644 index f1a63bd..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_file_set_mtime.3 +++ /dev/null @@ -1,126 +0,0 @@ -.\" zip_file_set_mtime.mdoc -- set mtime for file in zip -.\" Copyright (C) 2014-2022 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP files. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd June 18, 2022 -.Dt ZIP_FILE_SET_MTIME 3 -.Os -.Sh NAME -.Nm zip_file_set_dostime , -.Nm zip_file_set_mtime -.Nd set last modification time (mtime) for file in zip -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft int -.Fn zip_file_set_dostime "zip_t *archive" "zip_uint64_t index" "zip_uint16_t dostime" "zip_uint16_t dosdate" "zip_flags_t flags" -.Ft int -.Fn zip_file_set_mtime "zip_t *archive" "zip_uint64_t index" "time_t mtime" "zip_flags_t flags" -.Sh DESCRIPTION -The -.Fn zip_file_set_mtime -function sets the last modification time (mtime) for the file at -position -.Ar index -in the zip archive to -.Ar mtime . -Currently, no support for any -.Ar flags -is implemented. -.Pp -In the zip archive, the time and date are saved as two 16-bit integers. -To set the values directly, call the -.Fn zip_file_set_dostime -function. -The values of the time bytes are defined as follows: -.Bl -tag -width 5n -offset indent -.It 0-4 -seconds divided by two (1-2 = 1, 3-4 = 2, ...) -.It 5-10 -minute (0-59) -.It 11-15 -hour (0-23) -.El -.Pp -The values of the date bytes are defined as follows: -.Bl -tag -width 5n -offset indent -.It 0-4 -day of the month (1-31) -.It 5-8 -month (January = 1, February = 2, ...) -.It 9-15 -year offset from 1980 (1980 = 0, 1981 = 1, ...) -.El -.Sh RETURN VALUES -Upon successful completion 0 is returned. -Otherwise, \-1 is returned and the error information in -.Ar archive -is set to indicate the error. -.Sh ERRORS -.Fn zip_file_set_dostime -and -.Fn zip_file_set_mtime -fail if: -.Bl -tag -width Er -.It Bq Er ZIP_ER_INVAL -.Ar index -is not a valid file index in -.Ar archive . -.It Bq Er ZIP_ER_MEMORY -Required memory could not be allocated. -.It Bq Er ZIP_ER_OPNOTSUPP -Traditional PKWare encryption uses the file's mtime, therefore it cannot be changed without re-encrypting the data. -.It Bq Er ZIP_ER_RDONLY -The -.Ar archive -was opened in read-only mode. -.El -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_stat 3 -.Sh HISTORY -.Fn zip_file_set_mtime -was added in libzip 1.0. -.Fn zip_file_set_dostime -was added in libzip 1.6. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at -.Sh CAVEATS -Following historical practice, the -.Fn zip_file_set_mtime -function translates the time from the zip archive into the local time -zone. -If you want to avoid this, use the -.Fn zip_file_set_dostime -function instead. diff --git a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_file_strerror.3 b/thirdparty/libzip-1.11.3/build-emcmake/man/zip_file_strerror.3 deleted file mode 100644 index 498fcc2..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_file_strerror.3 +++ /dev/null @@ -1,85 +0,0 @@ -.\" zip_file_strerror.mdoc -- get string representation for a zip error -.\" Copyright (C) 2003-2021 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd December 18, 2017 -.Dt ZIP_FILE_STRERROR 3 -.Os -.Sh NAME -.Nm zip_file_strerror , -.Nm zip_strerror -.Nd get string representation for a zip error -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft const char * -.Fn zip_file_strerror "zip_file_t *file" -.Ft const char * -.Fn zip_strerror "zip_t *archive" -.Sh DESCRIPTION -The -.Fn zip_strerror -function returns a string describing the last error for the zip archive -.Ar archive , -while the -.Fn zip_file_strerror -function does the same for a zip file -.Ar file -(one file in an archive). -The returned string must not be modified or freed, and becomes invalid when -.Ar archive -or -.Ar file , -respectively, -is closed or on the next call to -.Fn zip_strerror -or -.Fn zip_file_strerror , -respectively, -for the same archive. -.Sh RETURN VALUES -.Fn zip_file_strerror -and -.Fn zip_strerror -return a pointer to the error string. -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_error_strerror 3 -.Sh HISTORY -.Fn zip_file_strerror -and -.Fn zip_strerror -were added in libzip 0.6. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_fopen.3 b/thirdparty/libzip-1.11.3/build-emcmake/man/zip_fopen.3 deleted file mode 100644 index d86bdb9..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_fopen.3 +++ /dev/null @@ -1,148 +0,0 @@ -.\" zip_fopen.mdoc -- open file in zip archive for reading -.\" Copyright (C) 2003-2017 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd December 18, 2017 -.Dt ZIP_FOPEN 3 -.Os -.Sh NAME -.Nm zip_fopen , -.Nm zip_fopen_index -.Nd open file in zip archive for reading -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft zip_file_t * -.Fn zip_fopen "zip_t *archive" "const char *fname" "zip_flags_t flags" -.Ft zip_file_t * -.Fn zip_fopen_index "zip_t *archive" "zip_uint64_t index" "zip_flags_t flags" -.Sh DESCRIPTION -The -.Fn zip_fopen -function opens the file name -.Ar fname -in -.Ar archive . -The -.Ar flags -argument specifies how the name lookup should be done, according to -the values are described in -.Xr zip_name_locate 3 . -Also, the following values may be -.Em or Ns No 'ed -to it. -.Bl -tag -offset indent -width ZIP_FL_COMPRESSED -.It Dv ZIP_FL_COMPRESSED -Read the compressed data. -Otherwise the data is uncompressed by -.Fn zip_fread . -.It Dv ZIP_FL_UNCHANGED -Read the original data from the zip archive, ignoring any changes made -to the file; this is not supported by all data sources. -.El -.Pp -The -.Fn zip_fopen_index -function opens the file at position -.Ar index . -.Pp -If encrypted data is encountered, the functions call -.Xr zip_fopen_encrypted 3 -or -.Xr zip_fopen_index_encrypted 3 -respectively, using the default password set with -.Xr zip_set_default_password 3 . -.Sh RETURN VALUES -Upon successful completion, a -.Ft struct zip_file -pointer is returned. -Otherwise, -.Dv NULL -is returned and the error code in -.Ar archive -is set to indicate the error. -.Sh ERRORS -.Bl -tag -width Er -.It Bq Er ZIP_ER_CHANGED -The file data has been changed and the data source does -not support rereading data. -.It Bq Er ZIP_ER_COMPNOTSUPP -The compression method used is not supported. -.It Bq Er ZIP_ER_ENCRNOTSUPP -The encryption method used is not supported. -.It Bq Er ZIP_ER_MEMORY -Required memory could not be allocated. -.It Bq Er ZIP_ER_NOPASSWD -The file is encrypted, but no password has been provided. -.It Bq Er ZIP_ER_READ -A file read error occurred. -.It Bq Er ZIP_ER_SEEK -A file seek error occurred. -.It Bq Er ZIP_ER_WRONGPASSWD -The provided password does not match the password used for encryption. -Note that some incorrect passwords are not detected by the check done by -.Fn zip_fopen . -.It Bq Er ZIP_ER_ZLIB -Initializing the zlib stream failed. -.El -.Pp -The function -.Fn zip_fopen -may also fail and set -.Va zip_err -for any of the errors specified for the routine -.Xr zip_name_locate 3 . -.Pp -The function -.Fn zip_fopen_index -may also fail with -.Er ZIP_ER_INVAL -if -.Ar index -is invalid. -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_fclose 3 , -.Xr zip_fread 3 , -.Xr zip_fseek 3 , -.Xr zip_get_num_entries 3 , -.Xr zip_name_locate 3 , -.Xr zip_set_default_password 3 -.Sh HISTORY -.Fn zip_fopen -and -.Fn zip_fopen_index -were added in libzip 1.0. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_fopen_encrypted.3 b/thirdparty/libzip-1.11.3/build-emcmake/man/zip_fopen_encrypted.3 deleted file mode 100644 index 9428798..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_fopen_encrypted.3 +++ /dev/null @@ -1,135 +0,0 @@ -.\" zip_fopen_encrypted.mdoc -- open encrypted file in zip archive for reading -.\" Copyright (C) 2011-2021 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd September 15, 2020 -.Dt ZIP_FOPEN_ENCRYPTED 3 -.Os -.Sh NAME -.Nm zip_fopen_encrypted , -.Nm zip_fopen_index_encrypted -.Nd open encrypted file in zip archive for reading -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft zip_file_t * -.Fn zip_fopen_encrypted "zip_t *archive" "const char *fname" "zip_flags_t flags" "const char *password" -.Ft zip_file_t * -.Fn zip_fopen_index_encrypted "zip_t *archive" "zip_uint64_t index" "zip_flags_t flags" "const char *password" -.Sh DESCRIPTION -The -.Fn zip_fopen_encrypted -function opens the encrypted file name -.Ar fname -in -.Ar archive -using the password given in the -.Ar password -argument. -If -.Ar password -is -.Dv NULL -or the empty string, the default password is used (see -.Xr zip_set_default_password 3 ) . -The -.Ar flags -argument are the same as for -.Xr zip_fopen 3 . -.Pp -The -.Fn zip_fopen_index_encrypted -function opens the file at position -.Ar index , -see -.Xr zip_fopen_index 3 . -These functions are called automatically by -.Xr zip_fopen 3 ; -you only need to call them if you want to specify a non-default password -(see -.Xr zip_set_default_password 3 ) . -.Sh RETURN VALUES -Upon successful completion, a -.Ft struct zip_file -pointer is returned. -Otherwise, -.Dv NULL -is returned and the error code in -.Ar archive -is set to indicate the error. -.Sh ERRORS -.Bl -tag -width ZIP_ER_ENCRNOTSUPPXX -.It Bq Er ZIP_ER_NOPASSWD -No password was provided. -.El -.Pp -The function -.Fn zip_fopen_encrypted -may also fail and set -.Va zip_err -for any of the errors specified for the routine -.Xr zip_fopen 3 . -.Pp -The function -.Fn zip_fopen_index_encrypted -may also fail and set -.Va zip_err -for any of the errors specified for the routine -.Xr zip_fopen_index 3 . -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_fclose 3 , -.Xr zip_fopen 3 , -.Xr zip_fread 3 , -.Xr zip_get_num_entries 3 , -.Xr zip_name_locate 3 -.Sh HISTORY -.Fn zip_fopen_encrypted -and -.Fn zip_fopen_index_encrypted -were added in libzip 1.0. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at -.Sh CAVEATS -The zip file format provides very limited possibility for password -verification (a short hash of is compared against one byte in the zip -archive). -For this reason, reading a file while using an incorrect password may -immediately fail with -.Er ZIP_ER_WRONGPASSWD , -but if the mismatch is not detected, a zlib error may be returned -later instead. -Since zlib errors can also be caused by broken compressed data, there -is no way to make sure if the password was incorrect or if it was -correct, but the compressed data was invalid. diff --git a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_fread.3 b/thirdparty/libzip-1.11.3/build-emcmake/man/zip_fread.3 deleted file mode 100644 index 3371298..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_fread.3 +++ /dev/null @@ -1,85 +0,0 @@ -.\" zip_fread.mdoc -- read from file -.\" Copyright (C) 2003-2022 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd September 11, 2024 -.Dt ZIP_FREAD 3 -.Os -.Sh NAME -.Nm zip_fread -.Nd read from file -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft zip_int64_t -.Fn zip_fread "zip_file_t *file" "void *buf" "zip_uint64_t nbytes" -.Sh DESCRIPTION -The -.Fn zip_fread -function reads up to -.Ar nbytes -bytes from -.Ar file -into -.Ar buf -from the current position in the file (see -.Xr zip_fseek 3 ) . -After reading, the current position is updated by the number of bytes read. -.Sh RETURN VALUES -If successful, the number of bytes actually read is returned. -When -.Fn zip_fread -is called after reaching the end of the file, 0 is returned. -In case of error, \-1 is returned. -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_fclose 3 , -.Xr zip_file_get_error 3 , -.Xr zip_fopen 3 , -.Xr zip_fseek 3 -.Sh HISTORY -.Fn zip_fread -was added in libzip 0.6. -In libzip 0.10 the return type was changed from -.Vt ssize_t -to -.Vt zip_int64_t . -In libzip 0.10 the type of -.Ar nbytes -was changed from -.Vt size_t -to -.Vt zip_uint64_t . -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_fseek.3 b/thirdparty/libzip-1.11.3/build-emcmake/man/zip_fseek.3 deleted file mode 100644 index 3ba5a9e..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_fseek.3 +++ /dev/null @@ -1,89 +0,0 @@ -.\" zip_fseek.mdoc -- seek in file -.\" Copyright (C) 2016-2022 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd September 11, 2024 -.Dt ZIP_FSEEK 3 -.Os -.Sh NAME -.Nm zip_fseek , -.Nm zip_file_is_seekable -.Nd seek in file -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft zip_int8_t -.Fn zip_fseek "zip_file_t *file" "zip_int64_t offset" "int whence" -.Ft int -.Fn zip_file_is_seekable "zip_file_t *file" -.Sh DESCRIPTION -The -.Fn zip_fseek -function seeks to the specified -.Ar offset -relative to -.Ar whence , -just like -.Xr fseek 3 . -.Pp -.Nm -only works on uncompressed (stored), unencrypted data. -When called on compressed or encrypted data it will return an error. -.Pp -The -.Fn zip_file_is_seekable -function returns 1 if a file is seekable. -.Sh RETURN VALUES -If successful, -.Fn zip_fseek -returns 0. -Otherwise, \-1 is returned. -.Pp -.Fn zip_file_is_seekable -returns 1 if a file is seekable and 0 if not. -On an invalid argument, it returns \-1. -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_fclose 3 , -.Xr zip_file_get_error 3 , -.Xr zip_fopen 3 , -.Xr zip_fread 3 , -.Xr zip_ftell 3 -.Sh HISTORY -.Fn zip_fseek -was added in libzip 1.2.0. -.Fn zip_file_is_seekable -was added in libzip 1.9.0. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_ftell.3 b/thirdparty/libzip-1.11.3/build-emcmake/man/zip_ftell.3 deleted file mode 100644 index e045634..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_ftell.3 +++ /dev/null @@ -1,67 +0,0 @@ -.\" zip_ftell.mdoc -- tell position in file -.\" Copyright (C) 2016-2021 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd September 11, 2024 -.Dt ZIP_FTELL 3 -.Os -.Sh NAME -.Nm zip_ftell -.Nd tell position in file -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft zip_int64_t -.Fn zip_ftell "zip_file_t *file" -.Sh DESCRIPTION -The -.Fn zip_ftell -function reports the current offset in the file. -.Sh RETURN VALUES -If successful, -.Nm -returns the current file position. -Otherwise, \-1 is returned. -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_fclose 3 , -.Xr zip_file_get_error 3 , -.Xr zip_fopen 3 , -.Xr zip_fread 3 , -.Xr zip_fseek 3 -.Sh HISTORY -.Fn zip_ftell -was added in libzip 1.2.0. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_get_archive_comment.3 b/thirdparty/libzip-1.11.3/build-emcmake/man/zip_get_archive_comment.3 deleted file mode 100644 index d8f2e9b..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_get_archive_comment.3 +++ /dev/null @@ -1,112 +0,0 @@ -.\" zip_get_archive_comment.mdoc -- get zip archive comment -.\" Copyright (C) 2006-2021 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd September 22, 2020 -.Dt ZIP_GET_ARCHIVE_COMMENT 3 -.Os -.Sh NAME -.Nm zip_get_archive_comment -.Nd get zip archive comment -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft const char * -.Fn zip_get_archive_comment "zip_t *archive" "int *lenp" "zip_flags_t flags" -.Sh DESCRIPTION -The -.Fn zip_get_archive_comment -function returns the comment for the entire zip archive. -The return value is in UTF-8 encoding unless -.Dv ZIP_FL_ENC_RAW -was specified (see below). -This pointer should not be modified or -.Xr free 3 Ap d , -and becomes invalid when -.Ar archive -is closed. -If -.Ar lenp -is not -.Dv NULL , -the integer to which it points will be set to the length of the -comment. -If -.Ar flags -is set to -.Dv ZIP_FL_UNCHANGED , -the original unchanged comment is returned. -.Pp -Additionally, the following -.Ar flags -are supported: -.Bl -tag -width ZIP_FL_ENC_STRICTXX -offset indent -.It Dv ZIP_FL_ENC_RAW -Return the unmodified archive comment as it is in the ZIP archive. -.It Dv ZIP_FL_ENC_GUESS -(Default.) -Guess the encoding of the archive comment in the ZIP archive and convert it -to UTF-8, if necessary. -(Only CP-437 and UTF-8 are recognized.) -.It Dv ZIP_FL_ENC_STRICT -Follow the ZIP specification for file names and extend it to the -archive comment, thus also expecting it in CP-437 encoding. -Convert it to UTF-8. -.El -.Em Note : -ASCII is a subset of both CP-437 and UTF-8. -.Sh RETURN VALUES -Upon successful completion, a pointer to the comment is returned, -or -.Dv NULL -if there is no comment. -.\" In case of an error, -.\" .Dv NULL -.\" is returned and the error code in -.\" .Ar archive -.\" is set to indicate the error. -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_file_get_comment 3 -.Sh HISTORY -.Fn zip_get_archive_comment -was added in libzip 0.7. -In libzip 0.11 the type of -.Ar flags -was changed from -.Vt int -to -.Vt zip_flags_t . -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_get_archive_flag.3 b/thirdparty/libzip-1.11.3/build-emcmake/man/zip_get_archive_flag.3 deleted file mode 100644 index 2edf7cf..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_get_archive_flag.3 +++ /dev/null @@ -1,110 +0,0 @@ -.\" zip_get_archive_flag.mdoc -- get comment for file in zip -.\" Copyright (C) 2008-2017 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP files. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd January 23, 2023 -.Dt ZIP_GET_ARCHIVE_FLAG 3 -.Os -.Sh NAME -.Nm zip_get_archive_flag -.Nd get status flags for zip -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft int -.Fn zip_get_archive_flag "zip_t *archive" "zip_flags_t flag" "zip_flags_t flags" -.Sh DESCRIPTION -The -.Fn zip_get_archive_flag -function returns if the flag -.Ar flag -is set for the archive -.Ar archive . -The archive flags might have been changed with -.Fn zip_set_archive_flag ; -if -.Ar flags -is set to -.Dv ZIP_FL_UNCHANGED , -the original unchanged flags are tested. -.Pp -Supported flags are: -.Bl -tag -width XZIPXAFLXRDONLYXXX -.It Dv ZIP_AFL_CREATE_OR_KEEP_FILE_FOR_EMPTY_ARCHIVE -If this flag is cleared, the archive file will be removed if the archive is empty. -If it is set, an empty archive will be created, which is not recommended by the zip specification. -This flag is always cleared unless explicitly set by the user with -.Xr zip_set_archive_flag 3 . -.It Dv ZIP_AFL_IS_TORRENTZIP -The archive is in torrentzip format. -.It Dv ZIP_AFL_RDONLY -The archive is read-only. -.It Dv ZIP_AFL_WANT_TORRENTZIP -If the flag is set, the archive will be written in torrentzip format. -This flag is always cleared unless explicitly set by the user with -.Xr zip_set_archive_flag 3 . -.El -.Sh RETURN VALUES -.Fn zip_get_archive_flag -returns 1 if -.Ar flag -is set for -.Ar archive , -0 if not, -and \-1 if an error occurred. -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_set_archive_flag 3 -.Sh HISTORY -.Fn zip_get_archive_flag -was added in libzip 0.9. -In libzip 0.11 the type of -.Ar flag -was changed from -.Vt int -to -.Vt zip_flags_t m -and the type of -.Ar flags -was changed from -.Vt int -to -.Vt zip_flags_t . -.Dv ZIP_AFL_CREATE_OR_KEEP_FILE_FOR_EMPTY_ARCHIVE , -.Dv ZIP_AFL_IS_TORRENTZIP , -and -.Dv ZIP_AFL_WANT_TORRENTZIP -were added in libzip 1.10.0. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_get_error.3 b/thirdparty/libzip-1.11.3/build-emcmake/man/zip_get_error.3 deleted file mode 100644 index 6af6f21..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_get_error.3 +++ /dev/null @@ -1,60 +0,0 @@ -.\" zip_get_error.mdoc -- get zip_error for archive -.\" Copyright (C) 2014-2017 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd December 18, 2017 -.Dt ZIP_GET_ERROR 3 -.Os -.Sh NAME -.Nm zip_get_error -.Nd get zip error for archive -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft zip_error_t * -.Fn zip_get_error "zip_t *archive" -.Sh DESCRIPTION -The -.Fn zip_get_error -function returns the zip error for the zip archive -.Ar archive . -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_error_code_system 3 , -.Xr zip_error_code_zip 3 -.Sh HISTORY -.Fn zip_get_error -was added in libzip 1.0. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_get_file_comment.3 b/thirdparty/libzip-1.11.3/build-emcmake/man/zip_get_file_comment.3 deleted file mode 100644 index 1b9676b..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_get_file_comment.3 +++ /dev/null @@ -1,73 +0,0 @@ -.\" zip_get_file_comment.mdoc -- get comment for file in zip -.\" Copyright (C) 2006-2017 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP files. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd December 18, 2017 -.Dt ZIP_GET_FILE_COMMENT 3 -.Os -.Sh NAME -.Nm zip_get_file_comment -.Nd get comment for file in zip (obsolete interface) -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft const char * -.Fn zip_get_file_comment "zip_t *archive" "zip_uint64_t index" "int *lenp" "int flags" -.Sh DESCRIPTION -The -.Fn zip_get_file_comment -function is the obsolete version of -.Xr zip_file_get_comment 3 . -The only differences are the types of the -.Ar lenp -and -.Ar flags -arguments. -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_file_get_comment 3 -.Sh HISTORY -.Fn zip_get_file_comment -was added in libzip 0.7. -In libzip 0.10 the type of -.Ar index -was changed from -.Vt int -to -.Vt zip_uint64_t . -It was deprecated in libzip 0.11, use -.Fn zip_file_get_comment -instead. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_get_name.3 b/thirdparty/libzip-1.11.3/build-emcmake/man/zip_get_name.3 deleted file mode 100644 index 9b4fea6..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_get_name.3 +++ /dev/null @@ -1,132 +0,0 @@ -.\" zip_get_name.mdoc -- get name of file by index -.\" Copyright (C) 2003-2021 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd September 22, 2020 -.Dt ZIP_GET_NAME 3 -.Os -.Sh NAME -.Nm zip_get_name -.Nd get name of file by index -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft const char * -.Fn zip_get_name "zip_t *archive" "zip_uint64_t index" "zip_flags_t flags" -.Sh DESCRIPTION -The -.Fn zip_get_name -function returns the name of the file at position -.Ar index -in -.Ar archive . -The name is in UTF-8 encoding unless -.Dv ZIP_FL_ENC_RAW -was specified (see below). -.Pp -If -.Ar flags -is set to -.Dv ZIP_FL_UNCHANGED , -the original unchanged filename is returned. -The returned string must not be modified or freed, and becomes invalid when -.Ar archive -is closed. -.Pp -Additionally, the following -.Ar flags -are supported: -.Bl -tag -width ZIP_FL_ENC_STRICTXX -offset indent -.It Dv ZIP_FL_ENC_RAW -Return the unmodified names as it is in the ZIP archive. -.It Dv ZIP_FL_ENC_GUESS -(Default.) -Guess the encoding of the name in the ZIP archive and convert it -to UTF-8, if necessary. -(Only CP-437 and UTF-8 are recognized.) -.It Dv ZIP_FL_ENC_STRICT -Follow the ZIP specification and expect CP-437 encoded names in -the ZIP archive (except if they are explicitly marked as UTF-8). -Convert it to UTF-8. -.El -.Em Note : -ASCII is a subset of both CP-437 and UTF-8. -.Sh RETURN VALUES -Upon successful completion, a pointer to the name is returned. -Otherwise, -.Dv NULL -and the error code in -.Ar archive -is set to indicate the error. -.Sh ERRORS -.Fn zip_get_name -fails if: -.Bl -tag -width Er -.It Bq Er ZIP_ER_DELETED -.Ar index -refers to a file that has been deleted -(see -.Xr zip_delete 3 ) . -.It Bq Er ZIP_ER_INVAL -.Ar index -is not a valid file index in -.Ar archive , -or -.Ar index -points to an added file and -.Dv ZIP_FL_UNCHANGED -is set. -.It Bq Er ZIP_ER_MEMORY -Required memory could not be allocated. -.El -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_name_locate 3 -.Sh HISTORY -.Fn zip_get_name -was added in libzip 0.6. -In libzip 0.10 the type of -.Ar index -was changed from -.Vt int -to -.Vt zip_uint64_t . -In libzip 0.11 the type of -.Ar flags -was changed from -.Vt int -to -.Vt zip_flags_t . -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_get_num_entries.3 b/thirdparty/libzip-1.11.3/build-emcmake/man/zip_get_num_entries.3 deleted file mode 100644 index 1bc6072..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_get_num_entries.3 +++ /dev/null @@ -1,88 +0,0 @@ -.\" zip_get_num_entries.mdoc -- get number of files in archive -.\" Copyright (C) 2011-2017 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd August 19, 2022 -.Dt ZIP_GET_NUM_ENTRIES 3 -.Os -.Sh NAME -.Nm zip_get_num_entries -.Nd get number of entries in archive -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft zip_int64_t -.Fn zip_get_num_entries "zip_t *archive" "zip_flags_t flags" -.Sh DESCRIPTION -The -.Fn zip_get_num_entries -function returns the number of entries in -.Ar archive . -Entries are all files that are present in the original archive or that -were added while the archive is open. -This includes deleted files, since -indices are not renumbered until the archive is closed. -(This allows one to refer to deleted files, e. g. to undelete them.) -.Pp -If -.Ar flags -is set to -.Dv ZIP_FL_UNCHANGED , -the original number of files is returned. -.Sh RETURN VALUES -.Fn zip_get_num_entries -returns the number of entries in the zip archive, -or \-1 if -.Ar archive -is -.Dv NULL . -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_fopen_index 3 , -.Xr zip_stat_index 3 -.Sh HISTORY -.Fn zip_get_num_entries -was added in libzip 0.10. -In libzip 0.11 the return type was changed from -.Vt zip_uint64_t -to -.Vt zip_int64_t . -In libzip 0.11 the type of -.Ar flags -was changed from -.Vt int -to -.Vt zip_flags_t . -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_get_num_files.3 b/thirdparty/libzip-1.11.3/build-emcmake/man/zip_get_num_files.3 deleted file mode 100644 index b18c06d..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_get_num_files.3 +++ /dev/null @@ -1,75 +0,0 @@ -.\" zip_get_num_files.mdoc -- get number of files in archive -.\" Copyright (C) 2003-2017 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd December 18, 2017 -.Dt ZIP_GET_NUM_FILES 3 -.Os -.Sh NAME -.Nm zip_get_num_files -.Nd get number of files in archive (obsolete interface) -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft int -.Fn zip_get_num_files "zip_t *archive" -.Sh DESCRIPTION -.Em This function is deprecated . -.Em Use -.Xr zip_get_num_entries 3 -.Em instead . -.Pp -The -.Fn zip_get_num_files -function returns the number of files in -.Ar archive . -.Sh RETURN VALUES -.Fn zip_get_num_files -returns the number of files in the zip archive, -or \-1 if -.Ar archive -is -.Dv NULL . -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_fopen_index 3 , -.Xr zip_stat_index 3 -.Sh HISTORY -.Fn zip_get_num_files -was added in libzip 0.6. -It was deprecated in libzip 0.11, use -.Fn zip_get_num_entries instead -instead. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_libzip_version.3 b/thirdparty/libzip-1.11.3/build-emcmake/man/zip_libzip_version.3 deleted file mode 100644 index 04af461..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_libzip_version.3 +++ /dev/null @@ -1,66 +0,0 @@ -.\" zip_libzip_version.mdoc -- return run-time version of library -.\" Copyright (C) 2017 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd December 18, 2017 -.Dt ZIP_LIBZIP_VERSION 3 -.Os -.Sh NAME -.Nm zip_libzip_version -.Nd return run-time version of library -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft const char * -.Fn zip_libzip_version void -.Sh DESCRIPTION -.Nm -returns the version number of the library as string in the format -.Dq $MAJOR.$MINOR.$MICRO$SUFFIX -where -.Ar $MAJOR -is the major version, -.Ar $MINOR -the minor, -.Ar $MICRO -the micro, and -.Ar $SUFFIX -a suffix that's only set for development versions. -.Sh SEE ALSO -.Xr libzip 3 -.Sh HISTORY -.Fn zip_libzip_version -was added in libzip 1.3.1. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_name_locate.3 b/thirdparty/libzip-1.11.3/build-emcmake/man/zip_name_locate.3 deleted file mode 100644 index 612c2a6..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_name_locate.3 +++ /dev/null @@ -1,148 +0,0 @@ -.\" zip_name_locate.mdoc -- get index of file by name -.\" Copyright (C) 2003-2022 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd March 15, 2022 -.Dt ZIP_NAME_LOCATE 3 -.Os -.Sh NAME -.Nm zip_name_locate -.Nd get index of file by name -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft zip_int64_t -.Fn zip_name_locate "zip_t *archive" "const char *fname" "zip_flags_t flags" -.Sh DESCRIPTION -The -.Fn zip_name_locate -function returns the index of the file named -.Ar fname -in -.Ar archive . -If -.Ar archive -does not contain a file with that name, \-1 is returned. -.Pp -If neither -.Dv ZIP_FL_ENC_RAW -nor -.Dv ZIP_FL_ENC_STRICT -are specified, guess the encoding of the name in the ZIP archive and convert it -to UTF-8, if necessary, before comparing. -.Pp -If neither -.Dv ZIP_FL_ENC_CP437 -nor -.Dv ZIP_FL_ENC_UTF_8 -are specified, guess the encoding of -.Ar fname . -.Pp -Only CP-437 and UTF-8 are recognized. -.Pp -The -.Fa flags -are specified by -.Em or Ns No 'ing -the following values, or 0 for none of them. -.Bl -tag -offset indent -width ZIP_FL_ENC_STRICT -.It Dv ZIP_FL_NOCASE -Ignore case distinctions. -(Will only work well if the file names are ASCII.) -With this flag, -.Fn zip_name_locate -will be slow for archives with many files. -.It Dv ZIP_FL_NODIR -Ignore directory part of file name in archive. -With this flag, -.Fn zip_name_locate -will be slow for archives with many files. -.It Dv ZIP_FL_ENC_GUESS -This flag has no effect (its value is 0); it can be used to explicitly denote the absence of encoding flags. -.It Dv ZIP_FL_ENC_RAW -Compare -.Ar fname -against the unmodified names as they are in the ZIP archive, without converting them to UTF-8. -.It Dv ZIP_FL_ENC_STRICT -Follow the ZIP specification and expect CP-437 encoded names in -the ZIP archive (except if they are explicitly marked as UTF-8). -Convert them to UTF-8 before comparing. -.It Dv ZIP_FL_ENC_CP437 -.Ar fname -is encoded as CP-437. -.It Dv ZIP_FL_ENC_UTF_8 -.Ar fname -is encoded as UTF-8. -.El -.Pp -.Em Note : -ASCII is a subset of both CP-437 and UTF-8. -.Sh RETURN VALUES -.Fn zip_name_locate -returns the index of the file named -.Ar fname -or \-1, if -.Ar archive -does not contain an entry of that name. -.Sh ERRORS -.Fn zip_name_locate -fails if: -.Bl -tag -width Er -.It Bq Er ZIP_ER_INVAL -One of the arguments is invalid. -.It Bq Er ZIP_ER_MEMORY -Required memory could not be allocated. -.It Bq Er ZIP_ER_NOENT -No entry of the name -.Ar fname -is found in the archive. -.El -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_get_name 3 -.Sh HISTORY -.Fn zip_name_locate -was added in libzip 0.6. -In libzip 0.11 the return type was changed from -.Vt int -to -.Vt zip_int64_t . -In libzip 0.11 the type of -.Ar flags -was changed from -.Vt int -to -.Vt zip_flags_t . -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_open.3 b/thirdparty/libzip-1.11.3/build-emcmake/man/zip_open.3 deleted file mode 100644 index 5a8357a..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_open.3 +++ /dev/null @@ -1,192 +0,0 @@ -.\" zip_open.mdoc -- open zip archive -.\" Copyright (C) 2003-2022 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd October 9, 2022 -.Dt ZIP_OPEN 3 -.Os -.Sh NAME -.Nm zip_open , -.Nm zip_open_from_source -.Nd open zip archive -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft zip_t * -.Fn zip_open "const char *path" "int flags" "int *errorp" -.Ft zip_t * -.Fn zip_open_from_source "zip_source_t *zs" "int flags" "zip_error_t *ze" -.Sh DESCRIPTION -The -.Fn zip_open -function opens the zip archive specified by -.Ar path -and returns a pointer to a -.Ft struct zip , -used to manipulate the archive. -The -.Fa flags -are specified by -.Em or Ns No 'ing -the following values, or 0 for none of them. -.Bl -tag -offset indent -width ZIP_CHECKCONS -.It Dv ZIP_CHECKCONS -Perform additional stricter consistency checks on the archive, and -error if they fail. -.It Dv ZIP_CREATE -Create the archive if it does not exist. -.It Dv ZIP_EXCL -Error if archive already exists. -.It Dv ZIP_TRUNCATE -If archive exists, ignore its current contents. -In other words, handle it the same way as an empty archive. -.It Dv ZIP_RDONLY -Open archive in read-only mode. -.El -.Pp -If an error occurs and -.Ar errorp -is -.Pf non- Dv NULL , -it will be set to the corresponding error code. -.Pp -The -.Fn zip_open_from_source -function opens a zip archive encapsulated by the zip_source -.Fa zs -using the provided -.Fa flags . -In case of error, the zip_error -.Fa ze -is filled in. -.Sh RETURN VALUES -Upon successful completion -.Fn zip_open -and -.Fn zip_open_from_source -return a -.Ft struct zip -pointer. -Otherwise, -.Dv NULL -is returned and -.Fn zip_open -sets -.Ar *errorp -to indicate the error, while -.Fn zip_open_from source -sets -.Ar ze -to indicate the error. -.Sh EXAMPLES -Here's an example of how you could report errors during -.Nm : -.Bd -literal - zip_t *za; - int err; - - if ((za = zip_open(name, 0, &err)) == NULL) { - zip_error_t error; - zip_error_init_with_code(&error, err); - fprintf(stderr, "%s: cannot open zip archive '%s': %s\en", - progname, name, zip_error_strerror(&error)); - zip_error_fini(&error); - return -1; - } -.Ed -.Sh ERRORS -The archive specified by -.Ar path -is opened unless: -.Bl -tag -width Er -.It Bq Er ZIP_ER_EXISTS -The file specified by -.Ar path -exists and -.Dv ZIP_EXCL -is set. -.It Bq Er ZIP_ER_INCONS -Inconsistencies were found in the file specified by -.Ar path . -This error is often caused by specifying -.Dv ZIP_CHECKCONS -but can also happen without it. -.It Bq Er ZIP_ER_INVAL -The -.Ar path -argument is -.Dv NULL . -.It Bq Er ZIP_ER_MEMORY -Required memory could not be allocated. -.It Bq Er ZIP_ER_NOENT -The file specified by -.Ar path -does not exist and -.Dv ZIP_CREATE -is not set. -.It Bq Er ZIP_ER_NOZIP -The file specified by -.Ar path -is not a zip archive. -.It Bq Er ZIP_ER_OPEN -The file specified by -.Ar path -could not be opened. -.It Bq Er ZIP_ER_READ -A read error occurred; see -.Va errno -for details. -.It Bq Er ZIP_ER_SEEK -The file specified by -.Ar path -does not allow seeks. -.El -For newly created archives, -.Fn zip_open -does not try to create the file; this is done when calling -.Xr zip_close 3 -and any errors, like missing write permissions, will -be reported then. -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_close 3 , -.Xr zip_error_strerror 3 , -.Xr zip_fdopen 3 -.Sh HISTORY -.Fn zip_open -and -.Fn zip_open_from_source -were added in libzip 1.0. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_register_cancel_callback_with_state.3 b/thirdparty/libzip-1.11.3/build-emcmake/man/zip_register_cancel_callback_with_state.3 deleted file mode 100644 index 59705ae..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_register_cancel_callback_with_state.3 +++ /dev/null @@ -1,84 +0,0 @@ -.\" zip_register_cancel_callback_with_state.mdoc -- allow cancelling during zip_close -.\" Copyright (C) 2021-2022 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd June 18, 2022 -.Dt ZIP_REGISTER_CANCEL_CALLBACK_WITH_STATE 3 -.Os -.Sh NAME -.Nm zip_register_cancel_callback_with_state -.Nd allow cancelling during zip_close -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Vt typedef int (*zip_cancel_callback)(zip_t *, void *); -.Ft void -.Fn zip_register_cancel_callback_with_state "zip_t *archive" "zip_cancel_callback callback" "void (*ud_free)(void *)" "void *ud" -.Sh DESCRIPTION -This function can be used to cancel writing of a zip archive during -.Xr zip_close 3 . -.Pp -The -.Fn zip_register_cancel_callback_with_state -function registers a callback function -.Ar callback -for the zip archive -.Ar archive . -The -.Ar ud_free -function is called during cleanup for deleting the userdata supplied in -.Ar ud . -.Pp -The callback function is called during -.Xr zip_close 3 -in regular intervals (after every zip archive entry that's completely -written to disk, and while writing data for entries) with zip archive -.Ar archive -and the user-provided user-data -.Ar ud -as arguments. -When the callback function returns a non-zero value, writing is cancelled and -.Xr zip_close 3 -returns an error. -.Pp -The callback function should be fast, since it will be called often. -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_close 3 , -.Xr zip_register_progress_callback_with_state 3 -.Sh HISTORY -.Fn zip_register_cancel_callback_with_state -was added in libzip 1.6.0. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_register_progress_callback.3 b/thirdparty/libzip-1.11.3/build-emcmake/man/zip_register_progress_callback.3 deleted file mode 100644 index 69cc4f5..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_register_progress_callback.3 +++ /dev/null @@ -1,77 +0,0 @@ -.\" zip_register_progress_callback.mdoc -- provide updates during zip_close -.\" Copyright (C) 2016-2017 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd December 18, 2017 -.Dt ZIP_REGISTER_PROGRESS_CALLBACK 3 -.Os -.Sh NAME -.Nm zip_register_progress_callback -.Nd provide updates during zip_close (obsolete interface) -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Vt typedef void (*zip_progress_callback_t)(double); -.Ft void -.Fn zip_register_progress_callback "zip_t *archive" "zip_progress_callback_t progress_callback" -.Sh DESCRIPTION -The function -.Fn zip_register_progress_callback -is the obsolete version of -.Xr zip_register_progress_callback_with_state 3 . -.Pp -The -.Fn zip_register_progress_callback -function registers a callback function -.Ar progress_callback -for the zip archive -.Ar archive . -This function is called during -.Xr zip_close 3 -after every zip archive entry that's completely written to disk. -The value is a -.Vt double -in the range from 0.0 to 1.0. -This can be used to provide progress indicators for user interfaces. -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_close 3 -.Sh HISTORY -.Fn zip_register_progress_callback -was added in libzip 1.2.0. -It was deprecated in libzip 1.3.0, use -.Fn zip_register_progress_callback_with_state -instead. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_register_progress_callback_with_state.3 b/thirdparty/libzip-1.11.3/build-emcmake/man/zip_register_progress_callback_with_state.3 deleted file mode 100644 index 4ee88e6..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_register_progress_callback_with_state.3 +++ /dev/null @@ -1,87 +0,0 @@ -.\" zip_register_progress_callback_with_state.mdoc -- provide updates during zip_close -.\" Copyright (C) 2017-2021 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd December 18, 2017 -.Dt ZIP_REGISTER_PROGRESS_CALLBACK_WITH_STATE 3 -.Os -.Sh NAME -.Nm zip_register_progress_callback_with_state -.Nd provide updates during zip_close -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Vt typedef void (*zip_progress_callback)(zip_t *, double, void *); -.Ft void -.Fn zip_register_progress_callback_with_state "zip_t *archive" "double precision" "zip_progress_callback callback" "void (*ud_free)(void *)" "void *ud" -.Sh DESCRIPTION -The -.Fn zip_register_progress_callback_with_state -function registers a callback function -.Ar callback -for the zip archive -.Ar archive . -The -.Ar precision -argument is a double in the range from 0.00 to 1.0 that defines the -smallest change for which the callback should be called (to avoid too -frequent calls). -The -.Ar ud_free -function is called during cleanup for deleting the userdata supplied in -.Ar ud . -.Pp -The callback function is called during -.Xr zip_close 3 -in regular intervals (after every zip archive entry that's completely -written to disk, and while writing data for entries) with zip archive -.Ar archive , -the current progression state as a -.Vt double , -and the user-provided user-data -.Ar ud -as arguments. -The progression state is a -.Vt double -in the range from 0.0 to 1.0. -This can be used to provide progress indicators for user interfaces. -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_close 3 , -.Xr zip_register_cancel_callback_with_state 3 -.Sh HISTORY -.Fn zip_register_progress_callback_with_state -was added in libzip 1.3.0. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_rename.3 b/thirdparty/libzip-1.11.3/build-emcmake/man/zip_rename.3 deleted file mode 100644 index 5a53880..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_rename.3 +++ /dev/null @@ -1,70 +0,0 @@ -.\" zip_rename.mdoc -- rename file in zip archive -.\" Copyright (C) 2003-2017 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd December 18, 2017 -.Dt ZIP_RENAME 3 -.Os -.Sh NAME -.Nm zip_rename -.Nd rename file in zip archive (obsolete interface) -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft int -.Fn zip_rename "zip_t *archive" "zip_uint64_t index" "const char *name" -.Sh DESCRIPTION -.Fn zip_rename -is the obsolete version of -.Xr zip_file_rename 3 . -It is the same as calling -.Xr zip_file_rename 3 -with an empty flags argument. -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_file_rename 3 -.Sh HISTORY -.Fn zip_rename -was added in libzip 0.6. -In libzip 0.10 the type of -.Ar index -was changed from -.Vt int -to -.Vt zip_uint64_t . -It was deprecated in libzip 0.11, use -.Fn zip_file_rename -instead. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_set_archive_comment.3 b/thirdparty/libzip-1.11.3/build-emcmake/man/zip_set_archive_comment.3 deleted file mode 100644 index a6aaea1..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_set_archive_comment.3 +++ /dev/null @@ -1,93 +0,0 @@ -.\" zip_set_archive_comment.mdoc -- set zip archive comment -.\" Copyright (C) 2006-2021 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd December 18, 2017 -.Dt ZIP_SET_ARCHIVE_COMMENT 3 -.Os -.Sh NAME -.Nm zip_set_archive_comment -.Nd set zip archive comment -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft int -.Fn zip_set_archive_comment "zip_t *archive" "const char *comment" "zip_uint16_t len" -.Sh DESCRIPTION -The -.Fn zip_set_archive_comment -function sets the comment for the entire zip archive. -If -.Ar comment -is -.Dv NULL -and -.Ar len -is 0, the archive comment will be removed. -.Ar comment -must be encoded in ASCII or UTF-8. -.Sh RETURN VALUES -Upon successful completion 0 is returned. -Otherwise, \-1 is returned and the error information in -.Ar archive -is set to indicate the error. -.Sh ERRORS -.Fn zip_set_archive_comment -fails if: -.Bl -tag -width Er -.It Bq Er ZIP_ER_INVAL -.Ar len -is less than 0 or longer than the maximum comment length in a zip file -(65535), or -.Ar comment -is not a valid UTF-8 encoded string. -.It Bq Er ZIP_ER_MEMORY -Required memory could not be allocated. -.El -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_file_get_comment 3 , -.Xr zip_file_set_comment 3 , -.Xr zip_get_archive_comment 3 -.Sh HISTORY -.Fn zip_set_archive_comment -was added in libzip 0.7. -In libzip 0.11 the type of -.Ar len -was changed from -.Vt int -to -.Vt zip_uint16_t . -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_set_archive_flag.3 b/thirdparty/libzip-1.11.3/build-emcmake/man/zip_set_archive_flag.3 deleted file mode 100644 index ee0a246..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_set_archive_flag.3 +++ /dev/null @@ -1,90 +0,0 @@ -.\" zip_set_archive_flag.mdoc -- set zip archive flag -.\" Copyright (C) 2008-2017 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd July 19, 2023 -.Dt ZIP_SET_ARCHIVE_FLAG 3 -.Os -.Sh NAME -.Nm zip_set_archive_flag -.Nd set zip archive flag -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft int -.Fn zip_set_archive_flag "zip_t *archive" "zip_flags_t flag" "int value" -.Sh DESCRIPTION -The -.Fn zip_set_archive_flag -function sets the flag -.Ar flag -for the archive -.Ar archive -to the value -.Ar value . -.Pp -Supported flags are: -.Bl -tag -width XZIPXAFLXRDONLYXXX -.It Dv ZIP_AFL_CREATE_OR_KEEP_FILE_FOR_EMPTY_ARCHIVE -If this flag is cleared, the archive file will be removed if the archive is empty. -If it is set, an empty archive will be created, which is not recommended by the zip specification. -.It Dv ZIP_AFL_RDONLY -If this flag is set, no modification to the archive are allowed. -This flag can only be cleared if it was manually set with -.Nm , -not if the archive was opened read-only. -.It Dv ZIP_AFL_WANT_TORRENTZIP -If this flag is set, the archive will be written in torrentzip format. -.El -.Sh RETURN VALUES -Upon successful completion 0 is returned, and \-1 if an error -occurred. -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_get_archive_flag 3 -.Sh HISTORY -.Fn zip_set_archive_flag -was added in libzip 0.9. -In libzip 0.11 the type of -.Ar flag -was changed from -.Vt int -to -.Vt zip_flags_t . -.Dv ZIP_AFL_CREATE_OR_KEEP_FILE_FOR_EMPTY_ARCHIVE -and -.Dv ZIP_AFL_WANT_TORRENTZIP -were added in libzip 1.10.0. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_set_default_password.3 b/thirdparty/libzip-1.11.3/build-emcmake/man/zip_set_default_password.3 deleted file mode 100644 index f2574ca..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_set_default_password.3 +++ /dev/null @@ -1,90 +0,0 @@ -.\" zip_set_default_password.mdoc -- set default password for zip -.\" Copyright (C) 2011-2021 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP files. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd September 15, 2020 -.Dt ZIP_SET_DEFAULT_PASSWORD 3 -.Os -.Sh NAME -.Nm zip_set_default_password -.Nd set default password for encrypted files in zip -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft int -.Fn zip_set_default_password "zip_t *archive" "const char *password" -.Sh DESCRIPTION -The -.Fn zip_set_default_password -function sets the default password used when accessing encrypted files. -If -.Ar password -is -.Dv NULL -or the empty string, the default password is unset. -.Pp -If you prefer a different password for single files, use -.Xr zip_fopen_encrypted 3 -instead of -.Xr zip_fopen 3 . -Usually, however, the same password is used for every file in an -zip archive. -.Pp -The password is not verified when calling this function. -See the -.Sx CAVEATS -section in -.Xr zip_fopen_encrypted 3 -for more details about password handling. -.Sh RETURN VALUES -Upon successful completion 0 is returned. -Otherwise, \-1 is returned and the error information in -.Ar archive -is set to indicate the error. -.Sh ERRORS -.Fn zip_set_default_password -fails if: -.Bl -tag -width Er -.It Bq Er ZIP_ER_MEMORY -Required memory could not be allocated. -.El -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_fopen 3 , -.Xr zip_fopen_encrypted 3 -.Sh HISTORY -.Fn zip_set_default_password -was added in libzip 0.10. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_set_file_comment.3 b/thirdparty/libzip-1.11.3/build-emcmake/man/zip_set_file_comment.3 deleted file mode 100644 index 242597d..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_set_file_comment.3 +++ /dev/null @@ -1,79 +0,0 @@ -.\" zip_set_file_comment.mdoc -- set comment for file in zip -.\" Copyright (C) 2006-2017 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP files. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd December 18, 2017 -.Dt ZIP_SET_FILE_COMMENT 3 -.Os -.Sh NAME -.Nm zip_set_file_comment -.Nd set comment for file in zip (obsolete interface) -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft int -.Fn zip_set_file_comment "zip_t *archive" "zip_uint64_t index" "const char *comment" "int len" -.Sh DESCRIPTION -The -.Fn zip_set_file_comment -function is the obsolete version of -.Xr zip_file_set_comment 3 . -The only differences are the type of the -.Ar len -argument and the additional -.Ar flags -argument. -.Fn zip_set_file_comment -is the same as calling -.Xr zip_file_set_comment 3 -with an empty -.Ar flags -argument. -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_file_set_comment 3 -.Sh HISTORY -.Fn zip_set_file_comment -was added in libzip 0.7. -In libzip 0.10 the type of -.Ar index -was changed from -.Vt int -to -.Vt zip_uint64_t . -It was deprecated in libzip 0.11, use -.Fn zip_file_set_comment -instead. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_set_file_compression.3 b/thirdparty/libzip-1.11.3/build-emcmake/man/zip_set_file_compression.3 deleted file mode 100644 index b58dcb6..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_set_file_compression.3 +++ /dev/null @@ -1,146 +0,0 @@ -.\" zip_set_file_compression.mdoc -- set compression method and its flags -.\" Copyright (C) 2012-2021 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP files. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd February 2, 2023 -.Dt ZIP_SET_FILE_COMPRESSION 3 -.Os -.Sh NAME -.Nm zip_set_file_compression -.Nd set compression method for file in zip -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft int -.Fn zip_set_file_compression "zip_t *archive" "zip_uint64_t index" "zip_int32_t comp" "zip_uint32_t comp_flags" -.Sh DESCRIPTION -The -.Fn zip_set_file_compression -function sets the compression method for the file at position -.Ar index -in the zip archive to -.Ar comp -with the compression method specific -.Ar comp_flags . -The -.Ar comp -is the same as returned by -.Xr zip_stat 3 . -For the -.Ar comp -argument, currently only the following values are supported: -.Bl -tag -width ZIP_CM_DEFLATE_XX -.It Dv ZIP_CM_DEFAULT -default compression; currently the same as -.Dv ZIP_CM_DEFLATE , -but -.Ar flags -are ignored. -.It Dv ZIP_CM_STORE -Store the file uncompressed. -.It Dv ZIP_CM_BZIP2 -Compress the file using the -.Xr bzip2 1 -algorithm. -.It Dv ZIP_CM_DEFLATE -Deflate the file with the -.Xr zlib 3 -algorithm and default options. -.It Dv ZIP_CM_XZ -Use the -.Xr xz 1 -algorithm for compression -.It Dv ZIP_CM_ZSTD -Use the -.Xr zstd 1 -algorithm for compression -.El -.Pp -.Em NOTE : -Only the deflate and store methods can be assumed to be universally -supported. -.Pp -The -.Ar comp_flags -argument defines the compression level. -This value is dependent on the compression algorithm. -In general, lower numbers mean faster de/compression and higher -numbers mean slower de/compression. -For -.Dv ZIP_CM_BZIP , -.Dv ZIP_CM_DEFLATE , -and -.Dv ZIP_CM_XZ -1 is the fastest compression and 9 the best, 0 chooses the default. -For -.Dv ZIP_CM_ZSTD -possible values are -.Xr ZSTD_minCLevel 3 -to -.Xr ZSTD_maxCLevel 3 ; negative values must be cast to -.Ft zip_uint32_t . -.Pp -Further compression method specific flags might be added over time. -.Pp -The current compression method for a file in a zip archive can be -determined using -.Xr zip_stat 3 . -.Sh RETURN VALUES -Upon successful completion 0 is returned. -Otherwise, \-1 is returned and the error information in -.Ar archive -is set to indicate the error. -.Sh ERRORS -.Fn zip_set_file_compression -fails if: -.Bl -tag -width Er -.It Bq Er ZIP_ER_COMPNOTSUPP -Unsupported compression method requested. -.It Bq Er ZIP_ER_INVAL -.Ar index -is not a valid file index in -.Ar archive , -or the argument combination is invalid. -.It Bq Er ZIP_ER_RDONLY -Read-only zip file, no changes allowed. -.El -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_compression_method_supported 3 , -.Xr zip_stat 3 -.Sh HISTORY -.Fn zip_set_file_compression -was added in libzip 0.11. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source.3 b/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source.3 deleted file mode 100644 index fd748fd..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source.3 +++ /dev/null @@ -1,90 +0,0 @@ -.\" zip_source.mdoc -- description of zip data source -.\" Copyright (C) 2014-2021 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd December 18, 2017 -.Dt ZIP_SOURCE 3 -.Os -.Sh NAME -.Nm zip_source -.Nd zip data source structure -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Vt zip_source_t *zs ; -.Sh DESCRIPTION -A -.Vt struct zip_source -is a data source used by -.Xr libzip 3 -for adding or replacing file contents for a file in a zip archive. -If the source supports seeking, it can also be used to open zip archives from. -It is created by calling one of -.Xr zip_source_buffer 3 , -.Xr zip_source_buffer_create 3 , -.Xr zip_source_file 3 , -.Xr zip_source_file_create 3 , -.Xr zip_source_filep 3 , -.Xr zip_source_filep_create 3 , -.Xr zip_source_function 3 , -.Xr zip_source_function_create 3 , -.Xr zip_source_window 3 , -or -.Xr zip_source_zip 3 . -.Vt zip_source_t -is reference counted, and created with a reference count of 1. -.Xr zip_open_from_source 3 , -.Xr zip_file_add 3 , -and -.Xr zip_file_replace 3 -will decrement the reference count of the -.Vt zip_source_t -when they are done using it, so -.Xr zip_source_free 3 -only needs to be called when these functions return an error. -Use -.Xr zip_source_keep 3 -to increase the reference count, for example if you need the source after -.Xr zip_close 3 . -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_source_buffer 3 , -.Xr zip_source_file 3 , -.Xr zip_source_filep 3 , -.Xr zip_source_free 3 , -.Xr zip_source_function 3 , -.Xr zip_source_window 3 , -.Xr zip_source_zip 3 -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_begin_write.3 b/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_begin_write.3 deleted file mode 100644 index 8bcd555..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_begin_write.3 +++ /dev/null @@ -1,89 +0,0 @@ -.\" zip_source_begin_write.mdoc -- prepare zip source for writing -.\" Copyright (C) 2014-2017 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd December 18, 2017 -.Dt ZIP_SOURCE_BEGIN_WRITE 3 -.Os -.Sh NAME -.Nm zip_source_begin_write , -.Nm zip_source_begin_write_cloning -.Nd prepare zip source for writing -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft int -.Fn zip_source_begin_write "zip_source_t *source" -.Ft int -.Fn zip_source_begin_write_cloning "zip_source_t *source" "zip_uint64_t offset" -.Sh DESCRIPTION -The functions -.Fn zip_source_begin_write -and -.Fn zip_source_begin_write_cloning -prepare -.Fa source -for writing. -Usually this involves creating temporary files or allocating buffers. -.Pp -.Fn zip_source_begin_write_cloning -preserves the first -.Ar offset -bytes of the original file. -This is done efficiently, and writes to -.Ar source -won't overwrite the original data until -.Fn zip_commit_write -is called. -.Sh RETURN VALUES -Upon successful completion 0 is returned. -Otherwise, \-1 is returned and the error information in -.Ar source -is set to indicate the error. -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_source 3 , -.Xr zip_source_commit_write 3 , -.Xr zip_source_rollback_write 3 , -.Xr zip_source_seek_write 3 , -.Xr zip_source_tell_write 3 , -.Xr zip_source_write 3 -.Sh HISTORY -.Fn zip_source_begin_write -was added in libzip 1.0. -.Pp -.Fn zip_source_begin_write_cloning -was added in libzip 1.4.0. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_buffer.3 b/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_buffer.3 deleted file mode 100644 index 148ceed..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_buffer.3 +++ /dev/null @@ -1,102 +0,0 @@ -.\" zip_source_buffer.mdoc -- create zip data source from buffer -.\" Copyright (C) 2004-2021 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd December 18, 2017 -.Dt ZIP_SOURCE_BUFFER 3 -.Os -.Sh NAME -.Nm zip_source_buffer , -.Nm zip_source_buffer_create -.Nd create zip data source from buffer -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft zip_source_t * -.Fn zip_source_buffer "zip_t *archive" "const void *data" "zip_uint64_t len" "int freep" -.Ft zip_source_t * -.Fn zip_source_buffer_create "const void *data" "zip_uint64_t len" "int freep" "zip_error_t *error" -.Sh DESCRIPTION -The functions -.Fn zip_source_buffer -and -.Fn zip_source_buffer_create -create a zip source from the buffer -.Ar data -of size -.Ar len . -If -.Ar freep -is non-zero, the buffer will be freed when it is no longer needed. -.Ar data -must remain valid for the lifetime of the created source. -.Pp -The source can be used to open a zip archive from. -.Sh RETURN VALUES -Upon successful completion, the created source is returned. -Otherwise, -.Dv NULL -is returned and the error code in -.Ar archive -or -.Ar error -is set to indicate the error. -.Sh ERRORS -.Fn zip_source_buffer -and -.Fn zip_source_buffer_create -fail if: -.Bl -tag -width Er -.It Bq Er ZIP_ER_INVAL -.Ar len -is greater than zero and -.Ar data -is -.Dv NULL . -.It Bq Er ZIP_ER_MEMORY -Required memory could not be allocated. -.El -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_file_add 3 , -.Xr zip_file_replace 3 , -.Xr zip_open_from_source 3 , -.Xr zip_source 3 -.Sh HISTORY -.Fn zip_source_buffer -and -.Fn zip_source_buffer_create -were added in libzip 1.0. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_buffer_fragment.3 b/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_buffer_fragment.3 deleted file mode 100644 index c452ef7..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_buffer_fragment.3 +++ /dev/null @@ -1,112 +0,0 @@ -.\" zip_source_buffer_fragment.mdoc -- create zip data source from multiple buffers -.\" Copyright (C) 2004-2021 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd December 18, 2017 -.Dt ZIP_SOURCE_BUFFER_FRAGMENT 3 -.Os -.Sh NAME -.Nm zip_source_buffer_fragment , -.Nm zip_source_buffer_fragment_create -.Nd create zip data source from multiple buffer -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft zip_source_t * -.Fn zip_source_buffer_fragment "zip_t *archive" "zip_buffer_fragment_t *fragments" "zip_uint64_t nfragments" "int freep" -.Ft zip_source_t * -.Fn zip_source_buffer_fragment_create "zip_buffer_fragment_t *fragments" "zip_uint64_t nfragments" "int freep" "zip_error_t *error" -.Sh DESCRIPTION -The functions -.Fn zip_source_buffer_fragment -and -.Fn zip_source_buffer_fragment_create -create a zip source from the data in -.Ar fragments . -.Ar nfragments -specifies the number of fragments. -If -.Ar freep -is non-zero, the data will be freed when it is no longer needed. -.Bd -literal -struct zip_stat { - zip_uint8_t *data; /* pointer to the actual data */ - zip_uint64_t length; /* length of this fragment */ -}; -.Ed -.Pp -The data -.Ar fragments -point to must remain valid for the lifetime of the created source. -.Ar fragments -itself can be discarded once the source is created. -.Pp -The source can be used to open a zip archive from. -.Sh RETURN VALUES -Upon successful completion, the created source is returned. -Otherwise, -.Dv NULL -is returned and the error code in -.Ar archive -or -.Ar error -is set to indicate the error. -.Sh ERRORS -.Fn zip_source_buffer -and -.Fn zip_source_buffer_create -fail if: -.Bl -tag -width Er -.It Bq Er ZIP_ER_INVAL -.Ar nfragments -is greater than zero and -.Ar fragments -is -.Dv NULL . -.It Bq Er ZIP_ER_MEMORY -Required memory could not be allocated. -.El -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_file_add 3 , -.Xr zip_file_replace 3 , -.Xr zip_open_from_source 3 , -.Xr zip_source 3 -.Sh HISTORY -.Fn zip_source_buffer_fragment -and -.Fn zip_source_buffer_fragment_create -were added in libzip 1.4.0. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_close.3 b/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_close.3 deleted file mode 100644 index 05c7ed1..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_close.3 +++ /dev/null @@ -1,67 +0,0 @@ -.\" zip_source_close.mdoc -- close zip source (open for reading) -.\" Copyright (C) 2014-2021 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd December 18, 2017 -.Dt ZIP_SOURCE_CLOSE 3 -.Os -.Sh NAME -.Nm zip_source_close -.Nd close zip_source (which was open for reading) -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft int -.Fn zip_source_close "zip_source_t *source" -.Sh DESCRIPTION -The function -.Fn zip_source_close -closes -.Fa source , -indicating that no more data will be read. -.Sh RETURN VALUES -Upon successful completion 0 is returned. -Otherwise, \-1 is returned and the error information in -.Ar source -is set to indicate the error. -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_source 3 , -.Xr zip_source_free 3 , -.Xr zip_source_open 3 -.Sh HISTORY -.Fn zip_source_close -was added in libzip 1.0. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_commit_write.3 b/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_commit_write.3 deleted file mode 100644 index 9deae6b..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_commit_write.3 +++ /dev/null @@ -1,70 +0,0 @@ -.\" zip_source_commit_write.mdoc -- finalize changes to zip source -.\" Copyright (C) 2014-2017 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd December 18, 2017 -.Dt ZIP_SOURCE_COMMIT_WRITE 3 -.Os -.Sh NAME -.Nm zip_source_commit_write -.Nd finalize changes to zip source -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft int -.Fn zip_source_commit_write "zip_source_t *source" -.Sh DESCRIPTION -The function -.Fn zip_source_commit_write -finishes writing data to -.Fa source -and replaces the original with the newly written data. -.Sh RETURN VALUES -Upon successful completion 0 is returned. -Otherwise, \-1 is returned and the error information in -.Ar source -is set to indicate the error. -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_source 3 , -.Xr zip_source_begin_write 3 , -.Xr zip_source_rollback_write 3 , -.Xr zip_source_seek_write 3 , -.Xr zip_source_tell_write 3 , -.Xr zip_source_write 3 -.Sh HISTORY -.Fn zip_source_commit_write -was added in libzip 1.0. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_error.3 b/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_error.3 deleted file mode 100644 index 291a144..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_error.3 +++ /dev/null @@ -1,60 +0,0 @@ -.\" zip_source_error.mdoc -- get zip_error for data source -.\" Copyright (C) 2014-2017 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd December 18, 2017 -.Dt ZIP_SOURCE_ERROR 3 -.Os -.Sh NAME -.Nm zip_source_error -.Nd get zip error for data source -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft zip_error_t * -.Fn zip_source_error "zip_source_t *source" -.Sh DESCRIPTION -The -.Fn zip_source_error -function returns the zip error for the data source -.Ar source . -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_error_code_system 3 , -.Xr zip_error_code_zip 3 -.Sh HISTORY -.Fn zip_source_error -was added in libzip 1.0. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_file.3 b/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_file.3 deleted file mode 100644 index 15b7c00..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_file.3 +++ /dev/null @@ -1,147 +0,0 @@ -.\" zip_source_file.mdoc -- create data source from a file -.\" Copyright (C) 2004-2021 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd June 30, 2023 -.Dt ZIP_SOURCE_FILE 3 -.Os -.Sh NAME -.Nm zip_source_file , -.Nm zip_source_file_create -.Nd create data source from a file -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft zip_source_t * -.Fn zip_source_file "zip_t *archive" "const char *fname" "zip_uint64_t start" "zip_int64_t len" -.Ft zip_source_t * -.Fn zip_source_file_create "const char *fname" "zip_uint64_t start" "zip_int64_t len" "zip_error_t *error" -.Sh DESCRIPTION -The functions -.Fn zip_source_file -and -.Fn zip_source_file_create -create a zip source from a file. -They open -.Ar fname -and read -.Ar len -bytes from offset -.Ar start -from it. -.Pp -When passing -.Dv ZIP_LENGTH_TO_END -(or \-1, which is deprecated) as -.Ar len , -.Nm -determines the file size when it is called and uses that as the -expected file size. -If the file size grows between creating and reading from the source, -the additional data is ignored. -If the file shrinks, -.Nm libzip -treats it as an error -.Dv ( ZIP_ER_DATA_LENGTH ) . -.Pp -When passing -.Dv ZIP_LENGTH_UNCHECKED -as -.Ar len , -.Nm -assumes the file's size is unknown. -Reading from the source returns as much data as is there at that time -(usually when calling -.Xr zip_close 3 ) . -.Pp -.Nm libzip -can do various optimizations if the size of a source is known when -it's created, so -.Dv ZIP_LENGTH_TO_END -is preferable. -If you deal with files that are likely to change while you are -processing them, you can use the less efficient -.Dv ZIP_LENGTH_UNCHECKED . -.Pp -If the file supports seek, the source can be used to open a zip archive from. -.Pp -The file is opened and read when the data from the source is used, usually by -.Fn zip_close -or -.Fn zip_open_from_source . -.Sh RETURN VALUES -Upon successful completion, the created source is returned. -Otherwise, -.Dv NULL -is returned and the error code in -.Ar archive -or -.Ar error -is set to indicate the error. -.Sh ERRORS -.Fn zip_source_file -and -.Fn zip_source_file_create -fail if: -.Bl -tag -width Er -.It Bq Er ZIP_ER_INVAL -.Ar fname , -.Ar start , -or -.Ar len -are invalid. -.It Bq Er ZIP_ER_MEMORY -Required memory could not be allocated. -.It Bq Er ZIP_ER_OPEN -Opening -.Ar fname -failed. -.El -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_file_add 3 , -.Xr zip_file_replace 3 , -.Xr zip_source 3 -.Sh HISTORY -.Fn zip_source_file -and -.Fn zip_source_file_create -were added in libzip 1.0. -.Pp -.Dv ZIP_LENGTH_TO_END -and -.Dv ZIP_LENGTH_UNCHECKED -were added in libzip 1.10.1. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_filep.3 b/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_filep.3 deleted file mode 100644 index 341f2db..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_filep.3 +++ /dev/null @@ -1,112 +0,0 @@ -.\" zip_source_filep.mdoc -- create data source from a file stream -.\" Copyright (C) 2004-2021 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd June 30, 2023 -.Dt ZIP_SOURCE_FILEP 3 -.Os -.Sh NAME -.Nm zip_source_filep , -.Nm zip_source_filep_create -.Nd create data source from FILE * -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft zip_source_t * -.Fn zip_source_filep "zip_t *archive" "FILE *file" "zip_uint64_t start" "zip_int64_t len" -.Ft zip_source_t * -.Fn zip_source_filep_create "FILE *file" "zip_uint64_t start" "zip_int64_t len" "zip_error_t *error" -.Sh DESCRIPTION -The functions -.Fn zip_source_filep -and -.Fn zip_source_filep_create -create a zip source from a file stream. -They read -.Ar len -bytes from offset -.Ar start -from the open file stream -.Ar file . -For a description of the -.Ar len -argument, see -.Xr zip_source_file 3 . -.Pp -If the file stream supports seeking, the source can be used to open -a read-only zip archive from. -.Pp -The file stream is closed when the source is being freed, usually -by -.Xr zip_close 3 . -.Sh RETURN VALUES -Upon successful completion, the created source is returned. -Otherwise, -.Dv NULL -is returned and the error code in -.Ar archive -or -.Ar error -is set to indicate the error. -.Sh ERRORS -.Fn zip_source_filep -fails if: -.Bl -tag -width Er -.It Bq Er ZIP_ER_INVAL -.Ar file , -.Ar start , -or -.Ar len -are invalid. -.It Bq Er ZIP_ER_MEMORY -Required memory could not be allocated. -.El -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_file_add 3 , -.Xr zip_file_replace 3 , -.Xr zip_source 3 , -.Xr zip_source_file 3 -.Sh HISTORY -.Fn zip_source_filep -and -.Fn zip_source_filep_create -were added in libzip 1.0. -.Pp -.Dv ZIP_LENGTH_TO_END -and -.Dv ZIP_LENGTH_UNCHECKED -were added in libzip 1.10.1. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_free.3 b/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_free.3 deleted file mode 100644 index 3f17792..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_free.3 +++ /dev/null @@ -1,76 +0,0 @@ -.\" zip_source_free.mdoc -- free zip data source -.\" Copyright (C) 2004-2017 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd December 18, 2017 -.Dt ZIP_SOURCE_FREE 3 -.Os -.Sh NAME -.Nm zip_source_free -.Nd free zip data source -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft void -.Fn zip_source_free "zip_source_t *source" -.Sh DESCRIPTION -The function -.Fn zip_source_free -decrements the reference count of -.Ar source -and frees it if the reference count drops to 0. -If -.Ar source -is -.Dv NULL , -it does nothing. -.Pp -.Em NOTE : -This function should not be called on a -.Ar source -after it was used successfully in a -.Xr zip_open_from_source 3 , -.Xr zip_file_add 3 , -or -.Xr zip_file_replace 3 -call. -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_source 3 , -.Xr zip_source_keep 3 -.Sh HISTORY -.Fn zip_source_free -was added in libzip 0.6. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_function.3 b/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_function.3 deleted file mode 100644 index cfd595d..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_function.3 +++ /dev/null @@ -1,415 +0,0 @@ -.\" zip_source_function.mdoc -- create data source from function -.\" Copyright (C) 2004-2022 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd January 5, 2023 -.Dt ZIP_SOURCE_FUNCTION 3 -.Os -.Sh NAME -.Nm zip_source_function , -.Nm zip_source_function_create -.Nd create data source from function -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft zip_source_t * -.Fn zip_source_function "zip_t *archive" "zip_source_callback fn" "void *userdata" -.Ft zip_source_t * -.Fn zip_source_function_create "zip_source_callback fn" "void *userdata" "zip_error_t *error" -.Sh DESCRIPTION -The functions -.Fn zip_source_function -and -.Fn zip_source_function_create -create a zip source from the user-provided function -.Ar fn , -which must be of the following type: -.Pp -.Ft typedef zip_int64_t -.Fo \fR(*\fPzip_source_callback\fR)\fP -.Fa "void *userdata" "void *data" "zip_uint64_t len" "zip_source_cmd_t cmd" -.Fc -.Pp -.Ar archive -or -.Ar error -are used for reporting errors and can be -.Dv NULL . -.Pp -When called by the library, the first argument is the -.Ar userdata -argument supplied to the function. -The next two arguments are a buffer -.Ar data -of size -.Ar len -when data is passed in or expected to be returned, or else -.Dv NULL -and 0. -The last argument, -.Ar cmd , -specifies which action the function should perform. -.Pp -Depending on the uses, there are three useful sets of commands to be supported by a -.Fn zip_source_callback : -.Bl -tag -width seekable-read-sourceXX -.It read source -Providing streamed data (for file data added to archives). -Must support -.Dv ZIP_SOURCE_OPEN , -.Dv ZIP_SOURCE_READ , -.Dv ZIP_SOURCE_CLOSE , -.Dv ZIP_SOURCE_STAT , -and -.Dv ZIP_SOURCE_ERROR . -.Pp -If your source uses any allocated memory (including -.Ar userdata ) -it should also implement -.Dv ZIP_SOURCE_FREE -to avoid memory leaks. -.It seekable read source -Same as previous, but from a source allowing reading from arbitrary -offsets (also for read-only zip archive). -Must additionally support -.Dv ZIP_SOURCE_SEEK , -.Dv ZIP_SOURCE_TELL , -and -.Dv ZIP_SOURCE_SUPPORTS . -.It read/write source -Same as previous, but additionally allowing writing (also for writable -zip archives). -Must additionally support -.Dv ZIP_SOURCE_BEGIN_WRITE , -.Dv ZIP_SOURCE_COMMIT_WRITE , -.Dv ZIP_SOURCE_ROLLBACK_WRITE , -.Dv ZIP_SOURCE_SEEK_WRITE , -.Dv ZIP_SOURCE_TELL_WRITE , -and -.Dv ZIP_SOURCE_REMOVE . -.Pp -On top of the above, supporting the pseudo-command -.Dv ZIP_SOURCE_SUPPORTS_REOPEN -allows calling -.Fn zip_source_open -again after calling -.Fn zip_source_close . -.El -.Ss Dv ZIP_SOURCE_ACCEPT_EMPTY -Return 1 if an empty source should be accepted as a valid zip archive. -This is the default if this command is not supported by a source. -File system backed sources should return 0. -.Ss Dv ZIP_SOURCE_BEGIN_WRITE -Prepare the source for writing. -Use this to create any temporary file(s). -.Ss Dv ZIP_SOURCE_BEGIN_WRITE_CLONING -Prepare the source for writing, keeping the first -.Ar len -bytes of the original file. -Only implement this command if it is more efficient than copying the -data, and if it does not destructively overwrite the original file -(you still have to be able to execute -.Dv ZIP_SOURCE_ROLLBACK_WRITE ) . -.Pp -The next write should happen at byte -.Ar offset . -.Ss Dv ZIP_SOURCE_CLOSE -Reading is done. -.Ss Dv ZIP_SOURCE_COMMIT_WRITE -Finish writing to the source. -Replace the original data with the newly written data. -Clean up temporary files or internal buffers. -Subsequently opening and reading from the source should return the -newly written data. -.Ss Dv ZIP_SOURCE_ERROR -Get error information. -.Ar data -points to an array of two ints, which should be filled with the libzip -error code and the corresponding system error code for the error that -occurred. -See -.Xr zip_errors 3 -for details on the error codes. -If the source stores error information in a zip_error_t, use -.Xr zip_error_to_data 3 -and return its return value. -Otherwise, return 2 * sizeof(int). -.Ss Dv ZIP_SOURCE_FREE -Clean up and free all resources, including -.Ar userdata . -The callback function will not be called again. -.Ss Dv ZIP_SOURCE_GET_FILE_ATTRIBUTES -Provide information about various data. -Then the data should be put in the appropriate entry in the passed -.Vt zip_file_attributes_t -argument, and the appropriate -.Dv ZIP_FILE_ATTRIBUTES_* -value must be or'ed into the -.Ar valid -member to denote that the corresponding data has been provided. -A -.Vt zip_file_attributes_t -structure can be initialized using -.Xr zip_file_attributes_init 3 . -.Bl -tag -width 10n -.It ASCII mode -If a file is a plaintext file in ASCII. -Can be used by extraction tools to automatically convert line endings -(part of the internal file attributes). -Member -.Ar ascii , -flag -.Dv ZIP_FILE_ATTRIBUTES_ASCII . -.It General Purpose Bit Flags (limited to Compression Flags) -The general purpose bit flag in the zip in the local and central -directory headers contain information about the compression method. -Member -.Ar general_purpose_bit_flags -and -.Ar general_purpose_bit_mask -to denote which members have been set; -flag -.Dv ZIP_FILE_ATTRIBUTES_GENERAL_PURPOSE_BIT_FLAGS . -.It External File Attributes -The external file attributes (usually operating system-specific). -Member -.Ar external_file_attributes , -flag -.Dv ZIP_FILE_ATTRIBUTES_EXTERNAL_FILE_ATTRIBUTES . -.It Version Needed -A minimum version needed required to unpack this entry (in the usual -"major * 10 + minor" format). -Member -.Ar version_needed , -flag -.Dv ZIP_FILE_ATTRIBUTES_VERSION_NEEDED . -.It Operating System -One of the operating systems as defined by the -.Dv ZIP_OPSYS_* -variables (see -.Pa zip.h ) . -This value affects the interpretation of the external file attributes. -Member -.Ar host_system , -flag -.Dv ZIP_FILE_ATTRIBUTES_HOST_SYSTEM . -.El -.Ss Dv ZIP_SOURCE_OPEN -Prepare for reading. -.Ss Dv ZIP_SOURCE_READ -Read data into the buffer -.Ar data -of size -.Ar len . -Return the number of bytes placed into -.Ar data -on success, and zero for end-of-file. -.Ss Dv ZIP_SOURCE_REMOVE -Remove the underlying file. -This is called if a zip archive is empty when closed. -.Ss Dv ZIP_SOURCE_ROLLBACK_WRITE -Abort writing to the source. -Discard written data. -Clean up temporary files or internal buffers. -Subsequently opening and reading from the source should return the -original data. -.Ss Dv ZIP_SOURCE_SEEK -Specify position to read next byte from, like -.Xr fseek 3 . -Use -.Xr ZIP_SOURCE_GET_ARGS 3 -to decode the arguments into the following struct: -.Bd -literal -struct zip_source_args_seek { - zip_int64_t offset; - int whence; -}; -.Ed -.Pp -If the size of the source's data is known, use -.Xr zip_source_seek_compute_offset 3 -to validate the arguments and compute the new offset. -.Ss Dv ZIP_SOURCE_SEEK_WRITE -Specify position to write next byte to, like -.Xr fseek 3 . -See -.Dv ZIP_SOURCE_SEEK -for details. -.Ss Dv ZIP_SOURCE_STAT -Get meta information for the input data. -.Ar data -points to an allocated -.Vt struct zip_stat , -which should be initialized using -.Xr zip_stat_init 3 -and then filled in. -.Pp -For uncompressed, unencrypted data, all information is optional. -However, fill in as much information as is readily available. -.Pp -If the data is compressed, -.Dv ZIP_STAT_COMP_METHOD , -.Dv ZIP_STAT_SIZE , -and -.Dv ZIP_STAT_CRC -must be filled in. -.Pp -If the data is encrypted, -.Dv ZIP_STAT_ENCRYPTION_METHOD , -.Dv ZIP_STAT_COMP_METHOD , -.Dv ZIP_STAT_SIZE , -and -.Dv ZIP_STAT_CRC -must be filled in. -.Pp -Information only available after the source has been read (e.g., size) -can be omitted in an earlier call. -.Em NOTE : -.Fn zip_source_function -may be called with this argument even after being called with -.Dv ZIP_SOURCE_CLOSE . -.Pp -Return sizeof(struct zip_stat) on success. -.Ss Dv ZIP_SOURCE_SUPPORTS -Return bitmap specifying which commands are supported. -Use -.Xr zip_source_make_command_bitmap 3 . -If this command is not implemented, the source is assumed to be a -read source without seek support. -.Ss Dv ZIP_SOURCE_TELL -Return the current read offset in the source, like -.Xr ftell 3 . -.Ss Dv ZIP_SOURCE_TELL_WRITE -Return the current write offset in the source, like -.Xr ftell 3 . -.Ss Dv ZIP_SOURCE_WRITE -Write data to the source. -Return number of bytes written. -.Ss Dv ZIP_SOURCE_SUPPORTS_REOPEN -This command is never actually invoked, support for it signals the -ability to handle multiple open/read/close cycles. -.Ss Return Values -Commands should return \-1 on error. -.Dv ZIP_SOURCE_ERROR -will be called to retrieve the error code. -On success, commands return 0, unless specified otherwise in the -description above. -.Ss Calling Conventions -The library will always issue -.Dv ZIP_SOURCE_OPEN -before issuing -.Dv ZIP_SOURCE_READ , -.Dv ZIP_SOURCE_SEEK , -or -.Dv ZIP_SOURCE_TELL . -When it no longer wishes to read from this source, it will issue -.Dv ZIP_SOURCE_CLOSE . -If the library wishes to read the data again, it will issue -.Dv ZIP_SOURCE_OPEN -a second time. -If the function is unable to provide the data again, it should -return \-1. -.Pp -.Dv ZIP_SOURCE_BEGIN_WRITE -or -.Dv ZIP_SOURCE_BEGIN_WRITE_CLONING -will be called before -.Dv ZIP_SOURCE_WRITE , -.Dv ZIP_SOURCE_SEEK_WRITE , -or -.Dv ZIP_SOURCE_TELL_WRITE . -When writing is complete, either -.Dv ZIP_SOURCE_COMMIT_WRITE -or -.Dv ZIP_SOURCE_ROLLBACK_WRITE -will be called. -.Pp -.Dv ZIP_SOURCE_ACCEPT_EMPTY , -.Dv ZIP_SOURCE_GET_FILE_ATTRIBUTES , -and -.Dv ZIP_SOURCE_STAT -can be issued at any time. -.Pp -.Dv ZIP_SOURCE_ERROR -will only be issued in response to the function -returning \-1. -.Pp -.Dv ZIP_SOURCE_FREE -will be the last command issued; -if -.Dv ZIP_SOURCE_OPEN -was called and succeeded, -.Dv ZIP_SOURCE_CLOSE -will be called before -.Dv ZIP_SOURCE_FREE , -and similarly for -.Dv ZIP_SOURCE_BEGIN_WRITE -or -.Dv ZIP_SOURCE_BEGIN_WRITE_CLONING -and -.Dv ZIP_SOURCE_COMMIT_WRITE -or -.Dv ZIP_SOURCE_ROLLBACK_WRITE . -.Sh RETURN VALUES -Upon successful completion, the created source is returned. -Otherwise, -.Dv NULL -is returned and the error code in -.Ar archive -or -.Ar error -is set to indicate the error (unless -it is -.Dv NULL ) . -.Sh ERRORS -.Fn zip_source_function -fails if: -.Bl -tag -width Er -.It Bq Er ZIP_ER_MEMORY -Required memory could not be allocated. -.El -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_file_add 3 , -.Xr zip_file_attributes_init 3 , -.Xr zip_file_replace 3 , -.Xr zip_source 3 , -.Xr zip_stat_init 3 -.Sh HISTORY -.Fn zip_source_function -and -.Fn zip_source_function_create -were added in libzip 1.0. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_is_deleted.3 b/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_is_deleted.3 deleted file mode 100644 index af1c93b..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_is_deleted.3 +++ /dev/null @@ -1,62 +0,0 @@ -.\" zip_source_is_deleted.mdoc -- check if zip source is deleted -.\" Copyright (C) 2014-2017 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd December 18, 2017 -.Dt ZIP_SOURCE_IS_DELETED 3 -.Os -.Sh NAME -.Nm zip_source_is_deleted -.Nd check if zip_source is deleted -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft int -.Fn zip_source_is_deleted "zip_source_t *source" -.Sh DESCRIPTION -The function -.Fn zip_source_is_deleted -returns whether the zip_source was deleted. -This can for example happen when all entries are removed from a zip archive. -.Sh RETURN VALUES -.Fn zip_source_is_deleted -returns 1 if the zip_source is deleted and 0 otherwise. -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_source 3 -.Sh HISTORY -.Fn zip_source_is_deleted -was added in libzip 1.0. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_is_seekable.3 b/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_is_seekable.3 deleted file mode 100644 index c0d781b..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_is_seekable.3 +++ /dev/null @@ -1,65 +0,0 @@ -.\" zip_source_seek.mdoc -- set read offset in source -.\" Copyright (C) 2023 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd March 10, 2023 -.Dt ZIP_SOURCE_IS_SEEKABLE 3 -.Os -.Sh NAME -.Nm zip_source_is_seekable -.Nd check if a source supports seeking -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft int -.Fn zip_source_is_seekable "zip_source_t *source" -.Sh DESCRIPTION -The function -.Fn zip_source_is_seekable -checks if -.Fa source -supports seeking via -.Xr zip_source_seek 3 . -.Sh RETURN VALUES -If the source supports seeking, 1 is returned. -Otherwise, 0 is returned. -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_source 3 , -.Xr zip_source_seek 3 -.Sh HISTORY -.Fn zip_source_is_seekable -was added in libzip 1.10.0. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_keep.3 b/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_keep.3 deleted file mode 100644 index ac3bef5..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_keep.3 +++ /dev/null @@ -1,60 +0,0 @@ -.\" zip_source_keep.mdoc -- increment reference count of zip data source -.\" Copyright (C) 2014-2017 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd December 18, 2017 -.Dt ZIP_SOURCE_KEEP 3 -.Os -.Sh NAME -.Nm zip_source_keep -.Nd increment reference count of zip data source -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft void -.Fn zip_source_keep "zip_source_t *source" -.Sh DESCRIPTION -The function -.Fn zip_source_keep -increments the reference count of -.Ar source . -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_source 3 , -.Xr zip_source_free 3 -.Sh HISTORY -.Fn zip_source_keep -was added in libzip 1.0. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_layered.3 b/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_layered.3 deleted file mode 100644 index 4281dc5..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_layered.3 +++ /dev/null @@ -1,166 +0,0 @@ -.\" zip_source_layered.mdoc -- create layered source from function -.\" Copyright (C) 2004-2022 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd January 20, 2023 -.Dt ZIP_SOURCE_LAYERED 3 -.Os -.Sh NAME -.Nm zip_source_layered , -.Nm zip_source_layered_create -.Nd create layered data source from function -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft zip_source_t * -.Fn zip_source_layered "zip_t *archive" "zip_source_t *source" "zip_source_layered_callback fn" "void *userdata" -.Ft zip_source_t * -.Fn zip_source_layered_create "zip_source_t *source" "zip_source_layered_callback fn" "void *userdata" "zip_error_t *error" -.Sh DESCRIPTION -The functions -.Fn zip_source_layered -and -.Fn zip_source_layered_create -create a layered zip source from the user-provided function -.Ar fn , -which must be of the following type: -.Pp -.Ft typedef zip_int64_t -.Fo \fR(*\zip_source_layered_callback\fR)\fP -.Fa "zip_source_t *source" "void *userdata" "void *data" "zip_uint64_t length" "zip_source_cmd_t cmd" -.Fc -.Pp -.Ar archive -or -.Ar error -are used for reporting errors and can be -.Dv NULL . -.Pp -When called by the library, the first argument is the -.Ar source -of the lower layer, the second argument is the -.Ar userdata -argument supplied to the function. -The next two arguments are a buffer -.Ar data -of size -.Ar length -when data is passed in or expected to be returned, or else -.Dv NULL -and 0. -The last argument, -.Ar cmd , -specifies which action the function should perform. -.Pp -See -.Xr zip_source_function 3 -for a description of the commands. -.Pp -A layered source transforms the data or metadata of the source below in some way. -Layered sources can't support writing and are not sufficient to cleanly add support for additional compression or encryption methods. -This may be revised in a later release of libzip. -.Pp -On success, the layered source takes ownership of -.Ar source . -The caller should not free it. -.Pp -The interaction with the lower layer depends on the command: -.Ss Dv ZIP_SOURCE_ACCEPT_EMPTY -If the layered source supports this command, the lower layer is not called automatically. -Otherwise, the return value of the lower source is used. -.Ss Dv ZIP_SOURCE_CLOSE -The lower layer is closed after the callback returns. -.Ss Dv ZIP_SOURCE_ERROR -The lower layer is not called automatically. -If you need to retrieve error information from the lower layer, use -.Xr zip_error_set_from_source 3 -or -.Xr zip_source_pass_to_lower_layer 3 . -.Ss Dv ZIP_SOURCE_FREE -The lower layer is freed after the callback returns. -.Ss Dv ZIP_SOURCE_GET_FILE_ATTRIBUTES -The attributes of the lower layer are merged with the attributes returned by the callback: information set by the callback wins over the lower layer, with the following exceptions: the higher -.Ar version_needed -is used, and -.Ar general_purpose_bit_flags -are only overwritten if the corresponding bit is set in -.Ar general_purpose_bit_mask . -.Ss Dv ZIP_SOURCE_OPEN -The lower layer is opened before the callback is called. -.Ss Dv ZIP_SOURCE_READ -The lower layer is not called automatically. -.Ss Dv ZIP_SOURCE_SEEK -The lower layer is not called automatically. -.Ss Dv ZIP_SOURCE_STAT -.Ar data -contains the stat information from the lower layer when the callback is called. -.Ss Dv ZIP_SOURCE_SUPPORTS -.Ar data -contains the bitmap of commands supported by the lower layer when the callback is called. -Since layered sources can't support writing, all commands related to writing are stripped from the returned support bitmap. -.Ss Dv ZIP_SOURCE_TELL -The lower layer is not called automatically. -.Sh RETURN VALUES -Upon successful completion, the created source is returned. -Otherwise, -.Dv NULL -is returned and the error code in -.Ar archive -or -.Ar error -is set to indicate the error (unless -it is -.Dv NULL ) . -.Sh ERRORS -.Fn zip_source_layered -fails if: -.Bl -tag -width Er -.It Bq Er ZIP_ER_MEMORY -Required memory could not be allocated. -.El -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_file_add 3 , -.Xr zip_file_attributes_init 3 , -.Xr zip_file_replace 3 , -.Xr zip_source 3 , -.Xr zip_source_function 3 , -.Xr zip_source_pass_to_lower_layer 3 -.Sh HISTORY -.Fn zip_source_layered -and -.Fn zip_source_layered_create -were added in libzip 1.10. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_make_command_bitmap.3 b/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_make_command_bitmap.3 deleted file mode 100644 index 825f3aa..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_make_command_bitmap.3 +++ /dev/null @@ -1,62 +0,0 @@ -.\" zip_source_make_command_bitmap -- create bitmap of supported source operations -.\" Copyright (C) 2014-2017 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd December 18, 2017 -.Dt ZIP_SOURCE_MAKE_COMMAND_BITMAP 3 -.Os -.Sh NAME -.Nm zip_source_make_command_bitmap -.Nd create bitmap of supported source operations -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft zip_int64_t -.Fn zip_source_make_command_bitmap "zip_source_cmd_t command" "..." -.Sh DESCRIPTION -The -.Fn zip_source_make_command_bitmap -function returns a bitmap of source commands suitable as return value -for -.Dv ZIP_SOURCE_SUPPORTS . -It includes all the commands from the argument list, which must be -terminated by \-1. -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_source_function 3 -.Sh HISTORY -.Fn zip_source_make_command_bitmap -was added in libzip 1.0. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_open.3 b/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_open.3 deleted file mode 100644 index 827f90a..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_open.3 +++ /dev/null @@ -1,70 +0,0 @@ -.\" zip_source_open.mdoc -- open zip source for reading -.\" Copyright (C) 2014-2017 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd December 18, 2017 -.Dt ZIP_SOURCE_OPEN 3 -.Os -.Sh NAME -.Nm zip_source_open -.Nd open zip_source for reading -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft int -.Fn zip_source_open "zip_source_t *source" -.Sh DESCRIPTION -The function -.Fn zip_source_open -opens -.Fa source -for reading. -.Sh RETURN VALUES -Upon successful completion 0 is returned. -Otherwise, \-1 is returned and the error information in -.Ar source -is set to indicate the error. -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_source 3 , -.Xr zip_source_begin_write 3 , -.Xr zip_source_close 3 , -.Xr zip_source_read 3 , -.Xr zip_source_seek 3 , -.Xr zip_source_tell 3 -.Sh HISTORY -.Fn zip_source_open -was added in libzip 1.0. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_read.3 b/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_read.3 deleted file mode 100644 index 8f04871..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_read.3 +++ /dev/null @@ -1,80 +0,0 @@ -.\" zip_source_read.mdoc -- read data from zip source -.\" Copyright (C) 2014-2022 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd September 28, 2021 -.Dt ZIP_SOURCE_READ 3 -.Os -.Sh NAME -.Nm zip_source_read -.Nd read data from zip source -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft zip_int64_t -.Fn zip_source_read "zip_source_t *source" "void *data" "zip_uint64_t len" -.Sh DESCRIPTION -The function -.Fn zip_source_read -reads up to -.Ar len -bytes of data from -.Ar source -at the current read offset into the buffer -.Ar data . -.Pp -The zip source -.Ar source -has to be opened for reading by calling -.Xr zip_source_open 3 -first. -.Sh RETURN VALUES -Upon successful completion the number of bytes read is returned. -When -.Fn zip_source_read -is called after reaching the end of the file, 0 is returned. -Otherwise, \-1 is returned and the error information in -.Ar source -is set to indicate the error. -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_source 3 , -.Xr zip_source_seek 3 , -.Xr zip_source_tell 3 , -.Xr zip_source_write 3 -.Sh HISTORY -.Fn zip_source_read -was added in libzip 1.0. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_rollback_write.3 b/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_rollback_write.3 deleted file mode 100644 index d749885..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_rollback_write.3 +++ /dev/null @@ -1,68 +0,0 @@ -.\" zip_source_rollback_write.mdoc -- undo changes to zip source -.\" Copyright (C) 2014-2022 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd November 3, 2021 -.Dt ZIP_SOURCE_ROLLBACK_WRITE 3 -.Os -.Sh NAME -.Nm zip_source_rollback_write -.Nd undo changes to zip source -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft void -.Fn zip_source_rollback_write "zip_source_t *source" -.Sh DESCRIPTION -The function -.Fn zip_source_rollback_write -reverts changes written to -.Fa source , -restoring the data before -.Xr zip_source_begin_write 3 -was called. -Usually this removes temporary files or frees buffers. -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_source 3 , -.Xr zip_source_begin_write 3 , -.Xr zip_source_commit_write 3 , -.Xr zip_source_seek_write 3 , -.Xr zip_source_tell_write 3 , -.Xr zip_source_write 3 -.Sh HISTORY -.Fn zip_source_rollback_write -was added in libzip 1.0. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_seek.3 b/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_seek.3 deleted file mode 100644 index face17c..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_seek.3 +++ /dev/null @@ -1,82 +0,0 @@ -.\" zip_source_seek.mdoc -- set read offset in source -.\" Copyright (C) 2014-2017 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd March 10, 2023 -.Dt ZIP_SOURCE_SEEK 3 -.Os -.Sh NAME -.Nm zip_source_seek -.Nd set read offset in zip source -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft int -.Fn zip_source_seek "zip_source_t *source" "zip_int64_t offset" "int whence" -.Sh DESCRIPTION -The function -.Fn zip_source_seek -sets the current read offset for -.Fa source . -Just like in -.Xr fseek 3 , -depending on the -.Ar whence -argument, the -.Ar offset -is counted relative from: -.Bl -tag -width SEEK_CURXX -offset indent -.It Dv SEEK_SET -start of file -.It Dv SEEK_CUR -current read offset in file -.It Dv SEEK_END -end of file -.El -.Sh RETURN VALUES -Upon successful completion 0 is returned. -Otherwise, \-1 is returned and the error information in -.Ar source -is set to indicate the error. -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_source 3 , -.Xr zip_source_is_seekable 3 , -.Xr zip_source_read 3 , -.Xr zip_source_tell 3 -.Sh HISTORY -.Fn zip_source_seek -was added in libzip 1.0. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_seek_compute_offset.3 b/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_seek_compute_offset.3 deleted file mode 100644 index e849886..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_seek_compute_offset.3 +++ /dev/null @@ -1,81 +0,0 @@ -.\" zip_source_seek_compute_offset.mdoc - validate arguments and compute offset -.\" Copyright (C) 2014-2017 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd December 18, 2017 -.Dt ZIP_SOURCE_SEEK_COMPUTE_OFFSET 3 -.Os -.Sh NAME -.Nm zip_source_seek_compute_offset -.Nd validate arguments and compute offset -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft zip_int64_t -.Fn zip_source_seek_compute_offset "zip_uint64_t offset" "zip_uint64_t length" "void *data" "zip_uint64_t data_length" "zip_error_t *error" -.Sh DESCRIPTION -Use this function to compute the offset for a -.Dv ZIP_SOURCE_SEEK -or -.Dv ZIP_SOURCE_SEEK_WRITE -command. -.Ar data -and -.Ar data_length -are the arguments to the source callback, -.Ar offset -is the current offset and -.Ar length -is the length of the source data or, for -.Dv ZIP_SOURCE_SEEK_WRITE , -the amount of data written. -.Sh RETURN VALUES -On success, it returns the new offset, on error it returns \-1 and -sets -.Ar error . -.Sh ERRORS -.Fn zip_source_seek_compute_offset -fails if: -.Bl -tag -width Er -.It Bq Er ZIP_ER_INVAL -One of the arguments is invalid or the seek would place the offset -outside the data. -.El -.Sh SEE ALSO -.Xr zip_source_function 3 -.Sh HISTORY -.Fn zip_source_seek_compute_offset -was added in libzip 1.0. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_seek_write.3 b/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_seek_write.3 deleted file mode 100644 index 832c31e..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_seek_write.3 +++ /dev/null @@ -1,84 +0,0 @@ -.\" zip_source_seek_write.mdoc -- set write offset in source -.\" Copyright (C) 2014-2017 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd December 18, 2017 -.Dt ZIP_SOURCE_SEEK_WRITE 3 -.Os -.Sh NAME -.Nm zip_source_seek_write -.Nd set write offset in zip source -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft int -.Fn zip_source_seek_write "zip_source_t *source" "zip_int64_t offset" "int whence" -.Sh DESCRIPTION -The function -.Fn zip_source_seek_write -sets the current write offset for -.Fa source . -Just like in -.Xr fseek 3 , -depending on the -.Ar whence -argument, the -.Ar offset -is counted relative from: -.Bl -tag -width SEEK_CURXX -offset indent -.It Dv SEEK_SET -start of file -.It Dv SEEK_CUR -current write offset in file -.It Dv SEEK_END -end of file -.El -.Sh RETURN VALUES -Upon successful completion 0 is returned. -Otherwise, \-1 is returned and the error information in -.Ar source -is set to indicate the error. -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_source 3 , -.Xr zip_source_begin_write 3 , -.Xr zip_source_commit_write 3 , -.Xr zip_source_rollback_write 3 , -.Xr zip_source_tell_write 3 , -.Xr zip_source_write 3 -.Sh HISTORY -.Fn zip_source_seek_write -was added in libzip 1.0. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_stat.3 b/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_stat.3 deleted file mode 100644 index 8b13bef..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_stat.3 +++ /dev/null @@ -1,125 +0,0 @@ -.\" zip_source_stat.mdoc -- get information about zip source -.\" Copyright (C) 2014-2021 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd December 18, 2017 -.Dt ZIP_SOURCE_STAT 3 -.Os -.Sh NAME -.Nm zip_source_stat -.Nd get information about zip_source -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft int -.Fn zip_source_stat "zip_source_t *source" "zip_stat_t *sb" -.Sh DESCRIPTION -The -.Fn zip_source_stat -function obtains information about the zip source -.Ar source -.Pp -The -.Ar sb -argument is a pointer to a -.Ft struct zip_source_stat -(shown below), into which information about the zip source is placed. -.Bd -literal -struct zip_source_stat { - zip_uint64_t valid; /* which fields have valid values */ - const char *name; /* name of the file */ - zip_uint64_t index; /* index within archive */ - zip_uint64_t size; /* size of file (uncompressed) */ - zip_uint64_t comp_size; /* size of file (compressed) */ - time_t mtime; /* modification time */ - zip_uint32_t crc; /* crc of file data */ - zip_uint16_t comp_method; /* compression method used */ - zip_uint16_t encryption_method; /* encryption method used */ - zip_uint32_t flags; /* reserved for future use */ -}; -.Ed -The structure pointed to by -.Ar sb -must be initialized with -.Fn zip_stat_init 3 -before calling -.Fn zip_source_stat . -.Pp -The -.Ar valid -field of the structure specifies which other fields are valid. -Check if the flag defined by the following defines are in -.Ar valid -before accessing the fields: -.Bl -tag -width ZIP_STAT_ENCRYPTION_METHODXX -compact -offset indent -.It Dv ZIP_STAT_NAME -.Ar name -.It Dv ZIP_STAT_INDEX -.Ar index -.It Dv ZIP_STAT_SIZE -.Ar size -.It Dv ZIP_STAT_COMP_SIZE -.Ar comp_size -.It Dv ZIP_STAT_MTIME -.Ar mtime -.It Dv ZIP_STAT_CRC -.Ar crc -.It Dv ZIP_STAT_COMP_METHOD -.Ar comp_method -.It Dv ZIP_STAT_ENCRYPTION_METHOD -.Ar encryption_method -.It Dv ZIP_STAT_FLAGS -.Ar flags -.El -.Pp -.Em NOTE : -Some fields may only be filled out after all data has been read from -the source, for example the -.Ar crc -or -.Ar size -fields. -.Sh RETURN VALUES -Upon successful completion 0 is returned. -Otherwise, \-1 is returned and the error information in -.Ar source -is set to indicate the error. -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_source 3 -.Sh HISTORY -.Fn zip_source_stat -was added in libzip 1.0. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_tell.3 b/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_tell.3 deleted file mode 100644 index 168220c..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_tell.3 +++ /dev/null @@ -1,74 +0,0 @@ -.\" zip_source_tell.mdoc -- report current read offset in source -.\" Copyright (C) 2014-2017 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd December 18, 2017 -.Dt ZIP_SOURCE_TELL 3 -.Os -.Sh NAME -.Nm zip_source_tell -.Nd report current read offset in zip source -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft zip_int64_t -.Fn zip_source_tell "zip_source_t *source" -.Sh DESCRIPTION -The function -.Fn zip_source_tell -returns the current read offset -for -.Fa source . -The return value can be passed to -.Xr zip_source_seek 3 -with -.Ar whence -set to -.Dv SEEK_SET -to return to the same location in the source. -.Sh RETURN VALUES -Upon successful completion the current read offset is returned. -Otherwise, \-1 is returned and the error information in -.Ar source -is set to indicate the error. -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_source 3 , -.Xr zip_source_read 3 , -.Xr zip_source_tell_write 3 -.Sh HISTORY -.Fn zip_source_tell -was added in libzip 1.0. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_tell_write.3 b/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_tell_write.3 deleted file mode 100644 index 202478c..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_tell_write.3 +++ /dev/null @@ -1,77 +0,0 @@ -.\" zip_source_tell_write.mdoc -- report current write offset in source -.\" Copyright (C) 2014-2017 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd December 18, 2017 -.Dt ZIP_SOURCE_TELL_WRITE 3 -.Os -.Sh NAME -.Nm zip_source_tell_write -.Nd report current write offset in zip source -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft zip_int64_t -.Fn zip_source_tell_write "zip_source_t *source" -.Sh DESCRIPTION -The function -.Fn zip_source_tell_write -returns the current write offset -for -.Fa source . -The return value can be passed to -.Xr zip_source_seek_write 3 -with -.Ar whence -set to -.Dv SEEK_SET -to return to the same location in the source. -.Sh RETURN VALUES -Upon successful completion the current write offset is returned. -Otherwise, \-1 is returned and the error information in -.Ar source -is set to indicate the error. -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_source 3 , -.Xr zip_source_begin_write 3 , -.Xr zip_source_commit_write 3 , -.Xr zip_source_rollback_write 3 , -.Xr zip_source_tell 3 , -.Xr zip_source_write 3 -.Sh HISTORY -.Fn zip_source_tell_write -was added in libzip 1.0. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_win32a.3 b/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_win32a.3 deleted file mode 100644 index 5bdc045..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_win32a.3 +++ /dev/null @@ -1,121 +0,0 @@ -.\" zip_source_win32a.mdoc -- create data source using a win32 ANSI name -.\" Copyright (C) 2015-2021 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd June 30, 2023 -.Dt ZIP_SOURCE_WIN32A 3 -.Os -.Sh NAME -.Nm zip_source_win32a , -.Nm zip_source_win32a_create -.Nd create data source from a Windows ANSI file name -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft zip_source_t * -.Fn zip_source_win32a "zip_t *archive" "const char *fname" "zip_uint64_t start" "zip_int64_t len" -.Ft zip_source_t * -.Fn zip_source_win32a_create "const char *fname" "zip_uint64_t start" "zip_int64_t len" "zip_error_t *error" -.Sh DESCRIPTION -The functions -.Fn zip_source_win32a -and -.Fn zip_source_win32a_create -create a zip source on Windows using a Windows ANSI name. -They open -.Ar fname -and read -.Ar len -bytes from offset -.Ar start -from it. -For a description of the -.Ar len -argument, see -.Xr zip_source_file 3 . -.Pp -If the file supports seek, the source can be used to open a zip archive from. -.Pp -The file is opened and read when the data from the source is used, usually by -.Fn zip_close -or -.Fn zip_open_from_source . -.Sh RETURN VALUES -Upon successful completion, the created source is returned. -Otherwise, -.Dv NULL -is returned and the error code in -.Ar archive -or -.Ar error -is set to indicate the error. -.Sh ERRORS -.Fn zip_source_win32a -and -.Fn zip_source_win32a_create -fail if: -.Bl -tag -width Er -.It Bq Er ZIP_ER_INVAL -.Ar fname , -.Ar start , -or -.Ar len -are invalid. -.It Bq Er ZIP_ER_MEMORY -Required memory could not be allocated. -.It Bq Er ZIP_ER_OPEN -Opening -.Ar fname -failed. -.El -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_file_add 3 , -.Xr zip_file_replace 3 , -.Xr zip_source 3 , -.Xr zip_source_file 3 , -.Xr zip_source_win32handle 3 , -.Xr zip_source_win32w 3 -.Sh HISTORY -.Fn zip_source_win32a -and -.Fn zip_source_win32a_create -were added in libzip 1.0. -.Pp -.Dv ZIP_LENGTH_TO_END -and -.Dv ZIP_LENGTH_UNCHECKED -were added in libzip 1.10.1. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_win32handle.3 b/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_win32handle.3 deleted file mode 100644 index c0c47b6..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_win32handle.3 +++ /dev/null @@ -1,110 +0,0 @@ -.\" zip_source_handle.mdoc -- create data source from a Windows file handle -.\" Copyright (C) 2015-2021 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd May 14, 2024 -.Dt ZIP_SOURCE_WIN32HANDLE 3 -.Os -.Sh NAME -.Nm zip_source_win32handle , -.Nm zip_source_win32handle_create -.Nd create data source from a Windows file handle -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft zip_source_t * -.Fn zip_source_win32handle "zip_t *archive" "HANDLE h" "zip_uint64_t start" "zip_int64_t len" -.Ft zip_source_t * -.Fn zip_source_win32handle_create "HANDLE h" "zip_uint64_t start" "zip_int64_t len" "zip_error_t *error" -.Sh DESCRIPTION -The functions -.Fn zip_source_win32handle -and -.Fn zip_source_win32handle_create -create a zip source from a Windows file handle. -They read -.Ar len -bytes from offset -.Ar start -from it. -If -.Ar len -is 0 or \-1, the whole file (starting from -.Ar start ) -is used. -.Pp -If the file supports seek, the source can be used to open a zip archive from. -.Pp -The file is opened and read when the data from the source is used, usually by -.Fn zip_close -or -.Fn zip_open_from_source . -.Sh RETURN VALUES -Upon successful completion, the created source is returned. -Otherwise, -.Dv NULL -is returned and the error code in -.Ar archive -or -.Ar error -is set to indicate the error. -.Sh ERRORS -.Fn zip_source_w32handle -and -.Fn zip_source_w32handle_create -fail if: -.Bl -tag -width Er -.It Bq Er ZIP_ER_INVAL -.Ar h , -.Ar start , -or -.Ar len -are invalid. -.It Bq Er ZIP_ER_MEMORY -Required memory could not be allocated. -.El -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_file_add 3 , -.Xr zip_file_replace 3 , -.Xr zip_source 3 , -.Xr zip_source_win32a 3 , -.Xr zip_source_win32w 3 -.Sh HISTORY -.Fn zip_source_win32handle -and -.Fn zip_source_win32handle_create -were added in libzip 1.0. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_win32w.3 b/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_win32w.3 deleted file mode 100644 index 6f33fd7..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_win32w.3 +++ /dev/null @@ -1,119 +0,0 @@ -.\" zip_source_win32w.mdoc -- create data source using a win32 Unicode name -.\" Copyright (C) 2015-2021 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd June 30, 2023 -.Dt ZIP_SOURCE_WIN32W 3 -.Os -.Sh NAME -.Nm zip_source_win32w , -.Nm zip_source_win32w_create -.Nd create data source from a Windows Unicode file name -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft zip_source_t * -.Fn zip_source_win32w "zip_t *archive" "const wchar_t *fname" "zip_uint64_t start" "zip_int64_t len" -.Ft zip_source_t * -.Fn zip_source_win32w_create "const wchar_t *fname" "zip_uint64_t start" "zip_int64_t len" "zip_error_t *error" -.Sh DESCRIPTION -The functions -.Fn zip_source_win32w -and -.Fn zip_source_win32w_create -create a zip source on Windows using a Windows Unicode name. -They open -.Ar fname -and read -.Ar len -bytes from offset -.Ar start -from it. -For a description of the -.Ar len -argument, see -.Xr zip_source_file 3 . -.Pp -If the file supports seek, the source can be used to open a zip archive from. -.Pp -The file is opened and read when the data from the source is used, usually by -.Fn zip_close -or -.Fn zip_open_from_source . -.Sh RETURN VALUES -Upon successful completion, the created source is returned. -Otherwise, -.Dv NULL -is returned and the error code in -.Ar archive -or -.Ar error -is set to indicate the error. -.Sh ERRORS -.Fn zip_source_win32w -and -.Fn zip_source_win32w_create -fail if: -.Bl -tag -width Er -.It Bq Er ZIP_ER_INVAL -.Ar fname , -.Ar start , -or -.Ar len -are invalid. -.It Bq Er ZIP_ER_MEMORY -Required memory could not be allocated. -.It Bq Er ZIP_ER_OPEN -Opening -.Ar fname -failed. -.El -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_file_add 3 , -.Xr zip_file_replace 3 , -.Xr zip_source 3 , -.Xr zip_source_file 3 , -.Xr zip_source_win32a 3 , -.Xr zip_source_win32handle 3 -.Sh HISTORY -.Fn zip_source_win32w -was added in libzip 1.0. -.Pp -.Dv ZIP_LENGTH_TO_END -and -.Dv ZIP_LENGTH_UNCHECKED -were added in libzip 1.10.1. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_window_create.3 b/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_window_create.3 deleted file mode 100644 index 4774491..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_window_create.3 +++ /dev/null @@ -1,98 +0,0 @@ -.\" zip_source_window_create.mdoc -- create zip data source overlay -.\" Copyright (C) 2021 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd April 29, 2021 -.Dt ZIP_SOURCE_WINDOW_CREATE 3 -.Os -.Sh NAME -.Nm zip_source_window_create -.Nd create zip data source overlay -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft zip_source_t * -.Fn zip_source_window_create "zip_source_t *source" "zip_uint64_t start" "zip_int64_t len" "zip_error_t *error" -.Sh DESCRIPTION -The -.Fn zip_source_window_create -function create a zip source from an underlying zip source, -restricting access to a particular window starting at byte -.Ar start -and having size -.Ar len . -If -.Ar len -is \-1, the window spans to the end of the underlying source. -.Pp -.Fn zip_source_window -and -.Fn zip_source_window_create -don't take ownership of -.Ar source . -The caller is responsible for freeing it. -(This is different to other layered sources.) -.Sh RETURN VALUES -Upon successful completion, the created source is returned. -Otherwise, -.Dv NULL -is returned and the error code in -.Ar error -is set to indicate the error. -.Sh ERRORS -.Fn zip_source_window_create -fails if: -.Bl -tag -width Er -.It Bq Er ZIP_ER_INVAL -.Ar src -is -.Dv NULL ; -there is an integer overflow adding -.Ar start -and -.Ar len ; -or -.Ar len -is less than \-1. -.It Bq Er ZIP_ER_MEMORY -Required memory could not be allocated. -.El -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_source 3 -.Sh HISTORY -.Fn zip_source_window_create -was added in libzip 1.8.0. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_write.3 b/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_write.3 deleted file mode 100644 index 9b47082..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_write.3 +++ /dev/null @@ -1,80 +0,0 @@ -.\" zip_source_write.mdoc -- write data to zip source -.\" Copyright (C) 2014-2017 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd December 18, 2017 -.Dt ZIP_SOURCE_WRITE 3 -.Os -.Sh NAME -.Nm zip_source_write -.Nd write data to zip source -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft zip_int64_t -.Fn zip_source_write "zip_source_t *source" "const void *data" "zip_uint64_t len" -.Sh DESCRIPTION -The function -.Fn zip_source_write -writes -.Ar len -bytes from the buffer -.Ar data -to the zip source -.Ar source -at the current write offset. -.Pp -The zip source -.Ar source -has to be prepared for writing by calling -.Xr zip_source_begin_write 3 -first. -.Sh RETURN VALUES -Upon successful completion the number of bytes written is returned. -Otherwise, \-1 is returned and the error information in -.Ar source -is set to indicate the error. -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_source 3 , -.Xr zip_source_begin_write 3 , -.Xr zip_source_commit_write 3 , -.Xr zip_source_rollback_write 3 , -.Xr zip_source_seek_write 3 , -.Xr zip_source_tell_write 3 -.Sh HISTORY -.Fn zip_source_write -was added in libzip 1.0. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_zip.3 b/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_zip.3 deleted file mode 100644 index acc96bf..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_zip.3 +++ /dev/null @@ -1,144 +0,0 @@ -.\" zip_source_zip.mdoc -- create data source from zip file -.\" Copyright (C) 2004-2021 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd January 23, 2023 -.Dt ZIP_SOURCE_ZIP 3 -.Os -.Sh NAME -.Nm zip_source_zip , -.Nm zip_source_zip_create -.Nd create data source from zip file (obsolete interface) -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft zip_source_t * -.Fn zip_source_zip "zip_t *archive" "zip_t *srcarchive" "zip_uint64_t srcidx" "zip_flags_t flags" "zip_uint64_t start" "zip_int64_t len" -.Ft zip_source_t * -.Fn zip_source_zip_create "zip_t *srcarchive" "zip_uint64_t srcidx" "zip_flags_t flags" "zip_uint64_t start" "zip_int64_t len" "zip_error_t *error" -.Sh DESCRIPTION -The functions -.Fn zip_source_zip -and -.Fn zip_source_zip_create -are the obsolete versions of -.Xr zip_source_zip_file 3 -or -.Xr zip_source_zip_file_create 3 -respectively. -If you want to get the compressed data of the complete file, use -.Dl zip_source_zip_file(za, source_archive, source_index, ZIP_FL_COMPRESSED, 0, -1, NULL) -.Pp -The functions -.Fn zip_source_zip -and -.Fn zip_source_zip_create -create a zip source from a file in a zip archive. -The -.Ar srcarchive -argument is the (open) zip archive containing the source zip file -at index -.Ar srcidx . -.Ar len -bytes from offset -.Ar start -will be used in the zip_source. -If -.Ar len -is 0 or \-1, the rest of the file, starting from -.Ar start , -is used. -If -.Ar start -is zero and -.Ar len -is \-1, the whole file will be copied without decompressing it. -.Pp -Supported flags are: -.Bl -tag -width Dv -.It Dv ZIP_FL_UNCHANGED -Try to get the original data without any changes that may have been -made to -.Ar srcarchive -after opening it. -.El -.Sh RETURN VALUES -Upon successful completion, the created source is returned. -Otherwise, -.Dv NULL -is returned and the error code in -.Ar archive -or -.Ar error -is set to indicate the error. -.Sh ERRORS -.Fn zip_source_zip -and -.Fn zip_source_zip_create -fail if: -.Bl -tag -width Er -.It Bq Er ZIP_ER_CHANGED -Unchanged data was requested, but it is not available. -.It Bq Er ZIP_ER_INVAL -.Ar srcarchive , -.Ar srcidx , -.Ar start , -or -.Ar len -are invalid. -.It Bq Er ZIP_ER_MEMORY -Required memory could not be allocated. -.El -Additionally, it can return all error codes from -.Fn zip_stat_index -and -.Fn zip_fopen_index . -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_file_add 3 , -.Xr zip_file_replace 3 , -.Xr zip_source 3 -.Sh HISTORY -.Fn zip_source_zip -was added in libzip 1.0. -.Fn zip_source_zip_create -was added in libzip 1.8.0. -Both were deprecated in libzip 1.10.0. -Use -.Fn zip_source_zip_file -or -.Fn zip_source_zip_file_create -instead. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_zip_file.3 b/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_zip_file.3 deleted file mode 100644 index fee9d49..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_source_zip_file.3 +++ /dev/null @@ -1,144 +0,0 @@ -.\" zip_source_zip_file.mdoc -- create data source from zip file -.\" Copyright (C) 2004-2021 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd March 10, 2023 -.Dt ZIP_SOURCE_ZIP_FILE 3 -.Os -.Sh NAME -.Nm zip_source_zip_file , -.Nm zip_source_zip_file_create -.Nd create data source from zip file -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft zip_source_t * -.Fn zip_source_zip_file "zip_t *archive" "zip_t *srcarchive" "zip_uint64_t srcidx" "zip_flags_t flags" "zip_uint64_t start" "zip_int64_t length" "const char *password" -.Ft zip_source_t * -.Fn zip_source_zip_file_create "zip_t *srcarchive" "zip_uint64_t srcidx" "zip_flags_t flags" "zip_uint64_t start" "zip_int64_t length" "const char *password" "zip_error_t *error" -.Sh DESCRIPTION -The functions -.Fn zip_source_zip_file -and -.Fn zip_source_zip_file_create -create a zip source from a file in a zip archive. -The -.Ar srcarchive -argument is the (open) zip archive containing the source zip file -at index -.Ar srcidx . -.Ar length -bytes from offset -.Ar start -will be used in the zip_source. -If -.Ar length -is \-1, the rest of the file, starting from -.Ar start , -is used. -.Pp -If you intend to copy a file from one archive to another, using the flag -.Dv ZIP_FL_COMPRESSED -is more efficient, as it avoids recompressing the file data. -.Pp -Supported flags are: -.Bl -tag -width 20n -.It Dv ZIP_FL_COMPRESSED -Get the compressed data. -This is only supported if the complete file data is requested -.Ar ( start -== 0 and -.Ar length -== \-1). -This is not supported for changed data. -Default is uncompressed. -.It Dv ZIP_FL_ENCRYPTED -Get the encrypted data. -(This flag implies -.Dv ZIP_FL_COMPRESSED . ) -This is only supported if the complete file data is requested -.Ar ( start -== 0 and -.Ar length -== \-1). -Default is decrypted. -.It Dv ZIP_FL_UNCHANGED -Try to get the original data without any changes that may have been -made to -.Ar srcarchive -after opening it. -.El -.Sh RETURN VALUES -Upon successful completion, the created source is returned. -Otherwise, -.Dv NULL -is returned and the error code in -.Ar archive -or -.Ar error -is set to indicate the error. -.Sh ERRORS -.Fn zip_source_zip_file -and -.Fn zip_source_zip_file_create -fail if: -.Bl -tag -width Er -.It Bq Er ZIP_ER_CHANGED -Unchanged data was requested, but it is not available. -.It Bq Er ZIP_ER_INVAL -.Ar srcarchive , -.Ar srcidx , -.Ar start , -or -.Ar length -are invalid. -.It Bq Er ZIP_ER_MEMORY -Required memory could not be allocated. -.El -Additionally, it can return all error codes from -.Fn zip_stat_index -and -.Fn zip_fopen_index . -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_file_add 3 , -.Xr zip_file_replace 3 , -.Xr zip_source 3 -.Sh HISTORY -.Fn zip_source_zip_file -and -.Fn zip_source_zip_file_create -were added in libzip 1.10.0. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_stat.3 b/thirdparty/libzip-1.11.3/build-emcmake/man/zip_stat.3 deleted file mode 100644 index 3ee9bbe..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_stat.3 +++ /dev/null @@ -1,179 +0,0 @@ -.\" zip_stat.mdoc -- get information about file -.\" Copyright (C) 2003-2017 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd December 18, 2017 -.Dt ZIP_STAT 3 -.Os -.Sh NAME -.Nm zip_stat , -.Nm zip_stat_index -.Nd get information about file -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft int -.Fn zip_stat "zip_t *archive" "const char *fname" "zip_flags_t flags" "zip_stat_t *sb" -.Ft int -.Fn zip_stat_index "zip_t *archive" "zip_uint64_t index" "zip_flags_t flags" "zip_stat_t *sb" -.Sh DESCRIPTION -The -.Fn zip_stat -function obtains information about the file named -.Ar fname -in -.Ar archive . -The -.Ar flags -argument specifies how the name lookup should be done. -Its values are described in -.Xr zip_name_locate 3 . -Also, -.Dv ZIP_FL_UNCHANGED -may be -.Em or Ns No 'ed -to it to request information about the original file in the archive, -ignoring any changes made. -.Pp -The -.Fn zip_stat_index -function obtains information about the file at position -.Ar index . -.Pp -The -.Ar sb -argument is a pointer to a -.Ft struct zip_stat -(shown below), into which information about the file is placed. -.Bd -literal -struct zip_stat { - zip_uint64_t valid; /* which fields have valid values */ - const char *name; /* name of the file */ - zip_uint64_t index; /* index within archive */ - zip_uint64_t size; /* size of file (uncompressed) */ - zip_uint64_t comp_size; /* size of file (compressed) */ - time_t mtime; /* modification time */ - zip_uint32_t crc; /* crc of file data */ - zip_uint16_t comp_method; /* compression method used */ - zip_uint16_t encryption_method; /* encryption method used */ - zip_uint32_t flags; /* reserved for future use */ -}; -.Ed -The structure pointed to by -.Ar sb -must be allocated before calling -.Fn zip_stat -or -.Fn zip_stat_index . -.Pp -The -.Ar valid -field of the structure specifies which other fields are valid. -Check if the flag defined by the following defines are in -.Ar valid -before accessing the fields: -.Bl -tag -width ZIP_STAT_ENCRYPTION_METHODXX -compact -offset indent -.It Dv ZIP_STAT_NAME -.Ar name -.It Dv ZIP_STAT_INDEX -.Ar index -.It Dv ZIP_STAT_SIZE -.Ar size -.It Dv ZIP_STAT_COMP_SIZE -.Ar comp_size -.It Dv ZIP_STAT_MTIME -.Ar mtime -.It Dv ZIP_STAT_CRC -.Ar crc -.It Dv ZIP_STAT_COMP_METHOD -.Ar comp_method -.It Dv ZIP_STAT_ENCRYPTION_METHOD -.Ar encryption_method -.It Dv ZIP_STAT_FLAGS -.Ar flags -.El -.Sh RETURN VALUES -Upon successful completion 0 is returned. -Otherwise, \-1 is returned and the error information in -.Ar archive -is set to indicate the error. -.Sh ERRORS -The function -.Fn zip_stat -can fail for any of the errors specified for the routine -.Xr zip_name_locate 3 . -.Pp -The function -.Fn zip_stat_index -fails and sets the error information to -.Er ZIP_ER_INVAL -if -.Ar index -is invalid. -If -.Dv ZIP_FL_UNCHANGED -is not set and no information can be obtained from the source -callback, the error information is set to -.Er ZIP_ER_CHANGED . -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_get_num_entries 3 , -.Xr zip_name_locate 3 , -.Xr zip_stat_init 3 -.Sh HISTORY -.Fn zip_stat -was added in libzip 0.6. -In libzip 0.11 the type of -.Ar flags -was changed from -.Vt int -to -.Vt zip_flags_t . -.Pp -.Fn zip_stat_index -was added in libzip 0.6. -In libzip 0.10 the type of -.Ar index -was changed from -.Vt int -to -.Vt zip_uint64_t . -In libzip 0.11 the type of -.Ar flags -was changed from -.Vt int -to -.Vt zip_flags_t . -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_stat_init.3 b/thirdparty/libzip-1.11.3/build-emcmake/man/zip_stat_init.3 deleted file mode 100644 index afa38ec..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_stat_init.3 +++ /dev/null @@ -1,76 +0,0 @@ -.\" zip_stat_init.mdoc -- init zip_stat structure -.\" Copyright (C) 2006-2017 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd December 18, 2017 -.Dt ZIP_STAT_INIT 3 -.Os -.Sh NAME -.Nm zip_stat_init -.Nd initialize zip_stat structure -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft void -.Fn zip_stat_init "zip_stat_t *sb" -.Sh DESCRIPTION -The -.Fn zip_stat_init -function initializes the members of a struct zip_stat. -The current members are described in -.Xr zip_stat 3 , -but this function should be used to initialize it to -make sure none are missed. -The structure pointed to by -.Ar sb -must be allocated before calling -.Fn zip_stat_init . -.Pp -This function should be used by functions provided to -.Xr zip_source_function 3 -when returning -.Dv ZIP_SOURCE_STAT -information to make sure all fields are initialized. -.Sh RETURN VALUES -If -.Ar sb -is valid, the function is always successful. -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_stat 3 -.Sh HISTORY -.Fn zip_stat_init -was added in libzip 0.8. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_unchange.3 b/thirdparty/libzip-1.11.3/build-emcmake/man/zip_unchange.3 deleted file mode 100644 index 4867243..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_unchange.3 +++ /dev/null @@ -1,81 +0,0 @@ -.\" zip_unchange.mdoc -- undo changes to file in zip archive -.\" Copyright (C) 2003-2017 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd December 18, 2017 -.Dt ZIP_UNCHANGE 3 -.Os -.Sh NAME -.Nm zip_unchange -.Nd undo changes to file in zip archive -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft int -.Fn zip_unchange "zip_t *archive" "zip_uint64_t index" -.Sh DESCRIPTION -Changes to the file at position -.Ar index -are reverted. -.Sh RETURN VALUES -Upon successful completion 0 is returned. -Otherwise, \-1 is returned and the error code in -.Ar archive -is set to indicate the error. -.Sh ERRORS -.Fn zip_unchange -fails if: -.Bl -tag -width Er -.It Bq Er ZIP_ER_EXISTS -Unchanging the name would result in a duplicate name in the archive. -.It Bq Er ZIP_ER_INVAL -.Ar index -is not a valid file index in -.Ar zip . -.El -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_unchange_all 3 , -.Xr zip_unchange_archive 3 -.Sh HISTORY -.Fn zip_unchange -was added in libzip 0.6. -In libzip 0.10 the type of -.Ar index -was changed from -.Vt int -to -.Vt zip_uint64_t . -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_unchange_all.3 b/thirdparty/libzip-1.11.3/build-emcmake/man/zip_unchange_all.3 deleted file mode 100644 index 7604165..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_unchange_all.3 +++ /dev/null @@ -1,64 +0,0 @@ -.\" zip_unchange_all.mdoc -- undo changes to all files in zip archive -.\" Copyright (C) 2003-2017 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd December 18, 2017 -.Dt ZIP_UNCHANGE_ALL 3 -.Os -.Sh NAME -.Nm zip_unchange_all -.Nd undo all changes in a zip archive -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft int -.Fn zip_unchange_all "zip_t *archive" -.Sh DESCRIPTION -All changes to files and global information in -.Ar archive -are reverted. -.Sh RETURN VALUES -Upon successful completion 0 is returned. -Otherwise, \-1 is returned and the error code in -.Ar archive -is set to indicate the error. -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_unchange 3 , -.Xr zip_unchange_archive 3 -.Sh HISTORY -.Fn zip_unchange_all -was added in libzip 0.6. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_unchange_archive.3 b/thirdparty/libzip-1.11.3/build-emcmake/man/zip_unchange_archive.3 deleted file mode 100644 index 45a3c82..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/man/zip_unchange_archive.3 +++ /dev/null @@ -1,64 +0,0 @@ -.\" zip_unchange_archive.mdoc -- undo changes to all files in zip archive -.\" Copyright (C) 2006-2017 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd December 18, 2017 -.Dt ZIP_UNCHANGE_ARCHIVE 3 -.Os -.Sh NAME -.Nm zip_unchange_archive -.Nd undo global changes to zip archive -.Sh LIBRARY -libzip (-lzip) -.Sh SYNOPSIS -.In zip.h -.Ft int -.Fn zip_unchange_archive "zip_t *archive" -.Sh DESCRIPTION -Revert all global changes to the archive -.Ar archive . -This reverts changes to the archive comment and global flags. -.Sh RETURN VALUES -Upon successful completion 0 is returned. -Otherwise, \-1 is returned and the error code in -.Ar archive -is set to indicate the error. -.Sh SEE ALSO -.Xr libzip 3 , -.Xr zip_unchange 3 , -.Xr zip_unchange_all 3 -.Sh HISTORY -.Fn zip_unchange_archive -was added in libzip 0.7. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/man/zipcmp.1 b/thirdparty/libzip-1.11.3/build-emcmake/man/zipcmp.1 deleted file mode 100644 index d3d69e6..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/man/zipcmp.1 +++ /dev/null @@ -1,99 +0,0 @@ -.\" zipcmp.mdoc -- compare zip archives -.\" Copyright (C) 2003-2024 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd March 15, 2024 -.Dt ZIPCMP 1 -.Os -.Sh NAME -.Nm zipcmp -.Nd compare contents of zip archives -.Sh SYNOPSIS -.Nm -.Op Fl ChipqsTtVv -.Ar archive1 archive2 -.Sh DESCRIPTION -.Nm -compares the zip archives or directories -.Ar archive1 -and -.Ar archive2 -and checks if they contain the same files, comparing their names, -uncompressed sizes, and CRCs. -File order and compressed size differences are ignored. -.Pp -Supported options: -.Bl -tag -width MMM -.It Fl C -Check consistency of archives. -Results in an error if archive is inconsistent or not valid -according to the zip specification. -.It Fl h -Display a short help message and exit. -.It Fl i -Compare names ignoring case distinctions. -.It Fl p -Enable paranoid checks. -Compares extra fields, comments, and other meta data. -(Automatically disabled if one of the archives is a directory.) -These checks are skipped for files where the data differs. -.It Fl q -Quiet mode. -Compare -.Fl v . -.It Fl s -Print a summary of how many files where added and removed. -.It Fl T -Additionally compare the time stamps of the entries. -.It Fl t -Test zip files by comparing the contents to their checksums. -.It Fl V -Display version information and exit. -.It Fl v -Verbose mode. -Print details about differences to stdout. -(This is the default.) -.El -.Sh EXIT STATUS -.Nm -exits 0 if the two archives contain the same files, 1 if they differ, -and >1 if an error occurred. -.Sh SEE ALSO -.Xr zipmerge 1 , -.Xr ziptool 1 , -.Xr libzip 3 -.Sh HISTORY -.Nm -was added in libzip 0.6. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/man/zipmerge.1 b/thirdparty/libzip-1.11.3/build-emcmake/man/zipmerge.1 deleted file mode 100644 index f7c535b..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/man/zipmerge.1 +++ /dev/null @@ -1,105 +0,0 @@ -.\" zipmerge.mdoc -- merge zip archives -.\" Copyright (C) 2004-2022 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd November 7, 2023 -.Dt ZIPMERGE 1 -.Os -.Sh NAME -.Nm zipmerge -.Nd merge zip archives -.Sh SYNOPSIS -.Nm -.Op Fl DhIiSsV -.Ar target-zip -.Ar source-zip Op Ar source-zip ... -.Sh DESCRIPTION -.Nm -copies files from the source zip archives -.Ar source-zip -to the target zip archive -.Ar target-zip . -By default, files in the source zip archives overwrite -existing files of the same name in the target zip archive. -By default, compressed files in the source archive are -copied directly without recompression, uncompressed files -are compressed using the default compression algorithm. -.Pp -Supported options: -.Bl -tag -width MMM -.It Fl D -Ignore directory components in file name comparisons. -This option is slow for archives with many files. -.It Fl h -Display a short help message and exit. -.It Fl I -Ignore case in file name comparisons -This option is slow for archives with many files. -.It Fl i -Ask before overwriting files. -See also -.Fl s . -.It Fl k -Do not compress files that were uncompressed in -.Ar source-zip , -otherwise they are compressed with the default compression method. -.It Fl S -Do not overwrite files that have the same name, size, and -CRC32 in both the source and target archives. -.It Fl s -When -.Fl i -is given, do not ask before overwriting files that have the same name, size, -and CRC32. -.It Fl V -Display version information and exit. -.El -.Sh EXIT STATUS -.Nm -exits 0 on success and >1 if an error occurred. -.Sh SEE ALSO -.Xr zipcmp 1 , -.Xr ziptool 1 , -.Xr libzip 3 -.Sh HISTORY -.Nm -was added in libzip 0.6. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at -.Sh CAVEATS -.Nm -uses one open file descriptor per zip archive. -If you need to merge a lot of zip archives, check your shell's -file descriptor ulimit and either increase it or run -.Nm -multiple times with e.g. 1000 source zip archives each time. diff --git a/thirdparty/libzip-1.11.3/build-emcmake/man/ziptool.1 b/thirdparty/libzip-1.11.3/build-emcmake/man/ziptool.1 deleted file mode 100644 index 05f57bd..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/man/ziptool.1 +++ /dev/null @@ -1,364 +0,0 @@ -.\" ziptool.mdoc -- modify zip archives in multiple ways -.\" Copyright (C) 2016-2022 Dieter Baron and Thomas Klausner -.\" -.\" This file is part of libzip, a library to manipulate ZIP archives. -.\" The authors can be contacted at -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" 3. The names of the authors may not be used to endorse or promote -.\" products derived from this software without specific prior -.\" written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -.\" GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -.\" IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd January 23, 2023 -.Dt ZIPTOOL 1 -.Os -.Sh NAME -.Nm ziptool -.Nd modify zip archives -.Sh SYNOPSIS -.Nm -.Op Fl ceghnrst -.Op Fl l Ar length -.Op Fl o Ar offset -.Ar zip-archive -.Cm command Op Ar command-args ... -.Op Cm command Oo Ar command-args ... Oc ... -.Sh DESCRIPTION -.Nm -modifies the zip archive -.Ar zip-archive -according to the -.Ar commands -given. -.Pp -Supported options: -.Bl -tag -width MoMoffsetMM -.It Fl c -Check zip archive consistency when opening it. -.It Fl e -Error if archive already exists (only useful with -.Fl n ) . -.It Fl g -Guess file name encoding (for -.Cm stat -command). -.It Fl h -Display help. -.It Fl l Ar length -Only read -.Ar length -bytes of archive. -See also -.Fl o . -.It Fl n -Create archive if it doesn't exist. -See also -.Fl e . -.It Fl o Ar offset -Start reading input archive from -.Ar offset . -See also -.Fl l . -.It Fl r -Print raw file name encoding without translation (for -.Cm stat -command). -.It Fl s -Follow file name convention strictly (for -.Cm stat -command). -.It Fl t -Disregard current file contents, if any. -.Em Note : -use this with care, it deletes all existing file contents when -you modify the archive. -.El -.Ss Commands -For all commands below, the index is zero-based. -In other words, the first entry in the zip archive has index 0. -.Pp -Supported commands and arguments are: -.Bl -tag -width 10n -.It Cm add Ar name content -Add file called -.Ar name -using the string -.Ar content -from the command line as data. -.It Cm add_dir Ar name -Add directory -.Ar name . -.It Cm add_file Ar name file_to_add offset len -Add file -.Ar name -to archive, using -.Ar len -bytes from the file -.Ar file_to_add -as input data, starting at -.Ar offset . -.It Cm add_from_zip Ar name archivename index offset len -Add file called -.Ar name -to archive using data from another zip archive -.Ar archivename -using the entry with index -.Ar index -and reading -.Ar len -bytes from -.Ar offset . -.It Cm cat Ar index -Output file contents for entry -.Ar index -to stdout. -.It Cm count_extra Ar index flags -Print the number of extra fields for archive entry -.Ar index -using -.Ar flags . -.It Cm count_extra_by_id Ar index extra_id flags -Print number of extra fields of type -.Ar extra_id -for archive entry -.Ar index -using -.Ar flags . -.It Cm delete Ar index -Remove entry at -.Ar index -from zip archive. -.It Cm delete_extra Ar index extra_idx flags -Remove extra field number -.Ar extra_idx -from archive entry -.Ar index -using -.Ar flags . -.It Cm delete_extra_by_id Ar index extra_id extra_index flags -Remove extra field number -.Ar extra_index -of type -.Ar extra_id -from archive entry -.Ar index -using -.Ar flags . -.It Cm get_archive_comment -Print archive comment. -.It Cm get_archive_flag Ar flag -Print state of archive flag -.Ar flag . -.It Cm get_extra Ar index extra_index flags -Print extra field -.Ar extra_index -for archive entry -.Ar index -using -.Ar flags . -.It Cm get_extra_by_id Ar index extra_id extra_index flags -Print extra field -.Ar extra_index -of type -.Ar extra_id -for archive entry -.Ar index -using -.Ar flags . -.It Cm get_file_comment Ar index -Get file comment for archive entry -.Ar index . -.It Cm get_num_entries Ar flags -Print number of entries in archive using -.Ar flags . -.It Cm name_locate Ar name flags -Find entry in archive with the filename -.Ar name -using -.Ar flags -and print its index. -.It Cm rename Ar index name -Rename archive entry -.Ar index -to -.Ar name . -.It Cm replace_file_contents Ar index data -Replace file contents for archive entry -.Ar index -with the string -.Ar data . -.It Cm set_archive_comment Ar comment -Set archive comment to -.Ar comment . -.It Cm get_archive_flag Ar flag Ar value -Set archive flag -.Ar flag -to -.Ar value . -.It Cm set_extra Ar index extra_id extra_index flags value -Set extra field number -.Ar extra_index -of type -.Ar extra_id -for archive entry -.Ar index -using -.Ar flags -to -.Ar value . -.It Cm set_file_comment Ar index comment -Set file comment for archive entry -.Ar index -to string -.Ar comment . -.It Cm set_file_compression Ar index method compression_flags -Set file compression method for archive entry -.Ar index -to -.Ar method -using -.Ar compression_flags . -.Em Note : -Currently, -.Ar compression_flags -are ignored. -.It Cm set_file_encryption Ar index method password -Set file encryption method for archive entry -.Ar index -to -.Ar method -with password -.Ar password . -.It Cm set_file_mtime Ar index timestamp -Set file modification time for archive entry -.Ar index -to UNIX mtime -.Ar timestamp . -.It Cm set_file_mtime_all Ar timestamp -Set file modification time for all archive entries to UNIX mtime -.Ar timestamp . -.It Cm set_password Ar password -Set default password for encryption/decryption to -.Ar password . -.It Cm stat Ar index -Print information about archive entry -.Ar index . -.El -.Ss Flags -Some commands take flag arguments. -Each character in the argument sets the corresponding flag. -Use 0 or the empty string for no flags. -.Pp -Supported flags are: -.Bl -tag -width MMM -compact -offset indent -.It Ar 4 -.Dv ZIP_FL_ENC_CP437 -.It Ar 8 -.Dv ZIP_FL_ENC_UTF_8 -.It Ar C -.Dv ZIP_FL_NOCASE -.It Ar c -.Dv ZIP_FL_CENTRAL -.It Ar d -.Dv ZIP_FL_NODIR -.It Ar l -.Dv ZIP_FL_LOCAL -.It Ar r -.Dv ZIP_FL_ENC_RAW -.It Ar s -.Dv ZIP_FL_ENC_STRICT -.It Ar u -.Dv ZIP_FL_UNCHANGED -.El -.Ss Archive flags -.Cm get_archive_flag -and -.Cm set_archive_flag -work on the following flags: -.Bl -bullet -compact -offset indent -.It -.Dv create-or-keep-empty-file-for-archive -.It -.Dv is-torrentzip -.It -.Dv rdonly -.It -.Dv want-torrentzip -.El -.Ss Compression Methods -Some commands take compression method arguments. -Supported methods are: -.Bl -bullet -compact -offset indent -.It -.Dv default -.It -.Dv deflate -.It -.Dv store -.El -.Ss Encryption Methods -Some commands take encryption method arguments. -Supported methods are: -.Bl -bullet -compact -offset indent -.It -.Dv none -.It -.Dv AES-128 -.It -.Dv AES-192 -.It -.Dv AES-256 -.El -.Sh EXIT STATUS -.Ex -std -.Sh EXAMPLES -Add a file called -.Pa teststring.txt -to the zip archive -.Pa testbuffer.zip -with data -.Dq This is a test.\en -where -.Dq \en -is replaced with a newline character: -.Bd -literal -offset indent -ziptool testbuffer.zip add teststring.txt \\"This is a test.\en\\" -.Ed -.Pp -Delete the first file from the zip archive -.Pa testfile.zip : -.Bd -literal -offset indent -ziptool testfile.zip delete 0 -.Ed -.Sh SEE ALSO -.Xr zipcmp 1 , -.Xr zipmerge 1 , -.Xr libzip 3 -.Sh HISTORY -.Nm -was added in libzip 1.1. -.Sh AUTHORS -.An -nosplit -.An Dieter Baron Aq Mt dillo@nih.at -and -.An Thomas Klausner Aq Mt wiz@gatalith.at diff --git a/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/CMakeDirectoryInformation.cmake b/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/CMakeDirectoryInformation.cmake deleted file mode 100644 index ea55061..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/CMakeDirectoryInformation.cmake +++ /dev/null @@ -1,16 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.28 - -# Relative path conversion top directories. -set(CMAKE_RELATIVE_PATH_TOP_SOURCE "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3") -set(CMAKE_RELATIVE_PATH_TOP_BINARY "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake") - -# Force unix paths in dependencies. -set(CMAKE_FORCE_UNIX_PATHS 1) - - -# The C and CXX include file regular expressions for this directory. -set(CMAKE_C_INCLUDE_REGEX_SCAN "^.*$") -set(CMAKE_C_INCLUDE_REGEX_COMPLAIN "^$") -set(CMAKE_CXX_INCLUDE_REGEX_SCAN ${CMAKE_C_INCLUDE_REGEX_SCAN}) -set(CMAKE_CXX_INCLUDE_REGEX_COMPLAIN ${CMAKE_C_INCLUDE_REGEX_COMPLAIN}) diff --git a/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/list-fuzzers.dir/DependInfo.cmake b/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/list-fuzzers.dir/DependInfo.cmake deleted file mode 100644 index 29b95a5..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/list-fuzzers.dir/DependInfo.cmake +++ /dev/null @@ -1,22 +0,0 @@ - -# Consider dependencies only in project. -set(CMAKE_DEPENDS_IN_PROJECT_ONLY OFF) - -# The set of languages for which implicit dependencies are needed: -set(CMAKE_DEPENDS_LANGUAGES - ) - -# The set of dependency files which are needed: -set(CMAKE_DEPENDS_DEPENDENCY_FILES - ) - -# Targets to which this target links which contain Fortran sources. -set(CMAKE_Fortran_TARGET_LINKED_INFO_FILES - ) - -# Targets to which this target links which contain Fortran sources. -set(CMAKE_Fortran_TARGET_FORWARD_LINKED_INFO_FILES - ) - -# Fortran module output directory. -set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/list-fuzzers.dir/build.make b/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/list-fuzzers.dir/build.make deleted file mode 100644 index 42072c0..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/list-fuzzers.dir/build.make +++ /dev/null @@ -1,87 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.28 - -# Delete rule output on recipe failure. -.DELETE_ON_ERROR: - -#============================================================================= -# Special targets provided by cmake. - -# Disable implicit rules so canonical targets will work. -.SUFFIXES: - -# Disable VCS-based implicit rules. -% : %,v - -# Disable VCS-based implicit rules. -% : RCS/% - -# Disable VCS-based implicit rules. -% : RCS/%,v - -# Disable VCS-based implicit rules. -% : SCCS/s.% - -# Disable VCS-based implicit rules. -% : s.% - -.SUFFIXES: .hpux_make_needs_suffix_list - -# Command-line flag to silence nested $(MAKE). -$(VERBOSE)MAKESILENT = -s - -#Suppress display of executed commands. -$(VERBOSE).SILENT: - -# A target that is always out of date. -cmake_force: -.PHONY : cmake_force - -#============================================================================= -# Set environment variables for the build. - -# The shell in which to execute make rules. -SHELL = /bin/sh - -# The CMake executable. -CMAKE_COMMAND = /usr/bin/cmake - -# The command to remove a file. -RM = /usr/bin/cmake -E rm -f - -# Escaping for special characters. -EQUALS = = - -# The top-level source directory on which CMake was run. -CMAKE_SOURCE_DIR = "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3" - -# The top-level build directory on which CMake was run. -CMAKE_BINARY_DIR = "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" - -# Utility rule file for list-fuzzers. - -# Include any custom commands dependencies for this target. -include ossfuzz/CMakeFiles/list-fuzzers.dir/compiler_depend.make - -# Include the progress variables for this target. -include ossfuzz/CMakeFiles/list-fuzzers.dir/progress.make - -ossfuzz/CMakeFiles/list-fuzzers: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz" && echo FUZZERS: zip_read_file_fuzzer zip_read_fuzzer zip_write_encrypt_aes256_file_fuzzer zip_write_encrypt_pkware_file_fuzzer - -list-fuzzers: ossfuzz/CMakeFiles/list-fuzzers -list-fuzzers: ossfuzz/CMakeFiles/list-fuzzers.dir/build.make -.PHONY : list-fuzzers - -# Rule to build all files generated by this target. -ossfuzz/CMakeFiles/list-fuzzers.dir/build: list-fuzzers -.PHONY : ossfuzz/CMakeFiles/list-fuzzers.dir/build - -ossfuzz/CMakeFiles/list-fuzzers.dir/clean: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz" && $(CMAKE_COMMAND) -P CMakeFiles/list-fuzzers.dir/cmake_clean.cmake -.PHONY : ossfuzz/CMakeFiles/list-fuzzers.dir/clean - -ossfuzz/CMakeFiles/list-fuzzers.dir/depend: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3" "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/ossfuzz" "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz" "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/list-fuzzers.dir/DependInfo.cmake" "--color=$(COLOR)" -.PHONY : ossfuzz/CMakeFiles/list-fuzzers.dir/depend - diff --git a/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/list-fuzzers.dir/cmake_clean.cmake b/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/list-fuzzers.dir/cmake_clean.cmake deleted file mode 100644 index 097d441..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/list-fuzzers.dir/cmake_clean.cmake +++ /dev/null @@ -1,8 +0,0 @@ -file(REMOVE_RECURSE - "CMakeFiles/list-fuzzers" -) - -# Per-language clean rules from dependency scanning. -foreach(lang ) - include(CMakeFiles/list-fuzzers.dir/cmake_clean_${lang}.cmake OPTIONAL) -endforeach() diff --git a/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/list-fuzzers.dir/compiler_depend.make b/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/list-fuzzers.dir/compiler_depend.make deleted file mode 100644 index 5cf9982..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/list-fuzzers.dir/compiler_depend.make +++ /dev/null @@ -1,2 +0,0 @@ -# Empty custom commands generated dependencies file for list-fuzzers. -# This may be replaced when dependencies are built. diff --git a/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/list-fuzzers.dir/compiler_depend.ts b/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/list-fuzzers.dir/compiler_depend.ts deleted file mode 100644 index c5c7028..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/list-fuzzers.dir/compiler_depend.ts +++ /dev/null @@ -1,2 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Timestamp file for custom commands dependencies management for list-fuzzers. diff --git a/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/list-fuzzers.dir/progress.make b/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/list-fuzzers.dir/progress.make deleted file mode 100644 index 8b13789..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/list-fuzzers.dir/progress.make +++ /dev/null @@ -1 +0,0 @@ - diff --git a/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/progress.marks b/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/progress.marks deleted file mode 100644 index 9902f17..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/progress.marks +++ /dev/null @@ -1 +0,0 @@ -28 diff --git a/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_read_file_fuzzer.dir/DependInfo.cmake b/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_read_file_fuzzer.dir/DependInfo.cmake deleted file mode 100644 index 7af017e..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_read_file_fuzzer.dir/DependInfo.cmake +++ /dev/null @@ -1,24 +0,0 @@ - -# Consider dependencies only in project. -set(CMAKE_DEPENDS_IN_PROJECT_ONLY OFF) - -# The set of languages for which implicit dependencies are needed: -set(CMAKE_DEPENDS_LANGUAGES - ) - -# The set of dependency files which are needed: -set(CMAKE_DEPENDS_DEPENDENCY_FILES - "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/ossfuzz/fuzz_main.c" "ossfuzz/CMakeFiles/zip_read_file_fuzzer.dir/fuzz_main.c.o" "gcc" "ossfuzz/CMakeFiles/zip_read_file_fuzzer.dir/fuzz_main.c.o.d" - "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/ossfuzz/zip_read_file_fuzzer.c" "ossfuzz/CMakeFiles/zip_read_file_fuzzer.dir/zip_read_file_fuzzer.c.o" "gcc" "ossfuzz/CMakeFiles/zip_read_file_fuzzer.dir/zip_read_file_fuzzer.c.o.d" - ) - -# Targets to which this target links which contain Fortran sources. -set(CMAKE_Fortran_TARGET_LINKED_INFO_FILES - ) - -# Targets to which this target links which contain Fortran sources. -set(CMAKE_Fortran_TARGET_FORWARD_LINKED_INFO_FILES - ) - -# Fortran module output directory. -set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_read_file_fuzzer.dir/build.make b/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_read_file_fuzzer.dir/build.make deleted file mode 100644 index dffcb72..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_read_file_fuzzer.dir/build.make +++ /dev/null @@ -1,132 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.28 - -# Delete rule output on recipe failure. -.DELETE_ON_ERROR: - -#============================================================================= -# Special targets provided by cmake. - -# Disable implicit rules so canonical targets will work. -.SUFFIXES: - -# Disable VCS-based implicit rules. -% : %,v - -# Disable VCS-based implicit rules. -% : RCS/% - -# Disable VCS-based implicit rules. -% : RCS/%,v - -# Disable VCS-based implicit rules. -% : SCCS/s.% - -# Disable VCS-based implicit rules. -% : s.% - -.SUFFIXES: .hpux_make_needs_suffix_list - -# Command-line flag to silence nested $(MAKE). -$(VERBOSE)MAKESILENT = -s - -#Suppress display of executed commands. -$(VERBOSE).SILENT: - -# A target that is always out of date. -cmake_force: -.PHONY : cmake_force - -#============================================================================= -# Set environment variables for the build. - -# The shell in which to execute make rules. -SHELL = /bin/sh - -# The CMake executable. -CMAKE_COMMAND = /usr/bin/cmake - -# The command to remove a file. -RM = /usr/bin/cmake -E rm -f - -# Escaping for special characters. -EQUALS = = - -# The top-level source directory on which CMake was run. -CMAKE_SOURCE_DIR = "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3" - -# The top-level build directory on which CMake was run. -CMAKE_BINARY_DIR = "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" - -# Include any dependencies generated for this target. -include ossfuzz/CMakeFiles/zip_read_file_fuzzer.dir/depend.make -# Include any dependencies generated by the compiler for this target. -include ossfuzz/CMakeFiles/zip_read_file_fuzzer.dir/compiler_depend.make - -# Include the progress variables for this target. -include ossfuzz/CMakeFiles/zip_read_file_fuzzer.dir/progress.make - -# Include the compile flags for this target's objects. -include ossfuzz/CMakeFiles/zip_read_file_fuzzer.dir/flags.make - -ossfuzz/CMakeFiles/zip_read_file_fuzzer.dir/zip_read_file_fuzzer.c.o: ossfuzz/CMakeFiles/zip_read_file_fuzzer.dir/flags.make -ossfuzz/CMakeFiles/zip_read_file_fuzzer.dir/zip_read_file_fuzzer.c.o: ossfuzz/CMakeFiles/zip_read_file_fuzzer.dir/includes_C.rsp -ossfuzz/CMakeFiles/zip_read_file_fuzzer.dir/zip_read_file_fuzzer.c.o: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/ossfuzz/zip_read_file_fuzzer.c -ossfuzz/CMakeFiles/zip_read_file_fuzzer.dir/zip_read_file_fuzzer.c.o: ossfuzz/CMakeFiles/zip_read_file_fuzzer.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_1) "Building C object ossfuzz/CMakeFiles/zip_read_file_fuzzer.dir/zip_read_file_fuzzer.c.o" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT ossfuzz/CMakeFiles/zip_read_file_fuzzer.dir/zip_read_file_fuzzer.c.o -MF CMakeFiles/zip_read_file_fuzzer.dir/zip_read_file_fuzzer.c.o.d -o CMakeFiles/zip_read_file_fuzzer.dir/zip_read_file_fuzzer.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/ossfuzz/zip_read_file_fuzzer.c" - -ossfuzz/CMakeFiles/zip_read_file_fuzzer.dir/zip_read_file_fuzzer.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/zip_read_file_fuzzer.dir/zip_read_file_fuzzer.c.i" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/ossfuzz/zip_read_file_fuzzer.c" > CMakeFiles/zip_read_file_fuzzer.dir/zip_read_file_fuzzer.c.i - -ossfuzz/CMakeFiles/zip_read_file_fuzzer.dir/zip_read_file_fuzzer.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/zip_read_file_fuzzer.dir/zip_read_file_fuzzer.c.s" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/ossfuzz/zip_read_file_fuzzer.c" -o CMakeFiles/zip_read_file_fuzzer.dir/zip_read_file_fuzzer.c.s - -ossfuzz/CMakeFiles/zip_read_file_fuzzer.dir/fuzz_main.c.o: ossfuzz/CMakeFiles/zip_read_file_fuzzer.dir/flags.make -ossfuzz/CMakeFiles/zip_read_file_fuzzer.dir/fuzz_main.c.o: ossfuzz/CMakeFiles/zip_read_file_fuzzer.dir/includes_C.rsp -ossfuzz/CMakeFiles/zip_read_file_fuzzer.dir/fuzz_main.c.o: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/ossfuzz/fuzz_main.c -ossfuzz/CMakeFiles/zip_read_file_fuzzer.dir/fuzz_main.c.o: ossfuzz/CMakeFiles/zip_read_file_fuzzer.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_2) "Building C object ossfuzz/CMakeFiles/zip_read_file_fuzzer.dir/fuzz_main.c.o" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT ossfuzz/CMakeFiles/zip_read_file_fuzzer.dir/fuzz_main.c.o -MF CMakeFiles/zip_read_file_fuzzer.dir/fuzz_main.c.o.d -o CMakeFiles/zip_read_file_fuzzer.dir/fuzz_main.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/ossfuzz/fuzz_main.c" - -ossfuzz/CMakeFiles/zip_read_file_fuzzer.dir/fuzz_main.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/zip_read_file_fuzzer.dir/fuzz_main.c.i" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/ossfuzz/fuzz_main.c" > CMakeFiles/zip_read_file_fuzzer.dir/fuzz_main.c.i - -ossfuzz/CMakeFiles/zip_read_file_fuzzer.dir/fuzz_main.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/zip_read_file_fuzzer.dir/fuzz_main.c.s" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/ossfuzz/fuzz_main.c" -o CMakeFiles/zip_read_file_fuzzer.dir/fuzz_main.c.s - -# Object files for target zip_read_file_fuzzer -zip_read_file_fuzzer_OBJECTS = \ -"CMakeFiles/zip_read_file_fuzzer.dir/zip_read_file_fuzzer.c.o" \ -"CMakeFiles/zip_read_file_fuzzer.dir/fuzz_main.c.o" - -# External object files for target zip_read_file_fuzzer -zip_read_file_fuzzer_EXTERNAL_OBJECTS = - -ossfuzz/zip_read_file_fuzzer.js: ossfuzz/CMakeFiles/zip_read_file_fuzzer.dir/zip_read_file_fuzzer.c.o -ossfuzz/zip_read_file_fuzzer.js: ossfuzz/CMakeFiles/zip_read_file_fuzzer.dir/fuzz_main.c.o -ossfuzz/zip_read_file_fuzzer.js: ossfuzz/CMakeFiles/zip_read_file_fuzzer.dir/build.make -ossfuzz/zip_read_file_fuzzer.js: lib/libzip.a -ossfuzz/zip_read_file_fuzzer.js: /home/romazan/Рабочий\ стол/cproject/thirdparty/zlib-1.3.1/install/lib/libz.a -ossfuzz/zip_read_file_fuzzer.js: ossfuzz/CMakeFiles/zip_read_file_fuzzer.dir/linkLibs.rsp -ossfuzz/zip_read_file_fuzzer.js: ossfuzz/CMakeFiles/zip_read_file_fuzzer.dir/objects1.rsp -ossfuzz/zip_read_file_fuzzer.js: ossfuzz/CMakeFiles/zip_read_file_fuzzer.dir/link.txt - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_3) "Linking C executable zip_read_file_fuzzer.js" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz" && $(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/zip_read_file_fuzzer.dir/link.txt --verbose=$(VERBOSE) - -# Rule to build all files generated by this target. -ossfuzz/CMakeFiles/zip_read_file_fuzzer.dir/build: ossfuzz/zip_read_file_fuzzer.js -.PHONY : ossfuzz/CMakeFiles/zip_read_file_fuzzer.dir/build - -ossfuzz/CMakeFiles/zip_read_file_fuzzer.dir/clean: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz" && $(CMAKE_COMMAND) -P CMakeFiles/zip_read_file_fuzzer.dir/cmake_clean.cmake -.PHONY : ossfuzz/CMakeFiles/zip_read_file_fuzzer.dir/clean - -ossfuzz/CMakeFiles/zip_read_file_fuzzer.dir/depend: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3" "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/ossfuzz" "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz" "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_read_file_fuzzer.dir/DependInfo.cmake" "--color=$(COLOR)" -.PHONY : ossfuzz/CMakeFiles/zip_read_file_fuzzer.dir/depend - diff --git a/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_read_file_fuzzer.dir/cmake_clean.cmake b/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_read_file_fuzzer.dir/cmake_clean.cmake deleted file mode 100644 index 12ebdb5..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_read_file_fuzzer.dir/cmake_clean.cmake +++ /dev/null @@ -1,13 +0,0 @@ -file(REMOVE_RECURSE - "CMakeFiles/zip_read_file_fuzzer.dir/fuzz_main.c.o" - "CMakeFiles/zip_read_file_fuzzer.dir/fuzz_main.c.o.d" - "CMakeFiles/zip_read_file_fuzzer.dir/zip_read_file_fuzzer.c.o" - "CMakeFiles/zip_read_file_fuzzer.dir/zip_read_file_fuzzer.c.o.d" - "zip_read_file_fuzzer.js" - "zip_read_file_fuzzer.pdb" -) - -# Per-language clean rules from dependency scanning. -foreach(lang C) - include(CMakeFiles/zip_read_file_fuzzer.dir/cmake_clean_${lang}.cmake OPTIONAL) -endforeach() diff --git a/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_read_file_fuzzer.dir/compiler_depend.make b/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_read_file_fuzzer.dir/compiler_depend.make deleted file mode 100644 index 7f325fd..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_read_file_fuzzer.dir/compiler_depend.make +++ /dev/null @@ -1,2 +0,0 @@ -# Empty compiler generated dependencies file for zip_read_file_fuzzer. -# This may be replaced when dependencies are built. diff --git a/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_read_file_fuzzer.dir/compiler_depend.ts b/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_read_file_fuzzer.dir/compiler_depend.ts deleted file mode 100644 index 45e7093..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_read_file_fuzzer.dir/compiler_depend.ts +++ /dev/null @@ -1,2 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Timestamp file for compiler generated dependencies management for zip_read_file_fuzzer. diff --git a/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_read_file_fuzzer.dir/depend.make b/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_read_file_fuzzer.dir/depend.make deleted file mode 100644 index 4c8fe6d..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_read_file_fuzzer.dir/depend.make +++ /dev/null @@ -1,2 +0,0 @@ -# Empty dependencies file for zip_read_file_fuzzer. -# This may be replaced when dependencies are built. diff --git a/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_read_file_fuzzer.dir/flags.make b/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_read_file_fuzzer.dir/flags.make deleted file mode 100644 index fe32f7a..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_read_file_fuzzer.dir/flags.make +++ /dev/null @@ -1,10 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.28 - -# compile C with /home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc -C_DEFINES = - -C_INCLUDES = @CMakeFiles/zip_read_file_fuzzer.dir/includes_C.rsp - -C_FLAGS = - diff --git a/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_read_file_fuzzer.dir/fuzz_main.c.o b/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_read_file_fuzzer.dir/fuzz_main.c.o deleted file mode 100644 index a829fe0013eceb8a67e4f5e9c9aae3d8598af89e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1925 zcmZWqNplld5bk+1S}e)d^MWzPHvL#-gk;&WWXuvQzzbk7ODdI{7)wt=cr+u=jGVwB zay9~$1C^yJ%OMnpROOab<;o$Is^mshegWrPxn#MeXT~n$aGBTrz3%?LxAZ*Fou&c+ z%9G8_O$gm)osQDEt#9#~X3yTIpoA*TjbyoOG)$@6<)&;}_B{s57VNls zWv$$@8m234wd2E)TFWNC76gTAR!f=yUP7qmNV&F+yV5X#d3e~C?=;LRsJ_$G4a2Gg zGohL-^(tuoM6F_2jtnLSmzUqVy3oFVU)pa<$6YbyC9~Cb10IdCBvt#sTc!dDTF54Z zV?R9b-0#E6&CVf0HbJlw3KbcuYeGZqun(3%giym!k&Vy*MK(l(Qe*=(5hgQSWSqM%rU?-J*oXbxUxyeV<^dAn1#+>6Y7F8Y99$54iFpY3;?TO- zN4)z2-eDZx=G`CE9>Ec>_9)dEEix#5?o*86ejGz>w-7E4P<^D;2|R#^g8O?q9B?1R zgZx83`4H7QRAkWrKa7X@M;`9EQE`NH9mOMfbV(c|Glj=6wJyd<;&>qOI3C}Ym@fV3 z7d%0<8BF5|%YUW;&oLU}2l4 zSbFYPn4z4LSi~7Txtk^-W&`o3f+d}%if3>ZPvIFn&FLc1p`0b`4Lpl)EQ)hv&fz(n zTNfoFECqz;@%%R7h0+T@=OPi#;|08k^ScSTSilATi5E0XF^jac#jQh5h^0WwC0xQw z{GlJ?-xDq_Q|uMIj8_)LGHJMq%XoENTq6zFNJF4~1y{BT`$-9L9k268UKL8dK`n5T z$Zp;hxA0cb0(c`Ck3aU>KTILn^M{3>gC`CF82SN@HJqRNA&>qu1jNv;ImL z9&x~hv|ZGa>Y&Z2>vom4;t zuIvC)3`T)7-~?+sa9)Km;GrF0T7zET;T@n5qQX1^JPN!k^wQhga8K5@s=BLZx5yQ~ z8^}(Q#Q#B4uS5CQq3PG50x0mv+l`nl>F=4nuyS!;8;wMi$cUo8$3T0ar~qFpn)Z_t z0(ho`)xQ*izhDu7r%Z!iSQP$XUGOK1so$tH^Hhxk{H$v5yP8lpH9{V0-2mTe8vLg9 zs4qR_Uo8pnX-I?bLL7b#^}^pYJ`DFoo`eRj7HvYiB5g-WkXezABdc^9lu*Uc z&HCF@li6H0S8uqOy5qVn=hOt*ciOAjiq)JjjE&%vq13yw;^OqoOhFc_v$@&X>EcYa zHk&Wz<)ogkR133(T&0q)PSvV1R~Uycz0F9vbQh#su1Vc(+tP`qEtU; z#%j6g!3w=S8G4EuHnC-_4QU&eSx?8BZNqJB=tf(nlg+lPuNpE_H>_3NaMJyzWxBTB kYSER<)LO3h7^ai9tVvs%6`67GwWO1dI*q!Sk?*?y0Vk)%&j0`b diff --git a/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_read_file_fuzzer.dir/fuzz_main.c.o.d b/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_read_file_fuzzer.dir/fuzz_main.c.o.d deleted file mode 100644 index 5c70524..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_read_file_fuzzer.dir/fuzz_main.c.o.d +++ /dev/null @@ -1,21 +0,0 @@ -ossfuzz/CMakeFiles/zip_read_file_fuzzer.dir/fuzz_main.c.o: \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/ossfuzz/fuzz_main.c \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdio.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/wasi/api.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_header_macro.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_ptrdiff_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_size_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_wchar_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_null.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_max_align_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_offsetof.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/alltypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/features.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/stdlib.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdlib.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/alloca.h diff --git a/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_read_file_fuzzer.dir/link.txt b/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_read_file_fuzzer.dir/link.txt deleted file mode 100644 index 8cf9704..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_read_file_fuzzer.dir/link.txt +++ /dev/null @@ -1 +0,0 @@ -"/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" @CMakeFiles/zip_read_file_fuzzer.dir/objects1.rsp -o zip_read_file_fuzzer.js @CMakeFiles/zip_read_file_fuzzer.dir/linkLibs.rsp diff --git a/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_read_file_fuzzer.dir/progress.make b/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_read_file_fuzzer.dir/progress.make deleted file mode 100644 index 4e5cc75..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_read_file_fuzzer.dir/progress.make +++ /dev/null @@ -1,4 +0,0 @@ -CMAKE_PROGRESS_1 = 96 -CMAKE_PROGRESS_2 = -CMAKE_PROGRESS_3 = - diff --git a/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_read_file_fuzzer.dir/zip_read_file_fuzzer.c.o b/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_read_file_fuzzer.dir/zip_read_file_fuzzer.c.o deleted file mode 100644 index fbd61b86d0a0db4ce8ccdc857143e6404169b6c9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3745 zcmZu!Yit}>6+ZLY$INtO5jHoej!A82_!(`Pg)6q5LEqv5Ji!Y3PLT41n17|bd#7L zyL0b%zI)Dh&fa_W4x}op0ssiV*xK3x?Sizqxd|79O<~g+(nFxRxXA(jy+QCs)w)45 zAY7(3RXd1Zdx`usOJ?y>B$+Jaie}16u9~YQ>xu|M6|UH+^u=Vklq=e%C2cxz!_{0l zX*&k8Mu6ZwrmkG3nE_~uF4+>$Mo&0;cF%$P5LkE0>S-2)de!HQpI#t zI)wY?8Yg6Om2`?!I3j%(RpC;Vt~fzmd3uuPT`VOFrF6>9m5LDHAp#GU!I!;kZ#mviIbj!`OgCNjhpg@ zOuufBKI*2lA#I8q3XQ|`@zGr0?4lK0z@)_1HId0Ep?r}ksB}9pDhP&nZ%d?sV2B?% z1JMxw#RpMtV7>$}Kl;!=#{vm~1u=lZHKvMF;uNa0bwFkfwW#QZ3Grp*hSg!6?m}Vm z9X3QrxYG!RFoKHiWYX@@b=372i2xx%^CH*t0V!b(SdR_5Q-ez+*R&kY;Sc zX8mREhqX}HmNDu5EpZyy4w~#3lm50Pic``QDt&y&TKRwotPNYS?KEqr{5r55JJwhy zcFxubp6{LBid__BH}1q;xLg0U69&mM8sY+{E-*&+J;-p+9P1)y-PncQYplm9R*ze( zy|~vaRm)#LByD6Ny#S&h2 z(>Ptt?kGh+YKUA!!Vm`%KX5e7BnH?lL9=-_hevP*=c?H``(l9|!(;kq9p*e0`#8?y z@p<+riFphk#mCmz0*P60#hkzso|u!Km_=N?#ZGx*9>>S4VxFLoPZ(l1Jx&=SCf;#E zoK7G+L(rK#JBugrG@h-M+9?X(M(3sl_9ULeCqKo`6ZgEc&)llHN9ZYhO8=bW?`e|! z3_gv|%(G`n@^knsKDWl6$LC$aNlbczFL)ADn5s%#BIiqnIF-2T_(~^!4lF}hCeKW~ zfN3=EJ5>DWW-+UOo^v(l@Gld0InP#brJKMlh-h#6ghj7Gh*bo(g@fJXRkeoJ=(^{5A#-?9`8EB#}mjV z2%5-KR~W`|JaC`zNp=tq)`U(HZ?YzIk{u#>hZ9kDgbYXWjJgChi9>i86Z)5&+E0^V zn)W-F7G*~h``8R2GkIzcv(y{r@TmS}PUQ9}c8u(Nqt554DIBMc0MrqV@t&aH^jMQ@ z0T*hLP7wVBNpg0>0z1i1z#?IbdFl|Sswd!NMAL53UlXYGSEqH%@|zCwf9+gx8BhG*v&62AT+`#YZm;MauzL%6$*@Q{M*f)=#RiXErB z1qr$#Xwu~+8r&4L&UC8SYh#*X+ol`2x2MwUX}c|GT`t49uV5x+r_e5KC%!9a9aUHS z8nun^TYi!B(+%<>B_IYqc6JKLjaqj7>Q&Q9^4vuo1l?D$Gj!hp8jHU8LY(eR03DzU zpo^eOpv#~up!)vs+Kn)m{I1sD>BQgh6kegZ-7S5fRb2OZx3N04R z#X2*d}e9uGl7+o9p@(8zXZbUS2hhsL%;x> zKbAw%>k6SiQdIelQU~yXqQHNYu=E`tp}+R2@}GSXfPecGc+0O#zxNaRcfTrs?5_v7 z8BpNOK!gA7fZ+cPeclTQ@`r&YfUgFdm+fS0(Z5Ya8GN7H$pq5UxkSAyHG3qHPj~G3+*D;briF% z8U9$e8(s<{d@l^}!*H|z{jdNZ@$M2V(+|9!Hm!;fqG8&sRLo3l>58DF3#sDr`Juu1 zKzv|1XJd55w#$_R`)Rzgz7$WFR`(YQm)x%yEzO&0n=WNzqo$FW7?_wCF~&04iD6^d z983+TGouru1L^c|W+dcvRUa5RC3G3nE8VJKXL(wcK`qY diff --git a/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_read_file_fuzzer.dir/zip_read_file_fuzzer.c.o.d b/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_read_file_fuzzer.dir/zip_read_file_fuzzer.c.o.d deleted file mode 100644 index 4e013c0..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_read_file_fuzzer.dir/zip_read_file_fuzzer.c.o.d +++ /dev/null @@ -1,36 +0,0 @@ -ossfuzz/CMakeFiles/zip_read_file_fuzzer.dir/zip_read_file_fuzzer.c.o: \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/ossfuzz/zip_read_file_fuzzer.c \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/errno.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/features.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/errno.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/wasi/api.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_header_macro.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_ptrdiff_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_size_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_wchar_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_null.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_max_align_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_offsetof.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/alltypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdio.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/stdlib.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdlib.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/alloca.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/strings.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/time.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/time.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/zipconf.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/inttypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/inttypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/types.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/endian.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/select.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/ossfuzz/zip_read_fuzzer_common.h diff --git a/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_read_fuzzer.dir/DependInfo.cmake b/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_read_fuzzer.dir/DependInfo.cmake deleted file mode 100644 index e6a6e6d..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_read_fuzzer.dir/DependInfo.cmake +++ /dev/null @@ -1,24 +0,0 @@ - -# Consider dependencies only in project. -set(CMAKE_DEPENDS_IN_PROJECT_ONLY OFF) - -# The set of languages for which implicit dependencies are needed: -set(CMAKE_DEPENDS_LANGUAGES - ) - -# The set of dependency files which are needed: -set(CMAKE_DEPENDS_DEPENDENCY_FILES - "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/ossfuzz/fuzz_main.c" "ossfuzz/CMakeFiles/zip_read_fuzzer.dir/fuzz_main.c.o" "gcc" "ossfuzz/CMakeFiles/zip_read_fuzzer.dir/fuzz_main.c.o.d" - "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/ossfuzz/zip_read_fuzzer.c" "ossfuzz/CMakeFiles/zip_read_fuzzer.dir/zip_read_fuzzer.c.o" "gcc" "ossfuzz/CMakeFiles/zip_read_fuzzer.dir/zip_read_fuzzer.c.o.d" - ) - -# Targets to which this target links which contain Fortran sources. -set(CMAKE_Fortran_TARGET_LINKED_INFO_FILES - ) - -# Targets to which this target links which contain Fortran sources. -set(CMAKE_Fortran_TARGET_FORWARD_LINKED_INFO_FILES - ) - -# Fortran module output directory. -set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_read_fuzzer.dir/build.make b/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_read_fuzzer.dir/build.make deleted file mode 100644 index 888fdc9..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_read_fuzzer.dir/build.make +++ /dev/null @@ -1,132 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.28 - -# Delete rule output on recipe failure. -.DELETE_ON_ERROR: - -#============================================================================= -# Special targets provided by cmake. - -# Disable implicit rules so canonical targets will work. -.SUFFIXES: - -# Disable VCS-based implicit rules. -% : %,v - -# Disable VCS-based implicit rules. -% : RCS/% - -# Disable VCS-based implicit rules. -% : RCS/%,v - -# Disable VCS-based implicit rules. -% : SCCS/s.% - -# Disable VCS-based implicit rules. -% : s.% - -.SUFFIXES: .hpux_make_needs_suffix_list - -# Command-line flag to silence nested $(MAKE). -$(VERBOSE)MAKESILENT = -s - -#Suppress display of executed commands. -$(VERBOSE).SILENT: - -# A target that is always out of date. -cmake_force: -.PHONY : cmake_force - -#============================================================================= -# Set environment variables for the build. - -# The shell in which to execute make rules. -SHELL = /bin/sh - -# The CMake executable. -CMAKE_COMMAND = /usr/bin/cmake - -# The command to remove a file. -RM = /usr/bin/cmake -E rm -f - -# Escaping for special characters. -EQUALS = = - -# The top-level source directory on which CMake was run. -CMAKE_SOURCE_DIR = "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3" - -# The top-level build directory on which CMake was run. -CMAKE_BINARY_DIR = "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" - -# Include any dependencies generated for this target. -include ossfuzz/CMakeFiles/zip_read_fuzzer.dir/depend.make -# Include any dependencies generated by the compiler for this target. -include ossfuzz/CMakeFiles/zip_read_fuzzer.dir/compiler_depend.make - -# Include the progress variables for this target. -include ossfuzz/CMakeFiles/zip_read_fuzzer.dir/progress.make - -# Include the compile flags for this target's objects. -include ossfuzz/CMakeFiles/zip_read_fuzzer.dir/flags.make - -ossfuzz/CMakeFiles/zip_read_fuzzer.dir/zip_read_fuzzer.c.o: ossfuzz/CMakeFiles/zip_read_fuzzer.dir/flags.make -ossfuzz/CMakeFiles/zip_read_fuzzer.dir/zip_read_fuzzer.c.o: ossfuzz/CMakeFiles/zip_read_fuzzer.dir/includes_C.rsp -ossfuzz/CMakeFiles/zip_read_fuzzer.dir/zip_read_fuzzer.c.o: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/ossfuzz/zip_read_fuzzer.c -ossfuzz/CMakeFiles/zip_read_fuzzer.dir/zip_read_fuzzer.c.o: ossfuzz/CMakeFiles/zip_read_fuzzer.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_1) "Building C object ossfuzz/CMakeFiles/zip_read_fuzzer.dir/zip_read_fuzzer.c.o" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT ossfuzz/CMakeFiles/zip_read_fuzzer.dir/zip_read_fuzzer.c.o -MF CMakeFiles/zip_read_fuzzer.dir/zip_read_fuzzer.c.o.d -o CMakeFiles/zip_read_fuzzer.dir/zip_read_fuzzer.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/ossfuzz/zip_read_fuzzer.c" - -ossfuzz/CMakeFiles/zip_read_fuzzer.dir/zip_read_fuzzer.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/zip_read_fuzzer.dir/zip_read_fuzzer.c.i" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/ossfuzz/zip_read_fuzzer.c" > CMakeFiles/zip_read_fuzzer.dir/zip_read_fuzzer.c.i - -ossfuzz/CMakeFiles/zip_read_fuzzer.dir/zip_read_fuzzer.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/zip_read_fuzzer.dir/zip_read_fuzzer.c.s" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/ossfuzz/zip_read_fuzzer.c" -o CMakeFiles/zip_read_fuzzer.dir/zip_read_fuzzer.c.s - -ossfuzz/CMakeFiles/zip_read_fuzzer.dir/fuzz_main.c.o: ossfuzz/CMakeFiles/zip_read_fuzzer.dir/flags.make -ossfuzz/CMakeFiles/zip_read_fuzzer.dir/fuzz_main.c.o: ossfuzz/CMakeFiles/zip_read_fuzzer.dir/includes_C.rsp -ossfuzz/CMakeFiles/zip_read_fuzzer.dir/fuzz_main.c.o: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/ossfuzz/fuzz_main.c -ossfuzz/CMakeFiles/zip_read_fuzzer.dir/fuzz_main.c.o: ossfuzz/CMakeFiles/zip_read_fuzzer.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_2) "Building C object ossfuzz/CMakeFiles/zip_read_fuzzer.dir/fuzz_main.c.o" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT ossfuzz/CMakeFiles/zip_read_fuzzer.dir/fuzz_main.c.o -MF CMakeFiles/zip_read_fuzzer.dir/fuzz_main.c.o.d -o CMakeFiles/zip_read_fuzzer.dir/fuzz_main.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/ossfuzz/fuzz_main.c" - -ossfuzz/CMakeFiles/zip_read_fuzzer.dir/fuzz_main.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/zip_read_fuzzer.dir/fuzz_main.c.i" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/ossfuzz/fuzz_main.c" > CMakeFiles/zip_read_fuzzer.dir/fuzz_main.c.i - -ossfuzz/CMakeFiles/zip_read_fuzzer.dir/fuzz_main.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/zip_read_fuzzer.dir/fuzz_main.c.s" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/ossfuzz/fuzz_main.c" -o CMakeFiles/zip_read_fuzzer.dir/fuzz_main.c.s - -# Object files for target zip_read_fuzzer -zip_read_fuzzer_OBJECTS = \ -"CMakeFiles/zip_read_fuzzer.dir/zip_read_fuzzer.c.o" \ -"CMakeFiles/zip_read_fuzzer.dir/fuzz_main.c.o" - -# External object files for target zip_read_fuzzer -zip_read_fuzzer_EXTERNAL_OBJECTS = - -ossfuzz/zip_read_fuzzer.js: ossfuzz/CMakeFiles/zip_read_fuzzer.dir/zip_read_fuzzer.c.o -ossfuzz/zip_read_fuzzer.js: ossfuzz/CMakeFiles/zip_read_fuzzer.dir/fuzz_main.c.o -ossfuzz/zip_read_fuzzer.js: ossfuzz/CMakeFiles/zip_read_fuzzer.dir/build.make -ossfuzz/zip_read_fuzzer.js: lib/libzip.a -ossfuzz/zip_read_fuzzer.js: /home/romazan/Рабочий\ стол/cproject/thirdparty/zlib-1.3.1/install/lib/libz.a -ossfuzz/zip_read_fuzzer.js: ossfuzz/CMakeFiles/zip_read_fuzzer.dir/linkLibs.rsp -ossfuzz/zip_read_fuzzer.js: ossfuzz/CMakeFiles/zip_read_fuzzer.dir/objects1.rsp -ossfuzz/zip_read_fuzzer.js: ossfuzz/CMakeFiles/zip_read_fuzzer.dir/link.txt - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_3) "Linking C executable zip_read_fuzzer.js" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz" && $(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/zip_read_fuzzer.dir/link.txt --verbose=$(VERBOSE) - -# Rule to build all files generated by this target. -ossfuzz/CMakeFiles/zip_read_fuzzer.dir/build: ossfuzz/zip_read_fuzzer.js -.PHONY : ossfuzz/CMakeFiles/zip_read_fuzzer.dir/build - -ossfuzz/CMakeFiles/zip_read_fuzzer.dir/clean: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz" && $(CMAKE_COMMAND) -P CMakeFiles/zip_read_fuzzer.dir/cmake_clean.cmake -.PHONY : ossfuzz/CMakeFiles/zip_read_fuzzer.dir/clean - -ossfuzz/CMakeFiles/zip_read_fuzzer.dir/depend: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3" "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/ossfuzz" "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz" "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_read_fuzzer.dir/DependInfo.cmake" "--color=$(COLOR)" -.PHONY : ossfuzz/CMakeFiles/zip_read_fuzzer.dir/depend - diff --git a/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_read_fuzzer.dir/cmake_clean.cmake b/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_read_fuzzer.dir/cmake_clean.cmake deleted file mode 100644 index 97825b4..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_read_fuzzer.dir/cmake_clean.cmake +++ /dev/null @@ -1,13 +0,0 @@ -file(REMOVE_RECURSE - "CMakeFiles/zip_read_fuzzer.dir/fuzz_main.c.o" - "CMakeFiles/zip_read_fuzzer.dir/fuzz_main.c.o.d" - "CMakeFiles/zip_read_fuzzer.dir/zip_read_fuzzer.c.o" - "CMakeFiles/zip_read_fuzzer.dir/zip_read_fuzzer.c.o.d" - "zip_read_fuzzer.js" - "zip_read_fuzzer.pdb" -) - -# Per-language clean rules from dependency scanning. -foreach(lang C) - include(CMakeFiles/zip_read_fuzzer.dir/cmake_clean_${lang}.cmake OPTIONAL) -endforeach() diff --git a/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_read_fuzzer.dir/compiler_depend.make b/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_read_fuzzer.dir/compiler_depend.make deleted file mode 100644 index faf109f..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_read_fuzzer.dir/compiler_depend.make +++ /dev/null @@ -1,2 +0,0 @@ -# Empty compiler generated dependencies file for zip_read_fuzzer. -# This may be replaced when dependencies are built. diff --git a/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_read_fuzzer.dir/compiler_depend.ts b/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_read_fuzzer.dir/compiler_depend.ts deleted file mode 100644 index e796585..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_read_fuzzer.dir/compiler_depend.ts +++ /dev/null @@ -1,2 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Timestamp file for compiler generated dependencies management for zip_read_fuzzer. diff --git a/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_read_fuzzer.dir/depend.make b/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_read_fuzzer.dir/depend.make deleted file mode 100644 index cb56b1e..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_read_fuzzer.dir/depend.make +++ /dev/null @@ -1,2 +0,0 @@ -# Empty dependencies file for zip_read_fuzzer. -# This may be replaced when dependencies are built. diff --git a/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_read_fuzzer.dir/flags.make b/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_read_fuzzer.dir/flags.make deleted file mode 100644 index 029776b..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_read_fuzzer.dir/flags.make +++ /dev/null @@ -1,10 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.28 - -# compile C with /home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc -C_DEFINES = - -C_INCLUDES = @CMakeFiles/zip_read_fuzzer.dir/includes_C.rsp - -C_FLAGS = - diff --git a/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_read_fuzzer.dir/fuzz_main.c.o b/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_read_fuzzer.dir/fuzz_main.c.o deleted file mode 100644 index a829fe0013eceb8a67e4f5e9c9aae3d8598af89e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1925 zcmZWqNplld5bk+1S}e)d^MWzPHvL#-gk;&WWXuvQzzbk7ODdI{7)wt=cr+u=jGVwB zay9~$1C^yJ%OMnpROOab<;o$Is^mshegWrPxn#MeXT~n$aGBTrz3%?LxAZ*Fou&c+ z%9G8_O$gm)osQDEt#9#~X3yTIpoA*TjbyoOG)$@6<)&;}_B{s57VNls zWv$$@8m234wd2E)TFWNC76gTAR!f=yUP7qmNV&F+yV5X#d3e~C?=;LRsJ_$G4a2Gg zGohL-^(tuoM6F_2jtnLSmzUqVy3oFVU)pa<$6YbyC9~Cb10IdCBvt#sTc!dDTF54Z zV?R9b-0#E6&CVf0HbJlw3KbcuYeGZqun(3%giym!k&Vy*MK(l(Qe*=(5hgQSWSqM%rU?-J*oXbxUxyeV<^dAn1#+>6Y7F8Y99$54iFpY3;?TO- zN4)z2-eDZx=G`CE9>Ec>_9)dEEix#5?o*86ejGz>w-7E4P<^D;2|R#^g8O?q9B?1R zgZx83`4H7QRAkWrKa7X@M;`9EQE`NH9mOMfbV(c|Glj=6wJyd<;&>qOI3C}Ym@fV3 z7d%0<8BF5|%YUW;&oLU}2l4 zSbFYPn4z4LSi~7Txtk^-W&`o3f+d}%if3>ZPvIFn&FLc1p`0b`4Lpl)EQ)hv&fz(n zTNfoFECqz;@%%R7h0+T@=OPi#;|08k^ScSTSilATi5E0XF^jac#jQh5h^0WwC0xQw z{GlJ?-xDq_Q|uMIj8_)LGHJMq%XoENTq6zFNJF4~1y{BT`$-9L9k268UKL8dK`n5T z$Zp;hxA0cb0(c`Ck3aU>KTILn^M{3>gC`CF82SN@HJqRNA&>qu1jNv;ImL z9&x~hv|ZGa>Y&Z2>vom4;t zuIvC)3`T)7-~?+sa9)Km;GrF0T7zET;T@n5qQX1^JPN!k^wQhga8K5@s=BLZx5yQ~ z8^}(Q#Q#B4uS5CQq3PG50x0mv+l`nl>F=4nuyS!;8;wMi$cUo8$3T0ar~qFpn)Z_t z0(ho`)xQ*izhDu7r%Z!iSQP$XUGOK1so$tH^Hhxk{H$v5yP8lpH9{V0-2mTe8vLg9 zs4qR_Uo8pnX-I?bLL7b#^}^pYJ`DFoo`eRj7HvYiB5g-WkXezABdc^9lu*Uc z&HCF@li6H0S8uqOy5qVn=hOt*ciOAjiq)JjjE&%vq13yw;^OqoOhFc_v$@&X>EcYa zHk&Wz<)ogkR133(T&0q)PSvV1R~Uycz0F9vbQh#su1Vc(+tP`qEtU; z#%j6g!3w=S8G4EuHnC-_4QU&eSx?8BZNqJB=tf(nlg+lPuNpE_H>_3NaMJyzWxBTB kYSER<)LO3h7^ai9tVvs%6`67GwWO1dI*q!Sk?*?y0Vk)%&j0`b diff --git a/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_read_fuzzer.dir/fuzz_main.c.o.d b/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_read_fuzzer.dir/fuzz_main.c.o.d deleted file mode 100644 index eaf3ca9..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_read_fuzzer.dir/fuzz_main.c.o.d +++ /dev/null @@ -1,21 +0,0 @@ -ossfuzz/CMakeFiles/zip_read_fuzzer.dir/fuzz_main.c.o: \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/ossfuzz/fuzz_main.c \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdio.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/wasi/api.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_header_macro.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_ptrdiff_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_size_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_wchar_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_null.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_max_align_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_offsetof.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/alltypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/features.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/stdlib.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdlib.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/alloca.h diff --git a/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_read_fuzzer.dir/link.txt b/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_read_fuzzer.dir/link.txt deleted file mode 100644 index def90bd..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_read_fuzzer.dir/link.txt +++ /dev/null @@ -1 +0,0 @@ -"/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" @CMakeFiles/zip_read_fuzzer.dir/objects1.rsp -o zip_read_fuzzer.js @CMakeFiles/zip_read_fuzzer.dir/linkLibs.rsp diff --git a/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_read_fuzzer.dir/progress.make b/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_read_fuzzer.dir/progress.make deleted file mode 100644 index 72a20e5..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_read_fuzzer.dir/progress.make +++ /dev/null @@ -1,4 +0,0 @@ -CMAKE_PROGRESS_1 = -CMAKE_PROGRESS_2 = -CMAKE_PROGRESS_3 = 97 - diff --git a/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_read_fuzzer.dir/zip_read_fuzzer.c.o b/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_read_fuzzer.dir/zip_read_fuzzer.c.o deleted file mode 100644 index 739cb9fd7eb3adcd71809b93ef87f136619f20c9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2938 zcmZuzOK==V8UCkdX5Z4b9+oA`kH7V>9_wA}xr&^`(aM%$Cvu#`k2ufuYPVO~)oOP& zGb>^jrClcw1A%aWDxf%V0H0C?2PnXl;g$;r=K>s{3aU5&l`0Afs6au%-!mFZu{q34 z_xHcP|DW!^8*=uh1_0WRTCEm@uj|cb6RvAbt?3TwqtTo-6`to&e2xbC4`rAoNV@783^Q zXlw`*%^?>?6Cut1-C{J*((Ge*z|!n*YA~tPPNS17adN zu>(7~TZ0D%UD)Lr_}bk>3?W3wxBPdIi`l9 zR}Dx(^kFadT@r^VzkWP~{afNN9$sqGeBVcWi=!0e7#_i+c#MD64TIzv(`-elt_VT$ z0Tei}EC$Kh5DwzdmKb)6HS87ZI3D+lHR8J+#nC%r%#SvXEB2B#KFpYCt;xT-TiV%Y+{gN@ICFZG?r*IxmT@sIz-V^vZKCva9 zq^0nrm)&VR?PvFtpWOm3+z}Z+yG2~w&F&0EKa*yPL?+E9GCy!Roy|;$C4!d9Vi}*p zv$(vQox3hp#MAgR|D3CNj*5LA&*AxV;u#|IEIxzJZiy8lv*MAtfERo+&-r97;>A1S zd7sP+_`)uk7b)b6X*NWk=hF-`AG#qfWl&ru=yF+H!RPQ2UfC2-D~bT^Qz`;p_lPx{(0BmD@6HKd<9=UCtf4Uuj6a@`j&VD-|z@$G3yh)?o-TR zZkOUJIbTh)h0I5;uYBfbAPR&P%0l9G%%j}5snpgjVv&DA=|IeY6L>&lAy1l`)Ra892TU;qg!X`GT>;@eV8&2D1PtD@vU2sp zvdiJJw4IApdA?e2IKZR8W5CnsHSWnulUPFla#BgS9#D8Rdh2|qDn`Zr8Me{4pK`(_)!A59bfWwz_z2@v{0 zAY%L`5C`~2z=ZdMT>oW|&_4wu#y^7{0AC52@a<4%@NP&8{+yoQg*134+zt1_2jD;9 z0DLdfWBej=5a9Q;CchT#4c?1t@UbdgxK5R8q+!stU%PoTYApMY>}(ENO=l(bYy}BkA2x6Y+hMWUcNb zdh)qSB}sR~l10&ywQXrtYSpzwWRtF$rR`j$ArtY CMakeFiles/zip_write_encrypt_aes256_file_fuzzer.dir/zip_write_encrypt_aes256_file_fuzzer.c.i - -ossfuzz/CMakeFiles/zip_write_encrypt_aes256_file_fuzzer.dir/zip_write_encrypt_aes256_file_fuzzer.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/zip_write_encrypt_aes256_file_fuzzer.dir/zip_write_encrypt_aes256_file_fuzzer.c.s" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/ossfuzz/zip_write_encrypt_aes256_file_fuzzer.c" -o CMakeFiles/zip_write_encrypt_aes256_file_fuzzer.dir/zip_write_encrypt_aes256_file_fuzzer.c.s - -ossfuzz/CMakeFiles/zip_write_encrypt_aes256_file_fuzzer.dir/fuzz_main.c.o: ossfuzz/CMakeFiles/zip_write_encrypt_aes256_file_fuzzer.dir/flags.make -ossfuzz/CMakeFiles/zip_write_encrypt_aes256_file_fuzzer.dir/fuzz_main.c.o: ossfuzz/CMakeFiles/zip_write_encrypt_aes256_file_fuzzer.dir/includes_C.rsp -ossfuzz/CMakeFiles/zip_write_encrypt_aes256_file_fuzzer.dir/fuzz_main.c.o: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/ossfuzz/fuzz_main.c -ossfuzz/CMakeFiles/zip_write_encrypt_aes256_file_fuzzer.dir/fuzz_main.c.o: ossfuzz/CMakeFiles/zip_write_encrypt_aes256_file_fuzzer.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_2) "Building C object ossfuzz/CMakeFiles/zip_write_encrypt_aes256_file_fuzzer.dir/fuzz_main.c.o" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT ossfuzz/CMakeFiles/zip_write_encrypt_aes256_file_fuzzer.dir/fuzz_main.c.o -MF CMakeFiles/zip_write_encrypt_aes256_file_fuzzer.dir/fuzz_main.c.o.d -o CMakeFiles/zip_write_encrypt_aes256_file_fuzzer.dir/fuzz_main.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/ossfuzz/fuzz_main.c" - -ossfuzz/CMakeFiles/zip_write_encrypt_aes256_file_fuzzer.dir/fuzz_main.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/zip_write_encrypt_aes256_file_fuzzer.dir/fuzz_main.c.i" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/ossfuzz/fuzz_main.c" > CMakeFiles/zip_write_encrypt_aes256_file_fuzzer.dir/fuzz_main.c.i - -ossfuzz/CMakeFiles/zip_write_encrypt_aes256_file_fuzzer.dir/fuzz_main.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/zip_write_encrypt_aes256_file_fuzzer.dir/fuzz_main.c.s" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/ossfuzz/fuzz_main.c" -o CMakeFiles/zip_write_encrypt_aes256_file_fuzzer.dir/fuzz_main.c.s - -# Object files for target zip_write_encrypt_aes256_file_fuzzer -zip_write_encrypt_aes256_file_fuzzer_OBJECTS = \ -"CMakeFiles/zip_write_encrypt_aes256_file_fuzzer.dir/zip_write_encrypt_aes256_file_fuzzer.c.o" \ -"CMakeFiles/zip_write_encrypt_aes256_file_fuzzer.dir/fuzz_main.c.o" - -# External object files for target zip_write_encrypt_aes256_file_fuzzer -zip_write_encrypt_aes256_file_fuzzer_EXTERNAL_OBJECTS = - -ossfuzz/zip_write_encrypt_aes256_file_fuzzer.js: ossfuzz/CMakeFiles/zip_write_encrypt_aes256_file_fuzzer.dir/zip_write_encrypt_aes256_file_fuzzer.c.o -ossfuzz/zip_write_encrypt_aes256_file_fuzzer.js: ossfuzz/CMakeFiles/zip_write_encrypt_aes256_file_fuzzer.dir/fuzz_main.c.o -ossfuzz/zip_write_encrypt_aes256_file_fuzzer.js: ossfuzz/CMakeFiles/zip_write_encrypt_aes256_file_fuzzer.dir/build.make -ossfuzz/zip_write_encrypt_aes256_file_fuzzer.js: lib/libzip.a -ossfuzz/zip_write_encrypt_aes256_file_fuzzer.js: /home/romazan/Рабочий\ стол/cproject/thirdparty/zlib-1.3.1/install/lib/libz.a -ossfuzz/zip_write_encrypt_aes256_file_fuzzer.js: ossfuzz/CMakeFiles/zip_write_encrypt_aes256_file_fuzzer.dir/linkLibs.rsp -ossfuzz/zip_write_encrypt_aes256_file_fuzzer.js: ossfuzz/CMakeFiles/zip_write_encrypt_aes256_file_fuzzer.dir/objects1.rsp -ossfuzz/zip_write_encrypt_aes256_file_fuzzer.js: ossfuzz/CMakeFiles/zip_write_encrypt_aes256_file_fuzzer.dir/link.txt - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_3) "Linking C executable zip_write_encrypt_aes256_file_fuzzer.js" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz" && $(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/zip_write_encrypt_aes256_file_fuzzer.dir/link.txt --verbose=$(VERBOSE) - -# Rule to build all files generated by this target. -ossfuzz/CMakeFiles/zip_write_encrypt_aes256_file_fuzzer.dir/build: ossfuzz/zip_write_encrypt_aes256_file_fuzzer.js -.PHONY : ossfuzz/CMakeFiles/zip_write_encrypt_aes256_file_fuzzer.dir/build - -ossfuzz/CMakeFiles/zip_write_encrypt_aes256_file_fuzzer.dir/clean: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz" && $(CMAKE_COMMAND) -P CMakeFiles/zip_write_encrypt_aes256_file_fuzzer.dir/cmake_clean.cmake -.PHONY : ossfuzz/CMakeFiles/zip_write_encrypt_aes256_file_fuzzer.dir/clean - -ossfuzz/CMakeFiles/zip_write_encrypt_aes256_file_fuzzer.dir/depend: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3" "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/ossfuzz" "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz" "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_write_encrypt_aes256_file_fuzzer.dir/DependInfo.cmake" "--color=$(COLOR)" -.PHONY : ossfuzz/CMakeFiles/zip_write_encrypt_aes256_file_fuzzer.dir/depend - diff --git a/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_write_encrypt_aes256_file_fuzzer.dir/cmake_clean.cmake b/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_write_encrypt_aes256_file_fuzzer.dir/cmake_clean.cmake deleted file mode 100644 index 8349ff9..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_write_encrypt_aes256_file_fuzzer.dir/cmake_clean.cmake +++ /dev/null @@ -1,13 +0,0 @@ -file(REMOVE_RECURSE - "CMakeFiles/zip_write_encrypt_aes256_file_fuzzer.dir/fuzz_main.c.o" - "CMakeFiles/zip_write_encrypt_aes256_file_fuzzer.dir/fuzz_main.c.o.d" - "CMakeFiles/zip_write_encrypt_aes256_file_fuzzer.dir/zip_write_encrypt_aes256_file_fuzzer.c.o" - "CMakeFiles/zip_write_encrypt_aes256_file_fuzzer.dir/zip_write_encrypt_aes256_file_fuzzer.c.o.d" - "zip_write_encrypt_aes256_file_fuzzer.js" - "zip_write_encrypt_aes256_file_fuzzer.pdb" -) - -# Per-language clean rules from dependency scanning. -foreach(lang C) - include(CMakeFiles/zip_write_encrypt_aes256_file_fuzzer.dir/cmake_clean_${lang}.cmake OPTIONAL) -endforeach() diff --git a/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_write_encrypt_aes256_file_fuzzer.dir/compiler_depend.make b/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_write_encrypt_aes256_file_fuzzer.dir/compiler_depend.make deleted file mode 100644 index 254d3c7..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_write_encrypt_aes256_file_fuzzer.dir/compiler_depend.make +++ /dev/null @@ -1,2 +0,0 @@ -# Empty compiler generated dependencies file for zip_write_encrypt_aes256_file_fuzzer. -# This may be replaced when dependencies are built. diff --git a/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_write_encrypt_aes256_file_fuzzer.dir/compiler_depend.ts b/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_write_encrypt_aes256_file_fuzzer.dir/compiler_depend.ts deleted file mode 100644 index a28ff17..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_write_encrypt_aes256_file_fuzzer.dir/compiler_depend.ts +++ /dev/null @@ -1,2 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Timestamp file for compiler generated dependencies management for zip_write_encrypt_aes256_file_fuzzer. diff --git a/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_write_encrypt_aes256_file_fuzzer.dir/depend.make b/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_write_encrypt_aes256_file_fuzzer.dir/depend.make deleted file mode 100644 index 61108c5..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_write_encrypt_aes256_file_fuzzer.dir/depend.make +++ /dev/null @@ -1,2 +0,0 @@ -# Empty dependencies file for zip_write_encrypt_aes256_file_fuzzer. -# This may be replaced when dependencies are built. diff --git a/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_write_encrypt_aes256_file_fuzzer.dir/flags.make b/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_write_encrypt_aes256_file_fuzzer.dir/flags.make deleted file mode 100644 index 272295e..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_write_encrypt_aes256_file_fuzzer.dir/flags.make +++ /dev/null @@ -1,10 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.28 - -# compile C with /home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc -C_DEFINES = - -C_INCLUDES = @CMakeFiles/zip_write_encrypt_aes256_file_fuzzer.dir/includes_C.rsp - -C_FLAGS = - diff --git a/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_write_encrypt_aes256_file_fuzzer.dir/fuzz_main.c.o b/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_write_encrypt_aes256_file_fuzzer.dir/fuzz_main.c.o deleted file mode 100644 index a829fe0013eceb8a67e4f5e9c9aae3d8598af89e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1925 zcmZWqNplld5bk+1S}e)d^MWzPHvL#-gk;&WWXuvQzzbk7ODdI{7)wt=cr+u=jGVwB zay9~$1C^yJ%OMnpROOab<;o$Is^mshegWrPxn#MeXT~n$aGBTrz3%?LxAZ*Fou&c+ z%9G8_O$gm)osQDEt#9#~X3yTIpoA*TjbyoOG)$@6<)&;}_B{s57VNls zWv$$@8m234wd2E)TFWNC76gTAR!f=yUP7qmNV&F+yV5X#d3e~C?=;LRsJ_$G4a2Gg zGohL-^(tuoM6F_2jtnLSmzUqVy3oFVU)pa<$6YbyC9~Cb10IdCBvt#sTc!dDTF54Z zV?R9b-0#E6&CVf0HbJlw3KbcuYeGZqun(3%giym!k&Vy*MK(l(Qe*=(5hgQSWSqM%rU?-J*oXbxUxyeV<^dAn1#+>6Y7F8Y99$54iFpY3;?TO- zN4)z2-eDZx=G`CE9>Ec>_9)dEEix#5?o*86ejGz>w-7E4P<^D;2|R#^g8O?q9B?1R zgZx83`4H7QRAkWrKa7X@M;`9EQE`NH9mOMfbV(c|Glj=6wJyd<;&>qOI3C}Ym@fV3 z7d%0<8BF5|%YUW;&oLU}2l4 zSbFYPn4z4LSi~7Txtk^-W&`o3f+d}%if3>ZPvIFn&FLc1p`0b`4Lpl)EQ)hv&fz(n zTNfoFECqz;@%%R7h0+T@=OPi#;|08k^ScSTSilATi5E0XF^jac#jQh5h^0WwC0xQw z{GlJ?-xDq_Q|uMIj8_)LGHJMq%XoENTq6zFNJF4~1y{BT`$-9L9k268UKL8dK`n5T z$Zp;hxA0cb0(c`Ck3aU>KTILn^M{3>gC`CF82SN@HJqRNA&>qu1jNv;ImL z9&x~hv|ZGa>Y&Z2>vom4;t zuIvC)3`T)7-~?+sa9)Km;GrF0T7zET;T@n5qQX1^JPN!k^wQhga8K5@s=BLZx5yQ~ z8^}(Q#Q#B4uS5CQq3PG50x0mv+l`nl>F=4nuyS!;8;wMi$cUo8$3T0ar~qFpn)Z_t z0(ho`)xQ*izhDu7r%Z!iSQP$XUGOK1so$tH^Hhxk{H$v5yP8lpH9{V0-2mTe8vLg9 zs4qR_Uo8pnX-I?bLL7b#^}^pYJ`DFoo`eRj7HvYiB5g-WkXezABdc^9lu*Uc z&HCF@li6H0S8uqOy5qVn=hOt*ciOAjiq)JjjE&%vq13yw;^OqoOhFc_v$@&X>EcYa zHk&Wz<)ogkR133(T&0q)PSvV1R~Uycz0F9vbQh#su1Vc(+tP`qEtU; z#%j6g!3w=S8G4EuHnC-_4QU&eSx?8BZNqJB=tf(nlg+lPuNpE_H>_3NaMJyzWxBTB kYSER<)LO3h7^ai9tVvs%6`67GwWO1dI*q!Sk?*?y0Vk)%&j0`b diff --git a/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_write_encrypt_aes256_file_fuzzer.dir/fuzz_main.c.o.d b/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_write_encrypt_aes256_file_fuzzer.dir/fuzz_main.c.o.d deleted file mode 100644 index 1365162..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_write_encrypt_aes256_file_fuzzer.dir/fuzz_main.c.o.d +++ /dev/null @@ -1,21 +0,0 @@ -ossfuzz/CMakeFiles/zip_write_encrypt_aes256_file_fuzzer.dir/fuzz_main.c.o: \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/ossfuzz/fuzz_main.c \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdio.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/wasi/api.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_header_macro.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_ptrdiff_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_size_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_wchar_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_null.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_max_align_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_offsetof.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/alltypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/features.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/stdlib.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdlib.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/alloca.h diff --git a/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_write_encrypt_aes256_file_fuzzer.dir/link.txt b/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_write_encrypt_aes256_file_fuzzer.dir/link.txt deleted file mode 100644 index 77ca0eb..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_write_encrypt_aes256_file_fuzzer.dir/link.txt +++ /dev/null @@ -1 +0,0 @@ -"/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" @CMakeFiles/zip_write_encrypt_aes256_file_fuzzer.dir/objects1.rsp -o zip_write_encrypt_aes256_file_fuzzer.js @CMakeFiles/zip_write_encrypt_aes256_file_fuzzer.dir/linkLibs.rsp diff --git a/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_write_encrypt_aes256_file_fuzzer.dir/progress.make b/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_write_encrypt_aes256_file_fuzzer.dir/progress.make deleted file mode 100644 index 8eb4b49..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_write_encrypt_aes256_file_fuzzer.dir/progress.make +++ /dev/null @@ -1,4 +0,0 @@ -CMAKE_PROGRESS_1 = -CMAKE_PROGRESS_2 = -CMAKE_PROGRESS_3 = - diff --git a/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_write_encrypt_aes256_file_fuzzer.dir/zip_write_encrypt_aes256_file_fuzzer.c.o b/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_write_encrypt_aes256_file_fuzzer.dir/zip_write_encrypt_aes256_file_fuzzer.c.o deleted file mode 100644 index 908b24142fbe0c31f7954ea742273bb257706394..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2312 zcmZWrO>7%Q6n;Cq_S#vu-ZrJbP~J3YN$c8me!OW)3)%jJv`uMf(>Bl_XR{usP959X zT?g7j9ccLzJs<%Gdf0+^3sR_p`&WM@1cbS2*0Q-UCUMe=~m0BP?wH3l~k4SSO;v}wA8pV1;)PTv9RWkJJ zP0tm@$!57MJWwT`3h}@bo>%vxOugLjNVXg$8j?_|_^#uXKzoom(WyeGwEz&Gjxff=ayxaha2pvu?HSOT(|oeNrGrmD7H;{rS2K|Iqbyv@fga z(@vjltqz)<2hQx@fUC$*y~H)tIztpS1dEN+L$TPH9Wi4R#w<2!za1vVDU4fe#C|^v zbqaNh4covIG)!3RAZlG~lqWH1h5{R-xXo6$VSf)iMYPm3Ux6$5N^C;|SDK+?o~DVk z#Rf^r#59^id==%a##Oj_mbbG(Hi+$qR)F2&YlykVV&_tdA;kyzBl0oM*UHBjUx(}X zdR+e*-#}6u@ey2$8*rl;?hoHYxtlDuS5o)#M~U$mK8lYG@y)c@c)qx%6wXpV1lIpY=*dK=BR@{PHQ8Ta0D6D#rZ^Lcot1>3nPZ0fyrLMcA z;4t4FS=nLFe*-*&UAP^0V8(nc6y1qCKjB%*%vx->B<|)pvb76yxNDf_$#Xa6v3r*H zkmsJrb1(MZ_uLnGE?{B7vqe&t#Z3EFDBo|JoMdtLG#|h|?8kv6_V@BVxW}YpG!K!? zllbI=YG?y-@6u}aMed%$r})$O^rw7K#v|OeuQ9&gzIRXM2XH?gnB@m?9}eO{w9Pj{ z4~M9pAv}ab!~7YlXBeNs;aPr|>NyN!R>j#&)t+o9I8HuB>H z9iQf-cod(-(Ixc^^5^im2L+rU+KHtFoWzsno1w}WIXZ=7cxsrRCP!!RG@hB|O za`Zetf8Wsyk)yMCcEQm((miLfynREqAb#G?^9uxBnC3-%0ncOcAx9H9@xYNoG-uJ# zD4)d1g*!xsT$*)hHazm@cu8JhL7154Wh^gT;8NN!ew6F#ba)Lj5Pnc}gx^!Ja?~mS zY|}_K9N&MjPMrws4MtM-mYOpoDB5ClmK_R97}U}AgcAsi+8sviE{9wFHX_~vqhpat z9So(4%yK;UVr5S3Ss>nih)5kQA}+SE`@|cHu_v#g~f9tIY00KOob()ajsi|oag20_E$vx~+To0B=W zKC`P@or}J*lsYZk0Q>s;3&JW5BYgT)@xIl zwwY!%sLVOlrpTmcnt?M}71^n3ebTA=nf6+}7I;phK}R`TZUplEBa`+7y-(1^5ZT~z PL-?75Uzw_9#Y@3|p%6kc diff --git a/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_write_encrypt_aes256_file_fuzzer.dir/zip_write_encrypt_aes256_file_fuzzer.c.o.d b/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_write_encrypt_aes256_file_fuzzer.dir/zip_write_encrypt_aes256_file_fuzzer.c.o.d deleted file mode 100644 index 89ec2a8..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_write_encrypt_aes256_file_fuzzer.dir/zip_write_encrypt_aes256_file_fuzzer.c.o.d +++ /dev/null @@ -1,33 +0,0 @@ -ossfuzz/CMakeFiles/zip_write_encrypt_aes256_file_fuzzer.dir/zip_write_encrypt_aes256_file_fuzzer.c.o: \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/ossfuzz/zip_write_encrypt_aes256_file_fuzzer.c \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/alltypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/stdlib.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdlib.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/features.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/alloca.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/strings.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/time.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/time.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/zipconf.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/inttypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/inttypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdio.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/wasi/api.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_header_macro.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_ptrdiff_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_size_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_wchar_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_null.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_max_align_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_offsetof.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/types.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/endian.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/select.h diff --git a/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_write_encrypt_pkware_file_fuzzer.dir/DependInfo.cmake b/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_write_encrypt_pkware_file_fuzzer.dir/DependInfo.cmake deleted file mode 100644 index 1509418..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_write_encrypt_pkware_file_fuzzer.dir/DependInfo.cmake +++ /dev/null @@ -1,24 +0,0 @@ - -# Consider dependencies only in project. -set(CMAKE_DEPENDS_IN_PROJECT_ONLY OFF) - -# The set of languages for which implicit dependencies are needed: -set(CMAKE_DEPENDS_LANGUAGES - ) - -# The set of dependency files which are needed: -set(CMAKE_DEPENDS_DEPENDENCY_FILES - "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/ossfuzz/fuzz_main.c" "ossfuzz/CMakeFiles/zip_write_encrypt_pkware_file_fuzzer.dir/fuzz_main.c.o" "gcc" "ossfuzz/CMakeFiles/zip_write_encrypt_pkware_file_fuzzer.dir/fuzz_main.c.o.d" - "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/ossfuzz/zip_write_encrypt_pkware_file_fuzzer.c" "ossfuzz/CMakeFiles/zip_write_encrypt_pkware_file_fuzzer.dir/zip_write_encrypt_pkware_file_fuzzer.c.o" "gcc" "ossfuzz/CMakeFiles/zip_write_encrypt_pkware_file_fuzzer.dir/zip_write_encrypt_pkware_file_fuzzer.c.o.d" - ) - -# Targets to which this target links which contain Fortran sources. -set(CMAKE_Fortran_TARGET_LINKED_INFO_FILES - ) - -# Targets to which this target links which contain Fortran sources. -set(CMAKE_Fortran_TARGET_FORWARD_LINKED_INFO_FILES - ) - -# Fortran module output directory. -set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_write_encrypt_pkware_file_fuzzer.dir/build.make b/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_write_encrypt_pkware_file_fuzzer.dir/build.make deleted file mode 100644 index c90db5e..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_write_encrypt_pkware_file_fuzzer.dir/build.make +++ /dev/null @@ -1,132 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.28 - -# Delete rule output on recipe failure. -.DELETE_ON_ERROR: - -#============================================================================= -# Special targets provided by cmake. - -# Disable implicit rules so canonical targets will work. -.SUFFIXES: - -# Disable VCS-based implicit rules. -% : %,v - -# Disable VCS-based implicit rules. -% : RCS/% - -# Disable VCS-based implicit rules. -% : RCS/%,v - -# Disable VCS-based implicit rules. -% : SCCS/s.% - -# Disable VCS-based implicit rules. -% : s.% - -.SUFFIXES: .hpux_make_needs_suffix_list - -# Command-line flag to silence nested $(MAKE). -$(VERBOSE)MAKESILENT = -s - -#Suppress display of executed commands. -$(VERBOSE).SILENT: - -# A target that is always out of date. -cmake_force: -.PHONY : cmake_force - -#============================================================================= -# Set environment variables for the build. - -# The shell in which to execute make rules. -SHELL = /bin/sh - -# The CMake executable. -CMAKE_COMMAND = /usr/bin/cmake - -# The command to remove a file. -RM = /usr/bin/cmake -E rm -f - -# Escaping for special characters. -EQUALS = = - -# The top-level source directory on which CMake was run. -CMAKE_SOURCE_DIR = "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3" - -# The top-level build directory on which CMake was run. -CMAKE_BINARY_DIR = "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" - -# Include any dependencies generated for this target. -include ossfuzz/CMakeFiles/zip_write_encrypt_pkware_file_fuzzer.dir/depend.make -# Include any dependencies generated by the compiler for this target. -include ossfuzz/CMakeFiles/zip_write_encrypt_pkware_file_fuzzer.dir/compiler_depend.make - -# Include the progress variables for this target. -include ossfuzz/CMakeFiles/zip_write_encrypt_pkware_file_fuzzer.dir/progress.make - -# Include the compile flags for this target's objects. -include ossfuzz/CMakeFiles/zip_write_encrypt_pkware_file_fuzzer.dir/flags.make - -ossfuzz/CMakeFiles/zip_write_encrypt_pkware_file_fuzzer.dir/zip_write_encrypt_pkware_file_fuzzer.c.o: ossfuzz/CMakeFiles/zip_write_encrypt_pkware_file_fuzzer.dir/flags.make -ossfuzz/CMakeFiles/zip_write_encrypt_pkware_file_fuzzer.dir/zip_write_encrypt_pkware_file_fuzzer.c.o: ossfuzz/CMakeFiles/zip_write_encrypt_pkware_file_fuzzer.dir/includes_C.rsp -ossfuzz/CMakeFiles/zip_write_encrypt_pkware_file_fuzzer.dir/zip_write_encrypt_pkware_file_fuzzer.c.o: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/ossfuzz/zip_write_encrypt_pkware_file_fuzzer.c -ossfuzz/CMakeFiles/zip_write_encrypt_pkware_file_fuzzer.dir/zip_write_encrypt_pkware_file_fuzzer.c.o: ossfuzz/CMakeFiles/zip_write_encrypt_pkware_file_fuzzer.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_1) "Building C object ossfuzz/CMakeFiles/zip_write_encrypt_pkware_file_fuzzer.dir/zip_write_encrypt_pkware_file_fuzzer.c.o" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT ossfuzz/CMakeFiles/zip_write_encrypt_pkware_file_fuzzer.dir/zip_write_encrypt_pkware_file_fuzzer.c.o -MF CMakeFiles/zip_write_encrypt_pkware_file_fuzzer.dir/zip_write_encrypt_pkware_file_fuzzer.c.o.d -o CMakeFiles/zip_write_encrypt_pkware_file_fuzzer.dir/zip_write_encrypt_pkware_file_fuzzer.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/ossfuzz/zip_write_encrypt_pkware_file_fuzzer.c" - -ossfuzz/CMakeFiles/zip_write_encrypt_pkware_file_fuzzer.dir/zip_write_encrypt_pkware_file_fuzzer.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/zip_write_encrypt_pkware_file_fuzzer.dir/zip_write_encrypt_pkware_file_fuzzer.c.i" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/ossfuzz/zip_write_encrypt_pkware_file_fuzzer.c" > CMakeFiles/zip_write_encrypt_pkware_file_fuzzer.dir/zip_write_encrypt_pkware_file_fuzzer.c.i - -ossfuzz/CMakeFiles/zip_write_encrypt_pkware_file_fuzzer.dir/zip_write_encrypt_pkware_file_fuzzer.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/zip_write_encrypt_pkware_file_fuzzer.dir/zip_write_encrypt_pkware_file_fuzzer.c.s" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/ossfuzz/zip_write_encrypt_pkware_file_fuzzer.c" -o CMakeFiles/zip_write_encrypt_pkware_file_fuzzer.dir/zip_write_encrypt_pkware_file_fuzzer.c.s - -ossfuzz/CMakeFiles/zip_write_encrypt_pkware_file_fuzzer.dir/fuzz_main.c.o: ossfuzz/CMakeFiles/zip_write_encrypt_pkware_file_fuzzer.dir/flags.make -ossfuzz/CMakeFiles/zip_write_encrypt_pkware_file_fuzzer.dir/fuzz_main.c.o: ossfuzz/CMakeFiles/zip_write_encrypt_pkware_file_fuzzer.dir/includes_C.rsp -ossfuzz/CMakeFiles/zip_write_encrypt_pkware_file_fuzzer.dir/fuzz_main.c.o: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/ossfuzz/fuzz_main.c -ossfuzz/CMakeFiles/zip_write_encrypt_pkware_file_fuzzer.dir/fuzz_main.c.o: ossfuzz/CMakeFiles/zip_write_encrypt_pkware_file_fuzzer.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_2) "Building C object ossfuzz/CMakeFiles/zip_write_encrypt_pkware_file_fuzzer.dir/fuzz_main.c.o" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT ossfuzz/CMakeFiles/zip_write_encrypt_pkware_file_fuzzer.dir/fuzz_main.c.o -MF CMakeFiles/zip_write_encrypt_pkware_file_fuzzer.dir/fuzz_main.c.o.d -o CMakeFiles/zip_write_encrypt_pkware_file_fuzzer.dir/fuzz_main.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/ossfuzz/fuzz_main.c" - -ossfuzz/CMakeFiles/zip_write_encrypt_pkware_file_fuzzer.dir/fuzz_main.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/zip_write_encrypt_pkware_file_fuzzer.dir/fuzz_main.c.i" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/ossfuzz/fuzz_main.c" > CMakeFiles/zip_write_encrypt_pkware_file_fuzzer.dir/fuzz_main.c.i - -ossfuzz/CMakeFiles/zip_write_encrypt_pkware_file_fuzzer.dir/fuzz_main.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/zip_write_encrypt_pkware_file_fuzzer.dir/fuzz_main.c.s" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/ossfuzz/fuzz_main.c" -o CMakeFiles/zip_write_encrypt_pkware_file_fuzzer.dir/fuzz_main.c.s - -# Object files for target zip_write_encrypt_pkware_file_fuzzer -zip_write_encrypt_pkware_file_fuzzer_OBJECTS = \ -"CMakeFiles/zip_write_encrypt_pkware_file_fuzzer.dir/zip_write_encrypt_pkware_file_fuzzer.c.o" \ -"CMakeFiles/zip_write_encrypt_pkware_file_fuzzer.dir/fuzz_main.c.o" - -# External object files for target zip_write_encrypt_pkware_file_fuzzer -zip_write_encrypt_pkware_file_fuzzer_EXTERNAL_OBJECTS = - -ossfuzz/zip_write_encrypt_pkware_file_fuzzer.js: ossfuzz/CMakeFiles/zip_write_encrypt_pkware_file_fuzzer.dir/zip_write_encrypt_pkware_file_fuzzer.c.o -ossfuzz/zip_write_encrypt_pkware_file_fuzzer.js: ossfuzz/CMakeFiles/zip_write_encrypt_pkware_file_fuzzer.dir/fuzz_main.c.o -ossfuzz/zip_write_encrypt_pkware_file_fuzzer.js: ossfuzz/CMakeFiles/zip_write_encrypt_pkware_file_fuzzer.dir/build.make -ossfuzz/zip_write_encrypt_pkware_file_fuzzer.js: lib/libzip.a -ossfuzz/zip_write_encrypt_pkware_file_fuzzer.js: /home/romazan/Рабочий\ стол/cproject/thirdparty/zlib-1.3.1/install/lib/libz.a -ossfuzz/zip_write_encrypt_pkware_file_fuzzer.js: ossfuzz/CMakeFiles/zip_write_encrypt_pkware_file_fuzzer.dir/linkLibs.rsp -ossfuzz/zip_write_encrypt_pkware_file_fuzzer.js: ossfuzz/CMakeFiles/zip_write_encrypt_pkware_file_fuzzer.dir/objects1.rsp -ossfuzz/zip_write_encrypt_pkware_file_fuzzer.js: ossfuzz/CMakeFiles/zip_write_encrypt_pkware_file_fuzzer.dir/link.txt - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_3) "Linking C executable zip_write_encrypt_pkware_file_fuzzer.js" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz" && $(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/zip_write_encrypt_pkware_file_fuzzer.dir/link.txt --verbose=$(VERBOSE) - -# Rule to build all files generated by this target. -ossfuzz/CMakeFiles/zip_write_encrypt_pkware_file_fuzzer.dir/build: ossfuzz/zip_write_encrypt_pkware_file_fuzzer.js -.PHONY : ossfuzz/CMakeFiles/zip_write_encrypt_pkware_file_fuzzer.dir/build - -ossfuzz/CMakeFiles/zip_write_encrypt_pkware_file_fuzzer.dir/clean: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz" && $(CMAKE_COMMAND) -P CMakeFiles/zip_write_encrypt_pkware_file_fuzzer.dir/cmake_clean.cmake -.PHONY : ossfuzz/CMakeFiles/zip_write_encrypt_pkware_file_fuzzer.dir/clean - -ossfuzz/CMakeFiles/zip_write_encrypt_pkware_file_fuzzer.dir/depend: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3" "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/ossfuzz" "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz" "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_write_encrypt_pkware_file_fuzzer.dir/DependInfo.cmake" "--color=$(COLOR)" -.PHONY : ossfuzz/CMakeFiles/zip_write_encrypt_pkware_file_fuzzer.dir/depend - diff --git a/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_write_encrypt_pkware_file_fuzzer.dir/cmake_clean.cmake b/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_write_encrypt_pkware_file_fuzzer.dir/cmake_clean.cmake deleted file mode 100644 index 342d6ef..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_write_encrypt_pkware_file_fuzzer.dir/cmake_clean.cmake +++ /dev/null @@ -1,13 +0,0 @@ -file(REMOVE_RECURSE - "CMakeFiles/zip_write_encrypt_pkware_file_fuzzer.dir/fuzz_main.c.o" - "CMakeFiles/zip_write_encrypt_pkware_file_fuzzer.dir/fuzz_main.c.o.d" - "CMakeFiles/zip_write_encrypt_pkware_file_fuzzer.dir/zip_write_encrypt_pkware_file_fuzzer.c.o" - "CMakeFiles/zip_write_encrypt_pkware_file_fuzzer.dir/zip_write_encrypt_pkware_file_fuzzer.c.o.d" - "zip_write_encrypt_pkware_file_fuzzer.js" - "zip_write_encrypt_pkware_file_fuzzer.pdb" -) - -# Per-language clean rules from dependency scanning. -foreach(lang C) - include(CMakeFiles/zip_write_encrypt_pkware_file_fuzzer.dir/cmake_clean_${lang}.cmake OPTIONAL) -endforeach() diff --git a/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_write_encrypt_pkware_file_fuzzer.dir/compiler_depend.make b/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_write_encrypt_pkware_file_fuzzer.dir/compiler_depend.make deleted file mode 100644 index 42a0479..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_write_encrypt_pkware_file_fuzzer.dir/compiler_depend.make +++ /dev/null @@ -1,2 +0,0 @@ -# Empty compiler generated dependencies file for zip_write_encrypt_pkware_file_fuzzer. -# This may be replaced when dependencies are built. diff --git a/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_write_encrypt_pkware_file_fuzzer.dir/compiler_depend.ts b/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_write_encrypt_pkware_file_fuzzer.dir/compiler_depend.ts deleted file mode 100644 index 6e6e613..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_write_encrypt_pkware_file_fuzzer.dir/compiler_depend.ts +++ /dev/null @@ -1,2 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Timestamp file for compiler generated dependencies management for zip_write_encrypt_pkware_file_fuzzer. diff --git a/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_write_encrypt_pkware_file_fuzzer.dir/depend.make b/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_write_encrypt_pkware_file_fuzzer.dir/depend.make deleted file mode 100644 index dc39cf2..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_write_encrypt_pkware_file_fuzzer.dir/depend.make +++ /dev/null @@ -1,2 +0,0 @@ -# Empty dependencies file for zip_write_encrypt_pkware_file_fuzzer. -# This may be replaced when dependencies are built. diff --git a/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_write_encrypt_pkware_file_fuzzer.dir/flags.make b/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_write_encrypt_pkware_file_fuzzer.dir/flags.make deleted file mode 100644 index 48610fa..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_write_encrypt_pkware_file_fuzzer.dir/flags.make +++ /dev/null @@ -1,10 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.28 - -# compile C with /home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc -C_DEFINES = - -C_INCLUDES = @CMakeFiles/zip_write_encrypt_pkware_file_fuzzer.dir/includes_C.rsp - -C_FLAGS = - diff --git a/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_write_encrypt_pkware_file_fuzzer.dir/fuzz_main.c.o b/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_write_encrypt_pkware_file_fuzzer.dir/fuzz_main.c.o deleted file mode 100644 index a829fe0013eceb8a67e4f5e9c9aae3d8598af89e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1925 zcmZWqNplld5bk+1S}e)d^MWzPHvL#-gk;&WWXuvQzzbk7ODdI{7)wt=cr+u=jGVwB zay9~$1C^yJ%OMnpROOab<;o$Is^mshegWrPxn#MeXT~n$aGBTrz3%?LxAZ*Fou&c+ z%9G8_O$gm)osQDEt#9#~X3yTIpoA*TjbyoOG)$@6<)&;}_B{s57VNls zWv$$@8m234wd2E)TFWNC76gTAR!f=yUP7qmNV&F+yV5X#d3e~C?=;LRsJ_$G4a2Gg zGohL-^(tuoM6F_2jtnLSmzUqVy3oFVU)pa<$6YbyC9~Cb10IdCBvt#sTc!dDTF54Z zV?R9b-0#E6&CVf0HbJlw3KbcuYeGZqun(3%giym!k&Vy*MK(l(Qe*=(5hgQSWSqM%rU?-J*oXbxUxyeV<^dAn1#+>6Y7F8Y99$54iFpY3;?TO- zN4)z2-eDZx=G`CE9>Ec>_9)dEEix#5?o*86ejGz>w-7E4P<^D;2|R#^g8O?q9B?1R zgZx83`4H7QRAkWrKa7X@M;`9EQE`NH9mOMfbV(c|Glj=6wJyd<;&>qOI3C}Ym@fV3 z7d%0<8BF5|%YUW;&oLU}2l4 zSbFYPn4z4LSi~7Txtk^-W&`o3f+d}%if3>ZPvIFn&FLc1p`0b`4Lpl)EQ)hv&fz(n zTNfoFECqz;@%%R7h0+T@=OPi#;|08k^ScSTSilATi5E0XF^jac#jQh5h^0WwC0xQw z{GlJ?-xDq_Q|uMIj8_)LGHJMq%XoENTq6zFNJF4~1y{BT`$-9L9k268UKL8dK`n5T z$Zp;hxA0cb0(c`Ck3aU>KTILn^M{3>gC`CF82SN@HJqRNA&>qu1jNv;ImL z9&x~hv|ZGa>Y&Z2>vom4;t zuIvC)3`T)7-~?+sa9)Km;GrF0T7zET;T@n5qQX1^JPN!k^wQhga8K5@s=BLZx5yQ~ z8^}(Q#Q#B4uS5CQq3PG50x0mv+l`nl>F=4nuyS!;8;wMi$cUo8$3T0ar~qFpn)Z_t z0(ho`)xQ*izhDu7r%Z!iSQP$XUGOK1so$tH^Hhxk{H$v5yP8lpH9{V0-2mTe8vLg9 zs4qR_Uo8pnX-I?bLL7b#^}^pYJ`DFoo`eRj7HvYiB5g-WkXezABdc^9lu*Uc z&HCF@li6H0S8uqOy5qVn=hOt*ciOAjiq)JjjE&%vq13yw;^OqoOhFc_v$@&X>EcYa zHk&Wz<)ogkR133(T&0q)PSvV1R~Uycz0F9vbQh#su1Vc(+tP`qEtU; z#%j6g!3w=S8G4EuHnC-_4QU&eSx?8BZNqJB=tf(nlg+lPuNpE_H>_3NaMJyzWxBTB kYSER<)LO3h7^ai9tVvs%6`67GwWO1dI*q!Sk?*?y0Vk)%&j0`b diff --git a/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_write_encrypt_pkware_file_fuzzer.dir/fuzz_main.c.o.d b/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_write_encrypt_pkware_file_fuzzer.dir/fuzz_main.c.o.d deleted file mode 100644 index cceaff6..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_write_encrypt_pkware_file_fuzzer.dir/fuzz_main.c.o.d +++ /dev/null @@ -1,21 +0,0 @@ -ossfuzz/CMakeFiles/zip_write_encrypt_pkware_file_fuzzer.dir/fuzz_main.c.o: \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/ossfuzz/fuzz_main.c \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdio.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/wasi/api.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_header_macro.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_ptrdiff_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_size_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_wchar_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_null.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_max_align_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_offsetof.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/alltypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/features.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/stdlib.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdlib.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/alloca.h diff --git a/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_write_encrypt_pkware_file_fuzzer.dir/link.txt b/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_write_encrypt_pkware_file_fuzzer.dir/link.txt deleted file mode 100644 index 7409e32..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_write_encrypt_pkware_file_fuzzer.dir/link.txt +++ /dev/null @@ -1 +0,0 @@ -"/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" @CMakeFiles/zip_write_encrypt_pkware_file_fuzzer.dir/objects1.rsp -o zip_write_encrypt_pkware_file_fuzzer.js @CMakeFiles/zip_write_encrypt_pkware_file_fuzzer.dir/linkLibs.rsp diff --git a/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_write_encrypt_pkware_file_fuzzer.dir/progress.make b/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_write_encrypt_pkware_file_fuzzer.dir/progress.make deleted file mode 100644 index 4a17784..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_write_encrypt_pkware_file_fuzzer.dir/progress.make +++ /dev/null @@ -1,4 +0,0 @@ -CMAKE_PROGRESS_1 = 98 -CMAKE_PROGRESS_2 = -CMAKE_PROGRESS_3 = - diff --git a/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_write_encrypt_pkware_file_fuzzer.dir/zip_write_encrypt_pkware_file_fuzzer.c.o b/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_write_encrypt_pkware_file_fuzzer.dir/zip_write_encrypt_pkware_file_fuzzer.c.o deleted file mode 100644 index 4c1b3aa4b298f485c8756a19137d46ef81f399da..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2267 zcmZXWPiz!b9LIn2W_D+{v#29vw1zzV3Nk9U8n1HnPYd~ph<=*stf5t zp;E32$1BWa@-@+f`~kcYvp>ORu@%Za>^PR`n87V zio#T*R1zMjQcs0?;0e#GdC^S0RQITCDVk_VL$U0;j#mWj@sv`zA_`8i2r(&bl%`Pf zMNkk`*SlH|%C#!QWi~0ZZl&f+v^V9BD3GFiq@8K|{T&(J*Y%CG18ZBKUCj>4E&^xv zec&oGRA;${T4$)DhG4M?x+oSKw<_|;aSG!W8?`?PL!Cn1Vk0*21Pv1w zJBnHt8{br z!7ki`dog3a9Twe(`@Y~=nwhoO0ckwIbA+`YbGUzm=ZU!+^VmJldx*IwV(!J>N6dW@ zb3gXCm@O)0SF1#p2$VuM~VL!9>rrLe3-m1;4r>0&qs)V zB;r4g#~<;Zi1=T`7hC+JL@{bHv>$}EPTI&%k#uT?pT-k-5>GGVAH%W7{Ab8^=1Kmu zc-DM3ta6Ts#_=4EkMQ$EbOF!fg?WCFh%QD%6FBjR=%tA0Wqi3sbcyO-vRK}}C7TPs zZ0GqaB)u}jU&WX3GQPTusDOpXM3ZEjTp}9d4mzzfLqJoMouX{`h+pQeJg`O5iZfiG zXdPHLZ5Y4Gb#;1J4KomaP^izo=6E7UtpUI`jbz>N{nu*LW5C{QBxNtDI&*@e9Y$x# zp|FTS4P8$-fxxJdVbsWSxYKVV;~g+MmYmd^P*#z%9M8Q{UJwUc#s|xc)UhJtQrmiD zyrmdh!^ViRdzGux|Eu&p9ahk(L(fuGMeYr-3+dp%th$E)>5 zz)VnBJU5#20}sGdSRxwdx)n$+MLi6XU`hj+OflnrP$UR2)g?=>3Y}nTV8+0VFUfrx zbbzTZ3H>oCB$fm#4qIb4!k=Pw&Z`xjz{$0M6mz+d>xLCl&q}FxrPQ}l>R%~YpuoqH zq|FnRnwvXv`sgu@>+OoZN6`*5&_-3zE@=SQWAM2Whg(cn@2~{GU6$1TVDyXs%?!Aq zrr>*ZmHMwrnfJ7$_NlfS;9JdrAGH*`A4{v>#VGT0EUDd#(Wd?tGvKXw3OwCDhtt9mZr`KH^9Dufqr2X2lIo2ebzv+G}vqP zif*UZE%p!g=UunA*i$NseE%N!Q0`1RaJ*^yLoLxm-|&Q=$QVS87vE#m}@?Yt_JW l>UDaCv!!|?- diff --git a/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_write_encrypt_pkware_file_fuzzer.dir/zip_write_encrypt_pkware_file_fuzzer.c.o.d b/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_write_encrypt_pkware_file_fuzzer.dir/zip_write_encrypt_pkware_file_fuzzer.c.o.d deleted file mode 100644 index d030e4f..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CMakeFiles/zip_write_encrypt_pkware_file_fuzzer.dir/zip_write_encrypt_pkware_file_fuzzer.c.o.d +++ /dev/null @@ -1,33 +0,0 @@ -ossfuzz/CMakeFiles/zip_write_encrypt_pkware_file_fuzzer.dir/zip_write_encrypt_pkware_file_fuzzer.c.o: \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/ossfuzz/zip_write_encrypt_pkware_file_fuzzer.c \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/alltypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/stdlib.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdlib.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/features.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/alloca.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/strings.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/time.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/time.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/zipconf.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/inttypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/inttypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdio.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/wasi/api.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_header_macro.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_ptrdiff_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_size_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_wchar_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_null.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_max_align_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_offsetof.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/types.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/endian.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/select.h diff --git a/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CTestTestfile.cmake b/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CTestTestfile.cmake deleted file mode 100644 index 0c691de..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/CTestTestfile.cmake +++ /dev/null @@ -1,6 +0,0 @@ -# CMake generated Testfile for -# Source directory: /home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/ossfuzz -# Build directory: /home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz -# -# This file includes the relevant testing commands required for -# testing this directory and lists subdirectories to be tested as well. diff --git a/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/Makefile b/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/Makefile deleted file mode 100644 index 8391477..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/Makefile +++ /dev/null @@ -1,419 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.28 - -# Default target executed when no arguments are given to make. -default_target: all -.PHONY : default_target - -# Allow only one "make -f Makefile2" at a time, but pass parallelism. -.NOTPARALLEL: - -#============================================================================= -# Special targets provided by cmake. - -# Disable implicit rules so canonical targets will work. -.SUFFIXES: - -# Disable VCS-based implicit rules. -% : %,v - -# Disable VCS-based implicit rules. -% : RCS/% - -# Disable VCS-based implicit rules. -% : RCS/%,v - -# Disable VCS-based implicit rules. -% : SCCS/s.% - -# Disable VCS-based implicit rules. -% : s.% - -.SUFFIXES: .hpux_make_needs_suffix_list - -# Command-line flag to silence nested $(MAKE). -$(VERBOSE)MAKESILENT = -s - -#Suppress display of executed commands. -$(VERBOSE).SILENT: - -# A target that is always out of date. -cmake_force: -.PHONY : cmake_force - -#============================================================================= -# Set environment variables for the build. - -# The shell in which to execute make rules. -SHELL = /bin/sh - -# The CMake executable. -CMAKE_COMMAND = /usr/bin/cmake - -# The command to remove a file. -RM = /usr/bin/cmake -E rm -f - -# Escaping for special characters. -EQUALS = = - -# The top-level source directory on which CMake was run. -CMAKE_SOURCE_DIR = "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3" - -# The top-level build directory on which CMake was run. -CMAKE_BINARY_DIR = "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" - -#============================================================================= -# Targets provided globally by CMake. - -# Special rule for the target test -test: - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Running tests..." - /usr/bin/ctest --force-new-ctest-process $(ARGS) -.PHONY : test - -# Special rule for the target test -test/fast: test -.PHONY : test/fast - -# Special rule for the target edit_cache -edit_cache: - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "No interactive CMake dialog available..." - /usr/bin/cmake -E echo No\ interactive\ CMake\ dialog\ available. -.PHONY : edit_cache - -# Special rule for the target edit_cache -edit_cache/fast: edit_cache -.PHONY : edit_cache/fast - -# Special rule for the target rebuild_cache -rebuild_cache: - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Running CMake to regenerate build system..." - /usr/bin/cmake --regenerate-during-build -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) -.PHONY : rebuild_cache - -# Special rule for the target rebuild_cache -rebuild_cache/fast: rebuild_cache -.PHONY : rebuild_cache/fast - -# Special rule for the target list_install_components -list_install_components: - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Available install components are: \"Unspecified\"" -.PHONY : list_install_components - -# Special rule for the target list_install_components -list_install_components/fast: list_install_components -.PHONY : list_install_components/fast - -# Special rule for the target install -install: preinstall - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Install the project..." - /usr/bin/cmake -P cmake_install.cmake -.PHONY : install - -# Special rule for the target install -install/fast: preinstall/fast - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Install the project..." - /usr/bin/cmake -P cmake_install.cmake -.PHONY : install/fast - -# Special rule for the target install/local -install/local: preinstall - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Installing only the local directory..." - /usr/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake -.PHONY : install/local - -# Special rule for the target install/local -install/local/fast: preinstall/fast - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Installing only the local directory..." - /usr/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake -.PHONY : install/local/fast - -# Special rule for the target install/strip -install/strip: preinstall - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Installing the project stripped..." - /usr/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake -.PHONY : install/strip - -# Special rule for the target install/strip -install/strip/fast: preinstall/fast - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Installing the project stripped..." - /usr/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake -.PHONY : install/strip/fast - -# The main all target -all: cmake_check_build_system - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(CMAKE_COMMAND) -E cmake_progress_start "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz//CMakeFiles/progress.marks" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 ossfuzz/all - $(CMAKE_COMMAND) -E cmake_progress_start "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" 0 -.PHONY : all - -# The main clean target -clean: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 ossfuzz/clean -.PHONY : clean - -# The main clean target -clean/fast: clean -.PHONY : clean/fast - -# Prepare targets for installation. -preinstall: all - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 ossfuzz/preinstall -.PHONY : preinstall - -# Prepare targets for installation. -preinstall/fast: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 ossfuzz/preinstall -.PHONY : preinstall/fast - -# clear depends -depend: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1 -.PHONY : depend - -# Convenience name for target. -ossfuzz/CMakeFiles/zip_read_file_fuzzer.dir/rule: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 ossfuzz/CMakeFiles/zip_read_file_fuzzer.dir/rule -.PHONY : ossfuzz/CMakeFiles/zip_read_file_fuzzer.dir/rule - -# Convenience name for target. -zip_read_file_fuzzer: ossfuzz/CMakeFiles/zip_read_file_fuzzer.dir/rule -.PHONY : zip_read_file_fuzzer - -# fast build rule for target. -zip_read_file_fuzzer/fast: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f ossfuzz/CMakeFiles/zip_read_file_fuzzer.dir/build.make ossfuzz/CMakeFiles/zip_read_file_fuzzer.dir/build -.PHONY : zip_read_file_fuzzer/fast - -# Convenience name for target. -ossfuzz/CMakeFiles/zip_read_fuzzer.dir/rule: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 ossfuzz/CMakeFiles/zip_read_fuzzer.dir/rule -.PHONY : ossfuzz/CMakeFiles/zip_read_fuzzer.dir/rule - -# Convenience name for target. -zip_read_fuzzer: ossfuzz/CMakeFiles/zip_read_fuzzer.dir/rule -.PHONY : zip_read_fuzzer - -# fast build rule for target. -zip_read_fuzzer/fast: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f ossfuzz/CMakeFiles/zip_read_fuzzer.dir/build.make ossfuzz/CMakeFiles/zip_read_fuzzer.dir/build -.PHONY : zip_read_fuzzer/fast - -# Convenience name for target. -ossfuzz/CMakeFiles/zip_write_encrypt_aes256_file_fuzzer.dir/rule: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 ossfuzz/CMakeFiles/zip_write_encrypt_aes256_file_fuzzer.dir/rule -.PHONY : ossfuzz/CMakeFiles/zip_write_encrypt_aes256_file_fuzzer.dir/rule - -# Convenience name for target. -zip_write_encrypt_aes256_file_fuzzer: ossfuzz/CMakeFiles/zip_write_encrypt_aes256_file_fuzzer.dir/rule -.PHONY : zip_write_encrypt_aes256_file_fuzzer - -# fast build rule for target. -zip_write_encrypt_aes256_file_fuzzer/fast: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f ossfuzz/CMakeFiles/zip_write_encrypt_aes256_file_fuzzer.dir/build.make ossfuzz/CMakeFiles/zip_write_encrypt_aes256_file_fuzzer.dir/build -.PHONY : zip_write_encrypt_aes256_file_fuzzer/fast - -# Convenience name for target. -ossfuzz/CMakeFiles/zip_write_encrypt_pkware_file_fuzzer.dir/rule: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 ossfuzz/CMakeFiles/zip_write_encrypt_pkware_file_fuzzer.dir/rule -.PHONY : ossfuzz/CMakeFiles/zip_write_encrypt_pkware_file_fuzzer.dir/rule - -# Convenience name for target. -zip_write_encrypt_pkware_file_fuzzer: ossfuzz/CMakeFiles/zip_write_encrypt_pkware_file_fuzzer.dir/rule -.PHONY : zip_write_encrypt_pkware_file_fuzzer - -# fast build rule for target. -zip_write_encrypt_pkware_file_fuzzer/fast: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f ossfuzz/CMakeFiles/zip_write_encrypt_pkware_file_fuzzer.dir/build.make ossfuzz/CMakeFiles/zip_write_encrypt_pkware_file_fuzzer.dir/build -.PHONY : zip_write_encrypt_pkware_file_fuzzer/fast - -# Convenience name for target. -ossfuzz/CMakeFiles/list-fuzzers.dir/rule: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 ossfuzz/CMakeFiles/list-fuzzers.dir/rule -.PHONY : ossfuzz/CMakeFiles/list-fuzzers.dir/rule - -# Convenience name for target. -list-fuzzers: ossfuzz/CMakeFiles/list-fuzzers.dir/rule -.PHONY : list-fuzzers - -# fast build rule for target. -list-fuzzers/fast: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f ossfuzz/CMakeFiles/list-fuzzers.dir/build.make ossfuzz/CMakeFiles/list-fuzzers.dir/build -.PHONY : list-fuzzers/fast - -fuzz_main.o: fuzz_main.c.o -.PHONY : fuzz_main.o - -# target to build an object file -fuzz_main.c.o: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f ossfuzz/CMakeFiles/zip_read_file_fuzzer.dir/build.make ossfuzz/CMakeFiles/zip_read_file_fuzzer.dir/fuzz_main.c.o - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f ossfuzz/CMakeFiles/zip_read_fuzzer.dir/build.make ossfuzz/CMakeFiles/zip_read_fuzzer.dir/fuzz_main.c.o - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f ossfuzz/CMakeFiles/zip_write_encrypt_aes256_file_fuzzer.dir/build.make ossfuzz/CMakeFiles/zip_write_encrypt_aes256_file_fuzzer.dir/fuzz_main.c.o - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f ossfuzz/CMakeFiles/zip_write_encrypt_pkware_file_fuzzer.dir/build.make ossfuzz/CMakeFiles/zip_write_encrypt_pkware_file_fuzzer.dir/fuzz_main.c.o -.PHONY : fuzz_main.c.o - -fuzz_main.i: fuzz_main.c.i -.PHONY : fuzz_main.i - -# target to preprocess a source file -fuzz_main.c.i: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f ossfuzz/CMakeFiles/zip_read_file_fuzzer.dir/build.make ossfuzz/CMakeFiles/zip_read_file_fuzzer.dir/fuzz_main.c.i - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f ossfuzz/CMakeFiles/zip_read_fuzzer.dir/build.make ossfuzz/CMakeFiles/zip_read_fuzzer.dir/fuzz_main.c.i - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f ossfuzz/CMakeFiles/zip_write_encrypt_aes256_file_fuzzer.dir/build.make ossfuzz/CMakeFiles/zip_write_encrypt_aes256_file_fuzzer.dir/fuzz_main.c.i - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f ossfuzz/CMakeFiles/zip_write_encrypt_pkware_file_fuzzer.dir/build.make ossfuzz/CMakeFiles/zip_write_encrypt_pkware_file_fuzzer.dir/fuzz_main.c.i -.PHONY : fuzz_main.c.i - -fuzz_main.s: fuzz_main.c.s -.PHONY : fuzz_main.s - -# target to generate assembly for a file -fuzz_main.c.s: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f ossfuzz/CMakeFiles/zip_read_file_fuzzer.dir/build.make ossfuzz/CMakeFiles/zip_read_file_fuzzer.dir/fuzz_main.c.s - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f ossfuzz/CMakeFiles/zip_read_fuzzer.dir/build.make ossfuzz/CMakeFiles/zip_read_fuzzer.dir/fuzz_main.c.s - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f ossfuzz/CMakeFiles/zip_write_encrypt_aes256_file_fuzzer.dir/build.make ossfuzz/CMakeFiles/zip_write_encrypt_aes256_file_fuzzer.dir/fuzz_main.c.s - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f ossfuzz/CMakeFiles/zip_write_encrypt_pkware_file_fuzzer.dir/build.make ossfuzz/CMakeFiles/zip_write_encrypt_pkware_file_fuzzer.dir/fuzz_main.c.s -.PHONY : fuzz_main.c.s - -zip_read_file_fuzzer.o: zip_read_file_fuzzer.c.o -.PHONY : zip_read_file_fuzzer.o - -# target to build an object file -zip_read_file_fuzzer.c.o: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f ossfuzz/CMakeFiles/zip_read_file_fuzzer.dir/build.make ossfuzz/CMakeFiles/zip_read_file_fuzzer.dir/zip_read_file_fuzzer.c.o -.PHONY : zip_read_file_fuzzer.c.o - -zip_read_file_fuzzer.i: zip_read_file_fuzzer.c.i -.PHONY : zip_read_file_fuzzer.i - -# target to preprocess a source file -zip_read_file_fuzzer.c.i: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f ossfuzz/CMakeFiles/zip_read_file_fuzzer.dir/build.make ossfuzz/CMakeFiles/zip_read_file_fuzzer.dir/zip_read_file_fuzzer.c.i -.PHONY : zip_read_file_fuzzer.c.i - -zip_read_file_fuzzer.s: zip_read_file_fuzzer.c.s -.PHONY : zip_read_file_fuzzer.s - -# target to generate assembly for a file -zip_read_file_fuzzer.c.s: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f ossfuzz/CMakeFiles/zip_read_file_fuzzer.dir/build.make ossfuzz/CMakeFiles/zip_read_file_fuzzer.dir/zip_read_file_fuzzer.c.s -.PHONY : zip_read_file_fuzzer.c.s - -zip_read_fuzzer.o: zip_read_fuzzer.c.o -.PHONY : zip_read_fuzzer.o - -# target to build an object file -zip_read_fuzzer.c.o: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f ossfuzz/CMakeFiles/zip_read_fuzzer.dir/build.make ossfuzz/CMakeFiles/zip_read_fuzzer.dir/zip_read_fuzzer.c.o -.PHONY : zip_read_fuzzer.c.o - -zip_read_fuzzer.i: zip_read_fuzzer.c.i -.PHONY : zip_read_fuzzer.i - -# target to preprocess a source file -zip_read_fuzzer.c.i: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f ossfuzz/CMakeFiles/zip_read_fuzzer.dir/build.make ossfuzz/CMakeFiles/zip_read_fuzzer.dir/zip_read_fuzzer.c.i -.PHONY : zip_read_fuzzer.c.i - -zip_read_fuzzer.s: zip_read_fuzzer.c.s -.PHONY : zip_read_fuzzer.s - -# target to generate assembly for a file -zip_read_fuzzer.c.s: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f ossfuzz/CMakeFiles/zip_read_fuzzer.dir/build.make ossfuzz/CMakeFiles/zip_read_fuzzer.dir/zip_read_fuzzer.c.s -.PHONY : zip_read_fuzzer.c.s - -zip_write_encrypt_aes256_file_fuzzer.o: zip_write_encrypt_aes256_file_fuzzer.c.o -.PHONY : zip_write_encrypt_aes256_file_fuzzer.o - -# target to build an object file -zip_write_encrypt_aes256_file_fuzzer.c.o: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f ossfuzz/CMakeFiles/zip_write_encrypt_aes256_file_fuzzer.dir/build.make ossfuzz/CMakeFiles/zip_write_encrypt_aes256_file_fuzzer.dir/zip_write_encrypt_aes256_file_fuzzer.c.o -.PHONY : zip_write_encrypt_aes256_file_fuzzer.c.o - -zip_write_encrypt_aes256_file_fuzzer.i: zip_write_encrypt_aes256_file_fuzzer.c.i -.PHONY : zip_write_encrypt_aes256_file_fuzzer.i - -# target to preprocess a source file -zip_write_encrypt_aes256_file_fuzzer.c.i: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f ossfuzz/CMakeFiles/zip_write_encrypt_aes256_file_fuzzer.dir/build.make ossfuzz/CMakeFiles/zip_write_encrypt_aes256_file_fuzzer.dir/zip_write_encrypt_aes256_file_fuzzer.c.i -.PHONY : zip_write_encrypt_aes256_file_fuzzer.c.i - -zip_write_encrypt_aes256_file_fuzzer.s: zip_write_encrypt_aes256_file_fuzzer.c.s -.PHONY : zip_write_encrypt_aes256_file_fuzzer.s - -# target to generate assembly for a file -zip_write_encrypt_aes256_file_fuzzer.c.s: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f ossfuzz/CMakeFiles/zip_write_encrypt_aes256_file_fuzzer.dir/build.make ossfuzz/CMakeFiles/zip_write_encrypt_aes256_file_fuzzer.dir/zip_write_encrypt_aes256_file_fuzzer.c.s -.PHONY : zip_write_encrypt_aes256_file_fuzzer.c.s - -zip_write_encrypt_pkware_file_fuzzer.o: zip_write_encrypt_pkware_file_fuzzer.c.o -.PHONY : zip_write_encrypt_pkware_file_fuzzer.o - -# target to build an object file -zip_write_encrypt_pkware_file_fuzzer.c.o: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f ossfuzz/CMakeFiles/zip_write_encrypt_pkware_file_fuzzer.dir/build.make ossfuzz/CMakeFiles/zip_write_encrypt_pkware_file_fuzzer.dir/zip_write_encrypt_pkware_file_fuzzer.c.o -.PHONY : zip_write_encrypt_pkware_file_fuzzer.c.o - -zip_write_encrypt_pkware_file_fuzzer.i: zip_write_encrypt_pkware_file_fuzzer.c.i -.PHONY : zip_write_encrypt_pkware_file_fuzzer.i - -# target to preprocess a source file -zip_write_encrypt_pkware_file_fuzzer.c.i: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f ossfuzz/CMakeFiles/zip_write_encrypt_pkware_file_fuzzer.dir/build.make ossfuzz/CMakeFiles/zip_write_encrypt_pkware_file_fuzzer.dir/zip_write_encrypt_pkware_file_fuzzer.c.i -.PHONY : zip_write_encrypt_pkware_file_fuzzer.c.i - -zip_write_encrypt_pkware_file_fuzzer.s: zip_write_encrypt_pkware_file_fuzzer.c.s -.PHONY : zip_write_encrypt_pkware_file_fuzzer.s - -# target to generate assembly for a file -zip_write_encrypt_pkware_file_fuzzer.c.s: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(MAKE) $(MAKESILENT) -f ossfuzz/CMakeFiles/zip_write_encrypt_pkware_file_fuzzer.dir/build.make ossfuzz/CMakeFiles/zip_write_encrypt_pkware_file_fuzzer.dir/zip_write_encrypt_pkware_file_fuzzer.c.s -.PHONY : zip_write_encrypt_pkware_file_fuzzer.c.s - -# Help Target -help: - @echo "The following are some of the valid targets for this Makefile:" - @echo "... all (the default if no target is provided)" - @echo "... clean" - @echo "... depend" - @echo "... edit_cache" - @echo "... install" - @echo "... install/local" - @echo "... install/strip" - @echo "... list_install_components" - @echo "... rebuild_cache" - @echo "... test" - @echo "... list-fuzzers" - @echo "... zip_read_file_fuzzer" - @echo "... zip_read_fuzzer" - @echo "... zip_write_encrypt_aes256_file_fuzzer" - @echo "... zip_write_encrypt_pkware_file_fuzzer" - @echo "... fuzz_main.o" - @echo "... fuzz_main.i" - @echo "... fuzz_main.s" - @echo "... zip_read_file_fuzzer.o" - @echo "... zip_read_file_fuzzer.i" - @echo "... zip_read_file_fuzzer.s" - @echo "... zip_read_fuzzer.o" - @echo "... zip_read_fuzzer.i" - @echo "... zip_read_fuzzer.s" - @echo "... zip_write_encrypt_aes256_file_fuzzer.o" - @echo "... zip_write_encrypt_aes256_file_fuzzer.i" - @echo "... zip_write_encrypt_aes256_file_fuzzer.s" - @echo "... zip_write_encrypt_pkware_file_fuzzer.o" - @echo "... zip_write_encrypt_pkware_file_fuzzer.i" - @echo "... zip_write_encrypt_pkware_file_fuzzer.s" -.PHONY : help - - - -#============================================================================= -# Special targets to cleanup operation of make. - -# Special rule to run CMake to check the build system integrity. -# No rule that depends on this can have commands that come from listfiles -# because they might be regenerated. -cmake_check_build_system: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0 -.PHONY : cmake_check_build_system - diff --git a/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/cmake_install.cmake b/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/cmake_install.cmake deleted file mode 100644 index 38ff9a6..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/cmake_install.cmake +++ /dev/null @@ -1,39 +0,0 @@ -# Install script for directory: /home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/ossfuzz - -# Set the install prefix -if(NOT DEFINED CMAKE_INSTALL_PREFIX) - set(CMAKE_INSTALL_PREFIX "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/install") -endif() -string(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}") - -# Set the install configuration name. -if(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME) - if(BUILD_TYPE) - string(REGEX REPLACE "^[^A-Za-z0-9_]+" "" - CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}") - else() - set(CMAKE_INSTALL_CONFIG_NAME "") - endif() - message(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"") -endif() - -# Set the component getting installed. -if(NOT CMAKE_INSTALL_COMPONENT) - if(COMPONENT) - message(STATUS "Install component: \"${COMPONENT}\"") - set(CMAKE_INSTALL_COMPONENT "${COMPONENT}") - else() - set(CMAKE_INSTALL_COMPONENT) - endif() -endif() - -# Is this installation the result of a crosscompile? -if(NOT DEFINED CMAKE_CROSSCOMPILING) - set(CMAKE_CROSSCOMPILING "TRUE") -endif() - -# Set default install directory permissions. -if(NOT DEFINED CMAKE_OBJDUMP) - set(CMAKE_OBJDUMP "/usr/bin/objdump") -endif() - diff --git a/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/zip_read_file_fuzzer.js b/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/zip_read_file_fuzzer.js deleted file mode 100644 index 31d8f54..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/zip_read_file_fuzzer.js +++ /dev/null @@ -1,4809 +0,0 @@ -// include: shell.js -// The Module object: Our interface to the outside world. We import -// and export values on it. There are various ways Module can be used: -// 1. Not defined. We create it here -// 2. A function parameter, function(moduleArg) => Promise -// 3. pre-run appended it, var Module = {}; ..generated code.. -// 4. External script tag defines var Module. -// We need to check if Module already exists (e.g. case 3 above). -// Substitution will be replaced with actual code on later stage of the build, -// this way Closure Compiler will not mangle it (e.g. case 4. above). -// Note that if you want to run closure, and also to use Module -// after the generated code, you will need to define var Module = {}; -// before the code. Then that object will be used in the code, and you -// can continue to use Module afterwards as well. -var Module = typeof Module != 'undefined' ? Module : {}; - -// Determine the runtime environment we are in. You can customize this by -// setting the ENVIRONMENT setting at compile time (see settings.js). - -// Attempt to auto-detect the environment -var ENVIRONMENT_IS_WEB = typeof window == 'object'; -var ENVIRONMENT_IS_WORKER = typeof WorkerGlobalScope != 'undefined'; -// N.b. Electron.js environment is simultaneously a NODE-environment, but -// also a web environment. -var ENVIRONMENT_IS_NODE = typeof process == 'object' && typeof process.versions == 'object' && typeof process.versions.node == 'string' && process.type != 'renderer'; -var ENVIRONMENT_IS_SHELL = !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_NODE && !ENVIRONMENT_IS_WORKER; - -if (ENVIRONMENT_IS_NODE) { - -} - -// --pre-jses are emitted after the Module integration code, so that they can -// refer to Module (if they choose; they can also define Module) - - -// Sometimes an existing Module object exists with properties -// meant to overwrite the default module functionality. Here -// we collect those properties and reapply _after_ we configure -// the current environment's defaults to avoid having to be so -// defensive during initialization. -var moduleOverrides = {...Module}; - -var arguments_ = []; -var thisProgram = './this.program'; -var quit_ = (status, toThrow) => { - throw toThrow; -}; - -// `/` should be present at the end if `scriptDirectory` is not empty -var scriptDirectory = ''; -function locateFile(path) { - if (Module['locateFile']) { - return Module['locateFile'](path, scriptDirectory); - } - return scriptDirectory + path; -} - -// Hooks that are implemented differently in different runtime environments. -var readAsync, readBinary; - -if (ENVIRONMENT_IS_NODE) { - if (typeof process == 'undefined' || !process.release || process.release.name !== 'node') throw new Error('not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)'); - - var nodeVersion = process.versions.node; - var numericVersion = nodeVersion.split('.').slice(0, 3); - numericVersion = (numericVersion[0] * 10000) + (numericVersion[1] * 100) + (numericVersion[2].split('-')[0] * 1); - var minVersion = 160000; - if (numericVersion < 160000) { - throw new Error('This emscripten-generated code requires node v16.0.0 (detected v' + nodeVersion + ')'); - } - - // These modules will usually be used on Node.js. Load them eagerly to avoid - // the complexity of lazy-loading. - var fs = require('fs'); - var nodePath = require('path'); - - scriptDirectory = __dirname + '/'; - -// include: node_shell_read.js -readBinary = (filename) => { - // We need to re-wrap `file://` strings to URLs. - filename = isFileURI(filename) ? new URL(filename) : filename; - var ret = fs.readFileSync(filename); - assert(Buffer.isBuffer(ret)); - return ret; -}; - -readAsync = async (filename, binary = true) => { - // See the comment in the `readBinary` function. - filename = isFileURI(filename) ? new URL(filename) : filename; - var ret = fs.readFileSync(filename, binary ? undefined : 'utf8'); - assert(binary ? Buffer.isBuffer(ret) : typeof ret == 'string'); - return ret; -}; -// end include: node_shell_read.js - if (!Module['thisProgram'] && process.argv.length > 1) { - thisProgram = process.argv[1].replace(/\\/g, '/'); - } - - arguments_ = process.argv.slice(2); - - if (typeof module != 'undefined') { - module['exports'] = Module; - } - - quit_ = (status, toThrow) => { - process.exitCode = status; - throw toThrow; - }; - -} else -if (ENVIRONMENT_IS_SHELL) { - - if ((typeof process == 'object' && typeof require === 'function') || typeof window == 'object' || typeof WorkerGlobalScope != 'undefined') throw new Error('not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)'); - -} else - -// Note that this includes Node.js workers when relevant (pthreads is enabled). -// Node.js workers are detected as a combination of ENVIRONMENT_IS_WORKER and -// ENVIRONMENT_IS_NODE. -if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) { - if (ENVIRONMENT_IS_WORKER) { // Check worker, not web, since window could be polyfilled - scriptDirectory = self.location.href; - } else if (typeof document != 'undefined' && document.currentScript) { // web - scriptDirectory = document.currentScript.src; - } - // blob urls look like blob:http://site.com/etc/etc and we cannot infer anything from them. - // otherwise, slice off the final part of the url to find the script directory. - // if scriptDirectory does not contain a slash, lastIndexOf will return -1, - // and scriptDirectory will correctly be replaced with an empty string. - // If scriptDirectory contains a query (starting with ?) or a fragment (starting with #), - // they are removed because they could contain a slash. - if (scriptDirectory.startsWith('blob:')) { - scriptDirectory = ''; - } else { - scriptDirectory = scriptDirectory.slice(0, scriptDirectory.replace(/[?#].*/, '').lastIndexOf('/')+1); - } - - if (!(typeof window == 'object' || typeof WorkerGlobalScope != 'undefined')) throw new Error('not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)'); - - { -// include: web_or_worker_shell_read.js -if (ENVIRONMENT_IS_WORKER) { - readBinary = (url) => { - var xhr = new XMLHttpRequest(); - xhr.open('GET', url, false); - xhr.responseType = 'arraybuffer'; - xhr.send(null); - return new Uint8Array(/** @type{!ArrayBuffer} */(xhr.response)); - }; - } - - readAsync = async (url) => { - // Fetch has some additional restrictions over XHR, like it can't be used on a file:// url. - // See https://github.com/github/fetch/pull/92#issuecomment-140665932 - // Cordova or Electron apps are typically loaded from a file:// url. - // So use XHR on webview if URL is a file URL. - if (isFileURI(url)) { - return new Promise((resolve, reject) => { - var xhr = new XMLHttpRequest(); - xhr.open('GET', url, true); - xhr.responseType = 'arraybuffer'; - xhr.onload = () => { - if (xhr.status == 200 || (xhr.status == 0 && xhr.response)) { // file URLs can return 0 - resolve(xhr.response); - return; - } - reject(xhr.status); - }; - xhr.onerror = reject; - xhr.send(null); - }); - } - var response = await fetch(url, { credentials: 'same-origin' }); - if (response.ok) { - return response.arrayBuffer(); - } - throw new Error(response.status + ' : ' + response.url); - }; -// end include: web_or_worker_shell_read.js - } -} else -{ - throw new Error('environment detection error'); -} - -var out = Module['print'] || console.log.bind(console); -var err = Module['printErr'] || console.error.bind(console); - -// Merge back in the overrides -Object.assign(Module, moduleOverrides); -// Free the object hierarchy contained in the overrides, this lets the GC -// reclaim data used. -moduleOverrides = null; -checkIncomingModuleAPI(); - -// Emit code to handle expected values on the Module object. This applies Module.x -// to the proper local x. This has two benefits: first, we only emit it if it is -// expected to arrive, and second, by using a local everywhere else that can be -// minified. - -if (Module['arguments']) arguments_ = Module['arguments'];legacyModuleProp('arguments', 'arguments_'); - -if (Module['thisProgram']) thisProgram = Module['thisProgram'];legacyModuleProp('thisProgram', 'thisProgram'); - -// perform assertions in shell.js after we set up out() and err(), as otherwise if an assertion fails it cannot print the message -// Assertions on removed incoming Module JS APIs. -assert(typeof Module['memoryInitializerPrefixURL'] == 'undefined', 'Module.memoryInitializerPrefixURL option was removed, use Module.locateFile instead'); -assert(typeof Module['pthreadMainPrefixURL'] == 'undefined', 'Module.pthreadMainPrefixURL option was removed, use Module.locateFile instead'); -assert(typeof Module['cdInitializerPrefixURL'] == 'undefined', 'Module.cdInitializerPrefixURL option was removed, use Module.locateFile instead'); -assert(typeof Module['filePackagePrefixURL'] == 'undefined', 'Module.filePackagePrefixURL option was removed, use Module.locateFile instead'); -assert(typeof Module['read'] == 'undefined', 'Module.read option was removed'); -assert(typeof Module['readAsync'] == 'undefined', 'Module.readAsync option was removed (modify readAsync in JS)'); -assert(typeof Module['readBinary'] == 'undefined', 'Module.readBinary option was removed (modify readBinary in JS)'); -assert(typeof Module['setWindowTitle'] == 'undefined', 'Module.setWindowTitle option was removed (modify emscripten_set_window_title in JS)'); -assert(typeof Module['TOTAL_MEMORY'] == 'undefined', 'Module.TOTAL_MEMORY has been renamed Module.INITIAL_MEMORY'); -legacyModuleProp('asm', 'wasmExports'); -legacyModuleProp('readAsync', 'readAsync'); -legacyModuleProp('readBinary', 'readBinary'); -legacyModuleProp('setWindowTitle', 'setWindowTitle'); -var IDBFS = 'IDBFS is no longer included by default; build with -lidbfs.js'; -var PROXYFS = 'PROXYFS is no longer included by default; build with -lproxyfs.js'; -var WORKERFS = 'WORKERFS is no longer included by default; build with -lworkerfs.js'; -var FETCHFS = 'FETCHFS is no longer included by default; build with -lfetchfs.js'; -var ICASEFS = 'ICASEFS is no longer included by default; build with -licasefs.js'; -var JSFILEFS = 'JSFILEFS is no longer included by default; build with -ljsfilefs.js'; -var OPFS = 'OPFS is no longer included by default; build with -lopfs.js'; - -var NODEFS = 'NODEFS is no longer included by default; build with -lnodefs.js'; - -assert(!ENVIRONMENT_IS_SHELL, 'shell environment detected but not enabled at build time. Add `shell` to `-sENVIRONMENT` to enable.'); - -// end include: shell.js - -// include: preamble.js -// === Preamble library stuff === - -// Documentation for the public APIs defined in this file must be updated in: -// site/source/docs/api_reference/preamble.js.rst -// A prebuilt local version of the documentation is available at: -// site/build/text/docs/api_reference/preamble.js.txt -// You can also build docs locally as HTML or other formats in site/ -// An online HTML version (which may be of a different version of Emscripten) -// is up at http://kripken.github.io/emscripten-site/docs/api_reference/preamble.js.html - -var wasmBinary = Module['wasmBinary'];legacyModuleProp('wasmBinary', 'wasmBinary'); - -if (typeof WebAssembly != 'object') { - err('no native wasm support detected'); -} - -// Wasm globals - -var wasmMemory; - -//======================================== -// Runtime essentials -//======================================== - -// whether we are quitting the application. no code should run after this. -// set in exit() and abort() -var ABORT = false; - -// set by exit() and abort(). Passed to 'onExit' handler. -// NOTE: This is also used as the process return code code in shell environments -// but only when noExitRuntime is false. -var EXITSTATUS; - -// In STRICT mode, we only define assert() when ASSERTIONS is set. i.e. we -// don't define it at all in release modes. This matches the behaviour of -// MINIMAL_RUNTIME. -// TODO(sbc): Make this the default even without STRICT enabled. -/** @type {function(*, string=)} */ -function assert(condition, text) { - if (!condition) { - abort('Assertion failed' + (text ? ': ' + text : '')); - } -} - -// We used to include malloc/free by default in the past. Show a helpful error in -// builds with assertions. -function _malloc() { - abort('malloc() called but not included in the build - add `_malloc` to EXPORTED_FUNCTIONS'); -} -function _free() { - // Show a helpful error since we used to include free by default in the past. - abort('free() called but not included in the build - add `_free` to EXPORTED_FUNCTIONS'); -} - -// Memory management - -var HEAP, -/** @type {!Int8Array} */ - HEAP8, -/** @type {!Uint8Array} */ - HEAPU8, -/** @type {!Int16Array} */ - HEAP16, -/** @type {!Uint16Array} */ - HEAPU16, -/** @type {!Int32Array} */ - HEAP32, -/** @type {!Uint32Array} */ - HEAPU32, -/** @type {!Float32Array} */ - HEAPF32, -/* BigInt64Array type is not correctly defined in closure -/** not-@type {!BigInt64Array} */ - HEAP64, -/* BigUint64Array type is not correctly defined in closure -/** not-t@type {!BigUint64Array} */ - HEAPU64, -/** @type {!Float64Array} */ - HEAPF64; - -var runtimeInitialized = false; - -/** - * Indicates whether filename is delivered via file protocol (as opposed to http/https) - * @noinline - */ -var isFileURI = (filename) => filename.startsWith('file://'); - -// include: runtime_shared.js -// include: runtime_stack_check.js -// Initializes the stack cookie. Called at the startup of main and at the startup of each thread in pthreads mode. -function writeStackCookie() { - var max = _emscripten_stack_get_end(); - assert((max & 3) == 0); - // If the stack ends at address zero we write our cookies 4 bytes into the - // stack. This prevents interference with SAFE_HEAP and ASAN which also - // monitor writes to address zero. - if (max == 0) { - max += 4; - } - // The stack grow downwards towards _emscripten_stack_get_end. - // We write cookies to the final two words in the stack and detect if they are - // ever overwritten. - HEAPU32[((max)>>2)] = 0x02135467; - HEAPU32[(((max)+(4))>>2)] = 0x89BACDFE; - // Also test the global address 0 for integrity. - HEAPU32[((0)>>2)] = 1668509029; -} - -function checkStackCookie() { - if (ABORT) return; - var max = _emscripten_stack_get_end(); - // See writeStackCookie(). - if (max == 0) { - max += 4; - } - var cookie1 = HEAPU32[((max)>>2)]; - var cookie2 = HEAPU32[(((max)+(4))>>2)]; - if (cookie1 != 0x02135467 || cookie2 != 0x89BACDFE) { - abort(`Stack overflow! Stack cookie has been overwritten at ${ptrToString(max)}, expected hex dwords 0x89BACDFE and 0x2135467, but received ${ptrToString(cookie2)} ${ptrToString(cookie1)}`); - } - // Also test the global address 0 for integrity. - if (HEAPU32[((0)>>2)] != 0x63736d65 /* 'emsc' */) { - abort('Runtime error: The application has corrupted its heap memory area (address zero)!'); - } -} -// end include: runtime_stack_check.js -// include: runtime_exceptions.js -// end include: runtime_exceptions.js -// include: runtime_debug.js -// Endianness check -(() => { - var h16 = new Int16Array(1); - var h8 = new Int8Array(h16.buffer); - h16[0] = 0x6373; - if (h8[0] !== 0x73 || h8[1] !== 0x63) throw 'Runtime error: expected the system to be little-endian! (Run with -sSUPPORT_BIG_ENDIAN to bypass)'; -})(); - -if (Module['ENVIRONMENT']) { - throw new Error('Module.ENVIRONMENT has been deprecated. To force the environment, use the ENVIRONMENT compile-time option (for example, -sENVIRONMENT=web or -sENVIRONMENT=node)'); -} - -function legacyModuleProp(prop, newName, incoming=true) { - if (!Object.getOwnPropertyDescriptor(Module, prop)) { - Object.defineProperty(Module, prop, { - configurable: true, - get() { - let extra = incoming ? ' (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)' : ''; - abort(`\`Module.${prop}\` has been replaced by \`${newName}\`` + extra); - - } - }); - } -} - -function consumedModuleProp(prop) { - if (!Object.getOwnPropertyDescriptor(Module, prop)) { - Object.defineProperty(Module, prop, { - configurable: true, - set() { - abort(`Attempt to set \`Module.${prop}\` after it has already been processed. This can happen, for example, when code is injected via '--post-js' rather than '--pre-js'`); - - } - }); - } -} - -function ignoredModuleProp(prop) { - if (Object.getOwnPropertyDescriptor(Module, prop)) { - abort(`\`Module.${prop}\` was supplied but \`${prop}\` not included in INCOMING_MODULE_JS_API`); - } -} - -// forcing the filesystem exports a few things by default -function isExportedByForceFilesystem(name) { - return name === 'FS_createPath' || - name === 'FS_createDataFile' || - name === 'FS_createPreloadedFile' || - name === 'FS_unlink' || - name === 'addRunDependency' || - // The old FS has some functionality that WasmFS lacks. - name === 'FS_createLazyFile' || - name === 'FS_createDevice' || - name === 'removeRunDependency'; -} - -/** - * Intercept access to a global symbol. This enables us to give informative - * warnings/errors when folks attempt to use symbols they did not include in - * their build, or no symbols that no longer exist. - */ -function hookGlobalSymbolAccess(sym, func) { - if (typeof globalThis != 'undefined' && !Object.getOwnPropertyDescriptor(globalThis, sym)) { - Object.defineProperty(globalThis, sym, { - configurable: true, - get() { - func(); - return undefined; - } - }); - } -} - -function missingGlobal(sym, msg) { - hookGlobalSymbolAccess(sym, () => { - warnOnce(`\`${sym}\` is not longer defined by emscripten. ${msg}`); - }); -} - -missingGlobal('buffer', 'Please use HEAP8.buffer or wasmMemory.buffer'); -missingGlobal('asm', 'Please use wasmExports instead'); - -function missingLibrarySymbol(sym) { - hookGlobalSymbolAccess(sym, () => { - // Can't `abort()` here because it would break code that does runtime - // checks. e.g. `if (typeof SDL === 'undefined')`. - var msg = `\`${sym}\` is a library symbol and not included by default; add it to your library.js __deps or to DEFAULT_LIBRARY_FUNCS_TO_INCLUDE on the command line`; - // DEFAULT_LIBRARY_FUNCS_TO_INCLUDE requires the name as it appears in - // library.js, which means $name for a JS name with no prefix, or name - // for a JS name like _name. - var librarySymbol = sym; - if (!librarySymbol.startsWith('_')) { - librarySymbol = '$' + sym; - } - msg += ` (e.g. -sDEFAULT_LIBRARY_FUNCS_TO_INCLUDE='${librarySymbol}')`; - if (isExportedByForceFilesystem(sym)) { - msg += '. Alternatively, forcing filesystem support (-sFORCE_FILESYSTEM) can export this for you'; - } - warnOnce(msg); - }); - - // Any symbol that is not included from the JS library is also (by definition) - // not exported on the Module object. - unexportedRuntimeSymbol(sym); -} - -function unexportedRuntimeSymbol(sym) { - if (!Object.getOwnPropertyDescriptor(Module, sym)) { - Object.defineProperty(Module, sym, { - configurable: true, - get() { - var msg = `'${sym}' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the Emscripten FAQ)`; - if (isExportedByForceFilesystem(sym)) { - msg += '. Alternatively, forcing filesystem support (-sFORCE_FILESYSTEM) can export this for you'; - } - abort(msg); - } - }); - } -} - -var runtimeDebug = true; // Switch to false at runtime to disable logging at the right times - -// Used by XXXXX_DEBUG settings to output debug messages. -function dbg(...args) { - if (!runtimeDebug && typeof runtimeDebug != 'undefined') return; - // TODO(sbc): Make this configurable somehow. Its not always convenient for - // logging to show up as warnings. - console.warn(...args); -} -// end include: runtime_debug.js -// include: memoryprofiler.js -// end include: memoryprofiler.js - - -function updateMemoryViews() { - var b = wasmMemory.buffer; - Module['HEAP8'] = HEAP8 = new Int8Array(b); - Module['HEAP16'] = HEAP16 = new Int16Array(b); - Module['HEAPU8'] = HEAPU8 = new Uint8Array(b); - Module['HEAPU16'] = HEAPU16 = new Uint16Array(b); - Module['HEAP32'] = HEAP32 = new Int32Array(b); - Module['HEAPU32'] = HEAPU32 = new Uint32Array(b); - Module['HEAPF32'] = HEAPF32 = new Float32Array(b); - Module['HEAPF64'] = HEAPF64 = new Float64Array(b); - Module['HEAP64'] = HEAP64 = new BigInt64Array(b); - Module['HEAPU64'] = HEAPU64 = new BigUint64Array(b); -} - -// end include: runtime_shared.js -assert(!Module['STACK_SIZE'], 'STACK_SIZE can no longer be set at runtime. Use -sSTACK_SIZE at link time') - -assert(typeof Int32Array != 'undefined' && typeof Float64Array !== 'undefined' && Int32Array.prototype.subarray != undefined && Int32Array.prototype.set != undefined, - 'JS engine does not provide full typed array support'); - -// If memory is defined in wasm, the user can't provide it, or set INITIAL_MEMORY -assert(!Module['wasmMemory'], 'Use of `wasmMemory` detected. Use -sIMPORTED_MEMORY to define wasmMemory externally'); -assert(!Module['INITIAL_MEMORY'], 'Detected runtime INITIAL_MEMORY setting. Use -sIMPORTED_MEMORY to define wasmMemory dynamically'); - -function preRun() { - if (Module['preRun']) { - if (typeof Module['preRun'] == 'function') Module['preRun'] = [Module['preRun']]; - while (Module['preRun'].length) { - addOnPreRun(Module['preRun'].shift()); - } - } - consumedModuleProp('preRun'); - callRuntimeCallbacks(onPreRuns); -} - -function initRuntime() { - assert(!runtimeInitialized); - runtimeInitialized = true; - - checkStackCookie(); - - if (!Module['noFSInit'] && !FS.initialized) FS.init(); -TTY.init(); - - wasmExports['__wasm_call_ctors'](); - - FS.ignorePermissions = false; -} - -function preMain() { - checkStackCookie(); - -} - -function postRun() { - checkStackCookie(); - - if (Module['postRun']) { - if (typeof Module['postRun'] == 'function') Module['postRun'] = [Module['postRun']]; - while (Module['postRun'].length) { - addOnPostRun(Module['postRun'].shift()); - } - } - consumedModuleProp('postRun'); - - callRuntimeCallbacks(onPostRuns); -} - -// A counter of dependencies for calling run(). If we need to -// do asynchronous work before running, increment this and -// decrement it. Incrementing must happen in a place like -// Module.preRun (used by emcc to add file preloading). -// Note that you can add dependencies in preRun, even though -// it happens right before run - run will be postponed until -// the dependencies are met. -var runDependencies = 0; -var dependenciesFulfilled = null; // overridden to take different actions when all run dependencies are fulfilled -var runDependencyTracking = {}; -var runDependencyWatcher = null; - -function getUniqueRunDependency(id) { - var orig = id; - while (1) { - if (!runDependencyTracking[id]) return id; - id = orig + Math.random(); - } -} - -function addRunDependency(id) { - runDependencies++; - - Module['monitorRunDependencies']?.(runDependencies); - - if (id) { - assert(!runDependencyTracking[id]); - runDependencyTracking[id] = 1; - if (runDependencyWatcher === null && typeof setInterval != 'undefined') { - // Check for missing dependencies every few seconds - runDependencyWatcher = setInterval(() => { - if (ABORT) { - clearInterval(runDependencyWatcher); - runDependencyWatcher = null; - return; - } - var shown = false; - for (var dep in runDependencyTracking) { - if (!shown) { - shown = true; - err('still waiting on run dependencies:'); - } - err(`dependency: ${dep}`); - } - if (shown) { - err('(end of list)'); - } - }, 10000); - } - } else { - err('warning: run dependency added without ID'); - } -} - -function removeRunDependency(id) { - runDependencies--; - - Module['monitorRunDependencies']?.(runDependencies); - - if (id) { - assert(runDependencyTracking[id]); - delete runDependencyTracking[id]; - } else { - err('warning: run dependency removed without ID'); - } - if (runDependencies == 0) { - if (runDependencyWatcher !== null) { - clearInterval(runDependencyWatcher); - runDependencyWatcher = null; - } - if (dependenciesFulfilled) { - var callback = dependenciesFulfilled; - dependenciesFulfilled = null; - callback(); // can add another dependenciesFulfilled - } - } -} - -/** @param {string|number=} what */ -function abort(what) { - Module['onAbort']?.(what); - - what = 'Aborted(' + what + ')'; - // TODO(sbc): Should we remove printing and leave it up to whoever - // catches the exception? - err(what); - - ABORT = true; - - // Use a wasm runtime error, because a JS error might be seen as a foreign - // exception, which means we'd run destructors on it. We need the error to - // simply make the program stop. - // FIXME This approach does not work in Wasm EH because it currently does not assume - // all RuntimeErrors are from traps; it decides whether a RuntimeError is from - // a trap or not based on a hidden field within the object. So at the moment - // we don't have a way of throwing a wasm trap from JS. TODO Make a JS API that - // allows this in the wasm spec. - - // Suppress closure compiler warning here. Closure compiler's builtin extern - // definition for WebAssembly.RuntimeError claims it takes no arguments even - // though it can. - // TODO(https://github.com/google/closure-compiler/pull/3913): Remove if/when upstream closure gets fixed. - /** @suppress {checkTypes} */ - var e = new WebAssembly.RuntimeError(what); - - // Throw the error whether or not MODULARIZE is set because abort is used - // in code paths apart from instantiation where an exception is expected - // to be thrown when abort is called. - throw e; -} - -function createExportWrapper(name, nargs) { - return (...args) => { - assert(runtimeInitialized, `native function \`${name}\` called before runtime initialization`); - var f = wasmExports[name]; - assert(f, `exported native function \`${name}\` not found`); - // Only assert for too many arguments. Too few can be valid since the missing arguments will be zero filled. - assert(args.length <= nargs, `native function \`${name}\` called with ${args.length} args but expects ${nargs}`); - return f(...args); - }; -} - -var wasmBinaryFile; - -function findWasmBinary() { - return locateFile('zip_read_file_fuzzer.wasm'); -} - -function getBinarySync(file) { - if (file == wasmBinaryFile && wasmBinary) { - return new Uint8Array(wasmBinary); - } - if (readBinary) { - return readBinary(file); - } - throw 'both async and sync fetching of the wasm failed'; -} - -async function getWasmBinary(binaryFile) { - // If we don't have the binary yet, load it asynchronously using readAsync. - if (!wasmBinary) { - // Fetch the binary using readAsync - try { - var response = await readAsync(binaryFile); - return new Uint8Array(response); - } catch { - // Fall back to getBinarySync below; - } - } - - // Otherwise, getBinarySync should be able to get it synchronously - return getBinarySync(binaryFile); -} - -async function instantiateArrayBuffer(binaryFile, imports) { - try { - var binary = await getWasmBinary(binaryFile); - var instance = await WebAssembly.instantiate(binary, imports); - return instance; - } catch (reason) { - err(`failed to asynchronously prepare wasm: ${reason}`); - - // Warn on some common problems. - if (isFileURI(wasmBinaryFile)) { - err(`warning: Loading from a file URI (${wasmBinaryFile}) is not supported in most browsers. See https://emscripten.org/docs/getting_started/FAQ.html#how-do-i-run-a-local-webserver-for-testing-why-does-my-program-stall-in-downloading-or-preparing`); - } - abort(reason); - } -} - -async function instantiateAsync(binary, binaryFile, imports) { - if (!binary && typeof WebAssembly.instantiateStreaming == 'function' - // Don't use streaming for file:// delivered objects in a webview, fetch them synchronously. - && !isFileURI(binaryFile) - // Avoid instantiateStreaming() on Node.js environment for now, as while - // Node.js v18.1.0 implements it, it does not have a full fetch() - // implementation yet. - // - // Reference: - // https://github.com/emscripten-core/emscripten/pull/16917 - && !ENVIRONMENT_IS_NODE - ) { - try { - var response = fetch(binaryFile, { credentials: 'same-origin' }); - var instantiationResult = await WebAssembly.instantiateStreaming(response, imports); - return instantiationResult; - } catch (reason) { - // We expect the most common failure cause to be a bad MIME type for the binary, - // in which case falling back to ArrayBuffer instantiation should work. - err(`wasm streaming compile failed: ${reason}`); - err('falling back to ArrayBuffer instantiation'); - // fall back of instantiateArrayBuffer below - }; - } - return instantiateArrayBuffer(binaryFile, imports); -} - -function getWasmImports() { - // prepare imports - return { - 'env': wasmImports, - 'wasi_snapshot_preview1': wasmImports, - } -} - -// Create the wasm instance. -// Receives the wasm imports, returns the exports. -async function createWasm() { - // Load the wasm module and create an instance of using native support in the JS engine. - // handle a generated wasm instance, receiving its exports and - // performing other necessary setup - /** @param {WebAssembly.Module=} module*/ - function receiveInstance(instance, module) { - wasmExports = instance.exports; - - - - wasmMemory = wasmExports['memory']; - - assert(wasmMemory, 'memory not found in wasm exports'); - updateMemoryViews(); - - removeRunDependency('wasm-instantiate'); - return wasmExports; - } - // wait for the pthread pool (if any) - addRunDependency('wasm-instantiate'); - - // Prefer streaming instantiation if available. - // Async compilation can be confusing when an error on the page overwrites Module - // (for example, if the order of elements is wrong, and the one defining Module is - // later), so we save Module and check it later. - var trueModule = Module; - function receiveInstantiationResult(result) { - // 'result' is a ResultObject object which has both the module and instance. - // receiveInstance() will swap in the exports (to Module.asm) so they can be called - assert(Module === trueModule, 'the Module object should not be replaced during async compilation - perhaps the order of HTML elements is wrong?'); - trueModule = null; - // TODO: Due to Closure regression https://github.com/google/closure-compiler/issues/3193, the above line no longer optimizes out down to the following line. - // When the regression is fixed, can restore the above PTHREADS-enabled path. - return receiveInstance(result['instance']); - } - - var info = getWasmImports(); - - // User shell pages can write their own Module.instantiateWasm = function(imports, successCallback) callback - // to manually instantiate the Wasm module themselves. This allows pages to - // run the instantiation parallel to any other async startup actions they are - // performing. - // Also pthreads and wasm workers initialize the wasm instance through this - // path. - if (Module['instantiateWasm']) { - return new Promise((resolve, reject) => { - try { - Module['instantiateWasm'](info, (mod, inst) => { - receiveInstance(mod, inst); - resolve(mod.exports); - }); - } catch(e) { - err(`Module.instantiateWasm callback failed with error: ${e}`); - reject(e); - } - }); - } - - wasmBinaryFile ??= findWasmBinary(); - var result = await instantiateAsync(wasmBinary, wasmBinaryFile, info); - var exports = receiveInstantiationResult(result); - return exports; -} - -// end include: preamble.js - -// Begin JS library code - - - class ExitStatus { - name = 'ExitStatus'; - constructor(status) { - this.message = `Program terminated with exit(${status})`; - this.status = status; - } - } - - var callRuntimeCallbacks = (callbacks) => { - while (callbacks.length > 0) { - // Pass the module as the first argument. - callbacks.shift()(Module); - } - }; - var onPostRuns = []; - var addOnPostRun = (cb) => onPostRuns.unshift(cb); - - var onPreRuns = []; - var addOnPreRun = (cb) => onPreRuns.unshift(cb); - - - - /** - * @param {number} ptr - * @param {string} type - */ - function getValue(ptr, type = 'i8') { - if (type.endsWith('*')) type = '*'; - switch (type) { - case 'i1': return HEAP8[ptr]; - case 'i8': return HEAP8[ptr]; - case 'i16': return HEAP16[((ptr)>>1)]; - case 'i32': return HEAP32[((ptr)>>2)]; - case 'i64': return HEAP64[((ptr)>>3)]; - case 'float': return HEAPF32[((ptr)>>2)]; - case 'double': return HEAPF64[((ptr)>>3)]; - case '*': return HEAPU32[((ptr)>>2)]; - default: abort(`invalid type for getValue: ${type}`); - } - } - - var noExitRuntime = Module['noExitRuntime'] || true; - - var ptrToString = (ptr) => { - assert(typeof ptr === 'number'); - // With CAN_ADDRESS_2GB or MEMORY64, pointers are already unsigned. - ptr >>>= 0; - return '0x' + ptr.toString(16).padStart(8, '0'); - }; - - - /** - * @param {number} ptr - * @param {number} value - * @param {string} type - */ - function setValue(ptr, value, type = 'i8') { - if (type.endsWith('*')) type = '*'; - switch (type) { - case 'i1': HEAP8[ptr] = value; break; - case 'i8': HEAP8[ptr] = value; break; - case 'i16': HEAP16[((ptr)>>1)] = value; break; - case 'i32': HEAP32[((ptr)>>2)] = value; break; - case 'i64': HEAP64[((ptr)>>3)] = BigInt(value); break; - case 'float': HEAPF32[((ptr)>>2)] = value; break; - case 'double': HEAPF64[((ptr)>>3)] = value; break; - case '*': HEAPU32[((ptr)>>2)] = value; break; - default: abort(`invalid type for setValue: ${type}`); - } - } - - var stackRestore = (val) => __emscripten_stack_restore(val); - - var stackSave = () => _emscripten_stack_get_current(); - - var warnOnce = (text) => { - warnOnce.shown ||= {}; - if (!warnOnce.shown[text]) { - warnOnce.shown[text] = 1; - if (ENVIRONMENT_IS_NODE) text = 'warning: ' + text; - err(text); - } - }; - - var PATH = { - isAbs:(path) => path.charAt(0) === '/', - splitPath:(filename) => { - var splitPathRe = /^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/; - return splitPathRe.exec(filename).slice(1); - }, - normalizeArray:(parts, allowAboveRoot) => { - // if the path tries to go above the root, `up` ends up > 0 - var up = 0; - for (var i = parts.length - 1; i >= 0; i--) { - var last = parts[i]; - if (last === '.') { - parts.splice(i, 1); - } else if (last === '..') { - parts.splice(i, 1); - up++; - } else if (up) { - parts.splice(i, 1); - up--; - } - } - // if the path is allowed to go above the root, restore leading ..s - if (allowAboveRoot) { - for (; up; up--) { - parts.unshift('..'); - } - } - return parts; - }, - normalize:(path) => { - var isAbsolute = PATH.isAbs(path), - trailingSlash = path.slice(-1) === '/'; - // Normalize the path - path = PATH.normalizeArray(path.split('/').filter((p) => !!p), !isAbsolute).join('/'); - if (!path && !isAbsolute) { - path = '.'; - } - if (path && trailingSlash) { - path += '/'; - } - return (isAbsolute ? '/' : '') + path; - }, - dirname:(path) => { - var result = PATH.splitPath(path), - root = result[0], - dir = result[1]; - if (!root && !dir) { - // No dirname whatsoever - return '.'; - } - if (dir) { - // It has a dirname, strip trailing slash - dir = dir.slice(0, -1); - } - return root + dir; - }, - basename:(path) => path && path.match(/([^\/]+|\/)\/*$/)[1], - join:(...paths) => PATH.normalize(paths.join('/')), - join2:(l, r) => PATH.normalize(l + '/' + r), - }; - - var initRandomFill = () => { - // This block is not needed on v19+ since crypto.getRandomValues is builtin - if (ENVIRONMENT_IS_NODE) { - var nodeCrypto = require('crypto'); - return (view) => nodeCrypto.randomFillSync(view); - } - - return (view) => crypto.getRandomValues(view); - }; - var randomFill = (view) => { - // Lazily init on the first invocation. - (randomFill = initRandomFill())(view); - }; - - - - var PATH_FS = { - resolve:(...args) => { - var resolvedPath = '', - resolvedAbsolute = false; - for (var i = args.length - 1; i >= -1 && !resolvedAbsolute; i--) { - var path = (i >= 0) ? args[i] : FS.cwd(); - // Skip empty and invalid entries - if (typeof path != 'string') { - throw new TypeError('Arguments to path.resolve must be strings'); - } else if (!path) { - return ''; // an invalid portion invalidates the whole thing - } - resolvedPath = path + '/' + resolvedPath; - resolvedAbsolute = PATH.isAbs(path); - } - // At this point the path should be resolved to a full absolute path, but - // handle relative paths to be safe (might happen when process.cwd() fails) - resolvedPath = PATH.normalizeArray(resolvedPath.split('/').filter((p) => !!p), !resolvedAbsolute).join('/'); - return ((resolvedAbsolute ? '/' : '') + resolvedPath) || '.'; - }, - relative:(from, to) => { - from = PATH_FS.resolve(from).slice(1); - to = PATH_FS.resolve(to).slice(1); - function trim(arr) { - var start = 0; - for (; start < arr.length; start++) { - if (arr[start] !== '') break; - } - var end = arr.length - 1; - for (; end >= 0; end--) { - if (arr[end] !== '') break; - } - if (start > end) return []; - return arr.slice(start, end - start + 1); - } - var fromParts = trim(from.split('/')); - var toParts = trim(to.split('/')); - var length = Math.min(fromParts.length, toParts.length); - var samePartsLength = length; - for (var i = 0; i < length; i++) { - if (fromParts[i] !== toParts[i]) { - samePartsLength = i; - break; - } - } - var outputParts = []; - for (var i = samePartsLength; i < fromParts.length; i++) { - outputParts.push('..'); - } - outputParts = outputParts.concat(toParts.slice(samePartsLength)); - return outputParts.join('/'); - }, - }; - - - var UTF8Decoder = typeof TextDecoder != 'undefined' ? new TextDecoder() : undefined; - - /** - * Given a pointer 'idx' to a null-terminated UTF8-encoded string in the given - * array that contains uint8 values, returns a copy of that string as a - * Javascript String object. - * heapOrArray is either a regular array, or a JavaScript typed array view. - * @param {number=} idx - * @param {number=} maxBytesToRead - * @return {string} - */ - var UTF8ArrayToString = (heapOrArray, idx = 0, maxBytesToRead = NaN) => { - var endIdx = idx + maxBytesToRead; - var endPtr = idx; - // TextDecoder needs to know the byte length in advance, it doesn't stop on - // null terminator by itself. Also, use the length info to avoid running tiny - // strings through TextDecoder, since .subarray() allocates garbage. - // (As a tiny code save trick, compare endPtr against endIdx using a negation, - // so that undefined/NaN means Infinity) - while (heapOrArray[endPtr] && !(endPtr >= endIdx)) ++endPtr; - - if (endPtr - idx > 16 && heapOrArray.buffer && UTF8Decoder) { - return UTF8Decoder.decode(heapOrArray.subarray(idx, endPtr)); - } - var str = ''; - // If building with TextDecoder, we have already computed the string length - // above, so test loop end condition against that - while (idx < endPtr) { - // For UTF8 byte structure, see: - // http://en.wikipedia.org/wiki/UTF-8#Description - // https://www.ietf.org/rfc/rfc2279.txt - // https://tools.ietf.org/html/rfc3629 - var u0 = heapOrArray[idx++]; - if (!(u0 & 0x80)) { str += String.fromCharCode(u0); continue; } - var u1 = heapOrArray[idx++] & 63; - if ((u0 & 0xE0) == 0xC0) { str += String.fromCharCode(((u0 & 31) << 6) | u1); continue; } - var u2 = heapOrArray[idx++] & 63; - if ((u0 & 0xF0) == 0xE0) { - u0 = ((u0 & 15) << 12) | (u1 << 6) | u2; - } else { - if ((u0 & 0xF8) != 0xF0) warnOnce('Invalid UTF-8 leading byte ' + ptrToString(u0) + ' encountered when deserializing a UTF-8 string in wasm memory to a JS string!'); - u0 = ((u0 & 7) << 18) | (u1 << 12) | (u2 << 6) | (heapOrArray[idx++] & 63); - } - - if (u0 < 0x10000) { - str += String.fromCharCode(u0); - } else { - var ch = u0 - 0x10000; - str += String.fromCharCode(0xD800 | (ch >> 10), 0xDC00 | (ch & 0x3FF)); - } - } - return str; - }; - - var FS_stdin_getChar_buffer = []; - - var lengthBytesUTF8 = (str) => { - var len = 0; - for (var i = 0; i < str.length; ++i) { - // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code - // unit, not a Unicode code point of the character! So decode - // UTF16->UTF32->UTF8. - // See http://unicode.org/faq/utf_bom.html#utf16-3 - var c = str.charCodeAt(i); // possibly a lead surrogate - if (c <= 0x7F) { - len++; - } else if (c <= 0x7FF) { - len += 2; - } else if (c >= 0xD800 && c <= 0xDFFF) { - len += 4; ++i; - } else { - len += 3; - } - } - return len; - }; - - var stringToUTF8Array = (str, heap, outIdx, maxBytesToWrite) => { - assert(typeof str === 'string', `stringToUTF8Array expects a string (got ${typeof str})`); - // Parameter maxBytesToWrite is not optional. Negative values, 0, null, - // undefined and false each don't write out any bytes. - if (!(maxBytesToWrite > 0)) - return 0; - - var startIdx = outIdx; - var endIdx = outIdx + maxBytesToWrite - 1; // -1 for string null terminator. - for (var i = 0; i < str.length; ++i) { - // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code - // unit, not a Unicode code point of the character! So decode - // UTF16->UTF32->UTF8. - // See http://unicode.org/faq/utf_bom.html#utf16-3 - // For UTF8 byte structure, see http://en.wikipedia.org/wiki/UTF-8#Description - // and https://www.ietf.org/rfc/rfc2279.txt - // and https://tools.ietf.org/html/rfc3629 - var u = str.charCodeAt(i); // possibly a lead surrogate - if (u >= 0xD800 && u <= 0xDFFF) { - var u1 = str.charCodeAt(++i); - u = 0x10000 + ((u & 0x3FF) << 10) | (u1 & 0x3FF); - } - if (u <= 0x7F) { - if (outIdx >= endIdx) break; - heap[outIdx++] = u; - } else if (u <= 0x7FF) { - if (outIdx + 1 >= endIdx) break; - heap[outIdx++] = 0xC0 | (u >> 6); - heap[outIdx++] = 0x80 | (u & 63); - } else if (u <= 0xFFFF) { - if (outIdx + 2 >= endIdx) break; - heap[outIdx++] = 0xE0 | (u >> 12); - heap[outIdx++] = 0x80 | ((u >> 6) & 63); - heap[outIdx++] = 0x80 | (u & 63); - } else { - if (outIdx + 3 >= endIdx) break; - if (u > 0x10FFFF) warnOnce('Invalid Unicode code point ' + ptrToString(u) + ' encountered when serializing a JS string to a UTF-8 string in wasm memory! (Valid unicode code points should be in range 0-0x10FFFF).'); - heap[outIdx++] = 0xF0 | (u >> 18); - heap[outIdx++] = 0x80 | ((u >> 12) & 63); - heap[outIdx++] = 0x80 | ((u >> 6) & 63); - heap[outIdx++] = 0x80 | (u & 63); - } - } - // Null-terminate the pointer to the buffer. - heap[outIdx] = 0; - return outIdx - startIdx; - }; - /** @type {function(string, boolean=, number=)} */ - var intArrayFromString = (stringy, dontAddNull, length) => { - var len = length > 0 ? length : lengthBytesUTF8(stringy)+1; - var u8array = new Array(len); - var numBytesWritten = stringToUTF8Array(stringy, u8array, 0, u8array.length); - if (dontAddNull) u8array.length = numBytesWritten; - return u8array; - }; - var FS_stdin_getChar = () => { - if (!FS_stdin_getChar_buffer.length) { - var result = null; - if (ENVIRONMENT_IS_NODE) { - // we will read data by chunks of BUFSIZE - var BUFSIZE = 256; - var buf = Buffer.alloc(BUFSIZE); - var bytesRead = 0; - - // For some reason we must suppress a closure warning here, even though - // fd definitely exists on process.stdin, and is even the proper way to - // get the fd of stdin, - // https://github.com/nodejs/help/issues/2136#issuecomment-523649904 - // This started to happen after moving this logic out of library_tty.js, - // so it is related to the surrounding code in some unclear manner. - /** @suppress {missingProperties} */ - var fd = process.stdin.fd; - - try { - bytesRead = fs.readSync(fd, buf, 0, BUFSIZE); - } catch(e) { - // Cross-platform differences: on Windows, reading EOF throws an - // exception, but on other OSes, reading EOF returns 0. Uniformize - // behavior by treating the EOF exception to return 0. - if (e.toString().includes('EOF')) bytesRead = 0; - else throw e; - } - - if (bytesRead > 0) { - result = buf.slice(0, bytesRead).toString('utf-8'); - } - } else - if (typeof window != 'undefined' && - typeof window.prompt == 'function') { - // Browser. - result = window.prompt('Input: '); // returns null on cancel - if (result !== null) { - result += '\n'; - } - } else - {} - if (!result) { - return null; - } - FS_stdin_getChar_buffer = intArrayFromString(result, true); - } - return FS_stdin_getChar_buffer.shift(); - }; - var TTY = { - ttys:[], - init() { - // https://github.com/emscripten-core/emscripten/pull/1555 - // if (ENVIRONMENT_IS_NODE) { - // // currently, FS.init does not distinguish if process.stdin is a file or TTY - // // device, it always assumes it's a TTY device. because of this, we're forcing - // // process.stdin to UTF8 encoding to at least make stdin reading compatible - // // with text files until FS.init can be refactored. - // process.stdin.setEncoding('utf8'); - // } - }, - shutdown() { - // https://github.com/emscripten-core/emscripten/pull/1555 - // if (ENVIRONMENT_IS_NODE) { - // // inolen: any idea as to why node -e 'process.stdin.read()' wouldn't exit immediately (with process.stdin being a tty)? - // // isaacs: because now it's reading from the stream, you've expressed interest in it, so that read() kicks off a _read() which creates a ReadReq operation - // // inolen: I thought read() in that case was a synchronous operation that just grabbed some amount of buffered data if it exists? - // // isaacs: it is. but it also triggers a _read() call, which calls readStart() on the handle - // // isaacs: do process.stdin.pause() and i'd think it'd probably close the pending call - // process.stdin.pause(); - // } - }, - register(dev, ops) { - TTY.ttys[dev] = { input: [], output: [], ops: ops }; - FS.registerDevice(dev, TTY.stream_ops); - }, - stream_ops:{ - open(stream) { - var tty = TTY.ttys[stream.node.rdev]; - if (!tty) { - throw new FS.ErrnoError(43); - } - stream.tty = tty; - stream.seekable = false; - }, - close(stream) { - // flush any pending line data - stream.tty.ops.fsync(stream.tty); - }, - fsync(stream) { - stream.tty.ops.fsync(stream.tty); - }, - read(stream, buffer, offset, length, pos /* ignored */) { - if (!stream.tty || !stream.tty.ops.get_char) { - throw new FS.ErrnoError(60); - } - var bytesRead = 0; - for (var i = 0; i < length; i++) { - var result; - try { - result = stream.tty.ops.get_char(stream.tty); - } catch (e) { - throw new FS.ErrnoError(29); - } - if (result === undefined && bytesRead === 0) { - throw new FS.ErrnoError(6); - } - if (result === null || result === undefined) break; - bytesRead++; - buffer[offset+i] = result; - } - if (bytesRead) { - stream.node.atime = Date.now(); - } - return bytesRead; - }, - write(stream, buffer, offset, length, pos) { - if (!stream.tty || !stream.tty.ops.put_char) { - throw new FS.ErrnoError(60); - } - try { - for (var i = 0; i < length; i++) { - stream.tty.ops.put_char(stream.tty, buffer[offset+i]); - } - } catch (e) { - throw new FS.ErrnoError(29); - } - if (length) { - stream.node.mtime = stream.node.ctime = Date.now(); - } - return i; - }, - }, - default_tty_ops:{ - get_char(tty) { - return FS_stdin_getChar(); - }, - put_char(tty, val) { - if (val === null || val === 10) { - out(UTF8ArrayToString(tty.output)); - tty.output = []; - } else { - if (val != 0) tty.output.push(val); // val == 0 would cut text output off in the middle. - } - }, - fsync(tty) { - if (tty.output?.length > 0) { - out(UTF8ArrayToString(tty.output)); - tty.output = []; - } - }, - ioctl_tcgets(tty) { - // typical setting - return { - c_iflag: 25856, - c_oflag: 5, - c_cflag: 191, - c_lflag: 35387, - c_cc: [ - 0x03, 0x1c, 0x7f, 0x15, 0x04, 0x00, 0x01, 0x00, 0x11, 0x13, 0x1a, 0x00, - 0x12, 0x0f, 0x17, 0x16, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - ] - }; - }, - ioctl_tcsets(tty, optional_actions, data) { - // currently just ignore - return 0; - }, - ioctl_tiocgwinsz(tty) { - return [24, 80]; - }, - }, - default_tty1_ops:{ - put_char(tty, val) { - if (val === null || val === 10) { - err(UTF8ArrayToString(tty.output)); - tty.output = []; - } else { - if (val != 0) tty.output.push(val); - } - }, - fsync(tty) { - if (tty.output?.length > 0) { - err(UTF8ArrayToString(tty.output)); - tty.output = []; - } - }, - }, - }; - - - var mmapAlloc = (size) => { - abort('internal error: mmapAlloc called but `emscripten_builtin_memalign` native symbol not exported'); - }; - var MEMFS = { - ops_table:null, - mount(mount) { - return MEMFS.createNode(null, '/', 16895, 0); - }, - createNode(parent, name, mode, dev) { - if (FS.isBlkdev(mode) || FS.isFIFO(mode)) { - // no supported - throw new FS.ErrnoError(63); - } - MEMFS.ops_table ||= { - dir: { - node: { - getattr: MEMFS.node_ops.getattr, - setattr: MEMFS.node_ops.setattr, - lookup: MEMFS.node_ops.lookup, - mknod: MEMFS.node_ops.mknod, - rename: MEMFS.node_ops.rename, - unlink: MEMFS.node_ops.unlink, - rmdir: MEMFS.node_ops.rmdir, - readdir: MEMFS.node_ops.readdir, - symlink: MEMFS.node_ops.symlink - }, - stream: { - llseek: MEMFS.stream_ops.llseek - } - }, - file: { - node: { - getattr: MEMFS.node_ops.getattr, - setattr: MEMFS.node_ops.setattr - }, - stream: { - llseek: MEMFS.stream_ops.llseek, - read: MEMFS.stream_ops.read, - write: MEMFS.stream_ops.write, - mmap: MEMFS.stream_ops.mmap, - msync: MEMFS.stream_ops.msync - } - }, - link: { - node: { - getattr: MEMFS.node_ops.getattr, - setattr: MEMFS.node_ops.setattr, - readlink: MEMFS.node_ops.readlink - }, - stream: {} - }, - chrdev: { - node: { - getattr: MEMFS.node_ops.getattr, - setattr: MEMFS.node_ops.setattr - }, - stream: FS.chrdev_stream_ops - } - }; - var node = FS.createNode(parent, name, mode, dev); - if (FS.isDir(node.mode)) { - node.node_ops = MEMFS.ops_table.dir.node; - node.stream_ops = MEMFS.ops_table.dir.stream; - node.contents = {}; - } else if (FS.isFile(node.mode)) { - node.node_ops = MEMFS.ops_table.file.node; - node.stream_ops = MEMFS.ops_table.file.stream; - node.usedBytes = 0; // The actual number of bytes used in the typed array, as opposed to contents.length which gives the whole capacity. - // When the byte data of the file is populated, this will point to either a typed array, or a normal JS array. Typed arrays are preferred - // for performance, and used by default. However, typed arrays are not resizable like normal JS arrays are, so there is a small disk size - // penalty involved for appending file writes that continuously grow a file similar to std::vector capacity vs used -scheme. - node.contents = null; - } else if (FS.isLink(node.mode)) { - node.node_ops = MEMFS.ops_table.link.node; - node.stream_ops = MEMFS.ops_table.link.stream; - } else if (FS.isChrdev(node.mode)) { - node.node_ops = MEMFS.ops_table.chrdev.node; - node.stream_ops = MEMFS.ops_table.chrdev.stream; - } - node.atime = node.mtime = node.ctime = Date.now(); - // add the new node to the parent - if (parent) { - parent.contents[name] = node; - parent.atime = parent.mtime = parent.ctime = node.atime; - } - return node; - }, - getFileDataAsTypedArray(node) { - if (!node.contents) return new Uint8Array(0); - if (node.contents.subarray) return node.contents.subarray(0, node.usedBytes); // Make sure to not return excess unused bytes. - return new Uint8Array(node.contents); - }, - expandFileStorage(node, newCapacity) { - var prevCapacity = node.contents ? node.contents.length : 0; - if (prevCapacity >= newCapacity) return; // No need to expand, the storage was already large enough. - // Don't expand strictly to the given requested limit if it's only a very small increase, but instead geometrically grow capacity. - // For small filesizes (<1MB), perform size*2 geometric increase, but for large sizes, do a much more conservative size*1.125 increase to - // avoid overshooting the allocation cap by a very large margin. - var CAPACITY_DOUBLING_MAX = 1024 * 1024; - newCapacity = Math.max(newCapacity, (prevCapacity * (prevCapacity < CAPACITY_DOUBLING_MAX ? 2.0 : 1.125)) >>> 0); - if (prevCapacity != 0) newCapacity = Math.max(newCapacity, 256); // At minimum allocate 256b for each file when expanding. - var oldContents = node.contents; - node.contents = new Uint8Array(newCapacity); // Allocate new storage. - if (node.usedBytes > 0) node.contents.set(oldContents.subarray(0, node.usedBytes), 0); // Copy old data over to the new storage. - }, - resizeFileStorage(node, newSize) { - if (node.usedBytes == newSize) return; - if (newSize == 0) { - node.contents = null; // Fully decommit when requesting a resize to zero. - node.usedBytes = 0; - } else { - var oldContents = node.contents; - node.contents = new Uint8Array(newSize); // Allocate new storage. - if (oldContents) { - node.contents.set(oldContents.subarray(0, Math.min(newSize, node.usedBytes))); // Copy old data over to the new storage. - } - node.usedBytes = newSize; - } - }, - node_ops:{ - getattr(node) { - var attr = {}; - // device numbers reuse inode numbers. - attr.dev = FS.isChrdev(node.mode) ? node.id : 1; - attr.ino = node.id; - attr.mode = node.mode; - attr.nlink = 1; - attr.uid = 0; - attr.gid = 0; - attr.rdev = node.rdev; - if (FS.isDir(node.mode)) { - attr.size = 4096; - } else if (FS.isFile(node.mode)) { - attr.size = node.usedBytes; - } else if (FS.isLink(node.mode)) { - attr.size = node.link.length; - } else { - attr.size = 0; - } - attr.atime = new Date(node.atime); - attr.mtime = new Date(node.mtime); - attr.ctime = new Date(node.ctime); - // NOTE: In our implementation, st_blocks = Math.ceil(st_size/st_blksize), - // but this is not required by the standard. - attr.blksize = 4096; - attr.blocks = Math.ceil(attr.size / attr.blksize); - return attr; - }, - setattr(node, attr) { - for (const key of ["mode", "atime", "mtime", "ctime"]) { - if (attr[key] != null) { - node[key] = attr[key]; - } - } - if (attr.size !== undefined) { - MEMFS.resizeFileStorage(node, attr.size); - } - }, - lookup(parent, name) { - throw new FS.ErrnoError(44); - }, - mknod(parent, name, mode, dev) { - return MEMFS.createNode(parent, name, mode, dev); - }, - rename(old_node, new_dir, new_name) { - var new_node; - try { - new_node = FS.lookupNode(new_dir, new_name); - } catch (e) {} - if (new_node) { - if (FS.isDir(old_node.mode)) { - // if we're overwriting a directory at new_name, make sure it's empty. - for (var i in new_node.contents) { - throw new FS.ErrnoError(55); - } - } - FS.hashRemoveNode(new_node); - } - // do the internal rewiring - delete old_node.parent.contents[old_node.name]; - new_dir.contents[new_name] = old_node; - old_node.name = new_name; - new_dir.ctime = new_dir.mtime = old_node.parent.ctime = old_node.parent.mtime = Date.now(); - }, - unlink(parent, name) { - delete parent.contents[name]; - parent.ctime = parent.mtime = Date.now(); - }, - rmdir(parent, name) { - var node = FS.lookupNode(parent, name); - for (var i in node.contents) { - throw new FS.ErrnoError(55); - } - delete parent.contents[name]; - parent.ctime = parent.mtime = Date.now(); - }, - readdir(node) { - return ['.', '..', ...Object.keys(node.contents)]; - }, - symlink(parent, newname, oldpath) { - var node = MEMFS.createNode(parent, newname, 0o777 | 40960, 0); - node.link = oldpath; - return node; - }, - readlink(node) { - if (!FS.isLink(node.mode)) { - throw new FS.ErrnoError(28); - } - return node.link; - }, - }, - stream_ops:{ - read(stream, buffer, offset, length, position) { - var contents = stream.node.contents; - if (position >= stream.node.usedBytes) return 0; - var size = Math.min(stream.node.usedBytes - position, length); - assert(size >= 0); - if (size > 8 && contents.subarray) { // non-trivial, and typed array - buffer.set(contents.subarray(position, position + size), offset); - } else { - for (var i = 0; i < size; i++) buffer[offset + i] = contents[position + i]; - } - return size; - }, - write(stream, buffer, offset, length, position, canOwn) { - // The data buffer should be a typed array view - assert(!(buffer instanceof ArrayBuffer)); - - if (!length) return 0; - var node = stream.node; - node.mtime = node.ctime = Date.now(); - - if (buffer.subarray && (!node.contents || node.contents.subarray)) { // This write is from a typed array to a typed array? - if (canOwn) { - assert(position === 0, 'canOwn must imply no weird position inside the file'); - node.contents = buffer.subarray(offset, offset + length); - node.usedBytes = length; - return length; - } else if (node.usedBytes === 0 && position === 0) { // If this is a simple first write to an empty file, do a fast set since we don't need to care about old data. - node.contents = buffer.slice(offset, offset + length); - node.usedBytes = length; - return length; - } else if (position + length <= node.usedBytes) { // Writing to an already allocated and used subrange of the file? - node.contents.set(buffer.subarray(offset, offset + length), position); - return length; - } - } - - // Appending to an existing file and we need to reallocate, or source data did not come as a typed array. - MEMFS.expandFileStorage(node, position+length); - if (node.contents.subarray && buffer.subarray) { - // Use typed array write which is available. - node.contents.set(buffer.subarray(offset, offset + length), position); - } else { - for (var i = 0; i < length; i++) { - node.contents[position + i] = buffer[offset + i]; // Or fall back to manual write if not. - } - } - node.usedBytes = Math.max(node.usedBytes, position + length); - return length; - }, - llseek(stream, offset, whence) { - var position = offset; - if (whence === 1) { - position += stream.position; - } else if (whence === 2) { - if (FS.isFile(stream.node.mode)) { - position += stream.node.usedBytes; - } - } - if (position < 0) { - throw new FS.ErrnoError(28); - } - return position; - }, - mmap(stream, length, position, prot, flags) { - if (!FS.isFile(stream.node.mode)) { - throw new FS.ErrnoError(43); - } - var ptr; - var allocated; - var contents = stream.node.contents; - // Only make a new copy when MAP_PRIVATE is specified. - if (!(flags & 2) && contents && contents.buffer === HEAP8.buffer) { - // We can't emulate MAP_SHARED when the file is not backed by the - // buffer we're mapping to (e.g. the HEAP buffer). - allocated = false; - ptr = contents.byteOffset; - } else { - allocated = true; - ptr = mmapAlloc(length); - if (!ptr) { - throw new FS.ErrnoError(48); - } - if (contents) { - // Try to avoid unnecessary slices. - if (position > 0 || position + length < contents.length) { - if (contents.subarray) { - contents = contents.subarray(position, position + length); - } else { - contents = Array.prototype.slice.call(contents, position, position + length); - } - } - HEAP8.set(contents, ptr); - } - } - return { ptr, allocated }; - }, - msync(stream, buffer, offset, length, mmapFlags) { - MEMFS.stream_ops.write(stream, buffer, 0, length, offset, false); - // should we check if bytesWritten and length are the same? - return 0; - }, - }, - }; - - var asyncLoad = async (url) => { - var arrayBuffer = await readAsync(url); - assert(arrayBuffer, `Loading data file "${url}" failed (no arrayBuffer).`); - return new Uint8Array(arrayBuffer); - }; - - - var FS_createDataFile = (parent, name, fileData, canRead, canWrite, canOwn) => { - FS.createDataFile(parent, name, fileData, canRead, canWrite, canOwn); - }; - - var preloadPlugins = Module['preloadPlugins'] || []; - var FS_handledByPreloadPlugin = (byteArray, fullname, finish, onerror) => { - // Ensure plugins are ready. - if (typeof Browser != 'undefined') Browser.init(); - - var handled = false; - preloadPlugins.forEach((plugin) => { - if (handled) return; - if (plugin['canHandle'](fullname)) { - plugin['handle'](byteArray, fullname, finish, onerror); - handled = true; - } - }); - return handled; - }; - var FS_createPreloadedFile = (parent, name, url, canRead, canWrite, onload, onerror, dontCreateFile, canOwn, preFinish) => { - // TODO we should allow people to just pass in a complete filename instead - // of parent and name being that we just join them anyways - var fullname = name ? PATH_FS.resolve(PATH.join2(parent, name)) : parent; - var dep = getUniqueRunDependency(`cp ${fullname}`); // might have several active requests for the same fullname - function processData(byteArray) { - function finish(byteArray) { - preFinish?.(); - if (!dontCreateFile) { - FS_createDataFile(parent, name, byteArray, canRead, canWrite, canOwn); - } - onload?.(); - removeRunDependency(dep); - } - if (FS_handledByPreloadPlugin(byteArray, fullname, finish, () => { - onerror?.(); - removeRunDependency(dep); - })) { - return; - } - finish(byteArray); - } - addRunDependency(dep); - if (typeof url == 'string') { - asyncLoad(url).then(processData, onerror); - } else { - processData(url); - } - }; - - var FS_modeStringToFlags = (str) => { - var flagModes = { - 'r': 0, - 'r+': 2, - 'w': 512 | 64 | 1, - 'w+': 512 | 64 | 2, - 'a': 1024 | 64 | 1, - 'a+': 1024 | 64 | 2, - }; - var flags = flagModes[str]; - if (typeof flags == 'undefined') { - throw new Error(`Unknown file open mode: ${str}`); - } - return flags; - }; - - var FS_getMode = (canRead, canWrite) => { - var mode = 0; - if (canRead) mode |= 292 | 73; - if (canWrite) mode |= 146; - return mode; - }; - - - - - - - /** - * Given a pointer 'ptr' to a null-terminated UTF8-encoded string in the - * emscripten HEAP, returns a copy of that string as a Javascript String object. - * - * @param {number} ptr - * @param {number=} maxBytesToRead - An optional length that specifies the - * maximum number of bytes to read. You can omit this parameter to scan the - * string until the first 0 byte. If maxBytesToRead is passed, and the string - * at [ptr, ptr+maxBytesToReadr[ contains a null byte in the middle, then the - * string will cut short at that byte index (i.e. maxBytesToRead will not - * produce a string of exact length [ptr, ptr+maxBytesToRead[) N.B. mixing - * frequent uses of UTF8ToString() with and without maxBytesToRead may throw - * JS JIT optimizations off, so it is worth to consider consistently using one - * @return {string} - */ - var UTF8ToString = (ptr, maxBytesToRead) => { - assert(typeof ptr == 'number', `UTF8ToString expects a number (got ${typeof ptr})`); - return ptr ? UTF8ArrayToString(HEAPU8, ptr, maxBytesToRead) : ''; - }; - - var strError = (errno) => UTF8ToString(_strerror(errno)); - - var ERRNO_CODES = { - 'EPERM': 63, - 'ENOENT': 44, - 'ESRCH': 71, - 'EINTR': 27, - 'EIO': 29, - 'ENXIO': 60, - 'E2BIG': 1, - 'ENOEXEC': 45, - 'EBADF': 8, - 'ECHILD': 12, - 'EAGAIN': 6, - 'EWOULDBLOCK': 6, - 'ENOMEM': 48, - 'EACCES': 2, - 'EFAULT': 21, - 'ENOTBLK': 105, - 'EBUSY': 10, - 'EEXIST': 20, - 'EXDEV': 75, - 'ENODEV': 43, - 'ENOTDIR': 54, - 'EISDIR': 31, - 'EINVAL': 28, - 'ENFILE': 41, - 'EMFILE': 33, - 'ENOTTY': 59, - 'ETXTBSY': 74, - 'EFBIG': 22, - 'ENOSPC': 51, - 'ESPIPE': 70, - 'EROFS': 69, - 'EMLINK': 34, - 'EPIPE': 64, - 'EDOM': 18, - 'ERANGE': 68, - 'ENOMSG': 49, - 'EIDRM': 24, - 'ECHRNG': 106, - 'EL2NSYNC': 156, - 'EL3HLT': 107, - 'EL3RST': 108, - 'ELNRNG': 109, - 'EUNATCH': 110, - 'ENOCSI': 111, - 'EL2HLT': 112, - 'EDEADLK': 16, - 'ENOLCK': 46, - 'EBADE': 113, - 'EBADR': 114, - 'EXFULL': 115, - 'ENOANO': 104, - 'EBADRQC': 103, - 'EBADSLT': 102, - 'EDEADLOCK': 16, - 'EBFONT': 101, - 'ENOSTR': 100, - 'ENODATA': 116, - 'ETIME': 117, - 'ENOSR': 118, - 'ENONET': 119, - 'ENOPKG': 120, - 'EREMOTE': 121, - 'ENOLINK': 47, - 'EADV': 122, - 'ESRMNT': 123, - 'ECOMM': 124, - 'EPROTO': 65, - 'EMULTIHOP': 36, - 'EDOTDOT': 125, - 'EBADMSG': 9, - 'ENOTUNIQ': 126, - 'EBADFD': 127, - 'EREMCHG': 128, - 'ELIBACC': 129, - 'ELIBBAD': 130, - 'ELIBSCN': 131, - 'ELIBMAX': 132, - 'ELIBEXEC': 133, - 'ENOSYS': 52, - 'ENOTEMPTY': 55, - 'ENAMETOOLONG': 37, - 'ELOOP': 32, - 'EOPNOTSUPP': 138, - 'EPFNOSUPPORT': 139, - 'ECONNRESET': 15, - 'ENOBUFS': 42, - 'EAFNOSUPPORT': 5, - 'EPROTOTYPE': 67, - 'ENOTSOCK': 57, - 'ENOPROTOOPT': 50, - 'ESHUTDOWN': 140, - 'ECONNREFUSED': 14, - 'EADDRINUSE': 3, - 'ECONNABORTED': 13, - 'ENETUNREACH': 40, - 'ENETDOWN': 38, - 'ETIMEDOUT': 73, - 'EHOSTDOWN': 142, - 'EHOSTUNREACH': 23, - 'EINPROGRESS': 26, - 'EALREADY': 7, - 'EDESTADDRREQ': 17, - 'EMSGSIZE': 35, - 'EPROTONOSUPPORT': 66, - 'ESOCKTNOSUPPORT': 137, - 'EADDRNOTAVAIL': 4, - 'ENETRESET': 39, - 'EISCONN': 30, - 'ENOTCONN': 53, - 'ETOOMANYREFS': 141, - 'EUSERS': 136, - 'EDQUOT': 19, - 'ESTALE': 72, - 'ENOTSUP': 138, - 'ENOMEDIUM': 148, - 'EILSEQ': 25, - 'EOVERFLOW': 61, - 'ECANCELED': 11, - 'ENOTRECOVERABLE': 56, - 'EOWNERDEAD': 62, - 'ESTRPIPE': 135, - }; - var FS = { - root:null, - mounts:[], - devices:{ - }, - streams:[], - nextInode:1, - nameTable:null, - currentPath:"/", - initialized:false, - ignorePermissions:true, - filesystems:null, - syncFSRequests:0, - readFiles:{ - }, - ErrnoError:class extends Error { - name = 'ErrnoError'; - // We set the `name` property to be able to identify `FS.ErrnoError` - // - the `name` is a standard ECMA-262 property of error objects. Kind of good to have it anyway. - // - when using PROXYFS, an error can come from an underlying FS - // as different FS objects have their own FS.ErrnoError each, - // the test `err instanceof FS.ErrnoError` won't detect an error coming from another filesystem, causing bugs. - // we'll use the reliable test `err.name == "ErrnoError"` instead - constructor(errno) { - super(runtimeInitialized ? strError(errno) : ''); - this.errno = errno; - for (var key in ERRNO_CODES) { - if (ERRNO_CODES[key] === errno) { - this.code = key; - break; - } - } - } - }, - FSStream:class { - shared = {}; - get object() { - return this.node; - } - set object(val) { - this.node = val; - } - get isRead() { - return (this.flags & 2097155) !== 1; - } - get isWrite() { - return (this.flags & 2097155) !== 0; - } - get isAppend() { - return (this.flags & 1024); - } - get flags() { - return this.shared.flags; - } - set flags(val) { - this.shared.flags = val; - } - get position() { - return this.shared.position; - } - set position(val) { - this.shared.position = val; - } - }, - FSNode:class { - node_ops = {}; - stream_ops = {}; - readMode = 292 | 73; - writeMode = 146; - mounted = null; - constructor(parent, name, mode, rdev) { - if (!parent) { - parent = this; // root node sets parent to itself - } - this.parent = parent; - this.mount = parent.mount; - this.id = FS.nextInode++; - this.name = name; - this.mode = mode; - this.rdev = rdev; - this.atime = this.mtime = this.ctime = Date.now(); - } - get read() { - return (this.mode & this.readMode) === this.readMode; - } - set read(val) { - val ? this.mode |= this.readMode : this.mode &= ~this.readMode; - } - get write() { - return (this.mode & this.writeMode) === this.writeMode; - } - set write(val) { - val ? this.mode |= this.writeMode : this.mode &= ~this.writeMode; - } - get isFolder() { - return FS.isDir(this.mode); - } - get isDevice() { - return FS.isChrdev(this.mode); - } - }, - lookupPath(path, opts = {}) { - if (!path) { - throw new FS.ErrnoError(44); - } - opts.follow_mount ??= true - - if (!PATH.isAbs(path)) { - path = FS.cwd() + '/' + path; - } - - // limit max consecutive symlinks to 40 (SYMLOOP_MAX). - linkloop: for (var nlinks = 0; nlinks < 40; nlinks++) { - // split the absolute path - var parts = path.split('/').filter((p) => !!p); - - // start at the root - var current = FS.root; - var current_path = '/'; - - for (var i = 0; i < parts.length; i++) { - var islast = (i === parts.length-1); - if (islast && opts.parent) { - // stop resolving - break; - } - - if (parts[i] === '.') { - continue; - } - - if (parts[i] === '..') { - current_path = PATH.dirname(current_path); - current = current.parent; - continue; - } - - current_path = PATH.join2(current_path, parts[i]); - try { - current = FS.lookupNode(current, parts[i]); - } catch (e) { - // if noent_okay is true, suppress a ENOENT in the last component - // and return an object with an undefined node. This is needed for - // resolving symlinks in the path when creating a file. - if ((e?.errno === 44) && islast && opts.noent_okay) { - return { path: current_path }; - } - throw e; - } - - // jump to the mount's root node if this is a mountpoint - if (FS.isMountpoint(current) && (!islast || opts.follow_mount)) { - current = current.mounted.root; - } - - // by default, lookupPath will not follow a symlink if it is the final path component. - // setting opts.follow = true will override this behavior. - if (FS.isLink(current.mode) && (!islast || opts.follow)) { - if (!current.node_ops.readlink) { - throw new FS.ErrnoError(52); - } - var link = current.node_ops.readlink(current); - if (!PATH.isAbs(link)) { - link = PATH.dirname(current_path) + '/' + link; - } - path = link + '/' + parts.slice(i + 1).join('/'); - continue linkloop; - } - } - return { path: current_path, node: current }; - } - throw new FS.ErrnoError(32); - }, - getPath(node) { - var path; - while (true) { - if (FS.isRoot(node)) { - var mount = node.mount.mountpoint; - if (!path) return mount; - return mount[mount.length-1] !== '/' ? `${mount}/${path}` : mount + path; - } - path = path ? `${node.name}/${path}` : node.name; - node = node.parent; - } - }, - hashName(parentid, name) { - var hash = 0; - - for (var i = 0; i < name.length; i++) { - hash = ((hash << 5) - hash + name.charCodeAt(i)) | 0; - } - return ((parentid + hash) >>> 0) % FS.nameTable.length; - }, - hashAddNode(node) { - var hash = FS.hashName(node.parent.id, node.name); - node.name_next = FS.nameTable[hash]; - FS.nameTable[hash] = node; - }, - hashRemoveNode(node) { - var hash = FS.hashName(node.parent.id, node.name); - if (FS.nameTable[hash] === node) { - FS.nameTable[hash] = node.name_next; - } else { - var current = FS.nameTable[hash]; - while (current) { - if (current.name_next === node) { - current.name_next = node.name_next; - break; - } - current = current.name_next; - } - } - }, - lookupNode(parent, name) { - var errCode = FS.mayLookup(parent); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - var hash = FS.hashName(parent.id, name); - for (var node = FS.nameTable[hash]; node; node = node.name_next) { - var nodeName = node.name; - if (node.parent.id === parent.id && nodeName === name) { - return node; - } - } - // if we failed to find it in the cache, call into the VFS - return FS.lookup(parent, name); - }, - createNode(parent, name, mode, rdev) { - assert(typeof parent == 'object') - var node = new FS.FSNode(parent, name, mode, rdev); - - FS.hashAddNode(node); - - return node; - }, - destroyNode(node) { - FS.hashRemoveNode(node); - }, - isRoot(node) { - return node === node.parent; - }, - isMountpoint(node) { - return !!node.mounted; - }, - isFile(mode) { - return (mode & 61440) === 32768; - }, - isDir(mode) { - return (mode & 61440) === 16384; - }, - isLink(mode) { - return (mode & 61440) === 40960; - }, - isChrdev(mode) { - return (mode & 61440) === 8192; - }, - isBlkdev(mode) { - return (mode & 61440) === 24576; - }, - isFIFO(mode) { - return (mode & 61440) === 4096; - }, - isSocket(mode) { - return (mode & 49152) === 49152; - }, - flagsToPermissionString(flag) { - var perms = ['r', 'w', 'rw'][flag & 3]; - if ((flag & 512)) { - perms += 'w'; - } - return perms; - }, - nodePermissions(node, perms) { - if (FS.ignorePermissions) { - return 0; - } - // return 0 if any user, group or owner bits are set. - if (perms.includes('r') && !(node.mode & 292)) { - return 2; - } else if (perms.includes('w') && !(node.mode & 146)) { - return 2; - } else if (perms.includes('x') && !(node.mode & 73)) { - return 2; - } - return 0; - }, - mayLookup(dir) { - if (!FS.isDir(dir.mode)) return 54; - var errCode = FS.nodePermissions(dir, 'x'); - if (errCode) return errCode; - if (!dir.node_ops.lookup) return 2; - return 0; - }, - mayCreate(dir, name) { - if (!FS.isDir(dir.mode)) { - return 54; - } - try { - var node = FS.lookupNode(dir, name); - return 20; - } catch (e) { - } - return FS.nodePermissions(dir, 'wx'); - }, - mayDelete(dir, name, isdir) { - var node; - try { - node = FS.lookupNode(dir, name); - } catch (e) { - return e.errno; - } - var errCode = FS.nodePermissions(dir, 'wx'); - if (errCode) { - return errCode; - } - if (isdir) { - if (!FS.isDir(node.mode)) { - return 54; - } - if (FS.isRoot(node) || FS.getPath(node) === FS.cwd()) { - return 10; - } - } else { - if (FS.isDir(node.mode)) { - return 31; - } - } - return 0; - }, - mayOpen(node, flags) { - if (!node) { - return 44; - } - if (FS.isLink(node.mode)) { - return 32; - } else if (FS.isDir(node.mode)) { - if (FS.flagsToPermissionString(flags) !== 'r' // opening for write - || (flags & (512 | 64))) { // TODO: check for O_SEARCH? (== search for dir only) - return 31; - } - } - return FS.nodePermissions(node, FS.flagsToPermissionString(flags)); - }, - checkOpExists(op, err) { - if (!op) { - throw new FS.ErrnoError(err); - } - return op; - }, - MAX_OPEN_FDS:4096, - nextfd() { - for (var fd = 0; fd <= FS.MAX_OPEN_FDS; fd++) { - if (!FS.streams[fd]) { - return fd; - } - } - throw new FS.ErrnoError(33); - }, - getStreamChecked(fd) { - var stream = FS.getStream(fd); - if (!stream) { - throw new FS.ErrnoError(8); - } - return stream; - }, - getStream:(fd) => FS.streams[fd], - createStream(stream, fd = -1) { - assert(fd >= -1); - - // clone it, so we can return an instance of FSStream - stream = Object.assign(new FS.FSStream(), stream); - if (fd == -1) { - fd = FS.nextfd(); - } - stream.fd = fd; - FS.streams[fd] = stream; - return stream; - }, - closeStream(fd) { - FS.streams[fd] = null; - }, - dupStream(origStream, fd = -1) { - var stream = FS.createStream(origStream, fd); - stream.stream_ops?.dup?.(stream); - return stream; - }, - doSetAttr(stream, node, attr) { - var setattr = stream?.stream_ops.setattr; - var arg = setattr ? stream : node; - setattr ??= node.node_ops.setattr; - FS.checkOpExists(setattr, 63) - setattr(arg, attr); - }, - chrdev_stream_ops:{ - open(stream) { - var device = FS.getDevice(stream.node.rdev); - // override node's stream ops with the device's - stream.stream_ops = device.stream_ops; - // forward the open call - stream.stream_ops.open?.(stream); - }, - llseek() { - throw new FS.ErrnoError(70); - }, - }, - major:(dev) => ((dev) >> 8), - minor:(dev) => ((dev) & 0xff), - makedev:(ma, mi) => ((ma) << 8 | (mi)), - registerDevice(dev, ops) { - FS.devices[dev] = { stream_ops: ops }; - }, - getDevice:(dev) => FS.devices[dev], - getMounts(mount) { - var mounts = []; - var check = [mount]; - - while (check.length) { - var m = check.pop(); - - mounts.push(m); - - check.push(...m.mounts); - } - - return mounts; - }, - syncfs(populate, callback) { - if (typeof populate == 'function') { - callback = populate; - populate = false; - } - - FS.syncFSRequests++; - - if (FS.syncFSRequests > 1) { - err(`warning: ${FS.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`); - } - - var mounts = FS.getMounts(FS.root.mount); - var completed = 0; - - function doCallback(errCode) { - assert(FS.syncFSRequests > 0); - FS.syncFSRequests--; - return callback(errCode); - } - - function done(errCode) { - if (errCode) { - if (!done.errored) { - done.errored = true; - return doCallback(errCode); - } - return; - } - if (++completed >= mounts.length) { - doCallback(null); - } - }; - - // sync all mounts - mounts.forEach((mount) => { - if (!mount.type.syncfs) { - return done(null); - } - mount.type.syncfs(mount, populate, done); - }); - }, - mount(type, opts, mountpoint) { - if (typeof type == 'string') { - // The filesystem was not included, and instead we have an error - // message stored in the variable. - throw type; - } - var root = mountpoint === '/'; - var pseudo = !mountpoint; - var node; - - if (root && FS.root) { - throw new FS.ErrnoError(10); - } else if (!root && !pseudo) { - var lookup = FS.lookupPath(mountpoint, { follow_mount: false }); - - mountpoint = lookup.path; // use the absolute path - node = lookup.node; - - if (FS.isMountpoint(node)) { - throw new FS.ErrnoError(10); - } - - if (!FS.isDir(node.mode)) { - throw new FS.ErrnoError(54); - } - } - - var mount = { - type, - opts, - mountpoint, - mounts: [] - }; - - // create a root node for the fs - var mountRoot = type.mount(mount); - mountRoot.mount = mount; - mount.root = mountRoot; - - if (root) { - FS.root = mountRoot; - } else if (node) { - // set as a mountpoint - node.mounted = mount; - - // add the new mount to the current mount's children - if (node.mount) { - node.mount.mounts.push(mount); - } - } - - return mountRoot; - }, - unmount(mountpoint) { - var lookup = FS.lookupPath(mountpoint, { follow_mount: false }); - - if (!FS.isMountpoint(lookup.node)) { - throw new FS.ErrnoError(28); - } - - // destroy the nodes for this mount, and all its child mounts - var node = lookup.node; - var mount = node.mounted; - var mounts = FS.getMounts(mount); - - Object.keys(FS.nameTable).forEach((hash) => { - var current = FS.nameTable[hash]; - - while (current) { - var next = current.name_next; - - if (mounts.includes(current.mount)) { - FS.destroyNode(current); - } - - current = next; - } - }); - - // no longer a mountpoint - node.mounted = null; - - // remove this mount from the child mounts - var idx = node.mount.mounts.indexOf(mount); - assert(idx !== -1); - node.mount.mounts.splice(idx, 1); - }, - lookup(parent, name) { - return parent.node_ops.lookup(parent, name); - }, - mknod(path, mode, dev) { - var lookup = FS.lookupPath(path, { parent: true }); - var parent = lookup.node; - var name = PATH.basename(path); - if (!name) { - throw new FS.ErrnoError(28); - } - if (name === '.' || name === '..') { - throw new FS.ErrnoError(20); - } - var errCode = FS.mayCreate(parent, name); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - if (!parent.node_ops.mknod) { - throw new FS.ErrnoError(63); - } - return parent.node_ops.mknod(parent, name, mode, dev); - }, - statfs(path) { - return FS.statfsNode(FS.lookupPath(path, {follow: true}).node); - }, - statfsStream(stream) { - // We keep a separate statfsStream function because noderawfs overrides - // it. In noderawfs, stream.node is sometimes null. Instead, we need to - // look at stream.path. - return FS.statfsNode(stream.node); - }, - statfsNode(node) { - // NOTE: None of the defaults here are true. We're just returning safe and - // sane values. Currently nodefs and rawfs replace these defaults, - // other file systems leave them alone. - var rtn = { - bsize: 4096, - frsize: 4096, - blocks: 1e6, - bfree: 5e5, - bavail: 5e5, - files: FS.nextInode, - ffree: FS.nextInode - 1, - fsid: 42, - flags: 2, - namelen: 255, - }; - - if (node.node_ops.statfs) { - Object.assign(rtn, node.node_ops.statfs(node.mount.opts.root)); - } - return rtn; - }, - create(path, mode = 0o666) { - mode &= 4095; - mode |= 32768; - return FS.mknod(path, mode, 0); - }, - mkdir(path, mode = 0o777) { - mode &= 511 | 512; - mode |= 16384; - return FS.mknod(path, mode, 0); - }, - mkdirTree(path, mode) { - var dirs = path.split('/'); - var d = ''; - for (var dir of dirs) { - if (!dir) continue; - if (d || PATH.isAbs(path)) d += '/'; - d += dir; - try { - FS.mkdir(d, mode); - } catch(e) { - if (e.errno != 20) throw e; - } - } - }, - mkdev(path, mode, dev) { - if (typeof dev == 'undefined') { - dev = mode; - mode = 0o666; - } - mode |= 8192; - return FS.mknod(path, mode, dev); - }, - symlink(oldpath, newpath) { - if (!PATH_FS.resolve(oldpath)) { - throw new FS.ErrnoError(44); - } - var lookup = FS.lookupPath(newpath, { parent: true }); - var parent = lookup.node; - if (!parent) { - throw new FS.ErrnoError(44); - } - var newname = PATH.basename(newpath); - var errCode = FS.mayCreate(parent, newname); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - if (!parent.node_ops.symlink) { - throw new FS.ErrnoError(63); - } - return parent.node_ops.symlink(parent, newname, oldpath); - }, - rename(old_path, new_path) { - var old_dirname = PATH.dirname(old_path); - var new_dirname = PATH.dirname(new_path); - var old_name = PATH.basename(old_path); - var new_name = PATH.basename(new_path); - // parents must exist - var lookup, old_dir, new_dir; - - // let the errors from non existent directories percolate up - lookup = FS.lookupPath(old_path, { parent: true }); - old_dir = lookup.node; - lookup = FS.lookupPath(new_path, { parent: true }); - new_dir = lookup.node; - - if (!old_dir || !new_dir) throw new FS.ErrnoError(44); - // need to be part of the same mount - if (old_dir.mount !== new_dir.mount) { - throw new FS.ErrnoError(75); - } - // source must exist - var old_node = FS.lookupNode(old_dir, old_name); - // old path should not be an ancestor of the new path - var relative = PATH_FS.relative(old_path, new_dirname); - if (relative.charAt(0) !== '.') { - throw new FS.ErrnoError(28); - } - // new path should not be an ancestor of the old path - relative = PATH_FS.relative(new_path, old_dirname); - if (relative.charAt(0) !== '.') { - throw new FS.ErrnoError(55); - } - // see if the new path already exists - var new_node; - try { - new_node = FS.lookupNode(new_dir, new_name); - } catch (e) { - // not fatal - } - // early out if nothing needs to change - if (old_node === new_node) { - return; - } - // we'll need to delete the old entry - var isdir = FS.isDir(old_node.mode); - var errCode = FS.mayDelete(old_dir, old_name, isdir); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - // need delete permissions if we'll be overwriting. - // need create permissions if new doesn't already exist. - errCode = new_node ? - FS.mayDelete(new_dir, new_name, isdir) : - FS.mayCreate(new_dir, new_name); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - if (!old_dir.node_ops.rename) { - throw new FS.ErrnoError(63); - } - if (FS.isMountpoint(old_node) || (new_node && FS.isMountpoint(new_node))) { - throw new FS.ErrnoError(10); - } - // if we are going to change the parent, check write permissions - if (new_dir !== old_dir) { - errCode = FS.nodePermissions(old_dir, 'w'); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - } - // remove the node from the lookup hash - FS.hashRemoveNode(old_node); - // do the underlying fs rename - try { - old_dir.node_ops.rename(old_node, new_dir, new_name); - // update old node (we do this here to avoid each backend - // needing to) - old_node.parent = new_dir; - } catch (e) { - throw e; - } finally { - // add the node back to the hash (in case node_ops.rename - // changed its name) - FS.hashAddNode(old_node); - } - }, - rmdir(path) { - var lookup = FS.lookupPath(path, { parent: true }); - var parent = lookup.node; - var name = PATH.basename(path); - var node = FS.lookupNode(parent, name); - var errCode = FS.mayDelete(parent, name, true); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - if (!parent.node_ops.rmdir) { - throw new FS.ErrnoError(63); - } - if (FS.isMountpoint(node)) { - throw new FS.ErrnoError(10); - } - parent.node_ops.rmdir(parent, name); - FS.destroyNode(node); - }, - readdir(path) { - var lookup = FS.lookupPath(path, { follow: true }); - var node = lookup.node; - var readdir = FS.checkOpExists(node.node_ops.readdir, 54); - return readdir(node); - }, - unlink(path) { - var lookup = FS.lookupPath(path, { parent: true }); - var parent = lookup.node; - if (!parent) { - throw new FS.ErrnoError(44); - } - var name = PATH.basename(path); - var node = FS.lookupNode(parent, name); - var errCode = FS.mayDelete(parent, name, false); - if (errCode) { - // According to POSIX, we should map EISDIR to EPERM, but - // we instead do what Linux does (and we must, as we use - // the musl linux libc). - throw new FS.ErrnoError(errCode); - } - if (!parent.node_ops.unlink) { - throw new FS.ErrnoError(63); - } - if (FS.isMountpoint(node)) { - throw new FS.ErrnoError(10); - } - parent.node_ops.unlink(parent, name); - FS.destroyNode(node); - }, - readlink(path) { - var lookup = FS.lookupPath(path); - var link = lookup.node; - if (!link) { - throw new FS.ErrnoError(44); - } - if (!link.node_ops.readlink) { - throw new FS.ErrnoError(28); - } - return link.node_ops.readlink(link); - }, - stat(path, dontFollow) { - var lookup = FS.lookupPath(path, { follow: !dontFollow }); - var node = lookup.node; - var getattr = FS.checkOpExists(node.node_ops.getattr, 63); - return getattr(node); - }, - fstat(fd) { - var stream = FS.getStreamChecked(fd); - var node = stream.node; - var getattr = stream.stream_ops.getattr; - var arg = getattr ? stream : node; - getattr ??= node.node_ops.getattr; - FS.checkOpExists(getattr, 63) - return getattr(arg); - }, - lstat(path) { - return FS.stat(path, true); - }, - doChmod(stream, node, mode, dontFollow) { - FS.doSetAttr(stream, node, { - mode: (mode & 4095) | (node.mode & ~4095), - ctime: Date.now(), - dontFollow - }); - }, - chmod(path, mode, dontFollow) { - var node; - if (typeof path == 'string') { - var lookup = FS.lookupPath(path, { follow: !dontFollow }); - node = lookup.node; - } else { - node = path; - } - FS.doChmod(null, node, mode, dontFollow); - }, - lchmod(path, mode) { - FS.chmod(path, mode, true); - }, - fchmod(fd, mode) { - var stream = FS.getStreamChecked(fd); - FS.doChmod(stream, stream.node, mode, false); - }, - doChown(stream, node, dontFollow) { - FS.doSetAttr(stream, node, { - timestamp: Date.now(), - dontFollow - // we ignore the uid / gid for now - }); - }, - chown(path, uid, gid, dontFollow) { - var node; - if (typeof path == 'string') { - var lookup = FS.lookupPath(path, { follow: !dontFollow }); - node = lookup.node; - } else { - node = path; - } - FS.doChown(null, node, dontFollow); - }, - lchown(path, uid, gid) { - FS.chown(path, uid, gid, true); - }, - fchown(fd, uid, gid) { - var stream = FS.getStreamChecked(fd); - FS.doChown(stream, stream.node, false); - }, - doTruncate(stream, node, len) { - if (FS.isDir(node.mode)) { - throw new FS.ErrnoError(31); - } - if (!FS.isFile(node.mode)) { - throw new FS.ErrnoError(28); - } - var errCode = FS.nodePermissions(node, 'w'); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - FS.doSetAttr(stream, node, { - size: len, - timestamp: Date.now() - }); - }, - truncate(path, len) { - if (len < 0) { - throw new FS.ErrnoError(28); - } - var node; - if (typeof path == 'string') { - var lookup = FS.lookupPath(path, { follow: true }); - node = lookup.node; - } else { - node = path; - } - FS.doTruncate(null, node, len); - }, - ftruncate(fd, len) { - var stream = FS.getStreamChecked(fd); - if (len < 0 || (stream.flags & 2097155) === 0) { - throw new FS.ErrnoError(28); - } - FS.doTruncate(stream, stream.node, len); - }, - utime(path, atime, mtime) { - var lookup = FS.lookupPath(path, { follow: true }); - var node = lookup.node; - var setattr = FS.checkOpExists(node.node_ops.setattr, 63); - setattr(node, { - atime: atime, - mtime: mtime - }); - }, - open(path, flags, mode = 0o666) { - if (path === "") { - throw new FS.ErrnoError(44); - } - flags = typeof flags == 'string' ? FS_modeStringToFlags(flags) : flags; - if ((flags & 64)) { - mode = (mode & 4095) | 32768; - } else { - mode = 0; - } - var node; - var isDirPath; - if (typeof path == 'object') { - node = path; - } else { - isDirPath = path.endsWith("/"); - // noent_okay makes it so that if the final component of the path - // doesn't exist, lookupPath returns `node: undefined`. `path` will be - // updated to point to the target of all symlinks. - var lookup = FS.lookupPath(path, { - follow: !(flags & 131072), - noent_okay: true - }); - node = lookup.node; - path = lookup.path; - } - // perhaps we need to create the node - var created = false; - if ((flags & 64)) { - if (node) { - // if O_CREAT and O_EXCL are set, error out if the node already exists - if ((flags & 128)) { - throw new FS.ErrnoError(20); - } - } else if (isDirPath) { - throw new FS.ErrnoError(31); - } else { - // node doesn't exist, try to create it - // Ignore the permission bits here to ensure we can `open` this new - // file below. We use chmod below the apply the permissions once the - // file is open. - node = FS.mknod(path, mode | 0o777, 0); - created = true; - } - } - if (!node) { - throw new FS.ErrnoError(44); - } - // can't truncate a device - if (FS.isChrdev(node.mode)) { - flags &= ~512; - } - // if asked only for a directory, then this must be one - if ((flags & 65536) && !FS.isDir(node.mode)) { - throw new FS.ErrnoError(54); - } - // check permissions, if this is not a file we just created now (it is ok to - // create and write to a file with read-only permissions; it is read-only - // for later use) - if (!created) { - var errCode = FS.mayOpen(node, flags); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - } - // do truncation if necessary - if ((flags & 512) && !created) { - FS.truncate(node, 0); - } - // we've already handled these, don't pass down to the underlying vfs - flags &= ~(128 | 512 | 131072); - - // register the stream with the filesystem - var stream = FS.createStream({ - node, - path: FS.getPath(node), // we want the absolute path to the node - flags, - seekable: true, - position: 0, - stream_ops: node.stream_ops, - // used by the file family libc calls (fopen, fwrite, ferror, etc.) - ungotten: [], - error: false - }); - // call the new stream's open function - if (stream.stream_ops.open) { - stream.stream_ops.open(stream); - } - if (created) { - FS.chmod(node, mode & 0o777); - } - if (Module['logReadFiles'] && !(flags & 1)) { - if (!(path in FS.readFiles)) { - FS.readFiles[path] = 1; - } - } - return stream; - }, - close(stream) { - if (FS.isClosed(stream)) { - throw new FS.ErrnoError(8); - } - if (stream.getdents) stream.getdents = null; // free readdir state - try { - if (stream.stream_ops.close) { - stream.stream_ops.close(stream); - } - } catch (e) { - throw e; - } finally { - FS.closeStream(stream.fd); - } - stream.fd = null; - }, - isClosed(stream) { - return stream.fd === null; - }, - llseek(stream, offset, whence) { - if (FS.isClosed(stream)) { - throw new FS.ErrnoError(8); - } - if (!stream.seekable || !stream.stream_ops.llseek) { - throw new FS.ErrnoError(70); - } - if (whence != 0 && whence != 1 && whence != 2) { - throw new FS.ErrnoError(28); - } - stream.position = stream.stream_ops.llseek(stream, offset, whence); - stream.ungotten = []; - return stream.position; - }, - read(stream, buffer, offset, length, position) { - assert(offset >= 0); - if (length < 0 || position < 0) { - throw new FS.ErrnoError(28); - } - if (FS.isClosed(stream)) { - throw new FS.ErrnoError(8); - } - if ((stream.flags & 2097155) === 1) { - throw new FS.ErrnoError(8); - } - if (FS.isDir(stream.node.mode)) { - throw new FS.ErrnoError(31); - } - if (!stream.stream_ops.read) { - throw new FS.ErrnoError(28); - } - var seeking = typeof position != 'undefined'; - if (!seeking) { - position = stream.position; - } else if (!stream.seekable) { - throw new FS.ErrnoError(70); - } - var bytesRead = stream.stream_ops.read(stream, buffer, offset, length, position); - if (!seeking) stream.position += bytesRead; - return bytesRead; - }, - write(stream, buffer, offset, length, position, canOwn) { - assert(offset >= 0); - if (length < 0 || position < 0) { - throw new FS.ErrnoError(28); - } - if (FS.isClosed(stream)) { - throw new FS.ErrnoError(8); - } - if ((stream.flags & 2097155) === 0) { - throw new FS.ErrnoError(8); - } - if (FS.isDir(stream.node.mode)) { - throw new FS.ErrnoError(31); - } - if (!stream.stream_ops.write) { - throw new FS.ErrnoError(28); - } - if (stream.seekable && stream.flags & 1024) { - // seek to the end before writing in append mode - FS.llseek(stream, 0, 2); - } - var seeking = typeof position != 'undefined'; - if (!seeking) { - position = stream.position; - } else if (!stream.seekable) { - throw new FS.ErrnoError(70); - } - var bytesWritten = stream.stream_ops.write(stream, buffer, offset, length, position, canOwn); - if (!seeking) stream.position += bytesWritten; - return bytesWritten; - }, - mmap(stream, length, position, prot, flags) { - // User requests writing to file (prot & PROT_WRITE != 0). - // Checking if we have permissions to write to the file unless - // MAP_PRIVATE flag is set. According to POSIX spec it is possible - // to write to file opened in read-only mode with MAP_PRIVATE flag, - // as all modifications will be visible only in the memory of - // the current process. - if ((prot & 2) !== 0 - && (flags & 2) === 0 - && (stream.flags & 2097155) !== 2) { - throw new FS.ErrnoError(2); - } - if ((stream.flags & 2097155) === 1) { - throw new FS.ErrnoError(2); - } - if (!stream.stream_ops.mmap) { - throw new FS.ErrnoError(43); - } - if (!length) { - throw new FS.ErrnoError(28); - } - return stream.stream_ops.mmap(stream, length, position, prot, flags); - }, - msync(stream, buffer, offset, length, mmapFlags) { - assert(offset >= 0); - if (!stream.stream_ops.msync) { - return 0; - } - return stream.stream_ops.msync(stream, buffer, offset, length, mmapFlags); - }, - ioctl(stream, cmd, arg) { - if (!stream.stream_ops.ioctl) { - throw new FS.ErrnoError(59); - } - return stream.stream_ops.ioctl(stream, cmd, arg); - }, - readFile(path, opts = {}) { - opts.flags = opts.flags || 0; - opts.encoding = opts.encoding || 'binary'; - if (opts.encoding !== 'utf8' && opts.encoding !== 'binary') { - throw new Error(`Invalid encoding type "${opts.encoding}"`); - } - var ret; - var stream = FS.open(path, opts.flags); - var stat = FS.stat(path); - var length = stat.size; - var buf = new Uint8Array(length); - FS.read(stream, buf, 0, length, 0); - if (opts.encoding === 'utf8') { - ret = UTF8ArrayToString(buf); - } else if (opts.encoding === 'binary') { - ret = buf; - } - FS.close(stream); - return ret; - }, - writeFile(path, data, opts = {}) { - opts.flags = opts.flags || 577; - var stream = FS.open(path, opts.flags, opts.mode); - if (typeof data == 'string') { - var buf = new Uint8Array(lengthBytesUTF8(data)+1); - var actualNumBytes = stringToUTF8Array(data, buf, 0, buf.length); - FS.write(stream, buf, 0, actualNumBytes, undefined, opts.canOwn); - } else if (ArrayBuffer.isView(data)) { - FS.write(stream, data, 0, data.byteLength, undefined, opts.canOwn); - } else { - throw new Error('Unsupported data type'); - } - FS.close(stream); - }, - cwd:() => FS.currentPath, - chdir(path) { - var lookup = FS.lookupPath(path, { follow: true }); - if (lookup.node === null) { - throw new FS.ErrnoError(44); - } - if (!FS.isDir(lookup.node.mode)) { - throw new FS.ErrnoError(54); - } - var errCode = FS.nodePermissions(lookup.node, 'x'); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - FS.currentPath = lookup.path; - }, - createDefaultDirectories() { - FS.mkdir('/tmp'); - FS.mkdir('/home'); - FS.mkdir('/home/web_user'); - }, - createDefaultDevices() { - // create /dev - FS.mkdir('/dev'); - // setup /dev/null - FS.registerDevice(FS.makedev(1, 3), { - read: () => 0, - write: (stream, buffer, offset, length, pos) => length, - llseek: () => 0, - }); - FS.mkdev('/dev/null', FS.makedev(1, 3)); - // setup /dev/tty and /dev/tty1 - // stderr needs to print output using err() rather than out() - // so we register a second tty just for it. - TTY.register(FS.makedev(5, 0), TTY.default_tty_ops); - TTY.register(FS.makedev(6, 0), TTY.default_tty1_ops); - FS.mkdev('/dev/tty', FS.makedev(5, 0)); - FS.mkdev('/dev/tty1', FS.makedev(6, 0)); - // setup /dev/[u]random - // use a buffer to avoid overhead of individual crypto calls per byte - var randomBuffer = new Uint8Array(1024), randomLeft = 0; - var randomByte = () => { - if (randomLeft === 0) { - randomFill(randomBuffer); - randomLeft = randomBuffer.byteLength; - } - return randomBuffer[--randomLeft]; - }; - FS.createDevice('/dev', 'random', randomByte); - FS.createDevice('/dev', 'urandom', randomByte); - // we're not going to emulate the actual shm device, - // just create the tmp dirs that reside in it commonly - FS.mkdir('/dev/shm'); - FS.mkdir('/dev/shm/tmp'); - }, - createSpecialDirectories() { - // create /proc/self/fd which allows /proc/self/fd/6 => readlink gives the - // name of the stream for fd 6 (see test_unistd_ttyname) - FS.mkdir('/proc'); - var proc_self = FS.mkdir('/proc/self'); - FS.mkdir('/proc/self/fd'); - FS.mount({ - mount() { - var node = FS.createNode(proc_self, 'fd', 16895, 73); - node.stream_ops = { - llseek: MEMFS.stream_ops.llseek, - }; - node.node_ops = { - lookup(parent, name) { - var fd = +name; - var stream = FS.getStreamChecked(fd); - var ret = { - parent: null, - mount: { mountpoint: 'fake' }, - node_ops: { readlink: () => stream.path }, - id: fd + 1, - }; - ret.parent = ret; // make it look like a simple root node - return ret; - }, - readdir() { - return Array.from(FS.streams.entries()) - .filter(([k, v]) => v) - .map(([k, v]) => k.toString()); - } - }; - return node; - } - }, {}, '/proc/self/fd'); - }, - createStandardStreams(input, output, error) { - // TODO deprecate the old functionality of a single - // input / output callback and that utilizes FS.createDevice - // and instead require a unique set of stream ops - - // by default, we symlink the standard streams to the - // default tty devices. however, if the standard streams - // have been overwritten we create a unique device for - // them instead. - if (input) { - FS.createDevice('/dev', 'stdin', input); - } else { - FS.symlink('/dev/tty', '/dev/stdin'); - } - if (output) { - FS.createDevice('/dev', 'stdout', null, output); - } else { - FS.symlink('/dev/tty', '/dev/stdout'); - } - if (error) { - FS.createDevice('/dev', 'stderr', null, error); - } else { - FS.symlink('/dev/tty1', '/dev/stderr'); - } - - // open default streams for the stdin, stdout and stderr devices - var stdin = FS.open('/dev/stdin', 0); - var stdout = FS.open('/dev/stdout', 1); - var stderr = FS.open('/dev/stderr', 1); - assert(stdin.fd === 0, `invalid handle for stdin (${stdin.fd})`); - assert(stdout.fd === 1, `invalid handle for stdout (${stdout.fd})`); - assert(stderr.fd === 2, `invalid handle for stderr (${stderr.fd})`); - }, - staticInit() { - FS.nameTable = new Array(4096); - - FS.mount(MEMFS, {}, '/'); - - FS.createDefaultDirectories(); - FS.createDefaultDevices(); - FS.createSpecialDirectories(); - - FS.filesystems = { - 'MEMFS': MEMFS, - }; - }, - init(input, output, error) { - assert(!FS.initialized, 'FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)'); - FS.initialized = true; - - // Allow Module.stdin etc. to provide defaults, if none explicitly passed to us here - input ??= Module['stdin']; - output ??= Module['stdout']; - error ??= Module['stderr']; - - FS.createStandardStreams(input, output, error); - }, - quit() { - FS.initialized = false; - // force-flush all streams, so we get musl std streams printed out - _fflush(0); - // close all of our streams - for (var stream of FS.streams) { - if (stream) { - FS.close(stream); - } - } - }, - findObject(path, dontResolveLastLink) { - var ret = FS.analyzePath(path, dontResolveLastLink); - if (!ret.exists) { - return null; - } - return ret.object; - }, - analyzePath(path, dontResolveLastLink) { - // operate from within the context of the symlink's target - try { - var lookup = FS.lookupPath(path, { follow: !dontResolveLastLink }); - path = lookup.path; - } catch (e) { - } - var ret = { - isRoot: false, exists: false, error: 0, name: null, path: null, object: null, - parentExists: false, parentPath: null, parentObject: null - }; - try { - var lookup = FS.lookupPath(path, { parent: true }); - ret.parentExists = true; - ret.parentPath = lookup.path; - ret.parentObject = lookup.node; - ret.name = PATH.basename(path); - lookup = FS.lookupPath(path, { follow: !dontResolveLastLink }); - ret.exists = true; - ret.path = lookup.path; - ret.object = lookup.node; - ret.name = lookup.node.name; - ret.isRoot = lookup.path === '/'; - } catch (e) { - ret.error = e.errno; - }; - return ret; - }, - createPath(parent, path, canRead, canWrite) { - parent = typeof parent == 'string' ? parent : FS.getPath(parent); - var parts = path.split('/').reverse(); - while (parts.length) { - var part = parts.pop(); - if (!part) continue; - var current = PATH.join2(parent, part); - try { - FS.mkdir(current); - } catch (e) { - if (e.errno != 20) throw e; - } - parent = current; - } - return current; - }, - createFile(parent, name, properties, canRead, canWrite) { - var path = PATH.join2(typeof parent == 'string' ? parent : FS.getPath(parent), name); - var mode = FS_getMode(canRead, canWrite); - return FS.create(path, mode); - }, - createDataFile(parent, name, data, canRead, canWrite, canOwn) { - var path = name; - if (parent) { - parent = typeof parent == 'string' ? parent : FS.getPath(parent); - path = name ? PATH.join2(parent, name) : parent; - } - var mode = FS_getMode(canRead, canWrite); - var node = FS.create(path, mode); - if (data) { - if (typeof data == 'string') { - var arr = new Array(data.length); - for (var i = 0, len = data.length; i < len; ++i) arr[i] = data.charCodeAt(i); - data = arr; - } - // make sure we can write to the file - FS.chmod(node, mode | 146); - var stream = FS.open(node, 577); - FS.write(stream, data, 0, data.length, 0, canOwn); - FS.close(stream); - FS.chmod(node, mode); - } - }, - createDevice(parent, name, input, output) { - var path = PATH.join2(typeof parent == 'string' ? parent : FS.getPath(parent), name); - var mode = FS_getMode(!!input, !!output); - FS.createDevice.major ??= 64; - var dev = FS.makedev(FS.createDevice.major++, 0); - // Create a fake device that a set of stream ops to emulate - // the old behavior. - FS.registerDevice(dev, { - open(stream) { - stream.seekable = false; - }, - close(stream) { - // flush any pending line data - if (output?.buffer?.length) { - output(10); - } - }, - read(stream, buffer, offset, length, pos /* ignored */) { - var bytesRead = 0; - for (var i = 0; i < length; i++) { - var result; - try { - result = input(); - } catch (e) { - throw new FS.ErrnoError(29); - } - if (result === undefined && bytesRead === 0) { - throw new FS.ErrnoError(6); - } - if (result === null || result === undefined) break; - bytesRead++; - buffer[offset+i] = result; - } - if (bytesRead) { - stream.node.atime = Date.now(); - } - return bytesRead; - }, - write(stream, buffer, offset, length, pos) { - for (var i = 0; i < length; i++) { - try { - output(buffer[offset+i]); - } catch (e) { - throw new FS.ErrnoError(29); - } - } - if (length) { - stream.node.mtime = stream.node.ctime = Date.now(); - } - return i; - } - }); - return FS.mkdev(path, mode, dev); - }, - forceLoadFile(obj) { - if (obj.isDevice || obj.isFolder || obj.link || obj.contents) return true; - if (typeof XMLHttpRequest != 'undefined') { - throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread."); - } else { // Command-line. - try { - obj.contents = readBinary(obj.url); - obj.usedBytes = obj.contents.length; - } catch (e) { - throw new FS.ErrnoError(29); - } - } - }, - createLazyFile(parent, name, url, canRead, canWrite) { - // Lazy chunked Uint8Array (implements get and length from Uint8Array). - // Actual getting is abstracted away for eventual reuse. - class LazyUint8Array { - lengthKnown = false; - chunks = []; // Loaded chunks. Index is the chunk number - get(idx) { - if (idx > this.length-1 || idx < 0) { - return undefined; - } - var chunkOffset = idx % this.chunkSize; - var chunkNum = (idx / this.chunkSize)|0; - return this.getter(chunkNum)[chunkOffset]; - } - setDataGetter(getter) { - this.getter = getter; - } - cacheLength() { - // Find length - var xhr = new XMLHttpRequest(); - xhr.open('HEAD', url, false); - xhr.send(null); - if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error("Couldn't load " + url + ". Status: " + xhr.status); - var datalength = Number(xhr.getResponseHeader("Content-length")); - var header; - var hasByteServing = (header = xhr.getResponseHeader("Accept-Ranges")) && header === "bytes"; - var usesGzip = (header = xhr.getResponseHeader("Content-Encoding")) && header === "gzip"; - - var chunkSize = 1024*1024; // Chunk size in bytes - - if (!hasByteServing) chunkSize = datalength; - - // Function to get a range from the remote URL. - var doXHR = (from, to) => { - if (from > to) throw new Error("invalid range (" + from + ", " + to + ") or no bytes requested!"); - if (to > datalength-1) throw new Error("only " + datalength + " bytes available! programmer error!"); - - // TODO: Use mozResponseArrayBuffer, responseStream, etc. if available. - var xhr = new XMLHttpRequest(); - xhr.open('GET', url, false); - if (datalength !== chunkSize) xhr.setRequestHeader("Range", "bytes=" + from + "-" + to); - - // Some hints to the browser that we want binary data. - xhr.responseType = 'arraybuffer'; - if (xhr.overrideMimeType) { - xhr.overrideMimeType('text/plain; charset=x-user-defined'); - } - - xhr.send(null); - if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error("Couldn't load " + url + ". Status: " + xhr.status); - if (xhr.response !== undefined) { - return new Uint8Array(/** @type{Array} */(xhr.response || [])); - } - return intArrayFromString(xhr.responseText || '', true); - }; - var lazyArray = this; - lazyArray.setDataGetter((chunkNum) => { - var start = chunkNum * chunkSize; - var end = (chunkNum+1) * chunkSize - 1; // including this byte - end = Math.min(end, datalength-1); // if datalength-1 is selected, this is the last block - if (typeof lazyArray.chunks[chunkNum] == 'undefined') { - lazyArray.chunks[chunkNum] = doXHR(start, end); - } - if (typeof lazyArray.chunks[chunkNum] == 'undefined') throw new Error('doXHR failed!'); - return lazyArray.chunks[chunkNum]; - }); - - if (usesGzip || !datalength) { - // if the server uses gzip or doesn't supply the length, we have to download the whole file to get the (uncompressed) length - chunkSize = datalength = 1; // this will force getter(0)/doXHR do download the whole file - datalength = this.getter(0).length; - chunkSize = datalength; - out("LazyFiles on gzip forces download of the whole file when length is accessed"); - } - - this._length = datalength; - this._chunkSize = chunkSize; - this.lengthKnown = true; - } - get length() { - if (!this.lengthKnown) { - this.cacheLength(); - } - return this._length; - } - get chunkSize() { - if (!this.lengthKnown) { - this.cacheLength(); - } - return this._chunkSize; - } - } - - if (typeof XMLHttpRequest != 'undefined') { - if (!ENVIRONMENT_IS_WORKER) throw 'Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc'; - var lazyArray = new LazyUint8Array(); - var properties = { isDevice: false, contents: lazyArray }; - } else { - var properties = { isDevice: false, url: url }; - } - - var node = FS.createFile(parent, name, properties, canRead, canWrite); - // This is a total hack, but I want to get this lazy file code out of the - // core of MEMFS. If we want to keep this lazy file concept I feel it should - // be its own thin LAZYFS proxying calls to MEMFS. - if (properties.contents) { - node.contents = properties.contents; - } else if (properties.url) { - node.contents = null; - node.url = properties.url; - } - // Add a function that defers querying the file size until it is asked the first time. - Object.defineProperties(node, { - usedBytes: { - get: function() { return this.contents.length; } - } - }); - // override each stream op with one that tries to force load the lazy file first - var stream_ops = {}; - var keys = Object.keys(node.stream_ops); - keys.forEach((key) => { - var fn = node.stream_ops[key]; - stream_ops[key] = (...args) => { - FS.forceLoadFile(node); - return fn(...args); - }; - }); - function writeChunks(stream, buffer, offset, length, position) { - var contents = stream.node.contents; - if (position >= contents.length) - return 0; - var size = Math.min(contents.length - position, length); - assert(size >= 0); - if (contents.slice) { // normal array - for (var i = 0; i < size; i++) { - buffer[offset + i] = contents[position + i]; - } - } else { - for (var i = 0; i < size; i++) { // LazyUint8Array from sync binary XHR - buffer[offset + i] = contents.get(position + i); - } - } - return size; - } - // use a custom read function - stream_ops.read = (stream, buffer, offset, length, position) => { - FS.forceLoadFile(node); - return writeChunks(stream, buffer, offset, length, position) - }; - // use a custom mmap function - stream_ops.mmap = (stream, length, position, prot, flags) => { - FS.forceLoadFile(node); - var ptr = mmapAlloc(length); - if (!ptr) { - throw new FS.ErrnoError(48); - } - writeChunks(stream, HEAP8, ptr, length, position); - return { ptr, allocated: true }; - }; - node.stream_ops = stream_ops; - return node; - }, - absolutePath() { - abort('FS.absolutePath has been removed; use PATH_FS.resolve instead'); - }, - createFolder() { - abort('FS.createFolder has been removed; use FS.mkdir instead'); - }, - createLink() { - abort('FS.createLink has been removed; use FS.symlink instead'); - }, - joinPath() { - abort('FS.joinPath has been removed; use PATH.join instead'); - }, - mmapAlloc() { - abort('FS.mmapAlloc has been replaced by the top level function mmapAlloc'); - }, - standardizePath() { - abort('FS.standardizePath has been removed; use PATH.normalize instead'); - }, - }; - - var SYSCALLS = { - DEFAULT_POLLMASK:5, - calculateAt(dirfd, path, allowEmpty) { - if (PATH.isAbs(path)) { - return path; - } - // relative path - var dir; - if (dirfd === -100) { - dir = FS.cwd(); - } else { - var dirstream = SYSCALLS.getStreamFromFD(dirfd); - dir = dirstream.path; - } - if (path.length == 0) { - if (!allowEmpty) { - throw new FS.ErrnoError(44);; - } - return dir; - } - return dir + '/' + path; - }, - writeStat(buf, stat) { - HEAP32[((buf)>>2)] = stat.dev; - HEAP32[(((buf)+(4))>>2)] = stat.mode; - HEAPU32[(((buf)+(8))>>2)] = stat.nlink; - HEAP32[(((buf)+(12))>>2)] = stat.uid; - HEAP32[(((buf)+(16))>>2)] = stat.gid; - HEAP32[(((buf)+(20))>>2)] = stat.rdev; - HEAP64[(((buf)+(24))>>3)] = BigInt(stat.size); - HEAP32[(((buf)+(32))>>2)] = 4096; - HEAP32[(((buf)+(36))>>2)] = stat.blocks; - var atime = stat.atime.getTime(); - var mtime = stat.mtime.getTime(); - var ctime = stat.ctime.getTime(); - HEAP64[(((buf)+(40))>>3)] = BigInt(Math.floor(atime / 1000)); - HEAPU32[(((buf)+(48))>>2)] = (atime % 1000) * 1000 * 1000; - HEAP64[(((buf)+(56))>>3)] = BigInt(Math.floor(mtime / 1000)); - HEAPU32[(((buf)+(64))>>2)] = (mtime % 1000) * 1000 * 1000; - HEAP64[(((buf)+(72))>>3)] = BigInt(Math.floor(ctime / 1000)); - HEAPU32[(((buf)+(80))>>2)] = (ctime % 1000) * 1000 * 1000; - HEAP64[(((buf)+(88))>>3)] = BigInt(stat.ino); - return 0; - }, - writeStatFs(buf, stats) { - HEAP32[(((buf)+(4))>>2)] = stats.bsize; - HEAP32[(((buf)+(40))>>2)] = stats.bsize; - HEAP32[(((buf)+(8))>>2)] = stats.blocks; - HEAP32[(((buf)+(12))>>2)] = stats.bfree; - HEAP32[(((buf)+(16))>>2)] = stats.bavail; - HEAP32[(((buf)+(20))>>2)] = stats.files; - HEAP32[(((buf)+(24))>>2)] = stats.ffree; - HEAP32[(((buf)+(28))>>2)] = stats.fsid; - HEAP32[(((buf)+(44))>>2)] = stats.flags; // ST_NOSUID - HEAP32[(((buf)+(36))>>2)] = stats.namelen; - }, - doMsync(addr, stream, len, flags, offset) { - if (!FS.isFile(stream.node.mode)) { - throw new FS.ErrnoError(43); - } - if (flags & 2) { - // MAP_PRIVATE calls need not to be synced back to underlying fs - return 0; - } - var buffer = HEAPU8.slice(addr, addr + len); - FS.msync(stream, buffer, offset, len, flags); - }, - getStreamFromFD(fd) { - var stream = FS.getStreamChecked(fd); - return stream; - }, - varargs:undefined, - getStr(ptr) { - var ret = UTF8ToString(ptr); - return ret; - }, - }; - function ___syscall_chmod(path, mode) { - try { - - path = SYSCALLS.getStr(path); - FS.chmod(path, mode); - return 0; - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return -e.errno; - } - } - - function ___syscall_fchmod(fd, mode) { - try { - - FS.fchmod(fd, mode); - return 0; - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return -e.errno; - } - } - - /** @suppress {duplicate } */ - var syscallGetVarargI = () => { - assert(SYSCALLS.varargs != undefined); - // the `+` prepended here is necessary to convince the JSCompiler that varargs is indeed a number. - var ret = HEAP32[((+SYSCALLS.varargs)>>2)]; - SYSCALLS.varargs += 4; - return ret; - }; - var syscallGetVarargP = syscallGetVarargI; - - - function ___syscall_fcntl64(fd, cmd, varargs) { - SYSCALLS.varargs = varargs; - try { - - var stream = SYSCALLS.getStreamFromFD(fd); - switch (cmd) { - case 0: { - var arg = syscallGetVarargI(); - if (arg < 0) { - return -28; - } - while (FS.streams[arg]) { - arg++; - } - var newStream; - newStream = FS.dupStream(stream, arg); - return newStream.fd; - } - case 1: - case 2: - return 0; // FD_CLOEXEC makes no sense for a single process. - case 3: - return stream.flags; - case 4: { - var arg = syscallGetVarargI(); - stream.flags |= arg; - return 0; - } - case 12: { - var arg = syscallGetVarargP(); - var offset = 0; - // We're always unlocked. - HEAP16[(((arg)+(offset))>>1)] = 2; - return 0; - } - case 13: - case 14: - // Pretend that the locking is successful. These are process-level locks, - // and Emscripten programs are a single process. If we supported linking a - // filesystem between programs, we'd need to do more here. - // See https://github.com/emscripten-core/emscripten/issues/23697 - return 0; - } - return -28; - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return -e.errno; - } - } - - function ___syscall_fstat64(fd, buf) { - try { - - return SYSCALLS.writeStat(buf, FS.fstat(fd)); - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return -e.errno; - } - } - - - function ___syscall_ioctl(fd, op, varargs) { - SYSCALLS.varargs = varargs; - try { - - var stream = SYSCALLS.getStreamFromFD(fd); - switch (op) { - case 21509: { - if (!stream.tty) return -59; - return 0; - } - case 21505: { - if (!stream.tty) return -59; - if (stream.tty.ops.ioctl_tcgets) { - var termios = stream.tty.ops.ioctl_tcgets(stream); - var argp = syscallGetVarargP(); - HEAP32[((argp)>>2)] = termios.c_iflag || 0; - HEAP32[(((argp)+(4))>>2)] = termios.c_oflag || 0; - HEAP32[(((argp)+(8))>>2)] = termios.c_cflag || 0; - HEAP32[(((argp)+(12))>>2)] = termios.c_lflag || 0; - for (var i = 0; i < 32; i++) { - HEAP8[(argp + i)+(17)] = termios.c_cc[i] || 0; - } - return 0; - } - return 0; - } - case 21510: - case 21511: - case 21512: { - if (!stream.tty) return -59; - return 0; // no-op, not actually adjusting terminal settings - } - case 21506: - case 21507: - case 21508: { - if (!stream.tty) return -59; - if (stream.tty.ops.ioctl_tcsets) { - var argp = syscallGetVarargP(); - var c_iflag = HEAP32[((argp)>>2)]; - var c_oflag = HEAP32[(((argp)+(4))>>2)]; - var c_cflag = HEAP32[(((argp)+(8))>>2)]; - var c_lflag = HEAP32[(((argp)+(12))>>2)]; - var c_cc = [] - for (var i = 0; i < 32; i++) { - c_cc.push(HEAP8[(argp + i)+(17)]); - } - return stream.tty.ops.ioctl_tcsets(stream.tty, op, { c_iflag, c_oflag, c_cflag, c_lflag, c_cc }); - } - return 0; // no-op, not actually adjusting terminal settings - } - case 21519: { - if (!stream.tty) return -59; - var argp = syscallGetVarargP(); - HEAP32[((argp)>>2)] = 0; - return 0; - } - case 21520: { - if (!stream.tty) return -59; - return -28; // not supported - } - case 21531: { - var argp = syscallGetVarargP(); - return FS.ioctl(stream, op, argp); - } - case 21523: { - // TODO: in theory we should write to the winsize struct that gets - // passed in, but for now musl doesn't read anything on it - if (!stream.tty) return -59; - if (stream.tty.ops.ioctl_tiocgwinsz) { - var winsize = stream.tty.ops.ioctl_tiocgwinsz(stream.tty); - var argp = syscallGetVarargP(); - HEAP16[((argp)>>1)] = winsize[0]; - HEAP16[(((argp)+(2))>>1)] = winsize[1]; - } - return 0; - } - case 21524: { - // TODO: technically, this ioctl call should change the window size. - // but, since emscripten doesn't have any concept of a terminal window - // yet, we'll just silently throw it away as we do TIOCGWINSZ - if (!stream.tty) return -59; - return 0; - } - case 21515: { - if (!stream.tty) return -59; - return 0; - } - default: return -28; // not supported - } - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return -e.errno; - } - } - - function ___syscall_lstat64(path, buf) { - try { - - path = SYSCALLS.getStr(path); - return SYSCALLS.writeStat(buf, FS.lstat(path)); - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return -e.errno; - } - } - - function ___syscall_newfstatat(dirfd, path, buf, flags) { - try { - - path = SYSCALLS.getStr(path); - var nofollow = flags & 256; - var allowEmpty = flags & 4096; - flags = flags & (~6400); - assert(!flags, `unknown flags in __syscall_newfstatat: ${flags}`); - path = SYSCALLS.calculateAt(dirfd, path, allowEmpty); - return SYSCALLS.writeStat(buf, nofollow ? FS.lstat(path) : FS.stat(path)); - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return -e.errno; - } - } - - - function ___syscall_openat(dirfd, path, flags, varargs) { - SYSCALLS.varargs = varargs; - try { - - path = SYSCALLS.getStr(path); - path = SYSCALLS.calculateAt(dirfd, path); - var mode = varargs ? syscallGetVarargI() : 0; - return FS.open(path, flags, mode).fd; - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return -e.errno; - } - } - - function ___syscall_renameat(olddirfd, oldpath, newdirfd, newpath) { - try { - - oldpath = SYSCALLS.getStr(oldpath); - newpath = SYSCALLS.getStr(newpath); - oldpath = SYSCALLS.calculateAt(olddirfd, oldpath); - newpath = SYSCALLS.calculateAt(newdirfd, newpath); - FS.rename(oldpath, newpath); - return 0; - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return -e.errno; - } - } - - function ___syscall_rmdir(path) { - try { - - path = SYSCALLS.getStr(path); - FS.rmdir(path); - return 0; - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return -e.errno; - } - } - - function ___syscall_stat64(path, buf) { - try { - - path = SYSCALLS.getStr(path); - return SYSCALLS.writeStat(buf, FS.stat(path)); - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return -e.errno; - } - } - - function ___syscall_unlinkat(dirfd, path, flags) { - try { - - path = SYSCALLS.getStr(path); - path = SYSCALLS.calculateAt(dirfd, path); - if (flags === 0) { - FS.unlink(path); - } else if (flags === 512) { - FS.rmdir(path); - } else { - abort('Invalid flags passed to unlinkat'); - } - return 0; - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return -e.errno; - } - } - - var __abort_js = () => - abort('native code called abort()'); - - var isLeapYear = (year) => year%4 === 0 && (year%100 !== 0 || year%400 === 0); - - var MONTH_DAYS_LEAP_CUMULATIVE = [0,31,60,91,121,152,182,213,244,274,305,335]; - - var MONTH_DAYS_REGULAR_CUMULATIVE = [0,31,59,90,120,151,181,212,243,273,304,334]; - var ydayFromDate = (date) => { - var leap = isLeapYear(date.getFullYear()); - var monthDaysCumulative = (leap ? MONTH_DAYS_LEAP_CUMULATIVE : MONTH_DAYS_REGULAR_CUMULATIVE); - var yday = monthDaysCumulative[date.getMonth()] + date.getDate() - 1; // -1 since it's days since Jan 1 - - return yday; - }; - - var INT53_MAX = 9007199254740992; - - var INT53_MIN = -9007199254740992; - var bigintToI53Checked = (num) => (num < INT53_MIN || num > INT53_MAX) ? NaN : Number(num); - function __localtime_js(time, tmPtr) { - time = bigintToI53Checked(time); - - - var date = new Date(time*1000); - HEAP32[((tmPtr)>>2)] = date.getSeconds(); - HEAP32[(((tmPtr)+(4))>>2)] = date.getMinutes(); - HEAP32[(((tmPtr)+(8))>>2)] = date.getHours(); - HEAP32[(((tmPtr)+(12))>>2)] = date.getDate(); - HEAP32[(((tmPtr)+(16))>>2)] = date.getMonth(); - HEAP32[(((tmPtr)+(20))>>2)] = date.getFullYear()-1900; - HEAP32[(((tmPtr)+(24))>>2)] = date.getDay(); - - var yday = ydayFromDate(date)|0; - HEAP32[(((tmPtr)+(28))>>2)] = yday; - HEAP32[(((tmPtr)+(36))>>2)] = -(date.getTimezoneOffset() * 60); - - // Attention: DST is in December in South, and some regions don't have DST at all. - var start = new Date(date.getFullYear(), 0, 1); - var summerOffset = new Date(date.getFullYear(), 6, 1).getTimezoneOffset(); - var winterOffset = start.getTimezoneOffset(); - var dst = (summerOffset != winterOffset && date.getTimezoneOffset() == Math.min(winterOffset, summerOffset))|0; - HEAP32[(((tmPtr)+(32))>>2)] = dst; - ; - } - - - var __mktime_js = function(tmPtr) { - - var ret = (() => { - var date = new Date(HEAP32[(((tmPtr)+(20))>>2)] + 1900, - HEAP32[(((tmPtr)+(16))>>2)], - HEAP32[(((tmPtr)+(12))>>2)], - HEAP32[(((tmPtr)+(8))>>2)], - HEAP32[(((tmPtr)+(4))>>2)], - HEAP32[((tmPtr)>>2)], - 0); - - // There's an ambiguous hour when the time goes back; the tm_isdst field is - // used to disambiguate it. Date() basically guesses, so we fix it up if it - // guessed wrong, or fill in tm_isdst with the guess if it's -1. - var dst = HEAP32[(((tmPtr)+(32))>>2)]; - var guessedOffset = date.getTimezoneOffset(); - var start = new Date(date.getFullYear(), 0, 1); - var summerOffset = new Date(date.getFullYear(), 6, 1).getTimezoneOffset(); - var winterOffset = start.getTimezoneOffset(); - var dstOffset = Math.min(winterOffset, summerOffset); // DST is in December in South - if (dst < 0) { - // Attention: some regions don't have DST at all. - HEAP32[(((tmPtr)+(32))>>2)] = Number(summerOffset != winterOffset && dstOffset == guessedOffset); - } else if ((dst > 0) != (dstOffset == guessedOffset)) { - var nonDstOffset = Math.max(winterOffset, summerOffset); - var trueOffset = dst > 0 ? dstOffset : nonDstOffset; - // Don't try setMinutes(date.getMinutes() + ...) -- it's messed up. - date.setTime(date.getTime() + (trueOffset - guessedOffset)*60000); - } - - HEAP32[(((tmPtr)+(24))>>2)] = date.getDay(); - var yday = ydayFromDate(date)|0; - HEAP32[(((tmPtr)+(28))>>2)] = yday; - // To match expected behavior, update fields from date - HEAP32[((tmPtr)>>2)] = date.getSeconds(); - HEAP32[(((tmPtr)+(4))>>2)] = date.getMinutes(); - HEAP32[(((tmPtr)+(8))>>2)] = date.getHours(); - HEAP32[(((tmPtr)+(12))>>2)] = date.getDate(); - HEAP32[(((tmPtr)+(16))>>2)] = date.getMonth(); - HEAP32[(((tmPtr)+(20))>>2)] = date.getYear(); - - var timeMs = date.getTime(); - if (isNaN(timeMs)) { - return -1; - } - // Return time in microseconds - return timeMs / 1000; - })(); - return BigInt(ret); - }; - - var stringToUTF8 = (str, outPtr, maxBytesToWrite) => { - assert(typeof maxBytesToWrite == 'number', 'stringToUTF8(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!'); - return stringToUTF8Array(str, HEAPU8, outPtr, maxBytesToWrite); - }; - - var __tzset_js = (timezone, daylight, std_name, dst_name) => { - // TODO: Use (malleable) environment variables instead of system settings. - var currentYear = new Date().getFullYear(); - var winter = new Date(currentYear, 0, 1); - var summer = new Date(currentYear, 6, 1); - var winterOffset = winter.getTimezoneOffset(); - var summerOffset = summer.getTimezoneOffset(); - - // Local standard timezone offset. Local standard time is not adjusted for - // daylight savings. This code uses the fact that getTimezoneOffset returns - // a greater value during Standard Time versus Daylight Saving Time (DST). - // Thus it determines the expected output during Standard Time, and it - // compares whether the output of the given date the same (Standard) or less - // (DST). - var stdTimezoneOffset = Math.max(winterOffset, summerOffset); - - // timezone is specified as seconds west of UTC ("The external variable - // `timezone` shall be set to the difference, in seconds, between - // Coordinated Universal Time (UTC) and local standard time."), the same - // as returned by stdTimezoneOffset. - // See http://pubs.opengroup.org/onlinepubs/009695399/functions/tzset.html - HEAPU32[((timezone)>>2)] = stdTimezoneOffset * 60; - - HEAP32[((daylight)>>2)] = Number(winterOffset != summerOffset); - - var extractZone = (timezoneOffset) => { - // Why inverse sign? - // Read here https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getTimezoneOffset - var sign = timezoneOffset >= 0 ? "-" : "+"; - - var absOffset = Math.abs(timezoneOffset) - var hours = String(Math.floor(absOffset / 60)).padStart(2, "0"); - var minutes = String(absOffset % 60).padStart(2, "0"); - - return `UTC${sign}${hours}${minutes}`; - } - - var winterName = extractZone(winterOffset); - var summerName = extractZone(summerOffset); - assert(winterName); - assert(summerName); - assert(lengthBytesUTF8(winterName) <= 16, `timezone name truncated to fit in TZNAME_MAX (${winterName})`); - assert(lengthBytesUTF8(summerName) <= 16, `timezone name truncated to fit in TZNAME_MAX (${summerName})`); - if (summerOffset < winterOffset) { - // Northern hemisphere - stringToUTF8(winterName, std_name, 17); - stringToUTF8(summerName, dst_name, 17); - } else { - stringToUTF8(winterName, dst_name, 17); - stringToUTF8(summerName, std_name, 17); - } - }; - - var _emscripten_date_now = () => Date.now(); - - var abortOnCannotGrowMemory = (requestedSize) => { - abort(`Cannot enlarge memory arrays to size ${requestedSize} bytes (OOM). Either (1) compile with -sINITIAL_MEMORY=X with X higher than the current value ${HEAP8.length}, (2) compile with -sALLOW_MEMORY_GROWTH which allows increasing the size at runtime, or (3) if you want malloc to return NULL (0) instead of this abort, compile with -sABORTING_MALLOC=0`); - }; - var _emscripten_resize_heap = (requestedSize) => { - var oldSize = HEAPU8.length; - // With CAN_ADDRESS_2GB or MEMORY64, pointers are already unsigned. - requestedSize >>>= 0; - abortOnCannotGrowMemory(requestedSize); - }; - - function _fd_close(fd) { - try { - - var stream = SYSCALLS.getStreamFromFD(fd); - FS.close(stream); - return 0; - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return e.errno; - } - } - - function _fd_fdstat_get(fd, pbuf) { - try { - - var rightsBase = 0; - var rightsInheriting = 0; - var flags = 0; - { - var stream = SYSCALLS.getStreamFromFD(fd); - // All character devices are terminals (other things a Linux system would - // assume is a character device, like the mouse, we have special APIs for). - var type = stream.tty ? 2 : - FS.isDir(stream.mode) ? 3 : - FS.isLink(stream.mode) ? 7 : - 4; - } - HEAP8[pbuf] = type; - HEAP16[(((pbuf)+(2))>>1)] = flags; - HEAP64[(((pbuf)+(8))>>3)] = BigInt(rightsBase); - HEAP64[(((pbuf)+(16))>>3)] = BigInt(rightsInheriting); - return 0; - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return e.errno; - } - } - - /** @param {number=} offset */ - var doReadv = (stream, iov, iovcnt, offset) => { - var ret = 0; - for (var i = 0; i < iovcnt; i++) { - var ptr = HEAPU32[((iov)>>2)]; - var len = HEAPU32[(((iov)+(4))>>2)]; - iov += 8; - var curr = FS.read(stream, HEAP8, ptr, len, offset); - if (curr < 0) return -1; - ret += curr; - if (curr < len) break; // nothing more to read - if (typeof offset != 'undefined') { - offset += curr; - } - } - return ret; - }; - - function _fd_read(fd, iov, iovcnt, pnum) { - try { - - var stream = SYSCALLS.getStreamFromFD(fd); - var num = doReadv(stream, iov, iovcnt); - HEAPU32[((pnum)>>2)] = num; - return 0; - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return e.errno; - } - } - - - function _fd_seek(fd, offset, whence, newOffset) { - offset = bigintToI53Checked(offset); - - - try { - - if (isNaN(offset)) return 61; - var stream = SYSCALLS.getStreamFromFD(fd); - FS.llseek(stream, offset, whence); - HEAP64[((newOffset)>>3)] = BigInt(stream.position); - if (stream.getdents && offset === 0 && whence === 0) stream.getdents = null; // reset readdir state - return 0; - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return e.errno; - } - ; - } - - /** @param {number=} offset */ - var doWritev = (stream, iov, iovcnt, offset) => { - var ret = 0; - for (var i = 0; i < iovcnt; i++) { - var ptr = HEAPU32[((iov)>>2)]; - var len = HEAPU32[(((iov)+(4))>>2)]; - iov += 8; - var curr = FS.write(stream, HEAP8, ptr, len, offset); - if (curr < 0) return -1; - ret += curr; - if (curr < len) { - // No more space to write. - break; - } - if (typeof offset != 'undefined') { - offset += curr; - } - } - return ret; - }; - - function _fd_write(fd, iov, iovcnt, pnum) { - try { - - var stream = SYSCALLS.getStreamFromFD(fd); - var num = doWritev(stream, iov, iovcnt); - HEAPU32[((pnum)>>2)] = num; - return 0; - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return e.errno; - } - } - - - var runtimeKeepaliveCounter = 0; - var keepRuntimeAlive = () => noExitRuntime || runtimeKeepaliveCounter > 0; - var _proc_exit = (code) => { - EXITSTATUS = code; - if (!keepRuntimeAlive()) { - Module['onExit']?.(code); - ABORT = true; - } - quit_(code, new ExitStatus(code)); - }; - - - /** @param {boolean|number=} implicit */ - var exitJS = (status, implicit) => { - EXITSTATUS = status; - - checkUnflushedContent(); - - // if exit() was called explicitly, warn the user if the runtime isn't actually being shut down - if (keepRuntimeAlive() && !implicit) { - var msg = `program exited (with status: ${status}), but keepRuntimeAlive() is set (counter=${runtimeKeepaliveCounter}) due to an async operation, so halting execution but not exiting the runtime or preventing further async execution (you can use emscripten_force_exit, if you want to force a true shutdown)`; - err(msg); - } - - _proc_exit(status); - }; - - var handleException = (e) => { - // Certain exception types we do not treat as errors since they are used for - // internal control flow. - // 1. ExitStatus, which is thrown by exit() - // 2. "unwind", which is thrown by emscripten_unwind_to_js_event_loop() and others - // that wish to return to JS event loop. - if (e instanceof ExitStatus || e == 'unwind') { - return EXITSTATUS; - } - checkStackCookie(); - if (e instanceof WebAssembly.RuntimeError) { - if (_emscripten_stack_get_current() <= 0) { - err('Stack overflow detected. You can try increasing -sSTACK_SIZE (currently set to 65536)'); - } - } - quit_(1, e); - }; - - - - var stackAlloc = (sz) => __emscripten_stack_alloc(sz); - var stringToUTF8OnStack = (str) => { - var size = lengthBytesUTF8(str) + 1; - var ret = stackAlloc(size); - stringToUTF8(str, ret, size); - return ret; - }; - - FS.createPreloadedFile = FS_createPreloadedFile; - FS.staticInit(); - // Set module methods based on EXPORTED_RUNTIME_METHODS - ; -// End JS library code - -function checkIncomingModuleAPI() { - ignoredModuleProp('fetchSettings'); -} -var wasmImports = { - /** @export */ - __syscall_chmod: ___syscall_chmod, - /** @export */ - __syscall_fchmod: ___syscall_fchmod, - /** @export */ - __syscall_fcntl64: ___syscall_fcntl64, - /** @export */ - __syscall_fstat64: ___syscall_fstat64, - /** @export */ - __syscall_ioctl: ___syscall_ioctl, - /** @export */ - __syscall_lstat64: ___syscall_lstat64, - /** @export */ - __syscall_newfstatat: ___syscall_newfstatat, - /** @export */ - __syscall_openat: ___syscall_openat, - /** @export */ - __syscall_renameat: ___syscall_renameat, - /** @export */ - __syscall_rmdir: ___syscall_rmdir, - /** @export */ - __syscall_stat64: ___syscall_stat64, - /** @export */ - __syscall_unlinkat: ___syscall_unlinkat, - /** @export */ - _abort_js: __abort_js, - /** @export */ - _localtime_js: __localtime_js, - /** @export */ - _mktime_js: __mktime_js, - /** @export */ - _tzset_js: __tzset_js, - /** @export */ - emscripten_date_now: _emscripten_date_now, - /** @export */ - emscripten_resize_heap: _emscripten_resize_heap, - /** @export */ - fd_close: _fd_close, - /** @export */ - fd_fdstat_get: _fd_fdstat_get, - /** @export */ - fd_read: _fd_read, - /** @export */ - fd_seek: _fd_seek, - /** @export */ - fd_write: _fd_write -}; -var wasmExports; -createWasm(); -var ___wasm_call_ctors = createExportWrapper('__wasm_call_ctors', 0); -var _strerror = createExportWrapper('strerror', 1); -var _main = Module['_main'] = createExportWrapper('__main_argc_argv', 2); -var _fflush = createExportWrapper('fflush', 1); -var _emscripten_stack_init = () => (_emscripten_stack_init = wasmExports['emscripten_stack_init'])(); -var _emscripten_stack_get_free = () => (_emscripten_stack_get_free = wasmExports['emscripten_stack_get_free'])(); -var _emscripten_stack_get_base = () => (_emscripten_stack_get_base = wasmExports['emscripten_stack_get_base'])(); -var _emscripten_stack_get_end = () => (_emscripten_stack_get_end = wasmExports['emscripten_stack_get_end'])(); -var __emscripten_stack_restore = (a0) => (__emscripten_stack_restore = wasmExports['_emscripten_stack_restore'])(a0); -var __emscripten_stack_alloc = (a0) => (__emscripten_stack_alloc = wasmExports['_emscripten_stack_alloc'])(a0); -var _emscripten_stack_get_current = () => (_emscripten_stack_get_current = wasmExports['emscripten_stack_get_current'])(); - - -// include: postamble.js -// === Auto-generated postamble setup entry stuff === - -var missingLibrarySymbols = [ - 'writeI53ToI64', - 'writeI53ToI64Clamped', - 'writeI53ToI64Signaling', - 'writeI53ToU64Clamped', - 'writeI53ToU64Signaling', - 'readI53FromI64', - 'readI53FromU64', - 'convertI32PairToI53', - 'convertI32PairToI53Checked', - 'convertU32PairToI53', - 'getTempRet0', - 'setTempRet0', - 'zeroMemory', - 'getHeapMax', - 'growMemory', - 'inetPton4', - 'inetNtop4', - 'inetPton6', - 'inetNtop6', - 'readSockaddr', - 'writeSockaddr', - 'emscriptenLog', - 'readEmAsmArgs', - 'jstoi_q', - 'getExecutableName', - 'listenOnce', - 'autoResumeAudioContext', - 'getDynCaller', - 'dynCall', - 'runtimeKeepalivePush', - 'runtimeKeepalivePop', - 'callUserCallback', - 'maybeExit', - 'asmjsMangle', - 'alignMemory', - 'HandleAllocator', - 'getNativeTypeSize', - 'addOnInit', - 'addOnPostCtor', - 'addOnPreMain', - 'addOnExit', - 'STACK_SIZE', - 'STACK_ALIGN', - 'POINTER_SIZE', - 'ASSERTIONS', - 'getCFunc', - 'ccall', - 'cwrap', - 'uleb128Encode', - 'sigToWasmTypes', - 'generateFuncType', - 'convertJsFunctionToWasm', - 'getEmptyTableSlot', - 'updateTableMap', - 'getFunctionAddress', - 'addFunction', - 'removeFunction', - 'reallyNegative', - 'unSign', - 'strLen', - 'reSign', - 'formatString', - 'intArrayToString', - 'AsciiToString', - 'stringToAscii', - 'UTF16ToString', - 'stringToUTF16', - 'lengthBytesUTF16', - 'UTF32ToString', - 'stringToUTF32', - 'lengthBytesUTF32', - 'stringToNewUTF8', - 'writeArrayToMemory', - 'registerKeyEventCallback', - 'maybeCStringToJsString', - 'findEventTarget', - 'getBoundingClientRect', - 'fillMouseEventData', - 'registerMouseEventCallback', - 'registerWheelEventCallback', - 'registerUiEventCallback', - 'registerFocusEventCallback', - 'fillDeviceOrientationEventData', - 'registerDeviceOrientationEventCallback', - 'fillDeviceMotionEventData', - 'registerDeviceMotionEventCallback', - 'screenOrientation', - 'fillOrientationChangeEventData', - 'registerOrientationChangeEventCallback', - 'fillFullscreenChangeEventData', - 'registerFullscreenChangeEventCallback', - 'JSEvents_requestFullscreen', - 'JSEvents_resizeCanvasForFullscreen', - 'registerRestoreOldStyle', - 'hideEverythingExceptGivenElement', - 'restoreHiddenElements', - 'setLetterbox', - 'softFullscreenResizeWebGLRenderTarget', - 'doRequestFullscreen', - 'fillPointerlockChangeEventData', - 'registerPointerlockChangeEventCallback', - 'registerPointerlockErrorEventCallback', - 'requestPointerLock', - 'fillVisibilityChangeEventData', - 'registerVisibilityChangeEventCallback', - 'registerTouchEventCallback', - 'fillGamepadEventData', - 'registerGamepadEventCallback', - 'registerBeforeUnloadEventCallback', - 'fillBatteryEventData', - 'battery', - 'registerBatteryEventCallback', - 'setCanvasElementSize', - 'getCanvasElementSize', - 'jsStackTrace', - 'getCallstack', - 'convertPCtoSourceLocation', - 'getEnvStrings', - 'checkWasiClock', - 'wasiRightsToMuslOFlags', - 'wasiOFlagsToMuslOFlags', - 'safeSetTimeout', - 'setImmediateWrapped', - 'safeRequestAnimationFrame', - 'clearImmediateWrapped', - 'registerPostMainLoop', - 'registerPreMainLoop', - 'getPromise', - 'makePromise', - 'idsToPromises', - 'makePromiseCallback', - 'ExceptionInfo', - 'findMatchingCatch', - 'Browser_asyncPrepareDataCounter', - 'arraySum', - 'addDays', - 'getSocketFromFD', - 'getSocketAddress', - 'FS_unlink', - 'FS_mkdirTree', - '_setNetworkCallback', - 'heapObjectForWebGLType', - 'toTypedArrayIndex', - 'webgl_enable_ANGLE_instanced_arrays', - 'webgl_enable_OES_vertex_array_object', - 'webgl_enable_WEBGL_draw_buffers', - 'webgl_enable_WEBGL_multi_draw', - 'webgl_enable_EXT_polygon_offset_clamp', - 'webgl_enable_EXT_clip_control', - 'webgl_enable_WEBGL_polygon_mode', - 'emscriptenWebGLGet', - 'computeUnpackAlignedImageSize', - 'colorChannelsInGlTextureFormat', - 'emscriptenWebGLGetTexPixelData', - 'emscriptenWebGLGetUniform', - 'webglGetUniformLocation', - 'webglPrepareUniformLocationsBeforeFirstUse', - 'webglGetLeftBracePos', - 'emscriptenWebGLGetVertexAttrib', - '__glGetActiveAttribOrUniform', - 'writeGLArray', - 'registerWebGlEventCallback', - 'runAndAbortIfError', - 'ALLOC_NORMAL', - 'ALLOC_STACK', - 'allocate', - 'writeStringToMemory', - 'writeAsciiToMemory', - 'demangle', - 'stackTrace', -]; -missingLibrarySymbols.forEach(missingLibrarySymbol) - -var unexportedSymbols = [ - 'run', - 'addRunDependency', - 'removeRunDependency', - 'out', - 'err', - 'callMain', - 'abort', - 'wasmMemory', - 'wasmExports', - 'writeStackCookie', - 'checkStackCookie', - 'INT53_MAX', - 'INT53_MIN', - 'bigintToI53Checked', - 'stackSave', - 'stackRestore', - 'stackAlloc', - 'ptrToString', - 'exitJS', - 'abortOnCannotGrowMemory', - 'ENV', - 'ERRNO_CODES', - 'strError', - 'DNS', - 'Protocols', - 'Sockets', - 'timers', - 'warnOnce', - 'readEmAsmArgsArray', - 'jstoi_s', - 'handleException', - 'keepRuntimeAlive', - 'asyncLoad', - 'mmapAlloc', - 'wasmTable', - 'noExitRuntime', - 'addOnPreRun', - 'addOnPostRun', - 'freeTableIndexes', - 'functionsInTableMap', - 'setValue', - 'getValue', - 'PATH', - 'PATH_FS', - 'UTF8Decoder', - 'UTF8ArrayToString', - 'UTF8ToString', - 'stringToUTF8Array', - 'stringToUTF8', - 'lengthBytesUTF8', - 'intArrayFromString', - 'UTF16Decoder', - 'stringToUTF8OnStack', - 'JSEvents', - 'specialHTMLTargets', - 'findCanvasEventTarget', - 'currentFullscreenStrategy', - 'restoreOldWindowedStyle', - 'UNWIND_CACHE', - 'ExitStatus', - 'doReadv', - 'doWritev', - 'initRandomFill', - 'randomFill', - 'emSetImmediate', - 'emClearImmediate_deps', - 'emClearImmediate', - 'promiseMap', - 'uncaughtExceptionCount', - 'exceptionLast', - 'exceptionCaught', - 'Browser', - 'getPreloadedImageData__data', - 'wget', - 'MONTH_DAYS_REGULAR', - 'MONTH_DAYS_LEAP', - 'MONTH_DAYS_REGULAR_CUMULATIVE', - 'MONTH_DAYS_LEAP_CUMULATIVE', - 'isLeapYear', - 'ydayFromDate', - 'SYSCALLS', - 'preloadPlugins', - 'FS_createPreloadedFile', - 'FS_modeStringToFlags', - 'FS_getMode', - 'FS_stdin_getChar_buffer', - 'FS_stdin_getChar', - 'FS_createPath', - 'FS_createDevice', - 'FS_readFile', - 'FS', - 'FS_createDataFile', - 'FS_createLazyFile', - 'MEMFS', - 'TTY', - 'PIPEFS', - 'SOCKFS', - 'tempFixedLengthArray', - 'miniTempWebGLFloatBuffers', - 'miniTempWebGLIntBuffers', - 'GL', - 'AL', - 'GLUT', - 'EGL', - 'GLEW', - 'IDBStore', - 'SDL', - 'SDL_gfx', - 'allocateUTF8', - 'allocateUTF8OnStack', - 'print', - 'printErr', -]; -unexportedSymbols.forEach(unexportedRuntimeSymbol); - - - -var calledRun; - -function callMain(args = []) { - assert(runDependencies == 0, 'cannot call main when async dependencies remain! (listen on Module["onRuntimeInitialized"])'); - assert(typeof onPreRuns === 'undefined' || onPreRuns.length == 0, 'cannot call main when preRun functions remain to be called'); - - var entryFunction = _main; - - args.unshift(thisProgram); - - var argc = args.length; - var argv = stackAlloc((argc + 1) * 4); - var argv_ptr = argv; - args.forEach((arg) => { - HEAPU32[((argv_ptr)>>2)] = stringToUTF8OnStack(arg); - argv_ptr += 4; - }); - HEAPU32[((argv_ptr)>>2)] = 0; - - try { - - var ret = entryFunction(argc, argv); - - // if we're not running an evented main loop, it's time to exit - exitJS(ret, /* implicit = */ true); - return ret; - } catch (e) { - return handleException(e); - } -} - -function stackCheckInit() { - // This is normally called automatically during __wasm_call_ctors but need to - // get these values before even running any of the ctors so we call it redundantly - // here. - _emscripten_stack_init(); - // TODO(sbc): Move writeStackCookie to native to to avoid this. - writeStackCookie(); -} - -function run(args = arguments_) { - - if (runDependencies > 0) { - dependenciesFulfilled = run; - return; - } - - stackCheckInit(); - - preRun(); - - // a preRun added a dependency, run will be called later - if (runDependencies > 0) { - dependenciesFulfilled = run; - return; - } - - function doRun() { - // run may have just been called through dependencies being fulfilled just in this very frame, - // or while the async setStatus time below was happening - assert(!calledRun); - calledRun = true; - Module['calledRun'] = true; - - if (ABORT) return; - - initRuntime(); - - preMain(); - - Module['onRuntimeInitialized']?.(); - consumedModuleProp('onRuntimeInitialized'); - - var noInitialRun = Module['noInitialRun'];legacyModuleProp('noInitialRun', 'noInitialRun'); - if (!noInitialRun) callMain(args); - - postRun(); - } - - if (Module['setStatus']) { - Module['setStatus']('Running...'); - setTimeout(() => { - setTimeout(() => Module['setStatus'](''), 1); - doRun(); - }, 1); - } else - { - doRun(); - } - checkStackCookie(); -} - -function checkUnflushedContent() { - // Compiler settings do not allow exiting the runtime, so flushing - // the streams is not possible. but in ASSERTIONS mode we check - // if there was something to flush, and if so tell the user they - // should request that the runtime be exitable. - // Normally we would not even include flush() at all, but in ASSERTIONS - // builds we do so just for this check, and here we see if there is any - // content to flush, that is, we check if there would have been - // something a non-ASSERTIONS build would have not seen. - // How we flush the streams depends on whether we are in SYSCALLS_REQUIRE_FILESYSTEM=0 - // mode (which has its own special function for this; otherwise, all - // the code is inside libc) - var oldOut = out; - var oldErr = err; - var has = false; - out = err = (x) => { - has = true; - } - try { // it doesn't matter if it fails - _fflush(0); - // also flush in the JS FS layer - ['stdout', 'stderr'].forEach((name) => { - var info = FS.analyzePath('/dev/' + name); - if (!info) return; - var stream = info.object; - var rdev = stream.rdev; - var tty = TTY.ttys[rdev]; - if (tty?.output?.length) { - has = true; - } - }); - } catch(e) {} - out = oldOut; - err = oldErr; - if (has) { - warnOnce('stdio streams had content in them that was not flushed. you should set EXIT_RUNTIME to 1 (see the Emscripten FAQ), or make sure to emit a newline when you printf etc.'); - } -} - -if (Module['preInit']) { - if (typeof Module['preInit'] == 'function') Module['preInit'] = [Module['preInit']]; - while (Module['preInit'].length > 0) { - Module['preInit'].pop()(); - } -} -consumedModuleProp('preInit'); - -run(); - -// end include: postamble.js - diff --git a/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/zip_read_file_fuzzer.wasm b/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/zip_read_file_fuzzer.wasm deleted file mode 100755 index 5de5b09d37d23da2a797cb2a15eb57a7e35149e7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 389285 zcmb@P2b`2e^7rRSvje-Z0}_@XRtqYq2qr*G%&N=YxpyXx^VB;`7}hw*ofi-mRuD4^ zVnTvxQ9&^wC?c41&JlCYIltek=Xqv!74QFlKks{=!<~7a?yBnQ?&_}YU)5v|IPNGf zlgW6Cf^GKqCVCV1k0$B=yh-~9lO{~c?C;xWk5A#GNfRd}1?)o*m-FJnlO|G!&l9Pl zbmHPl#=a^YeFdQ)rjvz!Oo5`tCF4z?+C=+o&tN~13K^}VHI?!trEGtV&ZPY_JgQI% zTG8Z>DFpGKtiCdmG|$A*Qu;K0A5Ba?_>(5s`w99d=3%XvG%>S(G*L@YuX2)oDpl6H z+WrbY@J2u8c&ShIGp(VTJ<})lELL#FMBqtAE5!e!ffFX718WVBs7U+yuQvhKMoTp^ z(VO7k9d-}K9{rC_W5yi!uj39n;K(D#9CFanFZsACS!1iz5A z)zemmk2!Yi(Fcr=skd(MapMmdPlJs}tKzL6cPXw^wsjy#4gNuPDoXPwJ}{Qc-7 z4?p?{#Q0@TjXUb#!^dTEzbHPA#ve6SrTz`+Iw0L42Wu0?96EMWg4sHv&*91W>%=PGz%eBw7@6e-5`&>m3^ay(NXrBv$ z&OIvH^$c^pI#g6pDhzwC+qq9r(Z0)iox@yvzUO#YoeQgLsypO5hZ1lqv<|=aS za&YVHdD*aHql#=UtjL8y7i%Ak4FfL-vq1;g_ZrYEXrJrYzWv78APB2F zY_dt0FzVH-Lse9{X>}Ls=7O+uF4tKpacs*m3Lv+Ty?IdYfW`cO-+!isP2v66?x=C?DhfL&??Z%b?()R zCbVzQ>(0EVK=wMqEq#d z&OGbgyLb1BfZAaYR0q9tLx&CvbG^IsIE=hwz0Ed@vYt1^pWjUP95+_+=LWfla?rK1iw{OBghrLU@OTEjz z7H^?|N*G{d4@&{Mr8F z{uBNp{~G^V|2hA8|5^VT|Low#U}>;CXn*1SZnp)wO#bm8e_K#_TdvbOlfsE1>q|TS zwVxDB3?}&#BR+TJUzYFrNqw96U&aN6rpdlzmPvSoizMo2k0p}K5dViJpAX&;{~P<@ z5Anay5B>Fp%N8=OLb6g(=W+$lwUeB*E4udn2!DjM-=#x_*OgM)-=BW|RM=E$HOROQ z(jmXbICq40$02^EaN(>IDN!v|QY}&b-6@FGGcBH%eEu0NUgcG$oIB|UBypXklXT9{ zncTX6-t-*mi?$x1qtBCcif0y7Q&`(BPdW-yac-kZ6E@bT#^c z0n*)^>ENZb*G+5mfysKZuJn=h@*f%-fwBzo8?IMHy6hG~)(SY;dF7TsC)G)Hc!5EoG2w zAzS7@G2yr3^;ScJXH7?2%T}`WpWG1S9x6j*XweOmVJM+0Q%RQ$&{A$2bU9qMk>Pu} zZ7H{%Y%ALp-S!NH?c>(%AUmY3+c9n32pQ4h3Tf+Vr8a5ZPH^98h_6BvhWLXEA6V;l zE(~_N@MxDtS0_8l&Qh1O&c;Q98!036@0s-VDEoI(FTbmIzeku|<@d5{(KR4ULoCc6 zyQjkJA$ugk>@Nq&*jAHDr|uzg zNd9r~z)Xa35ed~k)bj`HuybMQ zG@Zc_U!x)ZcC;nS$LtWlzl8n$?JyG+`Pt1jOYM8E@W9zx!E8qU9i8y5JvG`7@rO~l zQrb&povT6-9WV+Vimszgl#a17s--$rMn0zBDgUI==q#Q4`x&PuV1cr8T_DzIP zNiEHl=P28*l9#R$CQ5-}H{N$+uBweezaM zmR{0(q+6E~eRTR4-FghO^huU@E1e#9 zo8ZF=;xwEk|V!lrI#p6uL+dDsQpP$xU(pVM)y??z#FH+WA2yBht}8UUF*CZ=x$bbT zVaV4MT@Mu9Bj(#vdZv7B{CCmiP-(AA3)a;M_WDenV11YseM%E75hU-{gTBx@C+jga zT>g{N*v+#zuAl$XW>#Nl^&R5pR2zAxQ{+6I%lb9vHbAZoWdqr;-fhIk{w#C-i*5iS z4v0l$4x}P(QuxGFvngx`$|kIb1KX-5$1K<^e}`F$L2w3_E@xg#VCq!QrKHlfjVPJYMEDvVH>%lRj(}9F2vvhoZKp!9 z(TJ7HCSwAANg_Ae$66WQCS_jcIG>dG%Tyg*~!({67&(^^lQoDQp;3v2y&;^gOAXJ;APY}xPxRg?RdaN(q7t0`=Y~*K&6!oR9-W4rD|KRV=}`+Mra4^gpP%uTWQg#p+TK{o%N0B zujslIa5_j{*bf)u>BO(wd$Odf!^z z_y3~RYGl}_{y()Ev(>iMLEBc-woWvv(|87rDS&}KFyqr`6kyJ1kydxMR#Vni+VQm2 z%CgF;vU+J*+g}zLA3bE#2`9p21;doj6tb`dYTHtS^0wj0TZ@jcx<9#g4Kn zF(UC+GKja5{SyUlSY3GwM^K5?2ssuAZ361i!7u*>6aD{L$;sdeYjbN;vROB_JO9Jb zs!fL0&>)v6ITH`9indCY{9@Osb{Hz=6krWb<=FJ^bJlhjXOcM!<$ z&_9Dmt=sRJeY^5#*GAnZCxhqr44&BLbo`$OM#<)QYa1BFy!{#7eN1h|_ zz)Ur3Bkf8TM}%h<{%W~t^1__0mC?jxrEF_5*S2nZ@$y)76=n!4N-K6wa;m6ys@*EA zWwL&^lgbmYlU1$*0yD04@$SGft}A189mnQ2s$20lZj*t3<9XBf;S3tm|LI((S(3RR`<#>)UkRFWX z5ZcI@UPrl3EDJXEin@&3p_nq`OiDFjM(zaHt@daBSIrdcCf!G2)4h^KHx2ew4I0&6 zaXmA5C+LFc`l!z0>a2*aPo?xp*ThJiu2eL)hRJCRaj9Fdee1`z&lItt76^56;wbcA z%;ekpZ3{($cF|*ZJ3>IAF2~62Y zHdo`6oPXu;5rnB5$(D_dsoM|TH)Ujt>dKQtb~L`7!FHo#wR3anTxq+bN$QlH#PZGt zYiWD3It-^5_hpfR7D_wDd%PuSpQy=v#nJ!e;3Sml*4qwsK5d<a$wrbTSrz1V2XVLYdW-n^;vb4qVD=Q1O!AS_P$B{m`ca*WE ztPYpZiw$kjtq+0qjkV6=zPu=(l!~5{#v3G#O4B`gCO#l3w<_oQQ_bu!o2|I~#`-6R zIo?Dzw$mUTsGG(Q>15fI-i*I(#=svWo5>*4zX~xpez7@3x1j&GDALoL%a+44Ui@M! z+QZ35x)&@tr0Z;z{Y&gkNLky99HDbIDVvQqx7m1So)r$= ztMF+8^@y`-T<~y8lRAI7&GU8?Xh*})scqEiTqWXG;V@JcT?d1)O*BNE#U$E>X>T)s=_(>LUDqve$Wa30(WwG;>$s z+B1RFTvt~P_bSqf`hT-3NJVw!dt4>b%hhT9-?rXrw)HfKKlHL$?;4%!dhWrIDRVuy z7!m2)#AvmrBxj^{mr_L^>qdz_u5%se?vBzyIu>2Eb$7MS!bvQFk>nFKL$-=e=1&*8 z)|jZ>c3qfrT^Jl}qGTPje$eeo#je&J6zuJ~(H(YG(nv4Y^rI7-GSaQOa%Q~!?vb|D zXRTekugUxpZ(EO3FCBvszDMk6#@0A-G;O-#cOZZr4cGm`(L_=^0h`2rFq96-E<7CM zWp!tWw~+d7y8N4AE7DXr+L^F)HiMw0*@sg)-H5ZRw)N@n>T{GAsJLP;_I^E??Z}ka zG`7@`tYXKQSC38lG^)pzC}rL1%Ew}*xc{Y6%pk=|3I9JTMdxf=Pt5dyCnovCFzT6L zF80U%@e9|)%Cc{kZi%4_(M>*HyZ?bVhMGzjVpf&~TY3-A_^KLaGbZ1x`#-Smlw~f9 z!@S2TWvQ0+hi3v*s^`Z2%uAtO6?^Ku+mJ^aHtMRKsC0ws%KO4~)OuFnq4<-c-~5*? ztNgdlJnRIvytuMIUduR4-0c7TIE+1cHOn1qX|4^!W@cZ$g<)td<7z@WnclV3I`Hj+ z7t&?A>#7yZQE663rG*J*6?)+E)tK_NLQi)7rts;mw^l&evTifOuTKk#whE|N*0Uba z3J%}GE*z)3zFNW7(Pp=SY|x?_R%N4M*^q9C*ZGq7GTm*g6<8`|lV-g&XkjB{71#^O zz~LE=>XgGE{3E+MnC>>$3R}qLvPCnih&F(jkJPJAb@Sca0beO&B_q1&1^j@YQR?~ApmHOYpE!_>H`Oxn_3 z$llx8Ut%ls*VvXPxjRWWeq9-Fc8{nBS=|%iyH;0j?yKecU+h>^Y&-sbW#~UU;x%l_ zzbNTuJqvA@s7#-M!Lfh(TtDkDNL@!odc>dOzZHB>kEpe-4xMmPjtxpoGr*{-`>99R zDeWlX9ZjmBtkzLkVtFFU_u-$(28__30G|meftFOxRg`StueKt_pXfV(;_rB-l(P2D zo7lrRdlP%7bI~iT;k;VBa(zu9rLHueVOLa|6A;453V+$GIcuWwj^vJ9dev-YYK9PY;{yRM;A0r@ney)+hgzU2NI~nO=_7JIAy%`(1Q> zA<(zPpVKF`8W{5YGOMJ{(9_nKjSAi38?ib!fa)8|0NJ?cHn9!iCM5z`bR~e_lMv8L zu&0c`Ag)Tyq}RFF-@&4*zq6$tWShua(K5q>G~(sh6TBQHr#D~2@-HhH`d}Nhy^Z!k zSP4eN%3fsg-P7?xKEfJDRwi>PUNGdwRjl{^&M$VRjQ1(^9C2;TNFAftG?r z;_lY!JI7_X3my;*W(fc&GMYGyPdzFnB75zm?r-wf76zY zk-y5AQEq=293cD40Y!J99H_@IR_Gu(NH4z+R+a7!3}kGJI|PXjl|$sv@jyKemcts| z;c~e4T_fTiA&qjxNOvUEj*=tgsG>U>agQ$P=@>ai=^Y!>D@w7&jf38CGER;g@5alq zGQQFMUH-1-{~yphUj8A+k97Zp-oNCZ@~@)%H}w9UPL%)1f0W#WnA{0+LW`RSxk)ln zCXIJZo=lJ?uhC8RWU@CfQ{|?35Nh^hiYLup(VghYiC#);swY!Dr8bSWYim#P>aNOy)ZIn$FfJUJ64Gd!8$ zl@xlGCubR#vlA{eJ(&rYS<2-cPiA>?4qRq?LV?+EIoFeOjmvqSoX3ZZJKv-0FYx4i zPcDG|g`Qlf^qC+7f?;k>(sLJia*;8bn=qQ^$vha%S4ImwneWL07+vfM1ullsC7xVj z^e^?~Qg1*|?=JHMYL|JV+~wM&7Ednsqy?4>Ju?OiVQZ6Zn7hK0D?E3lSF)B@d2*Gp zUzD(4?8#!-U#;w~@#Jbxu7Uj$Pbjbi_SbrHt+Bt(lk1HA^`2a>G%Mvw&)onSxq)lO zVTmEQ(UTjE!P11mO`hBYgJsHKxhKm!Sq_7nJ)ywOFu28&TWk=l(8k>A$qG+yr7EpC|Wta<3=%c_rI$zqamvoOm^L@#uSiM@slXlce4~{Cq zx5`?6+mpB3X!#x0^1GhA zA3gcWYj!_-*z_h}e)gov-@{Gz(bp7TCi^nQFS=%5ntine6gm;8ot(&d{;*_J4|7v} zmWgS;O!Z|Nl~2;j(|tL~m+4eK*{97XQ$0heQ?&Le)UJWlsruzqCB>K1^vh{{+1(!z zjED#8={(bY)fv8=;p?h$rY}4@(;ww#D3h~%nc>S>Fge?ovsJ>l{7heF`f77$K|pQp zIli3Zx479pqwri`X8UrkKi-|^3kA;e8{PT7oKJ;}yTGTDFZAUCUoP}Vx;e__B46hC zauHnSYE$NFQ(`{ze3@r_<|lj>__6>#7b~Aje7V?{OW<>wLM+cwXh~M9Q*=9|`daEU$!_vxsV_JA6WlT_ zuuS_Von$p`xpw-^zAX3UW`9q2i%Px1ms@;Ufz-FE)VG$UUTMPCxZC)vJ-W(g+^+Uz zl`pH2@pfM*!OPqI{0BDp?@*R^sEmw_JAFRNos6x!l+E3~+~v#Nu(?Os+>^5D@9y>G zUOzUMEN1s9jr%yfOm}*^klpV?@Bv@$_vHb9w0lqqKIF@TzB~lMhn3*NDZ#znBfdOh z%6rrrFw8yX3m+fz^Yd&XJ?=AJp77;yU!DM&`J_^N%9kg7c?xPzE48PU8a$s-X`ay* z*{)M%c~)h4&X;F>d5*?CueD$B<#}ITp!SPe`^B;>FZuG4$?~!(E%joAV7 zJJ$WVft*XNt_tp+FuCEa&OQSd|{j|cJuRi4x; zPX+R1AWtFl(*c(EnLwV#*agSAX9IawX;sRjfqO2H=TwqPxh`@_ZmKK;}gq zLN79ey2L~1r9fV?#=WfcUttp%$SXmeTcg!p4P*`5KB~Q@Qofc-nRl-T^17+wjX>TA z@~dqzc@x??EZ+)*|GxybI0ul;(RW&Ar|Gs-q7Ac|VX3 z80;Sg+);j{Qhm(6FOZJ{`M5kEKhbu4V)K#Xg_!TBfqZIh`AlDa#!JJM?(IJ3yRNri z1j5HJg8aKC@0Uvat3bZQvM~j|R`I^Us$t6z?^_k`TNRJT-zmlKj2&u)$=>e!K)&Zg zjr&36{xOgr0{M}8KWV+6(q`q|&ln<;swtGFF#m|MPDo4+Wils=88;=ADPjHX43EE%)uAwrxS%Jfi94jbJm5K$pd z4dqnha9SulJ1tC3XFPYhvN=6egQhLgZQmJIsmh%h3jaR?5$csn7dHcDu$!UmP}x~p z^(?9ypeOIn4&`i^G`2hiwYNoGB=cYq3~o*nE%Waw?M^Opkh(< z;*gJWaaiXrQ7JAB<&sb?MT*N*ip#7ep1WMDTy9Fprps)L$&+&nmE#qmEDYre8gr$R zxhj+^L%9kvi(-{5N_!yZ7KgGpbXSKZ19?p-*O*$CgtA26RLa$%yVl58x$EpNRxp(7 zDTNhOem914Lnt@GZ>jRTDU_w5+yuX6F~4Ogzr0%>%5tlCb0|0SA>(cd<(AN`PzfM) zYbdwsw@O(Nx|N~OE_lOsWthLw#{X@~aaAa{g|aHFcdM1-?V+p=<#ssUp^CaAQPiEP zs5@0rIwErJF0FcZD0hW&H^SbdRqqYuo>1U~=EzEsqlyFZls!~AmXrAne_V-gQ2 zi3dY@Ae09o@sN^uIFyG%c^DFpD2YePBpwar(GrQ+|EqG3h4L5|zoXpaq21*^5z6DC zJVEs*mD*FGJQ>PU5Pw>~J`>8*p*+LeXO;M~De)@zTqw^$r^-Da(|IA3=RuC8673IxP-U#JQ=)I+)yp?GAZPoJIHXQXJK_~D#JknY6u5sDhy{FUS{ZQTu<$Y$! z2cb}cmmh@r_l@0$O5;Q3u5N}u3i&7>g?qSqOru>DloewwiTOsjm>hVAE} zd~Rdv3*(=0UurA93We`qhVoUIf5ztA*ZTOIP`(c38yfema``TlZ$tSGF5fGc?^8YR z?S4?hwrXi{x}_o)IDYnUS0k$(ekep@e2Ap}3#UO2j%l`8!j^m=(#)NM=R(RVLaw zD$DFh&WU6;B+iY5T2weU%HL!K&eKZgM{-^y=OgXFE{Nnp%Fj`ja}wDvQrRyu z*&`esv*7h^u3k{ii)3yj^P&lEz80DvVaH>KvcJEnTcA`HM5){to4ozqCH&QW_N9^V zh;Nrh`DG^5Wh&I=kz5wZC6a{*b%m0eo=}2;z$+)F3Gs7Be^=tUu=Ww8ZC28S+`46_18wSB$8_*JZ%$sZ+Cqp*IV5i zBH`H$=^)glLY|!*~D<{bkcez5ddB zh0UO1c)ubSUxQN$gheZbEn*5Wq5%qa@im@{uPqXIpRU~+uxdz#k#0D|wk51<+adwb z+m#x)y=<@4c8IC%C_A>e5l|}#xa{$+R(6ouMhB2Vse#MZDX|N~t_;hDlB&EOmDj7v zW91UesAPX1ligKzZQ%whjKj9ZbBXnP`C}t@SG#F5cc=Ouvb*e2bbB)9_tb`}Te=rE zV-(TLqb6`)70RC&I8fJqXcM~}YV2~1ccouz++S$(KJpjYXQbN~%KOQ_vR~2t70Q2A zt7xSErc%~$OEpIR7L(PXw7=|MT{++P)=RH^+m7pGl7uk^(#AJ~OX+Ykt^>e^cM{9i zMTfUOw5xyJ@lz5^AHw}t6eOjpz%D5Af=Hi{4DT{n482=?%8~J)PM~vE<9~>b)DYoN zdX{S_V8<#Nq&a_~9xgMyEl@HA4fH99!gpl7Mh3bht?vVdaHk!+b0x1=^WE%krG57K zoHeTv5$F@6N#kdpS&|-BHooH5%lC_Y{aOnCn%$N^yMzaW}hlF=ZA2vIp=}j}GA?zUUmI+Ucma z^6P7Pvp^@he(>%$G&qc=Y{172w)N()JB@|lQeMa6MvNzmQT_FeJY+XfswT7D$&wp;LQokR?355;I^=Kr4gwXkD9z8T!j5BbJqV%Ck!_QopOE*6-za^804DD;>}vyGp|z+{1gAFmB%QZx^%p6HOZ}f0EJ7?$2=8 zTmCG2?|}{TVjEU;``jM=*Sjlq2NGI(HPMkCvn4=%PDDOQV!yO2g+^IaZ4o89w8rDC6qfaTFgf$I1Aj zUdr17!o9rw!yR892>+CSYOR0CzufVaa=iODQvZ8f4VcEw`veHeSOyb_Y$h|%Me|={^S+DK$SDOWxs^(&XX_1rksE%LJdl*J{8gniUy_fl2v zWeN`f6~KwFHn61)DnMdP0HrazSLmJRl^)0dZtxr3RmK$VixeBcy?+Vkvsn2oh7Sgq zvvK1EP=G_=1Sn7kP=K#s1ePdFpy;lPJMubJCog~sWC05d&uo>b?l5Z!6E70ifGHd~F z@AC2w>8{@0t@^!30Run;>K$+a&jA;>SFr*`cfWSx{np}1?g16&fmmgMdT+7HSv4QD z0q~H*1(NeXumV{C14DyVs)R=p@W5W~QKb)PfF<`a=s&LXA5RA;@`4=5DRRJI1C8#f zv>hMRpXUMV00n&3H#*8nDf-U|vR07}5gh_Zi4(F1@7VEv+v zPg|W{@yrmcNzemD_p0$mx34KwK<&-zih_AVQ3HSl>c9*@>@7tN$Xn2U8-muQZzqGE zs_%I6j#Yiv!@_|M05|X+Rly5*iWhia!2(71p$A4FF?9wH02^SV%KG*b#Rn+=Pd)Gf zys88;;697x1swno;B$xo20-L5Km&cLumBoZ2{;0z0Ia|SfEf6iQh))nAOePGww3I_ z%(mbI=>PAu%=Zct01r@fpaH(~+>ffDAL70-4gC~z1O@;$;AhG;`P7~4g9-o)Fj6rA zQ+%pb0vrGq07>uw&0J@3Z^rdMHq#%T8J;Zp(|l7mIDl!21}M7eTH$0LGyp&VI8V3h zL1Y}RSb$UYX(i|YumF_fq907a=~UzTKMMe0cxIcpJ!h&+Gqel<03ZPg0APmiW-3($ z0;F3P?)PVLdzS|RKppP=K?2OC9p@?nfZ~+^1;7D7>U>24fC4Cj0f5~Fup1V$yHH=J zNC2<_F%kewfSaf6=K3XW^L;M*)lM$(3z+ze6%7CgfQv3A0Sw?$tpg^YRKoxPdQfo6B+W%_mg9FF{1{j_h zs;w9bGynx$t7QNLfD^cmG9Uu3_1z8HitA&g8OIxAj$HnO3|LCJo3t(ykf1m)jP!tFN_6)W|Vz#$x)sZ{xJ z`d@W%N6bIH^)KqJKUOTc_2*F6=gyz{m0$U8f z(D8Q?f6dfR4{TnatUv&6|Jg+C13#F^WXD>{8AGegg_R6KrA*O0lv>c?2D8M$N<0sb73-1nanFQ zna_!ES?mQ$V?kT70S;ur4Wv3B27UmFKn5;R)BrbVO7XIkBBSbZleq{-!T9F1`329ISX#mBgN)ZL$q=j#yFsBvPie-SY><(tR>i=ei z9RN5O>3#(_u&v6isbI99t3TzQrv;gwAD%$%)x3!9*hKlfNXav z1Oe~?##m*$Dj9svO!RZs#Tf+9c!1bD2K000tlB|t)>0upKfBtYWn1eE|7 zp|xFlMxhC%*$qM=3r3;U1VK@TR8YA=Dd_6k8mE9TfD^zgyo79^6TA{Sp$Iww+18}8 zLFiS5Dd>sMYcZkM1JDXU6pHQ*l^Os7K!rDhaf(f#>|22y{#ZA^t>6S*JAfz1+TjUi zQQoHkR^fvH2LV9B2MSAQ1fr14+K-hJxCGz|pYZ(Cpcd3sfTQ}kD(MSt0f+;(kqP3U z2;xA&4xkkbm7pI$C_s<@@|m}v2KhBMLx3f)*F<}2qP|st0?>pyULFc+Xsd7zR9hecCY#$mFn-I6VS+NM( zStr_)Tnb6Bo;yiV3IGz=eJZE{ID~W8B!1 zM+u@~Dcyp_RcJ%vi`fU20nmy$S=43&%H|HUTEyB#T!6C=(+d(`t*LpdO%?g3U;_p!4ApsH;4z!Z-RKJ z2k}5l9}NLLfONq8YD*t$)lx7HnBN59fcb^Ca(XHOIh2lLz&K<9Iv`5g+0Q8ILFd7< zN&@)8vkGEhcdRU)FU^A&Y*2x7$O3j~RLsLmq2e7tL%f{MgIBc5E3Kqjqa;pwXXqSJesE1@+fq=*YfEXGq(Q);$f+4^_>;)78>YpkY0vJTmeWuhu zYt^pLwOxQ60786$GQPBSF|L3>d}U0&HXy{;DWGbSq98EQWtsHc``fVg4bB7-KtwZu z2>lNH;d=!^>GGIs1S;m{E);8}l0^#569=@(P5QR02ZO0fc}v0Em+#5D-Oh56OwksZq&k2KaEA zRXsi8#0A^~V2CrKIzSLqouM!Y01!n7hT$x(&%H`S1p?2SuK+3V{}sIAz}*_PGJOS5f&Z@rEMgZJ$hwMG1F*+# zwL%wUHL~8GmcAnr{(n2AMM*O;?u_J4)A?OGX77&Vu1M}itb4R??kVf!UL&!cyD!qE z?*2&bi{yUFJ)pz-!AKs68Y$rAS_k)*8eN+hq)UZMgbwvDewvL=#ODfpVU_cd$pz|2qx$e(Gvb>m_l_nhjY|%~0LSRbP+GvBSIV;VG zjJ>mb1*<^(>n{#W%L)&sW@TD7|J>vz&L2+F$J4WNQdXvC>)pvp_Y}67Svdu|rz+i3 zThTo&OG8i3%4u0SJ=^HcfV%NJlU=3po54vayUA>6{W^;xau%sEOFK^Vb+*;R%FeV8 z+qqfz`&r@JtZah*J4frCL%p35aJGJw*$8;93V0qjMp-!z0nb+f&sPD_+yz?Yg4V1? zxC@QJ&TbAKe^%yXN4krY!rZJ}l$E(qn5PuxwQAygZQ_Eg%*Vf{i5F+-@=H`pm*U)W zFO-!_vq^NrBzKvzysR}#T6cL?E;nVg@Ybx?Lal!Vd(NyZ%*qw1@~_m#S7qhOtXxIg z7O7;5ap<$M7|E_y$*yiC*)=NJ684r^S%PHOTGQZn9saxVyFM#CyuPgb8&td-Qt@p6 zfYNVdYssQf<(6h`HMuD(ORBTq&JXSQv#^hes$bL#K1M zLLNXEN#rb*6sQbHWE4ANg?iC@2FGXwD$`92$%rb4Fhq8kX^ zfid09Ah6jGKcTDAk}TX5WC;OJ0H6_SLO@lzHNw*8k0NhExCuxqa^YBElHuG8I%6vt zvVb%=_6lf*47&vQ*p{+Qezr*iEJKEyW{uRg=)-Q2Y3E*9pMbINOJLUQ#(GAn1d$@z-mw7|Mo)AR zB;6(^q%)P)i8Gaz+OO%;fB;zvCZpW7aLw!!VciWhoI(%DJej{zg|Q!%sUpD=#kw%^ zdMF3|QHP%SMWy$^wrqH79>Z8tl5A>ukcqmV>jNOMPkwQ!d=&sLd(U{(HCdC}yX3v@ zg-s-KR4NG)UnvPvc(k|;WPMV2l=)UMLah++MWxd}{^=LZSQ!^eNa>F}Tw$thJ6d(T z#uC?nYRtu`#zr#PcOjQY1}r1l>}89R)+}9RaySXw8iuJ!$|%iWXyk{)56JJ4UuX}8 z>DVR7M?7t|LG7gYAVsXz)ASy5w3vR)0fUS*!v{DwzV>$8F@m<|(e{nNAb03TISOv4 z>6cXPP6?$UUTNz;-Nn?@`}x(Ty2s;Zm<86L5@_Xp=Wa-Htw*1<+t>aL>eiq5;nHo|^Xs5Lcm0I9VjAxt7t4@g)} zn7v#tNSKi$u`?vrjY;%DKbirNK|_BrsARpe0tE#+9yv_~zJ8)Wsjh6Q=%!OOM1d7H zWfkM6DP`lFK02Ls`S2%H@U)ckDlDv8m7s=y1?yWjg4qiY;0FE6tP1pc1jzpB=h8o5pmN&`blR@1`1n; zkL!>~%GRy8Y8Ny?5=!aX=ztfy?zZOCkc^TatH?iLa`oVKk2nC{H2$YH8drTAC;`!8 z{AD)5U!q|)JDN9*oa_7^MLf{^(n`yoR_`{TwHu;z16$EjH z4-Kp?sdlJp3&>wsK+4IX&BX1PaL73NRz{#_HCU#Cg8s<^POg=LCXLR@PQ11q4Qex# z@+h}UT!+wJpkyqD!35ir_Ut8l%3gc9QMAXh>=fN-sE;mF|1;DL z=GRE3op{(7T)8yj_J#Jo(6$CKruUQm@(WaZJ+*ih;J>W=b%?)$1(feAM!3J(j4=dY zquXEhPiElX$bqfDT2Kb^$1}07Svc1=b!bv2(2bf!C-SQowA;Y@b-()Q0{b}#`h)gb zMk{(Wjj&dHGuIYXte=%?tExz7RW+&&kXA?lYT?yYShBoYqD~s*p;oMO3pPyixsrZx zJX5JtGL`aAm{qn?-NA)hI@bv-lYvgAOd3W~g%#shVD$G4dX=L)sxWB$5=_0WlKJmc zld*(-SS#;p=4&N8vGpL;8tGhJxzcZ!R}gk19`9G(WblHpp;OQf|@%s0f-Ort!n7EUl=ee$X=Acw#7IqB`R;8nIzNEXO@a{G`>-Lo~!sdLs_M5D^EO zrKv`PU!@woGpbgfp@N*4`d1@II$`?Nf6xqj?Ngs2;J4G(zJu$J#&8&fKNx$qI=Vs0 zBC~Dc_E<~k2&!b_sau~W7^ZHA;h8~dJXk{eW9*Y(|1e@^>nEVONIKbytwWXsw93eo zH;UY&FvitNN9*`h2+h@W6uBXhWHse{eFu@6%{u?dqQ=>mvG^0*GB z7;_y)xox0pzq?mt%eAe}d8097(yhJbY7FIg`@c%lmK zhMowc?d#oejNUo=I>bq}icu-{p+eLPkUCh8yv{TkUH z{nh=g_O%Q#5r300iL1Xq@Al^o9z7f&`^y1!?m(1vkQ^un72Uxo>)^62btur_CKU#{rWoow*&`-GCIj`IqVW+^y!=&ab?r2w!8Lo7JTWdg zRpTQFiYO8dAe8KZF-t=x z+URb!%6+beQ4m1UMsDIKV(J7>#6l1@!RHIS37R;O*B7>BNZm!o}f+z|r zO_q6@BX7PXPMqh-{I;?zP+2baNUkWvQIrp68r&r&0^{#ejTH$>ffW0!Es%n7ZlM%b z@(Pa_iX^)tt$@T;8bXogMqH%96fJIX-1}F1vRK0=Ko)C8N4chL?=MNExHgvJIt{2G zIE)0JyNAjTLRBAc!LFj+H8f{>k74vn91 zccxOn|1OQ7XmNLI+ypNw39ir}3Rv9JwgYsPHIsB-%JhDXtRSXhANPPVeNYo95m4G<^C=WkI|I zi~m!wcsgeBw6aJnEAbT15M0oYER6E322Lca3si`ic%D}h=V9bkB|#O0P+;9&)MFMt znEiiA<0tzkLc*P^?Kwg2{nwZ;~lv{&))g#aEYjJPAo+Mxd?B>agN9jr;U(voq+`?oi#Q1*$T%b+ z$fBg%HVGITHOit3Q5NvE01HAbH0h$bajHp>Z<=y3K8s`(A;^Nv5_mYt0%yAZ*>uuC z=mk+1$#LgoKdwGS<1dmE&t^;4$eU(AISe|{hw)U6#vl%(-c9ony>;{jqQ@Z@Cd$bg zh*1*d6gXIB#*!!vaZpD2;FR$~M8;{Lv1^FVU>p#bL6pWB0I1LOZD60N5Ndqs8A@yh z7;yqL&hj-oBOJFP-h#(7@#Hdvb7r2%9&eUk=uT(`AsZT)L9j-YKVO|1TYX?h!p6MD zYJkOn81WhB`2=e4>;ipu0naYfM2$pe5RQ?**!-c3G(v+^jRa;a)@TcYK8Wp@m+EM~ z>S%#apa#Ji^_r>?5Jr-!u}F*tI=WO_LGN6qOfF*|ZQG<|%rf*YR}yKY#z?nNNnD}H z8_C&7J~Ab7rIJYI&Q*}%Y!YBboVt;mWa$&aHLfP)fz-7zuAR6H;x?8*Iq~%k3J0#!L@A*sF*IDvgzRp6OI+&hG-* zfzC>DrHGvY*R?qV))Qb89V-1PvX;{U*)-irqAZe5=%w{$W=_+z6NRRHd^9i)XJ(*m z0X#XG2-G0=gx1)~YSquFVku{PeJwRlk8AZW!V(Qa8wK|9pN~xX|RciS90S#qNl2!QFLkPsF!_ z-Xdbb6rmcJyz{}ov{)ved6^&IIY z?n_;p9O{UEV8V^|kw!iLnzo##98C3tlcp#MUXP7Q9U}NL$YU>_&PQ^C{@hkvTDsNeFj=T}*O{+r_eQKzPeZxhLc;Tb%SxY!AW zruMO8Q^cF$b5k7MUDr0cdvYlw`xGELx^`P;cFumL0YOwBhNqP{H3WCVYKpdD;*l>(;r^cIz)MWt@?iD8c8qkfya)t*EQAy3v|KNGxnw-T(<81X% z2-`-2vyz#H~<@coK6p`nu>akj=hZpq>R@M4dVl7i(>BkF0=78B=r!;b)g=r!Uv5Rr`&QQNy5j2&OJ<2pq64|ayDSFVI% zXa0K_HoikL&@lq|5V?{M(TER$SH4t9+@xXHarAY0mxZFug(%GpdNmHHEUR=hgh``_-#YR%<78kYi< z-I>H?6E~y&L}@~qTcJ1U_oNlsd)O zsK=K`DyH7VXuJt3vTuJwcki0c9k(G>5VHz5;%(#kPFgkfB=*6Rpenw@d+I&_UZkb+ zLE7cLHA*{Ht~n7Z_s8l~$j2qECGX9xP_2HN@<^SEeQ+w^fe(Rm@dZ4-R32ZJdEiXM zJigX&ZKd&zg>HZIOCH~9w6?0?yOam+#CICMy$|jMJa8s(Gk%1}Ps-z`GLP7YKo{mj zC=L7s9!~a?GZc;OM~dEYM0eurH0x#(=K;?m4(NvHR1JltB(rdu?)g)HqR~zF@pVr2 znT7Zc)76>4e<;tw-oJDon3m=~l%^%V1K4f$Zl!72TV0AXQU{07?lb)sjr10EB!F|X zH^o&rTO+rTbe3Oe%4%e{nNIT`X0vrZH-3P(fE#ii57_?WL-1exk8}L|tG2cz9>fqI zJ8p_FPonJXAT3@6Z%*UjMqLU#jARkz3GM|rZyvCYs)b|$nWrM*Rp4^Whv@=!0~Y8` zywFu6!NGYWJ)XuTK3+y`g?bm4YC8Dje3GzlFyBzL>x(@81&YO`z|UCd*J%_u2QzES z3Xh2N%_8j^`~-ZA#qhb>$3o&%5Fn#2M(kCT`-aAugHh@V{0u#@{tbxfGo0P!U=Pi)d4aq8e;+@z7>I2oat(>AfPR zeyjQ$M2GXM89cC1@s)lODz4vGCyC-YwXs0++x`62+KJ{S=7|?i=-#PG;x(q=u9$8b zGOmf@HG}*;ZKb}~vc<=6rTbLB1drdRnc=ay+ItU_hyH`A-iMMj@r{IwGxQ%(^**Xm z>U*y3{7A($xpVoBp$uNIe>1qJE?ZNZz6`xe` zZ3J6m+N&azoIrAt$R~rGh()dX8s8b?db<9)et#Vi-_W3PV#;eb(+u)&YW#RIh~L&C zZ&O8&+27Hqa(Rcr`>rbYJ&h_Sp1epLIm&%M^^h67AE5 zT;s?~hbSoXQ%x9OQs!sM^)t9)M|3*sIm_ofv;E{3XwP?FT8#LYF#pOg+%a2+>eqhZ zUiT_~HJUJoc9I^)loD(>nOrJ#BW-tP_B|S0VynSjw)29XK>?92)CnTKUMa?F! z@!`{hUhZUy$9qx@79Zrbcc;dDPD^6M*^_EaIjQ1*PoOx2&eWXo1c{R$G_XC)3=77L znVzLg&sL^s95_MaaU3{N;u;iw4oqijoVPnSD7$~>X%x6}Ck|Xqu*HBA2~KQ`27Obu zQqB!X6K`(``z99rBHj`MPJ`#BI*2=LUfQPlfy{?$l_rZs)a{nHQZIqsnnpfPTsIlyc~wcEH|gX}E4OM&d2+~OGBsYEobs(l6myCQ zZ_O!RLs&P|S8HrH0o_>8SUJ@ZxuZDm4lv^S{Z78mO=lAp`z{SF zCeZsXjr9g4t{LY0dzNaR5EsI9HMtyZC%};Emfzt1SkMPFzB>)}=H-K_pmA|RyeUqa z6Ee?hZxiGFuts_pHQ<|GvT5oZ9bcih7dMV@0V=ly+&SP1N@X*6t6}svjlk>GvT~Jyp{PZ~|~N zfIHnVHxLWX_$Jc(GmZCdbGJln_#|S(HSYV%^i6sGf2HZ^RoJgnjzoWdtuf%E2nB~D z(cgrGe}}N&$4&h{ZE6D{;fYc$7F?Qh$S36?%tC%=3A){{C!H;qB-h$cWTP4 zG#*Yra00Wl>SHpmJ0CItL!0xOCArpC;$ z)ozOAZ5GkiY-}}IJ;C1jw{62ZJFa`K=By_WoX|vA5ePoS=hT7*Fz3(L9P~Oq+XR7g zP!Q7MIbmt2T%?iUdLTd7q-Eq1{LSZiDX;l4uLYq-YA=A-#a3`S2L%@MeR0^R(ci== z8vCT}m!*X+kE^$6d^d66Br~$$?}e?K2~*<2nJxr|Uy%leBj#0!m!IaIoHsE#7Jq(oYtb7t?mHebD?)<4H9($lZ#7>llYno|3N$X94EC*h zwn2lx<9e$@ve^&vMv&It>fND%-^6hN@3jF@XJRl1E$uMy%pHj|5e-jb@G%b8aN8>X|H#2J61b;Vb zs{1aEknapR?&ECtM17Zce+_Z`cbhHj%N7Wpo`k+aI|v1DwH<`X8jB%+RbRcz;C)TQ zz%}{3wfqgudY{~?y=fuiydeg>$tLYvD$CpdbNF{miwN-d!#2`=U`g;(={{5uK5Q*r zgJ#43s8t<0@?#AKSL;DIc%~E%K9X>7R7vRfXBq%bJ~&n77ikyLOv1tAK1{;F2fMG+ zaPXh4G2bY?Z#5}Cx$rqzP>IaG+^?D(ACs?e8}rMX;#$yMeSm3d*S6#2xBmllO9HH2I*F9;&f5Jax=MiDz0xCu{CbTd=f+a$Eo~J) z4!xUH!?bUiwr^S7K1)A|gTmqSa;-ub`ErdOFKWtrjU?ATwhmrIykt~Z!g;N}xHW1d z#XSMz{TNM68G_2ID<6xZKHMv=$G?u{yT!G~jcx03te`iG8oGs3Y3DIrK)@$IO5RA+ zSkAR8tODpx!@%H6J0R|r`R{Fl;b%(~?l!ONF0syaM0iW)U37U{urxN2*M>QcLuzzT z0y{25G3L0D+e2MV?EY}qHur}ptA^@YA!EDP zqZ_$PT+fNfV)uVodlLYuswSO*eD_4Ybh0z0hJKjSxjZK&4u&ZUGk-6_ps= zu^?(87?Pl%7?&80F=o>kafu{GVz$XPGuijaB$@1HHHpb2lbOjrlf}gE_doZ(SJh3U zneY2%B-Qom?(f`l&pqdV&hZokWsEymP|?q%(#(J(9>JJMzj7!E{q}M{4~~hw%Ho{$ zJBKFb)cY;^KBhib8XN;l)&NWP0XweiZi>Q9%CCti(xpGz`pFgSn1)j=B9O5%hDAC~ zI7-~W>OONt0F?{lQL~5+4SZbl$1~*P(-AM>Oj*i=mpKC9yJhv`qzDZ8gut%(`9vmg zVmg6&$&_G)Ec)ecc|0DgR=GOq)$Ibxu32?65|Hth8|XJ%OfA>u9?-Pn!B*ewX)D zdrH`KMv>HV-2I~^M+8h zD}}NoVh}vle9>x9qb7exy9i?u=iyY5a}7E! zy6z>p4kQj<&f)xEL|lW2iAv88c#zJ`bqw*ibu&8J?#m|)S=&oK?~)Ocwznt}4y*Ei zbJSoU__w&xY;g%fTnAfxaM{3NW5ADLkmgQS^BuO?adk;OG(zEV>J~?rQ~U&0c>=$d z@Nyad%;+3Bh(e3C~#cUn1d5>1cbZ(A*6l6rLk^anCfG@Z26<30&85Fn2QSjK;_ZFjb&*P-H3u$?RYmqI09>^ zlas<&qnNWjnMC*I#mL|)? zlcUOe_I&$}oxxLsFbv^oA0wCxmz*1OoC%L1hYj2{7Us_kW#;q5+%=Xa>%)^{cw#~K zfoFHLeW{rAr|e+pTa8puXneccLQP&Ltf6OWzS-!uInpif*0l(j-HK-4GFQ}iukyn; z(&V+eb_uFufX)0_96XGu!9i($EQrg1dKyPhDTlD03^ZelWZnU|C~?%L-U0FrNP7Z2 zBZ&=G5k)zx)bL&x#Gasc_0-5Ptf%SOoOq*}lSkRh30QXwhz*!yz+ztN5shLU0gl4aCG}$*kEdZa!z<^y_ zRiu@U;r=A)NNHLK!^GuWvIWkb4<*D@Nrf1BdC}z^*A#K3=Nbz?w^93KJ%DnGK&wQKKa`{d#+N_iqsoSb*$5Tt}jVzT4-=lCbb z9=Q|hpPYJ*7|zct5a0?Ua(E9gNF|MYz-|I~&Yh0;@B-{n%Lw#M>L^#!O?pZb)` zdRkteEj%0DP+#q+oW`I!%EqFxhr0US;B?en=AK~zIkvE5t#RV5;v-;KS|wiqx??fT zo>~ZuVoC0HJtM~19yCLyL)2xxVa#d1S?*%>e}M5xdPWruWY zUxk8l3w=bSh@ck@6f3^T8vj8g?*C`I)JOtcerQ=l{2)u2Kc_m|BX=4t{1WZr@aoB?4m9M5DbH}dv)9uxro;5`VsnR~1 z*O{6xmDe~RdWaKo)p@d(;Tcwsr|GHy+KcthiuG_ma%V~C2+MX3PDr8Q4Y9zvq?Fnq z86*@q&z%1DCN<+vnWCSfKN0LB*!T;Z-zj+O&{ODqX`&ux*A6H30=y*QS< z(p~AVa#tPjSI3ey60}?`;U|;?!xu+&4X^2%r3n;fTNO{G_`?o<*s(M@CX&^)ysMYE zYu!s~ey6>wosbGI;H4CM>C$9D?B``XGGt%et-PjPJi5;9a@R>hq8A=r&!gQA&L{CG zJlc~WAl;BSILZy+<_F_zeibUGM9xcLk@t%4>`h{S{CJamm*S7F2*^0lf3FY#kd(EQ zw*GESa9wh@z|2w>0u1oBwB9SzVsJJ7dnL`=KxrNf3BF6=_1uvbyEA5ZiG!!us|5#) z#bB3k1OS4sNe&1d7)Ah?kN@u0%u-S{j9|Rp0uuxj-vAP1U%ep-yJ072!E&d7g2d!D zA0%Lc_omJVwj=LTbx?yq2;a=S?-yw3{#c#i0Tg^o^i9yt1UlI29$+Z&lWcG9OWZ#2 zg;;09Dn2AIAwWVx!m9B{8X$!B`rm4pq%gTh1s_!1{h{vL61P9WABkj*i8$e7@<#$e zNQhWQ#@OD`Q2Fst=Rkr}k~_fKudfekNKzMmNm(u=M1mJA1LiCAZdI~X<@tN`{Jru} z!ZAs*eHh~V^cY0p`-Cf$fFB;GSi|=#&5NY`)_KW7K!&#SK^Foy{1C(bFe^4MIR;Rn z{qRrnR3f7Ri}0w$!$0{_ua2(26O(SvY=wl<$m z*M=8oV8VEUebz{6vHzT~gg^=LL^>caAkQUVs`%SpN2 zetD|aNE zlIoQBJK+a)vHHEH@&`c)0TEUX&h^4l{4pKqPX8xi220gN7U=`$1l=2Db}CNG6yXP(fOMRX)A}mI$=q9mwEh0~f{& zY#>modJiPDk~bf)i{79T>NTBrh?6`}4fFw}fee2?Rj+07Kaq z9y}=bB;bKqR`YJ3+>Zvp2GS{zz=s74M2oLMzcn2+>-#9(*yh^LAL`+4p{=(!xE_TK z_6~LZxSC55fkZounPqTI5+Lv$`O@EvNS@H(pFnQ!QQaQ!g46{Z2yXD*tmJ#t%6sL1 zgvU`0I3R<1Ul^1~Vr2KDj3mGSez0Mo00y?2=aEUMp+7)@Hkp6q(*%4lfqU|vyfJ7J z)5I~L17qSCpn@L}8gQyWfeaYJ_(Y!20H0Ly828D1)dK?L`OXFmAWeUUv47UEgZwWw zDfH=l>8G{=pVJh<{Q(CI8DyB^7vjtAQT~{J$;bP$?Se0=cnSrq0R^P^m+G_u6!6Op zQwAT{3O2A|7xYAMpj~$3oQLF;0e`JFzn;E&ruYr@39Jur;5W%_Qw%h=K=?pQEhAm? zlZFg@l8JsN(8YHR8TefufDr^Y_&sRs`)cS1N-hH^u;zcLj((VS1dTmqiwB$g5r62M z`f*&%pQxv&L&G5cc>Gi9|4hyOyWoI8{c1w|(EwF}1@brfW&)c7_ZMCj7(jyo+Sz6= z@0Us^BdgPYs)G~*SP=#g1{&diFi;Kj*LAx4jeZ9A2N3YLbo@L0{JZ)~_`TqM^$iO8 zua$%`4KIN;{T~7T#EJj{YW-3eU`-f6SP>vVLjVF^QR{z6SBa_s0H3izlSU?=rICrO z=vlF%Js?=}VE%ANDKJt{e>W6B{b3F*(AHjq!5Ed^RDcx$_!|r0Pgp+#`8BelTT~zP zA5g$sseha5-zL-#)p=pBv~)3c^h##Cy}(RwCm@>LJi{fB0fP$+F92BJ9jIGiqCAVC!+io>y*cKGA#kkfy`>>POw0~r>$Fen z^k4yZQSgBK3IP(>xK0nNHW2rlql!Uf_KZ{R{eg4Fwmba~&eF}^=8?+1h!1T9zrC`i>02`va55SdeB`EbMX z8d^|e04bRBDNb+zoFMf;1%5=pK$36?5tzw+AJ_7JLWxs8DVQL6Uw{NQF7KyQ8}uLO zz)w^AGwSs-buu(SV10Q%r=fo?EH4f>EKZ+*fnkw=1M=VJnHXBs@CcCLzZiDyiz$)} z=-(Fw09+$rAg=HYus{=kzfxa)pn(5oFto3xmA@u%p!*t?zpl#Ph-qMOju#X#&;+mT zTLJ^hEcNZQBA`GJf=^NrKwy#q0^y(n{F%}=3^*bI7YGR$NF>Gn>Dc;_D*xDEfInuj zej+rWvb+2Q7%lKWn%D{WuRKF=zg7T$Rp5T0{FLYg0aLH-KLWx0($Idtqz!Vrh)MmI zuzzHC!OOki==;%$B!@&9Y{#Qo$x0p^w zNnrTq72El=74IxvAl)b|90pLT()UP+$uR+LE;+8t0 z-CSgHzv)EleL722}ku^}&JbySrgtR0k}y(hqZZx+4}oVDO` z4@6`iqNmV&amRDQKgj4T(*8s0;9=qX+(Sb5mA)l24){LXXph9fQRA&d=FE}eg;_lc zhHAgCeS-EGJ-@x!-<2hKA?pjEzIds7hbp`Sb-Z2bK=tw9@nVGxFZBCPVfz5|0W1-y zPg{&*>|LtzuCQ`}fAAjPT||}no|xdJ^nlUQdkx{2178BZ>-G0Dynj%h7odFu{{331 z_t)3<1FHW)f&IwgQhJx_lXix|(>8d&4;7+;X(Qc@e#-$#n2hipV273dG3UtKZvabf*p+n*55&wo--zXO8$eM&{!K>R76ODoA+ z6uyjoFo(1*^!i!B{Yd6g1KDS9<8uwYg6sQy+AA=>FBF0J)q4f$M?#mNlKNNWauL4o zOZ56>q5CM>rpzxO{18v+wIwbDSU-S%!6ycMA2<1!*afLn>-qJ#o;%6!!e;rVHp{mn zv=2~Ux>;;dzpaEWVXyK|pHx>*4tuBH5yUSP(E#8+-&I~0ft9{zGp5V$rE})j?<@C< zeg*PJ`7ZxMLH|Je4G7_f*lOs#AF*IR7Q#=a!_e$citZ<18l8W-hyoFi-_t_)tyOLp zB-jYm#`|&!iAOL#b{l#+d~j+dkr@jfNxKeX^k}y5Pjj7 zy-mRRfcBv!P8atkVfb{AzM{zh9&+@278jO?>pR;6>4OhPNFPG1Fl4tGs*W~yg6_i( zdwUasV*v93^}AgOUa}bg>1zejm$6YBABaAy3XYFIU)@ytyzM^Fd?-~Tnhz;f9o^kz zdLlr5aN}Xk+!M0EEC{&1($B0BAbnw~!21m07Zrialnv&MO&ol7WLHjVH?b8qYK&d_0L^hZny4;fk?bp$ETXXXq z3~(|K$_VFDduOpcKbSEO3Wu!VzGyXP@xcuq5JL!zxgFAPHW$7=vkZF7 z@MtxE1dUq&%mIHSfA%`U|wn^3(nh#b$(Ig zx}*fyR=K^(Wi3>aj2m_=@Xym1ycC>ahw9>Na~Sb6aVpSGhsAs^(XNNm~snZDr|i zcHEyv`=<#kM*A&ij0Rsb09n zU&uTzWG{rDJG~5RK{IWoFXrcqsc)70{3UFyOL=r@m4JVj#l3h*N87))&eRrcH+y+% zSC{Qwe}~VG82B@_^UH>=-y1)>(k*6JzLC>hxk)pQNKGM7iw{m*6aDHfHA^FqB|Oz!h_e!U=eV^;Px{#Z&|+|C9hj*V7;)6mVL&<$W5x5$ik zHflDzU<6BS!#&4Fx5l*5gPgWJG-if&Y><$!6;LSL`|V^pnE|D{o#8WW9#nX5l_ekr zjY0FVtCg4 zHeSZI&{N4@gCw@S+~Ie)Yut9XBZ|bf#@D)QGfwsrs%H^Bo83#b^JKrWf-iF~iv@{* zL&04N>{-J;-t4Zk=*5g+9`^Ah*vD&rPXdRzA>sEMurl5#TX^I$dy zzhx;)%9ow51BGMZqF7RwGr(}CGf5l3uo%cFInf$gc;Fzkup1pHaY)$hqQY)Z*UqSKBm`!SqZfUY3114B_K2Bnl*u@s5Nj z0>VZ~WGZb4t!^4JL}!J#SxJC$*1R+Fal9Yy$>Y7ZHfOj1`@_NB#EYT%6D)R? zjl7fCSrY;Hm5?olq21{L=3@DH7{%QBY+K+l*3~@g%JL`FgmFIre&=Z5?Lq7y1&?BC zi-8-LsSJw_>?}4gtJmolbJseaa!cSd$CJ#&bP{}T45LMBCxkIDuoL-qqJXwkZ#P+D zpK*}o<=u!9A)FSX!ilS*m<9p&kA)fJ+aN+3wro7qkMFM&kWUu~cg5HO=7We4v?A6z zakn$79;EM6kuXlJ!Fq~rWqncF{i^;vV#g}CI?5-64xWdIcY68buS_y&gMpkWc5c&N zL#F}0vqo7J8aow&$If-ebQYb0-f?Hw2p?Q@=QMV@!EGp+eCE$(>J~M)>d!}QZ-AZp z^y&Bfu>}^O&{n=7j|ft9FI<`w!Ecob#B>2)FVI&OXKx-Ur08CxuYtNdiP6>NFJvSa zxlJ&kiy8;2AYJJ|hp?uiyDS~3$ntWdmCb;9HrM7*E#cHWnv~FI;rn(>~|snqg5abC(aGogD_+0lTwPkZtI<2x`ZEhZ_mJ zvpx{h%iYT(l4h3;*+4rre|;#sn;^p1OKdUH*pq98 zAj9!bSD<0V;{vJ!G)G~EVNtiJ&@J#ZkU6)eJnd$9+J7}QO@W^YUfGxOwCBkrpqrBU z^f)=4&w{5(r)o^C22rv^5Wcz{cCL?NG>n+hkJhE#R5 z4|rxclRO?ITuqpYL>00=iFNjZRksS0%2WJgu3+JgMEWpsw8`RUQvs$=6-xhce>mMu zgTEGt;a(K@mhrTiA_n?!z9)2LF!U^uh-N!0URG=*M~0DDaP#u0 zm?)sv%^^_$n8Tx7-&92b)CK8rKM#o!?;JP3D$WJtvVM-`(lyT=`*|ASr^>uA^wOxY4L>0-uwmhf!}7p@SoT?}q%7}+v5<_YBjsl*bP z)-rce%@Z8Zo#>WNg>5Z$C2Az*;OhcY?19GQFq3aBaovGw6HNS=ltx1=BEj)Q0lUXm; z1UCvC(FQ{pz)1AFVN6Z#?D|V+fkmAYehfpi5a)Iyp=uvoYCc@5$(;w6a_9HJwD;uP zxgBj!6q|(LUB+_O)rbEDS z106!SHF#|7Kv{rh$b2<)y8ly0P#07|=>F$ewgG-WTi6MfU&I_Y`Z&-JSA)~+wVHPZ zM>^^Qc7^jhz~*-N6r0PNvK_F+&!P!P-~2=RJR$wnM6WerZWuL)e>y1KqXO|4TptIq zfa!hO0rQd^eivd6Sscu^pc>eLYG8V%8lV#qf2c=N4Amn5CiT)Cz&MZBnZ1L{z)9iG zU&9Nn;FifF%lZSBuX-n1y_2AI5j`_0>zLjSy`Na8_kvr&YvhtBa=&3Ov;oX^J}}#Y z8>k}p4@QEibhP~fjS|G7>!={&`di7kq+JqJJj-NLgeVLoe~@+w&4seBpyiQvshtmO zN>M@3T#gAEE50#7Bl`o_5Yv@(!8%(4>l9diltQV3za>vn37;P><6RI=X?9^g6hjh; z^Prd{xIaQK#@#w&OD)KS;~^Z;O-PuRia#1*SM=AT#da>IEihHQA+yVAIvC3Uv>alx z0dO(h&ts+n|ULSdz@bE=7mQbkjj96x&V%TYdAb6h+3`#Cgc z^5AwzXm-SO_vZ25p*fQQE4X>ob7-+v$7VBJzzmP0oKi579U?FjzAs{ii!?)Yx3*^H z_Mwbg)-j3g_9FxqLoC(pXp)YPY3%0a5c}xOGDFmSncm8=w{~c%rA|{T!V zb3g(fGF`gLgN$LYaSU)%O@3t<18{BbmW;tL+S}orE2FofCVwWC&#b?qE&;Svd2Oh? z&aK-|uB>9nm9-sixz?Rs6_3=5*g)kCRJOTy!y6sEanwP)@jJz2Rb2%5ioE&`&Ih@u zupG9Es%04;(DPy$vy3rTVT#S1|9JKCQ)?A&I2u;if=};_w#C|cj8Ct5pe{hm65SLk z$N+UW1tZyUT4MP4GN{=HYF?UHRH$Vz!CYX1OA{-zIFd9OAP0siPTiE)&SF2c^z|FH z&5eG!-9RVP+*IjR!ux6CaE3=Z1^?#p?}(J%4$VHhp;XAN%jJWJDV3hF&=TFlMqSI2+?cSbajBVI zz_GMnu1|=ad-1l7{^M)W(Kq^!JIicqtiVp%@xxErkCXzH$uDM&FK-wlN!e_jJ!O>xsXY{MYE^YaoE^L9?9C$3b?qv4V|^U~yljs&(f zI3z^4O&rqAmV2iS0!FDp%(3#><(W3PGTXECymfQk{GllaA=>EhNNO6lIMi}Ji=IRvKp7>U(jme<#rrM1oB zJ2y8PUWsiYl`|QF>DZ-GcY{;WxUF!jwn0*(-0G!?C1C0nWvThot$EY0*Tf*_C8PWr zd$tzum9;h8RnBzl21d>ysKV!j>2tSr=PXT@(>Iv}-MQKHO9YxOWtw$XZew~3qFUFo zT+rXbC6??sd;KPs^Ga!E7gOk6ik&(t72m|UQkTe5&=a2zCk+>%eIsY!XeZ_^`4lX1|*&q;C=D}!Rccqz8`djo5w#Wsx+~o!V-T#OB^WqgYxzef)cln z5AjD%ULWk>u_JkX&=w9Kcz=8ZU)7JA6UawVWqd4gA4_E2{5W(2fH`p=SIFp^Ts`Jx zA)_n)(;CcY6gS#^hF?D`FAlxyPI-5X!oMTDhw^Cod5pr-gYPKarFS!ZJzd42394Gnw#O9~%N)abPye-Fz%^JOKUso~|pTl%*!V<~~Y8i*TjjjyKRp+ocE zkXwf|;or1rq!FQO{@a#~=G!dilWO`q(T{_erC~Y0TW|b(q4Dp>pwKnBbNoP2p(V@M zB%Vs#Q`XCmtd}1r?ng>11FTLy9F%NxKP0N27T{@HfbgDvDqjwrO+O1g{JR`GaOnW! zVehMmCx?*&9vk>{{0Be$GI9L&OT0nw=K$Ja?i<0IgBAJj`k;SB3kIw+Z;oHltD+s? z%rOcV4zafI^Ka$Uq0@?h&^k|k-w+bIyytI)A!%jcZ+}!gX!plto4hzi;m09?h>pM_ z%k4V#JU7>hqlOCL zok4KtJ1BsAMoZ?Nv0c%dHTTpv15Adwc-)=eCI^jC_-8Q7xM24vhO-vzb)nMhqj!d4 zI%|&+5MRSg9W%Bo4GjOiiDBMnF`nMiw&;)-GKZeL!0 z7Z1>T3*{fwP#(;OcQ-dT2Dc2JJ}k!!{4talrtI*@pwL_MRe54OnvWvlBjiVUcals< z<-ws2@{NHO;4^m5mN3M{Utu&lgJhV+x@aj!6=W9cVl<0sB4N~J$OT>NX;E0Rh!73Y z7Gk^!$(WW77V#kTmc`NF8186$XJJeeT7c1rvU2pU8?BY$a;8bY{@|(Dz+1Rpq1-L` zCOdwbK-cIZRdA!w9H}n_N@~`z*rEdU|F@*UEUW3AD!OHjNpxD62xSm&7^B|e9Oq5g6C`?_CbtwtfrJA2+ zQ=i76U~LdoNft>LzIo?WYes0%B;{S)y`1Y=JAys|BIspIF-NzCIGeAt8Db3EfXvMM zN}5LVz63C6Q2!k&v`q|@!h4dIzlm|%Mb~0`xaKfw1#RgJ@4{}prGJsCk(Xh#$;)tU ziwc{M?o6vxl!mFtA4#vklQR-;>ebYDxP(pMiI#c3l1sG6Z1btUV z(=7k*P&$ik6h_)QhfYKt#>qWOCvu3(b&&cVMle?AxJ{7pt0+X3=GL~y+^O`Kxs*O6 zh)SF-v5ds<6_)4IQVE1MCc25zy+c8bVM4fQ39+F}rhirwp)65Ldh=(BqDuc`I$i4y zy?<|hIg}OcmIK4=mQFVQ{+#!agolPrVGd?p*LrJ!e5O*N^|%?XXZ^v{6$)j_Dys=S z9YR^vm}Gk%M~Nw|cA@wzxEE*x$@Fc#T3*xTs6mg7F*_I{!EoGyAwxVa6t=J>E6`*u z;?lqP0N1hO-0|zthbG}VCVl8KhIfWtHwSQMohz=Ptx={tWRP2F19C$&Weo#1hnxMKf!Bouingne&(dOT}^JTB@vAYr0ft9jc3wxXs_WRG`I@WPCbu z2`D4OD%zdFDhS7>A|bJ6i^QGaK4M#MFFiIP_g>dO&j4YfL)bI9Yo0d+xu9S&d;DV@@BU;F5aF z&S^W}bxtGS!*i6BeY~2OP=4xO)$J@RKH>y7aXb8%=r2_%xKscLoooW>=?UNMXnXOY z0vL_-+MoB3VG{N(GWrP9;+1GgJKAndk}S&PP;v;}4IzVc{VE5opKFEpYx+hY=?aFo zYR7Y=6B$`}vS-Zngq;1wfw~IxTeSMMmF!um)PyxO>fB z&}qWTH;f+;J5)cjC)_xCq^p=|y^EFv6zyc_;11lxs>G8XDsj+scC++48h&P_V!O?A4qO zPfEgV1?)MI5yb)a$QU>w#`7`}K8|EVK#9o`Sn*jDL?TG$mn(*(bo&TdWKz9PY{DWS zF3fM`VxVbkkZoDB!Kkd^PlH)Z<2{x?e78zZSGNutF?p+skkyUYKHbeo(~?>fGwH%i zDFn0P&m(B#h=ut}Li^G1yeaan%`zLRr(XD#S)NHKA6XbNpp;l1h^pS@T$-61o7pS~ zhHA~jbTWH8g4mph!_dQHI1CJ&UM2Nn9`gz&!}Kt)MPCqsOkt`fe-$Nvl^!&67E)Nu zm3lnuZV4Hyh++k|bYXtI>a3SU7MK16o}Z8{{fW%iOw<*mvS^}4L(bCohovVbYP$3* zsEM_DYx}6U^rwXJR9r>#6>2PuXE5}6Di#}nW2LuhkW=(*16CRvPKMOjf(m`5JFQv= zs4vNx0JRxu>`XOl5LKJzTDLY#Gq$yk@vK{z-xNt<{G#o^Ka_82tKNj41OL8}^2vZsUK6hLvGf3+|w+5{SjK%-R#YL&M!Z8(@ngswGp9O>wy@fiJ&9tSf9{X(Z{2%e-~p#8;_R$-Sqk%g<#TH->cRX zifI$-YnUfJqLs%zK0MNzY?5|9mucrKXy;jG6!IUCPQHdlo@M?}`gS)+G5_JDem%GZ z4LuG1BMoki+K=7{NFa~W z9^%m0EvKh>%O`_Q0_Xmmg=P92%kX(CFqmb1JQbBa zy?t?{Kuxr?LE3u~K7Lvook60x|8hoCUs2~@u~`Nk*9uhn^!8OHe?*60RdgmB*4Ir> z|23YV$|q5drfyU?D3$(h0yTvkj}y^(?bFlKwK_@~t3j}mnI=<^kt37x(UevNEH(Cuf_ds;D?(k=5-wf9q-UMRg0 z6@Qq|zpKrkOUsWUzp7A8GEJG`hSp8AGi6${f}w*|CCHcqpz`T zl2RXsd1j-#>Yw>6^7&gnbLA&*Qftqc-GZs`N16L#7=D4^x=@ zQF1;M28*UU`2Zd!eIS?E`0fqmz+H@mN|nAWiRrUzzTIf3J)AxOA#`uBko5?b?OX~a zxQ}%my5;aha=ZP2hE8b1q6`945EtzsqM{pbD1&(k!f$wpdd_tk{y`4`9&#>c$irL! z9c-?R%&ZlqpDW2w8MMZ5>rzV!~KD+CEiGPD*cxqnMHPzD2#q(YENW)rI;W;_l=FYt48* zNKRJb1Mj$YK1c+Sg&&75L{-d=nAN~qnVnJFFdR2(;3Smbf+d4f>i!CTTUU@40rDpp z!DP;Hgqj_i%H7D&e@LeXW~WPWG?`PvFpG3W7qbtjQ&A;le*DOom}r&u>Q90v}k z#hqN0;x|%Ae@EM+qmm6N73C>2vi5D5Qxo0Ub^Q=(7pV|Bq4}Z${Tox_K^L@Cl*?s{ zQJ85N*a4bUh6x-Nx)?kl{tJ!jD_WR93z~h}N@pD!H~^bUGA5-|A6C5+W`+4cH`}6{ zA}*_&t$99~Ev}1eEvXXN4{4k2AO&^31;;fo#OqQ%m)2%G1UEypkBc=#n37zW`7Ad} zKOJd5^}6V2eT17`iB1CnHw}IDiN2U&I~Q1R)1&<`92Y-XdXIyt3j$m))a5C2coIBt zv1%M|1F$P<%`c_9rCE1IPVJDB^>Cs)QDZnM3}v}nuG(d*-S5h-zXs`?0Ck;Q`mcDjjAKolNGC|xwIQCpgi;&OI(@Y0eyR&A%c~FW2RtotT`jt^Qdb3@ zbb*;I>e|ZLz}Ien4trn&k2X~0X&v{;IUQ{u8r{~6hN}||mjK}};GfKiz3JX*Dt|0) zii4b#7o(Qus9(qjNBw+0IO_ZOfCcx;M6p<^E(P9fwIw(8sO1Sbz!}lPDeCf5L*eUIlKp=Y%JS&yV8yQHuC%&*x~pItc-;&3ABMf)K1* zD@|Ym^8pvS_POGJtJz){^+dl2^{C*r3i=(KQmjWsAPAoDeC>i|FNs;RhPe?o%Z>0P zX-OF2BrI_@(38}D2_DVI{A_0dzGY|G99FQqR@87zI2k?8a+GL4vPCrSWQdco+uo`W zkD%@%$P%uMOW5mI@xoVA?lgywpgXN`?DEEG7`x1HKUVXUK9lAM`R&%!*h$T9Z8~<% zF}Ua8oHH=QN6F<^3m>z_w7Mi9zgGNvAZm~ zNM26K%h~&($mVhp{m*81#Tg^$e*z)4_!qM#fGypX6@L{=V>+K2j>@&Pz_!rXHRUha zLA~8=bD%9FU)2KG#up-g<@ALd?5}(ha!OpQ z>)rMBdVOB{(>)0;gL}AOqxc!B_p$f1*RI$sQJ124^VugI5dYnzTT*;IUD5{KoP;sR z4fz(eb*u21D1(SNBhTpDz-FDqIOgU~I#@L%=68om-NDTfebAjrG}&(HuZ7MjJX0Ygx=ZrjMIxN5H1=5JL&P))o~ z#nc&TZ*WCb>#=GnSEQs#sTEY-Nl`4+vdL^en?_0)60 zb)YB!`8a!JX&N5bid}Q6n2fA7Oh%HQCR?d2L)S!i7=C(47E>6U2^+fS0AP`KN)SJ7 z6|9HDt*!~6%GWi$qwPJTT1O#oOyHja5h%Y&W+p8lvqkyGq&~V9shcZDDzOA-d;X<4ga&iqIe>8+g znW#N#C0HL(%w&BlVR4@9x-dX#wd>AjZmI~30_>~)2=7VbU)a-Wp)J-%n`qcoa2htJ zcj$y88KIh(8442)MK5NUzr{>skH*5%FN6?oLlYCZIblRyh#lH-q?sb|2q>_5P~Ch- zjwy1E1c|{q8G&-sPCibd{Ni5)R->S7u-*Ned+ zSRb|?XrH(;_2hfI<>M2Q?}Z*L0+J>>%o#(m3Gn`1=~wV>PH{vdsQC(wR$`-F$QcZ< zQ{Ir;8K;JC$na`xm64@+{nq4;aR8BB$@xx?gFb^no47uRM+Uh=qCW=hugeBq4?VCO zX}n3&xGugNan>)HM6@N&;g@q#Io+01p$O7Q0O#`Sxzw{dNE^`q`8+zmDrusJ7r!Ux z&g*D<|JV*$r3Ist1Lt_)nqz>@b@KNN{+(OrC-V<+@9kx0;>78kMX`gmNJ_+bE7Vvs zJvN^Q4lrUeaeTMqMBzL_!8Yi`z$SPCBUJ{a+!(3l0-e|vBAQ3^Z??t_Lbn_(iuK5e zw4d{c6n3CA46HFefHjIr)dSyU2eJ7#3~w1z2e!^+8*-gJS{r>pFxE)AnSCWR7Tn- zkOjda-1>T_on~g;rxAtwsx*1@*C`uoydc@7RjNIEt|(#mTlvN)Va#8?Ojbf+!osD% z27UnpH=m{|;W#=mwhjx&!JsZ?P!~523ZXk~Li#xDuH43k7+wj-vC@y^K`W?L2YuyfaZOy-gdA%fiuREEE zxieM$%Oa?Ypc|r`UC`ZiGOM~>8O;%RLlHOnqztq{;o79Kdr3 z6X9?fv6)gyc4PCyZc5er=n2ayjq$&4Fu$hPCo#}JmQ(_aHyBbG&;v=JrWU_1ar;t> z+HToZi8F+&G(^nc_tH$ zhan%N%j=gn1`xFvAkext$$GgYYjurWupg;FRuy78Z0EKyIp(uf*I>AGj3P(7X%U3i zBe_7oxd6iRyq_7mw<1o5a5^)2V!G}@r0B$_KFho=v(MRRd&4rIx>Hk%`*l<}Od0VU zdLy8qg*3Dg8+=P?{H*HH;!?xHe$90+a7UNEU>i7!(K5T4m1PhJR}!o&HNTKiEQCSQ z%_6!XpkU}maKgoEzbJc)G_=)j z*`X0f6>d@sovom=6^)&p5;{XpK$splfRq3t#WW#$qrn_qg7P|hSfb` z_pR(``(yJ=DV7tcP{M0Ur3n-ngjrFjelJ*3N>OfszxAxRdlVGi#NYp4sMlx*>XmpQ z6EqvS^h;ZQ3-AD~FlnRaHD1ahlW=Q(j0u`!!V9oqPwARyQ<%fZa@`n3ne5&DXsC;T z6wyv^XQ!6pP8G>aVpT}h9Fd@QO)QF-XW*baK{(6B0d zY=nN7pV9c%&B5sGA)0CFrIA2w0ghyly}b0Gu?ZCBAxiw6NErFC9LgmtNk8Xup3&K8VqKlyTR4E;HVvu=} zcn5uB7&|ETgp6V>?n4h|ov3Uf5LC7k%M7io2_W}ahs4QLhs1*LEBcG3iRN}#`kGnk zD?Bj;^x6>>(6&?%vjz?^s~xGKPs@5co!(AQdm~!i8NE5_oP!E~)uTY39;wbuWW7E{8Pa%a5F!k;WCYc}19O z9CDQ>Ri4<_UcZH%zm-Q@tHK-hgq^>oqwR*Ipq-z25Ec%p)*%E}h%IF24nSy0E@*ZX z9msaBydUhL;SajmuC|ZK&imiCliO(8@Y5EfDh>h2`x}c*3Uj0=y$u1hN5-%STL6aT z`9d5GaQZa@xU&#Px*NC8g$~AWlQM(WcCiUJb_Z;tWYErWbO1t|R}YM%i%YSE?U@iD zBZgBUx>5LT5*x|1v{m2L&t6)L3+~J(G6EFk%&%r-@=@S99!q3Jz28VDC=)-JUHrgW@kr{uha1X0*!C=Ck z2oGQyK@y_56r&P*>*7qDTl$r~EyJq75GiF5J}U5#gxfQBXE+F*9wVZ(F62~Zu6L9r z%!dMO)yGfxZE-^`(2BxMNGg3xVAz~;gQ_&Rh^WPG8T8VeK$!aJ-$ z2w-YL0Fwfru{hw4P>WIj~VnPtn`5wCls|1wyr<*OQ3BrFnGS#h1H_F#tLFa;w30ungW|k37i0it@<~ z#-TEw%DXcxi%5|d%|%p~7|6`-Lfm3H+FlX3d2_mH{(s@->=Bc^aAXs00S;&@{mw?# z&NARdbWm>f19>}CCa1$FQqD{y!w`wj#m&1!$vRss4v|1@a1M<`18C(?`JxR$LjvEU z?QSyRp$rE(_U)+Da1fY~X+7tQ!HWQl!OIS(D-Osp12Fu>7_UWT3fy}Hn;aWQvA?Jn zxqO}XDV`J%pA-UkILk1NN7Jgh^F*pSyrb<;`O)G8^0;p1pFI2}iO*z$y#743>HsMj zSULkCMXg(Q2|ffcicN2*sJN3L7D86>PU|AHZG2HtCwqUa)XW|9(1D0jST2}lsKLOJnzcHMNtwwKeK12MZ+i=yf}Nnj&gRMN z`fNL8%G9Lh@I35cieXT3Y}j8U1%+44#GgZJ9$F9>{$HOmV_9(#XoK?`-^Xw&fUT(? zEkh8r;jl>;UJ|E0X$T5op)zF%MCDLFZzgiyOyW`SuZ&bSv7_zPg=Aj3ArC!GJHr}4 zrqAnIDXeMfP_Rv2np7&xH6Eh@hsQ*qDb2@JDti6OaxnhXNLgTqL|JCNvqGk0C~<~Z z%`Twvma=3!q&3-1sfx7J$a6d8hyJ|t8n8Lz3rUv`6t>+T;byoasvaDjni4qZf3^SY z6i29n6wTUDg`5h?SYm*{(59KkOQNWt4vHtggeg-G2}^r4wHmR%9c`~~a5{aC7g9$e zh{+ineQxA$j18OVw}2-!YN?{~E5-O45h~p0*gz^BZTs6h$H0CT@UO_fdF&5e{AJNf zcJbG)E_)&cR%B6sf36IJp@F9o+`=$Yy&QLkgqlM>?XVTY+#Et{<;JOi_Vf5gDaG#i zXT!}C=mw9^Y4 zx8|HwNOsW&iS{Ss+B0a$B#@f#p+=8wf=2Zf%^%s2K%hs0Na@d3cQ(H%nur>2huo~I z41z(-=c^Gun&oW2VF~%lZqRNVf zldzu8r>@=cE5kBgxEG1nIWO#3a5}q?b}tOliQVig{$e^EezT|5lD~}mM{pc$xY^TF zqalmdwgj5d5PP`L+km*xyRCxL@U0gl*_CRK)E6R#t04wUd9fV_!mHf2Dv{-{(aYH$ z>Vh6~+a-rtOV@@bh|;Gfc7`SZj=9=)|1!7Jy{t;0zL&deV`uI74qCnIWZsf(*uGuQ zJ0YaJ+pR;3C%rOk?IGS(3zjY9fg7V;YnR`v=NPH7f;Y*wrGgl_UXgq_cnoT|n6qw4 zJ_tT+Mb7^3=O<-egAd8vb+Zgzm*6_c`eMz((Df=T9Csw_y*pAkT5mv!sX3em*=l=s zW{!iWV&I}GRwxWzcT*M1)NAV%@3HOBE9=(luy~L>SEaF5nZMw68Mv4zfv(K@#kV&l zkr80)O0sZ$vUD+`Hz&pp4zh0XejfnwHV-6cK;L!xeX^-Nm|*C_wngr7RevaqOHA+K zxJ@6CK?}1M3kmt^7i?PgGB9uP-&>_JVIcc88thv86HHq*k5#J~s}@~SOZiD2)9;wH zFmJts-|-HdFN0RIJAlasQ`S3^a7qx>ucPfRO@%2O5KGfz;LtV;)bqOf$aI0tf}5MD zm+QG`!vdzn@T$W@Q!`mP-ZQ3ygZj_YjocdQK&G^7Y3cLEYjCxf21n9>;iW1=#0uIp zVU?;5q}^B!1BIXoKJm3>6~ z*MVda{~h_y6y$fQJF!|<_F7ADe*x?;P^sO1eRNC3tGX+ghw=XH#QizhRjRU9xPI{y zelKCRXj0(nEUJGOAzBk~4uoi}2FnEvixu0e?+uFIl3+nm#IerM{ED(r`3l-^6YK#a zWDoH+S9EL9)LQhqewJ@4z!+p6np$TLhf-xhC_@#?I@d?ByG)g}W@J?suddM!L=$Q5 zB2!4SBBf_cnCjps^mnG3)};d?Fk6tAxLrC<8;Lv6{1CUECf60Suvq=W)Qp17@gYQ| zw7pX!!yg)RPO>6za!AI+Cg($A^fH5gshr42dn~mIG&p^TtrMX_EVNfz-Pt`lxpMBv zj<$aVv!i= z&-5o&cT!n;LpU?~bq0y2h(URa7?`70;aV2oio%rL)NPPt!5y9zn+CTrIP|sNg<{_E z*EZe$K(5QU(S^=*{Gx2rT+E!ZZkRd6$(Rxvb2vkI20ufpB_IXifZy$B(q04{ z@~f7q$B-&?-N)9O?`QF7RuvLBGVZq{I@-Q5s%a+sO?c>@l&}4LcV7uTS)NF4jk^Du z%#X{<4su64pz`&gYh{YBi7J-Mq{IOJ6=U_Zjyo9 ze3?3<%!9;JsqZCAz!5Oe^up328wHm{)O92`N@XJre|mfs6zr|5?goaiGrQUK=uKFu zBlO`|*I8QB12D8BxbX(Bsd(d!UQ?Mfbp_OOg1`gnnH;bX$JqHCFjX>Bj~7DEZ^UVAx!z_(e3lh*4S^k7q{ba&i>X?>$IER_XXq zn!7L;;iU)gJK%8_j*Lp}h9Fe>s~t62sGUI&(1|ZQaGv#0JE1A=!P($eFt`;OocY@5 z<)1<|i-%bA1B_}QPFKiidUWAROj0CfW>?}RIa}OL# zMFu*}oq6gI{HIXTc2#Ic2wE>e;VcOXX>vA3aZY%H?S2CXi^bHTTU(%ZP|z_QtWeO+ zZlkoBCY{;3y^u#Qv~9)LJ_7B`2kzPIUIg6JZHn9Kf{wP2=9B65?c{>p?jVmwwo7m- z$D>hD)NDJA;|I2rsY|*zw5)6F1j2W=8SWufb!*#<)9%p%+3s;;U8x4g!l2;BAP;p! zpyYVk9FNq%LYpe7GDMYRl#Mz`n^Q?&1&fX}(*palp7Cc?FH$i7l?u^UxguQHfyl0b~lX7!N{83j4J$VW?Vqu(e_x=IGGSzIT||n zESNkx3b`~ud1P29rVIS{UD9-9Aln%3T#}L*_{p9Y&ba&&)hB+Tp^1kO6Bq zTk5(Ymo-}}!_`@P9UP)|S5r1gdxChX9wxB*6Eb!$^CmiNV|gaf0XtLAc3`Z9eI=}O z@Zo?$6+|pFHihO*frq?W#*e=|6#=!8eeGt6n=tSJy zHg%>Vt9mSg*3K^wSy?B?g=Vm#yM@w#O@ zU~$~o&xLJSxUlgk=Run7ho+XglW_jL-@L5ty4EXooz?`O>v%a+aWH0@H5fB@iUPJa zxdE2L_B&J_uWq0{8A>1bw)x!KNZzJ<+p3-*v!2?~c1J$Rax531XQZCz_aRb~n756V zM%lK5AYF6ZcJ?Ef$9U2iVodyi=M4c-30KWxr#B{+IweZtTyU7!LCPUYJc;b28&4;2 z0o&Ww7$N(__@PdXM-~b*eocb>uvxf?c6x+<&E9Qd9A%Y4P&l%t;Ey#WE=N~K+c%4r zK|XaC$+qdC4FWCYpXWxfL7^SXJnIPQFUN%!< zl|4MI5pyw}+Li`PLX_3cHm@Wcdoq(UwugBK;mHv^G4QCwVk>hbPi*s=c&0&TQ8||6 zdPA8x?0nO_EGjGxPv-K(oJtlI=7%TqXouJwa{OK%o@9>SF*H@tH~2lS2xUU@Ft)Qr zn^W%rafc2*M)d9BrT6V++&0YbvC7^)G1Aqtj<)X<3e6k`Sx}(A zkL|M#p!Mxu7~S>QRUzgrRNU)Z8O~_5yKR(Wf5mizoTxfK+qiSzVN4|6x%HBb*H?zY zMOdX2Fyc5^+u2EJ+{-ALcA7TsCY>+*T;Dh__o)GaP1{1GVO|f1g!Uzf5lL;+sA62c z3Y9po*gw-ih`hp1tEiQea?tMGl|vy!x?t}|23(VxrfqtA#aUg&3JS4} z$8sSvCskqtam5Z-`zhkiG*pVQjYEfm$cF%^6QW-X5!n?_MSkExi^uC{DeYt*IMm55 zJUN3i?^WFcb26#g`>#q373SU1c2`T&1hB}>2tcR)-vpkzR+_Px;%V?8#gkSk6*Pi9 zANDyEaN;^R_w59P;4m@AOa%lXyN!+8d5t zY?l4c-Vmi8v~>2xfE8Kqw>g zVWPF}gOK-OdJdQHR)F`iTQ&gi`EJ1bdIP-@iquXe3@%N?c#91$6^TrUQ>jzgEvC$_ z`Bkjus_adz#zuJ>&7bZFqk(H{N-JkD-ZRoSCF&q%YJ`KXp}0A_4*GRW+C6ii;_XAD;l#;zO4(_)Fa-?$Qc|&%|HuFnZSfW(L1G z>-!3KMNITS;VSj3^+C7zEj-x518cC)Z-rOBm`5+J$^hCEc;(iPwvXi#pK^kH`Keq3 zlqwb~ido8$5oWm_qBev@l|yh8e4x4X2Mu4~s15J~#quu>%{TcSn;sW$#;(YCp{RIe z2xU!BcSUnIw=piA2vmW$mdZ_maaM-uM4cs3HB6saL13Pf%6&l-Iy@c(J+eA6veZTy zuc?W5fDHh1KH$@D9_vBv*IEr0#^f=2=esnx$Qy zBJFZ)9HCS~$8>%-VRReIhnzuIMw5!x1sJu?7iV$>kOj1->TzrC2_!nRqwP&&4wIL- zB0cE_FXx)+@#ZdUniRijQWklUPv$n?0Py^^E(0T7p*GVMBz*}Voc~I9KTNI*l+7A! zM*Az!5Z8ENJll8&tptDyl%3&j27S<&a7996V)UNoPTj<^TRWyJ$rw#M*R~pi&{cS1 zzpe$SeD`vi$>_=re$9vqNLt&(4IZpu`ISnq-gt$VC%IkW(}w4>{!Px=NvYXzyeWt% z%db{uI_~stW@K9S0zza{JK-uLop8{R33@T?tR25cF<^`ExMoD9q)lHk-~C4KjraP1 zl&8Q(@TBg4S;U_m(BEoNWoHme%Xy$uY)!k|<}41;1*vkU%446-d8Z0I3%2f!d3 zHoRuP(VxU`IH0@bRWADF$b0(B6FAuLC#xJPB*SLeWlOKL0gV*>$+}-vo_TQery$d9 z<|I44^iQfE#-aF6UzJeFw6Mg=1e>nH21NjuzG7`CN`hgxRyQd+*&wB)ln!Tw--y)U z&eFZhe!~%6(u-~6jUgJ8ZfQ30^FopH-Ffc(((Uzu5UfGF`i0Qe1v<=X{zXR1!tR7B z=q42b_(FGK$OaV8w+;RxcaeVJDAUT~h^`ZjYmbeEKu}S0XTM(NE>rTL%R|}CZnF@m zcn{JPj!&$w>-w`u%D&iAgaaN}|B`L(;cP6Dj zY9)d7FglPtcL~o!20M-J?j*e7jRD&uF$9nG(V55kz)(<62m(&MH^zFGfbL;2?-jU* z2;eoLdhTP!LEhgaCw7|%u%4F8X}#(nFvs=>lKQUP?Dr)AdKy>fLBV^n4e}5zf%4Jn zkR39t!oxyNJrZ5lcM0CpWT>8CkGGB=71T$>4Z6o3ye$Fc1J);=ejA1NX)-VNt+wb} zh4j8NVdfjzN32yz@LwV{Ho60sd zbMtkaPI(R|gaY(a!9_AtO%0+@PB?=&d}@9sUCxZc;bNcRe~ySU;w*ZbrHw{!MN>Nj z8L<~~n~jQL_Q0?ZCp6a=L``L(m>Y$}qj3zh+t$Dky|T_9t%_FiSXR=aZz%+j^=1m? zC?e{_DJpsWGBZh84Z?bgTPPIa59~NtLXjner(qTBvbB!$Ckf|I&7a7~PRu4c|o*DX_OY;Gsm6EfcgVr=z|RXR6#;h`xgoC9agXy0o}b*b0P2iDLgO{|xLhKo|^RkpYn zQRpHHQQy)!4{%dT!cD10l#|QE>8?+9@v?=pW$WXdCzq36 z;t4xmRCY1fBWvI)P1%7D?E@cLbhRq@&~5%2=CYly+p8QRJBW2cU=(+?yT)Bxy2A$e z5{8rJlVDX|8sBvv=_GWdyv)6P!0)0=J&CisKBET z9ZBiKS_;N`r<%SK*4QV=uZ$RBT{uNvoum z&is>nlen)!OJ#0W&tWr=?wBl~ELMP>abx0c7FgDEBm@fROM%VmmJ==;W0&MQ#AvP2 zfW9P5hAevHfZ@x-9xwvdya4^^4 zU*}kApLqU}!t*_&$LS`vh(*>7Obf10VXhA2nY<%1ABcQ;Ptzfk3(vsVbrt)gG59}{ zYmZ6WW$X|xTXu-`Ql3j0S=a`>RI-0Hf*%%Sa#GO44xnrt8e-A{OtO(^gLqzQ1HG#l z`NZ-UUVGCX^sU%{ChIQdCYK&I*euZwbWmvNe+k5jF0-(SpDyx>T7q5XRDUG1 zFoR5ub8mKJb`&{EBbr0q@P>5eDGw8V4|C~v9=BIBzidahj)(FNgMhr+*6Ua*apU@) zEj=w|u{){+nxs)X@T!~3(W&rjV`58b9dOz*~aZ^2Y0IzOQF$|X!N9o`KPSW z?-fCN@lQpsjXi2*|-Nv}s`ss_8NI`*fD;kW1_st8#I&;L}f= z14H?Z#SqJ@svurmoHnHTt=R>BI=8 z3;2G)!u;p#`!hx09WN4**~td!afg~+Sj@#K5YWZ$Vl{G!hH)u1FRkiK^OwVxHnTWa z@UJmT66fMYT(XFBz#U2dzu9f&pnJ+*ECIaSix=ka5mk*4JQvPTgS*6?bWhQ5W647# zuWcM>+e`1aR(8nzW9?krp@?IV6WVNW?ku4mla`v}*)T z62;6xVw=uDeo_dqPLjPfS@ zYS*SH!jM=~88xGOYj!#vtTJT94W&r^5;`kuMvB*WnSw(fily^r>YbOAo-7rY()hIhOPF9W3#Nz91Mt{rwcQ~ZYzy@@v!6>-a(a0cP)jHO_K#Mn=n7$0(+Bdd}zceBFGQBtabT4q*L`3EZh2&6M%Uko>{w zEMQ`$mx5FBBUb9*GMHTwx^14g4Dg1Jr^N8+4Nvr4t`k%Lq}Ob+Po0{{^|Sb=leEJw zk-^U}JzXbpvg(9QFyxK5lQ#q<8p|_1*FXI|&e~M4gz#OuQpFKbyP`n3QKxOn6t4cm z^W=J!)#*JtK39bO@O!h>*QIv~eJg>t+LJqWmSD9>S7tlD55lNzc7{>Agbz@+8~7;5 zlyCU7GllTFgez`K>1{@!LQ%DH6Xxa0t9|s6+#D5I?=#z?)ZJDI1nBI-hJai<6QU0B zJnu3V253@{425AgL+o&S0&iKjU4Cvv+)`=slH66=1vEXM_$A6%fiL8FBSm8fqu}6= zTLjRWDouCO_d~(coU3x%-5PGYhD{T-^+0WJS{!J2fD?X}Noq&ZGg6pM^%4$yYiM@= z)?iHB1u0`vPcJM?elz$?{1CDgO%pNf)u ziW?Xh5)3Je#lISvVU-#O393c2>=xZf4XfShr}{JK#A4*ul*__dCJQU3Ocv>c8m)*- z=&UfI&>VVKz3_9wH{^!dh2>m=&vEB&sAE8Dej|-<)FEh%E81t;_yvr>LVYU3Vzb+n zt(Ml{LVh&=NK3NlE>0Uj#i}V?YO8o@`qWgb-KbVCPoJ22b-BNSldg)GP+jA<(Bf9N z#ci!|1AcKfB20slN3NovMcH3-kRmk>9Yw0*rR|`gi3Mwhhy`}-wXLJ2Ml4XHFW00m zL7!@bd7Zv(Mx}bah<11RbH=$j^IwjV^*Xnkv%hq=5$Fv%kr4pw_^+W-WexXAo@x<;d#c&^3B19u=! z+^Meb%(@OY;qU^LVUe1YVMc0o|p`FuxGeGb$mh>>Cv7 zGX{~B?<7jrrOC=L0gDl;6-CoZ;nhLUD)K|a%Ck2oyL2zMW#(FJeWGOL&jykzBE;K%h@37HBQR z{|qca3;CWnsrM#mM+yGW_4_a~)C>_GW|#`FP{t4@pJlxGnr z@=CHS+Q2@XkZO_qinS0B^Z?;NNy6yLU zMM8oy?oTAd03{@7jeww(`(#?~O#dk@>8BGo?q?Jk)O|W}pGg{*^s`Ezm@O#*K@$Z8 z{aivs(3&EGHWL#xP;;2Uzr-1QG0fm!6Zgf${VQd^q-2T*{Fg1;;+K>4{wr$h-x9JY zk}|PI=0ryJ)i5$G#n%$|wPe5ly1MwfNKLy%Yx50hcSxNm{L8lz5-PfHQJv(8dhn!W zQw-@7-M16>9b(3QR~>yXaoi$xHk~Fd6|5F3~uf+Xl;{J;^{#yeLDHCl|{YohlvsdwJ75+^^vP9A**8Fd2 zo1BJ28O!ey_d9&E7b}CJZN5Jwjz9m9oTmheiT~f2EwM%hMI-z_)|cf^aj<_*NSUZM z{u0}GCLxz1nG&y4azsk~btrlNE!KNh2@=Hu_T-g1aZf(3-wk;NdIR=t;rVXN^C#&M zE2KwcJU1yvqPrt28IS-xQk}ntht$BBI-rbUSx8@t^^tQaaEuSsU zE7jWVdH2e^yPeivr9NMkPw76TudVMhO z_+ek(J(!QG!iV(u;kYOO>*L>Vt#0;j%e%K(H*e27 zp1nOEH2-1A9?QGO>T`I9T6{e3-jR2Y)8YXQ_<+qJh-&cAynClL_C(%2K}&X!z3czs z?oGhts;a&3I(4eMI;l>&G7?A#duJdWNJt=ogfMkAF&!Wx>4Xpv1Z0Xu90~$@y&VZA zAgIWUBA{W=fQo_xgCGVFMMcGVp67YE&eyBo@4xmwr>c?;;C;U5eV+H#4pnu|o`<#9 z{;w&v|K6gz*V_O7qT|{7i-Z0HD)ECw_kp7OASHfCZTwKPjrSFS>+e^$9w@r|ithfR zd!TKMA1t~Do9+9sN_(j2K3sGUQQE_5-@~ze@%;TrY|A4>_Xut2^&hnd$NB9=$2)#) zFIFEmg8isUd#valExN}j?Qym3@nUxLf2`;}7Hif}&GAnZ-4n$aj{tYe%KV9<`*_iP zg3M2DeYWU6N6}9g-P4SiNYm$)`Sa8=StOv(e}Ugx_+Ko#FH%*P|5DNM>`TR! z{>v)lD@FI^qWcPkd{v$MYBumI{MU-^YsI;R75?i=_l=_adeMD@bl)T$DZgpMptgOh z*uS6ucF}#S=)TS6=sQaO-J<(W(S4WX-z&QBscn^J0Ib^phrOi+z~74QZ&uOYV@3a6 zbpK67|4>E$Q*{3*y8oe~e-<4H{z*muD!PAJhE3Q3i!5B6x{HDKA*l9Xj^7+#Y)Rb~ zUX=VLDP>)nx=T`bX$lUN(!$G9_qxc?#WuckD2bs7weu1Wdou1Qz^>aI^S7V0>EL+WlwqqfVNQ>gu0QupT6y(L}dZ&b#&rtU_fWK}6?c2;-NFGhyqk3L(A5HyZ8j{CT_gLy4XGlJ#<@E&d zxKsB8eg3%m{E5`j3jX`?*yrrN^JMCtOv70n$mAze_sKLTlb=!pKb^WyrS8)-@F}gP zr_${3);xbEMYH0wsryXoKAR5t&nd;{SZ{q=237yG^?kAbeCqgnI^F2MpcG#q#bN_q zZLxfjXCj1OO5K+*w(s&^P94v_oDTZ0s0Ck5-B(igRa)@1FhpNVwcbSFzOEhejnsWT zb>Cn_zp3QkO5Hb8_brltJ9Xb?Gy_dP&VNT^@!b^V(eDwXJ9Xbp-S^^vgx-HYb>EM@ z4=wsZ>V6Q%hk}2o(tnh?AExd{l>TFN<;ON0p@wz-C#n01ZStRL7JinxpQi3-B>lP8 z($BLsF~|QxyZe`^`$g)0$)^963jTHKewDgkllnKIm%nMI|844io5uJczfCC#Cxn18*Zo+-{BBUsCty)cpmL@K=@k zx77VLb$_GOzpKH2&l+%?|8JY3b^afz`-c_%Kg97)-TzR!2u&ERf2QuA&C&XoO59X( z|AIo58vbIeG~LCe=Hh`wn&IXOzZtk5ynV6X5+7WG;F<^X{iP+xvr9`u{&gis^4FDC z`pZg`dwI!SR&tk9?(0?V>nRu6B%n}_e}mq?kx(5a_eS1dQKBbTlrjSKrV?x5$`b7B zRfw=l?#hz8s?=m(=lH9M)KQ8uY+IGrl-xC?oS(f`rC(Qa*OuIMlzzQxzutNk@vAxh zhLXFXt%NsQw^n-uLj1kCbdY&axltv(wd8Irxwlf%O)BXom1O;RxxZQOZz;K(5n}WH zZ6!gcZ&#|fm+F3N$!#soVC)(Ex0QM-Kc2W!K&{+{q=3HyUIog^F?9B+XL>KtSI@$y zVkZb>?j&DOmQ@;oze*#8+U&ak-wgB}#dGD$ehcgkzY|l&6DFGK z*6vAmp?G_Tw5hm`ZPh2oHQ0y03$wOblq&j*afm44T_txLp=b=S)Y>VCJf^JndosVxh;fjqn94b9Y75@G zka?P$w#`q6oR~%420zpJc3+EXU#}8h7Tqka-a+FjL@f?Y$dTYsIKqu>h&D<=t|6y) z`?Wc}Td2Yhq=yGu4`VH;+1gNHS*2|&NB4`@5Y;L1JH{?1-OUL~PUHMxwE|LL6m5|N zn_3U1a7R$^5sT70lc>nZ6!p12b-ormkIvIJeW*|vHvsC^-1F*)f|n_kIlNnr zG&nTJ;ujZWIcuX1sJjgvTSUMP!;lT&xktNW>+)=*ycmPbP8~wvi@uH3jDa-JZJ!OO6E0cD;LP!@rFDFSGnM1utg`UcnSJOed+4Pr-Q< zd|t~G+<~Mwb8;6(6r01q!kl1VmAQRz9!y& zTSA{MM{r9!U%Ml0+idI>+X^)05{YY7?xm)>L@XvdZdf|6BMIB5rYN(8c3N%2)Vz-zAtHgS^GhGl%Mh|zVb z_&O3^FGVG(y#g_)KX1{0ZcIR9(Q$1kPLuhr<7bT01ekky7NvA8B0cLhX|j^}X=M(VAJEs&Cm^rQp>3kBU($;Th^zqDE&x{{tzV(tUrlPAz^$OJ0IcVM zxH5F#FjSZSem#Q6^aHrH1I)E9==EC(uq&WzK62mD%kS(ka^SAtwQ=}f)~D|ag53rL z%gFsOaX%2My21ZQ_$)|k9q<)&RU-$?`V+n^^gysIxupVN`TDb@`XkMi2Vvzgvt!t+ zasa!AaRY7r6?Obtb^J!iE12sB57+h@%z*hbQ+hPM^g#o($!CnEhhQdHs z|43nfQel4<((3+9Vc@K!_zQ*oHF1Bn9Dmc?{M`W5zk}LJn*~(018DW2;!;Krl(hqp zwJwnLe-aOZ`p-Cev2Mdx)saobSog&OQ@4SsQa3Ov*y?6b129!mYyma6qzIy_9N?#y z7OPL&z`Ty!psA+xz-N;hg0qG$U0w`Z7AzHz_4R;FZxEgVrV7CNM(~U)ingw73=3FO04??Gx)xY+;`iecUb zFrkk|SDeS9Aewm74s8VOP%S~rHjQkiA-Vx36gKn%KeP7n=n!IspGCG-#lx6sA2ONI z*9No@=D2+?AfhOBnfHft{k+=9pm$h@^)%mZYGq9^MJ?oY=A!{Cf1IV3#z^Btnk&*K z(M3aAD7v8NauO~m`Q^gx;%*^E9Xf|exNa8MN=iO1Gs`<{|CJFK+8nLk#T?n5=w>5~ zs+F0bR)=n~p)gm8ndxP>E*aH_tl;QURoeBtcB#rsyJJW_DjctJ*=|ilw=`DbYiXHrH>V-Zle?L7%fMwr(Y0L2fM>s$ zVSmeTfD}&}a_ew6N+*^9)e^UmI7}e}4#%pu+K9@74_c>pqdH~j@Y&-Ij+SkcJZ{Ef zIxN|xO>#FE4@-B1JHj0vt=zh}YIMlgDymq#oPsim^Zh*PuX{ZB%%CFne66SQ{XLG- z0@LkT>Qh>L`Y!dWGPh>ka%JD6g(+uIdas45s1&*-r`&#Z8y>?yxq{bs<*&wk^0&}s zc{5e6oj-ldqkQ_8D^7RTI7rRo!nsn8ijD4)RW^KQmu}MVt6f^}@U?iU)GdxrAc!sc zB-qa;K6`nqt8`puBYA^Us!8!hg_UJqz=GUxkN8;Hf?+yFlitjN+Hr zYzo>ZaW8KTw@e3)unwrVeYC3P`dn>@jS-r2WSlB=tfH#u^SGElZ-^UtzgxC;C*^D# z3KrMV%D)&rt5A$ZT;9mVT#=T8ZVTgoENwk@Nntk;z_0>d5VFZ-(n=f>ALmxa>*OF$ z%>D3k+|ws0YU7-~;n&doHO=uqA(pZhU8}X>=1AHTsfAeNj6O_2sOF^F_5#=Vt{9LU zP3^ESUc>;L>P~W}n&*aXwx&-b*=gENw7{-vpN}(bJ$huoZ`?0H;(9N_ZFnXjpE;Y?(=nb?touUaqF8MdMT6qGMsC?+`ZIc zTofkRbHU_( z=hm+c{~r`-=1NT8e6IX9nP#yxMi8e3s{FVg2EX=zJWYl!>4sb~*!=cf&u zTMS=O&}w$?5?x>})g9+`QB7OMO16?iCofa>%adTSq)5#)>-AXybd@Xo8>0P@I?GkR zi_3m{cdtko`0V1}PSF4XFkcEZ&B*0dMyVrKyp zKA2SRvJLwoO$|5$_``kNz3HIK?tQV@JuROv#Y(@Nply)B6Pu(G z#+$FwYE;4!DTIMl1cfl#{Ee*tREb{L1i*<}Mc4#r1vmu=MRtUNP;`M%w5;{Fpv54B zLOuOn7^xoreZwNYk47FK1;V-rQZxW5G)PqWqpV8u8(yLO;1xDvU=)1)DcOIf>_0c1 zv7a+OhEv4hAtPACFHH;US6Rj26d)JBCg*RI6TAZO;EtMK>p>yyLR_Uue zSOj1Hi>!ZCRzQkB3aV%bvG{Y+tQ6SdFI3tKYQefl{oe#$pz<{ca6vxs3IL4%Cf`3) z%YjlsYq6!3P6dA0S`baUR!Kdxmlovh{6`#%2Qz$02r5` z6?CccfmWFER|7RLs=UlDlFekQ1L>SK`LL(DzB8* zmo8;j741d42$Z=bqX`v)M%-%oZnFxzJ*Wd;Z>PdLlo9j+C?Y6! znOaxAy|xKTxwFXi_b$`u0)x0K;wj_YG%COE3Gaxy^J=B z2)r+QbB}3qy^lAr;F^hhvp48?@pmt8I3KhuQ1J>q`=E5a(D<^$K|}eW?9F|q#)W7(>vO_^=qr?es!Vx1%g{d@he_dJ`Aez`BFu~ zM_r#Jd>qTaF20Y?kd|Hf30LdOy5vmZgBHu21EY~{KDgmYB1@i5Y9hSz;t;1H9^?a4CpT@t z&miwG&UmP_H^yBduY50B-}WK(zFgb6k3>dVN|oktZn@u&CYTF^hM#YJnjiWkuZv}W z0R38^D>`l$gKhFco|uu-V7uMN;@G8Dc_8gMBx{dMKGYxCdC(Drg8Hz#`9RYgbXl7@ zDEXIKh!I5m^ZfH@Y3Ax1v}-wUm)AYwzqqCbdMXbHG77il3^vluSvPXs)b)K#w!BhM z-r@Z~aYNSf0?N}Bx)4wVAS104+;XWG@Q2zzW{@&usPJJW<9b7<3ILZ{gvSjXYX3O6${_>>>1n&|GV6WxrLXR5t~LW+aZ|w^(NlS}JmKKD za5{E2yOIVyLP3wVig>7;e*G0r9HD0ve%L zBkh&xGBiM4x?J~i@WzBygWX!g_h@4>$UTgWm1w#QRdgAw5c3CK1yI2s_(1!Tk)LJD z!D5-05Glec%0QHm9Yj&Drr0ZkO&SoTJ>1lRHf&ga143EoCd^9|Yg8P9=_fS&%up6K zYkD=yUS-R}&D_x+OXiEEi-mzX+I+A=>xrx``DF{E`Zp7}VV^EqDTuh_4v4U}bqUN+ zJ8NOcnulmwxMOTS8@hwD#)BGaA0HBOffef4VeSxj*kGG$OV^j>V4Y~M_lF#yg!;7< zyYcZuwx*i>~1EYmyAtwQx*jVG=3}gKqVJKc2Oc#UCL0K-LPgIwJx>zqA%kbSDk^ z7n0B-@iqJ@wBeMz^cT4oX&`X9qS8-ur|H+}U?8Utwjmwv%)E5`cWETfrgZa0IfzNR zR1~m1Z%9Ld(FiTawTcq14`pLrre7~ZVc}(i{^evb!?FfI2KMJR)#ouN=Y>JhDS19W z&*!I&5Z+eUc4mcMM?K-fxa~IdR9>hM%0s!nQM;ffCQG$Dvxu!r3--U?9TDU<)f=?n z_Mmh^zeLrekPRQ~<>^?;63a6gf@iUqp1{H_zdP(ZhYX)3{^>Iz%23hLm-!AvJT$IJ zI-b$S`(T(FCIW#H-8V(3UHHA=wS_8%84`YGd2oH9Ih5x}lPeAQ(G0S2HVt28);V`r zQ~Sd11pkj??+>)&%r@F#%TFO2LQ*+;Qgm-h<*2z|z8*bp8<8wEhtZrqp3%nDSSc1< z#wv7V_s-uhe#T8Z6B;7Gb-J4Y1+kkhaLh6a{qYp~i@TqoMv zB}W%ZiO6AJ)~g`agKtIE$sQtY*q04*C?beM&ulwitQSXwO*@IBrcaq`&9<85>KXn> zI&Ruc4Ug|8+bXJaSu^2)!(G$qJK3&gvuwtzB?yYO$Bb8nrCQ5h5FVoJBrb5JI~Ejm zrCTxPwL0zix5?(TE6|cjq9tzd;ItS0U@Hs4EPght>LK+el05!ZCPEiIw})DC0EBfc~A%-acKc7ez|yi{6|v zL-{jm4kf9QJF^b3dRE-SXY^FAPLfgCR(ke*PPrzSUB(d{1t%Q9Hc?%)LK_F|Rs~ES zQGJVOK=_F#nd*(rpYka41f3{IEyY3t*V$jAG79mDB*~q*J$sWhLNErj%y##HFVixU zLz*wQ;K|JzW&UjB%*}pvyKc3VdR=AAmV89x+m>k9aJEWVr3SNcKZG;De2wNTh~ zc+3g^`;Lr%?j0H5))5K5pRFS?=ygj+EPz3GWS3!XId=09>M7_LZ?$$H|U|twAr$%F>m-#L>j@|Mbexz+_x#j0ItiP+oW3fZ$ zNfiBS#dRMHpv=QA7;Gz#E14U8FnEdm3TrK!q`($%LUw4WWpd;3G#qOPB(LO zRU3_@)$j{lF5@ju(d0@F7gycr0Bavvwj9;aFq0=bdCd5}S?uy&vh5ht@vFtM;)%+w zrbO-e^=#KvINR&46ypYT^l#b}HO@B^?5_|=@k+l7wH<9sqr`AnyBcw4uAXhLWh+H?Z&?>N)sDu_juv9QY_pHO`B31%kIW~j&^u;t6h>Tr0Aj)A~QQh z^@CKV(K8r?+!}a1YEs~IyA!9n6Sv;&8Q598omFRid*fQ(yQlJ(V#l5~sImZviZ;(> zP(@01d9*=6M&#shWUZTxN+6Uv>?&BC4Q8u~jiP3xa#Px*ws!ZO5fBq@ykmD6P^ZgJ zr1&fvCZo1H#cSyjdo*8%=02~rc&%>>RBUV5yl4|)EDW<_U>RBGR{@tKj3{~oF)MbDgmt3j`{^`yujcR($jT)hr$#P+G&L!c-f>Xzz*VLj2{#Dez3eG%e^= zemX5^-W{B74ltA%(a5PvuBaBKU^e{;2NfgG9UU2FZt~(3;K=Y#9TSB26tSw2PLKTe z3O$6GFd`G&CKW*zrI;4?#;#+FDq1FpqT>U=x*1zk14+mPiOsu0^i6nB@e_CZ3fh#= z7+1LzCaKGf+U!Tub-Tr_gpJtIccHdar-~cLm>X4xsbfkfGUl1nLL2k`i%X}L({DJI*17okogJsLJ;X!WEz_8Batv`ow zmYM#{K--Nk=+4+^^tn!7>+b@@E}>3_4h<;Lk#XfNr4<&)dzD{CE9`pL@XKvm*k_N#j;*QDugEb)KCL8_>ZYm)n8cDTtf$Rjf5w~gA5{Wqw+ zgW6vd)F|r^ovIiy7kE`O*n$e_Q&^5uU2|5BX@jB}YoCwx zG{)La;yUxOCpyXnubazEw|9QX8*|foEW_rg_&j#qF=*^1%tugOrTDpd@nA`D;^$Ga zIZa*OCbA&)0#dU;V^nIp5`}eeAXyG#B`&Is07pWK0f@9X(u0F}ZiaKK{2^3sgr(sR zqqxKJ$`5A+qr58DsWYgckJZuF+K(FL8=w@WiaRK^;9! z7H8WptqpTsjRS-yi%|9WP<6HTlrF2~7;94v>SB(VIjerzPSV2=6p4mb{iqlL4(XwY zP`J|}nnu?)Fi=8wI^3A-o~t|-Sf(2?33q1FOL;k*u>S(Z`+PxGg>**LOmv?X7DwQR`CpSn!uWe_GmmVIwd|b z=6D$nI*Aldntf=8`7>;=8zr%xGuaa&P;F-;N`Ka_@!ePw#Lc**05qWY`}4$3`Dh=6 zhfbc@VSiB3ZuZ^C6WNd2hj?fM3k z$rV`lrifrifxNUnv6*``n{j8k!tau1V8Zr-gBa0@FknP$m|wWUmQ1rW43ufGhk;Y9 ze%nAwp5cc`QVpEiQLt#>6zmE(o2#~FG(NuzKEE9J{G)e}4j7*geX>ZUAtR#;IOitu zi~Tw;84cU7Nw%naa#cRLr}E7-S@?|Gs6#zB)CXXX*%L@v8hIx{s(qBIoX)QM$1ADQr3P;3VX3+ zcsP%LcFHx7m=Jc87bZpD%OAj-1=0j*ppov7nP49-Pqzon2-{>~Pv!0+%D?%UQuRfb zxZ=48$ z&9vdl0GbjcGX~UVgGuLN6oA+`L1OuEO{DLJBs9Vb&y@~#=S9A}gC~9}5x~-Vg<|jT z#m3mHuIY_KF}0`iq(TxD&8jKq?1nvBcG?p>GTo3~+USv6n)ppJ3+ z00CUr>bB}_#Y$@}CIQCwM&ubysjc-0Gyxj(P~Oon1!J~}5fBGp3#AJhPD()o7E9Ks z;dtiK9zxFCgq$FP{E8svEJ1E@mAHDbj?MFx5?+TVRoMkeGOw8Qu>iw2>AJXnaT4Ni!AY@h{B45D| za~*m`=ZZJDn@baKst_;8m*6md;o+jz5x9an>_BH=2bzA3*$@jxmy0R?D8FHy`z zyAs7PNQ(Yz$ttzi1pZ^V=)WACTDoJj94s{i*^jBXF|68>8wWeV%;5E2Q7KVi$lSwM z;b$c#<1F6vzDqU*pli3I+E%XHBdVcPIhVIsswrF;O(SkSNAnanwGP?YYhF@d<%(JH zTCj33UlIeegObxUH**=BYXo&MilmPg;kP7>|Jl5-2)_-#FE94hhM_-IKPOf_m#X&z zv)XSxt97oMSJ!H_WlHDv*D_+6TaE)_js@gc$f3J%Jxg;zJaBcWTNn=Iz#o|9SWM*y zJFLLOx)N}Tp_1V>BZRJ#JH*x-38!$=B-;6#S|sQtjwhScbD@ZxGs0=!sp;gu7K9s*&z zYOHH?Pvx~8$w0R3cBS}BlqbrgJu~>AJq+piHhy}53_IK3Hep4;2aa{E{Bwe}xCjcD8Hz&D<689ZOY5=0lX#R}2t zTg2d*LS`LjK%-H^)QUUUEx{l+yQG@C_h$QhA&F$20VU*PJRvvVB=8n0h@T)}(<7?e ztr0aEQDYrbqM;ni{E;*wQ=4Ijp*Uj-*yH6JsQLkABJBX#2AZ{1y{QWGz-Dd^T6y!q zSj+C{I;M%o#5H&nS|y#yiOn_W0(-Di#DYmKYHElC+B(b?(6tSSP=HH-+CAHK7a18Z z{ZuSrw3G{MXS5SRTa3~X;I+y^++x~Xj7>>LdG%`=9nJV|EX^o(Y54J$&*Jit5{Cd# zVv7~K%$ppMlx8~4`7Jdqh6{UH4frH@)7L-(xr{7>1WxsnD{k@*H+nyfg-(08$@^&) zHw|p9z;Xju8}PQ=qye0;*7kP23OzK-&0bO%t02~br1sxpVHidFQ4ArA%2U&}IoZ7!>mcyN-P z31ppuUZ_JawCql*S6ryS_FTSKB4$Sd|=J~3O=Cr>($Rq zaW@`RT&JJwx%7++*ThyfFHE9M>dfHGS&I&M~zfYqXCA3w@W1?lL!aaI&a4VrI=tM zcd0d-@@AWlyAg2&P~f-SVWPM392_f5e1<}&RP{;|)N(m31B z4Zn=WEwjei2@*@Cadv*#&rYjkh)rI0M@1%M9f!%$y8RqOQB4JJ3VVJ$o-DTW+`_0G zqKc4WWuAhKF4SNZWmp`thCkkx>+#`SKuYINh*V`Ax|nNqZk`CmGR5v?J1BNr&Qrp= zSr-&B$NN(uT&JOmdD=36I<;isL);mWa1lGipOsf(F+;{HW{5wl;?6?1Tg-7&yW5{o zaVPk5HM-rNz?tscLz0DItWCpv5*pt2jxfybWpNX9`&YPE=%(7}f3iUM%!WH}3+mm3 z%jCiqt5!HoLWvXzC2~J5e0oASkqHjQjBQRBD#*}gxuU}_ ze!`?(VwRSaw@x1FF2zK1l5E$lg3A)wsmn#3QIBpJu3t_HMHK5V$yWXKGFRUsGj(3Q zk%Tbmtg$OZ;;!H)OSvO17Ru4dI-U}I&*9nEY=&?uG8lmn|;P;eJl}1 z82p$+WDnk%)E=q&ZSr{Mwh^FWZ0P-+36|;FNq1@H-W841 z8~C}iP4RB^gQmYn0Y`{8lCSsohDak+{XRt*(W<`3s$Lfy-Su(?2lI2x(_0D12SV(L z55}k?ILw#TIYn38-DZMrt-W6^?=VF_B&jmiSe%zJJGaR$%DCl0J$R5ADFK9Fl3vCf zotqX%*+XW7Uao%I$lb$9{}C9YW0Q_G`W89BE1Ls67EK`Y&`oU7ZI-w5DU$i9{a%j& zIu`1Vr#yHJXJ%I5<0|2CYYF3Oj#!9E!h!sRUOa&Vw2#Z~JaPmdBaZ5QNs`;pwPS5D zkzu?U=EhJzlRB+h4ftld*Ea8&xFS3?kdkrVQB63!MJg8g9VfI)Z22FixE?Ok?c3g#Cee5(9;@EUI8KlvOP8%oZ&R z5hoA7;ky_ueb1SzQVmi#{N;Wjjb@QaSq9b$4I8mmrq(l`u9l;x$u8SAUF;e*H@AER zU|XzdGjqt1P#9C-TRF`2n)3%xV7|~vkq;$_$E>G!B$qSA^glid9OSj&CL zHqC)6Z-jN~bkjwKtiiZDv&CqN&@(&=OX`NHDX|z$PiYQ!9;+8_X&YCa*&)zsCx~RP zlTy;&tsD>vOKv~7Z51?y+fEVOXP%os0Q=OmeWZC(Bv7%ETUzO6m@)+S)aeci3Qa0t z5x}F}xLa9Vw`g=JDWn2Qt+}}&u9#GNg3-#{LbpGZItkC}4vWFZ!!#{K(ZEvm!Qjo>MeZs;K%rTDRysn2);N|&tJHa{JhW&91|DNl?!2tE+Eu+09x?gL!qx!q1h^Um3!6P!f5{=wC&aI zKisPu{y!<`Kl6gjb+3a+~u)1Pv7RtN0%L&2pFU-9Pm!A zd+mYoMKDTYgLp7U{E@xDnNM%-%%=`h6duDDy}|e>*rMR57hdRjE%DXJPueSze~c`^ z09aA*L04KH*rHBYB2kgDz(<&(PM9JM1KQ;nR$6jni?sf6=!-LVi?MbcEZy}919H8w z1&NrTPF(mXYsj|{ZYbo(k58}s_`F4)e(QMp?cW4xh4~@DTjjqeZV{NGP8cGV5K9Mc zh~KvmX#H)f_3bg}8lELo>(=JD-fFch%%iX6TLng_6ILi|k+$6(2_?f1!5Y0IS?OVf zlAI4}_&X_?vhQq`-Np&!o9Eq$dw1Zqj2F@dx;u6?@f5IoU`lM`Wp zC=h-JMkw>dLy^H3k7ayBtSFof%+N;}CzFa9QGwO51dkfav)!r-Phf=}3w?+Gd7N)k z9?j6aoRbP<0%bx#RhY-0=vUvn~F$*sHJ0E01n2-%yk`ob(LIV=zy@ z$vClTb*6qxjrbP7!-20u@Z093=PT-`|BfmkY}-Ztdx_)kyNc8{*?&KA-%oJIgS+7O z_#di>AF2rJ!(#mMh$H#29{-rp{D~a!ME2-MaF-uRJEp?xNcTE7Z^U zntW1fkp+#oCzB?c#)t#;sY^N@VP4)u@wmiPCLWJk9l2XiiDImP+#mtXUMj#aU;nS( zVuI7@A&vQN6`N-{X0n3Jg`p;yCzD`n>_x9Wsz?p4w7J~}M0X!pnc3Ax?VfjBwu&nKX#R408Lf zFi2=wS$wi?gJP7SmIgv@)h8$<^quS0Jvj`?`M_`7-;7`xn7&FYmnPbr{ojok-4me5 za@Pp^UuVGJaPQLsLu!&GNE@{%eIV%$DLyFQ5LCk*7R-Bgx>d$rqXkLEQwXHnjgj+Z zGMoR|Rel`Q!VpRGUgIX{Os5Dcn^==B6N=Jx)+moC-CRWEAmJXAhSS+ty}5gyOu@!% zuk@{6Z0zhYd+$&*!co!xw7 zKquWHHZr5^{(PK2v|s)tV6Qj(!x{rqxBnobD(6>X4PC%oU(mMF) zFyb)MIw0Vp-P%FGM!08rk!UFPMRW0-Op7e|Mcuy$R`=A}wg3Frzsm5@FA~-m=qjx` zomQP5TUE(0JVyA%?!}V9oWY=+kuOM~NX_+Gu^}+nT14l#v)nmrck(ik4NdN5BDCI6 zNEiG}Y{YqH*}Z&Gx;%^Ew;Uvr&H{8a+$&sTwLg#Uo$t4F&Rm;}z+ZxpEy)x0K@a}ho7m*KD%anTJ8 zf32`bowb{JV_STSHDr3!%4|C0vOF2E^iYdL%UzUJ6ZWCWk9v)tv#4`Y%ITUIP zHY~Ib0?PuU9o}3awpzmr+Q{DJ5qEux%9Jtogf&ByiJ;X3U66$p8i= z^ipV}krepr>x`Sb-eARR$pUZ9(;LX+Vrn?&GVHUhiY`$+(M}j_dl2w^2pl|j8J1fr zyP<5j?YA;OC75r9{3hdgcyp-m$eXEDY&R?ZZ85UOX4r1Z-Wp-YL10Jb`nJT~DztIO zFvo`qalFGgBUtQE;X4H~YAb9r5ON!C^r9=w;04oy8^0@S2a6g%m|cPx;j!PtG~J!l zJfVy^q2Z_R7SIU7nC}cbSnkP2Ayx@DeXmssXKj7^fZ>bpCz+9GD&b)Ipsf=CM@w>_ z07jT?n`4^=814J56qsvE0#D7KkVob~L-t{{3f3Ba`ys$dL+}rU-R5ZqGaiy06w< zE&KVn!6esbBgef8-kYTWuMH3WG)v+0T2P;FnaD4w)$rFa-Cv~DU!pWS9=~i}F2CH2 zOaqf$hSQD>sZA2&U54+j%MIp5xf@Jjy5q%imtnf=a)CKcTsEBdx0p8Rh{Ir)@q<|x zcijVb4NDDUt#_luW|v{KrB>1{HoFX?4TxVGDQ>$Azb*WDgm~^UJh$?6!EfUM6ErX2 z$3IrcnV%?X2WkLVm8iKi7EC>R;%`FDS^NMfb}Dp6^$B@+(^R zYm3kEYgVxh^KW87zm*S6JYjCZ4JIjn*BtoY>-X=&07(vEbN+{elc-{S;r$LTs+P&EqKS@qCd=>mH&srBon~Hh_EfTf65IePb!M(@h`RL zU-S-T8Y!b}DpJnHMYpMlXUt`a<#LTF02$YqB;xVwv+%%#@*vh{4CS#LCz;fVe@vWZzNy$CP=^h` zmBnx{QisLyh_U@}l!@#|E*n|W*T`iiVUY>*sWOP*ajoKb0B^`irodJ;j{QSWkEWx{ zx@vh1={2eDm!^oNnT1Gq~1_ati!vmT|7B*4W~CK;AZM+X+Rl z7w;_ALyV7j6L|;jB^M-}nKDnim?9{)naH5TJ~D8;4#wZvQ~7u)UBvZZ7rMl;@U*Rf ze@DJCzp0LP%no?DGi9_)j-k`P$_BKXW*r8;N1D9zqpZZdh0Kr2*r;M30|VbwLSvau zVwGyqTXAOG>!R^B#=Xb*R?T!$n`y5l%|n5hZk@z39tDG2wZj3^EeQ;~_R4fBG~4TC z7~Cb{M%nPQD9wxzEGc?u)vqXT%xZ?cbD}XMz9|oA?gzJ zf#$pY8|WAuki9g&Z*xG%Eve}ORe#)4kLd%kDi=ev4t8d8hiiPZ;5YNnriw0mZy0-C zT4LVtt$5QSDEOMIRUd4r19gI?tjWyo>gc5{4J)Lla#K1gM1Ig!Ge~Q)E9Y}{d15v! zx^J5Ci)@EFs}HFK5<|IiP%T7$>$;Y4(@ermv*9a7F%(^f&PkZn-2@!uZpZHW2+rK7 z2qKK<0%;FX$CRUmXjgz)nQ#cxgk&tobC;dqaJJ)EZ*EMhIX3}Jv{KM$QLID*70e_? z{L=1ZHTB0;JE*m|JvG;saVio`)B7j0M4^sGJDpuP4sjmqsc^zHEz4A}K#gfz{7g69 z&CDy^o17TMWVT$hYS^apXh(k`*QM!9HhDe~?bKmLz%p!;ch$BRkQ0_71k~YD#mY2|5s_{7@Q2A&k8_JRo7ow>WLG)h|<|h%sr3EKN{IHD5>O zy98H3q%p^!ajTXh;>0Ch2b$#yE`zXrUQ)pEgz5?&7$5?Y_t}%27KmxICsUz`ne!Ih zE(F~}d*i8d8dEZDNx?Q>$xr8rk%1+J14Hf>d}(obk{RDdD$om$W6px=T;=zPqutw6 zIbv59cCFM_n$GhvHjh}1qJsht&~%)Ylq!3H1PKw65HvXKRP>-|j#OkdG)o!oe}h99lm|Hc9yIz^5k#TEM4O zh&r3rWVCsI(WTs#r&9cGwHcaWE}0Bxa=_ z#(J7E4kw31TydCL+gNA_pUIYa%xus!pdHXzmJ&#{Dd{aPV z9Gb-?H&92=xjZhQWj&Pvxt)Z}4{P?;x_IfM@fs2{v!75a$ky1BLRU}ash&M2zIp%hQ2G;2S%06TyJ?ftV*=qX!s>;lO=I$_p-K;*Gu8C4yI@= zJKPC~hXGZo!}K zPIITP^e-k?7J^yg#$~&K28{GMB!)DYKC5}fJKj>dc!@vjKt1N~N z`7DYKjT`4*T_Xgl#n5S>p=eFp=r&4e{WW@H@L)sm;1B@e(SU;#^;${b!2}y1g2vu$ zwi~gPx5Z+rUSf#gC8W4iz#zDw*ncbCph1;?xupaU1SNbuDc>NGJ1HvwhSEl~)CLBE z0itDRC8)`Og7)r8L4rVp(!jF^pn_K!9(1+fHV{Fu!E3ns0|N3&I)^}mVcM@t`n!;{ z3jn+xl;H-UFra@xf^P;)L$q!%AMjrYqRWuIHS|$)cax;+8tt1^N+wd@48TVzZ;vAN zl>mH{a%HRD7o*XujX+VM`*Z{;d)iItCdMT-H2BI zUt>s%@RK6Nj*exAnWwr{bg&st!6>QuyR^RV29g*qOu=20@r0^=1~*tfdZl5g#zZB) zJ^Q=iv`cW>=7`Z)jy+l$p{thq%2n3*9jnB{lY~n=4%6JUV6bSc$+BTtlLD+sXJAdB z)7A>pKAglAYPQ_37D5ZnS(*Z`n#C1%nrbK-omxlH;3^J=xlWseOw@vMnsU}8u`c4f z_V54K#T$dQ^k$eAVh`$SZG}izbRj*lM$CappC5D*>sVebip&1Mp32)h%ah?%r?N0) zE|l}7&v3;SD~#J+9o_Jy%#U5I8@_DwQ-**;*0}VV)0_xub+JB1Xl6!oJ9>u8mlfT{ zm&$-ntD!Z@M)W$=ypu-{ysmkrK4yo@7c|+fUsi!sH-fNXO8<6Te#owFv!BYUvupH9 zc+$kP7R;)coYQnDSk!y*HI1kdd1wTi1(WK0|WNXFvGd@M}-&83SXOr>NlnP5^}Gm%@$x1)ur$R6C7=;6KIzCLa)QUu8~!pqu7(E9(%gX_0|iaSSRynM|--j zr9JW>5x_v{ujuk7s;cj8YTLUyGNdBSk)g8!G+a~@lWg1Z@@qALtpX&tqsECVkDgd4 zqH9tpnzMs6Eu|f4u}~;>NMIM$x+kHIs}(G7Sc(K2l}P2Y8zNvNSoG8m8E`9Sic{#| z2MoZhx|Iuo2+79-V|C}}PHl=G$0&^t5Mo%}$WiRDQ64EgtsOgl+K-e zww|8k@p;>+T`L4o`|Eo?e|7YrAmYtB6%26s=dOQik+TpZf(ZF_V`XsF@4tRq%G_W; z4=jt@wseH-Cv_6bM`I`7bJStir!S{~){A-pm^_0IwEQPA=~f*Fu4zOt_==gu$D~kW zyY~^fBtv6QB$wG&S|H?YFc_nvA^+ThAWKf&s1n>8=`4_CdqkSHQ+JL~AwfOk~@)wE^lz|;y$VR2}28bIU2PiUgpuWEIl3^nxxiEb9}8P1;~>*^f{mD8R>e~vkxQxcOinL)Q!!{8mF#h8ewiiPvtwsWNwCI z?b_ck7bllp0wq2J#Rm|F1lx)_pC(plATVhiN-`4WP3|DNL@lCH$|%z2O{BZRjZF4n zXoQFc9){(2$ljT>OA-hgn}@<0YeuxSOD?-@yYwny+1BHKE4pHmHl<~?X!qJt_6uc7 z6+0E-ydBIJLMBSi#p|rex-|6DXq~ZS=fjd!SSlqqv+gY#2^I7rc$kG?E2vn`CavK^ z=d(nt67D< z;iaa!$>%c-or-zK$)TMF(bnGdVQ(U6+{QehCx~B92Az2-*ugSKyI1LPAegXw;g%Gf zekPL=iG%3VY&NFN%n&ov>Go}IOcBI6b+N_S#(YmHIW$}L9guh9KzFi5N9`uu)zAVp zYs2=SgIYSd>!_WbIu=7nI7H*z(m1hf{V(&aUi#e__`tFs4NN#2>=a%{Q zpo4C{xcmaNvK*Y?Wc|XhT;sJsAM*TgmDn@GQ1OK07Dg{2XeY@@lS(kIb=k0Rsuh6+ zRP`yfiL_{wxkH*DZgjk?kdUh|I_e=(g9VM!LCkeORAXUA zhWC(fl}x0P-53m6)j>qVa#8&js|my@AynaGJK1VKn>Z@}WU&|rl5 zsbyAWnL%dj;=$r5?$uLyYuDru@H0~u56rNFfo96yirOeK-Yyij(d-?5qb_CA82Uaw z;CM96a6G7gNm<*R8T17v+1v@~q<=<5?Mz9#qq7|UR|=Ymz08o@=y9$YEK&WKu_mmY zUSzr@rUhg|UXJXEooQ0VwqMzqhKIr1%(?(Uh#Xnn9VeseCc!E1R(&!naw!~<<+N>H z{fzCa+sQbVJd~YZHb1T^ZwdrJ9wqRF6?GS< zaCIf@AC8Iok$ajzWefX#i91Y)pk+a>q6A0ucZI9!W*oUkw?l*eNQmVyZif&Gx@BtI zK!10*s&2$H#4>jj1E*G+lOeUTRDqHnLlcjwqq2PwUSM$Ot{pl)XlvIcSy3E7X#gHa zy5s6xO*_KXR8JM~uk2Q_uRuIj^L4d&j3PJGvO8X6CXv>*TN8FYircxy-&!88RU5dL z(a~P?xT`^ryN<}kM*rln08YUY@?>{PRK9!>`Cg=aL7}Tx){%jB(y`NciIL=T-J>XC zsXslG^x{y`8TvKHpXp9_FLr0RGoua{>fG)ua*;Jv_Yzr?Q>G`h=fdUdS)zK~ULGYo7TJ%8T#W$S8fAjnaVD%p zwaH418HSa(2Q6=!K~ZOmx`ZHa4@_ zAp4LnghGLk%yx64p~hTh*zQ=%cTgvw;rpxIy0jk9?;syIr`_xqGJ2*JwsIE{imB${ zY+N)iOW20yBd-o=I5g0O>PL*k9!}k6!Lh>kvBzqz&(&HiIIQX;5j7Zb*xWRTUO60k zMOjBv_tC052x|Kv3O4L37v&ev&(NnLmx5 znuxXGUu^gF7i*MN))^`*vw>F2wTmaQiO+WDT*xLq%dK1HUqbe}dx@(zJSG|9Qfc&h z+O@tp=x6$u(qj{{*8R(Cll?15)4)>+_Fx|HfBfdd%NNhL>1YXqNFhMgM5IZt>6P5VY#T+^5@3PuYNXWe(>L9 z=GXok%>2ob{H|aJwlnjAmtV_W_PO%%Sy{^iFTWO?YX@HbbG9KOFTa%O+BGk)0bGl3 zgRUS@w{-LuM9>loK@vbZ)eoZs?gxd_ZT?8ZYV!Vd2h{xEtB z!0Zlh_#>bLrm#uY)g0dCuuUWN=qJyS@?fxhCs$7*de+hbT53qM!iifcrUelwX=sta z=BG6R6sL6p)O@lXjba*}4+Su!d9!~3#K$1!K@RXF9N-PV%C^xet5AB>I4%0A!-7Vz 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 diff --git a/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/zip_read_fuzzer.js b/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/zip_read_fuzzer.js deleted file mode 100644 index 86ef38c..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/zip_read_fuzzer.js +++ /dev/null @@ -1,4646 +0,0 @@ -// include: shell.js -// The Module object: Our interface to the outside world. We import -// and export values on it. There are various ways Module can be used: -// 1. Not defined. We create it here -// 2. A function parameter, function(moduleArg) => Promise -// 3. pre-run appended it, var Module = {}; ..generated code.. -// 4. External script tag defines var Module. -// We need to check if Module already exists (e.g. case 3 above). -// Substitution will be replaced with actual code on later stage of the build, -// this way Closure Compiler will not mangle it (e.g. case 4. above). -// Note that if you want to run closure, and also to use Module -// after the generated code, you will need to define var Module = {}; -// before the code. Then that object will be used in the code, and you -// can continue to use Module afterwards as well. -var Module = typeof Module != 'undefined' ? Module : {}; - -// Determine the runtime environment we are in. You can customize this by -// setting the ENVIRONMENT setting at compile time (see settings.js). - -// Attempt to auto-detect the environment -var ENVIRONMENT_IS_WEB = typeof window == 'object'; -var ENVIRONMENT_IS_WORKER = typeof WorkerGlobalScope != 'undefined'; -// N.b. Electron.js environment is simultaneously a NODE-environment, but -// also a web environment. -var ENVIRONMENT_IS_NODE = typeof process == 'object' && typeof process.versions == 'object' && typeof process.versions.node == 'string' && process.type != 'renderer'; -var ENVIRONMENT_IS_SHELL = !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_NODE && !ENVIRONMENT_IS_WORKER; - -if (ENVIRONMENT_IS_NODE) { - -} - -// --pre-jses are emitted after the Module integration code, so that they can -// refer to Module (if they choose; they can also define Module) - - -// Sometimes an existing Module object exists with properties -// meant to overwrite the default module functionality. Here -// we collect those properties and reapply _after_ we configure -// the current environment's defaults to avoid having to be so -// defensive during initialization. -var moduleOverrides = {...Module}; - -var arguments_ = []; -var thisProgram = './this.program'; -var quit_ = (status, toThrow) => { - throw toThrow; -}; - -// `/` should be present at the end if `scriptDirectory` is not empty -var scriptDirectory = ''; -function locateFile(path) { - if (Module['locateFile']) { - return Module['locateFile'](path, scriptDirectory); - } - return scriptDirectory + path; -} - -// Hooks that are implemented differently in different runtime environments. -var readAsync, readBinary; - -if (ENVIRONMENT_IS_NODE) { - if (typeof process == 'undefined' || !process.release || process.release.name !== 'node') throw new Error('not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)'); - - var nodeVersion = process.versions.node; - var numericVersion = nodeVersion.split('.').slice(0, 3); - numericVersion = (numericVersion[0] * 10000) + (numericVersion[1] * 100) + (numericVersion[2].split('-')[0] * 1); - var minVersion = 160000; - if (numericVersion < 160000) { - throw new Error('This emscripten-generated code requires node v16.0.0 (detected v' + nodeVersion + ')'); - } - - // These modules will usually be used on Node.js. Load them eagerly to avoid - // the complexity of lazy-loading. - var fs = require('fs'); - var nodePath = require('path'); - - scriptDirectory = __dirname + '/'; - -// include: node_shell_read.js -readBinary = (filename) => { - // We need to re-wrap `file://` strings to URLs. - filename = isFileURI(filename) ? new URL(filename) : filename; - var ret = fs.readFileSync(filename); - assert(Buffer.isBuffer(ret)); - return ret; -}; - -readAsync = async (filename, binary = true) => { - // See the comment in the `readBinary` function. - filename = isFileURI(filename) ? new URL(filename) : filename; - var ret = fs.readFileSync(filename, binary ? undefined : 'utf8'); - assert(binary ? Buffer.isBuffer(ret) : typeof ret == 'string'); - return ret; -}; -// end include: node_shell_read.js - if (!Module['thisProgram'] && process.argv.length > 1) { - thisProgram = process.argv[1].replace(/\\/g, '/'); - } - - arguments_ = process.argv.slice(2); - - if (typeof module != 'undefined') { - module['exports'] = Module; - } - - quit_ = (status, toThrow) => { - process.exitCode = status; - throw toThrow; - }; - -} else -if (ENVIRONMENT_IS_SHELL) { - - if ((typeof process == 'object' && typeof require === 'function') || typeof window == 'object' || typeof WorkerGlobalScope != 'undefined') throw new Error('not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)'); - -} else - -// Note that this includes Node.js workers when relevant (pthreads is enabled). -// Node.js workers are detected as a combination of ENVIRONMENT_IS_WORKER and -// ENVIRONMENT_IS_NODE. -if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) { - if (ENVIRONMENT_IS_WORKER) { // Check worker, not web, since window could be polyfilled - scriptDirectory = self.location.href; - } else if (typeof document != 'undefined' && document.currentScript) { // web - scriptDirectory = document.currentScript.src; - } - // blob urls look like blob:http://site.com/etc/etc and we cannot infer anything from them. - // otherwise, slice off the final part of the url to find the script directory. - // if scriptDirectory does not contain a slash, lastIndexOf will return -1, - // and scriptDirectory will correctly be replaced with an empty string. - // If scriptDirectory contains a query (starting with ?) or a fragment (starting with #), - // they are removed because they could contain a slash. - if (scriptDirectory.startsWith('blob:')) { - scriptDirectory = ''; - } else { - scriptDirectory = scriptDirectory.slice(0, scriptDirectory.replace(/[?#].*/, '').lastIndexOf('/')+1); - } - - if (!(typeof window == 'object' || typeof WorkerGlobalScope != 'undefined')) throw new Error('not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)'); - - { -// include: web_or_worker_shell_read.js -if (ENVIRONMENT_IS_WORKER) { - readBinary = (url) => { - var xhr = new XMLHttpRequest(); - xhr.open('GET', url, false); - xhr.responseType = 'arraybuffer'; - xhr.send(null); - return new Uint8Array(/** @type{!ArrayBuffer} */(xhr.response)); - }; - } - - readAsync = async (url) => { - // Fetch has some additional restrictions over XHR, like it can't be used on a file:// url. - // See https://github.com/github/fetch/pull/92#issuecomment-140665932 - // Cordova or Electron apps are typically loaded from a file:// url. - // So use XHR on webview if URL is a file URL. - if (isFileURI(url)) { - return new Promise((resolve, reject) => { - var xhr = new XMLHttpRequest(); - xhr.open('GET', url, true); - xhr.responseType = 'arraybuffer'; - xhr.onload = () => { - if (xhr.status == 200 || (xhr.status == 0 && xhr.response)) { // file URLs can return 0 - resolve(xhr.response); - return; - } - reject(xhr.status); - }; - xhr.onerror = reject; - xhr.send(null); - }); - } - var response = await fetch(url, { credentials: 'same-origin' }); - if (response.ok) { - return response.arrayBuffer(); - } - throw new Error(response.status + ' : ' + response.url); - }; -// end include: web_or_worker_shell_read.js - } -} else -{ - throw new Error('environment detection error'); -} - -var out = Module['print'] || console.log.bind(console); -var err = Module['printErr'] || console.error.bind(console); - -// Merge back in the overrides -Object.assign(Module, moduleOverrides); -// Free the object hierarchy contained in the overrides, this lets the GC -// reclaim data used. -moduleOverrides = null; -checkIncomingModuleAPI(); - -// Emit code to handle expected values on the Module object. This applies Module.x -// to the proper local x. This has two benefits: first, we only emit it if it is -// expected to arrive, and second, by using a local everywhere else that can be -// minified. - -if (Module['arguments']) arguments_ = Module['arguments'];legacyModuleProp('arguments', 'arguments_'); - -if (Module['thisProgram']) thisProgram = Module['thisProgram'];legacyModuleProp('thisProgram', 'thisProgram'); - -// perform assertions in shell.js after we set up out() and err(), as otherwise if an assertion fails it cannot print the message -// Assertions on removed incoming Module JS APIs. -assert(typeof Module['memoryInitializerPrefixURL'] == 'undefined', 'Module.memoryInitializerPrefixURL option was removed, use Module.locateFile instead'); -assert(typeof Module['pthreadMainPrefixURL'] == 'undefined', 'Module.pthreadMainPrefixURL option was removed, use Module.locateFile instead'); -assert(typeof Module['cdInitializerPrefixURL'] == 'undefined', 'Module.cdInitializerPrefixURL option was removed, use Module.locateFile instead'); -assert(typeof Module['filePackagePrefixURL'] == 'undefined', 'Module.filePackagePrefixURL option was removed, use Module.locateFile instead'); -assert(typeof Module['read'] == 'undefined', 'Module.read option was removed'); -assert(typeof Module['readAsync'] == 'undefined', 'Module.readAsync option was removed (modify readAsync in JS)'); -assert(typeof Module['readBinary'] == 'undefined', 'Module.readBinary option was removed (modify readBinary in JS)'); -assert(typeof Module['setWindowTitle'] == 'undefined', 'Module.setWindowTitle option was removed (modify emscripten_set_window_title in JS)'); -assert(typeof Module['TOTAL_MEMORY'] == 'undefined', 'Module.TOTAL_MEMORY has been renamed Module.INITIAL_MEMORY'); -legacyModuleProp('asm', 'wasmExports'); -legacyModuleProp('readAsync', 'readAsync'); -legacyModuleProp('readBinary', 'readBinary'); -legacyModuleProp('setWindowTitle', 'setWindowTitle'); -var IDBFS = 'IDBFS is no longer included by default; build with -lidbfs.js'; -var PROXYFS = 'PROXYFS is no longer included by default; build with -lproxyfs.js'; -var WORKERFS = 'WORKERFS is no longer included by default; build with -lworkerfs.js'; -var FETCHFS = 'FETCHFS is no longer included by default; build with -lfetchfs.js'; -var ICASEFS = 'ICASEFS is no longer included by default; build with -licasefs.js'; -var JSFILEFS = 'JSFILEFS is no longer included by default; build with -ljsfilefs.js'; -var OPFS = 'OPFS is no longer included by default; build with -lopfs.js'; - -var NODEFS = 'NODEFS is no longer included by default; build with -lnodefs.js'; - -assert(!ENVIRONMENT_IS_SHELL, 'shell environment detected but not enabled at build time. Add `shell` to `-sENVIRONMENT` to enable.'); - -// end include: shell.js - -// include: preamble.js -// === Preamble library stuff === - -// Documentation for the public APIs defined in this file must be updated in: -// site/source/docs/api_reference/preamble.js.rst -// A prebuilt local version of the documentation is available at: -// site/build/text/docs/api_reference/preamble.js.txt -// You can also build docs locally as HTML or other formats in site/ -// An online HTML version (which may be of a different version of Emscripten) -// is up at http://kripken.github.io/emscripten-site/docs/api_reference/preamble.js.html - -var wasmBinary = Module['wasmBinary'];legacyModuleProp('wasmBinary', 'wasmBinary'); - -if (typeof WebAssembly != 'object') { - err('no native wasm support detected'); -} - -// Wasm globals - -var wasmMemory; - -//======================================== -// Runtime essentials -//======================================== - -// whether we are quitting the application. no code should run after this. -// set in exit() and abort() -var ABORT = false; - -// set by exit() and abort(). Passed to 'onExit' handler. -// NOTE: This is also used as the process return code code in shell environments -// but only when noExitRuntime is false. -var EXITSTATUS; - -// In STRICT mode, we only define assert() when ASSERTIONS is set. i.e. we -// don't define it at all in release modes. This matches the behaviour of -// MINIMAL_RUNTIME. -// TODO(sbc): Make this the default even without STRICT enabled. -/** @type {function(*, string=)} */ -function assert(condition, text) { - if (!condition) { - abort('Assertion failed' + (text ? ': ' + text : '')); - } -} - -// We used to include malloc/free by default in the past. Show a helpful error in -// builds with assertions. -function _malloc() { - abort('malloc() called but not included in the build - add `_malloc` to EXPORTED_FUNCTIONS'); -} -function _free() { - // Show a helpful error since we used to include free by default in the past. - abort('free() called but not included in the build - add `_free` to EXPORTED_FUNCTIONS'); -} - -// Memory management - -var HEAP, -/** @type {!Int8Array} */ - HEAP8, -/** @type {!Uint8Array} */ - HEAPU8, -/** @type {!Int16Array} */ - HEAP16, -/** @type {!Uint16Array} */ - HEAPU16, -/** @type {!Int32Array} */ - HEAP32, -/** @type {!Uint32Array} */ - HEAPU32, -/** @type {!Float32Array} */ - HEAPF32, -/* BigInt64Array type is not correctly defined in closure -/** not-@type {!BigInt64Array} */ - HEAP64, -/* BigUint64Array type is not correctly defined in closure -/** not-t@type {!BigUint64Array} */ - HEAPU64, -/** @type {!Float64Array} */ - HEAPF64; - -var runtimeInitialized = false; - -/** - * Indicates whether filename is delivered via file protocol (as opposed to http/https) - * @noinline - */ -var isFileURI = (filename) => filename.startsWith('file://'); - -// include: runtime_shared.js -// include: runtime_stack_check.js -// Initializes the stack cookie. Called at the startup of main and at the startup of each thread in pthreads mode. -function writeStackCookie() { - var max = _emscripten_stack_get_end(); - assert((max & 3) == 0); - // If the stack ends at address zero we write our cookies 4 bytes into the - // stack. This prevents interference with SAFE_HEAP and ASAN which also - // monitor writes to address zero. - if (max == 0) { - max += 4; - } - // The stack grow downwards towards _emscripten_stack_get_end. - // We write cookies to the final two words in the stack and detect if they are - // ever overwritten. - HEAPU32[((max)>>2)] = 0x02135467; - HEAPU32[(((max)+(4))>>2)] = 0x89BACDFE; - // Also test the global address 0 for integrity. - HEAPU32[((0)>>2)] = 1668509029; -} - -function checkStackCookie() { - if (ABORT) return; - var max = _emscripten_stack_get_end(); - // See writeStackCookie(). - if (max == 0) { - max += 4; - } - var cookie1 = HEAPU32[((max)>>2)]; - var cookie2 = HEAPU32[(((max)+(4))>>2)]; - if (cookie1 != 0x02135467 || cookie2 != 0x89BACDFE) { - abort(`Stack overflow! Stack cookie has been overwritten at ${ptrToString(max)}, expected hex dwords 0x89BACDFE and 0x2135467, but received ${ptrToString(cookie2)} ${ptrToString(cookie1)}`); - } - // Also test the global address 0 for integrity. - if (HEAPU32[((0)>>2)] != 0x63736d65 /* 'emsc' */) { - abort('Runtime error: The application has corrupted its heap memory area (address zero)!'); - } -} -// end include: runtime_stack_check.js -// include: runtime_exceptions.js -// end include: runtime_exceptions.js -// include: runtime_debug.js -// Endianness check -(() => { - var h16 = new Int16Array(1); - var h8 = new Int8Array(h16.buffer); - h16[0] = 0x6373; - if (h8[0] !== 0x73 || h8[1] !== 0x63) throw 'Runtime error: expected the system to be little-endian! (Run with -sSUPPORT_BIG_ENDIAN to bypass)'; -})(); - -if (Module['ENVIRONMENT']) { - throw new Error('Module.ENVIRONMENT has been deprecated. To force the environment, use the ENVIRONMENT compile-time option (for example, -sENVIRONMENT=web or -sENVIRONMENT=node)'); -} - -function legacyModuleProp(prop, newName, incoming=true) { - if (!Object.getOwnPropertyDescriptor(Module, prop)) { - Object.defineProperty(Module, prop, { - configurable: true, - get() { - let extra = incoming ? ' (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)' : ''; - abort(`\`Module.${prop}\` has been replaced by \`${newName}\`` + extra); - - } - }); - } -} - -function consumedModuleProp(prop) { - if (!Object.getOwnPropertyDescriptor(Module, prop)) { - Object.defineProperty(Module, prop, { - configurable: true, - set() { - abort(`Attempt to set \`Module.${prop}\` after it has already been processed. This can happen, for example, when code is injected via '--post-js' rather than '--pre-js'`); - - } - }); - } -} - -function ignoredModuleProp(prop) { - if (Object.getOwnPropertyDescriptor(Module, prop)) { - abort(`\`Module.${prop}\` was supplied but \`${prop}\` not included in INCOMING_MODULE_JS_API`); - } -} - -// forcing the filesystem exports a few things by default -function isExportedByForceFilesystem(name) { - return name === 'FS_createPath' || - name === 'FS_createDataFile' || - name === 'FS_createPreloadedFile' || - name === 'FS_unlink' || - name === 'addRunDependency' || - // The old FS has some functionality that WasmFS lacks. - name === 'FS_createLazyFile' || - name === 'FS_createDevice' || - name === 'removeRunDependency'; -} - -/** - * Intercept access to a global symbol. This enables us to give informative - * warnings/errors when folks attempt to use symbols they did not include in - * their build, or no symbols that no longer exist. - */ -function hookGlobalSymbolAccess(sym, func) { - if (typeof globalThis != 'undefined' && !Object.getOwnPropertyDescriptor(globalThis, sym)) { - Object.defineProperty(globalThis, sym, { - configurable: true, - get() { - func(); - return undefined; - } - }); - } -} - -function missingGlobal(sym, msg) { - hookGlobalSymbolAccess(sym, () => { - warnOnce(`\`${sym}\` is not longer defined by emscripten. ${msg}`); - }); -} - -missingGlobal('buffer', 'Please use HEAP8.buffer or wasmMemory.buffer'); -missingGlobal('asm', 'Please use wasmExports instead'); - -function missingLibrarySymbol(sym) { - hookGlobalSymbolAccess(sym, () => { - // Can't `abort()` here because it would break code that does runtime - // checks. e.g. `if (typeof SDL === 'undefined')`. - var msg = `\`${sym}\` is a library symbol and not included by default; add it to your library.js __deps or to DEFAULT_LIBRARY_FUNCS_TO_INCLUDE on the command line`; - // DEFAULT_LIBRARY_FUNCS_TO_INCLUDE requires the name as it appears in - // library.js, which means $name for a JS name with no prefix, or name - // for a JS name like _name. - var librarySymbol = sym; - if (!librarySymbol.startsWith('_')) { - librarySymbol = '$' + sym; - } - msg += ` (e.g. -sDEFAULT_LIBRARY_FUNCS_TO_INCLUDE='${librarySymbol}')`; - if (isExportedByForceFilesystem(sym)) { - msg += '. Alternatively, forcing filesystem support (-sFORCE_FILESYSTEM) can export this for you'; - } - warnOnce(msg); - }); - - // Any symbol that is not included from the JS library is also (by definition) - // not exported on the Module object. - unexportedRuntimeSymbol(sym); -} - -function unexportedRuntimeSymbol(sym) { - if (!Object.getOwnPropertyDescriptor(Module, sym)) { - Object.defineProperty(Module, sym, { - configurable: true, - get() { - var msg = `'${sym}' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the Emscripten FAQ)`; - if (isExportedByForceFilesystem(sym)) { - msg += '. Alternatively, forcing filesystem support (-sFORCE_FILESYSTEM) can export this for you'; - } - abort(msg); - } - }); - } -} - -var runtimeDebug = true; // Switch to false at runtime to disable logging at the right times - -// Used by XXXXX_DEBUG settings to output debug messages. -function dbg(...args) { - if (!runtimeDebug && typeof runtimeDebug != 'undefined') return; - // TODO(sbc): Make this configurable somehow. Its not always convenient for - // logging to show up as warnings. - console.warn(...args); -} -// end include: runtime_debug.js -// include: memoryprofiler.js -// end include: memoryprofiler.js - - -function updateMemoryViews() { - var b = wasmMemory.buffer; - Module['HEAP8'] = HEAP8 = new Int8Array(b); - Module['HEAP16'] = HEAP16 = new Int16Array(b); - Module['HEAPU8'] = HEAPU8 = new Uint8Array(b); - Module['HEAPU16'] = HEAPU16 = new Uint16Array(b); - Module['HEAP32'] = HEAP32 = new Int32Array(b); - Module['HEAPU32'] = HEAPU32 = new Uint32Array(b); - Module['HEAPF32'] = HEAPF32 = new Float32Array(b); - Module['HEAPF64'] = HEAPF64 = new Float64Array(b); - Module['HEAP64'] = HEAP64 = new BigInt64Array(b); - Module['HEAPU64'] = HEAPU64 = new BigUint64Array(b); -} - -// end include: runtime_shared.js -assert(!Module['STACK_SIZE'], 'STACK_SIZE can no longer be set at runtime. Use -sSTACK_SIZE at link time') - -assert(typeof Int32Array != 'undefined' && typeof Float64Array !== 'undefined' && Int32Array.prototype.subarray != undefined && Int32Array.prototype.set != undefined, - 'JS engine does not provide full typed array support'); - -// If memory is defined in wasm, the user can't provide it, or set INITIAL_MEMORY -assert(!Module['wasmMemory'], 'Use of `wasmMemory` detected. Use -sIMPORTED_MEMORY to define wasmMemory externally'); -assert(!Module['INITIAL_MEMORY'], 'Detected runtime INITIAL_MEMORY setting. Use -sIMPORTED_MEMORY to define wasmMemory dynamically'); - -function preRun() { - if (Module['preRun']) { - if (typeof Module['preRun'] == 'function') Module['preRun'] = [Module['preRun']]; - while (Module['preRun'].length) { - addOnPreRun(Module['preRun'].shift()); - } - } - consumedModuleProp('preRun'); - callRuntimeCallbacks(onPreRuns); -} - -function initRuntime() { - assert(!runtimeInitialized); - runtimeInitialized = true; - - checkStackCookie(); - - if (!Module['noFSInit'] && !FS.initialized) FS.init(); -TTY.init(); - - wasmExports['__wasm_call_ctors'](); - - FS.ignorePermissions = false; -} - -function preMain() { - checkStackCookie(); - -} - -function postRun() { - checkStackCookie(); - - if (Module['postRun']) { - if (typeof Module['postRun'] == 'function') Module['postRun'] = [Module['postRun']]; - while (Module['postRun'].length) { - addOnPostRun(Module['postRun'].shift()); - } - } - consumedModuleProp('postRun'); - - callRuntimeCallbacks(onPostRuns); -} - -// A counter of dependencies for calling run(). If we need to -// do asynchronous work before running, increment this and -// decrement it. Incrementing must happen in a place like -// Module.preRun (used by emcc to add file preloading). -// Note that you can add dependencies in preRun, even though -// it happens right before run - run will be postponed until -// the dependencies are met. -var runDependencies = 0; -var dependenciesFulfilled = null; // overridden to take different actions when all run dependencies are fulfilled -var runDependencyTracking = {}; -var runDependencyWatcher = null; - -function getUniqueRunDependency(id) { - var orig = id; - while (1) { - if (!runDependencyTracking[id]) return id; - id = orig + Math.random(); - } -} - -function addRunDependency(id) { - runDependencies++; - - Module['monitorRunDependencies']?.(runDependencies); - - if (id) { - assert(!runDependencyTracking[id]); - runDependencyTracking[id] = 1; - if (runDependencyWatcher === null && typeof setInterval != 'undefined') { - // Check for missing dependencies every few seconds - runDependencyWatcher = setInterval(() => { - if (ABORT) { - clearInterval(runDependencyWatcher); - runDependencyWatcher = null; - return; - } - var shown = false; - for (var dep in runDependencyTracking) { - if (!shown) { - shown = true; - err('still waiting on run dependencies:'); - } - err(`dependency: ${dep}`); - } - if (shown) { - err('(end of list)'); - } - }, 10000); - } - } else { - err('warning: run dependency added without ID'); - } -} - -function removeRunDependency(id) { - runDependencies--; - - Module['monitorRunDependencies']?.(runDependencies); - - if (id) { - assert(runDependencyTracking[id]); - delete runDependencyTracking[id]; - } else { - err('warning: run dependency removed without ID'); - } - if (runDependencies == 0) { - if (runDependencyWatcher !== null) { - clearInterval(runDependencyWatcher); - runDependencyWatcher = null; - } - if (dependenciesFulfilled) { - var callback = dependenciesFulfilled; - dependenciesFulfilled = null; - callback(); // can add another dependenciesFulfilled - } - } -} - -/** @param {string|number=} what */ -function abort(what) { - Module['onAbort']?.(what); - - what = 'Aborted(' + what + ')'; - // TODO(sbc): Should we remove printing and leave it up to whoever - // catches the exception? - err(what); - - ABORT = true; - - // Use a wasm runtime error, because a JS error might be seen as a foreign - // exception, which means we'd run destructors on it. We need the error to - // simply make the program stop. - // FIXME This approach does not work in Wasm EH because it currently does not assume - // all RuntimeErrors are from traps; it decides whether a RuntimeError is from - // a trap or not based on a hidden field within the object. So at the moment - // we don't have a way of throwing a wasm trap from JS. TODO Make a JS API that - // allows this in the wasm spec. - - // Suppress closure compiler warning here. Closure compiler's builtin extern - // definition for WebAssembly.RuntimeError claims it takes no arguments even - // though it can. - // TODO(https://github.com/google/closure-compiler/pull/3913): Remove if/when upstream closure gets fixed. - /** @suppress {checkTypes} */ - var e = new WebAssembly.RuntimeError(what); - - // Throw the error whether or not MODULARIZE is set because abort is used - // in code paths apart from instantiation where an exception is expected - // to be thrown when abort is called. - throw e; -} - -function createExportWrapper(name, nargs) { - return (...args) => { - assert(runtimeInitialized, `native function \`${name}\` called before runtime initialization`); - var f = wasmExports[name]; - assert(f, `exported native function \`${name}\` not found`); - // Only assert for too many arguments. Too few can be valid since the missing arguments will be zero filled. - assert(args.length <= nargs, `native function \`${name}\` called with ${args.length} args but expects ${nargs}`); - return f(...args); - }; -} - -var wasmBinaryFile; - -function findWasmBinary() { - return locateFile('zip_read_fuzzer.wasm'); -} - -function getBinarySync(file) { - if (file == wasmBinaryFile && wasmBinary) { - return new Uint8Array(wasmBinary); - } - if (readBinary) { - return readBinary(file); - } - throw 'both async and sync fetching of the wasm failed'; -} - -async function getWasmBinary(binaryFile) { - // If we don't have the binary yet, load it asynchronously using readAsync. - if (!wasmBinary) { - // Fetch the binary using readAsync - try { - var response = await readAsync(binaryFile); - return new Uint8Array(response); - } catch { - // Fall back to getBinarySync below; - } - } - - // Otherwise, getBinarySync should be able to get it synchronously - return getBinarySync(binaryFile); -} - -async function instantiateArrayBuffer(binaryFile, imports) { - try { - var binary = await getWasmBinary(binaryFile); - var instance = await WebAssembly.instantiate(binary, imports); - return instance; - } catch (reason) { - err(`failed to asynchronously prepare wasm: ${reason}`); - - // Warn on some common problems. - if (isFileURI(wasmBinaryFile)) { - err(`warning: Loading from a file URI (${wasmBinaryFile}) is not supported in most browsers. See https://emscripten.org/docs/getting_started/FAQ.html#how-do-i-run-a-local-webserver-for-testing-why-does-my-program-stall-in-downloading-or-preparing`); - } - abort(reason); - } -} - -async function instantiateAsync(binary, binaryFile, imports) { - if (!binary && typeof WebAssembly.instantiateStreaming == 'function' - // Don't use streaming for file:// delivered objects in a webview, fetch them synchronously. - && !isFileURI(binaryFile) - // Avoid instantiateStreaming() on Node.js environment for now, as while - // Node.js v18.1.0 implements it, it does not have a full fetch() - // implementation yet. - // - // Reference: - // https://github.com/emscripten-core/emscripten/pull/16917 - && !ENVIRONMENT_IS_NODE - ) { - try { - var response = fetch(binaryFile, { credentials: 'same-origin' }); - var instantiationResult = await WebAssembly.instantiateStreaming(response, imports); - return instantiationResult; - } catch (reason) { - // We expect the most common failure cause to be a bad MIME type for the binary, - // in which case falling back to ArrayBuffer instantiation should work. - err(`wasm streaming compile failed: ${reason}`); - err('falling back to ArrayBuffer instantiation'); - // fall back of instantiateArrayBuffer below - }; - } - return instantiateArrayBuffer(binaryFile, imports); -} - -function getWasmImports() { - // prepare imports - return { - 'env': wasmImports, - 'wasi_snapshot_preview1': wasmImports, - } -} - -// Create the wasm instance. -// Receives the wasm imports, returns the exports. -async function createWasm() { - // Load the wasm module and create an instance of using native support in the JS engine. - // handle a generated wasm instance, receiving its exports and - // performing other necessary setup - /** @param {WebAssembly.Module=} module*/ - function receiveInstance(instance, module) { - wasmExports = instance.exports; - - - - wasmMemory = wasmExports['memory']; - - assert(wasmMemory, 'memory not found in wasm exports'); - updateMemoryViews(); - - removeRunDependency('wasm-instantiate'); - return wasmExports; - } - // wait for the pthread pool (if any) - addRunDependency('wasm-instantiate'); - - // Prefer streaming instantiation if available. - // Async compilation can be confusing when an error on the page overwrites Module - // (for example, if the order of elements is wrong, and the one defining Module is - // later), so we save Module and check it later. - var trueModule = Module; - function receiveInstantiationResult(result) { - // 'result' is a ResultObject object which has both the module and instance. - // receiveInstance() will swap in the exports (to Module.asm) so they can be called - assert(Module === trueModule, 'the Module object should not be replaced during async compilation - perhaps the order of HTML elements is wrong?'); - trueModule = null; - // TODO: Due to Closure regression https://github.com/google/closure-compiler/issues/3193, the above line no longer optimizes out down to the following line. - // When the regression is fixed, can restore the above PTHREADS-enabled path. - return receiveInstance(result['instance']); - } - - var info = getWasmImports(); - - // User shell pages can write their own Module.instantiateWasm = function(imports, successCallback) callback - // to manually instantiate the Wasm module themselves. This allows pages to - // run the instantiation parallel to any other async startup actions they are - // performing. - // Also pthreads and wasm workers initialize the wasm instance through this - // path. - if (Module['instantiateWasm']) { - return new Promise((resolve, reject) => { - try { - Module['instantiateWasm'](info, (mod, inst) => { - receiveInstance(mod, inst); - resolve(mod.exports); - }); - } catch(e) { - err(`Module.instantiateWasm callback failed with error: ${e}`); - reject(e); - } - }); - } - - wasmBinaryFile ??= findWasmBinary(); - var result = await instantiateAsync(wasmBinary, wasmBinaryFile, info); - var exports = receiveInstantiationResult(result); - return exports; -} - -// end include: preamble.js - -// Begin JS library code - - - class ExitStatus { - name = 'ExitStatus'; - constructor(status) { - this.message = `Program terminated with exit(${status})`; - this.status = status; - } - } - - var callRuntimeCallbacks = (callbacks) => { - while (callbacks.length > 0) { - // Pass the module as the first argument. - callbacks.shift()(Module); - } - }; - var onPostRuns = []; - var addOnPostRun = (cb) => onPostRuns.unshift(cb); - - var onPreRuns = []; - var addOnPreRun = (cb) => onPreRuns.unshift(cb); - - - - /** - * @param {number} ptr - * @param {string} type - */ - function getValue(ptr, type = 'i8') { - if (type.endsWith('*')) type = '*'; - switch (type) { - case 'i1': return HEAP8[ptr]; - case 'i8': return HEAP8[ptr]; - case 'i16': return HEAP16[((ptr)>>1)]; - case 'i32': return HEAP32[((ptr)>>2)]; - case 'i64': return HEAP64[((ptr)>>3)]; - case 'float': return HEAPF32[((ptr)>>2)]; - case 'double': return HEAPF64[((ptr)>>3)]; - case '*': return HEAPU32[((ptr)>>2)]; - default: abort(`invalid type for getValue: ${type}`); - } - } - - var noExitRuntime = Module['noExitRuntime'] || true; - - var ptrToString = (ptr) => { - assert(typeof ptr === 'number'); - // With CAN_ADDRESS_2GB or MEMORY64, pointers are already unsigned. - ptr >>>= 0; - return '0x' + ptr.toString(16).padStart(8, '0'); - }; - - - /** - * @param {number} ptr - * @param {number} value - * @param {string} type - */ - function setValue(ptr, value, type = 'i8') { - if (type.endsWith('*')) type = '*'; - switch (type) { - case 'i1': HEAP8[ptr] = value; break; - case 'i8': HEAP8[ptr] = value; break; - case 'i16': HEAP16[((ptr)>>1)] = value; break; - case 'i32': HEAP32[((ptr)>>2)] = value; break; - case 'i64': HEAP64[((ptr)>>3)] = BigInt(value); break; - case 'float': HEAPF32[((ptr)>>2)] = value; break; - case 'double': HEAPF64[((ptr)>>3)] = value; break; - case '*': HEAPU32[((ptr)>>2)] = value; break; - default: abort(`invalid type for setValue: ${type}`); - } - } - - var stackRestore = (val) => __emscripten_stack_restore(val); - - var stackSave = () => _emscripten_stack_get_current(); - - var warnOnce = (text) => { - warnOnce.shown ||= {}; - if (!warnOnce.shown[text]) { - warnOnce.shown[text] = 1; - if (ENVIRONMENT_IS_NODE) text = 'warning: ' + text; - err(text); - } - }; - - /** @suppress {duplicate } */ - var syscallGetVarargI = () => { - assert(SYSCALLS.varargs != undefined); - // the `+` prepended here is necessary to convince the JSCompiler that varargs is indeed a number. - var ret = HEAP32[((+SYSCALLS.varargs)>>2)]; - SYSCALLS.varargs += 4; - return ret; - }; - var syscallGetVarargP = syscallGetVarargI; - - - var PATH = { - isAbs:(path) => path.charAt(0) === '/', - splitPath:(filename) => { - var splitPathRe = /^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/; - return splitPathRe.exec(filename).slice(1); - }, - normalizeArray:(parts, allowAboveRoot) => { - // if the path tries to go above the root, `up` ends up > 0 - var up = 0; - for (var i = parts.length - 1; i >= 0; i--) { - var last = parts[i]; - if (last === '.') { - parts.splice(i, 1); - } else if (last === '..') { - parts.splice(i, 1); - up++; - } else if (up) { - parts.splice(i, 1); - up--; - } - } - // if the path is allowed to go above the root, restore leading ..s - if (allowAboveRoot) { - for (; up; up--) { - parts.unshift('..'); - } - } - return parts; - }, - normalize:(path) => { - var isAbsolute = PATH.isAbs(path), - trailingSlash = path.slice(-1) === '/'; - // Normalize the path - path = PATH.normalizeArray(path.split('/').filter((p) => !!p), !isAbsolute).join('/'); - if (!path && !isAbsolute) { - path = '.'; - } - if (path && trailingSlash) { - path += '/'; - } - return (isAbsolute ? '/' : '') + path; - }, - dirname:(path) => { - var result = PATH.splitPath(path), - root = result[0], - dir = result[1]; - if (!root && !dir) { - // No dirname whatsoever - return '.'; - } - if (dir) { - // It has a dirname, strip trailing slash - dir = dir.slice(0, -1); - } - return root + dir; - }, - basename:(path) => path && path.match(/([^\/]+|\/)\/*$/)[1], - join:(...paths) => PATH.normalize(paths.join('/')), - join2:(l, r) => PATH.normalize(l + '/' + r), - }; - - var initRandomFill = () => { - // This block is not needed on v19+ since crypto.getRandomValues is builtin - if (ENVIRONMENT_IS_NODE) { - var nodeCrypto = require('crypto'); - return (view) => nodeCrypto.randomFillSync(view); - } - - return (view) => crypto.getRandomValues(view); - }; - var randomFill = (view) => { - // Lazily init on the first invocation. - (randomFill = initRandomFill())(view); - }; - - - - var PATH_FS = { - resolve:(...args) => { - var resolvedPath = '', - resolvedAbsolute = false; - for (var i = args.length - 1; i >= -1 && !resolvedAbsolute; i--) { - var path = (i >= 0) ? args[i] : FS.cwd(); - // Skip empty and invalid entries - if (typeof path != 'string') { - throw new TypeError('Arguments to path.resolve must be strings'); - } else if (!path) { - return ''; // an invalid portion invalidates the whole thing - } - resolvedPath = path + '/' + resolvedPath; - resolvedAbsolute = PATH.isAbs(path); - } - // At this point the path should be resolved to a full absolute path, but - // handle relative paths to be safe (might happen when process.cwd() fails) - resolvedPath = PATH.normalizeArray(resolvedPath.split('/').filter((p) => !!p), !resolvedAbsolute).join('/'); - return ((resolvedAbsolute ? '/' : '') + resolvedPath) || '.'; - }, - relative:(from, to) => { - from = PATH_FS.resolve(from).slice(1); - to = PATH_FS.resolve(to).slice(1); - function trim(arr) { - var start = 0; - for (; start < arr.length; start++) { - if (arr[start] !== '') break; - } - var end = arr.length - 1; - for (; end >= 0; end--) { - if (arr[end] !== '') break; - } - if (start > end) return []; - return arr.slice(start, end - start + 1); - } - var fromParts = trim(from.split('/')); - var toParts = trim(to.split('/')); - var length = Math.min(fromParts.length, toParts.length); - var samePartsLength = length; - for (var i = 0; i < length; i++) { - if (fromParts[i] !== toParts[i]) { - samePartsLength = i; - break; - } - } - var outputParts = []; - for (var i = samePartsLength; i < fromParts.length; i++) { - outputParts.push('..'); - } - outputParts = outputParts.concat(toParts.slice(samePartsLength)); - return outputParts.join('/'); - }, - }; - - - var UTF8Decoder = typeof TextDecoder != 'undefined' ? new TextDecoder() : undefined; - - /** - * Given a pointer 'idx' to a null-terminated UTF8-encoded string in the given - * array that contains uint8 values, returns a copy of that string as a - * Javascript String object. - * heapOrArray is either a regular array, or a JavaScript typed array view. - * @param {number=} idx - * @param {number=} maxBytesToRead - * @return {string} - */ - var UTF8ArrayToString = (heapOrArray, idx = 0, maxBytesToRead = NaN) => { - var endIdx = idx + maxBytesToRead; - var endPtr = idx; - // TextDecoder needs to know the byte length in advance, it doesn't stop on - // null terminator by itself. Also, use the length info to avoid running tiny - // strings through TextDecoder, since .subarray() allocates garbage. - // (As a tiny code save trick, compare endPtr against endIdx using a negation, - // so that undefined/NaN means Infinity) - while (heapOrArray[endPtr] && !(endPtr >= endIdx)) ++endPtr; - - if (endPtr - idx > 16 && heapOrArray.buffer && UTF8Decoder) { - return UTF8Decoder.decode(heapOrArray.subarray(idx, endPtr)); - } - var str = ''; - // If building with TextDecoder, we have already computed the string length - // above, so test loop end condition against that - while (idx < endPtr) { - // For UTF8 byte structure, see: - // http://en.wikipedia.org/wiki/UTF-8#Description - // https://www.ietf.org/rfc/rfc2279.txt - // https://tools.ietf.org/html/rfc3629 - var u0 = heapOrArray[idx++]; - if (!(u0 & 0x80)) { str += String.fromCharCode(u0); continue; } - var u1 = heapOrArray[idx++] & 63; - if ((u0 & 0xE0) == 0xC0) { str += String.fromCharCode(((u0 & 31) << 6) | u1); continue; } - var u2 = heapOrArray[idx++] & 63; - if ((u0 & 0xF0) == 0xE0) { - u0 = ((u0 & 15) << 12) | (u1 << 6) | u2; - } else { - if ((u0 & 0xF8) != 0xF0) warnOnce('Invalid UTF-8 leading byte ' + ptrToString(u0) + ' encountered when deserializing a UTF-8 string in wasm memory to a JS string!'); - u0 = ((u0 & 7) << 18) | (u1 << 12) | (u2 << 6) | (heapOrArray[idx++] & 63); - } - - if (u0 < 0x10000) { - str += String.fromCharCode(u0); - } else { - var ch = u0 - 0x10000; - str += String.fromCharCode(0xD800 | (ch >> 10), 0xDC00 | (ch & 0x3FF)); - } - } - return str; - }; - - var FS_stdin_getChar_buffer = []; - - var lengthBytesUTF8 = (str) => { - var len = 0; - for (var i = 0; i < str.length; ++i) { - // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code - // unit, not a Unicode code point of the character! So decode - // UTF16->UTF32->UTF8. - // See http://unicode.org/faq/utf_bom.html#utf16-3 - var c = str.charCodeAt(i); // possibly a lead surrogate - if (c <= 0x7F) { - len++; - } else if (c <= 0x7FF) { - len += 2; - } else if (c >= 0xD800 && c <= 0xDFFF) { - len += 4; ++i; - } else { - len += 3; - } - } - return len; - }; - - var stringToUTF8Array = (str, heap, outIdx, maxBytesToWrite) => { - assert(typeof str === 'string', `stringToUTF8Array expects a string (got ${typeof str})`); - // Parameter maxBytesToWrite is not optional. Negative values, 0, null, - // undefined and false each don't write out any bytes. - if (!(maxBytesToWrite > 0)) - return 0; - - var startIdx = outIdx; - var endIdx = outIdx + maxBytesToWrite - 1; // -1 for string null terminator. - for (var i = 0; i < str.length; ++i) { - // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code - // unit, not a Unicode code point of the character! So decode - // UTF16->UTF32->UTF8. - // See http://unicode.org/faq/utf_bom.html#utf16-3 - // For UTF8 byte structure, see http://en.wikipedia.org/wiki/UTF-8#Description - // and https://www.ietf.org/rfc/rfc2279.txt - // and https://tools.ietf.org/html/rfc3629 - var u = str.charCodeAt(i); // possibly a lead surrogate - if (u >= 0xD800 && u <= 0xDFFF) { - var u1 = str.charCodeAt(++i); - u = 0x10000 + ((u & 0x3FF) << 10) | (u1 & 0x3FF); - } - if (u <= 0x7F) { - if (outIdx >= endIdx) break; - heap[outIdx++] = u; - } else if (u <= 0x7FF) { - if (outIdx + 1 >= endIdx) break; - heap[outIdx++] = 0xC0 | (u >> 6); - heap[outIdx++] = 0x80 | (u & 63); - } else if (u <= 0xFFFF) { - if (outIdx + 2 >= endIdx) break; - heap[outIdx++] = 0xE0 | (u >> 12); - heap[outIdx++] = 0x80 | ((u >> 6) & 63); - heap[outIdx++] = 0x80 | (u & 63); - } else { - if (outIdx + 3 >= endIdx) break; - if (u > 0x10FFFF) warnOnce('Invalid Unicode code point ' + ptrToString(u) + ' encountered when serializing a JS string to a UTF-8 string in wasm memory! (Valid unicode code points should be in range 0-0x10FFFF).'); - heap[outIdx++] = 0xF0 | (u >> 18); - heap[outIdx++] = 0x80 | ((u >> 12) & 63); - heap[outIdx++] = 0x80 | ((u >> 6) & 63); - heap[outIdx++] = 0x80 | (u & 63); - } - } - // Null-terminate the pointer to the buffer. - heap[outIdx] = 0; - return outIdx - startIdx; - }; - /** @type {function(string, boolean=, number=)} */ - var intArrayFromString = (stringy, dontAddNull, length) => { - var len = length > 0 ? length : lengthBytesUTF8(stringy)+1; - var u8array = new Array(len); - var numBytesWritten = stringToUTF8Array(stringy, u8array, 0, u8array.length); - if (dontAddNull) u8array.length = numBytesWritten; - return u8array; - }; - var FS_stdin_getChar = () => { - if (!FS_stdin_getChar_buffer.length) { - var result = null; - if (ENVIRONMENT_IS_NODE) { - // we will read data by chunks of BUFSIZE - var BUFSIZE = 256; - var buf = Buffer.alloc(BUFSIZE); - var bytesRead = 0; - - // For some reason we must suppress a closure warning here, even though - // fd definitely exists on process.stdin, and is even the proper way to - // get the fd of stdin, - // https://github.com/nodejs/help/issues/2136#issuecomment-523649904 - // This started to happen after moving this logic out of library_tty.js, - // so it is related to the surrounding code in some unclear manner. - /** @suppress {missingProperties} */ - var fd = process.stdin.fd; - - try { - bytesRead = fs.readSync(fd, buf, 0, BUFSIZE); - } catch(e) { - // Cross-platform differences: on Windows, reading EOF throws an - // exception, but on other OSes, reading EOF returns 0. Uniformize - // behavior by treating the EOF exception to return 0. - if (e.toString().includes('EOF')) bytesRead = 0; - else throw e; - } - - if (bytesRead > 0) { - result = buf.slice(0, bytesRead).toString('utf-8'); - } - } else - if (typeof window != 'undefined' && - typeof window.prompt == 'function') { - // Browser. - result = window.prompt('Input: '); // returns null on cancel - if (result !== null) { - result += '\n'; - } - } else - {} - if (!result) { - return null; - } - FS_stdin_getChar_buffer = intArrayFromString(result, true); - } - return FS_stdin_getChar_buffer.shift(); - }; - var TTY = { - ttys:[], - init() { - // https://github.com/emscripten-core/emscripten/pull/1555 - // if (ENVIRONMENT_IS_NODE) { - // // currently, FS.init does not distinguish if process.stdin is a file or TTY - // // device, it always assumes it's a TTY device. because of this, we're forcing - // // process.stdin to UTF8 encoding to at least make stdin reading compatible - // // with text files until FS.init can be refactored. - // process.stdin.setEncoding('utf8'); - // } - }, - shutdown() { - // https://github.com/emscripten-core/emscripten/pull/1555 - // if (ENVIRONMENT_IS_NODE) { - // // inolen: any idea as to why node -e 'process.stdin.read()' wouldn't exit immediately (with process.stdin being a tty)? - // // isaacs: because now it's reading from the stream, you've expressed interest in it, so that read() kicks off a _read() which creates a ReadReq operation - // // inolen: I thought read() in that case was a synchronous operation that just grabbed some amount of buffered data if it exists? - // // isaacs: it is. but it also triggers a _read() call, which calls readStart() on the handle - // // isaacs: do process.stdin.pause() and i'd think it'd probably close the pending call - // process.stdin.pause(); - // } - }, - register(dev, ops) { - TTY.ttys[dev] = { input: [], output: [], ops: ops }; - FS.registerDevice(dev, TTY.stream_ops); - }, - stream_ops:{ - open(stream) { - var tty = TTY.ttys[stream.node.rdev]; - if (!tty) { - throw new FS.ErrnoError(43); - } - stream.tty = tty; - stream.seekable = false; - }, - close(stream) { - // flush any pending line data - stream.tty.ops.fsync(stream.tty); - }, - fsync(stream) { - stream.tty.ops.fsync(stream.tty); - }, - read(stream, buffer, offset, length, pos /* ignored */) { - if (!stream.tty || !stream.tty.ops.get_char) { - throw new FS.ErrnoError(60); - } - var bytesRead = 0; - for (var i = 0; i < length; i++) { - var result; - try { - result = stream.tty.ops.get_char(stream.tty); - } catch (e) { - throw new FS.ErrnoError(29); - } - if (result === undefined && bytesRead === 0) { - throw new FS.ErrnoError(6); - } - if (result === null || result === undefined) break; - bytesRead++; - buffer[offset+i] = result; - } - if (bytesRead) { - stream.node.atime = Date.now(); - } - return bytesRead; - }, - write(stream, buffer, offset, length, pos) { - if (!stream.tty || !stream.tty.ops.put_char) { - throw new FS.ErrnoError(60); - } - try { - for (var i = 0; i < length; i++) { - stream.tty.ops.put_char(stream.tty, buffer[offset+i]); - } - } catch (e) { - throw new FS.ErrnoError(29); - } - if (length) { - stream.node.mtime = stream.node.ctime = Date.now(); - } - return i; - }, - }, - default_tty_ops:{ - get_char(tty) { - return FS_stdin_getChar(); - }, - put_char(tty, val) { - if (val === null || val === 10) { - out(UTF8ArrayToString(tty.output)); - tty.output = []; - } else { - if (val != 0) tty.output.push(val); // val == 0 would cut text output off in the middle. - } - }, - fsync(tty) { - if (tty.output?.length > 0) { - out(UTF8ArrayToString(tty.output)); - tty.output = []; - } - }, - ioctl_tcgets(tty) { - // typical setting - return { - c_iflag: 25856, - c_oflag: 5, - c_cflag: 191, - c_lflag: 35387, - c_cc: [ - 0x03, 0x1c, 0x7f, 0x15, 0x04, 0x00, 0x01, 0x00, 0x11, 0x13, 0x1a, 0x00, - 0x12, 0x0f, 0x17, 0x16, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - ] - }; - }, - ioctl_tcsets(tty, optional_actions, data) { - // currently just ignore - return 0; - }, - ioctl_tiocgwinsz(tty) { - return [24, 80]; - }, - }, - default_tty1_ops:{ - put_char(tty, val) { - if (val === null || val === 10) { - err(UTF8ArrayToString(tty.output)); - tty.output = []; - } else { - if (val != 0) tty.output.push(val); - } - }, - fsync(tty) { - if (tty.output?.length > 0) { - err(UTF8ArrayToString(tty.output)); - tty.output = []; - } - }, - }, - }; - - - var mmapAlloc = (size) => { - abort('internal error: mmapAlloc called but `emscripten_builtin_memalign` native symbol not exported'); - }; - var MEMFS = { - ops_table:null, - mount(mount) { - return MEMFS.createNode(null, '/', 16895, 0); - }, - createNode(parent, name, mode, dev) { - if (FS.isBlkdev(mode) || FS.isFIFO(mode)) { - // no supported - throw new FS.ErrnoError(63); - } - MEMFS.ops_table ||= { - dir: { - node: { - getattr: MEMFS.node_ops.getattr, - setattr: MEMFS.node_ops.setattr, - lookup: MEMFS.node_ops.lookup, - mknod: MEMFS.node_ops.mknod, - rename: MEMFS.node_ops.rename, - unlink: MEMFS.node_ops.unlink, - rmdir: MEMFS.node_ops.rmdir, - readdir: MEMFS.node_ops.readdir, - symlink: MEMFS.node_ops.symlink - }, - stream: { - llseek: MEMFS.stream_ops.llseek - } - }, - file: { - node: { - getattr: MEMFS.node_ops.getattr, - setattr: MEMFS.node_ops.setattr - }, - stream: { - llseek: MEMFS.stream_ops.llseek, - read: MEMFS.stream_ops.read, - write: MEMFS.stream_ops.write, - mmap: MEMFS.stream_ops.mmap, - msync: MEMFS.stream_ops.msync - } - }, - link: { - node: { - getattr: MEMFS.node_ops.getattr, - setattr: MEMFS.node_ops.setattr, - readlink: MEMFS.node_ops.readlink - }, - stream: {} - }, - chrdev: { - node: { - getattr: MEMFS.node_ops.getattr, - setattr: MEMFS.node_ops.setattr - }, - stream: FS.chrdev_stream_ops - } - }; - var node = FS.createNode(parent, name, mode, dev); - if (FS.isDir(node.mode)) { - node.node_ops = MEMFS.ops_table.dir.node; - node.stream_ops = MEMFS.ops_table.dir.stream; - node.contents = {}; - } else if (FS.isFile(node.mode)) { - node.node_ops = MEMFS.ops_table.file.node; - node.stream_ops = MEMFS.ops_table.file.stream; - node.usedBytes = 0; // The actual number of bytes used in the typed array, as opposed to contents.length which gives the whole capacity. - // When the byte data of the file is populated, this will point to either a typed array, or a normal JS array. Typed arrays are preferred - // for performance, and used by default. However, typed arrays are not resizable like normal JS arrays are, so there is a small disk size - // penalty involved for appending file writes that continuously grow a file similar to std::vector capacity vs used -scheme. - node.contents = null; - } else if (FS.isLink(node.mode)) { - node.node_ops = MEMFS.ops_table.link.node; - node.stream_ops = MEMFS.ops_table.link.stream; - } else if (FS.isChrdev(node.mode)) { - node.node_ops = MEMFS.ops_table.chrdev.node; - node.stream_ops = MEMFS.ops_table.chrdev.stream; - } - node.atime = node.mtime = node.ctime = Date.now(); - // add the new node to the parent - if (parent) { - parent.contents[name] = node; - parent.atime = parent.mtime = parent.ctime = node.atime; - } - return node; - }, - getFileDataAsTypedArray(node) { - if (!node.contents) return new Uint8Array(0); - if (node.contents.subarray) return node.contents.subarray(0, node.usedBytes); // Make sure to not return excess unused bytes. - return new Uint8Array(node.contents); - }, - expandFileStorage(node, newCapacity) { - var prevCapacity = node.contents ? node.contents.length : 0; - if (prevCapacity >= newCapacity) return; // No need to expand, the storage was already large enough. - // Don't expand strictly to the given requested limit if it's only a very small increase, but instead geometrically grow capacity. - // For small filesizes (<1MB), perform size*2 geometric increase, but for large sizes, do a much more conservative size*1.125 increase to - // avoid overshooting the allocation cap by a very large margin. - var CAPACITY_DOUBLING_MAX = 1024 * 1024; - newCapacity = Math.max(newCapacity, (prevCapacity * (prevCapacity < CAPACITY_DOUBLING_MAX ? 2.0 : 1.125)) >>> 0); - if (prevCapacity != 0) newCapacity = Math.max(newCapacity, 256); // At minimum allocate 256b for each file when expanding. - var oldContents = node.contents; - node.contents = new Uint8Array(newCapacity); // Allocate new storage. - if (node.usedBytes > 0) node.contents.set(oldContents.subarray(0, node.usedBytes), 0); // Copy old data over to the new storage. - }, - resizeFileStorage(node, newSize) { - if (node.usedBytes == newSize) return; - if (newSize == 0) { - node.contents = null; // Fully decommit when requesting a resize to zero. - node.usedBytes = 0; - } else { - var oldContents = node.contents; - node.contents = new Uint8Array(newSize); // Allocate new storage. - if (oldContents) { - node.contents.set(oldContents.subarray(0, Math.min(newSize, node.usedBytes))); // Copy old data over to the new storage. - } - node.usedBytes = newSize; - } - }, - node_ops:{ - getattr(node) { - var attr = {}; - // device numbers reuse inode numbers. - attr.dev = FS.isChrdev(node.mode) ? node.id : 1; - attr.ino = node.id; - attr.mode = node.mode; - attr.nlink = 1; - attr.uid = 0; - attr.gid = 0; - attr.rdev = node.rdev; - if (FS.isDir(node.mode)) { - attr.size = 4096; - } else if (FS.isFile(node.mode)) { - attr.size = node.usedBytes; - } else if (FS.isLink(node.mode)) { - attr.size = node.link.length; - } else { - attr.size = 0; - } - attr.atime = new Date(node.atime); - attr.mtime = new Date(node.mtime); - attr.ctime = new Date(node.ctime); - // NOTE: In our implementation, st_blocks = Math.ceil(st_size/st_blksize), - // but this is not required by the standard. - attr.blksize = 4096; - attr.blocks = Math.ceil(attr.size / attr.blksize); - return attr; - }, - setattr(node, attr) { - for (const key of ["mode", "atime", "mtime", "ctime"]) { - if (attr[key] != null) { - node[key] = attr[key]; - } - } - if (attr.size !== undefined) { - MEMFS.resizeFileStorage(node, attr.size); - } - }, - lookup(parent, name) { - throw new FS.ErrnoError(44); - }, - mknod(parent, name, mode, dev) { - return MEMFS.createNode(parent, name, mode, dev); - }, - rename(old_node, new_dir, new_name) { - var new_node; - try { - new_node = FS.lookupNode(new_dir, new_name); - } catch (e) {} - if (new_node) { - if (FS.isDir(old_node.mode)) { - // if we're overwriting a directory at new_name, make sure it's empty. - for (var i in new_node.contents) { - throw new FS.ErrnoError(55); - } - } - FS.hashRemoveNode(new_node); - } - // do the internal rewiring - delete old_node.parent.contents[old_node.name]; - new_dir.contents[new_name] = old_node; - old_node.name = new_name; - new_dir.ctime = new_dir.mtime = old_node.parent.ctime = old_node.parent.mtime = Date.now(); - }, - unlink(parent, name) { - delete parent.contents[name]; - parent.ctime = parent.mtime = Date.now(); - }, - rmdir(parent, name) { - var node = FS.lookupNode(parent, name); - for (var i in node.contents) { - throw new FS.ErrnoError(55); - } - delete parent.contents[name]; - parent.ctime = parent.mtime = Date.now(); - }, - readdir(node) { - return ['.', '..', ...Object.keys(node.contents)]; - }, - symlink(parent, newname, oldpath) { - var node = MEMFS.createNode(parent, newname, 0o777 | 40960, 0); - node.link = oldpath; - return node; - }, - readlink(node) { - if (!FS.isLink(node.mode)) { - throw new FS.ErrnoError(28); - } - return node.link; - }, - }, - stream_ops:{ - read(stream, buffer, offset, length, position) { - var contents = stream.node.contents; - if (position >= stream.node.usedBytes) return 0; - var size = Math.min(stream.node.usedBytes - position, length); - assert(size >= 0); - if (size > 8 && contents.subarray) { // non-trivial, and typed array - buffer.set(contents.subarray(position, position + size), offset); - } else { - for (var i = 0; i < size; i++) buffer[offset + i] = contents[position + i]; - } - return size; - }, - write(stream, buffer, offset, length, position, canOwn) { - // The data buffer should be a typed array view - assert(!(buffer instanceof ArrayBuffer)); - - if (!length) return 0; - var node = stream.node; - node.mtime = node.ctime = Date.now(); - - if (buffer.subarray && (!node.contents || node.contents.subarray)) { // This write is from a typed array to a typed array? - if (canOwn) { - assert(position === 0, 'canOwn must imply no weird position inside the file'); - node.contents = buffer.subarray(offset, offset + length); - node.usedBytes = length; - return length; - } else if (node.usedBytes === 0 && position === 0) { // If this is a simple first write to an empty file, do a fast set since we don't need to care about old data. - node.contents = buffer.slice(offset, offset + length); - node.usedBytes = length; - return length; - } else if (position + length <= node.usedBytes) { // Writing to an already allocated and used subrange of the file? - node.contents.set(buffer.subarray(offset, offset + length), position); - return length; - } - } - - // Appending to an existing file and we need to reallocate, or source data did not come as a typed array. - MEMFS.expandFileStorage(node, position+length); - if (node.contents.subarray && buffer.subarray) { - // Use typed array write which is available. - node.contents.set(buffer.subarray(offset, offset + length), position); - } else { - for (var i = 0; i < length; i++) { - node.contents[position + i] = buffer[offset + i]; // Or fall back to manual write if not. - } - } - node.usedBytes = Math.max(node.usedBytes, position + length); - return length; - }, - llseek(stream, offset, whence) { - var position = offset; - if (whence === 1) { - position += stream.position; - } else if (whence === 2) { - if (FS.isFile(stream.node.mode)) { - position += stream.node.usedBytes; - } - } - if (position < 0) { - throw new FS.ErrnoError(28); - } - return position; - }, - mmap(stream, length, position, prot, flags) { - if (!FS.isFile(stream.node.mode)) { - throw new FS.ErrnoError(43); - } - var ptr; - var allocated; - var contents = stream.node.contents; - // Only make a new copy when MAP_PRIVATE is specified. - if (!(flags & 2) && contents && contents.buffer === HEAP8.buffer) { - // We can't emulate MAP_SHARED when the file is not backed by the - // buffer we're mapping to (e.g. the HEAP buffer). - allocated = false; - ptr = contents.byteOffset; - } else { - allocated = true; - ptr = mmapAlloc(length); - if (!ptr) { - throw new FS.ErrnoError(48); - } - if (contents) { - // Try to avoid unnecessary slices. - if (position > 0 || position + length < contents.length) { - if (contents.subarray) { - contents = contents.subarray(position, position + length); - } else { - contents = Array.prototype.slice.call(contents, position, position + length); - } - } - HEAP8.set(contents, ptr); - } - } - return { ptr, allocated }; - }, - msync(stream, buffer, offset, length, mmapFlags) { - MEMFS.stream_ops.write(stream, buffer, 0, length, offset, false); - // should we check if bytesWritten and length are the same? - return 0; - }, - }, - }; - - var asyncLoad = async (url) => { - var arrayBuffer = await readAsync(url); - assert(arrayBuffer, `Loading data file "${url}" failed (no arrayBuffer).`); - return new Uint8Array(arrayBuffer); - }; - - - var FS_createDataFile = (parent, name, fileData, canRead, canWrite, canOwn) => { - FS.createDataFile(parent, name, fileData, canRead, canWrite, canOwn); - }; - - var preloadPlugins = Module['preloadPlugins'] || []; - var FS_handledByPreloadPlugin = (byteArray, fullname, finish, onerror) => { - // Ensure plugins are ready. - if (typeof Browser != 'undefined') Browser.init(); - - var handled = false; - preloadPlugins.forEach((plugin) => { - if (handled) return; - if (plugin['canHandle'](fullname)) { - plugin['handle'](byteArray, fullname, finish, onerror); - handled = true; - } - }); - return handled; - }; - var FS_createPreloadedFile = (parent, name, url, canRead, canWrite, onload, onerror, dontCreateFile, canOwn, preFinish) => { - // TODO we should allow people to just pass in a complete filename instead - // of parent and name being that we just join them anyways - var fullname = name ? PATH_FS.resolve(PATH.join2(parent, name)) : parent; - var dep = getUniqueRunDependency(`cp ${fullname}`); // might have several active requests for the same fullname - function processData(byteArray) { - function finish(byteArray) { - preFinish?.(); - if (!dontCreateFile) { - FS_createDataFile(parent, name, byteArray, canRead, canWrite, canOwn); - } - onload?.(); - removeRunDependency(dep); - } - if (FS_handledByPreloadPlugin(byteArray, fullname, finish, () => { - onerror?.(); - removeRunDependency(dep); - })) { - return; - } - finish(byteArray); - } - addRunDependency(dep); - if (typeof url == 'string') { - asyncLoad(url).then(processData, onerror); - } else { - processData(url); - } - }; - - var FS_modeStringToFlags = (str) => { - var flagModes = { - 'r': 0, - 'r+': 2, - 'w': 512 | 64 | 1, - 'w+': 512 | 64 | 2, - 'a': 1024 | 64 | 1, - 'a+': 1024 | 64 | 2, - }; - var flags = flagModes[str]; - if (typeof flags == 'undefined') { - throw new Error(`Unknown file open mode: ${str}`); - } - return flags; - }; - - var FS_getMode = (canRead, canWrite) => { - var mode = 0; - if (canRead) mode |= 292 | 73; - if (canWrite) mode |= 146; - return mode; - }; - - - - - - - /** - * Given a pointer 'ptr' to a null-terminated UTF8-encoded string in the - * emscripten HEAP, returns a copy of that string as a Javascript String object. - * - * @param {number} ptr - * @param {number=} maxBytesToRead - An optional length that specifies the - * maximum number of bytes to read. You can omit this parameter to scan the - * string until the first 0 byte. If maxBytesToRead is passed, and the string - * at [ptr, ptr+maxBytesToReadr[ contains a null byte in the middle, then the - * string will cut short at that byte index (i.e. maxBytesToRead will not - * produce a string of exact length [ptr, ptr+maxBytesToRead[) N.B. mixing - * frequent uses of UTF8ToString() with and without maxBytesToRead may throw - * JS JIT optimizations off, so it is worth to consider consistently using one - * @return {string} - */ - var UTF8ToString = (ptr, maxBytesToRead) => { - assert(typeof ptr == 'number', `UTF8ToString expects a number (got ${typeof ptr})`); - return ptr ? UTF8ArrayToString(HEAPU8, ptr, maxBytesToRead) : ''; - }; - - var strError = (errno) => UTF8ToString(_strerror(errno)); - - var ERRNO_CODES = { - 'EPERM': 63, - 'ENOENT': 44, - 'ESRCH': 71, - 'EINTR': 27, - 'EIO': 29, - 'ENXIO': 60, - 'E2BIG': 1, - 'ENOEXEC': 45, - 'EBADF': 8, - 'ECHILD': 12, - 'EAGAIN': 6, - 'EWOULDBLOCK': 6, - 'ENOMEM': 48, - 'EACCES': 2, - 'EFAULT': 21, - 'ENOTBLK': 105, - 'EBUSY': 10, - 'EEXIST': 20, - 'EXDEV': 75, - 'ENODEV': 43, - 'ENOTDIR': 54, - 'EISDIR': 31, - 'EINVAL': 28, - 'ENFILE': 41, - 'EMFILE': 33, - 'ENOTTY': 59, - 'ETXTBSY': 74, - 'EFBIG': 22, - 'ENOSPC': 51, - 'ESPIPE': 70, - 'EROFS': 69, - 'EMLINK': 34, - 'EPIPE': 64, - 'EDOM': 18, - 'ERANGE': 68, - 'ENOMSG': 49, - 'EIDRM': 24, - 'ECHRNG': 106, - 'EL2NSYNC': 156, - 'EL3HLT': 107, - 'EL3RST': 108, - 'ELNRNG': 109, - 'EUNATCH': 110, - 'ENOCSI': 111, - 'EL2HLT': 112, - 'EDEADLK': 16, - 'ENOLCK': 46, - 'EBADE': 113, - 'EBADR': 114, - 'EXFULL': 115, - 'ENOANO': 104, - 'EBADRQC': 103, - 'EBADSLT': 102, - 'EDEADLOCK': 16, - 'EBFONT': 101, - 'ENOSTR': 100, - 'ENODATA': 116, - 'ETIME': 117, - 'ENOSR': 118, - 'ENONET': 119, - 'ENOPKG': 120, - 'EREMOTE': 121, - 'ENOLINK': 47, - 'EADV': 122, - 'ESRMNT': 123, - 'ECOMM': 124, - 'EPROTO': 65, - 'EMULTIHOP': 36, - 'EDOTDOT': 125, - 'EBADMSG': 9, - 'ENOTUNIQ': 126, - 'EBADFD': 127, - 'EREMCHG': 128, - 'ELIBACC': 129, - 'ELIBBAD': 130, - 'ELIBSCN': 131, - 'ELIBMAX': 132, - 'ELIBEXEC': 133, - 'ENOSYS': 52, - 'ENOTEMPTY': 55, - 'ENAMETOOLONG': 37, - 'ELOOP': 32, - 'EOPNOTSUPP': 138, - 'EPFNOSUPPORT': 139, - 'ECONNRESET': 15, - 'ENOBUFS': 42, - 'EAFNOSUPPORT': 5, - 'EPROTOTYPE': 67, - 'ENOTSOCK': 57, - 'ENOPROTOOPT': 50, - 'ESHUTDOWN': 140, - 'ECONNREFUSED': 14, - 'EADDRINUSE': 3, - 'ECONNABORTED': 13, - 'ENETUNREACH': 40, - 'ENETDOWN': 38, - 'ETIMEDOUT': 73, - 'EHOSTDOWN': 142, - 'EHOSTUNREACH': 23, - 'EINPROGRESS': 26, - 'EALREADY': 7, - 'EDESTADDRREQ': 17, - 'EMSGSIZE': 35, - 'EPROTONOSUPPORT': 66, - 'ESOCKTNOSUPPORT': 137, - 'EADDRNOTAVAIL': 4, - 'ENETRESET': 39, - 'EISCONN': 30, - 'ENOTCONN': 53, - 'ETOOMANYREFS': 141, - 'EUSERS': 136, - 'EDQUOT': 19, - 'ESTALE': 72, - 'ENOTSUP': 138, - 'ENOMEDIUM': 148, - 'EILSEQ': 25, - 'EOVERFLOW': 61, - 'ECANCELED': 11, - 'ENOTRECOVERABLE': 56, - 'EOWNERDEAD': 62, - 'ESTRPIPE': 135, - }; - var FS = { - root:null, - mounts:[], - devices:{ - }, - streams:[], - nextInode:1, - nameTable:null, - currentPath:"/", - initialized:false, - ignorePermissions:true, - filesystems:null, - syncFSRequests:0, - readFiles:{ - }, - ErrnoError:class extends Error { - name = 'ErrnoError'; - // We set the `name` property to be able to identify `FS.ErrnoError` - // - the `name` is a standard ECMA-262 property of error objects. Kind of good to have it anyway. - // - when using PROXYFS, an error can come from an underlying FS - // as different FS objects have their own FS.ErrnoError each, - // the test `err instanceof FS.ErrnoError` won't detect an error coming from another filesystem, causing bugs. - // we'll use the reliable test `err.name == "ErrnoError"` instead - constructor(errno) { - super(runtimeInitialized ? strError(errno) : ''); - this.errno = errno; - for (var key in ERRNO_CODES) { - if (ERRNO_CODES[key] === errno) { - this.code = key; - break; - } - } - } - }, - FSStream:class { - shared = {}; - get object() { - return this.node; - } - set object(val) { - this.node = val; - } - get isRead() { - return (this.flags & 2097155) !== 1; - } - get isWrite() { - return (this.flags & 2097155) !== 0; - } - get isAppend() { - return (this.flags & 1024); - } - get flags() { - return this.shared.flags; - } - set flags(val) { - this.shared.flags = val; - } - get position() { - return this.shared.position; - } - set position(val) { - this.shared.position = val; - } - }, - FSNode:class { - node_ops = {}; - stream_ops = {}; - readMode = 292 | 73; - writeMode = 146; - mounted = null; - constructor(parent, name, mode, rdev) { - if (!parent) { - parent = this; // root node sets parent to itself - } - this.parent = parent; - this.mount = parent.mount; - this.id = FS.nextInode++; - this.name = name; - this.mode = mode; - this.rdev = rdev; - this.atime = this.mtime = this.ctime = Date.now(); - } - get read() { - return (this.mode & this.readMode) === this.readMode; - } - set read(val) { - val ? this.mode |= this.readMode : this.mode &= ~this.readMode; - } - get write() { - return (this.mode & this.writeMode) === this.writeMode; - } - set write(val) { - val ? this.mode |= this.writeMode : this.mode &= ~this.writeMode; - } - get isFolder() { - return FS.isDir(this.mode); - } - get isDevice() { - return FS.isChrdev(this.mode); - } - }, - lookupPath(path, opts = {}) { - if (!path) { - throw new FS.ErrnoError(44); - } - opts.follow_mount ??= true - - if (!PATH.isAbs(path)) { - path = FS.cwd() + '/' + path; - } - - // limit max consecutive symlinks to 40 (SYMLOOP_MAX). - linkloop: for (var nlinks = 0; nlinks < 40; nlinks++) { - // split the absolute path - var parts = path.split('/').filter((p) => !!p); - - // start at the root - var current = FS.root; - var current_path = '/'; - - for (var i = 0; i < parts.length; i++) { - var islast = (i === parts.length-1); - if (islast && opts.parent) { - // stop resolving - break; - } - - if (parts[i] === '.') { - continue; - } - - if (parts[i] === '..') { - current_path = PATH.dirname(current_path); - current = current.parent; - continue; - } - - current_path = PATH.join2(current_path, parts[i]); - try { - current = FS.lookupNode(current, parts[i]); - } catch (e) { - // if noent_okay is true, suppress a ENOENT in the last component - // and return an object with an undefined node. This is needed for - // resolving symlinks in the path when creating a file. - if ((e?.errno === 44) && islast && opts.noent_okay) { - return { path: current_path }; - } - throw e; - } - - // jump to the mount's root node if this is a mountpoint - if (FS.isMountpoint(current) && (!islast || opts.follow_mount)) { - current = current.mounted.root; - } - - // by default, lookupPath will not follow a symlink if it is the final path component. - // setting opts.follow = true will override this behavior. - if (FS.isLink(current.mode) && (!islast || opts.follow)) { - if (!current.node_ops.readlink) { - throw new FS.ErrnoError(52); - } - var link = current.node_ops.readlink(current); - if (!PATH.isAbs(link)) { - link = PATH.dirname(current_path) + '/' + link; - } - path = link + '/' + parts.slice(i + 1).join('/'); - continue linkloop; - } - } - return { path: current_path, node: current }; - } - throw new FS.ErrnoError(32); - }, - getPath(node) { - var path; - while (true) { - if (FS.isRoot(node)) { - var mount = node.mount.mountpoint; - if (!path) return mount; - return mount[mount.length-1] !== '/' ? `${mount}/${path}` : mount + path; - } - path = path ? `${node.name}/${path}` : node.name; - node = node.parent; - } - }, - hashName(parentid, name) { - var hash = 0; - - for (var i = 0; i < name.length; i++) { - hash = ((hash << 5) - hash + name.charCodeAt(i)) | 0; - } - return ((parentid + hash) >>> 0) % FS.nameTable.length; - }, - hashAddNode(node) { - var hash = FS.hashName(node.parent.id, node.name); - node.name_next = FS.nameTable[hash]; - FS.nameTable[hash] = node; - }, - hashRemoveNode(node) { - var hash = FS.hashName(node.parent.id, node.name); - if (FS.nameTable[hash] === node) { - FS.nameTable[hash] = node.name_next; - } else { - var current = FS.nameTable[hash]; - while (current) { - if (current.name_next === node) { - current.name_next = node.name_next; - break; - } - current = current.name_next; - } - } - }, - lookupNode(parent, name) { - var errCode = FS.mayLookup(parent); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - var hash = FS.hashName(parent.id, name); - for (var node = FS.nameTable[hash]; node; node = node.name_next) { - var nodeName = node.name; - if (node.parent.id === parent.id && nodeName === name) { - return node; - } - } - // if we failed to find it in the cache, call into the VFS - return FS.lookup(parent, name); - }, - createNode(parent, name, mode, rdev) { - assert(typeof parent == 'object') - var node = new FS.FSNode(parent, name, mode, rdev); - - FS.hashAddNode(node); - - return node; - }, - destroyNode(node) { - FS.hashRemoveNode(node); - }, - isRoot(node) { - return node === node.parent; - }, - isMountpoint(node) { - return !!node.mounted; - }, - isFile(mode) { - return (mode & 61440) === 32768; - }, - isDir(mode) { - return (mode & 61440) === 16384; - }, - isLink(mode) { - return (mode & 61440) === 40960; - }, - isChrdev(mode) { - return (mode & 61440) === 8192; - }, - isBlkdev(mode) { - return (mode & 61440) === 24576; - }, - isFIFO(mode) { - return (mode & 61440) === 4096; - }, - isSocket(mode) { - return (mode & 49152) === 49152; - }, - flagsToPermissionString(flag) { - var perms = ['r', 'w', 'rw'][flag & 3]; - if ((flag & 512)) { - perms += 'w'; - } - return perms; - }, - nodePermissions(node, perms) { - if (FS.ignorePermissions) { - return 0; - } - // return 0 if any user, group or owner bits are set. - if (perms.includes('r') && !(node.mode & 292)) { - return 2; - } else if (perms.includes('w') && !(node.mode & 146)) { - return 2; - } else if (perms.includes('x') && !(node.mode & 73)) { - return 2; - } - return 0; - }, - mayLookup(dir) { - if (!FS.isDir(dir.mode)) return 54; - var errCode = FS.nodePermissions(dir, 'x'); - if (errCode) return errCode; - if (!dir.node_ops.lookup) return 2; - return 0; - }, - mayCreate(dir, name) { - if (!FS.isDir(dir.mode)) { - return 54; - } - try { - var node = FS.lookupNode(dir, name); - return 20; - } catch (e) { - } - return FS.nodePermissions(dir, 'wx'); - }, - mayDelete(dir, name, isdir) { - var node; - try { - node = FS.lookupNode(dir, name); - } catch (e) { - return e.errno; - } - var errCode = FS.nodePermissions(dir, 'wx'); - if (errCode) { - return errCode; - } - if (isdir) { - if (!FS.isDir(node.mode)) { - return 54; - } - if (FS.isRoot(node) || FS.getPath(node) === FS.cwd()) { - return 10; - } - } else { - if (FS.isDir(node.mode)) { - return 31; - } - } - return 0; - }, - mayOpen(node, flags) { - if (!node) { - return 44; - } - if (FS.isLink(node.mode)) { - return 32; - } else if (FS.isDir(node.mode)) { - if (FS.flagsToPermissionString(flags) !== 'r' // opening for write - || (flags & (512 | 64))) { // TODO: check for O_SEARCH? (== search for dir only) - return 31; - } - } - return FS.nodePermissions(node, FS.flagsToPermissionString(flags)); - }, - checkOpExists(op, err) { - if (!op) { - throw new FS.ErrnoError(err); - } - return op; - }, - MAX_OPEN_FDS:4096, - nextfd() { - for (var fd = 0; fd <= FS.MAX_OPEN_FDS; fd++) { - if (!FS.streams[fd]) { - return fd; - } - } - throw new FS.ErrnoError(33); - }, - getStreamChecked(fd) { - var stream = FS.getStream(fd); - if (!stream) { - throw new FS.ErrnoError(8); - } - return stream; - }, - getStream:(fd) => FS.streams[fd], - createStream(stream, fd = -1) { - assert(fd >= -1); - - // clone it, so we can return an instance of FSStream - stream = Object.assign(new FS.FSStream(), stream); - if (fd == -1) { - fd = FS.nextfd(); - } - stream.fd = fd; - FS.streams[fd] = stream; - return stream; - }, - closeStream(fd) { - FS.streams[fd] = null; - }, - dupStream(origStream, fd = -1) { - var stream = FS.createStream(origStream, fd); - stream.stream_ops?.dup?.(stream); - return stream; - }, - doSetAttr(stream, node, attr) { - var setattr = stream?.stream_ops.setattr; - var arg = setattr ? stream : node; - setattr ??= node.node_ops.setattr; - FS.checkOpExists(setattr, 63) - setattr(arg, attr); - }, - chrdev_stream_ops:{ - open(stream) { - var device = FS.getDevice(stream.node.rdev); - // override node's stream ops with the device's - stream.stream_ops = device.stream_ops; - // forward the open call - stream.stream_ops.open?.(stream); - }, - llseek() { - throw new FS.ErrnoError(70); - }, - }, - major:(dev) => ((dev) >> 8), - minor:(dev) => ((dev) & 0xff), - makedev:(ma, mi) => ((ma) << 8 | (mi)), - registerDevice(dev, ops) { - FS.devices[dev] = { stream_ops: ops }; - }, - getDevice:(dev) => FS.devices[dev], - getMounts(mount) { - var mounts = []; - var check = [mount]; - - while (check.length) { - var m = check.pop(); - - mounts.push(m); - - check.push(...m.mounts); - } - - return mounts; - }, - syncfs(populate, callback) { - if (typeof populate == 'function') { - callback = populate; - populate = false; - } - - FS.syncFSRequests++; - - if (FS.syncFSRequests > 1) { - err(`warning: ${FS.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`); - } - - var mounts = FS.getMounts(FS.root.mount); - var completed = 0; - - function doCallback(errCode) { - assert(FS.syncFSRequests > 0); - FS.syncFSRequests--; - return callback(errCode); - } - - function done(errCode) { - if (errCode) { - if (!done.errored) { - done.errored = true; - return doCallback(errCode); - } - return; - } - if (++completed >= mounts.length) { - doCallback(null); - } - }; - - // sync all mounts - mounts.forEach((mount) => { - if (!mount.type.syncfs) { - return done(null); - } - mount.type.syncfs(mount, populate, done); - }); - }, - mount(type, opts, mountpoint) { - if (typeof type == 'string') { - // The filesystem was not included, and instead we have an error - // message stored in the variable. - throw type; - } - var root = mountpoint === '/'; - var pseudo = !mountpoint; - var node; - - if (root && FS.root) { - throw new FS.ErrnoError(10); - } else if (!root && !pseudo) { - var lookup = FS.lookupPath(mountpoint, { follow_mount: false }); - - mountpoint = lookup.path; // use the absolute path - node = lookup.node; - - if (FS.isMountpoint(node)) { - throw new FS.ErrnoError(10); - } - - if (!FS.isDir(node.mode)) { - throw new FS.ErrnoError(54); - } - } - - var mount = { - type, - opts, - mountpoint, - mounts: [] - }; - - // create a root node for the fs - var mountRoot = type.mount(mount); - mountRoot.mount = mount; - mount.root = mountRoot; - - if (root) { - FS.root = mountRoot; - } else if (node) { - // set as a mountpoint - node.mounted = mount; - - // add the new mount to the current mount's children - if (node.mount) { - node.mount.mounts.push(mount); - } - } - - return mountRoot; - }, - unmount(mountpoint) { - var lookup = FS.lookupPath(mountpoint, { follow_mount: false }); - - if (!FS.isMountpoint(lookup.node)) { - throw new FS.ErrnoError(28); - } - - // destroy the nodes for this mount, and all its child mounts - var node = lookup.node; - var mount = node.mounted; - var mounts = FS.getMounts(mount); - - Object.keys(FS.nameTable).forEach((hash) => { - var current = FS.nameTable[hash]; - - while (current) { - var next = current.name_next; - - if (mounts.includes(current.mount)) { - FS.destroyNode(current); - } - - current = next; - } - }); - - // no longer a mountpoint - node.mounted = null; - - // remove this mount from the child mounts - var idx = node.mount.mounts.indexOf(mount); - assert(idx !== -1); - node.mount.mounts.splice(idx, 1); - }, - lookup(parent, name) { - return parent.node_ops.lookup(parent, name); - }, - mknod(path, mode, dev) { - var lookup = FS.lookupPath(path, { parent: true }); - var parent = lookup.node; - var name = PATH.basename(path); - if (!name) { - throw new FS.ErrnoError(28); - } - if (name === '.' || name === '..') { - throw new FS.ErrnoError(20); - } - var errCode = FS.mayCreate(parent, name); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - if (!parent.node_ops.mknod) { - throw new FS.ErrnoError(63); - } - return parent.node_ops.mknod(parent, name, mode, dev); - }, - statfs(path) { - return FS.statfsNode(FS.lookupPath(path, {follow: true}).node); - }, - statfsStream(stream) { - // We keep a separate statfsStream function because noderawfs overrides - // it. In noderawfs, stream.node is sometimes null. Instead, we need to - // look at stream.path. - return FS.statfsNode(stream.node); - }, - statfsNode(node) { - // NOTE: None of the defaults here are true. We're just returning safe and - // sane values. Currently nodefs and rawfs replace these defaults, - // other file systems leave them alone. - var rtn = { - bsize: 4096, - frsize: 4096, - blocks: 1e6, - bfree: 5e5, - bavail: 5e5, - files: FS.nextInode, - ffree: FS.nextInode - 1, - fsid: 42, - flags: 2, - namelen: 255, - }; - - if (node.node_ops.statfs) { - Object.assign(rtn, node.node_ops.statfs(node.mount.opts.root)); - } - return rtn; - }, - create(path, mode = 0o666) { - mode &= 4095; - mode |= 32768; - return FS.mknod(path, mode, 0); - }, - mkdir(path, mode = 0o777) { - mode &= 511 | 512; - mode |= 16384; - return FS.mknod(path, mode, 0); - }, - mkdirTree(path, mode) { - var dirs = path.split('/'); - var d = ''; - for (var dir of dirs) { - if (!dir) continue; - if (d || PATH.isAbs(path)) d += '/'; - d += dir; - try { - FS.mkdir(d, mode); - } catch(e) { - if (e.errno != 20) throw e; - } - } - }, - mkdev(path, mode, dev) { - if (typeof dev == 'undefined') { - dev = mode; - mode = 0o666; - } - mode |= 8192; - return FS.mknod(path, mode, dev); - }, - symlink(oldpath, newpath) { - if (!PATH_FS.resolve(oldpath)) { - throw new FS.ErrnoError(44); - } - var lookup = FS.lookupPath(newpath, { parent: true }); - var parent = lookup.node; - if (!parent) { - throw new FS.ErrnoError(44); - } - var newname = PATH.basename(newpath); - var errCode = FS.mayCreate(parent, newname); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - if (!parent.node_ops.symlink) { - throw new FS.ErrnoError(63); - } - return parent.node_ops.symlink(parent, newname, oldpath); - }, - rename(old_path, new_path) { - var old_dirname = PATH.dirname(old_path); - var new_dirname = PATH.dirname(new_path); - var old_name = PATH.basename(old_path); - var new_name = PATH.basename(new_path); - // parents must exist - var lookup, old_dir, new_dir; - - // let the errors from non existent directories percolate up - lookup = FS.lookupPath(old_path, { parent: true }); - old_dir = lookup.node; - lookup = FS.lookupPath(new_path, { parent: true }); - new_dir = lookup.node; - - if (!old_dir || !new_dir) throw new FS.ErrnoError(44); - // need to be part of the same mount - if (old_dir.mount !== new_dir.mount) { - throw new FS.ErrnoError(75); - } - // source must exist - var old_node = FS.lookupNode(old_dir, old_name); - // old path should not be an ancestor of the new path - var relative = PATH_FS.relative(old_path, new_dirname); - if (relative.charAt(0) !== '.') { - throw new FS.ErrnoError(28); - } - // new path should not be an ancestor of the old path - relative = PATH_FS.relative(new_path, old_dirname); - if (relative.charAt(0) !== '.') { - throw new FS.ErrnoError(55); - } - // see if the new path already exists - var new_node; - try { - new_node = FS.lookupNode(new_dir, new_name); - } catch (e) { - // not fatal - } - // early out if nothing needs to change - if (old_node === new_node) { - return; - } - // we'll need to delete the old entry - var isdir = FS.isDir(old_node.mode); - var errCode = FS.mayDelete(old_dir, old_name, isdir); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - // need delete permissions if we'll be overwriting. - // need create permissions if new doesn't already exist. - errCode = new_node ? - FS.mayDelete(new_dir, new_name, isdir) : - FS.mayCreate(new_dir, new_name); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - if (!old_dir.node_ops.rename) { - throw new FS.ErrnoError(63); - } - if (FS.isMountpoint(old_node) || (new_node && FS.isMountpoint(new_node))) { - throw new FS.ErrnoError(10); - } - // if we are going to change the parent, check write permissions - if (new_dir !== old_dir) { - errCode = FS.nodePermissions(old_dir, 'w'); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - } - // remove the node from the lookup hash - FS.hashRemoveNode(old_node); - // do the underlying fs rename - try { - old_dir.node_ops.rename(old_node, new_dir, new_name); - // update old node (we do this here to avoid each backend - // needing to) - old_node.parent = new_dir; - } catch (e) { - throw e; - } finally { - // add the node back to the hash (in case node_ops.rename - // changed its name) - FS.hashAddNode(old_node); - } - }, - rmdir(path) { - var lookup = FS.lookupPath(path, { parent: true }); - var parent = lookup.node; - var name = PATH.basename(path); - var node = FS.lookupNode(parent, name); - var errCode = FS.mayDelete(parent, name, true); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - if (!parent.node_ops.rmdir) { - throw new FS.ErrnoError(63); - } - if (FS.isMountpoint(node)) { - throw new FS.ErrnoError(10); - } - parent.node_ops.rmdir(parent, name); - FS.destroyNode(node); - }, - readdir(path) { - var lookup = FS.lookupPath(path, { follow: true }); - var node = lookup.node; - var readdir = FS.checkOpExists(node.node_ops.readdir, 54); - return readdir(node); - }, - unlink(path) { - var lookup = FS.lookupPath(path, { parent: true }); - var parent = lookup.node; - if (!parent) { - throw new FS.ErrnoError(44); - } - var name = PATH.basename(path); - var node = FS.lookupNode(parent, name); - var errCode = FS.mayDelete(parent, name, false); - if (errCode) { - // According to POSIX, we should map EISDIR to EPERM, but - // we instead do what Linux does (and we must, as we use - // the musl linux libc). - throw new FS.ErrnoError(errCode); - } - if (!parent.node_ops.unlink) { - throw new FS.ErrnoError(63); - } - if (FS.isMountpoint(node)) { - throw new FS.ErrnoError(10); - } - parent.node_ops.unlink(parent, name); - FS.destroyNode(node); - }, - readlink(path) { - var lookup = FS.lookupPath(path); - var link = lookup.node; - if (!link) { - throw new FS.ErrnoError(44); - } - if (!link.node_ops.readlink) { - throw new FS.ErrnoError(28); - } - return link.node_ops.readlink(link); - }, - stat(path, dontFollow) { - var lookup = FS.lookupPath(path, { follow: !dontFollow }); - var node = lookup.node; - var getattr = FS.checkOpExists(node.node_ops.getattr, 63); - return getattr(node); - }, - fstat(fd) { - var stream = FS.getStreamChecked(fd); - var node = stream.node; - var getattr = stream.stream_ops.getattr; - var arg = getattr ? stream : node; - getattr ??= node.node_ops.getattr; - FS.checkOpExists(getattr, 63) - return getattr(arg); - }, - lstat(path) { - return FS.stat(path, true); - }, - doChmod(stream, node, mode, dontFollow) { - FS.doSetAttr(stream, node, { - mode: (mode & 4095) | (node.mode & ~4095), - ctime: Date.now(), - dontFollow - }); - }, - chmod(path, mode, dontFollow) { - var node; - if (typeof path == 'string') { - var lookup = FS.lookupPath(path, { follow: !dontFollow }); - node = lookup.node; - } else { - node = path; - } - FS.doChmod(null, node, mode, dontFollow); - }, - lchmod(path, mode) { - FS.chmod(path, mode, true); - }, - fchmod(fd, mode) { - var stream = FS.getStreamChecked(fd); - FS.doChmod(stream, stream.node, mode, false); - }, - doChown(stream, node, dontFollow) { - FS.doSetAttr(stream, node, { - timestamp: Date.now(), - dontFollow - // we ignore the uid / gid for now - }); - }, - chown(path, uid, gid, dontFollow) { - var node; - if (typeof path == 'string') { - var lookup = FS.lookupPath(path, { follow: !dontFollow }); - node = lookup.node; - } else { - node = path; - } - FS.doChown(null, node, dontFollow); - }, - lchown(path, uid, gid) { - FS.chown(path, uid, gid, true); - }, - fchown(fd, uid, gid) { - var stream = FS.getStreamChecked(fd); - FS.doChown(stream, stream.node, false); - }, - doTruncate(stream, node, len) { - if (FS.isDir(node.mode)) { - throw new FS.ErrnoError(31); - } - if (!FS.isFile(node.mode)) { - throw new FS.ErrnoError(28); - } - var errCode = FS.nodePermissions(node, 'w'); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - FS.doSetAttr(stream, node, { - size: len, - timestamp: Date.now() - }); - }, - truncate(path, len) { - if (len < 0) { - throw new FS.ErrnoError(28); - } - var node; - if (typeof path == 'string') { - var lookup = FS.lookupPath(path, { follow: true }); - node = lookup.node; - } else { - node = path; - } - FS.doTruncate(null, node, len); - }, - ftruncate(fd, len) { - var stream = FS.getStreamChecked(fd); - if (len < 0 || (stream.flags & 2097155) === 0) { - throw new FS.ErrnoError(28); - } - FS.doTruncate(stream, stream.node, len); - }, - utime(path, atime, mtime) { - var lookup = FS.lookupPath(path, { follow: true }); - var node = lookup.node; - var setattr = FS.checkOpExists(node.node_ops.setattr, 63); - setattr(node, { - atime: atime, - mtime: mtime - }); - }, - open(path, flags, mode = 0o666) { - if (path === "") { - throw new FS.ErrnoError(44); - } - flags = typeof flags == 'string' ? FS_modeStringToFlags(flags) : flags; - if ((flags & 64)) { - mode = (mode & 4095) | 32768; - } else { - mode = 0; - } - var node; - var isDirPath; - if (typeof path == 'object') { - node = path; - } else { - isDirPath = path.endsWith("/"); - // noent_okay makes it so that if the final component of the path - // doesn't exist, lookupPath returns `node: undefined`. `path` will be - // updated to point to the target of all symlinks. - var lookup = FS.lookupPath(path, { - follow: !(flags & 131072), - noent_okay: true - }); - node = lookup.node; - path = lookup.path; - } - // perhaps we need to create the node - var created = false; - if ((flags & 64)) { - if (node) { - // if O_CREAT and O_EXCL are set, error out if the node already exists - if ((flags & 128)) { - throw new FS.ErrnoError(20); - } - } else if (isDirPath) { - throw new FS.ErrnoError(31); - } else { - // node doesn't exist, try to create it - // Ignore the permission bits here to ensure we can `open` this new - // file below. We use chmod below the apply the permissions once the - // file is open. - node = FS.mknod(path, mode | 0o777, 0); - created = true; - } - } - if (!node) { - throw new FS.ErrnoError(44); - } - // can't truncate a device - if (FS.isChrdev(node.mode)) { - flags &= ~512; - } - // if asked only for a directory, then this must be one - if ((flags & 65536) && !FS.isDir(node.mode)) { - throw new FS.ErrnoError(54); - } - // check permissions, if this is not a file we just created now (it is ok to - // create and write to a file with read-only permissions; it is read-only - // for later use) - if (!created) { - var errCode = FS.mayOpen(node, flags); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - } - // do truncation if necessary - if ((flags & 512) && !created) { - FS.truncate(node, 0); - } - // we've already handled these, don't pass down to the underlying vfs - flags &= ~(128 | 512 | 131072); - - // register the stream with the filesystem - var stream = FS.createStream({ - node, - path: FS.getPath(node), // we want the absolute path to the node - flags, - seekable: true, - position: 0, - stream_ops: node.stream_ops, - // used by the file family libc calls (fopen, fwrite, ferror, etc.) - ungotten: [], - error: false - }); - // call the new stream's open function - if (stream.stream_ops.open) { - stream.stream_ops.open(stream); - } - if (created) { - FS.chmod(node, mode & 0o777); - } - if (Module['logReadFiles'] && !(flags & 1)) { - if (!(path in FS.readFiles)) { - FS.readFiles[path] = 1; - } - } - return stream; - }, - close(stream) { - if (FS.isClosed(stream)) { - throw new FS.ErrnoError(8); - } - if (stream.getdents) stream.getdents = null; // free readdir state - try { - if (stream.stream_ops.close) { - stream.stream_ops.close(stream); - } - } catch (e) { - throw e; - } finally { - FS.closeStream(stream.fd); - } - stream.fd = null; - }, - isClosed(stream) { - return stream.fd === null; - }, - llseek(stream, offset, whence) { - if (FS.isClosed(stream)) { - throw new FS.ErrnoError(8); - } - if (!stream.seekable || !stream.stream_ops.llseek) { - throw new FS.ErrnoError(70); - } - if (whence != 0 && whence != 1 && whence != 2) { - throw new FS.ErrnoError(28); - } - stream.position = stream.stream_ops.llseek(stream, offset, whence); - stream.ungotten = []; - return stream.position; - }, - read(stream, buffer, offset, length, position) { - assert(offset >= 0); - if (length < 0 || position < 0) { - throw new FS.ErrnoError(28); - } - if (FS.isClosed(stream)) { - throw new FS.ErrnoError(8); - } - if ((stream.flags & 2097155) === 1) { - throw new FS.ErrnoError(8); - } - if (FS.isDir(stream.node.mode)) { - throw new FS.ErrnoError(31); - } - if (!stream.stream_ops.read) { - throw new FS.ErrnoError(28); - } - var seeking = typeof position != 'undefined'; - if (!seeking) { - position = stream.position; - } else if (!stream.seekable) { - throw new FS.ErrnoError(70); - } - var bytesRead = stream.stream_ops.read(stream, buffer, offset, length, position); - if (!seeking) stream.position += bytesRead; - return bytesRead; - }, - write(stream, buffer, offset, length, position, canOwn) { - assert(offset >= 0); - if (length < 0 || position < 0) { - throw new FS.ErrnoError(28); - } - if (FS.isClosed(stream)) { - throw new FS.ErrnoError(8); - } - if ((stream.flags & 2097155) === 0) { - throw new FS.ErrnoError(8); - } - if (FS.isDir(stream.node.mode)) { - throw new FS.ErrnoError(31); - } - if (!stream.stream_ops.write) { - throw new FS.ErrnoError(28); - } - if (stream.seekable && stream.flags & 1024) { - // seek to the end before writing in append mode - FS.llseek(stream, 0, 2); - } - var seeking = typeof position != 'undefined'; - if (!seeking) { - position = stream.position; - } else if (!stream.seekable) { - throw new FS.ErrnoError(70); - } - var bytesWritten = stream.stream_ops.write(stream, buffer, offset, length, position, canOwn); - if (!seeking) stream.position += bytesWritten; - return bytesWritten; - }, - mmap(stream, length, position, prot, flags) { - // User requests writing to file (prot & PROT_WRITE != 0). - // Checking if we have permissions to write to the file unless - // MAP_PRIVATE flag is set. According to POSIX spec it is possible - // to write to file opened in read-only mode with MAP_PRIVATE flag, - // as all modifications will be visible only in the memory of - // the current process. - if ((prot & 2) !== 0 - && (flags & 2) === 0 - && (stream.flags & 2097155) !== 2) { - throw new FS.ErrnoError(2); - } - if ((stream.flags & 2097155) === 1) { - throw new FS.ErrnoError(2); - } - if (!stream.stream_ops.mmap) { - throw new FS.ErrnoError(43); - } - if (!length) { - throw new FS.ErrnoError(28); - } - return stream.stream_ops.mmap(stream, length, position, prot, flags); - }, - msync(stream, buffer, offset, length, mmapFlags) { - assert(offset >= 0); - if (!stream.stream_ops.msync) { - return 0; - } - return stream.stream_ops.msync(stream, buffer, offset, length, mmapFlags); - }, - ioctl(stream, cmd, arg) { - if (!stream.stream_ops.ioctl) { - throw new FS.ErrnoError(59); - } - return stream.stream_ops.ioctl(stream, cmd, arg); - }, - readFile(path, opts = {}) { - opts.flags = opts.flags || 0; - opts.encoding = opts.encoding || 'binary'; - if (opts.encoding !== 'utf8' && opts.encoding !== 'binary') { - throw new Error(`Invalid encoding type "${opts.encoding}"`); - } - var ret; - var stream = FS.open(path, opts.flags); - var stat = FS.stat(path); - var length = stat.size; - var buf = new Uint8Array(length); - FS.read(stream, buf, 0, length, 0); - if (opts.encoding === 'utf8') { - ret = UTF8ArrayToString(buf); - } else if (opts.encoding === 'binary') { - ret = buf; - } - FS.close(stream); - return ret; - }, - writeFile(path, data, opts = {}) { - opts.flags = opts.flags || 577; - var stream = FS.open(path, opts.flags, opts.mode); - if (typeof data == 'string') { - var buf = new Uint8Array(lengthBytesUTF8(data)+1); - var actualNumBytes = stringToUTF8Array(data, buf, 0, buf.length); - FS.write(stream, buf, 0, actualNumBytes, undefined, opts.canOwn); - } else if (ArrayBuffer.isView(data)) { - FS.write(stream, data, 0, data.byteLength, undefined, opts.canOwn); - } else { - throw new Error('Unsupported data type'); - } - FS.close(stream); - }, - cwd:() => FS.currentPath, - chdir(path) { - var lookup = FS.lookupPath(path, { follow: true }); - if (lookup.node === null) { - throw new FS.ErrnoError(44); - } - if (!FS.isDir(lookup.node.mode)) { - throw new FS.ErrnoError(54); - } - var errCode = FS.nodePermissions(lookup.node, 'x'); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - FS.currentPath = lookup.path; - }, - createDefaultDirectories() { - FS.mkdir('/tmp'); - FS.mkdir('/home'); - FS.mkdir('/home/web_user'); - }, - createDefaultDevices() { - // create /dev - FS.mkdir('/dev'); - // setup /dev/null - FS.registerDevice(FS.makedev(1, 3), { - read: () => 0, - write: (stream, buffer, offset, length, pos) => length, - llseek: () => 0, - }); - FS.mkdev('/dev/null', FS.makedev(1, 3)); - // setup /dev/tty and /dev/tty1 - // stderr needs to print output using err() rather than out() - // so we register a second tty just for it. - TTY.register(FS.makedev(5, 0), TTY.default_tty_ops); - TTY.register(FS.makedev(6, 0), TTY.default_tty1_ops); - FS.mkdev('/dev/tty', FS.makedev(5, 0)); - FS.mkdev('/dev/tty1', FS.makedev(6, 0)); - // setup /dev/[u]random - // use a buffer to avoid overhead of individual crypto calls per byte - var randomBuffer = new Uint8Array(1024), randomLeft = 0; - var randomByte = () => { - if (randomLeft === 0) { - randomFill(randomBuffer); - randomLeft = randomBuffer.byteLength; - } - return randomBuffer[--randomLeft]; - }; - FS.createDevice('/dev', 'random', randomByte); - FS.createDevice('/dev', 'urandom', randomByte); - // we're not going to emulate the actual shm device, - // just create the tmp dirs that reside in it commonly - FS.mkdir('/dev/shm'); - FS.mkdir('/dev/shm/tmp'); - }, - createSpecialDirectories() { - // create /proc/self/fd which allows /proc/self/fd/6 => readlink gives the - // name of the stream for fd 6 (see test_unistd_ttyname) - FS.mkdir('/proc'); - var proc_self = FS.mkdir('/proc/self'); - FS.mkdir('/proc/self/fd'); - FS.mount({ - mount() { - var node = FS.createNode(proc_self, 'fd', 16895, 73); - node.stream_ops = { - llseek: MEMFS.stream_ops.llseek, - }; - node.node_ops = { - lookup(parent, name) { - var fd = +name; - var stream = FS.getStreamChecked(fd); - var ret = { - parent: null, - mount: { mountpoint: 'fake' }, - node_ops: { readlink: () => stream.path }, - id: fd + 1, - }; - ret.parent = ret; // make it look like a simple root node - return ret; - }, - readdir() { - return Array.from(FS.streams.entries()) - .filter(([k, v]) => v) - .map(([k, v]) => k.toString()); - } - }; - return node; - } - }, {}, '/proc/self/fd'); - }, - createStandardStreams(input, output, error) { - // TODO deprecate the old functionality of a single - // input / output callback and that utilizes FS.createDevice - // and instead require a unique set of stream ops - - // by default, we symlink the standard streams to the - // default tty devices. however, if the standard streams - // have been overwritten we create a unique device for - // them instead. - if (input) { - FS.createDevice('/dev', 'stdin', input); - } else { - FS.symlink('/dev/tty', '/dev/stdin'); - } - if (output) { - FS.createDevice('/dev', 'stdout', null, output); - } else { - FS.symlink('/dev/tty', '/dev/stdout'); - } - if (error) { - FS.createDevice('/dev', 'stderr', null, error); - } else { - FS.symlink('/dev/tty1', '/dev/stderr'); - } - - // open default streams for the stdin, stdout and stderr devices - var stdin = FS.open('/dev/stdin', 0); - var stdout = FS.open('/dev/stdout', 1); - var stderr = FS.open('/dev/stderr', 1); - assert(stdin.fd === 0, `invalid handle for stdin (${stdin.fd})`); - assert(stdout.fd === 1, `invalid handle for stdout (${stdout.fd})`); - assert(stderr.fd === 2, `invalid handle for stderr (${stderr.fd})`); - }, - staticInit() { - FS.nameTable = new Array(4096); - - FS.mount(MEMFS, {}, '/'); - - FS.createDefaultDirectories(); - FS.createDefaultDevices(); - FS.createSpecialDirectories(); - - FS.filesystems = { - 'MEMFS': MEMFS, - }; - }, - init(input, output, error) { - assert(!FS.initialized, 'FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)'); - FS.initialized = true; - - // Allow Module.stdin etc. to provide defaults, if none explicitly passed to us here - input ??= Module['stdin']; - output ??= Module['stdout']; - error ??= Module['stderr']; - - FS.createStandardStreams(input, output, error); - }, - quit() { - FS.initialized = false; - // force-flush all streams, so we get musl std streams printed out - _fflush(0); - // close all of our streams - for (var stream of FS.streams) { - if (stream) { - FS.close(stream); - } - } - }, - findObject(path, dontResolveLastLink) { - var ret = FS.analyzePath(path, dontResolveLastLink); - if (!ret.exists) { - return null; - } - return ret.object; - }, - analyzePath(path, dontResolveLastLink) { - // operate from within the context of the symlink's target - try { - var lookup = FS.lookupPath(path, { follow: !dontResolveLastLink }); - path = lookup.path; - } catch (e) { - } - var ret = { - isRoot: false, exists: false, error: 0, name: null, path: null, object: null, - parentExists: false, parentPath: null, parentObject: null - }; - try { - var lookup = FS.lookupPath(path, { parent: true }); - ret.parentExists = true; - ret.parentPath = lookup.path; - ret.parentObject = lookup.node; - ret.name = PATH.basename(path); - lookup = FS.lookupPath(path, { follow: !dontResolveLastLink }); - ret.exists = true; - ret.path = lookup.path; - ret.object = lookup.node; - ret.name = lookup.node.name; - ret.isRoot = lookup.path === '/'; - } catch (e) { - ret.error = e.errno; - }; - return ret; - }, - createPath(parent, path, canRead, canWrite) { - parent = typeof parent == 'string' ? parent : FS.getPath(parent); - var parts = path.split('/').reverse(); - while (parts.length) { - var part = parts.pop(); - if (!part) continue; - var current = PATH.join2(parent, part); - try { - FS.mkdir(current); - } catch (e) { - if (e.errno != 20) throw e; - } - parent = current; - } - return current; - }, - createFile(parent, name, properties, canRead, canWrite) { - var path = PATH.join2(typeof parent == 'string' ? parent : FS.getPath(parent), name); - var mode = FS_getMode(canRead, canWrite); - return FS.create(path, mode); - }, - createDataFile(parent, name, data, canRead, canWrite, canOwn) { - var path = name; - if (parent) { - parent = typeof parent == 'string' ? parent : FS.getPath(parent); - path = name ? PATH.join2(parent, name) : parent; - } - var mode = FS_getMode(canRead, canWrite); - var node = FS.create(path, mode); - if (data) { - if (typeof data == 'string') { - var arr = new Array(data.length); - for (var i = 0, len = data.length; i < len; ++i) arr[i] = data.charCodeAt(i); - data = arr; - } - // make sure we can write to the file - FS.chmod(node, mode | 146); - var stream = FS.open(node, 577); - FS.write(stream, data, 0, data.length, 0, canOwn); - FS.close(stream); - FS.chmod(node, mode); - } - }, - createDevice(parent, name, input, output) { - var path = PATH.join2(typeof parent == 'string' ? parent : FS.getPath(parent), name); - var mode = FS_getMode(!!input, !!output); - FS.createDevice.major ??= 64; - var dev = FS.makedev(FS.createDevice.major++, 0); - // Create a fake device that a set of stream ops to emulate - // the old behavior. - FS.registerDevice(dev, { - open(stream) { - stream.seekable = false; - }, - close(stream) { - // flush any pending line data - if (output?.buffer?.length) { - output(10); - } - }, - read(stream, buffer, offset, length, pos /* ignored */) { - var bytesRead = 0; - for (var i = 0; i < length; i++) { - var result; - try { - result = input(); - } catch (e) { - throw new FS.ErrnoError(29); - } - if (result === undefined && bytesRead === 0) { - throw new FS.ErrnoError(6); - } - if (result === null || result === undefined) break; - bytesRead++; - buffer[offset+i] = result; - } - if (bytesRead) { - stream.node.atime = Date.now(); - } - return bytesRead; - }, - write(stream, buffer, offset, length, pos) { - for (var i = 0; i < length; i++) { - try { - output(buffer[offset+i]); - } catch (e) { - throw new FS.ErrnoError(29); - } - } - if (length) { - stream.node.mtime = stream.node.ctime = Date.now(); - } - return i; - } - }); - return FS.mkdev(path, mode, dev); - }, - forceLoadFile(obj) { - if (obj.isDevice || obj.isFolder || obj.link || obj.contents) return true; - if (typeof XMLHttpRequest != 'undefined') { - throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread."); - } else { // Command-line. - try { - obj.contents = readBinary(obj.url); - obj.usedBytes = obj.contents.length; - } catch (e) { - throw new FS.ErrnoError(29); - } - } - }, - createLazyFile(parent, name, url, canRead, canWrite) { - // Lazy chunked Uint8Array (implements get and length from Uint8Array). - // Actual getting is abstracted away for eventual reuse. - class LazyUint8Array { - lengthKnown = false; - chunks = []; // Loaded chunks. Index is the chunk number - get(idx) { - if (idx > this.length-1 || idx < 0) { - return undefined; - } - var chunkOffset = idx % this.chunkSize; - var chunkNum = (idx / this.chunkSize)|0; - return this.getter(chunkNum)[chunkOffset]; - } - setDataGetter(getter) { - this.getter = getter; - } - cacheLength() { - // Find length - var xhr = new XMLHttpRequest(); - xhr.open('HEAD', url, false); - xhr.send(null); - if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error("Couldn't load " + url + ". Status: " + xhr.status); - var datalength = Number(xhr.getResponseHeader("Content-length")); - var header; - var hasByteServing = (header = xhr.getResponseHeader("Accept-Ranges")) && header === "bytes"; - var usesGzip = (header = xhr.getResponseHeader("Content-Encoding")) && header === "gzip"; - - var chunkSize = 1024*1024; // Chunk size in bytes - - if (!hasByteServing) chunkSize = datalength; - - // Function to get a range from the remote URL. - var doXHR = (from, to) => { - if (from > to) throw new Error("invalid range (" + from + ", " + to + ") or no bytes requested!"); - if (to > datalength-1) throw new Error("only " + datalength + " bytes available! programmer error!"); - - // TODO: Use mozResponseArrayBuffer, responseStream, etc. if available. - var xhr = new XMLHttpRequest(); - xhr.open('GET', url, false); - if (datalength !== chunkSize) xhr.setRequestHeader("Range", "bytes=" + from + "-" + to); - - // Some hints to the browser that we want binary data. - xhr.responseType = 'arraybuffer'; - if (xhr.overrideMimeType) { - xhr.overrideMimeType('text/plain; charset=x-user-defined'); - } - - xhr.send(null); - if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error("Couldn't load " + url + ". Status: " + xhr.status); - if (xhr.response !== undefined) { - return new Uint8Array(/** @type{Array} */(xhr.response || [])); - } - return intArrayFromString(xhr.responseText || '', true); - }; - var lazyArray = this; - lazyArray.setDataGetter((chunkNum) => { - var start = chunkNum * chunkSize; - var end = (chunkNum+1) * chunkSize - 1; // including this byte - end = Math.min(end, datalength-1); // if datalength-1 is selected, this is the last block - if (typeof lazyArray.chunks[chunkNum] == 'undefined') { - lazyArray.chunks[chunkNum] = doXHR(start, end); - } - if (typeof lazyArray.chunks[chunkNum] == 'undefined') throw new Error('doXHR failed!'); - return lazyArray.chunks[chunkNum]; - }); - - if (usesGzip || !datalength) { - // if the server uses gzip or doesn't supply the length, we have to download the whole file to get the (uncompressed) length - chunkSize = datalength = 1; // this will force getter(0)/doXHR do download the whole file - datalength = this.getter(0).length; - chunkSize = datalength; - out("LazyFiles on gzip forces download of the whole file when length is accessed"); - } - - this._length = datalength; - this._chunkSize = chunkSize; - this.lengthKnown = true; - } - get length() { - if (!this.lengthKnown) { - this.cacheLength(); - } - return this._length; - } - get chunkSize() { - if (!this.lengthKnown) { - this.cacheLength(); - } - return this._chunkSize; - } - } - - if (typeof XMLHttpRequest != 'undefined') { - if (!ENVIRONMENT_IS_WORKER) throw 'Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc'; - var lazyArray = new LazyUint8Array(); - var properties = { isDevice: false, contents: lazyArray }; - } else { - var properties = { isDevice: false, url: url }; - } - - var node = FS.createFile(parent, name, properties, canRead, canWrite); - // This is a total hack, but I want to get this lazy file code out of the - // core of MEMFS. If we want to keep this lazy file concept I feel it should - // be its own thin LAZYFS proxying calls to MEMFS. - if (properties.contents) { - node.contents = properties.contents; - } else if (properties.url) { - node.contents = null; - node.url = properties.url; - } - // Add a function that defers querying the file size until it is asked the first time. - Object.defineProperties(node, { - usedBytes: { - get: function() { return this.contents.length; } - } - }); - // override each stream op with one that tries to force load the lazy file first - var stream_ops = {}; - var keys = Object.keys(node.stream_ops); - keys.forEach((key) => { - var fn = node.stream_ops[key]; - stream_ops[key] = (...args) => { - FS.forceLoadFile(node); - return fn(...args); - }; - }); - function writeChunks(stream, buffer, offset, length, position) { - var contents = stream.node.contents; - if (position >= contents.length) - return 0; - var size = Math.min(contents.length - position, length); - assert(size >= 0); - if (contents.slice) { // normal array - for (var i = 0; i < size; i++) { - buffer[offset + i] = contents[position + i]; - } - } else { - for (var i = 0; i < size; i++) { // LazyUint8Array from sync binary XHR - buffer[offset + i] = contents.get(position + i); - } - } - return size; - } - // use a custom read function - stream_ops.read = (stream, buffer, offset, length, position) => { - FS.forceLoadFile(node); - return writeChunks(stream, buffer, offset, length, position) - }; - // use a custom mmap function - stream_ops.mmap = (stream, length, position, prot, flags) => { - FS.forceLoadFile(node); - var ptr = mmapAlloc(length); - if (!ptr) { - throw new FS.ErrnoError(48); - } - writeChunks(stream, HEAP8, ptr, length, position); - return { ptr, allocated: true }; - }; - node.stream_ops = stream_ops; - return node; - }, - absolutePath() { - abort('FS.absolutePath has been removed; use PATH_FS.resolve instead'); - }, - createFolder() { - abort('FS.createFolder has been removed; use FS.mkdir instead'); - }, - createLink() { - abort('FS.createLink has been removed; use FS.symlink instead'); - }, - joinPath() { - abort('FS.joinPath has been removed; use PATH.join instead'); - }, - mmapAlloc() { - abort('FS.mmapAlloc has been replaced by the top level function mmapAlloc'); - }, - standardizePath() { - abort('FS.standardizePath has been removed; use PATH.normalize instead'); - }, - }; - - var SYSCALLS = { - DEFAULT_POLLMASK:5, - calculateAt(dirfd, path, allowEmpty) { - if (PATH.isAbs(path)) { - return path; - } - // relative path - var dir; - if (dirfd === -100) { - dir = FS.cwd(); - } else { - var dirstream = SYSCALLS.getStreamFromFD(dirfd); - dir = dirstream.path; - } - if (path.length == 0) { - if (!allowEmpty) { - throw new FS.ErrnoError(44);; - } - return dir; - } - return dir + '/' + path; - }, - writeStat(buf, stat) { - HEAP32[((buf)>>2)] = stat.dev; - HEAP32[(((buf)+(4))>>2)] = stat.mode; - HEAPU32[(((buf)+(8))>>2)] = stat.nlink; - HEAP32[(((buf)+(12))>>2)] = stat.uid; - HEAP32[(((buf)+(16))>>2)] = stat.gid; - HEAP32[(((buf)+(20))>>2)] = stat.rdev; - HEAP64[(((buf)+(24))>>3)] = BigInt(stat.size); - HEAP32[(((buf)+(32))>>2)] = 4096; - HEAP32[(((buf)+(36))>>2)] = stat.blocks; - var atime = stat.atime.getTime(); - var mtime = stat.mtime.getTime(); - var ctime = stat.ctime.getTime(); - HEAP64[(((buf)+(40))>>3)] = BigInt(Math.floor(atime / 1000)); - HEAPU32[(((buf)+(48))>>2)] = (atime % 1000) * 1000 * 1000; - HEAP64[(((buf)+(56))>>3)] = BigInt(Math.floor(mtime / 1000)); - HEAPU32[(((buf)+(64))>>2)] = (mtime % 1000) * 1000 * 1000; - HEAP64[(((buf)+(72))>>3)] = BigInt(Math.floor(ctime / 1000)); - HEAPU32[(((buf)+(80))>>2)] = (ctime % 1000) * 1000 * 1000; - HEAP64[(((buf)+(88))>>3)] = BigInt(stat.ino); - return 0; - }, - writeStatFs(buf, stats) { - HEAP32[(((buf)+(4))>>2)] = stats.bsize; - HEAP32[(((buf)+(40))>>2)] = stats.bsize; - HEAP32[(((buf)+(8))>>2)] = stats.blocks; - HEAP32[(((buf)+(12))>>2)] = stats.bfree; - HEAP32[(((buf)+(16))>>2)] = stats.bavail; - HEAP32[(((buf)+(20))>>2)] = stats.files; - HEAP32[(((buf)+(24))>>2)] = stats.ffree; - HEAP32[(((buf)+(28))>>2)] = stats.fsid; - HEAP32[(((buf)+(44))>>2)] = stats.flags; // ST_NOSUID - HEAP32[(((buf)+(36))>>2)] = stats.namelen; - }, - doMsync(addr, stream, len, flags, offset) { - if (!FS.isFile(stream.node.mode)) { - throw new FS.ErrnoError(43); - } - if (flags & 2) { - // MAP_PRIVATE calls need not to be synced back to underlying fs - return 0; - } - var buffer = HEAPU8.slice(addr, addr + len); - FS.msync(stream, buffer, offset, len, flags); - }, - getStreamFromFD(fd) { - var stream = FS.getStreamChecked(fd); - return stream; - }, - varargs:undefined, - getStr(ptr) { - var ret = UTF8ToString(ptr); - return ret; - }, - }; - function ___syscall_fcntl64(fd, cmd, varargs) { - SYSCALLS.varargs = varargs; - try { - - var stream = SYSCALLS.getStreamFromFD(fd); - switch (cmd) { - case 0: { - var arg = syscallGetVarargI(); - if (arg < 0) { - return -28; - } - while (FS.streams[arg]) { - arg++; - } - var newStream; - newStream = FS.dupStream(stream, arg); - return newStream.fd; - } - case 1: - case 2: - return 0; // FD_CLOEXEC makes no sense for a single process. - case 3: - return stream.flags; - case 4: { - var arg = syscallGetVarargI(); - stream.flags |= arg; - return 0; - } - case 12: { - var arg = syscallGetVarargP(); - var offset = 0; - // We're always unlocked. - HEAP16[(((arg)+(offset))>>1)] = 2; - return 0; - } - case 13: - case 14: - // Pretend that the locking is successful. These are process-level locks, - // and Emscripten programs are a single process. If we supported linking a - // filesystem between programs, we'd need to do more here. - // See https://github.com/emscripten-core/emscripten/issues/23697 - return 0; - } - return -28; - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return -e.errno; - } - } - - - function ___syscall_ioctl(fd, op, varargs) { - SYSCALLS.varargs = varargs; - try { - - var stream = SYSCALLS.getStreamFromFD(fd); - switch (op) { - case 21509: { - if (!stream.tty) return -59; - return 0; - } - case 21505: { - if (!stream.tty) return -59; - if (stream.tty.ops.ioctl_tcgets) { - var termios = stream.tty.ops.ioctl_tcgets(stream); - var argp = syscallGetVarargP(); - HEAP32[((argp)>>2)] = termios.c_iflag || 0; - HEAP32[(((argp)+(4))>>2)] = termios.c_oflag || 0; - HEAP32[(((argp)+(8))>>2)] = termios.c_cflag || 0; - HEAP32[(((argp)+(12))>>2)] = termios.c_lflag || 0; - for (var i = 0; i < 32; i++) { - HEAP8[(argp + i)+(17)] = termios.c_cc[i] || 0; - } - return 0; - } - return 0; - } - case 21510: - case 21511: - case 21512: { - if (!stream.tty) return -59; - return 0; // no-op, not actually adjusting terminal settings - } - case 21506: - case 21507: - case 21508: { - if (!stream.tty) return -59; - if (stream.tty.ops.ioctl_tcsets) { - var argp = syscallGetVarargP(); - var c_iflag = HEAP32[((argp)>>2)]; - var c_oflag = HEAP32[(((argp)+(4))>>2)]; - var c_cflag = HEAP32[(((argp)+(8))>>2)]; - var c_lflag = HEAP32[(((argp)+(12))>>2)]; - var c_cc = [] - for (var i = 0; i < 32; i++) { - c_cc.push(HEAP8[(argp + i)+(17)]); - } - return stream.tty.ops.ioctl_tcsets(stream.tty, op, { c_iflag, c_oflag, c_cflag, c_lflag, c_cc }); - } - return 0; // no-op, not actually adjusting terminal settings - } - case 21519: { - if (!stream.tty) return -59; - var argp = syscallGetVarargP(); - HEAP32[((argp)>>2)] = 0; - return 0; - } - case 21520: { - if (!stream.tty) return -59; - return -28; // not supported - } - case 21531: { - var argp = syscallGetVarargP(); - return FS.ioctl(stream, op, argp); - } - case 21523: { - // TODO: in theory we should write to the winsize struct that gets - // passed in, but for now musl doesn't read anything on it - if (!stream.tty) return -59; - if (stream.tty.ops.ioctl_tiocgwinsz) { - var winsize = stream.tty.ops.ioctl_tiocgwinsz(stream.tty); - var argp = syscallGetVarargP(); - HEAP16[((argp)>>1)] = winsize[0]; - HEAP16[(((argp)+(2))>>1)] = winsize[1]; - } - return 0; - } - case 21524: { - // TODO: technically, this ioctl call should change the window size. - // but, since emscripten doesn't have any concept of a terminal window - // yet, we'll just silently throw it away as we do TIOCGWINSZ - if (!stream.tty) return -59; - return 0; - } - case 21515: { - if (!stream.tty) return -59; - return 0; - } - default: return -28; // not supported - } - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return -e.errno; - } - } - - - function ___syscall_openat(dirfd, path, flags, varargs) { - SYSCALLS.varargs = varargs; - try { - - path = SYSCALLS.getStr(path); - path = SYSCALLS.calculateAt(dirfd, path); - var mode = varargs ? syscallGetVarargI() : 0; - return FS.open(path, flags, mode).fd; - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return -e.errno; - } - } - - var __abort_js = () => - abort('native code called abort()'); - - var isLeapYear = (year) => year%4 === 0 && (year%100 !== 0 || year%400 === 0); - - var MONTH_DAYS_LEAP_CUMULATIVE = [0,31,60,91,121,152,182,213,244,274,305,335]; - - var MONTH_DAYS_REGULAR_CUMULATIVE = [0,31,59,90,120,151,181,212,243,273,304,334]; - var ydayFromDate = (date) => { - var leap = isLeapYear(date.getFullYear()); - var monthDaysCumulative = (leap ? MONTH_DAYS_LEAP_CUMULATIVE : MONTH_DAYS_REGULAR_CUMULATIVE); - var yday = monthDaysCumulative[date.getMonth()] + date.getDate() - 1; // -1 since it's days since Jan 1 - - return yday; - }; - - var INT53_MAX = 9007199254740992; - - var INT53_MIN = -9007199254740992; - var bigintToI53Checked = (num) => (num < INT53_MIN || num > INT53_MAX) ? NaN : Number(num); - function __localtime_js(time, tmPtr) { - time = bigintToI53Checked(time); - - - var date = new Date(time*1000); - HEAP32[((tmPtr)>>2)] = date.getSeconds(); - HEAP32[(((tmPtr)+(4))>>2)] = date.getMinutes(); - HEAP32[(((tmPtr)+(8))>>2)] = date.getHours(); - HEAP32[(((tmPtr)+(12))>>2)] = date.getDate(); - HEAP32[(((tmPtr)+(16))>>2)] = date.getMonth(); - HEAP32[(((tmPtr)+(20))>>2)] = date.getFullYear()-1900; - HEAP32[(((tmPtr)+(24))>>2)] = date.getDay(); - - var yday = ydayFromDate(date)|0; - HEAP32[(((tmPtr)+(28))>>2)] = yday; - HEAP32[(((tmPtr)+(36))>>2)] = -(date.getTimezoneOffset() * 60); - - // Attention: DST is in December in South, and some regions don't have DST at all. - var start = new Date(date.getFullYear(), 0, 1); - var summerOffset = new Date(date.getFullYear(), 6, 1).getTimezoneOffset(); - var winterOffset = start.getTimezoneOffset(); - var dst = (summerOffset != winterOffset && date.getTimezoneOffset() == Math.min(winterOffset, summerOffset))|0; - HEAP32[(((tmPtr)+(32))>>2)] = dst; - ; - } - - - var __mktime_js = function(tmPtr) { - - var ret = (() => { - var date = new Date(HEAP32[(((tmPtr)+(20))>>2)] + 1900, - HEAP32[(((tmPtr)+(16))>>2)], - HEAP32[(((tmPtr)+(12))>>2)], - HEAP32[(((tmPtr)+(8))>>2)], - HEAP32[(((tmPtr)+(4))>>2)], - HEAP32[((tmPtr)>>2)], - 0); - - // There's an ambiguous hour when the time goes back; the tm_isdst field is - // used to disambiguate it. Date() basically guesses, so we fix it up if it - // guessed wrong, or fill in tm_isdst with the guess if it's -1. - var dst = HEAP32[(((tmPtr)+(32))>>2)]; - var guessedOffset = date.getTimezoneOffset(); - var start = new Date(date.getFullYear(), 0, 1); - var summerOffset = new Date(date.getFullYear(), 6, 1).getTimezoneOffset(); - var winterOffset = start.getTimezoneOffset(); - var dstOffset = Math.min(winterOffset, summerOffset); // DST is in December in South - if (dst < 0) { - // Attention: some regions don't have DST at all. - HEAP32[(((tmPtr)+(32))>>2)] = Number(summerOffset != winterOffset && dstOffset == guessedOffset); - } else if ((dst > 0) != (dstOffset == guessedOffset)) { - var nonDstOffset = Math.max(winterOffset, summerOffset); - var trueOffset = dst > 0 ? dstOffset : nonDstOffset; - // Don't try setMinutes(date.getMinutes() + ...) -- it's messed up. - date.setTime(date.getTime() + (trueOffset - guessedOffset)*60000); - } - - HEAP32[(((tmPtr)+(24))>>2)] = date.getDay(); - var yday = ydayFromDate(date)|0; - HEAP32[(((tmPtr)+(28))>>2)] = yday; - // To match expected behavior, update fields from date - HEAP32[((tmPtr)>>2)] = date.getSeconds(); - HEAP32[(((tmPtr)+(4))>>2)] = date.getMinutes(); - HEAP32[(((tmPtr)+(8))>>2)] = date.getHours(); - HEAP32[(((tmPtr)+(12))>>2)] = date.getDate(); - HEAP32[(((tmPtr)+(16))>>2)] = date.getMonth(); - HEAP32[(((tmPtr)+(20))>>2)] = date.getYear(); - - var timeMs = date.getTime(); - if (isNaN(timeMs)) { - return -1; - } - // Return time in microseconds - return timeMs / 1000; - })(); - return BigInt(ret); - }; - - var stringToUTF8 = (str, outPtr, maxBytesToWrite) => { - assert(typeof maxBytesToWrite == 'number', 'stringToUTF8(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!'); - return stringToUTF8Array(str, HEAPU8, outPtr, maxBytesToWrite); - }; - - var __tzset_js = (timezone, daylight, std_name, dst_name) => { - // TODO: Use (malleable) environment variables instead of system settings. - var currentYear = new Date().getFullYear(); - var winter = new Date(currentYear, 0, 1); - var summer = new Date(currentYear, 6, 1); - var winterOffset = winter.getTimezoneOffset(); - var summerOffset = summer.getTimezoneOffset(); - - // Local standard timezone offset. Local standard time is not adjusted for - // daylight savings. This code uses the fact that getTimezoneOffset returns - // a greater value during Standard Time versus Daylight Saving Time (DST). - // Thus it determines the expected output during Standard Time, and it - // compares whether the output of the given date the same (Standard) or less - // (DST). - var stdTimezoneOffset = Math.max(winterOffset, summerOffset); - - // timezone is specified as seconds west of UTC ("The external variable - // `timezone` shall be set to the difference, in seconds, between - // Coordinated Universal Time (UTC) and local standard time."), the same - // as returned by stdTimezoneOffset. - // See http://pubs.opengroup.org/onlinepubs/009695399/functions/tzset.html - HEAPU32[((timezone)>>2)] = stdTimezoneOffset * 60; - - HEAP32[((daylight)>>2)] = Number(winterOffset != summerOffset); - - var extractZone = (timezoneOffset) => { - // Why inverse sign? - // Read here https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getTimezoneOffset - var sign = timezoneOffset >= 0 ? "-" : "+"; - - var absOffset = Math.abs(timezoneOffset) - var hours = String(Math.floor(absOffset / 60)).padStart(2, "0"); - var minutes = String(absOffset % 60).padStart(2, "0"); - - return `UTC${sign}${hours}${minutes}`; - } - - var winterName = extractZone(winterOffset); - var summerName = extractZone(summerOffset); - assert(winterName); - assert(summerName); - assert(lengthBytesUTF8(winterName) <= 16, `timezone name truncated to fit in TZNAME_MAX (${winterName})`); - assert(lengthBytesUTF8(summerName) <= 16, `timezone name truncated to fit in TZNAME_MAX (${summerName})`); - if (summerOffset < winterOffset) { - // Northern hemisphere - stringToUTF8(winterName, std_name, 17); - stringToUTF8(summerName, dst_name, 17); - } else { - stringToUTF8(winterName, dst_name, 17); - stringToUTF8(summerName, std_name, 17); - } - }; - - var _emscripten_date_now = () => Date.now(); - - var abortOnCannotGrowMemory = (requestedSize) => { - abort(`Cannot enlarge memory arrays to size ${requestedSize} bytes (OOM). Either (1) compile with -sINITIAL_MEMORY=X with X higher than the current value ${HEAP8.length}, (2) compile with -sALLOW_MEMORY_GROWTH which allows increasing the size at runtime, or (3) if you want malloc to return NULL (0) instead of this abort, compile with -sABORTING_MALLOC=0`); - }; - var _emscripten_resize_heap = (requestedSize) => { - var oldSize = HEAPU8.length; - // With CAN_ADDRESS_2GB or MEMORY64, pointers are already unsigned. - requestedSize >>>= 0; - abortOnCannotGrowMemory(requestedSize); - }; - - function _fd_close(fd) { - try { - - var stream = SYSCALLS.getStreamFromFD(fd); - FS.close(stream); - return 0; - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return e.errno; - } - } - - /** @param {number=} offset */ - var doReadv = (stream, iov, iovcnt, offset) => { - var ret = 0; - for (var i = 0; i < iovcnt; i++) { - var ptr = HEAPU32[((iov)>>2)]; - var len = HEAPU32[(((iov)+(4))>>2)]; - iov += 8; - var curr = FS.read(stream, HEAP8, ptr, len, offset); - if (curr < 0) return -1; - ret += curr; - if (curr < len) break; // nothing more to read - if (typeof offset != 'undefined') { - offset += curr; - } - } - return ret; - }; - - function _fd_read(fd, iov, iovcnt, pnum) { - try { - - var stream = SYSCALLS.getStreamFromFD(fd); - var num = doReadv(stream, iov, iovcnt); - HEAPU32[((pnum)>>2)] = num; - return 0; - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return e.errno; - } - } - - - function _fd_seek(fd, offset, whence, newOffset) { - offset = bigintToI53Checked(offset); - - - try { - - if (isNaN(offset)) return 61; - var stream = SYSCALLS.getStreamFromFD(fd); - FS.llseek(stream, offset, whence); - HEAP64[((newOffset)>>3)] = BigInt(stream.position); - if (stream.getdents && offset === 0 && whence === 0) stream.getdents = null; // reset readdir state - return 0; - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return e.errno; - } - ; - } - - /** @param {number=} offset */ - var doWritev = (stream, iov, iovcnt, offset) => { - var ret = 0; - for (var i = 0; i < iovcnt; i++) { - var ptr = HEAPU32[((iov)>>2)]; - var len = HEAPU32[(((iov)+(4))>>2)]; - iov += 8; - var curr = FS.write(stream, HEAP8, ptr, len, offset); - if (curr < 0) return -1; - ret += curr; - if (curr < len) { - // No more space to write. - break; - } - if (typeof offset != 'undefined') { - offset += curr; - } - } - return ret; - }; - - function _fd_write(fd, iov, iovcnt, pnum) { - try { - - var stream = SYSCALLS.getStreamFromFD(fd); - var num = doWritev(stream, iov, iovcnt); - HEAPU32[((pnum)>>2)] = num; - return 0; - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return e.errno; - } - } - - - var runtimeKeepaliveCounter = 0; - var keepRuntimeAlive = () => noExitRuntime || runtimeKeepaliveCounter > 0; - var _proc_exit = (code) => { - EXITSTATUS = code; - if (!keepRuntimeAlive()) { - Module['onExit']?.(code); - ABORT = true; - } - quit_(code, new ExitStatus(code)); - }; - - - /** @param {boolean|number=} implicit */ - var exitJS = (status, implicit) => { - EXITSTATUS = status; - - checkUnflushedContent(); - - // if exit() was called explicitly, warn the user if the runtime isn't actually being shut down - if (keepRuntimeAlive() && !implicit) { - var msg = `program exited (with status: ${status}), but keepRuntimeAlive() is set (counter=${runtimeKeepaliveCounter}) due to an async operation, so halting execution but not exiting the runtime or preventing further async execution (you can use emscripten_force_exit, if you want to force a true shutdown)`; - err(msg); - } - - _proc_exit(status); - }; - - var handleException = (e) => { - // Certain exception types we do not treat as errors since they are used for - // internal control flow. - // 1. ExitStatus, which is thrown by exit() - // 2. "unwind", which is thrown by emscripten_unwind_to_js_event_loop() and others - // that wish to return to JS event loop. - if (e instanceof ExitStatus || e == 'unwind') { - return EXITSTATUS; - } - checkStackCookie(); - if (e instanceof WebAssembly.RuntimeError) { - if (_emscripten_stack_get_current() <= 0) { - err('Stack overflow detected. You can try increasing -sSTACK_SIZE (currently set to 65536)'); - } - } - quit_(1, e); - }; - - - - var stackAlloc = (sz) => __emscripten_stack_alloc(sz); - var stringToUTF8OnStack = (str) => { - var size = lengthBytesUTF8(str) + 1; - var ret = stackAlloc(size); - stringToUTF8(str, ret, size); - return ret; - }; - - FS.createPreloadedFile = FS_createPreloadedFile; - FS.staticInit(); - // Set module methods based on EXPORTED_RUNTIME_METHODS - ; -// End JS library code - -function checkIncomingModuleAPI() { - ignoredModuleProp('fetchSettings'); -} -var wasmImports = { - /** @export */ - __syscall_fcntl64: ___syscall_fcntl64, - /** @export */ - __syscall_ioctl: ___syscall_ioctl, - /** @export */ - __syscall_openat: ___syscall_openat, - /** @export */ - _abort_js: __abort_js, - /** @export */ - _localtime_js: __localtime_js, - /** @export */ - _mktime_js: __mktime_js, - /** @export */ - _tzset_js: __tzset_js, - /** @export */ - emscripten_date_now: _emscripten_date_now, - /** @export */ - emscripten_resize_heap: _emscripten_resize_heap, - /** @export */ - fd_close: _fd_close, - /** @export */ - fd_read: _fd_read, - /** @export */ - fd_seek: _fd_seek, - /** @export */ - fd_write: _fd_write -}; -var wasmExports; -createWasm(); -var ___wasm_call_ctors = createExportWrapper('__wasm_call_ctors', 0); -var _main = Module['_main'] = createExportWrapper('__main_argc_argv', 2); -var _strerror = createExportWrapper('strerror', 1); -var _fflush = createExportWrapper('fflush', 1); -var _emscripten_stack_init = () => (_emscripten_stack_init = wasmExports['emscripten_stack_init'])(); -var _emscripten_stack_get_free = () => (_emscripten_stack_get_free = wasmExports['emscripten_stack_get_free'])(); -var _emscripten_stack_get_base = () => (_emscripten_stack_get_base = wasmExports['emscripten_stack_get_base'])(); -var _emscripten_stack_get_end = () => (_emscripten_stack_get_end = wasmExports['emscripten_stack_get_end'])(); -var __emscripten_stack_restore = (a0) => (__emscripten_stack_restore = wasmExports['_emscripten_stack_restore'])(a0); -var __emscripten_stack_alloc = (a0) => (__emscripten_stack_alloc = wasmExports['_emscripten_stack_alloc'])(a0); -var _emscripten_stack_get_current = () => (_emscripten_stack_get_current = wasmExports['emscripten_stack_get_current'])(); - - -// include: postamble.js -// === Auto-generated postamble setup entry stuff === - -var missingLibrarySymbols = [ - 'writeI53ToI64', - 'writeI53ToI64Clamped', - 'writeI53ToI64Signaling', - 'writeI53ToU64Clamped', - 'writeI53ToU64Signaling', - 'readI53FromI64', - 'readI53FromU64', - 'convertI32PairToI53', - 'convertI32PairToI53Checked', - 'convertU32PairToI53', - 'getTempRet0', - 'setTempRet0', - 'zeroMemory', - 'getHeapMax', - 'growMemory', - 'inetPton4', - 'inetNtop4', - 'inetPton6', - 'inetNtop6', - 'readSockaddr', - 'writeSockaddr', - 'emscriptenLog', - 'readEmAsmArgs', - 'jstoi_q', - 'getExecutableName', - 'listenOnce', - 'autoResumeAudioContext', - 'getDynCaller', - 'dynCall', - 'runtimeKeepalivePush', - 'runtimeKeepalivePop', - 'callUserCallback', - 'maybeExit', - 'asmjsMangle', - 'alignMemory', - 'HandleAllocator', - 'getNativeTypeSize', - 'addOnInit', - 'addOnPostCtor', - 'addOnPreMain', - 'addOnExit', - 'STACK_SIZE', - 'STACK_ALIGN', - 'POINTER_SIZE', - 'ASSERTIONS', - 'getCFunc', - 'ccall', - 'cwrap', - 'uleb128Encode', - 'sigToWasmTypes', - 'generateFuncType', - 'convertJsFunctionToWasm', - 'getEmptyTableSlot', - 'updateTableMap', - 'getFunctionAddress', - 'addFunction', - 'removeFunction', - 'reallyNegative', - 'unSign', - 'strLen', - 'reSign', - 'formatString', - 'intArrayToString', - 'AsciiToString', - 'stringToAscii', - 'UTF16ToString', - 'stringToUTF16', - 'lengthBytesUTF16', - 'UTF32ToString', - 'stringToUTF32', - 'lengthBytesUTF32', - 'stringToNewUTF8', - 'writeArrayToMemory', - 'registerKeyEventCallback', - 'maybeCStringToJsString', - 'findEventTarget', - 'getBoundingClientRect', - 'fillMouseEventData', - 'registerMouseEventCallback', - 'registerWheelEventCallback', - 'registerUiEventCallback', - 'registerFocusEventCallback', - 'fillDeviceOrientationEventData', - 'registerDeviceOrientationEventCallback', - 'fillDeviceMotionEventData', - 'registerDeviceMotionEventCallback', - 'screenOrientation', - 'fillOrientationChangeEventData', - 'registerOrientationChangeEventCallback', - 'fillFullscreenChangeEventData', - 'registerFullscreenChangeEventCallback', - 'JSEvents_requestFullscreen', - 'JSEvents_resizeCanvasForFullscreen', - 'registerRestoreOldStyle', - 'hideEverythingExceptGivenElement', - 'restoreHiddenElements', - 'setLetterbox', - 'softFullscreenResizeWebGLRenderTarget', - 'doRequestFullscreen', - 'fillPointerlockChangeEventData', - 'registerPointerlockChangeEventCallback', - 'registerPointerlockErrorEventCallback', - 'requestPointerLock', - 'fillVisibilityChangeEventData', - 'registerVisibilityChangeEventCallback', - 'registerTouchEventCallback', - 'fillGamepadEventData', - 'registerGamepadEventCallback', - 'registerBeforeUnloadEventCallback', - 'fillBatteryEventData', - 'battery', - 'registerBatteryEventCallback', - 'setCanvasElementSize', - 'getCanvasElementSize', - 'jsStackTrace', - 'getCallstack', - 'convertPCtoSourceLocation', - 'getEnvStrings', - 'checkWasiClock', - 'wasiRightsToMuslOFlags', - 'wasiOFlagsToMuslOFlags', - 'safeSetTimeout', - 'setImmediateWrapped', - 'safeRequestAnimationFrame', - 'clearImmediateWrapped', - 'registerPostMainLoop', - 'registerPreMainLoop', - 'getPromise', - 'makePromise', - 'idsToPromises', - 'makePromiseCallback', - 'ExceptionInfo', - 'findMatchingCatch', - 'Browser_asyncPrepareDataCounter', - 'arraySum', - 'addDays', - 'getSocketFromFD', - 'getSocketAddress', - 'FS_unlink', - 'FS_mkdirTree', - '_setNetworkCallback', - 'heapObjectForWebGLType', - 'toTypedArrayIndex', - 'webgl_enable_ANGLE_instanced_arrays', - 'webgl_enable_OES_vertex_array_object', - 'webgl_enable_WEBGL_draw_buffers', - 'webgl_enable_WEBGL_multi_draw', - 'webgl_enable_EXT_polygon_offset_clamp', - 'webgl_enable_EXT_clip_control', - 'webgl_enable_WEBGL_polygon_mode', - 'emscriptenWebGLGet', - 'computeUnpackAlignedImageSize', - 'colorChannelsInGlTextureFormat', - 'emscriptenWebGLGetTexPixelData', - 'emscriptenWebGLGetUniform', - 'webglGetUniformLocation', - 'webglPrepareUniformLocationsBeforeFirstUse', - 'webglGetLeftBracePos', - 'emscriptenWebGLGetVertexAttrib', - '__glGetActiveAttribOrUniform', - 'writeGLArray', - 'registerWebGlEventCallback', - 'runAndAbortIfError', - 'ALLOC_NORMAL', - 'ALLOC_STACK', - 'allocate', - 'writeStringToMemory', - 'writeAsciiToMemory', - 'demangle', - 'stackTrace', -]; -missingLibrarySymbols.forEach(missingLibrarySymbol) - -var unexportedSymbols = [ - 'run', - 'addRunDependency', - 'removeRunDependency', - 'out', - 'err', - 'callMain', - 'abort', - 'wasmMemory', - 'wasmExports', - 'writeStackCookie', - 'checkStackCookie', - 'INT53_MAX', - 'INT53_MIN', - 'bigintToI53Checked', - 'stackSave', - 'stackRestore', - 'stackAlloc', - 'ptrToString', - 'exitJS', - 'abortOnCannotGrowMemory', - 'ENV', - 'ERRNO_CODES', - 'strError', - 'DNS', - 'Protocols', - 'Sockets', - 'timers', - 'warnOnce', - 'readEmAsmArgsArray', - 'jstoi_s', - 'handleException', - 'keepRuntimeAlive', - 'asyncLoad', - 'mmapAlloc', - 'wasmTable', - 'noExitRuntime', - 'addOnPreRun', - 'addOnPostRun', - 'freeTableIndexes', - 'functionsInTableMap', - 'setValue', - 'getValue', - 'PATH', - 'PATH_FS', - 'UTF8Decoder', - 'UTF8ArrayToString', - 'UTF8ToString', - 'stringToUTF8Array', - 'stringToUTF8', - 'lengthBytesUTF8', - 'intArrayFromString', - 'UTF16Decoder', - 'stringToUTF8OnStack', - 'JSEvents', - 'specialHTMLTargets', - 'findCanvasEventTarget', - 'currentFullscreenStrategy', - 'restoreOldWindowedStyle', - 'UNWIND_CACHE', - 'ExitStatus', - 'doReadv', - 'doWritev', - 'initRandomFill', - 'randomFill', - 'emSetImmediate', - 'emClearImmediate_deps', - 'emClearImmediate', - 'promiseMap', - 'uncaughtExceptionCount', - 'exceptionLast', - 'exceptionCaught', - 'Browser', - 'getPreloadedImageData__data', - 'wget', - 'MONTH_DAYS_REGULAR', - 'MONTH_DAYS_LEAP', - 'MONTH_DAYS_REGULAR_CUMULATIVE', - 'MONTH_DAYS_LEAP_CUMULATIVE', - 'isLeapYear', - 'ydayFromDate', - 'SYSCALLS', - 'preloadPlugins', - 'FS_createPreloadedFile', - 'FS_modeStringToFlags', - 'FS_getMode', - 'FS_stdin_getChar_buffer', - 'FS_stdin_getChar', - 'FS_createPath', - 'FS_createDevice', - 'FS_readFile', - 'FS', - 'FS_createDataFile', - 'FS_createLazyFile', - 'MEMFS', - 'TTY', - 'PIPEFS', - 'SOCKFS', - 'tempFixedLengthArray', - 'miniTempWebGLFloatBuffers', - 'miniTempWebGLIntBuffers', - 'GL', - 'AL', - 'GLUT', - 'EGL', - 'GLEW', - 'IDBStore', - 'SDL', - 'SDL_gfx', - 'allocateUTF8', - 'allocateUTF8OnStack', - 'print', - 'printErr', -]; -unexportedSymbols.forEach(unexportedRuntimeSymbol); - - - -var calledRun; - -function callMain(args = []) { - assert(runDependencies == 0, 'cannot call main when async dependencies remain! (listen on Module["onRuntimeInitialized"])'); - assert(typeof onPreRuns === 'undefined' || onPreRuns.length == 0, 'cannot call main when preRun functions remain to be called'); - - var entryFunction = _main; - - args.unshift(thisProgram); - - var argc = args.length; - var argv = stackAlloc((argc + 1) * 4); - var argv_ptr = argv; - args.forEach((arg) => { - HEAPU32[((argv_ptr)>>2)] = stringToUTF8OnStack(arg); - argv_ptr += 4; - }); - HEAPU32[((argv_ptr)>>2)] = 0; - - try { - - var ret = entryFunction(argc, argv); - - // if we're not running an evented main loop, it's time to exit - exitJS(ret, /* implicit = */ true); - return ret; - } catch (e) { - return handleException(e); - } -} - -function stackCheckInit() { - // This is normally called automatically during __wasm_call_ctors but need to - // get these values before even running any of the ctors so we call it redundantly - // here. - _emscripten_stack_init(); - // TODO(sbc): Move writeStackCookie to native to to avoid this. - writeStackCookie(); -} - -function run(args = arguments_) { - - if (runDependencies > 0) { - dependenciesFulfilled = run; - return; - } - - stackCheckInit(); - - preRun(); - - // a preRun added a dependency, run will be called later - if (runDependencies > 0) { - dependenciesFulfilled = run; - return; - } - - function doRun() { - // run may have just been called through dependencies being fulfilled just in this very frame, - // or while the async setStatus time below was happening - assert(!calledRun); - calledRun = true; - Module['calledRun'] = true; - - if (ABORT) return; - - initRuntime(); - - preMain(); - - Module['onRuntimeInitialized']?.(); - consumedModuleProp('onRuntimeInitialized'); - - var noInitialRun = Module['noInitialRun'];legacyModuleProp('noInitialRun', 'noInitialRun'); - if (!noInitialRun) callMain(args); - - postRun(); - } - - if (Module['setStatus']) { - Module['setStatus']('Running...'); - setTimeout(() => { - setTimeout(() => Module['setStatus'](''), 1); - doRun(); - }, 1); - } else - { - doRun(); - } - checkStackCookie(); -} - -function checkUnflushedContent() { - // Compiler settings do not allow exiting the runtime, so flushing - // the streams is not possible. but in ASSERTIONS mode we check - // if there was something to flush, and if so tell the user they - // should request that the runtime be exitable. - // Normally we would not even include flush() at all, but in ASSERTIONS - // builds we do so just for this check, and here we see if there is any - // content to flush, that is, we check if there would have been - // something a non-ASSERTIONS build would have not seen. - // How we flush the streams depends on whether we are in SYSCALLS_REQUIRE_FILESYSTEM=0 - // mode (which has its own special function for this; otherwise, all - // the code is inside libc) - var oldOut = out; - var oldErr = err; - var has = false; - out = err = (x) => { - has = true; - } - try { // it doesn't matter if it fails - _fflush(0); - // also flush in the JS FS layer - ['stdout', 'stderr'].forEach((name) => { - var info = FS.analyzePath('/dev/' + name); - if (!info) return; - var stream = info.object; - var rdev = stream.rdev; - var tty = TTY.ttys[rdev]; - if (tty?.output?.length) { - has = true; - } - }); - } catch(e) {} - out = oldOut; - err = oldErr; - if (has) { - warnOnce('stdio streams had content in them that was not flushed. you should set EXIT_RUNTIME to 1 (see the Emscripten FAQ), or make sure to emit a newline when you printf etc.'); - } -} - -if (Module['preInit']) { - if (typeof Module['preInit'] == 'function') Module['preInit'] = [Module['preInit']]; - while (Module['preInit'].length > 0) { - Module['preInit'].pop()(); - } -} -consumedModuleProp('preInit'); - -run(); - -// end include: postamble.js - diff --git a/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/zip_read_fuzzer.wasm b/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/zip_read_fuzzer.wasm deleted file mode 100755 index b4b419d4a4fed6436a5e34d4c1e4c9f46ba0ff14..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 371655 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 diff --git a/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/zip_write_encrypt_pkware_file_fuzzer.js b/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/zip_write_encrypt_pkware_file_fuzzer.js deleted file mode 100644 index 9007630..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/zip_write_encrypt_pkware_file_fuzzer.js +++ /dev/null @@ -1,4809 +0,0 @@ -// include: shell.js -// The Module object: Our interface to the outside world. We import -// and export values on it. There are various ways Module can be used: -// 1. Not defined. We create it here -// 2. A function parameter, function(moduleArg) => Promise -// 3. pre-run appended it, var Module = {}; ..generated code.. -// 4. External script tag defines var Module. -// We need to check if Module already exists (e.g. case 3 above). -// Substitution will be replaced with actual code on later stage of the build, -// this way Closure Compiler will not mangle it (e.g. case 4. above). -// Note that if you want to run closure, and also to use Module -// after the generated code, you will need to define var Module = {}; -// before the code. Then that object will be used in the code, and you -// can continue to use Module afterwards as well. -var Module = typeof Module != 'undefined' ? Module : {}; - -// Determine the runtime environment we are in. You can customize this by -// setting the ENVIRONMENT setting at compile time (see settings.js). - -// Attempt to auto-detect the environment -var ENVIRONMENT_IS_WEB = typeof window == 'object'; -var ENVIRONMENT_IS_WORKER = typeof WorkerGlobalScope != 'undefined'; -// N.b. Electron.js environment is simultaneously a NODE-environment, but -// also a web environment. -var ENVIRONMENT_IS_NODE = typeof process == 'object' && typeof process.versions == 'object' && typeof process.versions.node == 'string' && process.type != 'renderer'; -var ENVIRONMENT_IS_SHELL = !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_NODE && !ENVIRONMENT_IS_WORKER; - -if (ENVIRONMENT_IS_NODE) { - -} - -// --pre-jses are emitted after the Module integration code, so that they can -// refer to Module (if they choose; they can also define Module) - - -// Sometimes an existing Module object exists with properties -// meant to overwrite the default module functionality. Here -// we collect those properties and reapply _after_ we configure -// the current environment's defaults to avoid having to be so -// defensive during initialization. -var moduleOverrides = {...Module}; - -var arguments_ = []; -var thisProgram = './this.program'; -var quit_ = (status, toThrow) => { - throw toThrow; -}; - -// `/` should be present at the end if `scriptDirectory` is not empty -var scriptDirectory = ''; -function locateFile(path) { - if (Module['locateFile']) { - return Module['locateFile'](path, scriptDirectory); - } - return scriptDirectory + path; -} - -// Hooks that are implemented differently in different runtime environments. -var readAsync, readBinary; - -if (ENVIRONMENT_IS_NODE) { - if (typeof process == 'undefined' || !process.release || process.release.name !== 'node') throw new Error('not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)'); - - var nodeVersion = process.versions.node; - var numericVersion = nodeVersion.split('.').slice(0, 3); - numericVersion = (numericVersion[0] * 10000) + (numericVersion[1] * 100) + (numericVersion[2].split('-')[0] * 1); - var minVersion = 160000; - if (numericVersion < 160000) { - throw new Error('This emscripten-generated code requires node v16.0.0 (detected v' + nodeVersion + ')'); - } - - // These modules will usually be used on Node.js. Load them eagerly to avoid - // the complexity of lazy-loading. - var fs = require('fs'); - var nodePath = require('path'); - - scriptDirectory = __dirname + '/'; - -// include: node_shell_read.js -readBinary = (filename) => { - // We need to re-wrap `file://` strings to URLs. - filename = isFileURI(filename) ? new URL(filename) : filename; - var ret = fs.readFileSync(filename); - assert(Buffer.isBuffer(ret)); - return ret; -}; - -readAsync = async (filename, binary = true) => { - // See the comment in the `readBinary` function. - filename = isFileURI(filename) ? new URL(filename) : filename; - var ret = fs.readFileSync(filename, binary ? undefined : 'utf8'); - assert(binary ? Buffer.isBuffer(ret) : typeof ret == 'string'); - return ret; -}; -// end include: node_shell_read.js - if (!Module['thisProgram'] && process.argv.length > 1) { - thisProgram = process.argv[1].replace(/\\/g, '/'); - } - - arguments_ = process.argv.slice(2); - - if (typeof module != 'undefined') { - module['exports'] = Module; - } - - quit_ = (status, toThrow) => { - process.exitCode = status; - throw toThrow; - }; - -} else -if (ENVIRONMENT_IS_SHELL) { - - if ((typeof process == 'object' && typeof require === 'function') || typeof window == 'object' || typeof WorkerGlobalScope != 'undefined') throw new Error('not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)'); - -} else - -// Note that this includes Node.js workers when relevant (pthreads is enabled). -// Node.js workers are detected as a combination of ENVIRONMENT_IS_WORKER and -// ENVIRONMENT_IS_NODE. -if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) { - if (ENVIRONMENT_IS_WORKER) { // Check worker, not web, since window could be polyfilled - scriptDirectory = self.location.href; - } else if (typeof document != 'undefined' && document.currentScript) { // web - scriptDirectory = document.currentScript.src; - } - // blob urls look like blob:http://site.com/etc/etc and we cannot infer anything from them. - // otherwise, slice off the final part of the url to find the script directory. - // if scriptDirectory does not contain a slash, lastIndexOf will return -1, - // and scriptDirectory will correctly be replaced with an empty string. - // If scriptDirectory contains a query (starting with ?) or a fragment (starting with #), - // they are removed because they could contain a slash. - if (scriptDirectory.startsWith('blob:')) { - scriptDirectory = ''; - } else { - scriptDirectory = scriptDirectory.slice(0, scriptDirectory.replace(/[?#].*/, '').lastIndexOf('/')+1); - } - - if (!(typeof window == 'object' || typeof WorkerGlobalScope != 'undefined')) throw new Error('not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)'); - - { -// include: web_or_worker_shell_read.js -if (ENVIRONMENT_IS_WORKER) { - readBinary = (url) => { - var xhr = new XMLHttpRequest(); - xhr.open('GET', url, false); - xhr.responseType = 'arraybuffer'; - xhr.send(null); - return new Uint8Array(/** @type{!ArrayBuffer} */(xhr.response)); - }; - } - - readAsync = async (url) => { - // Fetch has some additional restrictions over XHR, like it can't be used on a file:// url. - // See https://github.com/github/fetch/pull/92#issuecomment-140665932 - // Cordova or Electron apps are typically loaded from a file:// url. - // So use XHR on webview if URL is a file URL. - if (isFileURI(url)) { - return new Promise((resolve, reject) => { - var xhr = new XMLHttpRequest(); - xhr.open('GET', url, true); - xhr.responseType = 'arraybuffer'; - xhr.onload = () => { - if (xhr.status == 200 || (xhr.status == 0 && xhr.response)) { // file URLs can return 0 - resolve(xhr.response); - return; - } - reject(xhr.status); - }; - xhr.onerror = reject; - xhr.send(null); - }); - } - var response = await fetch(url, { credentials: 'same-origin' }); - if (response.ok) { - return response.arrayBuffer(); - } - throw new Error(response.status + ' : ' + response.url); - }; -// end include: web_or_worker_shell_read.js - } -} else -{ - throw new Error('environment detection error'); -} - -var out = Module['print'] || console.log.bind(console); -var err = Module['printErr'] || console.error.bind(console); - -// Merge back in the overrides -Object.assign(Module, moduleOverrides); -// Free the object hierarchy contained in the overrides, this lets the GC -// reclaim data used. -moduleOverrides = null; -checkIncomingModuleAPI(); - -// Emit code to handle expected values on the Module object. This applies Module.x -// to the proper local x. This has two benefits: first, we only emit it if it is -// expected to arrive, and second, by using a local everywhere else that can be -// minified. - -if (Module['arguments']) arguments_ = Module['arguments'];legacyModuleProp('arguments', 'arguments_'); - -if (Module['thisProgram']) thisProgram = Module['thisProgram'];legacyModuleProp('thisProgram', 'thisProgram'); - -// perform assertions in shell.js after we set up out() and err(), as otherwise if an assertion fails it cannot print the message -// Assertions on removed incoming Module JS APIs. -assert(typeof Module['memoryInitializerPrefixURL'] == 'undefined', 'Module.memoryInitializerPrefixURL option was removed, use Module.locateFile instead'); -assert(typeof Module['pthreadMainPrefixURL'] == 'undefined', 'Module.pthreadMainPrefixURL option was removed, use Module.locateFile instead'); -assert(typeof Module['cdInitializerPrefixURL'] == 'undefined', 'Module.cdInitializerPrefixURL option was removed, use Module.locateFile instead'); -assert(typeof Module['filePackagePrefixURL'] == 'undefined', 'Module.filePackagePrefixURL option was removed, use Module.locateFile instead'); -assert(typeof Module['read'] == 'undefined', 'Module.read option was removed'); -assert(typeof Module['readAsync'] == 'undefined', 'Module.readAsync option was removed (modify readAsync in JS)'); -assert(typeof Module['readBinary'] == 'undefined', 'Module.readBinary option was removed (modify readBinary in JS)'); -assert(typeof Module['setWindowTitle'] == 'undefined', 'Module.setWindowTitle option was removed (modify emscripten_set_window_title in JS)'); -assert(typeof Module['TOTAL_MEMORY'] == 'undefined', 'Module.TOTAL_MEMORY has been renamed Module.INITIAL_MEMORY'); -legacyModuleProp('asm', 'wasmExports'); -legacyModuleProp('readAsync', 'readAsync'); -legacyModuleProp('readBinary', 'readBinary'); -legacyModuleProp('setWindowTitle', 'setWindowTitle'); -var IDBFS = 'IDBFS is no longer included by default; build with -lidbfs.js'; -var PROXYFS = 'PROXYFS is no longer included by default; build with -lproxyfs.js'; -var WORKERFS = 'WORKERFS is no longer included by default; build with -lworkerfs.js'; -var FETCHFS = 'FETCHFS is no longer included by default; build with -lfetchfs.js'; -var ICASEFS = 'ICASEFS is no longer included by default; build with -licasefs.js'; -var JSFILEFS = 'JSFILEFS is no longer included by default; build with -ljsfilefs.js'; -var OPFS = 'OPFS is no longer included by default; build with -lopfs.js'; - -var NODEFS = 'NODEFS is no longer included by default; build with -lnodefs.js'; - -assert(!ENVIRONMENT_IS_SHELL, 'shell environment detected but not enabled at build time. Add `shell` to `-sENVIRONMENT` to enable.'); - -// end include: shell.js - -// include: preamble.js -// === Preamble library stuff === - -// Documentation for the public APIs defined in this file must be updated in: -// site/source/docs/api_reference/preamble.js.rst -// A prebuilt local version of the documentation is available at: -// site/build/text/docs/api_reference/preamble.js.txt -// You can also build docs locally as HTML or other formats in site/ -// An online HTML version (which may be of a different version of Emscripten) -// is up at http://kripken.github.io/emscripten-site/docs/api_reference/preamble.js.html - -var wasmBinary = Module['wasmBinary'];legacyModuleProp('wasmBinary', 'wasmBinary'); - -if (typeof WebAssembly != 'object') { - err('no native wasm support detected'); -} - -// Wasm globals - -var wasmMemory; - -//======================================== -// Runtime essentials -//======================================== - -// whether we are quitting the application. no code should run after this. -// set in exit() and abort() -var ABORT = false; - -// set by exit() and abort(). Passed to 'onExit' handler. -// NOTE: This is also used as the process return code code in shell environments -// but only when noExitRuntime is false. -var EXITSTATUS; - -// In STRICT mode, we only define assert() when ASSERTIONS is set. i.e. we -// don't define it at all in release modes. This matches the behaviour of -// MINIMAL_RUNTIME. -// TODO(sbc): Make this the default even without STRICT enabled. -/** @type {function(*, string=)} */ -function assert(condition, text) { - if (!condition) { - abort('Assertion failed' + (text ? ': ' + text : '')); - } -} - -// We used to include malloc/free by default in the past. Show a helpful error in -// builds with assertions. -function _malloc() { - abort('malloc() called but not included in the build - add `_malloc` to EXPORTED_FUNCTIONS'); -} -function _free() { - // Show a helpful error since we used to include free by default in the past. - abort('free() called but not included in the build - add `_free` to EXPORTED_FUNCTIONS'); -} - -// Memory management - -var HEAP, -/** @type {!Int8Array} */ - HEAP8, -/** @type {!Uint8Array} */ - HEAPU8, -/** @type {!Int16Array} */ - HEAP16, -/** @type {!Uint16Array} */ - HEAPU16, -/** @type {!Int32Array} */ - HEAP32, -/** @type {!Uint32Array} */ - HEAPU32, -/** @type {!Float32Array} */ - HEAPF32, -/* BigInt64Array type is not correctly defined in closure -/** not-@type {!BigInt64Array} */ - HEAP64, -/* BigUint64Array type is not correctly defined in closure -/** not-t@type {!BigUint64Array} */ - HEAPU64, -/** @type {!Float64Array} */ - HEAPF64; - -var runtimeInitialized = false; - -/** - * Indicates whether filename is delivered via file protocol (as opposed to http/https) - * @noinline - */ -var isFileURI = (filename) => filename.startsWith('file://'); - -// include: runtime_shared.js -// include: runtime_stack_check.js -// Initializes the stack cookie. Called at the startup of main and at the startup of each thread in pthreads mode. -function writeStackCookie() { - var max = _emscripten_stack_get_end(); - assert((max & 3) == 0); - // If the stack ends at address zero we write our cookies 4 bytes into the - // stack. This prevents interference with SAFE_HEAP and ASAN which also - // monitor writes to address zero. - if (max == 0) { - max += 4; - } - // The stack grow downwards towards _emscripten_stack_get_end. - // We write cookies to the final two words in the stack and detect if they are - // ever overwritten. - HEAPU32[((max)>>2)] = 0x02135467; - HEAPU32[(((max)+(4))>>2)] = 0x89BACDFE; - // Also test the global address 0 for integrity. - HEAPU32[((0)>>2)] = 1668509029; -} - -function checkStackCookie() { - if (ABORT) return; - var max = _emscripten_stack_get_end(); - // See writeStackCookie(). - if (max == 0) { - max += 4; - } - var cookie1 = HEAPU32[((max)>>2)]; - var cookie2 = HEAPU32[(((max)+(4))>>2)]; - if (cookie1 != 0x02135467 || cookie2 != 0x89BACDFE) { - abort(`Stack overflow! Stack cookie has been overwritten at ${ptrToString(max)}, expected hex dwords 0x89BACDFE and 0x2135467, but received ${ptrToString(cookie2)} ${ptrToString(cookie1)}`); - } - // Also test the global address 0 for integrity. - if (HEAPU32[((0)>>2)] != 0x63736d65 /* 'emsc' */) { - abort('Runtime error: The application has corrupted its heap memory area (address zero)!'); - } -} -// end include: runtime_stack_check.js -// include: runtime_exceptions.js -// end include: runtime_exceptions.js -// include: runtime_debug.js -// Endianness check -(() => { - var h16 = new Int16Array(1); - var h8 = new Int8Array(h16.buffer); - h16[0] = 0x6373; - if (h8[0] !== 0x73 || h8[1] !== 0x63) throw 'Runtime error: expected the system to be little-endian! (Run with -sSUPPORT_BIG_ENDIAN to bypass)'; -})(); - -if (Module['ENVIRONMENT']) { - throw new Error('Module.ENVIRONMENT has been deprecated. To force the environment, use the ENVIRONMENT compile-time option (for example, -sENVIRONMENT=web or -sENVIRONMENT=node)'); -} - -function legacyModuleProp(prop, newName, incoming=true) { - if (!Object.getOwnPropertyDescriptor(Module, prop)) { - Object.defineProperty(Module, prop, { - configurable: true, - get() { - let extra = incoming ? ' (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)' : ''; - abort(`\`Module.${prop}\` has been replaced by \`${newName}\`` + extra); - - } - }); - } -} - -function consumedModuleProp(prop) { - if (!Object.getOwnPropertyDescriptor(Module, prop)) { - Object.defineProperty(Module, prop, { - configurable: true, - set() { - abort(`Attempt to set \`Module.${prop}\` after it has already been processed. This can happen, for example, when code is injected via '--post-js' rather than '--pre-js'`); - - } - }); - } -} - -function ignoredModuleProp(prop) { - if (Object.getOwnPropertyDescriptor(Module, prop)) { - abort(`\`Module.${prop}\` was supplied but \`${prop}\` not included in INCOMING_MODULE_JS_API`); - } -} - -// forcing the filesystem exports a few things by default -function isExportedByForceFilesystem(name) { - return name === 'FS_createPath' || - name === 'FS_createDataFile' || - name === 'FS_createPreloadedFile' || - name === 'FS_unlink' || - name === 'addRunDependency' || - // The old FS has some functionality that WasmFS lacks. - name === 'FS_createLazyFile' || - name === 'FS_createDevice' || - name === 'removeRunDependency'; -} - -/** - * Intercept access to a global symbol. This enables us to give informative - * warnings/errors when folks attempt to use symbols they did not include in - * their build, or no symbols that no longer exist. - */ -function hookGlobalSymbolAccess(sym, func) { - if (typeof globalThis != 'undefined' && !Object.getOwnPropertyDescriptor(globalThis, sym)) { - Object.defineProperty(globalThis, sym, { - configurable: true, - get() { - func(); - return undefined; - } - }); - } -} - -function missingGlobal(sym, msg) { - hookGlobalSymbolAccess(sym, () => { - warnOnce(`\`${sym}\` is not longer defined by emscripten. ${msg}`); - }); -} - -missingGlobal('buffer', 'Please use HEAP8.buffer or wasmMemory.buffer'); -missingGlobal('asm', 'Please use wasmExports instead'); - -function missingLibrarySymbol(sym) { - hookGlobalSymbolAccess(sym, () => { - // Can't `abort()` here because it would break code that does runtime - // checks. e.g. `if (typeof SDL === 'undefined')`. - var msg = `\`${sym}\` is a library symbol and not included by default; add it to your library.js __deps or to DEFAULT_LIBRARY_FUNCS_TO_INCLUDE on the command line`; - // DEFAULT_LIBRARY_FUNCS_TO_INCLUDE requires the name as it appears in - // library.js, which means $name for a JS name with no prefix, or name - // for a JS name like _name. - var librarySymbol = sym; - if (!librarySymbol.startsWith('_')) { - librarySymbol = '$' + sym; - } - msg += ` (e.g. -sDEFAULT_LIBRARY_FUNCS_TO_INCLUDE='${librarySymbol}')`; - if (isExportedByForceFilesystem(sym)) { - msg += '. Alternatively, forcing filesystem support (-sFORCE_FILESYSTEM) can export this for you'; - } - warnOnce(msg); - }); - - // Any symbol that is not included from the JS library is also (by definition) - // not exported on the Module object. - unexportedRuntimeSymbol(sym); -} - -function unexportedRuntimeSymbol(sym) { - if (!Object.getOwnPropertyDescriptor(Module, sym)) { - Object.defineProperty(Module, sym, { - configurable: true, - get() { - var msg = `'${sym}' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the Emscripten FAQ)`; - if (isExportedByForceFilesystem(sym)) { - msg += '. Alternatively, forcing filesystem support (-sFORCE_FILESYSTEM) can export this for you'; - } - abort(msg); - } - }); - } -} - -var runtimeDebug = true; // Switch to false at runtime to disable logging at the right times - -// Used by XXXXX_DEBUG settings to output debug messages. -function dbg(...args) { - if (!runtimeDebug && typeof runtimeDebug != 'undefined') return; - // TODO(sbc): Make this configurable somehow. Its not always convenient for - // logging to show up as warnings. - console.warn(...args); -} -// end include: runtime_debug.js -// include: memoryprofiler.js -// end include: memoryprofiler.js - - -function updateMemoryViews() { - var b = wasmMemory.buffer; - Module['HEAP8'] = HEAP8 = new Int8Array(b); - Module['HEAP16'] = HEAP16 = new Int16Array(b); - Module['HEAPU8'] = HEAPU8 = new Uint8Array(b); - Module['HEAPU16'] = HEAPU16 = new Uint16Array(b); - Module['HEAP32'] = HEAP32 = new Int32Array(b); - Module['HEAPU32'] = HEAPU32 = new Uint32Array(b); - Module['HEAPF32'] = HEAPF32 = new Float32Array(b); - Module['HEAPF64'] = HEAPF64 = new Float64Array(b); - Module['HEAP64'] = HEAP64 = new BigInt64Array(b); - Module['HEAPU64'] = HEAPU64 = new BigUint64Array(b); -} - -// end include: runtime_shared.js -assert(!Module['STACK_SIZE'], 'STACK_SIZE can no longer be set at runtime. Use -sSTACK_SIZE at link time') - -assert(typeof Int32Array != 'undefined' && typeof Float64Array !== 'undefined' && Int32Array.prototype.subarray != undefined && Int32Array.prototype.set != undefined, - 'JS engine does not provide full typed array support'); - -// If memory is defined in wasm, the user can't provide it, or set INITIAL_MEMORY -assert(!Module['wasmMemory'], 'Use of `wasmMemory` detected. Use -sIMPORTED_MEMORY to define wasmMemory externally'); -assert(!Module['INITIAL_MEMORY'], 'Detected runtime INITIAL_MEMORY setting. Use -sIMPORTED_MEMORY to define wasmMemory dynamically'); - -function preRun() { - if (Module['preRun']) { - if (typeof Module['preRun'] == 'function') Module['preRun'] = [Module['preRun']]; - while (Module['preRun'].length) { - addOnPreRun(Module['preRun'].shift()); - } - } - consumedModuleProp('preRun'); - callRuntimeCallbacks(onPreRuns); -} - -function initRuntime() { - assert(!runtimeInitialized); - runtimeInitialized = true; - - checkStackCookie(); - - if (!Module['noFSInit'] && !FS.initialized) FS.init(); -TTY.init(); - - wasmExports['__wasm_call_ctors'](); - - FS.ignorePermissions = false; -} - -function preMain() { - checkStackCookie(); - -} - -function postRun() { - checkStackCookie(); - - if (Module['postRun']) { - if (typeof Module['postRun'] == 'function') Module['postRun'] = [Module['postRun']]; - while (Module['postRun'].length) { - addOnPostRun(Module['postRun'].shift()); - } - } - consumedModuleProp('postRun'); - - callRuntimeCallbacks(onPostRuns); -} - -// A counter of dependencies for calling run(). If we need to -// do asynchronous work before running, increment this and -// decrement it. Incrementing must happen in a place like -// Module.preRun (used by emcc to add file preloading). -// Note that you can add dependencies in preRun, even though -// it happens right before run - run will be postponed until -// the dependencies are met. -var runDependencies = 0; -var dependenciesFulfilled = null; // overridden to take different actions when all run dependencies are fulfilled -var runDependencyTracking = {}; -var runDependencyWatcher = null; - -function getUniqueRunDependency(id) { - var orig = id; - while (1) { - if (!runDependencyTracking[id]) return id; - id = orig + Math.random(); - } -} - -function addRunDependency(id) { - runDependencies++; - - Module['monitorRunDependencies']?.(runDependencies); - - if (id) { - assert(!runDependencyTracking[id]); - runDependencyTracking[id] = 1; - if (runDependencyWatcher === null && typeof setInterval != 'undefined') { - // Check for missing dependencies every few seconds - runDependencyWatcher = setInterval(() => { - if (ABORT) { - clearInterval(runDependencyWatcher); - runDependencyWatcher = null; - return; - } - var shown = false; - for (var dep in runDependencyTracking) { - if (!shown) { - shown = true; - err('still waiting on run dependencies:'); - } - err(`dependency: ${dep}`); - } - if (shown) { - err('(end of list)'); - } - }, 10000); - } - } else { - err('warning: run dependency added without ID'); - } -} - -function removeRunDependency(id) { - runDependencies--; - - Module['monitorRunDependencies']?.(runDependencies); - - if (id) { - assert(runDependencyTracking[id]); - delete runDependencyTracking[id]; - } else { - err('warning: run dependency removed without ID'); - } - if (runDependencies == 0) { - if (runDependencyWatcher !== null) { - clearInterval(runDependencyWatcher); - runDependencyWatcher = null; - } - if (dependenciesFulfilled) { - var callback = dependenciesFulfilled; - dependenciesFulfilled = null; - callback(); // can add another dependenciesFulfilled - } - } -} - -/** @param {string|number=} what */ -function abort(what) { - Module['onAbort']?.(what); - - what = 'Aborted(' + what + ')'; - // TODO(sbc): Should we remove printing and leave it up to whoever - // catches the exception? - err(what); - - ABORT = true; - - // Use a wasm runtime error, because a JS error might be seen as a foreign - // exception, which means we'd run destructors on it. We need the error to - // simply make the program stop. - // FIXME This approach does not work in Wasm EH because it currently does not assume - // all RuntimeErrors are from traps; it decides whether a RuntimeError is from - // a trap or not based on a hidden field within the object. So at the moment - // we don't have a way of throwing a wasm trap from JS. TODO Make a JS API that - // allows this in the wasm spec. - - // Suppress closure compiler warning here. Closure compiler's builtin extern - // definition for WebAssembly.RuntimeError claims it takes no arguments even - // though it can. - // TODO(https://github.com/google/closure-compiler/pull/3913): Remove if/when upstream closure gets fixed. - /** @suppress {checkTypes} */ - var e = new WebAssembly.RuntimeError(what); - - // Throw the error whether or not MODULARIZE is set because abort is used - // in code paths apart from instantiation where an exception is expected - // to be thrown when abort is called. - throw e; -} - -function createExportWrapper(name, nargs) { - return (...args) => { - assert(runtimeInitialized, `native function \`${name}\` called before runtime initialization`); - var f = wasmExports[name]; - assert(f, `exported native function \`${name}\` not found`); - // Only assert for too many arguments. Too few can be valid since the missing arguments will be zero filled. - assert(args.length <= nargs, `native function \`${name}\` called with ${args.length} args but expects ${nargs}`); - return f(...args); - }; -} - -var wasmBinaryFile; - -function findWasmBinary() { - return locateFile('zip_write_encrypt_pkware_file_fuzzer.wasm'); -} - -function getBinarySync(file) { - if (file == wasmBinaryFile && wasmBinary) { - return new Uint8Array(wasmBinary); - } - if (readBinary) { - return readBinary(file); - } - throw 'both async and sync fetching of the wasm failed'; -} - -async function getWasmBinary(binaryFile) { - // If we don't have the binary yet, load it asynchronously using readAsync. - if (!wasmBinary) { - // Fetch the binary using readAsync - try { - var response = await readAsync(binaryFile); - return new Uint8Array(response); - } catch { - // Fall back to getBinarySync below; - } - } - - // Otherwise, getBinarySync should be able to get it synchronously - return getBinarySync(binaryFile); -} - -async function instantiateArrayBuffer(binaryFile, imports) { - try { - var binary = await getWasmBinary(binaryFile); - var instance = await WebAssembly.instantiate(binary, imports); - return instance; - } catch (reason) { - err(`failed to asynchronously prepare wasm: ${reason}`); - - // Warn on some common problems. - if (isFileURI(wasmBinaryFile)) { - err(`warning: Loading from a file URI (${wasmBinaryFile}) is not supported in most browsers. See https://emscripten.org/docs/getting_started/FAQ.html#how-do-i-run-a-local-webserver-for-testing-why-does-my-program-stall-in-downloading-or-preparing`); - } - abort(reason); - } -} - -async function instantiateAsync(binary, binaryFile, imports) { - if (!binary && typeof WebAssembly.instantiateStreaming == 'function' - // Don't use streaming for file:// delivered objects in a webview, fetch them synchronously. - && !isFileURI(binaryFile) - // Avoid instantiateStreaming() on Node.js environment for now, as while - // Node.js v18.1.0 implements it, it does not have a full fetch() - // implementation yet. - // - // Reference: - // https://github.com/emscripten-core/emscripten/pull/16917 - && !ENVIRONMENT_IS_NODE - ) { - try { - var response = fetch(binaryFile, { credentials: 'same-origin' }); - var instantiationResult = await WebAssembly.instantiateStreaming(response, imports); - return instantiationResult; - } catch (reason) { - // We expect the most common failure cause to be a bad MIME type for the binary, - // in which case falling back to ArrayBuffer instantiation should work. - err(`wasm streaming compile failed: ${reason}`); - err('falling back to ArrayBuffer instantiation'); - // fall back of instantiateArrayBuffer below - }; - } - return instantiateArrayBuffer(binaryFile, imports); -} - -function getWasmImports() { - // prepare imports - return { - 'env': wasmImports, - 'wasi_snapshot_preview1': wasmImports, - } -} - -// Create the wasm instance. -// Receives the wasm imports, returns the exports. -async function createWasm() { - // Load the wasm module and create an instance of using native support in the JS engine. - // handle a generated wasm instance, receiving its exports and - // performing other necessary setup - /** @param {WebAssembly.Module=} module*/ - function receiveInstance(instance, module) { - wasmExports = instance.exports; - - - - wasmMemory = wasmExports['memory']; - - assert(wasmMemory, 'memory not found in wasm exports'); - updateMemoryViews(); - - removeRunDependency('wasm-instantiate'); - return wasmExports; - } - // wait for the pthread pool (if any) - addRunDependency('wasm-instantiate'); - - // Prefer streaming instantiation if available. - // Async compilation can be confusing when an error on the page overwrites Module - // (for example, if the order of elements is wrong, and the one defining Module is - // later), so we save Module and check it later. - var trueModule = Module; - function receiveInstantiationResult(result) { - // 'result' is a ResultObject object which has both the module and instance. - // receiveInstance() will swap in the exports (to Module.asm) so they can be called - assert(Module === trueModule, 'the Module object should not be replaced during async compilation - perhaps the order of HTML elements is wrong?'); - trueModule = null; - // TODO: Due to Closure regression https://github.com/google/closure-compiler/issues/3193, the above line no longer optimizes out down to the following line. - // When the regression is fixed, can restore the above PTHREADS-enabled path. - return receiveInstance(result['instance']); - } - - var info = getWasmImports(); - - // User shell pages can write their own Module.instantiateWasm = function(imports, successCallback) callback - // to manually instantiate the Wasm module themselves. This allows pages to - // run the instantiation parallel to any other async startup actions they are - // performing. - // Also pthreads and wasm workers initialize the wasm instance through this - // path. - if (Module['instantiateWasm']) { - return new Promise((resolve, reject) => { - try { - Module['instantiateWasm'](info, (mod, inst) => { - receiveInstance(mod, inst); - resolve(mod.exports); - }); - } catch(e) { - err(`Module.instantiateWasm callback failed with error: ${e}`); - reject(e); - } - }); - } - - wasmBinaryFile ??= findWasmBinary(); - var result = await instantiateAsync(wasmBinary, wasmBinaryFile, info); - var exports = receiveInstantiationResult(result); - return exports; -} - -// end include: preamble.js - -// Begin JS library code - - - class ExitStatus { - name = 'ExitStatus'; - constructor(status) { - this.message = `Program terminated with exit(${status})`; - this.status = status; - } - } - - var callRuntimeCallbacks = (callbacks) => { - while (callbacks.length > 0) { - // Pass the module as the first argument. - callbacks.shift()(Module); - } - }; - var onPostRuns = []; - var addOnPostRun = (cb) => onPostRuns.unshift(cb); - - var onPreRuns = []; - var addOnPreRun = (cb) => onPreRuns.unshift(cb); - - - - /** - * @param {number} ptr - * @param {string} type - */ - function getValue(ptr, type = 'i8') { - if (type.endsWith('*')) type = '*'; - switch (type) { - case 'i1': return HEAP8[ptr]; - case 'i8': return HEAP8[ptr]; - case 'i16': return HEAP16[((ptr)>>1)]; - case 'i32': return HEAP32[((ptr)>>2)]; - case 'i64': return HEAP64[((ptr)>>3)]; - case 'float': return HEAPF32[((ptr)>>2)]; - case 'double': return HEAPF64[((ptr)>>3)]; - case '*': return HEAPU32[((ptr)>>2)]; - default: abort(`invalid type for getValue: ${type}`); - } - } - - var noExitRuntime = Module['noExitRuntime'] || true; - - var ptrToString = (ptr) => { - assert(typeof ptr === 'number'); - // With CAN_ADDRESS_2GB or MEMORY64, pointers are already unsigned. - ptr >>>= 0; - return '0x' + ptr.toString(16).padStart(8, '0'); - }; - - - /** - * @param {number} ptr - * @param {number} value - * @param {string} type - */ - function setValue(ptr, value, type = 'i8') { - if (type.endsWith('*')) type = '*'; - switch (type) { - case 'i1': HEAP8[ptr] = value; break; - case 'i8': HEAP8[ptr] = value; break; - case 'i16': HEAP16[((ptr)>>1)] = value; break; - case 'i32': HEAP32[((ptr)>>2)] = value; break; - case 'i64': HEAP64[((ptr)>>3)] = BigInt(value); break; - case 'float': HEAPF32[((ptr)>>2)] = value; break; - case 'double': HEAPF64[((ptr)>>3)] = value; break; - case '*': HEAPU32[((ptr)>>2)] = value; break; - default: abort(`invalid type for setValue: ${type}`); - } - } - - var stackRestore = (val) => __emscripten_stack_restore(val); - - var stackSave = () => _emscripten_stack_get_current(); - - var warnOnce = (text) => { - warnOnce.shown ||= {}; - if (!warnOnce.shown[text]) { - warnOnce.shown[text] = 1; - if (ENVIRONMENT_IS_NODE) text = 'warning: ' + text; - err(text); - } - }; - - var PATH = { - isAbs:(path) => path.charAt(0) === '/', - splitPath:(filename) => { - var splitPathRe = /^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/; - return splitPathRe.exec(filename).slice(1); - }, - normalizeArray:(parts, allowAboveRoot) => { - // if the path tries to go above the root, `up` ends up > 0 - var up = 0; - for (var i = parts.length - 1; i >= 0; i--) { - var last = parts[i]; - if (last === '.') { - parts.splice(i, 1); - } else if (last === '..') { - parts.splice(i, 1); - up++; - } else if (up) { - parts.splice(i, 1); - up--; - } - } - // if the path is allowed to go above the root, restore leading ..s - if (allowAboveRoot) { - for (; up; up--) { - parts.unshift('..'); - } - } - return parts; - }, - normalize:(path) => { - var isAbsolute = PATH.isAbs(path), - trailingSlash = path.slice(-1) === '/'; - // Normalize the path - path = PATH.normalizeArray(path.split('/').filter((p) => !!p), !isAbsolute).join('/'); - if (!path && !isAbsolute) { - path = '.'; - } - if (path && trailingSlash) { - path += '/'; - } - return (isAbsolute ? '/' : '') + path; - }, - dirname:(path) => { - var result = PATH.splitPath(path), - root = result[0], - dir = result[1]; - if (!root && !dir) { - // No dirname whatsoever - return '.'; - } - if (dir) { - // It has a dirname, strip trailing slash - dir = dir.slice(0, -1); - } - return root + dir; - }, - basename:(path) => path && path.match(/([^\/]+|\/)\/*$/)[1], - join:(...paths) => PATH.normalize(paths.join('/')), - join2:(l, r) => PATH.normalize(l + '/' + r), - }; - - var initRandomFill = () => { - // This block is not needed on v19+ since crypto.getRandomValues is builtin - if (ENVIRONMENT_IS_NODE) { - var nodeCrypto = require('crypto'); - return (view) => nodeCrypto.randomFillSync(view); - } - - return (view) => crypto.getRandomValues(view); - }; - var randomFill = (view) => { - // Lazily init on the first invocation. - (randomFill = initRandomFill())(view); - }; - - - - var PATH_FS = { - resolve:(...args) => { - var resolvedPath = '', - resolvedAbsolute = false; - for (var i = args.length - 1; i >= -1 && !resolvedAbsolute; i--) { - var path = (i >= 0) ? args[i] : FS.cwd(); - // Skip empty and invalid entries - if (typeof path != 'string') { - throw new TypeError('Arguments to path.resolve must be strings'); - } else if (!path) { - return ''; // an invalid portion invalidates the whole thing - } - resolvedPath = path + '/' + resolvedPath; - resolvedAbsolute = PATH.isAbs(path); - } - // At this point the path should be resolved to a full absolute path, but - // handle relative paths to be safe (might happen when process.cwd() fails) - resolvedPath = PATH.normalizeArray(resolvedPath.split('/').filter((p) => !!p), !resolvedAbsolute).join('/'); - return ((resolvedAbsolute ? '/' : '') + resolvedPath) || '.'; - }, - relative:(from, to) => { - from = PATH_FS.resolve(from).slice(1); - to = PATH_FS.resolve(to).slice(1); - function trim(arr) { - var start = 0; - for (; start < arr.length; start++) { - if (arr[start] !== '') break; - } - var end = arr.length - 1; - for (; end >= 0; end--) { - if (arr[end] !== '') break; - } - if (start > end) return []; - return arr.slice(start, end - start + 1); - } - var fromParts = trim(from.split('/')); - var toParts = trim(to.split('/')); - var length = Math.min(fromParts.length, toParts.length); - var samePartsLength = length; - for (var i = 0; i < length; i++) { - if (fromParts[i] !== toParts[i]) { - samePartsLength = i; - break; - } - } - var outputParts = []; - for (var i = samePartsLength; i < fromParts.length; i++) { - outputParts.push('..'); - } - outputParts = outputParts.concat(toParts.slice(samePartsLength)); - return outputParts.join('/'); - }, - }; - - - var UTF8Decoder = typeof TextDecoder != 'undefined' ? new TextDecoder() : undefined; - - /** - * Given a pointer 'idx' to a null-terminated UTF8-encoded string in the given - * array that contains uint8 values, returns a copy of that string as a - * Javascript String object. - * heapOrArray is either a regular array, or a JavaScript typed array view. - * @param {number=} idx - * @param {number=} maxBytesToRead - * @return {string} - */ - var UTF8ArrayToString = (heapOrArray, idx = 0, maxBytesToRead = NaN) => { - var endIdx = idx + maxBytesToRead; - var endPtr = idx; - // TextDecoder needs to know the byte length in advance, it doesn't stop on - // null terminator by itself. Also, use the length info to avoid running tiny - // strings through TextDecoder, since .subarray() allocates garbage. - // (As a tiny code save trick, compare endPtr against endIdx using a negation, - // so that undefined/NaN means Infinity) - while (heapOrArray[endPtr] && !(endPtr >= endIdx)) ++endPtr; - - if (endPtr - idx > 16 && heapOrArray.buffer && UTF8Decoder) { - return UTF8Decoder.decode(heapOrArray.subarray(idx, endPtr)); - } - var str = ''; - // If building with TextDecoder, we have already computed the string length - // above, so test loop end condition against that - while (idx < endPtr) { - // For UTF8 byte structure, see: - // http://en.wikipedia.org/wiki/UTF-8#Description - // https://www.ietf.org/rfc/rfc2279.txt - // https://tools.ietf.org/html/rfc3629 - var u0 = heapOrArray[idx++]; - if (!(u0 & 0x80)) { str += String.fromCharCode(u0); continue; } - var u1 = heapOrArray[idx++] & 63; - if ((u0 & 0xE0) == 0xC0) { str += String.fromCharCode(((u0 & 31) << 6) | u1); continue; } - var u2 = heapOrArray[idx++] & 63; - if ((u0 & 0xF0) == 0xE0) { - u0 = ((u0 & 15) << 12) | (u1 << 6) | u2; - } else { - if ((u0 & 0xF8) != 0xF0) warnOnce('Invalid UTF-8 leading byte ' + ptrToString(u0) + ' encountered when deserializing a UTF-8 string in wasm memory to a JS string!'); - u0 = ((u0 & 7) << 18) | (u1 << 12) | (u2 << 6) | (heapOrArray[idx++] & 63); - } - - if (u0 < 0x10000) { - str += String.fromCharCode(u0); - } else { - var ch = u0 - 0x10000; - str += String.fromCharCode(0xD800 | (ch >> 10), 0xDC00 | (ch & 0x3FF)); - } - } - return str; - }; - - var FS_stdin_getChar_buffer = []; - - var lengthBytesUTF8 = (str) => { - var len = 0; - for (var i = 0; i < str.length; ++i) { - // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code - // unit, not a Unicode code point of the character! So decode - // UTF16->UTF32->UTF8. - // See http://unicode.org/faq/utf_bom.html#utf16-3 - var c = str.charCodeAt(i); // possibly a lead surrogate - if (c <= 0x7F) { - len++; - } else if (c <= 0x7FF) { - len += 2; - } else if (c >= 0xD800 && c <= 0xDFFF) { - len += 4; ++i; - } else { - len += 3; - } - } - return len; - }; - - var stringToUTF8Array = (str, heap, outIdx, maxBytesToWrite) => { - assert(typeof str === 'string', `stringToUTF8Array expects a string (got ${typeof str})`); - // Parameter maxBytesToWrite is not optional. Negative values, 0, null, - // undefined and false each don't write out any bytes. - if (!(maxBytesToWrite > 0)) - return 0; - - var startIdx = outIdx; - var endIdx = outIdx + maxBytesToWrite - 1; // -1 for string null terminator. - for (var i = 0; i < str.length; ++i) { - // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code - // unit, not a Unicode code point of the character! So decode - // UTF16->UTF32->UTF8. - // See http://unicode.org/faq/utf_bom.html#utf16-3 - // For UTF8 byte structure, see http://en.wikipedia.org/wiki/UTF-8#Description - // and https://www.ietf.org/rfc/rfc2279.txt - // and https://tools.ietf.org/html/rfc3629 - var u = str.charCodeAt(i); // possibly a lead surrogate - if (u >= 0xD800 && u <= 0xDFFF) { - var u1 = str.charCodeAt(++i); - u = 0x10000 + ((u & 0x3FF) << 10) | (u1 & 0x3FF); - } - if (u <= 0x7F) { - if (outIdx >= endIdx) break; - heap[outIdx++] = u; - } else if (u <= 0x7FF) { - if (outIdx + 1 >= endIdx) break; - heap[outIdx++] = 0xC0 | (u >> 6); - heap[outIdx++] = 0x80 | (u & 63); - } else if (u <= 0xFFFF) { - if (outIdx + 2 >= endIdx) break; - heap[outIdx++] = 0xE0 | (u >> 12); - heap[outIdx++] = 0x80 | ((u >> 6) & 63); - heap[outIdx++] = 0x80 | (u & 63); - } else { - if (outIdx + 3 >= endIdx) break; - if (u > 0x10FFFF) warnOnce('Invalid Unicode code point ' + ptrToString(u) + ' encountered when serializing a JS string to a UTF-8 string in wasm memory! (Valid unicode code points should be in range 0-0x10FFFF).'); - heap[outIdx++] = 0xF0 | (u >> 18); - heap[outIdx++] = 0x80 | ((u >> 12) & 63); - heap[outIdx++] = 0x80 | ((u >> 6) & 63); - heap[outIdx++] = 0x80 | (u & 63); - } - } - // Null-terminate the pointer to the buffer. - heap[outIdx] = 0; - return outIdx - startIdx; - }; - /** @type {function(string, boolean=, number=)} */ - var intArrayFromString = (stringy, dontAddNull, length) => { - var len = length > 0 ? length : lengthBytesUTF8(stringy)+1; - var u8array = new Array(len); - var numBytesWritten = stringToUTF8Array(stringy, u8array, 0, u8array.length); - if (dontAddNull) u8array.length = numBytesWritten; - return u8array; - }; - var FS_stdin_getChar = () => { - if (!FS_stdin_getChar_buffer.length) { - var result = null; - if (ENVIRONMENT_IS_NODE) { - // we will read data by chunks of BUFSIZE - var BUFSIZE = 256; - var buf = Buffer.alloc(BUFSIZE); - var bytesRead = 0; - - // For some reason we must suppress a closure warning here, even though - // fd definitely exists on process.stdin, and is even the proper way to - // get the fd of stdin, - // https://github.com/nodejs/help/issues/2136#issuecomment-523649904 - // This started to happen after moving this logic out of library_tty.js, - // so it is related to the surrounding code in some unclear manner. - /** @suppress {missingProperties} */ - var fd = process.stdin.fd; - - try { - bytesRead = fs.readSync(fd, buf, 0, BUFSIZE); - } catch(e) { - // Cross-platform differences: on Windows, reading EOF throws an - // exception, but on other OSes, reading EOF returns 0. Uniformize - // behavior by treating the EOF exception to return 0. - if (e.toString().includes('EOF')) bytesRead = 0; - else throw e; - } - - if (bytesRead > 0) { - result = buf.slice(0, bytesRead).toString('utf-8'); - } - } else - if (typeof window != 'undefined' && - typeof window.prompt == 'function') { - // Browser. - result = window.prompt('Input: '); // returns null on cancel - if (result !== null) { - result += '\n'; - } - } else - {} - if (!result) { - return null; - } - FS_stdin_getChar_buffer = intArrayFromString(result, true); - } - return FS_stdin_getChar_buffer.shift(); - }; - var TTY = { - ttys:[], - init() { - // https://github.com/emscripten-core/emscripten/pull/1555 - // if (ENVIRONMENT_IS_NODE) { - // // currently, FS.init does not distinguish if process.stdin is a file or TTY - // // device, it always assumes it's a TTY device. because of this, we're forcing - // // process.stdin to UTF8 encoding to at least make stdin reading compatible - // // with text files until FS.init can be refactored. - // process.stdin.setEncoding('utf8'); - // } - }, - shutdown() { - // https://github.com/emscripten-core/emscripten/pull/1555 - // if (ENVIRONMENT_IS_NODE) { - // // inolen: any idea as to why node -e 'process.stdin.read()' wouldn't exit immediately (with process.stdin being a tty)? - // // isaacs: because now it's reading from the stream, you've expressed interest in it, so that read() kicks off a _read() which creates a ReadReq operation - // // inolen: I thought read() in that case was a synchronous operation that just grabbed some amount of buffered data if it exists? - // // isaacs: it is. but it also triggers a _read() call, which calls readStart() on the handle - // // isaacs: do process.stdin.pause() and i'd think it'd probably close the pending call - // process.stdin.pause(); - // } - }, - register(dev, ops) { - TTY.ttys[dev] = { input: [], output: [], ops: ops }; - FS.registerDevice(dev, TTY.stream_ops); - }, - stream_ops:{ - open(stream) { - var tty = TTY.ttys[stream.node.rdev]; - if (!tty) { - throw new FS.ErrnoError(43); - } - stream.tty = tty; - stream.seekable = false; - }, - close(stream) { - // flush any pending line data - stream.tty.ops.fsync(stream.tty); - }, - fsync(stream) { - stream.tty.ops.fsync(stream.tty); - }, - read(stream, buffer, offset, length, pos /* ignored */) { - if (!stream.tty || !stream.tty.ops.get_char) { - throw new FS.ErrnoError(60); - } - var bytesRead = 0; - for (var i = 0; i < length; i++) { - var result; - try { - result = stream.tty.ops.get_char(stream.tty); - } catch (e) { - throw new FS.ErrnoError(29); - } - if (result === undefined && bytesRead === 0) { - throw new FS.ErrnoError(6); - } - if (result === null || result === undefined) break; - bytesRead++; - buffer[offset+i] = result; - } - if (bytesRead) { - stream.node.atime = Date.now(); - } - return bytesRead; - }, - write(stream, buffer, offset, length, pos) { - if (!stream.tty || !stream.tty.ops.put_char) { - throw new FS.ErrnoError(60); - } - try { - for (var i = 0; i < length; i++) { - stream.tty.ops.put_char(stream.tty, buffer[offset+i]); - } - } catch (e) { - throw new FS.ErrnoError(29); - } - if (length) { - stream.node.mtime = stream.node.ctime = Date.now(); - } - return i; - }, - }, - default_tty_ops:{ - get_char(tty) { - return FS_stdin_getChar(); - }, - put_char(tty, val) { - if (val === null || val === 10) { - out(UTF8ArrayToString(tty.output)); - tty.output = []; - } else { - if (val != 0) tty.output.push(val); // val == 0 would cut text output off in the middle. - } - }, - fsync(tty) { - if (tty.output?.length > 0) { - out(UTF8ArrayToString(tty.output)); - tty.output = []; - } - }, - ioctl_tcgets(tty) { - // typical setting - return { - c_iflag: 25856, - c_oflag: 5, - c_cflag: 191, - c_lflag: 35387, - c_cc: [ - 0x03, 0x1c, 0x7f, 0x15, 0x04, 0x00, 0x01, 0x00, 0x11, 0x13, 0x1a, 0x00, - 0x12, 0x0f, 0x17, 0x16, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - ] - }; - }, - ioctl_tcsets(tty, optional_actions, data) { - // currently just ignore - return 0; - }, - ioctl_tiocgwinsz(tty) { - return [24, 80]; - }, - }, - default_tty1_ops:{ - put_char(tty, val) { - if (val === null || val === 10) { - err(UTF8ArrayToString(tty.output)); - tty.output = []; - } else { - if (val != 0) tty.output.push(val); - } - }, - fsync(tty) { - if (tty.output?.length > 0) { - err(UTF8ArrayToString(tty.output)); - tty.output = []; - } - }, - }, - }; - - - var mmapAlloc = (size) => { - abort('internal error: mmapAlloc called but `emscripten_builtin_memalign` native symbol not exported'); - }; - var MEMFS = { - ops_table:null, - mount(mount) { - return MEMFS.createNode(null, '/', 16895, 0); - }, - createNode(parent, name, mode, dev) { - if (FS.isBlkdev(mode) || FS.isFIFO(mode)) { - // no supported - throw new FS.ErrnoError(63); - } - MEMFS.ops_table ||= { - dir: { - node: { - getattr: MEMFS.node_ops.getattr, - setattr: MEMFS.node_ops.setattr, - lookup: MEMFS.node_ops.lookup, - mknod: MEMFS.node_ops.mknod, - rename: MEMFS.node_ops.rename, - unlink: MEMFS.node_ops.unlink, - rmdir: MEMFS.node_ops.rmdir, - readdir: MEMFS.node_ops.readdir, - symlink: MEMFS.node_ops.symlink - }, - stream: { - llseek: MEMFS.stream_ops.llseek - } - }, - file: { - node: { - getattr: MEMFS.node_ops.getattr, - setattr: MEMFS.node_ops.setattr - }, - stream: { - llseek: MEMFS.stream_ops.llseek, - read: MEMFS.stream_ops.read, - write: MEMFS.stream_ops.write, - mmap: MEMFS.stream_ops.mmap, - msync: MEMFS.stream_ops.msync - } - }, - link: { - node: { - getattr: MEMFS.node_ops.getattr, - setattr: MEMFS.node_ops.setattr, - readlink: MEMFS.node_ops.readlink - }, - stream: {} - }, - chrdev: { - node: { - getattr: MEMFS.node_ops.getattr, - setattr: MEMFS.node_ops.setattr - }, - stream: FS.chrdev_stream_ops - } - }; - var node = FS.createNode(parent, name, mode, dev); - if (FS.isDir(node.mode)) { - node.node_ops = MEMFS.ops_table.dir.node; - node.stream_ops = MEMFS.ops_table.dir.stream; - node.contents = {}; - } else if (FS.isFile(node.mode)) { - node.node_ops = MEMFS.ops_table.file.node; - node.stream_ops = MEMFS.ops_table.file.stream; - node.usedBytes = 0; // The actual number of bytes used in the typed array, as opposed to contents.length which gives the whole capacity. - // When the byte data of the file is populated, this will point to either a typed array, or a normal JS array. Typed arrays are preferred - // for performance, and used by default. However, typed arrays are not resizable like normal JS arrays are, so there is a small disk size - // penalty involved for appending file writes that continuously grow a file similar to std::vector capacity vs used -scheme. - node.contents = null; - } else if (FS.isLink(node.mode)) { - node.node_ops = MEMFS.ops_table.link.node; - node.stream_ops = MEMFS.ops_table.link.stream; - } else if (FS.isChrdev(node.mode)) { - node.node_ops = MEMFS.ops_table.chrdev.node; - node.stream_ops = MEMFS.ops_table.chrdev.stream; - } - node.atime = node.mtime = node.ctime = Date.now(); - // add the new node to the parent - if (parent) { - parent.contents[name] = node; - parent.atime = parent.mtime = parent.ctime = node.atime; - } - return node; - }, - getFileDataAsTypedArray(node) { - if (!node.contents) return new Uint8Array(0); - if (node.contents.subarray) return node.contents.subarray(0, node.usedBytes); // Make sure to not return excess unused bytes. - return new Uint8Array(node.contents); - }, - expandFileStorage(node, newCapacity) { - var prevCapacity = node.contents ? node.contents.length : 0; - if (prevCapacity >= newCapacity) return; // No need to expand, the storage was already large enough. - // Don't expand strictly to the given requested limit if it's only a very small increase, but instead geometrically grow capacity. - // For small filesizes (<1MB), perform size*2 geometric increase, but for large sizes, do a much more conservative size*1.125 increase to - // avoid overshooting the allocation cap by a very large margin. - var CAPACITY_DOUBLING_MAX = 1024 * 1024; - newCapacity = Math.max(newCapacity, (prevCapacity * (prevCapacity < CAPACITY_DOUBLING_MAX ? 2.0 : 1.125)) >>> 0); - if (prevCapacity != 0) newCapacity = Math.max(newCapacity, 256); // At minimum allocate 256b for each file when expanding. - var oldContents = node.contents; - node.contents = new Uint8Array(newCapacity); // Allocate new storage. - if (node.usedBytes > 0) node.contents.set(oldContents.subarray(0, node.usedBytes), 0); // Copy old data over to the new storage. - }, - resizeFileStorage(node, newSize) { - if (node.usedBytes == newSize) return; - if (newSize == 0) { - node.contents = null; // Fully decommit when requesting a resize to zero. - node.usedBytes = 0; - } else { - var oldContents = node.contents; - node.contents = new Uint8Array(newSize); // Allocate new storage. - if (oldContents) { - node.contents.set(oldContents.subarray(0, Math.min(newSize, node.usedBytes))); // Copy old data over to the new storage. - } - node.usedBytes = newSize; - } - }, - node_ops:{ - getattr(node) { - var attr = {}; - // device numbers reuse inode numbers. - attr.dev = FS.isChrdev(node.mode) ? node.id : 1; - attr.ino = node.id; - attr.mode = node.mode; - attr.nlink = 1; - attr.uid = 0; - attr.gid = 0; - attr.rdev = node.rdev; - if (FS.isDir(node.mode)) { - attr.size = 4096; - } else if (FS.isFile(node.mode)) { - attr.size = node.usedBytes; - } else if (FS.isLink(node.mode)) { - attr.size = node.link.length; - } else { - attr.size = 0; - } - attr.atime = new Date(node.atime); - attr.mtime = new Date(node.mtime); - attr.ctime = new Date(node.ctime); - // NOTE: In our implementation, st_blocks = Math.ceil(st_size/st_blksize), - // but this is not required by the standard. - attr.blksize = 4096; - attr.blocks = Math.ceil(attr.size / attr.blksize); - return attr; - }, - setattr(node, attr) { - for (const key of ["mode", "atime", "mtime", "ctime"]) { - if (attr[key] != null) { - node[key] = attr[key]; - } - } - if (attr.size !== undefined) { - MEMFS.resizeFileStorage(node, attr.size); - } - }, - lookup(parent, name) { - throw new FS.ErrnoError(44); - }, - mknod(parent, name, mode, dev) { - return MEMFS.createNode(parent, name, mode, dev); - }, - rename(old_node, new_dir, new_name) { - var new_node; - try { - new_node = FS.lookupNode(new_dir, new_name); - } catch (e) {} - if (new_node) { - if (FS.isDir(old_node.mode)) { - // if we're overwriting a directory at new_name, make sure it's empty. - for (var i in new_node.contents) { - throw new FS.ErrnoError(55); - } - } - FS.hashRemoveNode(new_node); - } - // do the internal rewiring - delete old_node.parent.contents[old_node.name]; - new_dir.contents[new_name] = old_node; - old_node.name = new_name; - new_dir.ctime = new_dir.mtime = old_node.parent.ctime = old_node.parent.mtime = Date.now(); - }, - unlink(parent, name) { - delete parent.contents[name]; - parent.ctime = parent.mtime = Date.now(); - }, - rmdir(parent, name) { - var node = FS.lookupNode(parent, name); - for (var i in node.contents) { - throw new FS.ErrnoError(55); - } - delete parent.contents[name]; - parent.ctime = parent.mtime = Date.now(); - }, - readdir(node) { - return ['.', '..', ...Object.keys(node.contents)]; - }, - symlink(parent, newname, oldpath) { - var node = MEMFS.createNode(parent, newname, 0o777 | 40960, 0); - node.link = oldpath; - return node; - }, - readlink(node) { - if (!FS.isLink(node.mode)) { - throw new FS.ErrnoError(28); - } - return node.link; - }, - }, - stream_ops:{ - read(stream, buffer, offset, length, position) { - var contents = stream.node.contents; - if (position >= stream.node.usedBytes) return 0; - var size = Math.min(stream.node.usedBytes - position, length); - assert(size >= 0); - if (size > 8 && contents.subarray) { // non-trivial, and typed array - buffer.set(contents.subarray(position, position + size), offset); - } else { - for (var i = 0; i < size; i++) buffer[offset + i] = contents[position + i]; - } - return size; - }, - write(stream, buffer, offset, length, position, canOwn) { - // The data buffer should be a typed array view - assert(!(buffer instanceof ArrayBuffer)); - - if (!length) return 0; - var node = stream.node; - node.mtime = node.ctime = Date.now(); - - if (buffer.subarray && (!node.contents || node.contents.subarray)) { // This write is from a typed array to a typed array? - if (canOwn) { - assert(position === 0, 'canOwn must imply no weird position inside the file'); - node.contents = buffer.subarray(offset, offset + length); - node.usedBytes = length; - return length; - } else if (node.usedBytes === 0 && position === 0) { // If this is a simple first write to an empty file, do a fast set since we don't need to care about old data. - node.contents = buffer.slice(offset, offset + length); - node.usedBytes = length; - return length; - } else if (position + length <= node.usedBytes) { // Writing to an already allocated and used subrange of the file? - node.contents.set(buffer.subarray(offset, offset + length), position); - return length; - } - } - - // Appending to an existing file and we need to reallocate, or source data did not come as a typed array. - MEMFS.expandFileStorage(node, position+length); - if (node.contents.subarray && buffer.subarray) { - // Use typed array write which is available. - node.contents.set(buffer.subarray(offset, offset + length), position); - } else { - for (var i = 0; i < length; i++) { - node.contents[position + i] = buffer[offset + i]; // Or fall back to manual write if not. - } - } - node.usedBytes = Math.max(node.usedBytes, position + length); - return length; - }, - llseek(stream, offset, whence) { - var position = offset; - if (whence === 1) { - position += stream.position; - } else if (whence === 2) { - if (FS.isFile(stream.node.mode)) { - position += stream.node.usedBytes; - } - } - if (position < 0) { - throw new FS.ErrnoError(28); - } - return position; - }, - mmap(stream, length, position, prot, flags) { - if (!FS.isFile(stream.node.mode)) { - throw new FS.ErrnoError(43); - } - var ptr; - var allocated; - var contents = stream.node.contents; - // Only make a new copy when MAP_PRIVATE is specified. - if (!(flags & 2) && contents && contents.buffer === HEAP8.buffer) { - // We can't emulate MAP_SHARED when the file is not backed by the - // buffer we're mapping to (e.g. the HEAP buffer). - allocated = false; - ptr = contents.byteOffset; - } else { - allocated = true; - ptr = mmapAlloc(length); - if (!ptr) { - throw new FS.ErrnoError(48); - } - if (contents) { - // Try to avoid unnecessary slices. - if (position > 0 || position + length < contents.length) { - if (contents.subarray) { - contents = contents.subarray(position, position + length); - } else { - contents = Array.prototype.slice.call(contents, position, position + length); - } - } - HEAP8.set(contents, ptr); - } - } - return { ptr, allocated }; - }, - msync(stream, buffer, offset, length, mmapFlags) { - MEMFS.stream_ops.write(stream, buffer, 0, length, offset, false); - // should we check if bytesWritten and length are the same? - return 0; - }, - }, - }; - - var asyncLoad = async (url) => { - var arrayBuffer = await readAsync(url); - assert(arrayBuffer, `Loading data file "${url}" failed (no arrayBuffer).`); - return new Uint8Array(arrayBuffer); - }; - - - var FS_createDataFile = (parent, name, fileData, canRead, canWrite, canOwn) => { - FS.createDataFile(parent, name, fileData, canRead, canWrite, canOwn); - }; - - var preloadPlugins = Module['preloadPlugins'] || []; - var FS_handledByPreloadPlugin = (byteArray, fullname, finish, onerror) => { - // Ensure plugins are ready. - if (typeof Browser != 'undefined') Browser.init(); - - var handled = false; - preloadPlugins.forEach((plugin) => { - if (handled) return; - if (plugin['canHandle'](fullname)) { - plugin['handle'](byteArray, fullname, finish, onerror); - handled = true; - } - }); - return handled; - }; - var FS_createPreloadedFile = (parent, name, url, canRead, canWrite, onload, onerror, dontCreateFile, canOwn, preFinish) => { - // TODO we should allow people to just pass in a complete filename instead - // of parent and name being that we just join them anyways - var fullname = name ? PATH_FS.resolve(PATH.join2(parent, name)) : parent; - var dep = getUniqueRunDependency(`cp ${fullname}`); // might have several active requests for the same fullname - function processData(byteArray) { - function finish(byteArray) { - preFinish?.(); - if (!dontCreateFile) { - FS_createDataFile(parent, name, byteArray, canRead, canWrite, canOwn); - } - onload?.(); - removeRunDependency(dep); - } - if (FS_handledByPreloadPlugin(byteArray, fullname, finish, () => { - onerror?.(); - removeRunDependency(dep); - })) { - return; - } - finish(byteArray); - } - addRunDependency(dep); - if (typeof url == 'string') { - asyncLoad(url).then(processData, onerror); - } else { - processData(url); - } - }; - - var FS_modeStringToFlags = (str) => { - var flagModes = { - 'r': 0, - 'r+': 2, - 'w': 512 | 64 | 1, - 'w+': 512 | 64 | 2, - 'a': 1024 | 64 | 1, - 'a+': 1024 | 64 | 2, - }; - var flags = flagModes[str]; - if (typeof flags == 'undefined') { - throw new Error(`Unknown file open mode: ${str}`); - } - return flags; - }; - - var FS_getMode = (canRead, canWrite) => { - var mode = 0; - if (canRead) mode |= 292 | 73; - if (canWrite) mode |= 146; - return mode; - }; - - - - - - - /** - * Given a pointer 'ptr' to a null-terminated UTF8-encoded string in the - * emscripten HEAP, returns a copy of that string as a Javascript String object. - * - * @param {number} ptr - * @param {number=} maxBytesToRead - An optional length that specifies the - * maximum number of bytes to read. You can omit this parameter to scan the - * string until the first 0 byte. If maxBytesToRead is passed, and the string - * at [ptr, ptr+maxBytesToReadr[ contains a null byte in the middle, then the - * string will cut short at that byte index (i.e. maxBytesToRead will not - * produce a string of exact length [ptr, ptr+maxBytesToRead[) N.B. mixing - * frequent uses of UTF8ToString() with and without maxBytesToRead may throw - * JS JIT optimizations off, so it is worth to consider consistently using one - * @return {string} - */ - var UTF8ToString = (ptr, maxBytesToRead) => { - assert(typeof ptr == 'number', `UTF8ToString expects a number (got ${typeof ptr})`); - return ptr ? UTF8ArrayToString(HEAPU8, ptr, maxBytesToRead) : ''; - }; - - var strError = (errno) => UTF8ToString(_strerror(errno)); - - var ERRNO_CODES = { - 'EPERM': 63, - 'ENOENT': 44, - 'ESRCH': 71, - 'EINTR': 27, - 'EIO': 29, - 'ENXIO': 60, - 'E2BIG': 1, - 'ENOEXEC': 45, - 'EBADF': 8, - 'ECHILD': 12, - 'EAGAIN': 6, - 'EWOULDBLOCK': 6, - 'ENOMEM': 48, - 'EACCES': 2, - 'EFAULT': 21, - 'ENOTBLK': 105, - 'EBUSY': 10, - 'EEXIST': 20, - 'EXDEV': 75, - 'ENODEV': 43, - 'ENOTDIR': 54, - 'EISDIR': 31, - 'EINVAL': 28, - 'ENFILE': 41, - 'EMFILE': 33, - 'ENOTTY': 59, - 'ETXTBSY': 74, - 'EFBIG': 22, - 'ENOSPC': 51, - 'ESPIPE': 70, - 'EROFS': 69, - 'EMLINK': 34, - 'EPIPE': 64, - 'EDOM': 18, - 'ERANGE': 68, - 'ENOMSG': 49, - 'EIDRM': 24, - 'ECHRNG': 106, - 'EL2NSYNC': 156, - 'EL3HLT': 107, - 'EL3RST': 108, - 'ELNRNG': 109, - 'EUNATCH': 110, - 'ENOCSI': 111, - 'EL2HLT': 112, - 'EDEADLK': 16, - 'ENOLCK': 46, - 'EBADE': 113, - 'EBADR': 114, - 'EXFULL': 115, - 'ENOANO': 104, - 'EBADRQC': 103, - 'EBADSLT': 102, - 'EDEADLOCK': 16, - 'EBFONT': 101, - 'ENOSTR': 100, - 'ENODATA': 116, - 'ETIME': 117, - 'ENOSR': 118, - 'ENONET': 119, - 'ENOPKG': 120, - 'EREMOTE': 121, - 'ENOLINK': 47, - 'EADV': 122, - 'ESRMNT': 123, - 'ECOMM': 124, - 'EPROTO': 65, - 'EMULTIHOP': 36, - 'EDOTDOT': 125, - 'EBADMSG': 9, - 'ENOTUNIQ': 126, - 'EBADFD': 127, - 'EREMCHG': 128, - 'ELIBACC': 129, - 'ELIBBAD': 130, - 'ELIBSCN': 131, - 'ELIBMAX': 132, - 'ELIBEXEC': 133, - 'ENOSYS': 52, - 'ENOTEMPTY': 55, - 'ENAMETOOLONG': 37, - 'ELOOP': 32, - 'EOPNOTSUPP': 138, - 'EPFNOSUPPORT': 139, - 'ECONNRESET': 15, - 'ENOBUFS': 42, - 'EAFNOSUPPORT': 5, - 'EPROTOTYPE': 67, - 'ENOTSOCK': 57, - 'ENOPROTOOPT': 50, - 'ESHUTDOWN': 140, - 'ECONNREFUSED': 14, - 'EADDRINUSE': 3, - 'ECONNABORTED': 13, - 'ENETUNREACH': 40, - 'ENETDOWN': 38, - 'ETIMEDOUT': 73, - 'EHOSTDOWN': 142, - 'EHOSTUNREACH': 23, - 'EINPROGRESS': 26, - 'EALREADY': 7, - 'EDESTADDRREQ': 17, - 'EMSGSIZE': 35, - 'EPROTONOSUPPORT': 66, - 'ESOCKTNOSUPPORT': 137, - 'EADDRNOTAVAIL': 4, - 'ENETRESET': 39, - 'EISCONN': 30, - 'ENOTCONN': 53, - 'ETOOMANYREFS': 141, - 'EUSERS': 136, - 'EDQUOT': 19, - 'ESTALE': 72, - 'ENOTSUP': 138, - 'ENOMEDIUM': 148, - 'EILSEQ': 25, - 'EOVERFLOW': 61, - 'ECANCELED': 11, - 'ENOTRECOVERABLE': 56, - 'EOWNERDEAD': 62, - 'ESTRPIPE': 135, - }; - var FS = { - root:null, - mounts:[], - devices:{ - }, - streams:[], - nextInode:1, - nameTable:null, - currentPath:"/", - initialized:false, - ignorePermissions:true, - filesystems:null, - syncFSRequests:0, - readFiles:{ - }, - ErrnoError:class extends Error { - name = 'ErrnoError'; - // We set the `name` property to be able to identify `FS.ErrnoError` - // - the `name` is a standard ECMA-262 property of error objects. Kind of good to have it anyway. - // - when using PROXYFS, an error can come from an underlying FS - // as different FS objects have their own FS.ErrnoError each, - // the test `err instanceof FS.ErrnoError` won't detect an error coming from another filesystem, causing bugs. - // we'll use the reliable test `err.name == "ErrnoError"` instead - constructor(errno) { - super(runtimeInitialized ? strError(errno) : ''); - this.errno = errno; - for (var key in ERRNO_CODES) { - if (ERRNO_CODES[key] === errno) { - this.code = key; - break; - } - } - } - }, - FSStream:class { - shared = {}; - get object() { - return this.node; - } - set object(val) { - this.node = val; - } - get isRead() { - return (this.flags & 2097155) !== 1; - } - get isWrite() { - return (this.flags & 2097155) !== 0; - } - get isAppend() { - return (this.flags & 1024); - } - get flags() { - return this.shared.flags; - } - set flags(val) { - this.shared.flags = val; - } - get position() { - return this.shared.position; - } - set position(val) { - this.shared.position = val; - } - }, - FSNode:class { - node_ops = {}; - stream_ops = {}; - readMode = 292 | 73; - writeMode = 146; - mounted = null; - constructor(parent, name, mode, rdev) { - if (!parent) { - parent = this; // root node sets parent to itself - } - this.parent = parent; - this.mount = parent.mount; - this.id = FS.nextInode++; - this.name = name; - this.mode = mode; - this.rdev = rdev; - this.atime = this.mtime = this.ctime = Date.now(); - } - get read() { - return (this.mode & this.readMode) === this.readMode; - } - set read(val) { - val ? this.mode |= this.readMode : this.mode &= ~this.readMode; - } - get write() { - return (this.mode & this.writeMode) === this.writeMode; - } - set write(val) { - val ? this.mode |= this.writeMode : this.mode &= ~this.writeMode; - } - get isFolder() { - return FS.isDir(this.mode); - } - get isDevice() { - return FS.isChrdev(this.mode); - } - }, - lookupPath(path, opts = {}) { - if (!path) { - throw new FS.ErrnoError(44); - } - opts.follow_mount ??= true - - if (!PATH.isAbs(path)) { - path = FS.cwd() + '/' + path; - } - - // limit max consecutive symlinks to 40 (SYMLOOP_MAX). - linkloop: for (var nlinks = 0; nlinks < 40; nlinks++) { - // split the absolute path - var parts = path.split('/').filter((p) => !!p); - - // start at the root - var current = FS.root; - var current_path = '/'; - - for (var i = 0; i < parts.length; i++) { - var islast = (i === parts.length-1); - if (islast && opts.parent) { - // stop resolving - break; - } - - if (parts[i] === '.') { - continue; - } - - if (parts[i] === '..') { - current_path = PATH.dirname(current_path); - current = current.parent; - continue; - } - - current_path = PATH.join2(current_path, parts[i]); - try { - current = FS.lookupNode(current, parts[i]); - } catch (e) { - // if noent_okay is true, suppress a ENOENT in the last component - // and return an object with an undefined node. This is needed for - // resolving symlinks in the path when creating a file. - if ((e?.errno === 44) && islast && opts.noent_okay) { - return { path: current_path }; - } - throw e; - } - - // jump to the mount's root node if this is a mountpoint - if (FS.isMountpoint(current) && (!islast || opts.follow_mount)) { - current = current.mounted.root; - } - - // by default, lookupPath will not follow a symlink if it is the final path component. - // setting opts.follow = true will override this behavior. - if (FS.isLink(current.mode) && (!islast || opts.follow)) { - if (!current.node_ops.readlink) { - throw new FS.ErrnoError(52); - } - var link = current.node_ops.readlink(current); - if (!PATH.isAbs(link)) { - link = PATH.dirname(current_path) + '/' + link; - } - path = link + '/' + parts.slice(i + 1).join('/'); - continue linkloop; - } - } - return { path: current_path, node: current }; - } - throw new FS.ErrnoError(32); - }, - getPath(node) { - var path; - while (true) { - if (FS.isRoot(node)) { - var mount = node.mount.mountpoint; - if (!path) return mount; - return mount[mount.length-1] !== '/' ? `${mount}/${path}` : mount + path; - } - path = path ? `${node.name}/${path}` : node.name; - node = node.parent; - } - }, - hashName(parentid, name) { - var hash = 0; - - for (var i = 0; i < name.length; i++) { - hash = ((hash << 5) - hash + name.charCodeAt(i)) | 0; - } - return ((parentid + hash) >>> 0) % FS.nameTable.length; - }, - hashAddNode(node) { - var hash = FS.hashName(node.parent.id, node.name); - node.name_next = FS.nameTable[hash]; - FS.nameTable[hash] = node; - }, - hashRemoveNode(node) { - var hash = FS.hashName(node.parent.id, node.name); - if (FS.nameTable[hash] === node) { - FS.nameTable[hash] = node.name_next; - } else { - var current = FS.nameTable[hash]; - while (current) { - if (current.name_next === node) { - current.name_next = node.name_next; - break; - } - current = current.name_next; - } - } - }, - lookupNode(parent, name) { - var errCode = FS.mayLookup(parent); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - var hash = FS.hashName(parent.id, name); - for (var node = FS.nameTable[hash]; node; node = node.name_next) { - var nodeName = node.name; - if (node.parent.id === parent.id && nodeName === name) { - return node; - } - } - // if we failed to find it in the cache, call into the VFS - return FS.lookup(parent, name); - }, - createNode(parent, name, mode, rdev) { - assert(typeof parent == 'object') - var node = new FS.FSNode(parent, name, mode, rdev); - - FS.hashAddNode(node); - - return node; - }, - destroyNode(node) { - FS.hashRemoveNode(node); - }, - isRoot(node) { - return node === node.parent; - }, - isMountpoint(node) { - return !!node.mounted; - }, - isFile(mode) { - return (mode & 61440) === 32768; - }, - isDir(mode) { - return (mode & 61440) === 16384; - }, - isLink(mode) { - return (mode & 61440) === 40960; - }, - isChrdev(mode) { - return (mode & 61440) === 8192; - }, - isBlkdev(mode) { - return (mode & 61440) === 24576; - }, - isFIFO(mode) { - return (mode & 61440) === 4096; - }, - isSocket(mode) { - return (mode & 49152) === 49152; - }, - flagsToPermissionString(flag) { - var perms = ['r', 'w', 'rw'][flag & 3]; - if ((flag & 512)) { - perms += 'w'; - } - return perms; - }, - nodePermissions(node, perms) { - if (FS.ignorePermissions) { - return 0; - } - // return 0 if any user, group or owner bits are set. - if (perms.includes('r') && !(node.mode & 292)) { - return 2; - } else if (perms.includes('w') && !(node.mode & 146)) { - return 2; - } else if (perms.includes('x') && !(node.mode & 73)) { - return 2; - } - return 0; - }, - mayLookup(dir) { - if (!FS.isDir(dir.mode)) return 54; - var errCode = FS.nodePermissions(dir, 'x'); - if (errCode) return errCode; - if (!dir.node_ops.lookup) return 2; - return 0; - }, - mayCreate(dir, name) { - if (!FS.isDir(dir.mode)) { - return 54; - } - try { - var node = FS.lookupNode(dir, name); - return 20; - } catch (e) { - } - return FS.nodePermissions(dir, 'wx'); - }, - mayDelete(dir, name, isdir) { - var node; - try { - node = FS.lookupNode(dir, name); - } catch (e) { - return e.errno; - } - var errCode = FS.nodePermissions(dir, 'wx'); - if (errCode) { - return errCode; - } - if (isdir) { - if (!FS.isDir(node.mode)) { - return 54; - } - if (FS.isRoot(node) || FS.getPath(node) === FS.cwd()) { - return 10; - } - } else { - if (FS.isDir(node.mode)) { - return 31; - } - } - return 0; - }, - mayOpen(node, flags) { - if (!node) { - return 44; - } - if (FS.isLink(node.mode)) { - return 32; - } else if (FS.isDir(node.mode)) { - if (FS.flagsToPermissionString(flags) !== 'r' // opening for write - || (flags & (512 | 64))) { // TODO: check for O_SEARCH? (== search for dir only) - return 31; - } - } - return FS.nodePermissions(node, FS.flagsToPermissionString(flags)); - }, - checkOpExists(op, err) { - if (!op) { - throw new FS.ErrnoError(err); - } - return op; - }, - MAX_OPEN_FDS:4096, - nextfd() { - for (var fd = 0; fd <= FS.MAX_OPEN_FDS; fd++) { - if (!FS.streams[fd]) { - return fd; - } - } - throw new FS.ErrnoError(33); - }, - getStreamChecked(fd) { - var stream = FS.getStream(fd); - if (!stream) { - throw new FS.ErrnoError(8); - } - return stream; - }, - getStream:(fd) => FS.streams[fd], - createStream(stream, fd = -1) { - assert(fd >= -1); - - // clone it, so we can return an instance of FSStream - stream = Object.assign(new FS.FSStream(), stream); - if (fd == -1) { - fd = FS.nextfd(); - } - stream.fd = fd; - FS.streams[fd] = stream; - return stream; - }, - closeStream(fd) { - FS.streams[fd] = null; - }, - dupStream(origStream, fd = -1) { - var stream = FS.createStream(origStream, fd); - stream.stream_ops?.dup?.(stream); - return stream; - }, - doSetAttr(stream, node, attr) { - var setattr = stream?.stream_ops.setattr; - var arg = setattr ? stream : node; - setattr ??= node.node_ops.setattr; - FS.checkOpExists(setattr, 63) - setattr(arg, attr); - }, - chrdev_stream_ops:{ - open(stream) { - var device = FS.getDevice(stream.node.rdev); - // override node's stream ops with the device's - stream.stream_ops = device.stream_ops; - // forward the open call - stream.stream_ops.open?.(stream); - }, - llseek() { - throw new FS.ErrnoError(70); - }, - }, - major:(dev) => ((dev) >> 8), - minor:(dev) => ((dev) & 0xff), - makedev:(ma, mi) => ((ma) << 8 | (mi)), - registerDevice(dev, ops) { - FS.devices[dev] = { stream_ops: ops }; - }, - getDevice:(dev) => FS.devices[dev], - getMounts(mount) { - var mounts = []; - var check = [mount]; - - while (check.length) { - var m = check.pop(); - - mounts.push(m); - - check.push(...m.mounts); - } - - return mounts; - }, - syncfs(populate, callback) { - if (typeof populate == 'function') { - callback = populate; - populate = false; - } - - FS.syncFSRequests++; - - if (FS.syncFSRequests > 1) { - err(`warning: ${FS.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`); - } - - var mounts = FS.getMounts(FS.root.mount); - var completed = 0; - - function doCallback(errCode) { - assert(FS.syncFSRequests > 0); - FS.syncFSRequests--; - return callback(errCode); - } - - function done(errCode) { - if (errCode) { - if (!done.errored) { - done.errored = true; - return doCallback(errCode); - } - return; - } - if (++completed >= mounts.length) { - doCallback(null); - } - }; - - // sync all mounts - mounts.forEach((mount) => { - if (!mount.type.syncfs) { - return done(null); - } - mount.type.syncfs(mount, populate, done); - }); - }, - mount(type, opts, mountpoint) { - if (typeof type == 'string') { - // The filesystem was not included, and instead we have an error - // message stored in the variable. - throw type; - } - var root = mountpoint === '/'; - var pseudo = !mountpoint; - var node; - - if (root && FS.root) { - throw new FS.ErrnoError(10); - } else if (!root && !pseudo) { - var lookup = FS.lookupPath(mountpoint, { follow_mount: false }); - - mountpoint = lookup.path; // use the absolute path - node = lookup.node; - - if (FS.isMountpoint(node)) { - throw new FS.ErrnoError(10); - } - - if (!FS.isDir(node.mode)) { - throw new FS.ErrnoError(54); - } - } - - var mount = { - type, - opts, - mountpoint, - mounts: [] - }; - - // create a root node for the fs - var mountRoot = type.mount(mount); - mountRoot.mount = mount; - mount.root = mountRoot; - - if (root) { - FS.root = mountRoot; - } else if (node) { - // set as a mountpoint - node.mounted = mount; - - // add the new mount to the current mount's children - if (node.mount) { - node.mount.mounts.push(mount); - } - } - - return mountRoot; - }, - unmount(mountpoint) { - var lookup = FS.lookupPath(mountpoint, { follow_mount: false }); - - if (!FS.isMountpoint(lookup.node)) { - throw new FS.ErrnoError(28); - } - - // destroy the nodes for this mount, and all its child mounts - var node = lookup.node; - var mount = node.mounted; - var mounts = FS.getMounts(mount); - - Object.keys(FS.nameTable).forEach((hash) => { - var current = FS.nameTable[hash]; - - while (current) { - var next = current.name_next; - - if (mounts.includes(current.mount)) { - FS.destroyNode(current); - } - - current = next; - } - }); - - // no longer a mountpoint - node.mounted = null; - - // remove this mount from the child mounts - var idx = node.mount.mounts.indexOf(mount); - assert(idx !== -1); - node.mount.mounts.splice(idx, 1); - }, - lookup(parent, name) { - return parent.node_ops.lookup(parent, name); - }, - mknod(path, mode, dev) { - var lookup = FS.lookupPath(path, { parent: true }); - var parent = lookup.node; - var name = PATH.basename(path); - if (!name) { - throw new FS.ErrnoError(28); - } - if (name === '.' || name === '..') { - throw new FS.ErrnoError(20); - } - var errCode = FS.mayCreate(parent, name); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - if (!parent.node_ops.mknod) { - throw new FS.ErrnoError(63); - } - return parent.node_ops.mknod(parent, name, mode, dev); - }, - statfs(path) { - return FS.statfsNode(FS.lookupPath(path, {follow: true}).node); - }, - statfsStream(stream) { - // We keep a separate statfsStream function because noderawfs overrides - // it. In noderawfs, stream.node is sometimes null. Instead, we need to - // look at stream.path. - return FS.statfsNode(stream.node); - }, - statfsNode(node) { - // NOTE: None of the defaults here are true. We're just returning safe and - // sane values. Currently nodefs and rawfs replace these defaults, - // other file systems leave them alone. - var rtn = { - bsize: 4096, - frsize: 4096, - blocks: 1e6, - bfree: 5e5, - bavail: 5e5, - files: FS.nextInode, - ffree: FS.nextInode - 1, - fsid: 42, - flags: 2, - namelen: 255, - }; - - if (node.node_ops.statfs) { - Object.assign(rtn, node.node_ops.statfs(node.mount.opts.root)); - } - return rtn; - }, - create(path, mode = 0o666) { - mode &= 4095; - mode |= 32768; - return FS.mknod(path, mode, 0); - }, - mkdir(path, mode = 0o777) { - mode &= 511 | 512; - mode |= 16384; - return FS.mknod(path, mode, 0); - }, - mkdirTree(path, mode) { - var dirs = path.split('/'); - var d = ''; - for (var dir of dirs) { - if (!dir) continue; - if (d || PATH.isAbs(path)) d += '/'; - d += dir; - try { - FS.mkdir(d, mode); - } catch(e) { - if (e.errno != 20) throw e; - } - } - }, - mkdev(path, mode, dev) { - if (typeof dev == 'undefined') { - dev = mode; - mode = 0o666; - } - mode |= 8192; - return FS.mknod(path, mode, dev); - }, - symlink(oldpath, newpath) { - if (!PATH_FS.resolve(oldpath)) { - throw new FS.ErrnoError(44); - } - var lookup = FS.lookupPath(newpath, { parent: true }); - var parent = lookup.node; - if (!parent) { - throw new FS.ErrnoError(44); - } - var newname = PATH.basename(newpath); - var errCode = FS.mayCreate(parent, newname); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - if (!parent.node_ops.symlink) { - throw new FS.ErrnoError(63); - } - return parent.node_ops.symlink(parent, newname, oldpath); - }, - rename(old_path, new_path) { - var old_dirname = PATH.dirname(old_path); - var new_dirname = PATH.dirname(new_path); - var old_name = PATH.basename(old_path); - var new_name = PATH.basename(new_path); - // parents must exist - var lookup, old_dir, new_dir; - - // let the errors from non existent directories percolate up - lookup = FS.lookupPath(old_path, { parent: true }); - old_dir = lookup.node; - lookup = FS.lookupPath(new_path, { parent: true }); - new_dir = lookup.node; - - if (!old_dir || !new_dir) throw new FS.ErrnoError(44); - // need to be part of the same mount - if (old_dir.mount !== new_dir.mount) { - throw new FS.ErrnoError(75); - } - // source must exist - var old_node = FS.lookupNode(old_dir, old_name); - // old path should not be an ancestor of the new path - var relative = PATH_FS.relative(old_path, new_dirname); - if (relative.charAt(0) !== '.') { - throw new FS.ErrnoError(28); - } - // new path should not be an ancestor of the old path - relative = PATH_FS.relative(new_path, old_dirname); - if (relative.charAt(0) !== '.') { - throw new FS.ErrnoError(55); - } - // see if the new path already exists - var new_node; - try { - new_node = FS.lookupNode(new_dir, new_name); - } catch (e) { - // not fatal - } - // early out if nothing needs to change - if (old_node === new_node) { - return; - } - // we'll need to delete the old entry - var isdir = FS.isDir(old_node.mode); - var errCode = FS.mayDelete(old_dir, old_name, isdir); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - // need delete permissions if we'll be overwriting. - // need create permissions if new doesn't already exist. - errCode = new_node ? - FS.mayDelete(new_dir, new_name, isdir) : - FS.mayCreate(new_dir, new_name); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - if (!old_dir.node_ops.rename) { - throw new FS.ErrnoError(63); - } - if (FS.isMountpoint(old_node) || (new_node && FS.isMountpoint(new_node))) { - throw new FS.ErrnoError(10); - } - // if we are going to change the parent, check write permissions - if (new_dir !== old_dir) { - errCode = FS.nodePermissions(old_dir, 'w'); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - } - // remove the node from the lookup hash - FS.hashRemoveNode(old_node); - // do the underlying fs rename - try { - old_dir.node_ops.rename(old_node, new_dir, new_name); - // update old node (we do this here to avoid each backend - // needing to) - old_node.parent = new_dir; - } catch (e) { - throw e; - } finally { - // add the node back to the hash (in case node_ops.rename - // changed its name) - FS.hashAddNode(old_node); - } - }, - rmdir(path) { - var lookup = FS.lookupPath(path, { parent: true }); - var parent = lookup.node; - var name = PATH.basename(path); - var node = FS.lookupNode(parent, name); - var errCode = FS.mayDelete(parent, name, true); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - if (!parent.node_ops.rmdir) { - throw new FS.ErrnoError(63); - } - if (FS.isMountpoint(node)) { - throw new FS.ErrnoError(10); - } - parent.node_ops.rmdir(parent, name); - FS.destroyNode(node); - }, - readdir(path) { - var lookup = FS.lookupPath(path, { follow: true }); - var node = lookup.node; - var readdir = FS.checkOpExists(node.node_ops.readdir, 54); - return readdir(node); - }, - unlink(path) { - var lookup = FS.lookupPath(path, { parent: true }); - var parent = lookup.node; - if (!parent) { - throw new FS.ErrnoError(44); - } - var name = PATH.basename(path); - var node = FS.lookupNode(parent, name); - var errCode = FS.mayDelete(parent, name, false); - if (errCode) { - // According to POSIX, we should map EISDIR to EPERM, but - // we instead do what Linux does (and we must, as we use - // the musl linux libc). - throw new FS.ErrnoError(errCode); - } - if (!parent.node_ops.unlink) { - throw new FS.ErrnoError(63); - } - if (FS.isMountpoint(node)) { - throw new FS.ErrnoError(10); - } - parent.node_ops.unlink(parent, name); - FS.destroyNode(node); - }, - readlink(path) { - var lookup = FS.lookupPath(path); - var link = lookup.node; - if (!link) { - throw new FS.ErrnoError(44); - } - if (!link.node_ops.readlink) { - throw new FS.ErrnoError(28); - } - return link.node_ops.readlink(link); - }, - stat(path, dontFollow) { - var lookup = FS.lookupPath(path, { follow: !dontFollow }); - var node = lookup.node; - var getattr = FS.checkOpExists(node.node_ops.getattr, 63); - return getattr(node); - }, - fstat(fd) { - var stream = FS.getStreamChecked(fd); - var node = stream.node; - var getattr = stream.stream_ops.getattr; - var arg = getattr ? stream : node; - getattr ??= node.node_ops.getattr; - FS.checkOpExists(getattr, 63) - return getattr(arg); - }, - lstat(path) { - return FS.stat(path, true); - }, - doChmod(stream, node, mode, dontFollow) { - FS.doSetAttr(stream, node, { - mode: (mode & 4095) | (node.mode & ~4095), - ctime: Date.now(), - dontFollow - }); - }, - chmod(path, mode, dontFollow) { - var node; - if (typeof path == 'string') { - var lookup = FS.lookupPath(path, { follow: !dontFollow }); - node = lookup.node; - } else { - node = path; - } - FS.doChmod(null, node, mode, dontFollow); - }, - lchmod(path, mode) { - FS.chmod(path, mode, true); - }, - fchmod(fd, mode) { - var stream = FS.getStreamChecked(fd); - FS.doChmod(stream, stream.node, mode, false); - }, - doChown(stream, node, dontFollow) { - FS.doSetAttr(stream, node, { - timestamp: Date.now(), - dontFollow - // we ignore the uid / gid for now - }); - }, - chown(path, uid, gid, dontFollow) { - var node; - if (typeof path == 'string') { - var lookup = FS.lookupPath(path, { follow: !dontFollow }); - node = lookup.node; - } else { - node = path; - } - FS.doChown(null, node, dontFollow); - }, - lchown(path, uid, gid) { - FS.chown(path, uid, gid, true); - }, - fchown(fd, uid, gid) { - var stream = FS.getStreamChecked(fd); - FS.doChown(stream, stream.node, false); - }, - doTruncate(stream, node, len) { - if (FS.isDir(node.mode)) { - throw new FS.ErrnoError(31); - } - if (!FS.isFile(node.mode)) { - throw new FS.ErrnoError(28); - } - var errCode = FS.nodePermissions(node, 'w'); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - FS.doSetAttr(stream, node, { - size: len, - timestamp: Date.now() - }); - }, - truncate(path, len) { - if (len < 0) { - throw new FS.ErrnoError(28); - } - var node; - if (typeof path == 'string') { - var lookup = FS.lookupPath(path, { follow: true }); - node = lookup.node; - } else { - node = path; - } - FS.doTruncate(null, node, len); - }, - ftruncate(fd, len) { - var stream = FS.getStreamChecked(fd); - if (len < 0 || (stream.flags & 2097155) === 0) { - throw new FS.ErrnoError(28); - } - FS.doTruncate(stream, stream.node, len); - }, - utime(path, atime, mtime) { - var lookup = FS.lookupPath(path, { follow: true }); - var node = lookup.node; - var setattr = FS.checkOpExists(node.node_ops.setattr, 63); - setattr(node, { - atime: atime, - mtime: mtime - }); - }, - open(path, flags, mode = 0o666) { - if (path === "") { - throw new FS.ErrnoError(44); - } - flags = typeof flags == 'string' ? FS_modeStringToFlags(flags) : flags; - if ((flags & 64)) { - mode = (mode & 4095) | 32768; - } else { - mode = 0; - } - var node; - var isDirPath; - if (typeof path == 'object') { - node = path; - } else { - isDirPath = path.endsWith("/"); - // noent_okay makes it so that if the final component of the path - // doesn't exist, lookupPath returns `node: undefined`. `path` will be - // updated to point to the target of all symlinks. - var lookup = FS.lookupPath(path, { - follow: !(flags & 131072), - noent_okay: true - }); - node = lookup.node; - path = lookup.path; - } - // perhaps we need to create the node - var created = false; - if ((flags & 64)) { - if (node) { - // if O_CREAT and O_EXCL are set, error out if the node already exists - if ((flags & 128)) { - throw new FS.ErrnoError(20); - } - } else if (isDirPath) { - throw new FS.ErrnoError(31); - } else { - // node doesn't exist, try to create it - // Ignore the permission bits here to ensure we can `open` this new - // file below. We use chmod below the apply the permissions once the - // file is open. - node = FS.mknod(path, mode | 0o777, 0); - created = true; - } - } - if (!node) { - throw new FS.ErrnoError(44); - } - // can't truncate a device - if (FS.isChrdev(node.mode)) { - flags &= ~512; - } - // if asked only for a directory, then this must be one - if ((flags & 65536) && !FS.isDir(node.mode)) { - throw new FS.ErrnoError(54); - } - // check permissions, if this is not a file we just created now (it is ok to - // create and write to a file with read-only permissions; it is read-only - // for later use) - if (!created) { - var errCode = FS.mayOpen(node, flags); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - } - // do truncation if necessary - if ((flags & 512) && !created) { - FS.truncate(node, 0); - } - // we've already handled these, don't pass down to the underlying vfs - flags &= ~(128 | 512 | 131072); - - // register the stream with the filesystem - var stream = FS.createStream({ - node, - path: FS.getPath(node), // we want the absolute path to the node - flags, - seekable: true, - position: 0, - stream_ops: node.stream_ops, - // used by the file family libc calls (fopen, fwrite, ferror, etc.) - ungotten: [], - error: false - }); - // call the new stream's open function - if (stream.stream_ops.open) { - stream.stream_ops.open(stream); - } - if (created) { - FS.chmod(node, mode & 0o777); - } - if (Module['logReadFiles'] && !(flags & 1)) { - if (!(path in FS.readFiles)) { - FS.readFiles[path] = 1; - } - } - return stream; - }, - close(stream) { - if (FS.isClosed(stream)) { - throw new FS.ErrnoError(8); - } - if (stream.getdents) stream.getdents = null; // free readdir state - try { - if (stream.stream_ops.close) { - stream.stream_ops.close(stream); - } - } catch (e) { - throw e; - } finally { - FS.closeStream(stream.fd); - } - stream.fd = null; - }, - isClosed(stream) { - return stream.fd === null; - }, - llseek(stream, offset, whence) { - if (FS.isClosed(stream)) { - throw new FS.ErrnoError(8); - } - if (!stream.seekable || !stream.stream_ops.llseek) { - throw new FS.ErrnoError(70); - } - if (whence != 0 && whence != 1 && whence != 2) { - throw new FS.ErrnoError(28); - } - stream.position = stream.stream_ops.llseek(stream, offset, whence); - stream.ungotten = []; - return stream.position; - }, - read(stream, buffer, offset, length, position) { - assert(offset >= 0); - if (length < 0 || position < 0) { - throw new FS.ErrnoError(28); - } - if (FS.isClosed(stream)) { - throw new FS.ErrnoError(8); - } - if ((stream.flags & 2097155) === 1) { - throw new FS.ErrnoError(8); - } - if (FS.isDir(stream.node.mode)) { - throw new FS.ErrnoError(31); - } - if (!stream.stream_ops.read) { - throw new FS.ErrnoError(28); - } - var seeking = typeof position != 'undefined'; - if (!seeking) { - position = stream.position; - } else if (!stream.seekable) { - throw new FS.ErrnoError(70); - } - var bytesRead = stream.stream_ops.read(stream, buffer, offset, length, position); - if (!seeking) stream.position += bytesRead; - return bytesRead; - }, - write(stream, buffer, offset, length, position, canOwn) { - assert(offset >= 0); - if (length < 0 || position < 0) { - throw new FS.ErrnoError(28); - } - if (FS.isClosed(stream)) { - throw new FS.ErrnoError(8); - } - if ((stream.flags & 2097155) === 0) { - throw new FS.ErrnoError(8); - } - if (FS.isDir(stream.node.mode)) { - throw new FS.ErrnoError(31); - } - if (!stream.stream_ops.write) { - throw new FS.ErrnoError(28); - } - if (stream.seekable && stream.flags & 1024) { - // seek to the end before writing in append mode - FS.llseek(stream, 0, 2); - } - var seeking = typeof position != 'undefined'; - if (!seeking) { - position = stream.position; - } else if (!stream.seekable) { - throw new FS.ErrnoError(70); - } - var bytesWritten = stream.stream_ops.write(stream, buffer, offset, length, position, canOwn); - if (!seeking) stream.position += bytesWritten; - return bytesWritten; - }, - mmap(stream, length, position, prot, flags) { - // User requests writing to file (prot & PROT_WRITE != 0). - // Checking if we have permissions to write to the file unless - // MAP_PRIVATE flag is set. According to POSIX spec it is possible - // to write to file opened in read-only mode with MAP_PRIVATE flag, - // as all modifications will be visible only in the memory of - // the current process. - if ((prot & 2) !== 0 - && (flags & 2) === 0 - && (stream.flags & 2097155) !== 2) { - throw new FS.ErrnoError(2); - } - if ((stream.flags & 2097155) === 1) { - throw new FS.ErrnoError(2); - } - if (!stream.stream_ops.mmap) { - throw new FS.ErrnoError(43); - } - if (!length) { - throw new FS.ErrnoError(28); - } - return stream.stream_ops.mmap(stream, length, position, prot, flags); - }, - msync(stream, buffer, offset, length, mmapFlags) { - assert(offset >= 0); - if (!stream.stream_ops.msync) { - return 0; - } - return stream.stream_ops.msync(stream, buffer, offset, length, mmapFlags); - }, - ioctl(stream, cmd, arg) { - if (!stream.stream_ops.ioctl) { - throw new FS.ErrnoError(59); - } - return stream.stream_ops.ioctl(stream, cmd, arg); - }, - readFile(path, opts = {}) { - opts.flags = opts.flags || 0; - opts.encoding = opts.encoding || 'binary'; - if (opts.encoding !== 'utf8' && opts.encoding !== 'binary') { - throw new Error(`Invalid encoding type "${opts.encoding}"`); - } - var ret; - var stream = FS.open(path, opts.flags); - var stat = FS.stat(path); - var length = stat.size; - var buf = new Uint8Array(length); - FS.read(stream, buf, 0, length, 0); - if (opts.encoding === 'utf8') { - ret = UTF8ArrayToString(buf); - } else if (opts.encoding === 'binary') { - ret = buf; - } - FS.close(stream); - return ret; - }, - writeFile(path, data, opts = {}) { - opts.flags = opts.flags || 577; - var stream = FS.open(path, opts.flags, opts.mode); - if (typeof data == 'string') { - var buf = new Uint8Array(lengthBytesUTF8(data)+1); - var actualNumBytes = stringToUTF8Array(data, buf, 0, buf.length); - FS.write(stream, buf, 0, actualNumBytes, undefined, opts.canOwn); - } else if (ArrayBuffer.isView(data)) { - FS.write(stream, data, 0, data.byteLength, undefined, opts.canOwn); - } else { - throw new Error('Unsupported data type'); - } - FS.close(stream); - }, - cwd:() => FS.currentPath, - chdir(path) { - var lookup = FS.lookupPath(path, { follow: true }); - if (lookup.node === null) { - throw new FS.ErrnoError(44); - } - if (!FS.isDir(lookup.node.mode)) { - throw new FS.ErrnoError(54); - } - var errCode = FS.nodePermissions(lookup.node, 'x'); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - FS.currentPath = lookup.path; - }, - createDefaultDirectories() { - FS.mkdir('/tmp'); - FS.mkdir('/home'); - FS.mkdir('/home/web_user'); - }, - createDefaultDevices() { - // create /dev - FS.mkdir('/dev'); - // setup /dev/null - FS.registerDevice(FS.makedev(1, 3), { - read: () => 0, - write: (stream, buffer, offset, length, pos) => length, - llseek: () => 0, - }); - FS.mkdev('/dev/null', FS.makedev(1, 3)); - // setup /dev/tty and /dev/tty1 - // stderr needs to print output using err() rather than out() - // so we register a second tty just for it. - TTY.register(FS.makedev(5, 0), TTY.default_tty_ops); - TTY.register(FS.makedev(6, 0), TTY.default_tty1_ops); - FS.mkdev('/dev/tty', FS.makedev(5, 0)); - FS.mkdev('/dev/tty1', FS.makedev(6, 0)); - // setup /dev/[u]random - // use a buffer to avoid overhead of individual crypto calls per byte - var randomBuffer = new Uint8Array(1024), randomLeft = 0; - var randomByte = () => { - if (randomLeft === 0) { - randomFill(randomBuffer); - randomLeft = randomBuffer.byteLength; - } - return randomBuffer[--randomLeft]; - }; - FS.createDevice('/dev', 'random', randomByte); - FS.createDevice('/dev', 'urandom', randomByte); - // we're not going to emulate the actual shm device, - // just create the tmp dirs that reside in it commonly - FS.mkdir('/dev/shm'); - FS.mkdir('/dev/shm/tmp'); - }, - createSpecialDirectories() { - // create /proc/self/fd which allows /proc/self/fd/6 => readlink gives the - // name of the stream for fd 6 (see test_unistd_ttyname) - FS.mkdir('/proc'); - var proc_self = FS.mkdir('/proc/self'); - FS.mkdir('/proc/self/fd'); - FS.mount({ - mount() { - var node = FS.createNode(proc_self, 'fd', 16895, 73); - node.stream_ops = { - llseek: MEMFS.stream_ops.llseek, - }; - node.node_ops = { - lookup(parent, name) { - var fd = +name; - var stream = FS.getStreamChecked(fd); - var ret = { - parent: null, - mount: { mountpoint: 'fake' }, - node_ops: { readlink: () => stream.path }, - id: fd + 1, - }; - ret.parent = ret; // make it look like a simple root node - return ret; - }, - readdir() { - return Array.from(FS.streams.entries()) - .filter(([k, v]) => v) - .map(([k, v]) => k.toString()); - } - }; - return node; - } - }, {}, '/proc/self/fd'); - }, - createStandardStreams(input, output, error) { - // TODO deprecate the old functionality of a single - // input / output callback and that utilizes FS.createDevice - // and instead require a unique set of stream ops - - // by default, we symlink the standard streams to the - // default tty devices. however, if the standard streams - // have been overwritten we create a unique device for - // them instead. - if (input) { - FS.createDevice('/dev', 'stdin', input); - } else { - FS.symlink('/dev/tty', '/dev/stdin'); - } - if (output) { - FS.createDevice('/dev', 'stdout', null, output); - } else { - FS.symlink('/dev/tty', '/dev/stdout'); - } - if (error) { - FS.createDevice('/dev', 'stderr', null, error); - } else { - FS.symlink('/dev/tty1', '/dev/stderr'); - } - - // open default streams for the stdin, stdout and stderr devices - var stdin = FS.open('/dev/stdin', 0); - var stdout = FS.open('/dev/stdout', 1); - var stderr = FS.open('/dev/stderr', 1); - assert(stdin.fd === 0, `invalid handle for stdin (${stdin.fd})`); - assert(stdout.fd === 1, `invalid handle for stdout (${stdout.fd})`); - assert(stderr.fd === 2, `invalid handle for stderr (${stderr.fd})`); - }, - staticInit() { - FS.nameTable = new Array(4096); - - FS.mount(MEMFS, {}, '/'); - - FS.createDefaultDirectories(); - FS.createDefaultDevices(); - FS.createSpecialDirectories(); - - FS.filesystems = { - 'MEMFS': MEMFS, - }; - }, - init(input, output, error) { - assert(!FS.initialized, 'FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)'); - FS.initialized = true; - - // Allow Module.stdin etc. to provide defaults, if none explicitly passed to us here - input ??= Module['stdin']; - output ??= Module['stdout']; - error ??= Module['stderr']; - - FS.createStandardStreams(input, output, error); - }, - quit() { - FS.initialized = false; - // force-flush all streams, so we get musl std streams printed out - _fflush(0); - // close all of our streams - for (var stream of FS.streams) { - if (stream) { - FS.close(stream); - } - } - }, - findObject(path, dontResolveLastLink) { - var ret = FS.analyzePath(path, dontResolveLastLink); - if (!ret.exists) { - return null; - } - return ret.object; - }, - analyzePath(path, dontResolveLastLink) { - // operate from within the context of the symlink's target - try { - var lookup = FS.lookupPath(path, { follow: !dontResolveLastLink }); - path = lookup.path; - } catch (e) { - } - var ret = { - isRoot: false, exists: false, error: 0, name: null, path: null, object: null, - parentExists: false, parentPath: null, parentObject: null - }; - try { - var lookup = FS.lookupPath(path, { parent: true }); - ret.parentExists = true; - ret.parentPath = lookup.path; - ret.parentObject = lookup.node; - ret.name = PATH.basename(path); - lookup = FS.lookupPath(path, { follow: !dontResolveLastLink }); - ret.exists = true; - ret.path = lookup.path; - ret.object = lookup.node; - ret.name = lookup.node.name; - ret.isRoot = lookup.path === '/'; - } catch (e) { - ret.error = e.errno; - }; - return ret; - }, - createPath(parent, path, canRead, canWrite) { - parent = typeof parent == 'string' ? parent : FS.getPath(parent); - var parts = path.split('/').reverse(); - while (parts.length) { - var part = parts.pop(); - if (!part) continue; - var current = PATH.join2(parent, part); - try { - FS.mkdir(current); - } catch (e) { - if (e.errno != 20) throw e; - } - parent = current; - } - return current; - }, - createFile(parent, name, properties, canRead, canWrite) { - var path = PATH.join2(typeof parent == 'string' ? parent : FS.getPath(parent), name); - var mode = FS_getMode(canRead, canWrite); - return FS.create(path, mode); - }, - createDataFile(parent, name, data, canRead, canWrite, canOwn) { - var path = name; - if (parent) { - parent = typeof parent == 'string' ? parent : FS.getPath(parent); - path = name ? PATH.join2(parent, name) : parent; - } - var mode = FS_getMode(canRead, canWrite); - var node = FS.create(path, mode); - if (data) { - if (typeof data == 'string') { - var arr = new Array(data.length); - for (var i = 0, len = data.length; i < len; ++i) arr[i] = data.charCodeAt(i); - data = arr; - } - // make sure we can write to the file - FS.chmod(node, mode | 146); - var stream = FS.open(node, 577); - FS.write(stream, data, 0, data.length, 0, canOwn); - FS.close(stream); - FS.chmod(node, mode); - } - }, - createDevice(parent, name, input, output) { - var path = PATH.join2(typeof parent == 'string' ? parent : FS.getPath(parent), name); - var mode = FS_getMode(!!input, !!output); - FS.createDevice.major ??= 64; - var dev = FS.makedev(FS.createDevice.major++, 0); - // Create a fake device that a set of stream ops to emulate - // the old behavior. - FS.registerDevice(dev, { - open(stream) { - stream.seekable = false; - }, - close(stream) { - // flush any pending line data - if (output?.buffer?.length) { - output(10); - } - }, - read(stream, buffer, offset, length, pos /* ignored */) { - var bytesRead = 0; - for (var i = 0; i < length; i++) { - var result; - try { - result = input(); - } catch (e) { - throw new FS.ErrnoError(29); - } - if (result === undefined && bytesRead === 0) { - throw new FS.ErrnoError(6); - } - if (result === null || result === undefined) break; - bytesRead++; - buffer[offset+i] = result; - } - if (bytesRead) { - stream.node.atime = Date.now(); - } - return bytesRead; - }, - write(stream, buffer, offset, length, pos) { - for (var i = 0; i < length; i++) { - try { - output(buffer[offset+i]); - } catch (e) { - throw new FS.ErrnoError(29); - } - } - if (length) { - stream.node.mtime = stream.node.ctime = Date.now(); - } - return i; - } - }); - return FS.mkdev(path, mode, dev); - }, - forceLoadFile(obj) { - if (obj.isDevice || obj.isFolder || obj.link || obj.contents) return true; - if (typeof XMLHttpRequest != 'undefined') { - throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread."); - } else { // Command-line. - try { - obj.contents = readBinary(obj.url); - obj.usedBytes = obj.contents.length; - } catch (e) { - throw new FS.ErrnoError(29); - } - } - }, - createLazyFile(parent, name, url, canRead, canWrite) { - // Lazy chunked Uint8Array (implements get and length from Uint8Array). - // Actual getting is abstracted away for eventual reuse. - class LazyUint8Array { - lengthKnown = false; - chunks = []; // Loaded chunks. Index is the chunk number - get(idx) { - if (idx > this.length-1 || idx < 0) { - return undefined; - } - var chunkOffset = idx % this.chunkSize; - var chunkNum = (idx / this.chunkSize)|0; - return this.getter(chunkNum)[chunkOffset]; - } - setDataGetter(getter) { - this.getter = getter; - } - cacheLength() { - // Find length - var xhr = new XMLHttpRequest(); - xhr.open('HEAD', url, false); - xhr.send(null); - if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error("Couldn't load " + url + ". Status: " + xhr.status); - var datalength = Number(xhr.getResponseHeader("Content-length")); - var header; - var hasByteServing = (header = xhr.getResponseHeader("Accept-Ranges")) && header === "bytes"; - var usesGzip = (header = xhr.getResponseHeader("Content-Encoding")) && header === "gzip"; - - var chunkSize = 1024*1024; // Chunk size in bytes - - if (!hasByteServing) chunkSize = datalength; - - // Function to get a range from the remote URL. - var doXHR = (from, to) => { - if (from > to) throw new Error("invalid range (" + from + ", " + to + ") or no bytes requested!"); - if (to > datalength-1) throw new Error("only " + datalength + " bytes available! programmer error!"); - - // TODO: Use mozResponseArrayBuffer, responseStream, etc. if available. - var xhr = new XMLHttpRequest(); - xhr.open('GET', url, false); - if (datalength !== chunkSize) xhr.setRequestHeader("Range", "bytes=" + from + "-" + to); - - // Some hints to the browser that we want binary data. - xhr.responseType = 'arraybuffer'; - if (xhr.overrideMimeType) { - xhr.overrideMimeType('text/plain; charset=x-user-defined'); - } - - xhr.send(null); - if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error("Couldn't load " + url + ". Status: " + xhr.status); - if (xhr.response !== undefined) { - return new Uint8Array(/** @type{Array} */(xhr.response || [])); - } - return intArrayFromString(xhr.responseText || '', true); - }; - var lazyArray = this; - lazyArray.setDataGetter((chunkNum) => { - var start = chunkNum * chunkSize; - var end = (chunkNum+1) * chunkSize - 1; // including this byte - end = Math.min(end, datalength-1); // if datalength-1 is selected, this is the last block - if (typeof lazyArray.chunks[chunkNum] == 'undefined') { - lazyArray.chunks[chunkNum] = doXHR(start, end); - } - if (typeof lazyArray.chunks[chunkNum] == 'undefined') throw new Error('doXHR failed!'); - return lazyArray.chunks[chunkNum]; - }); - - if (usesGzip || !datalength) { - // if the server uses gzip or doesn't supply the length, we have to download the whole file to get the (uncompressed) length - chunkSize = datalength = 1; // this will force getter(0)/doXHR do download the whole file - datalength = this.getter(0).length; - chunkSize = datalength; - out("LazyFiles on gzip forces download of the whole file when length is accessed"); - } - - this._length = datalength; - this._chunkSize = chunkSize; - this.lengthKnown = true; - } - get length() { - if (!this.lengthKnown) { - this.cacheLength(); - } - return this._length; - } - get chunkSize() { - if (!this.lengthKnown) { - this.cacheLength(); - } - return this._chunkSize; - } - } - - if (typeof XMLHttpRequest != 'undefined') { - if (!ENVIRONMENT_IS_WORKER) throw 'Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc'; - var lazyArray = new LazyUint8Array(); - var properties = { isDevice: false, contents: lazyArray }; - } else { - var properties = { isDevice: false, url: url }; - } - - var node = FS.createFile(parent, name, properties, canRead, canWrite); - // This is a total hack, but I want to get this lazy file code out of the - // core of MEMFS. If we want to keep this lazy file concept I feel it should - // be its own thin LAZYFS proxying calls to MEMFS. - if (properties.contents) { - node.contents = properties.contents; - } else if (properties.url) { - node.contents = null; - node.url = properties.url; - } - // Add a function that defers querying the file size until it is asked the first time. - Object.defineProperties(node, { - usedBytes: { - get: function() { return this.contents.length; } - } - }); - // override each stream op with one that tries to force load the lazy file first - var stream_ops = {}; - var keys = Object.keys(node.stream_ops); - keys.forEach((key) => { - var fn = node.stream_ops[key]; - stream_ops[key] = (...args) => { - FS.forceLoadFile(node); - return fn(...args); - }; - }); - function writeChunks(stream, buffer, offset, length, position) { - var contents = stream.node.contents; - if (position >= contents.length) - return 0; - var size = Math.min(contents.length - position, length); - assert(size >= 0); - if (contents.slice) { // normal array - for (var i = 0; i < size; i++) { - buffer[offset + i] = contents[position + i]; - } - } else { - for (var i = 0; i < size; i++) { // LazyUint8Array from sync binary XHR - buffer[offset + i] = contents.get(position + i); - } - } - return size; - } - // use a custom read function - stream_ops.read = (stream, buffer, offset, length, position) => { - FS.forceLoadFile(node); - return writeChunks(stream, buffer, offset, length, position) - }; - // use a custom mmap function - stream_ops.mmap = (stream, length, position, prot, flags) => { - FS.forceLoadFile(node); - var ptr = mmapAlloc(length); - if (!ptr) { - throw new FS.ErrnoError(48); - } - writeChunks(stream, HEAP8, ptr, length, position); - return { ptr, allocated: true }; - }; - node.stream_ops = stream_ops; - return node; - }, - absolutePath() { - abort('FS.absolutePath has been removed; use PATH_FS.resolve instead'); - }, - createFolder() { - abort('FS.createFolder has been removed; use FS.mkdir instead'); - }, - createLink() { - abort('FS.createLink has been removed; use FS.symlink instead'); - }, - joinPath() { - abort('FS.joinPath has been removed; use PATH.join instead'); - }, - mmapAlloc() { - abort('FS.mmapAlloc has been replaced by the top level function mmapAlloc'); - }, - standardizePath() { - abort('FS.standardizePath has been removed; use PATH.normalize instead'); - }, - }; - - var SYSCALLS = { - DEFAULT_POLLMASK:5, - calculateAt(dirfd, path, allowEmpty) { - if (PATH.isAbs(path)) { - return path; - } - // relative path - var dir; - if (dirfd === -100) { - dir = FS.cwd(); - } else { - var dirstream = SYSCALLS.getStreamFromFD(dirfd); - dir = dirstream.path; - } - if (path.length == 0) { - if (!allowEmpty) { - throw new FS.ErrnoError(44);; - } - return dir; - } - return dir + '/' + path; - }, - writeStat(buf, stat) { - HEAP32[((buf)>>2)] = stat.dev; - HEAP32[(((buf)+(4))>>2)] = stat.mode; - HEAPU32[(((buf)+(8))>>2)] = stat.nlink; - HEAP32[(((buf)+(12))>>2)] = stat.uid; - HEAP32[(((buf)+(16))>>2)] = stat.gid; - HEAP32[(((buf)+(20))>>2)] = stat.rdev; - HEAP64[(((buf)+(24))>>3)] = BigInt(stat.size); - HEAP32[(((buf)+(32))>>2)] = 4096; - HEAP32[(((buf)+(36))>>2)] = stat.blocks; - var atime = stat.atime.getTime(); - var mtime = stat.mtime.getTime(); - var ctime = stat.ctime.getTime(); - HEAP64[(((buf)+(40))>>3)] = BigInt(Math.floor(atime / 1000)); - HEAPU32[(((buf)+(48))>>2)] = (atime % 1000) * 1000 * 1000; - HEAP64[(((buf)+(56))>>3)] = BigInt(Math.floor(mtime / 1000)); - HEAPU32[(((buf)+(64))>>2)] = (mtime % 1000) * 1000 * 1000; - HEAP64[(((buf)+(72))>>3)] = BigInt(Math.floor(ctime / 1000)); - HEAPU32[(((buf)+(80))>>2)] = (ctime % 1000) * 1000 * 1000; - HEAP64[(((buf)+(88))>>3)] = BigInt(stat.ino); - return 0; - }, - writeStatFs(buf, stats) { - HEAP32[(((buf)+(4))>>2)] = stats.bsize; - HEAP32[(((buf)+(40))>>2)] = stats.bsize; - HEAP32[(((buf)+(8))>>2)] = stats.blocks; - HEAP32[(((buf)+(12))>>2)] = stats.bfree; - HEAP32[(((buf)+(16))>>2)] = stats.bavail; - HEAP32[(((buf)+(20))>>2)] = stats.files; - HEAP32[(((buf)+(24))>>2)] = stats.ffree; - HEAP32[(((buf)+(28))>>2)] = stats.fsid; - HEAP32[(((buf)+(44))>>2)] = stats.flags; // ST_NOSUID - HEAP32[(((buf)+(36))>>2)] = stats.namelen; - }, - doMsync(addr, stream, len, flags, offset) { - if (!FS.isFile(stream.node.mode)) { - throw new FS.ErrnoError(43); - } - if (flags & 2) { - // MAP_PRIVATE calls need not to be synced back to underlying fs - return 0; - } - var buffer = HEAPU8.slice(addr, addr + len); - FS.msync(stream, buffer, offset, len, flags); - }, - getStreamFromFD(fd) { - var stream = FS.getStreamChecked(fd); - return stream; - }, - varargs:undefined, - getStr(ptr) { - var ret = UTF8ToString(ptr); - return ret; - }, - }; - function ___syscall_chmod(path, mode) { - try { - - path = SYSCALLS.getStr(path); - FS.chmod(path, mode); - return 0; - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return -e.errno; - } - } - - function ___syscall_fchmod(fd, mode) { - try { - - FS.fchmod(fd, mode); - return 0; - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return -e.errno; - } - } - - /** @suppress {duplicate } */ - var syscallGetVarargI = () => { - assert(SYSCALLS.varargs != undefined); - // the `+` prepended here is necessary to convince the JSCompiler that varargs is indeed a number. - var ret = HEAP32[((+SYSCALLS.varargs)>>2)]; - SYSCALLS.varargs += 4; - return ret; - }; - var syscallGetVarargP = syscallGetVarargI; - - - function ___syscall_fcntl64(fd, cmd, varargs) { - SYSCALLS.varargs = varargs; - try { - - var stream = SYSCALLS.getStreamFromFD(fd); - switch (cmd) { - case 0: { - var arg = syscallGetVarargI(); - if (arg < 0) { - return -28; - } - while (FS.streams[arg]) { - arg++; - } - var newStream; - newStream = FS.dupStream(stream, arg); - return newStream.fd; - } - case 1: - case 2: - return 0; // FD_CLOEXEC makes no sense for a single process. - case 3: - return stream.flags; - case 4: { - var arg = syscallGetVarargI(); - stream.flags |= arg; - return 0; - } - case 12: { - var arg = syscallGetVarargP(); - var offset = 0; - // We're always unlocked. - HEAP16[(((arg)+(offset))>>1)] = 2; - return 0; - } - case 13: - case 14: - // Pretend that the locking is successful. These are process-level locks, - // and Emscripten programs are a single process. If we supported linking a - // filesystem between programs, we'd need to do more here. - // See https://github.com/emscripten-core/emscripten/issues/23697 - return 0; - } - return -28; - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return -e.errno; - } - } - - function ___syscall_fstat64(fd, buf) { - try { - - return SYSCALLS.writeStat(buf, FS.fstat(fd)); - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return -e.errno; - } - } - - - function ___syscall_ioctl(fd, op, varargs) { - SYSCALLS.varargs = varargs; - try { - - var stream = SYSCALLS.getStreamFromFD(fd); - switch (op) { - case 21509: { - if (!stream.tty) return -59; - return 0; - } - case 21505: { - if (!stream.tty) return -59; - if (stream.tty.ops.ioctl_tcgets) { - var termios = stream.tty.ops.ioctl_tcgets(stream); - var argp = syscallGetVarargP(); - HEAP32[((argp)>>2)] = termios.c_iflag || 0; - HEAP32[(((argp)+(4))>>2)] = termios.c_oflag || 0; - HEAP32[(((argp)+(8))>>2)] = termios.c_cflag || 0; - HEAP32[(((argp)+(12))>>2)] = termios.c_lflag || 0; - for (var i = 0; i < 32; i++) { - HEAP8[(argp + i)+(17)] = termios.c_cc[i] || 0; - } - return 0; - } - return 0; - } - case 21510: - case 21511: - case 21512: { - if (!stream.tty) return -59; - return 0; // no-op, not actually adjusting terminal settings - } - case 21506: - case 21507: - case 21508: { - if (!stream.tty) return -59; - if (stream.tty.ops.ioctl_tcsets) { - var argp = syscallGetVarargP(); - var c_iflag = HEAP32[((argp)>>2)]; - var c_oflag = HEAP32[(((argp)+(4))>>2)]; - var c_cflag = HEAP32[(((argp)+(8))>>2)]; - var c_lflag = HEAP32[(((argp)+(12))>>2)]; - var c_cc = [] - for (var i = 0; i < 32; i++) { - c_cc.push(HEAP8[(argp + i)+(17)]); - } - return stream.tty.ops.ioctl_tcsets(stream.tty, op, { c_iflag, c_oflag, c_cflag, c_lflag, c_cc }); - } - return 0; // no-op, not actually adjusting terminal settings - } - case 21519: { - if (!stream.tty) return -59; - var argp = syscallGetVarargP(); - HEAP32[((argp)>>2)] = 0; - return 0; - } - case 21520: { - if (!stream.tty) return -59; - return -28; // not supported - } - case 21531: { - var argp = syscallGetVarargP(); - return FS.ioctl(stream, op, argp); - } - case 21523: { - // TODO: in theory we should write to the winsize struct that gets - // passed in, but for now musl doesn't read anything on it - if (!stream.tty) return -59; - if (stream.tty.ops.ioctl_tiocgwinsz) { - var winsize = stream.tty.ops.ioctl_tiocgwinsz(stream.tty); - var argp = syscallGetVarargP(); - HEAP16[((argp)>>1)] = winsize[0]; - HEAP16[(((argp)+(2))>>1)] = winsize[1]; - } - return 0; - } - case 21524: { - // TODO: technically, this ioctl call should change the window size. - // but, since emscripten doesn't have any concept of a terminal window - // yet, we'll just silently throw it away as we do TIOCGWINSZ - if (!stream.tty) return -59; - return 0; - } - case 21515: { - if (!stream.tty) return -59; - return 0; - } - default: return -28; // not supported - } - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return -e.errno; - } - } - - function ___syscall_lstat64(path, buf) { - try { - - path = SYSCALLS.getStr(path); - return SYSCALLS.writeStat(buf, FS.lstat(path)); - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return -e.errno; - } - } - - function ___syscall_newfstatat(dirfd, path, buf, flags) { - try { - - path = SYSCALLS.getStr(path); - var nofollow = flags & 256; - var allowEmpty = flags & 4096; - flags = flags & (~6400); - assert(!flags, `unknown flags in __syscall_newfstatat: ${flags}`); - path = SYSCALLS.calculateAt(dirfd, path, allowEmpty); - return SYSCALLS.writeStat(buf, nofollow ? FS.lstat(path) : FS.stat(path)); - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return -e.errno; - } - } - - - function ___syscall_openat(dirfd, path, flags, varargs) { - SYSCALLS.varargs = varargs; - try { - - path = SYSCALLS.getStr(path); - path = SYSCALLS.calculateAt(dirfd, path); - var mode = varargs ? syscallGetVarargI() : 0; - return FS.open(path, flags, mode).fd; - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return -e.errno; - } - } - - function ___syscall_renameat(olddirfd, oldpath, newdirfd, newpath) { - try { - - oldpath = SYSCALLS.getStr(oldpath); - newpath = SYSCALLS.getStr(newpath); - oldpath = SYSCALLS.calculateAt(olddirfd, oldpath); - newpath = SYSCALLS.calculateAt(newdirfd, newpath); - FS.rename(oldpath, newpath); - return 0; - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return -e.errno; - } - } - - function ___syscall_rmdir(path) { - try { - - path = SYSCALLS.getStr(path); - FS.rmdir(path); - return 0; - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return -e.errno; - } - } - - function ___syscall_stat64(path, buf) { - try { - - path = SYSCALLS.getStr(path); - return SYSCALLS.writeStat(buf, FS.stat(path)); - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return -e.errno; - } - } - - function ___syscall_unlinkat(dirfd, path, flags) { - try { - - path = SYSCALLS.getStr(path); - path = SYSCALLS.calculateAt(dirfd, path); - if (flags === 0) { - FS.unlink(path); - } else if (flags === 512) { - FS.rmdir(path); - } else { - abort('Invalid flags passed to unlinkat'); - } - return 0; - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return -e.errno; - } - } - - var __abort_js = () => - abort('native code called abort()'); - - var isLeapYear = (year) => year%4 === 0 && (year%100 !== 0 || year%400 === 0); - - var MONTH_DAYS_LEAP_CUMULATIVE = [0,31,60,91,121,152,182,213,244,274,305,335]; - - var MONTH_DAYS_REGULAR_CUMULATIVE = [0,31,59,90,120,151,181,212,243,273,304,334]; - var ydayFromDate = (date) => { - var leap = isLeapYear(date.getFullYear()); - var monthDaysCumulative = (leap ? MONTH_DAYS_LEAP_CUMULATIVE : MONTH_DAYS_REGULAR_CUMULATIVE); - var yday = monthDaysCumulative[date.getMonth()] + date.getDate() - 1; // -1 since it's days since Jan 1 - - return yday; - }; - - var INT53_MAX = 9007199254740992; - - var INT53_MIN = -9007199254740992; - var bigintToI53Checked = (num) => (num < INT53_MIN || num > INT53_MAX) ? NaN : Number(num); - function __localtime_js(time, tmPtr) { - time = bigintToI53Checked(time); - - - var date = new Date(time*1000); - HEAP32[((tmPtr)>>2)] = date.getSeconds(); - HEAP32[(((tmPtr)+(4))>>2)] = date.getMinutes(); - HEAP32[(((tmPtr)+(8))>>2)] = date.getHours(); - HEAP32[(((tmPtr)+(12))>>2)] = date.getDate(); - HEAP32[(((tmPtr)+(16))>>2)] = date.getMonth(); - HEAP32[(((tmPtr)+(20))>>2)] = date.getFullYear()-1900; - HEAP32[(((tmPtr)+(24))>>2)] = date.getDay(); - - var yday = ydayFromDate(date)|0; - HEAP32[(((tmPtr)+(28))>>2)] = yday; - HEAP32[(((tmPtr)+(36))>>2)] = -(date.getTimezoneOffset() * 60); - - // Attention: DST is in December in South, and some regions don't have DST at all. - var start = new Date(date.getFullYear(), 0, 1); - var summerOffset = new Date(date.getFullYear(), 6, 1).getTimezoneOffset(); - var winterOffset = start.getTimezoneOffset(); - var dst = (summerOffset != winterOffset && date.getTimezoneOffset() == Math.min(winterOffset, summerOffset))|0; - HEAP32[(((tmPtr)+(32))>>2)] = dst; - ; - } - - - var __mktime_js = function(tmPtr) { - - var ret = (() => { - var date = new Date(HEAP32[(((tmPtr)+(20))>>2)] + 1900, - HEAP32[(((tmPtr)+(16))>>2)], - HEAP32[(((tmPtr)+(12))>>2)], - HEAP32[(((tmPtr)+(8))>>2)], - HEAP32[(((tmPtr)+(4))>>2)], - HEAP32[((tmPtr)>>2)], - 0); - - // There's an ambiguous hour when the time goes back; the tm_isdst field is - // used to disambiguate it. Date() basically guesses, so we fix it up if it - // guessed wrong, or fill in tm_isdst with the guess if it's -1. - var dst = HEAP32[(((tmPtr)+(32))>>2)]; - var guessedOffset = date.getTimezoneOffset(); - var start = new Date(date.getFullYear(), 0, 1); - var summerOffset = new Date(date.getFullYear(), 6, 1).getTimezoneOffset(); - var winterOffset = start.getTimezoneOffset(); - var dstOffset = Math.min(winterOffset, summerOffset); // DST is in December in South - if (dst < 0) { - // Attention: some regions don't have DST at all. - HEAP32[(((tmPtr)+(32))>>2)] = Number(summerOffset != winterOffset && dstOffset == guessedOffset); - } else if ((dst > 0) != (dstOffset == guessedOffset)) { - var nonDstOffset = Math.max(winterOffset, summerOffset); - var trueOffset = dst > 0 ? dstOffset : nonDstOffset; - // Don't try setMinutes(date.getMinutes() + ...) -- it's messed up. - date.setTime(date.getTime() + (trueOffset - guessedOffset)*60000); - } - - HEAP32[(((tmPtr)+(24))>>2)] = date.getDay(); - var yday = ydayFromDate(date)|0; - HEAP32[(((tmPtr)+(28))>>2)] = yday; - // To match expected behavior, update fields from date - HEAP32[((tmPtr)>>2)] = date.getSeconds(); - HEAP32[(((tmPtr)+(4))>>2)] = date.getMinutes(); - HEAP32[(((tmPtr)+(8))>>2)] = date.getHours(); - HEAP32[(((tmPtr)+(12))>>2)] = date.getDate(); - HEAP32[(((tmPtr)+(16))>>2)] = date.getMonth(); - HEAP32[(((tmPtr)+(20))>>2)] = date.getYear(); - - var timeMs = date.getTime(); - if (isNaN(timeMs)) { - return -1; - } - // Return time in microseconds - return timeMs / 1000; - })(); - return BigInt(ret); - }; - - var stringToUTF8 = (str, outPtr, maxBytesToWrite) => { - assert(typeof maxBytesToWrite == 'number', 'stringToUTF8(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!'); - return stringToUTF8Array(str, HEAPU8, outPtr, maxBytesToWrite); - }; - - var __tzset_js = (timezone, daylight, std_name, dst_name) => { - // TODO: Use (malleable) environment variables instead of system settings. - var currentYear = new Date().getFullYear(); - var winter = new Date(currentYear, 0, 1); - var summer = new Date(currentYear, 6, 1); - var winterOffset = winter.getTimezoneOffset(); - var summerOffset = summer.getTimezoneOffset(); - - // Local standard timezone offset. Local standard time is not adjusted for - // daylight savings. This code uses the fact that getTimezoneOffset returns - // a greater value during Standard Time versus Daylight Saving Time (DST). - // Thus it determines the expected output during Standard Time, and it - // compares whether the output of the given date the same (Standard) or less - // (DST). - var stdTimezoneOffset = Math.max(winterOffset, summerOffset); - - // timezone is specified as seconds west of UTC ("The external variable - // `timezone` shall be set to the difference, in seconds, between - // Coordinated Universal Time (UTC) and local standard time."), the same - // as returned by stdTimezoneOffset. - // See http://pubs.opengroup.org/onlinepubs/009695399/functions/tzset.html - HEAPU32[((timezone)>>2)] = stdTimezoneOffset * 60; - - HEAP32[((daylight)>>2)] = Number(winterOffset != summerOffset); - - var extractZone = (timezoneOffset) => { - // Why inverse sign? - // Read here https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getTimezoneOffset - var sign = timezoneOffset >= 0 ? "-" : "+"; - - var absOffset = Math.abs(timezoneOffset) - var hours = String(Math.floor(absOffset / 60)).padStart(2, "0"); - var minutes = String(absOffset % 60).padStart(2, "0"); - - return `UTC${sign}${hours}${minutes}`; - } - - var winterName = extractZone(winterOffset); - var summerName = extractZone(summerOffset); - assert(winterName); - assert(summerName); - assert(lengthBytesUTF8(winterName) <= 16, `timezone name truncated to fit in TZNAME_MAX (${winterName})`); - assert(lengthBytesUTF8(summerName) <= 16, `timezone name truncated to fit in TZNAME_MAX (${summerName})`); - if (summerOffset < winterOffset) { - // Northern hemisphere - stringToUTF8(winterName, std_name, 17); - stringToUTF8(summerName, dst_name, 17); - } else { - stringToUTF8(winterName, dst_name, 17); - stringToUTF8(summerName, std_name, 17); - } - }; - - var _emscripten_date_now = () => Date.now(); - - var abortOnCannotGrowMemory = (requestedSize) => { - abort(`Cannot enlarge memory arrays to size ${requestedSize} bytes (OOM). Either (1) compile with -sINITIAL_MEMORY=X with X higher than the current value ${HEAP8.length}, (2) compile with -sALLOW_MEMORY_GROWTH which allows increasing the size at runtime, or (3) if you want malloc to return NULL (0) instead of this abort, compile with -sABORTING_MALLOC=0`); - }; - var _emscripten_resize_heap = (requestedSize) => { - var oldSize = HEAPU8.length; - // With CAN_ADDRESS_2GB or MEMORY64, pointers are already unsigned. - requestedSize >>>= 0; - abortOnCannotGrowMemory(requestedSize); - }; - - function _fd_close(fd) { - try { - - var stream = SYSCALLS.getStreamFromFD(fd); - FS.close(stream); - return 0; - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return e.errno; - } - } - - function _fd_fdstat_get(fd, pbuf) { - try { - - var rightsBase = 0; - var rightsInheriting = 0; - var flags = 0; - { - var stream = SYSCALLS.getStreamFromFD(fd); - // All character devices are terminals (other things a Linux system would - // assume is a character device, like the mouse, we have special APIs for). - var type = stream.tty ? 2 : - FS.isDir(stream.mode) ? 3 : - FS.isLink(stream.mode) ? 7 : - 4; - } - HEAP8[pbuf] = type; - HEAP16[(((pbuf)+(2))>>1)] = flags; - HEAP64[(((pbuf)+(8))>>3)] = BigInt(rightsBase); - HEAP64[(((pbuf)+(16))>>3)] = BigInt(rightsInheriting); - return 0; - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return e.errno; - } - } - - /** @param {number=} offset */ - var doReadv = (stream, iov, iovcnt, offset) => { - var ret = 0; - for (var i = 0; i < iovcnt; i++) { - var ptr = HEAPU32[((iov)>>2)]; - var len = HEAPU32[(((iov)+(4))>>2)]; - iov += 8; - var curr = FS.read(stream, HEAP8, ptr, len, offset); - if (curr < 0) return -1; - ret += curr; - if (curr < len) break; // nothing more to read - if (typeof offset != 'undefined') { - offset += curr; - } - } - return ret; - }; - - function _fd_read(fd, iov, iovcnt, pnum) { - try { - - var stream = SYSCALLS.getStreamFromFD(fd); - var num = doReadv(stream, iov, iovcnt); - HEAPU32[((pnum)>>2)] = num; - return 0; - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return e.errno; - } - } - - - function _fd_seek(fd, offset, whence, newOffset) { - offset = bigintToI53Checked(offset); - - - try { - - if (isNaN(offset)) return 61; - var stream = SYSCALLS.getStreamFromFD(fd); - FS.llseek(stream, offset, whence); - HEAP64[((newOffset)>>3)] = BigInt(stream.position); - if (stream.getdents && offset === 0 && whence === 0) stream.getdents = null; // reset readdir state - return 0; - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return e.errno; - } - ; - } - - /** @param {number=} offset */ - var doWritev = (stream, iov, iovcnt, offset) => { - var ret = 0; - for (var i = 0; i < iovcnt; i++) { - var ptr = HEAPU32[((iov)>>2)]; - var len = HEAPU32[(((iov)+(4))>>2)]; - iov += 8; - var curr = FS.write(stream, HEAP8, ptr, len, offset); - if (curr < 0) return -1; - ret += curr; - if (curr < len) { - // No more space to write. - break; - } - if (typeof offset != 'undefined') { - offset += curr; - } - } - return ret; - }; - - function _fd_write(fd, iov, iovcnt, pnum) { - try { - - var stream = SYSCALLS.getStreamFromFD(fd); - var num = doWritev(stream, iov, iovcnt); - HEAPU32[((pnum)>>2)] = num; - return 0; - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return e.errno; - } - } - - - var runtimeKeepaliveCounter = 0; - var keepRuntimeAlive = () => noExitRuntime || runtimeKeepaliveCounter > 0; - var _proc_exit = (code) => { - EXITSTATUS = code; - if (!keepRuntimeAlive()) { - Module['onExit']?.(code); - ABORT = true; - } - quit_(code, new ExitStatus(code)); - }; - - - /** @param {boolean|number=} implicit */ - var exitJS = (status, implicit) => { - EXITSTATUS = status; - - checkUnflushedContent(); - - // if exit() was called explicitly, warn the user if the runtime isn't actually being shut down - if (keepRuntimeAlive() && !implicit) { - var msg = `program exited (with status: ${status}), but keepRuntimeAlive() is set (counter=${runtimeKeepaliveCounter}) due to an async operation, so halting execution but not exiting the runtime or preventing further async execution (you can use emscripten_force_exit, if you want to force a true shutdown)`; - err(msg); - } - - _proc_exit(status); - }; - - var handleException = (e) => { - // Certain exception types we do not treat as errors since they are used for - // internal control flow. - // 1. ExitStatus, which is thrown by exit() - // 2. "unwind", which is thrown by emscripten_unwind_to_js_event_loop() and others - // that wish to return to JS event loop. - if (e instanceof ExitStatus || e == 'unwind') { - return EXITSTATUS; - } - checkStackCookie(); - if (e instanceof WebAssembly.RuntimeError) { - if (_emscripten_stack_get_current() <= 0) { - err('Stack overflow detected. You can try increasing -sSTACK_SIZE (currently set to 65536)'); - } - } - quit_(1, e); - }; - - - - var stackAlloc = (sz) => __emscripten_stack_alloc(sz); - var stringToUTF8OnStack = (str) => { - var size = lengthBytesUTF8(str) + 1; - var ret = stackAlloc(size); - stringToUTF8(str, ret, size); - return ret; - }; - - FS.createPreloadedFile = FS_createPreloadedFile; - FS.staticInit(); - // Set module methods based on EXPORTED_RUNTIME_METHODS - ; -// End JS library code - -function checkIncomingModuleAPI() { - ignoredModuleProp('fetchSettings'); -} -var wasmImports = { - /** @export */ - __syscall_chmod: ___syscall_chmod, - /** @export */ - __syscall_fchmod: ___syscall_fchmod, - /** @export */ - __syscall_fcntl64: ___syscall_fcntl64, - /** @export */ - __syscall_fstat64: ___syscall_fstat64, - /** @export */ - __syscall_ioctl: ___syscall_ioctl, - /** @export */ - __syscall_lstat64: ___syscall_lstat64, - /** @export */ - __syscall_newfstatat: ___syscall_newfstatat, - /** @export */ - __syscall_openat: ___syscall_openat, - /** @export */ - __syscall_renameat: ___syscall_renameat, - /** @export */ - __syscall_rmdir: ___syscall_rmdir, - /** @export */ - __syscall_stat64: ___syscall_stat64, - /** @export */ - __syscall_unlinkat: ___syscall_unlinkat, - /** @export */ - _abort_js: __abort_js, - /** @export */ - _localtime_js: __localtime_js, - /** @export */ - _mktime_js: __mktime_js, - /** @export */ - _tzset_js: __tzset_js, - /** @export */ - emscripten_date_now: _emscripten_date_now, - /** @export */ - emscripten_resize_heap: _emscripten_resize_heap, - /** @export */ - fd_close: _fd_close, - /** @export */ - fd_fdstat_get: _fd_fdstat_get, - /** @export */ - fd_read: _fd_read, - /** @export */ - fd_seek: _fd_seek, - /** @export */ - fd_write: _fd_write -}; -var wasmExports; -createWasm(); -var ___wasm_call_ctors = createExportWrapper('__wasm_call_ctors', 0); -var _main = Module['_main'] = createExportWrapper('__main_argc_argv', 2); -var _strerror = createExportWrapper('strerror', 1); -var _fflush = createExportWrapper('fflush', 1); -var _emscripten_stack_init = () => (_emscripten_stack_init = wasmExports['emscripten_stack_init'])(); -var _emscripten_stack_get_free = () => (_emscripten_stack_get_free = wasmExports['emscripten_stack_get_free'])(); -var _emscripten_stack_get_base = () => (_emscripten_stack_get_base = wasmExports['emscripten_stack_get_base'])(); -var _emscripten_stack_get_end = () => (_emscripten_stack_get_end = wasmExports['emscripten_stack_get_end'])(); -var __emscripten_stack_restore = (a0) => (__emscripten_stack_restore = wasmExports['_emscripten_stack_restore'])(a0); -var __emscripten_stack_alloc = (a0) => (__emscripten_stack_alloc = wasmExports['_emscripten_stack_alloc'])(a0); -var _emscripten_stack_get_current = () => (_emscripten_stack_get_current = wasmExports['emscripten_stack_get_current'])(); - - -// include: postamble.js -// === Auto-generated postamble setup entry stuff === - -var missingLibrarySymbols = [ - 'writeI53ToI64', - 'writeI53ToI64Clamped', - 'writeI53ToI64Signaling', - 'writeI53ToU64Clamped', - 'writeI53ToU64Signaling', - 'readI53FromI64', - 'readI53FromU64', - 'convertI32PairToI53', - 'convertI32PairToI53Checked', - 'convertU32PairToI53', - 'getTempRet0', - 'setTempRet0', - 'zeroMemory', - 'getHeapMax', - 'growMemory', - 'inetPton4', - 'inetNtop4', - 'inetPton6', - 'inetNtop6', - 'readSockaddr', - 'writeSockaddr', - 'emscriptenLog', - 'readEmAsmArgs', - 'jstoi_q', - 'getExecutableName', - 'listenOnce', - 'autoResumeAudioContext', - 'getDynCaller', - 'dynCall', - 'runtimeKeepalivePush', - 'runtimeKeepalivePop', - 'callUserCallback', - 'maybeExit', - 'asmjsMangle', - 'alignMemory', - 'HandleAllocator', - 'getNativeTypeSize', - 'addOnInit', - 'addOnPostCtor', - 'addOnPreMain', - 'addOnExit', - 'STACK_SIZE', - 'STACK_ALIGN', - 'POINTER_SIZE', - 'ASSERTIONS', - 'getCFunc', - 'ccall', - 'cwrap', - 'uleb128Encode', - 'sigToWasmTypes', - 'generateFuncType', - 'convertJsFunctionToWasm', - 'getEmptyTableSlot', - 'updateTableMap', - 'getFunctionAddress', - 'addFunction', - 'removeFunction', - 'reallyNegative', - 'unSign', - 'strLen', - 'reSign', - 'formatString', - 'intArrayToString', - 'AsciiToString', - 'stringToAscii', - 'UTF16ToString', - 'stringToUTF16', - 'lengthBytesUTF16', - 'UTF32ToString', - 'stringToUTF32', - 'lengthBytesUTF32', - 'stringToNewUTF8', - 'writeArrayToMemory', - 'registerKeyEventCallback', - 'maybeCStringToJsString', - 'findEventTarget', - 'getBoundingClientRect', - 'fillMouseEventData', - 'registerMouseEventCallback', - 'registerWheelEventCallback', - 'registerUiEventCallback', - 'registerFocusEventCallback', - 'fillDeviceOrientationEventData', - 'registerDeviceOrientationEventCallback', - 'fillDeviceMotionEventData', - 'registerDeviceMotionEventCallback', - 'screenOrientation', - 'fillOrientationChangeEventData', - 'registerOrientationChangeEventCallback', - 'fillFullscreenChangeEventData', - 'registerFullscreenChangeEventCallback', - 'JSEvents_requestFullscreen', - 'JSEvents_resizeCanvasForFullscreen', - 'registerRestoreOldStyle', - 'hideEverythingExceptGivenElement', - 'restoreHiddenElements', - 'setLetterbox', - 'softFullscreenResizeWebGLRenderTarget', - 'doRequestFullscreen', - 'fillPointerlockChangeEventData', - 'registerPointerlockChangeEventCallback', - 'registerPointerlockErrorEventCallback', - 'requestPointerLock', - 'fillVisibilityChangeEventData', - 'registerVisibilityChangeEventCallback', - 'registerTouchEventCallback', - 'fillGamepadEventData', - 'registerGamepadEventCallback', - 'registerBeforeUnloadEventCallback', - 'fillBatteryEventData', - 'battery', - 'registerBatteryEventCallback', - 'setCanvasElementSize', - 'getCanvasElementSize', - 'jsStackTrace', - 'getCallstack', - 'convertPCtoSourceLocation', - 'getEnvStrings', - 'checkWasiClock', - 'wasiRightsToMuslOFlags', - 'wasiOFlagsToMuslOFlags', - 'safeSetTimeout', - 'setImmediateWrapped', - 'safeRequestAnimationFrame', - 'clearImmediateWrapped', - 'registerPostMainLoop', - 'registerPreMainLoop', - 'getPromise', - 'makePromise', - 'idsToPromises', - 'makePromiseCallback', - 'ExceptionInfo', - 'findMatchingCatch', - 'Browser_asyncPrepareDataCounter', - 'arraySum', - 'addDays', - 'getSocketFromFD', - 'getSocketAddress', - 'FS_unlink', - 'FS_mkdirTree', - '_setNetworkCallback', - 'heapObjectForWebGLType', - 'toTypedArrayIndex', - 'webgl_enable_ANGLE_instanced_arrays', - 'webgl_enable_OES_vertex_array_object', - 'webgl_enable_WEBGL_draw_buffers', - 'webgl_enable_WEBGL_multi_draw', - 'webgl_enable_EXT_polygon_offset_clamp', - 'webgl_enable_EXT_clip_control', - 'webgl_enable_WEBGL_polygon_mode', - 'emscriptenWebGLGet', - 'computeUnpackAlignedImageSize', - 'colorChannelsInGlTextureFormat', - 'emscriptenWebGLGetTexPixelData', - 'emscriptenWebGLGetUniform', - 'webglGetUniformLocation', - 'webglPrepareUniformLocationsBeforeFirstUse', - 'webglGetLeftBracePos', - 'emscriptenWebGLGetVertexAttrib', - '__glGetActiveAttribOrUniform', - 'writeGLArray', - 'registerWebGlEventCallback', - 'runAndAbortIfError', - 'ALLOC_NORMAL', - 'ALLOC_STACK', - 'allocate', - 'writeStringToMemory', - 'writeAsciiToMemory', - 'demangle', - 'stackTrace', -]; -missingLibrarySymbols.forEach(missingLibrarySymbol) - -var unexportedSymbols = [ - 'run', - 'addRunDependency', - 'removeRunDependency', - 'out', - 'err', - 'callMain', - 'abort', - 'wasmMemory', - 'wasmExports', - 'writeStackCookie', - 'checkStackCookie', - 'INT53_MAX', - 'INT53_MIN', - 'bigintToI53Checked', - 'stackSave', - 'stackRestore', - 'stackAlloc', - 'ptrToString', - 'exitJS', - 'abortOnCannotGrowMemory', - 'ENV', - 'ERRNO_CODES', - 'strError', - 'DNS', - 'Protocols', - 'Sockets', - 'timers', - 'warnOnce', - 'readEmAsmArgsArray', - 'jstoi_s', - 'handleException', - 'keepRuntimeAlive', - 'asyncLoad', - 'mmapAlloc', - 'wasmTable', - 'noExitRuntime', - 'addOnPreRun', - 'addOnPostRun', - 'freeTableIndexes', - 'functionsInTableMap', - 'setValue', - 'getValue', - 'PATH', - 'PATH_FS', - 'UTF8Decoder', - 'UTF8ArrayToString', - 'UTF8ToString', - 'stringToUTF8Array', - 'stringToUTF8', - 'lengthBytesUTF8', - 'intArrayFromString', - 'UTF16Decoder', - 'stringToUTF8OnStack', - 'JSEvents', - 'specialHTMLTargets', - 'findCanvasEventTarget', - 'currentFullscreenStrategy', - 'restoreOldWindowedStyle', - 'UNWIND_CACHE', - 'ExitStatus', - 'doReadv', - 'doWritev', - 'initRandomFill', - 'randomFill', - 'emSetImmediate', - 'emClearImmediate_deps', - 'emClearImmediate', - 'promiseMap', - 'uncaughtExceptionCount', - 'exceptionLast', - 'exceptionCaught', - 'Browser', - 'getPreloadedImageData__data', - 'wget', - 'MONTH_DAYS_REGULAR', - 'MONTH_DAYS_LEAP', - 'MONTH_DAYS_REGULAR_CUMULATIVE', - 'MONTH_DAYS_LEAP_CUMULATIVE', - 'isLeapYear', - 'ydayFromDate', - 'SYSCALLS', - 'preloadPlugins', - 'FS_createPreloadedFile', - 'FS_modeStringToFlags', - 'FS_getMode', - 'FS_stdin_getChar_buffer', - 'FS_stdin_getChar', - 'FS_createPath', - 'FS_createDevice', - 'FS_readFile', - 'FS', - 'FS_createDataFile', - 'FS_createLazyFile', - 'MEMFS', - 'TTY', - 'PIPEFS', - 'SOCKFS', - 'tempFixedLengthArray', - 'miniTempWebGLFloatBuffers', - 'miniTempWebGLIntBuffers', - 'GL', - 'AL', - 'GLUT', - 'EGL', - 'GLEW', - 'IDBStore', - 'SDL', - 'SDL_gfx', - 'allocateUTF8', - 'allocateUTF8OnStack', - 'print', - 'printErr', -]; -unexportedSymbols.forEach(unexportedRuntimeSymbol); - - - -var calledRun; - -function callMain(args = []) { - assert(runDependencies == 0, 'cannot call main when async dependencies remain! (listen on Module["onRuntimeInitialized"])'); - assert(typeof onPreRuns === 'undefined' || onPreRuns.length == 0, 'cannot call main when preRun functions remain to be called'); - - var entryFunction = _main; - - args.unshift(thisProgram); - - var argc = args.length; - var argv = stackAlloc((argc + 1) * 4); - var argv_ptr = argv; - args.forEach((arg) => { - HEAPU32[((argv_ptr)>>2)] = stringToUTF8OnStack(arg); - argv_ptr += 4; - }); - HEAPU32[((argv_ptr)>>2)] = 0; - - try { - - var ret = entryFunction(argc, argv); - - // if we're not running an evented main loop, it's time to exit - exitJS(ret, /* implicit = */ true); - return ret; - } catch (e) { - return handleException(e); - } -} - -function stackCheckInit() { - // This is normally called automatically during __wasm_call_ctors but need to - // get these values before even running any of the ctors so we call it redundantly - // here. - _emscripten_stack_init(); - // TODO(sbc): Move writeStackCookie to native to to avoid this. - writeStackCookie(); -} - -function run(args = arguments_) { - - if (runDependencies > 0) { - dependenciesFulfilled = run; - return; - } - - stackCheckInit(); - - preRun(); - - // a preRun added a dependency, run will be called later - if (runDependencies > 0) { - dependenciesFulfilled = run; - return; - } - - function doRun() { - // run may have just been called through dependencies being fulfilled just in this very frame, - // or while the async setStatus time below was happening - assert(!calledRun); - calledRun = true; - Module['calledRun'] = true; - - if (ABORT) return; - - initRuntime(); - - preMain(); - - Module['onRuntimeInitialized']?.(); - consumedModuleProp('onRuntimeInitialized'); - - var noInitialRun = Module['noInitialRun'];legacyModuleProp('noInitialRun', 'noInitialRun'); - if (!noInitialRun) callMain(args); - - postRun(); - } - - if (Module['setStatus']) { - Module['setStatus']('Running...'); - setTimeout(() => { - setTimeout(() => Module['setStatus'](''), 1); - doRun(); - }, 1); - } else - { - doRun(); - } - checkStackCookie(); -} - -function checkUnflushedContent() { - // Compiler settings do not allow exiting the runtime, so flushing - // the streams is not possible. but in ASSERTIONS mode we check - // if there was something to flush, and if so tell the user they - // should request that the runtime be exitable. - // Normally we would not even include flush() at all, but in ASSERTIONS - // builds we do so just for this check, and here we see if there is any - // content to flush, that is, we check if there would have been - // something a non-ASSERTIONS build would have not seen. - // How we flush the streams depends on whether we are in SYSCALLS_REQUIRE_FILESYSTEM=0 - // mode (which has its own special function for this; otherwise, all - // the code is inside libc) - var oldOut = out; - var oldErr = err; - var has = false; - out = err = (x) => { - has = true; - } - try { // it doesn't matter if it fails - _fflush(0); - // also flush in the JS FS layer - ['stdout', 'stderr'].forEach((name) => { - var info = FS.analyzePath('/dev/' + name); - if (!info) return; - var stream = info.object; - var rdev = stream.rdev; - var tty = TTY.ttys[rdev]; - if (tty?.output?.length) { - has = true; - } - }); - } catch(e) {} - out = oldOut; - err = oldErr; - if (has) { - warnOnce('stdio streams had content in them that was not flushed. you should set EXIT_RUNTIME to 1 (see the Emscripten FAQ), or make sure to emit a newline when you printf etc.'); - } -} - -if (Module['preInit']) { - if (typeof Module['preInit'] == 'function') Module['preInit'] = [Module['preInit']]; - while (Module['preInit'].length > 0) { - Module['preInit'].pop()(); - } -} -consumedModuleProp('preInit'); - -run(); - -// end include: postamble.js - diff --git a/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/zip_write_encrypt_pkware_file_fuzzer.wasm b/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/zip_write_encrypt_pkware_file_fuzzer.wasm deleted file mode 100755 index 565b7bc8461aada6f8287febd3c1226e590ede87..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 400106 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�A^~V2BfwCO{BWoh29q0Em(U!*DX!=Rqx^0%kZRakG=^i3<>jIi3ih zhg0>6qkseugkLm3Kmdn09U>qe((U@0=^G#q;2_T84fqFMo}CaSAin47f502g5y*kv zZ2|}aoCA8BTa|o%V)J3z;D9nPw9W_wZ}6~&Q2-nu0Hy&WDv$%1h7ymh{FPC0ARSn)3~xqfl$m^4^kn01xSH^m+*=Mci*U6%dY?`@b9gFMf?Q@vM%M- z+Sp@vyPykpJF?zUE`4WW{CfwbO{AF^cO`b0*ZDGy*}D^4me}2hb&vYyo~lmn^&~cT z_a$2D?oaH##O|lu0~*#3CiXyL57OBW`C=?}4<}mc9^tD!!W4Kku}2g4n3VH)Vw8HE zx=$nq*~b#&!^26s)VU{B=BdP=oKeR6xSE@zunZC-y1@UsHQu^X(m! z+r+&tGH)dIdSY+z_RYlJ^zURH-bzLm-P?)1mDtzF4@CC^CK|gIf5iPE5@~#Xlo%gBqQ=Ln@kwGIC-w<7K2?oR+tv7t8eaC#WkbkEJ`zo=odHzjeRN?J6Np{5jt#tHVV&5kA9ay06#qfv3zEA82 z82%`RKZ+ry<|irar_>rHLN5HQ2R}=L9*JY52w!HrSg&OpF3CE%G75Y3&XDrdE4 zHNu_k8EoUu!Q;={Ir&lUTv0eLZ|COiJSfZ+g}LpTI8RNSpSOAV_cZbRJY9Z)v~(fP zJ@-O+yD*G9=xyDV>) z)3z%l*#aE;ye&YoD<#>L?IgQOk}YI!nYV>VcC~LB{I0=&_x!HS8xOCoD*rl(cU@UL zzkfjK*R!=`(WrBa@_seBA#aPYk+57W4mYx&%-fB8y-5<>)J}q%JxfR|@gGLGTevLZ zJT-5(k85+&vFP372ODws`dC<(JQ9_6<+_ora9TlXTz~3O)LcyqlJCQHW8wGZN%7&j)mpbQEQ~^|!}_6s9-7WQ z8;bzKNFwJ`NrB3MgnlX@E!3CZ^Kgt7pfdiq18kKn#aMr|>vIY^+0 zC(DX^&IqB}Q*r}fwg$}BXmKDi+*&EKfi}R_vVp~^-hQkNU7sqU*{uuR^^8p6B{vAV zgHpQdLtyG zA`?$oPl`11s8Nr+9?luzMmB29Y|Z1XTO1g(Y|M<*=lk!=jC+r`)4)`Kd>>YNW*;dPwHU;-#8yebV;`tvhiN zENP$Ehn%o|ikDa31KaY$TX_uA@+8?*d60?P&-Dk8*uQv1rF7Dt477o5S;op#xU6*~xG!EJ?!OqV8n3Cu z4WJqeDXOuBO!nQ$<&gu+$WK++Mis63bd}lRBy1ZPru?Y`8Yt2qre(J zWrgumO4&50kEXMhk8n~APb)dE;>M**vphP#g7qyP!R!SHaGm~gtFusl30%B{zXN&7 z?5-(3>TOj4IselyRj9(^5di#1I;rG@Ehsmo;iq(EgOz2TTrwhUI!Hh3hRHx-EAw$> z5=r@WE3MicO^}4rdbE&#r>E=X*PI5DQSxII#aF#ty?Na`4S@F=|9uCIOWz)pfM_ZH zGN0iu(J-4Gs=v0E$*(Cp z|6-Q z(nqWzn-)JvR}jP*J~Z-mNwq^&zkvLa1*DoB+MBqoG7dSXJ|2OdWw5*o8uh0LIC-Qs zDrt1yw&u0p(V#YuQXb>BO$+g36F0h1nW)Xyd?V?jN7;540PEYx^%82_DwE5u};&{@xd)OYutE9a?dQb=WFK>Sy z5-wo@<@=Hm?k|4Ecm!aJ+tc>UX5e4QfvsOHr~>)ZnYg;2psr);(5z0Rjhc^6$;rqW8;R4P6$#iyluf&TXCTqm(iMw(2yau`V+R*YYP(eD}b ztwwj$VbJ&`m}ae##h;|fRKotOm06}7`HqQ_{YdYmv4P48EC*d(3O?5FU)5!!O}pHvl2DX_%AJ`3#D|2w zYV3-1g$E-u6GV*knLP1$WUWO0Nq3(3w4y%sgUa;eiANz5)tQ!2?qr{do_mn=NxPqi z7@a=phdBH~L>g#TPBj|+D%I#+NxgiA8ggRluOdfQ!t~33P=>wEWuGD9myuSygBys( za2Sj~7<;xl+Mwi-*>B=@UP0&xs$}BHtuH4Srf!$vxxq3XETIE2_Svt0cw*kxPeOBv zt>jm14OtSX`n4mW;FsKl0QGtGHloA490jV+g|Y-wAz0p*S{^IO@7iMR(_ zSYwNfd+`ZB=Y6TIne*EiKPNN^!=4DmUG#I_vujG}l1bB=H2ggmY`wlIgXDJn=TY1x zB2g0Cf%Y*N2IU5K_$eVq;f}oBu?1tl(*SQH?RWLHQ~PYKU7*ZpXGX8m1Ii~+G=tIx zD&wn*d`7#8g1AobS0m2hia7Xm(Ehq)ZM>%5Tf8L2^)jRBwQi>J3U2iL;3m5mv%p2=A zGnj;nKf)Mo(!UG zz>mFU8Y2t;z;FZn8hmZ$5RGH{*e0X+)r_DL1mTUz&}?>YpdFJ6vsZG%Gi$Yh=8fhG zQ^pOiwc%`&T4ScnhD?$zvy;57pzh~RGe55vFmci!*F&#cXS7kDPWiUAZERa~Mo%$g zG&$%gP9uD)M=`;C4nqCDMxx)>7?w^jKY%K~zD4z{iTu`vB>S!XHuE8VN44LjV`@k3 zmUjJBU{_U~UD*Tq(5@CXN$H5%&2|&LKkyrSf2fQom?^re-H7_5#O1uzZ<&s8f1&^> z2?1WS>h8gpJzCfw{n`CxRlu&;`Zd-p4`EshrMi1+pEd_6=m&hf3>|! zZXcAjPgT0{Nay1qTHN0-nfp;^f5k%B{;A1Cfh~}0X(t$i?EqGT$oYtf-F_7j;o~7v z$q&sS{UtlpO1rrUh~X0zmWYX%m@X}g1NZl=)IaR+_K)4%;gtHP9d7?DDI}u2wv2ZF zYJAThC;T@fa+3Ya2#9ERoG{uQF>*cPA&#)g?G6P-yD5!>Tx$yTof;4mVN-$n9;x_< zBZJ~)(w9Gt811G7lsqaeIbHD)1VxmHhOlXY&FEP4=m0g%RB}Ud8n!z+7)_uAZ;lP@ zn1BR_9o`(rO!O1=cqKg~M52R~CzRj%KncPnI=m%Vg1TsGmJ%Y`td4I__HP*{gh}xE zl#Xv_2aRufwUzTD5>GKlArl>RcbeorU11aiP;`)+_=&VH37$xWAZ&uqX9bg#IFZ+9 zcVtN51XqMv;6z5s??*-xMA7)Mmu0SU|HO=xtC&*q9=%<@Fvd> zhQ&&=$dg)PDilp|BU0RyN^!H2E)qWh;KB!OEa@l(K@@3s+$t&b(=N9upn_zJyDNNx zlky-9pWviCmE#V{fj@Vr;wRi)WhvmlOc4}q?rz0R@S>LB3I$QX;+~EjpjFnJr2EQD z?^k36F%`SJ2gLM2B~T=QqC~bu-}r|zrbJLY9JoiyOc|}L+>gTaF@;X>qLyro1W+hc zj_&3c@MCSfp&;E3=`( z`--d>9K?iJ_)C@#6=p$*Mai{`u7Ktzfqha5sQ5H3OEkr&im50$LMssA^Risol>9<5 z7TGx_=@=DYktSgT8HXeUSyXh}Apv8HqAa=-WdUCwU_q#bk}mo~18EZEn^G>OXOXNT z1X++-0uLu!;JmJX_Bt6&=mk+1*>UI8Fs**1;xDoj&uKngBX6dK*t_wGs1Bb;w^YQ8&59Rc>e68Sd{04jlGndkpldm zU=4owPEL(qePBnz#-d_1z+ym*_>40`0yTJcmY$u(v$K_`k?0JEcowjk((*p9hn9nF)D=7$7o5S-DhRE>ZzvQ&*FVl>dvg=z)8bCH-_#6H?@ld>_( z(7RY9%8?qQ+$AD$sggI6vypscB5|2WWOL_o$Z$3ZFe6RfNKUfy6T&sFB;JtOnI7e@$8bYsLIJrE(3NX7FaOm|VGsTr!G8zyu9(%4FQoEidRu1S<@fxt>gz20cfQUgnmU-M3-y;FHBXby zpRf!G*%6@e3-x=egy3&b{mGW%bnjYZzf?1)T+HX07{*PHPFnb>&8!$_?$(uSOJ8gb zzb4Qarq?~c{sD50el+hBvBUZdPT}bnf7a5(RZox}vJmQR4cV~(^m_B$9|1RYI0A-_ z4&BuR==6u_3Vw>pR;$ukog)4WxT(V#uug!z=ujC*krkW{*m~uiB+4S`gf6Yu_vW;m zcA~Mhm>vyGz?m6j8v#$wCIU6cJ)s(#_!|BQxWp0g&mTwCL*R{Vm=Mjhg$8em6#hJ* z$!$j4{mF01Z9#*#$QlgMEp1En*;cA^NkB4+f@?IAQE(*C_$8xsYtPM}1(a}Uw&m1d zWbszN$M;@Mx%+4F3*vOB_i36s909;jhrO)&qv>IOH2ey=LEiSy2{&d;RrufA@AXUUyJf<+Kk9A#@@~8qFZ`cucl%QbcV!Q9um3R< z{?Ew5scy5XHglw#xi3u}a;PKvUo&pBk2LDVn?Q8fl+0jk2 z`y1u{CLN^>M&bL}egaSL??r2|{jH_s4)DYIfVAn9InWMNPaovVlq0T5Eb909*t5Ju|DyPR%c&{h z+axw=cn;4aEp|j>YvTDyH_cFulg06~-w!_!)v z8iKoFHZyZy$j1aD9G2lZ+!;6`AP&s2Y&gcaJq)3%rOXITPorHn>Mt zKvBk&UZ5y!B5Bn6i)j6HJ`6$!?qU^aTR~8EqdEKt5Qsqwjsp?d1Z0owR}IEay>DEH z1pmRG;p)njFznoa4#UQG$Obw_03V`I@gZ99A@IrgRe$#&|YPpT>qXTcNs(Y#Y37r++Uf%oP z5!mg@<-Qv(1uDBMi_0c%M*c))LV34BH|h73E3(JOy||Z(_o-sphX8;m_n~a3`#HRc zbU;3&SZtBNjo{(K?LE$ZI1gDd?@~xaoC+R3Rxak#0i>#U+_w{t0$1Y++WBPK&L^wl z;$J-F+xc`^T%3xhz;aKxDxmmFHsR+g4mgM zzJx8Wa(q=D!`e|ZzC>2B>`m;3H$g@A?QdxJu5|9W4P^x}t8gRU_B`JyS1o%IyW>ev z72n}KxetIBX{mis?(%+$(oU7@oe0VOv78F~xT3Y}y>~05)lbVj%1*`ZI2G`~hrqe` z0v=zA$Cp(eI1?$4uNAH>8sGTP?Qed`<6A{*O9kJRdEicbr}*vNaWCM3Gl84&BRqZ* zkDsbMQXc|ccqc+M@Dq4AHO$UX6x)v!{nCi;%-5Nw%_PnPo<$na4bkZeg{363aEA8$ zWq+c@%?$B%jtQBC_zpAWOyECMXJNlzx(`fC?>T>8(Z^=?DnS9`wyqFbv`|PfVY4fat06B{^LXNfBcVA z!{RG`uaJ2VLqhDhSA_Q@s?HA5;#KhGcn)slQs7}^izrWUFTi>8fOS+Bk_BY0M8d1U z<(LQ4`Emp1YbV~=Ly_R%ypbMH>JEC6#ex@5&r_k;!@ye zToN`Z3Y>$P6=j7-MEd3m^$mUkKE?w0Tp3~^aViLqk&BUf71h3>ao)kGbOn9}pzrow zK?2Z_{myl%GOw4nK{z;}iQe^C6t+7iEGj_!mf1(ODoC6dbdEhtWoGV!~D6lNzW^woY?UaiQ@gZf6=Fpe~||-`CxJW|FqJ{XT$tu(NzGs z--8$3D(b-Mn#zQ2x$Zz!monDUY9D}(%- ziXYDg@!Kl$HdS=Y{*I!`?Hva1yHf6ZiYh0byhI#1%6-4=Av1VCkaj;*R5@|v1TJdu zek|>Nl0}s(j=XY+f-*l3L%*fPKit~HJNoEi~NP6#=N>=6Oy1deCZCzEy>7y-W}Ju2e7eR@RGXGG}iXa$oK z5>D`?-DWJzI_*`?bA?biyB|Yl%~`!ZJ#&3O{wFvo~VqR%gcgXq0I5J zCJU6({7NN}C*r%Ql0yEfate7dWE}Ve@@c8G*vn^5`XiJ2kpm^+Fy?gS&Q?|1S2yz*?q zVlPu@F@fI86zdI2Tp8vE20qn1AufdJD!CkOC%};EKEJ{Jsh|%izPlXk&C3VNf~Lg@ z@uoOwPRKm3-X_NTVMThE6!6Ws!>ec@txkC8N)-S1KcdQ17%`3Hw$~dQQQ8 z{P)XI`R zZzQMBcD?T?3Y^UJyAuIU?e~PZi(3NDa3{=?)%H~o9g`kO6ln(?AK+EM1Oy+81ONK zg2R#MZ$iSqL)h=rrhZ>;>S#j3Go|`ia8daQ(-^fW@|$-*|AHOI;W4sIjjc5%jJv(! zQQMJ<>sFsni!-$yrI>IczsHn=!EJgqKRt>|Gt~PLOE`Giy~il#TT}@CJ~nPsj(Xl5 zS7ufj564TA6BG_kAb44lZ1|s8CU%l?)$1UO@b6i1ajHLfJULC{O}IB9;HMB+N$fW@ zX2Adl%pG8`jg(x~D5=J%QkaCc=t9@F5|m7Bql4f2MNKYkYPH z0_UJ0rp4#Pm7#L3BEfYaPXstM8My?1^LcKW*SwV1{8*9N^Wk;AFF2Ef0w42ze%zwy zZ{id^`>gF3l?z>*R&P^$H*w%3GxEXTm$YvtOoMKDarj9LcN)h4`ylYxr$7c_mB_jMX1q=_)dj;M6uqYLeTf4 z%!9|2`JRyPj8|nI5coZ%68Qa#c|a8SlX2!&J|)gXe-jb@G%b8aqw$%nn;Eqog1=jo z>b|=p`!w4^{yTcatWgiH>T+;-JUZEX?g16fa!eqIRA%9h`US;sU zrZ8|NzxORC2Kb_$2sc={}SQAGVin zw6fuU)UFO4`LTk*WjzQ7&sD;~M-dK=Dhd52GydnO@(Zc*i*gszOv1s_KFq?wH*l43 z@M+!xeIt6`Dk(m>@Htr!Jz~Cz1pgj-KZxEBWqMd5;=g~4D;w>fB>PXP?E3X5SW)I@ zk!($f54YB26j9-jJTf6Job>nnc3c9}cqSrAXoK*PP$_;xT4PFuP1gH}ao}DR_MI=W2#3U_~>E|SciOU4e5;sD{ zXDM2I6oKM!o9(mT&qn$=l73E^8`7VuXmQyhBE<{Jlz&z~njN3hTM2zpRho+xOfH$*B=aThQsfgiURe}~BEO7M!xTiGBZyq_<5!@O1(Js# z@&!tS5BfvI(;WDeMk5Q$Z6$2{YEOU=avolj6w@Jht>_U#eyyU&xv>9$r$y*3aEVxdM zO98smFfjPm35a`b@n>%>@UyKBcbixKF0sjVMR=dgyX1;~!BT7@uRZ2C4XM$f1a{n* zq?qFtZV$DZ`1`{hI@}+ktOly9LXiu^Zr~yXcJFO{0K9t_nePClh0iVrosqX5%078? z3wMdDIx}0~90frc6AqRh(XURW)l(et3N91jtALV}??C+XG%#_X@hi?1zUx9_-74SM ztw+-b=>*4vB};%M*8_H3J-dm8n^asAS)_|Uc>O69Y@>FoT82R8mN8Y*Z-k>H46GV6 z7Xzpqk}WkuVd%lfCATReZ(5dkIBUvgGfGx`n7##FT zZy{qh!bW7vL!&jexsehjc4WoR;2GP|=>cD0j>3`H&5hn)tGCP#n z9yZ$#3B5LBAjvya*9+yC_IHxy;I!X18n=-kD_cM(?>HbG)4#2+JuBpA>eK6YMNie0 zhqcfV)$m(Ib0`5l!qT$*K#me<-`?I47SK0fKr@_6 zjN{n)4bRoHB?d8B>3Kl}>7ZP_Gu~)WyOKt9eeKy{(C$~;i!QXl!UIrC zl<6<>dQm1EwDNxo)Ibp8TdXrvTpJn>4<{?R`u~r#H-VF~y7K<( zsjA-ShAyy?R$90hT5JRa6$Js6YO%UmTtGxzqTq^!MhhE72L;77#+b!yn#3)UERtm= zZzjoPl9*(YOp?hmlYP}JGudXGOp=+*JDK?Z{?5J6Q&mm3=KcH=+Nyer$EAx8|NP@?Q#dP>iTd|3@e0=i={D!{Z> z4RvBWN<}ty%W{~Q=!x0F)U7fOXCX|drPHgjeu*7Fyu0(+LR%knPF1AJ%w3uOtE-uSqp{Fz%NnDm|3r{AMKhYXU<%tE9!!U?6wyxx3 z#B%iwD&zq+8A}Q-Jek2016#=1h^2AlvZW<#w>_D~6Z5ezY`Q(^=ZOXTI5AH|Rdsa^ zPmTgMew5t2+mivF7yx5=vNAk5y1aMqw;$LQEH!Y$5T4Gb1q+~(3u25j;W1>=jk(5& z`LjcsMLaQcjpfP4@Z>n2nA3gW+1;IAE+&I1IT+tgDK+xa7HaW2VGTV~^KG_n+v2)q zZe6>8*&RssEpkPTd6gZ$ElsA?b%{}(2yCXow5q{CX;Dmw$$)B_Oid|;u$l}sV}oSY z0hlOp)TY(}vJFUU0z4yD3Q`eSIm^^AuZv?%tasJaNHDCXnOUD87V48n*vko6Hw=gc zm|?(DCiTe1J~hm02p8TZJ80E3mp++AWzEmCn&xFSS?~nrw7j?B6kJ&E6ju6j$QZ1k zv4I}KS|AD50yTdE6yk)eD2_QLT@vQp%mp@^X=MPuEn^W7;N^6`f?O-0D@!=)mi@64 ztNW0{LcMGjz^2hOE;ApHH3c-I49y7kH-Tn!cixdC+41ty>xovpgwbGV4M8_bpE3^3 zrf~w%H!@p18tgi&T3Trv-kK!c>6#Y8FmXATY=^SvLkba9=zFB)MVEJ6Q$&?stS!9m zASGu1M$1thVS-0HjPg4B*~$A(BdYuq4J)zI^KN2Qc4VPy*VWzm>80Bh@*Ce%n9`;qn@MqOVjIJTYM(4oCvg>9`y64-_!Y188Q?~PksHCNuA1? z#GmpDP^UWeDU4DA7^`!P(d|1bQRp*A%agrcwq64tUTp|{bbU_sk`54GN>2|>r&*cPI z=oXcpvPK`s{u_j~FS8eCNh|m>;=w#dL&WI}anI zQ1IrM;Cw<#Z59s_5?tUehzTwo zb(h8jm&F8^yUX2W;%7pFE8G>O$E>GU#spVkl60k*nUDY&UrcbdyIL_?4*2acCFni3 zT})0$d9AxPrhK`3xxda`cfemCQ`QL3a=n%*f z`tL3Q00~)3YOC+w1k)vV55z1bA;19dOY^-VO$Jrt-zzBI8cOkCNU&WB)AK-@>{T(s zOKd#J9uyofCWBl;5da9jCOIHg^Ey)|a1c>o397Ht!>Gl33vxJPLU z^d#Gxk0tIg@P%k+!zex>Fd;xfT*9jGw>LltZTjC~n559Trvx8V-u)r(I}^7*!5)cV zjfp7XyJe3Af)E$6w2ZdBry=vxAiJ*ELJ7kp@%EvKAJk(Ig&!2IPz-)}oMH_>q%bey@;eqLCjv6Goe#PYxZy`= z_D319g~@S%3hl+mWT`}O7b1U~+0x$vkpxUglEwZLA;~8#Sj#6#@{AcO#lS8d00^xb z(b0o&gf=#RmyQh+XJEp3f_=`G(o+9U_zdMAwdhESpqHi#kxTfD8h`K ze>nk*@|C3A<-Z!^xwx;!CB%yOnpVWu!ivbwHR=a8h?e*itu7)Nk0~ha0oOZH2@_1nXrT* z&2gA^*emo<1U@qk2!l33h-Ew4R#O+K9kg z^UT}ZLN~z#0w8>praTrNJTCJj;DKmX^X@U39}R&Gq*5S(PYM`_6km;gN7`t{_bIBe z&9$E|A~Wv{WxcDx^hhao`S+;mr&U~v2*lfAj4Xp`k^q74$(LTRMe;s1{(bQ6{mR=9 zUXZ+i1Hlb`fRX%5mGW1zKf>au1{{z^eK0giOJZ#Eqijil0sL^oKmiQwFv}z3P(yuy z02L$U;_8%J#k}@B&LC5KnKRaF+c@BE;QhDfdXkT3*%FHTmyVs!DHN~^HmQB z&<3H70i@{9()Q08c98#)lSF@)Fa6X;;PdJtxIf^4A%YBD{6d`Ue#MXZVm{uNZEbu> z$x|p`4JaVVzg%A%Kmotf&}Hy}9bf|+c0qpx2ij#f_PHsh4ESr6`So<_>Ebt3C$PS6 z2;7IzP29as5%7T)T1K+w?-(-hJ9PBBVO@OBkb&Rh0T@AWgWqS3{Xhl%P{CyY1=jqJ zRMC&pidbXM+TcOvp5u#Z_;DP~pQxsvhJr!-@%U%t|7R8VFM*(B?k`Lg7(jyo+Sz84_bY{yk=E(gsvyMxR)hhBfJXQq1XKDL!pP*aFfx%8y&zJw7X(Wl%pc|`1zHN~@Ad+yKh&WG%Gzfz7+a-x79d3c z{w4wV6V}f_evP-Ndz2saA5g%1$$y{n-zU@$*_p6cShyHFdd0KdU!bS=;}Femp5YQm zgTV!c2>=%O0OA&iC{GsT2v|@sqpDX2^cA?jR~LvDgT0EX1^EYX@OAurNRej*1|;7@ zh03<##_2JQ)8hrqMZp6;RtS*5#&LR5xxoNF*%S*V8>gof-le`GK>l^O z{b8H}Z#!SXVZtE2tKj(ePCCY6Y&7ZJDjbyEyM?u@`KQ&Tr{g5hBY=S+=X-?^)M^GB zXv6z{hWE38t;6sF3;ckPfkY=zf#3q)FI*r-@dhpgBuKvhlMe5P)W#3R;r(kN20;r} z01A@zBSH%T2ZZNTTRz$_yoMH38$b%?e2Nns0w+j5P=Oy8FpwZzLIh@f-!mHCPbqN9 zrv(!v?hBB>#^L>pa)bT@9r$KY<(FTAh15XpI6gAABGo$8wO{-fPrCq+fU|17O+qVP;lv?WBX+}VSAOycdMgW0H1_*?L3h-w_+tA>M1Y9g6 zU|1q4_D{#wbISZKS7HB%?t+zj!BO|mE!qp;DfVZD(vNLlKCe=rXMFoqRUg1V zN(A!<0Pr^jFeIuah5Laa(Nz8}T?!1#@2!P>3J1dxFbi~FppOyT2YnQ*?|{&Kq3i!+ z8Fm5bqhR2C{Qh5B_@@|7MnPcs{zn47So2;`vb{wheqi~C##*HQ+XV-rG?+{wQuYbY z2Y?SIQ*ZCIw}Hu2;FkJAySqqN??%EH=p9+_(UW_MNEK~yK_bEM-J3#@?o;W&`+)kr zg3|9->G#LdcM;`<3-kkmv%D&z`xM)yL8SGdvIFRQP?$a<3@H0+>Wu@}_u7WW0q*Mn z+h>gvkx}=6_5mV^$i5oET`1uV^%6k$y)i8zj_#Y317sg?zc*9o!^-inL3F}We5B|e z0ZP^d%FpHraNk>m?*nHoxLk_tgY_)B$I^V9@Q>3v^R)kjDtJ;jKlg;teWjn--Q?|5 zL{)E(jU&f9@XVPb#0$N83JleLVfzH_v-SM0;$UwUKS4EV%eV(&d+~Z zP`?9$`h7-8J3;&@o=XS8Tjaisg))z@F4X!t!Tkv4QUlp%v+?;SR@m<&~-_&OLR)qEe>Pt6^4eGZQ&?W3u=JY$N>N}(6^t*!ig(PYK)aQGO z>msny_pQfN`Texdy#0Y3K<*_O za*x1=0_~+I(k?K39N>S9@mqlKg^6I;LGX2e;cMW1dllFvj0%uF{t3~C6j{C7ixX^{ zhT9Fmx3|Tl#%jnN>6?8m!1;joAtg=+_fBE>bdcWFVgL^rdcJ@OOT_hU@<95a!x7R4 z6DthaeTJ%|wq2n6(8J!}g5wy#d_eu~SAdtS2SEBdfb?Z#)Y=E4&$5E!r1H$%^Y^k7qkF*Ha_ZA)k;^X;STXqZ4*8!kU&1RhD@*!v+YP84n;xSNakGBvF zrk^VJ=0N*(ciz|5HV*}y6ogX3xm4d-EH4Ub%!Aw^%egO7%{hEnq~_63xQT8G z8n$j%iX4WyIF@#UT1q}cUsQZA!*AY0YyNN%EQbGZPIjvA^V6-=)U`C1Bm?sd`zAM- zUa3_mK%NEA_1R_6V}?ho`6DUZ9AFOlqxd@DaFbv2bKP9q2IO)m;alC&Tu4L*t(bYC z?)g@?0V`@!wH-j$HV-J;J8Z%ikqhU2J&c3lDk}as$~Qno%`c`8i^V8g1%#D#C)6wG zG3?nBD#e`h_Mn|#5~(iXgWXc?EXybt$N}L-cw|v7bn|X`1?S_^yR9(28#SF0YwD5m zEsAtkx|RDqK95~_c``|vdqAKuq?7z<)~&iPj03*n23;kp`tW+JM8mqxuBLBmEcIG9 z?AF%&IxuPLK&7oI-Ejx4N5R(W&Jb9P^4oEHoC9u#6ThJ`o%j(WWu`xemYWa1nm?D8 zpPP-*rclOtXw=Rt{jV_-n@O-ajA1)okIygdwMs9bh`KY3SU|fR_(j}>brxM(I3j42 zIXTw&O9sMQ=eM{m^~CLdEB)BYUI?#yycBCeGHt0ZEzX-#{bCE+#YmUY%(yEhGc%9xQsC4j`yseNPw4%+r#-?aTH z1_BU^QT&0xhs_K5f#0}!9AdHl1vEazqLOi8$Txt>eUZ+uV`DX@Wnb@)C$;(QY(U~z zYXvwB)hr3s0LF1kOlfDWX0r=Mu*^2xi)?f&OdI_%qeCl0VWwzD2gwq)1agJ@7E5p% z4N7-A&8OQus4#DpWgrD@g$xaD3qEh~;|afOZf`fCQeVB_uQPhQc4E#x*G+0k^7(vD zQ=`c{W3V^4y(zsnkTdHE3U>A6?2rcKdTi&}`-J+1?Ve!QH1yj=ZY{qplV zeqN`aTFagOda{@g&zj%CWb6nvmHZ8GVk6~lzti2|M%>QG65ANx=x)p?*-d26JbJdd zo3-<#zp{k4xLaaEJm8RUw;X%c(2uvdTg`hhEm(+tJPG>on%|p1VQx=&e>+;nJERMb zRAz6|-T99lEsG#chw--}B}w_R^L3zbOk5O6>UG6{e>YAWz_18NtBhz3Ej$F;Gl3v+ zWvKZHHZ>E%N^EkwU6kAHncDeQ3~(ud_qxkd0QMAJiI6F7GMt9Y+z(-Jd&G$t%+)r{ zG%!8W@Rwyj4uknP42}X0WQrpoih!_@6PZp~(+%USW2=vX4AEJ^Z&nhZoHg&PjgI-@ zo;<~SD|40$us;m!jlF1&pJ2YTtmQrU&YB9quLN%~3hhn}5EqNbLn{{4d)p3;v8onY zRTe*?CXD+5@H@uAj35=U((${Ut?FUwUJZw_x(4Yfx;6Dd>GEp_^ROLj-MYx1;5v9A zEZ&*rXI_zH+y)IfTjbojy`D+~d}qC)Dl}Fq1dpBTwCP+b1-;`o)o>qNbmuizy4h_m z8Gq)_r|af5xau!NY;S;_diSaK!bt@NpwL;qJr4^~bT3<;6v1zmal~{nKQGo#24`O$ zE~Mx#(a*5Dd+^cK>$lR9OWhWT(4~zHm6NWtp-rTz=&no~s%3eVt(9$ndbZX4)htVM z#WmDKnP?=mDGtudS(n$bF0Xelmk+MSI)U+Ib?#trGXKIwH^;;-;GK5fW)d89#H^Y#qdz9!NXd1|zdsCWrH#F^E zTUri>o(Wz#Kc#6e5lKKdC9~;qGCH3FO_NO3h*}Mzwl|+qHKx+Q>q8(ulVHeG1Dl9H zz-2kSkT1whhmy^Jt2)L9JTsI@77t>s4w()|6{0?gbPj-3w+x4t5BJl!f`vO0;lo7H zriq?S2bexxDE+7X5mYw=`ldJmK@K;QwwNFDVJKI^y(rKvqiM6X7^uVf{!o>{(6c}y z>g}9(S+SNJ6&C9JZP{4qjN1ywsTOwuRLWi0 z4=c7e=g#l$d|$Ce2;LR^WuX9c=I329hHcCI@_@%Q!y%@X^_^WkPQ>l1W3?At8#ZjP zWOjrvDdeDCX3|n+%_FMNlM+{og6paZ)*qfIN>U+2N$R#I{IaBbIL`~NWa0;PfMb1O zlFwua7;Yd#D0c*ljhzS!kPMlvhEDg7bq8@l6@>1uC$SB%``OM;u=pZoxG|pt{RkB} z!=}}&GdR)_AFwN&-w8Ii+o#xEX3BQJc0Y$ASo&rkGT-CUUquX95oU%_WAV=fg?n^Z z`~^3kgIK`y`Pu;slN@#zA`Y1!%+4Sh*okOhW+ob-5-t9akDwUJhXYLVrBRS*=Se!V zcXAmxHQf1YSfLf%3Rz@XeZcaS?-a{-Dr;Sfo}QF-OpmbMPpPl>f?LHja!J&3zsvmH zR#*f>6gX6c?;nl}rqbQ{3nWS`7F|aL5!ZJG)>leBl%pj@AvF9|7}htMOYc?2Yz%l-R}Pv>l>~HDq=< zO&enofL5}YtN~n1_j4I7vW8|lH^N#vB1SKhCDm+-Hm0yrmpRq6h*CjQuM9s1@+%QO zS#exD_xpJiXZ+v@OK5JybPwdQ-k~_-0V_>0v>2=7vmP#{hbNFuAsA2KcA55Y2|Zk* z9-;=ZF*CCdMbxs232e6?!^UFpr87*FOZb1&Vj}f)V5H(+>wsNeki#63=UsJ2X z5J5uGu2*QokQh98y0i_$v|+fh4Ny~ceobftaBc3Ew81diBT&vY(OOZRKby>F*Qcmg z0BvR75Hg?R&e>0_tYV0jH3GHV;5Jo7BQ+75$-J4&*7rVWqk}fK9z+|zTTIs0S%9y~ zs_)={y=YW86@FHg)X)C!1TE)c=xiKST@moy7{Xq4d89UjYB z>Zg~!ZK5(;zuazECo|l1$yLJqbaJ@HaD3~;j#BwzRyF2LJ@5;Rg)t1nel|@_<*2NM zBVz@NF<&52G*;`0`E7OgaO;64n_W|t)eWt-<-Of6fShOHPpm?-Vk*^_chw&c<+EGO zh(7_2;e;wn+ma$6)lOaNh}KvYUtp3FgrO(Jky;FyBz{pRVKTbR(GgO8c5v- z?VKhpaeAZf4g4n(;t76~WPT4T4F2;5*45!|CWmckq<4N{f?(dxsr1B^h$)G${$+nqBsb__u!J}-2iyRAEKd9sqai6rRG&$?g2(R3-3tTS>K zrNe{-&UrIq~M4S*0$0iNa6SL0xE~@4;+HH?VOfSN;Yn1HT&{7Od+_e}&kor1WiWDtQR3F#Z>m^^RaoyN~^~sKk zzkyV#!)T+bJ1G_J=|*zi7;oLyu$$aX@*=s*hRz&E*9eGndp?+!RQzrVN^hqsh=I5* z3`8GtvpveYH(_Uj)o)sicAx0{0103(rEh&6VBY(iSG32AKXV~Kmr8vD4MG(VBJ$7K&v@nhP9 zQ1?5sx}OU6AREWD2f^EEGzY0*4njAcR%{xKKWapzaR)+!dT=C7gWlWJp!X&2eTJNW zzsx?O=dBMYoh(2m*-ZUq3{L|RPXq8lS%F~mu|}??@lF!GO5+Vq9TX)LP`%EI6S>yM9PtNIBu0{H}@j87)+lZmvO&#-O)FemOAxs0yK z)MH`hGP>gbPL27j{6@Ra^7eDG;?P|8$hxBy`;IUVemgU8;(BF}t9!Dnh%c`!>~3q6()=pV!4##-YaQ}@uJ zcr)veB>bD!jnpG_&12H>bs2W7A)pLJe>d83;IlLg=lAM`e?JudgXk2xCUcG-$}6;Z z8SBKeiF=m8>h#Z9Ek91&a|$a1tWGu@r0jG*!mFMJ;HNeKVV-^_TMnH~{~T)g7a4Y7 z(gDW9=BtP$hb;vxHn8dVB`4K=AZICox<>%dS$ z39!zrZDGgHHi5ru)_-!-cd|3Z0;V* z%kJV)YL_RxmqbG2NnXilXauh*kzAh#(m?nvgvJ9D^Ydp;hOXd-x!P`Rg zHz6L=!ok8GgxWGc8XUvjo$oD7Y(WYz0ajLq-gTw5B3#Zk?$;mO6>E4q*DHj(CEsGl zPYdW8U8D-G70Hq6lB1+H9gFQsQ2)OL4Q5zP?o`n&Yht3)+OAp^kG22Aybj-qT)igZ zH_1(!Sdg^6o8R3PNed~<{iR5w+!cUDlNn-DHqLTo6KX@f%)yp{~)&(?}6{oZ7{RswSWf&5BVR@7S# zjnZ2>>G%h8-m@e;YuE(lVAgf5w*rV~DiK=0o8|g99=y6jqD)w2IayER2&)={Y%k;} zF`?CN1fK4q^!VtrgC^n($1QGZ;t3(Kxh+|RM05$4{-p=Fj-B96 z+K4F{O}1Ik}YYfrc4e}r z+ugY{`F~i{c%HgbqMguhQ?rYXww69!uMa{hfd?*l!c%se#ap)>o7Q?&(m6iKPDueP z%%r>~J`Sf()aOS*bb}M8DAMk#Z=_{8oSZC7T3)&y9SudQLi+q?r&rTRe`(S&cKKtG z1l42S%o?Y&m0p@Uj~*~o99OQr%7}HOLv`+WRg6V#{>-83?)++!95!~#Rczy-Nl$5_ zNgaoM8#};!s?>Z(I3-<2dZKVRYK7}KfD{kp-~X07AI{y88#^uAZ2T$*ji2j)SgQNBG|~|a z+3Y-1{q_#6mR9Mc@Q$NE$_ce(cfH>Q8d8@dhlZH^xZRojxG0fhgDY^n!D72*XSrI`Pu8FR@^j(o5d4#Itb<%D0i^QA{>NJ;|p^PIblwHG^#a6ed)zXL~ z48@tIV2%u-7|5uWWF&(%i zjdN)O-(#oy*VPSp6no8{aFZErs*0h>dnrlC${w1IqTWrd>OAi!6O_3JHCiEAT%VMe zf=n?Rk;)3y1Bybfj!N3xg_RoRUKVXsoDDVg(mbk#6f6_nfoxWK#RcmY+a2D)u4vIs z4!>-N7un&u5%e%=JvCHi`f(^rTEW%PmrWBSAv&HEvWu-QzgULSu8eYw6r3W_&K?vE zli)?<4i8bVn;Djjsx5gq+2DYU*Par+)H?;+b`lTgys^9$-w%B=b!^Sg$***Cv>$Ax z9YrQwnHAlyZ{ zOX@Xt#TtAZPmVJ+5f^gRKU_#MBuSApV`)X@9Tu_v@*6$ zRd)AB{Tim6>l`ar_u#{!?e-A1)J-wr`oe@I93H}zx*ikz>mmAf)eO0(V+FwW)w+UfLd#~BBo;Nro9~J zBBX0j6k*vls7UKb-veC%z$E*Ry{%)b;`^YHQ$?McmsMDlhuKm~)$ahCrdLMYnVoLT zwt#0^TGPJQ&{JxS&f)?+tKw%fAE}~JYD%pREyp>Q$P|?*m+XfTjmjvZA+n)bbnq?+ zSr1k%HEZIfSPF}eWU;tyya*dM$dVwUKJ{p?6vron+eJonhm3raQx(S@UPv4}&yS&^zHFEoz-; z?Kw0=wiUJ|+v^&rDw_FL;h0R3ClHgByV;7uF`7HShHCyicflIKl}P|s*8IyT@nx~Z zFn||R%Ek5leF+WU;x2JphWu8tUFrZ&*8F8QCYQxA>GHTjQ>W2G`77f{lstMUe`Tk; z5=~UA+a^+?>nX!gLMa89gQwN1-|n_YGI4cx=Vyw^sp-aRC5`Q*?b`M+O}ki?Uc^nX zDm{F#@uu)WFq{$}SYveYf#Y!^E(n)Z8j;H`guz zXnKs}%#dRoMrCSq=wKTZbN+25nLwe4K!IOf0Xc=oWGy~JKqI4aGc-f1t+&n zmlqY6tK^w()^O8)W4a6&V0q>+A-3JBet>Qxpc4F553sE0Vgt4dK-h;Yu>7aj z>w2@CC+x*OGYqn%wjXmK2-@ArDLcT6c92#bKx1+qYb$pup1o6?OPQ2qim)d3u}K}9 zwB4Onm7pQ6kiqWGr&^QE=_<;TrhZ$AX^c%D1)`@q<91(!P4D57RMcT(+yIStN;rfPv^mmJdg@S=AqaV6aO#-72lfzgRgTqF zbccu2B_i!j_S*|Y57*r3Swn?gFpP4a39~rVWaT3pA8S$<3vQOyJ|=xo`;5esxyR3O zbM)#cdo|#qVc(H%?r7?sv4mX^cW`K4I?9KChekehVD{8ArahqS|&+hATn%I%Ias|93GA6 zr}H)_4yL;!M3npdOs2y~vn7QXM>|hHSPV?i1>B%!dr@63R>0XYh_ z=a|FB=STDWXn7d5=kqjPJ-D3J<~!IBHaLgXNH1c$D~r%vFXnGnX$BzFQ~eU83xadW z$*j@RP@^nfAF*pRDSO2;Ww*vAvz0cPt(>Y0BrQA?*2x-rYG{Lv=b~(90rp~NSszxh zyH+Uz{AnP)R=RS$;+i!ai<7q7-l|~#S~p2yk>I$jPrZ|fNUt=e=xeaOC)yDt_2Mj*cWRqeW@Vr=WADe~hoi>ZWjn0bY$NBQg0@l%LCYcR@)&}iZkULd?poGZr zc#Q=Qgm=S4#P0#w>pcJ<#PC3oa=sGVmQNRx(^4||BKO&#IWQq5b4J&Q1R?emo)ki4 znwm@^-YlM!a54!gxYO$BZBQ#?>0(~1Ob&tGm6oR$LyZu7XbN*{#Up@F=7w-Jzz)r$ zm`NO(9Ripu0LzBjOWFEtBd6@DnF1QVzXGG0cn@VXHg#578&px*`Yl^3St6xzsTD4T zNsuD}?srGqva;InwXL&qK7)fS!CJ1Xp}jL0YXyjQ)OKN}NB@r1Ugf>$UqPZH4ns?R zJcDeg)>uxLBuHTuC;_2pNMP9iA#C=N06nbvWt6!rD|2~B3PT}|6^__yI+>c_Q&ahU zmsDU1M#J<5P6Ozxc-DejNvcjej(O7#Z7iV|D+CzqX>k>myF34sBs0=Q)GSVJ6eHWJ zK>`a#G35`(6>5i7!=c~hO%hV%urmH6w++naOOqaLq_!3V zDoSnriA=>3cf8n+7^iP3g&Nd%xJkFn$e>-0BU2Cdw1@o_gFS^B%;SbSI|}?OTUe~k z)?fjfz-?gtTJseOt;9lm;WKDpPY}&?A)2vY@bD^Ztu0HlGOG#xdjOVQ!Jy8JjXsM; z8@oO{mLw(&Z{5^&58QZ*xN%*4IpVA)JlAVWoX4BmrLwOY#Zeve$3p$u%9z{csQbV`+-LPNG87AG)jD# zU2q5d0tUm*C#2nUXi@o4#3pPRc8P5o+a;#ikXdCIKp+{a8TE$x$>F45ATZR9CA7mr zLG0$9DgGt&?qjld7XNHAqTUKe0$p;O!dJA>24!E0AJaO?>o&{V-HcF3yC z?DTYog!>j)FV4^X_aWtp35su@Uqe9m4=Nj?7XFrTbghw zu!dhu!wo}U#r(Sm`Q<3{ZyI$Ojk>I{QAje=A|#Ky!l=WQ?h1Eh&0j?UX8yef0p`J| zdaKh=^*K=WoT^j&%PsqLVC%1|2}geb6nz4U{#xPaaDr2<5P?KA+_%HiF-)l z6{?`=We*O3zDodl+%NL%%?ZePf-6}60L_#25o#i$0)_G4HyV!q4N2*zqNl`Hph0g- z2(bWwz6N%l20faD)zt1EOWb2g)Q9cykE@Qyn;Q6paP(2JL<_rwsL%Pg#|R5U{v9g* zsRTg1dy3-stN8tPd9l>*Ox!z@=+W$5D*auQZv0xGp!M%I?D~5Is+Yys(>4lS!q)Tk zKvMdNbpd!ih4uOOB~F<7oHtB8fP1XrIDhQj2ZW{9J7Ox}D?G+jP-r-N{Xqfi#k~Nn z&t=g1A)xi7{;&cn0I074r>FTJNt@p%RQ*RS+utaPf=KVjl;Lj`Pys|eaqoqyPl+_x z`cGIJKA8ZmSBIX7E&r5|^{W2UiR0fhYI$hbXA<`rd(#B7mv?R2`8kc)=QJPI%lRPg z%ZmiF$LS&~;R{06_lINi^IX{8ly8~B`50i15k6bwj2%mbEY$+4J&9QkGOR_5Oyyj^ zUHfRmT050G>98q=q+2$wyE(pSKm#d>*h*o52rXEJt(+2NzKWDIHEiXD$DBA&wX zV4)T`OsnKD{Q?C`%IWZ&(;Y@*2)3TLr6K)fA9>Na2tRQIy`90M85UwR4$TqWosYFl z72s16z&wBYu1|T*>NMzx0LOxmG(?*!Fw}MEO)RTLw-($Sh`SJz4tEZdE`bKz#Xx?g zxC=D|ZO(q*0o^j8;0QMr++tfrA1M0}zS+tgLEd%vXvr zSJki;`(Y}ilwq7k!k}6BMOBR*yG~))a5p1DVEV;Y=$#7?7|*QE(zO?E{AZ?RpUo2! zl{fpRVXv58-C8>kh5^Z+ijtd}qr+KDi|0`r{;$jfm$ev&SW2}Z@Q%lb$c^$+v%nqe zjw$`UO>*SIr7kxm%`p1WBvX&liW8x)RI`L?@P8Gm5twJG$}hr?pCrNG0n{@~-SXXj zMI--XZtpflUk}0Tof22-Sh9YV8OcGIp3@uxbtLJ=^ibI|7Z2u+F|u-(@LGs<}dxyhTrUwSu1qfR`Yt_=witz!o)BE z=9?rP6Kx7p?61^?Q!5i5c|QVfutE}Uk8u4ixgK4=0Wd4FXp16?MjV#iGK*Tw!n7a8 z#y@N~E1GiJgPL(1B)lcS6j}4m8dheHiqY@(vl?gJz(Jdu1lxiJ!NA%897Q7snDn_) z0wK#zC;e#JcyzskMOOAaRWUy_3}uj;zZ-VB#T^qjS5X)dS(`4h^V&Q+*3dY%ho#)$ z*^!F->%6k{V+kuhm1&2a7+7W)=3xx(lVEUP^Cz=nPtI1XnJM?nid4fY{o=}OCzfei zSsj3FvI=qQrc{_N`&ENQ6J&F_EInuYzQPleUvC&wer-d=VphXh%qmAx>@%|3&ZM?8 z)7lg{cpxXyb?}jF;_D&5fwphZX4A}`Lxtwead)_5GKjQOZ#E5f!8GH`aW^;07PmPY z-t!qFbEp*U1}|h-(lBTgEyaH*A+t8!jbysTZK;>NwQ*%!>d^jg@|RHzq0ijqHGc)g zT#=3Ll`M^`SQ;`t#YW_jNym{RJ^zmcp+VYTR^Cr zIB7ShmA&A!np;?kP^ryzTmXJx447C*2*^kY%?XPRK;ZGczMJwaOyb?_aI=TO;fWk< zOc^YNt-g_SKM8kXB(p{_4i&{Hab^|VG`xH0>S%d-2luwK-8thojY5YRHcW4iAP@c= zOR#>HWkzVmOt$%q-QMxmWo`4$?*|Q7^tRzgIK}!s7vckc4$0>Qg8caWR zuq%zym-dO1kD}Oq**}!-)_abQAwTY)-Ne6 zqR_Kg`5_moUU5d}sHg$9_s0F`rHUwU@s&2hras4=S2Z!wKk2v$sm`Z_^FvLVmW&7f7Ltf(Rrl2gGt=avd*X45LfLTRgd*#hRYKxLn4;LVM@Tb>Gl!57Tc7ha#Z_qro^bA+1xOD<18E*KW7a- zJCuc0jxZ4FHm+ve23lwX*N2jpkgh!1Se1+@o(AW1cmAxkqfz#$c)q8ki#ku97s2^x zQA6M{iPY7y_s^Ag0`Osy{ycf7jjt8nDDM=Ne=&Kd-S=_&p~%@ph-WaySk){WTi2A{ z#q|VnrvPK&UPAkPriar?%=swoOdHfC$}R>ZENd3^5ICN?du~cM|Gd`rqr)&6%D41$ zo3Hs4X{v!?)^aj>EwjKPo?9-E>@MELvOZ32%#?A>s2(az9cLP@M{N@p;geR~GR;sI z_Yquyu<)pSgf^ei6F^S0ZNrN?EGx&$>>df+))ahsSZW70&=&qeV6L+kDNp$dZ4 zYQS(PCnbRP#6^G)E~<=jvgaIYE zNs(8Q>q^^Zw5ZQt#g^H|qit0%1Xssxb`^dbCmt_hKzhAug8>txr4ZHON)^IVr%afb zGhMmFeCfT^68e)htUh)2Oyp1R^|$)KnPf zjHSY$#08{Vpl%ZsQC$=l*QVQZCjj=ubShdWN2Iqv314NkmzC_2Ess7$( z-GP(K=7X)Sv0bKoCH6U9_Q!VkW5s8OmDMu-VHHhdtxOy`Rv39uH*6^Uz*zY%U z${G}VglpNR=p`-Mm|BZb^(oKGLY|A=#rypw_;O(Y3LO0kY-^-=pGW>i8S{v;d@kSR7tqI1>~t5te2p*uSnrRiv{PopKL2pM1*?K zMLa+~C?blPA_5N>rlEK>^`M1#4HSl=qj>QO}4J3ncg} z%4^Ul5T#k;Nqpu6g@XH#)CoJJRro*BDj2wi!F6)hV}l&E3M+Be6Y4^l@G;u{x2g+` z0_ug2({|JeB*31?LLKO;L#~< zDOV{3>?e|xrF@B~E>fYJ<&T8w97|lDB<{jwLCPu<8!UQpv4JI=$YdK(yvoUh>viT? z?l!SI$e0&w$=sBvq_jM+lwv7*IP>g0GQmN-E2;8nlxY~0Djelu97H;X5O}-kS(&CB zXe<-qx5~_JO*QXWmhx^8I^-#HmP77c^|Q;fIECOR-E3WwvNGq;&N*qB3zHdenbI?+ zXmN@&K9lR*jBp^?>-i41#x>5O1#VvHH%4rap>Vr0RS*p(@Rw-R5e&NHveq0=YYgUv zg&<1n0O|?{PI|e+AV|?&O!ID|#<`mU05osbLpw;rSl7@A`{6}G3*7>1MH-tEl zcrH?U+jyL5W6|hwZVGr44PR>e2L^v!upI7SWGirUAITytf{*fpk}9>CD+&5k8WG zW-|v3Bi(~(PgV6`+M|c4#7j?^lqMokPxseR#&xW$tI>>K`^V0lUHp1De(*F`BxXZR z`F5Zp4_13t=nd`$HD!dx?{tK1s6?;mAW>_6myN|Pn#F6NsQ#90F4BX@?N*_;x?BA% zo$eOAp=Gc_mbt0)ToJDsS3EP*HKXIGRBo3%MA={iuyt_*@EEL6= zbhl->M~9QzdT&BM@0AYJ>Oz5jpCtfe`idlak+3)Si@bA4abUet$3+^@g7d1C6H97g z()H@#%4G-F5C<32$C>+C3?aE z#yN&=yv8X;32#bE7~m{ppK*+FracVld_+ePr8+e&+H&G2tz(>F zk6M=>Q?AE#qH%^*be`e8DIR8cZ&JN)PwVYTPcUK`>Wqr#FsGQ6$??U%{Te6AZv)_sH{te z+FvDc`F>C(aBh7tIh_NI^dHjHlG2`O8C$QrbkO~E3Jjo>0nR(dkt2?C?<0)kM>URr zqtZCtIPo~jJ{FI3E_WPpt($+?^r$&4wabMv}&VMx#>G+x)*Wt2m2fpfffuA}Wk?qib zlGi%r`nufGDc3hF*EbXQjl_MEwtP#Y{jIbmJ@Q}oZOic;d9KsG{%&mB_Y(I#d-Huc ztkatxB<=_44E|6({*fHmo$jAina^ql$!pK*gy^{hA9iZdkLAfurTj#`>>A0@PZPY^ zsjWX#ng1+jcKELw^8cby{J9+2;j6BO4?7#hU)0#$U;moyz{T{Mg~mjsc;l ze@pOW$FENJuZe#?cI)5e$W9IVO@aqI_k4ZG|3g0P^yas6UZ-+@2mIwW|NF%KE^)u7 z3IAzc?fz3k4kVEp{)<9!WXA%t^*SHFcIaRJTTlO+)%kxD_kWYfApHRbX;0nd#%PqX zjM$4pN}xUwm@;!@HRRi@-*RPzumJ}-Wvs0BVw72i9Px?s4+l_px<_JUL9#;U5r@g= z2(C^{@`6sKyYsH3AX!6O%9j<&vQ))cO+qKfd2xW`%qtb|`($ShOqZyM1xaB-b^|LhDH1>X{1FVpSg?{`Bn5f0 zAIDc+9M*y$BkeG7te@zbA+?a8>KC=gL=(fnK}WTsyI4(`+Z29JL>+=zSqjz1kqi$r zuMK3ypngz{Hf(lObQRIQX)yU5-KebFKMM@5yd14o)c6UBlNEW86 z;-!s2sKu7eOFHF|tF#hb9MfW%36iTc>lW?{7{%121l@{SFCQe)Q(DPQSq)ldG;rM# z89v5zjT+BhZWN|q96<~{%^hB4`U9Mwip&gTO#f%0KJUC5Y<|yVM4I=8iy84pBDgxT z>d~cW{YXsppW11rDQmAAg;Y^378D%PY+*y0W*JhFqA}23%VU}p@ zp}}3zi%dv5Vt=-`i5P}MS4|r{Y%JoDz)$H3h{&N;2c4x|wg?-DNO$M{uAYfVJ{R*R z3Ft!hhor2MpeDQdw!7D!NS->I5!%a2fiT-PILHE1GCl}z7M9RNqnHv(G-~F7+(DVN zaon4*e7YdbT)F%GIEX7ZSqY@!oYIH^upP3gNl&MnC)9z$SV-Jqd#P8b6cp8wIYg_$ z@=HabG_tQTjG&$-~UM zd7C?`Ay!+zRM(~dw!CwxT8-a7xQAXJWTKj3dxwdI!I;v2`50 z@AoT1Cgh*mLxYZJV5KLFvj^cFW>O)*qE6ckAnX7(BM7SxX{aQ;!^kREJK}$B;9i;p zrxbQ8jZ>&75ohSYJd=cWAKlPwQHh=-o$PbU6S$BP-b>+iKy!zyH{k^-*mNB=E~IU4 zvu2~HxMiUe0J(LUi3XKLGZC^TUPxJnPZ?Y9;rtfNCjZ`gy_Iseh9mM)2P&oFFQd}Y zs1!;q`71dj0(83pl|oI87;Z}29@dPS*w3BS8Uz@{T_b*(UjsoUKwEN73KLoDjXs?TJc;fpBrvyxyJwHMk?%O74~vb+4|fS;9MYYgIz-t#>6K zMUu*It)+W(Tm3M1)m1tB-_K9Ykls&V70I2J%j)IGQW@X$idypzhqw*Q`mst z{CaZ|2>~$gL{im;-R19}hB(3O&XvluG#_pxuPHVcBws9+^N^&U_d+NEe*$jvAiw-&Nwl&Ud=b9z{)rv zIvA{MF577H!ST};iq|vbS~v1BgD;i7V!I9}ZSu}0+ie3bSDM%g1`vz5oU-C`m0dTD zbiI!7DR^2DeGmDI~*jh$zsjZg- z!Frr3x)Dqsx!TX6cd0ufHz2}mi42CTXpxq49@}`nBS@rz0v+8L6o^U|A_+_@>4E&m z@Y6$}nd;%E6?{6H0h&1v;z+WdsAHHKEa0>Vy#a3fIRXeabv;r@3$PaNChJe92tR%Rua@-wxxipRqmiZ`UFo@-c{r^JktoW$kSYWhwz!l}y!aCTGUd$dwKu3@94vx@QL%UU8ILiih(C^O#_I=OTJ%>5d~m)XdGjPX8Cc8s-H^*h(2TN3Nhh>e-7$U*XEt*=AAu@7D(2pa;$WeqKF;-Fv zi9wO>uJ@iK9!8GNMS5X7L9}AFHUyRmS}aGhZ;W#sfmRR~N4}H>bPmlWKfGcw-TxpT zDawE`Lzv4ZkPFOZEm(cr|AuGQmRuB?^&+9_sk#T1IUiW0yAxI45)|f3B2S09JdC;l z^ff%oIQdOgz8BTxox0IMj<&lFwZHfLpL{+C1Uv)$Qh{d!t&dW_v6 za*ntXD;~A>oj?Nvn4Ur&FHH-tBkLBJ0FvJkH=A;fDiYA&M8XmL9u znJ!}fccXf96Ay1<@nr-Vp0V8FZ>DZ>i#Ow4BRx?6g0i#d(=CcVjb9pQ?aWcpryVRJ zrH&PS`ok^VlGVt-;t2i%vL}4D@H?Zv<7-3#PKvIWMpWEtsu2}0{bw0WImqry7))U# z0eJ~h8jPm!nQBA8P|IA400L&*f>5d-Vb@eGt3wB)aBI_;;oC^+B;bfNB?`7EOq&xQ zn<{BWYFvDTn|Zxg|D4V}d*@Su2fs@GMFbwLa;Dm4goLEy`csuyiy#iX@52F5gpk(!@pj!y;}yyhf3b$(1cv8CD9ec(n(m<#!cEjlk*~I8 zO1hlRE!QZv$(2oL04^|e7d)9#%;0zfBqrf9idVLSLKeC~B|VK&PE#qZ><4aq){l(h zw2IW2fW+SPg1zqWV`H!JpGYwz6MQC^2DKh!8uZWkmK2vZ{m(r81m{ZS!)kCVi^NX9 z^#`4P<{_H?Hrn)%Hw~L^a%DMX{$CR=bn{ArIFSGe;f&Zc3gONei(97nCJ%2duD9`Y zJS>!EejManBWUr1BqVsP>NBrZOen59*+MfZF!kC=gM28AhqL%gt-S?3tm73DptIJc-}X;~TcKNb+^n&cBg z3OB|@C0;yDs=F3KF-Ek~m?Xv+F`>5QJ(OBZ3|@r^F>mXzlqxjiMQ&v9?FmeXo4zAh zT0o)0!x@~51~$Ku!M9}I@ok5sp}MNXWV5+XnNajbe`H98P}Ci{1J1z(abJxghE&{^WnGy85Qv$veL4<3YHhVken){Cj5gt z!6f-)?h_w^vZVkTCXWCzSbb)33&tn?18jImzfJ%ghfDVX7zQG$OLSYKmGNdMCqK6{@hvBT@Np4K*fjX2U65z?9mMIeB6AvU9W})*CW>ert^I>xi za(nieBQP!gw(~39v`F}Rm};sW2omqiIfDH8;!!bFCc20QM13*m6X&4sQ2cK$r#P{p zu$ft5t~}X$8b3>DY|KN$`7GF`85yWN-fEco>zcPCxdRz&rpgjHD(<%PUS!#&wQoP!B-Rjzj_+9Oy*}aCD%TarBiYj-Giv zCYII<29_}E)Z66QBlHbKQn(!R`gq!UyxJ-^dFuFLeUt(&mWv36xPA!*FQJu&js4?< zT+R+!lJz4UuuLcE1ETGgaU3r{fLNH{y$A&m8n_kiZ@sIt{F4>e`z2 z(SqD$?H&z~?H&;4r5b_*w7hO2qMOeG?uQDPSnI}+=TF9(#dLuGJfWre3ees*Cjnx` z;G6oTrx(#>j2)Ws((g=XJ;CA43nl~7Zcd!f;l!wmYK#gs#|Tll^<5~sdIAw7}C7(<5(0o7~=#s?3r%8gAxN*gJGDPt0}SbnjVl@)_nLdDpv;a0>F zOZ?(aw^;H^w^ZUQ>xzLXH;Yi|)@}03eyEk@#D~{@t_v%I0Fy^K50G*{Yic8-ED@h~G}NW^-4tBp{rZ95jEYm3{C`s4wiJ)U%C{V#gJ^M+VV zM9OPgmLaGaX^1tzVRA6USJLzrQ32cARv5ugMEF^qs*?Nc>HbiW0#>(q2(i;6)QdX+ zqYE}1xXxnha%%{#`3~<7!_kYk!H&aZrXv#^ndZo2n0{+3O98Dd+{bp-XA6H41~gp! zKN(RA+qF+)p{MLUJs;DR}kyc44Z z1$h?LK^vo8T)HXRhQ_1NETwBnCv z6&gso=1-tECxl@(n^HA7T+U^yLmdNn!;}@?68H>M6r}(X0xK;eJh49}e5{NTJ_gYv z*)1@4h^EI(t|Z&aP=#Id=Oc~$bfY*j2qUd)t7xR@Eznt)?=XGgKhVr;N23-+cO)pJ6} zH)4p2s={rI0I+kZ0uO$6Igs6+M3OjHsKAvdjCY8nU0s znFC;V^<=}^+0K_UURV*7-{p2G(BjQXx(IP5AM;Uu^D%%R z6VWDm@ZF{Vu_bUTnQzshW9^l%;1IEq_U6!pw@MR^od-Xcq6#lVrEV9DaV#O{H;Zla zjIO07h-0dhB55m_YN`D5+!)BTaCv?arAY`Z#+_OoM<+$WCVCU1(4;pT^AaHzmepek z@di`+opssJTL$D4vhQq`hwisi##XhGw+O3pXvXQA(};S(c!{9^gLFy6Y{`Q;2*x0p zAfOLk#?W0=$vaEmvK3-!1I>ftX+PK#PkFO+!PN@3C$o8CJdB9FJ;@A>B^IzJN0G*u z7rUOS(OH0sWjXVOfQ*CfZJJo7G~`;q6BBTl+XUrWNI4et@c%QlNH^a-z^l{I4iTjRDT}Z%Q%#qJ=eljgn{S8AMhPCX9A?OlT`2*=5NzY?XijFv><_|F0&7yXfVE&gO)g-33Hmpaj+4c>+^W~DT=A!7IA6NQxb>)Y(}83M;@I)VtTNi0Gk0yYL7RG=>NuM(vg76>Oz z+W8rM7#by34%ETY2tW7@+w?ZYSzg7f`nElv#0|x8tHh_`d!!@t@m98|YkV|r6 z+f^aAn^Fj+cSv**NibZ2S#?AOt-c_vxp1=?8t-N!-)NL)j+`Y2%L&S8^IwHV91;56 z-TCVFmP7Ew(+0=5y3S;e=M_#OWs?y$p;Ty#F^R*YM#wrB)y@O#fH6_fb+t1K4(@DB zwKLT+0O_*rPcM6PM|%vey7UWMs^(wI6a$i8PaAyU_IT?)tyyeD+A&i zOJB9Z*OT0|*TeoCI&Mz5YW`ft_S|f2H-$DDrx;}mvc|(3SG~+W?DE<(yF6RvW}8R5 z24Ed+lwKBkcd@$&WABS&?=GR7OCT_@cLNBuEb-Qm_)@pU0f8*N!diP7i7z8@Bny|* z_$%Dy?utsCjjZ`?G=5ub`~Xbk)iK64iL2zV)*IdKxAR~-53IoX{u*fIwLA)z0CIViH$XFBfoD z6%j5GRbo70M5Bk(#~uTX>Fin4vPipjxbQu(aF|kEq-OHoRGT{(KKKl(vNfr|RR#!5>Edh#ub)T# zRnN7%KP=JN-JNfqc$gffw{Z=S*hAuvnfys|Dg1*JUlN5#{2}qkG^CjgR!9G?%K$jD z?JV4uSg4)<+o*~qeK{YT|68EMrtgdq3E=C(%4Q6UwXY7WT0f=&hSIk9 zKJ=1DlwTpuR-*`0PSs6>nHIc=@o#askTdP}HXUyR`O7u@DrL5=1#WgES~dZ!dX|cv zaFwx6I9^7aRaymS9jvdxtk#dIl(FuM=X=!F`@sg{B)ABEuSM#ZP^uol@#*}v@O7p8 zEo(gYHq!`;2vQj{B8YX(1e_Of2WaPDLl2`n007Of;nn+#07kTX14dL4be1FS87v>d z!GeL?v{JA}acnwUqr zbvC1bkF9hRHX{I8FL~{TkQ7Hn^1HQCzcx!LBYDcX;T=H>+_}1U**id48a>;{7a;^e z45C{a?=Ip%vm~aRDLqhch*_KWU~OIu*5);TiLGV%FbY}F%?#v+{Z_X%TFU6OC(+RRnM=YA)>UmF`N36Rrwrx4CT+16>_{Rhbi$iB$bH?kdd9uPOae zLvuJw%+9b>l4RoMmxoN(x$9KK_1LCgzp=>|io3yN?do*q3dM51m@AZAaD}o6*#_<1 z;%{YMZgaaq@!#fdjdHd<%+sDoU1f|;lG_uvH$jk50o2dR*%!T{)UZHj!tOMnI^}H( zc>cx(aJL0MN|(SrC^pB9^K^G^w4lDZS-xdC*ut=PmYlfS_&qh!Ik47{$MbM%qWZE z1XgIXTFIrsckh+F3J}J|Q5+U?8h9+V03OR9N-j%|INl%H=?;Y`bXPX+_=2lLpJckoZ0rIJz8L`YnQ^P3Kk|2|+`Po!CJL^tn4{&7U5$8}FE=s^B zY28cg5O~A^mfKuJ40A_EIH$PzEJ{m`i;~DB9)puxyKN0M>D6@C(x|8>jUGxuc9TFw z7Evco(Jj$1Mi*{Nkw+~RZASiH`nB~CPk3$_Ze|z-lfIubru5xvYdU=FN#?w`3=SYD zJ9Vcj>P{8rPOZ#>88efLlVe$jSp=&a_5X5<3JM?w{8&dJAONJ%!R4ttqtYa8XTXrR z>+o4my7i$ler@0vXU%-A8RGESBCwm(1x+>qWVbkcG^E{c9_$GM_ZTKg!mtY{=Yp!- zn)r)2T!Sx@a9K))tCx_3>(YR!PpzOW>ev7W4Hu=-t88#DCDElpQ+1iU)Lk}&lasoS z6L~lxlzRmh8{JpIyD>0u*$RY1bk?Hn)LIa{uIn)Bo;r0egs<3(wgB3`#F*Qv`6 zd$IY*(u=NEMV7w9-#}kR_&HJq0lX93FEK*g_3j2F=MP!~Z=yNoS*zx6W>jvDi+aAl zh0**ANy&%&Zqi^M=5DR|+emX;w(v8zCaml9B&o?f><&9Pta%(Me9q@Up(%Iq1G_K< z{lMZ&Mq#|ZQ>J01S6g%LO<0DU0306oCFgKtP&G$^9S91ShvSm0g&Z9ZB&CmNC}=CD zVMWdh-5^=)X6459!={D6M2EhY8E{ z4d!g?4YYggKp=QE!9FZ(I@_4@b(R!4O<0)rV1*o-Ktnl0iX0?WohNTgDf3&P%s6RnSmw|Hof!ww;AY>u{Qu@+g-lwp3khLJM% zh>%Y$f9rL3?nT~;4rrS0VrZcEn+6bXuR16+^uGdPN}DZ?-r|6>JDI~ zfM)d%keCUgMf1oTW(e^jR&m6HbH^;8-i6#=P5m;0Y#sBKoszAWUSkB}crtP0`o0Z4 zC1r6as<`K(P&@FdI^}f4xf81bkEqb)6p9Sdtr+2M#qDaR^eeH@Qz`V+6Z6knq2K@i zXgd=)xr(ao_r14gNoJDigb55GKvfuELJ}AtlCTKr0VV+=WFvqmi-P2B5NR9`bwUCO zVc$2|!#b!$P!VurS5Z-L1r-$(R1^^x78T|DKd0(;PiMi`@ArM0p}X&`I<;4wdd^lv z+pXZs4sEyDV1`M!T2=jCcCXkgoYT+Zsh?D)+%_BC@&tVm{JU0V$zr_@8%$gOMighd z!<5?wkRJ00`tM>b>@Qq!0P*o0cYqYxcmqvy$zREjvA^Z5TmWBU$C!K-TO8)+&1j?i z33>4*40A;WEnJ)q&hf2D8LtlM>kdHR3Qn@3J9Ih^RS=ViYm>O8_wx9?)3dwmF_k@x z--qp#K4!n)EFw`pT$9XBHga)?k_?nn&4^&{A|gkr8b_1!=n4)ZKj4pHTUt!#{11P_ z4O=)D-^V2jpZ(mC^#8@~I1aj(ZD5IIr#=t2nYq zhD(ncm6M=?naf3@Vll4z{d!I~NGN*jHy~zAYMmTnm5(nd1!wW2=YiaYj&f`eap<9*Qwm9I0vJ;uuj2XCr#h1h{xW6oQF&t&O*+`l^i~thiB>n zlAm4_z(IIc5~Wrg@U0wH8e#hStNi8=#$rD#~4ZQATO z0gD`im2jO3yJkn*S;b6#dTWBmwEVU%u!W{EIl6>iMHWV_qIAkK<6k@c^s2#vSjFM|Q?HoAOiEfcfytBG9U8yXFDjF_vBe$|~FC#JJhDvt4eX z{fB6^i8qL<3Pe@Vtzc^5PnWM)hRB+&$*u(h5=6R5C$TkdzD!c&<}4{Do&5l13+Nf*^0KoxHkyhEN*% z%)gH@nhKy3-U%!1;7@cl14l-+G5wY(T;+%70asO-Bja;fuZH(6mS30N@surV0CaXAE=!z{?(AQ*(g1apfn!A&-gM;SoTqbo0ZFz}pVJMADC1Va`?6$k6Jb_WxZI{=> zEe^;;MEVbD6+pVzcX6pPg^YJMI7K0I?jQOn9sF^LptP$@o4d`2n86sfR=DjR7jC48IX7H0&Ts0%i;aQyUTN$UeH6_D^SyPWf`@#rK>N_q769<{fh}8273yq%xOUB1y zo%uRi@CB`I#P^AM1XVL_65H$HT#o%I&Z5J@1?*6|)VgO!jzUv6%cX%dX-A2u(=7M> zF^75nj(9OhU<;A}yjI}~THFlv5{I)@MYrJm0#TDTR^by`+-^!|itMU0EQ3iGjRn}9 zMP}LeP=Fsi!z);oI(}+la)U)|?lWZ$SK_^tfA5gbyu#}uytkV*t0AyYEiC;Uc!vE% z98Gvt01J5$kUVk!ef$Bm$^1lD{XE(~Pv?{+Bhp8$LBpkpH0Z$4ppXvSRRexd_yylE zDVxb9_#k)4!F3(@s(%l}-%}&5z?XS%9Yzf->SYz?pv4_g>n-)ck-W@JVxjQLzmrI4Y{9$+w!p5vwsh3humvLearMnn;Hfq-m+04GAk|YfX_uD&ZaX(; zK3ZfrPg%;@U%JdD=xI9BxdYqrUj z4t)9b?9}1UgSomF^UkiurOT~o5Y@z=9}(3m2R}t$P%Apzgu?(PYa^DoWE6Rz)f$7@i3#hpcOkLAD*>s0XNl&@YCB90MshLDV6?It^M02`+}mHA}kmx zcS}n#3?#v(LbbmKP;b~IPI+ZN0jc7Jl$NpdeWs|OW1M0F6W+j z^~8(k@Gkv^e0tWpbS>AORR3FXHis5`JGS8Q(1P#C#i#oYC4W~gJy*-2CrO^bn=u|e z>kd7uIP|1u-w!oYSNuTEJcs1Uvju0KOf{_*^$k8f3;xG}{8Q%H^C`$b9UlBdem-&K zS(PKtrxRRq&hkG~LC?saC!Rd3`0=EmpXXh0l>bGn@h<~~XU&P{vm|^janDiXU&+lU z-aDh=*RNyp=lRqceL>avP00IO`SQeLXH||nNyvYHBZr<*v-(BLGROa3o;%%(u;sJK z`v-l+gJ(bfJE`a&<-`-0omCuoQqh<5iq7$WlE2Q{P`skVf0jE>9C=p#U!aWx&&G}A zukzTbb@?~m>hOIvI`e!t&OFKfdg5M7@Zed+bEi%GH}cYsk{eH3Q~!_`Pto{ir156r z`1)qD#Q!V7&!_uWFDz+AsFWuBgymNS1=>Q<)i%+#Hg4xguIr|#^u);Z^h+PSGa zCw1pS?L3uvUK%<_&6?oP=aF`*3sQGMs%l=CI-XsamTt9`d6BYQL^Y>S&5KjMx{Imi zB_e!j>Mlv$r4YVM)x4};&C63DmMc=ST$#GdQ+Gw`u5760CsOx`dNr>SwX0KiRqC#W z+BGWknpjN^E67}{N7t$vs_tTcUFxm_kS_S^WBqSP-3`=#hF_&pZ%iF8R;BL7G(v?p z>G92}yD4=yg9P285^qi2EvdVe5^q!eZ>!gT$fz#%x2NuQE9R4_l z+aqay^go)qM`Ouq`V{}Q)O{@t&@}nJuFT&^-Pcq14KhEbsyt>@3FpWh|IO5W(`Mth z^zK{SNM`gE{I~Vv+x*~c%4TXM&+w0@y!cM)9#7qO(nbEeBK<__zMHxyApKVA~EA4B9RHSVdrju^BnY3?P|MS#6le(XCIr@c?|1x#INZl_< z{%q==Ro&WZJoV8-6^%s@-_o;g^b-yR`AJiXzuwE}psp=*Deo6h)R(jON_>ZxNUQXT1HgEsL z19jaise2_I@_$Y_QvZ^=Kd0_5>45)h>PYa{wBrAkI{y8U)vCMOtNQ9*Wz%>~HF!OB zuchvFYVbzruQzH9_=Vb1QgJ^k-zyTA8^sGPg1VhsvnoS(!UCb7y6<{MnX# zu0KbQ&&`-x=VjFS{LG!3x${YXfqq_?ITBvT&xA^g zF3y61y)t9B|3v1l%-kok zet(rRUY)tCGIuo@ugPq_T|;JLx##+8DNqA+T_!`s%wM0m>oRwJw#eV0tgAA2L*`bI z^~R9(MrDP=BI!+;yD9TGXYpD+)8CT0Te2a4Yvyj%^EP*L=5Nc&t$rwTw`Fc98}PTs z-uh(bKAA;H?x!-LKcCLrr!x0xO1dL+B)cO!(XUoxK9e~r$$wX8;ncG7rWQ8wcdCYW zW$w<*-9^67QbYIIdec6axzFX@^7)LN@9xZfK67`|EniU1douTh%-uuIdoy=$J>Pw? zOTHMpab0I zGjrd}YTM+uRKag&?pvArHWhqav+40HKfE>0-^tLd_-^LDlezC^gZ>Gnc!K$6dt=Ez zX>Fh3zn3}wJ((@>-&cz7lVXMeuQpkJz%y-xKg`?@aW>NGf0Q|%{V1F7f2f1$qkWrp(T zvzhxv=6;#EXJdzi)<2iI=VI$ajeeE6U&a1`@UKPv`ON(~bI(Kl1vTXb>yA*uV*i`W z{l*sgZ#4?P%iM1>_dAllsJZlFJ}0L5-)nXMA#=aa+#guszP@fT`gQbpT?{+hYJ+8*?`%>6Bk$NZ~G_bMH4 zJy-CrspnqL+-sS8oh{)FQT==7-pJhFq52P1_#b%%=K6oy5H0p^X6{WR{jbdN>|fb% zcI4lg`**#!-V()SMfVmvRI%z$!%E$qR;*7Rwn#HvpW~MU*Mqmu@GIhjGZ0+!px3V~ zI-ad84*D~Tj^t++=lQdW&^^28&MLaIp?i+#o&#NElYl}U{#?C3ujtM#y7PE{evy`( zU(7eC3yREv3yZL?7a_tfx(kc$qGFwWo#HPpx{HfZhHbO*5`g+*ji0?#)GsT#ON;I@ zs9&zqFSk}j{A!B7qUf$@pm3!%YoSLV#J?-SGYb&8N|dfHx~q!rYA9VJO4o>zwc|tn zTD`xn=&nVG&HL+%f=+KxsvC+GzpCg~6}y=b%L?xLB9SyVoF|~R8NgNXlm)yBl$Eou z{8P{LUZAg@g-_W83tUz#=AbOAGysGwIMcPzc$5!c+;~Po7RG|^~)^%?mvPPq|wJJfSe1tZPk<4ZD zA27c`+-|2+?mvLk7NA{rRi&O(i0_z5*=(uby0O!TuAdLZ*YC8d~rwI%Fri^dy zcSc@k@(MVIPl1B>G4n(>ama7Mc48KJ1Aa^A8-1^ZdUM z@j_<$nRG!72@W+wxG{uiqZs5Ga)P~WgA;5#j?D()ZF29h7RFLgv$d|mvP#QVLEC36 z@;lQWv$w1IT`6?eSm?C`Zs)XoXSskB7)4to!KT)ODcl|q-eY=pdlD5Hso%^PpD8vT zou?tcC-t)kO#^_sWw$r+on61W$Q)qLMj9NdV~!1FP#oF@s5^v?t=wOu(=-5{OZdNv zJe?}9`7v||foHpUgF$_k;%k9E0|~qs4q-1`4EDkU2z?j2gUz|ANLYx^UXS8ZR4{mt zVMXtirAHOxt8H@co1UGbN}l4;hn>VU@@6EwXq{pI zES(h67i+?qMk5(a9hM3cm`Ou$EYR(-i?HNKz-*6mAFTT08G_^ML+~Mn-~@)CYC1{P z+7O%wVT^!lLvV}S8b+trp;ysmQe#h!y^6o`99>;2)u0>Hj0qaC z1Aw)s#@p{w%4UfPyPb{TmU^DPCTv@;>o=Bpf$P9mKa%f^Doh z5Utc;O{*zX9>n$>dvY%6Z7rTB$act|FEs7~X*Ge`4oDZ46c-|p#mV(Wmg8c{YbRw+ zvRa5SjW5+^1TxzMJX;Y;dwC+YS0Dzp=M(zRRS9S;5Ns6ymY>(y&ujPz{CY(qK{Dtq zI4m@ILM*4ir(c)Qr0b*F>pV}qz{Il!g3PWW?~Q_=ZZtqBROBY1vXMi-S-2tF=FI|P z`)i==ti93y@m~?{s+dY&O-c{zETHf1*US5dPY2e<10l3h!9SQc`XRxu zL!ht>{v#GV=@F{apQ!78YN#&%{Yf5vss!vxJAOtxo)PXE!zblE_Y1xJ z#Tq^LOF^$%NYCbNdQK4R5D+Xq_iKT$psEA@`NWapc}Tw?bX7TkS%1TqX@pJE!0#mh zmao4{O25`v5k5(e86Cr3l>^u{^c!gFOO)|PmGQEWS1{KBfvu$Y6J-FfDr8b2hD;J{ ziw%eo19Vl)q=I551!4fLe}mYoA_lYy-ufEEz*$N0I>g>c+#8nT?;4wb7=Zc@P+MuU z{1YNTt5};e3*OX^H^~9W`me-;p#D3~yI8j2t15e08p}RSU@E~+g&F{(f~_tGH2_m3 z#R^b^Gg1&$cuH9+5lRGrMA|v)B&(mwXEF(oAUMY^h5!v z;{>Eq75;lg1o>EZpr}pYsI_g_w%DsuE`?V|Fm+I1Y7=0pxFWmr(HIUe@KnCQvRsz} ztAeF20ZCQ+!vA1(4MDvD*lLwpd1FLV@#`O2c~j^jBL=J*h=Hc^{T7G;t=^gftBPUE ziN00vV5mcS+y>a{Z&%H3x7yo|c6;JKnTk0DSZxAYC621#)NaOSSpn>|qwQ~LvSZH1 zHmZ!e!Y&2Vj%@QqbWECD(KQXgy28Ak;Z=Dfzg}EQ18F z1%aWB(ZcnNk*$e#7Q(1<3j;LVp`~mn%vEe|dfBc^M(Inou<=!<5DU_-Uw?=NUfLZa zx89U(7Pkyl5#7>K(0Wk_o{a~?bwa+%7)n7cmTCf;!og(qPL*m`j#jMLW$}lHqg@Jf zLOO02QFiQ&Tb<}I@x#hOZ(GCgMuX2TkEvx$yOpJ_g^L2GtTb4VS?o0}dBUtE@-m!3?d_ z)u>KcI@C_x&e5{1%j0G-ro)n5+9a#Fcv!kU94;24m0K%UjV8rj$W2VkW#{{N)K~F% zFzcou)_l36?YZ&$XoBhXEcGefa`j#6S1sI{b<360JWWhF%hP*JRC(pnEji=%tK0Ax z{uCNY-<7`<^U2>rtL4pAxz_&lF^}@;uckQNT;?D(j|<02IVx7VRch<7p{=?}!>_h# zzQfnzrB}B&K7k-s=(B03bQzyLywz1YPP37`!6{!?e9^|tGB1chZa6+ZmbTz3brNf# zHJE7!LbB7o(O#5zQBr@07hJewjBl zVW$h~)7d32u>CCVJ2D;mD{7)`#$o9ug98V`X-Ko%>+CX>P zz8S&#Xpl{jPUvD&41Hm%VvtqQ>vmjJ*TAm&ohWN3?a-mD>Fi50IK}1f3(umpvUZ^? z{Cy2;!>*CCDQLf&dwIh0;8tGsdstWQVMNv1nbfN6X1ekq3nNr#&p1@*SVdLQz1^Pj z=-2Q1T>rsqDQ8>tm|XiR{|xl30vQW9u!M^_0SBUP3;n-8b=`lL!bUo-XcaTyfRIft zljaeiWUiYRuaon6V&O<;uMt1lS@h)4CkI6;7D72%Ov&F@t2@Mc1STL9^X~G41+MX} z!4>Iy(9{kD4x@MVK(7E6PEu&+H>EDfTu6^3`IKD+Y!{vh{#EMreYS7t54S8nz7 z=AEGn%u3yH&Wvi>-0+7t@+`6HXD7j83FtSWrRU@XXew9ubEEx{8p~C`mCJr(bI(uc z`26DExT66AV7?UgG}|sOA}`yjb(6sX@g=u+9=1zsi?5fW*@7`_Qq$Y2f(lTxEApDL z#efhXM@!fYKnQ>U*qw=bWg9{mzZ@>Ox*_yceH2mJx^7t0zzSN?+G=dt4MGg!Sguln zRj@lQ*8j!?2qC__NiT2WWse4`2lXy}x*Ciy|7~D|uri`X7i$3g;Pwb13~$dmzy!BC z?+}K{u!Q=&yi+y0bB*>Gx)7@j#Lx=J5N9U@J|~1BzWlsiex8@7#Kr<9+?|wew*~tJ z4b43k()k|l-uG%~?v+|uXvuv^xl^b^L8!xhQO#?3ONi=>lrDyJMoOprUmeyGpoja1 zjm!h8%LDb6XmLI$5)T>5@DNpaSR@`EM&c1gbdH^&kvIiNV)#h|Eb*w2iADbFqV$az z;2FgQC_(EnYmV}LlhUoM92q zvC9BbAgqfZMHP@jokWq(=S7m=@CxMzudp5iqu}dr$^JWKf6;WtUZj5vr-Eil$x4Xlq^1;R z5uRU5>V*PZyiUd*Pz&ZoCY7)^gjmc6xF8>R1pvlBDe_Gf`R1@94YW{Ba0}YmSS6W5S&0&s*CnS&9t03*nk zV-Qs^2$Z=bqX`9qM%-xmZn6T~J*Wd;Z>GRolo9j+C?Y6!nOawEc?}6lxjp6j`$^O2 z0)zNu#8b!z@X!kI&^Xr{6uWehvkAM}N~XU*Bdsnpy=-sPCU9r|<}TCZx|27s;2Md~ z=5NsP;@@X^!}*|Tfr?jX+1=9hLgUL02X*Ba@;CRGlGhigoZSrCQT>W}Q2*lJy}Xes z;TL&~-j~{7%nryos$Z*2_p24vFA&@m#jki-`4Xtg_lj*2KI-};;p15TTKV3YBQ5KT zlc3tS=#n#m4{9uP4va?H`QV1bWnQ;v`yf;Tl^Ss{?hw`ykVL}%2|zETw*U#sWpqfZ`{A*dZEqRJfnroPguSr1BayGerMr9+3s$rnOMionh%7{aJ%|rS zy=uZhVk9VtBK#>Ni=IYmAiVS95GNuYpBI0+TT|3G)1huGzeu zUGa$j;+&e*(RQC8qi|c!VI$p~btBhJUEhZV*IS<-NN&iQUO;)eLKgyx0A!?jf?F=N z0{&3z#|)C@uQk2c8i~UZQgUI|=7w!u{>0?b69g66`3pUy(zI=@h*%6#C(jM&s|KJb zDtuTSaJ`{Z1%OL6!sCVxw(+jZjUVJrY!9(NRuV-I*mNPVkbIZ{3st?NicWl{mF_wF zCvx;};f7y@Wl@)eX@)@^ov~HD^dcAFqR;U^h#3NCWdaGQ%*mk!fPkvjR5#g89UKM; zNsXx2ZR>jH`|T;E4g=LHHH{tf9cXOqB9uc2 zpw`iF+XdU7Nn2)`cc*T6#bpJzM@QR3E#r2MGbf)xGI7hl3y93Wx8@sE3axd!YyoQt zGpMMc!BBI%WF($Mb)p(>Q)L42s>lQyp;sgAmFY56L0wv1`)u&Wgjs{#TGe-GVbaMR z446?gU4|063`WG_A(Q}Ah=(w%amvWgyyalBY?lxz#|p|pl#m@nQLiT0D}zm{Y)a$Z zX0sZwVfhURw9rl1E@8G<2GdU<>Or7|&6-|qZLjj_;kI1UA4~3wML`ZQN9$!`SW9Ge z$uFB2rGJ^g4f}NMm4b+i1`!Jz;Q+q!P&yz-!iTF1MFToxD2 zu_^89-Z{U)wWXVx=P0|f)_Pya0ZOP}dx3oHHNRm`Qt*{fw<4RvK|hL$z}gNxVxK>fZ;{t80%k=Ab6c&!3?>|HqGc2p3 zq=5ao4fTn1%88*iY``;^j1i4M=6Pj@2p-$|BsCpE#5rd*-3oK;^IY0*CS@_KO9R9n>-f_tA zS>#Wj2~pNkOOJ9C6-x#;sBax_Yva8$Obr8pK#As?BGh{PUhsM(y)zPKD6WexkLwGK zp*%;LTxpgcO(z>?Q}rcg9_J2oYBKCj@c%gW-mrHZ)v$NivQfyIkW`MI6k8Ok95wfH z(2V!EZA7wE??!X_`2Gg2#;Bm?6sb6}d*|;JKjS7I#U3KSbqm+c4q{0aIVBWmVV^>Q zJ+9|oNtyiCZEow}N}3n-ayexD645IIcd2vXdq?QhgJqK;+r z(8FnNs@vhFAaYn0thN=`j?QV7qYI@(xJRyKyBgMZS1?{JvY}Wx zX1ppa)oOk~c!;u-xWIXCe^AtUZqAtHI_>!5$g^~|m*B)n?gMuwMx!k-Z7KwCEwQN- z!lp9IA4F{pPp$exm_UcvAgO((3{?U}wOW{`z=B*}=p9>%J_Ms4?hYLu%isuT903jX zzayEwM{4$>NJ)9on^SHm|NgQ=Nvi0MssOAW9oO*tJK8Qzl2Q3m`p@eex+a+I=Ln91 z6AoY-s8(vBg=11j$wIEy9uR)wNv3p7{ii(2e48FDNG*jeB)W3XcZhE!NzIwtf3A{x zXjp*jS-ypunHOVDv=+na*BEk26YKVnVK(JbGhy^fckLjaNe+;y>8NyCKY3m+Kt1oUKz$ zHXOuXiad@3*jejj`K=5#VI?K3rAn0l0ZQx+zYqXx;ckV{e=9d}_`=L<4Wd6?+jjIzrtM02Pv=xoRH>&K9?JJvNMh2QHa6N z9X8cY9AJ$bL&NN*xf^!|0UXkn)+ZD3)W!VO{OlLY55~#1Ry3v=t~vO8Y>39BD`>B7 z5b{cASJ2*Y1%3BgSJ2>D+Y*j~@3f0V1*4f-ka-0XO7PJH)ijX~rn>&hEPiic14s4F(vDd@y;Rj4$=`|bvG$2TRA(Gm-W_MUeGa$^3Dsqxv=ZX2no*R@e;m5=b}&zr%{B zwx`?6!7!AT+vTXAl>NcZ%h-iO8rTIYwy$-Wkgff~3PIe8s_LiY(eNsJYj{pQ0n_A<$ZZ6su_N0ciu8@wjdKm%fl~SnIxoV{#G`&g>+7O(| zwS`sn8dddL$xG3tuHe>!T3&D3)%=%#$V)@aGvuPpNJhox6#S~FR^5+UHGO+if>;z; zXoHUnEAtj9RM%Q|t7zN`jeHmD_O}I>!9|p;p?kYLULXpcg`*4TA{PCm)T*nfRojgE zvseB-PHO7aRn)7E z`rUQvrf02;$UN^c>i3HJy^%V^ka9L7>ZCOId}>sz$v?j+t?OB+T2n@&$de%pLQhM7 zKNK`u9?%dxm>}AM~sj3f49*THV{~pSR;1L!12u12H`l!U6NHqK9?*e0Ni8fKK zt|Hi^m~Z4wafmk&ZPtbWfo3yO&9M8@Pf$Y4*^HFaxDBfi(#~(w=D8kmCl6W?c7}}s zd8Z|KLN$I;B2V`uHAc=^kerj`q$CmFzn440{()+T2oss-52@XcRJ$J~`L2YZ^T+kd zJ*ApFWt9t)wp~)sLQU#93(ah(A>90_M4VN`oltuwZ|jVpm93ip!fM*?@q$r6x{2fy zNvC@@Dg8t1dpskiE#x^-`<0Zk(Z#MJ?X+p|>zrOUQcvWa8rv5{=QmQ%M!-1>wQMr} zF6v}snW$>KSkGqCPGvJWr=}6UFw%AV!k|ODCGPx_mGer_&h8D`**CHhqH$UxuXi+RMb8X^Tf4RKyE2tnO4!2VuESmLFV2KVwbw5PT@ z5rwX>48v5p>85o`MXdxAimC*JqUVsaS5nb)BUvk`TZ-K08Brvp=koW>Usi|+-vS_lmoM`cdaF?Cu*Q58W zHELH`ASxWB zd>n-HTW3TOLP)Jlo^6S>8asYcN84#x(*!y`wcA(h`2QfS(clMAMwdWPS4uNk&6;uF z=>L)86D@HF>qkt;3VlBTpj7}&@HLpTV(L*N;LiJH(0{1()p4!&B@YK9=X)~^%X znq)ENqlRD-?Fl!1s@NVqLFayk;}GBp`bSA7v*4Q2a~B)kXhpe3_ajQ|i-BhCKWcc{;(AxD@Eh%daBCVT4M|Mgzj|XG*3G!XTkyJhpVR z?EosC&^z4kNk74lqq-aNXu}E%V58WqaUE?hrz51dt#}Rq`X&>sff(ykSin0yvTD=H zLt%k3_(c zEO3!;apUl0BvBIyC(u4Vx@ezeGk^*579tO$5`~kz#kvO1HBzviqH~a>Jy?;n$Zacn z0+JGK%CAi|a7GkImm<1(Ac_)$_t*v5jMGNIJPbs)AlDWUHIh@T)Ne| zd^}x2&_+!Pv)t*g>$D@BWeeI&`=zWr&>9ItQ=XxnHAXb|Jol*Dlf=5de_e|`6ulL9 zy%5%QE8vlyc+I0ttrEGEZc}|AvkertsZWAdHeAw_z*#_AU_8RFsiZVpAB^<)iafXU zya6Hcy?Glql^soz9Z0gHbW3Kfq2o>iP0QU%m<|+V0{;p^7@l;2upq-#FpZtvuI$^K zzPs^tw+eDx%Afs?#cT&uS0a)C@g^3f_lHVBb{k+3+oH#Ko-s-9t8*Gap4@;(e|tMcW9H6 z%8UM*;%5ef7mQN0H#fx%EGRd~7qCD|rIoTnzQO4;JR508YOYG7MW}R5IdAh{1DfT> zbjY^ENvo~DHJtNrw-eGS7Gi$*t$Z{amq|XP^u`9>?Mpnd4PPcL_GBzi?7)@EoIUA; zl);;|E69dCF@`6eK;5|cjVfGrG>P(fp4g()JT^MU@`%;Zj$=@Glf{Twfh@xqOpBjA zz@DSg?9u`xusn+}KLaA-nIoCq;GWy-l-z;(+DeSe!DvnkHGc$(l(0SgI}!DR=&>UEAi&lE>>0tA? zMhA8Y6&3nzQP>u;RO?aL6oV~Z^k*qimq-0#h{Z{00Jo3ZcL4B{z&90EBeCUM{kx!V z;OD$G-2BoOIr@$Fy%}JiMh*Gs5a4GK@Du2BfaNwnE;liX3Oi@f_bH7{W0`F*t@8K;5F^j;~-t@*%f4&h{CgoJJm$bI6}aS_3!-{D3|+Gzqc zF_TV!#+S>1KX4{y(uvT{6@W89nfyDIiKy%|o|kU4}k2mN_V^awG4DF=2SK$jJN zn*d9YQR`4;0I;;Oz%C8GWIMF!)-7kf%>bBn;DBIf4_dIZX1A_jXLlAi2%teYW27Xf zvq9Ic{LE?Mys5?BT>srSSIJ?Gyq)w_E0eo?JDlhTz?ae1+KnTKbm!H z{(mf~say687a((q6b(Zadi(~A67jWNr?zT)f&5joz~ryG|DtB;VAM8rU5gqb@7O?Z zqAl36nX+XU?C_?3vsy(rcbhA>?!23|xy`u!T3V!B1b)d-ps}CGUsWRVSJ%xr*`{Ym z1ovT871@_YZfm!t+j?O`93Hog_C8C*4OlC5O29BstQ+D8C~^dF01Tj0H^ueJ?3(?) zfELUS@wl*Jc4WSr%lAQKU76he6l|&+T`X{w1@qfHi>icLj1CU@cQ;lg)B(;c{FIW! zu8`W*B1;Fhq@(S-8yzH0Uh3XrDl}2_DQnuma0Dr-o@?SLot_7dKcr1Ts`OkERprgo z)YIkZL;jFAl-Eq2ZOJ40!|M>f*VAkA2Ko^@FfUv-G1t1iB7)NG^$0$=y&lX5SG$E; zVMhi0KyeKCwU8U$2H}QR_p7fN^mhMut)n|zTGLU*rnZhkHgZgRY4nJ($=K$xwqWOm z`QI1S4v-g)jMoSFBZ0~>02v}Z^Hx0GPW72-oc!GcIf-p;Es$pqKaEm#FlvxB5EwsT$aSvst~Z7+p1Pe?k##~n#j7SSZBZ?=^^XF zO~!tnYHtfoEYlaaj}afT9ly5IFP#GFJ@m%Z2v$tw&Fv{GM`U&kX{Mo^Ot2)_D&+{A z(mNFSV;U5vLvgw&qK9nnXXxVy){J$_E)J7j*2~ZB3b8ARxy&qX9~~2;nyTV!j8h=7 zyW3sG@8R|sUMbYf!m^{(GK9(^GzvoMslL9hb#YB>k`}wxYBmc7Wj1554~&v7GR7~` z?fXJ(-<+80zF(-u9BxYHV53}b#BG<&iLRmqxTEYKwF^q zt=wSta|;z`X@7kvPy+7{atFGDcu!@uhzLu&xE*a0s~vG_)fMlibrzkrHqfSUMvNt1 z9EO_NVPRYkC;#EfFDzd@aKv!4x+C2Y?#M;{eXN8v%y&a!N7EG_pev4XN4pQWV`^Oi zn_PYtai^$OBJ$^(3OecF1&xHy}{3kj}6s(IeH9Rgh-m|y&}0Z z*0)vU(QKE0&PCjF5l2(Kzp8qFi{`iPZ&9a(HT|keezl?G*Cd-($*%`9+!>hRlIRUf zl*Wza?+umtNAxGQ2-{pLgDCo+5=d8(OH-MD)hqLFZ7^?XIWDv442Y%)(2yUxr%6zI z8r*9v^-Qgcwm*x6@6`2zB%ogLHW%xFEinbYr&{W4ZhoE;#5r`?3HCu7vM3 z->+E6sTLbCM@$emZyh&4E`TJGhgVB$s<(~ScFyH#ys;u30hM3mx1iFw2+nO85*0kg zb}H25o@-wB@-&kpA=7hQ1mKqh;9Xjd+i@qP)spe_0?BR9Xz$>NV8^8|2Lg8_z1{e# z-1u=z~Gtqa~ zmDoz(gVJY`uI%=3s5sV2?<0c&dBpsLnv6VcoCNOg9R?g{uWoN`l{Wmq@49WyR>z1- z-De2abT*-^LzVV}2#CAz+_yp8tx9vL(mc}5cleb7XU{vNA(mH@VtM6N>V!qLN)P~4 zx{la|YIF_`58+M4tmDOXh=Sj+dhx!02I> zq#3*kY0VgEmLG0n&D=CoB&)6~Z;Ez@Syns5;kAi?Pc#W8LseDB?$8NlZ(Uk#8>?Bv zirccbY#rLd9aM94QkWiGK8O5dPHkJD1Kc|&xv3U_S2Nf&k(Y4AY;wKg>!5@8Cpymz zVdweb%adBa!+JuqZYMUP>24=CeGmku$<44zsFnaRLTOl>N``&X5X-U{mgRuo9YlWj zimr{?sAiH=IJ@l;^7d3#R@|T|D+Z23!0SZcb*LH-1Rqb8;B~n*tiUc-Ah*ONtidK- z4;f5t&a6Vs7F&Uf)+zI{j-Sg3w9XX>F(h5}jyF3bsT^Cq7O_pU{@g)>Vd+glzgTvS z2fBlC)^tdmXoo`N&>(wzk2}=8r@vwC(UphOmE^M}m=~tbKT?C(4&wek^@Vw8mhI6| zL%3%yg1B=T9N!tw^ z_ha1&73meb{}CW-9fmh%6^+X#Ib~)}Xgn>RUKe*idxxQ;$bH0}zlypE4tiWoOFj>^FpG!zdT}>oC6W` ztSwYqr$V7>%dEf4x5@B4Y?*prjN7L?;TJ8hw$OYVR=RrHR@+8ZPQ(S**ht01;KWdP zpjI|~6x}CdS7TzP1tvy5L23ImVc6nlN3xraTmp>U?AjJKa41(c~-U0K<$~@J_Tyq44dYWajK$hph{xso%{&UON!7tX$XCy48#ss z6>=cjV=8*bvCw+jv zYZqOjT~sw0zI~cA$+zD=wcV8+EX@+O%^9w5q2H4=nHzN4z+u#B>$`^?)Cx2UjV0`$ zv;97`VMKF4`;Bd#3Pn0+h>det>~cUg#V((#^*c{=N^malElXsz>Gx@K`v9jkxrK2z zYV`+3zR=9U7y5&!R^4)w{m*PSq0=hcO@AmAi5bAs{Gn~`P|P=*6tUc9X)kPxRsL{y z_z;`sVS#V4E*rj8cD>D3srIo)s_N{KL+p@vt*>B&VYLW5Bu?x7hp63$=(8gomf>%X zETDQ}DNYC@WVRRuY%zG)rOk2(aI6@>u>qu%C%Tg>Y>*#O(@qJ+*&ewB80-Z1v3dUE zbj2W0*kIK!p{ONse7gLpY)xi)F=#s@g2-?-iV|BS?JJ;9o24#>)1{zca%2$Wv{LOglA$P14e`E%HxL*vwEKTV)eFB?+w; zW@yJekNxg`gaNj{1r|?ioqh+_u_mqPU5~0ASd%uVZa&zYfRiMwK=ZA3!;)E<{j$xe zm(7V^-P)W~TU70Wf*m^+(gs+((r=6(Lf6iX)|4SxtM8y=OpkYguPK@0zt~oVd>EIP zvQe3~ovD;ro^hdA^Jc8xu}W+dK5&JrJ;VIqMg|OtgYkJTIK$;YkLG6RlkrBzX1zGE zXm*=b(8JigI~*9BcC@YD@aQ7GStaqw*<}p&=|i!|ZE^qCxe)$zmPjQ=d%jq0-DvCi zTI{>d3Z)C@#QM&c^*tW}jc^8uj%ep+PW{|by#o8Ma>Dpa`c)h6XV+&(h#*P>js!{r zKAR5)d@ps;!f+bdfKSS12c~|Im@3PbValrU9fX^YGSwxBk{G7hLC0p{8e$|ClLSek zx)(hBSj+~cS7Yv516$4UV9JyT$h7lW@g_N3Xo>cv8T+BRw%UixLOY zkbggCg2h!CKwIVrcXS2b{R8eWA*hn+9OjPc_rv{^Q2$D8@*YbAjw9U%Vbh7HQk%TT z(}3gEfPk7Vlpc-BKOvOQ(WLTEbSDn^4^#dCoczE5N7D)JB%GAk)G-S|+alF=`ItP&Qz8LWw8` z)N&L;R!AYln01bx0jbfDawRNuIF6P^8Gl@jCXtzx&8*90Os2U|3O481DaMIp<=8=_ zf??dLP_J0_3n&jpo$y*wsb)ZoItebOyi24=qveZ64MZ+Ymee(Bdin~cN@E%{GxGU6 zLq>tno-La|zFwISMk`^`A&&V(9%uy-Oq|KHP5z=ai`)fK%(aw&z{P5dyybejiNFG} zwyP54EJH|H7^j;ObZF3?8Spooec;X1_Ld-AX*J=B*u~popz9@4oPq2Rm5Gi}r9Trw zTie<8sQ~b*-k-M8X4J$gOC(WQEeEKz{SN_3Zt55M5h==NsTneqVoio(kyP%IUsDNC z+!yG_RtZt)oF0i!_nRIz%YQRK7%g-`2EG^}RpVHF*%B6 z>O+#Cr~@C49r%ds_=Y4xA>v>Zp$tfTLV_SaL3E;OJ{GI_O$kyEpDdB#-h&dJEJTLF zXg(gDlU9+PSOHT315E-aTAk3ybbvbMtaCdFwLW+*pt7IY=kFm$V&V#$?bj# zYZlp^wS18-L`p*Qe!Ye-QiLM5(WnM5NIrs~q+Y~tWt_*8Hth9esn?8fq_$nWm>?n1 zApAZy^$!w@49QBbShLa_z!NFb6a0`?a{Ii31R~bdKg$W}kc{$p@)uJ4l^2p?BMl+J z3`syi)}U^vVtCzoCJ|qbP}oi8}`5g_H!RAy+W*h6+Q5Vbw*v!Pgb(5_uqn>>262b$KAA zF2M&WnR*dxu$>~-I9tYcgEF-X!VC$%v9fDMWWkNx=8wvfR711Cgc^u924!>CjL98| z*cFuo(>p$Agt#e~;0@xFlq8psBt){bx7glUv$4Co3>T;~6hei6my#TtJDy&l^rD23 zb4-h4QvO}Zi#qG07NSxt3I?xWuQPp~q> zhDRdT76y%9?fhyNUu0D9W#BBhQF~#^-h;5DSXv3Rv(i!X(;>K-l87_ie8@WvKo3{y2LMAh za}z580x5V}FK)~b#8Bez)s27*l$ZP9eKcT+;S=r5_x z+oI05?K}diB)}jrrB%PZ(b`_5)W@c$B1GnO2Yt~BMq(II!7gqj9XYpAja}qU zqu`KXtI=R^yV33)+@xT6x~4e~>sSUoTKL_XOPX1SRJq zbofp~E7XlSLt12Z&Go3pNg2+jj?t*WZ1&5v<7Cidzf5aX?o#;Wxb(11bTPa5)d|+N z4b#jl2wcyYmGu(f4JEgbDv%~)O>nWG0du2OCb%$KJF)c}Y`7 zxmI%(MhA{y=Afy&hBfe51aUGJ{NGpuJAfK_0UG1RR*;34eEp<9{iL_~Fd9OcN{ zv6W+Up5E>%r%Y`V$zi!>mek`z3X{WOCPNM0Mh<7h*f7<(%=6Nn1}04;lUWAO#wsug zyCx23sem~EvP@euIA)Vt!6c>=(75j5*kpqY3y)BRc2f`rMJ?;8yJ`RL#s%1gVnFv@^Q?7@izeOL1M~mPOgpFke`TfZCTLh|($W3=I#B&k z`HA$kjYoy?*c42q;N==@OSe^6G0Yq@evdZJ*5Dq=LLFnHeTMUFKSZGk;}N1mF_cql zeS@>cIPlw%+77eX4L*TMy(6h9W*UPxO~okcvXx^Rx6H)p=yT0*Xx^fyFeB~B|F!GS=yew-?KiU6ew_S z9_?-Rf^kCa1xT9|v!$cpkg}X3O3KcsE^+CxFh-dxh>1b--aJt2qlt?~oJfQCPZ%8* z_*s5LUlXU*2siT7zzPYIYYuh}gRJc=psr8?bqxd!cwM+|;1wvw{Qbd*X`8cb;~+AQ z2li7&4;yy0os_iY>mZ|v>(Uh1HNkb7j$Fh9vS~&sLOYNNx{6^b(C4|PfCERy%^l6x#SYq~fOl&Z-5H85l^<`kB5aZsp{y^h`1RRSQ{R#w zReJh#>9n9JuT3a;puqP#!K`u}15*~t9my#Vp`#_KMC2x)X~=k{7B-<@?cq2Yy`k%L z8&-`e*oerIdLhTlk*hoaE+7f^gH=Dl4kx_9Lq(}JWg451?OhGa(fL{mq--i2*_xY3 z=W7`4K{q*#zvQ7k>V(gf>oemt`>`1T?Ig`M6h7JYSd3^bOgCi{4t*oRLR5e%^OM&O zXBijcE`?HfAJm9YA~GSTYOy0}Oo?cx)Wm4*!!_V{3%RBS-?jiQ6G8W#nF_qUhU4B>l4O&7QZ=5nx|Y<=SR=?h*ZB^? zsfFS?e1)3gfO&sp_S*td^4viu9JP6WT+?&6d4GgmVZpo7@QmgMg1ZT7qo#hg?;7rR z%?||o(?(?6C}gC+@qX#L_{DnNE*XtBng-cy_N&aQO*-0smL=2j7H9PKx>m2n`WwE4 zG*$|W$U#<{0X5$XmRjRIg7R%QvbCotrt>3Fkgj+(i)#K{#6j2-)aUI^27F*Pt(;RF|>Wjotj@JdPf|Uu;4HmoHquWX^3{J?5# z=bLXt#H_&xn&*E z&U|BZ%_!EE$0$fhnlLC=(B1dR^KSbq74PD1UfFVC`>CMK`Z#cw<*=*3tG@+9YT~I;b_y z?tix?xZG%LYiojST!(B+1O$!$UPO;2p~tGeO-*K2w}ri2!4q-Si-%h#t993Y@pK9P zjpR8Z?A`U=S(oID+znmRX5^v;o%>c zTCP6vJZ~qu;N*yj$4YkH6_2V$?8z-U+Kx_Y9oRVUG~bvbTA#Ml)Mj53L~TRS0m6Ga zPu>lUoaakN@QZE%pG}Yjy^i(-ds=4m{-;JBXOAa45JIzV~1Hda)96mq* zsSyt^-UhFowGfklE_vJJp;m&q>JZF>>m<+4J6hT|Lt+HP0oX)oWpa~J&;UDG+zmU2 zZD(@55;sI7pV|;>EI}=tWjy8E+2J&RIH;;10X4EnK&KX%GMs)iq>VvRr83W~-G;G&8%g&3~*_V}`;-G;Py_5jMEB$>-ufo3k( z9i*VgvW0ECTBgfnzL75l+1+C@ofC2bu#rFxPJi_w_s*c@ZGbQH7{{uFcDMc&(D>nCqEZH^R!c%J22$XiY1O|lN zhMOy(a)Asj~pWIBWdH{)YKiL>0qhZko}l8 zH-=eTbQ{196Ie z!BzrGi&B9%r5}2TU?Of;n{OnXz)f?vj77wvSD< zn_A()6CKW{;11{=PnLd#F|sxrp&^{?RqspbHw2XLb` zfb}>)Dvw5cL^BS{VIp4VmsEmlx!vlW*Ta@bjl0uQXOOkthai7H8d=^OP6~Dffc0wzz%4 zSlxbc4(>zPhUVmu`W$qDJvdf}b4=4BZbDn2@mJacZ622RKyRttX&JP*5xW%H%6C1e zyU56>7Q(2>+q=x)Y-KcVf_ApE5vuN@g*(0paiohn%5%?7+G1*M`KrFt@^!{8=wdUJ z8WT`|zu$;%3gW2f}?nW4-n;i(MV z0XurYHrD_wBSZ`y(3$tCneI~Q;og!efu!~tJgbhWe{xuYtte^MH`))7#&T#zx z1{~jk;nQQSQepD@#^JL#D1P5Iw=XJ8)TsoRZ&lmhj+z799Ctt!{C=+KFYP|&Of3Ur z06_CCA?E3B-cIQqGijvRsP}{2Ct&xu`l4CexFDEvWjS6S>?+8UZe*s&~fT0aXoVF6=N zRQ2zT6aBqm-YiB(o=8WXnD(9Ok8p>(Bl`W3q<)_}(!H#YuS=TCAcFGqKNKu#qJib4@+ zox+?q9r{>uJIab5Q_hd~ar&Ar{R(`3eatPgGUaAzAh7?>CNMRnsTJRVqY{2MVp7eD|r}1*BGcH7{kv4xKx|XP- z)kvGKs<)Y_@MBSFr1P(}zy{ZtHwk0)Sl8F7yz7RSXI{dtw?4Qb>Fe~XVz7f1XgQ+& zh>l~e+i#M(qpjYXK5qfo^h+`Io^`MT!ja>CFT1|QhK~iN{_oHV?*n2Pf&Z* zN_v}!2UPtId6Pivu{Pg7lc1bvMMurYcDa$T4*je&A8q&eoZ`E?yOQA>$mbJV8Fwf6 zOh6H`8WbTR-R97!yeC%wUTH$254menqOb2$C*2o1DOL2yFY1AOOB4Y@P>gIrFH$XSfSIhrJa5L-tTwD<#I|C^>bk>Z+72YBhi~Nq^dw^hd=U#^Ra+`BwLajR5Rt&rG zW}I5<7CZpRg&S{OY}hX5L{rd$>lOn*NV@_&H^Q|kCMp03H{JHyJ$Do(NCY{Ws79_M z_ROe`w(H047<|r&F_K%c;MPmF((N!#dN#(sr~D4gQ*I10($dPga~|w9*kcp1%JRuT zLyVSa)R?Qc@p(FpN;Ao%ECXwWhK*P&r+d7DIJK01q(gF8AUYN|w|qB3%7sie^hg}` z81Z^NZyncb&L1OY5|&X75*A5UP+!$G+kAV8BEQV;25g(&#p1?|LzW8ELu`pnf+7?9 zl5DKIsRV(k&1l zZdEl4Y&g{e-GKr{u;b9&JFfKN=Vz$+bMyb`wAhr0J}A|46%r-$DG zht%wjkbYoj;*m7bIHd#q`zhZ{H>&<hvvMDtmICCAjlX#Y_NnI%Wne;h&|uMxr$TV*Z@)9q9oq@H@PUrOp_fiQ>d>XZiwI4B@6JZ1^F9{;kkiQSE5`)@FS~X^fc7CB= zmwS}jI3f5UjvM3Vtx$NP`-~t4A_eh4@I+rq4taay5X}R;Y!$@xzzjV=Kbcg_wkKE} zqx_JuJP%rN;R&qJ!=df)KacQj0$fjc1>f_v!0f^JSav*a_4vo4$E}Ka+tMg}OMDS_ zBl5QOXfo#P+LdyAy-nYi2}wLiAJ>RKuDNVf@yFGPKQ5~NL=wY1JrNx~X%0V0;TV)K zhegdcqgD(+=$Y@!Nf)Lii*U_F!XK^~3aYlWe=OopDIgT)B?9N{M0q;4>L)TT(Te-2 zMSpra8I+X?Pk%-~v1oOsKBG#=A6Gc=)!9FnKd#uKU#I{gLM`>rCXRoEF zH4$pH9*I;4jRG@Q@@-sVgwBt0!BRMfs*Pz2NEvz;;wgh=A97oZlR_5r+upwh6zdF# zHPYii!PnBeCLf}2*A+oH5=M;?v_i&LBpr`1FK?oFTw*E{kDDyB9bQJ7{0IspiZKF? z`QRlhK(m*Za@))QOE;R}6i+cK1ZGAKV|v4{Ey-afry6A5cfrq||)k}Hww+;;Q!S!K~>}4(DliBbLgJicf5OS41K_S`Sxo+K6gCV&%^ZQ!Fu1o{d zR~gQw1#BiFG$TfL1Sqnlb%gz|Ibd+O@hD!fi#m-`sQ9_DT&!BHem~gO29m13Tx|6hjd%> z#&Aka_3#M00A)4d0+dX;5K$I>nm$0mPi2oa-Cgp~ifzkJ%9&9etrR>NA=jE{VKy>_ zXns=lJ3%0i?E%^0vaQ%NA%1G!GoX|5i_5^^&z6Ch>v!vOppJ&^`=R%|4)IZTkQQYk#V=e?yfH z0C}2AkoCFC{XD8<9y;dxMySyVXjBUp!$*f6Hw$R_yItfCp5G8IH3Ulysoq14EL3WR z7y{!!887|!TW__%M;|7vF>t2T>PTvJWUN(Nj^WWDbJJ1u@26AVANqucK#>~jqhm#2 zur-O~^7fd68_c7FadfB%F$I*$qyo?|6w-l0;;v%}7SS#4L%0|)-2qxT8{=p`n8;Ok zf~zj{Co(|h)V3=8k=to}eUd(B2M}_J|43B7fvuLOqeixxCWx_)NoqchLNTWXI_Aj3 zTpTg<=I!V-N;2qiW^C>0!#vm0GM4xXtITY1*Jog-xKiAD&Us_@sB88-)}$iGX;0&mUJE6C$wYB=W>*k_v+t=jRlcVa?q4+5S~ z>#x$otEf350NX_1wy%aoE5dx!<<}T<$(!ARUt8UtuM^e^vCBm_c@Z;7R?0bV7i-b=oR2- zN$wHA2(xWtY&`{|eXmi0xwa(m)ch0j$QY>0zNA_KFv4$t8F11N{N3)WmG}y_EO|Bc8ZI2qW(vf@(pd_^<}-;n1KUFrl`Os7oG=K~^gUFWTIOhi2+< zetjcGT*W*)g4^)iE!bw;YzUAzbYQr@nbf?A!+W>DfLoG)f3xccuKPvfTOL<}$4Ow* zz86z&D)`;VaW8=PW-7pI!-GG`RQR4I)c5iUMQOOeZLPV$t%%vCCn(}avgLL^N@^$M zk5$f(^NN(a#CW$vv+nXznRLT=|Ae6_!1lv(w_w*@f#U|@h0BKXe#YLF#9+6;Vpni@ zTki12Qo~p)-zfjA-aX5YcC>B&pf?vJwY zc7IGFF8y*O^e1z0`!dk3uo14$=W;^c5*Rc%_WKG4HN;th~dF#=x8JSEaQXjZt?Cmff{B>WIMTo77Oj=$n7n z@K)R@2H(hhLQ-IpkmPz_?0|tn& zcM@O%35n8TK*$VXW{~ho3Lz>;C_=noxgqje0t6-?NRcj`PyLqzDKi zBEB?VmH+3v_CDv{Ndf#n&;S2Czn@OH_nx!&+I{WSR~k8yi|`HKBpH|+^Ym9!G@1l+ zj!ZpKMaDm{t@StMYzx?fRoD_o;8{Na|A~HsfK@EFMK9W6IeGc=8DS5yVZAqfUldUvtdTCOSS2(v^n>>x^wRizR@zB(&pN0MGGH0 z*#g@WkAZ=?Jt9oE2N3W&E2C-90t0vBaF+y*vLT3(6~zv%@<;8|Sk)YR$3VCa83T=`Ah5!BvHiMPVBAO0#*Lr(2m&yu`4Hm zv_9v|<&NOMb@$J~SQZ2mT^3^{{=D=AU-H-!vmz+@PAv28YG?y#;h$ZSEMLo67y?Mf=fwHzf*F!8$3tcrrJXTog*#8xOouEXk<88^+o0XlvbORUUSY*jAR##8_a~&0egEoDcB;T_>4!xpiG6 zL6Qhb3M9W8{TrI!0V%toZp$9qEekkNKP2D5zFgukbFU*LDs7k$vDTmgWp}nvxFsGb z%Hxs56c|Qd-oQ9ubc5N(l$yQRs?3Y!_-fYeW}s(v2$Cv9y9Pc6CYtH)XVwmm!mvHs z)~^lt+#Lg)w@&9c7BJ+sHmPPbs@G};qS$wF7$l5gE&Kdv4yi5TjFsYY>rICyr`?Z* zt=bSKUoM*R&fF;aGLNJ80F7op9)Ol*btbCLx;Ghp{tSI)5qXjwI>VceWh-1jhmM- z8m%EUGiL>}f_#rnE;YBc-rx4=)r$=*=b|9;97s$Xi9YkswU+xmip^d~%G1uq$Tp3e zoCVY-C)A7V-9OnTH(Phge}ol%vB_ma|4BD_9WI+Zq_GX%!j(hF{ZnjDha{3vzA zWX4Lb5E~9rZq&&*1OWnOwm~?UjyPYPNz>8V} zWzz!COaRStGu^Dk=;mj*oh29u9h=>ihA`=Uehy7oSj8Fr!Ya}+0xKG78zW<6!TTz; zc9%f0&(EdS9&WDNW4hmy;p928+}>7ad}%mRL+c7cL-)1Gr9t5rc8mfv4?t$axR_wS z`?_kqWBY+nFk*E3_xW$o#5dhH+&5?VZ_&iJF<|_5&DZEyt>_rR6b0`9YFRkNKFk%R zjz<|k!~Zw6kPo`=*8KO3gZp0W+-f8x{V*YzB3VgmSSVUY$#Es4^@H`s#Dg`zC?T}s zqT~xG-vM=)H1KHLYbf3gT%U2o*>yHqSSF$-oG#HlsC8&d*`A`wQYAE;P0I1)xIQHMC{8W9!P^9%-#y3MUz62Rx5bxCx^f88? z7l6%C&-mBoEo%&zT9bP?^mjBE9Pv!}Vdkudl;Fkat5eAsLRv zpqU*aw?m+J6J>9fBK8)u7Q7`nK+?PNgk&vg$7Q(t>!=^ENo>d8FR5`WMUdKUnGi^9 zLNWrmofW-Z%5k*fHHqsC#+~5>qPjb!^sY%($Gf}uc6XfDdnA^dkVq|VK<wM z$lu+`d}MD@mp>pI$N(4hxB7|G&Ktlva zvB!Wmyx8nW;U2fed_uE~#0@Fjlk7;uZ@hX+iy4NB1kM^l@W$WM^)4Zdvlocr`1`$} zhhRO=@dEWWNY-}$I7D+?w$JP7^GKpzkkUI|xPL&8eP5ESmXn@kC{O>Mbp0yI( zVUT7D*8z#$6lqfY2wk&Tmg!WQJ0S^lH3A18Re_IUtW`#c-!lib4fd*Htd(g!T}xy9 zuVIw61WIPbP$X8L$pG=f5DQ!LYZxY7LrBKP{wXAhfnkE|K=o-fp8jURNNw%u9{olr0}jTKhb=pAdsLz4t1o`7kJkfIiiH0fR`X;OkT85l?t z@U->9tPd?2f$I>*Xg#!GX(J%Z&EpC`P0bqCh}uWd;fnbcZEm5{MxYZV@2(hUD+1{v zy6ZDtA0B!T#5plk`XE{+x=o4_vK1w?Q69d0GZxzdNmuc_+9Gb0&DvVe9oV!swCXx+ z47m#xbm>R1*dm3S#bit1Q*d@Q-(>64#QK2NV0tZRPGp*!*&ifW7G0Y8k6^wGbU(UO z4s^@=cE+efb)LMLJp%LP>MZpR%Q0Wzc4NP+0hw+DzG`IGGD3c6JM{T=!0X0FPlqN= zJbS^sim5qDd(LW(hPpG(i)aR&pZ4q1HRVvo4>O7j4ncsCX`Khll8r53)$#~=6lc9Z zLXg(1br!WK+Vmk49u-k?di~0h_!#`n>6SUvRpGnrNs)d6XS#yuwEW4TYq4Wn(WB2Z z?yaT%#*_2&kpM43gwKTaiiBxBM0jYz)ZZ{&fG`rZ$M;Zld6QD>O_7vhhg>$v7MaFG zO;c}*;9ENa>c8Yz7sVCLxZji@ThW6@aRoUm7^@#$jG|m@b7L z;)0`1QKYP>LcPwGSDgdwmuVhK-sT^6j{NRrJvdM zs;&%~NONWAu0R?ttcmNXop{ByT0LAD%UhhdrlD(;Qfy61sRcX8vT`;cOG~A6fE0Go zta}9JxZ1&rhBb(zAB{-cIbxs*L%~8JcF7>Oa%MP%4SwLV%&S|qP>4{x9WmD6;@;^T z=~rWxlmG@1V%Xj2QS7o&9T{5+_8Ope6L-v7?!<-jW^nt7JKCdFRD-w!xQ2LhxavBH zS2UhsT|MV08LWOMaO8?75Lh5w*FhcYA&9qAHYfw#hE<{4i2BC1weFD=DFpjtyG9W} z=lhpGd_s(%5XF5G1040>DQBcX+!RHAgYhyr{%=p6pRqPL&?ELEY+KeM|4B(36r*t< z-y6*QS9SYx3uwP+6j=F>;R7pwCCE1E78hKd>X`$r#fL>|FnPbinwm-Qne zgXrtQ!})V7sA$s4M0*TnMVQ1l=L%!bDIm zF-R?;eb^&ytxJ+*^_(PJ^%fEN*~~?l1`+3c)+uvMTPA}PP-_s|LiBJE(Zim#+B35j zBjf^D(*pV&!14@oZToW$BmH+E^k3$N7qC{-&@8Z3O*dX!>vL%`KJQ@)23xtj6voNr zOrX?fNbwPfgMw{G9Y7ab=^$d#Dwt#t#GArFGz(iqqm&_(ExO2XB{wqNgYkPp8p9+? z9N!H3%DZBNm+A7iEeT>@x#a1w}97|b?v2Xxe#2Ud4 zO?Hya%-(ovhLn2w4mhQLf>--L_yk+zHyxyvpI@C#;=VP+#j>+JQjd%{A|MtLy0s6` zsdeiXXA`8Yv+2XxMA5jEb-+%LxSnWxSf`R9?QuH2I++9zOgOzzOEpgKdMrvr4m#RJ zsOp8R%s_>z&JU&#;<&2F;(S>yFDF~&+kQajs^dO11zrs+Q1dnnyqej7!l!BL$ZyGx z=88cbq5B3y_E8KjjbgU{yL}sn!!!dm?Rpgu*E`$}v_;(`%mYPi-}gX|*44aH@^Xs- z5H%Yo+|+FBeAt+gz*m49=+Hv#w2o_X>jcrZ>Y(BQmXnyY<~^PBB1#R|D1h1iS3K1b z5T+$Ie`7pV5vfgLO7ds|%}l>l9ZOX^4!Ro&;#hgoP&*#v3i%+tnQ42wvCAaToZHw< zsQHOBK2cPD2~}@X2!fN33&(QJ*CzT<_1fyEJS1L|5 z5O_dUo>reIi#3^IlH`Mca^=D2jTxrwNWV2ZVH+N8Q$@TwCF~WqbzAElX+6f>s*xnB z5bc&Sgbx@pDi8aa&1(-g4ly?t55#atbQLro zLwGM0-YN{XvFtS^;0i$_rm|>E{S-c+c(lw=JeYsUSlfabObJA?h$2>c9P0CrFw`bq zgc)fM7}ym5R}Pkm9juVT=y9)^SfcVfBTazVfljx~vLKldab!>IPLnCN{W1#zw3kTmPE?lE_Pneq1H?jzg_lRGvdj1DNI3dbEj zR1T0poElDfVMs)b7s(p(b_pNB?3n+f$Rq259rUeq&}A^RsY3!mu&Yh;@$2DcK-o-C z28v^`Gp}F4E^sSOev^g65;UUwrAqhOA9ijUY1+I zq&v{X9jcgYA3_uu0=nyjwg+qNDxus7=B_6dIMgP$Qx(>9KwwSvvnzb2DI98(+gWHPk=3@+KMT2FxLsKM&EYW#pnJuZG0+a|xGN!OM3rpNHv7AV4X~TS zN07x0l;H z+Hhgc?Y>4W>Ws~L{XR0z-61?f@AsG!gERn6-{@(5@w(I+Ru7yqlR~6Kl;}&Pt4PX9-sUw>PvyCD0CX zbGHV}(W8*hSnNEanz2h&RLV0j}y; z)JKsL;CKy@(0Oi@Wfy^h;CCYlO&2;K>H-lR(3^FAEC*ym>IJqsa#|ra&UkjTnG^Ib zXHG!JEuV;(*3Wi1&<9wf&u_}?nN`?yLPO!gArr6~lB`K0m<%zL-RJUo(Yj3L7+Q?H zDyU(rfEOzF8H(MS^5(%Y%})VVr<>wB8$38LUKoLbRVhTabyNH54$;$BCcOgI7Z~Cf z)V8b=WVydXnD%K*yCH=ti5=R(2IZJol{ip4pke*5%KdgKX8^-|pnF#q1`5ow3pIBM z4bZ~)(q4X!$Yj&A);Ra*bK3n^jK0jn#dJ2~{k)s|>UTKeUv|59`?-wNRID|>r%7S= z)b0?hy#y=wfmY9TibrsW_i_6ki1YK;+`Ml8b*fiMqFSwaTr%RM?@zz>uTT2k{u_+g zl&n?%t0s&^cScvjtUh*L^4Af&<6`)YR0=p$u7o z(t}6l2XjE@^Q)o}gcUiM!lV%MGx$J?HjNKxgkE8<-cLr%&-yrGe#U=D%+L7`i1}S3 z`klrJ>`%-GT7C|^>?ft=b6CBBmY;*1YdKo}SvwGsmY>RUt(unC1kNG0L32*k z7`TmF9RrA9a1*cb&C|T`S-Qq`olNRnBi!GLWw`}1=WrUgq*c4Tr}ay~0v<4fO{&h~ z@@@*pG`e|pQD<961cP3(#`h2P6e*ZFoYm%VeOI}@4T@Po1WX!wM4-URbD9CbX`di! z-qo%~5e++n0Zh`|=f4Q@F%k0&F7PB=;59$fj?qkOPeF_n=h^SU_keCWhcnM&L~4 z*zR47z;5C&0=vNHkcHC5&2_A%=XIWJ=;rG>*c|0~k=3d)@+zb?&F$w1XVC5Ur@3!9 zl2O+DH)-yhMRSCGDw_K?)xKR{<|&-?CRgKuHNLB#uY-C3&km@{`6{05`E9L_r^%@N zG=BnK3kA~umAqE;w3O5zoC|Z`IWh=7Eqiby_hqbBo%`}2+4^l9=he5h-k2ms;OhS$ zD6F777+g8i*hHhdhA;$^fmnQ;#xOp}0_zmnFqgSu(pwJ?oo{RXXWJ%0wU|MT<;-CQ zRTlKo^8S@pC8T{51F6V_fuYQ^B!?h5LGveN zTMJ$Jnw3X{_X2)cJG5!mrj_UIM))*kO$y(;!ZidkfD47qbfc7=c93`?xJ^acnM1fi ze&KrK#+aL-hGOw{5X%G615dCP#@MvxHw3+G7}3il7*2u{RszF0jjITbg4l!z zUr7g6xzLc8`Ta)N(_lC$(gDNynWfxH6GOnlCbx+#oZf62U|7VRgK`Fw)l|nU>~}>p zWaTV_T?E%5v?%@BvgntE7Og--em?GYt6z|j9AWuN3g#3yWqhf9r3z8&sl*tB+R;RX zx!+D7(_lGmtUZq0$*w0d4$v&F7byo*y1nal+t2i0VCF37PR&oFhtrB4?#Rir%Sucq z5NCz^s$kcr18RD`-AR51+sJ6nsyI(|0j^UYaGY`;+r<%!6iw(Z`9{%0?l7&$O426N z8ME&L#3a8Py)@#J?aVN>4!Z}acAYI0V=1@cIfyXS=p^p8J+<(JEo_|Nz1cEfb9=k5 zF~Q6Mx0%~VwSuT)T3|B^Pp^5j%BAMM9>oJ=pjWH9$oG?Yz^nilbE{R|H==l845TWt zc}m3QX%6;)eS|QK5e#Se1Au2%fHnUehWDK~*JH2;JW%3+|Ay-^d%%UnD?HGBFNz1g zPcOf(UIr)0Y1joexgW@&-{x*1=B$=tc^0;T4W@y#u*eL;Y(B6M9O(~Bf`woe3qb_H z7zLI*Hi3Q7EHKbp9K|CNS~vnTsJu<5z&t-Rlc^&Wo9`%D3t}O-Sdn>n^&>Nxq9KR9 zAdJZ|mLu8h1GOB^A1jAEECeweJkG4B>?z5X$xa$W6(THWs!mYTic~nqWH#CyC(3N_ zB-spNEI5mhJdE;`Xd_s|Mv#G?S|2D;2}jC77_-6CFt|Eh10@uph2S|o55Z%EB?HAm zun9B4yfy7s>;`SZ&PkxFa;w2AR)ZJ}c9cr89Hhv3$>yaJ-8x?Y&Nl!EZ$`>~u*ro4 z%y3y)23{!pK#5yMU^&RUi|NzS1O$)a;L-%cLA`7Dm+IZ6y!)wKJuj2#AYQ?GSCR2x zQ|=!;ps*d(yRsaGo7~SRD1pya`f(LMB=WghKd$D7ggzJ&HepAoIwfogWk#5X3dE?e z37bMqK@j~+l6B!of1O-}u`aA)T^PyjH?|u)THJpE!VnP=N6^H@m5U64b4g3c-i+`C z{}FlISm^E*6*p3Sn{1@aOa{WRyZB?rUx=?yMZ_5Kp%ZbGsK_pa2;`OV8=HUaN<{5S~!a+ke8jG8G~ zRH7o+W$&8HUX@$ch*hlLMYC?o0?7J3Fn~r<(3Q<;AKgu^E!cunVXhv8l6Rkr>%K)> zYhUwd5q64fC@w!}1_E)XkTD|SLMUoQL{u3)3n8hcJqW~|!cxaAlVQJxYn3bSCypVu zGeAZipIys?XUSp1BW7s$-95Ghpz_DE#GF!4WKsJLYjMT0}M*wB`7zq`H8-w9tFPWNIi__@3iTI`?;!B{t$lXfpcSgBW z*hbTV4&h~4i><~C9?Z}K@HY=g;tB|JtC;S02E=TUT{XW8Aa=3sq`fzX7e;kq^(Lfk z6~7$1@D)S`UtWk|+5op}REUSUF*l1zP-51ud0H&=bHlqm+#X8Jy{DV&_MGMS0(>q2 zw2f?G5N*i&uo+Ae7~_Q*ta$+l0TBfRGRw_di0t6&Za)hNW@YxLKl?LI>ud*-!HJMt z1Kc-}47zWP0c$QQxo@dckY0pRNYRB?O-Vzttdt>F@0$f zJ*<}-BMCTwG&hu%K`M8_Xqq8VSc3(n#X%k8*Q3mO+F%9|WYFN&-3(SJc|{-?+ljH1 zY-1drf$_j>#Pe|ur>U8KJZ+j3zvd?ZZ$fAjpHnxnacG}`+%XGeP%(fv;XN!`ZdSP| z_XCcmE99N~M`CG<2Yme6=5dL`rSx%YD~!&d2g{Jj5Ich~jc*UcKs}2Q<5BvKP!#!v ziVlNRGi=_o95$z50oJ0#F-Idh2ieUZOwSu#)r*|m%!gD|BN@G=-THJm7;UY;%bM0@ zZ|e^1x4&0?$H^%glFRXd+`=-k;qdwqcO09;?zm{m&S^*a{YmdQ>0{A;M?5?dd3XX< zw1Q!vjEW3XkAxsfgH2Ztf`|q)qP6o|tiy*KP8hgUvHu+I*JZ1?;PqFKVz`bwpZ8c? z7#`%3Lo^E`jr2sv({8tPY#r#Sn!R0n(bB7{0tqw_0>~6qM8OL-t{bveMhVS?5?bMI zW18%4%Nx}+O{8abw}FoN`dM1V^L3mN3geKAPekr8z-?M(TW>Zdpt?=kTAwJdCOSt> z79m8QXql9MA%%wC^)vq*(79~onvP)jz+!hmx0wB>38_Z#3n3K}B;CKwjMmJS`Wt;3 zdN=A9`dwB_!=tad`H;kUE}?>qnY$=8hAm%Y?rM^|I_}w`vkQ0iZb;s`5tB6`uXul`VGjUFj@Z3k%egbCZ@v(;vPhsD+xiNlhy$lJQ%BC z$lxmbXC!KC?U@j(FlU=$660}^g2sAS89B$)F=w}5odzts5vhx9+k8qG*N!qG%K~>4 z2&0FMQ%|_1coPx3tiygX`_GY;rrmnn&nkTQidNwqbm36^GD44qUC6bnJSq{p z7*SkcmyN(K<9Hv;4*kZQw+T$jM7NP_;PA}|*yS@|7rXmrf*43A&O`-o_)RQziZo|# zi?v~p2FMpa$045shfLo^1p5viZegfvGl|#~yBi#2bTL z^Xqe9$)97aI&_ZPKt*w+7eX`EII0*oq_*7(y(_yF!i|@@%6R2tkudKewR)vdQNR_Y_EqP9Aj+6 z%`>H~^)so&ERkF8PboLr-pGc*LS~Syk}wG3x>s5!0?zu^jb2j&aQDxzuRc=PMw~LE zA5Nj4kZ%2~bCi_**`zE+zm-_8g*2!!&W9QtsTnjgOc6O((1O@_@YWIBdYGxh3Go5b zKR8b;3B89H!z^&BG+UOFC2?G|TtoOp_!i7Nbxw-dExkyClAvs<`QhvvWslaCV#N>w zNdk0*U!A5=x46}hfRShJDpI$&Pc7#1E4wvwmdsvo`?a+`k`0sGqt(u_lvpXINQuz_ zseLxM4E0~7#u<-6WIoErj(ZHQM-G_HkvLT@JACY1J;2F|A*(nVP{)`$e$3GZdOOhD z8=<3o(%xC4Ygr@*`n zp2OVWW=Hor=pIf!Mg`cAEZXcOF855Adwo(i;tY+WpW{i3zA^YaD4YWRo^7ttQC zKSyEFYjOHK(>IDoqs)>lP9M7KBZsal#cv+cS+c$mYfG}fkWEDn%A%X~PmUIPuJTGv zw{ec4T4hdT%-nvQ>LIa#A;K8*m?CKAxqKi5oWlp!L9_TMW4*`+L7=AcfhqSCK9C=8 z#Rq3+qH77N*vX{{JQ*Yl;~}yzYh%}#nSZw*2A(j!u;y129RrBfn9(5;ez&s|%|LHv zKPuUcPyxx%!yGfi{nLpC>IM)K>u#qr`kjYJ-2kM+k7lug7#MS3w_aE*I=DVvMi#uk z5P)@O0~X5UeP4pPPdE!O_9PRf#~bNvQD!b=jTJR1-$G7=Jv7t)S@1sf@NHE3tW{DE zHlYVb-9%|{AOj`Y8zO12tmDX_Dbu|zqUHP~-azv>x@mU3-H^Bm^bX13YJMw#Z&d*Q zJfiuaZjW{M-Z!IS-PP??McTKUKECF@CbnoFl&ol0O@v|H+gD9l+LNl% zo`euMHnu6gN@vYZsAoAlAtuu-g$%;CI!QWZK~}052JvVLIZx(yBr*xAxdS#&Z1X$6 zfEE9aBj3s7(lLq6y5{dd+W2pjs$@MmMjKbh(XJA0xd+{9XqQZH#QQV_>seGmM|!3-rISl2I_cOf z!mv;;SE%;*B`SYjf>sq}s=~0a*dY*$4dVi3)3{LC-B6)crAaj)7u#nCDpb^}C{xj) zRz5H#!X*Na8kOcQO?stAO$t3~4IL`rFE=f*fxjYgSH$qZRJ#(WL|cw1MJ>&fX4Oif zROPb+eQM_^5;04c$~*qco2!!;Ap?c#5VWdN3{iRvp;`co{uJ%%FPNn3)SK(2PDOQE zBd;61xgqpsd})G$v?N6;6NP9&cN%c{JgH7^Nh8-6T`cG49vn7K>jN@9j$ex@sI9LnaFa;?Jm?{^esOkHs;9`WdXW5iOoDw`YhEbX5 zCsZC}Vk9afP6;-3poP_Vy_&rahDE%FH<5&Eb+)#NSb7k_D$^R`Xf)Dn={0q;&?aR~ zD%XyOZTN|ct;l#2!0~n+_0s6^s&{T}=sQ<=-A)(6H+dhOHia&Xa^8)a?nl#zg}l77NdT5(;rjpq2KMb@zno2wYShqpzhX7C-MNx4Ov?AI-sMV1b_k z8`TLv$p8=&1P_Ebk1{%bJJL7TG0J@*D|d zRx^VyS|Y=mZvWZPBC}`pqdXi`2i6+45?^*-R;jP3n^ZOjgM<8TmMF`tyk`5|Y1vG> zYJLx!+dY_DD}Z5_->W{gmI6XXT>%!c+}u6~peK-qCJR4PPt2_STcsV8W15zm}M6P zNLU|;5B`*#*3nO>k0z)O10SsGSZJd{ly?<#FAEC?A#w~i+p)UYNXaHVU^oZjBLMwz zNW*6KUf~H;#|bp-M1eq)oR}OWD=#XXMAE7iti0+rUNjFu@)N2y%g`$TgCIHGfI*M& z@C<-Ke>6da2p8MDFPj2=!hj%6pi|B!B^o5j%9E{8>O9pxZ@FQguV8U@G@wtCfRXe9%>|3 zGpzb@Lyupv9>1!L52SdglI#KY`!)6W^+ahOUQ5XFP_W5=R$>S8JVZd4`8786ILAd6tLbMk3im6X_m`o~W@?tuzDri84NDuE_Ji z!_#2hPFKq$dLa438MJ(+T0XO(<+H41(mRms;cVvMoRqC|uI6!xvOAE~fm97)>%=aR zwjoU4`O4p*qjrIclfHpB7o?K{z z)ZN5t->f;mC3QEa?iS|!mzwimYR;LFU#aS^!Z3vx)Z1U@?JrB+GVATFspH|T=|X>7 z{_ghF@poICtvdwfjsPaumNTF`_3%zO84!s?$iKZrr(`_sspKcJ=kZR#FK-EZ-jd{85MD0L5}?jc6@utxT99NF*G`tKUM z#EyI3hq;>dop!T0rzRaeL5{T zl4nx)Oe)0rdzE`Ob-z#Dvy^*|a+G{7-_PW#Ox+)B2A@}ZFQo4I)V+`{_AlzWdy(GR z+|aX^Quh)iNuQI?#>=UD+3LQMIv&2lUU}8tmHeMl$KR_|x4>dHyRW70H7owQn)-9< zUQgYh8QL2f+Fw%lM(X~;(B4#+|C+itQ}0He;DBZO&xz9 z(6xW+k^84+fj<6=g6?1Z;Eqy|1v?A>PP<0<4^#K=)O`s0Sd`KGLo>H1bBAU%e^^HE z56kL^t1lA@U7WeT%q`BU{_qU+aYV+Z`C;Y`&)gB2`(akxl}8fi${h)d9a}VN<|rN- zKKM~4S;*0u`%&hO2G%i|J0=@j0*_{nLdRxXlqA$V&VC(7fgh`Y)3@U@cf1unA#*%E z!HPEf6Rqfp6gbI>>f6bgJK2h!k~yB9qM{7>RCVpt&^4u*vdQ>K#>$?Sxu0b2v%ryWfvjw-{VOte1*$Csj#ujSmEkp7&hYwYnfn>9 zoxdt?{p!qJ%@bs6nd9L#*+KqV)x0*;41BbRSF1q3f58`<-0SQK;*{$%$6KEB#ucAS|?5q1`2%t!)2L z8cX9dF6eU2ae(lAG}B!9n<4xb_MJs;sCum8Vw){(t+!;!Cb_mL?QB#_$1-Ipn^s6a zAu<0zme)cARcVP{C@LS?*k0Occ7wj?Lr^u`015bJSZ;_;ofRZ9p9;2h4hkwKiw@z2 zNrP?g&9r73Vjvq_J7kxsoE9MZSq)FX`}+_`N;|DYBIa+3lA29wirMa!DrODrr;&P? z8z4TZ$hjR=`Z*&Q zpJiq6QHT-xBD04wpBB$(0bLp5D%w-T=qn*uGlS)6NEGdtWu%%~-%9)Wk-)dma0}Q&BiuUX*DUxh)bKLXnWhb--i)TS z$qg5v?HQ&@M~7 z9Yoa)UL&i@*wpT@s5Nu15R?@wvUcGOX$+d!8ip-a%+thfV8*dx6Qwb@(WJoyy|bD3 zy4#3cMnISbdKg>Bl*m=T8n;M0%e^|Mm%!G=ZAw}u%f}=>&gy(hA2K+x*4D)FXe|kN zOw=omo_x5xqjlDkF1 zf5`O~3IAajT4V%pi9Wd#U~7n-yLq}KWd+Q$dvfVqam1}WZ=GB^ClS`ZJ4Jdg(;*Ib zcfU0i>ShyE*aIzGdnv~%lm|&mXStdi=2rW1zjNi*2!$_6$&+$O5Yo?FnVmF%mS8!{ z_6Q!@W^7Tg`Rmd_@`&G`YJX7lmK2ojK-sQenCkFmG-7N!aP$3o)B`QwlFFEDeSWMz zxrD?il-qzipwU4{J+{ak1sK$h>VS>}x7E1g} zJ<#H2sEz?)&&`apJxf3-yL0E02@?DkH@m6`VYq0MpamDAIhFTpQocm*EZ#`3{|bZ5 z!voRYZbDLF7+>vdM~1IxBMs@D`Mn2l_bB!gBEQt{2^neWS!VmafoJa7HNTIo%{~H% zk|6c_Qp(H+zT{U792BQxf0i~6G7=02LTA3k=KeN~_YWK-x9k=L4vL$5Y{s}hK2ZyG zzBjpq#5DBl`}E85w0y}gr1xecQ1b^f8wcBL*bon)(4ru?pN#~ca)-%60HOVIxmtk9 zj4aN9BeCcE;mAIZut&T@NYD2lBGEfiaE?lXBX%uFnr%8~}IvY*~QIj9e6jYog3|eb(&3nQ_{64 zk(I$sGBoJJ#DM*oi|uDfY%gm9>Mk>}{WAJ;tNgL?x@N|14gHyr9G4=cHwWN5V!q}Y zGJ5L%CMJOCk!=1hRcm#(B`b>O>Daw=Og*%l<-UZg<$ek2Nd;3wKo6|nD(MTUUugIN z3AdT48<8GK3eVG4tBpjNC}$eIknH zksGNUMDs}$%|8v0XOsqpl*=^xOg`RYQiSg|-sddq%X5??yGzMGF9|%d_a6U(zNi6ro^ z>uD=ecx70YoLz~P-vBOh_ZB4YlS?Ra!aTkyxPMKMzq`Lu;4Odw?yWG6@w6}bdkOhF zaQ<#W_`g#Ox%=BOt#U*oHz$&}myowp5D_~<_xCCIfn@Iz$$wxSv?=~a(&Z#=|A)ls z$cQw<2-T6h{|m#Se_KA~cj*2*%BKvpMM#DcMC>(5+FMAZJh{YXWN~i*H>MQmTS-P` z4e!EK68BOeaPLOoPVpn7u)XGwN*U`>CL5#p-KnxE|A@58BR%5v7R2i!$L#I{)G-2e zY?QEfe}se`P~7`S*w-S3GIdUhd6Y??Tp);(1^;B=gCLY$A~cVzom~jchAf>Y5Kup{ zFMvb9&Rd@Ih5Z${;3(c)o@**Gkatf39I(8&-2{_CAPDox3gy*QZOke!WVy zB3k!12m<1BB+$8GyFW>J;D;F63h1k3W+4<(_St7~-fhfJj zJ!B7T)18$fQ|CFd^oLV~={*S0=?g;hMXqQ4+1dJXBh?UR?noY>j_qe>t{M|A!&B@m*&Qr|_d>gAs#LPwBZ^CmkFTZ|#R zu9vw0y@mkYV84;iH(mdWy8fmF>d4W%5vNn(EeX^SrPmOlr&AE3M-mpifhhfL@WvF6 z)I6MElcg_3kPdo%SE6)e=L?XWORoMN>xTIJeQGpIdftMpTuY<{LR{X0%pBWr)*2~# z3!?NG6*u4rMC$*fqDj+Rkfy6*L?4LITacs6t~_)Cv3d(qb;ZX8^rDPki?S_~W9*JY z$PO}v1D&JN5DbT9G})ISZb!KOC1mW38HqZw_QR0}ACWQUBTOC~iX(4tLDs%S_U%~z zNIj6S{kwWF#~+n-4fcrE5vBhqTP!&{C{^vT^XwuxCPVFvtR0#9u~{E-cG^dnj=cTH z*$hPNw2yclQTqwBf1=tyF>ilSDhYcF0`)DjMQj2+ z)hP&JjD(#p3>m??@T`RFFd=73%#MJ)>XE1Oe3nPFPQhLT>)Ms)f++0;_;^XCFtq3K z6Onq=n;0DtI?gy3X2PWx>CHvFK_Y%}=8>6$7)>I734=joZX$k3_AijUU9xl&;!AAL zTg3Kn+6hLc-Xf7YtIQH2Q|G~DSvSIT03tj`sD1?iuhi^Zso9|vLUV{n>TtP)98clo zUZpz7&k>tnO`U6~L#=DFz&L?0ugw~XVPxb;)_!Qe<6oP8(`mhv+oovvUfgwv&07$hTX)cOgl&9F=59e`2`$N6!`8pzi><}4wHC`V_v_3p zV*+or=Nz)ztR%PN?R>G-xWitt8h2{z{Dvg~jq=RhMZLQ-cX#IR(URP2OLCvy+{c^y zGk1UHAJCwFn>m2|mf3hPb9Ci5nWG=~WbWR~J&-xtrd8VG?Vb6OJR~>|JiKH;I0k>@i%tE@n)+8V_j2Z5q4KLdw~79f6=0%Y(?q{+6a8nNxj$3t zjm*7~`M+qQ-?WMTtKR&TH*aO`t<3*TV|-g9`+Meq^mj(~KbfQT*E2`cf63gNnfqJj zXzp!$$lKTQ*?vdB-pObC-Hh+i1mcJQ!g!${mZ^DU*%*YQ%I=3{cNE2b zRCfFwS+4xesJo*D`Dh?drSLIjzPe+|-Tqj?KCbMJExY5W^kc#PaYOfxFT3Mo_cUA< z?SyjY2!EoQJgMwXD7zEO?xb>YJWp0LCx-z9Vt1-Pg=aQXr`i_={S&@e*H5!2(8H$- z;2B{IXOReHFl;Zsr<;rcgZ?053 zS2m92XBx{@W%skPyNa<~tyZroyQ|CY8X#P&RP=L!b-!5!Zz($-@ZX!ul{>84zZA${Hg@}0>h`b8 z?pI~^Yr4Hm^=>V@Wo36O4cw*%Zfj`Z_OiRZ-t9XC?vCZUeWxDYS?@Lk-ERc-uCn`0 z+1&-yy9M>`0M*XSJ$ip{+1*oi_wxQey}z$qum$()^#f&hf7w02>))2$Z>cO2+CNx! z50;~wQ@Gb3DubpTF1v@y?&0#6{O?rvk+S<;**!wtM+N#(HI26YG4=E@1n|b;fD9kk zgU5M*(t>$pnV#T@(G5@97s@=v7n|az`Qo1`gZh52Ieb>_KBw0Hp#MByc7Gt3D^0#o zc0i#%HJ>TF-|O!# zs~XI!4Xg8~vinngbzT#=*OptI*Y)uAe06M$f7YWvTR9u{{i%PWEN#YL^x`k&s(-WW z-Yk!?Q|#U-x3!+0X3~j_$aNq6HHWdFsiSiZVo;?K2%w(S9HnO0+CizQ6+jo)jQ*r~ zLL#RJS;w0Oq~;ry(*X=RX*VS1;`P_^U*rd|w# zZfkvg_$E>zN$r&X8-uE;*&Iuh?m-SFO1qaold3B?zi3LOR?@#U`KPjSfRW=%P)n(9 zaIPumQ~xoEa<|Bw8z`LMZ5Ld{tsR2%KKp#^1=n5xp- zbsmf#2w{G^eGjGcT&Qk)L#5Vt^8hLN9lDk&Ed35{S|7paW7^Xh{)^PIVDvRV-CCF) z2QfmvrW2A){Y*Q97E`V!ClBFh158+Y+3oDobv=GBZRm=2adY|zEJwmq&c2Detz7Q% zp$?eFs1JXSQi$n0V>xdRw@1-D&K_!>d=j95Jf2*bs(su(8vMTQYi{2jBGJcCy)^}o zE9&Fpq3-S9^`3RlltX<)joVND9r)8(--sTkLf=;3YL3hji_r{y%gq<^qCf@z(gXCd zAQUI3gj=v>vT3Ysv3v0??Yg5Bg7^0M@9F#Z@hbiPbpHc7w$S~+Ev)&2*d7NJUBiu3 zLp#KV2D^I*UZW7E(hG(49U&#rVP>`5r=0VPW1!x}a^&EZJUOg`BcvUY3&#j)hiphk znp(&_IINq4r6@WIgXc1OBKGdl=0til66<3UI(V#{H&77O2+>O?k26UzfCl3+igHNR zPzfE+7X|3;G>;9`L?==K_0UOq@k&q;RUR^oa7ye8Y9ankp|>O#)j>jABB(a0g?M#_hE?A_g z8a&T5LrVZ`ShC{Jm!2qg^MY9DLW|XVLEg;@+9Dh}giO&GS-+QB#NLZ3;X*@~Bxs4$ z;-#?!Y9szGCBQL>u=V0HMe&`0vJO3w!9Y!9nj%G%wi0NIu1v<42FkGmi#RRL)moBk zqL-=EK&Xl2+i@+Ko3+2yzDSs*+eFCEY>&bP0gW@TpPC@f=BR_9SI@!{>o@YLK zp3X&e|BU%4dhp6X(}QZ~3coD&@Yclfw@j;`9u7u(<8HGpfU>6~cZ}QRkl-{RuubqUKY-&5C0pjl^#xXY{4>Ul{g$5|@nhyV} z95B?eKgBh9&Ac!EM8$Z7Odq5p^yj4Op;Dm?S}bJ{@BWgn-UvBjylM0L*L+^zie4Cf zXn~|6`kT#bxPIS`4gNjB9RqccV%{*{?NSc$IU+b>;GH4kM|<$D)I#dXdr4O&CDD6Q z5-paJh*uv7Hq(Y$Xdt>Ft~wj|I8;TQ6XlgL(EXDsLsRsxBvP0Ei^uX~Nvr6h;G~;C z8-;%bZPee+E*P|#t(-`8GicN9wI>5<-7F;4V|&t!O14ELkp^c^im+5dA@*c2Wy}so zGj30Y0@+O4ghcE~g(pUp3Ln^$kTV{dNGoYi3UY|^-qw26z)y=j3?$#GKbt61|EHm+ z{EOB|83(@X@{q(~=w?(#L@|+r*cOUr!Kh4&($tj()1^M&LU)bup5Yq_Z}zs?gjy}= zZv`7_6O5Q`mq{|iFy#gwCXmD7uPiQOpKk}G5qm376lNeHx^*$F6+jx%9Zbj6OY;gQ zPYJi1*@X7_bph!Vq#y6A?G-`d1T2tScY&WRZ&;t70?bY~#dXfW2Uxa4vxG*=$1Z zx#?`y*iVw(3+Ak@Mam(F6;Pj_4a{Aj?{=9{k0DIPF#7rB0ww{3m4kr*!df9hinv`j zPbWo~Uv*y<%-zGwxo)n0?cw%tyD#>8x)@eOCP90VSFb(kE9@#Q%0cQ9m+t2?mqmP$ z=?u){l-sG;Je{MHM-n|a(#M5;!%s7^Y=}hI3vbjv5}^^kt?V(YZg#EM;sMtTrLQ_m z2;UN!|5v{lUW(wAwCY|ZdRL4>V?nH9Pv+F!<-7e#+~sM&IH1L6ssRgxq%agP1oUH$ z;<#!wmXlifQ!*t@t#sadqDrr;W-&kWp68xG-9$>#;TcsqTh`fY1rVcY!mRQpmk#0U zdX&X7Z}0GOeSWRKc{*1-p0$*Ruj|ah`B~sM>^%MqwTAz^((YlDr(1nI6)}f3F!M0b z+gLZeV!V%Cz%kk=<}}yC&%(@@U0xNtyfiq^_lwcF>CjBcY+?sCcbf~oV)|U9QE<8@ z#k?~`#BPN!%ygb+snfIMSRbeU^E`*6vQ022#`ht*PdDazNjP5hw0um)wr<;wG)(d#M;!hYn;yX`s?Ws@ux8R95_!&zTVWnP_Onz2?yK^c#r>a62{L)km9?_1 z9oBj((La-4=Ds|+1TbwQJD25pez5QOufl%7T3IOXnx6~Axyp2tjW5mgdvt!7a3V?0 zX*t3;;d>bk#G1Rk^F5=2UsFNzys!Cv8R8x35umzN@+UHGcqoI6yU(;BP^`a^IomceHZ2 z!r96l82bO;>XzkGso`v&x$kYBy3Ri?Qn$XZwtvv+V9heOu!`B(^bi%r8rRQ7v1 z8Am1z?WiPJ@O6tblii-e`y373c?@(X<2}ZRS;jRDHZ82yapKkB(t2Ufr~+#Sn|3@^ z;K@!fLY2{-DE=(Y?MdqPNpw4&3!Li};|Fs-__A(~4PPRz>{KyeHP|wmJuMQvr;9hs zXZj4mIRiNR%VXQ-8ve}s23uyE=4_h|W5{63YA|DQI+kcU&J%0q&SN^xPuvo5VO4*D z?DMp5FBJ3(fe!HmkH>A<`TXL=tky-ww_Gfe5grV^Dz)IfXd2cGHtmw6-?HTve3yzF zE0zvc3@s~A>q~dJ_4SGdXZzS!c(Dv#49*PJYXJP=o7LfRW{j@Dr2;Oc%2d$vri-6~EFehz`ZTDvW8ZEt_O__&By z?+~OrfCLVdPtcwGmJ~H-?y4|%U~V|NyTsJt`)LJw;pkxP;ODl7t)n$KI@r5lx<_jd zbP~?)!D3Ir+@Wo?Q3gCVRR(=&VbE6_e+b-;d z!{d^HxqDpv9V%D#25#<2S@EHAW$g6lX>ooAsUL?|g~Nlti$?_p4~;9Jccr5+c>MkY z5T6&s7ZMme4E$>TMR9k!_yuo{jQn1zN0a)a*u4D6yexPx+wel^UB&NNFJ2W)SUlLh zKQXA+?D5{%`qA>AjgR{?>-dIB!PdPYwyp+0XJdIYpWD4<==WC)S><*GG0I1tJ?iD9TmMdZ+K-$bv?GpXiVwE5_{oYN>)u19_C z#&;zKo~o(mb~p@DTPV4bxRx|X=yydN4s8-&N&{Zq2Al`+4zY>`q|N^sPb;_1=sh=K~$E#HFeq{gQNE)75BEI5>16S6>t zF1EFvF)-OR?_jyph4%N;35kOkC?*TxsWyl-JseJHhtNBjN@fImB!**N(R(fUu9+06 zaBu4IjV^1fn&mmNGQ)smK5HPA*3KhO6;@e|w%92nHFgTI%R84v(L;10WIys^1d2aW zo;3RrfK)V8dsak4tsJhkTr0v@TQs0$45;}}$9+xs_gHBiw~hc68IyawXWd7!DWr7@ z(g=fYDyL@lPU>yv^q_I7=Ra~|3sp&>b}F-PP&;+6pmqwQBhiucPJ{htmK zX|ji!-;AMcR&>+2B_e)@k-{ozAAipF@nrWoH<`SX;nh|wyty(}Q8Ll-!N?u9KpCab zr$^WppArgox=zJE)lzjKj_B(4+tRqjI<5KbXnebHz`9wJZmmf<$Yk45K9z#~Iz$Y`Q8_FZi3riUWlX=n!JllxM=8RLSah8ifb#7JvnBq=5x>ZpP4t5vw6 z-Q&LBjl3yovQd6E`dhGCI!+=I5Y#?z#a}nf28SJ!n6(I@D18B8JJGVrnqcE zGSIhLk4+bgmv(@+a?}sv@Abn0Z1T67;_-oILyaOytHE3`S6o$MhVdmt3}RREZLcF> zlDC>)m)Ru$mv}2j6CQl&$@@chM@=rZvC5&hqj_i2gsL}50zs69Zdu9fH3<)K_m zx(v93nRy332H$O&tih(}hwqg5uE}6F-io>t>C+%e6VSPis*nv$44U@n zgC9|iq^_NdgpG-_-Hm9eZ3t|R3y#yoe|E!$$kG##=-YM6m-Q>nabX#*zmtS1yhH6? zj+ha12&^_OT@YpwYq(Dp7GXl(BSOD02Sh3x>D{$>z83qKcCd$VYj>~gKGiWAyb6DP zg=riZ{Pl&uG&!Sfa%`6nvQaz35k|er=GY*%YHEyTBurzK9YgcBq3duPcGn%QYkoW% za(q1A&5|$`{KEtqoKT-*Wk~^H%46R!@@GRYHnCphSQDJ-HwWV8Ab9lnZnJ+5Dh0gL zELoGPPYU&x!=97emLx}^hlV{Tm$)A^Mnj?s;E4Ek%cQK9n-MaVe5ae@I)xbQNf%E{ zlpAl#W!(JVX)? zuN-Q$Jn<@wsEj08JJ+72(yYofC=RE+t@W5JnUG_E{#ZSh$%1Od2=M~DuOh>n4J43X zU?6P-sIbaiwi*VYpnGy!-H3ZFa~o@9lyQ&mAMxF-rlqyo7Iqb~*sZSVXv~XbMm3?3 z1xqLgS#kv=e{jI@D<*i1K#d$OgXX<}j-vc%H_DB!f!w_t!*kU$-aXhog?~_Y|S&xlD&y6HA6bJ(H@4MTR?y$;9` z+IE7>w$q)o+>N}tTXXw*WQ!V$MJ_&zsWB2}#_H!$Qrx<_ww6X!P!u7OdSUM(&@sw^!kkfW8wH~ej-37#^H_xry3BWL#xQ~ zHxZCc1!OZvqM;g5aEE|EH+Ng~_(=dUi>I1g=?f5B1`sH~+*Vc4=;sAuYk@G;R}Hi| zD4@-reyXpa_@eodAWZ9pSvgfDix-Gqf!N+5gs+jtyv18Y{T@G!UhL?mxgBewFX;up zzsUN0kqr_>bvyBMCw7sbjs!;u|MiqQGQ^02lxT(Bqes<^cNzi%K5Uwwai8H$i zpPwL7CwhL(@2ZuzgylTj4e+~x-sA2X30-L|n3TQhQF*C_J=8)jUhhOwliN3`HIt@y z`+b3CUhg&kb!*}48c&LiQ`uD;Ti7qOU^&UFlB%nPZ>j|gU|aLw?!*_wtec2ntJV&1 z^W6d6^=SDuf1tH+pjya?m0x!M9a><2f0tk1<*ecO%%Qfyd`};hVCGcC1)g6Wh|?Ep zvmazvuZ6CyAwmCvJLHRgk>ps1CP>e*a3Tm;!h9VjDHh=S*!jrG)j%fY^kV&9EM7A| zPVJJUTZ2bPoQ@oQN95=fJyODSBI&mk<)Crk+52ABgK2^eVWabKw&scsE$8wtbewvL1O%i=* z$Ha-^$j*_apFy+8t+A`u=tMb(QJodLd$uf@5PlQ)OQp`C6ei0y5+vz~Oq$M3+!EfO zr}yXSeW1TB7kL?pI$91@7=vIPy5Yj;{obf?qqi3%LkDI_sg#y+WiO8}4V91`lX{b< zU(A@6GA7EIdpsNN61Apez{ZmG5!Nz2U9Qm8UcGjsn zSUiq4aJym^Z4XP6aErpukkZeQ&JU|0-LKZO!LTyKCRzn|d%Q`H)}g-TdR*X@{L@vv zcYZ=5sz;1rLHCTQ{Llm;SPu)cnPG{TmVt^0M(@?L4q(Bv1T*4+3Klik4zblxM(d!= z97iPtgYAsY2%qkiUa(Z+f+Y%C2wfw#WRrqY$AVBP-Xejq8NW6QY#N4xmJ7W;T_*h* z1OKvxo3#B(@>&3AT&>FQ#L+ad(ob^%hKE;qHx?Tgt- z$#>gyVRPboYVaq3Yv=mqqd9OVRc_#3w?pMfo5gA2jU~200Zym?D{@8RPNKnamCJXa zo8B;s?Ff1RS*Z(p_Tw6!Vf+ZQX_hC(glQYj;fW=&?pf|GwwpM>*^Ra=sQiA&b%5-2 z|GM3CaZtP8gC6Wrw@lj;@^dd9?WL49dq-|yPfk>ld@4Ut{W*q4IgsuNqfxhCx%8IK znA9S&JCMgnEhGl82yff>6QYAW5u@w6xA1O_RVtl}7L_?e6*p}Aei9+-AQRFBzB*L) z>Y)x;D$flaDRRyc>Wu-(ZuyA%vvXlY<$me_24% zrpH<`<1+0Ht2VN8n?fz1Rk3Un^T7aC77XCr*5PE0!;1( z#ZWss2M0`WAT)Jbouqy~2}gduQ~{a*8O3Z|bZa7`vE&j5a_YAUhA}k=YIdowqnSk6oU~S1OKCNqLv3ZDsohqSODW6Vkj638+y+U2o$v!W;Z21vfk;3T z>dp_uHDU-3_I5=-dl;U15*VViKk5$39GGi{jVYv9A>MAaKY_NmqRCap=>U*RauKKH6P;I%I@lL8JJv>J8UGabBznOWO(L` zp8ictBtuFY1&%8pJU&{CHfDIstx5ZT%3~)4i&L7KHvWCuek(v-!tb(Kq3WH?HiIRq z5=rLm1@p|{-J`5>p8Awa=TxzQU3)Ra0 z;#CZsNgGhEP}VNp<*n9ec1@1EmCcj9P}U^M%S#*bawcqWXi#EKmu^2AbdU=O-FkUB z6EloKff5tSbuTA5=I*y%PJwl8M}1P_jD^gK`EVvM97Kcl;h1P}VqKTg<5#9jvC-s~ zXMnY`>uxU6`aSA8^KxCTOIPo!{{GLWE@0pjya8vZ--juai zZry$#%I@p-ar@R_X6MyA`E@#3rPzLCU#YtNicaoNC-+w;L!bkCu($sP<-X~@;lA1J zzXdq64XgPYy{yGvk`9hNegNebh_!VK3V7cEo*9Tq=s9R?wv#`wD`tb6>Awp!OT|+2 z-?xE$-{7g#54sM4qs4b;Ivj0G#R5M|n}<*a5Q`EZFT%!sr&fL)s$Yll%ffqGJBR6! zQnSFs@n8;|ZeuhC_*_`u#e`ZrJfVS{wXMP0T33Du!xHKp2_V@~!{qYysAM75V&M%8 zE?F`2!&#j>;9%o{cUPo`lqz`XM8H?&adoFvYbUw2XPZgUmVH<;FYtSHPXPw%y& z6XhC2(fcTHzZKQD2kLG?7?$A>B&Z#-AfxDm6nMyr>f6I1MGJ9{635fuSy3nJF^bA+ z>`^Nk?Z+Oo4m@rqWsh6Y5i%g7Xvo&WVC>sdG9i&j9uJ236ml zl^L0eJ}1W^EXUN>W*L!D^bZtx-iqqm3yFKdioTdQp1!D}VSQfGYWy+gX_4sL=KN&^ ziIdaAD@oVC&6V+0Gqid&>5~N+ujL#hfkG%x+7^c)nGCUBr@22XSX^+Tiv`}0LD^XL z0H$T2t~X^|hBMG?tjSpZw-QXsFdic+k~Z((^3A)ItjXRE_5L0=)c?qy46Cv&vPq%s zca*C|eSJ6SD&rO;KcM%L#qtf})%)sa?8FC2=lkXx^nn7$Rb^fFze&ukX~X`fCgWc* zj2z)}W0U{Z;|~>6&V9(jIa0P%ek86~rLo#o0v8E5j*rz(NU3$AYMn@}lTxC}d7{akkP=Rg z6fcd)=aiK7IW-23L-d%kK0isr-8)4Q<*Yvhk>l&>Y2|5QtniFba%a%$2qMW5L@rtf zS!sezofRK2v1h9vXEXYMna7tVDxV8sl42^C8ZqSzCoGB0ZWUt73H13X04`8U7lO(4 z5L1qNgpnh*+(l`Pm~vL{;xyvIt%xm0Sh=wvDSt`IHoR0J<_In~-LDW+jvOsTEuzR> zK`l1#m8$hK1(hS9+;qi}BN&o}kh_}p2qt$;UaMCD<*sG?6Nwf_Cx2ndSbjk#uT!P# zm8*qNa^&Vz{J5eilCnrfL?}7p%H5>(4UM@i$l50>fD-!fO1s=%2DTb)gh4FZ84Ty<3&JJxjSveh#~izek*pDg31+F#NAr4 zyKTh^ifJn)Xt{@3atbk5A;esWCf7%P7Uql)bA+3FfI0iEhX0_2n0t`nKco%yP?!L@ zL=i#G_6Wh`_tad$Caanr|MJu zG*f(NLSQ*U$PreqnBw0n!kq05g3MVTh%5J8Sa*WV@$e7nLIs(FFmgqfmf6IYV?Zw{ z!W_9-2)n5P{V{KD3c=-|gI>`VcvUgxh%ZMxxyD)llcLLMGry+XERE;nb){!1W}R4b zgUHnq=+w|bvbDSsI`|h&avp1L`bWf?Gcxh*wCiAnnR{EI4j(BtLFoJhA zf_L*JaSAwR)A7E-&DjJIZ;po_kmQ9>bM}rXbNu~-*$mhGR{o!gF=vP7U$G3K<@i(X zmWa6tE%zZsoL{7rC5K{!tAs6!2_naHLdexIcb~$^X^s|WOk^HVu7`kf^!$f0V@u5+ znbGqjE!LG$zeJBK7186S6FrX7$0$z=;o`_0sE~2-$l zdK{HbRQxz1$Kijj1T4jIC0v}2YaTF8&Wj@XMOB`f5jalXjpSolw8#}1Sr#i`94}92 zc(^)RSt7=rVP(%$*@{BPovB!EixoVMmuIW2idq!8bLi&aB1Ox&nOj0P&r>(g&)j*+ z#Zn`R95Zo2y`vW@K%9DW5iO(&C`WL)i?cq0$}vTk#5^oB2r35{!o&SPti1`GoJF<% zKi&QIGMRyNV1y9{IR!x?PBaL@s8KTrlL#m(=tVF0UT{H};VMl=L`BF(5)vQ~$O2(W z2w7MHVc#JkY+>K`Enz3@`x4;yea>6mJ%Ql;-24A)lj*Lv>eQ)v>#euyIp;ierbyx{ zaK$0!?7En9L>4D8i==2t=dHjWcP@&a=QMKXd81;h7UOv~C_4aH13$8ftF4*BN^U(lD+~v8xPYl#?kjA-tDgv*RbdknY z*ZdvfDkWW|Bvf$b z-*l;ivfHyDlMhFs{EXhlfs=Z5>maAGqR!#+Unyw{whaznPg80L%Xb?F;J<*6o~_d@ zmw~jd{!O3SUy7hZ;)RiR>EA5J6;%0MvLHd?f5|$+REX&*5|wqH7zOzXaY|d4^`PJM zdlh*qa9lz4faEl-db~o4N(qUo9*UeIQR!jJLbnp?)gjM1@*qXD#7!glYocL&e@llH z@shszh({ne zmDUFoqvzK&R%+4k#s9a)bz4e}xpnh}=5i)!T5p{J{rjz-Z78na#9hb7Ne3j4XkOpF zo#cpzPf=@Fhhb24yyF3@I@hDJJ9?nakgy)h!u845B9)E4FDR7`m9|HPq>2ffUP88KvW7F zmXxZw>X-?Cu( z9a{a~ervz8-`57;A876$s>1X%@0+&zkJ@#)*Gf0>pZkBUp#guDeXV0jfNy{OsaQqV53&Q{<7vPw+^xNNR{q}eJyAQH|*gphk9-0dHr*Ue-fQhvc8xEtq$9+~n z_z*A(7>);jG=^u#_tbr{@-Znz&qN5zwT~Y6uK+z9Rce|{6prV*9GMdHm;gO*4}hNk zJxZiJ8WBgw1b0{Q^&VIrOCq6u3Iv_vVBVz6fTQY7fTd?m2Ns%feA5x_-`3z8Rjc+FE>DW~RG;4sw7fGU9r_0^y@NAU%-2&mH98jRDX*H7yC2 z=P9#=<#9}TCd`RJq5l++=a1D~p?NkJO!Ev0p6Ap&^ME7fb316s{CY<&NRL-$FSsxY zK2r=lE*Kn-#IraN;%xEo0NiOW<~1zJfZdVM1ZXGdt^jh!nyz;JJSFMOhU)yZSYV#t zFq~7)=Ua=MQoJPqc>HY_oQLc(t|%#{2Z{&2H{j^{UAaV3FF|T6y?1GJP1&88P#Otz z2b^~~jl4o*?uvR7ugsJm^5u$ScY5G~?AUGU@CHSDULDaxhA5z20pw2iR`*PZ@egfUq0VmV@lw$hTI3dfxJzqdQ99 z8G5-SEO!ZwQ35dEEvbZCh3{!hgXOt|+nw6ywoIRCE4^@shWMS40w|r{^(MPZ*d8p6 znH28pJAc9i)F8AE`0rj;AG0+=?~^k3xiSRFd5!mr49JJa15t+uh4lH(=pj!TrqEFz zC18GD2DFdNT;&33k7nW#uAqDcpgt`f$zK8iq|PVe;SjrrCv{(+682|LabH*HzOK-H z|g6iV%-pN_RXqxeyO&YxYwTJW4he$O(T0sqMSeCC&ce^l{e2KW!GuL9&p z6))9?4o5{KiXi>IB1l)oAkx|d4(e9`^y{m`Yf*>S1^)p8rXxc=|AvA}{Q+Uw1M-`c8Acr4K33--$mT@N=wr~m0uY}x#l_M4m?I>X`0>qve`nCi^VHD!@eB#P3DwXAv7rl9 zT!%EL#nsR=9U41J*dND8bn7&Uv$OFqM4cxQ(LZlF=%4>R*UMDFziz-kj*f_BzyLkZ z1)c}w4=C_L%Xp|s;iZOb0xZUyu>x0HH8MR^{hj}63@DX3`;$$zJUT>=UJC! zIdj66dDcO~2dU$FG5`r8Ro@&FlmcLZq~7FNE!^x`;{nZN)wf%O{V6LT;Bp<(EL~f5 zP%~2FffHoaw>ty`Dl3Q}7~!3swX7p1$a)tUzyryuZ;l8mD@Y)z_j=Znj+r3qePp=b zv+5g|-~%r8K^@%8u@Wet@$!(m`yuac+)(|FJ*>l<^%i|Z*B9YbhNFx6}nH_LU{r&v3#6Im}d7Qn> zGdhdH#ex++%eNsql)^88AM$sYPNeW>;Kg_{1*jpYV&C^Zz+nOCP$OOo5D8h8?QG+a z3TB5_bmDV*&~treR)JSlfb2S~fWs=-ZojVN*XhtVbl!7{K5%|T|E8a3{ugM7oNC$t zMDpe5wXE2PML9ckD|E9tFQ!6?_sKS;4mBwRASgrdMQ!_^>$ITY|D;EfqAGcTE}uK( zQg6nBo4xy|+y7s!Ef79tfFw#gcHW6_N0r&HbH*fxp4vJK*szn-qDVREUuJ?CV9hwQ ztZU`+8@@nVkHU(S^BH|THqTxFVkQ;9v8DWiXZsQp%9peh_sbi^)s=7G8*nVkvv=P> zyZ74dfW6E%l3iaGSPCV?%5AKejYaI-Ir-A<`zYGV4&LxI%cq>RHjtq;s=>YjLX^n~ zZK=@-B;<2Q>T}=;@PWV+kFxfKg?w`TZPKFNQ*W@^kPeOJ%)aHfyiqk0yAhvpBBZf$ zBUG8z&_6cTLtEglV|lQi^#|b?P|zT2=Vqn5-qB9DkBCk9Akjcl&;dQstMPh>MwuG$ zg=`8m)ADc3U{1WuiI`+8gg;qQFc*GhZJw6Hv>uHF6UM2Cu;N#ASUBT$pVCI3g z=)ak66Uy|4&6yY6JqiqxJX`Qzjg}y>Eg`jGD5iQ3iqeVi(bixqhVR#HkP+fjyQA$C zcQ@pUd=ll1c(^xP_MLC072+mk-`qY&^_p!w=%-h}j%}?mh)yl|O^tdgSBpZ&M>3lt zI$eM{u5=pyv%P&s;XfVrUC`3>!uP1(qkn{`dS`!shsM-%YWv*YY03}rU3A>$yAAs* zr3Lt=9Coly+o3o7C{5W>W5r`9D>x$q)*#n?6s>FH@MHUt{rDh&8Lwa$BN_-)nH+1x z110uTTJIqQhvP?8=RKC_U(h*e1W+7?Kkwgku>fbmuA2Y;$Jocdtmq;d$(P^v0pqc1 zv3r4?Swp!4?e1Ys7P^!wfd)X}5N|6ppKj~AJg7c=ZQb;?(uA+E#w*iF^s)`;*2s-& zm-{!(%H~ssaUsu9?f+rUkx9b=Tc(%VobxZ49T>7A%=0;^84H$&Sns|DwL?6O*ypPO zEUQzB%#=91>a!PPn5!Yvikw4anJ3OAZX!X|B4KxwS1&^ zGbG}+u@FWTX$x)4MVpYcNjE|6Ux}T=$;4M@^XqayMZ;dZr(bMD;4P=w)`LJzPt97*oA3tb?WLL-lTI(lFSO8W zW>dzNks%G3h~2ko|EAHoysQW7|L?kwXD!cv?n7STO-96K`2@dfPQ8P(g|x;wmX^5@ zK%T9ALrZ9zV&++;JAp~PzX;pxd}8W2pVa%a7I@gD*85IzCg4b-5#gBRwI4t39kyZY zFvw=4$(M0~*4fvLu(ZQc1$p(CSE>r*4q*|Jh7V2j z=s!7qi6YP!XRW+l%aL1bK<7HlOg!)$K~4?08WYVcXFDy&(qI{n&sJ}s-xs8(K*!e(s~c?SBs&AXmc98?utK;BwMJLSY@uF9FO4^D$ieTL2T8QwuNokO*GIy>d`=nqJdxp($3@SoqrEb z^3u(V*Uya~k{eb&*$1Y-f)#W{&LMjL%3;~6fsPi2q#`^>;K$)xJOj?2NsxeTi|?$i z4&>BXerjg#?Au;dIK@I_MN|k?{)S|-@YSoSk9!c-AeeO-`5{{ zx2oJQ%5~Z>>+I#F%WL;9;YXcAQmew~2@dj4)hca~phlGY}idz%&f^PvKW& zfbVi(8Z|k%VF5w8XjF|GP=lBwejP^&_v<&R<78rV86AG;Ko=}8F&d~6{>!uf7uh>6 z$%Vab@32oCITZP={Wk2=Wc!5QQR(mG33lCR!vgXf`#m&YlY9>T1DF25v&2~3*ZyGp z{xtj%>Gg13Q?PDSp&J#P0CRZInxuM4HTwQ3X4)3ZN2;#-HkY6EDMs;+aaO_A0ll2MsBH;mR3J0>z;j=%y!%f>|uNClT>T6cu7$f(SC zh3!h62^p5a6Jy|R7e39D!}@WgJeezDvdT?XIoclEb5s=qKUx+K$v7rMo3MOfCE?#= zst&ZN*2l^sQft|9JTv$@d)we7;3m6R+CSBwCi?4m5ABuz^K4JrR>8grRuUER+?WZ7 z`emY>t_#!gR-7TW%s3@aBjobKOlFhnQtOLX6MYGTT6rTfCDVGhio^0{c`KEt`!qqA zm`7CM2+_!rhK!uyV@+%Ftoac3-JNIt-0rT4x%Xe}?uZZ*x6kKycRB6us_Z>qM!_oO z8gnI-#Gl*UO~_>iRok9r)wT8wU8~hzMjNt!uG_)GN(j&CFdq56(@#2T@t z-nqn^HgLI>;*mZ_Ld!q|uJcB5<*{++qrL)3$>=t+O(3Jw+sVGNF|VI5vjj+2C59YJ z<2ZvB0bOA;T3ro6W#A7?>*JLpmS$fQQ(uX9Pa>jbmbUza+ksBzMQVeb*ddO>E&DfJ zlgX|7zgw3{9s`lBiZ5RNudCV({?)2>2kp0WR<18>Zeg;?I0+x1; zcR4mfPc$>|)?uZ$4$oC{d9_bEKx~T8^g{%+;q0%K+#>cNF2&bzzX*K+B0VFF+As0u zapCR@gK)sK2)419X4T@b8N5^RRZ!cK6xOmONdYyzixH`lpuWN*wCN(Am%LdWYGb*= z;yG`db@Tje9y>MkZ+bMF`D%SGDu2OT1gK%0(^BYsa{RbaI5Jg-5WZpQ+uiS%Ui@*d z{&~iD->q{w?Z{?ZN9=;>u964l!PkD&H$tT67`tiTz6V!EMAb9{#T zvc)zW4k8&NT`OTD`g$W~h*WreCxRAzX)w{^D}A-l79`!WAjZkWAToBz);NBaB>dKZ2A z*eoy5oKl{lenoz|Rc5pN-BdtRd8YUH22`+tgLu@}95$pStt7Q}%XKTZm?-IUw$9AY zSI1LMFwxp!??Wt~qLq2E#T}@z+gqPZyVed7&@x83&SN_?j`u?tPVwxKku>#i9>R64 ze}xg07hXv%gR%!QkTy(rRl9{XpGL>EbHmbHDG%I+&W5>xI@WdiGDutPbshsZhYPF? z1gQzZjrR`22jynm7S7hy)vP=JjudrY4fxMsc6?%kS`MMilciS#2nz*0w6(Y=`zBlw{ z{G5AG<0;B(yL5m@eX1RM5n;`r{n#%3Ql0cG+rxe}62^qQB0l%jwLRD@d6r+>uQj#) z#`d(|j3mrDZ~wksmg*D_=BIY-N2E0&pCz2b_OkyRNz`XvoCzb8Wk)tkE@dCvM^Dag zjYB&|vQx@yr{rUAC|f1Z@(25aUPJq`ZQ6GvL7;j2BhJO?wf(qR``doDe>eVNdGQ(T zrweQ7CnrjhqL85yjNSF z!)z4m{?Xd-s5m>HJi(oc&PKp6?SGKacLNlqj2F$o1m`W9km=RVhpo^=M6u)1p=>x6 zNYo@m?I=+l?13bTz0G9paBz*!L{V&evfB2r51N7~Had8P9g8S7Imfvu_B45qb5Yud#BuhEah$WL z_hc~{IZY8ko8;V6L7QFzmZDsk9a)Nc<=e%TIhlj;?NXEGM$fK_Ji9p6H+pvUig^f8 z^J&Qfd332$0Iv|am%=jnEX<6AVTk6OMRWXa?~PkmRPP+Aw@6N2wg~lb=sHKSnBCz# zm+>=&W4d~rt(KGH*7Lm;luP(f`4#s&)>Rqf@O#HSg(DtL=rO`#J7Z)wO!En&( zmY>$;uHF?cau3n;^SJ``u9A9Jp`MSZz2&Br_8!#y{p6cSxw~I2MfI&v?p8dd-Hot&!l{4=nW0>5iT)q3H-UIP8 zwO++ba^*qPgK(eT!#nDsD&s!t;WhP$oTYjdBYCf4B4doCZtfEOrZG zdaEL*enlQp9D*C&p?Velh^SYQ_?mp4q~7Z;a%k%Hge%lYMLy=8>V9Zi8GQPg8lQf* z4o1rp-^i0Dc*-Fvx@<4GLh*M$#X-L3l5u(>?R_M=FI4$dUkH7u;yNJBU+{Y<6w-^W zmN%59YN8-X`qzLl~d`tz6&LU_uD-aj7t61}0&{#P?X+p>CiL`Oq zk@A7!(jf|W$`kU)Tcoy>I!Ufj<|&xxJ2cNc?68+HH#}$-UA+u zAE)Zasa%o0=`{T~jUVOe^m#y-o#h=oCyQ?sE>Yd`h05a#r5Ew(**I@*s}M+U;~DaX z(s-JufJlNMN6INGZ}TZIL|FzY1k$rERP3Yf^qGo@#1V?=PFc?)>p*2Oc}02FbF%nD z>0aW$MA{;<5&)Se3KD=oSy~kn=~>+=N_XpgMM&c9G*VHKdHkW=QA6F2ca&#!-zX*E z7)9E}WW7XLFCi;#7#hTvs>d&L2cOGm`{lZPIhXytJp`X9J!UvW;URP-?rm3PJ7?cG zj+Zylky*Jx;T?5Nwl{`IUWSo<;RkgGqN*NG#FWdy zNuqFT%H!K4P#RG!xI9VJy&ejAFAcn}D(ZfTdO&VZI65&gMmMK!c{n}fqVQ|VLMK1c>ic z>|GtAdlUS~8y?4{r{%jeLJ^M~E*^s&Ib2+BO0_rq3)OmG%y#w*I4ZrMAje+(ljO#< zih5tB23acbQ{wO5L^U$YzLv#33D=`u`6O}W_3XhoC8|$>%cJbgaHYfGQDRR-q5leSO4)w<8jOfMjxn4yrB5DFL zXA^V8EK0p2ImSbe=%k$SIWjkrh(*+!j6;r(t-T3ejOrboLp?$kiDo!Xj2eI z;36{G2wO~hZ>rQIXpsoUk}2Qr?JJD8Y7sW&}m1TRiUy%|z(X3l2hY$h2AQbg2= zNc7-DsYgg6qD|3>9-uf<(TU7tsORH#?{I2Wz0;)L?3|sNBRG*&S ziK%*LNIgOkiBFtIM&c5=G9UF8xOxj?U}7Z@n3$~vCiW7TNSGs$iQU0N5~Uu2h^W`9 zm_!dt9I2SZyq$-7{tWCL7FX3fU+Sfyh!;>RQHbX&_7Hzfm(ffBVyfOHQt#57U6Qj) z$w=TKS1v=n%UwOf4GBTKg5JAQ>JeN>$l+CFyqc4lI4lW?L>6A-H|g` zIai+T@1Nx=zMSIil0GQh5{uoMvs)>agxhjP+HDlO-7mF=J95U?J4m@RXLnWw-6cVH zRRvkNI|{ldXZIk8({OV}+PxIJFABOpXMDY%lm~M5KvmF#67*nIP-}Q73VJwa4< zDrclULa|4qpvQ8?*T+bCJZFzr1wA1_PgDh!!;?|aQ#pGILFKR_XQZv5*vcsA>74QP zX;Pla*)vr^&q~m-{BNdx>j@ zI25p7SfzwjB=j~_XT}4=%Q>)$S911p&R)sw7GBjIel2IO=Ik{F&FeXPo!DAmUmY0U zP~JCl_68>$!A1R+;qK) zP^CYVHlz%0Xb2zqfL+aLN;z9i-5=+Sq94;CpZJwenT`m%=E|rf!Xcv*#`KuPMkO{T z=?!BO8=ctLq&tj*EZ5P-BN9W8Ba)F}d_sNWlep+QBuq%qc4A@^5}TMD9FF9&w4LOC zd&A@eZI4Q9a$-jz@Mx7jn$o?bNZVr)O-@r1J0`IyNhKVc7)6hzqT~F^R19p1P36k* zRc%j@w$lEgsLO6+2Ex&$iR#4e$tOa01aiCvo5Wn8(us_hlh z_DV=>6T1>^uS)ES#I8d4)rnp0+Fp|wdR&8$YgOO1b#0eO+oe#}Cbkr9uZ!9)i`rf< zZEt{}7EW3O-l)Hz#&eVmG7H^28{*oQiJoE4L=vdC2ikM z?9Ig9M%#B1dn>Vb5dJPxfouC-V(9T6Lf%(>@7J~cK-zwo*awMyh_)X^ZC6KaKbE$i zB=&J)pCIs4mHyPV{n)h~mDijwI&Y)caOPq3&KpI?CM1BcyrIV=giOXHX_NEJVA@RAr|_flc2vGLNgthO zH+Bq@Ro;$4&J-1zLZLWGADgF%$K~zVyd9T6I85cTroH3+FRL$kq)p4)33;1F>FFvx zozlIeXxf|M4Vjs@8F`yYLrw%tW1>R4ll;o8yq(0Rk}D@yn|O+vcq*Gqc9AskG}dEm zArU^CIm(+j2Y4=Ta}aX6>N~yK#8kDpYS0;Zo13>Y$TCk^=8@%4f2|!F=I3RCSfJzu zNL`q>h53PQi?R9n{!O=JGGDG5E7o*Ea6W`i9aV?ZJ{D;2QC}~(g$8+r5o?&>WjxKu z2|?y}9ch92{b0;8p0bYay+_bjLjQPo%d~s|My&z8*e1%U#}}UWvaL5;%SikcQ%2g< zv7zQo-i_G>e*;u<)WpSOf$86LVJ5TDzi3OUNP;85D0zo7JS*5+a9A}M1`fvZ>5>|` zzPea5GSLt}Y3bn9^m&jhy=r0q&QYJ#57{G^8|iv6B&}=fA4Cg07uGr4;3E|^Rkh+B z*xHM|sKvf48rqF?bbV&yf1&jM*Bj7VzX7dj{~wI*XjP>!=$!qWcHHZ6FWlX+7v0yh z7WZM-z1VE4&z3+mP6)(T(uW-oqZ!s zG>q9ksGgRz9$&31FhDl;^wzt%u@T#LBL^)?enc=@!)FfL%Ig#m-;H4NrxV=R))ms& z5{ObOVLdlXa>#ds8UQ1Nt*@D(MSboLxEw&ID}MBxZJ@!N*I;&`t@x0>f#uW9ZM%hy zsiAuE7IqRpY|e{*#dCR3Ku=)rCKnNmaegi6PjlGJHq#N`n{#pV*qY`r(95~)ZMX1M zq*ssMLi(VnGAzZO%g^8HAvPdyUw5mgOZUx4_2k0A_KjX_aP9WZgTfH<4T%mY&D+nFLSKdXwuG%dao^~J{t2VrwFoC@NnD$o@THF=Ad+=4X zU3Oa|SO7(T8auI-SOMKgXI<@qv^+1;^7IxpL)oBfPTFu_0QGnncy(^cF^rw4tqo8=}^6ayWrk-G4sqi}3;e00Rf6y=yw7k;d)b%Pu7 z*y|*GYM&!U(tg12kk9cH#YD%lq%Ir-op&s@IzIA1oT(f$>%vbIAH(2=f>>7(KFf`C zv(OxKo!>7kY<%MBA}mnq!cU9BXJ?GhX$YSq;W}R=cFXCq+zoChV#1T~Ga|ccMK(Ma zK0hAE?G`*%Cw1Wqqj0Qvd=?_SX2^@e&z9+Ka6<`31_@u}_Pa%Ber^0OQRe$X*U__gu;?TUDnZt!mY!SvTm(M2G<}j}@>c{CUsOEGr?O=gIM+a=cjA{3TflYI9`Rm3tf_k4U@^pi_+jQiw-sU>jA}FoSW}e&iy_v-kI5j5A!MoC z`RZG*93qFp8ZY8e@@yO}VU3K|=E6Dl$sj;q=Y$`}vHTeTea$a2V@j#Zzp z##+Ke(I)5xbfg;vFdAYjoP<$evcvSPDQg1OL%=2#6=gzvppWq!ICqOB73Nehbmcgf z9P$3U>zhbJRkWr#cVnDHN@l2cz)WQTQC01~Cx!u?|Mz*Z}9!ExB-p3&$#m zg)pT?O@(9m<1?S43#IwOy5^V#U2}|re9j~XroTM)zgoArSx_&oMJ^nZAojs?(fm9w z+L|&XU%y0aJQc$r?9*PfHRVOHr4+>^ zn1>gkCLBAU3%|h)fsq&i$f_>u*MR3hA4f44K;aCFmm;-CV zZ;!$;67sp79Cs?mops@ED%6YXZWn%!Qz6`g@Oz_hEP{OQrRe=CdVgIw=0evTV7IE%L`FB20}hBAp9lec&RRYl}v|valvrFXu&{; z>F*V~<<%(sH5m^vA$H4tn8$or6OQrFHOG#~=M8ear5tb7g}*I(qF!9@xNxkAm=@nf z_Y7iB!lyeE>NIl9P>vaO;WM@C#|AmGW`hL!;<6uMSKq+Q%JBkoVE3Z{1OT8D*ifpO}%4o?1S{2ib>C!VSa_ZDYxdUao#H&J5;=5NC zOwE&6F3a$!rrfE$GF@`zg4{teU9$G11c4glY?B4^B6v&x|He;F|Cjj5Ya3)Pszo-J zh~slCxsoc-);eM@Xb3Ahx5nb0MY(QfU7u)3$G&j6Wpg>TX=&?nfCO4yoKZ!OTkvwo{{ zE|`|6F*(`IdsqUtMWmnggd0KB%a5KJ2x9VuN6*w`4(&X{Wx5M9H_s&uj#{ivG14G-pc4E2b5SSP2t`E47a5)D8l{REZxoo)jr z;rJ(kBqP=alF)U#ksZh7c17*c`nGufG|`+r_$>EJkDX3$L|fRsvp-15?zYFy98;6Q zSD8a7;39uWGZ;tIl+q(=h6j0k?=QFH3U0~WX@<7Y zLk4$A9sv;22M76cHN%0l$j?{ZIUGa=57DdufAppq28J3z<%rOipwj+U&G2`W{0A|b z|JXSkiUde0?VlB*FAqyIw19OqRH2R$Kpo^6Baj2AqavJREPDj?Nee#6H~=}k0m!j4 z2nSh#HO33sfR#G~qLF581KyxvlLTT2%x8ttQyB%}u<#^mcCxB!01Ih47 zl!^z5X!0byAWe{lCje-iOv0dWigY+N(|P^i0E7X!ajLr>&&mv#pr?fYc>HEd-fZNR zRJsJTK}Vi0w`3rVE&&>A;u)wi&sD+PqN4LDT5U)vEQmTR6qMmG2UDhW0o!o#XNhwX zq+`3R-;R>pl(z!e0OG(cIgV*o=`s7c!ZmCW7kq*#;j@f-iyiO~&f(JAI7TLw4#>er zhocTj6M#D|q%SzvK7=5|zqEs{eF zB3opS5RF_7(D;)84KG~A9fXhv3G1{WO9z$?0M z70<-{Rd8cFhN(+@PJYg+0&v3}yKSz0?mF3~_5U0@ju zt|KE4BrtH+-z}4}=@eQLq%oOtVuGX`aK=$`g62U{4go$2h3LNsRjFeu5t`K&be*=hp# z#o6*~?h$~IlS{MX7Y7KxaOsQvWS8@haE415C>+DDT;L3k0yM_?cxVxl;a9*h_*}@9 ziGIc8-t1Q{aR}q$>~|Yj0PAVFRF2K%`M$Egj7)$TG}gP3xiZT#8f2p%$VRt(oUhCd z^tTJBNB^cL^O-%W_R2NQ?lDtNcFTI~e|dq|lJ}8>H$wyKCrFpH)OJQPx5_#>OB*KB zl3u>?*jOyD>TqaUw8ZjQUQF8DQ(uJ-|I8{}^h?gGQ^GPoK#tV}U8}rv;)#UCe|^cm zBxxSJTf#O>*r}~IV2WOz-bN3V7PCFPIBg1#)X3e4N;eh<%kVW~PqV}9E44}qJXNKz z2&vLQ%sTxHsBe5HO`K4sI(Bhc{2HbTpF=ovIzuxd7>>-8?y>;DWtA;(Wq zemC3IcB^2>{E7Y4ezq~D%$%RU9HZfX!9sg?l6LQAdA>&+yuaw*bas|3%q~{Ps?}Gr)79(rxi6iz;Dzt`h${$A)Pl6dCP;b_3-d5 za;`}}|j3{&K9-K_GewSoSd7goFg>AeasJMuxHY-UJ1L}uC<(g{6fO8=LNVM!+p2m>`5~W z`JdU(E9^;sK~8au`G8MnUhdK!+)o+s;}bzNZU3f)N#+M@AAa!>`9IC?ROWmqf?52I z*SODW&rI#;8NHP~&pIq--0@25c~7YlqM|nu;&HsCXZ^yv6@@41lwV4x{De`9_lkfW zzoR~6abZCt_h}lj2Bjwt&&F}0i*#qLVH2{#%wU`JFiu^D@xM(`)B7z+C;Qg08R|N{ zNf%@FJ7EjP>sRUWEg7?0R-iE1f>7>38#78>##SILz%Q{4wX;aF>3Hq>%vmJpH3YrT zglS#>FVFF5huJ-B1Lng8CUX71Jl8KUaKkoDwhg{2-gAD&wl-2;c?U0Hr_NG%ho``x zRbHx+NctY#`@Q zClL|xo&NHPYDeDne$C(YyYj9VZ3k=`_scztfTRtte|7WNi!Lw(SADz_+n) zcXPY9`(`EqUXv_$Nvd$CU6zxiZI=bZ@Si?mA!}%q^?hXhz=qln4q(#yzWuOUla{DF zI$ah-X|_WpePuV}g|wp}wnI}`ksAt6ny71woIA5s(m_4O-;CjEp*=%;#L%bVXb?M8~bA`y&|ru>{@P7I*n2+y-SDUPrawco$#sFuu$HAFbm zX(4MFW2K$5T;CbY7Y}U#-VPt1jBj4w<=ildY-6kzbds8n)wnM0WnEgdMnTJ-#RusD zfgP1K_b^U5DJxDuZOmHhii!cYOCiTT^R%VQ(stggRp)He-ly#t`3#@f%k6 z6WyF=g?~{k^+oA{jNL74^PcckCabT?r`WS>nPwSegVY*cueN1RI(FlYE;EE(iX+8) zF?S8NulF#9+wB|i&bKj?S(aWjI9->vX#$fpXS>)XY{N6oDN43&C43u2za1yvHVtHD z+dh@gnMt<2#)&K6#*qF_`D{&BsiNQ2pB5%A&QR*s%G8E(FJfL_q3ZbZALwQJLti2N z5Xv>SjjlVxTuYJ8^p`J9JJN9ucC4l80W3}7zmT_`7x33|FXI~q47u5P-8=Jqa6(e~ z9G`x7L4{r7i>#GV?&bU?-K#T_Y}amH(?1c2><BWBa`bG5puQwy!88{+RyS&-N1~!u~kg z?cWQC>{)uONAlxTP{WYB@ufQ;J@Dv2RaH?{2U*1qs(>MP+sKh%$SwfiIWc$~Y`u1H z1@Adegy7HqiW=Er)rZu%Ef`pwbrcsuZQ}WpdWWWEIPXa69R|L9STFPzE{KVF6o5+y zxUv$OftKmtvF=AV7HkJdnNu_5F$bjFBd0ksj^_fnvfSkw*5)pEIG8e?{4TLgu(A#` z+9MntPcEu}D5tdpDm$)R>rm$7W68Ut@MYI;s?cRM;&>@?g7fvA0LV1WJ?N&P$n*?O zae8IUh(%`Vv?6Wuz>~d6C&de($g{YxZH>kP=MG5)J9Y#aw|zg^NN#Ym-63uUR8jGT zIwuM_UEr}aoEsC)5SN8CoF`fHGhoOd$GyUf$+7@h3mq|@Qv*DG!NlHQV8j=sWxS z#JL*9#g74qsr^zx!vMq_e4F9XxlFh>+~TsD#+d+gScDh7AjO)bL5Z&r73BqKx1rkY5^;y0Ep!K3-6?(Utm|`EdWz5i z!iZf22=P7MMj&F+;%VVTP141_du>Z;rzC*Fbp1=hfOi59M%pSFgShHx)#YAEFfkI6 z8c#;Icrv`VK!N$ZO0`P{*IpQ}3mW$O@fCtIx!qPxLba2TzZ@SdPi+~*Utlg zmo~j8E#9m4RtZ#CZ37bq9{zxWK)+sZ1ckZvtL6Cy9^4}@H^L_C-3K1*c|R2%tR4pk z_Jq*_fL%YJU=qi$`T+_i|JdvS@*6lE}x+WdRcFL?AlDL1OoI10g1P1}ZEW%=6pHDYw!ovSXZ>O_zGG!>_TO z?YkJ%CS|RQz&IuO5^z^70j(I{)Tmp z$;w*4n#9&_zx`7p?XK+6#qfk{MdXI&uslHsfnKN?@hraKRn(K0gOzfpbQeLbEye)? z>C)e`I;`Esz}ZN$Yq2_AKppIPZ4>)SC2Z3`ePL=auI@=FZ3FJz%lRnn%DLBc6OsOiXk*jybT%~+p73K7$1qoN40pn z<`!8bbl*Aznz@GGNt+a56ex++Ku1wp!cf1DgmU?f>|nHfzkIImPhC~tdzQ8LGxoiKwUdXhg_ADT$|7zsrPoI*pAg9vJ>6sSW7P^64z@4J?H4~&S7U< zN*q=p(@*eV`bmY|<}S9Y{d8mYo5O9l9yXd38WL)3^u1uhp0WpGe3Q8|o6JV|<{QGE zi21es%6?s8U-@qagW|?GCGBqi-V^o$S>9{cHAv=71oNp%dn0Qf+uQaT&W5tje)9L^ zK(13IrZ;0>73g3)Nu*YKGxnn+h}IhFCs1**o!#aB>V|F&B4?KG`XXle4z`$oR$juj z(yE+FKCSAYv?`C*N~`LnDk8S(_uV(12|-(1r7>Gw;Skg(T+9Ae34iA{u+faS&o`Q_ zY%~w8ruL!hsBhiHD&D5i9XHpB&>cy3btL!)@X^*K0Eq=1!JWAnMz1nZWVZp2u2P&J+DF~gI zkuy`a=FId{oS9JOcWX??`ogqo{BDG={TTu!u@aU`sD6}w@w9qAG<+TLUMU=$;@GSin$KpWk0BPz# z`7af;8D)QZ4xPA&9GVEujgCtP;ju&+ZAW9b#@*-v>_)kX=T~pyAea|BP4QV5XhV7s z8&b+$q;g)6kOhe?sByjoWz9Cv}Dj>{7hDVy1Q(!+2ym)=KZzM<_iiNsB9LL?W) znd*kNYi%1^qPNn?<5BHp(@$J=JQkb5rq=hhwPrjaW=Cyz*~@xYKczjb^j)Dbxiao* z;nq+(+gdGu$-9DE`;6}Wvm$zANBiA|_|&nNm9G;l8&M+r))!nN+uBUJtz{$I&CXU^ z+Ep%*yf2aj>*M51Z97{N`Kq?E63L#{m5e*t7P&XUXV%BPi5)IGSt&{0HxT)@rk8j8 z=-PMcO0u(k7m00bZ0UD4vF~Xs+r^F+c^}5OtxEWad&XV+sD9U0r)-ZU?P^^WcBh|s z>poRccCDW>U9xFpGs~sXZ1h^#{E|vELYBJN(6YN7i%(1JFL!cMHvutfAB9RR(myUFa$xj%V))*O%Jn&T45dm3t=E{SvH`h>GnO=9$PVw#?pWgUQ@ z6E08lvt40<1mfa^ztcjTug=W+Jv~#<0dEEOa3WBvHr?anB=VO^a?y(S#5#Lwt`b*-YW)Okx{!qO~}SGpb7Nz}5) z$p|5u(jj8hASCZ~blwdfg>_B6-)zI-Ri=~ zyPPD58u9UTe#YDD67R@rYP{1UvJ{9Fr^dU)+1Ph#yj!7I()u3t-#w1yc>C@Zf#-dS z$s#fn- zslemuS+wnhWpRt1RDq|mkT^o%NRZaXip8SL3fj0b7JXW5jVk&~dfseVtc?vd*2XSk zu=x3c?kYr$Omu$M>`M%iRZiLXq5`fq7FQz@UqJqk!oE-f{%#JJaH);BmQ)6-0%^F*zdjff=;0_3$YT8KS2=!K0>p z%E}>UVhoyM%2G5Hw2T^mW6*}M zDX#@~#be0;T~JIQY-%bAEyPVxEg@6K=ZKjiF5k%;r+KyHJ)WdAZfZ)sTEeGhc(ue! z&Gc$d6kQzDjl@u$1YI0~QfN_)l*0ZHD}|u(RM&#|C|7HC&Stw7bEHKzD5_h8ja-`R zT99`RTBPw&r_{9|OlqEML44GF*J6RpG%y(@e=yt zQrF@#Q98oq2+din6gI~zTnk7XU5l$k=BPVzwX}fA5n9JZFag=6(u&BXVxnKX-`55!y!V4kB<2cOeq`#_9xqx9AyNlY1oLUePwf z);L0JjrS>c6YP%R{v40`1G&zI@StQqB>G0!7%SmnF*rio2uI__VrYCs>NUYLDUwF- zrpLt4sJjP8qbI=6_yh?p5Hlj`DJNrmicVUgbZ8mXZ{&TFq?OLg_-MV~o)$}^PfX%z z6hQK<->&C!5H&)~2%l`M<%JyFjH(t|Mz8jz9E6Ojc9p7qIR_gf#EVQ#N{4?@)slA= zNv}Ew=3qip z`S--DC?z0dWUPM>85t{LWOOazU;Ky+rLa0Cd@LG9mH0$ed>VNeyTd4`&_Lu}}MpZjj%#0E;P9$qbh@cT(#)IKylok^bxEbMMBo@bCU+p4fJd*r` z;>3i>B4d<*qY|_@TD*)fG7|OaB#pj1&&Wr-jYDF^ zv*cZVvRE4-OWZDNsq9k{`4qy|c#1e1g#*Owa5$cZq$JGt9CH$zo!FeDE1a%I&t-?3 zK-5 zk=B+SmK&C~{Sr|*N)Q~5F1bqQ2-!%KbcN^}^<-Tc869_l(GmTx7N;Y8j+FqL<27g> zHw7>{UhDanL;*_^s2o+tbx!Me9jYvoD$7uXgUfXPuNR}EZto4T%#8`Ojw*ALh#p~c zgh4xAS}s0E_3ka=a#Zi$8n3|McpC{8ZWqNPG>$~x_@!2{I^LP=1f?TAeOJO`h%~O< znWP9irP>2Dk9YH>SuBs90IMS((LJ`L2{1k0#}%xt;#gFf2PE);`mKZM@j))Mi1m@b zCeBB`KAh|lAbW&SyD!({W7TpU@IAuxr~wb z1zjXxkIwG`cO-)b+DJGgr$8VGQRK1JavfrhJdSchL>x)Eb`eJ&PeKXi$W+i8m5$7qpRH7o?GVJu%-C;EF^LER!eYQUC$P!q|GKBQ?u7PCl8~fX42C=!`wW)l5j|NK_yB1=7~%a8c7Im)id*}Eo>K& z*u=CD8}vNXBi@b|;Qrfmc-ft9g4RZ?B^MYtS`S%XNg;;T@seknl!S`c1f+NGOH3qM*0o9m(6< zDEUsz@^0SV^}61RS>DeZU*Bg8e2_N;k@17-82HfhbcBx}wT1ngMpvKi)q2Q2hIk}z zAFJbITR+JwP~uZ&OsIBAuRh(Q3O33u>!S)wu!#jbvM@YMQu)aRn^dsLls`)4kE)kHx?o3B ztR);%;JzPIz&u}lx~CLuieEaGOS&t^73???n#0tBkv0|Wj+gWk3U++KPC)uJNuO4i zKD}VmDbW^Y6l?}x+QUrcm|4$pV!=-IN>1`hn!~Ju@pV>VmvFLVpHi@s3w8>!Pc7J~ z)p8x-w1S;RxglY8RBlee=8#Ydr$<3^3&z*E1$NCb%e;ck^Sb88EDH+8*9C>1u&`hV zBICkBoVU;PJRRYzg7G<%j!ExqM>xA+XBYZD-RBhS9GAODjayVzvOSzz;ORcEVCNR> zJOt?JUW`~<%#ZkVpReENtJ~uMxu9SdAgnE1Sg;HEGB8}^nzVYyG-eJ88XbsdkIOG7wq!F;0B;U&SeA}EZ7wVyOK`4O4VIO){<^%DO??8UsJGa zkX;Jb#)KsWTS7uhSgOjdE7;P4U5DglO1EW5Xfg6GCF%Nt@wvJXpKcbQ1-k*$er(W< z1-lVRZQ-VZ-NcvnaI?DU=6W|RFW7Rg>lUxPIow(>zTV0hxJ|X+Ua;E=c020dQLsCz zAMSdHwmS1PZV@-!T5SFO5PW<++VQ!y{-phmIn*Q*9RE`4;2hS zWPGSP1|If29pRCJ@p+g=%iqGEg+~jW&o_j}3ifEh9^*pwIexrgk0U<`Pk4qW3-(08 zp5#e+N-bGYu%`;Pf|jgQAFQmlr9C`du%{^pI#{r0_|hJpRgP!tIi4%nbFTUG1u%sd z3if=#UZ7r999*Kv{m%p%c}F0g1ua@SE%zvpu}2f&5m%-YnQ#G*$!oZK}1m`5{2nJEbGMQ?Pd^KP0^C!|uI;y<4#N zsQLY<;|B%%fDCYw$Apgx_L0}PTB?3ru+;_om_~h~bo&JHEk@qeBz;;iKJQnDSw|RE zv{6JD4hf@+Y{179ZFJGb6gdT^s4+jTXk&{uuE>QTq8(YZNkxd6lx~ypZ)!2}9!b(sMdNcskugr&k1ksE6K9KKTx3U>QZzotP_+6U zIJPJ-`?#VVTeRay_r-HZm|C={#lDls@kKk{l{ukE-=9#d&G6HT^!@arO)J`T%B$~Z zP@B!*N6pUH5oQ)`CgqcGBIS{AVzIh3KB;IYaiurRD%z}=ieq%qPNtH$;XI{ir+Dd8 zi}E%&t!Sqf?X=?XFk4+Sr)aZ_Hiy1Ey=bSaRD25N7HuxYu$i2Z)_O**)_L9|+lKi? zYgk+~zAi47&-WV6FWULVa6!F>3yXGPTEj&}c}ExRqM}_)4VS2fON(|% z(JrNi%hDPytJiROtl^5H@%4&g`2w%u%A#Fa3|G}_xVmUpr`>Q(F-8?#TkLEOONw?) z(Uues2uq80ZPAu8lCCS-b>w9g>cZK#$4YJ}8ejQ$S#bc>jB4ONI_$=x-Kff%?5bk8 zsc1K;ZB2FoWOqfoSzXy=3yWbnQfzs3d?n!)b>^)_yQOHi($w43)Z2@8ThVT(sduDJ zy(8YOB;2WvNT6z%S!-9z?!i*|3HyMCXKk^75wU(xPYl|CB4GE=D! zR68&U4@!%NiuPd99zyKH68lKe9xmD=h<&tZkJiL?gvW~Z7(G)Ck0Zw(uZ^T9^Z-0r zv?q%8q#gk6d!JHspNda_9`7Wqknoj7TT!%?)b+G}K2x-(i}nn4Ju8{dRyEr;Jg3Xg z7wx&CJx}fz^z+4{y->6l$^BB=l9#Ia+rz4&ttysp*8Pt|ciZr?+}2(x+RH_Ig-7L8 z$#|`3uNLh!WW25#U$0Aeqln&b7VV9q@vnc%*Grz%-!{CZJMebV-YVMLDD;kmy<4<* ziuNwT-jlHR>cZYH+WYj?j^Tqiiaspbha~J8K2pKeMf<2|tBW{K>*ps$`?zSI6nn#` zMWe*0jKfhS)EQl}Q6(E)lFz8mkz-0W1}=gf!&qM+V5%wEI1+XZN0bmWzGO#~Ym-T4JiE{AntGnwPImkF!fQo7!8$9I1SI$>x;o^wO?juEd;CvbiNY z12OX?W}b^7szhSuuOVhZ$riYng(V)RGfTFxWM`JT!dVh?cFE2v+1ZFW2QdgbM}pK- z9br+)7Ey3WIJcx%;&~-Iw`Av$b#c7A=a=k!GL*svG2z0JT}VPpxJa@uF4;vTySUUH zE>XH&f?6#`-it`Ov}Al1m*TRoBV1Op%e=PBOT3S-DB0yDyP|Y(xY8@Xs$^G|>?$h1 zI@Wbf$*%FruZ;;yO18u+U#iNlE7{VLT}MsJly1wsa`G-E>H3oKxw>BY4JEt5E5EUX z{p+TZ-B_}lsQhNHe0j-kF4=M_za`dnYsqf)%5RGax0md8ulx>GerL(-=? z91|WX*&|;0qpJL|l090o$EfLXrQ73PIe8x?>4}o@d9YsjlO=o7g+1l9tti=3C0jvl zE2HqIOZK#9cqS%1Te4@pw&zsa^Cf$(WX~h|1*O{yUK@FzBk9GG@mX1~?WK~vD}S$K@42w|b(24UGr43RQ2B>m`9~%Duw)-m`RZ8L$0hsN^M4W( zJ}ud&Uim1w8INwXQH?gb5zm@N(rrwmhBtXfku&*!VddCpQxP*H94{t~6B_OKMmqsLrZpN_rZx6;h?^eE z%xJV3US=lBV(U1u(PlQC>_$7S(PkrTP9yWr91fLf0GQZLI%%kN{ z3iyn_pwSjkq9rU;i8CestVTPt(fD^^=}&VAV)SVVIJBE}hs`aBZqp-JN?~A{g}?_j zNb&yzd%~8sg>6}rGDuk>MM(=W)Gz?(gc9Qaqm)E60IC5;_q2x+;vc>t4V()Ax)OtV z6M;<(_pRyot-D3;liuY1P0KQw4Xbxpo+$N5gp`fJBM|)YF9jVH=K=gF8_F=+g+>Tmo9cK!bMT$6*Wl6~+nsY9(x$9cEk7EPUtFIy`h= zJW^j%xvkQ29-!63cuN$Z6>ISLiUSyO-gO?czZXO98#bhe(UvI4#tp1ulp;$jkv5*Q z9%-ZTy`61i+jSE^@h#ham$gzzdD-u!Wrx~Ob(aU|Cj{t!&wkJi`9xwr^w=A+wuNEJ z+7dc#n04*~X-@qh9NM~LyoD`cCra&9FV&?|7KU4w4gYZ%L8%`boKcmqGo^NprP{(S zJ`i?E=jnm4M}o$59tor%(h-5w&*DaZAo2M>uND4<>S#^FCk8=4v4`3MhmQK; zS42tts+&mtU)aA5k8u=xrg0R%5o{1|(7^ETRJoV^yY1CQEJZ`)b^Q#*BLkrlc*!Y1AKq6E)r*3OmN?#PIw2;+2#FR2 zNMvdO5!)Ah+c8&Rfv9lk4X>oF7BI2P+5#rb z!zI+6ZS{zWbTu(Zar=swVCkVq2~C#sqT=%vE1@mYf|#%{V+%>xOTiMPor&sa`K8uy zw!$KIB02)~&QWj(Lb!Hzre@4;T{B=pHJ&GOSJk*!Vf(fSdFMOdt7u)DrEe>t66r7? zT0-=$4GNaHh%cPa?(q>9aLkC{**LM9Zv-y)hn*iBq%R@8*wqvcKz%P+zv&e5`pcZ2TTEwSXSDgA3h z8Ze=fw|j`hEvQPc1Thrp`8HnY&RFQKG)4m3sbc%pfdobHxfA7ykRbKmY6oI9jfG-h zL_>PSjXIFv2tM~w(?c1>{Xe7*^cPAQa#%=VnUPXpV32rXAMqx8poFHrG(@6VasPZC zqiSL!@F78n-)|jvL$^Iy?Y3qy0Qjw3k+BuX5cV*7hV3PysKXauc~I$X%{- z6AD1Y zzJav_>*CF}?WJ+D!dy04Y%Hip-=w2wy1|1Z`qxGEv_Mq(?`4Hp1O!m-3JY=>}M zrV@HbCt}V?xqnrwZ`H8(VeP>47F?fludxbkb2^rMNA~?H`L1juzKTf%yqwWWpcM+e zTU`l_GL<;%g)x!v-ko#fi1!!V z@PrTL8dlXXiy-YISjAL=tWw2l;`%VKmT|*AVxX)faG5P&_-$oicq2XlF#lIi5?hJJ z5N#z|v6V2MJFxK|>Shu{!Hq|Lqa%QBSW6_FU@#$Xu-z2l##zJmVVIM}8iF(hw828c zvoMypkE~YNO33bigg6>e%h*AULig8Jc9BLoi5*Gd1y{*QETNU7li1#2jJk!1#26V$ zv|%p+k+Ico;VAaOq~0ZtV*AQbEO`^?%K|(IIYSfWCe}TUU@_q-7)r=hY^#hWNSjo9 zU6`!)FprolBMG7_tGy}J_M)joE0z)o35+G&ULujkC22EcF`-eK84JylcUZOas0=Ca z3+wT1oP}sJ!9}hXkFc7h^Sn|?MiVGaqgU8|vYa62F{)xYLDd+~=Bos=fyKod*V*nU zc2RX)i7g*FSSm9LaqzhOz+zQ_@>EIg2G-wp35$w^ee5SzP_{{qV4cU6GN|x@TO~US z%qsfHpn~#GGGePWVr$w(webbJwmN3(WIiE!SXVebY%4Y-^f0L)aU=BHmI6bHco=8f zl+6SQMFQMlPm$DoN}+6=6HF?25=#owJg|*?MR^0*RqUWxYuFjf8)bNLlKR~h>c(4mJ2AXyRiqozPVpvBtJ-O*#cRepGP)3t@5<&v z--|O|xs%K>`134t=sk7voC4ht*#@PlhU9#;o9`#)7<~ff7~bp$GQ`l7!XksTi?v^u zMF!%21-K!oO&ewz1h$Fi=*BRh4&w}!ALuyfMpHBN*H2ztHiSzLPD#|G10!UHfvc1{#$lwu^-!bGh`M%LCPo{hD9n~QT2On;G%(&6Q`ejD zHjD(e8Q5uz1wHcEVv{KxUo+Mlk3bfGPE%rU++;(;g{cN<)9S7Z)79b(8En`LSeq%#67rRX)P zfz^f&$ZQ!~*rT)}T}Q$K_8XpuNyc0XvtcIo8>ukgW82K99YWY(YZgP;0Bcq|3#;u! zs|}8w3SgrtxkSBLqTa+-ma59qY8A{k9{1KT_t;el}nF$d~owy~>hDT3XZ3_D0DV(uX;59h>fJe(8EIe7Na56n48-kZF^q!{KM z`)Giz7sC&)h}p;Uq_oQ9gR~cz#4n0(j6JaXH~`-->2?rk!qv*6d z$>xJU-((z)VP}C5`M4W-9A|h>h|QBS{lMk}oJlggZ;4Sa>82jxRC(YUvGlOhP8@3w z`rZj!597~wA$~^I9+WL&6oSnMOr0$=)hS@};X@ToKAJH3zzD?7!^8XH;X<8Z{&4{w zK1g`@pgLF>bX=s(rr_2en0~~MY$q9j(4CKHk^tcYkOG@bKoCSp+%QlEAbKlcZIp9UDVg&LHj6mS-PML6E1VVs;luy9BgrbKy0cT0T z8YKDIMHV5cibV)v22>jZkl``|0l_TWkFVAzvaT+P1qi~Ggx?V|} zjwHJwjCR(zu*(?4#-y$f4~Y0!@FXeBKiDW`?jcc4!Wh;cQ0o-NyCKN<6tFy%$IJs8 zkcpIkDCx>W)bYM_3U2ZdCZ*!|qWzS`2MI-+1bP{Q7=1)(U>8h4=;~A%fnfg86T6R= z4%mFq#0*)0*bJJODH9M3J{Y2znCE?H z2v~gZ=X_eh&|`rL6)_*d@PpPCs_r8Fg|P>wAd6{tiJN^alEKHX2dq3~=TVUxCB`0& zVOh$S(R#ON>(LmZtw*1Vtp^choq^6W_n>G;8GBIOEkCgOXfJKT@PiVKVNJ@`@JFAp zHih8_#vts4O0sou5WmdpW&WWzy+M{Ai6kYSw>GBu7H(3Pu>HUeg#T`&4_nlSEl?oj z0X3V#))XNRo>J;lw6IMkA5q@CHFa6>La}B_O;svwp(VBd$r4#IELn52* z9|R+dPJS8?QfE6pS_V8cAgo3chjUqqk7!(_zqxOcKl-q>dN64b>nBa*FFI z?r^pn5^VQ7+tDs_7s)Xc86-Y=O^3^pk{%9W>{WP;x}vdm(p8sA<*%?`{UV7tjEZ9U z`fEDGmFYgCsE4;PuZQ$nG2lC+PU-A*2#?TLj*~5^qwsv6PMY-42vo&CkXH>BRP{>S z1zqV?O}@x*^KPH6G}pyaqVO5spUbxUqffz)cHhw0GO7l7HvXgf$`$SBYWRuwY!Pfi ztI`x991YT=cxx`vZjiU2#@ea!LW@YdCo$gfqHO=wKHnxmwnCOgxsuDX`-d+e2Xsec z5@vUm@7exIXWVU6YxqOzUxVu?+|B+GuA^`kDqYx`@hwQt+EwSvDxZ@=Rc^}CGXcQsK#L6$9S8p8Kz*u~pAvx&1#h`CdE zp#2;B+n(X?7zB4e+vbw)?^lN4?~_gt* z>bRGnZup?}VRIj}eL^e3?$*A@y#FcuC>b^!1ce_J?MLCqNkMlI)S8I58}LJmc)L&N zZ~tQb`w_>i1}C(CZ$Gx1?B@2v_OJG@8tYpU5+2aKGHiIG)d1lisQs|vCrGI-_wE>e z&ae^djLCf~!*;8Nt+vQ9WB?y8#NYZ|{_qTxFx)5dAc>m>l|^3-av}4{AT2$jRlu zwpC(sCo#?gx+^eRl*YQ0Tq8I^UWD3@>_oY;Rn9{SiKa>UumLuCxTk!Dd ziplGPpdRiWur2r&A17~Pz?pdUo6s0aR?;`2UR6B;!u8=Ys`|d(CKb6|9;+(M%_qI5 zC|l(eu!#kzF;v7Gyu9@fpQ7}qPzlDbM~l7we*_^_hehcLCU%=)|>$-&)dbG)etFI)KdO+!`)+6y0p0b{z)I*f66(x6v--aIYE7rRwp4u*rN0h z_;2Fi+v4Cm7FCenvhVgxwr0xz4cf=QX=6+76aJ3z`P<6)#G}RcDf9P6K*_%02hjY1 zXntQbZxl`6m)lT3-eCW|XZS~^#Sba({=gMf@`rdC?^~hRFX6J4690rN@PF!C)h1CmYrv#ha8{a46r- z#?e5EXtUiyyu9DGN&iUIA$UK+Q5&X5s?HY64ty8eFZ=18irIO0wIQ}!Z)liGveB~Z z4yU1e)zH1(&@gWZEhG)GZ?gTy@RL*>K|^>5?+^$#Ng%bj)e=ZeyDtrmsW$XLZ0Hhy zZFm$?L*u-mvEI;lZ-^b1-F5;zv$axnA`KCD5@e?uVnb!4okZ?rd2FMhU(h`2&@x3O z*-F_~r_v)7g?Fr*bLE?@ccN$ve^<1>L)A$2$6Vj|7}Xcb30pM7AzE4-3$%&+xtMPgp4eDeOQl`3 zCH#KeOK_u!-q@3qticphZ9ggXA}-kEB%CExalpoX zMw&#`SQ|;KbKh%g8Jim-*tRjOmov7;+8fX(vLmBQ+#qG)H^L^--rUYxxPQ>Mlt-m8 zpj4E@@Egz~5(jIWJ7L?#_;05%REF1dxB>z@^kWB}**WlD)uE%biQXBMh)+|Qb2@57 z{l(>Amn#hwcG9(o=o0vR1~TGN^_+m zHw_BxBkg&QHTi6r)D_YzI#(|y?!+N=Ao&YYFS%w>q+WLKY*H;kiUKc@hEp}37ZOsR ztLcb(kKV`P%@%mMBUgI<)XdLeC>dO zk)s+q#iLRy_LowTT5_~@tfpmbUOL5NQY*^wnw@aZ{3oSV^njgjxgPN?cZKg=BEsa* zE2LgT(O6b5icg$~OPus>^djCSmumxRrARy@U1BfXi1Yf+d5Fn#%&qgxEoRsGjb-hs|&ur!2a>O-hp6NW}FYaBP_Vh!p=T(-%-8UT#wU#-9Ng{L`c zLc%qM@`rs%1W9)lPS$<3@iy0(s11Eij)+qKs3hb{H_APSk3xMhx|R_d4sJ?WixRE=680&?Is#S z76B?l=?+;0m&B3mD}^DY=E4Chfl{;KYF=#%01Vd@&M$ivYfO}gzRpo1E=Y)>MC6%6 zokgxJ^2riXg&`D8X8EGrrA)6vm z#skk2bX6o*YKEXtM7y|(_klu@oF}QVx>gtdHBqD3H>}lPe(QHlqPK+BkmU8%*%Eb% zu!By~Uz%$aT>!Az9k*>}wrtUC*(%Kb?Mg-9oqE6fe>$_dgxSN8lek3=Pi7ePXwek2uRNlxPTE*uWzCI`wd1d?L zjSW9+UoU%M!}S_I*xD{pA0|A$DEDeQF&>DNUP}D2^^wkyw3lJym0J9)_mM2AFgSiQnEN`ENNZJ;j_1!6}Ohz!&z)Y!CHQ6cJTQ;{t+ zmfg9bPehYgmM?UXZ?{xMnb`CHg)-5(MQWTH%dP&;KJ zX}6(bK$&=Z9U8>s4WK|AtY1YGiUED0w?9-$L=7K0L{EsS!#+|Sl6E&LfqUwhUMLAs zfKm-r;;_2*Zy>4?Tce-1Mkx|`?nP}7C8bfLNbm(|58J5vGp-@alc!m^; z{3@baln*#>f7UNmCyF6-h^QFnFv4@i8XClLbtocHDB|+1{RpE{oKM58atr4)Q7XD# zu` zhlmkXJU$mOT`q(q03?ls=An> zclb}l6rFxiOd&a;#<1a+h$$G4_ONP#H40YUp8$S!V5$i$`i)-*ENY$Oj!Ljb#TD&! ziRAg)!9(};44!bmjHpdfvX!9|`m46S(x3bO!2{ zR3ailV{J3iWhdwk=36D2&|o=Kx+_u%;`AYvfRf9T`-c`J7%hDfDgUW;xvwCY z{z@D2>sa5I@BP%vX1W{ z>|7v8_OsKE^e?;JKhvm7Eczm`_$O=g!_JQsQ69mvSMP8Az4}f1m+Cho zllXC8z|;K|+l(U@g66(Kq0W91s}?2E(5rX3GDj_>8D15Mva0^f{@s4&RsW~`v@eM2 zpWDBA)z8)B!mS)!2GrQCh&OObrHju%?jdd-(I9*^Ju4#Oh!-Cu96XYB+#w;dX8&Ma zd=P9PWC}hA^bMHaAFwN|ezH*#?6=MuKF78l38rd(Q*qdk<0K6AB2A z5hPbU(U)%~zeK7rQ4!GmOfCkHYv|fEshtOU?mdsxAlX1Hag(GO@H4f&IAdDnRyCc< zC~4b^GG>Z;5iyCR8F)sHQP28Iq(P@=)Au>@FR$U6tG>;vNu(HkCB-0Xe)+Q4fGh*p zw7+iz8a@wPoZ%&haD zhO#W9|NmB&VHG(>!zFTzTQ8MkAmZ2#k2jPRtUGkc*4o`EPLN^jl<)#`Ri)cA6pahl zMH$-NkYspw5MAt{=C>uaAnjSEH)09TLMXA9tZouocmg7e{ocy+dZ914u;K+;K{`Q^ z7x@d}!vSA0FZp~xFoBffWrhS<1Y}`;xvoWE6pIV;pz(#{cg0x#$AaYuGp zgm!2|5zYw`h@)`Q3uy%XMG%2h;!Rjb{y>rF4*s}LtrM}z$pqls48S>|f!yJ3@6D;0 zz-9b230)CEAdvv%+=dha^2i;KMx25CSz)3PLST&Q@`n?ep}uO6N6=6rk6_lFhxe#S zeP3b-y_yTLnGX^ubB_pRZjdZOQ088UB53Vn$s>>!^hXdOWOMZXK9G}nbv+CcpjlV= z+jJ?rT^`^ON3dhLJNP@e2i$;cB1-!}ph!d^9uQB|gtBy^y$|?S-v+e7-X-~jNF%85 zu|`axpk}R!lme_X>aYlGu1qUD!FQ;5f>+~S^L_!EHGxJ%Qc+mZT9H-YTv=j@tJq@! zHM4^ts~A&8H77(6Qt*tWOK~zpX+tQAp8EU}i5n zStw?82GIl#N2Aww6kfGPk*V|ziNrK#Xu30mG-A4-%ivBN4?VN?ClW+BF$4^cLhM^e zAtZK~O`$n43qb_W9C2OtFWw*&^E@99mqv&Spv?TefMyXgJm$?JfdFWNXuxd}8zhQY zL?u3X2q5$q-%A|9*94>rNFbI{7pVfJ9;Y!ros>$D%)Aj~4@e=Fm*or%iQvJBAy*Kf z8Dhv9cti)m1CohV2^|WoBn=S+Pb6_whb)qar1NWPZB4=#LI?c?sderuUZmD54OxV< zL;?AV-yn!HVvB1!xYVP;r4k~!Nm3645=bXD^YRcxAg|a$jjb;AKq7&7BKnNqnn*pi zyO(&iw8P~PJIYdz1_>s1ChQ=Q@b?sP&B(}*N|3k&;U2-8kwmn)2!cC(|v2x5%i`H?-4_5gQa7daqqNZv44_Hh{W z(~k%1@HwBfkBDJ{U)T{hI70{-NmED0BNa>~aX@%#=Jq_nKK6s9AL`RYB$ebPqZa`~kKZ1fTy- zq$&-POvpPu8_Zl)oLe0rgcRPPD3a(SkaLF$$ocDloaq%p2m}&~7~#dq2rsS@h+>Ft zh#?Y6h#-V%?jz9yY0DU4M>QjKNJiLY4*V)2fe@_O+g~Llvxeu%n6O%iWszAUfHSb= ze&Cp4ZJqnir`lQpncI&r*yQz20x+}F+~~;V4b>6elz^H+@d?n}euTFO*Q^oVnmDWP z2)dbpdP*bQK`!fo^2HIBRAsvowkyGJk)7qm-sHs|56<)#i1X8RQL3^-Qk7q=*#eSE)P8rQF}_NN%ur!0ftGxepLz<&D2uUy^0e&E!hHL*zVi!{ZteJ)PumIzaB z3H2lr9MWab-H@sP=mTx?cz= z&$xK(P_N{0zEx3#o3KQOga?%GhXjRy@%k?7Zf_;2O=gHqD@welFup5Gv-x0r!NjB;d8t`{2wId=)WJGAL#hx@V$7GZvy)PQ)qplq^yn$F>oOmruUU$x_bBLIzBosq)oVxt2z{rw~*xWmNw)qn4({M ziM&O-EldI2Q(KJ$_wzyf9y~i(PXXhMiiAR~0)2D{|D+tmDfXi_qWAT)f4&wY^ctio zKeo0uNm0s_5*Wx&tbbo%ASt^^qw*60F>V%xe?^k=uWg7Tn)j!`_-^4GjT|W4?mInY9ubXrvkYvNAA1F>)q@1?(@L$ z_i;BvOoF)Oe$W!c?gQYi>PSmQNLqsLS;WG6^S_!^3{ z<<8mT-U3nLX#v3rB9td+VPzb%OE4gASq^gD$843?Luf+1we6%PNLp+ioUIpU8`SJZ zVL(8A5T-@=4~^NTDrcKjWJ?Ud$8ABJZFSBzdkf${Xkl9ffV4RPL<@a~>LDT7Avp=( zJJoyIIosj&p7DB!N}dtIqfN4s?UIi41nU83&#F4o3`8f-k&Bq*S?6qTm9u>+g17{+ z$bMRQUM)QDobB@#Uho!>n;=Aa5gG^Lm?1W)5uC%NCJy2tXn}L~lGi)v^$tZ82Tr{_ zs{CO%dsUnrQFVkRuL`@-CTYnL=j`<=XGc}!jfmmkejv`?bk2@?3qUy-v*QuU(IzN| z&$E-Nhw$U1L?C?w!jlx@6Rm)gUhkCGLxh6lg13P51VPFN(6|^m`%v{hk_-jGN#B6{gh&L= z*@s?lfZyW>wu5s>tTKo@Ai|Rl2v4Yv+~l@$Ab12RnrBHcc;7~c`2DIB%7T;L5!Nw= zEpv>+I=BTySO>QN2}h#nr6i$=(?DdxpTp50BP-z}f1hw2n0)sWrh}j@TyZ!%$ij-4 zc^~~u#@|RyMskxJrTkIk`v%-a5);Z90uv-BNK5_8l7vs25a_h9*+h}S}| z&@G}n#zDzJ-(3Xqz;K7(e$473`3aP9u^}M}h>ou#KY{Y37(EZHnI;V?1p^*#|9ESuJ+obbUp6P_GtJore&I84$Jde%)sk&WDJ`^);9v`w|w zBO0ON770g?inJjW@pH@8GBZ}iY?Nd85{5uxkp#9uXSc&ycW1SUIbFDoAYY|V;x zPNx2^u2jR{pp(8tiT_tu+M^=D{y*21HgIIe5a$Mt>^{gG+3g!&tc`{vc$1R8v8pSz zzxZP9jY-LGaTfIxd=x5o41dKs{Hu76XaL`h9nLMNP@OI+RM*UW*9g+xJ5)~cZJgx) zrc%dsrmY}psnanz(Dw`9PbmDo{k;z5KhPEMM*D%?*bi*?_w669zr^Oo+S}VW6+hEQ zO|2j78+5R@eid1`YfNtlKf;gNKO36S>n}Op)2Dx_@aNVyc);$@sz*a=H}&LfUp?AW z_Lk%_&>#m>8rFYD{p;}Vp5dpI{24mYpS4K|%E3PAm;07#l@`c8uUSa&L4#4 zi*x+|s~qgF6R!IgVBJIbRwtK)24TBvImrvweJ9^qP`e3Xj`cF8xdlxqJl*3*^m_p9 z4imNE5!_7-#v0$k?k#`)8>9xkkBT?wSnn)yjvwKaM!H6HBx<%%BErF*Q~qcU0DPn? z=RNm!NJ$_JVg7bL{d*H66WIJ<^q|almPLO;oV2a=od%O+6`Hsy_IuHJ#Q-nTih8Vd2zTONn)^ zVCN37PB#H`2)YL7qt4BMN9_5{fNMcT!_Kt;4f~c$?ggK#!3jDCNX`N6?*r0k@9@+8 z4m9kSC{No^p86zxCYhw7uq&a!eSpisZl)ktfIV~|K^Ai_;OP9Et^?(Z!QL8_r+%|m z_5De8ZUg(JI|a#DgNFUZcni3RTY&iC?9X*T819#)J1tXx#i<{x;XYsose4HJQ>YiY zWN;5){5bU=*4e*5_WvhevqtQbY&V3!-{YG`rxCp$Nym)k|K3};5 z$VC)d6Atnup5QEh$t?i4zIxTV1(cF1oc&Kx}8-3dthm@S0MKuu_W7hpFXR6a;yOsIQ+RI#`FX{YJ6-QeqwmW0ls5x!rE&%6T1Gp1JbT>tYalqvgFx(Hg+yR&>egWVbfGooS(pT1R5l_JuJSseWR>|fD{qBMPgvORPM@X8M+9-w-0^rySy9m_o));aJ~ zWCEOUzMtraW6t_s<>AEbQ}Zv=lqMxO*-xRBt~%v&>YobR(?p&FKBxWZkmrQYU10{~ zIneVwB&D3MInMYrG>a;n@e%iP9F6L6j{38q+Ip$xRGs07@0_6^oll8g9P(+6^Zf#y z@B7Q;6Geo~M)}DzN3F%r5NG|x)VW2P(pxL%d)JhbB~9rq{I{YX=fq!CmVUAJhe^W( z($?8sI?*SnaYK^2GI9LW%Hbb&IOn4^O%U2rqpqf4s|uDl`!l!JROc4Qe(w)A0J(nZ z!v%m=IpT8>*uY(Dqv&zy=K`>af!a)U2yCtr;0CaTiru&XB$QB$%JWkn9rj7v#!zgR zUX&w#BCFmhRVcrTocI+%+uMIe$ZU=Hu9&bpaq`qh>QK`5aD97LtUc#f6{SlPIJF>qF}Wv+8}hFQj2=r>=!Q4_n{&cR-0%!N$_j}JZPX^;%(68%Me7% zC~Z&%lymvG5p|?LL`UkQaCQZwSWi-@iALzxb3M)9W}c=r#auOj?wI^3y+plsZP*NsZE5wRTd#?Q1%? z7`dW8miD6>cs-N+gNZT`R3A3e}4&o)6te)Q8j{VE3pRxrX{k-l2#D zpL(#sW zH^tuxYA63%l+d2?-tVgF;!vbIDInd7+>QOUG-fDI(Mb+RU5fUUJyTF_w5RNuRENO* zRRWIZ)>Ht;?UbVaw2$V=7 zh%yhjHkN==`=V$~K-=vX$Rw#yMFNegbK?3_bgGpF64Beph6UYDlzDOUikehxV$@-@ zr)X4X!1_#~yV0OlP&X0F-5=Lb%ySf{=u&4>5Pd0Gb0`?UsX(|daSPQEw@?h-{5oHA zf^pjdN^8wkmfT}%9K9*X?uF#VJ<$Q(>eymsqdf)Cy@V!Fm6Elz%3IW<_D7EjZ>Uhw zr!J=;*ln^_h_|X01Bb-KQPdC7sKVIF>N|~^)o#+PCMs4}t)f)zi*6OtC{ou*o$BtP z*41fwqe@MoOueQL5WI%oe3QZ?0}BzQ&Gk`iK{x)%5#)Yid{)yaQNDt z`~|5!auMaEo>dx-qMRiP$aB}~dm$x~`{eFyzlRCmU)Mjz41b;)FVtyy zzbFS%_>BUWqQ883zf`9f;OhL#@+U=P@XGRjr4FxA-m`;|)kBHjC=P>%-Ko@JmiMa~ z!XpY7j@Kx>l4{gngWY%-d|ktLR3XE09mNESv-^!CYIrLiq+t1&d`J-;ymvS*Y9|yO z9LG^@_>c0{eX=?e-crbLO})1jDm?KY1%=ac9#!@b^-g5>U5^v~4$YR48)t;vI4f^b zc#y&#My;K5cTwkP?Yw5)`D$D5M>-eeK1y5B2kOj4MGnVp6!tKx{*mH_<0J~ldI_^1 zR|yP|*C=g81Gxq2MGZ>f9!ivMODTl-Z7J+wFr-f5Eh^cH@Depxzp#f%$yJos!a>wf z{=gn4Cft>>yPVA3Y^90}jy+5YUWO5}myI??4R5~{;U#LglfYw?({z7Pc#f)UMfWE$ z!?A~vv#9pCg6K2~dl)&5lC)%Wih&x9FC|7Er&015rG3NQcHlBfexvle{N2Wp)L7~< zuOC!Jxsr-s$;6XXgFH!%rv&ye@=sKDB!xYUdWG+(hZHd!dl;%iU{aO9CNy&>8g&X7=Y8HRsUN0s@|54b($fFc~ zqp*h&Yxs(SXR6^+YF?`S2;)dfp~FG*MG`oS;#p7~;e~P?)ySC#?@@~`8DZQ@E%qF| zOD*9K>|r!eOEtpS!$1(6uyWu!HdZ`PYIwzNoWX9sVBwlV=9p{E+fUgc?d?~bS}5cb$0$FWAI7M6;E_$ zO{LI@8SyDOWopAP#wlVEqp$-6*Yk1>EsH}jH#Xf^@JxTd(QhtZP z7r*mGI^eV$TNW3pUOqfYewuLh@#CZb@h}l z=%txT>7KZ2sY$%Gw1u2z1Km-yEcjP=4B$H!3Y0Ed!HPXE32tJaD3|ldCS5{D%3W?9 z?ed=ClTh_25^X?qI!T)7ue45KB&rjPXeQD^{VLtSIZJ$x4N!5br=GuH^#o^~%M-=T zo;m>9aX$T(Udy|zN#0~zxYDjH7j?W&Ds=HF<1evy_-#u1+iL@z(^xL)2%S{;y_P*p zF5aAd_Bvd%wDZjJ`>`VgDAAizM_~49eqCLCG1x#|R(!gq=89kb7UG+#YyUR>e_D@C z$;4^59$`&uw%vMU%IMAV#yT$bEubUZcdT-MIn(NsBz>|k@9&Dp?B$mg7o}^iFL$Vx zo#_ABC0w%O5~w8ZGZ~*(iYv-K1KioN?Y|xF5w0_{EoDUb@k2$Y>ZI#+$)s~a9#e-s zv{SgOr7hW4dWFk*Q=bF}_Q|$z1ykjUq_IvA?WD%)G%PWYiAy9pMaMvFEdB5Zl(Ggk zh4?+|gm0i!;v49u@astOJKL`tk#c^6V!sh38lA$Yu~77>*Xxq0N8?v&M{@>$tL3uL z#fV$d#s-qo2GXgl>HKX9{&uC{@3iEYi@#%yy~6L(ld=UKWj!ENYVs@AVqdW@Uw*G* zStg$;&+Y*$?lS0$wcY%~)-kcnD+Mg`3<+W<{^5q*k$?PX zo6$E~u^V%iHKOh*CY68q+CnjIlttc*7sD`A*OB^`hUB}~Ukl7WaZ}t9FTbk8nvu5; z=)ktvkZgb;BKmT)4#>rW9@aJMwj+AK0^(6IOyXb8jf1DpwNi!cCaTK zqFfHL9kzugNHu99cym{^Ows!VvUrtzR#}qzIchp`kr!7?lH4w|OZYrFe}D<-AM~sm zg|_kCZMH8~Xnv_>s?+RdU$Sm|fFlJr5;Z2KH|$2DjR|7kfmeqXK-Q8QyOI8!*%I@Bp+0xfgDjpFN zi)}V{Gi_~wo->j?i-1o)sgQ{H~Yih zq2i;ijqeZMMSTWz4Sx)!KL(QY8E*iyaE{1dX4!waFJGaQHOJBI9$J_|?rpR$3q56D z(XqWnJ9H0eWBdcumV9^``S1`ktAFq>P7^p~zBqlsCa3Jr;(KWf*YR!s1$=VZEE}@BlR7= z_TRPd$jPXOKK`Eh|6<^Ax5a1{+CfI*oi*T1z?W0@x7T#wey3l52iFc_zBzoKjPGC5 zf$yK@mqQ;qhaYgnxsi+;`+|J<2Vf7i;Fy14I2(;^{4gnwqfz@IZ7}6OL(pBwneuKler;%D0RDwoTmRA)enM}5qJ7_)a!c_p zxFEe1BXO+4%XsrgpjHEGY=EE;Hwy@HD==q;*Lp9?`-bY9JtP90 z^?`IwK}77Lvv*c75t_zHQ+L(y((V>A0>m-^LA5+A0-dh~6+sv7jrQQU^RA&2_mzPW zy}(1XEE=vBM>q~*1iNf(5yZ1v92G6Zt0UYbTk(|e5u*i>xLMc;Bs0`x*UF3rJ#o+5a8NT< zaoqDGBJbl-5*+$6!6c^E*fgBQP1gX-XlFX^?{Q{@(5y)4QR(~D(Cp|F?>fK{RGsSx ziMfodLn5j#Ykp13@w+s1U?S$%0D-6s-DAnnEp*fIg`}5X77=7bam3}eNL-RnZ6FnFM6wJw>c>WYG$Mkj?xmX~ z1lk;3=k*36L07ldU~>*!0MAbXN>_H(ZF-yAcnKvATfE4wz^7S-J0e=b<8NUvL>vC? z>JE$=YR|~-9NaWvk;TF;vb&R_O?I~f7(h(y7H9&KOYcTw1u%iFrKdCjY7lUGFGTi> zhyriLiHqTR4%7tT36RrncuwRP?`FhNHbp3Pb99e)fJ`oX+TR>ap`+G+L{dQXu;3Kn zC$0@3sS#^m5^M_$Mch?-2}qHw$Dq# zT{)|+yysYp_h{>!+B#Qmi*N}V&G#e1g1E^l4RGQ@dwg|s**v|AU==(UX}N>Xh-Tp` zKK5<_t6=v2XSj;yGOnTou7aKCj_5nDO{j`rz*!S_tMaKDS_^-73TA;5y_;p3j`W-C z_`$k63B1)As0BoaDYpW$5X#y?*1$0C71TO@yzY0EP_tkbJVIS}mIPp=Dv#uszG0*E zLxAh}6~mq0QU-oZ#9Q-T+bt=u*H*z^_Xc~-7y`HkfiVsxKG2KtwUs3`p_cKVP|K3~ zt+=EnNcbzBvG4OD^$f~RI`sL`w_CclcFUB=$cO)c#J7!Jcg!v zf0KjG5})S3;>(#wdD!a1Qwg^ zaJ}2CuO}NQ20JL(*e+_!0Aw^&02wy}$RK+&*>0HM9JVBIjLx!B2VADyrx?I(0%Cx} zAPuDTR<~2%QJ#JPGJHq?Rq)7po=-m@87V*+$@CK}0~|(W`eCX5IMWYs20)EHK6up~ z9iT=>0W}<=(K}$R4kj!*&TEsk`u^(ldtPJuyr$okar$Aie(R++>nS%`kJIlZQ3H|j zQpJNF)+jL0ofJ*KgFgKZ)!IQpFR(`O-nkz={(Kdf!4Xes5(dLz7>>apu#CEzOuwUg zMQ=n;dTy_dJ&HPCoqixNj`{pKuIUF5b2GmyOlsA`hU1Loss63qLDf-g8vNd&~!r7XGrpS;#`YO9WS(gFD3So&~x>{_;8r zUcvk=<15<0SHR4NWoDXXq5csCOEOSTg#m<^sf`BeRpay~8KB2GE&FZj_kMrg0vWn+_tlT7AXNO&=#W3y;H{NvQ4j*ZTgUCo*p;Adnl!^A(#rD zdyr}Q3i)>OmH|0=%^NAl zc|g_b{0ui*3eoCh9aG0-eLyDcz%6=Xxz76oJpl;gLFzc{qOwSrAdejp6L*oDIx+~#K}5K?*otp=!!?lo~>+|s#hj!ldu;)zH{Aio-i0al7x9l zM6NDCFBoDl7xNX0>spM};d^1kS+rrSPQMqG70FGC#^v;YTF75s7a=Wp7DG4*%hfEe zc`{k=B&Y?Gu#C09az(UOlxa1WK^7%I7R(or71*J#Vkm%CJXtQ)6u?(ts8^kYYt-qr z5oK|+EZ9?+u2&}E`owO%bJ!rF8n`HsSbbzlW>b;D>lnUJx;={u~Sbe02g7n z;v@t)kr=9L5(1t`jMN*WAg4KjS!fJ)Y6yWkOm((G>w$6f9@NZXzaGh1#q1#mQ5=HOVNp6T=@QTV(BQgN1?9ty@q+IwK5fK{aI z99<|SMb0ZEm+zm7$0e~PunG!YU=ILSQB%QHux$!bQEBxfp(|AJV};}r&jWm8ED2S? zp94{O5Au}mf>po|2TcFBGe8Q!6+kKQ&+IA9!c+{QNEf1SIjEvRpb9eYOkGC=F4zE4 z0leaF&<6LUeEYhmj5cT%zG9eHj&Oo`qfm873eZT}9M*)Z;&ezUK%q&a+sEPJbynaL%>gLFIB$Nu0%j3>3mnA+ zI0ry6vC1{ziH9iFSwIT@?H(rizn#Nmp(>1DlT&d?KH@peVTw=`;3u>sRj0Gy6#UyY z0aF00=m&(t6oV^ny`2@C%c%p7;F-aggQ^g&Lc6ciNWc}%A%ZJ<2wdU#3V|z#*9EA8 zjWT{zL0ZhCRu3X{(dqf>PU$zxYjuI{x{j^@V^P^$iPyD)6%4!rsKp}E%U`I7ujoYd zu9g7;SAenrUC{=#!e8;@<-zJo=q_4Y2JnK$Xk)p$upCmI>s*f7-C-6QkS8=*2-gML zVkLc57%y9;f?zO6#H@isXiDFl)hT^*)+l0^t)bDiD!P`Uab>JyC#9!d!g{~K16tz% znz}Y@R12FFrHgP~K!L^C<}#<8JQcP})wW{q?Bn~C>TgrrE@F0F8@8+d4z^ER+*5xi z_w;J*r!jW+;e7^fbQIXdans4|PT6k$z(F&o(Uk2;5$#o!o=e%YDSHk|dsDWzOsN$1 zMFRV|qdS4;v2x~*&f$fa^CH)C5_*IKqVp1`OLj*_=w+qb%Zx-1qwE2aUg2z+vVEy* zSPkNffY|EPp_Cm;g~J+wgXNYxhgY3`*KmZrGG#|#^fj<&Dp$0_sqng5JIXl|lrLPr zk+L^@AEPD0eDl zr>dn+6WEnfox?lMQ}^($|Jym7Nf}A}I#XU_XFaDmyq7Ybvzjt-jh*wHuHihcDS~_!=vP55@k6VvGq~`DT8UvX5YoJyfGP zAZ;JBb*8Tk1JexAptKE4+n_X|vC~w(O^}~tPTZch+taFcN1AGb({@MN2B*bv9K|6@ zADXryX&Xv6Ry0hj*pz&a~Y{dU+k*owmE7*D2hSmYLbGwB3`oVKh9PhG}|u zx#_OqUa@j-nr?hr>+n7fyLO+NF0aG;{rKBCj8GRwrfo#pMy9coR>4s!Xp|U1%ILI> zPHP>GNoyTGkhU>tdw@pAs_0mX#&!5$+8*@Yj#ID3r)^x?#xqD0)WXEHO-S2Bsy!sm z9x8L%93D>F!(MGt+9vrQlU4tbv`tRiBh;Uw`cu<3C2dowKP_$3seRBdElY>x8iB{l zEq4wpoPO8vMB4cC2^d|Owv{SZwB_lrO07MawpD3+60TRLZ8h&T&Y(4ETLVv>!dj+8 zDy&P}+O(~s*m^axzT8N2*pRjj6fA{}Y1ZMUv~5h=CdzG2+vaMiEos|ADX!zrQ}^(c z|JyliOB+f2+Ln&ry6tgPcBGAGyQWNBhdX0`o=zLj&NNY8NwH@r64&7_FVQ{hP8-iI z25gT??4d+lhtG=rXT=y3xUvqPOWSj>*Cp)LXzokf-n8vwitN`AJ)gGyX?vbNy`ai3 zRD1Pe+FtZ(2UP8)v>iy>OSILcybfPZx2$Bvy^^+<)AkBEbr(xX>Ml6({?Ov#~F|l8jus^A?qGairQOgJDIk($bMVdZ~J(i^woLFSLf-pol4tj zntR8GxG}t&HvW7!-9Mc1l%{YtZ9Hcn@}7vi2a$L)JD28?az1V6(srKg_m%xV*_E4F zbGVSU3k*mpe4uG`F>N2D?IO*6sQ!Fd9`dH}kvE2Llf9Diox^~P+b|8x*no@;%n%SH zV-y;cxi;LEp=-Bi?6!>EPR1P>yF+j$4GX%WOv{QpZy$iJC}V>&HUt!9Syz-vbVV5( znz1`cPnCX6d)-|~p6o7u>jHGQe%#HEL~YU>?#b9aDDS(3VHvWAXKYx;hQq|YV&cAx z-J7xdVB&sYRd#=w4Md$88$mTL>6w;%7?rV+85@7@M)N z-pYd+<9R^bBst?UHqLX#tLB7^jnCKwvac5F6EjwR;wpP65_~vgJP%RO??k=Aq>S+> z!F3gDZJymLGCt{tFX|XUhV^cCVHPbsxQ|r?+HZ5b*;d@5LX3*I< zIcKW#GeH}ak|o_W%*rr1AI;dTj6Is+&aP3NO&d{cFh|tpW^7Kz=8`>6+4IQmPKrJq z^LhFBm&n-sj4hzK$GlgKVPVGjb77``SmY_()HBAj2qH^FWC=v#}AScMs{U#;@3WdtZ_xgmS=25=H~E(x4JT8Ph@N*t*(k~JSj@6GxlW0R#R+Erey#@ ziq~drO~%$zZe7MGx{gNH#~K@wA{#TdA!8dUvPmR1XKYi(HpBgvj8Sw8HMYhYPkGzh zGWJx)wozfbSlf}Y?HSuag`F9r8CGa2J~nhwPmyenfoN{}~<-4wIk8V!Ez z(T_dqdorh<&9pqp_VrxGp3T^Eq?fm^y&2ofWa}9A>5cA-_>pd5zc<<|JfAV1{nYSp z_|@TsnDJu9cwQjG@qFFGftc}9#&`~p;p?+&csXXgk};l_)wq~y3I{!-IULFu&p|SL zYi|sPW5%l)<2g)5GxCiiq}maFd@WhUuVt+KL^a^+vEI>)@w`saI8tw9j7JG^DZH61 zg<~0eGh@d{PsXE1IGzD-cp_uRGj<|_A+DzFTNyiFdW2J%mP|OE zu~Qj4P4RbB{N0Sbld*RxekNmQv}TH|v-mYWo3XQuH}X%7_j~2-qcNPzv}D8ijGfEa zd8)qeU1|_oM%G$uJ4I({N`c%8+e_Iw$0=H-FwyfQr?H%sO(v`tkyCZ9ZvxJ+=+K_Bz z`47#){Ln1R|G#*@x`sQmEdRT*c4yY^%Hp71ZQo5BarxgPYQwU2Pu7N!JzUwt$?i^y zmjAt3E&uznc5l}1qq+Mjpp)5%tnufFZ2vIQQ<}o4tnrM5$Y>E64Usq?W3sHc2eLLM zYY&h;R@r08Znyj&6dU8R_F&e=(aLzI*&HThjb}V%ql9{*$~}~|iCKFndvkbLq#mxe zG)dW$voY*8qd^hdk7FIpGY~9C(euM*_O4u zoEcf0p0yd!N`aY8*6z%#&CGUOIcUIucxjlGZP`rON3%97Ymcg|3ib%IvrNW0S(}}; zIoY0JuDG0+wYgcF2OIPC&gSzDok~+!kY!ChmbC?0dyGCVR3{cz`?yHii?g;UYm4dQ z5@jz@A6b0Zp(Ly=&9-cSlgG2RG;5DL*JT99vTVzlyY*FGp0#CJTTW*DDzC`;SNVyo zt;pIFs^rv~!b&x{Dr+mVwhE4(RFhAVAK&k4Wv|KF>a4ASqqWLjOLk)^k z`m7pwmImTNc}~>!X6?DG?InAkviFhQofIvU{k~A1&)WX1Jx_BlM3!I78h^gXLOI|m zP2r`i@f?82%Odh}wb!p`p&ZQGD_J{8_90~-QXk8@pr&w`X7J(gYSs>C?N!=25~;qH zkR18q}&@>JDRmOvOfuLW{sk6X0Hv$)RW^`JC?QM5ICWcI8mN{y~4?C z%f#C?Kig8ixR1-PUkSn%XST;bH+0&M-XN;G=_%ajqZU+b!^Uf9?10# z530n2lue+7@^jAs(WrYOm#P_{?ulkrVW&H0gdTF$2CY#Ldq(&g>GiPLi}p9nK@Ha%xE za=pV$4ehL)&CJ;>hW62%J<7nwBk^nv&+O_rb`5iKEcLlLo0GG-usTny&ZCXE)aQ%Z zf}G9I*#fd3Q}$zIcPB+lePK@D#6>wRBd$U?jYHv}i zTXVK0XIp9YDUHRpoIRDZZ8W+)Ho7BcJlm=E!=&0yQGGgRJ9G9ljXoo)&r}=TrR?1~ z+m*B3G`dIGd#a5-n*$K{T+W`&*>g0yH^&8aU(WXCY#)v8kBvT`GoJlayCG@x1(ka- zXD{UJMH)RIst2l#zNGAzbM{isUZ&Akl>JJ%(dKY4X9t;yH-%-_F@vIeVLQ&Gn?IQ^JX#&e^G) zohG9-Nqr~RvXTAm-JHFXvv*aYvNYInb9M&qTEp2mZ13glJrZsR=W<5cIo8X0ar%DF z&gblXIK7aw3*xl;Dg7YFN$FzFKFHZc%73WxALZ=BoP9+3k8}2Mb$t!UGdctEz5$EB zu3=!F^))DO1M@a0527^Bz~6=qQ(RxS%Vy+`yxpF+JIEfa?7?JrCq?UPNM7q}Xx@h8 zZD=092^7$o^RB${=Uw^!;cic93isrV=Wd7$6OmyMiR){4p7nKa-iGJxUb62~_I+fx zTVMC*Ib)2-+x>YPK`SGjW^)*oZ#mN;jLzGryp5*nn3(=R-X3tb-DAc6gLxa9w+G1| zr*s1R zx4oqAQ!uN2pt8LHGrqiY;YBUK7kNv*JM{_&@-5>B zX&Sziw*z^5iIQ=jc{%U<%qw|&Id89!o+@>W`^-VLd?;@R^LB`gxX&EUw`^jcc{Oi` z^Y*GLwA*KnB-|K|#)LQW_67+*3~%O*v^VMDvAj|I7&Gm--s_3H z9naedUh~PkozzULPSLmW_7=6j8QyksP2p4|dpd8Y$@q47MllV zFj-(*yrW>Z7wnD#`yP(yZE&HoEe;XMp#>XKu%Tq%sq8z+?oNuf#k&gH7Vj?DT?Mff2*w}(SNbWegNk_-2@5$hecRnW+ zY<$5cP-0@_>Y;-1Oe}D1SF;Z%Txqx`d5y^hn^dsL)Of^eG=?b!<9VdeFHBX9sbW;Y z;(jGe^AgQrdO@4@jDk%s*bF)}Gp5ff*sOwkH4wM63-)NiW|Kch={5&Kt)$QO^tp`O zyn<169wp`%jAvRwJBmKtYHdL>B##wrLBSq_!G#)BiRzODTUD?p zDYv>{tDzVVwQDrH)@XK>@2_h$yVezKZNb(-XT3&jJspi7-3_9)v0xhtwvp^j%HBkF zcTzOFHalBe3bwgmTWD^pk0e*_g7N25jL|kvX$sp5#|t^|r&`Y?L{($2*VtFEy#?Dxjs0Gu zF+5)|p8ZUY7gXZ~wUcbmFBa@YfB6SANCy}srS}Ri6u} z9xT`^1v^N3s)PcMO3mSr&#=P3>WuGh9dj&fOd*_vX zp6mowrrG^|!q0_*y_9hBD4EL_2{F5eOR!M$o)8(-5*~%y9Y2_ zdRqgF+N1^*ZD7#`7165~VgB}_-9})cBGD3xM#(#hy~AL+J{VH8!9^QFxuHcHTCB|O zJNeGoo!Ajq#F%##nca66?XIHT4V`;v&h9BzX7?~r8(y?wMH^1`y~@6q?Czv!cHif0 z-Cwl(igrKEjqtbI7)An3D%!|m|1io^upBBH&nSqD5s@(vi6i+yk=Z>KPgzA9OZJ1x zevs^TvwNI3Grnl!iZ-5RCPbnWi^emdcyoA2wH``{YP=ry8k36laM31FW3tz14389z zXL6C-v1&|FJA9(2>c>=m#Hli^$oXV?(Wc?kh1xST+B1tbqi8c>ah6KYqI8@pk1Bh1 z(H^TW9`jE_3_PnCaE!sR9p0DirYM70%x{oa&S)4!SoG&ceV?|p?+l$1? z;-W1o+G5&XQZz~~;Y}~qyLr55ON;h6<(3s~S@lgX*PC9hH(lPxR_IMXL3AN}hC^qi zxL64naUWYHYEKqzRneX#d$qDxlii&Zz3Da1*4m=2DcV|^TSozPZhg`Cb3Jc*gQoy* zFB;DVh-?y(P1S+etT(--Xq$_+h3u`$-s%J4KsELLDQ{+5(Vi;WHk#QUiSEGFV9~ZS zx;s^CXF^mpp7t8g6z%DvJwuIMUZXMWE*j4+27Hfd>`^1XxhS$@Pf{T$UhguO+3 zu4sFyzOUF)4Eu3@TD1M}_`HfgPx1JwU(nllv1l(8?M0Y5pzH$)Ga8MTl>KtiUMkwl zwET*)Us20t5!%6`9W3etdWbB^kq#G)KM&K?tDeFRShOP)xiP#J6J9Uc>m+b5E*fb^ zDf>pzDE>x~%dy_uv7)_6>^0awuJ?YNc@X#J6UDeUpDfymqMd}7^6j{o+>VR(R?*%j zT>|*>bnF~XX}X*)+Nq+QrongAlXoc9nUuJnl)}4_!!t!47tR*#OwrC#`n{Nbu4w1H zx97#>`$aonwD-xspme(cIUN^1@bnLuLKllh)r*w)uxLE*7UKn^5|6t|Taiqd6~pW91zd+BpEXD}5i`Nv{#$?hoG zU`h{B=^+&}@u8)b<3n`Xzq4dROLiyThT^#0Rq}DWyJUBj>~7Li74r9#bU_+cvU^H4 ztc2Fb=U8*Nw`4rSDH|_H_m%9vk}gR1#}Xq-#&bU<;st4BNjmkCjV#$HQoo&iG)I>- z&SOe8x@2Q$;DK0uY{|w#@5b<8Oc+i%YhsWQ$9fUY3j^ODMTCmVCTqk5lr8VOdOA z?&G(jWXnsof`U)P^p&NS10BMulC3P+D$<{f>8pMG)|6~@$<~m*w#4aRUCDT81F8_9 z?Ar49t*4%?rweiXHfa1dRL5^)sbz;>HaC@QW63sAGLGNoWc;?2Y;(!BkX{|XttD5J zJyo);C3{L)8lN6vn?`MW$+nejJIiE;Mq_8mc9d)<6aQ&7{j@KW%gejeGo_X-Tu^tF z?3t475+z?iD04(=Psw(dY)|PM;aQP-u4K=a>^Vs76{)@DUR)jal@yU=f64ZhY(K@H zSMe80_I$}+p!ka=d$C-&TR7lD$!W4=JO^mh6Rr*~$Bb7>#`7{69o4Vy;b6=-R5G4} zWccjs8V<*dS4+loSp2I-Q#j%oVBJf`bA*iU%4iI)$Bd&T<9VHoW@Qiu*fT7=Su*~7 zv(#}-SuNQs94px|W=$y^r;r_|Qn#eiiISZl11P*QPLgqTlJQo_-Xa4dOl7=XZogMJ zRkBlLq{3-soF>CR%K+p{_6`}KKb7$=8BHREII?7C$Y>5{m2sAgcuIe-WbZktb0rt` zpD)?DlAY(pzpvrHP_p++c7fslKyT}V@(XAV7fbB;AC~N5$v%YKmM`ILA?}+WmH2Xg zT(XbYYdx#{ooEgN>TLiXHNF`J5?W7VJjnmWG_&4rBjelQ_IjGVquzLKukRlQ>*tVq z8(eQg>idPE^+t`M^@tup56jikV+db&KSo^7fkP8hAE(eDrM=fm`DlBYC<$@RuF2_lb($RiN(m&*mco`cfVdYe*jQ^}sD>}h0Ij>Mh9 zbZ=%xy-lyT88kCf{g|n)X>2-$S)TuBz0In(N6DXE-*O71XT8m?w>kWtTW@pewcc5$ zFi#E4qk)dq7dyY+=KG6XK<4LaJ{cZ^BKNC>_4Zi3Eri4(GW5n5^Y2w1E)Pq*$))wS zq~4a2|G1}j49h%ydA%*Gx8#FTPYkts{MXy^*!P9&Jp$!OjL~Zqzi|RBs#WZ4)#%*Bc$!OvaXa+v3w` zE7WW&z4d8yd3egHZmYMa>TMfTw|i@!3OhV~XT9yHx1FRvU2kMP4XI}+p>1PVz47NR zCfaVXzNg-H*V`V7KC8F!>?ITJIVC-(iT24j(e`Sh?W?!F_5X{zcaO8Ws{a2uXAU;W zaBedy71`Q~HGUnE%9NCfDY5}ksSlNeA}V-61p!47 zMa4TP7X`0?D5!Yh`+TkU`WD3(01X#1n0cCfX})ZA)8wh3Z#T{VLVviIxjnoy@kjwzaKogUo9&(%0J> z*K3UZ8*24NgjDn3O>gm5TYIyuy+w<+y+v)<-qyI@=E?3*iyfj9&77Uy;+?j(v#q^D zi(TG=Bb9CKUFP7b%xa^jq3wg z+$(~6ODrA~KJpeHx3!Pj+Q+o`#9P#cPum*TC$P9rE%udIJSg-_Ypv;@wti{rpGGs8 z))ZiwOWQz_h{EEav~dkcvl~~L4Ni;2NYgch*1S7I(>5e+Luo!NZhm>%xP}4REqZT< zJDm|}8=kfi0FF#EZAPY}HH0N%nMbE>RN6+eMX}f~k@j^7d6w3~KOq$tuW!fgB?aG)_^=D$*zZ#R$HZg6J_9HOa2~0`bglXye4@OA{ye4ha(sm8VVj*UF+GXe&X`7z58T%2L z=|pCwZD!hLfpm7dJ`?7oZFbt`aC>b$Zr7!a>sp%jjGn{Xbp68&%)GSCP1`)7jK5vi zr|o(kP|t9K*tW7e#GeJr)|Ci-IO-UZc1aaN%Q*MlD3=Eb_;|Tq-_ChV>RKe z!gVW8rTo=csNuXVZ41+O8&lwR5Zmpr5x>lL2-~8x-I2CMR4-QbVye4PqL=wj@Ah43 zyEAQfLGEs6tTx<}Hh$idZVF4hgn%At<5~ie`-J2^ki;+Z{b^q2rD?lAZA+ z$1k&%>IWPNrku1b_x`RBUn|qbwE`j!>h__uJ(#wK(v4wN+Gw!~ejbh+K9aUaXoygm zHm--E^QemKQ3x@GHHFrsZH*&;%p28($J563SQ`7acv@RxnIl4Jd%{7VbkN%HRNAsm%h?^JE_5xtt!i#ac z^=adJ5tv7LI|Z^KUH=Gk=cTl5NZU(Pw6w>(oVJ%~-#cvd_N=Bcp3Q07OvM>tiw5nL zv~g`=3}4ml*0jBvwypGITiR%`jWK*J&6nx*w7r(L*MWN@ZJ>MuuHQ`Cn`sF+Z-Lt0 zf&u?B9TeX7S+PBBZ>McL7Pq4f{zKiHC6YdZFk!CK>d9YeIKInRQ*6GKTO*PY5S1sy{g_zbr(uBRX=j3K2F<5 zY5N$OpTtaknl^rZO3(IrNnPldF|K_e>8}jS{WImMIv~ST9hk8J85@`(VzsIVQC;3VmK&Th%h5EHX@@(HWT*j`Te!Q1w!vrtCGGh}mb|vK#Ge*@! zSf7+(v?gbaYf^^XP`aI(u_+mwnrRGIWen6;(c>A3aXN;=pnTx}W zjKR(faL&vyQD$XqX2xcLb9Tn)z-%h!WNc1G6Xja4*|qf6CrU0{=UC@v?7EE21?xPg zc2Kz9%Wufo^%=W?@*6Wo)s3K<4}?URn=;1Fn=&Vdo5lJq8M`@Sw*b08=#XtF-C~<)Vz;k+DToFIM$ps#*0izUn!9cV+C( zjNJvzyJM#A$rwNHq3=t)gjFwNTuVT5pOD-KlG3WDskAg>_h)P=)yq`9jOy}K%7q7< z%<_yqkg?^ESrH>$nK7;vjQxXZ^1TC5hG zXy!cXE!Jf0(TuI3#be&0Yj`|kk242ZrPgMQ>oItILS^;@jmsj;livKPj6IpLr)a*; zo7aV>Gsd+J7M~HpXG$y{6rS}K&t>e{j6Fw-=e3nZ?Pd` z>oc~27B6{=uHog3y&SQ)F=JdW!Qv*B*(PT(5==IG>n$1EoUtvmekG%?|En2$C1bC0 zzg3fCtLBR)Rzuj9sh==fU;o!Kwk>0?fhzv`zn<~0{~H;5J!5ZBo~n}KK{k^&AtD=2 z#@@`>TVQ=V=5c$*xZVc1A!28Tv$Hc}J2JKtz;`mp3A-}(PR4d|`)=Isy^L|aOS@Q3 z*qy0g&04=FW4kl9N5o?};r)!g&nWZ^AE+ZAs3XmC!iO=sy&2o5gJh(T zj08#i#*E7H#*EI|sH}~qdW@>aP~AdK80$#7hH+UNm(`$LA-=|Ejq3`COwjF>S(}ix zE3>#hW{nmT;b&6ZaB|ir)36~-$r{%r=uB0SO@$DTP@mnavUZgtzuFtsg=tyix;l$F zM?76qVwn?>S)1;lGaQtda9QJ;0qt1=oh9}oth2K=+d=0zXxDIU)~=<1H}JZwam|63 zxhk`{v?|L9^Ro4iGBK{t+Pth?Pfav2I)xkfqSy^to?)aOvv8wh?iA){ji2*j;wCY1 z6OG(V&^6qgwVR>Y5N>hM_F+NR__-i^Qn*z^w=iqBW^Ew@b{p8ie_J+wak_@vvv#|; zy(4bBC~N#&1ewJmv$#a2eYn#hx`w;5b{9=Lg}bvx+1-%2M`V^{?VhYHfy}+?#J$Z# z?#tSJv{-RmxL-B*muecq(ro=x!}Q)R%i7YcErVM8-ae4^_jY;K9?05qjZjrQBn0V* zIa!&tmEb)lJeW1g9)y#J#L23xJ(RUoaPn}};fG5UyM{-y_K3Gx9e4QAtZ}WT!)w&x zHKh)B4Uc8*F+e+q$76bHv$mFky6{BY_Q|aA^GVu1l{KKA;%ToFmUZe#^RdaSJ?)5| zi4i@UwP&4)=VC<9XN{lFgXo2<0rdiiUKFAig~%6;_F;Y8dPCMW(7IcADQlFyM7Lj7 zw>M_(<*aR_+nY4Zo0>blIcuA}#TMb*qAr#Wb#@M~#Asj5+N%H&98SURw`GlMD;&L+ zH9%g2qu15?b#WBU{x`DrhNFE`6>mCP)wB<9InGYu?X2lc(v^>d>>~i$QKGf(W5?Dxd?L6{v-U~WJ_T-{;PwI6StTE5IZzx? z@0ZiknzMd6>z`w3%>g$cr+0Edu6#OpV9o}T3Zh#Wl%uTRvj3BEQaN5m}9vdBASoG6%T$y&W7h~1hhwr_DHaFR>|eLn8!|G zlz1GSvr#!44cr*PjRCGx#KqW%i*Y#{o3nA^qUv)o$t!Yph3BvsFK))?_WM3f$kki8 zGG`NVc4e-6m?&;0ayh%(xwr=~0Pkt8T9UIRRJ9NH zIu|6N^1l}D&+(ow%^BDIbZ}YDs96S255xe=b4DBPmgnN*uq$%5A{SQX%1hgWIeXBN zKNKTh6}Np@$REiW*TW!Roil1ygZ$ALU`@_w!`+%(e8BLroINJwnDleuaR=jEX3n@C zXMFr?*ASk_8J7w=#c#}$fZCJIBluL#p7Ie~rxAQQXX|qIG$Z(oM(~;Dfq6D(&-$1> z7me9-rK-B{e9oTFg%?WwtP3yZI6t~RXD{Y#eeUA0!Dr!1Iopu4mq7ipb6XcSYG!T9 z*~Xl00&H{6kG5{f+2)*W0q&KY0s0EV@M_#*YXq__XIpc&4UpG_;`N-pmb2HH&2Quk z&^KuDX58W}r~P)$-pbkAG}tcIcI0e(&UVmXXU>4!NrQKC_KrG%13@nA^44fMbM~%3 zu=jFC*?TzxZ0eQUle679+XKG$bM}5|BpSj8x%&J33;kivKFHaJ40F8t@6Gua`lFof z&Dlqkr&z;y=pRGLKIUHMgFeyCC*0J=E6b<3`p1!c_T}u;ob6MqxT0U)`sHQd>YwK^ z_4mX%ygXgQfV>T$q9zQ?+dvgJOUi@ttVDzJHYjg{^SC4B>B!K$4awV3Qe_Ow+c4nc zmFRMzy*yu*td0r8^Q=T8@-{qgBghFdG7qaG^W~Ljl(3D?+o-&arh1I3$54$sQeG?3 z*t}Mvad{h?w{eiW0syT< zqUtGBmscW!B;{?YkIPkgX7kl~yDD#2LvEV-Gp#gCb>SK(hV+`Z>A+iK*Ydn?%G>wm#BY-=h0l z{JwRY`b)zC-7nz2Cq8^_NbYc}3U2j+iZ&%L@y=l(#S&R=%Ny51>Z?@HDcl}c+>tk~ z+o|yHdzY{%u2`Hmu0>S%dP?M^xZi0!yb;);9o#7?a2LF`|`HW zDfFw3y3)UzH+Vp`arLim3rP}y^ za`l(ORn-RURd924++td91t8K2MoLB8mG}l+#ylT51ls5>^jrwnXwcSu{ z^Fek~wcS`9Zm#CB-&9@NLEKVpw>XLg)qddi)@oZ&ZMTAAVYMw3IR2m2;Wk+0pt)GQ zLs%D8+ilgh2&{{%?e=QBquLh3;+@q7Z+F7tUCv@dxVzf8?qV$cOVuIV1N}&{jCruI zq}rB{iYi(Ox`lhInWy(v+r8CxAAH;|dP}SA{%Ttay=B$5tPETk9;mhlKve(tupElE z9753ss4}cj!3qj``a9k;tgNnI+bTS$;s;^zp=x`mxA2bi{L8jH|`VM=Z&l`aX!1Ma3JR% zJxLs1V3{_fKA#wvC{e7aw?J|?BiI@FVq&gZN2!-uN2!-uN2!;H!qYC0o=NY<=d87e zR+)$L@f=~DLpl54i9w%8gYeOzVL`E6iY2ZBt zQ&TvIp9fpc4zhzS(=vh3AyEqw$S9pm=jiSW_62P(%h?7`4DD(EWovI=E`~#ye}^J{ zQSueo{|c|2FT>siQyQ7N5P%6xQ7`i>GPU7w8jw524sQxaL=_~BQL?bQ=3~Nbq?RuT}}8_ROmTd z>c|t;iacS*+P53Y)$%Pnt`Oqxdmg4b@-Q9$qi_N}IRR|nBx%d>A0Mcb*p9dhjlXMM z?7L-dJ!4oMxmvuQjA2U5)Jf~17t~w5SpGqD_e1-k^i|#L2iC2TWG$_gmZ?&8mElDF z$p+8aa#Cnu*t%PTbuWe<@X{mhS~i?Sqm%q?ar`~4r=Ho#5q?sH3IC~fvYlE8y;N8e zei9-6DXjm8k*uXL^tPW^?*bW@obb=>=RXR+fXFZCa4-9r{k+`a%5YlL_?KjBIjxbT zEv=QbB^woEmR8|RBUwvhILm%xXBEQPQN{1Prveye-GXPu26b zbPAV5c>ZdC6`sG@CHA-OWNc|p*aDt^#CVjt#reC;E|Y}XFJWB XPQE&WMI(5Vfg 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�NTu7ktw@{zhdVoh8a-%!ST0( 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 CMakeFiles/zipcmp.dir/zipcmp.c.i - -src/CMakeFiles/zipcmp.dir/zipcmp.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/zipcmp.dir/zipcmp.c.s" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/src" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/src/zipcmp.c" -o CMakeFiles/zipcmp.dir/zipcmp.c.s - -src/CMakeFiles/zipcmp.dir/diff_output.c.o: src/CMakeFiles/zipcmp.dir/flags.make -src/CMakeFiles/zipcmp.dir/diff_output.c.o: src/CMakeFiles/zipcmp.dir/includes_C.rsp -src/CMakeFiles/zipcmp.dir/diff_output.c.o: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/src/diff_output.c -src/CMakeFiles/zipcmp.dir/diff_output.c.o: src/CMakeFiles/zipcmp.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_2) "Building C object src/CMakeFiles/zipcmp.dir/diff_output.c.o" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/src" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT src/CMakeFiles/zipcmp.dir/diff_output.c.o -MF CMakeFiles/zipcmp.dir/diff_output.c.o.d -o CMakeFiles/zipcmp.dir/diff_output.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/src/diff_output.c" - -src/CMakeFiles/zipcmp.dir/diff_output.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/zipcmp.dir/diff_output.c.i" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/src" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/src/diff_output.c" > CMakeFiles/zipcmp.dir/diff_output.c.i - -src/CMakeFiles/zipcmp.dir/diff_output.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/zipcmp.dir/diff_output.c.s" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/src" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/src/diff_output.c" -o CMakeFiles/zipcmp.dir/diff_output.c.s - -# Object files for target zipcmp -zipcmp_OBJECTS = \ -"CMakeFiles/zipcmp.dir/zipcmp.c.o" \ -"CMakeFiles/zipcmp.dir/diff_output.c.o" - -# External object files for target zipcmp -zipcmp_EXTERNAL_OBJECTS = - -src/zipcmp.js: src/CMakeFiles/zipcmp.dir/zipcmp.c.o -src/zipcmp.js: src/CMakeFiles/zipcmp.dir/diff_output.c.o -src/zipcmp.js: src/CMakeFiles/zipcmp.dir/build.make -src/zipcmp.js: lib/libzip.a -src/zipcmp.js: /home/romazan/Рабочий\ стол/cproject/thirdparty/zlib-1.3.1/install/lib/libz.a -src/zipcmp.js: src/CMakeFiles/zipcmp.dir/linkLibs.rsp -src/zipcmp.js: src/CMakeFiles/zipcmp.dir/objects1.rsp -src/zipcmp.js: src/CMakeFiles/zipcmp.dir/link.txt - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_3) "Linking C executable zipcmp.js" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/src" && $(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/zipcmp.dir/link.txt --verbose=$(VERBOSE) - -# Rule to build all files generated by this target. -src/CMakeFiles/zipcmp.dir/build: src/zipcmp.js -.PHONY : src/CMakeFiles/zipcmp.dir/build - -src/CMakeFiles/zipcmp.dir/clean: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/src" && $(CMAKE_COMMAND) -P CMakeFiles/zipcmp.dir/cmake_clean.cmake -.PHONY : src/CMakeFiles/zipcmp.dir/clean - -src/CMakeFiles/zipcmp.dir/depend: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3" "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/src" "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/src" "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/src/CMakeFiles/zipcmp.dir/DependInfo.cmake" "--color=$(COLOR)" -.PHONY : src/CMakeFiles/zipcmp.dir/depend - diff --git a/thirdparty/libzip-1.11.3/build-emcmake/src/CMakeFiles/zipcmp.dir/cmake_clean.cmake b/thirdparty/libzip-1.11.3/build-emcmake/src/CMakeFiles/zipcmp.dir/cmake_clean.cmake deleted file mode 100644 index 54a6c2f..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/src/CMakeFiles/zipcmp.dir/cmake_clean.cmake +++ /dev/null @@ -1,13 +0,0 @@ -file(REMOVE_RECURSE - "CMakeFiles/zipcmp.dir/diff_output.c.o" - "CMakeFiles/zipcmp.dir/diff_output.c.o.d" - "CMakeFiles/zipcmp.dir/zipcmp.c.o" - "CMakeFiles/zipcmp.dir/zipcmp.c.o.d" - "zipcmp.js" - "zipcmp.pdb" -) - -# Per-language clean rules from dependency scanning. -foreach(lang C) - include(CMakeFiles/zipcmp.dir/cmake_clean_${lang}.cmake OPTIONAL) -endforeach() diff --git a/thirdparty/libzip-1.11.3/build-emcmake/src/CMakeFiles/zipcmp.dir/compiler_depend.make b/thirdparty/libzip-1.11.3/build-emcmake/src/CMakeFiles/zipcmp.dir/compiler_depend.make deleted file mode 100644 index 8df6339..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/src/CMakeFiles/zipcmp.dir/compiler_depend.make +++ /dev/null @@ -1,2 +0,0 @@ -# Empty compiler generated dependencies file for zipcmp. -# This may be replaced when dependencies are built. diff --git a/thirdparty/libzip-1.11.3/build-emcmake/src/CMakeFiles/zipcmp.dir/compiler_depend.ts b/thirdparty/libzip-1.11.3/build-emcmake/src/CMakeFiles/zipcmp.dir/compiler_depend.ts deleted file mode 100644 index c49ce20..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/src/CMakeFiles/zipcmp.dir/compiler_depend.ts +++ /dev/null @@ -1,2 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Timestamp file for compiler generated dependencies management for zipcmp. diff --git a/thirdparty/libzip-1.11.3/build-emcmake/src/CMakeFiles/zipcmp.dir/depend.make b/thirdparty/libzip-1.11.3/build-emcmake/src/CMakeFiles/zipcmp.dir/depend.make deleted file mode 100644 index 228e7b5..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/src/CMakeFiles/zipcmp.dir/depend.make +++ /dev/null @@ -1,2 +0,0 @@ -# Empty dependencies file for zipcmp. -# This may be replaced when dependencies are built. diff --git a/thirdparty/libzip-1.11.3/build-emcmake/src/CMakeFiles/zipcmp.dir/diff_output.c.o b/thirdparty/libzip-1.11.3/build-emcmake/src/CMakeFiles/zipcmp.dir/diff_output.c.o deleted file mode 100644 index 63a56ae56ea18f5d68fafac705e0d86a122deb39..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3758 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 a?k#zBuU7K1!L4<#k+B+;Esf?7QI(f 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 Qe|WIMKL~rR5+>vS2YhjbIRF3v diff --git a/thirdparty/libzip-1.11.3/build-emcmake/src/CMakeFiles/zipcmp.dir/zipcmp.c.o.d b/thirdparty/libzip-1.11.3/build-emcmake/src/CMakeFiles/zipcmp.dir/zipcmp.c.o.d deleted file mode 100644 index fedd6b3..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/src/CMakeFiles/zipcmp.dir/zipcmp.c.o.d +++ /dev/null @@ -1,60 +0,0 @@ -src/CMakeFiles/zipcmp.dir/zipcmp.c.o: \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/src/zipcmp.c \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/config.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/zipconf.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/inttypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/inttypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/features.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/alltypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/errno.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/errno.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/wasi/api.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_header_macro.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_ptrdiff_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_size_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_wchar_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_null.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_max_align_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_offsetof.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdio.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/stdlib.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdlib.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/alloca.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/strings.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/sys/stat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/stat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stat.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/zlib-1.3.1/install/include/zlib.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/zlib-1.3.1/install/include/zconf.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/limits.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/limits.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/limits.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/types.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/endian.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/select.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/stdarg.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdarg.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdarg.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stdarg_header_macro.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stdarg___gnuc_va_list.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stdarg_va_list.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stdarg_va_arg.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stdarg___va_copy.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stdarg_va_copy.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/unistd.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/posix.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/src/getopt.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/zip.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/time.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/time.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/lib/compat.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdbool.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdbool.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/src/diff_output.h diff --git a/thirdparty/libzip-1.11.3/build-emcmake/src/CMakeFiles/zipmerge.dir/DependInfo.cmake b/thirdparty/libzip-1.11.3/build-emcmake/src/CMakeFiles/zipmerge.dir/DependInfo.cmake deleted file mode 100644 index f099e79..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/src/CMakeFiles/zipmerge.dir/DependInfo.cmake +++ /dev/null @@ -1,23 +0,0 @@ - -# Consider dependencies only in project. -set(CMAKE_DEPENDS_IN_PROJECT_ONLY OFF) - -# The set of languages for which implicit dependencies are needed: -set(CMAKE_DEPENDS_LANGUAGES - ) - -# The set of dependency files which are needed: -set(CMAKE_DEPENDS_DEPENDENCY_FILES - "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/src/zipmerge.c" "src/CMakeFiles/zipmerge.dir/zipmerge.c.o" "gcc" "src/CMakeFiles/zipmerge.dir/zipmerge.c.o.d" - ) - -# Targets to which this target links which contain Fortran sources. -set(CMAKE_Fortran_TARGET_LINKED_INFO_FILES - ) - -# Targets to which this target links which contain Fortran sources. -set(CMAKE_Fortran_TARGET_FORWARD_LINKED_INFO_FILES - ) - -# Fortran module output directory. -set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/thirdparty/libzip-1.11.3/build-emcmake/src/CMakeFiles/zipmerge.dir/build.make b/thirdparty/libzip-1.11.3/build-emcmake/src/CMakeFiles/zipmerge.dir/build.make deleted file mode 100644 index 009b918..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/src/CMakeFiles/zipmerge.dir/build.make +++ /dev/null @@ -1,115 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.28 - -# Delete rule output on recipe failure. -.DELETE_ON_ERROR: - -#============================================================================= -# Special targets provided by cmake. - -# Disable implicit rules so canonical targets will work. -.SUFFIXES: - -# Disable VCS-based implicit rules. -% : %,v - -# Disable VCS-based implicit rules. -% : RCS/% - -# Disable VCS-based implicit rules. -% : RCS/%,v - -# Disable VCS-based implicit rules. -% : SCCS/s.% - -# Disable VCS-based implicit rules. -% : s.% - -.SUFFIXES: .hpux_make_needs_suffix_list - -# Command-line flag to silence nested $(MAKE). -$(VERBOSE)MAKESILENT = -s - -#Suppress display of executed commands. -$(VERBOSE).SILENT: - -# A target that is always out of date. -cmake_force: -.PHONY : cmake_force - -#============================================================================= -# Set environment variables for the build. - -# The shell in which to execute make rules. -SHELL = /bin/sh - -# The CMake executable. -CMAKE_COMMAND = /usr/bin/cmake - -# The command to remove a file. -RM = /usr/bin/cmake -E rm -f - -# Escaping for special characters. -EQUALS = = - -# The top-level source directory on which CMake was run. -CMAKE_SOURCE_DIR = "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3" - -# The top-level build directory on which CMake was run. -CMAKE_BINARY_DIR = "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" - -# Include any dependencies generated for this target. -include src/CMakeFiles/zipmerge.dir/depend.make -# Include any dependencies generated by the compiler for this target. -include src/CMakeFiles/zipmerge.dir/compiler_depend.make - -# Include the progress variables for this target. -include src/CMakeFiles/zipmerge.dir/progress.make - -# Include the compile flags for this target's objects. -include src/CMakeFiles/zipmerge.dir/flags.make - -src/CMakeFiles/zipmerge.dir/zipmerge.c.o: src/CMakeFiles/zipmerge.dir/flags.make -src/CMakeFiles/zipmerge.dir/zipmerge.c.o: src/CMakeFiles/zipmerge.dir/includes_C.rsp -src/CMakeFiles/zipmerge.dir/zipmerge.c.o: /home/romazan/Рабочий\ стол/cproject/thirdparty/libzip-1.11.3/src/zipmerge.c -src/CMakeFiles/zipmerge.dir/zipmerge.c.o: src/CMakeFiles/zipmerge.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_1) "Building C object src/CMakeFiles/zipmerge.dir/zipmerge.c.o" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/src" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT src/CMakeFiles/zipmerge.dir/zipmerge.c.o -MF CMakeFiles/zipmerge.dir/zipmerge.c.o.d -o CMakeFiles/zipmerge.dir/zipmerge.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/src/zipmerge.c" - -src/CMakeFiles/zipmerge.dir/zipmerge.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/zipmerge.dir/zipmerge.c.i" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/src" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/src/zipmerge.c" > CMakeFiles/zipmerge.dir/zipmerge.c.i - -src/CMakeFiles/zipmerge.dir/zipmerge.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/zipmerge.dir/zipmerge.c.s" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/src" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/src/zipmerge.c" -o CMakeFiles/zipmerge.dir/zipmerge.c.s - -# Object files for target zipmerge -zipmerge_OBJECTS = \ -"CMakeFiles/zipmerge.dir/zipmerge.c.o" - -# External object files for target zipmerge -zipmerge_EXTERNAL_OBJECTS = - -src/zipmerge.js: src/CMakeFiles/zipmerge.dir/zipmerge.c.o -src/zipmerge.js: src/CMakeFiles/zipmerge.dir/build.make -src/zipmerge.js: lib/libzip.a -src/zipmerge.js: /home/romazan/Рабочий\ стол/cproject/thirdparty/zlib-1.3.1/install/lib/libz.a -src/zipmerge.js: src/CMakeFiles/zipmerge.dir/linkLibs.rsp -src/zipmerge.js: src/CMakeFiles/zipmerge.dir/objects1.rsp -src/zipmerge.js: src/CMakeFiles/zipmerge.dir/link.txt - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_2) "Linking C executable zipmerge.js" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/src" && $(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/zipmerge.dir/link.txt --verbose=$(VERBOSE) - -# Rule to build all files generated by this target. -src/CMakeFiles/zipmerge.dir/build: src/zipmerge.js -.PHONY : src/CMakeFiles/zipmerge.dir/build - -src/CMakeFiles/zipmerge.dir/clean: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/src" && $(CMAKE_COMMAND) -P CMakeFiles/zipmerge.dir/cmake_clean.cmake -.PHONY : src/CMakeFiles/zipmerge.dir/clean - -src/CMakeFiles/zipmerge.dir/depend: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3" "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/src" "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/src" "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/src/CMakeFiles/zipmerge.dir/DependInfo.cmake" "--color=$(COLOR)" -.PHONY : src/CMakeFiles/zipmerge.dir/depend - diff --git a/thirdparty/libzip-1.11.3/build-emcmake/src/CMakeFiles/zipmerge.dir/cmake_clean.cmake b/thirdparty/libzip-1.11.3/build-emcmake/src/CMakeFiles/zipmerge.dir/cmake_clean.cmake deleted file mode 100644 index c560769..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/src/CMakeFiles/zipmerge.dir/cmake_clean.cmake +++ /dev/null @@ -1,11 +0,0 @@ -file(REMOVE_RECURSE - "CMakeFiles/zipmerge.dir/zipmerge.c.o" - "CMakeFiles/zipmerge.dir/zipmerge.c.o.d" - "zipmerge.js" - "zipmerge.pdb" -) - -# Per-language clean rules from dependency scanning. -foreach(lang C) - include(CMakeFiles/zipmerge.dir/cmake_clean_${lang}.cmake OPTIONAL) -endforeach() diff --git a/thirdparty/libzip-1.11.3/build-emcmake/src/CMakeFiles/zipmerge.dir/compiler_depend.make b/thirdparty/libzip-1.11.3/build-emcmake/src/CMakeFiles/zipmerge.dir/compiler_depend.make deleted file mode 100644 index 3fe5a4c..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/src/CMakeFiles/zipmerge.dir/compiler_depend.make +++ /dev/null @@ -1,2 +0,0 @@ -# Empty compiler generated dependencies file for zipmerge. -# This may be replaced when dependencies are built. diff --git a/thirdparty/libzip-1.11.3/build-emcmake/src/CMakeFiles/zipmerge.dir/compiler_depend.ts b/thirdparty/libzip-1.11.3/build-emcmake/src/CMakeFiles/zipmerge.dir/compiler_depend.ts deleted file mode 100644 index dd6e577..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/src/CMakeFiles/zipmerge.dir/compiler_depend.ts +++ /dev/null @@ -1,2 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Timestamp file for compiler generated dependencies management for zipmerge. diff --git a/thirdparty/libzip-1.11.3/build-emcmake/src/CMakeFiles/zipmerge.dir/depend.make b/thirdparty/libzip-1.11.3/build-emcmake/src/CMakeFiles/zipmerge.dir/depend.make deleted file mode 100644 index aeeb8a4..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/src/CMakeFiles/zipmerge.dir/depend.make +++ /dev/null @@ -1,2 +0,0 @@ -# Empty dependencies file for zipmerge. -# This may be replaced when dependencies are built. diff --git a/thirdparty/libzip-1.11.3/build-emcmake/src/CMakeFiles/zipmerge.dir/flags.make b/thirdparty/libzip-1.11.3/build-emcmake/src/CMakeFiles/zipmerge.dir/flags.make deleted file mode 100644 index e256d41..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/src/CMakeFiles/zipmerge.dir/flags.make +++ /dev/null @@ -1,10 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.28 - -# compile C with /home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc -C_DEFINES = - -C_INCLUDES = @CMakeFiles/zipmerge.dir/includes_C.rsp - -C_FLAGS = - diff --git a/thirdparty/libzip-1.11.3/build-emcmake/src/CMakeFiles/zipmerge.dir/link.txt b/thirdparty/libzip-1.11.3/build-emcmake/src/CMakeFiles/zipmerge.dir/link.txt deleted file mode 100644 index 5cd89dc..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/src/CMakeFiles/zipmerge.dir/link.txt +++ /dev/null @@ -1 +0,0 @@ -"/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" @CMakeFiles/zipmerge.dir/objects1.rsp -o zipmerge.js @CMakeFiles/zipmerge.dir/linkLibs.rsp diff --git a/thirdparty/libzip-1.11.3/build-emcmake/src/CMakeFiles/zipmerge.dir/progress.make b/thirdparty/libzip-1.11.3/build-emcmake/src/CMakeFiles/zipmerge.dir/progress.make deleted file mode 100644 index 6c287f1..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/src/CMakeFiles/zipmerge.dir/progress.make +++ /dev/null @@ -1,3 +0,0 @@ -CMAKE_PROGRESS_1 = -CMAKE_PROGRESS_2 = - diff --git a/thirdparty/libzip-1.11.3/build-emcmake/src/CMakeFiles/zipmerge.dir/zipmerge.c.o b/thirdparty/libzip-1.11.3/build-emcmake/src/CMakeFiles/zipmerge.dir/zipmerge.c.o deleted file mode 100644 index 8d3765fc5c21b7189e05e2dc3b99fb2cd09a3d97..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10717 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

    X-}VxAar*#?@%)T1<}TN6Q<~aTTdI9 zmkmq0VRWo3niyxzx~zYfiTHbPYA8pr78--WE%sn4lcUa|-Yn%(v^19NNiBEgswtJ} zUDm{N@roI`TmJ1-QfpIdYt#Jt;L6nCzD%sQFGqDN>uFv~%Yw#vE%WC8-_z`<;ZWF! z0}P|cime+rT(E8Rh8=YNM!GPvWlQAzZ9C?&Ww}0l#n_wUc^b4c1F>8VF+wsWqIr)weFzzcsu4 zQp!bWl5R zskSCt%Nm&VJ#Pq)nl+iq5hsfMcbSj)Ld~Zz!y-4QS-tzcose{=X*lT{Gln&|pSCp% z=kKmljQNc(w2bBJpC=@dOZqnfi;;@<-a)Jo1UX~phB8S^Q@2e$nbZL8l0C7^0M*rW z*Rw+p_(SRx8#*7{9c6@Yv$>y-~+?n|Wzhd#@cO1MljKDu1 zz~f@!nTnqr3`Aqe4kSbuUv?XokeG3d& z6jz)01%UJvyM>N_mBB`fyQL!z(y;3Q(ObpRoMG3XGHI2Stsr z3WPDOK-X;ksf4hC!U~P^EC`8OVHJ)O78Z(TVHF9hSQyhw+#rnon8KifE>s8o>xl6& z;UZBp{?t}1mW@9xDiKOpCF6v4OVmoEARmU7QgN=ZENOZ5%n7ShSY^U0KZT{WOiUM6 zg|H?FYof3w32U-2RH-)Plpk4Sg*8Q3mBOkLR<-w6_^>R>OPac)xoFeaEO4c`%GfDH# zB+WmQwBStA!ZS(XGf8b{k`|pwY8SHfZ%u9aUudvjT*V74n6dHepQe=?SFQG(kp6)5 zPm|_FhA{h0fp09rJR-4Z9+o~Ko|1m^RRg4d;md#VHoczEW|}Uu@pvFB9f#e)PTVN8bm2 z^c@P6iaP?u=A!}hy~LM4^W_T#WkUR{pxnGQ2=)hqV1F`LA;gb^rQ+RSvG`A;QL#8#TqzzZDHd;)RGG&tu%58M`hr#M z`K>h-%1cYdvC?93ds&rup{&?HS}y%}luPk?`2=xq#YFSb3JiIs0z-aTG0F3v6_9>t zLaDfa!W8ksglXo1iRiv{BDx=$SnYXf;&dV2nOG{GpG4;SlRQHFWs(waPo5!8PMK-` zehPU1a|(EmS5|vYR?dQZm8Ign$|`ZVs>(c3h3==S;O6U9HA4KMs#J_tSBdAUXPSSk zM%RI<82QlDYR_v^XAAMCsioqYX;uCYrb++t>C*qibZP!!IwtNuGKKgv)tdJ!40>E) z&<|C$=kSa=A?}({D&Cw?YaW`3u46ON_4LeY&xbS7b$C{(`5&_|{zMIG^wHXScvM?x zK3y9S;@R3c<~y|wLi}6pT=TvHNdJ5I z8*Px{jfPh7PjlyqqmA>$cN-Uo>zd|^7n>G}zcej0uW9xQ@%83f@kmS9|9Xq`{}F%J zv`X=v);96@{6*r01?~R7ERf?>0ao?pa)a5$&A9Iy>TCjDYEC3}JC{Zbjbopt1#N8$?QnN{OMCl*a9ejz`~2{H zyEQt$t9xPl!j`VC`Q7t+y6u*Q_2MXgcOyz1c+=5iN3pxx*+4_6b12c@=pdSgl2aZU zv4u2D1kOw}VkgnKxsd^8B9-iI2o4M-a CMakeFiles/ziptool.dir/ziptool.c.i - -src/CMakeFiles/ziptool.dir/ziptool.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/ziptool.dir/ziptool.c.s" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/src" && "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/src/ziptool.c" -o CMakeFiles/ziptool.dir/ziptool.c.s - -# Object files for target ziptool -ziptool_OBJECTS = \ -"CMakeFiles/ziptool.dir/ziptool.c.o" - -# External object files for target ziptool -ziptool_EXTERNAL_OBJECTS = - -src/ziptool.js: src/CMakeFiles/ziptool.dir/ziptool.c.o -src/ziptool.js: src/CMakeFiles/ziptool.dir/build.make -src/ziptool.js: lib/libzip.a -src/ziptool.js: /home/romazan/Рабочий\ стол/cproject/thirdparty/zlib-1.3.1/install/lib/libz.a -src/ziptool.js: src/CMakeFiles/ziptool.dir/linkLibs.rsp -src/ziptool.js: src/CMakeFiles/ziptool.dir/objects1.rsp -src/ziptool.js: src/CMakeFiles/ziptool.dir/link.txt - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_2) "Linking C executable ziptool.js" - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/src" && $(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/ziptool.dir/link.txt --verbose=$(VERBOSE) - -# Rule to build all files generated by this target. -src/CMakeFiles/ziptool.dir/build: src/ziptool.js -.PHONY : src/CMakeFiles/ziptool.dir/build - -src/CMakeFiles/ziptool.dir/clean: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/src" && $(CMAKE_COMMAND) -P CMakeFiles/ziptool.dir/cmake_clean.cmake -.PHONY : src/CMakeFiles/ziptool.dir/clean - -src/CMakeFiles/ziptool.dir/depend: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3" "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/src" "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake" "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/src" "/home/romazan/Рабочий стол/cproject/thirdparty/libzip-1.11.3/build-emcmake/src/CMakeFiles/ziptool.dir/DependInfo.cmake" "--color=$(COLOR)" -.PHONY : src/CMakeFiles/ziptool.dir/depend - diff --git a/thirdparty/libzip-1.11.3/build-emcmake/src/CMakeFiles/ziptool.dir/cmake_clean.cmake b/thirdparty/libzip-1.11.3/build-emcmake/src/CMakeFiles/ziptool.dir/cmake_clean.cmake deleted file mode 100644 index f8f6934..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/src/CMakeFiles/ziptool.dir/cmake_clean.cmake +++ /dev/null @@ -1,11 +0,0 @@ -file(REMOVE_RECURSE - "CMakeFiles/ziptool.dir/ziptool.c.o" - "CMakeFiles/ziptool.dir/ziptool.c.o.d" - "ziptool.js" - "ziptool.pdb" -) - -# Per-language clean rules from dependency scanning. -foreach(lang C) - include(CMakeFiles/ziptool.dir/cmake_clean_${lang}.cmake OPTIONAL) -endforeach() diff --git a/thirdparty/libzip-1.11.3/build-emcmake/src/CMakeFiles/ziptool.dir/compiler_depend.make b/thirdparty/libzip-1.11.3/build-emcmake/src/CMakeFiles/ziptool.dir/compiler_depend.make deleted file mode 100644 index 133bbf5..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/src/CMakeFiles/ziptool.dir/compiler_depend.make +++ /dev/null @@ -1,2 +0,0 @@ -# Empty compiler generated dependencies file for ziptool. -# This may be replaced when dependencies are built. diff --git a/thirdparty/libzip-1.11.3/build-emcmake/src/CMakeFiles/ziptool.dir/compiler_depend.ts b/thirdparty/libzip-1.11.3/build-emcmake/src/CMakeFiles/ziptool.dir/compiler_depend.ts deleted file mode 100644 index 191b4da..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/src/CMakeFiles/ziptool.dir/compiler_depend.ts +++ /dev/null @@ -1,2 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Timestamp file for compiler generated dependencies management for ziptool. diff --git a/thirdparty/libzip-1.11.3/build-emcmake/src/CMakeFiles/ziptool.dir/depend.make b/thirdparty/libzip-1.11.3/build-emcmake/src/CMakeFiles/ziptool.dir/depend.make deleted file mode 100644 index 349b5f5..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/src/CMakeFiles/ziptool.dir/depend.make +++ /dev/null @@ -1,2 +0,0 @@ -# Empty dependencies file for ziptool. -# This may be replaced when dependencies are built. diff --git a/thirdparty/libzip-1.11.3/build-emcmake/src/CMakeFiles/ziptool.dir/flags.make b/thirdparty/libzip-1.11.3/build-emcmake/src/CMakeFiles/ziptool.dir/flags.make deleted file mode 100644 index 5775f14..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/src/CMakeFiles/ziptool.dir/flags.make +++ /dev/null @@ -1,10 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.28 - -# compile C with /home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc -C_DEFINES = - -C_INCLUDES = @CMakeFiles/ziptool.dir/includes_C.rsp - -C_FLAGS = - diff --git a/thirdparty/libzip-1.11.3/build-emcmake/src/CMakeFiles/ziptool.dir/link.txt b/thirdparty/libzip-1.11.3/build-emcmake/src/CMakeFiles/ziptool.dir/link.txt deleted file mode 100644 index b8aa3bf..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/src/CMakeFiles/ziptool.dir/link.txt +++ /dev/null @@ -1 +0,0 @@ -"/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" @CMakeFiles/ziptool.dir/objects1.rsp -o ziptool.js @CMakeFiles/ziptool.dir/linkLibs.rsp diff --git a/thirdparty/libzip-1.11.3/build-emcmake/src/CMakeFiles/ziptool.dir/progress.make b/thirdparty/libzip-1.11.3/build-emcmake/src/CMakeFiles/ziptool.dir/progress.make deleted file mode 100644 index 1f1e9c2..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/src/CMakeFiles/ziptool.dir/progress.make +++ /dev/null @@ -1,3 +0,0 @@ -CMAKE_PROGRESS_1 = -CMAKE_PROGRESS_2 = 100 - diff --git a/thirdparty/libzip-1.11.3/build-emcmake/src/CMakeFiles/ziptool.dir/ziptool.c.o b/thirdparty/libzip-1.11.3/build-emcmake/src/CMakeFiles/ziptool.dir/ziptool.c.o deleted file mode 100644 index 9008f81e00d460f61164ef8d5a99cec1834f730c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 181061 zcmeFad3;<)l{Q?}x20~WC97r2`&QSsY{|B4?ThU=zFy@eUgIpzBFj?CR!f%Dt(LbW zwi9Oql8}&nU&%reVnPC0iP-{#kby8^7zjg#u)PqLFu<@4e9t*`Z}*kD9m2f)zVG{^ zoV2=c-KtY{o;r2TsZ(|9iuS?1QV1bmzxe1;F=eMbB9H709yxNDzO5ri+)I2P#yz2v z4(|+jHx3_0K3s{NAu4oOmpjbKmZlQK7m*1Zp}cu?MVI;fL*F3k){zTAB@ci3c1YjW z^=q054?u)f2+xEux z_9qVpgykj=rrJAt+6MZ&`%-r4Ea=cCn?jKxHdGDax1vpdQ8@+c*Y z2Bi9jdV2+5hWOIEqSkfn9T54HGwP>^x&}mul1oM;>(nr%_78wFZr}vE}|Uawsm)kA}Ul!`8s30u~bYHQ$o&qyc}F4 zCuui_OL`Ph8c(Em$5L(W$&NkU`(kM8-n}ujmSHR#dAF;#eYX!`76BitL`jqo-D$a4 zOgOMM@)AK z<2HCQ+zLsK+XrK5S!PcC+5aAp$ScNBt1=i-aStQzI~Hukm05RCz-=~{6ykuwp zV5%EXW_q1VQSn$`NAlo6DqWCANBZtwE>=cuNmtkz>uMkBO|=cQ4-W3{Pj>17%Y%mi z#hB}i9nh_aP?z))jkcuDMjD`tiH;?r`RLOA0axI{gMID*;d{Q}NW)kU$6)M$_ft_9 z`xu7`Ozr9KY#SUJ80b%?Vs68xQ??A3C&|U5tgADlM51k^Li+l(R1rMmslmlejZ|YB z_0j}N8%JrbiqO50jFDh5Y}^qp(9K^>t7uw58g2^~U6Y zu!-^{A7%RKr#^`?`1K*TomIPEdHVF5KQmg`DJBz%{I31UZnTy$r|$8U@DuWBI@Z*C zs7H?OhY^V@c|@9Kzk?dgv96kS4@Uy+4Z{_Dl4>f&Ht1eUezNZ|08BQtU9sIa9| zZ3mQ8fgamZ)+|m`mJ*GD3P;#M6|4xnb3J9uQ&vTw!p>Lu6@j1~(pO;>rmF%~5Y^-g zRiPbGk;m;KlrC0zDx`{3aTLA;NQ?sEQH_CFxK*M?sgl)p)RA_nimK9tJvy)~uuP3! zRV;9Oj2crB&=kvXIaZDJnlVm|i!xXCcu*VP7!c02Hxls)s!UB#R`eKEHOV<*PsII+ zje+?^G6E8l)Fh9@WZm{DYDz^w*i+Ti=oh$o(*yU(&IU20X%~rFcmr-t%pQGk@?XS?aRjNv=Z7y!kQ}ev0%vbYW zZmQ7Qs>VPWzUDRtqRz9-)B-1JFGSM9xLvI()B;tV;jaeiHEI58aaD_}2vs-Vu0yxh zBdI=aH>d`;TkA?9Cko{wGSm0blk|NU&E&oZKh*c!H+h=VFl4||`Hg`hAWOA{Aq^q7 z|HIDFqfy91SQV_d3jtL`6{<+WE&^0Vx^IhBv4_nl=XGYY1l2`JB2?7lkL02>`bnx@ zM4W4HqGpUny`vigL0#z>T#Z5h2bNjOC`H(1s;o*tTAT^?I5k#{OF>4)t8qh+jR~uY zrOq@_O{7edkZH1-q$a0q2!fhCWKRWT)6`ToZ6icLLIlwL3EO7YZMT;Nq+kXWpNZlu z1u45+m8)4p_H3sG-9B5**FALjI%apUhUXJoB)N-{VVXssx(`8qw zRaAC0%C1qX)tZ#us#?{WA$u*=y-uxF>w4_qT^mug_SsI* z-l5J`J5u&Jy64VS=T-@6p9h-ftMk?OkA|L+w%>3A>ZQ z=u9&dQ!y&uh2pzam)f1O_ozK;_mJIYzF>WFI2*E>MTm z1sm-PQQJl8LUmEXKFp0hoUZYRIzr`-N)WhMs-sd}EK~L+QsMuL<&b?$QV(7#)iJ3q zl^g8KBxqeO)n!s$E)(_@Qe7d_#IBU;N=f8CK;%9s)d!^dAjo}4D*XRJkh@A!v#yrv zDygoPJ@z#cUGrh7u951)GHzch)wR;TPNv!Wh*Te8iq{jx8>G5ksvAJ@Myc@s4WM|F zq>jE>s+**`85D0JinmI2i&VFQ;%!phMie9JI%(f7)$P(Ail`y`4yn#jcgUoDClA-4 zeHSryw^VmYbvMf0gJgA&Bqe~9JLMw5+E>{3N+)37C)K@D-G_YlQ@;C=PZWs=YpJ09 zfOLfYQK=q~>Z4T9)hZ8C)(4Tbi1QWM4@qdmtA!h|O5Q7j^((5om=qDnj^ z8rA9$>XPV=#!a@Kx>Be_*T9SgKVw;Wk`5KlbvIpkR6tKg)i}S^bge4sc2I&rRTDDE zOaw5KkTfX{-8tC>WnxL>+5AWdjztikFk=%qJa)K~@pW+$OVdiNZ`H;oZ0DiQdJ)qo?a$a~x=lUv95;3b9FQ6Qo|%dJGaCaN zimZt4oLOp?N2Ofz3m1g=ouk_f&x6`r3HvmMtWoqs+~&EU0~dqZJWtJ4^H#$mNo|o5 z_5!qdfo}6cwa{yGHS)qTd9~H5TDQ%0pjFoxP|gpy&Gn9gp|Vs%9EPeI7OT-S=SS=& zq&HFX0}+y}X4UMGYtfBgq!y6?FIJ0Pe{2b*uY~myuwE@{30W}LA3GKP*fN;1Wm{|q zjbE-DwLD?3K;u`qT5ly8v$Q`3W9IR)TGzHlt)bdlL42)R>osMaTIX`M9?e~^{jt`J zKehn_;56JhEpBgwQQV+5W*FRr^i9MdkDSf8+KemKDI4r94o1LMq-~Ac+tfC9=xiy8 ze4=nn*d01Fd}d(SSojp%3$>z*ilcVU+z>uB=d z)o6DBvRBq*fqiNK52PSGvYOJU4RRny}(#*3OnqeR#?+&6o*Jp%$T6GLTY!k)!LdX_5!8|-qY*`5tH zXUEASw<|CT%A<(?v5(FkIew!$3<+v2JLW+Qhh_{1xZ`nh(BOYBj9$appjA}0R-yB$ z3BTrvQ4IzWd~r_@nr(K);&Gupl`VzHRE!l!`Ahj2lATN%_Xb@w-Qp?cY)NPJ(JTYF5%N1&c zhvrHb%~e2iwOXlGr{L19QfuPm($OebOPXRQoI1d;(uU|$^ES}eX8SbI+6ea${vJ7c z>NLpwwG4+V@HB)rt4(V2YDl?+kZ)026ZST+v5gu@-rnin;M=Z&K0}>Bdg@GF?ODik zwmREu{0_Cl9fRjM%03qyo*TE%gTr?YFvrzdO%|!$Gig+Q;AS#n=VMg1A*n5H?}R&f zzS`+^hOpaJy9dKA7lsbN&{h#@*AZ(pecS_rdvtf9ech_t zYhPUR(4%^&Ot0#7)zw}~Z?*f7yI;lCUe%}iU3E2pUWC7>5?kOgO6@Tw>=YnMX^4i@ zkO$E|O@6=HPvj4P8azj@?nCO3i_HaS-UW>Tn&Ta43{<=G#S7t&UWBBJ;`U*+53c25 z7YW@qc$I0DcvQlx^q{#|y4YMoZWMe<_?*Y!&t1w6=cRCi;88c$yY` z%`{N#YkFkiZ_2d48Hc|KZs1|!{|})A4|Sx#?X=)^f&?qeUh+Pn1X(U8J20%wkd3Nu3KwR;2|;Y`L%tRRMg8!su66$|Ddi&{0Kk zD8*v88Ih96CDO9ciaf6s7KD|xZx5+mH(#C-B&~T$Hd#@81)8j|%B!>{zzxJ#lpLK( zD{N~Y5Pl7+gg_T+MU6JR>$X9m4S88@ct?gjzbkko=to4I#NC=gh)j83h(vW(cDI6A z?v^$TuDcc1S=rqR!`;Gc9)_Wm+$~Jvbyl9dH(88x6fP>@4#Pe$>SN(nm8r2V;^TlM zyP<3-TqMWAR9Yc2m3jD37|Z8@zjp|WEh1{7@D*D`5`*`!h|n&Sl`Ucrj(8;cD)$0Q z0bBx<q!p*bJWkKp zr6ab&eWe3N%33IA+cw%YLm{e_vS%WqHDd@N4NJ`;#rhK_QH~60`w1^H3WG=5QNWa1 zsv;9^s)XKQzcNln)a|m$lE|(3vfUdXG^@%TX{1=8>$tEa6=A4;9-Rb<&yRkNkqjYA zn4Fh2b^!q6A)2rw(4Y~(Mc9WkbETvgX$-SMDS|}4O#vnfFKKe6Ajdtj#vTK5Wh8$I zdo0L}O_Lkv91ZH8NqX}jkKRP*hZIqqs3y7ebk|H)Q`R7iBy|`mVNVCW>1lcjniYMZ z>?A<9)C_c(+q{|1J3>d3Tyo`T-fXz-v)9;jK(2!P_k>*ua+PUvbDg6B?Z7AP`Je}n z#G_Z`{7%4isZtAEdJ931159h|8qlkSzfzm9>p-tAO|RYw!$m=mDGA@*QjHmMP4I^} z*5p!a0W}Udt+5w_8oMV6`xH<+B~5Lqb2JJ!WvMzf={YH0>l~+EJM1pG6(F}#txzl1 z*sDNpH9V8m340C5tx1z>b&e`{DXnU4lDrhPF4Ma8&ToW{LAms_!vZ&DjlBu<*fmMm zTR?A1n%-9Dgn%EuRc%YcJ+aj38G75D{}MVX<x1=!NYzi2Y6^?TnKz;tq|rlE_WL0?+Z!hc+99&-)I_vqr;k z{$FY|FqF&3AN3GvF;%iyLJbh0v541QY0Zp!4G?YXh3b0KNKpx1p z7i84u$!t2?s|oMVrUMo>=-Px75`a-1Yl^;?oQ8P}!Tjah$TE#rqY;-+&zO#Q>UD~qI=c%uQ&>Ar zK}1DiY6#O7C+p_|HK`=>lvUt4KQw^IB`C^(byAl=i#9KA{2iCj^#lHn162Hwwl<3; zv^tF%o*sv3@VKLfy#T%J<&QII;e}taP|m;#7s_JrundpKU?F#ay&?>uC{{lJ+eBc` zMyD07fCLz@Hwk+xcg@`zQBg|U!m|GB7aqtEtan8ktXuNT5PqWvmdm14QPx(NesVAWHs3#!G z3#CHuafeUkewl`@oCbe^FBIY(wD3gk1t7QK=H1NwKLhRJKu4=R3;mB(Csm%XXLJA0 z*8M+x-H~cVw@|HfnKZ}y667vW6RJ3kwOImdP~;+1du>Lv&y|TMH6x(3g|6UHbY7f{!=Y+cod6VDQPZ= z{I`@7G7@nz#Ww{6{VUW?8GJ@8O~x^;3b}JC9aq1F0ff3!g^hs;D8|c@t1~X68(xP| zAEn*NG8)IlX!ApN5L+DV;@OOLf!QFC!w(Hu5tu;cF#0-I!Xn~}vp>(}Au0exmn9rd zHpjW5KwkYm)@O^{wF}Q{21TCPpap1bK8r-YW~2yUSSrLVqRB9p?A^860<6`BwJW{e zjzFS{6oP&UyBH`GYkA@sohDl1uGMNJ^vup(YnMP_w6|6pSY|CFOoD_-l|V4vnE>?$ z2OvcwMU5ST{vW@p7_)oIgmFTdCL$B-wiJZ{)ubVW0E@9UKSfPlZBIknrXw6aJz*=f zO`&bNuni%`vepa~=7EtSwWekc!51jh4)p3_4s_am4q`w^?LCuzV(&TV_Gu6ULuw-* zhmmJl52`9^C2T!8L}?$If_xkR55uFb#*z{(Ho0VqFkIN+b6blrFdAIk8-aUJNB-95 ziu|E75d`=2_!1X)9R}Ay@HFlS1dhaAz~5d*jdh&AWg_Dg7iYxD*Ir4tSJ7?H*+wW4 zYrCqIR(A{a;_gO!Jz(I)-GqG_OVnvD@Dvc-NHjJP4bQ;_4UYZ!*LdTZHQpXx<2}no zha-MOVh52pN9|DOBCxX7Lhl98o+=b&?9& zrP_f$-4}@IVVzfCofm|8p*LagaY_)u+oQS@b{zcmAUxNz(e4GIy{cF3P1t?RUtgNP ze$`Jj28ad+?h**xm81iAw6r;-Qfeq}?*qO42(|6+!9wo=`(TMPPwIFxjC2cmINipE)p$HgfKceQjC@P`m& zdpIDc{(TKR!u3>n(SOw%2vo5{1iFxPWP0-6Y7d{hV=&Y79nC9JMV`PTrbHT*RSzw6 zVn#y2_Sdx@R>jc5KJ(%_SFYvmhs{?X;2C0+9I5@Bowu8>QTx*^R0;~syt7`-Z zTwPt{iV;Ny|G))!OO0Eg5V#crHVRHzDgslS&R*nPeka*0UNd&HW8s*r8s_&dn3?QR z=O)h1d$8Q>*odV@BRdD_Xon4DM?l;)Y~CvQSY%)*?sP&|NIW2?^mm69&1-A?3GVPbIgt`74 zO4mg-3?FNDKZ(PVcjZ2Z&&=C34e)8M{Mfn#_ZcQKrCHN7#=jH-BF(P}v4 zuv-*+gFDX3XQmzq?3beq`Vfn{)Dk%5)RH+|hZhPWv{t^yZZdSv0@S&HEZ9QYSO(=t ztG+bvg_llF+iY^$Uf}MpMyv^_W}LPf+{fOs4J=m+<#M~0Yp+wasxCo>ZJ}IhH*gyE zBdNxO=h$H`PLo{aTzwabVKc@|+P`a7i`>Db%P;2gUib*m@E)ag_Njn|7k3l316gzk zn1`9%a%AGIN@+S3fo2#qZVn6@I>EDOSms(2{TAUEagK9gz0`{kQf7p^p(JmSc0Dc9 zZU6^*JCiHZ>q{ap2jnbIh68}sQUPW4knic{3DSniB8+LdSQe__LRp9qCN+m+n2C%A z+>l!X(g=H!TbZ7JXIeQ5bVn_gVfa;`O!0N1%;C%gCgWV&Xih_HS&d0Rc1u-RD^^`4 zMkrQU6Q0L~&74J0c1&d=mtdbO0iSDvJHIBIg-J;!hKb4{xx#sxo2T$E=%LSa(t;ef zXCm)RG?Z))P@09yS#gMQxkjlZay+w7B+s4vk$#x(VJoQv{$JM*%eCt9=IxNN_n!T^ z`s8G@Khh^7XMfdt_P1Qm{+8+4-%0?z6zT%O`#AjD>9*o7vEl#P2{^UX%QK-wXknWt zgEQdVDoh7&_tb+b*E)rRUc+5o)+rP%Mr*JM(KD`?l9Nv18Q}5}GeE6ps<~dcv#KUR zku1_Pbs&PtpEo%qS5~h)G-ArdQ@S{9=%Ao6*^TswUqqWjNb_LUNSX(;M$$aC>njL zmgbn5I5Nc!V1CKQdRD7}WQU_HBO=K^lh~;kgv_MZ$xjv(g*u>3<6ck{o~e%ab2J4W zFe*hv#p^E&VOm4h9_d}&Qyf`ovJ~~CBCnLbik7>37q>ukF1v@isKmK~zxBTVQM~V8 zQ7mEfWC#uK=OzUaAqDXZ#sNEspdQjb`B==Ga(SKa2J(uqO^Q}g^8Yb@gA_R#&TmBy ze&_1}LTmGd?uHMrN%7ty6{fgJ^lnDNT@hEy>2Zf*HEJ7pmT63b(bEomgRgv z*g}%WkU$|qFfUl+DmN9nl*R5)^1MoHw&%=!&2N%%DN$-2e)A|hrW&+xRIdqWrCb$ARTw&kKqLvP1w!SY-O`;Pe8Ker>s|mV_+V?okWY-&j zpecwJnG8I5Lj!p{4dg#DoKvBlA%dAXhP!LQow>U+ByX~w3q@2kUdZNfjJ5*aFC*mf)s9058fk2dGvAkjx?Rb z0vd0M)bj1BHo~5_8mu1Xo0C$2w=tg0(n!xSOrB#!Ac`d)+WkRm0$BEm-p8Fe6>0p) z%JAhAp5hvBPodu?7x{RIR2?GAkuNV!MaW|TzC!yo)@sMzDZ%su;lf26X^j4Y& zxYzX3<`n3h$*_}}SKdA!#5%z5IXkZfxbzh|3MPv;0;?JJ_=p;B&qQx~kLUq;Op+)U zZ;sd92_Ywp7)iyx9Bq&PDA%u_(8Ip?*7vb5UN?`o#tS`JQtvTYLR&CHA_>B@2yP8c zi=xh-n5QPlL^G0_l`3#}(kHrGZwXm;aC80tK!L4wCeS>Jaojwh7O=~x^{zxQ05V|~qV ziSPhuj+Iup!c;vg%_zJd{lq7z4u9N}+#eXHg|e2$-9kwZ`k~-_a(U`M?9#9TWgWGq9CfhAhVmLm63T(K2df{+}9 zWf{_z#ck{}cctvqlE@!3-cHH?N8S!P%v~+OlRlW3q7T3y`#B68J)bZ-0Uw)YuEkK) zrO}5t%l~2%Cd@Di$OK3e9v%)NfI|itdoHwIK@i974U7xgYf0Eo)!6gS%s(^s{NREg zdv>p3Mm6^CgFc>7o#iMSpB68tq0nF(ykQj$Y@I^%046=?1-)qk9??SxQDPUY*1;p=>=R&bQOPVl z=TR`Zyi$X>`NLe*c(iWmFZ<^i|4Cy*I^j!ZE!OpQUC)QCTp6(BmKDLR%DrfG$#7#u@=Q~CpRszM-q1fF&&cY3eozZ6CQs@8 zT!{XV{J-zGF!|JMsI-V7OhM9!xf5+1#9*RLiX7x(wZtKJJS4~$Qz6*AbcB82uqe|I z0(*o-S|3J$C(&Eq_lnU3y<#-m9=T#f^$*_%ga*S;_p}#`k~=0AqMJB66}RErP;`pM z1UCDSKJzah-NKSki{&F2_RN^5LpGQk*I|K?em@%@pVU)33UQ8@IREqe9=hx&j4uxc z>_pXF?ddW!xH!Ff?VIDlhb>{H6GaY$J7>WL z!F|T=jK9y^Sf|@(?lf>dkK6e;(SV*KMc>CM>5qijv4*1JcgeoRd!Mv|0)}AO0w* zrQCXqLX6O3i{&Vv9=m}H?O$1VqR$>j=sulR#w=kEK%(+ zr|6`Cz)^Z{A04byO$#q%;pXY^_*^`!=ZeX&?fjLz5aVvXJCa_9!2|ia z(grMe@OFp`F-5~ZS75?R;qt1DNj6Ca&+vNO)F3~4Wq4yW=Na&$MO^M%6mTk+q8$g+}*b9 zn*VF1^BDK{90w=9@Z4tjVke6_YMQ&;efsQ}Js&mkfks>H1*i#6#i)e|8|pw+gLh)~ zEeSsoJBpgDqtbbX>DST|Q|u?wzVcc;C-1H}QGU>GSRT}4>6qOF`uzOa))8kNDSgsW zrS(&K3Jv=PnydlmOHBS0dV-jP7;$VGI0f5ehm&8nJd8jF_75DhmxDZSD%xtVMDtf+ z=g_Kzy&BD5?Kc0{63@$9Y7GucaNc0@t<4OeHzGb zRCpY1tDWOpskOEuupd??Ct7wwLNa1;oKvATLSQe{2A)(=*L;!cA&(L#=xtR zMEzClpM`*(i-U8{U5(R`q&^)fVYjg*Z6o>nCAWGfvbC$7s@-iZO2fZ4h=%@d)v0h^l8Qy2pxP%=?jOQoONWlx7l1zRz1@nvw=%u=7F~OUyLO?xG=Ocm>}g#r zu@@Kna1*=-7kg~!srutwB{t($(`H-?M=kMQ++*}G{D^ulm&+m1SGZeok6|k=D*phT zyoBSHwqpM+8t@@HZ3)l5C$R4pjkro5(X>!r9>D%vZpAgU4Hw5QC2aTccZ!?5!mYs2 zR5&pSt+)=YzzIy((jiPET5&yE5lA1%bPNYFp%pjrsZ2Ma6*p5Wa0JuMbP!Vl=P{ub zx9V0vX9nn4CJP5MQCRwIuJm?V*2SSr77k^K)1gea)2T~drS8r;oY5rGXEeF@ka7A_G~0FZ*8UKylwkH{4U2?w780xEGs_%cak2@>@UNUI&t}dL@ycmlOoyXibH& zAY)R6-(8+z2+&ipBe&nT(Tf7%DyR!(sw600Zc-$o|r@sEl4Z3xLZJ`&kbvm zbzuWoglBibAPh!29ufT|u~rnK?6$JKX!ZDIBUqyXX6yz;R3y_N+#`IciMaZ~R zBblNX*kYrZ2zYhZI$@X|Y-LTt^aLq3fx4j!tL+9{^5I2|IAYH|qzHT-6at#IQFgu z>A0dFN=U(G*r&}YoYc2LZHdDkZKWm9ZOE{#G4N}q0bx2Fy5e-$5(x_xq|Iw@0{Y# zzTiF5>v0Lwg}e8nEcY!jj_P2^?vv4XxDEGH)elIVI;b9yt@cN$?GMsXgE(9;fkOq+ z_J_Fbk`5OPs)rdA(s+;1T#()4&qNp^#n+R3_z9kap|7s^9d4!C#5QhpE8Vo!`bv!H8Gg3W^I-Vm2o^u&^o?868X27lV1y z<@gNqM4e8V-jeo9l=>1<{~|f*FVa3C$z*?)ZhRKyJ}1@ZJeS}ET!QZu$Rio!ega23 zt3Zyu_e)S5WSgm;W_{9+!hW*V*asnD$Z>E;!Y*L_P@u(!Pj}J6gO<>GRy7H%JMGgq zig5#R;A(DaH70-{z62ILNKYgw=Uw)YqL3VH!dInnY=am@YmKhV=%%EDTx(#@GyCy@ zC7yv~Jy{JC&8>D#v~a%qFuC26u)z-|B_n~@&gVVsM+K^}cJMEpQ=4l%DygRV>aK>d zzVR`lq`;PqC2FN?j~Xq81?dcudQal&?U~?&!z^oug;^-bg5IGDVX0|#ywW+21JSU^ zjosh#RHd5N%NAPi`XQ-Wpz|$s^Hn1sRuNQ9FZM`O>n*Kyv`_`>OY|Dte0n!|gKFx< ze6LY&g=nF5|3zpkHb4L;GS;M~5wOA5MdofX)HHSfk~sE3RKOsg;sc@HUJBItAd%5+IF1Rn8tD-v_jz!LAAnHxEd3}TR%<+uEKpfISogX47@VnOYbSy#J7X^_B8P`oY%OlKD*=$I=#dr?tBl=UZOCct?Rbz92DlmOt_cN zb-u}k&qKxM)0rmfe6O%>dYkhd&Y+ESo7#yPrQ5QLF`WeQ4xY^LA!`YGAX9ZjpJoiY zP*YdBnY*1!j}v@*P*XQ%n0P|dtI0tGJ`PGfOsN-7Z0a+4RgX)l50vT3)a}84( z0Hp*>HO^W~Q#ux~lb|%nlu|0GQVH1UAvNey+6PMe(rw!B+`^O&fYL#QqkGjskCNv8 zkaHhrxBwY0q=S6bg>D9Y|03s6zJD0^kI>VeICRZLN7%61N2NE4zmQizXFbwq8a@=g zFY|O=9=uV0c&G<+l8`$`3eh~M0@@6!ZWg`*P(%2#C~S$D3!O0*q9A#Axx4tgB`fX+ zUMccN`J#3)^6?J2EyH%mDcYe-`@ONV%RM@kcl1Z~(WzyuN6T~;EZsYY^)v;K8G+>q zm~%`-YbM5_!6spXK@*V4(NA&rPr(h^AqrKi=})DvS=iYXMBFOm9`Fcd1yu%Rbrlzy zfg8|NSVKnMB6}t(VKudSn3@7(6b+_4n2yj_(5{Srnkn$!d`u;v9-ytF&rl+$%m-mC zYR=aus%l88mjBKB=boW-2F^ynYy$eLI$_tKnwoSqwa#c;KO2L|1VUII;RXdOgdnT!d24aul?sS;gYj_7YTl3Z@UIB>CB_|1YX*5@Fz zCDsBv2Awtr$l-nkLeobOn#OSi6q*jw=`?KBWLpfUXr8W~opT&? z;AUTd?0BM6E$oF%;)MXbL{HV%qS4q;7{(Wb8j%t;533r^%dCv*ux3)1aVBW-f^F%1 z%%L@Vf5!;Z<}x&U7H=+FR0=^mD)^7R1n4f&=qmdZx0OrLN{+ksLPnRm+s3Gs%h9_m zm2u2-gK8y79H#L{5O)o#Rdj`55#zHOIr$MSI;J#8vZ>tZ10UF{D_^G@wO*|!#4ycO z8^|-b{1aqWPJ?H#5lI_qw!02C*0ZpvZZpz1vv8xb`8c_>8b&slbv*Cu#Z&X4mg#9l zZ^43o(^0(vEb`Gtg>ih(;-hRvyLqEXOD|RgonL>}mHHm&^n7>dxGRm6ecf2l@xALV=*G=EZ;HMf29{TPP+e!H|Jt358HjEt9XwCuJiRqgnYfB zN-t~7fUci`bN*ZtdBmQH=HT?9cO255AUR;q!dd{Ic5}?04X!zCv~}2979fIic~;0r z_-fIZ@3LG4dI%Tobl%}*lm*UP6fVlw@6?!2Lnu>s4bt)4bGq&;>9D+fRZAU1lLMUT z>rGqhUGfd|{cQ&-9^dE}jvI03wVRioXF$nY?q%ME|qiCInfuH3SRf%GISm) zJ&*KszS@C@%v^@fcN79g`TB^EvvF34cj~W8sU2SFWkd<1eHZfWa`|ARqnq5}9G3_r z<*Uv(d8u~S@}nncy`w{6y(9V=ZpI$m-qU0qcOZG)3Lffq?U&LSA_ueA-JD#IQ8Ii zfw`EXKxt?$k;qJ|9T0k)EKhTF-TGs4`H^%KX$zuAXyN6)H%y?F{Ei98C)PNwL^we= z6agdIR9n-bnAKz*{O>=@k_+{f3GJ0!rZM z7B{+t_|L6rj<71CIYMAbbEJbxT22vE!iord6Lb<{M)?RFH3rVY_wC?lvvUQXEO<9R z+I|n+z6Vi`d+GHTh&3UgG`w%_t;HEnI@#;go z%uYCCBQtSJ(c7~Wy#X%PsW`{bV0RxzN;+S2B#eCY%0d)6AtHH{3qQXoBBO|aepeS> zvxu~Bibw%vCZf1}Q$(gPO@2jJs-NC@sQSCQ@RBgauUvHgAR_gY$gN2AEBBpy^XazQ zbubk}95&USOi`2QRbg&v(0)utin%I!ff!x`hNNd@WCmB~QsLkH;Vu_n>siE&CKtFq=Gr>eF}Sr-B&yc=lNiyIElA;?n5EB zU0+6$zMp3JjbLQl@FpEdx9R7>$QX}8hGp>gSKRQ^Ni%p|Uc??w&1*2d%r8y&$-Ky{ zY{CTXFdk9UxAG!o^t#58ZuB!i72Pv%D^3}b5;H?N=`rs9(e6#8y{B$_6YM(F4Hkr^X1 z=VJWokZwHdfecS~>10o)JyxFx>AE1J>9<-6=cQ02-;=K|h9Wjv=M7>s z`p2P25h(%hC78nbO(+u48p)N^{|QCL;k~AvTB?Q@zdjr(;dd{lUzG`(_k|-fI8k}; z&s3d5coFPw{pLk_^JzsT@_iv33Au00MBq0ZiD<~Fa@_qE^s&C17U#Fak#WfwzfjYA zeI=`E8n%B-m+x#(wIkuug2)6nv)gidcc*gi-cb-Kqt{qw%h~aQNH~N4GdiD#m`~bX zEr1mGD7d2ZJ)N8`;3ogFAW}%VJqi0mL1fM_2?M-(q-R7;?Q8EHA}H=Ij6}&G441bj z3UvcUNX&`C$S6%Y!^LYl>qsg3ej&yZ8s$+)zY0`1zb%YR*HrY|F^O^ScAF<-*GD2# zs9kKDd>NE3gO)!L@wL%=n<#8#Bofus>6M<;C&cF0BaxakxxM|J-Cf-<0(iNl;#}Tqv+ip1#RBHfkDMdpQ_xN~EXr|VoM(ytyB&Z9+<$?3{6r7}%_xhPVS z21mcoR5))G`5O*Xg!c{$=SO~8Sq(>qqs5Ui!)dj_oxqLjiz9`^oJZ--;z(t>Raum@ z4e0G}+~09v>Asnnx~F0G}{EW8L4)_=chu%kWu+kA=@Rd?@d^_#AM5KZfr- ze4fSUyYBCaC`e_e;?GQc^6`5)zKO<0e7EBh!tX2bP4(V@?|bl}`d`C0<$DX?zr&{h zzw40+KbhWQ{4T`rR(w;w?fCA&CxYLH@lEZ!4&P7WQ-t5&!Z-c<8NPpxPcdDfAkizu z_c(k;;dceT@xQ3WpLO_@;P*NB_UQHCcNA$?J-*Mthw$%k(+=YMQhdfC?GAiXy~pwW3_j!W z`&E2XS>oe+_&ou?e~EAEk3ZmhI(|&V?}hlLe9Q2?5uZu;-G*-z6DfROkI!WMe!@*V zf$y*5GX-f9ok#h`;(H!GQ}KH>zKPy;e8=#ahTli=P3^lL-*@6O9lu|8)4qxCH}O$O zqmK9R%foM*(wyUCBE=oC-Ftc$_4O}G4wCeq7~{G2Ul>D9BeW>oC%i3~gt)4_16lrU zOk{Mbzh8C5_Crzc9-^05(|CF(UG&#uB6df6-<%W*!q0~HoYv@b$_M8xQssjXCg-}c z$PAs0UvqoXd{32mZ8}jFSw=1YzxwAK9UCE;8vf6@c5I~5Z4JLknC-28!LXhh==ZgI zjemA*WTMWVcJ=+dy*@V5z;A)?YwuOMr0VV7+l^(USbN8wSm%8B0v-5081rrqb{~on zEZ2^UTzr%UrTJ$NFbEg~3<3rLgMdN6AYc$M2p9wm0tNwtfI+|@U=T0}7z7Lg1_6VB zLBJqj5HJWB1PlTO0fT@+z#w1{FbEg~3<3rLgMdN6AYc$M2p9wm0tNwtfI+|@U=T0} z7z7Lg1_6VBLBJqj5HJWB1PlTO0fT@+z#w1{FbEg~3<3rLgMdN6AYc$M2p9wm0tNwt zfI+|@U=T0}7z7Lg1_6VBLBJqj5HJWB1PlTO0fT@+z#w1{FbEg~3<3rLgMdN6AYc$M z2p9wm0tNwtfI+|@U=T0}7z7Lg1_6VBLBJqj5HJWB1PlTO0fT@+z#w1{FbEg~3<3rL zgMdN6AYc$M2p9wm0tNwtfI+|@U=T0}7z7Lg1_6VBLBJqj5HJWB1PlTO0fT@+z#w1{ zFbEg~3<3rLgMdN6AYc$M2p9wm0tNwtfI+|@U=T0}7z7Lg1_6VBLBJqj5HJWB1PlTO z0fT@+z#w1{FbEg~3<3rLgMdN6AYc$M2p9wm0tNwtfI+|@U=T0}7z7Lg1_6VBLBJqj z5HJWB1PlTO0fT@+z#w1{FbEg~3<3rLgMdN6AYc$M2p9wm0tNwtfI+|@U=T0}7z7Lg z1_6VBLBJqj5HJWB1PlTO0fT@+z#w1{FbEg~3<3rLgMdN6AYc$M2p9wm0tNwtfI+|@ zU=T0}7z7Lg1_6VBLBJqj5HJWB1PlTO0fT@+z#w1{FbEg~3<3rLgMdN6AYc$M2p9wm z0tNwtfI+|@U=T0}7z7Lg1_6VBLBJqj5HJWB1PlTO0fT@+z#w1{FbEg~3<3rLgMdN6 zAYc$M2p9wm0tNwtfI+|@U=T0}7z7Lg1_6VBLBJqj5HJWB1PlTO0fT@+z#w1{FbEg~ z3<3rLgMdN6AYc$M2p9wm0tNwtfI+|@U=T0}7z7Lg1_6VBLBJqj5HJWB1PlTO0fT@+ zz#w1{FbEg~3<3rLgMdN6AYc$M2p9wm0tNwtfI+|@U=T0}7z7Lg1_6VBLBJqj5HJWB z1PlTO0fT@+z#w1{FbEg~3<3rLgMdN6AYc$M2p9wm0tNwtfI+|@U=T0}7z7Lg1_6VB zLBJqj5HJWB1PlTO0fT@+z#w1{FbEg~3<3rLgMdN6AYc$M2p9wm0tNwtfI+|@U=T0} z7z7Lg1_6VBLBJqj5HJWB1PlTO0fT@+z#w1{FbEg~3<3rLgMdN6AYc$M2p9wm0tNwt zfI+|@U=T0}7z7Lg1_6VBLBJqj5HJWB1Y881>uw51rggOU%}J^D&Q8_Yos4y)`jZFM zobtgri&Xhwp%Bg!$P`)F8QZsTFxA=Jhm_}#QlX1=BxCKVm^#!w&^FjVl`y8t-rcub(S7BoPwi9PeVwrbXlifoP`a@v zPc1@QM^<2_qlnMPVg#x2SsY#=C!AEUHJA>SNpqDd(=>0PhbE3J~h~V zC`Q2CbxSx>t_$`L#QJiU^eXv0@=n)z_b0o77_-#T-|LdaSoob@UJQfos6cO*#pIpMb#lRU?am zd?z9CSKM9qzag*M`@kjY?(RhAbf&xU%eSRPrZd(X^YA)J<9>zQTXgkqZa;&a?J4kj z68`27!(v1$PTU@j?EWXx9a$L(Z-(cG?g&T9HukIbWXGQFeKB;*-n|eG!uNUH8t)8G z2lfl*@&J7ucPDrE?Q8Ev`@Pa#z3sa}esB(z{{?acbyvNMpP^)De_!uG-1q~oMs*KX zVbCX07X}UzFTXP!iSBRjOASxH3CXkdc(3YDR`tYU163q4Rlv3?ws#GyN^-JV-=-*-EKIyE)c6V z(ywcuN4Bw$fsyx#fv@A<)YYU3N8Zhd!Y`0#0+8%f=*?vLAX?-}1d+Jx9)Lmpeg%F6 zyJLg+`62vt)n6BM9v3{Q6<%Na-Wbb}8X9CZ%$?y0)r%-teex{eZ3yJjLzY^_vWQ~E zgU#Yvhc{g(5c!|Bx3`;?Hy@TL0#wN`Z994 z)@Kl^&l?{eh9hYH3b_L{faP8M$V(-MV)*@g{0<&uwEmQvT6(lm8_PSry6?R&9ND4y zqPqX@w9@>vNy_MqKcj;BOa+XZ$5|SAZ6QaZ_r(3-$olM}1IgInU^i^#-dJi+zpwv> zQ}IUTobrtA{SzpLJ7Zn#L%k`WcF6yQP=4u%^0B^-Cb2M1yX?@6hJ;XF6L~ z;p%o=g`HK~s%mPRae06GvZWT6k9wE24UM?`BrZpG$=;K5f>DvSdOtx?TeCq*vu|kc zu2@p_ck!6SX!Tlp<%8kKtPHy@E{q3N zezq!aT~vPBqVjFHcQfu4yTv?h@&M9`I+7h!ef0ru(s3kB@@miYBjxDi46h)=#H@bK z+YVoE?m^_CafXCiFJZxg1?LgxUwxR2EnDV)!Oxei!fitX1O3Sq`JgP2gCH7PR9H~e zQBcsaC)UvejovrdJqTa0;~0lv96(Bt*op1 zDp7QILBZ}Jj9{%mS(SolKm7LHs)C%LLHNa#aZf=(XZIkq=0TO((>(}MKm_TGKtX{= zp6%+cgQ?gc$sy?%-Bn!is87wI1>hJCC_m>8w`(Okq?_es~-H`%b z!wRJsfn;oVJBCch5IaC=xINDtN*8_5caS>v#>X)2@pYyv0O(D!bIIL9Vk^Ce(m+3m+A|4tliwUdPCc)jVsz#Y_6|s zDlBOBr)@udbz5^`!3r;JTD=1==4%HZd$o^YhgjJcfA2c za6jo?Q&n4?GYbm_{VCf{-@10i>4gPDUgGwRD_Wh6YgVl!mTvucIMV0i$P)`cXCpjE z?J$x+vH$3nC@dJ}jG|fWsTLNDa7U@qE1n2P7WgX7))d}2a}^{NdK!ho1-szr*3#vR zxGXJj?GjifYeng=Aw93)z#;nmP5cfO9Kw{AuD*k-xxQMn)Q?vwSrRI6>G5!+u)wt* zlyFTZp@kc9OF97-gmT=6gn|NXe(3s9Tu&}MeNW8w05Dt+#ghG1yV?h1oeL<(%gC{e z6mYDse`xm}pES~#cLkL#0Bi_^bswh0?Ynwo^XaND7VC^LbC-W292w_LbN!`I$1gv7 z^r#5+cK7vQ3)M4aq9r04_0z5G6HOvoDgv!mM|(;H z)`s!b*1dP2R|M8Y==T70V|P0)*GIUPHg*$5U_$|%fHodNB0Abnvt>vu@?F=uD7V~7WLa05i1(TeBl#tXqCakoqa?B38TDr!At&{n{r({ud!nr@e(UIaSIh>(}hn~jM;=Qt85aOfqq=?R*MR`{tj z-yy|%5r}1KbLUYaTItKzPd$FlUMXHe<7=K5*W-zUXV5!f>- z-D39XMRcAoS7Y_V%vbm5;knu%68>y8k4UJ`K)i^uc{3Rio$t?6`!OkIi9k;tjB$Gk zs+qpDhCGitrplMOx~^XgD_r-e6h*!ajrEU7QQ}W%cw7o7^mKnWHhx^f21OV6)0&=; z!mm*qn~!5Ois(Xrrj}1gQS3`-s(x~KVMv9j$e@fG{QdG#`D6guv6uB(th@<{N+0^`;6s7)REze8wRq0D< zu6{v^K7T^Zi&88Q(RzPc?Ps9W{Rwq14JX`Oe`2^kXm0qd6d`|+#?MJHS4129X-%J( z!tZ=EH-BM7LdzG2C$v<*EJcBjMoZ0?V1Y!mQAFWOG>d49i25CXmf9~%u`CaQ=r2_F z6)DEa;8++b7zA>*w68?E9f3b6{WU@1#l=Tq<`PlQV`(ED z9wQk^kCE#70Z}WWi~UIr2~jShOGNY(5nU>xr;6w@|Lw-4@LQDXra{W?__H*p#B32= z?n|m^IWi3D+Uldj2WxH3#S(sJre(FYmq_8)#I;RVNZ}W-+U6^VcW7PnM`+vzGlmNj z>?8#fVFi7p>s#&|E-MYycS!;NG!08b&D|q%)ZQ~9q2d1Fl{Yj#FkG4%nm#(BNb`du z5?UVOgnaGTvM~>PPHuoSkatyU3D`vMsxC;9?p@XAk(KkV8uCd8dRL7h5=8H+DJ-UB zu9^!329S5JrI70LB&w!50$q@~tSJ&peV4Vxe(|fR8%5xy%hs2WfTS-QqNKOemyM-j zjPJ5(w162+-)$ZTgzaD+U{bu~)B4M|_t+GKCimvu7)bX)qe zex|?8bq%vf7pCtvmQ&ZJFPmoj`K@c7Ly9SVx1~bBFZV9%t1JDa>T96ae0OW-`TMuN zZvL>$^;N?z8=z}_Wg8dzySu)r+RuJ{bB({t>JehaJk4uWLv@`W*oK;VGU4gFwGIAO zHPkiwyR4zUX&9-7W`CD8G`0+*+_Y#|=H|tIa2i^c_&cSs`V<;aUNahNmJYjHd#WFe z#=2$0F6$kCFElnR_ser*;|f1?jZG_um2F-{gEd`m%WD7Krs_3**=VY1^$)A2+O;&8 zy|PVp>xPxBU+=HCsbPbt@nvp2&Cg&{(?&mZP0gEVx|F8evf1B9&DC4{l$&d|`ZG7z zZu1X~=DO4U;56577w}>|%FPXD_AOv5`NvUn^V$Bf(A=^^Ov}6N9t1I7 zk&_ne8XR1Z(@qA&s0GP>G64&;VihtvJYhjic2aG2QeAdZeRfhqc2Z+@Qd4$Pb9PdT zkfkG=TAd>e?a#^w2C~w?K~@@A$VvkbS!rM*D-B#^rGbsCv>bfY=HR0?2OqUL_^8dn zM{N#1pi8paQk#R1+8lgfnJBw#4nFE~@KKk8kGdRu)aBr#E(afVIrxBL%xYg<4nFE~ z@KKk8kNO;Z)aT%%J_jH5Irym0!AE@#KI(Ju0WF`!TYU~b>T~eXkb{qg9DFq7;G-c2 z9}PM9Xvo0_77nx8+>nD0n5^u4IrwPI!AD~bJ{oiI(U^me#vFV!=HR0-2Oo_&_-M?* z2kdVaZ*UE=({k|9l!K3^9DFq8;G-!AA5A&fX3Enu&NZD=MS6Ufe$gJF1gGQ=eh zwdW|2gY_1$uItLgy%>&Y6oNayGJa z=HjR}7f0l8WECfeBReq{N91y3=gh?sIUU(Kb8$p&M|RF!9FgOZm6JS=?8ICgk?)b6 zGZ#nXePrj%#S!@***SA@L>@?X&RiUk50aIWoRI9qTpW=blASXbN92fP=gh?sxgyy) zb8*y=izD(zvWk;ClAV}~BXUTxbLQfRT$1dZxi})HBs*s=j>s*^%1M4nc497$$TP{# znTsRxO|o<5;)uMH?3}qcBL5^iXD*J&L&?fXE=qP{E{@1a$x zxi}(MB`YU6CE1C&I3gz`J1002-@6m>fx=`AE1?TkY+AW0?|586V^)-*I$wO!Eeiu5I>e->yiLcZVMEMr?LC^?Lfr(bpZLUwvc+Wl^=ZEDiT=k z2#5Y`$wYP<}+gwGq}rTD;vQt=c%-=8pA+%$2r_0fq_MDX#6Q_-wR)2tgN zZD^q4z|1$+O-8&UEJvuc%_|2&^ zg?MLb*!t5{WV&P;GJSN~EbFt=aR1+@6^P$XE41#JjuJ0UN6MF`=Lf$x9c}yl^su;G zMXVbYO5LSU>Qyz%dIwk5we}Pd`iw0@ujBI*TZ(IEl#1gsW{18wLx#SM&o5?3>w%eA zz!Xo-{HhFnWu^@M5T8HJl;XZwrQ&P&`~jc)%4df@T@Et%{G?op+h>=G=Vn)0U!RSJ zyfb^Q^~pJC)>r1>>YH=&ga2pFJR$yjPB{2j#e5+?Ur`nMSp|sVb4{fbpQ`+}6qn7# zpEu~w1M~3bxAf<8^YQ1pD*X9R`tyke5Xs9H%FqM&JiAbeUo0#Yw^Wyk7pg0**Q-(2 zr8Nt!uhyXE-__viZ#DVBJK*_*f@zpt$d-B~9?&*1a5Iw^i%S882VkF0ms z*IHl0>Vfq(UHzgyKX?q*M_kts4!zs}*~I5h4N}~Xi2ZB${HC$ey0Qs5pKEHce%gd` zAE8lnM{|DgSxi*Kmzu+&zckCx-7PZoR0{@QOR2bWQK@(apEnm(TEAIDWfwPFKV6Kn z4=%yg@g@1e?=NXV>%6&R8qXr;k;f2$0A5}z-(O7WxCW!AlGk@GWa9f;7{u=UfmXv)Rw zmItq0w*q5fT~+9{bu#ole15Y|1}|U#?;!Y*^*zB)um28yeICDly#BlR^&9-Ual@PV zb?=6r(DydT&|mQR$Z1kMe_E;dF+LyMSZUp}5!8RTah3J4O#tP)n{f4`P5HqaHm?@q zzRls_FE+114{xaozObbg?b%W#ezRq5@Q+*83GsogRiRI81qk@Ou~i1|-u69I_QbZT z;Ac+%5Bz%N^s3OGPnV%Pw#(3y+okyK_EK^A8KvS=_~QcWXQS%Bo?R9E)DBer@{TI;&W^Rg|Js47kDXH$dh{F_dJUf+ zo+HK8=ayRcp9=!7ox908b{>hwdANG?yv^2g^y3TXvt5RMhR@&HrMP2PrS;@4C1pe0NWN@DF=-32}LMIP`qC z41EiqpLa`fL%h^_DUKZf7PrK2<3a0VJ-B$ar&Ii~Ct_XR3j#OxBIWMh{NTs2Cr-T3 z8xFnOD?>;3%FvB_rS-^O-2IommiXD;-PSFA$p3U7QeNuI55Cd2M~Juk!l7IGW#}P% zUg($N-}{$YHx2-RCkGrMP7H*DZx6(U_|-s9@PnG*L3x#WPb4G!G4U>!EoqDgEDkwN`~%AN%5r=)B!&C4V8+QhbpaihmiZOeU|va zzJzt{ew2T0KT^KEKR&s*MH;JZAazX`1#;b z*%SQAQTapsegnTlAGuh{(9`ti75owZb+IfJcU^)%ui=mNe=Z>};p4~T1=gF#$ZNRm z|7qfCW7@jT@OgKA3tBd1^8K*1{n#dTS|{X`G+&}pRaNT0N&D4F+mA_0z@h0#fM2ex44 z$~RU%uu?jYYK~Gquu?Q$<4{;=Ct=ps1O*jFxaUmd}j#%AllgO{lq{MKdgwt9jYjZM~r&({+^ zXCHtjR5xH|ZVq=jJOk)ft`Ll3Z2bzkNbommvz%_EIuhz60%n?aSN*V}oweO|Ubt+itF{Xd1hJm70h(d#IU& zfQPT|h=xx+SXgFnpBT$YXrrs>&EJN0i)~axLhp6LbKIlrga^5r8}w#EYdhxN%OM63Dmuu6>9lt6%`n?R zEodI^phTU=M=*-9fDffce1tFgc^|;KTU+5yZzt{tCw$(+Qq$>{)++OTT09V@s1iKU)24}Ye z{OW3e;Fn^rxMJ_-N=r9&L+R^A{$w}7C&iY)*={%Wkj@??SfE&Q5XyLvD|dqg3lw|8 zm5Ls&TpWyDrn)Ly6U44XK3`2b+vzFHXc&BeV05Y+q&*4KgDA1Y;VD2j7~)IC)#IMesorkMOcN6Euag zH4{+ACwOAXBt=OWn8a0fZxS2!#UxE5#WscYYMsJno#*h~6wTmPi1IW~lxFdxD~jYu zR7<`WMe=%-_OKh%6eD(FhUW00Im5FDXZUKyW@sMw{|tSJ+S@ZoFP)`5!tyLnc{R%m zmc&r7F-8l>2*;4|RSX5UV|0rI-yF}2&GEdYIpjT`qua=xFh95 zHOpq8MJ|A9l@E$Gxe&2aE&{q_3)BYrh}a|-BlgNAz;^ipRKNVL7?iDuLvkrFESEuz z$nT3$xg7C=Yy&RJ6;PMt55;BqBI3AKcU87SU6cPPZpaR(J2Ibfu2Korto%u|C{<8x zN;S}-IH5X~k3^SJgSbh#1oSAiP`%1u#dgJoIH>TE^(%EyL(1R8uyPr3RH+BXlm@5^ z%HPFB8Ib6XFe}8Mvvqq3$Th#a#6&VvEY>W>q~1Hd)48|sGoZ*fx%BF;7R0L_M8s1`#miB>}&1c#v?=rr7f>@wt&*kBld z;4usWy@n9vc0&P)e!~!iegj|PkYN~d*kB>{A_w~#$I4EpWv80XWYNz+Q{hWDr5TTX zN@8lp(NpPvd1wE=YWzd3m1 z$RX3=w3OtOl!J$lq#aK=aQJ{}|Iq`fX@^n{C8wqyNPFjanko6vADBHCz3=6oTW;pY zUu0y%6Q7v0=U8^eKa3|$C-EN}Nqhe Promise -// 3. pre-run appended it, var Module = {}; ..generated code.. -// 4. External script tag defines var Module. -// We need to check if Module already exists (e.g. case 3 above). -// Substitution will be replaced with actual code on later stage of the build, -// this way Closure Compiler will not mangle it (e.g. case 4. above). -// Note that if you want to run closure, and also to use Module -// after the generated code, you will need to define var Module = {}; -// before the code. Then that object will be used in the code, and you -// can continue to use Module afterwards as well. -var Module = typeof Module != 'undefined' ? Module : {}; - -// Determine the runtime environment we are in. You can customize this by -// setting the ENVIRONMENT setting at compile time (see settings.js). - -// Attempt to auto-detect the environment -var ENVIRONMENT_IS_WEB = typeof window == 'object'; -var ENVIRONMENT_IS_WORKER = typeof WorkerGlobalScope != 'undefined'; -// N.b. Electron.js environment is simultaneously a NODE-environment, but -// also a web environment. -var ENVIRONMENT_IS_NODE = typeof process == 'object' && typeof process.versions == 'object' && typeof process.versions.node == 'string' && process.type != 'renderer'; -var ENVIRONMENT_IS_SHELL = !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_NODE && !ENVIRONMENT_IS_WORKER; - -if (ENVIRONMENT_IS_NODE) { - -} - -// --pre-jses are emitted after the Module integration code, so that they can -// refer to Module (if they choose; they can also define Module) - - -// Sometimes an existing Module object exists with properties -// meant to overwrite the default module functionality. Here -// we collect those properties and reapply _after_ we configure -// the current environment's defaults to avoid having to be so -// defensive during initialization. -var moduleOverrides = {...Module}; - -var arguments_ = []; -var thisProgram = './this.program'; -var quit_ = (status, toThrow) => { - throw toThrow; -}; - -// `/` should be present at the end if `scriptDirectory` is not empty -var scriptDirectory = ''; -function locateFile(path) { - if (Module['locateFile']) { - return Module['locateFile'](path, scriptDirectory); - } - return scriptDirectory + path; -} - -// Hooks that are implemented differently in different runtime environments. -var readAsync, readBinary; - -if (ENVIRONMENT_IS_NODE) { - if (typeof process == 'undefined' || !process.release || process.release.name !== 'node') throw new Error('not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)'); - - var nodeVersion = process.versions.node; - var numericVersion = nodeVersion.split('.').slice(0, 3); - numericVersion = (numericVersion[0] * 10000) + (numericVersion[1] * 100) + (numericVersion[2].split('-')[0] * 1); - var minVersion = 160000; - if (numericVersion < 160000) { - throw new Error('This emscripten-generated code requires node v16.0.0 (detected v' + nodeVersion + ')'); - } - - // These modules will usually be used on Node.js. Load them eagerly to avoid - // the complexity of lazy-loading. - var fs = require('fs'); - var nodePath = require('path'); - - scriptDirectory = __dirname + '/'; - -// include: node_shell_read.js -readBinary = (filename) => { - // We need to re-wrap `file://` strings to URLs. - filename = isFileURI(filename) ? new URL(filename) : filename; - var ret = fs.readFileSync(filename); - assert(Buffer.isBuffer(ret)); - return ret; -}; - -readAsync = async (filename, binary = true) => { - // See the comment in the `readBinary` function. - filename = isFileURI(filename) ? new URL(filename) : filename; - var ret = fs.readFileSync(filename, binary ? undefined : 'utf8'); - assert(binary ? Buffer.isBuffer(ret) : typeof ret == 'string'); - return ret; -}; -// end include: node_shell_read.js - if (!Module['thisProgram'] && process.argv.length > 1) { - thisProgram = process.argv[1].replace(/\\/g, '/'); - } - - arguments_ = process.argv.slice(2); - - if (typeof module != 'undefined') { - module['exports'] = Module; - } - - quit_ = (status, toThrow) => { - process.exitCode = status; - throw toThrow; - }; - -} else -if (ENVIRONMENT_IS_SHELL) { - - if ((typeof process == 'object' && typeof require === 'function') || typeof window == 'object' || typeof WorkerGlobalScope != 'undefined') throw new Error('not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)'); - -} else - -// Note that this includes Node.js workers when relevant (pthreads is enabled). -// Node.js workers are detected as a combination of ENVIRONMENT_IS_WORKER and -// ENVIRONMENT_IS_NODE. -if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) { - if (ENVIRONMENT_IS_WORKER) { // Check worker, not web, since window could be polyfilled - scriptDirectory = self.location.href; - } else if (typeof document != 'undefined' && document.currentScript) { // web - scriptDirectory = document.currentScript.src; - } - // blob urls look like blob:http://site.com/etc/etc and we cannot infer anything from them. - // otherwise, slice off the final part of the url to find the script directory. - // if scriptDirectory does not contain a slash, lastIndexOf will return -1, - // and scriptDirectory will correctly be replaced with an empty string. - // If scriptDirectory contains a query (starting with ?) or a fragment (starting with #), - // they are removed because they could contain a slash. - if (scriptDirectory.startsWith('blob:')) { - scriptDirectory = ''; - } else { - scriptDirectory = scriptDirectory.slice(0, scriptDirectory.replace(/[?#].*/, '').lastIndexOf('/')+1); - } - - if (!(typeof window == 'object' || typeof WorkerGlobalScope != 'undefined')) throw new Error('not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)'); - - { -// include: web_or_worker_shell_read.js -if (ENVIRONMENT_IS_WORKER) { - readBinary = (url) => { - var xhr = new XMLHttpRequest(); - xhr.open('GET', url, false); - xhr.responseType = 'arraybuffer'; - xhr.send(null); - return new Uint8Array(/** @type{!ArrayBuffer} */(xhr.response)); - }; - } - - readAsync = async (url) => { - // Fetch has some additional restrictions over XHR, like it can't be used on a file:// url. - // See https://github.com/github/fetch/pull/92#issuecomment-140665932 - // Cordova or Electron apps are typically loaded from a file:// url. - // So use XHR on webview if URL is a file URL. - if (isFileURI(url)) { - return new Promise((resolve, reject) => { - var xhr = new XMLHttpRequest(); - xhr.open('GET', url, true); - xhr.responseType = 'arraybuffer'; - xhr.onload = () => { - if (xhr.status == 200 || (xhr.status == 0 && xhr.response)) { // file URLs can return 0 - resolve(xhr.response); - return; - } - reject(xhr.status); - }; - xhr.onerror = reject; - xhr.send(null); - }); - } - var response = await fetch(url, { credentials: 'same-origin' }); - if (response.ok) { - return response.arrayBuffer(); - } - throw new Error(response.status + ' : ' + response.url); - }; -// end include: web_or_worker_shell_read.js - } -} else -{ - throw new Error('environment detection error'); -} - -var out = Module['print'] || console.log.bind(console); -var err = Module['printErr'] || console.error.bind(console); - -// Merge back in the overrides -Object.assign(Module, moduleOverrides); -// Free the object hierarchy contained in the overrides, this lets the GC -// reclaim data used. -moduleOverrides = null; -checkIncomingModuleAPI(); - -// Emit code to handle expected values on the Module object. This applies Module.x -// to the proper local x. This has two benefits: first, we only emit it if it is -// expected to arrive, and second, by using a local everywhere else that can be -// minified. - -if (Module['arguments']) arguments_ = Module['arguments'];legacyModuleProp('arguments', 'arguments_'); - -if (Module['thisProgram']) thisProgram = Module['thisProgram'];legacyModuleProp('thisProgram', 'thisProgram'); - -// perform assertions in shell.js after we set up out() and err(), as otherwise if an assertion fails it cannot print the message -// Assertions on removed incoming Module JS APIs. -assert(typeof Module['memoryInitializerPrefixURL'] == 'undefined', 'Module.memoryInitializerPrefixURL option was removed, use Module.locateFile instead'); -assert(typeof Module['pthreadMainPrefixURL'] == 'undefined', 'Module.pthreadMainPrefixURL option was removed, use Module.locateFile instead'); -assert(typeof Module['cdInitializerPrefixURL'] == 'undefined', 'Module.cdInitializerPrefixURL option was removed, use Module.locateFile instead'); -assert(typeof Module['filePackagePrefixURL'] == 'undefined', 'Module.filePackagePrefixURL option was removed, use Module.locateFile instead'); -assert(typeof Module['read'] == 'undefined', 'Module.read option was removed'); -assert(typeof Module['readAsync'] == 'undefined', 'Module.readAsync option was removed (modify readAsync in JS)'); -assert(typeof Module['readBinary'] == 'undefined', 'Module.readBinary option was removed (modify readBinary in JS)'); -assert(typeof Module['setWindowTitle'] == 'undefined', 'Module.setWindowTitle option was removed (modify emscripten_set_window_title in JS)'); -assert(typeof Module['TOTAL_MEMORY'] == 'undefined', 'Module.TOTAL_MEMORY has been renamed Module.INITIAL_MEMORY'); -legacyModuleProp('asm', 'wasmExports'); -legacyModuleProp('readAsync', 'readAsync'); -legacyModuleProp('readBinary', 'readBinary'); -legacyModuleProp('setWindowTitle', 'setWindowTitle'); -var IDBFS = 'IDBFS is no longer included by default; build with -lidbfs.js'; -var PROXYFS = 'PROXYFS is no longer included by default; build with -lproxyfs.js'; -var WORKERFS = 'WORKERFS is no longer included by default; build with -lworkerfs.js'; -var FETCHFS = 'FETCHFS is no longer included by default; build with -lfetchfs.js'; -var ICASEFS = 'ICASEFS is no longer included by default; build with -licasefs.js'; -var JSFILEFS = 'JSFILEFS is no longer included by default; build with -ljsfilefs.js'; -var OPFS = 'OPFS is no longer included by default; build with -lopfs.js'; - -var NODEFS = 'NODEFS is no longer included by default; build with -lnodefs.js'; - -assert(!ENVIRONMENT_IS_SHELL, 'shell environment detected but not enabled at build time. Add `shell` to `-sENVIRONMENT` to enable.'); - -// end include: shell.js - -// include: preamble.js -// === Preamble library stuff === - -// Documentation for the public APIs defined in this file must be updated in: -// site/source/docs/api_reference/preamble.js.rst -// A prebuilt local version of the documentation is available at: -// site/build/text/docs/api_reference/preamble.js.txt -// You can also build docs locally as HTML or other formats in site/ -// An online HTML version (which may be of a different version of Emscripten) -// is up at http://kripken.github.io/emscripten-site/docs/api_reference/preamble.js.html - -var wasmBinary = Module['wasmBinary'];legacyModuleProp('wasmBinary', 'wasmBinary'); - -if (typeof WebAssembly != 'object') { - err('no native wasm support detected'); -} - -// Wasm globals - -var wasmMemory; - -//======================================== -// Runtime essentials -//======================================== - -// whether we are quitting the application. no code should run after this. -// set in exit() and abort() -var ABORT = false; - -// set by exit() and abort(). Passed to 'onExit' handler. -// NOTE: This is also used as the process return code code in shell environments -// but only when noExitRuntime is false. -var EXITSTATUS; - -// In STRICT mode, we only define assert() when ASSERTIONS is set. i.e. we -// don't define it at all in release modes. This matches the behaviour of -// MINIMAL_RUNTIME. -// TODO(sbc): Make this the default even without STRICT enabled. -/** @type {function(*, string=)} */ -function assert(condition, text) { - if (!condition) { - abort('Assertion failed' + (text ? ': ' + text : '')); - } -} - -// We used to include malloc/free by default in the past. Show a helpful error in -// builds with assertions. -function _malloc() { - abort('malloc() called but not included in the build - add `_malloc` to EXPORTED_FUNCTIONS'); -} -function _free() { - // Show a helpful error since we used to include free by default in the past. - abort('free() called but not included in the build - add `_free` to EXPORTED_FUNCTIONS'); -} - -// Memory management - -var HEAP, -/** @type {!Int8Array} */ - HEAP8, -/** @type {!Uint8Array} */ - HEAPU8, -/** @type {!Int16Array} */ - HEAP16, -/** @type {!Uint16Array} */ - HEAPU16, -/** @type {!Int32Array} */ - HEAP32, -/** @type {!Uint32Array} */ - HEAPU32, -/** @type {!Float32Array} */ - HEAPF32, -/* BigInt64Array type is not correctly defined in closure -/** not-@type {!BigInt64Array} */ - HEAP64, -/* BigUint64Array type is not correctly defined in closure -/** not-t@type {!BigUint64Array} */ - HEAPU64, -/** @type {!Float64Array} */ - HEAPF64; - -var runtimeInitialized = false; - -/** - * Indicates whether filename is delivered via file protocol (as opposed to http/https) - * @noinline - */ -var isFileURI = (filename) => filename.startsWith('file://'); - -// include: runtime_shared.js -// include: runtime_stack_check.js -// Initializes the stack cookie. Called at the startup of main and at the startup of each thread in pthreads mode. -function writeStackCookie() { - var max = _emscripten_stack_get_end(); - assert((max & 3) == 0); - // If the stack ends at address zero we write our cookies 4 bytes into the - // stack. This prevents interference with SAFE_HEAP and ASAN which also - // monitor writes to address zero. - if (max == 0) { - max += 4; - } - // The stack grow downwards towards _emscripten_stack_get_end. - // We write cookies to the final two words in the stack and detect if they are - // ever overwritten. - HEAPU32[((max)>>2)] = 0x02135467; - HEAPU32[(((max)+(4))>>2)] = 0x89BACDFE; - // Also test the global address 0 for integrity. - HEAPU32[((0)>>2)] = 1668509029; -} - -function checkStackCookie() { - if (ABORT) return; - var max = _emscripten_stack_get_end(); - // See writeStackCookie(). - if (max == 0) { - max += 4; - } - var cookie1 = HEAPU32[((max)>>2)]; - var cookie2 = HEAPU32[(((max)+(4))>>2)]; - if (cookie1 != 0x02135467 || cookie2 != 0x89BACDFE) { - abort(`Stack overflow! Stack cookie has been overwritten at ${ptrToString(max)}, expected hex dwords 0x89BACDFE and 0x2135467, but received ${ptrToString(cookie2)} ${ptrToString(cookie1)}`); - } - // Also test the global address 0 for integrity. - if (HEAPU32[((0)>>2)] != 0x63736d65 /* 'emsc' */) { - abort('Runtime error: The application has corrupted its heap memory area (address zero)!'); - } -} -// end include: runtime_stack_check.js -// include: runtime_exceptions.js -// end include: runtime_exceptions.js -// include: runtime_debug.js -// Endianness check -(() => { - var h16 = new Int16Array(1); - var h8 = new Int8Array(h16.buffer); - h16[0] = 0x6373; - if (h8[0] !== 0x73 || h8[1] !== 0x63) throw 'Runtime error: expected the system to be little-endian! (Run with -sSUPPORT_BIG_ENDIAN to bypass)'; -})(); - -if (Module['ENVIRONMENT']) { - throw new Error('Module.ENVIRONMENT has been deprecated. To force the environment, use the ENVIRONMENT compile-time option (for example, -sENVIRONMENT=web or -sENVIRONMENT=node)'); -} - -function legacyModuleProp(prop, newName, incoming=true) { - if (!Object.getOwnPropertyDescriptor(Module, prop)) { - Object.defineProperty(Module, prop, { - configurable: true, - get() { - let extra = incoming ? ' (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)' : ''; - abort(`\`Module.${prop}\` has been replaced by \`${newName}\`` + extra); - - } - }); - } -} - -function consumedModuleProp(prop) { - if (!Object.getOwnPropertyDescriptor(Module, prop)) { - Object.defineProperty(Module, prop, { - configurable: true, - set() { - abort(`Attempt to set \`Module.${prop}\` after it has already been processed. This can happen, for example, when code is injected via '--post-js' rather than '--pre-js'`); - - } - }); - } -} - -function ignoredModuleProp(prop) { - if (Object.getOwnPropertyDescriptor(Module, prop)) { - abort(`\`Module.${prop}\` was supplied but \`${prop}\` not included in INCOMING_MODULE_JS_API`); - } -} - -// forcing the filesystem exports a few things by default -function isExportedByForceFilesystem(name) { - return name === 'FS_createPath' || - name === 'FS_createDataFile' || - name === 'FS_createPreloadedFile' || - name === 'FS_unlink' || - name === 'addRunDependency' || - // The old FS has some functionality that WasmFS lacks. - name === 'FS_createLazyFile' || - name === 'FS_createDevice' || - name === 'removeRunDependency'; -} - -/** - * Intercept access to a global symbol. This enables us to give informative - * warnings/errors when folks attempt to use symbols they did not include in - * their build, or no symbols that no longer exist. - */ -function hookGlobalSymbolAccess(sym, func) { - if (typeof globalThis != 'undefined' && !Object.getOwnPropertyDescriptor(globalThis, sym)) { - Object.defineProperty(globalThis, sym, { - configurable: true, - get() { - func(); - return undefined; - } - }); - } -} - -function missingGlobal(sym, msg) { - hookGlobalSymbolAccess(sym, () => { - warnOnce(`\`${sym}\` is not longer defined by emscripten. ${msg}`); - }); -} - -missingGlobal('buffer', 'Please use HEAP8.buffer or wasmMemory.buffer'); -missingGlobal('asm', 'Please use wasmExports instead'); - -function missingLibrarySymbol(sym) { - hookGlobalSymbolAccess(sym, () => { - // Can't `abort()` here because it would break code that does runtime - // checks. e.g. `if (typeof SDL === 'undefined')`. - var msg = `\`${sym}\` is a library symbol and not included by default; add it to your library.js __deps or to DEFAULT_LIBRARY_FUNCS_TO_INCLUDE on the command line`; - // DEFAULT_LIBRARY_FUNCS_TO_INCLUDE requires the name as it appears in - // library.js, which means $name for a JS name with no prefix, or name - // for a JS name like _name. - var librarySymbol = sym; - if (!librarySymbol.startsWith('_')) { - librarySymbol = '$' + sym; - } - msg += ` (e.g. -sDEFAULT_LIBRARY_FUNCS_TO_INCLUDE='${librarySymbol}')`; - if (isExportedByForceFilesystem(sym)) { - msg += '. Alternatively, forcing filesystem support (-sFORCE_FILESYSTEM) can export this for you'; - } - warnOnce(msg); - }); - - // Any symbol that is not included from the JS library is also (by definition) - // not exported on the Module object. - unexportedRuntimeSymbol(sym); -} - -function unexportedRuntimeSymbol(sym) { - if (!Object.getOwnPropertyDescriptor(Module, sym)) { - Object.defineProperty(Module, sym, { - configurable: true, - get() { - var msg = `'${sym}' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the Emscripten FAQ)`; - if (isExportedByForceFilesystem(sym)) { - msg += '. Alternatively, forcing filesystem support (-sFORCE_FILESYSTEM) can export this for you'; - } - abort(msg); - } - }); - } -} - -var runtimeDebug = true; // Switch to false at runtime to disable logging at the right times - -// Used by XXXXX_DEBUG settings to output debug messages. -function dbg(...args) { - if (!runtimeDebug && typeof runtimeDebug != 'undefined') return; - // TODO(sbc): Make this configurable somehow. Its not always convenient for - // logging to show up as warnings. - console.warn(...args); -} -// end include: runtime_debug.js -// include: memoryprofiler.js -// end include: memoryprofiler.js - - -function updateMemoryViews() { - var b = wasmMemory.buffer; - Module['HEAP8'] = HEAP8 = new Int8Array(b); - Module['HEAP16'] = HEAP16 = new Int16Array(b); - Module['HEAPU8'] = HEAPU8 = new Uint8Array(b); - Module['HEAPU16'] = HEAPU16 = new Uint16Array(b); - Module['HEAP32'] = HEAP32 = new Int32Array(b); - Module['HEAPU32'] = HEAPU32 = new Uint32Array(b); - Module['HEAPF32'] = HEAPF32 = new Float32Array(b); - Module['HEAPF64'] = HEAPF64 = new Float64Array(b); - Module['HEAP64'] = HEAP64 = new BigInt64Array(b); - Module['HEAPU64'] = HEAPU64 = new BigUint64Array(b); -} - -// end include: runtime_shared.js -assert(!Module['STACK_SIZE'], 'STACK_SIZE can no longer be set at runtime. Use -sSTACK_SIZE at link time') - -assert(typeof Int32Array != 'undefined' && typeof Float64Array !== 'undefined' && Int32Array.prototype.subarray != undefined && Int32Array.prototype.set != undefined, - 'JS engine does not provide full typed array support'); - -// If memory is defined in wasm, the user can't provide it, or set INITIAL_MEMORY -assert(!Module['wasmMemory'], 'Use of `wasmMemory` detected. Use -sIMPORTED_MEMORY to define wasmMemory externally'); -assert(!Module['INITIAL_MEMORY'], 'Detected runtime INITIAL_MEMORY setting. Use -sIMPORTED_MEMORY to define wasmMemory dynamically'); - -function preRun() { - if (Module['preRun']) { - if (typeof Module['preRun'] == 'function') Module['preRun'] = [Module['preRun']]; - while (Module['preRun'].length) { - addOnPreRun(Module['preRun'].shift()); - } - } - consumedModuleProp('preRun'); - callRuntimeCallbacks(onPreRuns); -} - -function initRuntime() { - assert(!runtimeInitialized); - runtimeInitialized = true; - - checkStackCookie(); - - if (!Module['noFSInit'] && !FS.initialized) FS.init(); -TTY.init(); - - wasmExports['__wasm_call_ctors'](); - - FS.ignorePermissions = false; -} - -function preMain() { - checkStackCookie(); - -} - -function postRun() { - checkStackCookie(); - - if (Module['postRun']) { - if (typeof Module['postRun'] == 'function') Module['postRun'] = [Module['postRun']]; - while (Module['postRun'].length) { - addOnPostRun(Module['postRun'].shift()); - } - } - consumedModuleProp('postRun'); - - callRuntimeCallbacks(onPostRuns); -} - -// A counter of dependencies for calling run(). If we need to -// do asynchronous work before running, increment this and -// decrement it. Incrementing must happen in a place like -// Module.preRun (used by emcc to add file preloading). -// Note that you can add dependencies in preRun, even though -// it happens right before run - run will be postponed until -// the dependencies are met. -var runDependencies = 0; -var dependenciesFulfilled = null; // overridden to take different actions when all run dependencies are fulfilled -var runDependencyTracking = {}; -var runDependencyWatcher = null; - -function getUniqueRunDependency(id) { - var orig = id; - while (1) { - if (!runDependencyTracking[id]) return id; - id = orig + Math.random(); - } -} - -function addRunDependency(id) { - runDependencies++; - - Module['monitorRunDependencies']?.(runDependencies); - - if (id) { - assert(!runDependencyTracking[id]); - runDependencyTracking[id] = 1; - if (runDependencyWatcher === null && typeof setInterval != 'undefined') { - // Check for missing dependencies every few seconds - runDependencyWatcher = setInterval(() => { - if (ABORT) { - clearInterval(runDependencyWatcher); - runDependencyWatcher = null; - return; - } - var shown = false; - for (var dep in runDependencyTracking) { - if (!shown) { - shown = true; - err('still waiting on run dependencies:'); - } - err(`dependency: ${dep}`); - } - if (shown) { - err('(end of list)'); - } - }, 10000); - } - } else { - err('warning: run dependency added without ID'); - } -} - -function removeRunDependency(id) { - runDependencies--; - - Module['monitorRunDependencies']?.(runDependencies); - - if (id) { - assert(runDependencyTracking[id]); - delete runDependencyTracking[id]; - } else { - err('warning: run dependency removed without ID'); - } - if (runDependencies == 0) { - if (runDependencyWatcher !== null) { - clearInterval(runDependencyWatcher); - runDependencyWatcher = null; - } - if (dependenciesFulfilled) { - var callback = dependenciesFulfilled; - dependenciesFulfilled = null; - callback(); // can add another dependenciesFulfilled - } - } -} - -/** @param {string|number=} what */ -function abort(what) { - Module['onAbort']?.(what); - - what = 'Aborted(' + what + ')'; - // TODO(sbc): Should we remove printing and leave it up to whoever - // catches the exception? - err(what); - - ABORT = true; - - // Use a wasm runtime error, because a JS error might be seen as a foreign - // exception, which means we'd run destructors on it. We need the error to - // simply make the program stop. - // FIXME This approach does not work in Wasm EH because it currently does not assume - // all RuntimeErrors are from traps; it decides whether a RuntimeError is from - // a trap or not based on a hidden field within the object. So at the moment - // we don't have a way of throwing a wasm trap from JS. TODO Make a JS API that - // allows this in the wasm spec. - - // Suppress closure compiler warning here. Closure compiler's builtin extern - // definition for WebAssembly.RuntimeError claims it takes no arguments even - // though it can. - // TODO(https://github.com/google/closure-compiler/pull/3913): Remove if/when upstream closure gets fixed. - /** @suppress {checkTypes} */ - var e = new WebAssembly.RuntimeError(what); - - // Throw the error whether or not MODULARIZE is set because abort is used - // in code paths apart from instantiation where an exception is expected - // to be thrown when abort is called. - throw e; -} - -function createExportWrapper(name, nargs) { - return (...args) => { - assert(runtimeInitialized, `native function \`${name}\` called before runtime initialization`); - var f = wasmExports[name]; - assert(f, `exported native function \`${name}\` not found`); - // Only assert for too many arguments. Too few can be valid since the missing arguments will be zero filled. - assert(args.length <= nargs, `native function \`${name}\` called with ${args.length} args but expects ${nargs}`); - return f(...args); - }; -} - -var wasmBinaryFile; - -function findWasmBinary() { - return locateFile('zipcmp.wasm'); -} - -function getBinarySync(file) { - if (file == wasmBinaryFile && wasmBinary) { - return new Uint8Array(wasmBinary); - } - if (readBinary) { - return readBinary(file); - } - throw 'both async and sync fetching of the wasm failed'; -} - -async function getWasmBinary(binaryFile) { - // If we don't have the binary yet, load it asynchronously using readAsync. - if (!wasmBinary) { - // Fetch the binary using readAsync - try { - var response = await readAsync(binaryFile); - return new Uint8Array(response); - } catch { - // Fall back to getBinarySync below; - } - } - - // Otherwise, getBinarySync should be able to get it synchronously - return getBinarySync(binaryFile); -} - -async function instantiateArrayBuffer(binaryFile, imports) { - try { - var binary = await getWasmBinary(binaryFile); - var instance = await WebAssembly.instantiate(binary, imports); - return instance; - } catch (reason) { - err(`failed to asynchronously prepare wasm: ${reason}`); - - // Warn on some common problems. - if (isFileURI(wasmBinaryFile)) { - err(`warning: Loading from a file URI (${wasmBinaryFile}) is not supported in most browsers. See https://emscripten.org/docs/getting_started/FAQ.html#how-do-i-run-a-local-webserver-for-testing-why-does-my-program-stall-in-downloading-or-preparing`); - } - abort(reason); - } -} - -async function instantiateAsync(binary, binaryFile, imports) { - if (!binary && typeof WebAssembly.instantiateStreaming == 'function' - // Don't use streaming for file:// delivered objects in a webview, fetch them synchronously. - && !isFileURI(binaryFile) - // Avoid instantiateStreaming() on Node.js environment for now, as while - // Node.js v18.1.0 implements it, it does not have a full fetch() - // implementation yet. - // - // Reference: - // https://github.com/emscripten-core/emscripten/pull/16917 - && !ENVIRONMENT_IS_NODE - ) { - try { - var response = fetch(binaryFile, { credentials: 'same-origin' }); - var instantiationResult = await WebAssembly.instantiateStreaming(response, imports); - return instantiationResult; - } catch (reason) { - // We expect the most common failure cause to be a bad MIME type for the binary, - // in which case falling back to ArrayBuffer instantiation should work. - err(`wasm streaming compile failed: ${reason}`); - err('falling back to ArrayBuffer instantiation'); - // fall back of instantiateArrayBuffer below - }; - } - return instantiateArrayBuffer(binaryFile, imports); -} - -function getWasmImports() { - // prepare imports - return { - 'env': wasmImports, - 'wasi_snapshot_preview1': wasmImports, - } -} - -// Create the wasm instance. -// Receives the wasm imports, returns the exports. -async function createWasm() { - // Load the wasm module and create an instance of using native support in the JS engine. - // handle a generated wasm instance, receiving its exports and - // performing other necessary setup - /** @param {WebAssembly.Module=} module*/ - function receiveInstance(instance, module) { - wasmExports = instance.exports; - - - - wasmMemory = wasmExports['memory']; - - assert(wasmMemory, 'memory not found in wasm exports'); - updateMemoryViews(); - - removeRunDependency('wasm-instantiate'); - return wasmExports; - } - // wait for the pthread pool (if any) - addRunDependency('wasm-instantiate'); - - // Prefer streaming instantiation if available. - // Async compilation can be confusing when an error on the page overwrites Module - // (for example, if the order of elements is wrong, and the one defining Module is - // later), so we save Module and check it later. - var trueModule = Module; - function receiveInstantiationResult(result) { - // 'result' is a ResultObject object which has both the module and instance. - // receiveInstance() will swap in the exports (to Module.asm) so they can be called - assert(Module === trueModule, 'the Module object should not be replaced during async compilation - perhaps the order of HTML elements is wrong?'); - trueModule = null; - // TODO: Due to Closure regression https://github.com/google/closure-compiler/issues/3193, the above line no longer optimizes out down to the following line. - // When the regression is fixed, can restore the above PTHREADS-enabled path. - return receiveInstance(result['instance']); - } - - var info = getWasmImports(); - - // User shell pages can write their own Module.instantiateWasm = function(imports, successCallback) callback - // to manually instantiate the Wasm module themselves. This allows pages to - // run the instantiation parallel to any other async startup actions they are - // performing. - // Also pthreads and wasm workers initialize the wasm instance through this - // path. - if (Module['instantiateWasm']) { - return new Promise((resolve, reject) => { - try { - Module['instantiateWasm'](info, (mod, inst) => { - receiveInstance(mod, inst); - resolve(mod.exports); - }); - } catch(e) { - err(`Module.instantiateWasm callback failed with error: ${e}`); - reject(e); - } - }); - } - - wasmBinaryFile ??= findWasmBinary(); - var result = await instantiateAsync(wasmBinary, wasmBinaryFile, info); - var exports = receiveInstantiationResult(result); - return exports; -} - -// end include: preamble.js - -// Begin JS library code - - - class ExitStatus { - name = 'ExitStatus'; - constructor(status) { - this.message = `Program terminated with exit(${status})`; - this.status = status; - } - } - - var callRuntimeCallbacks = (callbacks) => { - while (callbacks.length > 0) { - // Pass the module as the first argument. - callbacks.shift()(Module); - } - }; - var onPostRuns = []; - var addOnPostRun = (cb) => onPostRuns.unshift(cb); - - var onPreRuns = []; - var addOnPreRun = (cb) => onPreRuns.unshift(cb); - - - - /** - * @param {number} ptr - * @param {string} type - */ - function getValue(ptr, type = 'i8') { - if (type.endsWith('*')) type = '*'; - switch (type) { - case 'i1': return HEAP8[ptr]; - case 'i8': return HEAP8[ptr]; - case 'i16': return HEAP16[((ptr)>>1)]; - case 'i32': return HEAP32[((ptr)>>2)]; - case 'i64': return HEAP64[((ptr)>>3)]; - case 'float': return HEAPF32[((ptr)>>2)]; - case 'double': return HEAPF64[((ptr)>>3)]; - case '*': return HEAPU32[((ptr)>>2)]; - default: abort(`invalid type for getValue: ${type}`); - } - } - - var noExitRuntime = Module['noExitRuntime'] || true; - - var ptrToString = (ptr) => { - assert(typeof ptr === 'number'); - // With CAN_ADDRESS_2GB or MEMORY64, pointers are already unsigned. - ptr >>>= 0; - return '0x' + ptr.toString(16).padStart(8, '0'); - }; - - - /** - * @param {number} ptr - * @param {number} value - * @param {string} type - */ - function setValue(ptr, value, type = 'i8') { - if (type.endsWith('*')) type = '*'; - switch (type) { - case 'i1': HEAP8[ptr] = value; break; - case 'i8': HEAP8[ptr] = value; break; - case 'i16': HEAP16[((ptr)>>1)] = value; break; - case 'i32': HEAP32[((ptr)>>2)] = value; break; - case 'i64': HEAP64[((ptr)>>3)] = BigInt(value); break; - case 'float': HEAPF32[((ptr)>>2)] = value; break; - case 'double': HEAPF64[((ptr)>>3)] = value; break; - case '*': HEAPU32[((ptr)>>2)] = value; break; - default: abort(`invalid type for setValue: ${type}`); - } - } - - var stackRestore = (val) => __emscripten_stack_restore(val); - - var stackSave = () => _emscripten_stack_get_current(); - - var warnOnce = (text) => { - warnOnce.shown ||= {}; - if (!warnOnce.shown[text]) { - warnOnce.shown[text] = 1; - if (ENVIRONMENT_IS_NODE) text = 'warning: ' + text; - err(text); - } - }; - - var PATH = { - isAbs:(path) => path.charAt(0) === '/', - splitPath:(filename) => { - var splitPathRe = /^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/; - return splitPathRe.exec(filename).slice(1); - }, - normalizeArray:(parts, allowAboveRoot) => { - // if the path tries to go above the root, `up` ends up > 0 - var up = 0; - for (var i = parts.length - 1; i >= 0; i--) { - var last = parts[i]; - if (last === '.') { - parts.splice(i, 1); - } else if (last === '..') { - parts.splice(i, 1); - up++; - } else if (up) { - parts.splice(i, 1); - up--; - } - } - // if the path is allowed to go above the root, restore leading ..s - if (allowAboveRoot) { - for (; up; up--) { - parts.unshift('..'); - } - } - return parts; - }, - normalize:(path) => { - var isAbsolute = PATH.isAbs(path), - trailingSlash = path.slice(-1) === '/'; - // Normalize the path - path = PATH.normalizeArray(path.split('/').filter((p) => !!p), !isAbsolute).join('/'); - if (!path && !isAbsolute) { - path = '.'; - } - if (path && trailingSlash) { - path += '/'; - } - return (isAbsolute ? '/' : '') + path; - }, - dirname:(path) => { - var result = PATH.splitPath(path), - root = result[0], - dir = result[1]; - if (!root && !dir) { - // No dirname whatsoever - return '.'; - } - if (dir) { - // It has a dirname, strip trailing slash - dir = dir.slice(0, -1); - } - return root + dir; - }, - basename:(path) => path && path.match(/([^\/]+|\/)\/*$/)[1], - join:(...paths) => PATH.normalize(paths.join('/')), - join2:(l, r) => PATH.normalize(l + '/' + r), - }; - - var initRandomFill = () => { - // This block is not needed on v19+ since crypto.getRandomValues is builtin - if (ENVIRONMENT_IS_NODE) { - var nodeCrypto = require('crypto'); - return (view) => nodeCrypto.randomFillSync(view); - } - - return (view) => crypto.getRandomValues(view); - }; - var randomFill = (view) => { - // Lazily init on the first invocation. - (randomFill = initRandomFill())(view); - }; - - - - var PATH_FS = { - resolve:(...args) => { - var resolvedPath = '', - resolvedAbsolute = false; - for (var i = args.length - 1; i >= -1 && !resolvedAbsolute; i--) { - var path = (i >= 0) ? args[i] : FS.cwd(); - // Skip empty and invalid entries - if (typeof path != 'string') { - throw new TypeError('Arguments to path.resolve must be strings'); - } else if (!path) { - return ''; // an invalid portion invalidates the whole thing - } - resolvedPath = path + '/' + resolvedPath; - resolvedAbsolute = PATH.isAbs(path); - } - // At this point the path should be resolved to a full absolute path, but - // handle relative paths to be safe (might happen when process.cwd() fails) - resolvedPath = PATH.normalizeArray(resolvedPath.split('/').filter((p) => !!p), !resolvedAbsolute).join('/'); - return ((resolvedAbsolute ? '/' : '') + resolvedPath) || '.'; - }, - relative:(from, to) => { - from = PATH_FS.resolve(from).slice(1); - to = PATH_FS.resolve(to).slice(1); - function trim(arr) { - var start = 0; - for (; start < arr.length; start++) { - if (arr[start] !== '') break; - } - var end = arr.length - 1; - for (; end >= 0; end--) { - if (arr[end] !== '') break; - } - if (start > end) return []; - return arr.slice(start, end - start + 1); - } - var fromParts = trim(from.split('/')); - var toParts = trim(to.split('/')); - var length = Math.min(fromParts.length, toParts.length); - var samePartsLength = length; - for (var i = 0; i < length; i++) { - if (fromParts[i] !== toParts[i]) { - samePartsLength = i; - break; - } - } - var outputParts = []; - for (var i = samePartsLength; i < fromParts.length; i++) { - outputParts.push('..'); - } - outputParts = outputParts.concat(toParts.slice(samePartsLength)); - return outputParts.join('/'); - }, - }; - - - var UTF8Decoder = typeof TextDecoder != 'undefined' ? new TextDecoder() : undefined; - - /** - * Given a pointer 'idx' to a null-terminated UTF8-encoded string in the given - * array that contains uint8 values, returns a copy of that string as a - * Javascript String object. - * heapOrArray is either a regular array, or a JavaScript typed array view. - * @param {number=} idx - * @param {number=} maxBytesToRead - * @return {string} - */ - var UTF8ArrayToString = (heapOrArray, idx = 0, maxBytesToRead = NaN) => { - var endIdx = idx + maxBytesToRead; - var endPtr = idx; - // TextDecoder needs to know the byte length in advance, it doesn't stop on - // null terminator by itself. Also, use the length info to avoid running tiny - // strings through TextDecoder, since .subarray() allocates garbage. - // (As a tiny code save trick, compare endPtr against endIdx using a negation, - // so that undefined/NaN means Infinity) - while (heapOrArray[endPtr] && !(endPtr >= endIdx)) ++endPtr; - - if (endPtr - idx > 16 && heapOrArray.buffer && UTF8Decoder) { - return UTF8Decoder.decode(heapOrArray.subarray(idx, endPtr)); - } - var str = ''; - // If building with TextDecoder, we have already computed the string length - // above, so test loop end condition against that - while (idx < endPtr) { - // For UTF8 byte structure, see: - // http://en.wikipedia.org/wiki/UTF-8#Description - // https://www.ietf.org/rfc/rfc2279.txt - // https://tools.ietf.org/html/rfc3629 - var u0 = heapOrArray[idx++]; - if (!(u0 & 0x80)) { str += String.fromCharCode(u0); continue; } - var u1 = heapOrArray[idx++] & 63; - if ((u0 & 0xE0) == 0xC0) { str += String.fromCharCode(((u0 & 31) << 6) | u1); continue; } - var u2 = heapOrArray[idx++] & 63; - if ((u0 & 0xF0) == 0xE0) { - u0 = ((u0 & 15) << 12) | (u1 << 6) | u2; - } else { - if ((u0 & 0xF8) != 0xF0) warnOnce('Invalid UTF-8 leading byte ' + ptrToString(u0) + ' encountered when deserializing a UTF-8 string in wasm memory to a JS string!'); - u0 = ((u0 & 7) << 18) | (u1 << 12) | (u2 << 6) | (heapOrArray[idx++] & 63); - } - - if (u0 < 0x10000) { - str += String.fromCharCode(u0); - } else { - var ch = u0 - 0x10000; - str += String.fromCharCode(0xD800 | (ch >> 10), 0xDC00 | (ch & 0x3FF)); - } - } - return str; - }; - - var FS_stdin_getChar_buffer = []; - - var lengthBytesUTF8 = (str) => { - var len = 0; - for (var i = 0; i < str.length; ++i) { - // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code - // unit, not a Unicode code point of the character! So decode - // UTF16->UTF32->UTF8. - // See http://unicode.org/faq/utf_bom.html#utf16-3 - var c = str.charCodeAt(i); // possibly a lead surrogate - if (c <= 0x7F) { - len++; - } else if (c <= 0x7FF) { - len += 2; - } else if (c >= 0xD800 && c <= 0xDFFF) { - len += 4; ++i; - } else { - len += 3; - } - } - return len; - }; - - var stringToUTF8Array = (str, heap, outIdx, maxBytesToWrite) => { - assert(typeof str === 'string', `stringToUTF8Array expects a string (got ${typeof str})`); - // Parameter maxBytesToWrite is not optional. Negative values, 0, null, - // undefined and false each don't write out any bytes. - if (!(maxBytesToWrite > 0)) - return 0; - - var startIdx = outIdx; - var endIdx = outIdx + maxBytesToWrite - 1; // -1 for string null terminator. - for (var i = 0; i < str.length; ++i) { - // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code - // unit, not a Unicode code point of the character! So decode - // UTF16->UTF32->UTF8. - // See http://unicode.org/faq/utf_bom.html#utf16-3 - // For UTF8 byte structure, see http://en.wikipedia.org/wiki/UTF-8#Description - // and https://www.ietf.org/rfc/rfc2279.txt - // and https://tools.ietf.org/html/rfc3629 - var u = str.charCodeAt(i); // possibly a lead surrogate - if (u >= 0xD800 && u <= 0xDFFF) { - var u1 = str.charCodeAt(++i); - u = 0x10000 + ((u & 0x3FF) << 10) | (u1 & 0x3FF); - } - if (u <= 0x7F) { - if (outIdx >= endIdx) break; - heap[outIdx++] = u; - } else if (u <= 0x7FF) { - if (outIdx + 1 >= endIdx) break; - heap[outIdx++] = 0xC0 | (u >> 6); - heap[outIdx++] = 0x80 | (u & 63); - } else if (u <= 0xFFFF) { - if (outIdx + 2 >= endIdx) break; - heap[outIdx++] = 0xE0 | (u >> 12); - heap[outIdx++] = 0x80 | ((u >> 6) & 63); - heap[outIdx++] = 0x80 | (u & 63); - } else { - if (outIdx + 3 >= endIdx) break; - if (u > 0x10FFFF) warnOnce('Invalid Unicode code point ' + ptrToString(u) + ' encountered when serializing a JS string to a UTF-8 string in wasm memory! (Valid unicode code points should be in range 0-0x10FFFF).'); - heap[outIdx++] = 0xF0 | (u >> 18); - heap[outIdx++] = 0x80 | ((u >> 12) & 63); - heap[outIdx++] = 0x80 | ((u >> 6) & 63); - heap[outIdx++] = 0x80 | (u & 63); - } - } - // Null-terminate the pointer to the buffer. - heap[outIdx] = 0; - return outIdx - startIdx; - }; - /** @type {function(string, boolean=, number=)} */ - var intArrayFromString = (stringy, dontAddNull, length) => { - var len = length > 0 ? length : lengthBytesUTF8(stringy)+1; - var u8array = new Array(len); - var numBytesWritten = stringToUTF8Array(stringy, u8array, 0, u8array.length); - if (dontAddNull) u8array.length = numBytesWritten; - return u8array; - }; - var FS_stdin_getChar = () => { - if (!FS_stdin_getChar_buffer.length) { - var result = null; - if (ENVIRONMENT_IS_NODE) { - // we will read data by chunks of BUFSIZE - var BUFSIZE = 256; - var buf = Buffer.alloc(BUFSIZE); - var bytesRead = 0; - - // For some reason we must suppress a closure warning here, even though - // fd definitely exists on process.stdin, and is even the proper way to - // get the fd of stdin, - // https://github.com/nodejs/help/issues/2136#issuecomment-523649904 - // This started to happen after moving this logic out of library_tty.js, - // so it is related to the surrounding code in some unclear manner. - /** @suppress {missingProperties} */ - var fd = process.stdin.fd; - - try { - bytesRead = fs.readSync(fd, buf, 0, BUFSIZE); - } catch(e) { - // Cross-platform differences: on Windows, reading EOF throws an - // exception, but on other OSes, reading EOF returns 0. Uniformize - // behavior by treating the EOF exception to return 0. - if (e.toString().includes('EOF')) bytesRead = 0; - else throw e; - } - - if (bytesRead > 0) { - result = buf.slice(0, bytesRead).toString('utf-8'); - } - } else - if (typeof window != 'undefined' && - typeof window.prompt == 'function') { - // Browser. - result = window.prompt('Input: '); // returns null on cancel - if (result !== null) { - result += '\n'; - } - } else - {} - if (!result) { - return null; - } - FS_stdin_getChar_buffer = intArrayFromString(result, true); - } - return FS_stdin_getChar_buffer.shift(); - }; - var TTY = { - ttys:[], - init() { - // https://github.com/emscripten-core/emscripten/pull/1555 - // if (ENVIRONMENT_IS_NODE) { - // // currently, FS.init does not distinguish if process.stdin is a file or TTY - // // device, it always assumes it's a TTY device. because of this, we're forcing - // // process.stdin to UTF8 encoding to at least make stdin reading compatible - // // with text files until FS.init can be refactored. - // process.stdin.setEncoding('utf8'); - // } - }, - shutdown() { - // https://github.com/emscripten-core/emscripten/pull/1555 - // if (ENVIRONMENT_IS_NODE) { - // // inolen: any idea as to why node -e 'process.stdin.read()' wouldn't exit immediately (with process.stdin being a tty)? - // // isaacs: because now it's reading from the stream, you've expressed interest in it, so that read() kicks off a _read() which creates a ReadReq operation - // // inolen: I thought read() in that case was a synchronous operation that just grabbed some amount of buffered data if it exists? - // // isaacs: it is. but it also triggers a _read() call, which calls readStart() on the handle - // // isaacs: do process.stdin.pause() and i'd think it'd probably close the pending call - // process.stdin.pause(); - // } - }, - register(dev, ops) { - TTY.ttys[dev] = { input: [], output: [], ops: ops }; - FS.registerDevice(dev, TTY.stream_ops); - }, - stream_ops:{ - open(stream) { - var tty = TTY.ttys[stream.node.rdev]; - if (!tty) { - throw new FS.ErrnoError(43); - } - stream.tty = tty; - stream.seekable = false; - }, - close(stream) { - // flush any pending line data - stream.tty.ops.fsync(stream.tty); - }, - fsync(stream) { - stream.tty.ops.fsync(stream.tty); - }, - read(stream, buffer, offset, length, pos /* ignored */) { - if (!stream.tty || !stream.tty.ops.get_char) { - throw new FS.ErrnoError(60); - } - var bytesRead = 0; - for (var i = 0; i < length; i++) { - var result; - try { - result = stream.tty.ops.get_char(stream.tty); - } catch (e) { - throw new FS.ErrnoError(29); - } - if (result === undefined && bytesRead === 0) { - throw new FS.ErrnoError(6); - } - if (result === null || result === undefined) break; - bytesRead++; - buffer[offset+i] = result; - } - if (bytesRead) { - stream.node.atime = Date.now(); - } - return bytesRead; - }, - write(stream, buffer, offset, length, pos) { - if (!stream.tty || !stream.tty.ops.put_char) { - throw new FS.ErrnoError(60); - } - try { - for (var i = 0; i < length; i++) { - stream.tty.ops.put_char(stream.tty, buffer[offset+i]); - } - } catch (e) { - throw new FS.ErrnoError(29); - } - if (length) { - stream.node.mtime = stream.node.ctime = Date.now(); - } - return i; - }, - }, - default_tty_ops:{ - get_char(tty) { - return FS_stdin_getChar(); - }, - put_char(tty, val) { - if (val === null || val === 10) { - out(UTF8ArrayToString(tty.output)); - tty.output = []; - } else { - if (val != 0) tty.output.push(val); // val == 0 would cut text output off in the middle. - } - }, - fsync(tty) { - if (tty.output?.length > 0) { - out(UTF8ArrayToString(tty.output)); - tty.output = []; - } - }, - ioctl_tcgets(tty) { - // typical setting - return { - c_iflag: 25856, - c_oflag: 5, - c_cflag: 191, - c_lflag: 35387, - c_cc: [ - 0x03, 0x1c, 0x7f, 0x15, 0x04, 0x00, 0x01, 0x00, 0x11, 0x13, 0x1a, 0x00, - 0x12, 0x0f, 0x17, 0x16, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - ] - }; - }, - ioctl_tcsets(tty, optional_actions, data) { - // currently just ignore - return 0; - }, - ioctl_tiocgwinsz(tty) { - return [24, 80]; - }, - }, - default_tty1_ops:{ - put_char(tty, val) { - if (val === null || val === 10) { - err(UTF8ArrayToString(tty.output)); - tty.output = []; - } else { - if (val != 0) tty.output.push(val); - } - }, - fsync(tty) { - if (tty.output?.length > 0) { - err(UTF8ArrayToString(tty.output)); - tty.output = []; - } - }, - }, - }; - - - var mmapAlloc = (size) => { - abort('internal error: mmapAlloc called but `emscripten_builtin_memalign` native symbol not exported'); - }; - var MEMFS = { - ops_table:null, - mount(mount) { - return MEMFS.createNode(null, '/', 16895, 0); - }, - createNode(parent, name, mode, dev) { - if (FS.isBlkdev(mode) || FS.isFIFO(mode)) { - // no supported - throw new FS.ErrnoError(63); - } - MEMFS.ops_table ||= { - dir: { - node: { - getattr: MEMFS.node_ops.getattr, - setattr: MEMFS.node_ops.setattr, - lookup: MEMFS.node_ops.lookup, - mknod: MEMFS.node_ops.mknod, - rename: MEMFS.node_ops.rename, - unlink: MEMFS.node_ops.unlink, - rmdir: MEMFS.node_ops.rmdir, - readdir: MEMFS.node_ops.readdir, - symlink: MEMFS.node_ops.symlink - }, - stream: { - llseek: MEMFS.stream_ops.llseek - } - }, - file: { - node: { - getattr: MEMFS.node_ops.getattr, - setattr: MEMFS.node_ops.setattr - }, - stream: { - llseek: MEMFS.stream_ops.llseek, - read: MEMFS.stream_ops.read, - write: MEMFS.stream_ops.write, - mmap: MEMFS.stream_ops.mmap, - msync: MEMFS.stream_ops.msync - } - }, - link: { - node: { - getattr: MEMFS.node_ops.getattr, - setattr: MEMFS.node_ops.setattr, - readlink: MEMFS.node_ops.readlink - }, - stream: {} - }, - chrdev: { - node: { - getattr: MEMFS.node_ops.getattr, - setattr: MEMFS.node_ops.setattr - }, - stream: FS.chrdev_stream_ops - } - }; - var node = FS.createNode(parent, name, mode, dev); - if (FS.isDir(node.mode)) { - node.node_ops = MEMFS.ops_table.dir.node; - node.stream_ops = MEMFS.ops_table.dir.stream; - node.contents = {}; - } else if (FS.isFile(node.mode)) { - node.node_ops = MEMFS.ops_table.file.node; - node.stream_ops = MEMFS.ops_table.file.stream; - node.usedBytes = 0; // The actual number of bytes used in the typed array, as opposed to contents.length which gives the whole capacity. - // When the byte data of the file is populated, this will point to either a typed array, or a normal JS array. Typed arrays are preferred - // for performance, and used by default. However, typed arrays are not resizable like normal JS arrays are, so there is a small disk size - // penalty involved for appending file writes that continuously grow a file similar to std::vector capacity vs used -scheme. - node.contents = null; - } else if (FS.isLink(node.mode)) { - node.node_ops = MEMFS.ops_table.link.node; - node.stream_ops = MEMFS.ops_table.link.stream; - } else if (FS.isChrdev(node.mode)) { - node.node_ops = MEMFS.ops_table.chrdev.node; - node.stream_ops = MEMFS.ops_table.chrdev.stream; - } - node.atime = node.mtime = node.ctime = Date.now(); - // add the new node to the parent - if (parent) { - parent.contents[name] = node; - parent.atime = parent.mtime = parent.ctime = node.atime; - } - return node; - }, - getFileDataAsTypedArray(node) { - if (!node.contents) return new Uint8Array(0); - if (node.contents.subarray) return node.contents.subarray(0, node.usedBytes); // Make sure to not return excess unused bytes. - return new Uint8Array(node.contents); - }, - expandFileStorage(node, newCapacity) { - var prevCapacity = node.contents ? node.contents.length : 0; - if (prevCapacity >= newCapacity) return; // No need to expand, the storage was already large enough. - // Don't expand strictly to the given requested limit if it's only a very small increase, but instead geometrically grow capacity. - // For small filesizes (<1MB), perform size*2 geometric increase, but for large sizes, do a much more conservative size*1.125 increase to - // avoid overshooting the allocation cap by a very large margin. - var CAPACITY_DOUBLING_MAX = 1024 * 1024; - newCapacity = Math.max(newCapacity, (prevCapacity * (prevCapacity < CAPACITY_DOUBLING_MAX ? 2.0 : 1.125)) >>> 0); - if (prevCapacity != 0) newCapacity = Math.max(newCapacity, 256); // At minimum allocate 256b for each file when expanding. - var oldContents = node.contents; - node.contents = new Uint8Array(newCapacity); // Allocate new storage. - if (node.usedBytes > 0) node.contents.set(oldContents.subarray(0, node.usedBytes), 0); // Copy old data over to the new storage. - }, - resizeFileStorage(node, newSize) { - if (node.usedBytes == newSize) return; - if (newSize == 0) { - node.contents = null; // Fully decommit when requesting a resize to zero. - node.usedBytes = 0; - } else { - var oldContents = node.contents; - node.contents = new Uint8Array(newSize); // Allocate new storage. - if (oldContents) { - node.contents.set(oldContents.subarray(0, Math.min(newSize, node.usedBytes))); // Copy old data over to the new storage. - } - node.usedBytes = newSize; - } - }, - node_ops:{ - getattr(node) { - var attr = {}; - // device numbers reuse inode numbers. - attr.dev = FS.isChrdev(node.mode) ? node.id : 1; - attr.ino = node.id; - attr.mode = node.mode; - attr.nlink = 1; - attr.uid = 0; - attr.gid = 0; - attr.rdev = node.rdev; - if (FS.isDir(node.mode)) { - attr.size = 4096; - } else if (FS.isFile(node.mode)) { - attr.size = node.usedBytes; - } else if (FS.isLink(node.mode)) { - attr.size = node.link.length; - } else { - attr.size = 0; - } - attr.atime = new Date(node.atime); - attr.mtime = new Date(node.mtime); - attr.ctime = new Date(node.ctime); - // NOTE: In our implementation, st_blocks = Math.ceil(st_size/st_blksize), - // but this is not required by the standard. - attr.blksize = 4096; - attr.blocks = Math.ceil(attr.size / attr.blksize); - return attr; - }, - setattr(node, attr) { - for (const key of ["mode", "atime", "mtime", "ctime"]) { - if (attr[key] != null) { - node[key] = attr[key]; - } - } - if (attr.size !== undefined) { - MEMFS.resizeFileStorage(node, attr.size); - } - }, - lookup(parent, name) { - throw new FS.ErrnoError(44); - }, - mknod(parent, name, mode, dev) { - return MEMFS.createNode(parent, name, mode, dev); - }, - rename(old_node, new_dir, new_name) { - var new_node; - try { - new_node = FS.lookupNode(new_dir, new_name); - } catch (e) {} - if (new_node) { - if (FS.isDir(old_node.mode)) { - // if we're overwriting a directory at new_name, make sure it's empty. - for (var i in new_node.contents) { - throw new FS.ErrnoError(55); - } - } - FS.hashRemoveNode(new_node); - } - // do the internal rewiring - delete old_node.parent.contents[old_node.name]; - new_dir.contents[new_name] = old_node; - old_node.name = new_name; - new_dir.ctime = new_dir.mtime = old_node.parent.ctime = old_node.parent.mtime = Date.now(); - }, - unlink(parent, name) { - delete parent.contents[name]; - parent.ctime = parent.mtime = Date.now(); - }, - rmdir(parent, name) { - var node = FS.lookupNode(parent, name); - for (var i in node.contents) { - throw new FS.ErrnoError(55); - } - delete parent.contents[name]; - parent.ctime = parent.mtime = Date.now(); - }, - readdir(node) { - return ['.', '..', ...Object.keys(node.contents)]; - }, - symlink(parent, newname, oldpath) { - var node = MEMFS.createNode(parent, newname, 0o777 | 40960, 0); - node.link = oldpath; - return node; - }, - readlink(node) { - if (!FS.isLink(node.mode)) { - throw new FS.ErrnoError(28); - } - return node.link; - }, - }, - stream_ops:{ - read(stream, buffer, offset, length, position) { - var contents = stream.node.contents; - if (position >= stream.node.usedBytes) return 0; - var size = Math.min(stream.node.usedBytes - position, length); - assert(size >= 0); - if (size > 8 && contents.subarray) { // non-trivial, and typed array - buffer.set(contents.subarray(position, position + size), offset); - } else { - for (var i = 0; i < size; i++) buffer[offset + i] = contents[position + i]; - } - return size; - }, - write(stream, buffer, offset, length, position, canOwn) { - // The data buffer should be a typed array view - assert(!(buffer instanceof ArrayBuffer)); - - if (!length) return 0; - var node = stream.node; - node.mtime = node.ctime = Date.now(); - - if (buffer.subarray && (!node.contents || node.contents.subarray)) { // This write is from a typed array to a typed array? - if (canOwn) { - assert(position === 0, 'canOwn must imply no weird position inside the file'); - node.contents = buffer.subarray(offset, offset + length); - node.usedBytes = length; - return length; - } else if (node.usedBytes === 0 && position === 0) { // If this is a simple first write to an empty file, do a fast set since we don't need to care about old data. - node.contents = buffer.slice(offset, offset + length); - node.usedBytes = length; - return length; - } else if (position + length <= node.usedBytes) { // Writing to an already allocated and used subrange of the file? - node.contents.set(buffer.subarray(offset, offset + length), position); - return length; - } - } - - // Appending to an existing file and we need to reallocate, or source data did not come as a typed array. - MEMFS.expandFileStorage(node, position+length); - if (node.contents.subarray && buffer.subarray) { - // Use typed array write which is available. - node.contents.set(buffer.subarray(offset, offset + length), position); - } else { - for (var i = 0; i < length; i++) { - node.contents[position + i] = buffer[offset + i]; // Or fall back to manual write if not. - } - } - node.usedBytes = Math.max(node.usedBytes, position + length); - return length; - }, - llseek(stream, offset, whence) { - var position = offset; - if (whence === 1) { - position += stream.position; - } else if (whence === 2) { - if (FS.isFile(stream.node.mode)) { - position += stream.node.usedBytes; - } - } - if (position < 0) { - throw new FS.ErrnoError(28); - } - return position; - }, - mmap(stream, length, position, prot, flags) { - if (!FS.isFile(stream.node.mode)) { - throw new FS.ErrnoError(43); - } - var ptr; - var allocated; - var contents = stream.node.contents; - // Only make a new copy when MAP_PRIVATE is specified. - if (!(flags & 2) && contents && contents.buffer === HEAP8.buffer) { - // We can't emulate MAP_SHARED when the file is not backed by the - // buffer we're mapping to (e.g. the HEAP buffer). - allocated = false; - ptr = contents.byteOffset; - } else { - allocated = true; - ptr = mmapAlloc(length); - if (!ptr) { - throw new FS.ErrnoError(48); - } - if (contents) { - // Try to avoid unnecessary slices. - if (position > 0 || position + length < contents.length) { - if (contents.subarray) { - contents = contents.subarray(position, position + length); - } else { - contents = Array.prototype.slice.call(contents, position, position + length); - } - } - HEAP8.set(contents, ptr); - } - } - return { ptr, allocated }; - }, - msync(stream, buffer, offset, length, mmapFlags) { - MEMFS.stream_ops.write(stream, buffer, 0, length, offset, false); - // should we check if bytesWritten and length are the same? - return 0; - }, - }, - }; - - var asyncLoad = async (url) => { - var arrayBuffer = await readAsync(url); - assert(arrayBuffer, `Loading data file "${url}" failed (no arrayBuffer).`); - return new Uint8Array(arrayBuffer); - }; - - - var FS_createDataFile = (parent, name, fileData, canRead, canWrite, canOwn) => { - FS.createDataFile(parent, name, fileData, canRead, canWrite, canOwn); - }; - - var preloadPlugins = Module['preloadPlugins'] || []; - var FS_handledByPreloadPlugin = (byteArray, fullname, finish, onerror) => { - // Ensure plugins are ready. - if (typeof Browser != 'undefined') Browser.init(); - - var handled = false; - preloadPlugins.forEach((plugin) => { - if (handled) return; - if (plugin['canHandle'](fullname)) { - plugin['handle'](byteArray, fullname, finish, onerror); - handled = true; - } - }); - return handled; - }; - var FS_createPreloadedFile = (parent, name, url, canRead, canWrite, onload, onerror, dontCreateFile, canOwn, preFinish) => { - // TODO we should allow people to just pass in a complete filename instead - // of parent and name being that we just join them anyways - var fullname = name ? PATH_FS.resolve(PATH.join2(parent, name)) : parent; - var dep = getUniqueRunDependency(`cp ${fullname}`); // might have several active requests for the same fullname - function processData(byteArray) { - function finish(byteArray) { - preFinish?.(); - if (!dontCreateFile) { - FS_createDataFile(parent, name, byteArray, canRead, canWrite, canOwn); - } - onload?.(); - removeRunDependency(dep); - } - if (FS_handledByPreloadPlugin(byteArray, fullname, finish, () => { - onerror?.(); - removeRunDependency(dep); - })) { - return; - } - finish(byteArray); - } - addRunDependency(dep); - if (typeof url == 'string') { - asyncLoad(url).then(processData, onerror); - } else { - processData(url); - } - }; - - var FS_modeStringToFlags = (str) => { - var flagModes = { - 'r': 0, - 'r+': 2, - 'w': 512 | 64 | 1, - 'w+': 512 | 64 | 2, - 'a': 1024 | 64 | 1, - 'a+': 1024 | 64 | 2, - }; - var flags = flagModes[str]; - if (typeof flags == 'undefined') { - throw new Error(`Unknown file open mode: ${str}`); - } - return flags; - }; - - var FS_getMode = (canRead, canWrite) => { - var mode = 0; - if (canRead) mode |= 292 | 73; - if (canWrite) mode |= 146; - return mode; - }; - - - - - - - /** - * Given a pointer 'ptr' to a null-terminated UTF8-encoded string in the - * emscripten HEAP, returns a copy of that string as a Javascript String object. - * - * @param {number} ptr - * @param {number=} maxBytesToRead - An optional length that specifies the - * maximum number of bytes to read. You can omit this parameter to scan the - * string until the first 0 byte. If maxBytesToRead is passed, and the string - * at [ptr, ptr+maxBytesToReadr[ contains a null byte in the middle, then the - * string will cut short at that byte index (i.e. maxBytesToRead will not - * produce a string of exact length [ptr, ptr+maxBytesToRead[) N.B. mixing - * frequent uses of UTF8ToString() with and without maxBytesToRead may throw - * JS JIT optimizations off, so it is worth to consider consistently using one - * @return {string} - */ - var UTF8ToString = (ptr, maxBytesToRead) => { - assert(typeof ptr == 'number', `UTF8ToString expects a number (got ${typeof ptr})`); - return ptr ? UTF8ArrayToString(HEAPU8, ptr, maxBytesToRead) : ''; - }; - - var strError = (errno) => UTF8ToString(_strerror(errno)); - - var ERRNO_CODES = { - 'EPERM': 63, - 'ENOENT': 44, - 'ESRCH': 71, - 'EINTR': 27, - 'EIO': 29, - 'ENXIO': 60, - 'E2BIG': 1, - 'ENOEXEC': 45, - 'EBADF': 8, - 'ECHILD': 12, - 'EAGAIN': 6, - 'EWOULDBLOCK': 6, - 'ENOMEM': 48, - 'EACCES': 2, - 'EFAULT': 21, - 'ENOTBLK': 105, - 'EBUSY': 10, - 'EEXIST': 20, - 'EXDEV': 75, - 'ENODEV': 43, - 'ENOTDIR': 54, - 'EISDIR': 31, - 'EINVAL': 28, - 'ENFILE': 41, - 'EMFILE': 33, - 'ENOTTY': 59, - 'ETXTBSY': 74, - 'EFBIG': 22, - 'ENOSPC': 51, - 'ESPIPE': 70, - 'EROFS': 69, - 'EMLINK': 34, - 'EPIPE': 64, - 'EDOM': 18, - 'ERANGE': 68, - 'ENOMSG': 49, - 'EIDRM': 24, - 'ECHRNG': 106, - 'EL2NSYNC': 156, - 'EL3HLT': 107, - 'EL3RST': 108, - 'ELNRNG': 109, - 'EUNATCH': 110, - 'ENOCSI': 111, - 'EL2HLT': 112, - 'EDEADLK': 16, - 'ENOLCK': 46, - 'EBADE': 113, - 'EBADR': 114, - 'EXFULL': 115, - 'ENOANO': 104, - 'EBADRQC': 103, - 'EBADSLT': 102, - 'EDEADLOCK': 16, - 'EBFONT': 101, - 'ENOSTR': 100, - 'ENODATA': 116, - 'ETIME': 117, - 'ENOSR': 118, - 'ENONET': 119, - 'ENOPKG': 120, - 'EREMOTE': 121, - 'ENOLINK': 47, - 'EADV': 122, - 'ESRMNT': 123, - 'ECOMM': 124, - 'EPROTO': 65, - 'EMULTIHOP': 36, - 'EDOTDOT': 125, - 'EBADMSG': 9, - 'ENOTUNIQ': 126, - 'EBADFD': 127, - 'EREMCHG': 128, - 'ELIBACC': 129, - 'ELIBBAD': 130, - 'ELIBSCN': 131, - 'ELIBMAX': 132, - 'ELIBEXEC': 133, - 'ENOSYS': 52, - 'ENOTEMPTY': 55, - 'ENAMETOOLONG': 37, - 'ELOOP': 32, - 'EOPNOTSUPP': 138, - 'EPFNOSUPPORT': 139, - 'ECONNRESET': 15, - 'ENOBUFS': 42, - 'EAFNOSUPPORT': 5, - 'EPROTOTYPE': 67, - 'ENOTSOCK': 57, - 'ENOPROTOOPT': 50, - 'ESHUTDOWN': 140, - 'ECONNREFUSED': 14, - 'EADDRINUSE': 3, - 'ECONNABORTED': 13, - 'ENETUNREACH': 40, - 'ENETDOWN': 38, - 'ETIMEDOUT': 73, - 'EHOSTDOWN': 142, - 'EHOSTUNREACH': 23, - 'EINPROGRESS': 26, - 'EALREADY': 7, - 'EDESTADDRREQ': 17, - 'EMSGSIZE': 35, - 'EPROTONOSUPPORT': 66, - 'ESOCKTNOSUPPORT': 137, - 'EADDRNOTAVAIL': 4, - 'ENETRESET': 39, - 'EISCONN': 30, - 'ENOTCONN': 53, - 'ETOOMANYREFS': 141, - 'EUSERS': 136, - 'EDQUOT': 19, - 'ESTALE': 72, - 'ENOTSUP': 138, - 'ENOMEDIUM': 148, - 'EILSEQ': 25, - 'EOVERFLOW': 61, - 'ECANCELED': 11, - 'ENOTRECOVERABLE': 56, - 'EOWNERDEAD': 62, - 'ESTRPIPE': 135, - }; - var FS = { - root:null, - mounts:[], - devices:{ - }, - streams:[], - nextInode:1, - nameTable:null, - currentPath:"/", - initialized:false, - ignorePermissions:true, - filesystems:null, - syncFSRequests:0, - readFiles:{ - }, - ErrnoError:class extends Error { - name = 'ErrnoError'; - // We set the `name` property to be able to identify `FS.ErrnoError` - // - the `name` is a standard ECMA-262 property of error objects. Kind of good to have it anyway. - // - when using PROXYFS, an error can come from an underlying FS - // as different FS objects have their own FS.ErrnoError each, - // the test `err instanceof FS.ErrnoError` won't detect an error coming from another filesystem, causing bugs. - // we'll use the reliable test `err.name == "ErrnoError"` instead - constructor(errno) { - super(runtimeInitialized ? strError(errno) : ''); - this.errno = errno; - for (var key in ERRNO_CODES) { - if (ERRNO_CODES[key] === errno) { - this.code = key; - break; - } - } - } - }, - FSStream:class { - shared = {}; - get object() { - return this.node; - } - set object(val) { - this.node = val; - } - get isRead() { - return (this.flags & 2097155) !== 1; - } - get isWrite() { - return (this.flags & 2097155) !== 0; - } - get isAppend() { - return (this.flags & 1024); - } - get flags() { - return this.shared.flags; - } - set flags(val) { - this.shared.flags = val; - } - get position() { - return this.shared.position; - } - set position(val) { - this.shared.position = val; - } - }, - FSNode:class { - node_ops = {}; - stream_ops = {}; - readMode = 292 | 73; - writeMode = 146; - mounted = null; - constructor(parent, name, mode, rdev) { - if (!parent) { - parent = this; // root node sets parent to itself - } - this.parent = parent; - this.mount = parent.mount; - this.id = FS.nextInode++; - this.name = name; - this.mode = mode; - this.rdev = rdev; - this.atime = this.mtime = this.ctime = Date.now(); - } - get read() { - return (this.mode & this.readMode) === this.readMode; - } - set read(val) { - val ? this.mode |= this.readMode : this.mode &= ~this.readMode; - } - get write() { - return (this.mode & this.writeMode) === this.writeMode; - } - set write(val) { - val ? this.mode |= this.writeMode : this.mode &= ~this.writeMode; - } - get isFolder() { - return FS.isDir(this.mode); - } - get isDevice() { - return FS.isChrdev(this.mode); - } - }, - lookupPath(path, opts = {}) { - if (!path) { - throw new FS.ErrnoError(44); - } - opts.follow_mount ??= true - - if (!PATH.isAbs(path)) { - path = FS.cwd() + '/' + path; - } - - // limit max consecutive symlinks to 40 (SYMLOOP_MAX). - linkloop: for (var nlinks = 0; nlinks < 40; nlinks++) { - // split the absolute path - var parts = path.split('/').filter((p) => !!p); - - // start at the root - var current = FS.root; - var current_path = '/'; - - for (var i = 0; i < parts.length; i++) { - var islast = (i === parts.length-1); - if (islast && opts.parent) { - // stop resolving - break; - } - - if (parts[i] === '.') { - continue; - } - - if (parts[i] === '..') { - current_path = PATH.dirname(current_path); - current = current.parent; - continue; - } - - current_path = PATH.join2(current_path, parts[i]); - try { - current = FS.lookupNode(current, parts[i]); - } catch (e) { - // if noent_okay is true, suppress a ENOENT in the last component - // and return an object with an undefined node. This is needed for - // resolving symlinks in the path when creating a file. - if ((e?.errno === 44) && islast && opts.noent_okay) { - return { path: current_path }; - } - throw e; - } - - // jump to the mount's root node if this is a mountpoint - if (FS.isMountpoint(current) && (!islast || opts.follow_mount)) { - current = current.mounted.root; - } - - // by default, lookupPath will not follow a symlink if it is the final path component. - // setting opts.follow = true will override this behavior. - if (FS.isLink(current.mode) && (!islast || opts.follow)) { - if (!current.node_ops.readlink) { - throw new FS.ErrnoError(52); - } - var link = current.node_ops.readlink(current); - if (!PATH.isAbs(link)) { - link = PATH.dirname(current_path) + '/' + link; - } - path = link + '/' + parts.slice(i + 1).join('/'); - continue linkloop; - } - } - return { path: current_path, node: current }; - } - throw new FS.ErrnoError(32); - }, - getPath(node) { - var path; - while (true) { - if (FS.isRoot(node)) { - var mount = node.mount.mountpoint; - if (!path) return mount; - return mount[mount.length-1] !== '/' ? `${mount}/${path}` : mount + path; - } - path = path ? `${node.name}/${path}` : node.name; - node = node.parent; - } - }, - hashName(parentid, name) { - var hash = 0; - - for (var i = 0; i < name.length; i++) { - hash = ((hash << 5) - hash + name.charCodeAt(i)) | 0; - } - return ((parentid + hash) >>> 0) % FS.nameTable.length; - }, - hashAddNode(node) { - var hash = FS.hashName(node.parent.id, node.name); - node.name_next = FS.nameTable[hash]; - FS.nameTable[hash] = node; - }, - hashRemoveNode(node) { - var hash = FS.hashName(node.parent.id, node.name); - if (FS.nameTable[hash] === node) { - FS.nameTable[hash] = node.name_next; - } else { - var current = FS.nameTable[hash]; - while (current) { - if (current.name_next === node) { - current.name_next = node.name_next; - break; - } - current = current.name_next; - } - } - }, - lookupNode(parent, name) { - var errCode = FS.mayLookup(parent); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - var hash = FS.hashName(parent.id, name); - for (var node = FS.nameTable[hash]; node; node = node.name_next) { - var nodeName = node.name; - if (node.parent.id === parent.id && nodeName === name) { - return node; - } - } - // if we failed to find it in the cache, call into the VFS - return FS.lookup(parent, name); - }, - createNode(parent, name, mode, rdev) { - assert(typeof parent == 'object') - var node = new FS.FSNode(parent, name, mode, rdev); - - FS.hashAddNode(node); - - return node; - }, - destroyNode(node) { - FS.hashRemoveNode(node); - }, - isRoot(node) { - return node === node.parent; - }, - isMountpoint(node) { - return !!node.mounted; - }, - isFile(mode) { - return (mode & 61440) === 32768; - }, - isDir(mode) { - return (mode & 61440) === 16384; - }, - isLink(mode) { - return (mode & 61440) === 40960; - }, - isChrdev(mode) { - return (mode & 61440) === 8192; - }, - isBlkdev(mode) { - return (mode & 61440) === 24576; - }, - isFIFO(mode) { - return (mode & 61440) === 4096; - }, - isSocket(mode) { - return (mode & 49152) === 49152; - }, - flagsToPermissionString(flag) { - var perms = ['r', 'w', 'rw'][flag & 3]; - if ((flag & 512)) { - perms += 'w'; - } - return perms; - }, - nodePermissions(node, perms) { - if (FS.ignorePermissions) { - return 0; - } - // return 0 if any user, group or owner bits are set. - if (perms.includes('r') && !(node.mode & 292)) { - return 2; - } else if (perms.includes('w') && !(node.mode & 146)) { - return 2; - } else if (perms.includes('x') && !(node.mode & 73)) { - return 2; - } - return 0; - }, - mayLookup(dir) { - if (!FS.isDir(dir.mode)) return 54; - var errCode = FS.nodePermissions(dir, 'x'); - if (errCode) return errCode; - if (!dir.node_ops.lookup) return 2; - return 0; - }, - mayCreate(dir, name) { - if (!FS.isDir(dir.mode)) { - return 54; - } - try { - var node = FS.lookupNode(dir, name); - return 20; - } catch (e) { - } - return FS.nodePermissions(dir, 'wx'); - }, - mayDelete(dir, name, isdir) { - var node; - try { - node = FS.lookupNode(dir, name); - } catch (e) { - return e.errno; - } - var errCode = FS.nodePermissions(dir, 'wx'); - if (errCode) { - return errCode; - } - if (isdir) { - if (!FS.isDir(node.mode)) { - return 54; - } - if (FS.isRoot(node) || FS.getPath(node) === FS.cwd()) { - return 10; - } - } else { - if (FS.isDir(node.mode)) { - return 31; - } - } - return 0; - }, - mayOpen(node, flags) { - if (!node) { - return 44; - } - if (FS.isLink(node.mode)) { - return 32; - } else if (FS.isDir(node.mode)) { - if (FS.flagsToPermissionString(flags) !== 'r' // opening for write - || (flags & (512 | 64))) { // TODO: check for O_SEARCH? (== search for dir only) - return 31; - } - } - return FS.nodePermissions(node, FS.flagsToPermissionString(flags)); - }, - checkOpExists(op, err) { - if (!op) { - throw new FS.ErrnoError(err); - } - return op; - }, - MAX_OPEN_FDS:4096, - nextfd() { - for (var fd = 0; fd <= FS.MAX_OPEN_FDS; fd++) { - if (!FS.streams[fd]) { - return fd; - } - } - throw new FS.ErrnoError(33); - }, - getStreamChecked(fd) { - var stream = FS.getStream(fd); - if (!stream) { - throw new FS.ErrnoError(8); - } - return stream; - }, - getStream:(fd) => FS.streams[fd], - createStream(stream, fd = -1) { - assert(fd >= -1); - - // clone it, so we can return an instance of FSStream - stream = Object.assign(new FS.FSStream(), stream); - if (fd == -1) { - fd = FS.nextfd(); - } - stream.fd = fd; - FS.streams[fd] = stream; - return stream; - }, - closeStream(fd) { - FS.streams[fd] = null; - }, - dupStream(origStream, fd = -1) { - var stream = FS.createStream(origStream, fd); - stream.stream_ops?.dup?.(stream); - return stream; - }, - doSetAttr(stream, node, attr) { - var setattr = stream?.stream_ops.setattr; - var arg = setattr ? stream : node; - setattr ??= node.node_ops.setattr; - FS.checkOpExists(setattr, 63) - setattr(arg, attr); - }, - chrdev_stream_ops:{ - open(stream) { - var device = FS.getDevice(stream.node.rdev); - // override node's stream ops with the device's - stream.stream_ops = device.stream_ops; - // forward the open call - stream.stream_ops.open?.(stream); - }, - llseek() { - throw new FS.ErrnoError(70); - }, - }, - major:(dev) => ((dev) >> 8), - minor:(dev) => ((dev) & 0xff), - makedev:(ma, mi) => ((ma) << 8 | (mi)), - registerDevice(dev, ops) { - FS.devices[dev] = { stream_ops: ops }; - }, - getDevice:(dev) => FS.devices[dev], - getMounts(mount) { - var mounts = []; - var check = [mount]; - - while (check.length) { - var m = check.pop(); - - mounts.push(m); - - check.push(...m.mounts); - } - - return mounts; - }, - syncfs(populate, callback) { - if (typeof populate == 'function') { - callback = populate; - populate = false; - } - - FS.syncFSRequests++; - - if (FS.syncFSRequests > 1) { - err(`warning: ${FS.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`); - } - - var mounts = FS.getMounts(FS.root.mount); - var completed = 0; - - function doCallback(errCode) { - assert(FS.syncFSRequests > 0); - FS.syncFSRequests--; - return callback(errCode); - } - - function done(errCode) { - if (errCode) { - if (!done.errored) { - done.errored = true; - return doCallback(errCode); - } - return; - } - if (++completed >= mounts.length) { - doCallback(null); - } - }; - - // sync all mounts - mounts.forEach((mount) => { - if (!mount.type.syncfs) { - return done(null); - } - mount.type.syncfs(mount, populate, done); - }); - }, - mount(type, opts, mountpoint) { - if (typeof type == 'string') { - // The filesystem was not included, and instead we have an error - // message stored in the variable. - throw type; - } - var root = mountpoint === '/'; - var pseudo = !mountpoint; - var node; - - if (root && FS.root) { - throw new FS.ErrnoError(10); - } else if (!root && !pseudo) { - var lookup = FS.lookupPath(mountpoint, { follow_mount: false }); - - mountpoint = lookup.path; // use the absolute path - node = lookup.node; - - if (FS.isMountpoint(node)) { - throw new FS.ErrnoError(10); - } - - if (!FS.isDir(node.mode)) { - throw new FS.ErrnoError(54); - } - } - - var mount = { - type, - opts, - mountpoint, - mounts: [] - }; - - // create a root node for the fs - var mountRoot = type.mount(mount); - mountRoot.mount = mount; - mount.root = mountRoot; - - if (root) { - FS.root = mountRoot; - } else if (node) { - // set as a mountpoint - node.mounted = mount; - - // add the new mount to the current mount's children - if (node.mount) { - node.mount.mounts.push(mount); - } - } - - return mountRoot; - }, - unmount(mountpoint) { - var lookup = FS.lookupPath(mountpoint, { follow_mount: false }); - - if (!FS.isMountpoint(lookup.node)) { - throw new FS.ErrnoError(28); - } - - // destroy the nodes for this mount, and all its child mounts - var node = lookup.node; - var mount = node.mounted; - var mounts = FS.getMounts(mount); - - Object.keys(FS.nameTable).forEach((hash) => { - var current = FS.nameTable[hash]; - - while (current) { - var next = current.name_next; - - if (mounts.includes(current.mount)) { - FS.destroyNode(current); - } - - current = next; - } - }); - - // no longer a mountpoint - node.mounted = null; - - // remove this mount from the child mounts - var idx = node.mount.mounts.indexOf(mount); - assert(idx !== -1); - node.mount.mounts.splice(idx, 1); - }, - lookup(parent, name) { - return parent.node_ops.lookup(parent, name); - }, - mknod(path, mode, dev) { - var lookup = FS.lookupPath(path, { parent: true }); - var parent = lookup.node; - var name = PATH.basename(path); - if (!name) { - throw new FS.ErrnoError(28); - } - if (name === '.' || name === '..') { - throw new FS.ErrnoError(20); - } - var errCode = FS.mayCreate(parent, name); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - if (!parent.node_ops.mknod) { - throw new FS.ErrnoError(63); - } - return parent.node_ops.mknod(parent, name, mode, dev); - }, - statfs(path) { - return FS.statfsNode(FS.lookupPath(path, {follow: true}).node); - }, - statfsStream(stream) { - // We keep a separate statfsStream function because noderawfs overrides - // it. In noderawfs, stream.node is sometimes null. Instead, we need to - // look at stream.path. - return FS.statfsNode(stream.node); - }, - statfsNode(node) { - // NOTE: None of the defaults here are true. We're just returning safe and - // sane values. Currently nodefs and rawfs replace these defaults, - // other file systems leave them alone. - var rtn = { - bsize: 4096, - frsize: 4096, - blocks: 1e6, - bfree: 5e5, - bavail: 5e5, - files: FS.nextInode, - ffree: FS.nextInode - 1, - fsid: 42, - flags: 2, - namelen: 255, - }; - - if (node.node_ops.statfs) { - Object.assign(rtn, node.node_ops.statfs(node.mount.opts.root)); - } - return rtn; - }, - create(path, mode = 0o666) { - mode &= 4095; - mode |= 32768; - return FS.mknod(path, mode, 0); - }, - mkdir(path, mode = 0o777) { - mode &= 511 | 512; - mode |= 16384; - return FS.mknod(path, mode, 0); - }, - mkdirTree(path, mode) { - var dirs = path.split('/'); - var d = ''; - for (var dir of dirs) { - if (!dir) continue; - if (d || PATH.isAbs(path)) d += '/'; - d += dir; - try { - FS.mkdir(d, mode); - } catch(e) { - if (e.errno != 20) throw e; - } - } - }, - mkdev(path, mode, dev) { - if (typeof dev == 'undefined') { - dev = mode; - mode = 0o666; - } - mode |= 8192; - return FS.mknod(path, mode, dev); - }, - symlink(oldpath, newpath) { - if (!PATH_FS.resolve(oldpath)) { - throw new FS.ErrnoError(44); - } - var lookup = FS.lookupPath(newpath, { parent: true }); - var parent = lookup.node; - if (!parent) { - throw new FS.ErrnoError(44); - } - var newname = PATH.basename(newpath); - var errCode = FS.mayCreate(parent, newname); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - if (!parent.node_ops.symlink) { - throw new FS.ErrnoError(63); - } - return parent.node_ops.symlink(parent, newname, oldpath); - }, - rename(old_path, new_path) { - var old_dirname = PATH.dirname(old_path); - var new_dirname = PATH.dirname(new_path); - var old_name = PATH.basename(old_path); - var new_name = PATH.basename(new_path); - // parents must exist - var lookup, old_dir, new_dir; - - // let the errors from non existent directories percolate up - lookup = FS.lookupPath(old_path, { parent: true }); - old_dir = lookup.node; - lookup = FS.lookupPath(new_path, { parent: true }); - new_dir = lookup.node; - - if (!old_dir || !new_dir) throw new FS.ErrnoError(44); - // need to be part of the same mount - if (old_dir.mount !== new_dir.mount) { - throw new FS.ErrnoError(75); - } - // source must exist - var old_node = FS.lookupNode(old_dir, old_name); - // old path should not be an ancestor of the new path - var relative = PATH_FS.relative(old_path, new_dirname); - if (relative.charAt(0) !== '.') { - throw new FS.ErrnoError(28); - } - // new path should not be an ancestor of the old path - relative = PATH_FS.relative(new_path, old_dirname); - if (relative.charAt(0) !== '.') { - throw new FS.ErrnoError(55); - } - // see if the new path already exists - var new_node; - try { - new_node = FS.lookupNode(new_dir, new_name); - } catch (e) { - // not fatal - } - // early out if nothing needs to change - if (old_node === new_node) { - return; - } - // we'll need to delete the old entry - var isdir = FS.isDir(old_node.mode); - var errCode = FS.mayDelete(old_dir, old_name, isdir); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - // need delete permissions if we'll be overwriting. - // need create permissions if new doesn't already exist. - errCode = new_node ? - FS.mayDelete(new_dir, new_name, isdir) : - FS.mayCreate(new_dir, new_name); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - if (!old_dir.node_ops.rename) { - throw new FS.ErrnoError(63); - } - if (FS.isMountpoint(old_node) || (new_node && FS.isMountpoint(new_node))) { - throw new FS.ErrnoError(10); - } - // if we are going to change the parent, check write permissions - if (new_dir !== old_dir) { - errCode = FS.nodePermissions(old_dir, 'w'); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - } - // remove the node from the lookup hash - FS.hashRemoveNode(old_node); - // do the underlying fs rename - try { - old_dir.node_ops.rename(old_node, new_dir, new_name); - // update old node (we do this here to avoid each backend - // needing to) - old_node.parent = new_dir; - } catch (e) { - throw e; - } finally { - // add the node back to the hash (in case node_ops.rename - // changed its name) - FS.hashAddNode(old_node); - } - }, - rmdir(path) { - var lookup = FS.lookupPath(path, { parent: true }); - var parent = lookup.node; - var name = PATH.basename(path); - var node = FS.lookupNode(parent, name); - var errCode = FS.mayDelete(parent, name, true); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - if (!parent.node_ops.rmdir) { - throw new FS.ErrnoError(63); - } - if (FS.isMountpoint(node)) { - throw new FS.ErrnoError(10); - } - parent.node_ops.rmdir(parent, name); - FS.destroyNode(node); - }, - readdir(path) { - var lookup = FS.lookupPath(path, { follow: true }); - var node = lookup.node; - var readdir = FS.checkOpExists(node.node_ops.readdir, 54); - return readdir(node); - }, - unlink(path) { - var lookup = FS.lookupPath(path, { parent: true }); - var parent = lookup.node; - if (!parent) { - throw new FS.ErrnoError(44); - } - var name = PATH.basename(path); - var node = FS.lookupNode(parent, name); - var errCode = FS.mayDelete(parent, name, false); - if (errCode) { - // According to POSIX, we should map EISDIR to EPERM, but - // we instead do what Linux does (and we must, as we use - // the musl linux libc). - throw new FS.ErrnoError(errCode); - } - if (!parent.node_ops.unlink) { - throw new FS.ErrnoError(63); - } - if (FS.isMountpoint(node)) { - throw new FS.ErrnoError(10); - } - parent.node_ops.unlink(parent, name); - FS.destroyNode(node); - }, - readlink(path) { - var lookup = FS.lookupPath(path); - var link = lookup.node; - if (!link) { - throw new FS.ErrnoError(44); - } - if (!link.node_ops.readlink) { - throw new FS.ErrnoError(28); - } - return link.node_ops.readlink(link); - }, - stat(path, dontFollow) { - var lookup = FS.lookupPath(path, { follow: !dontFollow }); - var node = lookup.node; - var getattr = FS.checkOpExists(node.node_ops.getattr, 63); - return getattr(node); - }, - fstat(fd) { - var stream = FS.getStreamChecked(fd); - var node = stream.node; - var getattr = stream.stream_ops.getattr; - var arg = getattr ? stream : node; - getattr ??= node.node_ops.getattr; - FS.checkOpExists(getattr, 63) - return getattr(arg); - }, - lstat(path) { - return FS.stat(path, true); - }, - doChmod(stream, node, mode, dontFollow) { - FS.doSetAttr(stream, node, { - mode: (mode & 4095) | (node.mode & ~4095), - ctime: Date.now(), - dontFollow - }); - }, - chmod(path, mode, dontFollow) { - var node; - if (typeof path == 'string') { - var lookup = FS.lookupPath(path, { follow: !dontFollow }); - node = lookup.node; - } else { - node = path; - } - FS.doChmod(null, node, mode, dontFollow); - }, - lchmod(path, mode) { - FS.chmod(path, mode, true); - }, - fchmod(fd, mode) { - var stream = FS.getStreamChecked(fd); - FS.doChmod(stream, stream.node, mode, false); - }, - doChown(stream, node, dontFollow) { - FS.doSetAttr(stream, node, { - timestamp: Date.now(), - dontFollow - // we ignore the uid / gid for now - }); - }, - chown(path, uid, gid, dontFollow) { - var node; - if (typeof path == 'string') { - var lookup = FS.lookupPath(path, { follow: !dontFollow }); - node = lookup.node; - } else { - node = path; - } - FS.doChown(null, node, dontFollow); - }, - lchown(path, uid, gid) { - FS.chown(path, uid, gid, true); - }, - fchown(fd, uid, gid) { - var stream = FS.getStreamChecked(fd); - FS.doChown(stream, stream.node, false); - }, - doTruncate(stream, node, len) { - if (FS.isDir(node.mode)) { - throw new FS.ErrnoError(31); - } - if (!FS.isFile(node.mode)) { - throw new FS.ErrnoError(28); - } - var errCode = FS.nodePermissions(node, 'w'); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - FS.doSetAttr(stream, node, { - size: len, - timestamp: Date.now() - }); - }, - truncate(path, len) { - if (len < 0) { - throw new FS.ErrnoError(28); - } - var node; - if (typeof path == 'string') { - var lookup = FS.lookupPath(path, { follow: true }); - node = lookup.node; - } else { - node = path; - } - FS.doTruncate(null, node, len); - }, - ftruncate(fd, len) { - var stream = FS.getStreamChecked(fd); - if (len < 0 || (stream.flags & 2097155) === 0) { - throw new FS.ErrnoError(28); - } - FS.doTruncate(stream, stream.node, len); - }, - utime(path, atime, mtime) { - var lookup = FS.lookupPath(path, { follow: true }); - var node = lookup.node; - var setattr = FS.checkOpExists(node.node_ops.setattr, 63); - setattr(node, { - atime: atime, - mtime: mtime - }); - }, - open(path, flags, mode = 0o666) { - if (path === "") { - throw new FS.ErrnoError(44); - } - flags = typeof flags == 'string' ? FS_modeStringToFlags(flags) : flags; - if ((flags & 64)) { - mode = (mode & 4095) | 32768; - } else { - mode = 0; - } - var node; - var isDirPath; - if (typeof path == 'object') { - node = path; - } else { - isDirPath = path.endsWith("/"); - // noent_okay makes it so that if the final component of the path - // doesn't exist, lookupPath returns `node: undefined`. `path` will be - // updated to point to the target of all symlinks. - var lookup = FS.lookupPath(path, { - follow: !(flags & 131072), - noent_okay: true - }); - node = lookup.node; - path = lookup.path; - } - // perhaps we need to create the node - var created = false; - if ((flags & 64)) { - if (node) { - // if O_CREAT and O_EXCL are set, error out if the node already exists - if ((flags & 128)) { - throw new FS.ErrnoError(20); - } - } else if (isDirPath) { - throw new FS.ErrnoError(31); - } else { - // node doesn't exist, try to create it - // Ignore the permission bits here to ensure we can `open` this new - // file below. We use chmod below the apply the permissions once the - // file is open. - node = FS.mknod(path, mode | 0o777, 0); - created = true; - } - } - if (!node) { - throw new FS.ErrnoError(44); - } - // can't truncate a device - if (FS.isChrdev(node.mode)) { - flags &= ~512; - } - // if asked only for a directory, then this must be one - if ((flags & 65536) && !FS.isDir(node.mode)) { - throw new FS.ErrnoError(54); - } - // check permissions, if this is not a file we just created now (it is ok to - // create and write to a file with read-only permissions; it is read-only - // for later use) - if (!created) { - var errCode = FS.mayOpen(node, flags); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - } - // do truncation if necessary - if ((flags & 512) && !created) { - FS.truncate(node, 0); - } - // we've already handled these, don't pass down to the underlying vfs - flags &= ~(128 | 512 | 131072); - - // register the stream with the filesystem - var stream = FS.createStream({ - node, - path: FS.getPath(node), // we want the absolute path to the node - flags, - seekable: true, - position: 0, - stream_ops: node.stream_ops, - // used by the file family libc calls (fopen, fwrite, ferror, etc.) - ungotten: [], - error: false - }); - // call the new stream's open function - if (stream.stream_ops.open) { - stream.stream_ops.open(stream); - } - if (created) { - FS.chmod(node, mode & 0o777); - } - if (Module['logReadFiles'] && !(flags & 1)) { - if (!(path in FS.readFiles)) { - FS.readFiles[path] = 1; - } - } - return stream; - }, - close(stream) { - if (FS.isClosed(stream)) { - throw new FS.ErrnoError(8); - } - if (stream.getdents) stream.getdents = null; // free readdir state - try { - if (stream.stream_ops.close) { - stream.stream_ops.close(stream); - } - } catch (e) { - throw e; - } finally { - FS.closeStream(stream.fd); - } - stream.fd = null; - }, - isClosed(stream) { - return stream.fd === null; - }, - llseek(stream, offset, whence) { - if (FS.isClosed(stream)) { - throw new FS.ErrnoError(8); - } - if (!stream.seekable || !stream.stream_ops.llseek) { - throw new FS.ErrnoError(70); - } - if (whence != 0 && whence != 1 && whence != 2) { - throw new FS.ErrnoError(28); - } - stream.position = stream.stream_ops.llseek(stream, offset, whence); - stream.ungotten = []; - return stream.position; - }, - read(stream, buffer, offset, length, position) { - assert(offset >= 0); - if (length < 0 || position < 0) { - throw new FS.ErrnoError(28); - } - if (FS.isClosed(stream)) { - throw new FS.ErrnoError(8); - } - if ((stream.flags & 2097155) === 1) { - throw new FS.ErrnoError(8); - } - if (FS.isDir(stream.node.mode)) { - throw new FS.ErrnoError(31); - } - if (!stream.stream_ops.read) { - throw new FS.ErrnoError(28); - } - var seeking = typeof position != 'undefined'; - if (!seeking) { - position = stream.position; - } else if (!stream.seekable) { - throw new FS.ErrnoError(70); - } - var bytesRead = stream.stream_ops.read(stream, buffer, offset, length, position); - if (!seeking) stream.position += bytesRead; - return bytesRead; - }, - write(stream, buffer, offset, length, position, canOwn) { - assert(offset >= 0); - if (length < 0 || position < 0) { - throw new FS.ErrnoError(28); - } - if (FS.isClosed(stream)) { - throw new FS.ErrnoError(8); - } - if ((stream.flags & 2097155) === 0) { - throw new FS.ErrnoError(8); - } - if (FS.isDir(stream.node.mode)) { - throw new FS.ErrnoError(31); - } - if (!stream.stream_ops.write) { - throw new FS.ErrnoError(28); - } - if (stream.seekable && stream.flags & 1024) { - // seek to the end before writing in append mode - FS.llseek(stream, 0, 2); - } - var seeking = typeof position != 'undefined'; - if (!seeking) { - position = stream.position; - } else if (!stream.seekable) { - throw new FS.ErrnoError(70); - } - var bytesWritten = stream.stream_ops.write(stream, buffer, offset, length, position, canOwn); - if (!seeking) stream.position += bytesWritten; - return bytesWritten; - }, - mmap(stream, length, position, prot, flags) { - // User requests writing to file (prot & PROT_WRITE != 0). - // Checking if we have permissions to write to the file unless - // MAP_PRIVATE flag is set. According to POSIX spec it is possible - // to write to file opened in read-only mode with MAP_PRIVATE flag, - // as all modifications will be visible only in the memory of - // the current process. - if ((prot & 2) !== 0 - && (flags & 2) === 0 - && (stream.flags & 2097155) !== 2) { - throw new FS.ErrnoError(2); - } - if ((stream.flags & 2097155) === 1) { - throw new FS.ErrnoError(2); - } - if (!stream.stream_ops.mmap) { - throw new FS.ErrnoError(43); - } - if (!length) { - throw new FS.ErrnoError(28); - } - return stream.stream_ops.mmap(stream, length, position, prot, flags); - }, - msync(stream, buffer, offset, length, mmapFlags) { - assert(offset >= 0); - if (!stream.stream_ops.msync) { - return 0; - } - return stream.stream_ops.msync(stream, buffer, offset, length, mmapFlags); - }, - ioctl(stream, cmd, arg) { - if (!stream.stream_ops.ioctl) { - throw new FS.ErrnoError(59); - } - return stream.stream_ops.ioctl(stream, cmd, arg); - }, - readFile(path, opts = {}) { - opts.flags = opts.flags || 0; - opts.encoding = opts.encoding || 'binary'; - if (opts.encoding !== 'utf8' && opts.encoding !== 'binary') { - throw new Error(`Invalid encoding type "${opts.encoding}"`); - } - var ret; - var stream = FS.open(path, opts.flags); - var stat = FS.stat(path); - var length = stat.size; - var buf = new Uint8Array(length); - FS.read(stream, buf, 0, length, 0); - if (opts.encoding === 'utf8') { - ret = UTF8ArrayToString(buf); - } else if (opts.encoding === 'binary') { - ret = buf; - } - FS.close(stream); - return ret; - }, - writeFile(path, data, opts = {}) { - opts.flags = opts.flags || 577; - var stream = FS.open(path, opts.flags, opts.mode); - if (typeof data == 'string') { - var buf = new Uint8Array(lengthBytesUTF8(data)+1); - var actualNumBytes = stringToUTF8Array(data, buf, 0, buf.length); - FS.write(stream, buf, 0, actualNumBytes, undefined, opts.canOwn); - } else if (ArrayBuffer.isView(data)) { - FS.write(stream, data, 0, data.byteLength, undefined, opts.canOwn); - } else { - throw new Error('Unsupported data type'); - } - FS.close(stream); - }, - cwd:() => FS.currentPath, - chdir(path) { - var lookup = FS.lookupPath(path, { follow: true }); - if (lookup.node === null) { - throw new FS.ErrnoError(44); - } - if (!FS.isDir(lookup.node.mode)) { - throw new FS.ErrnoError(54); - } - var errCode = FS.nodePermissions(lookup.node, 'x'); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - FS.currentPath = lookup.path; - }, - createDefaultDirectories() { - FS.mkdir('/tmp'); - FS.mkdir('/home'); - FS.mkdir('/home/web_user'); - }, - createDefaultDevices() { - // create /dev - FS.mkdir('/dev'); - // setup /dev/null - FS.registerDevice(FS.makedev(1, 3), { - read: () => 0, - write: (stream, buffer, offset, length, pos) => length, - llseek: () => 0, - }); - FS.mkdev('/dev/null', FS.makedev(1, 3)); - // setup /dev/tty and /dev/tty1 - // stderr needs to print output using err() rather than out() - // so we register a second tty just for it. - TTY.register(FS.makedev(5, 0), TTY.default_tty_ops); - TTY.register(FS.makedev(6, 0), TTY.default_tty1_ops); - FS.mkdev('/dev/tty', FS.makedev(5, 0)); - FS.mkdev('/dev/tty1', FS.makedev(6, 0)); - // setup /dev/[u]random - // use a buffer to avoid overhead of individual crypto calls per byte - var randomBuffer = new Uint8Array(1024), randomLeft = 0; - var randomByte = () => { - if (randomLeft === 0) { - randomFill(randomBuffer); - randomLeft = randomBuffer.byteLength; - } - return randomBuffer[--randomLeft]; - }; - FS.createDevice('/dev', 'random', randomByte); - FS.createDevice('/dev', 'urandom', randomByte); - // we're not going to emulate the actual shm device, - // just create the tmp dirs that reside in it commonly - FS.mkdir('/dev/shm'); - FS.mkdir('/dev/shm/tmp'); - }, - createSpecialDirectories() { - // create /proc/self/fd which allows /proc/self/fd/6 => readlink gives the - // name of the stream for fd 6 (see test_unistd_ttyname) - FS.mkdir('/proc'); - var proc_self = FS.mkdir('/proc/self'); - FS.mkdir('/proc/self/fd'); - FS.mount({ - mount() { - var node = FS.createNode(proc_self, 'fd', 16895, 73); - node.stream_ops = { - llseek: MEMFS.stream_ops.llseek, - }; - node.node_ops = { - lookup(parent, name) { - var fd = +name; - var stream = FS.getStreamChecked(fd); - var ret = { - parent: null, - mount: { mountpoint: 'fake' }, - node_ops: { readlink: () => stream.path }, - id: fd + 1, - }; - ret.parent = ret; // make it look like a simple root node - return ret; - }, - readdir() { - return Array.from(FS.streams.entries()) - .filter(([k, v]) => v) - .map(([k, v]) => k.toString()); - } - }; - return node; - } - }, {}, '/proc/self/fd'); - }, - createStandardStreams(input, output, error) { - // TODO deprecate the old functionality of a single - // input / output callback and that utilizes FS.createDevice - // and instead require a unique set of stream ops - - // by default, we symlink the standard streams to the - // default tty devices. however, if the standard streams - // have been overwritten we create a unique device for - // them instead. - if (input) { - FS.createDevice('/dev', 'stdin', input); - } else { - FS.symlink('/dev/tty', '/dev/stdin'); - } - if (output) { - FS.createDevice('/dev', 'stdout', null, output); - } else { - FS.symlink('/dev/tty', '/dev/stdout'); - } - if (error) { - FS.createDevice('/dev', 'stderr', null, error); - } else { - FS.symlink('/dev/tty1', '/dev/stderr'); - } - - // open default streams for the stdin, stdout and stderr devices - var stdin = FS.open('/dev/stdin', 0); - var stdout = FS.open('/dev/stdout', 1); - var stderr = FS.open('/dev/stderr', 1); - assert(stdin.fd === 0, `invalid handle for stdin (${stdin.fd})`); - assert(stdout.fd === 1, `invalid handle for stdout (${stdout.fd})`); - assert(stderr.fd === 2, `invalid handle for stderr (${stderr.fd})`); - }, - staticInit() { - FS.nameTable = new Array(4096); - - FS.mount(MEMFS, {}, '/'); - - FS.createDefaultDirectories(); - FS.createDefaultDevices(); - FS.createSpecialDirectories(); - - FS.filesystems = { - 'MEMFS': MEMFS, - }; - }, - init(input, output, error) { - assert(!FS.initialized, 'FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)'); - FS.initialized = true; - - // Allow Module.stdin etc. to provide defaults, if none explicitly passed to us here - input ??= Module['stdin']; - output ??= Module['stdout']; - error ??= Module['stderr']; - - FS.createStandardStreams(input, output, error); - }, - quit() { - FS.initialized = false; - // force-flush all streams, so we get musl std streams printed out - _fflush(0); - // close all of our streams - for (var stream of FS.streams) { - if (stream) { - FS.close(stream); - } - } - }, - findObject(path, dontResolveLastLink) { - var ret = FS.analyzePath(path, dontResolveLastLink); - if (!ret.exists) { - return null; - } - return ret.object; - }, - analyzePath(path, dontResolveLastLink) { - // operate from within the context of the symlink's target - try { - var lookup = FS.lookupPath(path, { follow: !dontResolveLastLink }); - path = lookup.path; - } catch (e) { - } - var ret = { - isRoot: false, exists: false, error: 0, name: null, path: null, object: null, - parentExists: false, parentPath: null, parentObject: null - }; - try { - var lookup = FS.lookupPath(path, { parent: true }); - ret.parentExists = true; - ret.parentPath = lookup.path; - ret.parentObject = lookup.node; - ret.name = PATH.basename(path); - lookup = FS.lookupPath(path, { follow: !dontResolveLastLink }); - ret.exists = true; - ret.path = lookup.path; - ret.object = lookup.node; - ret.name = lookup.node.name; - ret.isRoot = lookup.path === '/'; - } catch (e) { - ret.error = e.errno; - }; - return ret; - }, - createPath(parent, path, canRead, canWrite) { - parent = typeof parent == 'string' ? parent : FS.getPath(parent); - var parts = path.split('/').reverse(); - while (parts.length) { - var part = parts.pop(); - if (!part) continue; - var current = PATH.join2(parent, part); - try { - FS.mkdir(current); - } catch (e) { - if (e.errno != 20) throw e; - } - parent = current; - } - return current; - }, - createFile(parent, name, properties, canRead, canWrite) { - var path = PATH.join2(typeof parent == 'string' ? parent : FS.getPath(parent), name); - var mode = FS_getMode(canRead, canWrite); - return FS.create(path, mode); - }, - createDataFile(parent, name, data, canRead, canWrite, canOwn) { - var path = name; - if (parent) { - parent = typeof parent == 'string' ? parent : FS.getPath(parent); - path = name ? PATH.join2(parent, name) : parent; - } - var mode = FS_getMode(canRead, canWrite); - var node = FS.create(path, mode); - if (data) { - if (typeof data == 'string') { - var arr = new Array(data.length); - for (var i = 0, len = data.length; i < len; ++i) arr[i] = data.charCodeAt(i); - data = arr; - } - // make sure we can write to the file - FS.chmod(node, mode | 146); - var stream = FS.open(node, 577); - FS.write(stream, data, 0, data.length, 0, canOwn); - FS.close(stream); - FS.chmod(node, mode); - } - }, - createDevice(parent, name, input, output) { - var path = PATH.join2(typeof parent == 'string' ? parent : FS.getPath(parent), name); - var mode = FS_getMode(!!input, !!output); - FS.createDevice.major ??= 64; - var dev = FS.makedev(FS.createDevice.major++, 0); - // Create a fake device that a set of stream ops to emulate - // the old behavior. - FS.registerDevice(dev, { - open(stream) { - stream.seekable = false; - }, - close(stream) { - // flush any pending line data - if (output?.buffer?.length) { - output(10); - } - }, - read(stream, buffer, offset, length, pos /* ignored */) { - var bytesRead = 0; - for (var i = 0; i < length; i++) { - var result; - try { - result = input(); - } catch (e) { - throw new FS.ErrnoError(29); - } - if (result === undefined && bytesRead === 0) { - throw new FS.ErrnoError(6); - } - if (result === null || result === undefined) break; - bytesRead++; - buffer[offset+i] = result; - } - if (bytesRead) { - stream.node.atime = Date.now(); - } - return bytesRead; - }, - write(stream, buffer, offset, length, pos) { - for (var i = 0; i < length; i++) { - try { - output(buffer[offset+i]); - } catch (e) { - throw new FS.ErrnoError(29); - } - } - if (length) { - stream.node.mtime = stream.node.ctime = Date.now(); - } - return i; - } - }); - return FS.mkdev(path, mode, dev); - }, - forceLoadFile(obj) { - if (obj.isDevice || obj.isFolder || obj.link || obj.contents) return true; - if (typeof XMLHttpRequest != 'undefined') { - throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread."); - } else { // Command-line. - try { - obj.contents = readBinary(obj.url); - obj.usedBytes = obj.contents.length; - } catch (e) { - throw new FS.ErrnoError(29); - } - } - }, - createLazyFile(parent, name, url, canRead, canWrite) { - // Lazy chunked Uint8Array (implements get and length from Uint8Array). - // Actual getting is abstracted away for eventual reuse. - class LazyUint8Array { - lengthKnown = false; - chunks = []; // Loaded chunks. Index is the chunk number - get(idx) { - if (idx > this.length-1 || idx < 0) { - return undefined; - } - var chunkOffset = idx % this.chunkSize; - var chunkNum = (idx / this.chunkSize)|0; - return this.getter(chunkNum)[chunkOffset]; - } - setDataGetter(getter) { - this.getter = getter; - } - cacheLength() { - // Find length - var xhr = new XMLHttpRequest(); - xhr.open('HEAD', url, false); - xhr.send(null); - if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error("Couldn't load " + url + ". Status: " + xhr.status); - var datalength = Number(xhr.getResponseHeader("Content-length")); - var header; - var hasByteServing = (header = xhr.getResponseHeader("Accept-Ranges")) && header === "bytes"; - var usesGzip = (header = xhr.getResponseHeader("Content-Encoding")) && header === "gzip"; - - var chunkSize = 1024*1024; // Chunk size in bytes - - if (!hasByteServing) chunkSize = datalength; - - // Function to get a range from the remote URL. - var doXHR = (from, to) => { - if (from > to) throw new Error("invalid range (" + from + ", " + to + ") or no bytes requested!"); - if (to > datalength-1) throw new Error("only " + datalength + " bytes available! programmer error!"); - - // TODO: Use mozResponseArrayBuffer, responseStream, etc. if available. - var xhr = new XMLHttpRequest(); - xhr.open('GET', url, false); - if (datalength !== chunkSize) xhr.setRequestHeader("Range", "bytes=" + from + "-" + to); - - // Some hints to the browser that we want binary data. - xhr.responseType = 'arraybuffer'; - if (xhr.overrideMimeType) { - xhr.overrideMimeType('text/plain; charset=x-user-defined'); - } - - xhr.send(null); - if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error("Couldn't load " + url + ". Status: " + xhr.status); - if (xhr.response !== undefined) { - return new Uint8Array(/** @type{Array} */(xhr.response || [])); - } - return intArrayFromString(xhr.responseText || '', true); - }; - var lazyArray = this; - lazyArray.setDataGetter((chunkNum) => { - var start = chunkNum * chunkSize; - var end = (chunkNum+1) * chunkSize - 1; // including this byte - end = Math.min(end, datalength-1); // if datalength-1 is selected, this is the last block - if (typeof lazyArray.chunks[chunkNum] == 'undefined') { - lazyArray.chunks[chunkNum] = doXHR(start, end); - } - if (typeof lazyArray.chunks[chunkNum] == 'undefined') throw new Error('doXHR failed!'); - return lazyArray.chunks[chunkNum]; - }); - - if (usesGzip || !datalength) { - // if the server uses gzip or doesn't supply the length, we have to download the whole file to get the (uncompressed) length - chunkSize = datalength = 1; // this will force getter(0)/doXHR do download the whole file - datalength = this.getter(0).length; - chunkSize = datalength; - out("LazyFiles on gzip forces download of the whole file when length is accessed"); - } - - this._length = datalength; - this._chunkSize = chunkSize; - this.lengthKnown = true; - } - get length() { - if (!this.lengthKnown) { - this.cacheLength(); - } - return this._length; - } - get chunkSize() { - if (!this.lengthKnown) { - this.cacheLength(); - } - return this._chunkSize; - } - } - - if (typeof XMLHttpRequest != 'undefined') { - if (!ENVIRONMENT_IS_WORKER) throw 'Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc'; - var lazyArray = new LazyUint8Array(); - var properties = { isDevice: false, contents: lazyArray }; - } else { - var properties = { isDevice: false, url: url }; - } - - var node = FS.createFile(parent, name, properties, canRead, canWrite); - // This is a total hack, but I want to get this lazy file code out of the - // core of MEMFS. If we want to keep this lazy file concept I feel it should - // be its own thin LAZYFS proxying calls to MEMFS. - if (properties.contents) { - node.contents = properties.contents; - } else if (properties.url) { - node.contents = null; - node.url = properties.url; - } - // Add a function that defers querying the file size until it is asked the first time. - Object.defineProperties(node, { - usedBytes: { - get: function() { return this.contents.length; } - } - }); - // override each stream op with one that tries to force load the lazy file first - var stream_ops = {}; - var keys = Object.keys(node.stream_ops); - keys.forEach((key) => { - var fn = node.stream_ops[key]; - stream_ops[key] = (...args) => { - FS.forceLoadFile(node); - return fn(...args); - }; - }); - function writeChunks(stream, buffer, offset, length, position) { - var contents = stream.node.contents; - if (position >= contents.length) - return 0; - var size = Math.min(contents.length - position, length); - assert(size >= 0); - if (contents.slice) { // normal array - for (var i = 0; i < size; i++) { - buffer[offset + i] = contents[position + i]; - } - } else { - for (var i = 0; i < size; i++) { // LazyUint8Array from sync binary XHR - buffer[offset + i] = contents.get(position + i); - } - } - return size; - } - // use a custom read function - stream_ops.read = (stream, buffer, offset, length, position) => { - FS.forceLoadFile(node); - return writeChunks(stream, buffer, offset, length, position) - }; - // use a custom mmap function - stream_ops.mmap = (stream, length, position, prot, flags) => { - FS.forceLoadFile(node); - var ptr = mmapAlloc(length); - if (!ptr) { - throw new FS.ErrnoError(48); - } - writeChunks(stream, HEAP8, ptr, length, position); - return { ptr, allocated: true }; - }; - node.stream_ops = stream_ops; - return node; - }, - absolutePath() { - abort('FS.absolutePath has been removed; use PATH_FS.resolve instead'); - }, - createFolder() { - abort('FS.createFolder has been removed; use FS.mkdir instead'); - }, - createLink() { - abort('FS.createLink has been removed; use FS.symlink instead'); - }, - joinPath() { - abort('FS.joinPath has been removed; use PATH.join instead'); - }, - mmapAlloc() { - abort('FS.mmapAlloc has been replaced by the top level function mmapAlloc'); - }, - standardizePath() { - abort('FS.standardizePath has been removed; use PATH.normalize instead'); - }, - }; - - var SYSCALLS = { - DEFAULT_POLLMASK:5, - calculateAt(dirfd, path, allowEmpty) { - if (PATH.isAbs(path)) { - return path; - } - // relative path - var dir; - if (dirfd === -100) { - dir = FS.cwd(); - } else { - var dirstream = SYSCALLS.getStreamFromFD(dirfd); - dir = dirstream.path; - } - if (path.length == 0) { - if (!allowEmpty) { - throw new FS.ErrnoError(44);; - } - return dir; - } - return dir + '/' + path; - }, - writeStat(buf, stat) { - HEAP32[((buf)>>2)] = stat.dev; - HEAP32[(((buf)+(4))>>2)] = stat.mode; - HEAPU32[(((buf)+(8))>>2)] = stat.nlink; - HEAP32[(((buf)+(12))>>2)] = stat.uid; - HEAP32[(((buf)+(16))>>2)] = stat.gid; - HEAP32[(((buf)+(20))>>2)] = stat.rdev; - HEAP64[(((buf)+(24))>>3)] = BigInt(stat.size); - HEAP32[(((buf)+(32))>>2)] = 4096; - HEAP32[(((buf)+(36))>>2)] = stat.blocks; - var atime = stat.atime.getTime(); - var mtime = stat.mtime.getTime(); - var ctime = stat.ctime.getTime(); - HEAP64[(((buf)+(40))>>3)] = BigInt(Math.floor(atime / 1000)); - HEAPU32[(((buf)+(48))>>2)] = (atime % 1000) * 1000 * 1000; - HEAP64[(((buf)+(56))>>3)] = BigInt(Math.floor(mtime / 1000)); - HEAPU32[(((buf)+(64))>>2)] = (mtime % 1000) * 1000 * 1000; - HEAP64[(((buf)+(72))>>3)] = BigInt(Math.floor(ctime / 1000)); - HEAPU32[(((buf)+(80))>>2)] = (ctime % 1000) * 1000 * 1000; - HEAP64[(((buf)+(88))>>3)] = BigInt(stat.ino); - return 0; - }, - writeStatFs(buf, stats) { - HEAP32[(((buf)+(4))>>2)] = stats.bsize; - HEAP32[(((buf)+(40))>>2)] = stats.bsize; - HEAP32[(((buf)+(8))>>2)] = stats.blocks; - HEAP32[(((buf)+(12))>>2)] = stats.bfree; - HEAP32[(((buf)+(16))>>2)] = stats.bavail; - HEAP32[(((buf)+(20))>>2)] = stats.files; - HEAP32[(((buf)+(24))>>2)] = stats.ffree; - HEAP32[(((buf)+(28))>>2)] = stats.fsid; - HEAP32[(((buf)+(44))>>2)] = stats.flags; // ST_NOSUID - HEAP32[(((buf)+(36))>>2)] = stats.namelen; - }, - doMsync(addr, stream, len, flags, offset) { - if (!FS.isFile(stream.node.mode)) { - throw new FS.ErrnoError(43); - } - if (flags & 2) { - // MAP_PRIVATE calls need not to be synced back to underlying fs - return 0; - } - var buffer = HEAPU8.slice(addr, addr + len); - FS.msync(stream, buffer, offset, len, flags); - }, - getStreamFromFD(fd) { - var stream = FS.getStreamChecked(fd); - return stream; - }, - varargs:undefined, - getStr(ptr) { - var ret = UTF8ToString(ptr); - return ret; - }, - }; - function ___syscall_chmod(path, mode) { - try { - - path = SYSCALLS.getStr(path); - FS.chmod(path, mode); - return 0; - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return -e.errno; - } - } - - function ___syscall_fchmod(fd, mode) { - try { - - FS.fchmod(fd, mode); - return 0; - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return -e.errno; - } - } - - /** @suppress {duplicate } */ - var syscallGetVarargI = () => { - assert(SYSCALLS.varargs != undefined); - // the `+` prepended here is necessary to convince the JSCompiler that varargs is indeed a number. - var ret = HEAP32[((+SYSCALLS.varargs)>>2)]; - SYSCALLS.varargs += 4; - return ret; - }; - var syscallGetVarargP = syscallGetVarargI; - - - function ___syscall_fcntl64(fd, cmd, varargs) { - SYSCALLS.varargs = varargs; - try { - - var stream = SYSCALLS.getStreamFromFD(fd); - switch (cmd) { - case 0: { - var arg = syscallGetVarargI(); - if (arg < 0) { - return -28; - } - while (FS.streams[arg]) { - arg++; - } - var newStream; - newStream = FS.dupStream(stream, arg); - return newStream.fd; - } - case 1: - case 2: - return 0; // FD_CLOEXEC makes no sense for a single process. - case 3: - return stream.flags; - case 4: { - var arg = syscallGetVarargI(); - stream.flags |= arg; - return 0; - } - case 12: { - var arg = syscallGetVarargP(); - var offset = 0; - // We're always unlocked. - HEAP16[(((arg)+(offset))>>1)] = 2; - return 0; - } - case 13: - case 14: - // Pretend that the locking is successful. These are process-level locks, - // and Emscripten programs are a single process. If we supported linking a - // filesystem between programs, we'd need to do more here. - // See https://github.com/emscripten-core/emscripten/issues/23697 - return 0; - } - return -28; - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return -e.errno; - } - } - - function ___syscall_fstat64(fd, buf) { - try { - - return SYSCALLS.writeStat(buf, FS.fstat(fd)); - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return -e.errno; - } - } - - - function ___syscall_ioctl(fd, op, varargs) { - SYSCALLS.varargs = varargs; - try { - - var stream = SYSCALLS.getStreamFromFD(fd); - switch (op) { - case 21509: { - if (!stream.tty) return -59; - return 0; - } - case 21505: { - if (!stream.tty) return -59; - if (stream.tty.ops.ioctl_tcgets) { - var termios = stream.tty.ops.ioctl_tcgets(stream); - var argp = syscallGetVarargP(); - HEAP32[((argp)>>2)] = termios.c_iflag || 0; - HEAP32[(((argp)+(4))>>2)] = termios.c_oflag || 0; - HEAP32[(((argp)+(8))>>2)] = termios.c_cflag || 0; - HEAP32[(((argp)+(12))>>2)] = termios.c_lflag || 0; - for (var i = 0; i < 32; i++) { - HEAP8[(argp + i)+(17)] = termios.c_cc[i] || 0; - } - return 0; - } - return 0; - } - case 21510: - case 21511: - case 21512: { - if (!stream.tty) return -59; - return 0; // no-op, not actually adjusting terminal settings - } - case 21506: - case 21507: - case 21508: { - if (!stream.tty) return -59; - if (stream.tty.ops.ioctl_tcsets) { - var argp = syscallGetVarargP(); - var c_iflag = HEAP32[((argp)>>2)]; - var c_oflag = HEAP32[(((argp)+(4))>>2)]; - var c_cflag = HEAP32[(((argp)+(8))>>2)]; - var c_lflag = HEAP32[(((argp)+(12))>>2)]; - var c_cc = [] - for (var i = 0; i < 32; i++) { - c_cc.push(HEAP8[(argp + i)+(17)]); - } - return stream.tty.ops.ioctl_tcsets(stream.tty, op, { c_iflag, c_oflag, c_cflag, c_lflag, c_cc }); - } - return 0; // no-op, not actually adjusting terminal settings - } - case 21519: { - if (!stream.tty) return -59; - var argp = syscallGetVarargP(); - HEAP32[((argp)>>2)] = 0; - return 0; - } - case 21520: { - if (!stream.tty) return -59; - return -28; // not supported - } - case 21531: { - var argp = syscallGetVarargP(); - return FS.ioctl(stream, op, argp); - } - case 21523: { - // TODO: in theory we should write to the winsize struct that gets - // passed in, but for now musl doesn't read anything on it - if (!stream.tty) return -59; - if (stream.tty.ops.ioctl_tiocgwinsz) { - var winsize = stream.tty.ops.ioctl_tiocgwinsz(stream.tty); - var argp = syscallGetVarargP(); - HEAP16[((argp)>>1)] = winsize[0]; - HEAP16[(((argp)+(2))>>1)] = winsize[1]; - } - return 0; - } - case 21524: { - // TODO: technically, this ioctl call should change the window size. - // but, since emscripten doesn't have any concept of a terminal window - // yet, we'll just silently throw it away as we do TIOCGWINSZ - if (!stream.tty) return -59; - return 0; - } - case 21515: { - if (!stream.tty) return -59; - return 0; - } - default: return -28; // not supported - } - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return -e.errno; - } - } - - function ___syscall_lstat64(path, buf) { - try { - - path = SYSCALLS.getStr(path); - return SYSCALLS.writeStat(buf, FS.lstat(path)); - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return -e.errno; - } - } - - function ___syscall_newfstatat(dirfd, path, buf, flags) { - try { - - path = SYSCALLS.getStr(path); - var nofollow = flags & 256; - var allowEmpty = flags & 4096; - flags = flags & (~6400); - assert(!flags, `unknown flags in __syscall_newfstatat: ${flags}`); - path = SYSCALLS.calculateAt(dirfd, path, allowEmpty); - return SYSCALLS.writeStat(buf, nofollow ? FS.lstat(path) : FS.stat(path)); - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return -e.errno; - } - } - - - function ___syscall_openat(dirfd, path, flags, varargs) { - SYSCALLS.varargs = varargs; - try { - - path = SYSCALLS.getStr(path); - path = SYSCALLS.calculateAt(dirfd, path); - var mode = varargs ? syscallGetVarargI() : 0; - return FS.open(path, flags, mode).fd; - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return -e.errno; - } - } - - function ___syscall_renameat(olddirfd, oldpath, newdirfd, newpath) { - try { - - oldpath = SYSCALLS.getStr(oldpath); - newpath = SYSCALLS.getStr(newpath); - oldpath = SYSCALLS.calculateAt(olddirfd, oldpath); - newpath = SYSCALLS.calculateAt(newdirfd, newpath); - FS.rename(oldpath, newpath); - return 0; - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return -e.errno; - } - } - - function ___syscall_rmdir(path) { - try { - - path = SYSCALLS.getStr(path); - FS.rmdir(path); - return 0; - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return -e.errno; - } - } - - function ___syscall_stat64(path, buf) { - try { - - path = SYSCALLS.getStr(path); - return SYSCALLS.writeStat(buf, FS.stat(path)); - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return -e.errno; - } - } - - function ___syscall_unlinkat(dirfd, path, flags) { - try { - - path = SYSCALLS.getStr(path); - path = SYSCALLS.calculateAt(dirfd, path); - if (flags === 0) { - FS.unlink(path); - } else if (flags === 512) { - FS.rmdir(path); - } else { - abort('Invalid flags passed to unlinkat'); - } - return 0; - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return -e.errno; - } - } - - var __abort_js = () => - abort('native code called abort()'); - - var isLeapYear = (year) => year%4 === 0 && (year%100 !== 0 || year%400 === 0); - - var MONTH_DAYS_LEAP_CUMULATIVE = [0,31,60,91,121,152,182,213,244,274,305,335]; - - var MONTH_DAYS_REGULAR_CUMULATIVE = [0,31,59,90,120,151,181,212,243,273,304,334]; - var ydayFromDate = (date) => { - var leap = isLeapYear(date.getFullYear()); - var monthDaysCumulative = (leap ? MONTH_DAYS_LEAP_CUMULATIVE : MONTH_DAYS_REGULAR_CUMULATIVE); - var yday = monthDaysCumulative[date.getMonth()] + date.getDate() - 1; // -1 since it's days since Jan 1 - - return yday; - }; - - var INT53_MAX = 9007199254740992; - - var INT53_MIN = -9007199254740992; - var bigintToI53Checked = (num) => (num < INT53_MIN || num > INT53_MAX) ? NaN : Number(num); - function __localtime_js(time, tmPtr) { - time = bigintToI53Checked(time); - - - var date = new Date(time*1000); - HEAP32[((tmPtr)>>2)] = date.getSeconds(); - HEAP32[(((tmPtr)+(4))>>2)] = date.getMinutes(); - HEAP32[(((tmPtr)+(8))>>2)] = date.getHours(); - HEAP32[(((tmPtr)+(12))>>2)] = date.getDate(); - HEAP32[(((tmPtr)+(16))>>2)] = date.getMonth(); - HEAP32[(((tmPtr)+(20))>>2)] = date.getFullYear()-1900; - HEAP32[(((tmPtr)+(24))>>2)] = date.getDay(); - - var yday = ydayFromDate(date)|0; - HEAP32[(((tmPtr)+(28))>>2)] = yday; - HEAP32[(((tmPtr)+(36))>>2)] = -(date.getTimezoneOffset() * 60); - - // Attention: DST is in December in South, and some regions don't have DST at all. - var start = new Date(date.getFullYear(), 0, 1); - var summerOffset = new Date(date.getFullYear(), 6, 1).getTimezoneOffset(); - var winterOffset = start.getTimezoneOffset(); - var dst = (summerOffset != winterOffset && date.getTimezoneOffset() == Math.min(winterOffset, summerOffset))|0; - HEAP32[(((tmPtr)+(32))>>2)] = dst; - ; - } - - - var __mktime_js = function(tmPtr) { - - var ret = (() => { - var date = new Date(HEAP32[(((tmPtr)+(20))>>2)] + 1900, - HEAP32[(((tmPtr)+(16))>>2)], - HEAP32[(((tmPtr)+(12))>>2)], - HEAP32[(((tmPtr)+(8))>>2)], - HEAP32[(((tmPtr)+(4))>>2)], - HEAP32[((tmPtr)>>2)], - 0); - - // There's an ambiguous hour when the time goes back; the tm_isdst field is - // used to disambiguate it. Date() basically guesses, so we fix it up if it - // guessed wrong, or fill in tm_isdst with the guess if it's -1. - var dst = HEAP32[(((tmPtr)+(32))>>2)]; - var guessedOffset = date.getTimezoneOffset(); - var start = new Date(date.getFullYear(), 0, 1); - var summerOffset = new Date(date.getFullYear(), 6, 1).getTimezoneOffset(); - var winterOffset = start.getTimezoneOffset(); - var dstOffset = Math.min(winterOffset, summerOffset); // DST is in December in South - if (dst < 0) { - // Attention: some regions don't have DST at all. - HEAP32[(((tmPtr)+(32))>>2)] = Number(summerOffset != winterOffset && dstOffset == guessedOffset); - } else if ((dst > 0) != (dstOffset == guessedOffset)) { - var nonDstOffset = Math.max(winterOffset, summerOffset); - var trueOffset = dst > 0 ? dstOffset : nonDstOffset; - // Don't try setMinutes(date.getMinutes() + ...) -- it's messed up. - date.setTime(date.getTime() + (trueOffset - guessedOffset)*60000); - } - - HEAP32[(((tmPtr)+(24))>>2)] = date.getDay(); - var yday = ydayFromDate(date)|0; - HEAP32[(((tmPtr)+(28))>>2)] = yday; - // To match expected behavior, update fields from date - HEAP32[((tmPtr)>>2)] = date.getSeconds(); - HEAP32[(((tmPtr)+(4))>>2)] = date.getMinutes(); - HEAP32[(((tmPtr)+(8))>>2)] = date.getHours(); - HEAP32[(((tmPtr)+(12))>>2)] = date.getDate(); - HEAP32[(((tmPtr)+(16))>>2)] = date.getMonth(); - HEAP32[(((tmPtr)+(20))>>2)] = date.getYear(); - - var timeMs = date.getTime(); - if (isNaN(timeMs)) { - return -1; - } - // Return time in microseconds - return timeMs / 1000; - })(); - return BigInt(ret); - }; - - var stringToUTF8 = (str, outPtr, maxBytesToWrite) => { - assert(typeof maxBytesToWrite == 'number', 'stringToUTF8(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!'); - return stringToUTF8Array(str, HEAPU8, outPtr, maxBytesToWrite); - }; - - var __tzset_js = (timezone, daylight, std_name, dst_name) => { - // TODO: Use (malleable) environment variables instead of system settings. - var currentYear = new Date().getFullYear(); - var winter = new Date(currentYear, 0, 1); - var summer = new Date(currentYear, 6, 1); - var winterOffset = winter.getTimezoneOffset(); - var summerOffset = summer.getTimezoneOffset(); - - // Local standard timezone offset. Local standard time is not adjusted for - // daylight savings. This code uses the fact that getTimezoneOffset returns - // a greater value during Standard Time versus Daylight Saving Time (DST). - // Thus it determines the expected output during Standard Time, and it - // compares whether the output of the given date the same (Standard) or less - // (DST). - var stdTimezoneOffset = Math.max(winterOffset, summerOffset); - - // timezone is specified as seconds west of UTC ("The external variable - // `timezone` shall be set to the difference, in seconds, between - // Coordinated Universal Time (UTC) and local standard time."), the same - // as returned by stdTimezoneOffset. - // See http://pubs.opengroup.org/onlinepubs/009695399/functions/tzset.html - HEAPU32[((timezone)>>2)] = stdTimezoneOffset * 60; - - HEAP32[((daylight)>>2)] = Number(winterOffset != summerOffset); - - var extractZone = (timezoneOffset) => { - // Why inverse sign? - // Read here https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getTimezoneOffset - var sign = timezoneOffset >= 0 ? "-" : "+"; - - var absOffset = Math.abs(timezoneOffset) - var hours = String(Math.floor(absOffset / 60)).padStart(2, "0"); - var minutes = String(absOffset % 60).padStart(2, "0"); - - return `UTC${sign}${hours}${minutes}`; - } - - var winterName = extractZone(winterOffset); - var summerName = extractZone(summerOffset); - assert(winterName); - assert(summerName); - assert(lengthBytesUTF8(winterName) <= 16, `timezone name truncated to fit in TZNAME_MAX (${winterName})`); - assert(lengthBytesUTF8(summerName) <= 16, `timezone name truncated to fit in TZNAME_MAX (${summerName})`); - if (summerOffset < winterOffset) { - // Northern hemisphere - stringToUTF8(winterName, std_name, 17); - stringToUTF8(summerName, dst_name, 17); - } else { - stringToUTF8(winterName, dst_name, 17); - stringToUTF8(summerName, std_name, 17); - } - }; - - var _emscripten_date_now = () => Date.now(); - - var abortOnCannotGrowMemory = (requestedSize) => { - abort(`Cannot enlarge memory arrays to size ${requestedSize} bytes (OOM). Either (1) compile with -sINITIAL_MEMORY=X with X higher than the current value ${HEAP8.length}, (2) compile with -sALLOW_MEMORY_GROWTH which allows increasing the size at runtime, or (3) if you want malloc to return NULL (0) instead of this abort, compile with -sABORTING_MALLOC=0`); - }; - var _emscripten_resize_heap = (requestedSize) => { - var oldSize = HEAPU8.length; - // With CAN_ADDRESS_2GB or MEMORY64, pointers are already unsigned. - requestedSize >>>= 0; - abortOnCannotGrowMemory(requestedSize); - }; - - - var runtimeKeepaliveCounter = 0; - var keepRuntimeAlive = () => noExitRuntime || runtimeKeepaliveCounter > 0; - var _proc_exit = (code) => { - EXITSTATUS = code; - if (!keepRuntimeAlive()) { - Module['onExit']?.(code); - ABORT = true; - } - quit_(code, new ExitStatus(code)); - }; - - - /** @suppress {duplicate } */ - /** @param {boolean|number=} implicit */ - var exitJS = (status, implicit) => { - EXITSTATUS = status; - - checkUnflushedContent(); - - // if exit() was called explicitly, warn the user if the runtime isn't actually being shut down - if (keepRuntimeAlive() && !implicit) { - var msg = `program exited (with status: ${status}), but keepRuntimeAlive() is set (counter=${runtimeKeepaliveCounter}) due to an async operation, so halting execution but not exiting the runtime or preventing further async execution (you can use emscripten_force_exit, if you want to force a true shutdown)`; - err(msg); - } - - _proc_exit(status); - }; - var _exit = exitJS; - - function _fd_close(fd) { - try { - - var stream = SYSCALLS.getStreamFromFD(fd); - FS.close(stream); - return 0; - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return e.errno; - } - } - - function _fd_fdstat_get(fd, pbuf) { - try { - - var rightsBase = 0; - var rightsInheriting = 0; - var flags = 0; - { - var stream = SYSCALLS.getStreamFromFD(fd); - // All character devices are terminals (other things a Linux system would - // assume is a character device, like the mouse, we have special APIs for). - var type = stream.tty ? 2 : - FS.isDir(stream.mode) ? 3 : - FS.isLink(stream.mode) ? 7 : - 4; - } - HEAP8[pbuf] = type; - HEAP16[(((pbuf)+(2))>>1)] = flags; - HEAP64[(((pbuf)+(8))>>3)] = BigInt(rightsBase); - HEAP64[(((pbuf)+(16))>>3)] = BigInt(rightsInheriting); - return 0; - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return e.errno; - } - } - - /** @param {number=} offset */ - var doReadv = (stream, iov, iovcnt, offset) => { - var ret = 0; - for (var i = 0; i < iovcnt; i++) { - var ptr = HEAPU32[((iov)>>2)]; - var len = HEAPU32[(((iov)+(4))>>2)]; - iov += 8; - var curr = FS.read(stream, HEAP8, ptr, len, offset); - if (curr < 0) return -1; - ret += curr; - if (curr < len) break; // nothing more to read - if (typeof offset != 'undefined') { - offset += curr; - } - } - return ret; - }; - - function _fd_read(fd, iov, iovcnt, pnum) { - try { - - var stream = SYSCALLS.getStreamFromFD(fd); - var num = doReadv(stream, iov, iovcnt); - HEAPU32[((pnum)>>2)] = num; - return 0; - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return e.errno; - } - } - - - function _fd_seek(fd, offset, whence, newOffset) { - offset = bigintToI53Checked(offset); - - - try { - - if (isNaN(offset)) return 61; - var stream = SYSCALLS.getStreamFromFD(fd); - FS.llseek(stream, offset, whence); - HEAP64[((newOffset)>>3)] = BigInt(stream.position); - if (stream.getdents && offset === 0 && whence === 0) stream.getdents = null; // reset readdir state - return 0; - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return e.errno; - } - ; - } - - /** @param {number=} offset */ - var doWritev = (stream, iov, iovcnt, offset) => { - var ret = 0; - for (var i = 0; i < iovcnt; i++) { - var ptr = HEAPU32[((iov)>>2)]; - var len = HEAPU32[(((iov)+(4))>>2)]; - iov += 8; - var curr = FS.write(stream, HEAP8, ptr, len, offset); - if (curr < 0) return -1; - ret += curr; - if (curr < len) { - // No more space to write. - break; - } - if (typeof offset != 'undefined') { - offset += curr; - } - } - return ret; - }; - - function _fd_write(fd, iov, iovcnt, pnum) { - try { - - var stream = SYSCALLS.getStreamFromFD(fd); - var num = doWritev(stream, iov, iovcnt); - HEAPU32[((pnum)>>2)] = num; - return 0; - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return e.errno; - } - } - - - var handleException = (e) => { - // Certain exception types we do not treat as errors since they are used for - // internal control flow. - // 1. ExitStatus, which is thrown by exit() - // 2. "unwind", which is thrown by emscripten_unwind_to_js_event_loop() and others - // that wish to return to JS event loop. - if (e instanceof ExitStatus || e == 'unwind') { - return EXITSTATUS; - } - checkStackCookie(); - if (e instanceof WebAssembly.RuntimeError) { - if (_emscripten_stack_get_current() <= 0) { - err('Stack overflow detected. You can try increasing -sSTACK_SIZE (currently set to 65536)'); - } - } - quit_(1, e); - }; - - - - var stackAlloc = (sz) => __emscripten_stack_alloc(sz); - var stringToUTF8OnStack = (str) => { - var size = lengthBytesUTF8(str) + 1; - var ret = stackAlloc(size); - stringToUTF8(str, ret, size); - return ret; - }; - - FS.createPreloadedFile = FS_createPreloadedFile; - FS.staticInit(); - // Set module methods based on EXPORTED_RUNTIME_METHODS - ; -// End JS library code - -function checkIncomingModuleAPI() { - ignoredModuleProp('fetchSettings'); -} -var wasmImports = { - /** @export */ - __syscall_chmod: ___syscall_chmod, - /** @export */ - __syscall_fchmod: ___syscall_fchmod, - /** @export */ - __syscall_fcntl64: ___syscall_fcntl64, - /** @export */ - __syscall_fstat64: ___syscall_fstat64, - /** @export */ - __syscall_ioctl: ___syscall_ioctl, - /** @export */ - __syscall_lstat64: ___syscall_lstat64, - /** @export */ - __syscall_newfstatat: ___syscall_newfstatat, - /** @export */ - __syscall_openat: ___syscall_openat, - /** @export */ - __syscall_renameat: ___syscall_renameat, - /** @export */ - __syscall_rmdir: ___syscall_rmdir, - /** @export */ - __syscall_stat64: ___syscall_stat64, - /** @export */ - __syscall_unlinkat: ___syscall_unlinkat, - /** @export */ - _abort_js: __abort_js, - /** @export */ - _localtime_js: __localtime_js, - /** @export */ - _mktime_js: __mktime_js, - /** @export */ - _tzset_js: __tzset_js, - /** @export */ - emscripten_date_now: _emscripten_date_now, - /** @export */ - emscripten_resize_heap: _emscripten_resize_heap, - /** @export */ - exit: _exit, - /** @export */ - fd_close: _fd_close, - /** @export */ - fd_fdstat_get: _fd_fdstat_get, - /** @export */ - fd_read: _fd_read, - /** @export */ - fd_seek: _fd_seek, - /** @export */ - fd_write: _fd_write -}; -var wasmExports; -createWasm(); -var ___wasm_call_ctors = createExportWrapper('__wasm_call_ctors', 0); -var _main = Module['_main'] = createExportWrapper('__main_argc_argv', 2); -var _strerror = createExportWrapper('strerror', 1); -var _fflush = createExportWrapper('fflush', 1); -var _emscripten_stack_init = () => (_emscripten_stack_init = wasmExports['emscripten_stack_init'])(); -var _emscripten_stack_get_free = () => (_emscripten_stack_get_free = wasmExports['emscripten_stack_get_free'])(); -var _emscripten_stack_get_base = () => (_emscripten_stack_get_base = wasmExports['emscripten_stack_get_base'])(); -var _emscripten_stack_get_end = () => (_emscripten_stack_get_end = wasmExports['emscripten_stack_get_end'])(); -var __emscripten_stack_restore = (a0) => (__emscripten_stack_restore = wasmExports['_emscripten_stack_restore'])(a0); -var __emscripten_stack_alloc = (a0) => (__emscripten_stack_alloc = wasmExports['_emscripten_stack_alloc'])(a0); -var _emscripten_stack_get_current = () => (_emscripten_stack_get_current = wasmExports['emscripten_stack_get_current'])(); - - -// include: postamble.js -// === Auto-generated postamble setup entry stuff === - -var missingLibrarySymbols = [ - 'writeI53ToI64', - 'writeI53ToI64Clamped', - 'writeI53ToI64Signaling', - 'writeI53ToU64Clamped', - 'writeI53ToU64Signaling', - 'readI53FromI64', - 'readI53FromU64', - 'convertI32PairToI53', - 'convertI32PairToI53Checked', - 'convertU32PairToI53', - 'getTempRet0', - 'setTempRet0', - 'zeroMemory', - 'getHeapMax', - 'growMemory', - 'inetPton4', - 'inetNtop4', - 'inetPton6', - 'inetNtop6', - 'readSockaddr', - 'writeSockaddr', - 'emscriptenLog', - 'readEmAsmArgs', - 'jstoi_q', - 'getExecutableName', - 'listenOnce', - 'autoResumeAudioContext', - 'getDynCaller', - 'dynCall', - 'runtimeKeepalivePush', - 'runtimeKeepalivePop', - 'callUserCallback', - 'maybeExit', - 'asmjsMangle', - 'alignMemory', - 'HandleAllocator', - 'getNativeTypeSize', - 'addOnInit', - 'addOnPostCtor', - 'addOnPreMain', - 'addOnExit', - 'STACK_SIZE', - 'STACK_ALIGN', - 'POINTER_SIZE', - 'ASSERTIONS', - 'getCFunc', - 'ccall', - 'cwrap', - 'uleb128Encode', - 'sigToWasmTypes', - 'generateFuncType', - 'convertJsFunctionToWasm', - 'getEmptyTableSlot', - 'updateTableMap', - 'getFunctionAddress', - 'addFunction', - 'removeFunction', - 'reallyNegative', - 'unSign', - 'strLen', - 'reSign', - 'formatString', - 'intArrayToString', - 'AsciiToString', - 'stringToAscii', - 'UTF16ToString', - 'stringToUTF16', - 'lengthBytesUTF16', - 'UTF32ToString', - 'stringToUTF32', - 'lengthBytesUTF32', - 'stringToNewUTF8', - 'writeArrayToMemory', - 'registerKeyEventCallback', - 'maybeCStringToJsString', - 'findEventTarget', - 'getBoundingClientRect', - 'fillMouseEventData', - 'registerMouseEventCallback', - 'registerWheelEventCallback', - 'registerUiEventCallback', - 'registerFocusEventCallback', - 'fillDeviceOrientationEventData', - 'registerDeviceOrientationEventCallback', - 'fillDeviceMotionEventData', - 'registerDeviceMotionEventCallback', - 'screenOrientation', - 'fillOrientationChangeEventData', - 'registerOrientationChangeEventCallback', - 'fillFullscreenChangeEventData', - 'registerFullscreenChangeEventCallback', - 'JSEvents_requestFullscreen', - 'JSEvents_resizeCanvasForFullscreen', - 'registerRestoreOldStyle', - 'hideEverythingExceptGivenElement', - 'restoreHiddenElements', - 'setLetterbox', - 'softFullscreenResizeWebGLRenderTarget', - 'doRequestFullscreen', - 'fillPointerlockChangeEventData', - 'registerPointerlockChangeEventCallback', - 'registerPointerlockErrorEventCallback', - 'requestPointerLock', - 'fillVisibilityChangeEventData', - 'registerVisibilityChangeEventCallback', - 'registerTouchEventCallback', - 'fillGamepadEventData', - 'registerGamepadEventCallback', - 'registerBeforeUnloadEventCallback', - 'fillBatteryEventData', - 'battery', - 'registerBatteryEventCallback', - 'setCanvasElementSize', - 'getCanvasElementSize', - 'jsStackTrace', - 'getCallstack', - 'convertPCtoSourceLocation', - 'getEnvStrings', - 'checkWasiClock', - 'wasiRightsToMuslOFlags', - 'wasiOFlagsToMuslOFlags', - 'safeSetTimeout', - 'setImmediateWrapped', - 'safeRequestAnimationFrame', - 'clearImmediateWrapped', - 'registerPostMainLoop', - 'registerPreMainLoop', - 'getPromise', - 'makePromise', - 'idsToPromises', - 'makePromiseCallback', - 'ExceptionInfo', - 'findMatchingCatch', - 'Browser_asyncPrepareDataCounter', - 'arraySum', - 'addDays', - 'getSocketFromFD', - 'getSocketAddress', - 'FS_unlink', - 'FS_mkdirTree', - '_setNetworkCallback', - 'heapObjectForWebGLType', - 'toTypedArrayIndex', - 'webgl_enable_ANGLE_instanced_arrays', - 'webgl_enable_OES_vertex_array_object', - 'webgl_enable_WEBGL_draw_buffers', - 'webgl_enable_WEBGL_multi_draw', - 'webgl_enable_EXT_polygon_offset_clamp', - 'webgl_enable_EXT_clip_control', - 'webgl_enable_WEBGL_polygon_mode', - 'emscriptenWebGLGet', - 'computeUnpackAlignedImageSize', - 'colorChannelsInGlTextureFormat', - 'emscriptenWebGLGetTexPixelData', - 'emscriptenWebGLGetUniform', - 'webglGetUniformLocation', - 'webglPrepareUniformLocationsBeforeFirstUse', - 'webglGetLeftBracePos', - 'emscriptenWebGLGetVertexAttrib', - '__glGetActiveAttribOrUniform', - 'writeGLArray', - 'registerWebGlEventCallback', - 'runAndAbortIfError', - 'ALLOC_NORMAL', - 'ALLOC_STACK', - 'allocate', - 'writeStringToMemory', - 'writeAsciiToMemory', - 'demangle', - 'stackTrace', -]; -missingLibrarySymbols.forEach(missingLibrarySymbol) - -var unexportedSymbols = [ - 'run', - 'addRunDependency', - 'removeRunDependency', - 'out', - 'err', - 'callMain', - 'abort', - 'wasmMemory', - 'wasmExports', - 'writeStackCookie', - 'checkStackCookie', - 'INT53_MAX', - 'INT53_MIN', - 'bigintToI53Checked', - 'stackSave', - 'stackRestore', - 'stackAlloc', - 'ptrToString', - 'exitJS', - 'abortOnCannotGrowMemory', - 'ENV', - 'ERRNO_CODES', - 'strError', - 'DNS', - 'Protocols', - 'Sockets', - 'timers', - 'warnOnce', - 'readEmAsmArgsArray', - 'jstoi_s', - 'handleException', - 'keepRuntimeAlive', - 'asyncLoad', - 'mmapAlloc', - 'wasmTable', - 'noExitRuntime', - 'addOnPreRun', - 'addOnPostRun', - 'freeTableIndexes', - 'functionsInTableMap', - 'setValue', - 'getValue', - 'PATH', - 'PATH_FS', - 'UTF8Decoder', - 'UTF8ArrayToString', - 'UTF8ToString', - 'stringToUTF8Array', - 'stringToUTF8', - 'lengthBytesUTF8', - 'intArrayFromString', - 'UTF16Decoder', - 'stringToUTF8OnStack', - 'JSEvents', - 'specialHTMLTargets', - 'findCanvasEventTarget', - 'currentFullscreenStrategy', - 'restoreOldWindowedStyle', - 'UNWIND_CACHE', - 'ExitStatus', - 'doReadv', - 'doWritev', - 'initRandomFill', - 'randomFill', - 'emSetImmediate', - 'emClearImmediate_deps', - 'emClearImmediate', - 'promiseMap', - 'uncaughtExceptionCount', - 'exceptionLast', - 'exceptionCaught', - 'Browser', - 'getPreloadedImageData__data', - 'wget', - 'MONTH_DAYS_REGULAR', - 'MONTH_DAYS_LEAP', - 'MONTH_DAYS_REGULAR_CUMULATIVE', - 'MONTH_DAYS_LEAP_CUMULATIVE', - 'isLeapYear', - 'ydayFromDate', - 'SYSCALLS', - 'preloadPlugins', - 'FS_createPreloadedFile', - 'FS_modeStringToFlags', - 'FS_getMode', - 'FS_stdin_getChar_buffer', - 'FS_stdin_getChar', - 'FS_createPath', - 'FS_createDevice', - 'FS_readFile', - 'FS', - 'FS_createDataFile', - 'FS_createLazyFile', - 'MEMFS', - 'TTY', - 'PIPEFS', - 'SOCKFS', - 'tempFixedLengthArray', - 'miniTempWebGLFloatBuffers', - 'miniTempWebGLIntBuffers', - 'GL', - 'AL', - 'GLUT', - 'EGL', - 'GLEW', - 'IDBStore', - 'SDL', - 'SDL_gfx', - 'allocateUTF8', - 'allocateUTF8OnStack', - 'print', - 'printErr', -]; -unexportedSymbols.forEach(unexportedRuntimeSymbol); - - - -var calledRun; - -function callMain(args = []) { - assert(runDependencies == 0, 'cannot call main when async dependencies remain! (listen on Module["onRuntimeInitialized"])'); - assert(typeof onPreRuns === 'undefined' || onPreRuns.length == 0, 'cannot call main when preRun functions remain to be called'); - - var entryFunction = _main; - - args.unshift(thisProgram); - - var argc = args.length; - var argv = stackAlloc((argc + 1) * 4); - var argv_ptr = argv; - args.forEach((arg) => { - HEAPU32[((argv_ptr)>>2)] = stringToUTF8OnStack(arg); - argv_ptr += 4; - }); - HEAPU32[((argv_ptr)>>2)] = 0; - - try { - - var ret = entryFunction(argc, argv); - - // if we're not running an evented main loop, it's time to exit - exitJS(ret, /* implicit = */ true); - return ret; - } catch (e) { - return handleException(e); - } -} - -function stackCheckInit() { - // This is normally called automatically during __wasm_call_ctors but need to - // get these values before even running any of the ctors so we call it redundantly - // here. - _emscripten_stack_init(); - // TODO(sbc): Move writeStackCookie to native to to avoid this. - writeStackCookie(); -} - -function run(args = arguments_) { - - if (runDependencies > 0) { - dependenciesFulfilled = run; - return; - } - - stackCheckInit(); - - preRun(); - - // a preRun added a dependency, run will be called later - if (runDependencies > 0) { - dependenciesFulfilled = run; - return; - } - - function doRun() { - // run may have just been called through dependencies being fulfilled just in this very frame, - // or while the async setStatus time below was happening - assert(!calledRun); - calledRun = true; - Module['calledRun'] = true; - - if (ABORT) return; - - initRuntime(); - - preMain(); - - Module['onRuntimeInitialized']?.(); - consumedModuleProp('onRuntimeInitialized'); - - var noInitialRun = Module['noInitialRun'];legacyModuleProp('noInitialRun', 'noInitialRun'); - if (!noInitialRun) callMain(args); - - postRun(); - } - - if (Module['setStatus']) { - Module['setStatus']('Running...'); - setTimeout(() => { - setTimeout(() => Module['setStatus'](''), 1); - doRun(); - }, 1); - } else - { - doRun(); - } - checkStackCookie(); -} - -function checkUnflushedContent() { - // Compiler settings do not allow exiting the runtime, so flushing - // the streams is not possible. but in ASSERTIONS mode we check - // if there was something to flush, and if so tell the user they - // should request that the runtime be exitable. - // Normally we would not even include flush() at all, but in ASSERTIONS - // builds we do so just for this check, and here we see if there is any - // content to flush, that is, we check if there would have been - // something a non-ASSERTIONS build would have not seen. - // How we flush the streams depends on whether we are in SYSCALLS_REQUIRE_FILESYSTEM=0 - // mode (which has its own special function for this; otherwise, all - // the code is inside libc) - var oldOut = out; - var oldErr = err; - var has = false; - out = err = (x) => { - has = true; - } - try { // it doesn't matter if it fails - _fflush(0); - // also flush in the JS FS layer - ['stdout', 'stderr'].forEach((name) => { - var info = FS.analyzePath('/dev/' + name); - if (!info) return; - var stream = info.object; - var rdev = stream.rdev; - var tty = TTY.ttys[rdev]; - if (tty?.output?.length) { - has = true; - } - }); - } catch(e) {} - out = oldOut; - err = oldErr; - if (has) { - warnOnce('stdio streams had content in them that was not flushed. you should set EXIT_RUNTIME to 1 (see the Emscripten FAQ), or make sure to emit a newline when you printf etc.'); - } -} - -if (Module['preInit']) { - if (typeof Module['preInit'] == 'function') Module['preInit'] = [Module['preInit']]; - while (Module['preInit'].length > 0) { - Module['preInit'].pop()(); - } -} -consumedModuleProp('preInit'); - -run(); - -// end include: postamble.js - diff --git a/thirdparty/libzip-1.11.3/build-emcmake/src/zipcmp.wasm b/thirdparty/libzip-1.11.3/build-emcmake/src/zipcmp.wasm deleted file mode 100755 index 7729523a678dce62982c3df7732e1ab252bb6175..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 412967 zcmb@v2fS6q)%SmPIhT967w!Q;u7I*eP_GdL6#=nvhys=*7Gg*=L82HvU^#F}OoD)d zh`sk-v0;t9Vec)8EzxM~u_U%=qKW>$zqR){_oDbd&-;1*3hcA@o>{YIX3d&4YyD<+ zVcP6{qe7t&y_Iaadpv)BG=KMKeqr}yzW?MwVfScWG;jAJ5ByOwe=g6``Sa(^&ma4b zNIA(h&k67*=I6XTUH(Q7l_|;cHb5z(2{or(h~|=Gp8xh|h27(MlvXJ0-lQb{9|bfh z4aJIXei5VaIB)*E0P0QFi{TmE*r?1FwYAXXN$1 zNOAr;o#_KL_iu06;e9iOyS5_>Ul~+`{@q;(|*~m*h)o&WY>&CO}Kb~d1 zkkycf1!c(oqmFau(|lep9+8-)GT8l=_o|{*=y?5 z*}tB>$F!LBYNX&uw2?zjK13ajW%sgtR__Sk#h{r4;szQ${pr(J6{yJK1hHS^S6h;)72 zr<3-6(|@&>UQO%B80tc4W-ZINR7G{2J$?F&LLV{KG_~V5v!{1Vt;{a;)qVG=`_Aat zXW!|1(5weNrq0}-wy!-~RnNNcxBmgt_p33{yOX~;`_0^EzZtyvdQZ*Tch7xh6`Dk) zOY&I|*>}3=d<)Y(V0y1TRkNwTnBI}KQq$CFKi_|rv))hiR_)R$v!>79=Qq=*?md0l z0TlK|@>ng$JOYHDt3?m4JWb5mR>3@Qv7 z)J)>ugW~QMHTCZq$AzXSio%+`2N&YzK0|s(P0idl@i1wMk^xE2rryz7gx?EKCPq~95?k}r$@2aJ#LBz#PBevDJcwYZ|cA9cj7{{o+u4%Y8uq7 zsVR-)s3~sh-b9JLi^aw$9u_w?MR8M9hzh-XH+75FZ%WoL78;{Mu@E&Ddcs2g;r$EE zO|8w%BN|bZNzV;7=o5A8-@j*%ZY>)oeaPEXh&WKjLQ|nR zD)cM_l2Bm0F&9-6o)UB}|8ZX+U);1-67{38_^)qM(lns&fMmdc0fnYG38aZj@CVz? z1zLn#D%jM!fB!=7W?Hj%UtZIEr0CbLxe)sCJ_#Z8%jid=MkiyS*woZFj$nl1no9mk zgds%oO^Ra&H1!>_>87LNUdd*K-u@6eObkgOG;O~57Ex2^2hFq?9T07@NwFb{4v7zm z8+s@6qw<0UX)~8X_D{FV;~owBPTzO`S-*}83>p;1zEfSb?9s9Rtl5P&M0?+9`|LM$ z+N@vfp?`i^SZ%ebQ}@{qshz$@$JD*%?6*h9KKt)CwPV`PXHJg_jk7yuO`kPu|5=5H zlZL(anmK3o-i5E?zFi~{ncZUs1kh%mC98eo1=2iquUXTl7yk7vFMmD_z4h;;ZKXM< z@3&{+^JKND-*}1qQ=jRDPm+G$e2FIAe~-dHlY!sJCT{kaGmGKaQTQ}z+Ak`UqvkQI zuQABNy~zVf`?}k{7QG$a5#1RrkM54{iSCW=i|&seh#rg{i=K|&h~AC9hz^a#UIAEBzGtGBrhd@NnTC5 z-+W8I*OJCU>9eG?G-Ns9vK>}p*=2yZX|28M(Z{ze*Vcr7ZkW{;%|5BZcU@&7xPEWJZiBPYaSK9 zl0WLfqn_5&dW?!+&mXn&sAMH;9TmTwKkCJ!-qzcCjf&sPAFaZpKGw%p85MuvkD}0* zN2}VZ)^}9=NuH`7kJ_xw`i+YJrAP6&WSkfu6IRRk?_WOY;6>DZfURczZ9wVxg=&d` z)N$abctm-ASltHN>J!5nmYs z|9ITW|F^+CM;5w&?Z1ZZjbD4xy?YdAkCL=|v0L}1?#&dx7Ij(M*0#0srfT77A*^HT zw8zV@rEa0U{K^Bmu50UBd+89>q(3RXW8Z1ddL^t!z1ABQm&%V^qDl`fm%=a}4XcFp zZK$nZx}cV4xDBsS9Z^2-K~denHn0($R5!E@OD-S<@wO4=jI@!qQQp}tje5ECHr6)Dd#a_Vr z-?#7C_bcHCww?W8V%UND>}WgKj@7VJJkEC7x`zhO&bD)ni^<&n(0*9sVi&mBWmIfA z7e6Xnn8KqemGEPmY(KIecQW)7`$>(VOxSmY)NZz0jhUaq%+Ktn_Op&K)poV1m9V?* zUOK~d!8DTo9M<-*J?!T;Z9v%5_N);*w@=@-ux7WMAJ6N}wS}whd+~P&zq@f|BA8d4 zpUhjWrdy)&c}zVPSv&(3lVrNZ5-F6km^jckiKV0Bp*}#9_IPM0!d-(Etzi<{B|^J& zv&L#@vL+2aQk)f`UOZ(pDN!oc(h+)~aC%gvQKXexv-hR)Q-#or0(w=XMZzlOBC4Zg zeL6y4TgCcTTx+0i3R(JoO5aBMwhC%uwa}mR1FWA7=s+>_w}F+gIvlTItJ@lkr7X`N zwvMgW z5r*1#Y-lA6qn!0^n5{o5rh(Kd!wTZT^C7rUm zoo!bWubhGHGY0A-rh^f)z5SpPcCa19z>ccbPLSQHqTv!IXX$@P<#w?j+Aba8M;Z_n zhR2RJrF53_`eV5IiT&7qGAZneQ0<1;?^X>zr3OD$4KyBp)|HQ;VXBJRonm&cglRU7 zK~ZE-Otn2a7!p6XJu6|lOx=a zX$MxqukF_={5STSrQx^b5n*omV6W&wHp_l%bM2tg&C*ZJ8NGQhHs9vi{7P8BAhHEa zn2meVY)vo8l51t>m~<=CAwe2Jp$>1c6d~Ns1T0O<0GOeXqHof;Yco1B~!8rfx0HC(RLm)BD78Lr3+ zyE3vXqp&QpWzn*5Ra9QOPzJ!&wcfo(M6Zp?!@_luT@xAqlJly_u8!>5sC11uA;tBP zT~EFKC{rr@P9@(E+3zB|flj(nByNg~KR410p2o$FiruVtw?uYxWVgWct;%^@WVc3k z8$91Go^P-5OoQA}Ymhr5yE6)RMRpflFRyWZca7_NME2gOyk593vU?)qU$QQb?C!|! z?d1CY$nJ;hr=05tRQ7|BJrLQ0aQ%=-JRBK+9)fF6BNO8hSg=Rbojy1o)$OC)cA20a zi_jO3NA_4`k4KZj6C(U%WKTr)B$aw9vZtt$*JNmTI?_n~y{P=2QvVRyAENNbh~fN9 zWKT!-Ow1Sf z5P>%sp%#zBT4vN*c#~(Ee%|sT-d2jYq4BrK{uYIIRK&ZHy%pKJ6!BhU??m<)82UOw1$Uf|BrH`EY$D;l***}TwlPLUC)IW{vqsTsm z`e%{-GqTTk{jbRWMFmRX-((PzpGWq2v^0F7(fpstzKHBU(aiAQ$Vl*CGJF}?mt-h} zuOj;@D!n7cnB`m$kB`E^u`P)0;COC0ge8z264L^1$a&2d#_GXEdb235ghOLHG!Bbn zcsne%g|QtLcZ4OeEskvouMdyy@L0SZ5!(@QtthqNkueQ$RBT7ab`%MZ7Qv(APBnZ? zY{!t(S1aMzm>xbh&L-F6VmppE+2A`qMlw!_?F61=f_^c1oPv`aVM2!>QuxwAfCK?XDHbYeMJ^ ziB(udu2RMPORNvMJkLy4jxf0@&sMF3e%3FyPW!etAKN-$9ZcC6v$lc1DJHESW z%k+)>KIYoW-zNU9!QX+k+Q(&z|N4@e3S#yi$OVPcA=CUotldJkmiARJ7H`^FdFwWS z>c3Z@{;4%rw1mdcEy~m_ox^mm6?AGnN5uy~#4A35is#j?hTh&>y*2+()J)9ZHtL^R zp9mR^S5Tf_0Jd`KyF_iV+GslSix(QKJ|HO5F`hUiW|8M zkhz*#f7yFCT`UOTWL%F?ltXF^CED;M`TUXY#XIanIlj<3YMjOWBcG!+#ecEKWt#8AtVT8BI zh`dcY!Uj;>kOl6B44b^{4(#fUL}BFkXD)x{J7HrRX&dhnMnPmWYueG(Fvf|D$=bC; zrnQof9X|r=daP|aPb=4@VRPHO^tMa$78zr#Q)OtEC~_Q&*l`m=8Jgp*Y~!o4u9-A6 z;xMplJ+U>nZd$uZx*7qO@$@s);5V{Xuc+mLKm|d8rzd<`%&?b zcpQ42Mj8^nXWwHz`u%0t*4}8?)~dsf_5<5-a@YyJcD9{t=PK6qWKCuyI)K%v=iSA2 z!NmU2vM>eGKQ6apSf}=rO4!wQ#jyUNO~KCIt#k|)TES&!MEI%wwDh1i#m}T&QtvxeT>=#z4 zgc%sr({nMHg0=0Lu(p+Hzbw=KWIDk1w*zKkaPMc;3I_Kqo0)aWY@6Ml`KLk$dZr^6 zk^{n=Eb}kzml)x{T80S@=>svrxs1RBcP4+UyD4F=&9MXR*Y+D(;iZeR$(43G$PTI* zr1M;S<~jM{(QaXW`KzxI+2!-G%d4`-o%2Ivb&L0f{$L1}INTrV=J=t^Z;NG;V{unx zYV+q{lnTRJ9fhsUbx1f|_Nz?nBQT?m%;_E_i&k`x&Ql#Dx>&ea+s8upxCq-DW4nTx zjlqspj$vK8*lUuJKOxVE$$esk#f??GOg6W(eTqzLkv}z0b(+YZ?l$-7kjIYZ%^8r# z-X0n-r7^3|;`VIWJmhIlC)zLA%QhML0e{ zmUN$Rw=&&L?t5fA%Zx6_j9xC&8B4l!q__F~IkOMA#e9FQ8T!bC_Re@nhBKx#o`ZT5 zKP*~U&=}P+p=A&sfV>%b1!Gd|G}}HT8UZG zyQGw>mPRa;RL<>zc@vi8r;;LGC8LLbe%&w}62t2xM%ajT zlQtY&-kP|Yb+-}o^F}*`k(BFmaaF$MdX~{PT8YMFS$r;T!=XIJ#va6Uyy;RVV_YDkNASzq(Xv<0%XXA2t+oHAk)->9pCQb=y+)X(Hi7Do3iZbQeteA;Y z(PVd9u{~}>j__R~N4hH^N<{@n8gG}kXJ+XUpAWn9y1T3`LAx;wpkD^s02?@QWg;VP8j%_k`@ura{+b!zgYk3@-YyKGptWp>tyPuX zme-*XVIfi>!_8~tQlj95*JwR!$9P+>^r*MSP#fyfISl58bu!l{tnbaTeyvqJN-+X= z=!l$;4KiwO$!!xhf)7FxHnNJqY+TEP(1?xE85;y5GyaKCPSvXAvGBq zNDm=L*64!Q9-HJynhPNkKh4&xyB73Q%f!%wMj*UqJ*%M=k!sDmgRZlZlJzQIbLpZ5 zd3ddKi7U5NpiW$^P(JxEz3P*@0Q=$|a#=#Oilt>rnw98_hCZP!CxvubTTUvMuToBG zKu&5PKAY9cB{Wje)~FC!Bglr(4a%s(GF6shYHL;rLlHGD#&W@HIM@idv1(ZA+zz2y zL#UQZT~Xn&ESE|8)Qan5ncJ;hq}I)7cvP$%f4fse;`DA9i;8t^JsXz$-jFw2zusal zZtaMh^MdzXSx`<|C@e!S-Lz1xwQ*j>QFPO2T5Jr9g)ufls|OpMdD5~n(NW@VY<7pR zi5yD?tr(V}kuq{y=H$jfu1u?qw{bR}<;51PBFedAE@IhGR2(a-cw5*CLt<+lZC%m2 zVTeyXwpDBMJyEd{aU^8V^0huomR34TjxDsJ5D`gVPicwnvm{HfVTD%BlG0Q@LrNU| z4ms3}(>=R$In>PP?|N7d>1S5w?oMt+Qb#+<6covK0)YQ61u)InV5?|dwksDr00bh0`%QW@v!tUD~YKXEQ=ybki6vXpWIw5<=Hp6i?$q=)Ro`bI}kk zOhU#5S7sP#r??4I4RIKy=;}qsD}d6 zOoVFaW2;uNO!~T6(of@t{ly!$>kLFK-}zf5QohOoD7Pz@WBX2W`#jWRBXd5b5e7u%>8 z2J?afe-&<_>>=1ETsC8>agKeeDKORe9kFiluQ=Q$wyBNk<&g}}jS?V9i}ZkPHj7Ai zv-|~gm9+boFgK2|KW^d*ZUdOZaZt$RRKd9`oe}4xPuQAzOu#uXp@R3IS>A&_858+>Bo8N;z=OYuJ#k#bz<0!R6n)d?5EZ6 zGf(xida9{e`McZh>Vs*z>w^Q~=L%Xc!*{^_NSp>l=L$sUqAWUhP}m!%!rng#`#`v2 z`&gxl$AF}5xC&+}Dz^+TfoI*{_LrP`WNvb(l75y|ZB{kRc1C9BjEo5#)}g-i2pu(r zdHe(6m(4f|4zy{wBM!8wUHg}y9eMLMF+2wpHzxeneye)SWzIMV?Ksa4vUweZ>j>D* z2@4{e0>txv(+dkJmomyZI1AckKH)>ODqNTc=_>LQ6yzu1&m#1Lry&9Uf@a(W2vjZ` zhbh|<_Z=)@#f7t=8FxWlLXMEzK#bu4fX@-c=Hv@Filq1lobzMcX>c@oYL#lQN9%AX z97pJaP+b&o7~o4d0q4evkvHLqz9xl6yW9s(i#5Mub}8{XJ!q5v;8c9mavUs^|A2=h zEa_0b%K-S~s6;p%8bfxu&M zBl)wC01gGk-ZFrC;p5jx$!Egt?j5DDbcS3!< z-=%PzdT6=xJVKrXe&((O@5FoEiEs~j(&lCwMnmF0k-3jYC3ioPt`zQ92o2W)UWNyv zN%#~f_#t@{@F`TYupAb6XZlCvxWIqVj1!?EU&3P%5jbc(Ax{ILw+?v@9#;e|cO6J@ zpH_%X!MESj=YMdfM-qIKB$bH2l@o>Do>AznL!md`JV*BD6?T(Qyr5tm@wds}jK6vG z%?Y(D`c?>k@j%;O5cro>msb>mBj8pg0_Ots*O~yeD-!2z^;*uz>#D~aip3Fp>rljv zH*dnoTZ*iy9&hI<|E5-Wha2K-mGG{jZUo)P{l3C+gxoq5aC=Vyw+aC_Vr|O(fg)~M zz-?Lh$VrV1ALk@LQ7imY@iwAs9SXPc=2NnNrdXR=;a?hP|5nJ2aN0qNwL#-^1{&eE zs2*;sD%|Gn`lTL!r9c}&w;5qU49^G0@O&^qs6%4HYk`njtcV&>w?%P>LTbd(4&^mL zw8g}=3JR?q76-y=OX6jUsX=+9LTX+@Et2NJv>8Owr~=V5B5KD#?N|lgh@Dk}$IVoQ z;}w)6G&Y&Q8O#wdBY<{dTqQ#0opX``ZCR%fF7q-@Q9^=Z{5d6_L4*vB355|UJDoBJ zf|2kH%JA@)I6f=3v*K`eoN0q|Vmn87&31Mi&W(wg5{NW@yt;xmI4`#IRCawvI6p7` zf*2)mVa$whQEV5+#=jTD1H#4rdQ7+^PqtKST^ifc*e->w%VOirWw3R5Y?pgOUJ;{6 zu8fVGSCV2`Z2Y-0o)fN$jXzh!c7EJNkz|#>I%}4z#Tv4GO>EcHqm9?9VXlkq+Ssn6 zpzC82{4O^BT#pgzswHcJ8)CbGT-gkDqjKF8+l{f^M6R2a>z3H~b2GU-je_sDQZKue zC)pHL3b#pmZr9V>$#zFjZj0?Ms$_vS+beyKO1n3KP@nmdI#P%dKo{Eh(Pm%EH*!c69O7&o}i`DPN*&ky2eQbXq%^x9Re!%TdOd#NL0#J3#=6SPFTT@DK93Irqfw1OW7YcLjMV20HoX@ zRb|D{V5@g6ag8kHAYEF537>0LI?0_#fy9BtPIO>clSUfMqrnwc5JU1tTC=tJf$sg} zNLD1bJAW17P57&4iu%fXBY89X3&U@ImJdb`}1Yih7pdayF? zF@Ys??)@XY?QJVJGOt-j*8+yUxn0FpsfBL)sF=sf_>Z|hRA!}?71u8>9)xu1c*W_$ zYN(0+6xqKb_pz;p)Uvc5$P=L+@zL}fofNoRRqLxpA+1v`MA8f87cN=^fi+meuVIa~ z2;_WRJBP zw6((8;}*;-(h(|c10HTr$=y0xHWqnHS>lbrmAG-v_$X2VuskdB0h=Wo z4FjN>ZOqPqnIrrD}lwFjn6u$tVMsLjnksP(Y9pKUq0+&bKy|-Q7S9wt^`bvkWsQ%^ogohjLdwJ*O?}--Y@AJm|fv(HTz%qYeJM083GXj;# z8n7C6rs_LqRc9Sot9rHq+@)6aALUh_qAOMZabESG{tLt*-q=%DYpAFA8{c4cRqTmiP?%mG^w zJ3q>@Px0(OHoz)X+)ioccIp7Y@*~@=5`J24%(h5W0D>cqyL<9!Y~7evMZw@LL&^LQ zIQZ_R1umg`WQ71+Q6bZ_LiX}p4i2vZ4o@?{N(b(z={3O09=Y_l$P1;c`(|19^Q`*= zQrW*64j^mQ4zOwmo~V6oRt1FtR;49$(3Nwn!{$r?A}%%YOZ!zd9Ej*2D3vrHEm5>z ztJf0`sI*95sFdGkrOfqG4#K~5P&Le>6bFfS$m{f5{7x18OsYL&p7DPOSO!7?>db`^ zr7dy*$|6!7O8?_-LY_1&cFNS^$mt&@m_i@j#gj71Cp%{QWC(x*PvulP zMSi6YIhIIz8riz+V2YCh53aF+j|qp<*^t7w#Eb5@nHV7F$M@dBAJrJlvTPxl1?{yhT-fMeuNU zWXt6!>Ja9Hr1wzhz3wV<_ftmeKA}%kpZjxK4`j3+%rV8@Fx6|+(n?Y>*M6lV&Fxgw(Uhyy`(Z*CcMZi(?V|E9`#Q}yx@KTyzZ z3vcUb9l1RuTTi~l^u0KV)~ij|F$q_WS*_t_pkD*cXa$13PK-|zHy2IZNw%!)U}4i> zO%*2V?wSxZUwXu8n-#*+3QB|b5e3KKlvq9{+48Z2X}XjL07ap%lJ#M32GKBqxw#Y3 zK$n7P04XRkj({n#bWF0PV+U)O{JAgQUXSzC&GX~17> zu*|Io&RIl*4=G>cAev`2r4bzrA4Q%9TZflTGb zRL*Y9il*|sBfitxd`eu@-nnc^ny>E@Ec}%NPrd~-z-ri7nmXbH`$VBAR%?3b1{79; z9=5AnBw)=h-QF=(7MVSk5dbV&Pg#?mm++sGl{}easR0#R?`8B2H~}FoNj8*~{XqJs znD3_}4p;;c04OP!Q?<>2^5HJC12M4xqR5tFl?m8{owpbGo7Jgn9TYHVNG71Gw>E#4 zM&JA2%V#D9H4)8ZriSa%o$xr_hDX9!YhXLXyh?NMszoNHUbXluUvpP!knYxVA|8$? z^Keu{FJF51%0F056Abq!l{Vi*ixzV)~o)?y&6Rp$zuQhC<#JPw(zvPgDv03h^g zJ%3e;gW9?_YzDSusx60Z(>hlmA7sIf@U*pfXhsI?gI?^Ohd&IND#*5>=- zM8WvJ|C8{IEl8=LZylmp2NeP_999?<8t|*Quc$*K(Ynn+=HOG99WQfEVeYZX+Of6yp(s@=3V2diYNakpO($ux{1$5`QIRO}4FQqgg zu&0zJ^mo1z%pr7*Of&vafDPPdpsJL;Co0HsbMjvKlhSzk&Db5{Yfz=hTxTo{)svp4 z4{5x8*$>p(d}>q_P(w9|YBEtob{y_ELwZGZ8OX(Dp_{RdsKlK+UfJ6stqQ8NO*5n> z0xBUe26tMScF!JqT|A#yYRMkvb!k&dVKh8Dx>=eU#x{uRz}FSwFj?CIX8{I71LRt< zv9 zd1KI$)90C$lwZVDjzGPPEaQ9{Z zIZXd0W|!W~H>=|0bW~B6tIHPd#@z3W8(FT(Liz6()V6pzI$O6bE~6qZ%uzq`lqkkaHNU=l3R5QSrae<@`bZHDG9USP&cDrZz8ktR z8e72UCwI_fF3IRbo;#pS^4t}*Z5Tslw`}ZV!MNac&jin3Fm!Uk!!0=}v@m#m4&U)> zjv;gKHCeWjsL_P{oGi0uSOMQT>e}aUoe;p-pQAZk?d*x%Z9W;VP+JZ=tviNhAaU(2ta}wdbQ9BPeBSJSn!}XttmE=ltBlayR`PYP zn~dQMfp*+NjkZxG;Oe#wQBh^X;oWE(SMUUlvJEJXyAj%dfXiIakVY8@rSjz$iHFgM z4*imyF94pYF8#0QOpitzTft$pX-)i}YbZ7$7vD!N>bTg3@_F5}3Gy4kl(T@@OYxkh zD^hWiu874FU6G4LTydUuUztcSXlN0Q2JOnuV<|&@!9t#)GIkjTJ(n>n&=O0!XU5&+ z6~b4xidH9{yia*EkZzK7EkODVz{cfyJE}+1Eaq&5X_nxLiW`9_H0GkIWe}!SzWs3}#FZMjD_n1PVhcXb>VFSxFAKuLPHfcED^8L@og9 z&cKfQ_-ysXP%1ji+6`PAFxG5UB6R-;Lu)*``>B*J2}4lK^ZqL!IAF zOVj&aao_M(p^wK%sy8Wr)fwJ^D2KCH`J)9YeY3J*$u-*M6&!*a+Q#?>x5$~u3fYn{ zshf2b%(_M^dzeC9F`gFqEDwSy4NaaOaBly5TIO z;)}Y2RpUA&{HVO35wMyzwe4a*D*ZK6`fPh6$B)MrzG4n{86;}aj--ZNMNZmGK1BN| zKEzDEroztdJgy%mQ39;iSljCM^K6_=)sm{wH@=ncc5`dGuy8mF8#8=#vqpQ$@TlBlTALbmTGpGa2Zxht#QBN;bqUZK~Mgzs9 zXvqldF&E|4(@K=%i-{JLm@%KF*1N(&eU-dRsle@VQ{(*9Bi(9FMYz+IS3*tdE}xuv zt!j#D*{@4LtyST_O?p^Nv6{{rmtgi>bZ^c#A?(R3OvN6Z@r=yF$^p;1`0{2h)3Co| z8dm2x#(0+%96#AsmMoR~801r6T+@pAFG)WE&W?%Sd1qru3XARM`2e7YO*iHydsVo_dJ=TYvJKf9LH=#HTM-i4490l$V(>xyp*C{0TA?Ig&0>94dAt|A~L0^M+ZwwfVNRZ%u0mVv_m*)FAx&-vrpn zO7&aUM$UyN9iMN@SW&cGyJ2Gg52A%-?4reNlQ*(VWkjpnijC~R|M6pJV(>hR8JASl z&)yqWXuuqzMcf@L6z#Oqdp93$0@P=SrTG!A;_#91fiu5pB@2VB^~veP&@X z7SI4&b1n_+85nNE3Muw58QdVQ${=1A+Q(Z4^jM7TGuXZ}7e}gRz>zwvkZ@=g8T{0& zs*IgwVZ?ZCB?QF37*l6G+i)({u4lm5k+cx#;6-S@E4s3Se zISgwTP^;?YkS`pfFwZFb#&okFO0(TC#hUA9MfO)VZ%5hmSPk8Leb=o%V`CSop_*Fmce;Z6e zL4Nmr;F{80h+k+REH;#G&F62A6S^Ls{53sZ-^4jk4CWbnK(B{pYUkB`?YK~qaf&xK z!nBj~c3s(8#NPr~P+C`V2ZdF~f5m^T3_-R9voyu(scCd?!TxGN&o>~;=L+v2O^9I) zwON*(88NKUY-`l!#G=qy?ulz-aC(7w{Fa6xEL(kH;tjF3+9TEAl+Ihm;9T3*%~jHO zvUltP-a4@G(#B3(izVxN|LI;Rcw{Qo5|#0~{xU|Z7r}l`8$OpITeJZQ&^Mlgp;6k&zs5Z z+FghcL?}!Q8sY=q$~|di$Y|djrwMkN9Xjg6=cyIXprJYXs9)UN!N6Ing=LQF=m!lB zE!D;>pS32efIcB7_>&b(oEVV38#p-uY#bd=C}Yy6vIztZqD;{eHh{pIUbIH>U|y^w zdLTE%+BKV8sJm3#s%o`r1ey|MdRU7nH`2bNOC#zS@SWtwD>gKH=za(-Y&^;O2)-Z1 z;+CbD7?Hi$0HPbx{~K26Y4&@MEqG**00YI3>~z;}j3|ua(WnX_mC?Be_YIB zXM%0!^XRwxG}{cHrdV*Frm(Jf`B*1Nx!|r>pZlOL-R|SuqnT8UHg)*XgdntXEpX-{ z&_k_C{zm4|o;f0xlZdQT`dB2$*^5$YTm4DchSKCBJQ8@#6noc;?VAyi@q+D!Se)kY zl5asHu;28jhGErkxm2Vuc@l$~0cH{+nz=3m5GBCOO7`M=lK zB`pa;_e?e8p9|d?K+=Y-&10i(wO;zanH8*CYx6r%qBU4+E&sP`?{C|lpT_~|;>KmL zNTfPfT0|7I8$XXB)ScE7R)|`AcWXN}L2cpJIMu<&hQ|y5nkl-|TNf>5R@plAp_BR` z92ilyifccF!Q-Xg9V8q`{KgbFwSE1sOrm7RYR=(C`e3^g+*=Q=V z_Q)2R+1evtX!>wv-2nr>(46qKg(jT(>00wqZ>ctgx)q)(Uc{n<)k1C6q3ORK5N2RI z>eza_LQrb#a8lO{aja^epXO-I(K$hhRUN=Q!1^=V;VECXVN&y^1&dMp#L;HjC*CC_ z{B+hRbr}5r&?v5uG%$&*N*8 zEB5h9nmk`-|L^56n|!2}dyc2NE`|#keWj&{q1OxtzV-5USE^Mg*ZufQLSJR@g~~!L zRF*QpJcA!r;Ek^g{jvPL!Iy-A%HR?Bg>u|3rJ+3oO>Bd_2b3YOws6Pok}y~qd>&mG zaM>aaPBJ73K#30o?I`)3!jpeZj^&|M`EYPa!Y3tCcch1}qstvN-uMrBRl(FE-*o|uc$ z)~(HVXKR)oHTC>Ij815)B#qA8`2YW9boydegk_Z>E=UGdz!N8RT~jdG%H^AmvOA-0 zS(sPmq(Z)RPhVHPcY){ zYdSZxByv&D<=QKt7p`P5U#OBh`Z}w`jMLiut~`}#{TzaCaq{I|mZ~0K8?~~!<*9Tj zarnYqCQAZPZpUQ{G1|6mg@xGUmD|N?lP+6?vZ{XV*dy6Ol$Gns(*169;Q-VIlbXC` z@t5=)CpB&mOLP4%EEdss_xH=A5A4aRVJLr#WUcu^oAM^pGeNQRS3Xi*B?h&nV?w^{ zcXsW@ea%I!yb_&seq(+vq?VrAS(J50jdn3FyEwlaX_ZI3Wc=v(^fmbFyzvE}crNA4 z6$eVGlC>{sd#cN=Tsxvt2UI@notVd(hse({F0_u%H;V1JLZl6|gIJq; zucn~3`$%B=GE;TBmufFDjx_zP##MCvYn1-sR`ehS zj0fH(g}|_M{oNUO%QE48lGZ?xmwxY=v>1BNE3-~{RTjD&KRJO2oC0thCs7USIS1?2 zD}Y890oFY^0n~cwT_-S{1Mgg=PvGFmT%&8fvr(Ppk<`q=R0_a)C0ON%oS!CB`b1>t zgH32{KA5l@pG9De?CDVRrMLZcL0&5b=W1OvBy2_#Z>BaF3vS zEg<|Mv``p-TL{v4k&ce2(K=K|Nr<_{)LpebOkn<{fcatY@JM+5!=nxzGf9FYfH{Na zKavb7V176~+D}kFnyv91G#LrUe@tY@Qpj<_@YfskctP-03P^r01$6$2lmd=F)!~vS z>3oO|oen{QQz+$B;rLYwNdD9K!CA!-U4Mq7`Oknp$n`Ttp8+DY1K54Mq*gyDzU|8!i0mwH(QnjbKKU0Z_U zzru^ZGB18vWXmZ2Diset|0OB$gesKL&aQ(>Py~?BJZrAY-94eWgxh<{C*$<83 zf&A=;iq3xMBV@my#{OWGf&1&a;StqNXGu!cWz_-f?}Q(7P9_QN|2WkH>!0cnh$nOi z1RJsaeD3-}(6xRnC`?&{4+c zb^Y^&j&#@f{*MlJFa6Vd>A%tV1wb>t^n(??j24EkqVa{WAhxd}&Xw4aBPVFDLv*Y= zCr(s3a)L7^qzg#I$rC!uoe`5u^%#zzV4C3ci9>Y&#f}_5LFOeogTj`O`S2Ki4kvqo zR7WWH5#(-z6o0Z}{oKbNiClHL|h>A?=Id9_Rcxm8V3N|t6PzsKwU=x!c>V8_xCMKOsp+-6* zrjt3Af-@@4j3;s~1*M#=!znn5f}KmM$~me^#urCYoa^PBmzQ(CPJ~z*E>Jla>eLC2 zpXksj6ePHaayUrhVlRi2CN7~ylLCiNxTd=_KZoKcoI^pGm+K@7PNArVD^%tcon>+y z#g$&>vb;<`i(+ZGT4i$B#ML@)q9bs^1PQLCOpcql&da=Br%b3!j+;Q~sok^I;joE> z<0j}7nM0bRZj2dZH{~Zz%;m%h65Oo5sSUC=4xperIdXziC~l2+(peLnt?TDX+z!`w zi0eB#x#o}w2)F6v3GdP6F>-r%%*hj+F2P~CehdXK?}&>wATyagEE*33eydq}n#dlBAy_++Vi!)NfZ*dg zYJ#IDs^JL{e4<8hiq58Z(i@MXDZHOJm4cs7$E91GO^&1})Q_Z?#E}$GdnV>o3XYp# z!;`2zD{7SaoVa;THFB#{ygV;nUWo1a*j}J=e^Ty0$M&b#{!H!{mHWj`US5jrCFkWY zvHc}3-Rum!ECybQ?d8~Bi6@1>io~n2{guN~An}?=yw*wLbv64NvArJK8#Mcyu%z+z zR%~xM<+o$w+1qhuD(hu?_*-m$>ul3^REu}KO^Kak+24)rU9wLO@5T0BT)M#-dtXJr z-&yqERrEh%`+IEvpy&_cvV{-D{712U5Zi~beH3RZH6!|QY#%#MpTzb_T>3ynGlu>d z+dn%Q`cw>k>I_A434Ese&$!nS_W#n&zi9JG@wjB1dT>(sH_v2=e;yk@KZorv)M)>S z?Tgs{L!3+hk^r-;TWphI`a>U?Tqr&9TG;WVeTLpVLL)1h>RD4m(u8Ht?< zrLz(v!C6o`TLjK_tT*{e;T%5d!w){`Beu^=?A*l8OD2Z%6I%L$#LiFbf}|QQq~cWl z!dlf!;iAMY@{AWJcCmNYCCWn#-H{3_+UTK`;=*j0&LL*{D}yE+NisROP}GPPa`*C%#81k&(35x4 z=HK`@Phx+A<~ySKPL1Z2@UGhEy~N&4>^+42{e&3h-^JBGu=^7Gdt(3S9FHHU9v}F4 z#J!M}`(a`qdR;!!%a3>oghQT*JCqgkEk7m0nrkGAk1@%`V#{*%~$$@iu5eOaqkDSU+@a;_Gn zwjeFNp`vpV2d8#0p2tEsB(+1*(!X6zEleqDAzN`qjK>U2`Du&Nox`CiY%EUg(9{;E z)o@r!DTk$XWwt~gsyRHhC8-^rR>BbwQO%D`?MN@-sML6NRGNEdqHwf|IU0!iP;I-X zc}9d|JX1?JHZ}en0}GQxrB67H!YJ-I6-SdDudK(D)!}rda6)P)P)K7qQT=^VYA2?4 zQaUl5ES676?c~%>f#p-h@~LUfsyhuT>Xg&H)G6T%)!@w3&PeS{YH*fr&rWHBb5cy8 zb4B{R)W}7Kvr{`KwR2PB$ysUXC_k^~e6e-D*dpl#DL?IkbV9gLTwIjeg{fTx7Z;0* zi@hdMxI|el@kVHGxC zYBy2d%~^Rj*UBq}TT;8lGv1oot^6p2+futN4Y!K}NZr9#7j(z5WNElFHR?s#6nke{ zder6rE|s`EwYySVo=ysPtHgU!yF0aeDDhr3)V+B_-KU1SPYorBXbkr&>jSCXpV|X3 z`=GKul-h%-Jw(=rmG$8otBv82)E-Goe~@@L^Xb%##G@kdSZa@^_824{7l|kM+(K$k zK;lV}c(RkkQ>i^wCy}lHTEf$*Jx$BI#)DT<`)gYIqqp*_s^@E|y_(u<&D%{Pwfrpy(w1S z%v<>_wenjoj&dYu0Kd&6jgr54DO18b8W!)S_D*W=GD_Y{jTF3mFD)%{_3^%Fysw>n z44uEH{ItKPJBEL#*bh?sM`|BX?1w7$!@Ss!l;xupiv2jXk6ord@$w7dpQ^>Dsd4|$ z)ILp1A9`t@>G8i(`z*D8QMrGsl+RQ9cWR$g$`>l-i&{HR3I7rE|4r>bsr?t`zs&3O zRcc>(VGD}JvjxSvk~&zQ-a42a5JTOwq6RsHM+*8aEZRaMKo%Aijc1FBrN_Lv57lP0 z#hmm}w8h0q;jkhcEh*YzMO#v2m0X0Q!;6_xKSI=x=t8|E99gs@IU}Ma9949QI=W~_ z742wp9#e$(V~ci7(T?TzI1xHdgtC4*K4~AXFKmj7CNrM zCxvqqpggx|=M?SS;@oha5}n7sv`N{5Qd?Qh7nSpiHNG!!e%r%^TxDlpR5TuOcTutQ zgfn%qn7X8B7Z>dkm|7~PE-l*9qFoA8mxcnxb7>WTovaPYKr-?RwAqyQ1;z zcb#H$gZQ|?`N(?b#-iOw(#hebqTN(1U87=rfDH{dtFW6p3%jLgw>Z^Xi*{==92;vSUxI+n?@NVJGq5@fW>G54~y}W44i$iG91qHj4{ViV> z9dq4-P?&;ywV+!qn5TeVxA_hJyp93YVy+WeqnN1g-pG)61a`Gos1L)Qpr|#V0TkBs zZLq@%?JJ4#A_JZP)RXL(7FxN67&Op=j%^#L(6nrT64q!PP175j8Zq$m?x5-PNliY9uAQVN&$^E7Wg@$6MwSn%EhU1L za#jG*s}6!#+va=ARLvd8-t}YNs;HKwJEJrF6so!Uc$)nX!GXH^VHe(b+-fe{%lM3U z4eyH7wDD23{AXQ|g-;UF?v96=nF%$c zOg5e8=nGws_^$MP7n)%uXJ&XthcuV&UC8i9yi-3ZH1EST$|m@Z4XPmMme+m_FofUT zvL7LNh2~fFYqS53`K_(X5g4d`XbBw-nmvnLldR@xvkWGi0z z?E-z%V2u@m@&GNZn{_XJ;(A_Is^e29tsJ{363+wSM=!bN(Ff8qs@^^IKr^URfiPb5 z_!SAB()OCZn#EW3Nxb$ss`9VuxO0?Ie@r-mVD=6J#xEDHkCR>&hSgDJzA1V~;HMEC zvf?KnJpGzV?;2=P7(&@YMkjky72iw0X>=B{k}*M0Ub46j^7Jhc`FNbI$1u#2drZE> z4v~4;29XJ2I2?E=z6#!a18D$j7)}9UL$B9H=%9_N;H*Z<49VVn?S#CHGFxM9Gy_Ir zoIUZ+yOhFMSDIs$TMe=4_!OnZi6;v?wJ+$B%Cez9)7O3ai1kq7g)8K@_&; zc5C)PXZ<0<6UKk$I{+qf#L2{kD6s~cM0%_QC$-IZa{1>S7KZKU0N*9MW9LU5s^JH; z)DOItBDaImyDD2m_`Sh)$~s_Ye(tKiufT_^G`c03_qd-|Fpx7 z=&*>uJ6~L{hF!fWcJ(s!U5wqdsn);kFpCYc4chR!8SBug{A3I4rM0@j$nJTYPP1vY z`{<-SZ-t+e^5=eltJiT4nrlzn!}eSlro+HqHr@8xG5i7s{J73)*vA>zCuaZ|u2@Cl zGXwFNX)|o*gs?BE_v386{iY9v-a`e(Q2Jmvi>!R>MJF;6a(NQ15vp zoj028f0H17?Mn~21~^peLLX=c>#m7nv4Vd@?upSK7EMs_KB@=r zs|4?zgCi8!qbrV7<|BzoW*jL0QQ2oB3*l(qxhxXK=g-kmuSK%F-275>zk%RB88ZPi zqWt;h2?G2?{Ev@zA;M4Dg!fNSgr8H`DVy+qT|7>XBp;_J-cO)^mID0^g!&N@eNsS$ zb0R81|7^IO?(zQ9RAl}N1V95P*GWFage$Exg$2;e&sl!9!byIVeU3tnq(i5I1;{dh z2JnwYoF_CuMQ8wCT@aO?^TxeUMO+9=elSTNPWPj6FBUuiRKTQgi7L3X%gKHel6^t~ z;;7xr6!W}10vSLAU*DU|OTRKdfM43 z*xl6o9)C`I+^hDuFaH2#MF#+qg}3)drPm}|;Q_VpgZV*#lLQxt!oxXMpvpmjwC^Kc z52%2F8+eDT;05%7342#yfvUbT z@ji_}r~8N9{~m!2aH;YU_JKY#AtE2@)9$=#wtqz7ql{nB0RRO)h6rE)SpEbw&_4wW zpn}bSBlz$HMSZ4EPw?4^Dxd&5=3j{Irq(d5uqpTe`u}sK0So|G;0w}#2KYP*|5XG1 zC+iz;A-+GM7Wzt`p8yO{4GUuO9vp)T01Plun1DlKvNiKX27QTwb4>mF6N`wO5&lPK z#$yX(^C^FE?8LwUEEXDo15B0SaD7h#AOIyV@$eu#jujT*NIh)^9l(d)Nk^a`Ou*4( zBmCb00AOrkldL|+il^h01^@t%fE)mDT+GKQpn5_^)!P*Sz)3{!^d)!l5cdZOa0>M} zRR{o*Hv<&V_bHKjfovGI~Bmmfe3<;nQR-CKi&WY7A_9z; zS5OPb0zk1D7y@6XpbWqOg#E7~KRAE}zyM~G30y}S5CPZ5zyYYm z^;x5Ni8o{=-l%U-*o~ySNqGSQ+@vo~Ow7JLLAGW<1V8{N_BMe4_@+cv5CHTU#g58~ zy+c{=RGPc={Rz8^G|Lt3C;CsZ%e(XyAb@*fwZ*+z`L(EjRZ)MmSRVDqsjDwekiQx1 zKzK;BA6DF-P(RvCAP3eRIg<`6XgdA z@H%t|`Sa(sxO9|Hz;CKe-h`?!@C5(4e=8;oCfa{f{GW(FVKC8tr^Y23_g#hXiSZNf ze~%FU`}#TxVSVCYF_Hc(vY&_Wy{QT7e-LNhb(AU*{szMQU1sBwV*jLsG|_&~La;xR zdV>7f8{+$)(li4J>{HUevYHXNC&9mAk|;iT$;J<&{htX&(Cg4nlj;lT5ZE6TPa=0M z#y^1=KUF2PPptn-sC=cWepRdL_F+L{3z9nL2XpiU(fux*Pg2;wfxtgvMsNxMX>GA1d4}xuq~^{Vlqhn4&&;oc1hyn`fvdOi2h?m3Mn9zz!6F53GXK`02q=K zBIb$wbAJ@!O0WQ&?VJMvINMo89a}4E`#^O6xK8E)0W<&uSb_Ny^z4K>^P7MUfFi(v z69o*Y0t|rS$(T;2a7$SB0G0S;%>Kggexg(-=GvU`*y`CzzpC7 z@Cq-%8|Z|nj!vk8PJp*pYP><{uYxJaU@M0wxJG%G3V4S15*7#m65bOmp#nr9AGQBbN#GKID}2E750mkr zt`ZiiAFGi*Q4K&GU`FPMgDQvvfgM0AI4VIuKqx?ufBDVZ50ld8K0<&cU~AHPQc?dF zKmlmN1Yil!1Bd`T;S1{eA2rK=YR$5}Kneft?13*ub+1{1a%gm1fDe3APL@chY6(sAOY)Bpa$R!f+A#ig#~HXsp4>Q zgHgz;a)jUtAQL8lRG=!L6hJH-1(l;ys&cf44k>GUVH1wYeY08;?6p8`?{;0#U{ z+Mx7;xBuzNa(ay&M&mco3K^}lg+~CMkgch*XXgm4P#*{9s+@DXvX1zk$3r=t&L@W4 zSjR44&?>xoQI1`h2zEiq_^jY1&N31G2EzIkpbDTAz$(y!m#2Um04acIO@)rQOmGDt z4yD&MS!=QDO>?DFqU2?H$ycSuGw!ac#jSxaVA;axIC!{5SO!oGlfW-f%5^!G0NYj# zbA7F0wg<%kfT3R58${!Vtg`hLC5VO_=@vAupbhyd_hzNMnXvWE5yJ*-0}pNi_HwI= z1K0q_;WjFDyNbKLRvi6shr0GoK^?#~RKi_e9cfu%8dL~q1|HtMLXX@dghQRldsXzk zUt{tZ^D#4h;YuV5QdC&k6OQaqzrI0AF}sAO@^s74fI~IQX**6*z|mzz%!|K!69~9Y90; zr8W*;R+g8$aP^8v0(y8wh=)peHRtNJ9Pd!)>UEKQ-MMnMwigECjl2_7ldXV4&>lb_ z-b}$jOal2pd;BfOH((~K>hkx6ddTGp1VjS>h|$S4lB<6R z3;_mWXP^*J|4?8EU=Y>tk*I&vrCuMaUY`gB0py_q{6Rb-S3n>>^+G;#AjD@iK-GMq zAW+erJjqf0?{xg@_ylr5#6kcOx(EL7g+LHHfrWsJFNKBx_<(&ZF23r*#R5gX0YNM% zf`Z_)Mnz_xg^I^7a?ry<$30|ccgzoma%upu2Um*OU}JoPgjh__tRx`B{5lX~0ze2# z1^{t*5d=gP+(YhhIkH$^Gy{A%%CjC_#Nz_)0Wicd#R-5Q$a+ zTmUniPz)y)J3THyAWm{3fF4fPD_j9ZKoCA@fPerFaVkVWJY?qj>De0~5C0!&Zvtm^ zRsQkc?_Gu&W?-&3=qMwegJ`3GkRl+c%pLU3gt#FhqV>b2!oiknkkpTI5ZBb)cTHT; z6!%O`&3$P#x6;fte=TNeX<3>6-=F84@4a_etpET2N}8GP_j}HH&VHWfd_KLZOWn<%!dD- zvIn;Smf?1?2e`oLv@kWZeQc;ZLPG&pxI>5qte|{h=M$g`{C5`v!CXR9dyop@6(9xv zyPH=S+^tggrmp}h@ZY_FMeG6tS?}Z3)~v_=enA)9{mA-2`t^ea$A1s-H3n^)7!MWP zL)PXGYs@}Ua1R&UBZ&2=`sUGEn>=P&?BpLWXsi2C!98AZKjOO|YgqrJ;C@_iKcTaK zYM-&y{j8wf`RDxUe$EtlqTrq=_+O}To-8=NdXltH6&%_AqTu-DXN9oU`KR^GGX?i_ z!9Bw_&yvHq%=Z45di<+``(?rXipS3t9REFAIMP2a0e)R@&llXU5#R-V_nU%yfnX?n z_o4)NF|@z6@=FEx67_`@P~h13O2NHcaIf&;tE%s-R^M@%iT*WZ^V@=Zt>Avk+t&;3 zb$h4P;r|NVMgKbjp%mQj3M>5Y3#?FoAOcFk{ejW&N2PqD;Qm-}Z;QelL6ejy$wT`@7aDOehcWKl2?D?-) z+|+e{FSx%I+~0Zre!-E1x9=CCiTfXFqkk6MKML-jV1fRn0zW9Ye-+#Z6!>oy_-_@+ zQuCo2?8C4c6@*;)NDn?z3mRU@I-|dV7t0%5KZ<`t#UIl^2FEm59c@spXmBeKnf1>6 z72F5nzX1u3Z*V*~uE8DOQ2gui{(kO^^!UUEcS3_Zv7y(WqQ==0wucPsBSPL)>P=~zNJO*T~buQT|>oq=o2>WP!~I@8jz%ARGv z?Bvfz-*0gIb#_BU|DB_B=a6n!1Uy&2x^ofmJPCL{H%1Nad<48e0$v~iX}JrPc6nT}3ysExPYIk*myV@FK6>n|zx<=`*<;>aOu4!=Brj7qyJ-)8N zeYe3~N8PTMWUEo=8{BFnyFrrOP$$`qlI$kVmJRMEB)i$FMtQfOzgu~?HaH&MT5J5< zB;IYQcy@lE(Z9#hl1-z<-`-%m$@d%F?W~a$d5224lk;SQyOTffk_30vN$>+Jk}U4F zU%LD~Toz$ZZE*KAL@3_9s?!e}+`Z`U)agFe>HY?HUxT}!93N1Q55)d@P|`hEm5y`| z>B&R(#Dskz@ekuzoS#u3Bv+}--uVKMrR(WA&&hK)0ISxCWpR5#JzTgUXc>~Stm}}HNpG)5i zV#P5ZVsk;v)MD()Eg--wOWa~nO$`?|&^4}EJ5(}Y7g0srm!t3Y)gxC;6D)x>vW^tCtPRoB3nPUCSP-v(Cf#L z?^uV2@`@ivzT-l^G3rdrSJIA;4P*`hzX3oaFNc6?bgRU6ZaV=Ew|Dt5AgS<$W37oZ zoV&n|O>~nk!wrtTvZ$%&g?b2AnSC8e@{2P zI)N!w;Z#jLVLkbz#G{fPSvy?Z<-1E7Gc$NRLvGA>jbo-;qi=}ZcBJkJ<-S9svDHT3 z7B)(~j3eN6U4D_qQ%qY37%lTZsUVfn*4@w@1Ik3#bi_tb7!jG9VvMI4;Ut6<#s_nG zJ$_m2MA1t9&EI4n9yx~k5bnV|l~wC+5i%oCi!?2`<~Z}3WBWDIh;0Pg2hWqm`!wA) z6^5(@2TS~DW8`h3bK<7BwA!@zK=nO-mTY*-k74-UB2~2snW*#JNC1f=iw{=6Z(&ec zevC)$$sX8{kMDIBwj%LSsUmTFr7UpavC41hM&ZJvR&I;mDtrWdQTcSb&Q;N4W%wv& zMO=mA4^{daqgCTINZbypu`!?;`v{HHhA)o{SVsKJy6vj17Q=0taT3|u8Kx#FqqKOl zWj`rAz`sZFUVAV_W7kcI(`H9H78f75h_!Tb?{SMh)1QP;;w>INaE`;D9nt-MA-Lb) zWi;RM;ZAbjJVrmkr`+)#p{dbl-jE4$2kQg7w|e#XbcP;5PkaQs1PX5ErlE zXD3eux-7n6Rcf?J-RPQn*WJoWa7PyaKb%gwA#P|NjT`c?DP28aMbDFWcQIec5~QCS z#*#sUZOE?#ax2=t6_U2m5;&o(Msu@0r`=iHw&I(isd>FgAi!IT?>C^u)!qh5K(v6r zB)U$Y*LLD{*pc5fe6ABhC+rVfAd-1c>-AgG_o>HcI_?vp<4~Fu_@u=UFiO9*$z*%V zK5NWU+f!n@;CDyc#CY;Iq+bscwchED79ixgrpr&HDGYqPpP$4h=0vTcs2BE0Cw;^o zvSac6u!A7Z)X6zZi>n=y+6Hm}8%WJLv@LPdV+k3rKJKEOO?g)pN-DVsIJw)E-Mg$Q2S8mK5AA_GR9%BzL`yZ_I0z}zWe$))W^K+RQz0WpIgg) ze{wgNUmu=!!mu%@UvFL7ah~!3VaY76_6Xfc#-5#*K5J>(H1cr;XFtiFI+W%4>x#uy7DMQ)wl` zqZK`BvjD1w@XcIXw0O|_TB};zVAnEd0FX9>uC$NvLa3E!1Ccy5xrVJ`4U<1tLIEm_ z&<1fT75`wXvVFBN=x=lHyNqozr^%E_X(TPIVw);MaQiiOM~ggL=~jVVvUv6}THdYj zk?fV`Tcw$k*ydzak92NrzBk*XNMCBa^j~!kSbyU+$}Es~`RH^>Gz*kXnGhRTA{z!e zO16=n#-eIup&IG~_?V*yey@WXBnR`kszXsEm+#DKOg5`a-WTZ#10ypNR6E>f^2G4S z+KKE*8&AxwsJVX7HyiQ9P{^=4!#DDsY>qU!2MJH=!b8joPYAN5=-q*6mbx0vt>tR; zp+c*4hC$%L^;67|4Osf6Kgh%0;8bT=f27V%S`3B3@q@*lqmB+J4ajV6_4Zi@b%bfg z#FJW|Iv6JHkg1vR@wC$^FXvi3Y$xR`gnz^0GFq;nXm;$_8nQT`RYBHxbMQS{i;7_V zwUJIT`fg(bXGUMsa|igE4w25o`J#hf4S~}-@IyMX+N5Ma44))A$gBkC;aYm^pfe6Zw&gp8I^WifuL?4O z1l9PI1-D&IkUV+2i2cLn46StfV4=F#orpnREIf)JW6n&xucs} z;m9>j8=K_?{X})!S>G06p6s#;D0iM^e!A;g%;HYm%04ab#Xs7dx36X}=XZ64KVQbe zUJ#1AXmj3*D~EjXr0L2U{#FWWz5bF1$xrdmP}~*2JBfFvejNSAWyZ78Ct;6us*a%z~Z%@*|abt^o8Dox`7dC7#CoO{d~ zoI9emkDz>jKgzD|k3Wg3B}qQuj1(SK*KNhTdsl76eKPaL4V#?%l>r;+nJ%V~#k##O z6{PB)P(f)>eh7cT=D4wDtsO^EciM~J*9y%dRB)S2%G${v88$6VWKl2FVuPW3Ps+~I z4rFIjmNeUeD0Yg@r(08dZ!C#9-qXvYbZEj|q1z&kL-J%=iKMips)^AB6-S9taaQ?G z2Bb}=#i-v~xo!G9{@Jxf1(&nDwOAR8nM+%`@n|xLHephhAJ$@c;qS~&K(9g9W)4v~ zrjMK0L)45~&d!M}J}EUjTJolo zyUm?mUm|zTM6SEyXV9)QV%}6$R=(Zbu5LHljGkh~XmZd~SR<^~Jxnn3L8$l|1;y8x z5+<0{XC}$b5h2NA6^XSW$@Xx2L>*#JlI#D1Y@u*VmHWnV?@kdixFXbh#>iwBc#9LzU(S<{gH@ajtVPqA{K|O<&MNJiC=xy zEpcC+>yP5ArS2%Vv?59bL)diJS^n##i_M(yzl_Lb?&}UhM4dTdmj6cgSojd%aNn#m z3e56Hm&W=20QFs-xcJ) z#DGsvNNA=L#gD+JVV&t<7DNf&;NbA21P6x$-ki+3U=#HeIX!fzBm<;8HGOMD3Fs07 z-a?ijEiHAr93sMw81VKCd&@Y1Cc*D#4t#r7QaaC?E%lEGpWd418q0wGRtMVPpYUnsSumuPNcXiNbv(XU4%aY;KE27cMp`} zp0qpel@to?@n}y7P&~$8$pIt8iMYFv3!I7PdF6s1MqV{Ts=x;$tJ@1Qv+#?p|Hh|~G3!NZy(yXn6pM=gvz#vmb_IF9ow&EFgo<~< zx3DSR5vQW!p;jQmUsJi_lzdkli)hEh9is>quq~ihfQ&;DNEX$$9pHemPb`ZzSQeD~ zfe02*E#!33)Ht;y$TzuM47Nyi5l9wzmO#Ua8=STEN7g2@pkBbbi001a*^vAg@h_sq zbA`EU~`20j01=nur$66fcmto4eZkdp+=WJU74K@MjV318CiK}q{NBvEqHtu znp~!I-$loA#ydM(+8AmElnoIxAZrxTu%~=aaX4%&imL$@gUrs)y7RLTHF$QRo?XbZ zi{z*gb_R5e7*_ZaF*I=12r*-|*cOmJE|8zb*hVYWMwewFYCz8Dm8(WT7|~T@1&#)7 zbfs!R?_8xquHqbR$D}xB8G2VMiqdN%rB9%1+yLbP*R=uH4le`V#!cjMv#1%X<-C#Pe1A(S|E((gHo0H9RlUE<%;dk(1SIybFP z*SSVhhb8Jt{bWe3)TA>D%cLwP0$Th^#ao4fKcN<~rFfC47BN!I+39EIXJQIBJ+ibA znJRvU&D{;<+R{Edn`i>1Y_J!U*KokDv2Www9I;dM`B>rU7qhjLx#~%Rk)&(`m{BOaPQ8V=ue@EP8m>r0n%Zc2t2YF$a|T zvpA^0$9iOUSG!_w#5Zzx+0RCNGxSzaW9HO^-_PyWnVkZmI|yHI>MgzZ2wIB?f1m;r zS7g`4_xb@*_)jAXR^47D?Zu=U)tB-BAL@vHNGy%|;YPjqzG_ZY4kP(tu`0@f*Pjhp zea@lFMAJ>L|2*G)UTviHz$VE;w@~2e!%eh4cev}T_(e9H7lo?RDMz>?)YD(EZ&Idr z=|hg2Uv^(|U#|FyJHk~442~n+kxKFvOOmp^X*N@6j>HA~k?trGq*5%EG&H~YV~>7` zzRu_WE2XA_Zc}i}re@GQ!e`$o^$!k;O$BX+-}|M#^e1J%TpM=E?p|K?$bJkE9qrxb znH}5D@jwuz!|=2jr3P|0$xe*w3;viW2!&;826ZMh6AH|?IB?AICx=7CDN$ts5}uTn zXYtPtn;Rts9HO#1UH^yXfogIF=LXaedgLrgaArI`(5$RLXIq}Iwsm$#(>O=^20oaQ z5=2Xu9`uj%$rJDFV7v8y=oe@j7x4|s#Dzu$zqpp;B~maXC2ECoyfo?)70&{>BI_@c zW`Pz_mNId$#{DG}%Lumkn=5`b2d?nOdQn^heW#obgdF9wXu7 zN|@>p01%}P% z_??yc`!s2)Nz6x+ASt@TAEiD3UZke(PidETh@~AG*OUm!{g#vp_g1yl;(Jpo)T-~K zWu!{Qe3S~xK!-rNc$YHXQyK5o%0QV2W&B-qZRPR4QMcb;vy6X;t*s{bXIcj8geevC zQ73sWML2YLbzmuI7uMBIL)=m?DNsOzlIVG`v5%_0!G z$@Dl;Vfm6-c)ZU1sXo!?Pt2n0oRno2qC1=@Wdi-7HVZq}R3Dg@ran}sCAtIHZO(4h zY1tu_;@hc$1GW3K>?$$6ofHY++?-8O70wiM8%fX3miimS?6#%T^oMgfI-eIFpe>+= zoX-P}|L73>Kl;Zx+2Y^rtPnMbNm?13F0b&2NZ(wqzClkw$5>4{H)L5MQ7RzFNW}Rp zag>ZYds-1KL+#0+{DHXQ+NACdx!)sw19mu3Gk9QB@q4q8Dz3lpkB;K8+8ELNfo$<1 zb)p$5i}1x`z7NSsyf_69hkR4YxE#gHgZ!fdrGCu3#Rs_3<7!{Xv;ccwzT|~EI#8)gG3!?m_HY)^t=e=aK|e+innq9g1L`>fd{`avN-?$ ztlY`RVg91>6@lE&;6?vZ7FY2DM)}LudM!}NA(G=nJ`Qpii%R+`e>28qU4Kn~zlMmv z6{#FfdH1&RApg4f<8cuGPM`daBr>!AUaWHWdj{_x)VO~Xs~kRg1s*w#`$noEGkE`` z)_qf~a(Ltr7d3d_QtQ4QS>@u9SB)q%<~wp2Uv134sMNnuD(i@*qwFky<(Zu)-=+1k z{ypP}zenMJ%a*RbMnm=Q+0u3P%lk$f=l}nf9f5avjIjSSQu#kbDz6*B90>3fPi7y~ zxr(PI|Bl0CmI&oxfPchd%K&eLNN%09JO`f~3OPph9E5X-<8k^#X;**|up{ZQIqdDn z<*54cIoj+5k;$QiLtd0OdGW(f%#H9T@wrVTDC6IPT{_sG9LhN*a>O~4ic^lO_?ZyJ z$>=osjE5wSf6$zrVNN$PW+?Ow6?&!$O?lvu#sd!=mbgga=TPXm;(7b?ay9kue6he) zIy`VK!NviH2@W?#q;I}$cIV}A6K`*!eZvL6gtu_OsqlBwHV7SdX?p~?-T_pxM-0upUZ>!(cp?(?)t8%5+SV}`~*Vg-uUnSS^Ynmjl zO9i=Jp5wKetd>jj8{|YD#&@~uLjK0og}e%69GC<7&@Z>-V0h^cmH7~?&xsflz>&AmTubLrx<4)dM^B%dB$A>&i zrugdkl&>FA%qbY&@+sdAt()BM7q=TiH!Empp9j=FrT+J`@-Gi(2Hr7u6z4w(MqGbC z#NXdZXA>*-!=e^L^nO@eZ&2d$FyEP&t9d9c&~)Woj=DoIB)R!F_)!q_$KrRVWN%*n zBo#D#4#k_#adU#_d5s}B-aix5yCT9jFQ2G=ZoT~rwcwL-MUVe^2sWWMPo=$$s85UZ zt&`g`x$ZVmz@L#b`Z@lWO8F~MzhQgBuaPhMsA0?!%^QwQbVeVqSE_3XRPWHO(7xr9 z9xJ%@e zH$2UDjCkGZ^A-8nY{!Zd4)c3XN(Ohw)%?@baKS^pjaca5p?gmf=Ucfz{{B{em3-9m z?&P$v>UcOslAJ0!I7IMNk~sXooo05LeAUa41^xT|Ok~9azr|Y0s0-dWhgq6DbNJ_@pdW3o5{zzd%0dH9iNB zz%dl$sqw}6>QK2vOmG?GVStm8k$Y+MTOZ3>8OplMnA(?7*5&r$i5Lou^L=@~Pwa1a zidKBA`&H>jSBK=Q#P5a&jx!@8e_vByO$vn<&UAqoer-w&N6hP@n6vO?AFH)m{BKq3 z2610+6crrOH-0y$7AbBr?k&!Z#QlZ=UK^md1{d~IBKbS?!S{l2x67M7d~a4^vAs!0 zREj+A>}?rJdERhzjDLPtz38*V`wm0q?mVP#5#*tJYxznE-`EPo3y0xd*R!)k{toHx z7xR03(uG@lOZT9N-*CMN@*#dWMD79U9!}FeBDeP9BtL3QZ)o1Nt6=58O$n!mv?^srK z9zgs)x=Q?BV;;Z)e>xx4%4byavvPP3{kwv@dphlxv6~sS1IXWfa&_P4p?qiXaUZUK_kbfTTyTissU`F!>H!tJ?l?#xFB^ya6}^gd@K^J4es4901OD55yj6SM zDC4|=1AdV}xBoT$JLCle{Ehqo>HcI+@KfpDln8IuOE*j2@c&$whK_toWN@t>(7`iR zI(QFsaGDb8_g_Q+#~+-U^4+uxspflDBQp3~po35FRXX?uwgSDc{Qe=Q`1r!dvY`Cn ze8U9)7x{gl{60wYV7SvFrI}W04gLvRPIZkZw;)k}-oggmfiP1AYlu6|`kPwb5{J3+I zjj_S2oqsC1!v|kOL^$H#E`)F57>6T%8e&X@FHUJ^h%pXZya%E<9yDN0wL6kQfyT!8<^UCfL z%YG=r6GYv$R(#PmEO8TgZJ6UgsZkNYj!T7rIqu{3P`ioUAMQTj{*cCMC%F<7xj-BS zE>d83Q4vRkMUuY(N(-Nz@_q1IPtN8%x{tfW&AoGOwfB4o$`}ar-8SvEAkh{9N4$>9 zM9LMRB$V5UejbR4or>aIEq4rAjH#8I_hYI0I9YHEELj08ITqOQLn_Z~H+kVE)w+0* zE}m)aCo0%>b-P+bAalzY8fgdND4~JfSC`2oHz{s4lPS=^#}&ULBJY?=Je56V8WrBj z;Q-(5RNGGSz>s$i%Qdfep#r<46&Rmv8g3!;zRPvR?V;pKt9-Xa$@>{@MucbVs+DXv z>$5WVk>v_kkLti)*KI+a#W-<*FQZXrCdJI06u{JZaFx5)_6zx#wmZp`TeU~YaT^J; zvJZ6fUZbgXf5z?6+I(S_F!ka3UF@lrbXW@=QKR3A&7s)y3}+|_8e~in9dR4t`M`km z^Vb5>({_VtJ4<0a4(D593LDk)2aIZ04BrxnLGV=LqE#5mT!&j2g+}-sZ8}g4k9ipO zcfQ}4-ZCOb1+?!brU(n@n=qgm&K1US-gQjPv~uF0b2j6J4dM!e7_aoafI&Jg(>j20 z>qfOUUzANc()Rc`q6VIDXqEqWL=6Oi-{J-{#dQ!u9c=W0vH@YE#}7eBqmxy9t4;P+ z%^JRfp%FgbKn{2yy6omRq?I@1Z4s8sunz`jh(Q!`6#u2I_$zg_m5_%u8r}PA)L3rS zwws!PVxs(w3sYldY|20wfutk)#D0kbXVcc^mve(USO%P&fk1sEwV%mPQ%N?a4+6WHgp($wuKxmBunHv4C5uQkICSs_Ire`2?`>Psq)? zJ?Z3$0WhW|UE#?#rT+e3ow^iU`8HZKcMVU+BEdLT$#F5pneZ4QY(UqTl-)agGl3^Y z*O->f2~W1;i8MPM=N=eQtDtc}A`Lkr9EWG6)FpvYX$DR6DV*OlGT_`av_S`;fvyz04E9 zrk)yCr4NWr!J1KG%?SLPux7M2ACn~2?PdMTX*!;e!Xo~xpEMYxA?QZ&Ior*w8wV48 zqsqlYVAtHIp_R&TNs_dtV_FEq#ARHv$Y)(Pe4#~^P>69Y&%3NcP0_0KakB8bi7%Vt zTF%uG6g=dxmDkyy&Ae~6MU_9bh7}p-$0C}nDOS8my95}P zCY>(;-O-qKpPCB`#njBndX}G@>&HUHs?p?{r)G}k2Odb4()ca>+A=jW#x>bB>kuB< z-r3_@nFB`6tFRk1xecafwsB44$d5zvNWWoe+la3l=7v{TD;U84gyKCW)F=7klWJJnXFI4r+m+X~Mo{V`K7@})sfx`U>NdHXC{Qc~Q;N4)W;@1q zoEopero~&Zov7l@oQ`*{ut0D`cDsz=^gF#Xli~EcqkeGobzMEan+E8vHoy!TU{~bY z&B4v%fE#Y<=&EgenH(*yO2zk*rnlPM#D)q7-ezQ;iOe%i=Fm*Q1a%+|Q!sRSJxR~H zZqI5~9Epp!TfO#HeM!8J1ER-qBDOkDW+R?q^>~`L3ZT81Zoilg`jOjDhmO!}`$Iws z8PAI!96&ghc{+oH59Yi1@q+{HsDF?<&>d8Pn;pdXjQfnxe8u?n|G+~E*)5149PAEu z3v@UM*&X5zi60yqKRC=C<_^_)CVcQ&_u1n2t)`!gAABB4(&u!T2_FFCiys{B4p)qp z)qYX@67-&1q(e^l@(b<@@yjo|FZwUJFRcc}$1B>Z;$S7|@DsiS!xyFc3f=UTX$d3D zrYcOO_+kk!mP|{wi^J-xbox>5tL~_ZUuu1|l%YZge2ve(HZ7SL%lSHw4A~cFD@8Bk z(Kp;O_YIwpf;8Xc(b0~TPsgM1s6XL=v^;UFD9gdk_r`8MMUX#{mqH`2(7LlCiRJO~ zSaFx)%i{tv4)ot~0ss=Smanb$Cnivr+zBjZ=@J4A@T4@|x6;p8)%fpQWN(6!Js1+W zOQCyCO+Wi~jPMeL=d;rU2aKPwT(Tkn5IiGUEp%Xz;4B4o0U=1u(xGY?!KmH>69g1r z2NGmnotK2!uoSc)S}s6Ad~zEH37Fu8Dfz%=b@N%EYY%U&!rjXvNC~CIm=`OIT%oWgUdjy8kM}B!$XdE%>0)t_o?d zN!+RgJ`%wi6Rm{b6(0!%AueK(4B4)$OMHDuvs$1+x0<$}Qxj@HP#4~$OD>~|059AO z7+2_KC9+oK`7L^Ws~AcUlXSKZBHpIQAPR32u22X3@HoX9-mWk&I^{QwPbL8}w3!dO z@D7ob6z@eZwgXgXFYXpoiQq0o{x;guJwPM@6Y|MK|HJUfeHN_cK0dkMh)OZAOA`P> zD@N<+S~x;$n}^f3q2mlp7Xex8(C{1Y*ri+dstA=YXTgiQbl2kvW>4{Q*6(k)t@)L@M3r=k>3itq<%qALa>7%T{LiiBdHPU zMWuN$2xZ%zx`s$E8UJ!<<5v;~$nX`?)o4jCE5eJ>l3o>zum?0DB>*IRU0A{p=mijA zY!|Bddy}1-0VTA~|D!!v3YL(BH4YMw0|$wxZy6=&EwXz%GMOMIIevd5DPFjo#sWMT z2N>W%{(Fa-rz7#N!VgNZdRJ9>Pf$WYgypqkz0efzr-Cl^{}5)d_$S*aAR}#{kS_)q zEPo7SkUm@LKT_BCXX*Oo1{Lhj3N2{+Ig>^M@t7=?S|J7!2*Cm<(_qDz)$sHz7EUmNApXwCmH`PODQG{yf@hJ}*~;teG_R$C3=a2j zi-w3>1n~%p(0M7q$ZC4N(gPR-LwEt{FI4&qYc;({q@!9*!3j2j4vf=6Coe4mmt^U; z?}TcC2?RiRDOs%y4=xiu33wnkt68^F^rIfIffNcP@CpF~vEr-Ht5Tt9->WIcCf6!{ zQ3=N5txDTKo-{k4=Q+!dobJQ0RdVg)G&Z# z{Rpx@YS=;kpOk#`aJKj_nlnD=XF&EAJ_youx=KNj^IF3c4M6f#FPPltvsJjyPhgOqcVZ@0Syuk;09k{jQvI#y{Of%;X1_#*?70t@7K;?0C*4%}bp zDlmWs1GK%(I`0jIlhLiypHx7K0W1px$O0PSe=ML9^zGWXdq=Oq{Q(603kCmGum4)> zgm(q^t4&bQe@z68sp|yV^lt+EX(<8-sP;=?fE8f?S&9Gw8UhgTigN!~+Daq^0Qi9k zO&FPMHH=JLiayd()DMCM`X-p4W}Nt9C@uU7>te5V{Vhrw~I(tW2cK1_@bW9_t3 z?Q~fVx+r+SmAL>3tZ%0)lo|}+6$4_yRNLulg?Fj76Ue_Ng1uNfg|qEg1&0ZZbgcz} zxrU0d8QYrlU1bi+?z_U;Rs8j;()F%G6WZRlW>8M;tgB~NRV{jOPlw0$#{Eg-tP-B2wJcVP>`f|3M~j6kTa)bxvQ>u z4J{}cKniAjiWBSsCrCO_f%gg+NDwX|0;}h~`_;S;C~(Syf(a7$1xR3h^FE~1p#MMz zK1}LIRO%zOVQ7HBTJt_8(H{%V3*m;w87p95Xe8i({P#E&!-^Un0TTSNVb^|=BFTXM z{X_u3eFO}I3SS2cwBzp+wblm;_zQ!fJ((tcO5i~E6p5c!;%8zQ7|8L00){a`xBXIJ zKwV4yDoqF|5QN}!Bm@wcQ~`mkpaT4v(KZMik$@A01PntY#r|pAdPRv}H5lNlG}dcE z11h@9YrtrM|B=N~z<;Gtg8MZA`0E4i2g*-@UN~T?+x{2^%o~RGdxJcP?V?5MO=16t z?gGm_=P3L47VU-K$@cYJ@gFuX-%_q`(Y_rjssrF3IfD5E0QgQ042eof;eKF9)Rph1 zLxE;_&m`g}=iHXJhZ0QqVI?f5)Z zJsu0AS=!|G>jXVHA&*tj1{X^t7`_uzDAGyF9e5v5zi*NI$;$oYnEO(qyr4jzDmcrx zBf3wqUFu9)rztsrzSD&1Bf@}^pHUMIT;G{>!U67U0^3(zWK=z%eSkz=O^Ap3y(T|k)^D#e8c(FsHGqP)8ZC|L_AKkFyJeHRPg2hLh>xl1Fm zkE5s1d~wFJ!(WDU=4tvq~@!)cy`-<<_!SG57qNppQaHO~j&zu=TyilvF0RXNN zwolML8_(C~yW6WlUWobvs4psY*D1kunBz^U1J%ca>+@wIyio29!uA2^16U$ZpQac( z-AzhzQ)s!ce$bCM=P_lb0bYvVv#}Hqei`s3;JePf1o6J7I4?l^di?EbsoQI9`+cRq zLtsB*xD+2zdcw{iJb8onyE7jxGa&w&2cHva2_Ix_F=ThRkFj=0}Wcg);_5tckCyV9v zD+P23bCo`QPDMSpMxQ<}h+p_b0{7F6#GSQUnDpEd`Zwh z(0)Ba_;GAC^xi8p*sBWkqN~G@?Q41W8kk1sf1AgE2*?l2-|P9=0{3x(jj>%g!K#kG zuPg8mdG`lP_eTnpyE^cF{Q3q-|D>eA`M~$RNr499s}=Z`5PU*fysZM?i2+?^uZ`d{ z{9bAY0KfO1r2@Z4aRfaOj?ev_;y~^tRpcIl4+Yvwcci6Y_}IWdi1Ay1@P&?`*+K9% zf#I`7C`_ex1$GIo0%VW>gy_SHtlIS#;v3L={MTPFtFZ(D(HGLJC;;aJ+J}`mZQNsp z;nPNXT)_YyB6@xVg(c$p=6WD~tiut~$01f2vXcx|N1jVT_i+zovZ*a z)fxclYXZ_&T}Ew~fatTN;Q09Uv_kPEn|+}9Fsep0AE#IqbY{WqL}w|Rv)0Jw><|TJ zV!-tkKd?-I^o6Pd@8iF7L7JH%a3@8BIltg95QJ~Fuzh?sMbN&B3c~eW%tJtYJinx{ zOo+ZF0DTghcG{XBg7$HZwo)%vf>OJzKs1=q6xp8v?bq6T(x5?OxPa3Ip)TQEdf%BZ zO$gVRYq>*~b6>2QTk!)89uPxtj5#&4xje&mhO7ID+}JgYPqqS*(cuMG3pcAkRk&^w zaH*AFine!b0FZ5iiXUcwYzSs;!wOK8CO5 z@t@$=PKTTPir?C8ZPS2Mj!XCkw+#x3)ii)2|9VTkqv;qh#>vpIW(8itHq~e|GLUYdB#_jy%xatx<*iF&Q zvV?Mh91w1VN7l;4-MpJt#`(DJ-FC8jH%i(imei)pw`kJsa$T!DK95~#S~66L+d!bv zq(l7-t5(ey#%f=7-L4$3`tW+Jk9wueeu}!yw6Ax^FXrwQKMPFSEKq4Pi|3mKZ4dI_ zLtruTZ^Rj92Dlkc{Cd{u#E%#$oBMr{+|{C-HjU$u?qhCKG?Ms5G%S(f`eKA0EU zuo17v2Nch>$Meae<_sfd(8wj)rz7sdD$8A3*dh?hoE)qDWdq@@^9$U9+Q*IlVCr!& zb0NHL^SW3ImTCL?P+lKOdP_XkAI8-BERR0hhr_?m#kqJ`Yx7T=w$K!8vHSA$UR`(Z z`aS$?jgCLldw$)a>wW#t_H+stD97M6i{z6gmNQ7#=bdhlZqG;a0|N!fq;SnXHM22K zSeT1)VKbU3JV>6e4S*9zZ8IMTnn0_VuiG*+dR^c%(ifTELqXmMcxGs`u(1xor(dy?p?kMz1xM`d9=cFfYsT6ttP7?&LZhz#bcgrsJS- znT-d`b%umjms`?N-HqOE*wcd<36uj!9PQd$M&O`L|9u8bf3jf#h}kIqKsbku3F(2~ zxG`*EvHWoepJGu-I6kE7A#YL%a5>+$YGGWK)U&_a^UW;5y1G`?ZNF$@!_zX zSxvZLS55W~-*CAeMV;;TcC&ldwFWS#<|5HtBuXo=KPMpbcs?L&mH`c~`625A-GQ-5 z55hanL9_j*sTz0a?lTqtKPK@1q@Bf#*O)jsB-8{CeQ~He*d02XIW5;Whq=#IG^f)< z+?K0{7luS!k;g=RZlUX&?H7^ATz6JH*W=nysK*zn#}`!(#xH+)|dOpZM(+>Z}(-!SjRNHE@ilQ(uhUh(}2E6nnQ_sh9uJVtlnah2&$TAQD2 zDokK$+Jt{QrAtz_Hh^I*APpkX8d|t#Ewr#397dw_@2cDF zyxeYYu9@t0+PY{KDV z6HXMIK!!O2qR4Y_Jc*1TuMviE*0$9_MuzAt<2Ne_P|k{XHhdiYgPuIhd&_f_3$Q;3 z_IAAJtsO5a9v8rNra@;8)~qu?E_m5?EX;9uHECtJSuVHO7h>Z$(-Bgo-fk ztHJMV3%orXI|#uepW0f$ZIvmn;T_nSZ(x&Q3cA*gd^eSK27lVs<-6XE7P;*lWI(W8 z_-hvdZAso@XNiD}=qeq}Q6jk0;;698?(vw$0PY^jVvucS5K@pu;~{yT^-fEl>I4A7@w-J^yJ;lTBEf1-Mh0KJ9c-o;`s#E!Q(mN?OD42 zTS@h_fgpQpIk#%>L!kk_vyY-G)E6oQkL~Nov>%0n-f?p)xDU>|{p$;z=jMg;nLmK4 zo7dnze;{Ui1MJkQPq_yU&Cvk4=F;*kN07Yx^t2=oeyfBdrqA%_XY?nHvm(nWB=7!5 ze}>WBhL5gxe=w39;uf$79a1l-oOGpv4p^G(nvaim!ki07?ge49CB@91Y7K7f>CbIdU`15_N(;I)OC}WX_4{nsz*E+M9*K zrmSazSB_2BwEqxEK$?;{3v?o#Z^fD>o2o5p6&AJrEXOPiA(cq%fz;Cj;uHVpatc@h zn}|QasTsVGkIRf;B^$}9YFi)h%&bgeJm_$>;RsGt1=l9~D@$i5SanOVQE5}ZF)CQl zkq95A6>Vd!XCnZnj}S`#dh{ZZ9ELl^2?%z$%^6na$Gn%7D?u*`>z1u)TWBy)hV!FC zQ3gY=1`<(iw~ES&N%Dyxi8(hfHN-#xoo)<)0>B(@dnSMb=bMRr<{ zY$qn>&ZQio#1a;*o!s<_$2p+e#dVEf*_!4`y}p}QGg!K2R5%Ll$}%m%8UY~g7Dr{- zdNoBJ>TL&05{ptFOOg?9tY6yv?&M_aQ6FB+3(|htQkUmwKyJ@?=-P|V_Ezwhir0~iPW(JV{_H@DUajVw|7hnGP#b8&7O2}#GYN=;yu zD!BQqQtrUf9L4%G?ts?j8}kJrcz5DoH57pM{H#k{b`d*yE`FQS7CyGr>7iyg%(P

    cVeK+XOP>eWZ?RlhRe*E5mOjDy!xKeG%7rLNt@eb! z6!wL_g@oaXW`0lw*w)7<*{Tfz;s!Q^Qd3}TEWucSWyrW1+THJN4d#MA5W0UF$~1uY zvxu2s@kNZdF_sN|Gi5l^y4BbjZ0X#wGAo>40yekRr`TM2%4WbKzZF?9^o<`fR{OcK z=(H@1hEZYgZw?9xNA1~5PzI(4oxcJLE$4O;Bg@JImalZXSi0$qbq#uIQqnfPnDM?# zZM^5)u5=?xqK5m$2Kz5F2ztn{r;l@gZyW^W*5*H8QDU%29Th}ezbhD*tV@E5S0mZv z859PRU(33Ld)WQ$$l%j!PP$>pzEc^NZjm!_IA!aLSXX$JVOQ*o{4RWOl z{+2jN3ci9e-p;@&Zk?OJh#`o?d`3(X=#PvSTix1XPK}%khcR$8ZbHC3n`-px0tcCS&UvLCe;>XZHL10x(dxz}o3|NNdQH!BPTWw#h;Y4b<1K%kG z;|^$-X$>b+!^x^4wp%OMXdjBGWd#%1ZWYAFeDI~Z7)#QQF^t`~497l7v&aw?U!t^9 zEUkqx)mR%-yM`uW3FUUZj0`qILnam3VeYysz7Lm7hamikkttk3dd*J!U_4LJWtJ_BeJqND*#BYm@~Wwi)o?INVI!R0 zOKgg@@EA_7F;FLBWr;L}GG~AqO~Hoj25Mr~@tqjWK8)sRiFt+EiA69I7QtzWeKREv zX(B-OtYJ8Ho5p;m_z}fFo2kskFWL>`WTYD*yGrPvW)|QWj&GKZqZB@oQ4PJRjq?I+ zVF!j@zXhVEc2vf~ma%||&=>e9lGWN`dK=wsXg#dS#%tCB0ekx6Bwz%2r zGrD(3Q68UkF~C$G8)6j}%Wu{eOUs+hcU)#LYbAFR={XY-%*HO0y6YW*#cfx&`;iQ( z1~+S3VgZ;sG_sWao|e7Y*DG2e$0rSbAA2?%_R8!Ebd|l`zCEmq>xdz!kM|GNN4ItR zPfNP^j7Wm+fNJ%NIGQe2E$g)0LFqP#X9(Ax-mlq5GU$*n^^)1Vz<+M!Q9Ei)qK0c7#6rLXZ@qiTeUX2)_Oj zl43=R9o2#Q`eoUdDySPr!ag~&?7zZSsl#YnRhN(}r>C!y@~ctnHo=Z^N6CxiQfoSM z99+RblE>FVIGm+X!i(j9~Fy3ecdK@M+5wh&<~}-;(0W{^x$ud z?y|evItA_HM>r79!20OUS6Lq`2t&i1|C!uJ<28D=hwovLXMV2WGZk1K^wKXvjb#LS zG7N6m8c(L~p+ojY>yRbpBgNuq zfXAT&5e0!o7VSD^a^R*(J@i4GN9}S0{cr2$50mc1f0W<|+I^I)fXqQRFVDJuF*#=Y zW3mXjqK>}djx|g(gEtF#gA$-@K;k$)yI5YH`S1Ab5-*}gf}3Y|qC7l{ry-HrgLCI` znI?!D`T%wY&Ye%?1LzrzReHu^d2d$TQ*H*B45N6QnLSbjjRyD`)G{{M+4AA620JGt zIybU219uMjZ>UbdJuiSarNq4>*g!@KjcG^1Xv+`2M}uv+wfTnJkOEeK!5n2p^sZf6E5hX#cKY>eSH%QxM7_ee zTl59nehQ##q)6pl1Lh!=B}Ykvv@JI3gWCTrXfVxccBitmtRabZYg4t#9=89GtTx{v zs9r$}_0yK)N5 zok3~t?!XwEb8Y%7k?Cm2@NN!e8Ebr5Y7-w3G5ObT8*d&t8W;fkDuTOfg2cMBJJ`w?@S1wt+J< z{go63(_aD@)S3T^KI@WonE%ot=kl`h7m(W&UGweX1_i0*w52Wdg=xISS7d6WGi+?q z8LoM9ZbA5~3M}A8D1OlDTDQ(Ezye+jUC~D$42yH3*xLMVVFL$HLgPx~Oo6B6U_g!$ z^tU3KR^$H;9A`0)+`6XDf8kR?J96;LwU+swgr)0*8e7{Qqf_ZIbtyh2 z7;LO9zKpcs%Pmjf?bye|-Ei678A0`KLQu4X*iaXZKYaV(=N=Q+ee=rh=?;BH*tW7JA{wTZON`!L?@&4 zPg#vRwu9So4))L_sAIB+?!@^rd~HrjW})z#tmtE_(8jVs7sD8us{1q4OQ`$B4?|f^t24e+Mf;H~2FH(<%-DFt^t zZtp%Bw8EHeZC;Z6zZlebp1M$`oltMPX4g8}P<*~t9t)`q9=PBMPbt;nt=o)EOZ|M( zy#6IST?!asX5}^WaoBz0eSS1V*Ew;DCheBmM4Fnx$;tSn@Sn@k){v(ttk3`T_Y#fo z4@sKVo&UO)1eIgn%<8+dfm+&i9yOq;*sfe-A1&6DHr0OXD`H)%&41Zcpv978SSq;= zDC>q*v^axR;EqkrPmPOzwvM)naN(+_^tYU&*bT3FUMjwAt8x=oKEr--N5gDjZFVi` z-L-4hy)`(VXes2%Mw4S`$dPqUmiP3kS{}CI$$*C%#lsM5SRZ@lhG`=`ktCa>)fu=p ztCi}{0CXI=+1}FY2Qi_|MNGvvg-zczr5hxBy=2nv#?I22efid7*=vSSjUjsuFmTDd zW&5=4@7kw1-!t_Tlzo`8*syfp%}U!=l7GYv-SEY%zj%M?lYvVg0HM>JK)QRf?zT36 zVSNsa*46F*ag(7E))&?B5voO(s7YI!PfU`km&t*{Arv=Y7^Ll2UaS3F6KlV!Zv!N4 z!O*L=J;!mPOBQ-Ozh;jk$+B9#b98mhEFJ_gb2u^YWe(5Ff?DU=ZB3MqVSMzB&ZG8e zRR;dbBZEEU(B_7OX1FFvis>*K*bH$#=htiw=JS7Oj!^r-7{NoEv&XxZU`*BNX(a_4kz-OR6StjO0KTWqSOURtqXo^yTob{ zYLh0^dD!NGwWI*^gSs2TbeQ7@-jHz&(H&X$(M$#I6##uobaH4@M@H^GSOc|coV|8m z&}N5~H*7t?cc@-7C)@^MyW&GqwtWs+1l+tu%Y=DA zoRmF6an7m6Jl!p;He4!8{E;jcBk9M|DHrPN%~h;pjM#ark3&`m$M((Ls5C68Ww8ZC z*i{P7toU_H^4M}x_OOtDym(#^*R6%Rdsa!EtXFpPOhEa#gy929f#rdysxQZp&A6D& zLP0Q;YCKmbTQBAyHpWdb9EKil$7W#Q^gco_X1QMB$}rswtkEY%AXBKSoxk!re-$6M z>nu)TF;?o1w7Ugl?BghwbJHee=P1n_oycO-@67X^t4+TP^|dSNGN-b5MU91=rtc0- zk5AOJ>31b1x7A0qG{mOgEyz=LWz|=xu^>-xDDzX?*Z>?W{!~J4s%P`Kr7>};NR369 z&}X_m`f336sTn&!E#x$|x3U#PHDo*6%?{O!dF_il`%cO(h(lo^z>PUdA+W|9cE>iC zFMw(+h`Qmz>NTV+9C&|n2UNI!%(?kfGi0V=1Vlqw98?l${UG=0B?NAS`;rUB^@?A> z*9!=T<8tFN`}%{G&mj(gSj8V|J$0y!SB8#aH-<5z4?n99Kj%K{K3DOdr^y$(g`L^^ zzNaCoK=g<2>HBE?MXt{+s`w);rz6zUD)t>tj*;uT`GN$$q+Ft&3(DR+Ebk`&Q4*_)Svzbx7VAjtD}!5oQ|Zj-Y8kI$78O)30bkmW2L{DQg4w9 zCdqoMa+52j1(>f{JSh>YJoNbRNNut}*7;1;I$y>*PcvhX|GsSU6)f^J^POq$&XZyO zuB4_O9EOFS41Yj|N5s{6fx^fWL;goLVX)H^Qis>JARUJ3p3<<|-zz6gJy`82?S7f= zG1rFx@)+$I9FpxYZ1?WLG^dA@(?jIM8mMTl5A(OK&{A7I5p)t(?#Ik6(_=Kl2@n|#Y`6N`ncc6o&J{&aR zo+&OvFDmO7$@(A!eJMtJEc=(0<0}caeeC&i&4f)~8^0u*7i|00>it$en$jury7GJ7 zsu#XK2ory(&+nAy?`7r3kl!a)O=NbMVm@YM+{eE@4-b=Y1Nhb_-{!}^>>MbQU5&|^`XrtM39$-{~yT+ zEc%jdfsFbP=BbTz)qnCc&(FW`GgJDuP1O(V-h!&|ORjEK9wf6rSu7;>qYVE44tc2Y zxB>X6ZrmTlMF5%hbI3o!n)e7U1$6Q|Mvsrdp3SAeiflY1F2|mIM=q&CYV)k=>w<^L zO@4#Ohr(cybsIl`hshp@5*z#8P!8x~G*oKzrAf@5UGXh8hFZez0}w)bgSo8dVA+CF zsDnFR^QGnRMCW#UfrU>BjVTLjopK$mM4>8ZVHp4&YA;3fS^g4NIIG73yl%xbgsN93#y9=bN&CSW)$ZGDyI zHKg`u1dK|B$8N~5Xl1mu_DP8eva~ioluxFo8e#)AveFl+^eAnkbgg#G{|xRnesEhe zj2{FiEAj(&Tnj&-=T_a1GcGi$s2x75fwfXQ8*OXgxG@7K;R_TjT{xxmSMb|XK^g_f z-_Qn3l^lnw*@2WZ5F)FgRG&5BC3YQ zq}O1oplqOM^!hF6hBbj&mS!tn7*4CtcT#OG3`9pzenM(x0#K_5Y)y@p!l)Y;%WRiQ zq5IJBAq9vnHy$XIWza5&w_a{%0;SAXGBxF5=DI-L%BCG-E=;!;l!!(Fx;wa=Dc!VM ztKc-ApigudQPVy}r_ey!nHMM&?Pg8pMI*@9CZLKL5Bt?kC(=TSJ1p^K$;LdNb%4Wh z;BXqECWJP|d|r!P+G^0i9+s)3x=1P1hb3=gvEuqb znr+@~s#R8+tudeMF0LK5mQV@IhcwR?kb+Wg!EyBrU|ouHX?eCV;6`ceL$PKMrb8~& zd@Hw=UVXw|b-GBj-qLMdj--Krn`V5C)%c=@Ehw$)VJDAzL)K>Ne{_ODkGY97JXkMR~)^VQf-`afV;O0SCxZ1FA2@w8C{^>fgGo3qy z(tUAKtVL3uf?1laeiA>}>L>7nt$r*&Sb{rsMKMLDE;-(8vL-k4sKp6b%^uOnE)f`S zLrB6dKbkf%N8js1(2`@PA66R58jPhEBNq<7tINW0+P@keV36B*YG!)S7uv}k%daEN zCj7byiwqk9d5xAuC^|J6!P{_=JHl*f;j+^Z{?g`@aZFs(oJU-j=F>0?iT!3rxt?if~ zIO|qRSMg;dEI^kZ>bz;!M!#%B08|&5sGynFaWknPqj@mD#mx1!BSs>^NN*(f)3h zN@FK8IFa4vRvCW;HHsijI5Re3r{A3ppT&23I5>iCk9yg~#;KEC*KqGEd%oVA>~Q(* z_Ng$F2D#a(?5bm+=RnTs8Nd;=3AleOw}Z(-ot!3%z~(k+4liUp8pI_(T0H)~ zJxI&d*nJLlpNka9&-3Nynfu|Bg{3_9pM~!5z1Cs>2?Mdwe}OguZ0WvO_FtlD%;r;( zWAF5XBSU6iDcx)v^3Cin4;WIG?;c-UH=##)^O-GJ#ndxhrhP3#ds;^E(bHpC>?If<8 zr@%FQFrUmwm&uPgR>vbX=Umps5PTx1<0)rS79u-uS8pf>-mmC(B?(_}wAR*J2lIh> zXkG+O9RdeK%?#SZNmVVx92!R7TK4EcN?aE{3>dh1cr?Xlpo123&0@)bAt+ggP2}{r zYSe7wTa`JeCf=vV)KO_^tcprD+LEQKB464mwT#I-2_|pIR&E;`R#qBzZ|#+1X(v<~ zle|&pZ_NUu6_laOMD#($f0FurQgfB}TK{rxJKGHH^X(Zw#xjWcv~XbEA&dfjpJzSH z1TI#OpF*An1+Vz2BR!+oLQZ#(07mzK2Bq%r-3VJwcKt<4*HRrmR z%FTA1JxMy7*k;C)#AJs9$uJ_csIc9#3tQNyMm6|y{= zEq_JUm4*!`np)_&Kpn^nK)!)>SsI3iWyRE-KCX-`H?E9ye%jc+sz&GAD zo+-9jA!vVg)20hIjvhtu&~|Q*oE>&(Gc3gO#bCbTz;5?(bz!;I;~51DmoD%yCg_B3 zt!=k(!A}Y?xq3K%)VW6)t~qL7&^{V58|$wkH_jWob}pdQ+BNc-8=(Ql2h6MP2=6IA ztWC>8-!*ddu)Js+O`M~o?Aj)W6~$&FGN7He7x{;wvU^f`&r4#CG_^0|q9nsa^< zT`}2huVY7yn>vL|ZNBvm!1^%tK>Ng&sRiFVS{$Dcd@qz>9*|VoHOLt9O#u6Mrr(vm z+0EgNpyJD9T8^2vbI!1aHN;N~h#&ilGrTg}-G-&Hek-D5tmeqB;Cy>Vq4z>)JFfS_ z$RKt|_>#K1EpbLjbQ<-kyof5)(xGlEV37;b{gL%P#H>6 z!lE+5b>J$@WZEo<)WNhFspe(cjLYQL*qF4(kjEC(d5fAz9iC~UG{p1TI@jyB>fSVL zQOkU1y}vrUo}Ifs1-H|WqcLoM!steYCX_b9Y{HabmIRZ9W=USNWUP)Q))+wKRPw}7 zPbP}~;zm|-Ohyh1&9e+WSETrfus5eh+JA^v$&tL*?@U|lg7&&g#ZPA-POtV(7XpV94pSQUj>Zo1{(LSMiD)<8$#_?FO=QDavm?WLmAGC7>}ZhmTOt;PNpdV(5#VhVOX8LupoUBY^Ic2zXWzQStzi7$71lQ?H6%O8CULCJmzaU;y?ANa#mXVu! z{SxZ+Rky@_wc?MWUPo2?btyG5I#ZwjdIWXhbVDO&8RPC7x>j||s$&kv8}hg@R>nXR z3Tl(S?Z?ccO6fk8S{*aM?}k#x<(QOgcuB-3q%(<(Pee z8NN@Z04`Rw-%@U)NKST!K1H{wWe(BQ?=+pHxlOHbsY)GB*I}NHI73O#AZaRfqpnv? zT&`BF7F?-91c+CveY#TZ&x+90B0>}HaFN)qQVDir_2b@@q!&>VH>YIA|DR{PrgM|% z=%1TZ9E{gpq$1FzNf=Fyer4iTrZ;Lw>s~d_wQ9Y9m+N*l+P9Igg?m=&d!;U0xn%9p zrK;{!b$@y_Qmj&aSDEr+Utg2xTJ-}P(bp>XYsuZtYaOCGeU}Ta3`{3(RK?)E-ddr> zua0-A#eZ7D8|-n1zcF#*IAwIFYS*gV@v{F=P=_v8Z?<>DxFL2!jB%q-o%Whr)!TTT zA9$JC^D&pHmdq|wm5fW&A0%3O?^gEr=>C*T(~5{r_r}KT(5>kYO@{jt?n_mn`=jI! zi0Pz!9@KrQyPrmgi{nEHSEhRNurhum(w-FUfM$MFE%vDT!)iH}yHhT&AJ@~z83{iU z(<)rmHVUp~yMv|Sra`=c4MXM>rHrcKF9m5d z)0f-0_^NfkWD>TKyv@sId5zmEySw7$W_-6YJ@84ZcEN8Ma8(Q-6=);TV<%J67|ekuzru zZQ8?`GvOYB^Jax(=L8+A?F-JE>i_NZS1~}G@V}`hw`+)spJYuwDGILxC)X$=(d@Lq zrMewW7#|pJXT(%I zK#{6RgStJvj_Q2kvhBpV86~8@F80o$s^4&zlvx#WF9NZ)$ z?vd26g&I;*kYS4ElZYag#N0k1x&1j3J+R2dAbxKb2W!g`&bBTnetq2COdrkq)1PrW zw>CeQB*W8%`@gWb*$!I;5BK;%h>FqFH5wM(kkr9!V=!tnmqdOKtq(;)&}~+I4ZIXS zPu17K7BWvq0jebq+6MLH5Rrze+!DqWl{Mh1%qqiU)i!Kx{%1C)dzVpZ_5OooC6xni9I9r@opNaR7rH&}F4g>ZZc2&kCY_s-ddFk$IacraK)2 zSBOq$CAKkFOo;b3FuF2cwWawFQzS{Gs6qB4T-j^1^x zXfsQ7$t6uli)Pf}75NR=8v2hFruc84!O9y2^aw8*xeYBKny>rT-(R+GhlvXBA z2EiBI$Da&T|28c|Y6kATl$D%jZWA<7BpyR)c;hvH!1k44pLHy-q}yuUT*GJPIQL1n zZSiG0m_!?tFe?U8=&dbDb~bQ28Bok*ioqLiC`L75VbU_i4VbRIRl5b#?vd?KM`62C*sk@3?G_5-oWLQWXEjFz zaLst*<-1Su9ZR9up)(nwyYp!GKD6ywqr<{Cv$gsCL0f2bNEn5({G_8aVMGQ?kVdH9 z=PaVLMsAMZ^(=pM10%Y?@Be>BuZuliE>Ef$sHv8L~tcO=FNmA377AGY6`!&lp* zhlCEW%{OfmjRs>|c4_m~$Ygn0#i-7Qt#>i2WYM+RDybo}5v{V3j*~VB&BmJ7VAgWC z31fJZW!iDot+u$VhnH&~;225$&KOo=55UGR^P}o}-L~7g1Fm&-sT&RrZ2%zhtR)*U znt?!Ylbd$>HpsY5t%7+*_81j0HV6h3!i`u5^cD#JwOt3B8{LELt+cZ|s zxr{dRGmprlWl~jJ;4?`Toy>?&Z*;><3{RaVpGG%28Kx~em=glHvI z0Hc9@g_CK0g(D@uYj@tRaWSnH-?W}D^Tcj%XRq`2)=FbAt273)^4Wts+&!wL?MZ2S zrloQ6-K#UBi`x*f#V&7q{A}t!TjwNIcwY)M-}1|Xg_TCMdDH0UcDIBR@G|VF1vjtS zya&)m=H4}WF*%U2nFeJh>rdN6R^Cy`w_26?1jn6YQPM(K{x<--vc+$rc`?J$8V&)&gqa*qR)*l^a{-W0A zJ(5A`k>I~M@f81NYhr<|*vR*GBNB6iOu0OK{@GE z5fS;(5ukt_OnzGxIB1+`qobKKoKcy~U1Ssi_SyOQf;=qkS`wI3jTL4-V+;aMQvP z#6z8L?A=C8OS>@TeAA7t-F-AmPEf_!O5Jd%-KW?|X9RhU;1t5x`+ul=?>M=t`u~6L zy|X3RO?CpCu!IoKNj70a5)vSgkRW6N?uH_g0wN+sK=K(-nHZ3dE+k0kRhod5P&Bj% zhysElhy@iDdjS=@C@NMgDBtJnea^izlWaggkKaE(%`!9hp5ET?_v^fi@%sZlIB-Sn zid!!`61QW;@LEiq(?tPC3w5+`8u{`wHhz*DXPfKyRx@fGe7YaMGe4f>2YNH&lq%skFfD{^2 zJZbT`C102I_7e$1XDe8?0%G7DG6({}U7_`H0)n}N=(f4ttD?JcWz6gDd^$Q^N1B^W&S1g9 zj7I03ec^1L!D*T$)A9wo`IA(F01#z3v!b)w;p|&N* zSr7PP5ZrKWt>a94>{XAm*5Wv$68V~pt|kZlWcrY+lhWJV)ntbUxCj%3f{2N3{Di-v zQjm-MDs&oCVAF)pNjJSOOu;nyvhB)eU}NnG>G*TYDV~ulgpqZJCjbF<2Fv9M5CM)9 zDi;{l98tN@K7j)q3IyA*eN3}g14~DM<%I~a(+yYv66o$cD-hIzMsI!@{1*h3>Bx~R zZEq)^qZivT-Ni6qQ|(5{dG6>q3^-xf5YU6I^0D~85Y%2RNRf9#52WJH;jNYo3m|AU z{AU0{P8>=BK$sl>1T9A^Ur5AQ$f(Trd*X^SAC-ZC4x^#O>X9c@@5YUqaN%ogf`9Mc1iG*jm~1d&Mo z4Ww~GxUCvvwWS|N5$K)7BFx3XLUyp_+!}u;CflFJ@NBalkfp@g3dpjGq3Df6Ay&ar zuGe8YAf0bNuG5Y4lZV-)R_atbWeQx}j?>hBn#!hNC#bR0crvZt+a7l64(il&o`++U zWT=-o&dleMOwOhY4s`QOZ3jHt|C!K_X2i8X8(abKdlcLPn#OhN-egY{=zTu$5+UqK zgNrP494@sed`H6Ww*t?ab>afw6aW>$@*lVk>EVb*;`4&)zT`K z)>dwORZB~2=#^a*h5EenYOuK`l3hXSjSQ^vQ`{ssrONp~RYgfv`Z67I#z?`}vJ_4C zLSS8{_-)}*!kTBwf@Q6!fUQR6OZ;r%h-XJ~HCjS-cV5-tg5wn?#K3Z^Mu(iqC4;YM z2NgZ#7ho~UnvIZeM3QrhCtHLK=XZDK`mUZ)96xjTEAcmr{UIbr`aQ`I--deai4e(n zME&QH!%Qh3?Q-2(n#OoPBU)nppiPm7jwYx%eCdcO93GhK*;?q(UC@uQFnSB>|S4CkSmjgmqOg$nGpvNzYU5BEh@^P5;W2HFg46#vT|sk6>`Y0?K1 z{G%!N=)kKQR5Rd@p*I^tHI!QRZ$$(QZWJ1z8ft1(>!Gw0!kSSN`#@-{K_E2lMEDc^ z>PN5s?JAEzU|I|(u^21>*ecv9yu+=m5@+X~nw(W3FS_(@l@tlAq*Fo>_$*ctr-mX> zqj$Ac{@w0W_wFigi{Il;iIsKXNx|}+CS@NOo$%{)=EOpNiD+4y)+BBX-ak9g^MN0D zZ`AS`@@MKfDmz8OwbJxaLR5avN*)US6VzOkd(KH7L|cBJ7W?0?_L9E*xd{sMH%s~F zY^nVmiz5Zb7u}u<FG|?07v;+N{Xu75#o2zphE*L4f8@;?euLHrM;1Mb{;E9BiWN z!~EWuXo52-YEod2UndQtn-bK1(DbR{K!NNxhj!`EyCrVZTczHEk`Dt(M!iA9$EM~( z()2;!hr4SUvRIESQmxQ!4I-B1(PzRkAct)F= zWKIilG)tg}71Rw+X~;nNcXrlrZ!Qo`+<YkAlxfT=Ssj;zqag-z$VG$$5VQPj zXbd1pY1?R0LUsL6h6!4s+b)W>i-$DXE>gS?ERVqfY_0sZyVsk7bUzG7pL#sSO?FfE z^@Yi-+|l>z;I(0~yD0^9<5w>RvnfYEaoiNQV~57L9kgy1B0*kB566Fu5IYERUyl$g z+&*fC8*bk#+}`abGE5B?6IKVk-9q(20*D855`dV+Kr(d)5dl(md5eGKhz6^W2MgSu zb}Oz9Ees`b`b%R45nkmk(#Hg0_R6~t{jjrt6*?+=yMd~%pWGsyC%i9n57nwL9z~3! zUbIybv_5fIUkz7L6s)UzoBIBMx+9a$W!3@BeK3k+X|j@H3GlvwN`$}5WXp*6LX zzg&HVdY9WaAPm;5CPOTCz@fa|*i!M@bc9f|k#I&O1U7wd@LAR9^i(2S$D*@#2*v~8 zLxGEZHMxyxjP~pj5OOY1kYVS{7K8~oplL#3f;Y zM>NKb8)^=ndL}GU=C&>xSujLZmc0c$ifpfNDLA6_NO9(!DhC`9Y`Z&uk+xjDxu*qdLdWZdI~^##$;cTrD#oO<{9CISx!&bN_9X(`w}}USvj<-Bip*qF{ODHa zLt)f1i9Z7iYa9!$uFnF^u?DwmQfq^$Fa%1#`m{d71>E-CoxjZ5wC-AmxQ!huY-AHs zr!I*ucU_By7DuIqQ$OTe>jcyw>RT9QqHXOi`EokPS_ki+#o^HJE5T~zSY*55++nQF z#n+M!M$5{ezm(;Y9tIMuJ`UzcXbnEtANXLH07@}QbbD<0iRB$v5p>JREENv(m}rJg zB{T*is&EQ}Z%H|n-8L&(l9`kWW3q{yHm1gOigzKIcYIqZ=}&$zVzSB54-*1U@%Two zqfK#RrQe=pC~U-J{ZL{P0Z)+#sATZuZikf|%w{AOlg+G@VaR8?9Z!KFw`AtVU?n^` zE^3R?inAF9X}l0$9#Z3xR+klkMr59#y9;o=tX&&w1c!}OKMGf>ucDSCii=tfSO_1e z<#2%{)}XynQZfysLpHjyf{5jpRy~|FIQ?S{k9Lih6RVl%Htnn#nt!mfel`~$eH=Sh zOCH5JVB^4Ra(AtJc{Af$22Q~q6G~t6TT$Ou5KZOpVXCb(QyvYVILjca>x9ZgegWIm z7lVM8ZFHmMbe|OpbCod>_H|7Cq)6ab`^mIta%enV(=hebHFKtL=1=9()GAA0`?%kx zba#HMt#vZ{P1a$3`MLI=$-ZKGim2I0jgo(j=XSvlsd*uV1KX}?w@Lb?b_7MjD0|-Y7U| z0Inm{W6m3?`ME|E3H$5N-NqVGOsn(*Rb@Y0ix0=RPSv1p;6R&##2akLqr@9+$P3pp z1L)%>Fg)0R)%=c>wqq=<7Y!UDKQcB=#x0?5IDQVy0IzqUt-ENNWht(X&(TNO?;0Az z=6bE4OTlw#r3E#6X=F=_%%=6e4{pdZ?H*Di3&R5~*nnOjk9#pgSD;%Mq4L#6Y6{1L zi?Ihwe8pk)Qg=KUib4)98n+LP+eeKv%VSOcYsqHbp=*ASRt?7P_P`fWqYEN2AtLFS ziNy0;Y;b$vgWBcmq086=k`gLA)OTRWXd-eI9_V%MpnaRHVPrFAqCywS49mqR94tm5 z4^>Mm-VkQ6%O471F%N@OYXgKXFAaVZv9Qf1tlb?>69RW;Uxo~y5iGK&SOSrhgzk>{OitRLp7i=ekOVBb5{pOxP z)-Ii<$dW_d+BRdfdo)0{d)#POu5n_ak?2Oj4|PYgku4~byDDK*1|5Dd z?RJA@12}<$%t5-^-J~k#*W@^WzPs~|)-k%p9RX?R<})*Xv<<#A=w|6+p_C8seO~RUul_{xOdEF3ElhqVk z+n&Ils)j8Y{Vj{*Ue}Xg+IHj_Lx&!rYBqwgl;bO5oP$LxD^xC3Lt*17-T*xK)e2sX zD%-%IHXdKA8RFLB__79Y=^&3}o|&2?8ZqqUAf4l8&`pJe1yM^hh+AAW%5)xgRO2Ig;1hJhAK674vj-sPq^#q$aQRaavgeFk@Yhz_v#a*mxv?ZQ**>)B?8` zt}q_3$ux1TA8~DOjR_uTqHw0 zw-L%#a@+oWfoI*fyYr$n>8-EDSCk1vtxP5`t{n{nTT5-W?O2emJ#IVdlNw-0q;#eN zXo7?`VBub?`QDnL&KD(KzaSX!7>?fV&Tp66r?X9S^4F&22HE-Vtn;SoJoM>vbl5^|$ozSL-2yldjNMtA!Mk=cZ&;h`1s zmISyLl#YuV4Mtuts*)6744x!^OKu0H#HfN1p1@wVtHLUKcw(d4%XZ|ppr~S^EO)Va zwPx(eWYQQ@&m4p&Q+Q%_LSl<8&GtO8&1>wL8eRA(o8QtO(oARP8}c$Yn-`wUjyT{*kP1%ogD{Z<<63w5xjs$&J=YI(6}45 z^mtw0I2`WV1ak(;mJS2g>w!p!Awy|LT-!vl*ePFSl{ha?h!asuS!WA5qH+QUP3|7p zoRUs2$NTm{wM@k#fm7@>sto%2Kyq3b{SHvBXlPw6M+bb-(Angg9U4j*JMn9$Dt9wG z>tZGvXV@Vzhc^g<`4PG+N2q~xRh{>J;mp_-oy9b1fK?h@=EpRxf}AuzV6KpC!76Af zYv&i|L$hlaCdBONEsgFApQkciSX)flm{*=(uhW@=$}!SI zs8IGM!5#dT(Mp*3H1aMduQ&n4)0K5gpzMR2qwF#epmFBQLuMN-oveGC|Egf9(C_Zf zOFLS(M7g{j258?pk(nKkw@uu3^oJ4J2$iNS20Sg^1bEUY<%~wS&*%7Twpel9(0!wT zEI2M1gMyw+wzep!ih04WFWWwm6EQnSmxRk;`m+eFX(h`s+9tx5h+5UL1Fk2v#&Q!qfTg?q?5J zdb^}7-((|XrdtK6pU*g$a6^_ zy&=Sn@l<+_&Vo4v%2lW3aPGZCRqf;vQy0Eet zgB75^QW`>x$6DESLib1D4l}Im!u)Ts4~PjO5{QYd_dJsPQ4G74V^~RX&_ud+q8$(t zg~u+ESODaECe%!qt}uB^h6Nxg?I+tR_I=~{6TBbaK13D`u!`DH}!=X zc)Ar(vIEQCR{qcqdBgmbm`b{J5Tn2qY(5Hy%AtVpilrgxGRLK?Bq=I6RG_3lhl9gA z{8qVxC3o37-12DjY$G2Yd}B&VvyLAYk{CEy{!qOk=2@Tz&7G1zLd2}*kF>Qc-JOsH zY_dOH?2mRwhuDabz8&h{;@+YckTQ)dZh1t}5PPgGxW$afoxOdld#gez9v{-Ka4V#N zirJNNR+$rvi&FI`IwGaG6U$erf#X?XM#GvwrniSo?{M!>5hvle=cMIL;ZYPE#cuWw z_ZA;zp+7kQHK({!*86wSQ45E%3U@sxyZ^;qk9)U9+r0J6_CqTED1RFBa=IIG_`W0_ zO3<`l%{;A+r)$ZtNl0==;?_ueX81vNUX&GeOl4? zpKn&9cH*)w!aWev|shC_dBa^seWn7T92AgnY(I1V9MsgQM(tMH1 zA)?i0fO2FJMR7`Qu7*)pQkDZJ=Q=IqnE7wEwdRv#J`Nuk1rxTGL4T4!e`EU*CCOA_?$kZ3xEc$#q zfI_$d(~ZsRBt#7mek%#8p*4RH%{nNs%1cPMBveMyrTl`{%m_6tvqfN%)L~6JKx8*p z%=DqdAG)X~T!WQAD}pv&VAx@lb6AzDus0EBYfGq03)CeDOSvd_BuNmL`tAC_3OY(1 z>xa-FD3#aS;J$@KZy^!+k8y8t#|$DVB|%cE;q&dSI_WL%@geVu@Jpi7y=n|{(h65S z0rGMJwB^LRpeM%@Y%4TWY3CsxSpn}*mmT_{Gtdt$xmp$d(3Sq3^ko%4S5+Y*C*%1I zH*xMH_fB_8`8I3dyJ$`xU5ioq-#FJZ2(BfP@^1H@K|e$q^g-QeHGev3PA}GjIejxq zQYt7(P3oZUHNs)dgQV~|Lyq6NL`6#Ify(b28lF-D<@H*rf|hT$=A4_b450uJkMojc zkPNDZ6c|BJFfFt|ixxsUE=tNzMJD886@4*B;S8z#>JlT23smHiB=@(chCoVM3Q{rv zDWM9KL(vqy92#(iD9aUjCG#LAEYqu`B}!ne>Slbw1*dOe(^<7ML`zCg6BedD*aK>! zGxT~rzMg_^P++ZiGGE8Z{L{2mr>`7s7G_qjaAzRwn3(7cR!}=bVnQ|xN7gHZM-1AR zQZ{SQHRFz8eoMCwS}QbYU*dB{H+o}G!F5s|(fQ`)# zx6R!)8;LUTZmKfCU3HL;t-N^sS`G@+e3dMQVda-hZ5H-=Jbeo6VK-c%chc z5JXP}<%SSkBAIekmFaNPm>kcwwx8RgDV;>_N%LF&B$JiNd`H#h&-&iS_rBfIpOx}c z@Mk5aNLH6q+|+$>Ws!snnHqF&T0HDXvV&SQoxEX&MDrAt65miWsdpCAt6jgW0$ayO z{A6M43f1ugW#*JdrrJn;C(t&;=A~<_@c%ZAe!qBU|km z3*C!C_u4Ie)(U;5gtkYEuQ;?l7K0fkLA0v*eN3*{C(!9HjO-i4eMf*u>(_)V*!D^a`!2VL}OTGSoO- z;!e7v7^>g+?);|FbzxLC_(`Q%+)|F_0p1rs0han zQR7ggHN3zgqDY&sbsnG2Nwbac?XmLP-GAWnr-lfcrYOrEQXi^sImXucZHR>NGy zW2-PNj$UBb*2uyTW?b>bqj_sVoi>FG8FAB6B!3yq%8C*2`g!Ao01Vf2I(At+ugXvm z1*#xbgc7IL*k8O>g^V1Jv3`r#y>S?=f>x28pe++3(%OT9&uR`x?yaREZ4TypY$q!+ zTS;gk&~Ua;bqF!ErrN3bdheJCuM0|r)tVF!yDpB)$vS@sSde&wsEFdi>O?A-*>clu zYu9jP&Cz6H0bzPE2AFm-N8?mCeRyp-s~BLapE74dJ+GY2A&DOitOFRoox|zW1u|vl zWC(?2dFIfu!joP}x75L8un-a^SU+N*a}Dhiu$k++3W-r!|Qep2;ZfBHVg%9Ou~@LO1^T)C)Rtw5Pk=Vj_DT=j?N z$>~Zf>OC?(SG=L{zTNUm=p9epBT1+7WR6{gn{SoKY~*_r9kmtCbkvUJ1FhRb`N(vY zZ~AEmNyF<{MBI+@Bep=LMKuCRn8}q@`^fn%)0JeoFYXovcUvYjK&NGg2F85G5^|9KnnHSdZAQXP8acbLBGhCQ;^;n3#6*O(p ziQzJFh^5SxdM>cg`2)CQ=VOIvzDUcCp)J@tYD8x1p<;KD7P~$Bk9XdF4 zC=>_ostJEX_yylEEnA2X{08^NL+d)AHGepTA1)$jh0FJOUicBTz#N||-gLV=su(Se z!O^@l`$!8p?T*O{0Af{_jI9(Ggy9S#v%SZI7o6a?@TlWho2 zgCra#Q1PZo+lZ(#ip5miGN}d>&ou%XSiw zbwRRU=zw`l*NB3&lK6mtvugQ)u=4D>WJq$c4Kre~)d|ST*Bg1W&U~k@OAhfjsl_)Z z?k4#}ulZZlyIV|Bx8b-osf_g>R2p#8Tcb<#aPc0hT`%agI2LYG%G(nGs<%_x9cuI) zMgM0d`+=gGvhiIqodia$VK`|EcS9V}75>9ApcKSMsOgg2qTemg=(XStJsb%d$dANM z-Isul;tKsfc|#w<7rNuk$C?N7{>0s%#JF7#s7(*RG&&86Q`Bixk@q9!v^DIZguv58 zo38nX|KL(GT(=IM)9#w)jV(gl7}?qlEa;HUHzp{g@X2#DYuzB#DL(KaI(M z#;5k^&()k?guK60L}}tg*Ay=frzuo4 zss7cxy#F2Zy{vH2Is(?D3M9QIjpKJlN<+`!ep~u{?@jqiu;>ATMbn zuT#f+R0oT{0Zq>g8oq%r2xrOI+C&746q--pp%M+O?^>CUw_R+6PqU2VyfJRuprc z9$lwqsJScr^{KlaK)S`>5Zixa>Taa{^ZYv1dQ<9nu`YEtr4cH;S&wf?-OZ`H1tjQJ z)%d~G-I}@&Qsalz{twmLzurn+;crXbZC1_gspHx0X+ZwNklm5GJL-M7QzhP&x;s;M z7bR{`gEv?o0;|Runz|2LVRxtQ?lj&>+!Nb>Z|d%~_J1UGJo`wx)ZeEPKbpGxQuk3x z{FvJKv3eWtPl4+nP`4gT-TkS1AaxHmjq%4*_wjoB9#Ux!r|zNDJxpnzQ2Ra++ZXBY zCu3V4N!=r~rQd(b9vtK!O&#y}^=MlDx=8?!skBe0?y=N;n$jLu+a6DI(*K#%eJ0kd zp_<`8o4U`YF**~$CzSc~sry{&K2PQ+)RZTzDS;p#;J=W%FW74QqTYQGiDcfQ7XKyv z_!2)BnqbOKp68!TdGY1cJ(;>Mr-%5jsOYbz?klPLDn&n)x~CX19Zg?T=C4u9HaY?p z`mgg_3;!Fb`vz5Y_;03;XWvYh_;0C@Z>R2CsrxpCd`F%8PCoDl`0u9fyXnl91N`@t z?)$0xUh2M2x~EA;%BO7@)V62RMLYT*r0$v2{Q%+Uhf4mV)cr7ZKO*_Fse4v!>nwQm zA6t_S@;^xztpQs3Y3g{we}9sX`p;Ct&r|oa)cu?iexZi_q8RmGrtX(bqyDSZ{i;6d z&nfe-Q}FuE+` ztGg^)<}X(nS7h$;%w0hlS7z?YEN7t(@>gZJ*&+T$WnGuK8#A|#tT%F zo7_9H3h2+BnY$x%cT&?`nIqX<*-F1bo%wL)Xe9sLkOit`_04SA#^0?L-jlhzGj|X9 z?xlt9-g?(QlDUuM!*XB7$@kIB-IuwKGAtic&iga>vCQ31&IdC0Kt11saY#NMhvcEm zeLQmyF(eNw+b1&jaOOTiwois3`DA@a9?9Gzng3LMNFL4HqYTMonR`snJKd);|7i`$ zsnzskmJ@Hy^OrL;E54GsFK6y6*^vLLQhb&5wouEU?4Po}&+}i) z9RHrmPV-+^im#Jmo&m46SiZqC9faS^+&3|{@9^Ks9M8U$E%o143%--NZ)fg1wBWm8 zh`yU?z3G7ao_5IhGxxpBeV-A1TFIZu+|!wRhU7oU+z%MdaHb#Rf2gteQHJv9vzhy0 z=6;m9XXAi`-v2mrKaRZ*E&563eiFxrf`6*gf0ntQX6|Q{{&RKZ=QbRnh86x7nfrxp z@?UBeewDdjX6{!ceNJoXxqMB`@W0mX{!Qk7ow?tz>7Q4@zs=n9nfooNe;0cByL$TH zXYTh|jF$F-68|A{FJ$fyB>tmX@kd%=w~BTK{V8*QvNPz6ZUFLEUOO{M-lbAQX+-zoJUYVbeu1{~!7X;ZYqzm&O`tmuDbj%WYM8rhM5 zXYSwi(Rx`Wt|_^fIiX55e+E{X?u=4>@o+?%;pPGUOyGL(_IZA7d~g;Q*F2c*&n`Kh zon0F8=ad}D&nYeO=awkDpisBJK<_Uka9PP+$oq>*^yH#a zen4GZVhvnUf_=S|E9{cHq~tCw)!Ek>{(ZzPE5$o(Ta}jq)Rzi=_HvbeMaf-Wa#v9L zm8$(p>s7?BX85a0?y9B|-f!Jn?zs@+-}_6unFp0?RMNF2cTLG%OGzJ4Ngq&2){l4i z>-7HmlDm#eY~J5c5_Ec_Qr%dp`gJ9@uGGgNzoy0AQ0ngd`M4zlYUMU01N;^6Do|Fw zx${pw(|duwdKNwv3_~Du8~K8=tkMYlRT?SO=HCVQ=Af^FZz*5?TVQYaotQGNz~US@ zZeQI&+3mcaZ0+?~<(_0Sinq5)n+kDkojxJo+~i9YnhW>3?(KK2(4Y14JPQK#Hgk<{j7S9Vq9{#1zXm}%K!so%OS=4NZC(TcPyUwK*xSH5nn5{)Af z<|OAPPz&mcK9ScXeDCEI>Q3j{3$wPGn<*Baafm44T`G4Qp=b=S)Y=JLc}!UDw`G3o z@pCz*Vk+mbscrGzh0K%Or1gF>$B9|wt@2ZxZ}zpQ_F;}QjV6SvjpZ9@Jh>U7&!Gtg z5*!NWa$`ML8>MisA*XjcHaWeUqr!Kkhr3!2V=buJ+E8IxrEROo1@jIe#%1Eo-mc~s zu;&)UO0OgIJk;_vl@@M+QMBbI*wlJ3h1-jQ_nMpCmPAEHrf8vCsLoen=h1mu@AsyC z7OHC%pl-#zw#rp7psoVW52}5bidb{F4%SmFXKmC0b=RX~%N4Lgr)d>WsUCgUX)HZ&ZtV^s zK4rqK?s4v|HGe!qc)Sgv(n%qGg%+u4G?Ky8VQFyHRW$`C0NtK&2$mcPnC*$~Z8iUP z^1r=41@B-APGSmbrjt}FreGxnuWXotTe<1Yo!o^{MVCpPJtYna{_WQLQyCHqU@6yj zr$pCwN;Tw$G$TPHb`@al=~4P^2n4^Fi(A_H-i=|~dSlnxR-h?o>AF_so^7g2M5Z*o zHD!^+m1kJigXxzoZZb5BVNf(wBmvA9_ zsT5z81HATqz$Q+2wTuMI_;MXaSE%AENC--MWg@j#AO`j4YW?S$1T+>M*P5bMn(sP( z#+a3WxwH%P795r`0c0;vBA(@8uvcs+@1su{SINWps|Mtg9Sg>6oF-40*7u8EcmN9 z<}jGRu=g;S_bMVKFFFBbL0~H#9@rJU^*%=Sqxt9o!GgaAlbriO=@KGRg1-W~)`Yf_ z?!jcG@Yb;&w3T)m<{B2NEEXTuz(35u1HFF20#kl6DSuD2fU$c-FCS@K4ov>18iG`Y z_C6-~bv-C7lmEDISP)oP<^+fq%(V*s3ht`O|D2{8#I+U7wd$Wpz*&X10?mFQDc@}u z0AJLse6e9x09->YPsX9mAy+^F4K08x(Cb&}?o(tX^Ha(kh8FboYYE6}eQ4{b>o@hH z6GT>kYX^XERtAMYds~S0A)?e^t zjt7Ee$?YQmmao4`VuaJ@>@l-r*sF2?yM}QCZGE0PeyciuC*&2(b(IHfCB^Tl1Az4f zs{^o=e}ZkX0kNYW(Dje@3ZOL<2DT*v_g4x7XC=jp6!y2o{mpXxU32pf z15p0~YAbCPP}NqT)!ov47(GzdRzTLOK-PaH9t8E@ar9!{hOeq4YtmTv83I$+gQ-$C zFe=#UnV<$>s-##8YH(HxqN*I=r)Q_-UuY47sZ!55@H|~CjdKj_30oGNHFW8`G;CS0 zR6y4A0h=xmo&lx`zEtBaI5tSbXmK~(GO>QW)7>jk8~FXcriK&!CSjsi{pkigVdz*KQX zCiBsmHHq+4zQD3vp8~6brJe?os{V!l!Ri`HCEFSmFw)b)DY3E1jyQ_F6%*4v48TjFm|#he1HwgRnIJy`0U zX`ivJV6WYse@>HKayGVEWz@CIZ!zu2PG3UDq}7#N>nd1RnAekidu2At3pjo`&^O1o zVX93HC!5)V=@|LUE8(hOv3IiXuIwJX033jUo*Y$$xE;X*faU2SPZ4>O-$wMPS z)?p{0lz=}%>7H z^)%mZYGp+c)-y#|&wVst<&U$}(imx+NOMKnBoZ{Fg(3k(!buQN3gN6&N+ue z6iF7?=j(o4W|j}x{%hyL(B^3QX6DHDL>C)jRHdB>YINu(8wzukn44a9NysRF%?ge# zRi$0Od6%lZG#NwcQGvY5WxF*I-O{M_Qjd-%jbx+=H(pSSrJ8`Ia4=c@oN6_ZqXR2; zS^QzaKELIFkPhi0-W_}6Rwp@3{IIgn+m0~3(d4DqV`>@GPPMcaHbAacEiGE67S|(` zi#AnEJKfSU<8DSxnkO5WbIX9Rp>Sy~WWcju%&?PX$U~C4T{g(HPpv_<#LXeFR>*+E zvGM~pqVnK_*69Y+PAwfid))5PvaQ$SW-O+|l3m&)8xTA!-Ch{;?HR4yIuJElLquw-Tk}G8@SooKg{t+Fo?Bvdjxu zxHlXhA4^*>Ovh-_%k@osAv^5{ZJr3K?aCVOP!Ixl%t2giDH8Ht!i$B+rUgCv2}KyI z^jF~FuyWmPYoUx=1qVTgeG4Jq=xnZ!n!tgV2xYp^;=*bE&~xQ@lCrBfP7iRoP*(scY$E}GXZ zYCq-f0QsL@8OQOrgEm7^?o7(X0ewTcJ1&|RtdE8`6d8nG4#hAQwkw8EF`VsoIi#+E zT@QyD>zd2CG!H7iyTb(znpSxq=2O@Frn(lyl1)MTFy!(^fAn->Z~P9jo%^ZH`~-_LfJh0k_Bv9J+~ewhaYSyPxvUL(eJ{bAa359dH_g`F=Pb z4!SLj|ADmi!1*m(=>QBXfEe1!CYMP|a7cWRTN1^|r93hB!;5iGpP;CXbNZS;gytVo zAOAPRQVvDe>dSRQYXIHIo3M?4h zIHIH7-y$7u6#r&>GjSdCCsN#r^$xv_Nq#%dHQwRg<}fY_lk7TXwrquLp9Ej^HNTQf zD`O@qLYxn9rta8Q(TY{Ya^;#DZD&I$0)sDoA|=|wdVhqBF$Wh>6nekZ?j?+ zOGAEWQCF~78bV_$Oz&!a_DV}zx>`fX`=+A36q%nkoY`Rbih@?XduK_2Ia@N$IZ;hp z#!9x5LnqHw_VW^{Vx5N=b$&v#&d&>=tBCLyMEfIk_Cg(T7jgy`2Lfp>N*MTD@NYiR z00A&x3TK)fmzR>4W7US~eS!nxOQd%mc1dfCua~3Qf-!7T=xx5@@BofnV0>VsD9MD^yvy1Vd*Qt2w`VLjV|^8_`z)vLTK#IFkph)(9j>l z66*cATP?bKqyF3@bRjnRUM0AfCfn*{Kt3XbA-=p%FYn{!sj;(w2_H?$pRx`6F-;9P z1Ng)JESd*2H4jLwEcE2Tq|zhQp+%^}gHg?^u_q5JKbQmf!zal9N#*}!Lr;Jn9%+~v zK!*yGk$f!ei2zbK#rbYjSZN?3_c8ZhuA>Rw+~86XkB6JMbWV2Q8NmT=~> zRM7@2p$*1T{d!ah19}JpLcVXPd*7&cPs`_o3XvD`kJqbjF^ewT4r~;UObf z#BWRs>-oH5aEj-JRxAayASZYQ;KlFB`GWfSLPMp7TZo|j(JDRFgGKQ5Ph|bGvI0{4 zSx`kyh{a!%dZoY?FH&hgs0HgH^M4n3fy&oXfD7`0R{&uAlYB3!%9k3dG|)mh!7b=# zzXz@0>&s+aladvv0#M=%zynZ<_onqK&lG5(Lt(9?@=TZo0LEEp1)Z&YpcSV4RYMJo zD$g}xoE^moflZueIl(EY(iQ4oOMxoLdXc~iRJ_n-kjhuR%1fm6C86xn)Fc8h3ebx8 zrGu}a>=mj6skqW|UPYCX91NuZs~7~Kpvr5c?1gd{u&flk>Q#bGe1MD-fFrER9E=zQ zj38f*LDaw?Q08KnsCfDa8gY~5yV)x2@}LfUy@d*IRYuSUpopN@Woli;_F69}<+c>@ z_jc3h0)x0c;wj_1o zTr+WR{stW{{@u$P=!2F8Dqf*yAC;~b8ec{nG?X99-`sCXULT`zCK+_0`W5q_{>8rs zcq3K9kMkJ4FZIEg9guTWzt)-VR|l$JAh;=tUr|_j2vp^3rA}QwN_^7g;}-mN@VzHT zS~lk=T&-`HkVEhs8I8!C1EY~HK9Fz_=B0yRAGivqQ6mn;9l|gU`E}Vp0qBMF<{(_z z%tzm8i1DKk?k<-#< zyN`LXOO5w|v}Zxy9+`ZoKeF?nBU}pV!({Wpx;f}TlQ}5)_puNoT=CEHucf8At8dV* z#k^fy^<4kOH8t4X`Jf=9AT8&xktAnH4S?H@BpTDr;d;%HP9HcN@Xtiui4y8MaVM^6w`Wb~I*+)C585T_8V4?FNc z1-Xyrc@d6{%jl@^VI|{wLsSKTOD)3Vh6vku*Xza)Arsp};65dh_v~$#4=W2>?H<}c z3DQ5=HHyNrM@qsn!=R4Am|CyBgaBOfIsQj~O#rq!Eq3HQ7M%S81XQzTy6JA_Py-|+ zHKN&EJI`L~ccPX$3?#w88a0O#b5}Grc9V}oK%jg`=90V!yVmM<4~^nslX+3A%!^PC zAuvdHleEjMFQhLEtG?nYeejBFTHIdUosYGT-94_HdTyP6 zStY?RU@c(ZE7qaUX@rtBlK#dy)s>f8mLQ$>sk!nn6PTFTdVo* z$jWpxHddnPGL+F}utLlqco{$if8c}7OGbW{EeDHbRzjo*t0)IiLUs^Ey_#UJ3^u8m zivyv{quZ=_Q zzY-DGAds4W9XsZA;03EeKT3+Y)D^8`OF>bgSN>P5-SWW_x@#`KdS$q-g<~oUy{IfK zb;}3+!K{@${s7Sj@>ZDD84(B;No(Pa?y#l)O(e8Pd^P`O+VJM0^dsC68VFpjsPv=U zQTlZ>7|78}n~)B7Y*9M?yEGDSrF8Q~xfGLhsVHE3UXz9bqY+w;YZWCtF_evUnSQ+; zg@v~-_3t2y8J5)mGO$0lsb0yTtPF!9D)~-+zLTFe?|55b+nE)574?Ku;<4w zIvZpUt|0a}wu!!2FZK$Xwii;fP?;t^4EulC_9M@T;dJ{MP1?!7<0C$9e_odMw|o@B}&t^brqnIbl^ zg#@m$zeeRJ#OITwaOU>vP0|R#7|=4?-GjcJmf1a|`Em=M+^kXN&qmJN>{plTQcJ1V zb&jEJaXRDMhG^Juwn|v02D5Q5PQ8X`*z(S6p|Gp)m}CF%9qIYcJJQqC5nX)0T1R5g z>xPb40E4c`F2gM2nqt_FT$Z(R{WhetcZ*kFEL@XmN+hwp(qiHD2&lsdQKztO&_k8W zp_147wHvd+jd(Y?IJY%LAQzjDF%NJjO!RK{T&UHwPc1IF+Q4K;CLkoaesS<>CPVxO zJ9x*TN!sgr8n&~|zugUo>n}wbB!|7LA~8%)z}wmB)A*?f%yA`d&Og+Tl6I7fjW&vY7Qs6*Hu~_wnBCut9wLnC zXht^R{+=3*ksk0JY#fvFYks6{X}RU+HLSnujAXG@v@Tx#YsGc#4xr4#4j61J50T7` z-W|Neel<^0U<;s-ty*gNy>Sl>9?PQ;gQ3sPHP_SK`JJ>~!7b(EQTM)utg!hbAzyf| z6rI?&VucmepU))nTuV3?miW!+kZ6tAu>iTJ-zG8)qC-NYGkO&~4?FWaY!hDu585(1 z-fa>wvmj!ox=7iIzdU3Rv%7Va{;U*>JwnqaRJLHL;mbwKt^ANqOJoP)Th7f`@zXN& z5J+X}B}>DNt3*sG9%OE^322!Fv_?Uby}Uhdx33~z_Q!#p+THnL+PbX`s?^b=*2jM` zs9M*XJ!e_YBZ|E_veLz>Au2}|-U(pH2D4G$Lm?b8`OK_ueG|m`g7}X3wZ&$myL9+* z6rYD?WYo5%cx__>VMftbUUBf{)>yoNHH(^y=&+rJSU1^mm>mPl$U46a**)>5sY6Ii zx}*qlkX9lyx+#sNO(mHra}dsjg7Y05w`>SckjYCJ!IoYHgh(Mk1ay`055z3^Z3(jfYF2bfo?C4EEf2~CieIt? zJsURam_pdcwrs`t+j6cl_FI6*$q9T2Lz)*K-4WG`$03o{u<6rO#xUC35)}gHEpZAw zQ!q&jdYPY03+jxl6C2AEL^q}N0t>CFFa^`-PdGK{4T0-f`_p-}u~)snw2l?{kYeH? z1rs@w6_f>KvqL8M@JWHWq$L&i#^wWEDs&_8mg58Tv>xbE1Bw5B-QjkGP>?W0B5oUe zC#rp%F|PA$D0YV%b*3Lp*G;5Y0!`c4k)Fo9O~q}=m|O5lI1HwA9Amzf3m)`r%onX@ zO4?*d(JyLhd2-jWHb0y!0~|6@odaCLj`)d11>3ppM0)9qs`Dah9ZU(o96Q3|UD91S zyqV%q@_?dEac;~x1>?jFwONR=qI$eWsl@(JB0`4_kR8G=_Jzuy5z3z#%HJ`RKMQ!3 zsEa^avt0j}bL%zCriR(LC8K*X1KEjzGqh`&--Ujeqn(=Hm7TC_>{SoIs@&}1$$W5F zPv+L21(nf=9}CpNt*joIZS$;bU0Aou<0uX?LZP10TZcQiW_{CKr7JRz+;XjSM(Yi zgJlfKGUnWV_M^)&8(oezcW@PXEK2JbcoGrg>l?#a9QUe&Ic!dOE~!#H_=cUFjcc?nYL$g42mNbGPBrt z8<0;6rNofDIRiJ7qi9D6$c|OS=vi@2W_EXewbZ(s9XlyHZT~+a!}(zRpQy0Bc)I$m z?B9foGSq(5YQQ|7|u`LR-EnaLit~v`MZ_G_2S%%F~@kJoD{ZSuFn2(@IN%1p_ z;sG||#LuE+^WeF-2|p+GE~I9G#t_NIpNDm@D_M49CC;sk0Mr0d2ho@p&x750ZdP2& z`~oVsgQezQLvgPuD&Lb8j3%Z0c=l1jLRQDZ#(q>N-_VUf+xF)D-n@_Og_P=F%cEe& z6&KV#-JOplrEK*m6ehFNi{-T0Xxwm=gqz`JI?ByM@W-PAe|#>X)>@%f#8o>THm>A4 zhkVzfHs}>B+z@OrPIx(m#gul4k5fs;ATO_TZ#BQAoq!6p25Br#L{kRR~r0gsRJxCnY(x$H0$jPzQ6w%vtpVn_Oju2t72k z>_^3LWL#zG5DF3o_oOI(+BrfYQRz9?hc0tWl2uV4;m+(TO(yrWMGu2>y&el^4O4(~ zJsTKZQbaw^*Eijo+SG7!YWG7pi)0y_A?53uwqw|gRL}z-VD;FYDTA+Rv_%Om&e#To(TZRrN}1DS$}ZH}<7S-Sf}EeLtI#gT*T{=FZo=?oL6zcj$Cn>i`~8;W6taDd_z)1 zv)Q}^l!M%?d%G1kQXrS1hGDU+HU+s~Na|7YnhOqhT2_Qf=~~15!Y{Kf*h<6TY9@ml zQo`!D4W#5bn8mf8Atf8%av4$ry8`Ir%8eO~&+mZGZx4L_ej7p6#^-ZBS=h{wkj^8qeWbYD=*tBs^!SLmrMH9VcctAQ7imm2J%$ z9$%rGG-E>LL)WiegCtp*$BtpAnZQnLWyzD}hwPdy1_-Ke5=T8=;w8bYC}(mkqmMEQ zR=WI@<+Z!vd@pr)KqBadV4~1Iqi;fpXnzNrY80Dl8q{rv;@D`6S2BwD=FKirOQ@k9?EvsGR<5$0cIykJpcp zz>RGd(`5hsvW~=%i(7`rrq|*>l^?c&FjSahu2}D*NM(Rb6_V3k{-&j}#Z4+BjGUP^ zTsc5f;>e8Ao!MYg02l?%v?a6FQw-NQ`ff-!X7N-$QB*4N-)L9~vz5!%7P6L9krU@X*qdcE5sR zva>}fERLiMX+TYdCS#$`Uv4(Q(sK2M=XoFF*^LYOrdrW zAOd2?EHqjpBJ&}m%!5so*>!byK3^IkKM%owLwdTvu>$7)&*p8|v#cC208qy`eSiS2 zV|i2cwqg~!FD3y~^>)ZJn$n@_7H9%A<~eys!xW5JFGj$^!-qovFja>X@{*({I}Ll7 zOMA$1=EfEWBIvgc#DXO#Oh1a_WgGUG$xRA-U?og+6KA%t$RQ+l-)J+ooz0jIG&gx0 zrfpl-SAN{~;}n_(PF5=TgQ=8gI2jNmGzEJnH?90NOS=PUcOb2?4ILb0Rw4I~f*)pb zsLeb9v1!K*2u-{xb9ixl2@c~I?iMPofh(xO4zvY!pzdUs4YAAU_B7*vElDP7VW*lf zY}SNPXHxZ! z4*$<5vRY@lSyio8Tc&hwCoLnEx#ie7=GcWCb0E5NPGo8B5(%z|y2XT04xCe2j(JqR zyTc?&tSixv7%Eu-GeRidxCOS}NH_sWlhE52H(ckIAWwDycLFD3TVJ5&ZJO>bR>R1IurQ)+l*&6@`lAb^xpmoWWQuNT0BNZcTDo z1XI1S2Lmj>O#>iXZ8l!wOpMs z=1)=L2}$CRp;(L*Y2d~nrojm-aEjZp7CF6{ZnikRJ~zuvb=$k0%3ref?@WzY2aDhv z&o=Vhvq`6`5v#gzn>$KtbLq>eDo0i z@%;jCIR$ZA18lli`TN$03XQ0+jw#Vljsd?njmUL4*kNdKm^N^a9MzP+tW2aGB->!U zwz4<9RUX*P%|JzLHW+KW+pj8>j<^Q*Ma7{ld1HMIy1*W6;y%CEMYRDPfwm3{ZD?%+ z+~s4RUb*K{$s!}8&`-s>8P!dvT?H3tT$j?H-YoX2%Tumd+5vh4H2aycgc|bdErTkpYgtiGG_-x6MWp zy`RKFr#(pWep08K1h&?~asyWz^tRljj+(I6rn-Kaqi^q~&2Jg4(z#R7heF{XaO{@e zwlLH=BRoa>(9Mv5X5BGI`K7oNQBBoSL}y4mnU%3Kwc7fd-(nkDv2jGCS%&jlI9*iF zZagvQ9;RHScCs4nMbL|$=jP)li3N#X^qBC16R@9lu?lg3Ukaob)(Tc;#)@yU*Vf`$SqJ_aeRARt z@quaeNqlhHpQwJWiMw&PbcKGNh|sfT5EC2OyfBG2kt0U;v?OU(YVC;sYu9HRuoT%> zaPJoPsP5_PNg*P|HMjzDp^XZ;h-+{KR3rKvur;W1wp=7M6H&=*C(O=sY^9$K+U~|x zktI>>b0QZZfN{8*=4y2DMs$Lew{2K?Yb7E{j>KreoKcWiDvdMxVL#ifk|8#EyW2N187m+r`$_uQpQ7s8#uWCt zNS-Xv@XVG`8-=(a#gZZg8(pYDV|)u+t_KIYz%8ABLp)Vhpcr_l=;j+au}sT&U?VMK z%lYQ8ZdL@Xz#e}j2iH;P1s*lvkEW%0EDLu`Jh%vC;g2h-umBc43Si-n>vYGVXe{Qq zu4?Sx(COZQ`81>3<%#0xPFRr431e;Q#=WQ;+dEX#BM}ji&ZPOBXKQSh->ix{$#pCY>PAfyWA@GE|MwsTPXQd*1S1Ki#2zJC>Mly zTmRwy=X;quE=ouOn*i&oQ~;MU_VWmE6v!M2}8v( zbf)~G;iNrb(#|roKU-F3E5?RPMI{+dpD)|# zwX&J!)rBO4NoS2+q$BPkezKHX<5IrZ3LTQuG+X?aT5v0VU7D2tq9rWfY4{xuxey(! zO_#}7Ixs_&d%03v9#SAGkYY%#)!K2brrQxK_sV2ZFQ(KX9^~@e%UUp>u3<<`pRcL+ z84Kzy2zSBYUuQ1XJ|Gusfz{*8yIy5q-&mi;8NR{B;6_E=SQq`Rt@SrqK#ZG6Y}2zs zfiP~yR}{PV7CBnern;5#Bxiikf?wR4$oY>w_)t=Lr0mzr{hC`(w1h1}?{7;mlh#hU zT{Cw_w3x2pbj>!!o$3coze~|C2!2tl_Ya4#7gT+>LSASt@3E>^1g~rT(BNPTjjeR! z0dijmgz(WA0t4^uGJ&S(PPf7Ap{=zK$p0F4(F>9?V~zQ9J2ucZ*{LioKCTBJXGTf@ zA=pQ^h#1ogZ> zNeY9mW~?nHGK@FJ+!*Rt((P2M0pCm!*ycUIt_V*Jq-5MT)>#d2xfP52juj!ex6l?g z#Mgp-hE{cVu5FNbGpN?^x{tc~vyD-|HtZ5}q9tgCXr%xU(yw6QIKp+xeu(=+B;Bq; z&K*S!x`G^SFmxQ5QQe(4Y_Ur#Oi*wkTerj*pyBIBfFPN)Rg`;qI;eHN{rmIqxfwe-zMy!>o^~|QL?a}RFhi#h< zb`6^wDPPgR=4sl@Hg6;+j4ALf8AiN@{s0Qh7CNb;wDE?;Z6TsV<}E34%TOY}diVvy zBnWmaU&nHnnk{r~y1_K14t8`eSY>Zbl8rplxUE%*pzm!$gAA6$<*VD)kMG1@q7hXl zxjCb;miv%xk^@&h4c4j6P1Z4F4aWDDEk@JI?ei!ssT-!I#9}l(r5VUPRxjMrdPE&= zR}`1E4MeivNhxV+BL{@SlG_n(TLn!(+DXBEX1UpeuupYEJens(0u`%!ODo+RGY!E# zwYlAbLX!%Z3-D+XcO#4I=8i5UEt!B)Yi?l`DkjyQU_mjnrOWR@ox}=tuZfYc!!*r7 z(ZEtIgu$!0g|1Tdi_k&a8;M9tOu-a&9~!cc?0;z;$^}fBnTIa(gA|$v3#B833yovB zpGuvBpuL~lzi;BOWPmNY=2WRAH`Y#E07xvzp+<#(S&~ znM1-;#2`DYVUpY-jVJXRDc~@cR#_p zO~Z^+I@ljWc5@$FQ?M_0T+u~XrI{^b{PDauM>93pr2i@2Rx4xu36-tkk*bbZUl9|L z``9-3wlD^9#w_rcs|WsC))e@QD&JWYx(YIJGF>?Zrs!niUI(BBS27g(E)|-uf>Yh8 zGh0Uc|D|p3cK_?%UGwjup!XC7nIBmPmt@QBbcZ9^L;Y$}uL-OX{=^e^h7o@o@+QYJ z5_aq<4ANQ%yptbUdtiJKjFQ+O9?TGbWH0b6(_eU&smg7vJ%%s3!1yTGqTn?aUg)(A z!M?~(+KZBxMz+8JSRVMGODqp;Q5!6gPLXz@_Ao_lFhv@MOmVYAa$}3M{_!r0XK@So zbpA(%~`+A~&-=JD=j1jFFhXsxLV1g{?QTsd8GZ=X z=!3};4*CcP8%6z-t*Vqz$wob~W-soOQ+v!N)Xgqw!%l zV2K2~qb{Yq_|5d0A2#<+Q#PI#gRt-y~f2|N%y z(L>1_VSp$Qeg{Su-NW-QO6R$X`kEA;8m zcle*j`8GkmX)Q5)&u4i+-(h_0$>%lkPberD{$Hx{{9>hlF?y-R`3p{C#++Y>l;i7t z`jULXL_+$cX8g${KNoQh(<67aE%FQV<>;|C>|?Frr>Mm}rD<1bb{KWwEQXQ!x;)t8 zDdrGd#E|ft3L1w0ml{rMso-1np(bEhi+sa;TfSig&e<0KZtT_fhacNMXaa@jp)7j}v^u z;JfxN|5Fw5Qx#!-n1_=XaU?(2qK}R>0TFx99iWREmch0 zLo7_LCPJ$=b0Za0-|d>P6CozpYoh*+hrJxCHl{5gW$0aqr~K8KYt{(wX*E4~3LiFt zsl_i1H;`jN!8g&nCZCjA@KBMfYDJ9^2kKMR?RbQFXGJkrSWS;cG*4T@FeU!O1xZ37+2N2yI zU}dJ2pEfyxYgaej@IsPJ;6ls6>9o3;7T>&&ENfcajPB0!wtjlUom!tGp^hcw?JA&+$gpE1a^G^ljz~ zQsoG*RJ)W%f5Tvqk8TcwmfFj#FM%e$_0tSb#nFbhAldOxhQFF5gldh2BqjFS0waBnw-qW&m zGCdkCNHS6(kZw0do`A`0&QO>6W>+e1tat#5pt5nm*14UG9#OjaD=0w1@sx%K)L6aw z9^Qt6joDt}8(pdx?J?uyP&5}=GClXPCRV4|gvkz-fF;~1)SX>$cA5Tk$hJLi45!pm z509`5P*%HKpv`u>5K$I>nmzy?Rw%}FcSA3BtUT4ygjNckjF4+_wXm2wg<-F@D7Nu# zD~^om>=q*fI_VbJ$c!@i`5?c?A~`pJy*|_L$rzdX?o!;XB!R20`9-vGQ5<~G>%C+D zESm0Yut?lI4sLR_kWbaVOjThY(7vgC07BY6g$XZWP?orM?+z zbOIW+lvcn;hY^R77J-0^c84wnY=nE3OM{vMG1M2&;k3viF;x8#u)0T9F8}w-FSo-- zA0ezUoU63zXj*l2Y*lBD;W5H*ac|Kb%rOkgF~x!eiqu>m7aIbDtwnUaJI)<{=q4@? z@}Vhw9)#8#3h9E=gVXTj*zVpjH(Q*ClUocDNoN5%YVIUgTkcoVy?45m?wvK^k4UHS z^~w5N96-p^{JWz14Q#c0*Yb_nYPulCIwpa$_NN&tW7V7<%2|zr#?_~ZyJqT7>vX4y zzix-ao{OLx8vb5kkD|3_^2WCKT5HT=ao1t9-fB- zMWX@m%%M!?(0H!J>z80O(j*lx;R7h%Vx zz>duI&5657Xye8)clQwDc&l+nu-Ku(4+&({R#X0>U#pG zj2(g);j!;xnl>aAPh4FnH2m}i0gWJx#m+Foa!)=Au}Zku?h z+dR!-#s$f4AuSB{Ba|j)d(rcWe>CEWYlSfK?lDSj(JX$N%HXeU7Q=-Jt$kcW@)>d4 zaLX0|g8G?VxNMdV^y~9tyn!0wvm>|-&rP(*P)>lvDF^oZ3rWEFs0!X&;drg8fPX`~ z0@wW)<6E9of+tB}%YHUK8OimP$Z;=&_hu=;Yr}&-#Wa3R3+ihP6Zv(u8vYul`x~_S zo0Mkc@muC{@muvUDKOdXaN4mUm0mI4?eN`I`D9#O_+%8O+as2{9j3b~e~ep-%ZBrQ zhG}a7G=#x!$0=jg!(Dg7UBgntSnJ&=vDxh~+EOd&5}Vx)qYa2(87XeN9e!K*@d)wU z?eN^n(*eJYJ4VpFfFJ){@lSrC5E8K6XDM_9gFhQjjE;Z5I44={r*E3Al*aQoc}Rd zR4#loF5lEQqj3{|ZJ3W2H6MSIlSce9R&mb=7msH~izM;)=$x@&tg# zjd*UnIIR&i!Uo`yG!RDWu%Hq#&>UVHx%-j-K$i4n^4~~|USdwF48loVuAmaY8}isF zuvLv?{}5rK?zOS1xDsJS=bjr2&ISjL?YM9(`X~~C7spTvfh72+SQFw-apuUKPe=-E z5|Z4Yuo9x;_;w_eT6i0pK}XhEN$mfd_+o3}W_tqPd`pT4NW4AG)iHoimA4;ns;6#)}K8UZwU6Qt3nWy=hA}F@ml|hMpWZ-xejK8hB^K+$a zF5@_$MdNFXd-wN^n(3rA(_Twj#HBFZI$g_n6bv5LK?;~| zNnqf$S0+=T*0yAItDxEFU<+r3=nclYPvw>mmBIaeIQolJPxhhotfO> zr`;SSnE7X2MVGxdj6E+cG1u%?ylD}%_zIeN-)N`~p-?Au&dk{A zfP;L$n5@smnHv>BgdPM)dx$!w94$n<0?f*ULzpHcW7&f&JJ#X(#j)Ppm_~DMqG@QQ zpwXhheFiF+NsRcVt;uTYkIObvYjN9Zt}Ww4ZZu8(k<7XZb#%{(c8%8R!+I)EuDWHJ z3Kpm_X|12)Cc7y`rBlf{wT@A2U%@t=NBvdqYNquCjAHxl&MUHP3Y)x`i00EFrn61n zQF*k5d%{wLfLdLqKn~L4Gj*lSI0)0a#6u13mjWGEf)0eKAWEYsgt0gO1SBl^1`k5E z`elj~F(yrsr3nhD=6J_^m*BUCH0Gr;Zq-smoUnElL9<-Je+{dq#R-;grzymZLXCrVb=p$80WHZBkzshG$0CU#up7{g z6^z4)Ze?~eq_3!6ELAbnZqLhAtRXxS^)ahifMy1o)Y>_tP;8I7_1jQ**w!#0* z3|c=!Hc9yIz`-O1TJ)i1Ty@s1$!POVVGwZ$C*@)@tFRoqki#rBmtdlqG%1TI2WL4s z<~8Qnot799v&0W$Jxv*Vl0!xoy2r6D?8PXVdM9p3;lUSC>fSCmXb9NvYEJNy+b2ve zZ(qx=*YeBqPXLi|Xcm{;V3mu`#c=@*baxKQ2O`J(ux4+Ki0Yh8_n>wt?Bu zcl&KvtVwQAfB*<-f~dxL4QTYI){ccBs&WJRD22A8&~_y@_%tk+KkBxRCYu$zxmbioG`%h6TO9x}gU|fE3-DsqS))jbZ$NWr4I6OT0)mH7K+xjWp0^_*1xPb zCLSzHJlKbT@M8!E0d=A@@W=$qNCb_%>o<IuAR}hXCs<+2>`#2l;Ina!XW)aBzPXeG*s&*=0p4! zGP*Kl7lbit?JksdU9)|Wpkylbegu3#xg@I8=Of?)%B6{0CCMJy3nkr)>ovw-9tUxS zsm(736*h-KTq%*BfL|rx1JRst1p+>vBi^g-5E8i-CFr|Gvc7%{3TZu)@hy;yFG0o^ z#Cv4~eT?BdS^E?GjX_;rhcO{g5b7b|yBR3A2nv!s#CzXmCWgqN0-W2ba1i9(o=izb zV=-t3xybDh=>354q9;GTq9;FE(!2bWWMfPOt=x~Ie!MKP9e+Qh#@!S_YPVyuv5K}L zx3i)@j`>>464x1w`@#!kbN5L?SC*`fcOfxKn8pVrmYb3kk;oYkWN^sleok2=aQxj* z-qc^H47zS?AOl>~-!dwGxF%m~fcB_#+!`hFH-1W^7#{@f)w6(qe|8B7w6ljNpyG-&DJVFwR~ehU4#PK}WjHHGmi{Z^=>c zBBI13L~~rW&+F;)NTObl(mN6b&!NZud6HBj59gsA?B-v~zfO_3jPx`UJgllhRt3xs zT74zH!Ta%d^{zS4D>79W1AoVd3=jEehOsk1MXsQVAi;vWxzSOpYu0y0;!tudOoiOq zu)8bCt1^y;2#W*x5u$OV#T9L>9P|o+CM|D;i&}T^GwkI8>0yI(VUT7D*9Q615NT5U z2wkIDmg&fwJ7F74E&X!vQ3}bzSS|c3fzSvi1AA38*2=V=uBkTu*C@)O`~;-P(b1eR zi&VFe0aj!C8z!|_bvE`5kt7C&DTIqMno!M8fP>|uO%{ggOf=%#w6hsXI}fF8ff$YC z*tn(>Vzo3@SXrZYtPu}Q5}0@brn&LKVbMsFt|3X2I!KfHK$?K3truo}*eZ@zu|VrW z4=q@lvVfY$6@HrPDAtJDN73ObPKJd}Yegq&86wR%t5u|n=&p}+{^x{c!CSf?qJ>0w zVyz8`Y(=Lr66?eyi1ew!Cb5L))r`1Nwr?q1Qs1x%wCXrEhTMfJbm{xB*dm3A0jsMU zx|H=X*1GH)Y<(I);Gi{_UJIHNg<6g5k0!0maJZxQVZIFXAi7izblMHIDIa3gp(;-v z!@;^LOTFhB%ojM>*e`29rW--oFt&3wAwT3-*YC%%>x_+_4^5hQ_JVm8Q**p7C9AnP z)SYo&B{;85{g!lXD@Wiew^bAu9FG7a#(c$+jV)l+Oppd)N^#cveFSNZT4zy4``3}US2 z%DvMu*00AbjR_*eit5uY8`Y7qrC@IWYBx)io;6NfIBy1bkho(ENLUB0M%;mZ#t?4? zS6v73ipDdntLGdggEi;`j$Qi%0tLyl<#(KV2 zqz>!8eYpj+Uo;AgmnQImm47RXZjuKsT(gK^@|D1ekJixQ;OHX?NruIqP%f*lvWSoe zATUNmNB+rm5?ONVMw8&Sh-VR54o;6U=+>Pisd4dnLrfxth#h03%OuQ?F#2ynUI|ZR zd9=&iyM#|FzF^VYHTf#hGs)ZvPq!}wi}9wy5vqz2+}@KZN1`-grEykLAk^r zRnF~?gzK@Tuqs(sxcb^HBH~hE>T}^DJc@NnUBiyaa0S#F&bAOeT#4vm&kFX;9Lov0 z0M@jCK1Z`W!(Gb}oWn@}9g89ptF^{Ory<-w&SFgm#vmvB_!Js#NUdcm}E_9RW0?pPL%z^m{MTJp`5pi`B>0I z-nq!mnyyPzKc3zhNp>_OS%IyRcUzRarN*FvHWUwAq1X!MH4`ao@}Z;IBGw3YXtI-3 zoPRQ746=`GDSW+pf)%a&|EniBM0mDCGSvCi*(B~;Oien?9UP6paI{19pPM^<>gnr#eI0lXQAjo&bUgrx$8TnbNmlQ6h2>ewxU^ zw3X>&W$N8F)q^R7IH@GEI6Iiv<&&MVZ9fe3ZWQQRzUY|U1YQj*Q1dn%oB>Z;rxH49 z?Vyg(I?7LmY8)<&8_V{8m#>W(??$PBxZcrrpp9oC%mcg5_I)?>XjRQCB`>!a08z7X z!cEP_&WDY$5axj`si>XC(fe_cRiq9o9$;CJ__FtO&WjK;VB-O1`(N=?TOmyA*!;Ee zR7IpVh$+dU2{bbOR&^p(ZPFFbyp7a%zcFpqXMy>hxMVS zhAY>RNvxOoqJb zK%!y0sC`R0R0$t}fJm|1OlfH^Hvzw8DkriK1SO%pK^Cu#1|iH(ZL=cV3^ZF34Hjo{ zvzEdIjhlq*lbNx2AcmEhGBfs83PGvy)?u)XW$(}jbvBE})VK2i#iM10;=%k&#@ZIl zpgj=D7EVYv{rehfXGYq?>Ko$!^1(8(jTKTDJ?=FVOBA0q(uBR!hE6xnvLKmIlp}j$ zcbZJG?N@fE5n=FWwsKs*61iL-7o+G}p_Df)zLN0fpA9t($elRsW&?&o-4U%l+K&@iNSbw7_n5oD!Wiy_yN_@$ zOs-`gv@V4Z`tYH0faJ;SaLOx&M8tS;+g95pd<3&&{*NM$tP6I~chW(Z!O%2k*)KWZ zar}C?Jy5n6lzMS2cINdf*ahyy$#1YYu7Wof1fYl##KMZUi(_G3$w5b8qE7UlrchbI zd7tHWmPF91pjT0WU130sRqZE`dkj0Y!0!gK93t!xN0|*ok8<-$u%^QTYpSQpKG)zD za;}hg^zgMuG)4{%wZZKrG?U0`+bs&G9>eX5#ouBcFIFF5%NS@IcHG5a$6Z3@Vza-0 z*Z>FM3Aw*JAR1pDNWBA9FBo*S$vZOOP6oDwmpDnz5e@>xY=3Zo^r-;p5dE6u4|NB- zPq{4I|{oBL5Mgt0sh7BTO-ye0l4PWXN^AQRjy?Em#WX0~H-A zT(}gX{z>61?f@AsG!X7le(!{XCJ9z>uSHoU&byH*HnG;iHLS!qcV;IBxI>{GieQ%z zv@A4Wjvf{HjK$6)N{(F=Vy?%~o>3AD22m0KmBE-m911B>tdbI=h9D)5hj=p#AK27UZ))xx8sG+=Tz80H zEHc^jtYywU`kXO-Kcg?Rq?8?vct0QD4m^e0-O?`qS*n-ZXI-i6amf&sN~e#YUq@6Y{ZRioMr=yflK(=- zCjLmul!+9BFGi$Uk0(Bi<)l2qNQoo-(K=_nJnJoyjPjU>3yy9nJlW7NheMf#WgVLx z%wZkRuZu!#&3fs2W4&=`~n3cWfK@?FPr zJ4fiY3RemiVVCz@zcV97!0dJ@`(42UX0S=s z9xm^Oa7-ii=%mhWieNCu&!$dos3##k>uEPVHA%B_TN@O!f(V#2^hm_7e zyuV$IA{ssp1~5r;zyBo2$3)BvxWJQeftUS4J4OqwLD^9gxWMnl>H!R?a`9dB)#29m zdllSXp3SLA*oR3lhpTu|FZQ*rRv1p~=MIc$;UEB6Xs0>;U|O|+1?AvV6$d$+V|!?2 z1a=dL5!eO3*dG?g&2_A%mv&rW=;pIJ*c|1hk<}_O@)D#q%^mItXVB%3pt;YvBi!f8 z{`0KE=PS(-_Nmg`kyJZU%>{Cyos-_+$~>^f_xDHXpdQV$qf2tWiYNQ1mcrw?WPEm- zKLoFZ0_p#kyjJwIl++)btElp0gW%Ib*Vb}h4)ln|G2^~GNVa+#$9eTFh3_XxC2;ls z0~A(J9yAwk&eSWU(_{!H0|{Z;L)bzSha(HDnpTf;sT(B&_|c*BEroxzY!_6EDb!fT z9Hy3UK6o7mMpBv;Ny=*(N<||K+7<=L37VH-l#!|S`!Jg8yhL<+aEXXshtU*PfYAj1 z=n^qswRst%Ia9}KCm7B3p+8BNvZj7U=)q7#6M7ng6K4LvO-=Rk3nuJ%aQmIkKlr9FnewfJ$7djKcufm5G!vtE{3g2nJ%*3=#d}riBk>()@XuY00NOs$! z-NtSVnUkIq-V69)lhCHI{>4Arjj$Bi4U7dHJcwFv#_~2?m~^>c-f#?6(HJY#q^ya@~^`jKIq3&s?q|I0|AD zB78*_U%bPRmqjUzu;;>XQlw4t_yKOEsUcutgWJv)PH(0K7#4A7S;k0zlqV#LWO1~_$Xb~E6=eXOgeua$W2&0~~XYHI2Pp?rx`&(N_E_jYMh`9MPT9|;hjS}E{5U7i zE-Nve2H5Va3cEfZQ1h$p&h!h|Mn-d%#CfUR(;q-Djre3cGfb_+K>?~=XMJKUiguoQxS%)~1sS@hN69wNkP9PL;JF7J@4jnTJdN5a>&C%5W~SU%!;zigyDE2p+@1fds=ry&L1N(YtGS_ied)UMtfaIr2_BtpS}VYTVI zLyp3MvSU^6RDnCKK%nhi(XRF(vu(wsvDji~A2j7$PF#2%5OKc&8z7E@=tb8xg+X zKO&DC3*Ei8;wEI{vck1A3k*$g(?R}1gzn6P0G*{g^)f+u9#fx|aN7i#a;)C4RxUELg2s zDf84TN(vJZr9GWM;h2a^4u)%FOU-+N+)YU~;NF#*IlFl|%%%Z9#!r#}AamIZLoida zs6<7s%icAYy%M*q4H4^ijdU6dAnW(Q02)a_SEe%?=x#E4bq1%xTs;US?{kgBY#bDh7%Q?KY!}yP3FBE2B{Bxt45u(sJIkkvGJFEEyMl0I z2roo%p*>LuC{POufwITof~rN`5#;P?^`k6a1mS3vV$URai+pXU7RzgCB{$%}nQ_db zLB=s5#RUyJU(pD34blimAHeanzB#ONy!MKcOpW%Nvj~~wKSQ2dFdk(8)$ySGo?N%R z--z%X_28s0IwMk)na>QKJF6L98=Vo z7HU{hmQaJDmXswkTw!90kY_eO780??*V1O9%#tv0OZcYHELLR~x61&MJ)9_{-m~f* z;Z3K*DQKDBjh@WLjtv_%H#?d*?M}~k58~PP343VMTp_w-#!e}hPnNtLOjfkxmnDF60>&A)1uEW3GWVe2Tx2zcP(+B z>hXsFJ`(`iMz%1BHsr(D3?>PT@xlz&(g1{jhyntc<(Bp#JNT?S+(Lp`nIq`W5scG1 z+lFLtD&*EM_jx3P?h6yZn#=3l=UNK0KAeZ(_}Y$hAru^Ht>M(LnWd1y7^wL zO{L8@vk`6%PKezc-9saQPtH5QZ>2X%tqf-=gk9Uy`X zYTUXT!3yLxXJbz6z*tJQF^KNBjt6ENo=EW_{XUfV1#ak!K|Xl*61vW6`zF^HXs zGmURIYiGhRwUzz~&UJfVC)b%u#E{aJ%_~>3OZIdX2~K z1ew8)W%Of}c5BmcFj@+~OdB?1Z|e>mw7=JV$H^%glFRXd+`=-k;qdxCcO09;?zm{m z&S^*a{bBDo>0{A;M?5?hd3elVGT1OsMn#6H$3hV0f=yR9f`}S3qD`_}tj&iUP8eF3 zu;&`>H)E?fGr@NiQViE|=d&J*3&Vq4a)?G@q_Ljpc-rk2Gq4RkRin3SFIswa79oM^ zA%IL#MHIYXZBpv4pcXd zN7G7d>+L55RJUDA;fefuqI2YA5klkz+D5dDOhEN+knz~Cj@3hJI)dQ?i`@p@V)maV zq-y0CLMkLkx_=uPtyvTfHu^O5u9S14-(|HlI{K=c4@sQoI@#`p%w3e4z?QFM?rKn? zxx6aZxT|+T@>Y$QtO+R}xjHOkQoK5>jwR_Purs^C;@Y ztr)+8EGpLxI4+Fe=${6+b=Gg)((6QeLVKD`6{?7%h;FfH5ZNQ5Cu?(i+6-=@mOHxA zCh|lj&#)0Ajl>^XQI($KUiowQ)$MHHLIoYa@w$E4YH`1EdS4ug=qQ)ro#y0 zZbX|ygrLwSZ-Wd*-0L8NOYEPqsI9eULaf4!ZHh^ZCuy>+j%DPWP{o{GKBO*Q-%=Ob zw%JfS(~dGC%L?wOAdGG{PBr0{;!Q;CGLHRZ_MhE@?m^vxS?hzW!bh)d70y8y4#oc_ z^jO%1T&v2X60wUB#TD$b4cKK8?}OQ)-g-My}wsG4!;($l&@)59$-F*u|45Slh zqJlU4c5XVUQ=~a_Gd6)i8YW-(42SFh4w=QHStV9{#|Z(4?9fuUBR_2Wcqdf+a6Xt- z*1d@Nu_MRu2L?f?a=9NI1VJ8KAJ#uSgB$&DK1>h1R)PnaK$slU59~sLWHo9 z$1~Mt^VrQzka%N|%YI7^ti`0XIkE8XkUFYJb~VERA$d>55ogX&w?b$rtT$^dno1|9mY=ERctn*PE#Xty}R7SZg4UkPfW4PNP zDLQ!6L9ln%88=UROW`9qiCH4IJeZoQwY>?p7wi_2vJ(bDT=$T5BH(mz-RLzn40r$R z`syczZNw=H2H_O?3F)?0Qub$(ycqogv0f|EpxQVeYH+M((9AGJ2TXr+mRPbG$1)5s9g$lg=Xu%8OE+B0HG*G+Z^67%=cE$5We(DyBq&?Tel+`r z{04QpQmhz4AW49(_v_O%>K3>D$uRO5j})bDaT~7S^2@u8GM3CY7w;!KZtP&1OFhVl!3R~@~g-+Q7=$q6+H`8>cZ(PR+E@9|*5$*B%a}*Z6 z7N^fMedBpF-Ym)D^r5?6IdU^8ezTCylK+KRTax`rv8zlefo>MT6H^JFz7r)>INWfesdNph=DQpbz4*j`7P-(;j@m=5w-4Y z#X_09Zy%WZwKLmNW(j1C6*VbeA1A^d;#=&d^uYU6!?!WakLo~L54NKRLz@GQkTh7< zab(aW`m&o5E$3&_H)tNmJepl^7bI>1y+bm%vfl~dJ5_-1jA%aSTjhefYh`#^s`l#e zmT>RU8K-;Cbx6-=1KEuwFk`;?xS}Q~ThX$XeYdTX#Y?d|bLfZZSxHnGr)vqeeFnjl zu6-B@S;>!+*>NtLI{c~#{;0y`THAif?{Ld;CSL64Jf{^zmu;X|Y9zp=3p~Y9b8l-e=U5r9CMr?MVoMV`FRgB|2+% zLfvcF39(>iDP$17(6KTJO4SmEK|E^5^6#j&L?%IHcl7kcc8&ABtj95qd?&N&PD^ao zHGjv_#urhllJ(>?ZCo9bj?C$ zPz_uYr|8Ei{AgrnqFo(-NNBQUpfM%X-OK?)k(ak z?m`)Q?Uol3<1|xm$vR!vo>XKa4J9&C=GKrzEMz|jVkD{2f?6yyniXjoGBz}FMe1F6 zA3h~k6gwct9Kp`6SgG7}t?GH^#jf8XQ*|ZlSs-0Q!ZX3t)hu{f8`baOStj1fo=epi z;D_<(xvufhAJx(GVb+$Osed8~)OKbc7TQw1&~}An#z2^3Gqe}cW9`UTSc^yWiRA1- zePZ9WTA#?y?&PzLx6sXK1gGb2x8HZR!?k>Xk(c3W4878PU44=pHeBJ;3xy{Ar=iej z$siHqxWbI|$@b=8Ep&T3QWP*%CPq=y54J!>jl@X@| zn>x_Kdb}p%8n1(45wGD*B;i}1t!)XUyAi=E(;DJvG}3J8jdZinCS^@3HwL|Q_=$_H z$aoXL@phbgY4mu>JGTk+ohz;|T_D0Yc^`eVoi2=b-i@E{H>VK`e^IWe7&@hrHo;qM z_hG$7P$R>f2!OzQ_d%P7E}(DJ+evO~H>qbRJwq%vReh`IrbAs~$*TL)#7?BhU=gt_ z8ss%#i#3zsqY$SAT4_H^cTcE}z(v(D`Wis7xU-*CaI+vj8iUV3uWyHq>~Q!D97Vjr z^|3?#DB8r%3V9q&yy8%8Y-Z%eM4DrfQki4t)#vA6>VT z;`mq~HA3Gi;V-xWv;N{`G#R`N(UAnAqwE*3ybDY(YaT{3(yQCE90_DrGlMT$BEy<) z|3%Oui+To89uBGlYYp2Q`?`HqYCm<8%I09O%pYKhvdqeBkw1u*&9tlR54O2In7OqA zB!cjVRHxQbK**>oz#^8LJ8T*H#n1Rd3hodnjs~}stI$r}W9|O4+{k8~T!P{_92+jG zt!l@J>$5UWj#hGHq*W@~8?^^XO6$I`5Wj<%0ix`WVkVBNZuFzIUCgRW?gk8yRxG|- z#ZvBzfFmO<%ZE6H_HJzV#{t<=(#|K+TQ$%dko&5TmkF|^S}XbEJ4X5Cx>HUF`PQH> zD%%4BpaCjia0`$fVMbOM#nGSiiS{5GIpwZyw`2@)H6TKio3>5_NLU|;5B`*#*3nO> zj|Qj@0}s;`iWn85ysMadSy(tT_bU6-b+eI@O?bd?4#Y>Oab`%vX7*m;2~@|~H0(ry zK$D!4ER&TN6~0E&s zOrdXg)bx#X5bRjU6KIwn(l_XmQII8!50a!}(UqBx+^tq*)5XEizOsXHk9Ci6{#Yp> zv^nmz7;^WpfA6!b5cg5T#nL~~a{e@CgP2e9HRkStgdlPRkSh~nj{g0urhh+Iq&aQc z2UYMF7I5wt6nsbpAF3(%urfWU@kg@mJgO*i+Hk*AR5|iI^sJp$Ehbe9%T87`=Hdwp zC>PT^j3T}qbMYHxQBwxB-&BwAZ#5UnsK#7y!^h!0t*6SX#?xS-%EUaQh;tgmvl_&6 zG4Vs$Kd(VNFS0Q#>kA5P_oBkhk?^6%|4yZUpOEi?JP&362TD`^4>g1SqxJYDWqcsT zLy2S$u-`AM$FC$x`|xr?j)w}H{HhW=kmn&{VyKMQ68D;(6iEEwUsu;(hc1eWy}t;~ z8(1{W$gIanIW08#8c6nVa*kX(BpR>-xl;KZ+{#?#9ypaZWO#^+97~bw zfh-UIG*s|a75FLzpcS>(PRp^q$?-tqhtqQlN%+8E&s53>cV@0kjt2&NR<3$qoNYbH zGCY*X@DSU`vOH9JLb8Vj(mhmqqQ<^qr5Vt9Id@)8b4AVv9)1(n?R>RNq6d;cTtLeg zs^tr7TE56yCcOj69xi4MzLjI^T%vhgrR)x5bs$wk*gCOGmu9V9ru+>$YL}}x=^J=+ zd5#ngVKp{pLtLreUOBk8O6OqHKag|$UBz47RadL%)uAXPax8OA&Rt_|d^@XkZO&b5 zW4tcscz9iInZG`JcSFwIz`I8Oo$SetId`L#zA5K;coU^>ws-9MTliuZ-FLIn-?PcM zHRryUbGI@Xx8)qLsX$Q*-Igo9WvhKV72NIgHLmvewc0<(x$o!P4_NIxH0O8b+#NZ0 zCv*No&G`>C=gi1ms(M!#rVxXA`=hM=)j7A?dV6=y@$l|kpT8%2_v4)7@18hY_X^Ct z0ZgzhXF&Jq;eBv2AQFj?f0EVxX%3G3{+#=1&fU+j9>|{m%*OlkocmeM{hSvM<{Wi+ z{a`M#=D*O=K9qC6$hn8`n0#0xdnD%`&bdbz*`pfSqj6-vRO`R2?GiikS2_19M%3mX z%XQ}cuXFCPocndI-#@Mydm`r^&$%aZ3;dIU`&7<7nR8D8_cwz3n_Pt>`EAbqHYddS zw8}k`b5G~oGn9Lla+G{F+t1{x%(>@m2A@}ZFXY_wIrl|LGzQ_k`C64foRn9c6XIrp*^e??8bnscw@+^Y=j z&l=imIrrzBdyS#Jt}g#2=U&gbztH73G_*Ie4%3e}bM8$8^Hyx@uQ~Tu9<=(uE=-%T8ca(xG*je~@uCvwuC+Gg1bN>N-EKlkE38`D2x)ai}KQX2EC#F@z z)t?H5u1H;f>QfZxs|Zku|=b1PUWHDgRi8L zg?u%2UrF6pfpuEyPD>}&fk#tEq0`eDbrNcxVZY9xz?mxG^zE$Fon=MOP90CrwxW&x z94mSb1-@oQ_3hl$oohwEo;sd>T}2u4H`KLngsv&glugEYDJ%QU)SZ{QZ>Hc7J=sk@k_zNN{yM3b>9b>B+eC8=9gos3J>;-%FVZ4NF= z-DT-yGPRGb}Ek=Wonf zzbSP$@dVjg>Uel_y3F6Anzw|SfsYpPY8B}B_xNIyd#gP`oN`<0c*}F1+?K{j61NM; z?FPhFga{nUgxKhT>WFwi?vcSjn9W#3O*3P&Xs%g=RNL0D+BiguT<5*DA&AtA!v zBIt6>ae(lAG}Bmo&k%kS`_3Xalsr~(vCXEI!kuZdU8Zfyb=0b*W0|~^O>3o}keI)o z<+Tt&C0e2vipqyJb`I?{y5XPn6+=VhEgi#y%Bh4}I`2kFgKh84 zv}P`1ARF8m$SzYk^&V=JFP?_=5LCUnoVko*{&fKvj%okq#ou5h)*hV zZby|tP6-`y1k5YuZI+Uu*>4_t6f@M$(XXN>T7<@nnW@_X=R8xPkMUcDr){oH9xD^W zFA|7ovbJHe%*s?zy|#9f(atd{X=k_X#UgK_n^MBoW~xF~)zK~NFD%TIK_2Tr%F5uQ z5F_-*mH8;a+LEN0t=_tI>zO?%U0}PoVKLQ;qB=HLSFkbWfNtWLHnC8_rj!zyjRBJv zqJm*2MMORAO5Du#}=6rRZ?ld^6N-pJZa*#>5q)*a~d%%~xcpwpI|&?A~P zg$`}p!`B*aIr0V(&{~_m*)?mTQF)5Y9?5)~`$8{W8R3fBQ^e@2L$JvEMm7_H9=occ z%F2ENMry&84VoD&&qbnWzbqrw?CMrJ+>Zsmg@)^854E~+=GQFvF4XWc)0wLcq~2^! zX_FiFvRTH*=zPwxx}mgL>deMi@Ax1pESX*M)@+Mtk&z#~WeC&9JV|uYQn)nN6tv4j zSXiX&6l^Jm@ERH8u&6b2uMm_Kv$QcxH}UKy_y)FyVT-lncr!=J)D&#=n`=!POwhZC zd9S*S$YlhCX`n~3bxes|^6PPnjA6Og=k$`BsdAf=mdWxliI1~78|p&_C&NV7Y=q;{ z#uD(FzCPG5Y(f>Z^+Y^2TMDn|nk40yWM2|>N!=?^z=w5A zW!%GD{aWGk+CZ3r!w*Ks7IC9$hbm3X`-IO6URYcW&X4Gf(eoC8-mFbhgPgA>MPtvg;5^O(8AtRnCg3^1TaYcxbQBToL{mZ`?zW^!kt@ak znFnLFgZJ3|jCTmVqm6O^x;eElL7rsy=OlFUQ~ee^ z3ehIxd{1a8+*UtA^DT`=EB|VZ8^&aq;QzgO|DVh{TalS*)2wSHZPv%KBW?2K`4;To z`)$fC=d_fjb-@X)iw#)~AjxtoZyhh0X1AHvG%1jroIcjv6j9e zG`%Gkmbo!-=V07hWoR2gAQOu#)E~g0aByG|wWNA-isM60=-fUr=_+AADQV$~rsrhi zfO}kw?}5p$O5=g(*O~%zFwtR_WD8+ox_}TvpJnsjEUknBpk)VVFAfgA=x$L7U-Z4>!P%>&@M81! zLH#JTU*;hp^=v}y2Om0>Ltk00rm6!c=oy(+?M?WqhBZJFv|yHi#QWo z2DseiGD^xb;x=5F&+ndN8SVVe0$(bmvYceFP?1JX$AwZ6Iu27dxa+xx-4*2dV>0!%AX*q+caf zDM}AGfZb6(#3$;-r?3=#3fH z{!Jaae0icae98S+ukUlmxxNy{M9bW(CAN(HbZ@~6{<%C7duvz#ZcnUiV+(6Fc{*sqBCHYW=#>B!Lqrd!c*?{bM^jQ z-nWWO4ioTop6Q@}!}2(NJ;0V%(|L*Qqw`GeZ%N(BJAA%r6s!W8ybG+GDDp1Un*u66 zRCod0#TJJ_u^T{In!|6!7ndl3yQXnfd~j)k9#17MllE@Fqq<8gs=Hp97E$s_<^|0h zf8PQm6RHXW5d!);{swqKZe8o!HN3&jh#hDTc9Ojj82ws3z7|lZ@2*SY74vOuaK4jY zPZp+`Ig3nRf{9AFA9QEP`m`Y<)IJ0!8Sjq|70;3sIh-luBD*mWi54PdKN6f|ks^)L zBtoz-VhC73xB}s5dttJGHosn{NM-m3p=x`PS!ah|uy3N*6ePHH5v)ViC(jldzr4uO zR;)ob_2Yy>4Ay3DGu0O2A6IbWybq6Y!;(P=+=i7RPJxcb1o$fg0@WGPGtto&;XU#I zt(*+Ex9WkntHuRVRG=gjvZz3EIklRE_#WU2$a4j70rZ0TC&iHbI>y*!$LqohZ^wSO z6qJ3z!&J9`wz_q0x|^;lvPZ3n9ZEPLZAWZEYM(-xg`eWzEk{a?4^~Uzp$+#IB`+H) z5fvgP^eOwSKyc)Y0MYZzoLSFdU4M%RzF^Eof<|ITR1?Kla=z&==(l6jb8 z6B{c~;+CzVYbZyJ&f}qq>SYzRw0XS<*KDGu;js~Iq9Ro_53U90>uFVI1wwvNh8$6D zW7W_4MOGk@wPcHuW%s5U|2#NDGkGtbVl)Kd@AZ&_AqGawf+S|XYYpnii8i8(guPc- zhR}q78i_QIBe9h_glJ3-i!%dI%MmmUmSt<5nr*^EC?u6sMkoT}tJ|c5Qf%g>&7(wz z#1s}wn{^AQYe>yB2q>gTo7+?KT$%>4WWPvjDHm4nOWLAG8VRAT2p0NRonb7%78fyqG{LKr-aiA$BtGz0MsEs zBLJkC>g;TV)gcJvV5$iu3EgCu>^$EMffDSxyN!{_%o#ogu#aWH+Hy;vq->;f;gqtF zt?m=jM0^rEtWO3t#5}$#hBHAP_)u0%-Y+DO>q5OJyAbbtN>Edu&<8Of^?q;SIqV%2 z4mw0cZC)zNB5Q3Qw~tn0Uq)wk-Iayj-|ep#2k^p7tirk;ME!$QKU~&}{gPVg(!p+t zJ9v@*6i777pUG4lTA7MZGZlxi9X}(ZEBBc|tFZ$ivt)D?plY>^;F>CeOA~W=nCv5< zv&f@aTxpy9bJQV>)>0WG+DJYR;4jcy3!_EE*U!fTTc#i}A?K>pTxcUkBWV&i20+vgJRQulKHn$ zq2cNAbYOX~$qHK;qOBgXO*OGKWCqj`-6%ogSB_iQ$zd^lO0q8Pb@stNAC&g23 zMvRJsh=YE+PGnrY8DTAzC5Tlr6D;)za?YRzYHqQpIV%7y$19%l;EW8anPG{dI}4~4 za&D<&i&>W-=vLRs4$COI_lve=Z4hm1bj2e4yl50&*$7Z@_0Vvd3&GdWq2=nK<`h1c z-*ZIHU6e$327_pHo#^sF&&}~h&ly$L7RI$o1e>Na5_VHX*cq_P&0hR68f*;@u8{S( z=mm&8D-lS%D=Fc^gMowvG~x~tZ^r~iPQAKDProfoasqKF`kOr^mFLrmNIS^9>i|)w zsk&YRy57b(tk7|<8I#vzvQ?6)*71tTWtLiS5+V?9Qt6v`d9%W#VWM@jf^q5PPBP7^ z#}uoi_*;ca{4KqkDckXSOtMOtj(3c}5DV*Zti|y+y;1iQ8y>qg@s>k@Mr2L+Z{^v2fr{0ZKhR=F(e3r1h!rkE^rTE0^ zO7B{g+p`{Rg^vj5fj=M(o_;-1HN@r8tzUW~R^Wo)m&N53<(B=*rf%&L?!8&<-dpP4U)4QKu`ts5Yl1merF)oS)nkmM ziOE`iTlQFL`5&^%Qp?z5)nk;ULb-@o-Wk-HcV)1Jsn#M)wCK#g%nIvYm~g$P&b(Lc z%)fC6c^+BpGgGPI+~Ju&A_%&9Z|yfb9Wr!IHwvuyTH&N*JK zhz485uLNW(K&Kd>ASj#XSLWEWr{-w+D>CE4a!Zz4*>#VtR=wG3Ew%A2#aK&}@9BDc zI#w_kX`PXa4B%x;e?ydr7Pfn7&L9 zSeyTnk#3*Ol;*m^@Y$$f^adbVXTazM^|-}b2-#cB2eHfV#3*)lq`fTrUD)Wmh?cU} zcct}q_F9MA)!_(GX}yyQMv|8CHyq|>S6i0=-WD7IyxU!<(taU+7q>Y_6C>}#Jq8f% z&2b-#UD^{MNZcjQwY=>^OWdtX^XSri$}MoX9U^DXCS)O9vaIc82-9J1uWFaZK%!bF zlv!kv1jDw>i^D@`QxU60s_)CcERj1P_6G#3AXlhLq}MV&08{-E-Yzk(!wEsLcu-5> zd&57XBO{rKSXCXV(a28pU9kluw-4Vlx%@DWR0!joJ=akTY;>rf$z#My%T=f%r%!ch z53S5qd<`(%R6a~j&rnfncE*f}^I>9>z{HmQa65U!<6=+pim=d3$q*dMbos6j>Dw0I zwMeoVPUBQgB2zk(lQ>EZSf-}Ik^k67>sLT;0J>Z&QxnZ?1lWx-u!3g}I%F&6orTTm z_M6h-EKedZ2?l6eY7#~on|e>V@tjVSla-ASV*OS4qw|s%j^&HTeH7;|vZHd&pu6Idcj%QFa0s z4XN{D%_rf1Gj`|`2(X2e&&@8WSyjuokh|duOr+Mny$~e&kgv`vkT1QrWd~NaCf9Uear5%637~Wqe7LV z9Xy{MJ*_9H0MxBx!aIwl+=#F5G46{!{y6ruIog!{m+TOJDemf-$m9P@)%skYUuK6* zgMzzLXAs2uWd*lPtep+^1c~C2yW0*_!4vJpOtEzQod^xtrjj$o+gS}*IsR6J7h08* zB`QC~gz%>zDu=PN@^E(itpu{25r>?faxiZ2cVDF({F}i$J<90gHg1-vei(cmD`T5; zCuH?PRU~gse*|qFsjgI zy?s|*q0kHs>s@%SvW5@vmm6swpKF|ijL zb}H8$W(GqMG3+2-L&CVRh*u(>Zu6Vg@&blO7h&R-c%*jDmA&Ugc~zBxn?;xlRW&{n zYPSo0N~jHv(?bg|Hd7Riewp+xkMxcKT3Yu3QqHDG>`18A3+8N#QKN)1w{=^(ZI^*L zEr6=jyAgXj6PE+QA*-{QvN%#bgOI3DD0@hYK?qfqH7vSJSX4c!MW3xmu0H^M3f*-$ zNSbA!&6%#V$M43ZSnPzd-`y5&cRQ16uq!m!4Mo$v3=BHQ?-7sYG%#pP=S`nlL7j64 zK%DuYp6m@mHA{u0^E+Q~icl`lEz1z7E%bX7+#XOZ!(30qMvZ>2NEce1gu&j5)-8*Z z0Gvip=e~YFIua`&OY{2`+5fS_s*h^pFc0Sl0;XePb;mUYwC5{X$1kMyBkfmk{WI2Fv zEDwStC_*n<%A?$|B@pBn1@ySkoZ-l2h{29@Uz+d#ixui40775cFQchtaeZ3-mqAU( zyDz)r`wTM%gcutKKhmBPX5{Y#P#1`C7}ybv)mdkF5p>8EX!;T>3WBuxLH;Ed#F;{m z{GAlgBTt1E*>)NRNYcuJ7WtDuB6qXe162+KQ&P}6GE*4yH1OSBCrKkbQ)M;Zd-roDeRIOVuk(I@M*Ul2|4TtI;U6^sJ#q;xH-Vm!QtZ@^D=yne{TsTrA9I&6_GI z&xK^aFpJeTfPNon~7AgD$woP7C!WByn~4E2(8e^7={JxIhl*6UheY&i&EI z;g^N)X%y`~;1A(Wuo&IFSj#MNpDsbWALb5}G*mjB1Knr3{8HxQvyK!fWnW?%OO?%g zI0HC>a-V}tm*;#Y7yCQ|z;}Lel$!P^Hn-Y8GPKXtq>&J~XTTp#`{p>`%hhzGJEr81 zwXI`edJIKs?C5J$xxV^g+JY%N~YpudRK2XmfeO zJtc;N8_E{UZYTleg6hX0WQ7buj9BOD>4i`it$#8kbhwU=k2?N%8X??Qa#^)kbuy;Y z?2&=ZSL_z!MzVJ7B2vT9?sRCXNcJ;m4?;by7}fNOP^ZAzw1>{+93Ytf1t4F;iM?V` zquALprE#*LnVIe1nKG*Z_8hsy^Yy%>N9q_^%Y*lIe?<3WbaHc2$C&Wx!u5@%m*6HZ)kz^!m$XUgJWF6H~4i4p4iPF%VB-M->Yuk7gZ>|QlC&D z=uc3csGIl4ZayGI3hI+(s87($;Jn_04uuXqD9?3tCuMXeHi5sWb_hj^ttcuKzCKLl zN2ESMiBh>hekqT2_3T%%XXs8Iqi2IOC%w{|P#}1#qcBm=q%P6Y{w8{?FAHiCfERFx z_h?Dbh&`j0;!Hj(-3U(#c&Yp6sO_F(zd|Yr+Vk0bzmT9OaW62u7d5=!$wwUxNg36M z4e$5a@EXyRpdUd|Qf=ZT`KR-wfYt;rb(;87XhMtda)O3LLwzL<^;M}w22hHy2(L*q zf)=D#{^=BWoiq0rIi;(@8*!*_$}N3B-swDfixTKRI3V++4Y7$v1M+tYp!ML%+Y~_U zVZ%e~@lRf$*mx(|J#$9qwg&)3-bn(bZbkpwVD<#ZbhZAT!IYCN^=;c z(p1zMpi|Tur%I>M=PSw#DZcSGugB$F2_=|f>#ejJYRi-ws5koLhF*^sx@BXqB4=5V znf~mY4t00&AD@NE1l`_MCb2o6vx$^r{7R{H8xd#=vEdt zbpFocMSFOF7y9{D8IN=;abXT`bXCFqoM#v17Ws=c19+a}lm0Dc;1Xs4FZ2pgvnq!} zy4t@qg1Ag>==h!o3qQTNoHux)bCua7EXFsz1LE;YJ-(8KxJq8%v%HbLk}iibHDPF{`f5&SNkt~Oyu`}p12qBW1RkgH1I5ZL8*XZf1*Jvf zmmIvBMHk@-H32q+&~}8OWzmf+T?W&UcSX*n-6IxA7VkfmF?XRJXwxK^`jsUj(d}Vx zH_%5BZUejTW!N?)uo}1qt%Mr27iR3;2T7WjY{dMmCP0~Ps!Nc3(19}DYygRJ>b<1N zy$D0b#n_#C%jiXonFM)}-;!RKYNzbmYzwz(1r5wZ+TI#6a_eQtK=QIvvf!)sZc-RE z_DdR(vi)s4-%kOS5v67S5rbtpp*1^ZrhhWP1RP;iVZs> zs@aeuK6KR*%`Wmg13pVMt2DD59Rt@+=MW%UwibKP0emA&`_Sv;i=7dx! zdS{M9;KCuOrdNq?HV65euJb5PLX-Sk@61VOv?V{boK^Qd8zm67>QJ;ZT#;g?CH2&X zZyvAhoQyC^__P7^o_Wp!P7ZQ*-6lA@Hp#`|n+6WsYx8g*88a=tudh+){tVz%T^pEH zIXCbMK%5ZyJs}$`zHNR!wQ5hdiw*|`nXO$rT6{art)=y3pq(~bdATs}#?Rd}?l^fg zG26|aT-WS(=WR9ks#J-4`c#)-?9 z;|f9VEOGN3zaPWM@~ktH2MEoDVH}8=P)OU1Hv|q4*)R?U?!lG)MC_!T{}g!N?DQ7l z0g(g`h_XM-cKl%iNVK(_{|u!p4(mStvy>W~fnANVuPWXUWNQu)SVL#Nz~(-ZUJuT| zE=gmPJF2ELjQi-$$lUe&V`$MLqAl=Wq(#ecSw<_<1R99?MPOtE(EOeB|Q*`qfS z@pXJZ8ylB%1mkPbrmifW?p(phP65$YN5jW4u`qG)c*e(7R$9jsUan?(S;g}cgavSR zuz42{$Se!KYAl_CuiBzt9HzpCF+`{{rgl{}S#BE?;zV$s7>#ui z3?JjUDsp>exII7(1WtpP* zWiV-!yMbF_l@b5Piw|sq6V!u(VFKIGH|pt);i--kaR9jU>V^YF}mxAZ)AV| zFvdSy;E8{xu&mTwZOr0o`f|7I@8A%bvAaWmrX*+Nu(z{JiuYQGvwJCbpX&ZZMt87^ z-I&_JDpIWg?+CjH$c$H1oHIK1GdiXo+WCcNbpF8_o)K6Ni9N*5j)s4c2pdeMd}I|L z2JXY+7=a6~_^8;$vY5pt7{Xa~@XV|Y<9*DGLw_yi5o}lWn*D7y-qUh0h&Eoh#b?AYmSGjC`+T&Z>&Ai(?vQE)@t14yi1h3C z^y{{4ynhh4^v7sOSN1On)}IpCLfAnXekqRkwnSXvD|%XhOT=Q1uKrp4q5CskcunJd z4Y)`R!aTk%xG;#Xi$^5v4!{8SMi|Fr+E*a6I#@;Ez~sFtTe)(unp4QKzat17 zSsjcb1^;Q$%l=707{z}iD)^3d(5Cp^q|+&E*}JlcBiN2+7}gI1x%Zf1;|{4&fCCke zm{fSgvUtQMSj1U%Y(^IMc5q{k0x*a0jQub{E5rn?FeZrMU6F%fq)+gOFpekZx?mV7 zj-eZj<4TI3s^X_+#qZCFU;GM|bz{XYHevfFa?DT|ps;>3<2RVc(*d>aP-WpFAynDM zFo@KFBZOasSNvMEt>YPdU=z%sAqYaeYcXgZK9OAr%?76!mIn?ofP+8eEzf!K&0O(C z^E8G{Y=TjQcGA?t7xLf&`gWm)38x6xcoDAK6~`M5mS*$AHq+eiSjet1O|4?Yo|@hXBi4X9x#*@2w9 znuf0tz-w5qTe9`~whCNp5y`Hlz;*P@Hr#c&a9(dsh*Cz88*+*$b^}Geqkv@LCYcNz zf1{@KCY8BaG0TWL2KH0LGXGr-^Omrh6Vrc!_|&;uW0bP_ic)r)N)?Dv=5H5-@8^h4 zMl`arf|4~6lT75bpaMIQaO`R|b$5=iWJDvI zuV`fVs8oUQWd6s3aIb|WyB7%esj2&{Db{^5EfRo?5ldQ=-Vh?Q7 zU6dm@8P9*2BR&~X$-0R|MqeINI5J|8l@*GtiAZGPLDX3Y$H!IR3H|3ui%a$-rJhoF zvJj5!DO<@lTJ*ma7CeU6>O)`@dI-KUfU1KTzV23Po1gMK9^)pA?JC{fU<^D+pP5$q-)A z%U5G0vNDm#Y!Ci9n{T@Qn!5hFB9jr2tc$p0RCq&?$%sjYIkA@i&8#>F_btUAYsEJfnMKMOfrIy^%8#x)UMJ+o{4;K4V)6Qm3jIvV|sceM;mVr{$9y`x2g45E@qJowYob2?ppMYhwPgF7j zmz|j|AXXXe6Q}Gf#VIQjqm1^?$=Y9@Q>d~gB9qNXm$PNm-njxtv@#->eVz8cq4$bZ zruJ+XtS#s%r!AqnnI*q zuE1pqN@mf}6#tC3#6Nr2*h+$vH7Pb3=ZPgGI2jMFO}mIn20)^a5uNOM0N$Y4xk0l- zDWZ=-L{i5%z=+S-_BW~yfyjtIb`y1OrVh1kPIWE}VcwF~62k-=BShJE(?!H0qvEYG z_E?!fWK_E?EQMjG+ZDi#uww*wObJHjzMm3!tU?SEf2@fJWY!%*#xb#+m^)KS&u* zX^*$}WlQpi;5?Eo$)hRX-J>kYF9q;dsrzN>eg(kCG)s@gCHb}L{5qS1c$&d8k89GN zNZsS9djb$o3dB>Xdop!T0pd3T@tbU-nS$S@?zhZZyMG#ZhG(8h-81Qce>MfrJeRs> zQ}z_{@C7x%jFQo1TYBc&6)q@wU*V%daodMw({GKm1^?%UR|1oucNZlW){1VS? zqW@$CnCO=^(XZGHBI#EHqn34o4@epjnuu7`ZqPkw=}Z9rVdDd zWn_O#9j(8TI+}hhb+4!H&D7D{TlSE*FK4s;cLDo*HrsEfe0Og%RsRscf2Qsqsrx4Y z-_caP6KDHf)p<9}b|wO0vj3aM0f(lJ@Bd1R|FSdoo;vvN)V-Iwe{kn1Nnr!AwEMRC+6LW`Qoosm3sZ;O>_PE3O!|4(~3MGPRhF#d3O>ZP8Nuh0|?`V zPLXTQ%DgcMr{>)$d3P$szLIzRt;`osvu=G=kiQD#*%Ur4&sTR^zRRC3*k|P3>3Mes zmCh9GGi$ncR^FWzyQkr@XlLg;TKzd{@@si_cHW(ncVEj_j_0{*=G-uVKW4d&o87q7v&vwD9x7(^6vb+`+9!VNupNG>c(G8 zb$2nXLD15~H*@}5f^$jUeJk%SVR)-Fyi4I*@l)<=p^KuNKs+GpHP_Yiv}E^V@uxlEA)Q8%B0r-d&q_ z*HP#CyrUHFug@1BvIV+9?c7j1mhWgRH|E`U^6o~)a+6xUIqz=DyPJVj^%p-_q{d7a;qNRS{=&|NU|cRx98n$d3QTdzb~lYuYvjls@S^Up@Mhj9S`{L z9r@xT*6kk(iq$#otX#p{%3jjK;Hd~_dnPBpXVzC-Gh4l zi@bXVYBW#0XY zx{nF;V`>@+-mlfuUn79GOOU#c>%rqZXwC5C6Ff1x;Ys^KnWy+-Q~Vpg_}}J1eNSr+ zpHaKdsotFjfDZ!5n%@(ugUV z>R6;Fl23NTaE!;G=d-5K^SLpz>d?2S4(5fjX4){kv-Fb|Hd61fK%0^@OXsI9n`PmS ziK!aNt=e%{G5B@un2g3t6RqDM%fgnzE2FoQN=a&`?B4{`QH`jbWM4SKKBXwlo=Mdu zJ3qPQRPFsX;=9UbG4BLZWilJZO02;=_Km~n#jv#kQkaeBj1+4j>6~O1$*pKscJiV_ z3GIT7=UAp&>LxT-EcfszUqCJF3L$Wur3dVa?mPtMv|R7(JY{>wgcIvDSIkT}WsEs0 z03R*&^;lCn5f`&~x*?!w?`Y!YA-Vr2kD zl+>;yPwd4Ya1*y#$!n}m3u!HTHon`C~D zvZ>ckbX&NI3YSS-RiZ}F)kzN5o$j@K>kL{mdRO8@G@@SuHnHqv4_N%0jdnZgS~!(C zF^4fBA;@9O+|3Y8VSSlNFD;uNs#lacYlY2XGInNIJ8LphGt!b>Ai*Cn2;`j^1a_@q z5NM;_Ewmu5>uiiSQbd0PpXkt4| zNv8RQb_Ofnb9)I#+oUMA1AzDLybWo43%a7c-Qs?tWi4|1aQ02yZRN7uIqHCEjQXoF z9Tu#SHpd+t=djgd@TcYvvF6R_uZ)5Sh(#Iw=|e#rKGQwO;ICrt*Xjw9rS2Wk`48*f z=VbHOk8ioup#timuVuxHK}A%2 z39>L){psAG7UECle;_VBKwG3NI0~KBSwtliEdEwVFT^XwU8vbOsD>`A3A9iQkrxE! z;y6~6=loraV#W*_i!ubf1o&-!RV;C-X@*t-*sx?#W`UO_v7492LRTo}g1bEHW>MyW zR|3XKV`TjvkZGX1iV{u_iWmuEAE+-Vimb%9r7%Km6az98WhHoRG6gLSdLk=@>0nD|dY+@u^K>jn?im$5N1^B;t^%4KR6E!E)vS_O5v z8SRa`$F=~seRg#Td!Zi4u6g*bI-By8foNt{dgX;x)&1ZfL@esVDSYz3BR+cZNo|s z{SWqnGtwmyd7uGmtZ0DZu4(fx$x=`q`%_$#mlO0pW-b_ykm-XoTdyXakJMF^K`W#T z;@xZ6>b1&Z@O7Klzhv|JMoeeZj}}NOqBm_`!;Se?Y!Iywe{b;yB0wG?e~T~B`k01D zQRHnyzb&P9qa_u7+sS~pTuJ+>!}sGyrf z5@~SuWH@Ck$ed7!J!z(l+2IIj*^`k#j`2rZ!xK5E#rUH!tlVheSeyZ^q}8gBL!9@P z!j1KtiaZP?-?~2=C{z8Xq38G)hn{latB&1a=)>dzg3qDIK?p|CEJWwlqBL~og6UGf zZ=$@qa3?PlzTQDf0 zGayCmg<9tJ(F&DkAfr1ET$q8hfO>VfAjaVO{eCk*n&;sH?>U9zT}I`(%_|@w@`RSR z2p}zzJ}5bY#Nki_Z{uc}=-S-Ge!n#!&EIf=p9DzDc4IG0a zIc;OjX1&DFP9V4Ibb;pU_uB(UIo2-4g@>ijO9 z;OAW(d7S%wJ1{$3yX#m$GR11}1iCr90u#GB(G0j7s+-E5*ky!>b#soJqi*ie368g@ zsQu7;k=$FbmT6E0CIO14B-7=3D45WDZa$ke_7fLG!R+Z=p2Oz@kB@%5v=zz=FYN^c zMomIs)Uw}~e(qa=xu4rlKE?Y7nD}0|oP-@N$V;qF)EQgWW+Zp!Z^a zW|;&X(o$HQRHBLuKJyV-q_t-sRBC6xq}^Y9+fZ)<$Axq68cQ{{dkrmxpCrlp*^zo5 z$Qjl zFU!8s=s^~OzJ)>0JjK8&o4c)w=k_n>7H?xZ3{`aDnw$hwQHC?jyGb-+{cnatEMkS2 zciWb*LYxxke{xIVk|b&Q5c?>sx@11KLqAmTQ=#kOwV^l3zM>;a?uy!{7)e(Ha*kw+ zj4VlV61vz@xS&4SKkHz=!-e+O5-C6zYlDc1=ME9$k4V9|?N;_kUDzXQXLtzt9gIMz zSgv;a!IrB^>|m7S7(WU~W~ePx6413`IKEN%KOoH{ zAkA(L#9*Z9n!>aV=kN{RF{wA_gmg+$51}ReZelhv83_sC%`hbD2l3BAxEbSAmBIC6 zK(nC+2wwsowmyn44y3mFMUe(;pi zk@v%cyvB^)HSL&;6k4!p0~cx!@XHl=Ze1S9#iR)~N}Z_CZe&a0rut-I)`1VecRMB< zuqg)NyD7;AEU#eJ-io>t=@YK@}Oh#8x?JV!%kD|^-Ya%8C}`-Hq( zL%-1ULU2bvIaxq6 z?F_et+p@&w*ebSa9I70zxl=iq0NvWPxvjg9x5hkHWj~qYJvkn4dAe*HZZOJPjNYt4 z9T$_qDytR!lnl0Bz1YrrVFK7PUN774?xzEBI=2EMTDN_4SW|UkTI=l04E5H)o-^H! z1h1x5!=AJ1xTXZ%kf@TJLz(ZGRGfR|1oK@B9BJ zi?w_2%$YND=g!P&&tWyqg~NJ>-+}QlWTlediE2BQ$A_h~aEjJ(Rj)%^yAuBVRh-y| z%cH;itjJ{`$A0A>vvscq&;GpdmXc*~50=5-aOpP&$s3o!J?d-kPi2JRSGGL-znvqq z|Lz=FSrW5)WhzHCJ5FVFhS6h5@^3A7NgOnX*F#6*l?rE=(w&@ccBqU;vIe%jRk*ZD zQC6SWore0_V>79Zk`@~*gP(H~;!nwDZcQUjMP>;wWKdadK@U?!zR*Uk`W%Ujh zo{<<8Dr`uHOps>5Vv1Q?tz0vSdW)($J0fTL9g*v69~ziiR90T3QTp@`8*JeLa`0@X zC$=N7vGA2tZZ5w?)j)`okkD0cQDrlw1u5%4WR8)Xk`*Mn8JO6)Tf*az@+K>QI%52E z5#5F!<{)})dA01KUt)0hw^@3_*ulhM0CD!nD(#^qn1f75Agd<#Wl@tLbKZNcMDH9=6U|3UGG>e2zZ6YF@iiiagmi%Vz zE3$xY<~Hy2Z4fbIR!LD(WfH#(BrKS)$TIpXk=RlsOsi31*&GnG8lC;L8bPOFUD-B} zuxKa)p%aNNk=V|WajE3D2g%n!EIR#;aIury(d|^y`4TSpJ)Gw=oCzXZ6OU^be(u67 z3gfhEAZ~z4MFA>__#Pr|+KiIlvwd*{ohzZvSP=CY-%a$wuz^&e*8TwbKd`)OQ#SVh zJGAgea3}s)^k_5G!aizYUsM|Vmi(XEaV1VnS8C0W<~saepk@J0C4Znj-2>G^n#iWC zEB0-nJG3xTh!sWQ&8dZh)Ph0Il?ZLZFWL-OB|l27Ef-mwJ_uX9Jp+VN*8MHCz;6xdwZ4E0Zf&2Y;ux;5Vx3O2SgUZEQtv`+ ztcLN-$S(FOK4(%2a}};pltK>*l}0R9P?=!}6*IU$Q}<`;emH+;Ww6R(vf3=|RH50Q zCtT_CV_;MNY!jHU2Ie!Vs;V?OC0urJ)xhP&J<%(Rd}6|3#mZvGg0|kEoQzp`Md^2~ zL<1<)gMR^o7_%;xJqs6qMgOebr}UPU0t5C7v>64yP`sUu71xA z)R_=j8M^SKvI2N^S!-8`*wr$45#&_D+-0rJtF-q0n5Sz)YuLWBn7%?^0x^tWl~|_| zHZUW0V};mFDu5~MCRxKu!5p?Nyl4FaQCrZ5+Cbu+9f?orw}RrlA_!|H16UK+B)4>q>_vH4dN9SS`{#L55|#) z@~M52^UZ&75{W=yw9l~*jSjvdYAV`8%oy72YivMj*jl*hqR$BaBAtk@04{R`tFtt` z!A@Xhv@x48M3Oh(r7((~B2>XmL`is*k0;7Eb@r}PwN5gQCa~q>*$$B=#V(3CBW>Vn zdc(Qf7$BqS5M>C`{{iWC!JG-bRS|-DO}BQBcWy1`irzcFQA(#C3326fPjlfcQ-t6c zqF2&v1`=BG%9;!J;;aQ;Ob;jzk-SnN*4ayJHAuY^<(pRSp%|29$2QoGz=Kff#w*U->` zvJPlVEqq&P-7_bW5>6yxxVEPLuTcX1x(BV#)^3|3;tCc8G(I+5hF@4hK7o5uAL>s{ zkWPy1z+G;K!r3;8JBB+u0U5Ppk)1g2c8*e!q?4F$P3b}MZr47e*noAx2D7Z_>1G?= z&Eyfr!HfzfglQUt3 z%CC4L=RLx_kxTs{=}~`iF7znd&m2I<%pS0vU#@CPt4|H)0Opf*rNpAZr7TBnG%q|c zdOnb~YGCY!6|Yy%P5jwzx#Eu%YG}{X8PYS3L9wxRS@zKmZSVdlgdS_j?1q{fR;{Uh ztKh3wVgZ1817RQKZEwtK1#oVQsuY78Q*u|t&vk8ZO?|N)dflkL=z|?+^jq5N!b&iP zGj)CCNWC~(4@b!qpaH-X;C@qz#=GdpoT*`P>;f9Xw^_kxXs`& z^rnrn$fq_eM`oetcsQ1Y=tJk-taNJ;nnDL18$s-fTq+P z#p`WE3~Ig1XD8h=9mE*a4_k#79A&QBHvPjW&e&GXbhu?chtoaFq&Nnp?N+?YC~Zq9 zZK-CCVWW7Nts3fDp{u9$s|Ky@R>3U{ovq3mbigS8`%o54Quq5UsubxEkJgFB1v4Q| zm+S6&P{iiQkjqp!A%mkcK;J~ciK9UOzX7!-aj>k%$#P9-3CTuv>!GFca=ug`J_1+H6@f(3T|1yOp7Z z5pJYp6(eWb28=6|wN1AJ(KW?p3t%v+WIG1@h_%(qnzo?_@pf8_}JO`gX@ugF`B| zluo}qTZ;9@Y$;ic^-=`_iqp|=D`mKUneb^zxoZ5cC~3Gj9c-kPeblul<+gTP>!k8) z%GtZt(GSzZbtdJo%Ihc)AU#M`+F#G-c1p_euIY?79D4SWb?}m<$}gGQy)r&~Fh0Mb z*q*Y-yFJU}^Iwe5e^tikfFIsM>91{~HZ)l0btDSOOA%r_{0JJ}hmCZflHb=R#l8uX z*yMG7+>h2RQE3Nxv{JZWl0~b8Fnd6S$pc}sNHIYHlP{~xU)R0jeuJWn^r&FP3ar@}LWZ~18;^$tYpr3wPCiN12uOx7I)-T}zD zm8sYzUriqMP)WXgTyWAP zQD&eWgxXi7L3&@TGf$g9Q(kp_k39w;Y0^NDS>?j*M=F^&+Zv$o1S1-dgk%Mc^ zi}M<8HigN6XltxpZ?GNLG4Ya#gM+8txzQXuZ{Q9SfGa!V>Io}}XxoWs3-=4;?uk?@ zOb?rh0nfuIEKIdKWLo?^aq=umoHa6tv3Hn{AHplw?xY1J_d;^z*Ig96+q^*a4WV_B z6-8L(>OEF;h`c^2dM^d;v!eQTf5qbyM^I2cM70H|4;2kLwFD!gZx74cQ*J_!2qF?+ zPZf1?`=scj6nM<2>f7Uj_)yU&4DRCzE7~Z>Pl`s2NT}-D)57>r(Ptv;ho}|={Xx-Z zDe#<8)wkyb_@SaN$R`vRP!+B5IDk_0MG7poqWZQZh5M(9zLauYeMv>b^LbfM;}to8 z;s&b33pVDj3jag?Y_FxZ{>Hr2Usql&JV3|G|C8H-iIi?8lz&st=q+;yeT(Ma77j>= zlZpl233;?mOyLa5()Hf|L;fsdUZF~yg|@(|evxYb+}u9D5GF`b&>&x>3h(Jn3kAN`U@VIWAt0m0Cdr#s z<-Zk}r2CdJIzL|SO@k-dxBA$0`{F8)LO>1yC!{F2kn!mdg4BKlkRiNS6R_;ounhqd zG61X)j24`cfeje|YKRPz0|hn7XFyDyHaWfZR-lKt$-&?7uS>IEXM_?0WXSb;zF~kt2x02pXy_m}^2}~ZqZGY4-QEiJhXXX^<}?5xVNox? zlnboRtr07v2v!JnzzAs-M##bl6Vi7h05IeZdt!GAA*AmUyDRPPsywl~^~CPBCssZ& z4fTrz2cq{7^pFDRApt04yuVLl26_lcBKI?952*VO8hXfsbpIhusE5J;$lDcg5St_5 zgz$M-kP_j-qe2Q1`Nu>aw2;Trz=cczB}51!Pf$>=`QWOJ%a9>Yrd@yxp@pX_L;MUw zJT?Vp2jAK&vk1p14?&c6?m|JnBp8(8~f3 zaWB)MSJa_blIDhi8^Ss0HBEun(+&_3&_iC2Pb#$XhJZsfncoz2NZ(O^OTZ!JjTsn` z0q*TM>Y?g8Y4=WG@LdgZ0wc2Pzkw04gXV|ntq&K1$cI7++0B2f9snHjvEV~Wpoq|e zPm@RDge79b@wt#h?BxMUgo|H*lM9N7-2*^`&zFp5*ye|NgAcL6TNcZFL()O8cPSHB zZcszMg`fj4gq3?NQScdXLMHfe8Lop4Qdzmj3n@fnG$F%4CRibzV1>Z>qzrH&0E7U} zn}PGm24i5SSb#yuI2eIJb_E!O(#K}N1_22K_&K40#5b=CP!RAy^tzs)CQcMI2#6q^ z0E19zil9LN1tGL30~AR4bp;7TuWNz@BENJU`E{zCmH`t)j_cDiTle-l4;0Asj60R? z0mZ@1)94;v>{b>qkkhT~87hl)M&Ka8bW9K~2sh7CSrs*akh5X44uBBYoMAv8GhlP3 z*gQAmW(psq1V9KQabAVd^M(B(ZZ4pOw6H?J4Y@Eg9=s5SXtu$E%+BlvUI=7B{M@CH#A z9!R2XXcHR90PsM#WK50(6+{{mpg0DA$5He^f!vabT9TVG^|hy@a)}vu%Ms9Nr9}$Y z@`MOWqojM`T7sM#v{FGc6%cBJCQ7MF0-Y?HtdPPa7d2W6I~Lvk+OWRA)sE^XD7XRr zHl2(*G2+od?|Y8I%0$7rY#4uRaWS(J_6!AGN3+rp{ThY?9f>^Az3UgLu*g(v(I@?l zl{z&1@c-Qk0~=~q$PCQo>k6rC?Mf>Ssvod&x~h8RT3#f4oCF-*6;s;F5f7iDM!zD{ zAaT6o1xuXkVc8r#;D&6391B;boU&=H>>9$xj7ESQHExx@G%cKbw!CsylP=RNW<%s+ z=NbncqZf_;m~7^0r+O=y=hYDW?bZ-4O|)UjLOY_RYAv^R$vb#)TGxyh4=?LbZe2&H zi(9wMOEbJQ_oZq6I`Cqev^p8D)D_(A1p94NG0VV} z#eij3LD_X%^c_U3SZ*l$P`F)Iz?l$W;oMt6{D;$|glZNNJtHN%R$Q#Cu?~1N>y{)9 z*wRjjnag#FPh458kQuy&p%1qa-NB))!{qgeJz-2UNb9a5uQv9fQ~Io%oMAzewsbuazSCRSw*sstSLV{atZ$j6emHefx*JUzYw0PZixih?whxbiW3FmHpjc zizxUG)F0(k;r=LhFrn5}Rd73+R!6HQKiofT z+(?fob>?A#z`xMz9X9Bw@{IL|GwzlNtb~RS0==l=c=5+#csBi>hA%cgE<|4=z@XXt z4+=dTRmz-9mLAV|IV!|lD>q_b2Zf&X>sZBGYepOwFPOWEo%hh?Su#Y5ax*CNj!q3a zuF?fOSo%A#(2bKrH_+bYQQ?IL7rQZ4%ukCBEt_YExi-AsJYFp-m-H6jmQ#cD4@NH- zKvA!^CmKGQL#2nN?@W|N{V;m1Gbr@V4mHu`*_9d6 z-EpB7rJYoF%4*MnmNn0iB2)S4?-O7ao-z z(xxSH;oqC0R+TA=(k_qYE_r6s7%wpHhM>rEw}xR^Xu7)v=#XzSAC=oE&y$7sMrrf% zsH;R^K%5&W!tMw?N3(Y)-x{UVv!34_-BJ3k(2GQ2kx^J7Qb5gjPoQwG^n04q=<G#m=^;x#UjR!QvQS&_@GG0PU}7{`7P|jTb(X=FeWm&*K#|eP4vW zeW?&|)P9Gd_T#~QZE8d+q6FmoNBvf_W$NWOivLFES3>niFTV||8A`uAYQNA2Mt`h+ zkG0>`@m(J$1qHf46oKQ@d!YA&82Uc+e@7x+PfXjAGSTE~>&7H$2qvdt3Pm5fzsb_| zg+b#QD!-%Czy#Y;(UKk}ZQrrFP>Tvs8oxX`KZQ|3D=V;I+zZq0c&Yq4Q25a{YCRNx zC(-s4+D7FUX2i*=dUBa_jXB!CQ&2^4#+oXPpT->3pD{T-{zc7qDmTst($cPEg$8^& zQaomtc)`?rI+>njAi|X64&SGx`|cRa(eVKZY;$!cgun&X7+34?cCLP(Yrk=Ev^NEG z;02gmB0TUODE;W@g%KVY6m@lUR_y3(Ri9n1u8v-0sOu~U_x zf}{4&dXDzb{$6Hv66IeJe_U>E8_+ir4hV7y+IX1t<;9@hBT)W%pGV1`4u#R6tHjT0&ljW zK{a@b6&>OiSkVP=b*pGOeM1Yl(2Cxc22R-BW<^`1AB5`d6hI|NQGGL=pcp_G$kn^7 zsPlJQ(YqT)4H+$=)k868f0sx> zXzvQTK`!#|i|IipRQ6}IhIy2Rn&`aFR_7JL4BIP+uJBd94H4e3-9mrJ-(dn9ws+vo z2s(_`5Upb0eILbP9@U}f>Hs1lZ>QUvz#nFHcsGp}5xpUh!6HbPD+;smy`5g;13-DaYB1r-ptNt_jLSW}o1I}>u;=jNGGsxB9%rejw3KK0#dnGC>QqETNl@Ok-0$H(D z0mqiYH+GI%g$0GYPx1Du@pNV4JE^fbT3N)TYb-wwfGLz!wF<5XMTd;Q=TYLkKwZ@YdcuTC)ak9 z292Hu6RnAOSiu=+TVb;Gy^K%N^&KZdIx9Cq)oJwgv9lK10yGK7gOyx88jeBb4Q^!y z);w>O9t%~+7FBCAYq_{8|CJ+;h$iF)vvY9O+Wj&H(Xl3~H5D0}HRAxRQC~YhSDiRz zX)cuqBHiAb@|AF(SRt#4q@V*vqDS-fP|a6$;0MtZ=%(Q*SYeBTCsVO$>j?ERZ5=bG z&eazd*l<~ru!^7Dq0FU0nk9ty6nd@1%2c+v9z#>W8ER#>YT+om1#+NUjmqY8UB{HE z3a*G<{X%+d782G|7029ig~=VcH8>-7c*lr(=Pb|`{@2lCg8v@BE)>lH5gjCDe$0Pm zSc0rue~YRkv_M%`TOxJhdn6ic$n^b*YjK45l%Hr{L=!m28Sx0MLs{8(HVO^mCgnET zJVWzZZ7k@gM~WS{vF0ERHQ+bZyEqfTO^Bz&M=~8WIvpr;jOh^mv$^|)!hhP_7HCVu zjbFmPMgK^nYE1uX>lK3M)aIEH;mTI{E}GtEi>d>4r2%ing5TQVt=Qv9CZ;RfXs%f7 zWC>?vlr_*bA4S)(2A;^jcH50YF=Gwv;D`o7t4xW0@jzL(GrgzpgR73fk1Dz$m++&4 z^ll8!ZWaL)r{S*kwezHKmfBV8-@5ib`~J?deW$Ea(=laj!~`^wD;#SR#$wgt@CtAz zf+g(kSAc~C>5>^x8)pCj4)L+F^69Y-js9$YL5@6dIpJ6c7uwVxsjDZeeD_P zTmX-h<~g$cAJ!b1G)!SDrEIe1{99xPF|36}Yf>E+EDN#Ty&trLfE~h?hr2Sz>VSTP z10tA^i7QZyVNTE;6gdaU0&kpAw)Ed1faoP_f9}2`d!{slN86bZ#KeQwW>oXZpiN1a>*Cwie>gF}u8PR+gf! z@9bxcO9JgeFnWBDNi-`CvIDV0iXYlSXQ!NIEO=jA zRL#;5*g~{fdQ+{Eh?N}pw5ir0xqyx9Rw&9T+1FwZtBw0)o$X?EVPhJ~D{g_aXG)XS zt|wt0{by=7F@knDYve%`3isGV9n`)eD-$n#F$tM%QPCDVj=f<;EIwPK0e?T}avT>% zcwQZ+oZxZ1x?96F#bx9O-t??nQ=Wmgx7pAG(5t4_j?6LY>aC|BqYq^8SWTLB7-MjN z+`2{IOnA`RZXMTLxFtMDs`DEDSoQhKBZ$3P-~HIFUnCmnpOt8!tfGM|J!h-`N&7#1 zs{=N+Nc>OM4F=RJGpul>O-w@wvRtT=1K5A%uwfnlwIg4peTbmf%MsI-vJ)Rg`_lrZolpPRu-!2@MD~UYqxsuG2 zEnoG9QLo(%bL~BBx@^0L_+PgV30}(z0HRUHo|_5=k|Nt~)^)+QBP4f=swx|Dk=YJ1 zhAY-XFc4etA#A?`LO5=>-?@EB6`{CfkS}8VFp_2eWo^4z0TDPt28hkAvKiHk4Wv1Q z;U47oq`;mGT!@++%!DRxAXSbVP=|P(e;a2C&+B(;~5#;ff6vY?vRon10_Z7iUjY--(npS%&X4dS;_tZ>@0AzaV4V| z1B4wUEKP8C7`-{nUZ0$KU566?Vr4j-JBJssh#cX2Q`ky+Q*mt=t2cI>;(76L?!p2B zKNBJVZ3&lVcsf$L$jHn@h3$%+NhyxNlVjj+2R_Zz!}@WQJef;G>{9O-)uZpRKgT92 z@Z)6h5RKzg^a;xcRucX_J}Na;oPM1s_vUiXPEw5INgT^q8o(srAsboBO|iF$@jBT; zd*%N;!!B*AVBaiO5>>L&m8`JPsoGv8VxFk;{ zR`b=g(;rbMPUt$~%F=XyfU6yaMu64hljwiMOj?tf>ty@upSWCS`R3pCh6L^)hxo*ixZ z+2q$}kl9EhutS`M>(|%boXQORpPkFp9VQ~8iXC45x2M`w|J|u}YaPupmXtf5E#*gJ z=!H5KtQ`3tR9`#&e*~2$-gPAB0ol3oKLN8)R>&+t?G-~I?Oe`UAc(whe1o;`L*(sI z(Xjnb#J{_2r^rLnPP|1XcunkWzP|R+^a}C?l24C(dH%NwHp#{~HQ88jqAPr+1tjRt zqWX=L)U!C+nL5mLBaB2H6K_RMdMol?)fG-KMp3aTLeubJC2-d3BsT{+#FTh;j@!-m zRS@YNVb-p~&SS*Q7Y5=e)1tD?Kx$Y+?e_OXlKgT+lAuu2UQ8W<{IA6;wDug{mz;AI zRU5|@4$nEaPLcO#-8iVezV_L4YQ4%@RQQ3l2oc=@!JThE>6i(wvQ9xB9Vu7kQr(_2Y$(@W6UMwK znVFHzvZlx@v)?8+H*9jWSW$n(A$4fkQ7AaDCc-*T?|3^0S1owxNFLR9kt6LHpuLMe zeF)35w5AlU*SJDIh{{9|ZxIO87H+T+UzG+zNHp!$`PJx2BbOSBa@~qOCQAC!jZ+uq zlKGU8nrQiI??YWKXe&{BZCtpm%7KBd zzQhd52|a;UTG9tIkyZ;*)o|bcZ8W`hW>_c{aNt%mG)$9nji(=>X)AB%F>td}%34p5 znl#ukR=VUJ55#=XtW6Iy>p1++^uFcXy0Mdo`eq)uK@g2$%24!B+|I0}eqaeXiAO!I zWpEV$Q3?|``3RUdx4s)Z8ZR?0B?v_A56zpvlirwJ|7UK9`&kbn(8g|)qC_CQRX=y@ zxu1_l0Lr<|7!!uh)(T`H4#yU|c@RQS&iw)npja76a*bSwnI7qfLe)?ZdQd@H&$e;^ z5p{b;O~{w=(Y5odov2)fV{5){t;pQm;Hv%nuX$+Oh}&(^IBqLVB;PyTHm*~s2pz8L zyYQEcq5)vq(Ci4U9XCtw4UwJr3i{<9eBGI^z$5I)*Wr8}zFAr@al7ypAk3jA8(KGZ zzw=jW@(yJJeUD8A3&rvA)hrkhwbhDd$fR8fyzE^AH6yII`EiB zBPr!1DcRf`il}4_{n`Clr=|T7oAw_~5NOW*1?S>$?*Jawf$jizU=jbYobZee(2c!( zw?@>Uj7r3PK6I1j!a+Q>zY_oX*B)HM4sr*ZYnZw@imIa+P*vTc3wh}6-L z+D4?>kby)B*#-}KokW&DhYQq<#TS}fU>mO+7Aus2;^ja_33dd&=0u zJL)OkC|sh*|EnVBQe-6mNPcT@S=2A0=*22}F-4nI#K|klie8$=A4<;>|0S-? zp(p{6Iies@5U5C_Vj``mIYnuco~sB+yq!iXDl&&ZlsRf>`0W#s>5xDj zPpF<4B6$lG7Rc>M<8!M>-3qBq)lxH#P$G3(jEgMc0ToHzAyW80;SzNxq!Q;R!pqZy zK#J5Nky-?)7LjVg`$?qkjq#796iP_lFH$%>-6x-?p0dYNQQl4u87bVFa`-k$DGjLx zT%JVgQ4589lny?Yka}FCp0F6mCm@x$IThvM^pugpuPKLT6Z1->>TquoDLk6+b9xq1 z&n2Xu7b#qraB+G8Qur|8+4Le~wOBq&>fjQQS^_D#2E3#nFY#kUGDSxa{KyWECW zUFuTABY7iZup@aR<)##8D%pdQcHd054LcEFoJl-_}sq|dtWQ0ku2yvewoELE`!)NMx)t(8`ly&J?H!G(kz z-blfll+K(q-$hSk;m!7Ni7bS@f?tp!**HOlqm^%*HHgtGgvJ(TcyDftiNFE6(Cyo~ z-EW8AloaGDegIj>Ng}R}-<2U{IGM;thfL&!`L_QoQuRetZ&mRYQj>>j_hv{<3SN0W(MZM6Ew zGvp&D3;Af$j+1db5_(dEo=gZel7l>O^t5u2+Ztv0$e*FwvysqqN<&VD@zMTyr5}%k zUJ#)d5<&%~BexM*oNh{K{=$qP>OPrlNbG$s;$K2JzN=FRYgj2P1vtvKJt=ZW(m!gF(BXA zoo|(roJ{0|AQ5S4>X5Nn=JdF%>&=peyhr)R$7V@DUi2gzpJ3X?BeP^kC-L}b5|7i~ z#B4lt9qK1#;dZhm9G{#WKE(h6vfcb0qgJ zbGty?-Wqd!k0Hl*;P$r2?d{^0B;L1!NlW+1*_|VCw`Ria#_e6k)7?ttO%m^tUz8;! zIH|iwlfhfu-m4_ur0?dOm5lBE;`RYc;QavHlC=ANzZZCLQ+++#zjuc*_=x+a;F2dkNgWly!@_E^j?;%+hp7> z`K4JBc)O)E^uFEsAnV@Gx(~SXVZ!Z4;`ZaL`!MT1hTBiF?xU>x1md5v6d1RkDJ!`9 z3?iSaz0WJ$ej#qZ%(^eK?n}7+DsuaE zQqG;2b0_7-_$l1hvUjrm<@6psN~L>Nf*yj7tcnxM2e(~=WrfFgoOAE)+p=ZOw@BZHxnY~s=afQ zE(X@lQ-{vax$|=Fe2QG4A{S8PFx%D+^B3l1f|#Ytv!FUV=Vs@c%`Mekn5(b7Czbk9 zVyx)zgkX3G?MhXbaXiHu8&Nwin1u#<`L2E@cxAOn$q7N`ccrwz{5}S=j9pn#&)y>F z$p;>vZh@W;!l*T<2irs;czoe`FWY*ZYZ#4NXF#M4jtymR@*-vz{0(5qv?fL#3rv0O zRjJhK|E4d2kt~h`z48ucdX})a;IQh*DL)27t5I5k`(Ia=jZAdJz^cat)8{Bzdey`F z_TFzQN%kmZM!FshNdw)=qv(N^!a9c=JkFjUViJb=b9{$t=Bt`Z1?_J@{9;$DeoVeXDS@V-*a2&iYVD$ioo(b#7*=E1Ih0a?In zP{z^DxYheT3#^Rwwg0D*V=;rFZ22ZIv;@KX*-T)zjMT|6uO_PXC(Bde;o#$Pm7R%K zfD~3~H=xM$s*Tfl1+bQV>dH(qikbGlktUkPh!1L~fj^RhMOlFXvayFpZ|24oux+nU z3iP7}qtSmS*;Y06GY-yn}Kbj&y$!bC1`i6W25CPHlEJW+ zFv8h{`ildLwTPc$&K*!5qyqz=MO+jy$8~eBJNBUgOWer8RroB5ltHkTu*4augB`w# zvc%zib23#i(Qz!P5XV4goSWaF zc_5yu5~o&(pC&wp!Bu&ou0s3_Gt!*_am;o0ys)tGiP=Rspj3#T6N%4AIX>sm{7ey_ zSs{L|EO&#esxje-`1vufNJ%z4BaQ`+&jnP)g2(BkLVR{4juns3Y)X_3d2!4yk?C%5 zRSk#?B0k6LcXQzUvPc}`8=uRlioGs}(XRYJvE39zq+#dkI-I~kohkXe^3U$!Bur0^B=^q|2-u8U&%ibiDR_TM&AiSTV13QMvV8t3oHREXWstc5x3g=Nm)kHkL^ zRDye-5+91VjE0eOjE05f84Wqg=#cbjimeb!AqK+FsQtNWe@^Wh{#_A|cxxZjRBc6A z48IV5!og-M1U4bEQ3sTQ6~JPM^>7&lWHAId0WOkVuiztwLcfi;SDuYyWlY3^I2_X< zThRE3n^2PBa6)1?C}2FK>_kB*xQXd*Sq_oulG9j&pDfq}Z9qqvQ2?VMw!)(^3LIl< z`o@5ofb|e%ld1|bA-;3RTM3-I1(^VF0y=b+IFS-@6wPv|Eoq7o$5e<3@nnc&H?$!# zt0DG7L^@TK%`g(jR!E6DnGN|&r$pIo7>S$BP@B{lMjT5amcuh4E;FH)|FaDT^(?BE z&4ZEnj7WT@OoJE*`&b7facqF+F)SI75;SwM3SuD)(5Qhp)<8ZNQgyaCpIzY`v!HQ~ zQIO9?l)&_t!~Rzu7BdTK0}3 zk`h=0b6_QuiDML;2j@8tTq>Mj(-$w*h+_=oBeNjZzZ@pOGI0!oM*K#>Az&C3S}G-O zst~_f2npJ_ZZYBu1fGgv5cFxQ+8A&V+^tl_B$xvip-db*pb@{rP!J+80xGKt@w)_$ zppENpBaV6SZowdw1dCvtV;bah55%zq<}e4AiQgZIVtQ4Q zh(RGd0&$FlM*J}|3O-8J$5r+53USPZ#yQ49K2K2MDV2DtLi}lAA!y_JzOgV6$1=$0 zIjX*(sxMTCV>UG6iw)>N=EEf_A**4WiWm-Gf;gTP#(82cEMYDT#IYEf(Xc3sVGf&N zd05_v#4!-^c?05asl;0q;&01zsErGR17-^bLad1IGA!>!;!9;b#DrLs{V<35uuL4| zp>d8Kks0o&<4BjZ|$6P^lOmi?TYR^r~<^H4>j@NT^dOF_&?vwlIKz70#&)7!art88=P5Yp1hC}vsGfY_)oUHMwu+Nab6tJ zR1cQXk_9v&Q-|r&3d}L+)H#`hWxB+xLR8}3D+{L9Ni3HIa8v_!YL85p+_^F{N~TNB zp41=)nUYPiU|tPw>HpvQlWYI2{$%N@sjJJ8%{9dFnJ(me8D{{OmmZ~=KfC~rKVqCe z=m#75gW9oyKY0n{mT^X&?xqJ+hyc*9;B%nRvas)tiv9#=hlRR>o+bmWn}WUcP2R6`?m2&$7+-0GeER3~oDK(-EFBh@Mrp9Ilm=GxXYCiGofI@CncZxJMPO4%TCOMD2qIsW zdZrnT$q%NUDbpOdEjR_CWC^VB#^@xy8wS!R36snS8uD#^9hMldc+MY*KGQj;h zDc^(#b4)|sRSE0Ff7!HMU8+%qs$_svCHAD7$goQKCn-s~mZv0P=!R1q$K_T{5ceGq^PM0DQY^sJiZTyYv)$RQ# z3Rs9{3H3)$DA4T70F_<7FF>XHds5&ZF!@hnH2=B1KMV?hQo4VYh`u~L6lg%#QI)7V zx=?jcW}K89s5(m0bBsqu(3mvfgNy^vk;*LNj!bQjhJ&K0H6}{40V;P2jYcTignEOH z9UX%&JJ4-V6txCAj^KBU7DEd+WC1hNO*9(E%lWty=VN}JB!vb_47M35GVH}WT-uBQ z=69UDdQEaWt|_}6|C{773<7$L0cbL85vAc40ZpEc7o?L)!!DrEIFk!4AWg!<*{Sy1 z2YXZ)C^ybF*W)u%gIFMYtN4%C4~@nE)Ebhbs9l3ejJ;5t z(qr+BU? zj>8C};ox%%gm(!SZk4J-Uib?|_%?H6UI-_*#|o%7_$c-1j-kSx0Z?*B={G9sjc%zo ztOax%e3agFk8lAkhwvkJ!Mhnpp!-w!HM{#^3A9L(7(}$lZfP_!WrfB;QfL^tM4_Q* z2rjfpukjeWpn=SHpwkk`c%}^6)GtyFKaKrQ&ct!V}#jnKjXg2sLIn1y?@iqB5 zs~0FYtcf?I+)xwfHmr%aq|=ZyI693q-p}Yef>r|!NZ%&jjpfmA@OhUewh085YD%Ks zSSq!~X6Xfkb-5AmXf~D)P22GyPa$!M{#aho7^5RKv>ANl8-1qLYmtgW&d^R84&xY2 z#uvshS`Fj)E4e!pygyjl4D){G&ew(j`FTH<(QR0TZ9B;> zNTqQM^@IdTJ=7V;$_ctd*pDoi5&IFJ8M!$pbxeh!P#RPiRq}hDA`M0d8Vu^7zCe>P z6`^CAP#Tju)1|P``gN-6oEB5ObokR%2PFlXi!-Q$#^OxrX>5NK=wtioIVmm9lHP*V zhq@>(&VkZXmmk^7>S*K9BA;eHGbm!~P>Wof&rKI@&`EQ3mO^wF1JGXdT?$cN$i2Bn ziVPdV3#GfTL7!#VkF$`$X2*LM8M>o18mHPcsF8p3#i8^i>H_+UOXS(yEd@qKF3qOD z7%BaQQBU+2z_}QOX6Z5P&XtDnD22uZn-2}rWY`__7<{hc&Sbmey*UV4kF zW?g8JPUD(%;YK@IUrQmB8Fbc$k+m|-F&fRr05ls#`8eN@ZnoV8tw(+Bi@DSuiM_JF z**zA@$ZlDQ{V&{Pt>kPb;muIR`3cY^9kuIpST(DxfwMGWGOf|(8`H*OdDVae)1o7m z#qwg(=9$_lyz@J!aKSGbxJ?a~dGO7ev1?m>!^9H^i~U-~ts-g`yjz29n6Oi~(jcNF z;|>}bGF+S{g-2@Uu1=$C0FJXpXTR9f^f0$pxlsa7)hH-JV%ih4&Nzd3qhAE=s?lcG zENVY?>$o2~_x(l<$)13Bx4vF6`Ri}sTHFSmAf2Vc$-LxSX|%Q6=wLTkjs7$=L;6)U zIwbru%=#vx3V$YQn-E;MiTmmI8?`vYCQj);*LtuSjgpMjZQcpIN-DssfN@5nTa+6G zsa}l^4b6~{RgG>Lei2`&o(^-vM6KOz>Dt}U?>B1MBAYp=+wd4jeT&~V{31E4NOWT0 z>~z2GQ#ai1g2U}xmyYYeGibVC)vOBV^$yPK|MELgVrQ5i?sjy;OBgbD0*7UnH85pn zEdO$hhTn~Y_U>HTy~y!=k2raEtFJvGRr{akcamTGHS*d0GvdJGe8IOYbwaECCRUL)|D4PIni>UZ?92P;$mShY=kd! zq$=-N4n|;TF{>b4`DlQ{r59wml5JAd-kvN1?S{NM&F;sY{RCQB|IK$N%i97jV3xP# z7vXK`^sV&5vXYm0M}Ar^XfI0E4{5)H$Xi~FjXV9%DA^x;$mW*47Fk}4Maz9J^j5^i z?XAdS;eWO&nD{#pR8v7vE$M|Qmuz?KVsq>E*Q}+bwrSrU9 zNdQsdn+WkZ-$JfmaJM4yEE5-JteUXoXPLEluSl_DPt>MtBkC6+osj9bs~@B%FV7lr zq08dH0^C`nUz4IBGq^RonWsj>@xQfU)5a|u7W+oO4(uAdNe6TF7yif0*Yz0k^_jEl zmw+(&F`?WoYcNZV#)fEGP`|`Jlyi}!!+h-^O1u&zZZGu^_<|Fbb^X6^jV(K@?tT-t zQEsr1>;Hx8>;@CpZ&K?v!B@pb&T?!^kg~?x*n|x_OW_@M1q7|ald1`&UoyPEtW1lc zER?_Ek~ytx8E3)J`r4^KcoNV;Raqf*;Lp(;+@oB+hvkq4>$DuYYK0iuFI%X#VMf?5 z+v|5^uNQ0wXcOI)y}k$cuK})51Q$RVo_XrOOxa>r7oPey;i=c@sY?tf``&d|T)%pf z4SieR!~<_)p=kiYX7#UY!`fUIR;LLmv~G({S+{n3op($DH{z>1OF;BQ4w0q4l#!YZGW~ipFizk!;|bxStn!+?#EbQf6n-GMA(hPugf1NZMv; zbQt#27A$BDjkJCRtu66Q+Hxd|*00=FMJ-wa>S#Aw0HwLDOJU2d!wYE}sn`w+q_*W* zfQ}|lq>zk#o9vm+1#4EJ3_G|fYTcP1xF;^sl zQNop7sb;_c3XZTcyK}`fY((wX*B;xDI<2e`PPIFqb}7e6JL58aS1>y~GWR92V={D#I&twPZLJ3A|-IhPI&~wubRi)ZxlHP++Py z1=LS#$`+^w=IYwcb!%bT)~~}9Uxz8aI`h|mJwR}CRuue2_0$ff2Ya$9xplk!dMsA! z$*0(gtRITBxEA$>?bWT{9p-L)&;_QjQ87*N-mG1N-A}ri!>#V8@yRzal{uDPJvf|8 zo3wz5nxS3n;5XqNCySEX6rf!g{drt`n>3MCZ1X^$oJnqT%@bq3i7EYy!mV1a0;5~# zPXh}VIh2YznYy7oi&)l9s7hbHr8d*8Y%$#m$h9DR#KUS8hgIu|9ZlQ9JV$rzwhD`MMn5Az!Y47u4^+uQSgkRhqC(3amFU}1;2ku@^Qt)6YtJ<5^fb}X_@?<6I% zy$ooO-7bpv;Ebw=!iH@_wmS%cI-epV{>G8se7N6}@iOG)c0~`u#o($cG9Y14`;#O6QOWNYXrViH z`w0-kDDUs~7lg!L!mk6|0fIz05J$TMdr%@yV51(v1uWj}BH-B{en5 zmE5QjI^?1oJsKUd5x{p&2p(fxj~i3Md(JKb@aO&p8|h)mOKR8_Oe}I8#e-0jaQ?*J zVWAHBj>O*K=$8-g0p7w0u`u_daA`xYtP6FhmKopi=0`Uk-3}^cvSvh;a<`o3C^(TD z=#}LzSG7EMxg)@|z?0u7Hc73lghqS#<4nJN96ICU<1LiRrdKWxDC_Zwl-)-9W#ey( zw9D$m$ztRb!|OW*CDT;%pqmOK(^5FaY0H=%tDLHAMH2JSCtH_Jk2laFpTUhy%P3(Gi&sG(1#zYfaj_i=Vp_jOs$mqwB)(1Y>RchfTM5lD{5)9U=b?~AXry$+Mgk4-Bi2V$#9WKn!ikz>h)sHJl8X58 z(C!mfsYW_tzCKBFz+a@$5LeJIY&m_V(je;LXQ@0?NEkF&BODCAK9ANNy>JFiZ~4$m z(x7o^DTiN_CU^(GM6_Q@p(92sTtYugS6&un6?;XMr3xlRhIQmsDTnnMqZGD=&l5|qQ_BbbDSi4(Tzr;{Rt;KV^$ndc>ftY_ zi0aqcjY?r2{nzq*Lm%8NT#O7(Zsp-aA8cj6l|EP_jvm-9jFke|_(K)U#c`Z|Pz6(d ze0m3*+u#TVFiPPhDG=)4@&ra1Jc-If(FF%;sDqCR)Q&dA@X=614@@pwbcV^pKo5K@ zh1#SOHXe?bGT3-PEzHFeP$i-k=3bVpKs*+-z$c}*MIX$7oSf#daM!LSk0mP~H=~7; zSQ&vB3{w)Dw;LK_E>DMr1%r8i+sSe(o+3KNY3Xp(10BAfINSFyC?RFJhrqZb*%5F@ z9RVe$m`EB=g4;+#DamjEBWZdS#j32}>WaxRFrFh7X>oXnv?%HnD4`XUL9N{1!N<$E zmE+;Dp(4OEeE(3$U?s=G2DFoKA>eMH;k!egjvxvO;S8^grl4LaAhx1liOYH;{sTvF zGIT+T$+&gYISz>STGe@jw>tI1?ypECWQE{qQ|AX-H_^rMR@8H=o_VRY zhO%|c8vZl}*+B_R2si6SdH~&B>j3vOU#y4;yo!3VdW7g~8>9$YZEz$I2uFV_YHIB! zCeG@jU5?f1K-GcF>(+E@mHgVq)!LD1W{m?;dw;P-}v4BXV$>X@g$7W4U^5W6<>4Ly#k^v5i7wL)=g0c@i}r8;8bFfVhom zEQGk!p~Eu*C_;s}E~3#@FIQp0{U8c`U`awJlY}fluxXkxqiUKla`{5Qrb`DI6jDqPq|Opk#LFZ{ z!B(kBRC`_NB~44xfnKanhL`nqaJQbdVEbH-xkJVdQ*YUnc*x9nz{;y@$d!^Z8|gMc z@(SUqblZf?g8vy@|IA*jP246e>F2C^d<>c!o2vRhnIBorkED95))pBx^xWE{G&2r= z5xNxBC_oacgQi7k@I&o663S%{vW?mDtHSLjpBk$sdln>nIwa3fa~R8TyBj9tMVWfG zrmd~TLngr_mk|1Ejovm?+a{SJ+cJEnYw5v6VtjQma;6>L-fxdfiK$g6v=bgoJC%?& zcW^tpo!3C#>~zDs5j3eZge)*h0<){ztp}a3UD*RNCS-1pkhubQ^HqK?3jNmY>3&;6 zuKX_tg5nxDCGGBh-|hECv%L3?{XpiO0OkWrBcQd98{zipM4;>=Pwqzv=o(aFco_Su zLL1^Fky_zl9Kb*jtu@p#P;s*r>GD7gLs65+kmWmm2wA=j5%aGqOSo2O%An*!Q=>vt z7OfSU>Y*tjwkprv1kWr%TN{R$tqy-E>=Ul#{$BF`;4vU*#>Z!ZW+Q^;Vab($Nlkw^ z5Q>M}xyV=tNnY&qrl2@Bh1`iO*&%_GaDymt5^kVF;RHJrTBRf9%cO@iQI15DqBm2w z#LjFvNUH}|Chj6}9xWMD5nB92-aJ;}SUr+A!LVS}i4zr}^8|=aPRW@mU3O;L8D}P# zIax9%ZcGFgz>H1iQ*>4~eh@sTQguQK!IP>8ozsM%*yT@E)zc(<;=@!5zDx0SJwwf( zLG#UVDQcAnDo-ZJAcE%0B4`&PC}d_tAjOiOX&m6Pq$ik?_Y&9^{U{-1o);*cFG?3g zXvGdhQ7X)`=&V^VG&@k5ZIsgTS_0`JQbInwSigm_*enT-Bvaaf}?IudD=hd4KRh%NrgRJ&7r)|C=SM?`qYvmRb-_+t-%k z(mY9}2P2&F^V%4l)vf3(YZ&>H&viWB8${rSO2aqC5;vJZN@CnQlI5mVLh8+o&q!oc zmBC5LEKo7h#8Sm(~*!8Al3Oj0i2-8V#w zLW^Q8*&^;S@znl}X9FZxIB1jL%16;#wyL&De&w}!APTTL)L6L(6|z-XLR)ckB4|s; zorl$@hm(PB#pQ{G6k+y}kPKIA>0>lz0&Sl~Bnq`zKpip8Bm!;6@&sC;{_o*O58=3wV_@tnO6KR(VToKO0{5X=sIGpj=z*$!lQjf&;C_8 zIw8?+Q5D}hWLfz-fwB=PBDcO_6cKAvL99iPEh5=Uqe^2#Od{ES3dJS_TgDwB_A`mH z9Z0m$`!dFDmHbycGoIR4m8bS~Kzpo_RBNmtoql7z`&LzvTEAtvL})~q<6OW1SQ<kpCgJh^ZP~t|*=-*C(8v$`qrg6U+1kY0d%oIpOkjVY;mm6v;boCMv-hJ%k&y6oe$Gd@nxxkCTo(}cs*T!`V-bVV9Zrt~mEvXXtr z9GYyym?sK&G0l@BQ&(_bqI50ZPJlGBE8?>ROs#0*uY^Zaz+_aI7LH6erq@s$)=g>H ztHtq3_>4AIwi{uo5>j>{gLj8TVclFAw>t&X zC}MX-Vs{6a#s**-A$E@?q`ill_gYxiy+(|(i?{?(BR-yn&v<`@;sa?djSpHxmIATj z()f@t8~ZMe4=WT)TtA}md&G1(*1tyu;Q5#m){>hx95Ww>ISb7iN`jd3vwA{NS$d71 zRD_l!r>Dg8(;C%h6q+UM#-|v@XJg-MJ4NY(c1vRb|x14q~wQ`G%etJF5?$2+UL!w&YODdO5yGEX*wrTx{xl*tx=$he znV~!?r0VlXn9!;(jNX?5Wz;bNh(_{wTV&PO5MHLAL{SlID#E>}=}^372+}vC#c$Ea zW!6v-6%@y1h}1{Tpo6W2Pie{!J!KaxYRZh*@bM$jYD_L;TeE zO!>V%28|rr4~!4OX4I(@q(&?(1Wyr3bv)b{z%AU-n5I1!~rCGwKrdzYbOPy-Xo+h|Bpc{#yIvuz;0;S+0iIl?r z5E})c@oeLQ_$Xs*M#jxBE@q00Bq*vVz(#JJXIxNrCR~L0sIw|u5GHkjaY204g~r7! z#VyT_AdX`c5d{}XKvYQqQP$|Cih$Bs5DH}%2!y)KxVT(gTw&o(SI{IOP~4hpTu}CM zE)fgG=aLE+ghX9sTv#ZS9>Kf}VLtN>yKz2aagA|ttsou2ax8)67#ao5@p|I|5J%(U zMu9o%iQFVEKyn1u@n)L5Mc09F)I^}HU>+A_9G~kdT-=%g+R>KHg&7v`+aj!E2e6LN zx+4R!BdCofP#kRmzmsq^E#P1|-o>ddQ(hE+aa;r)7VvvA+`rdA8}H5R416PW?$C7Vw7!&uE-HA_|WRwh^?(E}=C(rqZ>bI|A9rtNui$y~;l+ znokM7(LDvtr-k4MY$F(rYxrj}?isOH>+a47q|t`yIUzLa>4DK`7rnl(&D=?_29 zSbP}a7(0PugyzQ?5E(&WECIyG7=NON7TW$a0}`Ux{!F-vVgf)$=K2>Ak+CF1M&t4; zK`@H#uj7SfEL2wG8#VE5#9=J@UZBu2t~V>TDf6y*uUi5HH^0=*~#$7bQ;xU2)6@whBe zpSlhVqqv~#v0OSqn2c_6mPIcrm`=>P6OE0Ngv+Q!bxM};nUam;(*{fJcn0cErT zQw7r~2ByUe5vCD@?TFk6Qe!;t1J_8=HV-@_AK^9*i4C72?{Z)g&k$JRW@#5_pOuwQ z;n{}5cs7?w!WM3vlXd4nDeGrgiJ4h9BkN{nJN&uo^m$0QSzsH<6(H`FBXC$=#8vvs((qPJ_wGNQmw(yp(o%rmN^B*@iHTP zx$qNJ;tC!Za@|}5WtnOhN63`=Pjv#2qTZ@F}sL{PgSdJRq zd*hw^1mdVZ-!F(qU>u3Ov0IHob$l?pEs&0k^g~%*L#T1@!EDg5Q>#@lj}P;uPAHFd z0aQmmf_o(WkxGE{_!wWXwhCiWSDp~TCn}E)q{k<@(IC`E{yJek^7ZNL4j!;a5ViYa zJwBJzYXk2Qq(@D7ARmqJi-LI6h%AnTmKf6G68iK~Eb?+dd~6WnqqX&_U>^Z|?Dnq- zH4<1zpdRB(@w%016X+wK*XdJuDH=T(j@IH^LVgs>ZwvnsXh(y9>?+W~} z?=kj0K|!j&OEnNnlMb~C67mS2AVP*?EFh3Vf|TwqCxydD`u$NtyiqujkZKZ2B%hDz z1}KrjiIiO!vM?k?IHE|lf+7j&qZL;Xm;p=j7^4Dsq%j3tBwvrq?ErQplLpvG zFeFdN5u_um$nq))a^y+W8zSIH>lNsaCv%|&dQrH_~M+q zh|~kQPJfB&UrLxfkhj#Iqxy3y^)Dkn-g(s!-I{BiZ1q=?c7O|@ zjDS5tlsw#BE$Z_C8p*kNP@gaA^DES^$+>HcyK8gqTD}m5qY~FuN?Z@ph&6J9HPYa3 z%sIZ^$dkQEv~LDyB~SJInsbjrtjRwHVv~J& z+&Ez+&ABJI;QW&sn5Tei0&IltJ+15RX=pe{*(bU5OwK)H0I1Iz%;|GE_iWBR#~?nh z=ANf$LDR0_Ux>6{%()k#&0-oaEXlbgTxjqwsj-)H?xmc28OpEdx_d$}qhJ^oX_fwl&`1-vRg=WL@UK zyK4QtoO?It-h=(6z%?cH+WhgOH7dZzZ3VxByfiJC0oBs+>ThPDhbns&@Q%9cVxc2?oG_Q ziPUTIlk#p7Uz+{oJPjX}ca!t(sC=hCTJ?{~yQA~&80sIZ`o~u4AD4H>QLVurpXa$B zpT|6(yxk|{-3fN3nJRr>exMl@h1r-D%dy>DEY{KO^t>dPaT+f2L@km3L?6-C58+JMYd;>b3cE z^6nh!4e>J~b2Ia9CKqb_xslL$dB@lD@<`3G$OUI2i(Ic(#H$~bv=iSZF zuJO0T3k&jY0T&wlt!ivx-rbsa3!!|QuDjcy(BLS0E0=E1J3cq%!Wk zXWrcjr6zw@-rdEQR)4pK>F&xfEy}w^*491Nc%8pD@A!HzbKpL;et+KGmv{HW{sVdU zKvJ*GKbUt9Qg4WVC^G$U-aX8P8vjTn^l0Ak^--97EEah@?;f|do`^-B%sak5$sBkp z?;u3Mr;<7Fw3TV|&*UASr|Go(E$m%*HsAhwm47bpp3S@GxRJca&*$Cq(9il8tiX$T z_d?#i$eXfQJz0`>i}P*?J$XrE@KVy3R{wI|y-Yo{gL(G~Ut0aED)DNi#A|u?nsNSm z9-YD)dG~tWy+P03j6HiR@805moqs#;xb`-q_m0|pH}BrbyLV~xJyCowq1fh^=H1eM z6Z!qTd*7P)KqWs&O1AnBHIYBcyASj3BRZ>z{4veCkNF{mstrn;|0M4|q5cs6sZG1j z^6t~T`;3-9k34>ncVAEdO!9c)tGxTlTKrn9F3Y>G^KKcP`bO8?H;`{|l>M4Z-{u{k z&y#7^=6kDMFA;`A{Mc#)@Nv~{Y_%I#O%|AH&G`w{ZhWvX%#A-K@@>rJR zg~`=!G8Y>BQPnhlbhSIG+8tdDFq5vkWAJZkaFjiYOUG6_K1WtF$LafV)h_wO)#7*~ z+2&8Ec6^SfYO)WUSS@AtN!9MeYIhRX?eN^@r&PNs)qNL{ldIjy#>^?zjQuIq+E}PkxswQ`+1-D&qvRPx@Vug*V=oZz4zIBt>0S9#&c8F^Ysc75}QEzT)2Vq zP`Du}ZH*@;HjyWT!=%I}#Z-XNiQNd3c;K9z*kms~B@x=-ro^Tsc2m+XOjXxROKfUl z)9A~a6T4ZZ;w+e+*mR1aGntWbol)jG(|e?6n3WhmXC)0Ah7B1~6=o+kI|*}=vb1e( zVsjyZwC$FJaXl}wTN0a>^bPaHc|l_H6I%f1g&Bi|m5x~yIoz5UKW|MMHadsf61y!4 ziz^(KB(@~uurv`mI8ZB*@ZfB&h3%O`o#Fj zzw44yhVWmN{}VPOwn5D5Y*i9ACbm&+tFy&8yGv}7y0XsZB;h`&*nOq(l?$8InOhRu zoY)qcx>Zfxme|(Bw$aq>SyQ*ix0MU`t7jfa?Eb_aAp3*Lz9X>*6Wc-dor&%2_SPTr zG4gO?4<+`nSo&x{mYGp~q||}A@Th9BE3rot+XdOjME3E-9!u&e5O>hp5a+NKA70Ei5(>ObGm&#vF8$dp4=~FEqS4ozcn06>`>D1q~3oVx;?{- zf~_4+?8U?mGgV#^jh7R9DY2KKaYP)CR4BZXQ14e0dnGac^{e4=(Npz%hS&54UQg_` z#9pUDZ;05NiM^57n-DuHVn-{)jwN=CzUmX+ilgXwV#i7NdU#s}-%0H4#NJ5&PwV!* z#NJKpy<~8BKQT(Y&o~^CQk|ix4M}ZiD$J;_k;76OhA)CX;S%2ELjMs9l-b73o>ws+783C0lHWc$!0-o&LzwMnZ0I7^O_3 zl*!YtR{3jEyE?UNQW;r!>a|L}F12e@yN=X>S?Xw|j!A8FYGX*nHY&ncdWEs6jZG`7 zYOip8YS+WBA&e8hab5(^9)R{d$-#GBZ+} zp4tq^%oLfKP6n$Ik(qS@nc1n$b~1BPrqkTi=Ap1sc0`tZE0%D(vGlP z>9(9|H5z%Bl5~4&T(_oi+t(|sNNt64Tbc4bz9Y4jsojxY818iDt5Ul&wN)^`EAqNK zwY#19JuzW*YO9_38Zlp++M3kX!fBn-ZJjeG?;4WsO^xfW3iI`;t#{@dQuJRNQ`?Z* zMwoAM=J%zxDYg4xzB%&RlG+w$zBMLnOKqDo-!A6&r?x${`{DF}((M6fPTuV#J(wET z<_hy2sqJv)J5$tN52dynjqA}0^QTgK%8BiDZu?T(o7z6O?T^HtPVH&Wa3Cf;liD-R z?OAaG{;S_E)&QklG7Q?2umai>Vz-?M0e;*qOhS+Tqk* zg89pl*OAnYc>Y&n!mFvh>dapg^Vd^*Ew$I-^oG*y4QEc?*GPIZHLjN{%#Wsa)QKI_ zOMVNV$*H{s^W)C^?bME^_BPDliM-xT?Oo6RUQBpDwfCL*5W$Rx7Hvq;h898A6iK&X zMGbHA4k781qH(=bVSZ`RF2$<^s-7Y*d3ez-E86hlh2ip|=GKU!U0$>iM5DN(m@QLR z7VS#Ue^pEvS+tQPG=@=Pes$4C742#`U88in#+j3M6iL?>jq8dcbE~{jy3Wb4b1d3u z$eai1GOK7@Gif<41$@PyU9{PhXbf{yVy?*FQna~6OkA-=Z zw0RWh?FD*=`Nj6t1R_-O0y=JC(H0ha_|D1Z6J}&@ZT06b{zSHu`tQB=xaCWI@U3}s z$eY_l=VVin3z)++?Do&J-?~$i#(>3`F;v}fEX~Yfh@m5oJq@AGidJ`a#fra6mJaqo z^$H{iL}Mo_TeOQw-TnmUJ-&FKQnt^n&minF?{~(IU2nj=pSx6ke9j6Vf$T@1dMb_{ z{wR~I`$M|kP=pff z|09*0+yICJK=-VNa`IWCM!GKm+?5!fHz8QZaQ_SX{VzJ?+$Vd z=A2s7!YBuu*hA!77^jFSiN3=oG%=#$3}RIJ19vLX%5cO_+S!%XbcGN282dn+pDmfW zeyav#Xo%}fOJ;IIQy^Qm)^7|Ab*90WvkxO?Vru>oKmRBSiCbvbM+Ba7?@>7hUe5lQ zp(YinFE<}0frvxRS@qnGf7R)@l=@8Bil4o&`@*?^VV6^E9M=}M1Rs4>8hsjJpAdn@ z(8E4qJqCnN(yw@&uupY`PuH~Br)d`0`HY8~?#qwVpQ+quvT|;qHHh(+lYv&`;Pw@r z3_0&Qx7i=ako$8xV-TY)CnFnIu*#zpS(>o4@thS)8;$QT+F#liJFuVlynX5HKj=cr z%YHd4+uM4pyWBuOhk^c=?Qc48K9RGpxa|#Dn?swjHimXmpBW<2Qkz&`))%7wor9!;6~L<9b^U?+b+vyAKcu$jl^OmhWB6nJX$j}s`C{m{6uI!P z_G5**`8WHK{afFFS$_Coo&7NUJ1y^k?jZhl+P_<8SNJKW_Ji!FA0xm`&VE)Nx<41y zhVTnAciGRe%E!ZNCe&<#ajR7l(+Ay@*hR8}{5LOcQI~=}xV4F*-?Kfp|80cSI zHqa*ksLO6z!sRm0SLH^;ge&ChRf7jhiJEX#wOuJoi9xc?C(B4EkCLr~4KLxDo3WaJ z^fl4%>#qW)5}@Q{ppV~Ig6c)WSWAp?PGe(2w2)|&fkbuLKw=OE5(;rM0Zv#+aE&f; zDm!`w(km1F$|j=;I|<(UjU}iwdktsOTsD|E`wtmRn43$eJDV#O6WMN}MRxnLmtgB5 zO9?HOGh@YP$yP!~q}efHPPNS;VW5m9NSjO5Z}CS>VV=w)&cZr^>dlvN2t;@`uez+v zZaUFmLL3*#xvMzdDzklC0KMDX->clZ)~mivm`Y^B0BZ@kcde4K#8Q3`pWW>v7W2-q zlps~EU0om7Bx`;jJ8m!z^U^EQVyvX#IrVvtPwb684LR+)9`igl$o)e`QN?S$&GKJwX+*-Q{9 zS;i9ThE0*`eeNKZJIp55YFov(LGNyJEV(6f|5}w9OsM2GH<8#(RWX*ph9Zk^wTN zxv$#xK}+sojkNvM-@sae`E)?`5_SNCo@XdY*=I^+Tf(!N+6SZM{}*d+Jv}4!TxKiL z3l{)c!V8&S*s5?yrV@HbFUBW_<^EM%U#e#9!`gxCC2D;{v2aYGZC;5vUzL5oa=s?p zh_f(>pf0a#CcuSEuT^G3i%ccn@XVMH#;`-q{klE7uQfZ>;v zfZ;9p0KoiTEy-*pT0*py=)_jSxGuxSe}tP!i~u(t>l+;b^uk&qs|f}Z@&?;W5pKL{ z*glMMvRFfqrhqnBNcba+C9dUBr)(u;_di-S8eK!*L5)n;)s$C}7CDI>L*`pgmy=jR zD@P}>1Hw2p3loWPGL-1TUIHQ$D$T-C>EG!PQ?yL6n-$8&Yl2AyS7u2;ng_O#uPA4LUBx!C zb%yP+92ON^+iB~-nB@VPRJ6#$1hy1jXh#i(6e@)61Zg{K24F}*)3BewpyFW$!z1eH zM=A|_G&7y(RBRh3@t7M4fm zO}?UHuTU%=GhUU^h3fd4Y%cV@c-;#(${d5AZ!m`5R3ncn&<&AoP@1Ysj#ZlZR%VVd zFkp`1Y~Pk4hK3Xt8Kk{abFM5h5cey<4MA=g(+t%G;|$WS0cwqThUdlN;yPzAT4oryN~xtE#t2*wH8PE^?Y3lM zv@w>g89bn&J9xzXOAJr zN)md7J7NOH8F!M<88Fu%Z54fVmp^KhH3!AGySujA)~`{v9ZqX?Ee0Jbx<-Z^7<-^B zRg$fxMn13_Wz^w$G3B_Iysa|p@PrMuwt)mXexs~BFzFbC(S(tI6FqUCdSbKeI&3pN zzJ+Gduq~B_Va>7C>1~Vju<+QP(Q^wAj5~-qP%E>I2TPVB*qzC+gM>QFJ!IwKHE|mc zuL)2DNb+r2E#Ofm>vA5Q^o`O$YdRt@xvJa}rTlUwse}>R zAO$v=fFOvHxM8RaK=f9Ixp=sxWcM);yALcuu=*Gzrqhb%&JWs4BP45%~)AXm!_1O&5eKhF9<;|IgCKGAdJcEKX4}{>yGSkQ@Gx%#(`bNAT};{P8cuZ6Tp+?F#lkol(~mQ zHCe^5{(xFznB;~alXAfFlz+0UKWsAjr({i;LK$yMV{ns?Ff|u9F=#(!@j*hJO$EIS zL5x14G_VIIAT)J`j6g8|=!@M)dlfbxu$V0i5StB)IWhsk;DaujQ)1I1+mBnkq4UrP z@FN%It1R{&3zQl2kE}w?VWGF7DPZxz&qZ*#Rkj{vs>6H)!wwAWPx9 z%*{TQ$l&8+0V@yLd6eZwnXyNUj6GJsy;rpLXbI8QV_@0VgNU+Tfo7R|khMX^9u#-W z53D}AOPetKAV*7BowL>a7#P;%F#Nz6gtbsfww4;iFY`K?f9Or$E6a~ek`nh@>vMby zH>gS2eqaZ}zw2qkCbeM`6bN}h$<}aRj*thNmAV-YTV(PP<<0lyPOdv%S3SMDB9*pK zk*#-^N+TY1KT#Ue8FsWOlT8l}f{{fhKTQa!lZMqLz(W(lYBX^;mnBQFG;~hl<|Nmq zQ$ed^kYMH@b-b$ER0)D0r?{Tt4rhBI!FIp14R*4-NRFY%An~Cyt4_{xx^L_Wrz4cd zNA}dyPn61^Y9IL`i8zdkV)+l8Sruod`;4L--p0Hf(rd+lZ$_Qc>}3d#&>_dkmX%R> zzK>@tJv0JE@ekxhg9Q~m4R=AOc~O%uGTgk|$II+`SWXl^$@_EJ_F(iW_|fhNE$w5g zk!RySsza`5KUd8y-m^up6|G8Zgm5%TkK){1qTM8KK`k{iMSAP00uV-jZfl<(QWS!3L7RA=}r%AbkrDBR6{8P`!bi}EisA>Mg) zB|kt-h_?Opxc{Gl;VTS8JOEkSxj0p>4kee$z6O3Zt{Y9kea`lhL|gCL!yybrl1(^- zjzDPlFn|RGLSM75g#mRoAe^0L#2vhr=X0_Gvxr@rBz=>&H_+vSq(AC|k|M_D6??5;+f4-s6@+P|Dj z@Um)T-2ZC-))ju@-S(4m8TS&@3m>%JZSI41VCY2H-PwW6`={Y&S-0UJDEzF>einX_ zWpoEYotb#M2|u)mw+Dv7_DdT)h&X1|IHCQK{lYG=3%hsQf7pMhuP@3-ctH1Zx8aRe z9fW_N?%jr;Af>w8yCM9JZX?zigZpB-?P7IXO&!~iA$+_Lf9t;V;TbAnxDVuE5;qMi ziN2cTK**bVsa(~n)|W|ug*5y!iL}o}9!~W~NGOiD8+|;*A#g>7z?G7S`{^W78Y!u` zD2r!&{;EnPk)V*gX%ayI3Oi@TQ4a%F; zQ8!ilu$&4(o9aDUgPTY&oJvrz_hw&AB`t3^Nyz#1(%u=8kjGX1=IWE{W`^oJYAb91 z|4t)WS^J}2lC{4b51+1>JSPb1;obqef-muL@U{e;iC4Y}Eur4(^-cJIih2ZubHd3K z^>w{VDsnp|7FC#=4|z*bw#q4BD-%$CsE9Xsc^e!)Ozsb(5{zGu7Tk;zebVp<7{4AZ znZ9x`fe>o7yxT{=QSk}b75;?se^Ra}fe`eb{uCPS?(OUlsMu*1?6fW|;pL1ytcQly zC$qY^3&74yC$2U8;>r@9v(J<_j4b4*S5*6zQlcaoB>Y{+#wZs z&OR>!XPi!$?7vjWl0R|$!+oJIu{)|+!U<{96?)N>Ua^MqA?~!!2~m3^h}3GpU9+GJL%uV$3`K?jN{>7*%nssbJT0+ieL+?_czqp-&FjX4qUb|8r)}FhZbzD)X@U1 znU&ky@;{*J0Vbt-%-KJx2LD4f_>OAuU5hHnZ`=3!W=k{qe}MM!2VE@51H(VlKmSzj zpSZR7A$fje1eELuKZfRyMe~QEdA?}+y4;2O@jUz2zTw{(7C#}s`vX@{$)Dh5yrWEU zP*%%Ma{Lrm;6Lps=^&e|QxtzLioZbn_=_%-kb|tNZ}=q?e?@*@k-NeL_A4k}P^Nfc zMzI`aQkut{{io{qAENkcQFPT~7plh#?KgeHZ=v`*C|-=Gwu=dNjFu6SLrTkHvow(2 znZvYxvS1BUyh*tQhw`N?98IK%Hp?xqNs5k!5gx*;0^ueJq!yQ2 z0;y^Bh0(YQqw$f^3I5vfC?rM`ozVnmG|3sU!m`@lNS#?)DLNTO#GM4$DMl=)EVNU3 zI!zwiVDx*MM{QcBD=ee`+ zc`%wUJtK_fms(WPGd9XG+XDG!8;~g)!#~&AKci}-_-(Flyp7_E<%BJo;Sen?_66ER zelF$PgeNv8)^ceV@y0gjM9m_4#PTw^GSe`gCk>;|&pV}D)Ec|WRgSBwF~t<`yQN;l z1)H3NGo{K7*f`Hflc*AFB8j!`du@%FM6hj3SSM#}Ej8z%Ph>?#mw2y~h2IDpM0;a5 zZ{hwy-&E?AmVi=G4#Uqwi%1--E$)PE3;n-U{l696^QjQnrkibeW@p2DdR2q8iQX8L zi1$;NeL8AH{o-)&peqd(cG9(o=n{RuPKF0b+bMk_dPv{2pI&v!@2eCc^+@JQ98zc$ zxkL)3;=`Fzk&^})9wqHDk2U#FiPWjmD|)S-$lQrTYIpVvQhQvpC{j+y`#=c*e}FY>wB=PE^cTidVp@6Xz=MfPd#Pp>)^Eo1w&Q!X1)g_02kBkINu zl#BK(f6}`DHxgPN) zcZKgwBEsZ|Q>9)+(O6P1s-8FzmpJLQ=taCsF4uVwJ<_2FgcjD|}?SfYM8g{#Ae=w*%Vrd+H+y$+Xc@~;K}Bl=ex zEPdfCY&9X_8bkHh2@xdSRXC5Xt%;|(mP~EvV{&wq`bQ-pN4l}@IeaYYi|cFXp>ggS zd>r*3PgWF#Wf|54IakyCxFOP*s8Eucj*}En5*^_nsR~Jzs?ZO7#NEvlh36@-q`$xJ zdcvtv6(at2H*0dP76tz&xK?9s$L)Meh$_QgQW?&Gb!XYZT1RkAp@th;!JN&(5tyIZ z3AdYR44DL|45d3{5}Xi6vO@|(axI_+%mi}HqgD%R+5up=rf^Zot5{2>MD%%%67klI z7)nI0`IK4WDnjNLXjtTQ{tW)9r#yAjbcYwqhEgNcTJ*mLTgC! zy2@yYIz_63PSIbQYZP4ou+bg2ZDh1;(rCF)nnhHHK;qTwo2jm4MO>+QR>4uLR_DySNVVlqAf(7_#jo^;d;g$WbE`UxuHyC!tShz+ZUqp#@eA(e3jd>-R>vpgUQIj3-I3Cs%pco8=?qDGl4?9vgFiNu zhS?ErUkxfl?&|Q+7Jag@24)JwPALq%yP~depxm;N_AC?QpsI$ZkUFDiJSbmml_MMh zcx&u=YSJlxZBF8l{IsD(EX(Q8AihWr)<)?KD@V8%=?~?(4fI8(Kx{yPNJkw(jSbJT z3QM8l!;zj^oDZnHt7|<6w{}ECms{7C(dO}nk4wUMUw5w1F zjI3pNp(I2BN-2jL}cX9Y0bnG=n`31{a)V=eMKi^-rtyUe?Y_NIVRQGBv=f@6&x>h za;@Dc_2Ri=nU zidhfOmO_!cI#i4D0q6YZ{y}x3DufOZ72|w*c!8>h26197ibxcSxP0s0!>AM&!MIay z;hZK)Mb|5qdw8*2!l@r!so1@TmuAYvDk&G2k);8*aI|x|dbkS5aP;Wyv4P@=uAUW{Ujm9;0=J#rsr#S{a=e+OravI2pg+39stML8SoL56_|<}`Ca~x?elM`7HOCc| zV2z3^+W!Q}^LK)W?i(CJ#_%+OsCyx-aP}^z=&T5uI}lQQ!UfINqHpn^X-+ci_tLL?TZ7A;%MU_6@h$s@bMP;ZR6&YD5%M>}525ISimvcu zUqgOers`Pf^TNMyD*9LZmkcPKvwu4?YfzK$((06d*PmY?w)l7J7!(H4Z-c&EjWNOL zRVk8WuLY81-#h(Ge_8E*4pWy{bRe<#sdf2g=Vyv?_Df{Qo$+W?M6m3|2issTeu4f{ z{6b_BzvuuwJy@~L*m5Cg?g$EX_N!R5P7)2hdY3D+)k2!#MUg10=x^=U_FFIdKkYXi zAgX_7|LH|PSDl87*|-d;wu=#O;FL-SpP`&X+&rR5_-a~KhlnE{e2{Q(N!D?hgvc8G z!*%dMuz{50at=PoGAK2I97s1f_#oc6LgEd41xRA7L5yUAi;9hkGUT#C25dFw9;6#r z%N0F)eE6%9*JY;`#K?#^MsqMhs=+w}De@SJGWsLipp(Z*kc?1+U43@$8DBd05G6jN zfbbYWa@iAo>16T;q#BbI0nPX1ssM5g9h;_h^FYtJ=jLi88;B(?kTiq(%;+x8m{~qm z&7v?$+U}x^Iig;Nm_*VHJR`@bXM-iupwaVa`+WJAS9dK?+ZI-5Qj88sF?h77bXaUc zmH}+q-!}pc9|tbZ@SW_E814+`QlhfVA=1m}Ap{xdXgL+vXGLxo99rj|6_G}iWGK*? zu+l4#dLYXnRaoh$=t8Ek$_pXNaK=bA5#3tyInOwhOu433(QrOZV!+( zPFxpdXmvx9;mtvGv6GVDk<@~;hZx?7CHxUW2_d0-Noe5-h%9zFm&f!%A9rEJ<8VPb zL6#@@h45jw&zL96qkd zE{o6#jVQuvf&}6qHR+Eug7zYaKq~P(RY(3nmgo-tkPodFW0Audz_|^8b4CNX!^_^9 zBQb%)_$wszL2^tJM+qX7$!io zhVmsklwB$h@Q5Q=vD_W}Wt;=fLpBkmeIQUIqEHg^*wjq(2=@pvg6+#*@OVDL-Cys}nQ}ZhcBAgfkhFc)^ zZKMzqJIo`~{P+k#1lN4ky5wKHNhs!p-XAWFP%RwCjQ9a_5aF2B4@e*Ynjji*o5UuG zB9>5yPaXmY{o;FxBlzloQ~?RZa>^oAAlL0Mz{ulRcfaYk%$W|d1lnp`R&k{cxTKp=s1Vk0jPK?L%OO_aFLr5;Em5Kly(@%Lp? zkFD+{UYxeM9AaBZ>d_>@#P+N@NF@9{MO-s7GNckDK8Vy~hq`d5;LS)Px?BXonZEq3 zh@yzW5=C5G7DXVnm52gCMEU#hm}C-qm5+W`_0Jj#($dqe3%RPJ~TzFMrIRyp;i(8vr!Z&f}TX<8A5$tXWWiZc>jX zVVvLbZU^FAQ-(MXD0`lNAL%W}=%E}gAvUyhjApx+$t5~7kTWs~^$g-%;hMRtlZXP* zgm(nu1+L*7KTD{M5pvRv9Abo|5q-mzwY(xE6G$npg4;;AA&@A)VT2S;CyFEnB9fpR zT^NB#;#?fhQyd`#0*TQS7qS@wV=4rq7y`#7krE<^aen4U_CVTr&cH5mK-`eMVUFw* zG3ciqH`L;DKI4yw;YL5OBW~~tA!Lx#`GFERkaiPi{;8@9G6w2Qv8fU^RL=ZO5;_RU z+!=w)P0{zf+|kE3?6L>F;aP$*cYnh!htQKbk|*d~Ggloox7MX9$Q*#~K_`Mgz&3;6 z^ZQJy(j>`*ywkJ5EKtD(l@3Bk;SGu+iGcz+SCv7|=K^x3RR|#vNGzd;mu5Y@v_c?? zA$lQ($S5I#5T<#cL=U8`pobmRjL;$LVV5~@SBC^bux96fmypcrp1WhhJwhyt%xVFg zfh`XL$4u4My8nENtr3v9dk=$6UgsnLGds=oj$FRC(!(1vP%|h#0h+t_@FwA!)x-B? z&gvULH`7s@)x%YCSr3#i_OPTXTa~a?34V%fmKS@I7kfN7(_SFX_t!?L$~H+=K2p84 z97?{XeRcQvet$5oUrWtzFs#p60l#NzOD}=_^v91}y}*9p)S)x8Nbf+J;@CbHC-lmM zDHnwgkVtSymqGVJssf-7$PJ1Bj|-U*CElON5bRI1J;YyYI8|qCS=2WU!a)5L`|#Pn z7f_yl@z|kW$l-jQz&-rVP0?GiM2Cb2lpllyg@Eyc6go6m_Wpx~V0C8UG%9nN^x$3= z(1*ko0QRg$L`@6!@k#9`KSkoF;)bvnf|XCJzAaffw@L35hR;6J5k4y&Y^#0NT01~~ zr}mjnEr5e~onIue-wE&|!ZQm$Wm&S6C}u)^cHJhg^Hf zvt4ue+l;IS>l=);|i|wjQ^hfpaW3IKZ(OXi(Cn)Ck}PtM@lNkiT|OU z-w)|ZbtYZu0;2bCCEAEqMB?9--vujO60Arl)G5$MRrsl%AWpHLbrHR9ko~+LM(EW@ zQ+{DxU6P`dC}l8^U)kUeU?4fWK)v!S0WmHVh5ta3@*iD@PMkK7y#EUSxX6Cf5BNuQ z7NoBW1jxl_$re9bZCjC)@Q#Oa@DPv#XE+>N5O*Mg&3Xwr3GNgnAVEyxG7`Y^=bQDvq>dw4^2Yo|W7LaS1Q@`qDYP6`={4kdBNmo1=qo_qvUD z9uu9%B!}Hig3674W<&d_a#Lco_zpxRwCN@_8d!+hG}X&Zs|FE*xCF(Ez3c!d!OCq4)X7`Hi zdSO67eGsNa_z(5jhDyygD$AxAfREFHYIdL3Y@>4k{{e?B5dhNV01!>|Z7PR^WSit9 zeD755ey`a!FZY0#LsasB5FTBUm28!Cq%T+xYW9$dBh5f`@-R;klRV@#d!$mcN0kL} z31X35aCl4{9`l+#>Kq<-4#-UqqC5eO-LcOQn^X(V;ZhR^aS*h?YqrPB?e%i|B8mg2 zULI9`KQ((=H9Mf<2uq$8cB4zuk^^3|XDc;3s4UM#30f5lRmF?jeu|hCAH*Hmir^Cs4-4hJ+{}I?hFY0_CYOdLCFeQJyBsQE%0X z93`vGbmc^fGF?&>e0sTLWhT`}dNQjKQ_6TwF$KxR`{H zEs#6|0*FYEncRb+GBS|WDq9DR1Iz|=5s|n!q)Q@_bs8t$9VY1rE$bzr$a+q;gJu0q z+J>5Q5RFi9lY}EkMY@oR_`c=7Qe~`y*(k;EB@BVYA{lIh#%`r%y`52S2~4)toLsm6 zv(!`$Zv8dtUx#=14Zk7hZ_$bVwo6J-HuhP&+_zMxw4mNmL$$Y8rw{Xe z{xCFO?CXbEd1HUJaNWNL>%N?Cb#_Q-61KaBoxEV(SMaR`wVM%UTQ6gpi_nBpr;)xz z9|>r8l&D=D!QI4Qto9}Bn$p+5Novq*DR`c?^njy$1m;6r6cU|bL5+*p0t~8^!P>64*w^imx2@-ZY6E8$KhU3B9(MUfy>hrI)-J^o_f`mR~wf|vGHH3?Z1;E!*bF%4{$9h z!HaX5-zj;t-=2c*&7 z=DYiCXxL9so_3);^+EbTHb_O`!Hfdu0S*T{7=j!DcG7?hSP z^^>)V@5+jE8rUV>DM-d@H0)2rQ@{nB0#qON{u~E{;eJxO(-QTkoci8s&I7iWviqbz zg?b%_49)@cAG`kj+WQaY9Kbnxv!(UpR05l2Z86a7mp6r z$17(5xrjn*!bYCN7un07a0OnWUkKc-kBUH08l` zS0LSli%>d;fvBELbtWL~eU=ao1J$AXS%B4aSZO1LF`>=@QpH~CyRjx63@#(#J7Kuv zy@ylx>@>g!dwj(GY)7MdoUQ&msCJ&HIaOoW;(N_dmM$Vke>VAW zV}F0E_Vj(uv+liSx45Rhi?bPB#BkhkZU;(+r_4HR?TN>{Ld=J=8F^R#(Or+kS5k zCjhyA8pr_vu59r+2;9qAYrW{P>E{5jfsWcpaR_Xz5a0x`iGsa20A!R$RZb?o>RLEHI1ka>CPlrq#4c4SVT21*@D+D?vd52HUS>gQG0kB z@O%=2Xc?sqDu8k>Z8xHh^e5;@y;t^DdSzb?+EVq({_IDmbf#SU>5T(=`_DLb`x$PZ z6@*)#n}gzVkn?3!wLB*nw}1bh&wlYKeL=6|kf7TDxG`zb1C*cs5hT|Oq#af-y;Ng| z1>8Qf%Eib{CG<8Q(<2#<8)C1x(o}R_RT}D3r$dHUNPEo#Z$}cRR}uIjcIz8bqk6sG z%zi=26{udNW3FU9mXRWZf_1wR6~$}0Hpd|)lEmt+k=7K2>N`xHcil(SyObbc_t2soZwLjfGOQ;Pc2fzqFnc0I~1*P!AKDw`mg@^n1Pyz$bSW~E$*swL_7 z^rr&_*CuT;$~@rOSOQAzi=s6HZFip_Q>8)`2{fu+6W5=jQ!P)Bh~7pvEa-No%!`Xx z)TCk)qXwfrMWZ^Ks?QO+8x3k1brZ4NgK-VTI7e}cE_EIm(U-O;*lix&p}JM97}z9cj-q~oMwN=Ks=U*vS?wjwYNld!)hbHW4s@%K zMv=N&>Qr|RwYFB%8&zr!W$Kw#aT=jfm3t^=Bsx|7Vj68w{ZXW%RNY9~O&$+?6V+n7 zOs);2;U=o8>?W!_q0pvo$%vsw)h~!`Q`m2(gA$bt+cP?3*ajWfr=pB?5~o+y$a9nr ziU+g6;M8kJ_6t%wb4vyofF8oLN>^@u>2`?#RxQ5=#3KgFDkAlK0avoLk5cO)T?rR<={8iYN zkQ=WHx$%a)N#Q{Xdl+#$>h7YB!tIzw-LVR(oDBCk@k?^p!(d3A!&_9g6yYUmxbCor z$;nlem%>5R2!3D>6BDk?5d>Uhu3{-wWN_?Za@1uMA$wV9W7P2OOA%h8u67c5jB=Xp zFAC35<)z3yMz!!oc4txDaRt$76!tK38YOAT^*K7~dVDF-^Ei!?&nT@M?zRJ$QSuw5 z`_gwCM^Y0g$GE;h1?5UAekC(cQcdzCHHjS9!^l5T$&nQHFlrUPqoycgIQB3UhrrYd zfoVCLMnUXhV!Nj2@ERpbxQ`-j20e_&sF@tVV-L@k|0wRThsnu{6q%dk8fq>-aIY5= zqW>uDVdPN?zfsu3sA~9%qRteGb(DG-?@>#l zZ>Eer?xmLc6TC|;;|KOI>Zs-FVeDZbh;OK@hut1V2`iM~v#A+3Q|%@nQ=GVI@0~fj zGuI=Fcd-(eO(SyEUnqI)`0wLg#IO|*Y1rnb26^vm#Z7Jh9YBs+0XgdRPMHd6hUI7m z%i%FEa!Skv#pgJQNEau45oLmBlXISWfD-jWLwL#uNOAj^a-@utNpWu;f>Ah~Q|uJ& zoj*h$d`M%(6Wv)80TdV!AC^<5E(~LwA{H?UJ3w$f&)3wx^u4OgHb#;4Jnf^f_!uA# zf?aq!bHF>QGIWQ|AfD&rd`3LpK&)ymSo;u8;=#;9xoW3T?h|&J0$%jU%Jm@Slh(sN ziEuqj`4lOiCh*0lzeod|c1!!xlPX?5JV}0+}PM`$45Db`@8^bH?^sz;IN0;1C>X`;WjUtN9bAASq* zP1SaP8~;De$JT7%beoS?%}d}PSz&GNHHKKKUL27>GqVd_-SkDAO4J%lq~Sb^Vt%uR%p4G zps$7UdeO!3JHv(T+fp6d3`tkl9s!VpnkY{tIpiKb%ifM`b&|0J+^qg z1ekCiL5+aK@buO%e3{(6iBi(LONMwcZxhyde zgZ6A%dUoa8_;m&(e&Fn!4ym8wp#A#Eb#n{V-z^PVeLj838^njM5c3o?3!AK9NDv$O z!wI{AKfbjs=o_urjj1I@)IG(d@(*8EsEZ3_9dE|7VHm38$Oqb+vhUttO)&f51#w9{ z<@BmqlP?`o#j@CxEsKM-EZV6TFd`f5!~IS`E?QGYmPk(Ry|O{rk3m?S4MH4L$vqV- z&#zhj3ik0hlc)zeO{(i|s``dNfzvFwn=0P)CwP0zy&jb4(Y?ecDd7$Wy&puwQHvH7 z8qwVj_GLko%R!dIuFwjpRt*GacY6CRdcQyxPnXXs%Thl_Nk=a7;_9*_w+rnNKF^cC z#02y&`&NuXyZG+5*%!++ztld@Y4)-&SuZ}ok%AkE8UxcAyOC&123~A`;7e{Fir*?b z^Av_h9B_=!f&%M+PSqON2Jd!jv-ZB>Z)wk0?Qh*y6yAN*HNRn47CfSkmH;o&H{%rt zW^;DeKYJDjruRb*1JWvBj9=4`?3F$Lx_@mvwoa^pG^3Dh%)pEd_xm{hCOp5XuQE^4 z@OM>b)f>v6teW-*x?_K1wwz`QGgGsrkEUdQ`TOj?#M6N2 z_OpMsdnD2pRVrF)#l9@*)!9CxOWrh%RA$8S7a_ z-yG)3`-$I`R`ajNMY}(n#kilyX+P1XVr?w#O?v--+xi-4at7X8nt#-AnevvJky8Ctm`Y*i1jJ)?vbHhK$3pPF^-+G=A{ z-RCEP)7rNVjeAG@#kK!wHs{X%XtrwopZ#l}|DaV>*VN|ng(NMWR9F9j51!m`%7;#E z{O})rr0I`8`myFe`S_o57Vw^T*P`{|3-s_8vbWuacRF>j`=?`K)N3itYTrWitOmY6 zz3i_BgtCviF1|l_7xfX)GyFA_{u)TqC!GOi;cSt=!nFTN2VbF_wZ-1;9oiW|?rpS# ziJr5sYTMqf6}peKG5!JS%04_Te0YeNH8}VerxlzsUz`rG$vOL4d@n8GY`)FEhfglK z{A|kr5B1?2oRh&i*f+Z>^O#;}4c}_NXKr4l)vNR)@C&U(VS-oms{CPIv!ItsTUCVfY~r zet2dT-#?8nhdwliAG5_dp9kl6fPDBDU=KCmn15_I8;v}El4ZxysQm;U3^|;QS_j?2 z&q4eI^w5&!>1R&_xIQl2}{6>2f!gt!=(v%+jKH7aNK!U(}-(J zz=;0fA=+OaBaWjT2QiveHgW{aq(6bJSsJyI2)$Mz)QP+WqSX2!JqTF@2WnH(}O~)6LUV2$XkP*qH4tZFDDt%dG zzTDvu%PJ&*MFSO#uxR#)+^uxuasRhrrGLrqh^6loG#XGuoRj?plIBu^egrj z1eba3ckyypSNjKQO*Oa()3S;j#eZt$*1lm6>LN{4cF^tJvS|gU@B|r z1_^;SM%Q@*fJo5P`>L@y2QGl;Cjq6)tLhfL%`LoydNy0U$ezHbnT6XTTEgRRVJ`#^ z|915TMh&$GWOoj3ny|>K!h<~SO^O!T9S&dsF|k9S2}~}%87*bN1h$r*(h8_S!0AUI zvP(o1cq4>5l7h?q10{BJ>G5}a@f=Q=4c9Swf-xT0;2l` zrvN|EFMy;*tbIbTEie>uRp~DvMK&J~MleNrP+^O%`S^UbJtr`Q236^s2YliMhHfLk z>h>Y4YlWydBt!*rZgunF3i+3++uyuIWAonyJHRVmmTD%FbqvCb6#EWnV>dm(z!h*QT$_;Shcz1ktTgg1VhhP<4@4&gr zM?{-&74LhqfK@Ph|2teoTM1WD53Yih=d$QKuS=+k-@{oGcdPuV8c{?2t`N)uCwdpk zG9BqRkK+gHsx0tUGf)eNj?&XI$U-P<2U!EdxJFRx`0={VRYGloS#Sw;-7E>f7!@AF zoxWjXbtAxa{EFdDZ#f-5F5<0uuid5;*lR0euLpp=rVjyJgTR=G5+CTrq?+=Sy0M1- zzp;iX^@%v8CQCsLGQ#23pw7hkCOF3_HC5E6)d*EF4b|+;dVDjFdy}Fm1?ZYj9C(cB zB|L_PddrEB3{o6yJtu=^%oUNjYHF7E7IpGGA+G^qpgYuK*{!!!_A(%?6^5$^kPNzK zQFNu(??gZbrX_0LVw&sU?pDDveByz)5E!F}aMxV&s+aAd+l0(m&Z9;FuNgoq9CW>c zj$0{OD@(N6N`~w8;4ygD04=~}tRf%ai@Qp>T7||C3cEaj?or!T3zY#7<3a$~JYG{8 zK&@c0Sq|5^&H6eX1I1tkN5ZtO=UpFg#a>myphLlnBNvQWpIpUS*Zgq)6>m# z;1&Tfz+sRE()vEPQ{Pq^egHDOO8`}H$$6d+KOh-7+~sA%Pp}Md80F!IrTXm*KfoCP zHFkRERaSI>8Vv$!I7DMWz*-$lSah7%C2RFvmErf8`t&gkztiII!)E>B6K&RWZn7SS z-yTr|k+G-jK@V#bD$tu04ZpoU{Pxw@UO_LgM)B6UA3c6P4b0$xr?d)#;V=xxU=UbF zP0fbiLA|2qq9;AKSH~Vjjjs$p5Ew7`_&KEE2N2_sfEfJ*zrZ9V!Y=@$sd+C~2E!4r z9moquSzwXkb!jUZtII_mKnaIpq}dC9Lv?x6Q5A189za_7%K~R13-ulmTyd1zA#V3a zpey7ruTk&{#%~E<(FMMO%Dh{uOq(p!-y>ta4AgUB2q9*$M?rHqR2Yl$i~(nXnh@=7 zF00TbwNwZ&#U+ANTqq-TZ0&d)7eJ5}!;#xI3uuuO&;o5C>f9@2oG#n+8rh~_9?jF^ z0yvUf`Wk|%;2Mcc%SRw63-pBCX#oUaf$L>%;sSVWZTkvF;C1du?>f>;(|5EC*VX(n zwe3SvdCeOm$9X{2YJCrPy_!}TtmA4Ktm9?E4%}h@mg~Gf&=Y_#ZlH|AF3M}=Bq#v3 z=(bkkFz@2B!@Ld<7*ui!m5GD(CQ+LzV|JTLCrs00;VpWTqQQDIVT$nh;lA>w!w%d9 z9nm76dHkG-(j1rtDXl_WaLt0q91#)VA`aHMdLMu+Kv&$t<9T{4Q}yy-Z58&y`*(pm z&JzZsPnNJSi^$aj=mlL2=3n~Z&k$wjUAs6l#d&4O0&x2HmK@$;$Lv%_9hcAtYN_CaaCDD5v% z>ItX<0#AF7WE2i4!+}zUHo+{O@qusxzM>z2xuE-ejLOvou!3SQREhzsION5ESiH!O z1`rnX2B3<=!d3JGRYCb9f>sb}t1E+5#D%FXfU9`bOFOVaV+|aIk4qpGZ}6m#f^m`d zCfF!o6*)Uf6Y8@p#}tyw*H6XclGqYh1(}Ys27s%mF5@a#HU+6DbA3g467pLUS{-iBT7m5P>gr=m* zGz(6_-<}zm0$9Z$AQYw;Tyg1bR%|Y(4mg5qHhm7NLbwX8zD^?pSG0u)uIM9hh2tv( zt{`3)pb8es_)!IEv5-=Ih|oo&7pXb*e_EQWx9Y6x=n60v<;9hFU3V~pfmZ;vSVDT~ z3l;GdjYRKiA0luCC=1XPT|g`R72jU!te%AKg4+s!7chgzN;P36q?&78j@sK{7V3~Y zHCPDO1=?a2ZB-aAyGt3tV33Ge1DnvCzB%{g^vzkVh+VcCrfZaS4O!#NSj$REOM8TM zeu4+I#s)OkFRT}b4T{o5xGtc;s@cX;P1$)WY?q4NhrP4+?`D9d}C-4|n&irT&kH;rZa6BiWPuMLwd)QsFI?_W=D&3x>C;Aw9ca!uK zd&`_Xnmd!(pn4GyTaDV6vwgX+Up=t5#JM>@z|6QtRh(_8jju4zK6gU_!q!yugsig+n=eA!mok_M(`)SYpx^4(IH!SL7wlv6pl9 z62=bXJCd^_m0Yh7*p*z(;Z?6w@9>)cZ4R&Jj3n+}FU_$x{7GAQGiO|HXvoAlcGREr z499RC$J)spdy5o%i!8pqX%5FdNAK`9?vQeJoDO?OIo=_M&$0UOuB!j8D#idVe>309 z*?UxvHB`MhByaDtbmseop?SJ!Sl))_ZCIYr*m(+HBFIlRCN9m}rFj**EKjlFdAlrc z!}F?e?8VEKJ|b_I=WPV(eX?R#7{viRoUQ2V_08ZV%;-bqpDn!rx_pDJiM08u3anErFnRrZ-1M^Xf-bUwbOddOFWgM%F zMvl>>T%Wh=^O}d_@|uU^^ENJT<6$~MStpP+&chq>c7wNeqFOa6Zxi!2iB7sv946=O z#=K3Y*c8=lN~xx8;ikOZ=84k$yv@tod?+o*+kz6M`mit(Sd_O# zPTHuNwEjW66fKA zo}+izkvFaf>9C#3v6CEe9zLY%KctE=fXnmn;k-Re^?HOy)SHjy?UB4a$`IM5E_y6) zyYluJZF*dVAFs6PiM&1G#dfRMp1keO+a7rJD9yts^X;pcaZly#$-F(qlhTaao437` zYz+Ind-vyUU*7h^;%TvXS}ZCjvjcffX3ym9K;E9=B|fW49n9Oac{@mn=koR(`CU5O zGd!>I&u8;fv%Y6|A47Ub=YU; z5ucr}53wfx}lx~H^;H}b~yIz-+SkvAa{Pi9B+98!+u?P%VP z@%Sx0ev8NDlUZ9hp10$4NPT!)!|0v7y`8srVE3-t^KPljTf=+K4B;kgCHb4fkb>JV z4K3J^f(ws0+b){+`>MYo3ig8FUv=_tJf{iKI*un+jdKDX2u|oQu$xKG)i-q$u}&|vTbNO>=>?ln7!YQP`>cY^ zEZ8jSJ-cADX>1&vbJX}bpbhG?Dcv*7EigE5DcIbC-BRGpu3nu7k0>^nFKP=4HossC zc)U=L7xK6_Df)CQ;^pICqF{>(b}Q^|^H#Nl#RcQ%;=dqiATUoF>3Kxbuo$IQC-C3|zaJ?(?xLcI& zDcIcwyN7J63++P)QoN>Ms|&Vo!4DRU zO9}FZv4d>3L%qSxPTlNO+p{tCP@(;9mam5k_E5ndCcU(LJyNho7;FvUQN7VeBYvb; z*yT+7hsO%WwTlw|4L>719v?hWFs{dW;CQ~?VRwA6r(j&WdEoQ2XLvF`c&cDrPl~xJ z)f)EtgSN1*U|f57;7fZ;*dHG}T`;cwJZM9{ae!1iz|GgQS^P}FN>@|^J{!v&EEw0b zWQ{%bT*0`M5U0ZP*;II;V9yuq1=6$r=o1bVz#G0;utNoVv4A12hV4rQJ6y1rct<#)G`KS8( z&C>GG5{?$ylW?qHM+zalOSLd|S1=?Q(D8=#JI*ljn3o0{0PWKg(Sk8c*IY+O%QPtHhedSWx+GBYu*8A*2t5Gfzb zIg%%ii&;tg8eY!q#AYQn8(KLqv)SC8lh~Z3VaKo`L*k)fZqmMyytgDaH?dokR~h?+ zc?pAYeq!?yo1gRz3slR6i7iNMA=Ox^9oCSdCa*Y2y+- zUYgjF#Fo;=WqQ0!ZDjIchmuuodD4C_HMu>p<%!+ywJsqzRwV7uU#qY3%EVSAwvvbO zt9(b|U*$U!yCbnXRmiEehE-yDS7NIYyNep#EtYrlJigz1^muh*_awHO8m-aeH9T&q z&m^=hVQs>cSeMw^#MaT`d&%Jnro`4Kb}uA1sLX~6$&D(oDY1=-ZKA+^UZ5pxPK@h5 zm~2sjEn-sH#BELZPHszVYhv4&DBIP|_b0YJvHPL%Kw=M6Cdz~A^anLjn!J%c!wyZ9 zorY$v1iAu)Ie263W1ENYJ=_Hbg4@c2 z@arEAC+!P|Yka(v*x|%pf`1$zFK6T9NMbK1c7*g?e8H{Zm5kl1iM^88t5AK-tJM}> zPmJp|GWX%@_l8>Z1~>W?zNwoxxrxi*(WHGXWA<2LM-w|H^4aWpOS9*AVs9mOoZ0iX zs{c-6ZzuK+jNVoC-&OVN|ERQLc2v>{3)!isuqYT$zb;8#`J<%&%>oj|Z>-;YQ zfYe5(XN57!I7a3vWZ>E8^c{&*Ri-(N^}Id9^{H`Gs2|QxF$m5M&-DX9RAsE4wF4cuP`MwuF252NjYvJN3X0NQ#}WJ z-PES}E4Vo|uBi~4t|XgI-ahpoif?L0>RaNOsm(}jCXaIUr*!)!&Pv-q7-pw7E4A6_ zfG|g0J2$mCsm-NpZ%OSIIyP>J=c#+EN*3Q(D9Asc|ib$O;iz z0gS?t4DLbWgsjW?IU5Zv;r0=b8Ua!X+Qd^(e20DME9&Z%qtn?;vy)U&* zsoe+H&FYISsclYe3rx30rrT2E+DfsXWW~0N>iwy0Pwjq~J|LRQ+ooY zyG3<(h3OtWeloQ^sXYnPr}X%#64SP@H?_Tt#Ph?xw0%lV*q_?I)b=w`pH`a>r1o@b z2dK?6j2}kOGn!y@a9embwPz{#lW;I?|9E&VwS%cWN4e)!?uFEzPwfTD9ZKzxMxl@B z{^7;6{Yqa~52yBGYKN&vTvuO8{k!{eYA>bsGU*!Y8LK10iNBKCk~%a!fUSE45>(y+uurr*>R5 zt$a$~PT48FliJ&PnJmlf^OqFu)0;d(rr$Gu6>{JOlT`8A?wmlthB5x)s!(4OEnww-raUjQ1x#p+JvIr!1IYpw~5g1Y~MTl zGCrJ>l;K9ta3htST(n6=n@rXzMVnHTGoqVlp+XH6?WUqlh50lUxw&Z5igq(arWXyi z(`Uk%w0uW zRkXXP!rdxzPtoo!+C3CmT{PIPrpOwZ+^#L!nxd^$_muWXZDCzeHmCO%ZC%msCFlBB z&kaT6T2Fm`kV$L zw!vU~EPj8n{YX`KplJ6O?E%ssjOjay?YlVo7i~w;c9Q;3On(?U`S3{59xmD=q(7=A z?a~{0tZ2K623>wYg#wQj8y?n4BRo!Fdz{Mn^iIPQnto64mV9;UA9fep_gtd=+n%EB zF4`V)#&zb&qOUVg746BQJwv%lEBfpzBTqU|r*(<;zy zojFjn1OC>ZiLH6IXwQ;xemEEto-5jOB>W^iUo_I5r-d&RjqEQl(hljpzF4$FMSGFg ze7I@{D&9fm!honK>Am;fLwfHaq>xT}?;*W+(hGS%Yn^lN zB;TLU`~IHi_untic{2Cxz1l8k?X}k~i$-V~QY+M(f<5e-X;QOL&V0j|451cVgrs>$ zT7=MhTtqJ|LpinBN=dd3Nvn{wCcBMhw;{U@DXJFRhEy%K3rX9Mw1a1R08}k@2njzs zgeqJ|ODS=kLc-G#BAt~;XNdS}u}cWG*fk_wLeiD&ZkpYVY+o%t6u8HAhYh-^M@YJd zqz8O@hIH3bNP32(SE$VORx$g8q<2XAklUAHQqaCycCYgKnVkJY(k~?aff(RRH83PR z142yOmF*x;Dy{CphA|{0gF`X|jG=~6?1qJeXK1M04OfieDyRmFyT^?%h`R3GkSgnu zA$d0>BPq}*KYesaMu+TH1C@4cNXCR@EcxR!UB*G^71GCB`gm$?LP$WJ0K~+Q@Qetl zM$w^LxlQt_WO7I*g=8`UPSGlv8j>j?nHnPQnlhOll4&8CPVNk^N@i%4Wczcmn~7*z z*jZNC*&&$~lG#Ad3DG;>3(1_2ya)feApvr3sGfUYsm=?@`yrVJ-29NthoW!PF3{e! zKzmnq{<=_m*9Re47?Ka5vq)=f5e4-J-Nj06Nk|rlWC__zHG3)9bx6_Pwamm?9+G7t zSq{4uR+CJ*L&DDwsiT#aQsP#Hgl8p0Rx6R!5b=B08tq+cL$W3$Ysp@x+3U#mdzY4e zy|LL4lJz0k0Go|I(M=)Y*+}QutXP{pqKdJ_Ft&zdOGvhYvCS}w-S&|1Y@>7RP>dbQ z$5YQcL$cEvf0tI$E-FdW%iQizX@?f78TW)_cS!bt;cLc^LZ%t_hUBA=>?J)v!U7&h zb=^MeVf#a}FC_aZ)B$5(*BuPWL1S`AEB0_m4u#|}!W_}pqaisGlA~1Gv5ZGw6&UqRY^4sOOvoP4YRHu zM)>AoX+~h7Fwqji0%VJDJ=apNK4=w|mSJfHTWwbR@fzW_KdH4k_BZJDXTt!qPb`U0~PMTDRDBV{1}a zx`iuTcT3^qP*`}nL!_q?=?M|PCVPeH-MzUfD=fXq?xWd#$iA(2_cb>C!qPV^{b1AI zCpsW3JpIFOx`B!{&?Bn#HOMdqhhH^kXsWZ3qj`dMbRQVr*1CwDcx@*~E+A(wjlA;3zBODLcH6l8G%VYYal3+V z2i$M!9oiZ@!?GhRI}v7=X7BQZ(c0Lp*?YpWJ1l$P{E=pVq@1%Zw7p^38`c4IA6e>0 z+8-8v?uXR@OF;vM}i4tulXu$&Id8Pe4OpY4v--C6A}=fZL}EazZ&UQ2Qw zsOqHn`Xu5$_9eU!R&(KEST2O+BG8xo^vhwnY^A-TQeF+qm9ShT|C*-DHOQ&CaNW|c z(}iw?1=Jfr+zboP$6uvB9EcL|R0oCD5%Dx>fF&ckM0!K-CD+GK=o`@) zQ@@DxjYvNL`}^qwB06Il7?A-H8A$pdKYcKStGXc(861%zqz~1q92OBCct8~bzz&W0 zlcnL{$#4YoCrcx=_C{!3tDt4>-AL&|n=Flt$h#3438Y_rqrB=H9g$HH8BKa+^^J+h z7^{`BzEtBP!ZQ}2Mqc^HM{rqBh{*VeOd$1nFLk2T%A|-)jL0N}pX{SgiO3YIm8n{q zX%U$kk!cZ*UPc6v=|Il#A!kNpCXg??S$@K7tG_uBnH`Zi0KVs^&yAGss^Z>{$lQp$ zPx?GReZJM-f{4tI$O6(AMz9V(hzJinpb7zC7iQ~k5qPqQBKY;USnF?bW&JIQly+*a z-EV0`mPBMJkbeCw^XhMTM3zNlIq8-4w<2Q8WFJOkMMOT-EUlj>+)AyrRS{VkkyU&q ztF<=PL}YbD*3j|SD(kiOnIyAXYF(ssITO_N5m^_J^-9S;AQp3!)W(Qxh{(psvu=}; z+8mKh5!no>ElO%jwiLD8)`&(V*%pzl5!nX#b_L%Nk?j%L0r<{{?92k!cDt-9u_hzJ zvkRt{P|NM{Gd_w4&mJ-oTCO^7ub;6mB0PJ^u-^Bu+wW%_hzQSqm0vMR+(FA=uX{vz z4w6wvGm70|KjTP5cn*_MS2KtMY#HK?MTDQnB8e^8WyvykJR-;GH4%3LAUOe2Z4c>W zL{5^yR(Q=gMMfG%e1fjEtn4^Z*ENnxV{X)F=$a5(PwTj; z{pDz8RGN|ToNFG1ZHuVzG>=xemipQ%DlMbZDq8MZM+J=5QQVPHzL~aBX%m&Uz_p7C zB-=$XN~6*~s_ujikd_XF?ikix~6MAS;k0>cgzmNBfQV+eN(laW(;NDxA_J*l%DD_d2eWTJRDt*cB zr`i3;u0x6%O8rf!0a586l>zV^=nFL{D*PNo$p%|Wi5n6Xp1}|qszioD#2S|gdK5!x zcvOZ(WjNU*GO@<=#t0_^L9F-}Mm`aAW z_%#03tdexojpdA}OpnS8@@HCl!p*Yu*-@DlmD!}vi3(YBDA;>imvf`S^BxuRzP`?j z%KK57N7tAi6-dtqV}Z|Mp;7uEDhs3X0qKjPLe`=vt1(eQoW;;wqTOg|RF*_#DKwWw zg#s)iV|i4TTQ^z(HCaJvts5oXhemZ}R6dN#N~o?fZg;!YmcAw`tD~}p^tDkTYb~VK z0ikMReN_0lo{qLbMc){e4N=($=q7EAO?Py(&6>1XJ6g)`Xj`y7sBDGkHWh0d zV)-3yyOP`ymF-d4LH16~-br>HQnaJ(GVyjtWmi;o!*h=>)JIX_=SP%%ucef@eNo}r z3z7XwWIsgwj&?vh+QFzCh{{2-4{7!xvU43R=?)v4BT+dVl_Rh@>JvQ{6`rHi{c*)Q z?h(~~aKbQ7M&(3QPJ(gDFpAyjsPLSkWzQ(a8Rg^koU?{;E-GiEat@61hQX1_sC-Nx zT>hxL5EY*D$aqoHirpts;kk*3w-n=6R>ZqqHjfEU z(-^aHO_LTe718r_wFH}Qr&UZ^#-tVKt$p-1G2v+q=o8*|+t&EBi%Hv@-Zqhc~LCZm+3KX#3d$!Hp=fg7XZjZyKkN{$;p zd~)MrGR}a;$Aq-;F_vs%e0~#SG9e}tVLT}&lfd=egp-xlWLhORYE04UoEnoUF_}si zm)W;%!b_@6Rg<17ZZNI7prh{ zErkm`V!|^QBJ-5UJc#%o^ZXbe^MaVnkI4eE7i#uGvi*-)RrLo(gr%IAEVA-0R=JkM zgl92Kmg?)Wm@JLSvRJuW9uqK@BhLyS@xz#W2qH#hOn6qnXO$+&Dj3m)wF|9|$!a6M z#*j+f+L-XHiLrjIGOf#s%n_lOtT)gN23qVk#)M}Byf-Q6CKcbKx;ZAB4Rniv)^%HB zvXunBylpYz*@7(FHBGjIWy(RN*%6Z+fIZ=M`gpry!m|^YReYTavO8A#A$@00Om@d) z4;iPtVSzMaNrCFRCt2Mhh*|~A2$hC;8!fhFs7IA4AXM!GA1EzIcTE(R` z?``6gt4%y>!n9QqZ6R@+3DYhv?c&;W?a5RVrUNul!yV(&Aub&u(uoZHE;{p9hpsNh zv};_t#HB0w-7G!fx?6gWxO9(857K+ag{+>4-YZUR^^OZquQ;)x^tEqX`oyJgyxjGR z3#9vj(ckAVz$guj%Ye8HBz;g^$Ql%X(+!Rb;tYo7kT@M>Xk3QGWhgX<#f1V4BV%}6 zhR3y|jDVVqptROelI~rjIx;Tr#$_Z_M;W)f-Dpc66PM9(8AJNmxR5m#QsaP76J~r| z_&GlQw40!!PmIfixJ(3elGg8}`0ZV3vL;QY%Ki1thuxI8YQ4BjiOW=oPE)a_Ay!uF zDajdenI4xJWY5&>nPj8&;->XXyxDP?6_?rYoZ}1iUR?P39%Y|vDQLa8@XUqCJS8#@ zB3Z4cU1>pF=Er3L*$Xv$A=$aElyn~$n?-T?ATEnwv)CuPBrZIQsr#jhwbUc3{a~44 zERV~wxGV=_g<-I26BnKpwCqa7SgCxxp0mm@R>x&kTvmgz#xUx-wQ*TXA4E&7iwn;h zWL&RlvL57|3A4e_H^yZ{TsDHf$4%o#U|f7wuSO?nu0JyN&)w<8mY}MS1r`X7(W zvA7&3JwKw32VFBc0TW%riOY$&oP_ErU&hmM;W-6xnJ3N}6X$GP&cx*`fal`a3FqT- zE-vSJ{n*F55Eq`0!Sn5ei}BKx==w`>xfqvA%G|dTF306Ewa~y_(Slsjf>hcGSABBV z;&RP^uE&M6>+yQ-hW7EBak&wfn=t+)E}www+X=Un)-C;FvdXt{f-j~?LK-KeNrGeM z_%fs^HzNCAOf$WWvUx(9C8RmoEi}6Y*>y2ReX=?u!IaV(BTGJ z*NsTX2om@L-%SY5aAX;&X)+S5oSiT#QM!tbF*+fm5;B?`uVd75V;E6nOoBG_++*U# z8s%DUTtfIc4k5;?5aU6zWrDhHLP93Mv&>C2(CThdLijl;QQuA0s+*FK$qAW4g-wMz z^rt5L52vo1mXK+NJKe{fkq~~)fXz&0Gc(Jkx|?MXb=~ZQ%m$^Fo0AaI=D_AXWivM+ z?Uvz5kOc`@2si(`{UBlA?V^Ny zkdQ@MLlM79xTM3EWJyAnK=)y{G$EudMUrJI$?}9OOUQC0S>Y9UMV4b-_hCXlG@O-w zfmbDjXC(z*tp#44EpT18CLwD8t?kzO{MIF89SJ3Fy^p&gA^h9`?#6@wwUO4|q*OL( zK`M_;CSa6V!`eY9!q z2|0s=XH~+pSqW>ob4uadZ4}P?6h2M}&w1pypdc3jspavwXb^SXrG#8EDK003=OUn2 zG)b-i`-FGix|+MH{I4bCYC^72l1&n{1lQoepl6lxBp2c)~SLQrzZbcoo+oX)f=U zNokRkmSE+FBL&vVwOlI&Z3So~w^!cnp;B8@ z+9Z7$Yq<_8W5=X)NJ>ZGIw@Qy;A(kNboQj^l9bL#>7r6ZKIOCQnv|{ss9G0wb z!!3nPmPz3m4v}}2$h#2n$E1--#-ve68JUz(WRKSD(PZbwB=oQmLHj0!XH2r(jZ>&` zK#4LGH{Kx1+=Qe|psI@8#H8?yhu|bll1ac~F)Qq3gRSePBxMS);-)5rXELzUG)bmq z>DG1AlQP|^enzr1-_1v3OOqwzRCw!ofL3*Tb=X|7_Ldm8YRw>e$uTqFwSKr zg=a1GW20S}Tb~pjO{nF6F&hAt4V5*xF)16Z1~+L9ZcfUkq->@Jw`dJ+sjQf-N!e<3 zw#}=vZP~06w>>G_lWs@0oF#5&lJldxlCm=?yOM9Z-PQ~DBxQF}_CWe0leWa|)tZt$+>gKp}}ORD00nG(oB;pE#>AZG*OF`G*3y36x)$f6r@#3TBf8Gp)y*hq&4uqCTgQ( z+oW=q)x)lB3Qg25C2dpEj+h|rQ;6C=mD5BWlv>A>bVx}@vO8&ZC$ia&lu}L9Ii;GY zOG-MYqzml20-&0xTT1xZErsD~DQrhd2~T&3^i(1}A>wPIUMU*8cS?Gtq&L}pG`kPk zIZebRNh#@T_0lgzZ|y8&9B0oiIQaRZGR)@w=z0WWT_7H>#O2B%~Q@IzAq z$j}rQdT7Chr({@4hLbTOB_pzASWHiq_P6#PnUZ%?G7@3@_8yh8_8y&*Q7IWsx(*jK z@fa0)jFyR)vHCJrOW-%_xK!yn+IxIT#-(JuV(IRT2?{oWw*sQ|5!QO5zE8CGs^QYN z-6VaV#Crqw@P!HPFj*5OTS8tqyGy*bn?kahEK^g$Gll$!Ce(7%{EX=-;h9E;jqi2b z3_oLLN_b|FVfvJtll+X?DdCw#hQE$G$1=EhE+ss3$ne*3=lU7%r-WxN8FiI;T{kZ! z^JoHYp`(pRoKLUQ9B~VLCJR%t5Qv2PASI-IK&vd$R#}{qMJZWKt1L;$l5FR#>z1Zu zDe(Djnb!!*Q?e{2%jxqg6z#*5tVqd+psh^F%1X3VDOqJ`t5bG5c}+@Ir(_LiYZYx> zO4g=i9cb%QvfdZ+3AaHz+QyV@NXbS7+oYhIQ?e-~n*rUDk}b-?+PBPY^-HuZCEH*X zaoa6H+zvluXG(TjQFo<;v|Xukw>u@E0k}Jr*l7FV_h@I{lkJ6g2~wpS=rwy&@=;3m zYFp4L_CZnh@zMZ)qtAYSO7>d`4;Z@|?qEuI4#4G*f*%6BhSx_9r{u5+a>PKz9Zd<( z5kQYA=rKS=L2J0<22titq~ruB1@2@@c#iXlp3)>a1#E%Wq^Et@GbuR(Y>_*g5}wn* zp3@{b2dr-goHtmMa7sP~R@{Y@@SF$sq9)13tPGg7DY*np#9h|rxRR2~DY-)ZU)8F* znyo5v*HUsV`&QRoPsw$Y;)d7tZd7L7Ovz2Ms=H5oiEpLkmT_oY=oO_&AzyIQLg8sr zSniq?3OUURahdu6EeZu>-dYs;20_b0X<6u673K_r)`il#P`R`*oHEz8P}-6ZaqWB} z?UhT1Lg8r-myU%(PDi+O@&P&*3dp>5F7z#fE``!Xxv37Q7Ap&%|erp)2mQ=k$}!EREJU@6{T;X^eGhn?_KzL*RN23?T0k|eUt%( zG60l(H?Ytas|FRyz(N^R_@o*C{q-i{hx(yDk5^wTt%F&RA&^*)Iym7)tQAdtx%>H z%1lI@RVc_d3lV3Vh-Ge0q43P6E^VZ$;ogJ4XIc6(h?`p|a|uP|X@V!*`-Sw=d4=+R zq0B>$`O0rWq0BFo1@K!~C<}AI1@41F`2a$t|8k4qD2rg^O@IpAVog{~LIeB88@MHf zrR&(7q{&MWaao}(E3DC&e^q2jVLbe|K=_^e?bY2G9#BKNL^LK?#O0TEZl$NX^hO;n z)M@CY>QyqIlDmY%#m{*u1*M&PDcq-ps4jjyyNC;M?$Lt8u?s97?(peAvp|+(Ua2^O zy9t+_5iiDOjRl04pFbXkY8Ax1QQLDLxF!L>TNskZ_W%Nxe-a;@{xV!mzk0j-8xkutjRBhub zUQK<*!ytf+hLfr7y?s_btJBL|w81A`b@0C+)#VErcQ5_#UaT)tzKHl=Sf$h$nun5w1leGwN!C02*Fy)-HY-Yc`@yN=Vkm}e*Xja5^P_B?XTr`^7|ay zg!_ZSMBE?ckMf6HRsTu;q;>hSm*>ZB$yRj%5nK$XT*|c$UXfQMopyhba`{V+f(31P z*!|6ed{tgmdKvkfWS(@dQRA=6Yw~)=RUlPGu2^qS0zYoc!+xt;+?HDIEsxGW;Dsi3poobm7-_W1w#>2BX?h1Yp!Ri-%h5h`p%esKvUfjfP4QCN7a|mQzZ8Xx6*s zZpE#Pj;cD%BC8eXRG?jk>tF6qAFO}5A($XD z*n*D)d+T3Dm+k?0`y+@3!odZ}(e2KJ*kjem#*wG*s5z}SPz@wbQzsyU>ycV>YI+w+ zTnaU)9`%(*qgSD7(C2!X*u(h@K&Wx4mZp9R z_CxN~b6)`aUipIDo1t>P=u0v@KotQ7xFi2QadKaUyPs;iKdstak3fA%zNCp?M&hr) z<|}DO;4k@dn!sNVXg(3Y9_CEsfQ@_v_x6LXmuc-VnAJ>5%vnC{$o|11HA!18$4F!7qs5f z{CxWHz%P|V|9~^)Ud26&nPt(q(rET)YF>Gx<29gO6?nr`HT}2%BN;ir;`LXL1Y74Cp>@DL?-z|Q zUGnRC?l*w_77hQ~jOu&8Apm=khWH)mze_t*zIzFr z`3(WU>ma{w4FO06FBOjjEBN^aKi|+#=e7^_O}gLTSkIv_l)0_7T*i>qkRLB@skS5-Cb{GeQA8k8&GIs~MBKstcmk+Mif4V6PD?xd)l zK&46ZtP>(+XGQ1|kj@&GE3MJFxOoN`Pl0GjxEoA)bob+PJ*82(xN*^s%EcP2^5|vZ zcz_Z1sK1JWlzc&;C6TrMtFxGgT13;>u;MhqEcKhP7Ageq>3CJYKZ z9teVC>UOXRcUuz;Q57*XAVUH&G*HhCQ|c(_VH%hV-X= zUK=33maL`J>$GRA%k~UttT*o614Px*T7djUrMf9V$Sv6f)y*1YOEyDwOMp;XT9;cb ztd?dHR*Q>d$Rm!{cFWtL0kuH1m|CRn)C#h1YM15gLWteUVNXDI2V@UKKC(z&AAzzr zAUx|8#l8;Y+o!Pm{g_&unNx-btO~Ou7XAI80v!s-!GIhJRNg|zdo0KubViFJ9#-VT zAgg}YzYR-^+!0MY!b=$gPHE@fEgDyGM>XxJ0j#rxW166mxEko)LC5v&xS{Zgbnc@l zCp7JZhhhmQHQ}V8R3SJQFQ*hkKdICDcAB?WcsZjl8l4M;K?9&2&uYq9QqTybFpQkj zI9)oBoY$=LWHr(p#=eg=;bRishSUXpxxmX?e8?B|lRJgIH*G@ zeXDWMSM#sBCc)B8ce$oPX%dvC!TQAR0;PFSnrYN7?zjy~i=cWgU=RJ4!P1~>rD42? z-1Veut-#rkT^SA8)fUPKrLwjofNVa|x`fDG?V;R3fjb6?+9e&KOq{Mx3ao=>=OE?i zjHPI!XkJ|8NpgxGqroYs@afbfq0pxu98=3(!@M09^nOjf+5CgOPZMRi6ye z%A+BNsw_j1z^=TVyUpCo-27B^#TIZGnbc<|YS)pOb^n5}pep#N?WyA-K4; z%aeUtw&5FScrK6cj4WTGas_fhxhe?CC1lNp@0_5_F|i59rF`!Q$Ypg#C@x}i&7+0p zE0Jsvt_lsp1*3%!`9LFYsql;7CyTQ6)=&d+d4ep-3bIsb5P)lGkO*8{S{oFymP3R1 zS}Tmkhn^rr-y#y%O3Js&aLY6Z7e7}c$QmVLVYdjrRpHhJ3HC+QE%x~ZiMOSK5MYZ7 zy8K2c-OHUdny^tNE9FSCzHHK5T<8c$ete` zNR8Y+gLp;5Z<#O$g2K-O!8bMhmf;=>3O^4~)WiC@9tjeGOOC+*s0QwmqhuUYP%L4B zZSnJX(6?@1as=Bt5!7uNP@=>qwE(9y0GFIXmecxrCP>^ZISswDP$AwH#m(9oueft2 z#LF6gi=XFdnva9>aaJq5Oc*XmT(nqR7m@jrlDMQKvLnUIMB*|fbvfHtUv^g%>8b|i zlBmfLtri|Yll2<{sWhekhKXFak=>2Dep1KU5(qQqMf;p%J)Hh#IPkKwKz9jlrct_Q~@U zq6XxWz6jG#QTpc*h)eo|GQa|S4FF|e9z)+Kb zVJ{nft3J`UAe;@ol_B&N1$b8r;I$I*w-Ek$4Zy|EQAk3_EmB^{Mc?`%(YGK$xUI2y zG7bO>xaAXg%S}*%6Z|@aGr_hnJdx@xYg~qFB5*;lk;dN&YWywUr%=SH7Kv*rMVzK6 z8fVJ}ZHhq%E->EG2weP}L8POZ3NjOrw>9T&4Zy|yUU_06xVYa-v*(aqk^LIp))-ty zgwR|3oC_b~aFNoS6LlJmi%4Ac2*CxN1$ji_k_8lPVV*3cZfq2NTLW+z1p;sJa}g94 zYv&{K7MB|GmW#Z_Za#~=wVYxRach}I+Dbc%xuq?)(rY>5Y^}_bRj^rYgt_6{0&A_N ze1zEIK0_^lvP5O(m2%qH546>QKwF5pF^^bVvJw1ETIZW?>xFLMZ=USqQ`xVtMAh1#M_4VkkszdfU|vWqBX%fHEuO;~SW6D))pth} zKMUsP&{fslde0BCggcfKO{Qt(?VkCQmJ%Y*elK zMAZVAU|Q!io)(HQPd-*)wRi}gg%wCSuz1+mfnZ!=Xr+B#V{7sA5*UQd;tE5c%shPC z5nBsLY|X1)Y^^F9TZ@zzG_qDO7g?)9BWsa!lM4GpqiPY6>#-{KvGH*bUdtoWn0vWd z#jT?8wTwv9e26q-d!ELss?gwClN2Wh3Ly>5)H9c;rel^Si@_vtf>GDk;K^I=YV{MNE75$N1QFMM1$CIXC)e} zM22YiEkbNnxS{znnBC718Kw|~*m}fVPdXPEZpgTiMsQSw+Zr?r@!lm_G|1LCPmhix zMs~h>SVw8bC`gTF>s`L@WgVFx50CvupheZJGd8H^OP&OU&zRj9>V$osKg+TTejSH%i@?Vcb{Rs?K5dSviVZY zKc-fOW7d#9C!fTtR zE_Ld;Zv*um`L=u~uNttv%HqCE?KLIV)s;O0dCl*q<-4b38aBv8x7sl@Og#> zwP(_-tL4kH%I9h2(@^>Rh!wLRW$?WkA6D1oCl#!(8K0lBmc}yM&%na%>ht+Ie4dk^ z%X4Ymt@-M1^|ngYz~yRKztTU|@vi<#p3k^n^9lZj<+0yX;9UKs{5I`g0P6*|lz2mc zS7Sx)MR~Dim4N%5%Jh3-F)ia>0`Mh&wdBx6F)XG^$ z%a^oY{36G4nilpICHxn8MgEd;e+A&LIl_OVRsQBRN|9qp?V&&r*DD0e+-p>wEvcpP zwC1a)wTuO}3`*O-e?Q^gU{S^v*D~(!5c<2{yhW_7y`_}?VV2oH$GT<=+{W*7D^)If>qZ&^tb%V)ecvOalL_@UsanuBPfgXcoW^ivu=;0~Yw^ z=9dDnq55HQ3HV-E>|pS5zG}0#2xwKb#<7Kez?`yez;9~|igSM03jDBMWp_|NEZ$gd z=TRaZA>#LfP8ziwA4@0oy)ratb{Dd}zEGl`SQ8rOD`P-Fc)H;@xx@Kdj`J07E#6ml zT^oD^XRG>Idqc9XlI#n~h)1cPL6oTL)x587x&aC?AS+Ws-LLR0R-iO`M-EusYvy=`d{d~D*QWG!eWKYrTDJrodHpCl?2-5pN$; z%}hnG{VQzx^C>K}ztz+^%g+zswkW{Yjo)>VdS5Hl2@C8JSS(c*OQFG6p8dj?1!NgA zV-TCnxLcR2)0OMJ75GDdZHr^V;gz*YTcr+Jyt8krPnMG{S&0*FjX@Nfw43wVvUGdCn=R0BrI~u_Min|p9*%%b7gO#7hX%5_~R*xqG z_)_Hr&2mbKs4La~icf3Hp9$bk#fzGDXEj@$r&fu@>N+)<&#Ma+*J(XmrpSCDfY%gX zX$C(jGGDBeIqN39q@L2Wx=Fd`5qb^rnySqBNzpvld`Bs_>KKD!{G+%_@s464TMF^N z%sYA$BDa*ttxB02YkY9LqK(xz%E1-lgX1C9-fG>o1Xrmib@L#ywopeYE>o`3(buex zl&f^im)aU9MH_=J@Z6-*2AX(Av2&s6H*I@^D8W^#UefmXNAQ=T4uP#zrDDg}dKkA0TPKITfJ@1AG{j+W(d>5*}v$_$URNGmN8x^1GNSNyxRcnn}>QY5% zYMRm~5|~$r(Ri~op$=|U{hP>nRynC+DfymX)jX^dl*oiEk%W3!!HKAUm7kM>_3*G# zswwJY#kI;oL6v=KR`vvbRu5si`8}smQ8Sd}3`j;i{lrlfB{3@~GlMdVPJo}4(6h#K zW>7mX?pBzVIlQeL77WUJL75BO`wI6yaAle@2REe^EaBz_aW>6Y_p8hYZh^ur0FIM_ z=E^f-IAZzBe!?KLjYUBmu()H()%i-!V$hZ-+7cBbd*Y4bf`*jH`C{wgi$x~fu=r$G zQ2YXYSJ3(R^_@XF>IZ-bA6 zN0w&;IJjd`r&cPXh69$rk(@8KUd|W0H7MHsW(;0`F<0pQ9sWp8E69MqOMbelUC zxWiV4!`YUprT*D`+_Sl|R=CT+ zm1)X_%97%teJAIk<$4N*yJjL?%a*iE{j~^KfVY-Dcr%D!7N2do!%0idCy>WUiwagT z!j+w{vBe(8EX~7Ti+8qMowU%&R~IdhI&1OE;;Fz1rz!K`KwMuVip4qlA!AFb30+P8p>!2iX$#zi3EW5B3pp)_Jkf+~m zXQNSurxv)bd4k8bD{#1Gxpo}5GEM1ho)~MV?&>7&VSd>j!1YwPp1^TtJ5OEk0F|lV zmcQ)7&ZExyn5(uo()CqeE>2snI#aZMDh8@BYXn7b<6T0UO;mF0SI}Nz$3OC*8kuoJqFM>;#tAA&zQx|t`IeuK=W&sy5 zMoxOM3tv$OppALlNlapBHUM=qAFqRcfB=9mb$a!rJJ3Wpfe>cG|v*{zNC`-Qq9Jri?eqbRF^B&<;H!famU|l+&@&f zm3e~KcO`JE6mFGqCuN0l&wW=cl^Ie24&c%%>igwcLv5_f6LQvpzFyJSE1T@db%zU> z6Wj{0$>i8za%?t|W%z)RW2<_B@&9s%n!;@}IY`-@t%ZD?!NBcMcQB4%HX|t9PNTQo z=-~;ra_v^QJ?a6*4{T0g^s><-WmhG=y$ZL_cLsB>n$p{E^!6IP13tZj3U??^4yqFv zlULym8$D7EWa&lJHJq1o4RiWM;f?`kGsTFz!#7<2zxsy#?>OSlXp^3)Y|^tT!nr)b zTYL@?@Dg*AuZeorM8#QbMZchMxPx&RUj*)w!d)^^N%^=^)XNHofB3RGd+XyM<`ow( zj^b-{sO!r8dL{Q8ntd}*ZseTA`M8Nyecmwc_=t^r<9y(70ykDyFg7si74NXBGE&qZ zOoz(G;Y;8;E?rPX-NyKko9DB6Ks~lC@;w8L1v695MV`-Cr#h|kZK{K#81Hc#5ZbCA z6^Ak2<97H_@fd^C9>zF^k*CDrD&{X{u*!wQm`7d5UG%l9d5yc`_{BF2U^fVMSAtoO zaD{q=q0|$CxP$X?2QzOp2Qx&U$0h9Fje;*2CvYEf?L=QA{KIB<;vB|P+>dmQ1N~yxa5#VgD{_O?E3CyH;uU+SI*aiVbDNq_XYYCxQQI<#uos= zNf44rw--C%Cg+!mn}SBg9{}!Dm42$a*_CG_H!a^z^GxRoA+)KLon3KcJ@01Z`&Y@$ z#KPqYjLHg|eBtMN`9u-dVD;~7VdkM#xkm^w=40#T zy9FxD{H!o#ZlU4UbsyvlKR*C>5ocl)jw{gf-D0J&BwrR|$wFf(u7P~kTTI+yw=AEp zc{%aFP@eg3x)oX%E0E3qnm;t!4c$tWW)+GPUjencnhS;S2~c@!6k!br4Yl|Yw^r$` z%a^q{1gPcphR+q}oUul4g1S)=HiF;)&yaTzHa6EAYv;5z0L4BQq9%o zs7vJEq4+z%x5-~ax6>e=ce^lKQIup@8*w|YpRor|K)&oI!^+gqePkI8++Or$zU-yG z_9@f-91lb@!r}lGOcfuL;1qbLkM;_pGANpXh_Uds^Mt99L;yf^7(MI z9vZsiK9dvNH_7c5V4PHpQy8V(o5t(ud^xQc+=rg;&iJyP#UkapNo2KzGI!4Ya=9)x zD7p|?KUP^UV3=~91+rfBWWAV`m7{+?>Sc5yb}6i`*`H8X;4*~uxZ^U(M?emxTNgUpJ)dUj#t@^z;RE*L`w+3x z;f5HOm~hw9I6pa2dZUQ7n}l#A-i{zd^az4*(sGgyQB*q15bu^Ex%-jeEI;`kKA6vN zaOyLU2WHjuI94O+vm8EPkNsRfi6x!Hb}b)%u+LNA&!<`0sqU3O9?q*04|mKD)cxrKsWnG79(<(t`phm!MQc*8ocUR#RQ##Zc)xx@@a`YMW+aO zog(AnrWNhlG=LM8y+gl@yY!PNP$~tk&@7lDK9iyh{lXaCBli^3>*)}8%V#QB-?UUt z&qgMtODRDM++ zdV@Y;V0J#Rfb)U&_6_-lvbdu^d_(&~k$hbqPTP8AEuTdJ%a&SFTe!^7AB@7|^0?Ja z9crI*B~quHKJb`)=MByU8bDnZD!-epiU_Al63$MQl)LYH08hvhM&SqY1NnZM!+=l7 zld5ENID!J_0_j97TS^%VmnOkeQcs@Bux4ot>>MDi^R(2Lrz=>nwA5$iS*s3~Dv>$2 zR{3Lj<~7cTJS#t`6seJi!J4JX!J$B1yZkvzm_JuJOp5BPTt1iBY1$n6MeY|y_m>NN^0(gG3-W>@y+~93PG0m5guEcX*Lwb~9t?a*UXow?^<3os zV6-{^Cx6ViKhcCQ%b(=sH&~^#qNOFRq|3cGPWvh8zd-u0@)!AQnu8#($lsJS=l{}< zbxHYij&ueO1?!OV+UxFh<5D57OGSpoNJ@}hjr0h!45@7X;l2G+{;6zoNBq((K>kxt zeH5`k`L8tVkpGdt=h(aho5p&&uW{gYmLH8%Q#<$36z6|4T|8*6OOPx+zQL-a$D*a4 z{ZN*z{DjuJ(5PJ71SlPgjcxS22VQntfNY0~C}Me%RIV_wqaQ5-ISD%G0z(H|V6aN- z7+?`niFfjevjo}Mhdl|jnx(X>h5sLLlQv0Z!=(@fDvMh;%M~{Gb`Ys-xkr#O6|1d;)`qxYxx_DLU z&4$LO?id%H0Djv^;C zrV|mDM*V$JcXSjnXfj%|qeH60Lce@NH+@LCzk~+h%TXfKahF$pGS@6OYHUyrK*g#W&rvlUOe3D|7;}XNSJb}iu$x3@Z|rm zdw^Hy8nnWfq=tN{vK78e(pMM-zmgpxthqRTX|?kJ9nh?#XWWA{b%{JEB^g(feo`~n zPv{EPPag7k)RJ1-L%-&|(GRqrd;?@_{xoLN*X5hqPrfGKP;2QCc_{Z0u$#w7-8n8I z!{dyAkH3L^^r+OSl%3(xr2GyLcIvVm+vwYB8!^a)^z=)i66hLDHB_P3amnV6* zcdF_bLcZB-XM?L_MX?u*&%|aG)#w-rwTsh~BOes$(wyzf%c{t35*N#`;8tK4J9e3|2RfQs1@N z&Gl$Gw$V4`TW??+834ACJeIABYR)r}xIsZpBm?-aeAg(bjr5(gE5%YSy{%(c$5Q&9 z0eqjv!cLO!SFo?kP@j}1t;|0(!OT3$u&=A0{NOeBlsqXAiQ1b zQu|pI_bd6;LxFWh{&|zv4$fxS-jyf6QQrpiBHWjtbU#I_>ft2Qu>}z^Rwg}tl^)!~!oAS3@|Km;sEakT(FyfX^WwS-DIGivDA(O zf8Ojq;W{V^CQ=8rlFHRaGCH%4+Le9u4y6w|qw-%SZ1=y&C4fUFC(gJSaZBnyW z%SaCnuvN>7J|rMKgQ&Nmn#RFc>){^QFg+aW55(ezgDk^=9HA#=Jp~&NpDzq_4rT}T z{L)(JRvb3}j~QwSdKJ>e{9%S#gFnnrg}U%(sLWZ_&1*B%<^h+x;N~f(d&RRRnSCO5 z!Hq%N1vgbt!0f;+VTKy?{1;DFIxaGfT~Sh`W0_%aVMJoD8Wvb*mVge{4ZwQ2%{_P- z%|tCh2V3UnN_*eq*=Opg`K(k=?90w)O3=mzb8qSJdpsXT8eNPJ<8~Oda$>)+yN?o^ z-DXI(6L(ZiSA&ts#_P2EG65QGoaSx>QXi0FdEiaP=DT#WE%SRVp>4JuSCfko@^U^5 z&}_b%W@l|4qjD|z+M7CAm9LvWK&|s{D0X#E7eCFNHUUOu%(9Go)avumY~`Sm?O^A( zO7lJE#glBV4R}tAjLuc@qF4o0Lml5G-$5>0qlS77_g(y*=D1L;e3xov^+xcAt4R#t zdry3C*e_f5dzI+S0R8?%+~KHXaT2k1%)$c%bC9ZLY{w$UAF;m*KNlA*2w(U7f##@^vDJLouu3{yU|3 zOa3lzrJ29JDgRJ?`iA^H%}q7`l-E_68t%X3U&iBYcapQ5F^g5phKOS~zpH3S-& zryCNXk-O^zHEU_WT-Z=c>!O)a)4GSYkEe%GxajD<2+5??ghVs<_k=_(lQ;l1j%Kzz z^zk51jSu$F(Zwj?A)up zsI*A|A!kzHDYn(ptW)ehgDFTqHDI5@)T}!}*jUT=KV7%hvZIK8!%>i z<)5WnYuQel(OtDx#yPr?)?|3kZajF8>YMB5y{{W-tv}B5(C6#6S~k=YnJu9EW9L$R z3vIXU!d&$cY)E(18XB8wb?{v5Z>we70SN)!QoBTNHOT1Y1}4RF-9fAUd4-?wp=cv}~fyaJvED z(nfy=?Hjs-*4S^>O|!~=i=VJnuQpKj+m!uw-8su<*|ghXS03yz_Q2|u2Rrq01GeG% zpHsf>p4CF{zJ33!arsF1%UV_M)n?vj`(^ji%=`5M1liB$bin6-&@M4JkgL=JcSunV z>%|6aoh7=E4|p`dj#;C5%r?s&L89ZDCVDYJ&Sxp^g!YeH_Ela}4G6?)x(72sptEo&8f!9%~OduQb$=$G_10ru6trdJC9clkEa zulVR!b+fF=dQC4EU^^|BzuN{{yjk(~fW2AOV5P0m+Nanis0%r5gKVAU zo&noEYofFd>e`BJm}T26M+kxfN;|z~!27;&(->eU-7)K}L1}`pi2^o0K0Y&6<4L?3L4QU5qFwz18^Epm(xUZe2?@9}a7^ zsub8sgAH26-BtQU&-iP=G9DHm^Y2e*9IiO54295>SGQY!Vs;-H1vNcRpG#x#u`;I%%O*tb zTEjQhDW~VI@@r|6^J?{e!KycVhnjU1?oqQn4Atm9c7)HD(v|MI2X`+^q3Y*_ zY>6}P?z&>Uy8(I--rY1)h8pVHTUQK6^W#)7b+}(1@D{s7yRo4@Sh}s)bMK{@I+&2w zY0`8Wy+e)VPX-9Jl*y|>_c4&KL)AJ?1s&&Wy1tcj>gvf<4=A_%skf))%eSaC?FreM zvs*HYk&wwm(3?z@-EmS+&*@q9B{-)Sbfr>PO3U2$D5FgmGVTehrziY+O1K}8WvBGg zdP+}zs15r=SEgS`74_)2vapmfZ?J;b*J`whLz;<$CE4X@$nz|8?z|n%s`1D2Bl&R! zvxKMRCuv+ajpQk-M*U-(N@_4|fKbH!3~_&sKj-HaOcQ=;$Mhg+OI*5gY|MV86>lqD zX>PkTG&`f0_HVnyccUY-!M-RjGF;T;WZpZ@4(91P*Nb{Ej}>DegoUmu&X&1;$TC;J zTjt8RKL_i|pZ)4#k-+0pj&SC^sbHdz)`cybAOzi=^8=5wxo?Z;okj3W6!L4HpEG67{_IGRAw_s*&oWC$($d`ZK@#W-}z@BmcM(F>@zvVv} zW(=IWvvx1hX#>P-s9T4>)pXWC5^qfdi9UW{fP zg$YFmomQ~>PA4MFB+S{<6{Em>JVuO(15Y<__TJ;MWl}*-4Q3To2D1m=d+IczvZN(C zujmaKgzlq4+lrWCRkO2tDm;E4glBTmPv;lh-D6a_+g~RQ#V9e(<{|uGn>-8#V2EZg zwJ-%2)cFM|LlJ(MIgEw@!n}e<4+2_;EK*O86@t@wFk@=LJR^HNPlXt*lL%urMwyM( zvw2J)h~j6ni*Z?I<8>k-<6$--pfisNfK0Sm#E2}j8akP<5;B$Gf(m~sVV9(l^MAc0 z&8l>kktkyF0Es#N4QUnbJv*WI9!!}z%*8@vubpQgGFxC0F%JWgsRJ{Q`M@kNA~kg4 z0MQ831&A%uIRl69Ds-|y&SC(WBk(N1lJvjdr2+lenKLkfSO&myzeFqi^LJcEq0@$% zRk(}-{+06v?xHZz5+(~uVy%A>8WEi>-45CDb3H^i=UY^(VHaGO9qcwPdyETH17-jp zL2Pe8_6C?6_(MerlLM9bfX)v%Qq2YOlgH>Uw~Nw zLSy|iJJ9oUOa&lQq7wngXXgQFod;N}oHgtJERf6tcuv{`$Fi6X@V5ph=sZc73AFbSgm3B`}!^@SLXs?N~+)J4L4-8HeYBxwCT>ItgHoa2*WnbDkVVghO;l{fW*5 zvV?=~yA{p-j6Z_dPlA&MD7FgHVZh8Y6f zuwMR?W~7Zu=zWy*^lhh> zuOl$}N$JLkJ`T_^r|1qy4?8laC-(eK-_w{C>wRPV>=jHL&MNF0dY}%5369fw0`(1+ z&b=phgpL~~^t7Fj+dr5%qG(u#1AyfK9arw?A-e38V^?0_vHw2h@a@MuwI8!rxT}#H zVeuck*Vca1n2nZX{^kDnnBDj(`E=r_$!b|44?6=CTHR0hVK)XE{FOK0|BTZM+#>_0!SN_JphSNfS>VP90$NCSVUOq zIzdq6ql_B~eBsbd|FdWj7JB}_J8R>mZNKXqu=px3SyOaf|3E#2qw zHSIxPx0#9={~3(`s(L+#UBlnNYh#wB9#Ik{?vB;mN90>i`4=d&qMvbfjB6b=PL1ui zJ+|M0t*z)+cq{t4Xi%!-^7o8w*6@ez6S`;wYB6TNPO{DL&tUkI)_`4ZW#+J{$8NWJ z71;ciT3_m$7pQ?@JS`36=?u%a&&X4+u~JZ9o;5G9fi{$e2KpldHPb)iexjAwNPZ%X zGMM@X$Fi+{hd=k;Y*9eBwE5P4nl*vv^wQ%ZZtM6(8hihF`Kg-qhWl&zwek3k@yOnL zO!L2}YXfhv!Og(9@mN{B2VPVU)X^j0p$ji#YZbH@zIDY4|D0cs2dBEuX zMgC%S^H)B)zp)zd*K+qN3kR>h!J4fBVDw8STNNd&-6k;n+1yr+t#1IfHb6sT<;xps z)(75{x3W$<0Ln1=`BR6L+n~2{TfxfhKjdxQ>h^DK&Hq@5ZEYZjV<36dlb@`<2?RG zHjnCq!LTS39A`B053^dJ&X#Vv zU|{P4EZuU;oWF3Z%LLRzFW;K4P#YdZZ*2ezUO%e7UZF7A`>Nqi^ljzTA5QjpH}Dp3 ztpM2S2+G+Rb+8Q%2+tt=szZD${wWN2m=Cj6f?-e^9bMAUmgZK*84g^iK&2(RA z#wBHKpbG#iJh8dfSgU2Fn)EpOxq(xi_p9wDjn(+d*ZABp=GPkgb$-HnHRP2&-u?h) zymwy)hY2;^F3c#>^?(hq-)y&KtjV$$HSLw@*4vDGud27JF>h79Lwn3lv*dTsV|Ll% zz%B&Brne$s$@A>aRcZ}x%m8Jte_ckodj1V?zZ&&M^MKm+Sm|colYEdm@|^bomZ`1J z--q%4Ygap>O90%J!9f`<;IV+Z`;YO8iO)@PzKLITpwo^{>Str40zzK+*atTKKeCv z_8aNzb~naVB*n-l`G%F!G{(bf>8~5p0&Ve$mI6cnf0OnmaCTNj-v6`Q+e_~4XgyZ>m1PGm+T4J0INvLl-i5ZNSx zf`Ez;kR`IOiipT2sK_cP%J%>M>YV4fx08QvQ($p02lAm1bZ zk0G!k%FEu*YdI43hZ1GX7l8Az{BxQgW=3{H)0!mTWU^c#-XriIj+Bj9PX>*3bcKw+ z-nzojPm_gZ#*86l%&1z%3_I87E4^@)L>Y1tpyo24Im4!d#7@atoRdO3hHj9Ui&EuSeTp8BvT;J^T zN|!;F40s&{q>l@^G03JFM!G;LF|^Sy36f9uCU?18Vasd{$LHib-oK8Dd9!G zasyw*@MOH;=kj9s0j0jsM!zN`zu-;Tq0?)X=E6{Yoz`_zLXHcvUhq;@%Rqd6vQmkL z4TawdNiGVc@;YoaA*}>=st>7Nr@sJ~vxpi<^Py+bSc)MaM>8NVW^l^E$H* zTMu_AwT1O?r{y2M69Tv^^nSOJTo@+r@y+j5{$X-jj40nQKX*X@WVfK6vJHCzn5|sH z*7bLkXxO?YuLVC30NjHrBgusw>b5}_k?sPu=And)7o-}-ra^Pk4hKPc5xFkJn|_dx z?}F?WdywP;;wQhwBMAvEuxohYf3zU}McHG@Zh?q!x;FjeKu%iCkZG8-no4OwVv8V9 zEK;K3?lRHvs_e%$+D}3P3s|3WR}`H+W1am>xh%+HF{1Pp&#JQ;DT~Q44BXEFw+SD+ zDA_P*SU?5~*v^XyNi0ZE!JVh2ws?t&{#@CGC0)GivHMC$EzG5-x>9Q4eviptCS1;sIR4_En&Z%#4_GE*E&|74-y=je2WG6qxcc(M)`T!o|* zC-`P3`er9tirZ7q%Th>! z1QYyRMlu94OHk)407M1}t9pfUOORorKx#i}CTMbHXO>{ANLGofeV<>m6v0;k(brXG zIf6^^VHahUpuqxiNfPEgE3!z~G{_-wyYHH; z5d7Q*KzFK)WD&-HJn(m6xA>x1#oe04J(f-49-z3_(g)v5qx+OLSn|RB^lVupf_(5m z%CY-^u9Jnx&65aM~Ig&0wG2!5VrdB_eyy_d@6S>|&ITQd?wh^UJc5%4_c8?igL{+~!U|qXNeQ8yymdAR9w{9}zp@Cw4#vp`!H>@(Y;DJs6T-$n#Ah=& zwBim?ZV1A)D(vJnAqfQGS~$c?GCN$!9E7HIp#gGnZAIU%TXVr8Wg z1sgyoD@!oBf{UG8Cp`pB$P96cQbPJ@AxY0Xa6T`@1ps%k%E$`gG|fo0uV@=^)qhQLON)aN0*T$v)s5y5LE=#;z=x)HU`zp4}whN>&A1lKm< zlq3-RTm??QW|<&PH~Z!!gxIW% z5TrFz>IZU1tRNYL(nZ`>B7T|A3}Mag@XbgIafk9kj3^-lJMZq05rUURhmr18MhKBU z2_bCg`;`Dfr2l}B@Eywt@f{Y9WDq?1E)(k~Zv=TFkoA-bf@~7y8Tvh?hp_P<^5c^g zfTaSi`Og-j4+fIz!dIawbx zJar$Zh%6BNJW>oFDH()_^y!ceVnpd6Y?Pmn8i!7y@t^o(6A!RKGx zzb_s4dPC#syyDOt=oe)Bz-~V52xuS5K0>D-k=ce`W@jI@seR0S)O~CO7atqQUSbQ4 z?@PSazN0>xec?6&w1{NiZv`$sEw{gIPwN1)zfr{}tn=a}hhovi+iU$mE8R+w#VY^J zoO;Nr4XEbRqac7!%BQDa7XU3x{hxB9;>I?{LGBNO`pTG5B)pX0nukj73H{zhrwCvR-1h>ibb z-{&c2-aiS5K5L#kpDhicv|oVDpNZhIgYEw`hMdUWZ$N%dJ~sv=c784a&WcB|^!o{H zh%xpXO3(3gJU6)NkS0rU0Newtz}&AJf%7^*$J}pSpD!;R>l%|kKVJaW3(a#!`LwwM z;m#K8e;3Ao+4Zc=#d6%SHea+}2DkSv#i_Kl_*)LtAI_u+4a8J4Y9jkmjRYen_X~Y zhvUD;#LaTv5sh*eU_)>Ap8x$A{+T$Iel7rR1*Nyy#lUSgG3tJsqT9{%e^WuD3w0Nu z_ZwoPz^zA|i>m-`1^f#R*&$f_@0QJfB{uVAje?FN8bgRnFE2?nr1xe9nlw*g2;p;Imbe&A7!cTWTBzvJf-7VA-q33wEM9t%|; zH@}|8N~8|p=|htz?LOd1nqa{m z;yS>9n z3V?dAbb$Vg(A;hXjMTUl;77hd+y+qmD}z;jq`#&vcK}>^o9hO{&XXSyf9IDuw3m!` z|3OsJl>mMmxOi|a(8aAlh$CBATn@m^xgDSvas|rvX0ATm4GiJxBS)aM$x{4%pfv6R zhzwYV?QMNxTWr1A-fa4W0pKArQ5XOh0ow;Z5neV3g=6VIrg+<6p6C_;2cP4xAL8`G zO+s+`Il=6QCwluKzCI_)*9VK3<{UM+)BJA*SN>ta6BXBc}j47M@e|Rb`ZkD_|HwiT~N{8GF)Tt$Gm?Jgop8;X7^&aHsikx*Y|tE z!{E;?zymbFwr}H^!QVD&Veq#%4B9g+{SWzDh41_3*!8jbKTLCs{QP{6TLp~!)O*C= zD$opO7rK5lagTaixY_x+10Y+f%E)JJ$D|;bhsB@0h_N5b|C7}Ck#@w7s4&lhKn#$l zLXS^daL$kQqCpqlFv#c_}Kf-VB zkBGZg&M;D>@Su#JczcMS(Cx*a+woK+M$s4pgxlCq@6u3Zb{vCwf`AD*#6`TzC?V2j z2e%{dG9ta$PWGmG^}nXo&$SqSm#QO!p-x>&ir=aN(0wU;efDmdM z>K`&y`_L%fP$aQvp&bz-9pMd?_}GWh>|Y6?_*Zj-Qvd&M{ae%n zG16|i`;XlSjgGT@+}>`V5!9g%hc%y_eMHW_78l(jF4{o&Pk~UnKp6=8(YS^GQ>&GY zi*ndEL^%kWkK--%aZBd4eH3Nm!=SC-Q4O`yjmooWl^^Pp8mf$fwxK3;ZBqXSqYE9} zQWS&wA43d@rRa=FNg0u6(*Y1={cGf$4Ipij^)CHfQgQSwo~{psS6Ywn=YCS zlRL4)cS+@S+?VJYtp*k66uL&MIZ43?yd=|yAdqrhHBJw4&0Oo7(sTwj&|A*5!9V8* zN0mXZIg4qYZPC_e$4jyen&CO7toW#AlV#403z9~i0gMLv41=J;px1l>Fi>K6az2Ax zASFgKB#K!xM0G)%xrjkfS`0~F3^PP!VTKz+r~%2;t-LOcB`GzQQ8X60F@+ZZeFX_K zLR+E673QII1%soQ&}WEJzS0JtC_I_*zZUO?vl25zLHWAW53IP-OiFsjM+quJM?ql; zFZ{9TqM2ML<)kGirR&W(o-hMQ=vyJqU_`nJRcFgbi7wDfZjx$ZPD)n3*`|v&f`%gP z1J#7`I*JLCxjh6Vk4gvO$sJU?ixzT=v=ECfxZ4K5#|B3Wxkr9S+{>FM)O`@} z{hA(H2uj8SJot`u4H2-Mi4BhL8XV{&-}Ujvs38Ui+D9TcB-1^3^RERPl%WNJ2! zypLEobPu$UM}g`wE5|mg9-at+1*6hAc=99_&^h?g8-L9DUB~Z;jiWdA*zrZyasiF@ z@pO#q(I_ehkM&w~pWYtu8qz=veDn_n|5-=ivC8}9iIik$9?zAU$Fp)gD#8sEy-dE= zNBiUROQU9za|X8q8|Ao6MqF>q#O}J&76Fa+0=}KR?{bAx)?Pt4UykxSdB^1*MZ*eF z1lqZpMMvtH9lIoOb$tqw4KE|KIL4iDQ708j4<~O!e|QU_n;Ie~ck-t$`8wTn&A*># zBy@GTlDSrtwoZY%geWNwO2dw9AZcVXc-4~ms4vUP7}*j0nFmGV)L59!mQTMqHQTER z)#x3d-;#EYW*M34GMt*}+!9lTV3`Ik>Ty=&K4H{9W>k}@=yL&Kjn?&Ct&N4mDxT4b zEC&kFP4ieD%h@@~ar|fQF9>9G?-H`+^T5)e@Pa}2C+^*?tRpv_#UU*89?W#I12EXB z+~QQOxSg=Z6*Hfm{gq-uEfRLg)_G7oFn=TX%#XRn;S7AUv2Z5-Y#!xoUgWc#>>{{! zWq@5n?AZd`n5n&hgPK1B*%BJ<;g)z8=H1=W76&yh%tBpWI$cIjw{5GRZiRG5%F@ls(s5GyhF$E8i;Z z>?Xu3^58!p6ASxnWP7Uu22K4LAY?JYpvk)gm2!%ZMIGNCb9;x#ngJ}DRGaV5@uk_m z48EV+*X=iwwd_D>F?@(9T9^%~ZiCkdhPMcgV%8k8Je{I6OKj4@hj~P&f_#_>Z6s>Z z9RO)TW#R3C7JxJ0qZa3Iz^`aXyELqZl?8=)kugIPa74yyrF9GI^Q-^KhN=f_R;p zuEQ!Z$#LN_i9_F3?}%6i&XC>2=FfT0-?~nFK8Dl&NFDgY9QS&*Q0M)z07SsWadzZ> z1_s56PqE$*=%YsUhCuLA9R0gv)dUTk_Z;*--xR1g1*Q%G2p|%h=%D5NM;JI2o`0GR zHcv8u&5_W2Kjo`r)Wm#g zuLrz3_B^tofW*~uYyO&lEg<3odH*$Z0rNr$4nWzETXS4W45PAY^2Em_3byMdHXt&z zh)cwhDT?}*I!9bUb_ijKJh}-AvmL!qvV--^q0i5?EEysLKawV}YF_)c@n+52tW%ts z6A2GU59e{5tkWqX1EkEP2 z1d}F)%n?~IY1)wel8=WbyUT)!a$|4zTSJAl3B#>5Go@9;e#zejGG*GB>tzT!!cvnQ zfguR{B~L;clcUT6Nx-78jK%V3*)2z8zNDAWVDP|fX`Nxgw9bxKXD7&lNsQvCyqI}% zBDN3AmnYF#g!R%oJ0-m14~IT8etwo$UY}~6EG*oXVV|elYyD28J#NdGGta;l;@M}z zUi7DVd@c-qmWDoC9?b4+hTdTA%o}KGHcPCX?c4~sF0bb8e%^7J0Bd@1=h1Z;vEIOq znJVWe4tM7B>Ei-b(Tn|zHB6~}w-PTY0v~Y;>x_(><6oRm^@3*A3z}xdS-_SF5ps2w zsM}RtH%?lGA%^rBNOiqfae9}HOLgi<{t@PQOt*LCejz`IdQFXIqN~Xg)0;Kgj8xuH&8~;}8{}bfK+0IFBe22-6uIUEF zbgcS2>8^YiKz01P0ICupE5#Hmh>$ed$s2W+Wm~@vfTs&Hi)gE4+q0mS4r3H4a-Q-V zljT;M;Qty4y_?(@?;hd0yz2g6>2b5bj+g~rZlSZNomr2hD$Hvqs(U++@~aTCxtxvEN27}^cxW#0W z%N!|#VO6i;sB>=;jD|fnrMcc>I4A3T69rf>YvCx`%2Wkf&M+WMNnz(P`b@gxwHvM= z1}EZ^U}s^N%g|WbQJC)k1d{K^YFKseFiWVy4V{{}-)cM*7RIO1r5AhU0L>d&XEZGj z$lYUh(z@4OmJoj#`}oU|Y`ziHe92)n9YBfUPd`cw#J3wtOvtdTY`T9LSh@{iVVFH$ zk6F@wQ#vmkunu<)9X6mn>dzyqE;fALJK+Ahm zwWQH?yXXb!ySn%2eFKZ#ZV+8?eILknw{dna0f+W<&Y429J7&k&n;l28WvuwJP;DO8 zN2(2AeeBR`-fvos0JKod7PiL^2#zvWqm-HtxDORHKM$?upGdE?T|1L*3nSz|xqo>N zg#kh`Hs+IX(cmTN%i0RfxO9z%n7!TJ?}|5V*Y?q9q0;cuf%i}tx|)Y}^U-(3H*QBJ zmKddm7Y?*gYCh`z>pc|mCNQXPU)Gs8O}qSj@Z7eyVPT@8JMG9^iXm(~a_t1TNZi#BwSR zZ;xIROP?-VMQ5MHdP#D}19?V7rxTZ$QoHy)@iAqN_B4N?^Q_SsBOu`knjbvjqivq> zZ|ZnoSu(c86FvxD0#8`p<_XK%Ji%z@gW1+RVOg6eED?6OLXb^k?_zK7&0)moALTIO zMK#;FO!y!X+Eq7Whh#4gDVH5{lfByp4U&FAh4yZmQO=`*a2{zkS;Ci( zPqtlEvTZY-FU!oVu_XIr5N#=4N3yxLYI6ha?}beR06ypgwRhu=p`Ci&60Zj`Snh8c zNbJRx!Mm1V+K9brV>ls~+$?-x)Zax66P*2z<^}K}YhkIFMsywFKDZ+LXYMHex$smRhAI4u zRpreioLI%HM`Us>FD7gbFaZfX`*>_vHtqiGBh0zHmH4pxm_%^WYq#J4|LOi?=g2tr zFpS{8Y>a(vjKaWyqle{fU74|gv{DwB-NW9tZ}@0wr+TJqCu4 z^=K1VHI6X-i5m>z9YY2djHA#^uxePB$H<^zLu1pR@H6qKtQz+0IN3A|qsRN^C)nM? z2{gx=!OyX{d7Na1kCV_ReT>g8GHqD%Q*@*x!@A0`h>Am=mx3+x^wBwD)Aw6Tjk0xq_^N*9BGFETdQ6d}FCFvblW zwQRB*4XTCQf3VJ%nknOV&(&&(yTZWysw^DEHHd-9El84GZQfZ|1183dD`nCksz+uG zozvg&U}CYr#BmK^ep6t66EKm6C5}&&sMW^2UPcXr{|2*g+`s_evY8CawsE7U11>{E zMp!g%lKsLGwB91i#|qgrsJFSKgJEnNT#Oj`-0GWQ!ML>y)n@145zHGSx*IVlFkp1X zY7fh(@dw6g5Bs|k8=pH8f&E~(B;nQE3Kf4S7&TVvn#6|3uJJHPz=b^&a7FS61^xJF zL0FG=UXk$VG4R@t{ez1Wvt>Lkvq)eSJ8^SjgFYF|8Y41m*eGVyFjQmJXvn6)&(rvF z{lxB7euDcKmJF-=`t9R<2q&W$|LeQ1N+PlUScGm#nJ&y;G>1b<7DP@N@D!! zlp;oRSO$;JGAz>ZseV`t8<;*$qcZl6DpA^Hi25160?u04KhC5A#ty>(Mvk*QJXky^ z3>FW2c24599iok$gLv*0*f*$zb)(?V!!mZ94_LTGUf@T)P;uMtLPouaf|zJ+!nTRZ zhRX#gE=k-aK+&TxZ5!I$v$Qb?&W^LoLTEMyTSaZVFEg=z#dBZEdVM8v{Cu$ptsYjq z_T_&3EByFhRp2&}*dy7MitN5hep^IkugtCvqkT=$+8X}rq2L<|%hvGMX!vg??ivMO zw=%r5cyz4|Pu*)Mx=zvA?&@Or`9y3R30!Z1+t)Mb4WZL-DO}t3(2ZL1n-rr>q_%}= zQ|D#?x+PTIY+>5Blt^7bxHe60Rlv5pl_vOT8J=*py50AAhkUf$Z9sHqh|nIlFY(v9 z%hL+}S|ZVVg2xs~sY74)DOlU!yI&4mIBSiDAZ>V^0E#o$_?CQ#i+Zn=C>d7J_Ah+1U;1XRDr%d!Z0xxd@J?&RY7?;y0}La*o)D)k@_Zu{ya`{U zpr0shCO&2{*<&dgDhO(X`B_{eb>9NZho(ep6Y?F7jo~70o87s_$5nO)ZnHbqrNnN# zb?Hh4Y#S1eP;j<}CtlkMj!NB87FKz5%J9c17MnP1(o(COC~a*{>K;uIQQQ2iPs8wY z3EnnTA8#?-#}m9s#I|*Mq5`!I)h8)l_2ks?a}x2YrzoV`odQ5UVjJ_WBDURU%V5!Y zgl^O1^i*Nlr_^46kWSio%0J1!_mS<<{HRu}@yG^tLx%)ypXWOyY@5O_r1-LgX9Q`TBNQQH(>YOof9>T*SJPf`T;WeVb6Mg%vDK=Afg6tqpiVrs|4 z6-5;9FyY(os{nSxcEoTSU{|H?%G6y&<*ON-fbEc$LWc zNN$6R0BvHrZ>GX60V$hPx7j0wFm4LJ4Zd#;&u&www(Y;$ee*jkX!{PD->KMbg1uK{ zcd3%QtHk#(;oI(R-|QaW?B3Mfle&9pb{_??qPL0UzMt<8gpt0Z2yJZuqO*-wA57hY z6!a6Z4H6zw%r^1bkN=1t|A#5z+r(^>qe2-1 z9!nj8+mAu+kB8BoNZk`Q{F9-8knJDY@K0&@r&IS-N|ZMK_$ntfTf_H!&b;o8)B0f1f%RbNu1Hj&%Kkxwd4 zHF-I8KTqAuGfZ2uy{U+8qPIsCv~94D{iaxLcNhVVkOBeQ)LT<&L%r65BZrH?ZPep+T-_@S z8(%#Ia}&PpPbc0^LR})YgQag+(cDLJQAL}hte4q@aD#(mEMEKQ3hyYXIG%i_vXsbe zR*A4}qO*@9-tzd0ZP4S3IN;^PaKn90v_S3?X?c={I*Fmoj5Uy*>?1ab*(RF%6nY?l z+opYL#hvP5AX1yc(<-AG0o?YC@a;3W?uX4!6tjJn!n{{xXRDGsyF|&bqPI8rX6N`( z&#ky~Duiak11X5d$8Ot5L~frC6g}AmVdx8ez;=IjktR;4_C*TSCR>FCZGVx8^*icb zM3IGRyDt>Mx5J9q-ss0CVp~kKGiICJL8LaZ+g~QsmiTNN{&K}>YxpZdL5R@q&#u() zS6MjrRg87DBDaas*6`H5k|JWY`T0sQ{D4BXHRv}g?(1COGwEwWrxvPh%T1_uBfCyf z+Qe!PDNvg_n*iwgQ1yn2(80?#XXtT-) z((c$D%d>BbJ_y(Twt}{i{XCGjD{9-_4v=?*4vEvg(|356MQq;%JrJvHXd+Vk9*@|2 zee?SivP}&3NOr%)WZw-vJfKPhWfxmywj#H!`F9nxZS#N7!nGC4{XLZts%={&m{Eo^ zBDEi4pqsbLzV8QmSfSfQY;&1UXT)u50jyKPw;%DH{?LZ$Cw?1DJyubW_M^=7am95L zrM;98Zq}0M?I#qyjjHSS(2t5eG)&aCdx~MP+&}GyB_jK2#btAquVH_}ux7HyHPBah zM#0;JaKi$_B%iGivTc(jew)JQz#sA21}mZ4FL?aD=$jLwO%V4>H2=9pZa)wHUREU{ zw+s9Y7h&6M!wJH+wV!@vq1wNq8-liNq}LRTErKQ%+X{%&euIMk>`fuzEk$h;vE9nX zstVyABLKT!aocZFM7%aXzb*)R*avPK8#t_Lq)pWJVT#)3I$tl(J-q7HlB}n?GFxY% z-ox2?T$CBMCp#h(9Eq+=L4S5smEn&jIT`uLs`w_W+#O@XQ}-x}K7*=Tb?d4@+G}LT z`azGYx?{<>$e_oEPEV-16X+E7d7|FndJ+t;>Q1Z)tyF@(?i8GuMsy|PG#qLzUnCae04NCFFgA~)qR2Htm*l_`2|&Xe$`z-^9!qvpYy6KvWry7 zUDN^f#i98ZvFrJ+FR40yE(XkvDsvkR%o-OcU!t!25?||{1TL+*OMRQmte1NBW#Ql} zRmabl!NKJuY^=J=t4p&hv`SwkXGPV06^O2^+G%rTHQY@s&#tQGwe0Guy9&vVmS59Q zUt_2q4TTEq=k$%L`+C)VgC4F4aDNj+pNHYvs-y5)P;y;(wuxjF9wpcN<~LN`^;LHR z&A(N3{9Ff0Zd4_AV~LXC?53)_$v3;%H@l_kZmzmpXttSxIQw?hZLYd+^ZnK^(rs0D zo56W|D7d5Q?x3JQyHgXttLpBoy1PK>-70r?GqHY0-8(6|r|S5*wII*o?B1%o*N=an zAOHTUyN}d8jQ4?X9{;8T7Hx>El)RIGwUPp3pKsS#|t8!D9WW z>ZtQ00D3A^eVPP4_(qpVt!F=0lb=-Gk70T=`Dv*5Ow~Q(`}|qe@$*w4dRArbS%55e z$MWns(Z}=TD66{XY5#%;^2Mrqq3T`)$d^KgKd-u<`wm~OItpKg9$pF0enDO`kJw-O z=C4-WFRSiVn*XZm_<03-__ZpzUw451T4??{i70&6Z@}ZK?loY2Q)TW=gO$5Z-4(t? zb@vt}b}zSAHYOj2v928wyRiIVc1V}e{vlodKK4*OK9tA0b39C64&#g7D$-^4^!=^x^0%``sEZ>)e@E)ek)c0!@KO4Hls&9u zN9)VcdKhkL_s)({*PrQf$8@>RbfG7!#D;B1Zw)beF31$ssKvNgQDE@$Z$ugeMkdX;Q|&dfb%6&@P1rqsR?#{=UciYM1q~APF%D0A2sqGi{79dN>X$RNM z8RI{020iFiTM)isRkCy2UQ93i+iDE68a<64A4UrxZ+Kst7I)^g&`s}@+Vb`r)WbbO%~Yb$D-Z*B1TzEM>OTNoO#qZMEGpR`B={g&!G)It+-^z zw88U=10^kAWfp6yRgLnoctw+afPYk)uNE6fX(F3_0j_e#L*RCyVlE`{;YZvULCy z%jlr7!B#r00k&&}^-F6N#;ncc7k3bi7lgP5_4xgSs@HxI$CW^9TBfvUC(>$wcF|s< z#`BxiJlY-Kl74-g$I_z+OEpa$EMy>enVtH=EF%GKqm?K8ska(y+T-~}sH?A~#I(B{ z`FJp^)|>$dWphdGy?_{*SG;k^HoM+WD|*^ChnhVgLCC;WhwrVXans24uy`a`aa^&%`N6L(6mFcZ zcc{tBEVNYPVbUx9^3}Vu0So*y%h`Ok$!bWtn9pbpFsywA!BCb%#?)FI**;R8D3|v^ z9)ttQ<)pm>H)xw&ZF3Y1OTK~o?qFr_GJN&y5b!e{9QR5eS z27~Q<2Jk>a!w#Zv@;x8iZ7>l3OG%Qhjt^!aGuzXhvV$SJbngcWOiUSGj(+*og0E<7H`C^;;m+HG-M?IgUvMTm=yunYRzRWutl-ZEMg zH9(>DsYj?={xN8pEONMbP{(M}P8uCavCfyM@wzeKvkX4lfIIn_b1B>O>XKG!Cp9w{ z53ZcK#?@EOUOLcJ?J$mNjk9f90I;_|kLljdWia596}9()zV;?ECZe4B?@tw+=h2@=PkTCVtSuB*rgsl3$E6rHXdYY+$=wJ~;m*iG9cj|HN4kl!g za7s?C#Q1Ev1ho%MxPS{MSU}3gFCZ}ab0Y{<2q*@#w$+X>*LNDR=8et+pEIrQA^=Ys z4;y{z^lr4~SXGzQ=Fkq@-|C;`tHBP`!xXi#j#cUIgSF`tRu=hgUZ13+H>w?9@kEs5 zW0k-l8RIauFqWOPv}**iiw=N4_C@v$0nPSICVJqhEwg=bQI^1b7}uZg%oV2&0O1d; zCdHFgP>F4G2*8L(vI-rf`KCzY!)EhE9Gh??-wU*8tkmK0VFCs{vy?JV*eAJ~`%kDQ z9Cdn1oNK@TG$0|s$`D;=`%g~SOjb5W_gwaAu4Fs=gva(g|7pGiM=Rr1I1BtIB1U)e zpYWhWKmlq$IsP^|Igy5#6_fb8zIYt`Bth~OIbV3pRH05`4rcy$+9L%fIV3nyr#r0if-0ElKHTKd*zPgYI=BeBHU`0y`0ho-K502*VSXnzFK>#*_ zL+UCyLuGk2MOU*fbs%XARZP;A z#H{KbgU#;78WH|1c(hu%ZWCB}DxnMksg+4>aZ>kF_5>f(##*(Y*OUr2itAuW&2HER z)krN%Re$I(TGx<^_qX}0OTjVJ?DCY8gQ3BUO*XzwRQqyV$X#CM8LyF1KgnY|YmLtd z*Kj$ZwlZ|dr;WG&F3V?iq%ek8%)q()(m-hFwNFcrHqE)Hq9+g#xT9*L}-ALs=LVK2Y*!Zl;G&Bt8h zNOfAftU!`24sb|1O?fWNh#|pyAhCwY1jryMi(_4%xmqWKYIttM7p(fofbT-k7n>SO zcJC8!vNAr}i=-*#v6B+)G=n2`l+Z0LY)Y*8QK2Z*INE>Zxt~Vu@Hk13at*baeEu|l zG{^{D)|~!vle0z9ui3i|h9h?|vv6_8+0{&KHT-l$0uq{Wx0m2=O;r%*{SuK3;Vp?Q z$>ILKxYA5nCyW52+6GNAbRKkRxwjW1Ah#Kx(5=B4 z29&$4r&#MqBQ2Q?qpd}oxY_O7cdH2vwvP~pwyNqUU_doF585DGk#LcsRqjG>Rjp#u~O@H{c5^Vy|ttRCvX#lM2|L7KGXXES6?067kYO3fY=aZXM$ze`J;f z#i&b82e8B*pz>d^I_xYP2IwMU^?pP2d#P`*?9A5FWKYtns{>@aC_mx6HDlOPFrOYL zBxw}{N3)_uqqDH)e$fh4VLC4G;|)KK>akUK-C8u;t3bgF=&B?nr#X2fn>Y}9E$K_> ziIy2^!MKNi=MMOzoY{2D0lL#1Ui$pFIp~BbrTJ=YPdMp2O||po=khL=w|V1RUfQ9l$fR>y;sMwp(BKA)a13@6qEJ`r3oRT>frEciUR|3zx1Pi?qS)Ohs(5 zC(NO1IRBs4s77V&fFf?DdAbVi01Jo?*;y-FEAnn?0~1HDjD>mE=n5(bP)v6v2uO>3 zXLNc=R1*N+TMjeY#N)C;C!t~5ZpaFw!}x|a1f8p)j!eyuUj_=ps%B+MEeKr1nU>nx z;gXbvQ5(YaC)%x$ZWOacK$>4}i4H+5rz?qkG9fXdFd}_HJj`~LPJY>+^arjT)6BFd zQ0$vALu&hDD8(d&pcTn9*ZGUp(*nY=?^z3poT~L}oT1;Lv_C z=50==>kC+n8po=$X1sXyKa{r)e+|l6;o5?zVf9?}rzwbSnC1?K{0ML&`=AZx20^`4 zy13RK?_Y9Lf(FUFChgDW zoHRU?&tIWo;?Oo@ax^p!GG7lMrJdna5cQvNW7RlMq@k;;*KO(kow-A6uj-`OA$j;- z{xrUzDw#+SR6~k}4-D#8=xI^9Lvoq_s%1PWJYkETs>5Z6xSHuf4}j~?Uvc9}yOm#9=*DE6YHB))P$ z8=*ZQs3-?)qelbkfQLr>cwWR$8XMKMEwnc*B#kc_2&giHPzXSQ#t5y$=8R6w))hCf zXFSQkvkq|;>d?#M#>whnR_*F4cIJ2bZGCq<)U1Z>Rb7njTUT0OYS=_ZL>Tx4mt^|W zpR<5N2s}ESlB|bQs+TQ*??uaTHO)l;1}ioK7eM|>p;!A0DTa$+WDJ?ZJaPcNtA(u5 z?4gW}N$@&#_qE#p!ca9_q;*b&`HfG$oT-5>GR8Q-vH@n1y-aD`{C75FRXbbt z3Q6ABWcYwSKuZs#63|S2VY>%}fwBDVxHZS9wf1=2R-Imea=UyvDuoCg`soI9C_R#) zBHc8CI|vpM6XF;XYGiU?qM}(&3UcpI)6T38vzCcrR-d!1vm8Ygg#mk(5qymf^>3?6 z&HA7gpGj&DbTb?x-XupUJD;UvUTg{1-T11JZ&ywp#xTdfhr?)VS7d?!=-4i=Y_rQJ z#%tU$*IF1;%s?P+i9G7!RpE9zcT9a0pyE{$?P{M(OE(L~;es|`&AerxnjMlK`zu{e zIQEIa=Ftubfsuy9N$572?Og!`NUV?err){V)Mz^w%?`xJG9?wU;KK79IA0tdCA?Ku3ZVmUD%_z^ZfaD9+Xg$|unulis2ymM3;~*Eclr zBc*vZWk=IvmidokxR!ozv4f-|F%2lCg{sqo0U?&xkhs}guqFBgWqj@95+-Fe1wB-a zo-XshR+o{&>WXoRfuRq2-US#P3;x0KJPRu=0UD7^Gc~u9a;O{=Dl``ScmZ{wrEc{%d{Esaa92KPc%Jk@6B zdCAmBO+XHgF=O|wrJwD&8%CBw_O|bfH@^A6llQNE5xlT9sS zP_6dQQv0+hrO{ohWBgZhrW)Pw+>mZo3iVYihF=BdV5syv(0>_XugES?07cDa931A1 zBmhzjD%gT+nJo)Io)+&pn8%~}rcG;6$H=dc-}q&H@)Ca3*sMjYt<#z@%UG*MD_bUg zVkTl?$a02-SkT+pRt3nd0t6-W#7$|ToRWrEG0h2<4g9KZ!VZJxV4v259naBFZKa=O zn39Kv3c)z<)f!r-LXb7}CJiV^#NaI%K&7q&acjkmxTO(7+`5`D@-t4S(T8el65{|G zj!DzdUrW;?f@7+pK)9k~hL8Nv7V*aNdaBLXKL&v{8jmJzEXI|MOC#>ur!|&wr=VN0 z^9hh8D-XnD%wMQwV8bx2w=(u@4Hs?w)B`>|cml<5a?wZSEie}g6xH{9Ml8-S=)VU(fE}UDGhF3>ZK2fTasnj!-ZEHIF`Us8d8-ns7;c&2aLY%}0dy(Lq&1CU{^%vxCO+j1dH(P+-p+}FK zU83;chfO&%2_!g6MK8SXT>8FOeP@gUmEg)C8s;1`ssJz@X@?$YM|iSWx+(vy8(V$Y zVja8u_riPET<2HojI{0iIZhAN8G1Vy&V72Rd_#=EC7=6xjYT%)>UK`o%~YU@Xr!8N zMvg;Ki1eG<@WD#seu3%ld{&!u=I7UO&F)3l;u5F}qP>0P>ii z(@qaVxubF{$W>|{G9bikheQK05V~XuiW@xj{~LkTQP-V2?=R9LM$J&n5Gk(n9*(^r z2mr+4B{Hvs2djoo6fPW7+(Zy3QeCDNlL94X=+)(0${>SC`&}BMytQvDT3pke*q=<} zzVw}1GAx}4?!n0#DGlr|1kgXxn^d~gggEBR1C&i$w+92cSIZ zo4mmLGCYaf|GPdmQ**L0w1D-=;)~76fLQm+?Bx89bjsGV$+jORb719v1oh(fE>9@O z?U7#LLU|&GeoO+*7^nCtRtbhDy`b3!ra5_O-=t)bY~f%5O{3m;KqN!OKIY|TX}qe= zIyR_@zj&N4Z#Ac2*rN@+Gs)*jE`uR6avtO4J|%0gh{_MS5EM)``l;h*-kc^+M3gz* z*w)QYU(fY1kCEDWbi_So=>coB7uO+yq+Eoju24P3F8Xlz-Y^h#+6~2+Y_Mthp8=A6 zoD$%zdw8c5@Y=%&I4X>TW+o?aNGh8y6(*%D^>=R5i5bw$KteW2&nESCQKHjKc%uW4 zC7NpWr^{u)ZhfOB&cDV2?0q`ZRY6!W!kMlsKdF|}hls0~nvZRYn4r4v&KI^C-_aU0 zX|kk`5~Z%OJ*741H^4!Al>Y_mPOr*hsD%+Jl+$LJlJU!w+A?)adrIfD`~9?;s-Jeh z}j{n@|i^ zSfo$n(;#&+%N17y7D z!_}9qH&G!N>Y&c3F7&e64NaTth8@%S+C=OIH1>Qxl~~KJ#&@+GLPSH$hV6mZSEJFG(WUQ6HJveI(u{b^HGA{Z&j8f?m~=Bqv$-wVxs%Y--}%o#99D2~td zr9c8ffCXWwIdk#qf7FIw9J!gFZq9^SAm|c{ejBp*4QW*N$Yg=4bUfEMH5(jJ|U=0APKix&H6>$5HWjkHN-00;5@PiB2hA&3(6&^Td?4+1H zun_1l*WYZixLlw__`+n#;Zr1dcEe}fl*UsA=M?Q}C9h`ALwoXcve*?TovRxrWNEJD ze+@%nzb@(P^I))#0vNzrH}+ZA>O>rt9_nI51(f*_`@)EQZVJbdt7|akC}8^hY1uKh z4ci_|jQs#VZ$i!L`Ug!3SLI?)G9c;j&(rxlhw`acooW|@CU~%RxU%$UDeF>GCo>}* z^5&!z_3<{DUHh=8YU2WYIL?GLBnbpjYQx;f>0NR%>WUL^xYqMYoRgvwp(CFJ^m@qm zaXqoXolV3*gj~3Fy_>~!^_`*c`)i<0(Tdn5A4Q;V)0T?)fY(TK8cehhgi@RO zbk}gxgxTqC3KbAumiA#F&7GKDv0Pw$z%>H8qkO)9#??@zK(7j?anM8o-I8YFvO(yq zb3IsZ@5yb-S4}(uatR&)j`!uDoUYEafe`&#!FE)u&5poT!S^EeSLA<#z&}r;zp^ERu3S15Ryr0Lm#NhjnZ?CL z%e_TRhLhMu7f1rR`{p2W5!GUs_lu`|$keRL`V3=;Sgng|J8Ywa?vdaO5H0Thkd(p2 zshTCB*^x17xo(uTuS`R3{0oOjlqu=}K4h1eK*GaGW9aRZ4*v87Wrx}-XU762DIlSn zggLn60vQd8<_ZVf!Z(3Uxut|bC2+-;W@?J?~CRln`krAu`nR^T8N1x4WGsWPqz zWbxOpJ(|g2J1&;lF}Ut0$CAK>sKkYvOkHexFs4pY|4dhWZM*&~=Bn=VE44iNRr=ky zPsd*E)|p-MB(ASc4z8?@4|=DqU49wSk6j*AxDWpBI$!4*M&rg0?Y!(U*(KNY@*#(; z8ABOy@#z>W?P;bIxA<|vJE@|hZ=ifG66VgB&3Dm%~0>VqzJ@rMWV zfU?lB`s_Gl6DLMhMou#VFOv$Otq2Z=)%(h#MsfJ2i+rhKkc89Z;+EY^w zJE+NPTNjU=^vuKQSd#_Thl4-;H&m*HE{HU#6;(b+cl|0y2%rv-(P>=+y&oaOT1X8> zI)v~&n$dlm(XNDn&~)PnF=1va@7-Ub&I~lar=s1m0S-@~mV7Spzn3ZX z84CJcO`;1I39g?}Bw<0d2D0m0MMn75u5VPAsaEE??HBC`h7yfEL#WOT_}VibMB8OT&L+whMeVUxcGWvong1wVbd*oUlwb4 zk(R7lXeFYSKImxsC<@oeyTrCZRks$}J^J48;f3PEtM9c@217YtXVP)JsyPeYd8We# zo((dgZlIZ@uFZve@bnCxa=P|opXSO$wXCrl+~DGUsH#$F6O__80P5GGPaIaI0=5a@ zT0g%5?1{P*HiRj)r}bMWGEL9<|A2)yG>arfNr;A8dRC-HQUCjup@9*!vl-JinXQM> z0e}&+K7xMFMA=*iup1hA>>7h?&*@7k`qa{qX5XM}k{CGhgB_pk&R@;6g83&i5gO;b z4WdOxJtAl#OCexUz@$$YebgWzXw>j2c{croV1bI*dQb}XjDo&X`m17M&Tm#gExpV{ z3rGP0GKK$Yb44fvm|R>^(8)*uEqKEeTZ z=QbLPy>>_lHNi-mYLDul_A8?UFRw+S;2kTQwF6vjXrr6#HTPz1$oyHf z8WNgnxj8sarjGdxF!7o^ZFpG)vXjB5dinPGpR4~RgOaEwyBX$zQ;v`FteIeo6ua&% z%VXycRLYchpfcfEs)$COb*M+0tWCI>t4_wecLn@J{Hotg+jFp)X8lZ}UkAbTV3qK@ zme>`U)BJhL7Tsd1z8umuFzchBxps#6C$ZVEL@k@ z!@6{7IZb3!<`WLGK95PPm*Ut`l^glARz9smTb^Mw=#eBFO+!0YHA$-jr4%()CV|e# zt8Ls+0sjiQinl zHm`?z|?c=6Puc+mJq3jm5JVE@U?{K0;(T72au>{2liLK3K!DbCL`w=^aSl6&F z;$e88hCzT%Gjr(@5X)Uy6K;abSjjYIxS3&FXr*;A)yXuR#0A_TYaMmiCPPR>Z7a(x z*IzysVOSTPgdrQctX|j< zbkl)7z~t)Nppqj@WUW* zfpsCFkv10(`D8b&_$rdphmxzMd)dpDeX1c6x#VZ-E@K{+wn~1IK7J6?o6mHGnWm*f zenq#i0hG9Qr98`Yi}}GOUQc+hKn`+$0ul;+z;&~TQ&yC+L1g}sYlMLiu8f_~0+%8V zOEp(eF_*3t?E~9^E|KS%Z_Gt&5r}BDQLM%{uHrbLfJ6^I_?7m95Ty7_{t#YI-XeOA zbVL`yG2YK~b?tB4sxoPdVn0*kcET|ZxhD&Ea$C#eOxGvgU%@wzvIyeN%PdJz?UIE4 zsOisT2{Al>E8?_KpM^X7-r&xjjIGA$=sJ$2v?FB4pVKs(0>#eA-m=J~ z&JI#*GHn(9j^27gT_7nsDElu8F!dC;&J~EHZIAY;I3~Ik^l@zBWr;`@<*fUu-(SmOu>mPY3VSsj(FbTLRnS&t zRkL(KvX)4ZxchL5^LUhJo77y}D#|z8M+u2aR@U_L9mb4kvrn{HOcSM0gI(|}Xi z)ja^n3M?aip{bZ$TPvu~oO)-oCMDvUK&zeMA*4_92Iz&-dbCLl-IBuaH(+iCG^$<0 zLTf2xAgM(D6Ibq_*SHpy#ci-44R}o1lr)N=$nc<07TWu(*nkFmu9o15G|m3Gjatc# zmqO4YV3>eyKNd>y9JZc*`w4?3vGWPez}EF7&L@I9e>;h@1(HR1N#HK=Bu*T~#3Zgs z8EuPGc(?tq*7{?#?J2n+YG5#;)}4;HO1)ydl@+~iwVfESKB5y29LZAApC@{)V*ZY- z3xvWkk-Sth&Hq@OY1MxZGL^DMvZ1x?0KC@1fZ{Q}8|K=>!R(?@!X z@|o=Gc-0WU-?7`^XvPMRVU9telw#Asz+`7g*fH#NSwB;%i8&b18h{W! ziUIV90q|K2fGQaA#Q-o$0WPKf(>53Y%>w23XmfXKFHsg4K#w+fw-`XTuGu^TfaI+a zgBk;{?|}gz;0l0bO9tRm4hUrRKD()inLr5>GXR8j*UeGG1}<4Zmv!zbNi0BSH{`;C z1=yz!762rYD3lS>8u3!Ot zDp`Q?t7s32s*8gz()_gNyd09k1xSC-F{jIxoE>7Gd-l*l@>(w~GDj)1vTIV#EpbA%fLt^Rij4|b`)pFRD zq`hQheeaY-C`I|m8$9x)A@Rm@e89sERhWQgJVh8Xm|7vfZ9zRSGO;|lAgQ5^%SRx! zA;F_D>;kUyOdbKvcCD^Sp!e;NSTPs}(#xy{Fj|%j`vyxa=#laON!0GxPx*yM){ep4 ztdm#u*~l%A7O&nhd0pT6IJN;9d#ti!^0F^LqOZ5|PmJUbUi`qtRe}qx69KYAvgU`@ zMj!9D+GCE3edg+s^R8C2i#2AhT;kP7nrxi+bG^i456<0c(@utB-w4N&RggqvsN=4( zXP?mGchL5cA4L1cmlZq9BgC?*Jg8o>D5VVx1hS%L)vqGN2SK*rW?_RN!ReZ!@q)Aq z7#Jy(Qskn<1838RKcZ2y^(>ME!Wz;(~#CYPVo&zw&4??`ffmo0pudt-6$r9C*aJ* zT&WXZ-Py!7ZOFnt1F}81T^R9H%_I937T4o%qGiUiJV}%p&39OsI0FH>A|!ie0Mgw7Kvd9 zzzh6E@^Q)Mp!01EAG2&?vO$jl4v$ceYi0zgRr9bFwMm6Mts=sasHa>%8P%ihBY}>m zSFPP-+xu7Bndz$wU`+Ll{5RlNSk3>0$V5=r%Ku&m zlaSeHVKnH;F|DCq@{L%+*}*^N+r)$i+KslTJb=tDEai|a zd`p}g0CoQ;de$1VEfv0^^+mKH!Wm^sS~;b7?}tgjqD&dF_3^Su_qJsbNR4HbEYj`I zdj#uJACbOV$Rd^jC>S(gS0F>jEN2d~NKTfdoGbusVWhhhM!L}@csPMB!E~6WgptbD z!bsJ#cM+IZR0#BzR5DI$@=}SxVA~)_C6MLTQi)Vja|S@74pIq9HjG443F4lYN;rGk zQi;OTAuLHHC848}`MDPZ)|hxV2w)A&-9{=hqyyZZ9g(xygm=j)_SrBe3y>kuFaWV+ zQ9j`N5mrcD5af&QmQW-XGS{E~bQ8n^KK!r6f?!@GPbgDlGbOdg(>e>8xUtTNKa8xC zL!`z=!Up^k)zERo`wm)jBr8y`e|I6PmjnTxba|29*Xe0`6`uW;ju!miv^BglORE|7cj;@`*sAKAFg$}! zHB8L+nowbKOMD&cB^lQX(lLakUR*3#b={!AV-Xn;4rILsAsVRI0wsVqu7eT`1(o}* zw(6-^2x)-fuAs0R(PKkpQdrt{BVrMd>CA3KuQXz8?GtJ3)<7GleK=^(@XccyGJ|(x zYqRx-))`{F@km!DV9SF^$1)yiPPW^(vLW?$Ot)gl=miAfOvxZXnVFL86M7^8fnctU zV`V6TARQ?Zq)-;q)!;nQl?T{X=5ad0ro{7rB73fuJh#03_FUFYgdq~@vKXRs8dNZv z@TDto>#A6d?Fv4%Y;!ZP64-bfOKIUy;Hxkpya;RU9n-{GA8Tlmk2?EoZRM$^%Hr$5>_HE> zM5|0Ws=3n$jPsjQ;z_~ZQ<5kQQBh$9Jk3NSM0m4E7(z{h-AEpa=>^(>av)+pTRwL# zI}wWXP}oqid~hngSEM5b>OnVtr~OZ@y2TIkf+BzU;pf8Z7$BT+919^#b{2Xgv7uNM z49Zv)uiN-dtSS|&;y_b#FstTL!hLf(#4;cq90N^{L{uOe$jCTkjVz~#As0GQOS5Td z;C3HOEp!o9$J3QM3N|e=z+#8AbrY{KqqYtrwpj|VMrOk9V0F|hjRdJZ*Y{v+KtA1) zE3s8D))^gpgwN(QD6JzM7A@eT$1S;1SKG3!p42}p$-HHGGxo2uGq5B31UpiMHosL_ zj%A3b;zG=|G;66Fo`4LQwP+6)DsTZ&7A<)$%eJ0}qoLx7OX0-u3dq(Uf3jG3u`z}U zOM3=WvdCT~{T7$2NSqYy*%YwsnZmu*SYi^6^b9C$Qf#+{Y$%1Jhn-n%f`@r6EV80pE$5vg0%|J(C zGgQjWKv~!fc2bAU0L%LAo56^cjH?|-G$c&mO=Pf!Bl-{A4AA!^+icd?By9#ent$n%k3e; zq5hT|q->$}p6IAfH97Hke^g7U8h2E~ugjx4^+$CuU25lR(onh1X#VK1VIS)cG~PpY z%y$@1pXi8A{SnP^;g4v#vc|Jr?2l+pkkY=}<*CO5>Xj-1DuYI$`n3;fUgHB#K(~=z z;!_0JDa}xv(y2eC;qyAByTo@(t;$a6RHrn%L8mkehV&y_udQX5ghM-}k?p*#w{s}& zPS`t&1R_nNc$qCLN1pbs9a!Aqcs!W|A>FA0jDpoqp9I9>&~{`S7QJoW^N*{|rlaT& z97UB<&k9K0SRCJH$=^oH3`+q)*8YlD5<#3k-s>15I^eU0h60Yt$3@0KzL+lG^dTyu8i!5=^vEGQneHdK#Nu zF97oCyG)`mZy7cZhS)Y+kAO#+yg(fgkI`I0Ao#@EU|s3nO)48Bm_?Cw#Kwsh%9PF*mlyaJx_ zFdVxHM-YMG85OK%Y-dix!nDRt@>U-P0a_a%978sJ4Hy(d8^kbCObaSCY)m|@VkU;% zV1zK4CKzT!yb?XQKdrVgVskMIgmEKHoPRMG5K)JdPPT!dx_aEelsJL|FQW?tF3FLS z-28jds8F186zb~8PB|h|N+s2N3eZXqT@DENCEb(PPyK;H%nM=Yi^qnd`slB z=I~3fU6?a8WriZl}QJ0Ut{)?DXD68 z)GLj2oZEAKr-4`wDxhYLz6f^!P_T|xU7m7AoZ~MsL6Rw=Hbr{eQsm<@9Nig}sZ=p}qeKyRz0JtAKl7q)_6v*VCpt?4N-&{TV1}Z^FIQ-mO>}Wy9f|DhR#Yvf8l)zjT$_i<4nV>Wurjg~Nxz}5m|58a+Y}-sy4g~{p-9KVw)7i%3;GQ! z`TOfP)?6pG{GXtft@Im)Z|gUldC^{Pv%}q_7-^q@*y$*Ubmoxb z6W5d?o!!a*e)^38&}ntya4hv31M`2U-_U=Deq;M&+xiWaJMA-4Xo4iOWj0y@eO(m0-qUaMDdu(;F`8Ytq1%;yk3)xKX)W}ZKc=f zC@b`ucHeCRg_%mk*oIzXBN!nUdJQ!Lw{M?8evH8ROZc_3OdQh`!WLj}^pqUm%sw(* zZ=vJ|y@p8#y@rH~UE=sq-&P#oxYA6s=1 zHUZ7TCNS%wZ34=IUSk%<-+L1%lWUvfvk6L$Zz11*@Fp<5h6&n5h3EK8O&p*79XLLp zI`kSUcjz_6yf{}pvoMa(R`T1pu;*LpHLz!sHzmmio?eiN!}96%nqpfR?e}c8F-pP` zO(@TqOpqAsOUIQ7^cpfDVSHMWplGZM|GV)m!1CjGa zL_6Ri73PGp4lQLU@$WiH7I{Bu3nzEcMi*~9xS3vHmQmi~FgC_IaJvoXOBXv*!toA0 z%7NCjvy^$k)44*3CYeU=u-=LZ?hP-cEnc{uWfAb~{d{aanQDV0bX4TkBUHH=Ej~nj^IwkwkyBFD293N3 zOdsn}EIJPkbE#g2wU{q_#iXzQx<4d0WN3b)tN50zKQ-1Uk3dDRStNT2P0?#*O$Hp~ z>NhC`2;W@C!uldG=daE3u~(z~kXPwwd9#ba4(0MC_p#n5qdNREvlcMQ6=-8m=7l6LgF4d13m}!E(HIF3*SKiS zb+t(}_QX(|Rfg{9PV^Hb`zWY{mqB>iVO)0Unz3lkp&&+|^_!O{d}3sdrodYzLd|#D z*CDmEs`}t-)E>Vp##X~-uRVHmyx;z-_8H#qqmJJzKj!w^-+km``;V^JXV`sozZD<* z$mqvc{CBk1U;O3#zjE*U*ox8p{&T;N>@)iRxArE0P03@SAUY72~}F&Px#$-4US zNK2DMBIz#Gg(uymnz~EjSxYxwQ#YOjQ5K=J$Q3O2XpdOL>s}BwnnI(Ks8LbSE;$A{ z+gZ4&8j-9Rfl(_Xam^%GY9K9=-R|!_wWqP7k$WhW$(l)G(t}7b3?{pOFu+J=R5T*9 zw3o7jb|eK@2U=hhlf?{Gv314cGnSyG}xVj^$^ulGybt+nQ`h0Ba!CvYMHIUI?`BAK~a*w~OL43HF) z%3@3h=~1EsLrL5$h}RyECyk}>+Mv^-sh~FN)k05ddEVpR2DTV7A6;- zi@`VpD;hFHu*C>*;iMocD=>-{3A32RnFLS<`WQrVpfD&QRICb;1rtWVq_a>olL;MS ztmL%}mGY!OVy%n_zhCZ~&bd7|s(cZ%(@5GST2r5kJ zh)5VsG|VI@46$JEKwD8DssvgjGV>tWFoKy_Sl%|yBr_{FP!i9;{2u$O9T<8rQw!%_ z;%Kv!WB_w3gvx-0h;0(K6fn!j`apxcQLwIY5?(A3k?@R%2BX26MhprA=>$<@bz-8x z6fh(HoZ{}xa4LhAfXxvu%bOk)dI%Gw92$ZCzD%*4=#)qn2`@OXfKjCAP%6w$Sgou` zN+6XKK#h*0f~AA#2*h2L|96ELOqfX6IP;oEuqY^WF_D;o)iIWry?*|P0Yl7;iGtb0il%{000GCasK@~?vOv%Q zjUE$49qS0kW=5}!{1r8}J!082C=pb|iQ%#T(+0`QgRD92z!k|P$pV>wn0`uHmWjYtzU38FzY zl~XNmJNk3)2fYRT67JZ7V8`+{eqQ^(_7}u6?u?+{j2ipk0-4!cCENJ^H4*CzdIQ@R zS{jItdSHy;$OJ2iJz;SJzwKDuJTVL!+aUa&!W#^>zA)X`*7w&|H#UF9Y$|Wp#5SJy z%rg}1(+Jxj@T?MV&2w8Biyk}Xjuqt`;*iBJ4YAD(ub@K=J({KkQVsuo4Y1e?ofQ*_ zPnFal1jk3t9`Kj=UpohHTgL|CS2S%G9L_916X9D$(} zMhHaPL`2eI5d`7Y8cAWX;_#s_GKvWc86rK|X8rH+OSq?E_7Mb5PADn>MQH-!C};_T z8XpN~TbSV7eFP4_cw!(=N-Vx7jP1#ggB}0(quwt$adLR$GjK`B8ofiTWEIChM66i?Y;*hIm2&HB$A2FM&5(nn5iI{N>aSs&?X8))kxXJ-ev zsB+FqB%7HeS86Ot?>|fHAsx_spbm>l57r3|(m~qV+J6xnKB(D5!>xcP3EbXn&0nJa zm7>m|#?4@_GIuLiH!Bi{=b2S?a?A{528SspHbR|>)7iHB*V3B-2Uhk4LLE*| zJl%u*X8f%q>cO-qRy1$WGhn{M49BA9EO@*yV%STEYXA&qsYgf5K%)vFLNB(+It%rkrGH|_?8_Fs}Aq5>dw|~GeFzFUHZmO)^u3*G5B5u=XGWf zmI~WubBfq|JD8Ewt#D~Gm~S3fH5T?W*mI9W34}{77$?pxkVJ=@B}qLRDkib>INN!e zxmuAd@lnm+syqJOXj7aKZoefw?;?xB3hW`>j`(NS> z{v}@TpX1HhbI+V=&WxW)a)w(@6v%xhi5eZKJp+*gNyr$^KNbGE0NvazvlnF=HE9P+(AyQT5#dO zwQFi>jtGOs<}VE})i@yEUl+2CUa7(I)`Io1Wug#CdVLkWUSMHI!bU;^TH zNj_S?KEd+iotyP|5Bk4G`_JQx`P)`Qjwh+JLYXlz!va9Q@iYD(s-Q#R-zxzgR}=W_ zgFd!qMd4!%Az^qE6vA(U@J7UM`~vU>pBv&3H;#Y^K)nPB2*=b&5)ePojX(u}dIBW^ zoefkFXqz|z2?0GyBp_j+^cRc&0gC%s1{C+RjE~b#K>pn4 zCLlSWsvxzAKR;csi8UDgP#f_85}M*@Hn)ezbV<04K6 zSIn4KM@SHO2LptZfV!I@qyYUhvw(V`KW>%?y@2)w79sQ!_;Em6fVwY6=sC1!ZHJI1 z&To&A`VemxjgTAUW5ghI2HIZ|k5D1d7@(#gU%~-|WPy@SAS6j3 zpr5x8Iw?Xxw%-wIhkUjp9QqeMmG4&pL9v6enu!`!Em$p3&0lRQ=>fTc{E%#}W~vsZ z7Opl=?F#uCIYVV0=@L4P&XIFe(p1t_cB|}CQJ%U-rI1`sCLt9x6*Myqk&zmjj?~c% zq=7WiO!$?dHqt@5NDt{F12hZGMux};%|Ua)zm*A^hvuUN@Lye~$PE75!U9<$I3S@# zXfd)uw#W|IBM0P&oRBkeL9WORxuYe>19_sQ$P0NRALI)&bQ#P}f0&s8FdKtl1_YxJ z6pCml422^)ia-p+M3HC(ibC+|B#J??C=SJ=l_&wNLWyWKT7&ph>(LL?kDh`~dr&WW zfnK54=p}lG-l8|?8oG{dqCQlIhR|p90ewfqXcV=f$LIvgLZ{Ga(r&^NG=M&$Z)gzR zLub(yRE4Be&!Gxbj*g>TREE;XyUFQfKJqj&g&aWkATJ>Yl3mE2WIwVm*@rAemL<<3 z&m=375qTbY8F@L`o9s@ek%P(pWM?v+96}By2a%~{FY;2dE7^@4P7Wi>lf}tf$Q#K! z$h*kv$OZh}D4oBWKa0PXzZhNP&*tCHe}=z^f6CN4{$lKC+l zYCck!T7o7`T}vuNndD6N444M<5(hn4KlmvV)(@u1T^)^UVzGHV(I8 z-QlnV#*4#OSg-i$2~Zr!Tsc^9`=!LC;@tAF+;Uaicm$Y#IritAC!e20F^JlpA zZ{t!X*e9H?mdp1+y_gRM`CuBxt#?0A% zL%LvK;QVplK1m3t+#oSbmPyg_(C$n!}4lPkqZNo=x9h zXx?_StiyD;{M7z7g>vyF!Bfwxjv3s){PM(2q4-(DXk2QJ$X@yVl26Jc!q#fdj}YER4@x8W z2KEiPgog)E=!y??smYEg;KM+MAbr&-!sM$%!W%rVjr&yhFrVt&Un2ABa^?2KEu}xY zl{y1#v>r|PnAoy|YJdOxQc9u2U6*3xXjGo{RJZKD*{N>Z_KXMfBd*;$`F*IZC9I!j z@#7(5mi3m9yr#?kk62m)mc2^+2FvY5&)!Uw=$yBL=zP|UZ@QF}Smh>?_)T(gsOQCG zCQ0OeaOttmnhOU@vSJyqhF~eC0!o4bg}B7 z_|r@L2b&9`=Pqh}bs?_#$ON?xfh4)dEE%!DXB$m|_ACgCkjU{4OAu?6e12q9Bz^jM zBwBD(XtibfxcALj!ka@s5T^XB5v2Kf27GA4ThB63-K(^?i4IuXlGcs z_>rc>1N+IM7e3qa8~P^*nAN`X?_Sa!lJhQ=p|`S_F47bTyXbp*w7o{Jv8j0b(T6jY&Ug9b*909> z`w;l%a8_81XnF+S89|Z53k@Y-Cx-|{jrT;v4YpMovI&=;p4Ti`HD~fA@k6Q2yCo`H zdrRIuPE_gc5WC;pvdR4E{lTvnJ3|>skCgAoRj&6@EB*W=E}t2Jxuu(a(Jecx zXd2P5=}Nj_`<)q{UG7yO4^_1jf-hdSrCj5i9O}16lc`};DOPkmRlIg`H_=^9@__ z1YItL*nL${i9D7_&aLYS+;u$pOsBBMyFR8|3q0`kr-y z{A96~5#&&fk4X;Uht_UZ({H+}w4~UzOxj&`U94W$ zo$jOiKVSY{x@r36(F)V2v)}hSuo_a;dm?V#%=XATN1rUfuR#h7*8Xn%EwtM2*ol-O z-RGCmm&8f67wKu{-}@e{u%^Oq&E&&cPeLBaZQ_&i(aH1hUwq?wo%oETk#KvP{F-Ou zwx8N0m-%(J^PywT2ipus9}l=3bh4YUN+dFBO6~lPf@Hz+`zK>nbDla_-cd&b0SuFE zLL*1+_LXIyNm}t5%`|EXu`v)^&>Exbm0z{`z4Ea2zJ#!zmP0c;ihlO(RdUJ9OPIC3 zvv+ZQ-v%v-T+I!3yX;>)FccO%D!~kNH?6xZv+DR6rS}3lJ`I7kX`62KwpZk>vz**d z;UlFA+=!T-o9bbD_kvn?VZYMlc2#HTcxrg8(&sz+Kk`2>Ign8H!*JfZLvC|?Y8u!0 zpE_HlB~JVx7w%8V*I7S(`{L&Vbx-VaM>c71OHpvWeQAx6;P>|Zrq%f)Ex|*I8Gh+2 zmrEJ9DQNm#oM}239=2+)WTxT5<9!lKuf^mlk_~pPG9B)0epl63yzS^-jn5DA9MWZa zp3igdNb;&*U4MDKb!MlXm`Id_E@Ps|YoqN>P0nwVj|`jDW*?pAj2>N=GpWdY94kBS zpaUzcZ2lX$5y9;&BfF`OS43KsK5Zi`Jvk6OpOM+PTm4YZm+4XxD=3;_vbn*vWdnXE zyViW~SvaS9v-gJ-?N3FQY<6YTwY_N>DcGuzFR!+I`&x_JS|%s9$@$is`g{r%^xrMP zSJsebx$fLh>K&rbjn4rKe4N#~mBP)gw5z?GkfyXVGCx8}{If?KZQkUrx&%^bR{y3E z^9vORr&D1Xsy4U}825-QOYC5nT-sZ|=Y3x0V4&D@DY9--%)8YZkIq;-RBbVAuDvT! zoGoCgC}O^975!f4!jye|OJDls4lbI!YwuKLyT(ed$efP!`Gn|J!C-0Y%&G6uA*+mA zZEuWs3~XPXcSKh8bvDad<@KZfkfw?qL$SjVg$_rB#l#i3@8E>PxIrdRX?Y_g8PJZzCF5xFt z9X3aHvcXALlKa*D5hIK)kAq?k@4H@!HI(kWx=D((xgyRg`_9X`J)d{_YLuycq^~pE zJE}&ED^&`RVL3Nc%nm>I0I&b0>z=j`3Km75+2oP+R3fzhO3Jnc!Jkt=@BY?=cHe6Z7$|WtrE$&;J~fRUw=I(oo}D z{-qmQ3c5#A&GHkycB(y_)SgYavxel!P|GYXjnLfwads|k+F`AQo3G_{I?KjxRI~pa zJlGql>ss-?Ir;OdH;w1NOUetaURt(%y?@*!2A!_s?ag?U-q4O+G8ryISMD{>5_U zir4c}vdyn_5GNVWZFVUT+ApHl>y%k?@y%Bw7Zc|P(g%f?esnnAb?WW#vPE+XTUWAP zEje`3qUDazWH+6r*6aD{DORqQ(`p4?BwF<88r^u1z+7ycS9g~#dDJoWq4zVlt$cw6 z%W`{PjC`aLH7>t3@$X?gEU|gHQ&u`OqPF|zhjp9RNO@|1wH}I%KdCzZ<3aeeD8BOc zCvBxYF}H77p3f*()Q$@;&QZBBpkAw-oi(!Lr>gP>&r>!kb|-6P*2?FD-2%Q{dB?b{Mq}~hVN}0-DB609j;ThGUmrivy=?7wPg1trDmP-}q=BhvMW!-cwIh?ywFV=Q$-~nv| zhxo>1<$ZZe53II-+pv3@ZBfwmAAQ?TtN2r__vxojJ)+30)pT5U{PT@4Q`3XV{*ftH z*4K3}c{bUriZ4&hIrucWV6$}GvfkT+MFI&~KJ>1~c`2c(=I@Gyb0qn_7lnyLXK$}k zv*{1W%o4u;!9ISb_MQU=6IXp-^et`DV9uH~-!~mQ=5Rl9WS8qfMKu%?yaTub^-6!S@wSH?9cnMCW|-&}U-fh#xG#fu+gPP(U<{5`}m>{x{V_B9>)L5hM!sU!J)lnmJe z`=U=Y#LKO9*!|_E^6Kvb8*pQ zeGQuTgNANlqYJHSZH|G_b7xk5Xt^VtIq%fD?pv0VQpjrcVvY4HyhvHA;;x$CA#0PQ zvaVgt9@KoYw@(&<0SFk;mrkHW)%TU|uK#$kTup}f_GaXRP}MYs@$GxsnKrunKV-XFMcZHesFu|} zENpJ*jsz2Gt4Sj_L}Td?qy7u_tB>TH-X?gKlo31~0jhq&Sj#-y%iaAZVf3Q~U+p4J* zIeSd~wbvYPOH9M--=ZOVbN#M)_c!_+bZeY0%-Zqh{E%?TtkZUhyGci#r20BHUZQw) z&(xnJyRFzIR6au{t5Rm~*J)<01{>;DA8?tt!1c?nD}yn1Jn2&@iisJBj;?(y>I$i+NHz9GxJXz`?iKQ zclGQExqh)-5|2J4@7r47s3#e;`r?i0mnJx64eV6xQJZln*SoCjWt!4F`mN1O9fHcs z&AA`uUh{XaG&Q+9!2dopZ1Ik7wqlEX@9b2pJ9@j_UqRvd({67a%cWh>U1CS7;&-&w zzB-p7Y_BQp))w!&KXP=4YVB8YzUPs_r-ZGM3m!|Fm^*66Z+&^@M|0G-Duw&2!!$g~ zW;}U6FYihi^X-b;FHcDJHVgLLyKki#=eA4!Q$|aRn~dj{n`W{W%(~?ZNBR_pd?@=b zT-EOg3MppYEeg^l$~-Gtwk7{dhPF|8fBD4GsgriCTDh)vPNACR!1|LL&fD@4HKg}@ z&>k(gH#Pg*ASFUHw%2eMIeWzL#LI>qS8|cYd>x;B27Q-Y|MWK-Zw5`D>e!QbSt+Yz z%E8!;hka)|8Fv)OW^Vb=EjX?;Ymd&iQ2m@W207p7f0azkaP7=%JFrT_wdTo6X^}-g zy<=Lt6e?L>M|%53yR@BB#FXyXEp7|HeLH3F*iLIt`D@14=WHGftl~dA{Kk~BJX~g2 zXOD~i*72>h@uquE6xVllO@DE8!g~Knj*|_%k}HaKTv`~_xca~+J2n1n;ek^s7HLKV z1O{LuL9Dg@R-P-=sITon8M*^Z{TkapW?(-hxi4eBtch0kw1 zHLP+ih>0FDTp%1Qx4O1EZFs+T%@wyFR*L6uy;x4A`*$q(Y_R{6b5YCInmxPBgT~7$ z{517!URuB5$s@v5jl@k>EBaamub8?z)HO#*N<@F!=J7WB=8?rJ6r)4$r~a59mwo#5 zv|c(P>%3HY(m=;-0ou9?o*H%{O{4MK<;pK=rOkO+QnN}`+DdnM5|y=w{Pas>RY8$} zf??lb+Ram*jgBhfOOyiYKOUS>M!6CeSwH`+rXM4(=X-yA%Ss&+`R<%53#;!xwmeHL z8Cu~xw6MJ+GRR?z!G+i34iV>cJ-B<+%Qr(nRC(En6!)pRc@z8hYNQv6uWVX*_9xL+ zeUA0|)T)|CvTxQ)7lz-8AlYrr-gH}HMDduT;T3tj{x@egSlpkttKRLP&qkK;^v0p{ zZ+4uXRU%Bv=bdEAscK4XA<8TGd*G` zukW>-&C$-%|8|BrT>9b)oG;m$@X0{(@q$Qg zM{|=iFSo{ji)#L{`o2O{nTJN$y!TILFvG6oy}Z5R?Tuv;r<}gl^(le@ICRZJ#dhM4 zt#=BHZXMO6J1V4{mYA#DVO?1&MI2DITOXFZuI8N3#fh57OFnncO3 z^Yc1gGc;BmXj}QD#`WhS5$Ueh7;i6DrGjXG?~xQI?Jm1JN@BOe+ZG=iOt~%ZX}xpK zb>nMQfrFdh44>r>UrsUIqcbcseyhHV>3CXeeesFCFQ#{O`mdjG)L^pXq@s#suc(EW zc6>Upx-pwy%}(XifH1)*&0SeF3OB+ z+VO0fZF@-88^viyn6ghv|zo%wv%lIJkU8X-3Wb2nUdlDW!*{~^5<7#W)3M*IBD}qtYbq=4RB_y-o zdTdi!eB|c)Lq?Ri`9G#kJAFDki$L#9N|!n>FuP;G^TIk>lZc&$-1hjSIk8MR zPj{-j#@_ykE5!@bf1X|0G)LW*Se3fo`i<(C)Teml5Z#||sA|Zdp&=Ify zcdnP75buX4z1q|nAePfE`1~8?g=AuR@)K>*pouQ$#lP~)56C26-#OCGVki!;6#ban z_*y|rX6xs*CquQfeC4kWz8cnyGdgsQygq>}wtdPiulb{-?w%u!DISS)KYWmF%e4G7 zPwl|ImS~+=eQ&Z%r*Qg5qg2PV2amr-`dMGrEtHkKw{&;Q#gb~OtH)cWVQKlpb~j^z z;_}c!ciV|_^G;c1b~@FruF6bnSY}pr)%g5CT!&@&+0xv(ic49&&(#l?xZaG_+nIYH zaIS59FT6*4X8fweg9p;SE&9GDXK>Q7P2bl<-gh{5&~?{H3{q1}TDu{d zt~D!TQ*Qqk+VFC@E$vI9LXw}Qr|>Tr3~<>Z^`ha1v+#j61y7Z;S|l7M=)Vb6_Tbk$ zQ_^1oA1C$J%zA$?*jM>RQ^hAoiS9{?WedLR7kJD13zhxsd-PDch(70L=$^%D##7JS zE+1`BeQTppQ*Gg>wfobBdRg^5>efeRcFi@m)C=Ens$;;Vepb~Bwbrx&bK_c{tR|~X zR~JsyC7loNTW>bk**~``h0k)pfcvI51mFP%RR&(>GSO=|g? zytQOv`$CTqm#4F2_}yEdC%&%`)3)|~l5=Q*$iuUseEVj z9~Uit;7!vo67FtjQ)|62H#*R<HAZmNxm0 z`L!%5lICFcRoTA1PretCkhK0tz)yd>BxOgl7w;9n2u?bv5%lTC;bi`jIRkHcQ^f@X z-5C9Py*q`K-@Sg};3X>2urc)M0sXDUR=0**Cnm}-Ogo;?R6FsI-hk3*S5@wmS#x6( zJHo4vXvqeBspIZ6Fk2l{EWmH2SMBX-Lq}gO@-^>26U)Mg`$~8;v z<3)4f;r2XlC&NXLcf04LPAgtExURDx%W$3#`Sr4*IKQeTUY;FS#GV*Cr_5Vg)xE7W zgg@%$7ME-40qqL5DajXd>A9yGlZMA@)7IX#-=r0v7wP)=`Z4$ux%`f3|nk zjqFWseqYh}X4PkT$?xaOmaZ0}Um01hLk>^-TL1c{Pg;ck4%Wb&I)`AE^o2gn!eRdn z)X6=MX4g4Pc{=TmwON$iyS=*_N*3qB-zp{dCG;(`ZJ)X|$1_3W=e?E@MVIX* zQy*3PS9|ZT-TPQiHrkiw`TExBbt1N-s>^SC3{}`mRwmV3(I|_QZW&!IQff7O6Tai% zymH2*AmurS@7#E#n6csczOE&L6E}T!PSa5-l#UC~+FV-PDD*_`!1~2kR}rMPTW$04 zJuS*VI=JJk`grjV@pq3KUYM!E5KlN=-?4xCv9#=S_pL2w?&y^{OV)p{v3dow{9<;> zyw}8zE9T8}jVJ9FDsXY?)f0Jhu_V*P#pvrn=?BgZAD0ThJ=Jx5?xJPGtd*^WCl4)o zC3L67qDjYXa(e#tR!di_lotZE({%eR5)&TWFv>Gt%#@_xt$Ud2cyz1VGw)>ufqWw` zdUG|1)Q|oqZ!ecTWc0}Hd}&h~5h}gz!_RI{sWqF2tiNijo{W#B9sD@IGM+_M(*AV& z*6o-*Z!HE7z(IEE&nl-k_}dQ^n?#=jUAVxZ+tCuLiUk9Jso!SXVA! zcBrp!rRw&|1*_CwUTz*0owMyidxm5D>&L&auG)Vt%};(vU+kz~Z~qix zcI=jh6?=r!n`=^yi6qGYrzy!Z_WvNRFgcs_;LT$Gb?pkX;t?2ttUUd#(N2Z;7Oa?i zus^-D#`gNc@FUZ!47x7Q7!mP4bLuR70J!??1$U#SY05qNCl^@+O?|s((}_#he8xqM zFWsq;|4t++L}F`)mI2?cZ}&Fb@Y*auNu_R_d*_?Xmr3%wFO)jU3Np^^SvGCA@`R6( z#~hs16rOLscA$Llh&f$tZOyFY8J0&}8?IfK|KyYkAOE${&1}||W!;?qb>8xRov!YJ z9b3HQeZn4^O1ry?)m>_KqxQIeE9AR>;%WEF;Mwzs7wipRyU%RvXrow3^v1_ah90lw zkBZ58@c>kw{m{{Ms8@uDe z8HZbr1FyX_w>2qmR6WxA#4a`N$Aff~Y{XPlUQ@6KzQCN|iwG7joBd{5XQaS8tWZ=ZaE^}Ui7vB}Lvx_$=l z_ulo`m$zkjL67-iuMUApKb*zZ9twA8(pTGDyhQ1$yL6eWUhF#AquqD9zF+>lfAjQB zrB6*OMjiU!&sI-uVBNeG(Q_`(Bb#4fGCequr18!8yY?}^>QLRGloLzRFFh}6mx{ZW zuc^02A^7{`HGUN#PqYs6ZIXMGr{g1aW3j)-4Dq___TeK*&ua2*Hl5l&ZuZwqIp<@C zoJS4Y4jyzFc)V(Yozs-4NRfh$`L*}U1(S1BV^7|(ba)ytfYgPynK1h99vMkGlU+6w zy(>LapSJ3 zM`~fW+J*MZO8xQD&Z^{bYkcOMJ>|cKD6UoHA1?P{ zy-q&m`Qq)|RQ0~qAGS+s% zk;hZ*j7qH{S1cv8J)IvsaB_EJCgV%aA@vm!QqyI_G%01Z!MR;0{RS5Hd|%_exq8kg z?UWC@Y%UeOX{*cFS}@Y0CZDfhv3C3N6DC@>>wV?6g?{oemDuesnAT9nH*{{Dr4R8= z>VkmJH@elFeXf{=D@}N*)*iW2DNS4|BA*uL@wu*R^1Q54QiA!&rvB*%D=us?cuyU0 zZ%|z((qnAG=t$gCzxUE$X5M?L=VE~|NxI}m8mr$`Iar^mZ8qGJT`X}|MA1}$zG{_u z%EHcjFPHZ1TQr#KH+Ao>$(4C(Z1t?#F1T4z`tLdI{}ZY|$FutQb$ zNS-w-`*r`L*D5?iTvV@_DL)JcQMvRB zH9y=Ua>-tEO+jMCi_2O?F3$O8Ubvs$QFgQKT=}r6{sa0mt8U+z$88dgx%cLKsXf#^ z=hB6YZ?wCtt7@XisT2(rdtAJx+IS`7z~zclsA6-t|B3vi_u&_X^f0_<6ar4qp zd+DnbrQA!wTJvKc!{6=fSRuH-nN(b*B9tZ2oHA|QiR_tBvW-CdYngO%VtMQ;>Yjz?Wqohl%>YSE_buaQS|*X z-KVzQr_AO*$Y?)#?^;Al+t7ClT7TFq#={?ZAzQ2;`Co3b6wqQB@GJG66}4a9DUo>7 znYd!!bUw4Qm10s-H^oVtJVT4gBxdr((%}0dcPY=0E$bSVobmAH{`{u>Q|sGvio7n) zpQv3VvA(3j*QELiJ#XN066s*o#Y_B`o{C2oG#`A`x@hi^=C}(29cmL;kL8k{1&Yb+ z2{PFz5fQc^AEfnFy_pY>ZujXruXHG=CjU*~2ep{6tiyZ}>7s{41kb#dG+Y=Z6p~Ctp5rsB zY&Sf;oFKcZK=Zu#rO9)4H>V!zZLO3@eEhCNtfO0HQ%m#x!TV3mLpv{iReqGjSYIi3 z=X0r=4>LdRiG0bTxGlooeWT;TB7+4@Zb=iwe0Nfhj(!a|Posp7w#d;NtujTQ#GtSDFlociIKh-Mc(zs6Gs-x)_|GeT`y!*)Mc5 zp9WKNPmx%qQLT9Dac^SxWG%jTDV$#lVJq-wmca4iauN78 zyePCQ2Ca+3H$uT9CVX$4^PO>Cet#jH*%=^(WQAEsMo1Z+;mg#*x(JC>BPk*H2D-36 zfCPLdP@I1qz!dl%NQZCS3oix0N1-CS(0Cyec#a3m0lo=I3&A(%h2cxu!s@{11BD8N zw*VFc{~pQA7s!PZ0rP-=0ONsgzzfp>pb?SFK*a$&0QSIth4S!CSz%Xz478sG?W@9b z6hI%+uR;6pO95f{7C(5dMpYSDr;R#4en2*5GKYV##7`9fCTU`Cam;Hswz@G(*<&_Mu z0{#`0$NGm~UkED!e~_#H)xggO{t;LI5x~Q06S)Eu&!-fC1MuIVJk~#+Gvi_WwOswP zfCoK@)N%EXWvU8%Hc*^D319(yAC$-X_W^*MMfP&_zY2I0;M=(R4+kFRwa6u)cs^|h z*a80;%H#2P0w(^Z|2W`{ApI^^{~^Fn2mU-z+}>uuBH-Ubc`Q%()rl~yTalw&{jUXn zA@E&X{WF2r0lpF_o=-agPQd@<>i^%?|5d0T>)#(hg8avUBEUL;DezAq9qWH7Kpyxs zuKweJp9B0ouKq)TR|mcTDAv~&z+&JBp*+_Azpek9T>S?@o@tQ(3{aeZBft{)ekhOY z^93jZe}Jq1MBwKE|B$PHI`A`rF9j+N*a5Hyei+JQeg50}zs}Wv0OXkp`A-4m18e}8 z1K$hfu|B*3lYr0Q>OTQ^W8ho4`VRwM1NdT~Sf1Mew!nXa@>u`>w*K#M^&bp*)F6Kz zP%Q6F0Bhg}pgh+9GQbqzk8t(B2KWWQcXIX50A3sT3ZRmJRDdJ!Bmc4fYoUJJUkX44 z@@D}h0M-M{fPV(*xIbP11>n>Fvi@7R`lmtq3`oBS6!&*4zy|n_P#){^-`0NvSN~MV zLx%jhK(V}%0an1jhVoedegGxl4{`Os8u;yOg zKZ>N_HyIO&1j2ZtG@48#NJ$fkNP$QYm_Rf`N<@OG6pL=~h+B#>l?B4`qk zAS_2*55K2EP@WIUuZQvqxV*eHQ3#h8oIs@D^8Qjp0bHJ6mZ*oz>&g%%aCvb#;#GEe zemI*D;hZ7_hD8KUD`Id;83$*W@$k#F$w(P~DWwU&hBAR)Jh{QImRKkWWuaR144;A6 z0iT_Ie@R1G{F33m#zRf`CChzHfM3YrmlSG%Urga&knq9D2=@V>mn5L10#bqBV41=1 zq}HRWh(K6RfI}8PL4Y7g5C$KAQUrMdiJ(g`CHUhG@Y?3J$!iO@AqTIC@REm@0=y={ zYcjkP;iUvGQ+Oc)AHRSAkthg32!b#-h;W1GUxL_Qg7|*~iT?W`%c=F^?o?LnKFXH_h`xkNljr|YtPx>$MJ3AAQ^Ah;I6|Cne z0I*J|$(?|jAPxuE)!1?P+1Y~=Hy)nB3bKPZ*o_?kd%$hLOu#t+9q1f&8S z0e1n~fb#$b;4NSZ;3!}jpbM}7PzhKA_zA$jkX{ck16&2D0FDDFfF}THKpMaWa1Wpd zC;+Sg3<5*|TLCtJn}8XBGXNT(AD{p@0Pq4l1k44L0#*Ws0YpGDzzT33Kn9!wPyxMw z34jd15~1Na1x0HgpM0CxadfIL71U;v;5I0EnkbOPoBDgdhiBY^QRg7E|q zlnyipe;aKfEoZb0D2MVMW8I8ETA8OegrB8R1D~Lpxc4k0ks3#0JH(9CQwbF zxj=J)h64=;`WonKpp$`426_nSA)r1$eSmfV?Eq>5)C6c5&@!N_fUW}i9q4zUc-ImF zx*6zZpo@Sm0$LBW9_VzS(}A7_dKzd5&=8<6fW81a5$Hsq`+)8P>Iu{nXgkn$phiHA zfR+F)0U8H14(J!4Ux1DSIu7VgpgVy&0d)e}2(%HX4p1GS7l2*>$^^;;`VQzjpvpj% zfgS^T4Cr#8%Yk+S?FPCK=t7`XK&ybR1-cgKD9}-$*bc50Qhs5NdQ5B96%B<1%N#lNCQLw3IP0?0FVGE0r&yq0b+p303pCc z!2j2PE#~jw1O9iwX%^b}1vrhv7=8h_^gDq49|Nx~UK_l+d3EyYf?ET~0&9;0EJ+Nk zQ4F|sumPuK7(4hz-~vwXAe;aH0`4d7BX2)}(+C`~MFd5OVglm)65yHu??`_JJVstQ zJT5#Y-dOM$aNlu%;id(11N;pD;C2l20U;7V9RQ!M!5l=$6acqxO_68gAXyaPz7L*;d01uo}(_)ye>9|049F7TT|c z_G_X2T4=u(+OLK7YoYyGXulTPuZ8w&q5WEDzXjT_h4yPfnq}a11Imj-d2uK&-jNwh zKyyN1tX%)3;Cb+ugH0RoEEYnclLA(PD?k>wx&hZfRAkAF0QY2E*P`H_2b{UFJ-vXN zS@47den7FOCXS0xQgrl6Ddk3yhYHWvE#Mh{Q_d=i9BC2 zE5}l>7b@^I#PMaz^| z+xITl!7>bk<9;z9hP4uWK7lV*uG>b|N^ndZ0WNsxbnG~ZlZ)p_jRx)>V;JC1kj8dT z1qC@CG+E%i6;)ESL-i_-w-d zz_3iCK?S5pDmCgi(P2M9;94jq`p?Y4;5RY|EoOobCh*_~4r>`>4E9Mx0rzfLJ!U~c zP%(Bm%yu+s9)%sFk|Jp!F&iBxu5x+$;En+_0)BdMF=P&o39)Zr_Sm>ikbdcp6VIIj zzm#YLZjye}sXO)%#TEox=vLsN5qpaSXOP_HdD7%LRzhZ64@(>uQ*4cc%Ua~d_ACru zkg<@#Wg;_@JwMo96~{8U!~9^oCLZ&m#2!3X2QX50Pky-)g}#od)f_zS{v{dDD{!m@ z4uN=65@+Ix#~M3%8k>=5tZm#u7A}g#_j?OtGb;$D2wS#sY*$6hK=@u9csj$rII%Y+ z>{JT8x3N_Sjx%Fv%or94bWFvI<&Txc@eBx2*5E0VJ&|yE8aVZ1`)uZ{Ht^?*JuYD% z$}nmU3$wOJ)yzY)1SM{mb>F8@mf^ z8UE?~ioF(oy#?Z3S{n7O0UMhkNxa(t_i|4E6_DCc$7|NgN52 zSfMe|Y%}$1SKv7*2PH>FF+^0U2@hBCohFKkL+jiHb$cm9yVsT^hf5`Z1V z;E4>bE%Ew6Jf7`Z6jmtMRZb-K-x);>bB=xR;f)A~Q+z(?J)xMmgGeSM2`cgL z5g0}F{CfOig5`vrgth#)1T@hj!3)To-;w_@K~i7>IxZ+d*aLr8WR74EUpe0>pCA7V z0WqOQz6RnuVh8aF-xNVBzGSq4kIv5&7(^fW<%ti`BYt~9cfM7GBm5O`bZ|iv_{z{l z{s_2pBn#*ehXv*!D#4m?43!Ax5LkR}zYaX?KK}Qc3e?I8I&eh!dzdY-NWfz(4=+9Q zZ!zF~g6L0V5Gio5X&mdtO~HP_VZkXvbA@b#mhq0Z>`D~iGz}l(;Ac1v;eb!u>?1a& za0d|;g>-&VAvn;9h`}*SL=etLVn`5|;g)3Qg^er~C?V*c}US z_yx~r_)UZp4e#(zS5Mzy)@(zgIdjd-EiA3TacWN;QS7}iI4BH^h$N|lw|jV;flZ+$ z4cu%-k<2OJj+X5f+C3Cbr!0~kof5->T~QR@TX;c~MAEV#aRS@pInSLSHdCBGKmmVs zgN3t&a!+#3_UmxI4Ed)`6DR60+ zAu8%h#lD_lZ-GCZ0Zzx~;me09N4?t2sE`HPzpD@Zseh85wjO*_WrnB)Gjb*P%MJyn zqZTtr`ntLXTKc;Bv;KQ-a2f*TW3{pU@S2&sIoU69x3c#lIXaQRZKbqT;qsi;4|NU4!RJn1K34l zmmJIVSA&jy3F0u8;s4Z zhj%fd<~@XQ(fCRky*wDa;e!KRmawK+Kny)xi*s$%9QPZe1zuh?^YYb83|THD;WON3ao3*aZyz6 TiqXQS5|*Yg3oMHkOu_#H+m9ju diff --git a/thirdparty/libzip-1.11.3/build-emcmake/src/zipmerge.js b/thirdparty/libzip-1.11.3/build-emcmake/src/zipmerge.js deleted file mode 100644 index a7cf44a..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/src/zipmerge.js +++ /dev/null @@ -1,4814 +0,0 @@ -// include: shell.js -// The Module object: Our interface to the outside world. We import -// and export values on it. There are various ways Module can be used: -// 1. Not defined. We create it here -// 2. A function parameter, function(moduleArg) => Promise -// 3. pre-run appended it, var Module = {}; ..generated code.. -// 4. External script tag defines var Module. -// We need to check if Module already exists (e.g. case 3 above). -// Substitution will be replaced with actual code on later stage of the build, -// this way Closure Compiler will not mangle it (e.g. case 4. above). -// Note that if you want to run closure, and also to use Module -// after the generated code, you will need to define var Module = {}; -// before the code. Then that object will be used in the code, and you -// can continue to use Module afterwards as well. -var Module = typeof Module != 'undefined' ? Module : {}; - -// Determine the runtime environment we are in. You can customize this by -// setting the ENVIRONMENT setting at compile time (see settings.js). - -// Attempt to auto-detect the environment -var ENVIRONMENT_IS_WEB = typeof window == 'object'; -var ENVIRONMENT_IS_WORKER = typeof WorkerGlobalScope != 'undefined'; -// N.b. Electron.js environment is simultaneously a NODE-environment, but -// also a web environment. -var ENVIRONMENT_IS_NODE = typeof process == 'object' && typeof process.versions == 'object' && typeof process.versions.node == 'string' && process.type != 'renderer'; -var ENVIRONMENT_IS_SHELL = !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_NODE && !ENVIRONMENT_IS_WORKER; - -if (ENVIRONMENT_IS_NODE) { - -} - -// --pre-jses are emitted after the Module integration code, so that they can -// refer to Module (if they choose; they can also define Module) - - -// Sometimes an existing Module object exists with properties -// meant to overwrite the default module functionality. Here -// we collect those properties and reapply _after_ we configure -// the current environment's defaults to avoid having to be so -// defensive during initialization. -var moduleOverrides = {...Module}; - -var arguments_ = []; -var thisProgram = './this.program'; -var quit_ = (status, toThrow) => { - throw toThrow; -}; - -// `/` should be present at the end if `scriptDirectory` is not empty -var scriptDirectory = ''; -function locateFile(path) { - if (Module['locateFile']) { - return Module['locateFile'](path, scriptDirectory); - } - return scriptDirectory + path; -} - -// Hooks that are implemented differently in different runtime environments. -var readAsync, readBinary; - -if (ENVIRONMENT_IS_NODE) { - if (typeof process == 'undefined' || !process.release || process.release.name !== 'node') throw new Error('not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)'); - - var nodeVersion = process.versions.node; - var numericVersion = nodeVersion.split('.').slice(0, 3); - numericVersion = (numericVersion[0] * 10000) + (numericVersion[1] * 100) + (numericVersion[2].split('-')[0] * 1); - var minVersion = 160000; - if (numericVersion < 160000) { - throw new Error('This emscripten-generated code requires node v16.0.0 (detected v' + nodeVersion + ')'); - } - - // These modules will usually be used on Node.js. Load them eagerly to avoid - // the complexity of lazy-loading. - var fs = require('fs'); - var nodePath = require('path'); - - scriptDirectory = __dirname + '/'; - -// include: node_shell_read.js -readBinary = (filename) => { - // We need to re-wrap `file://` strings to URLs. - filename = isFileURI(filename) ? new URL(filename) : filename; - var ret = fs.readFileSync(filename); - assert(Buffer.isBuffer(ret)); - return ret; -}; - -readAsync = async (filename, binary = true) => { - // See the comment in the `readBinary` function. - filename = isFileURI(filename) ? new URL(filename) : filename; - var ret = fs.readFileSync(filename, binary ? undefined : 'utf8'); - assert(binary ? Buffer.isBuffer(ret) : typeof ret == 'string'); - return ret; -}; -// end include: node_shell_read.js - if (!Module['thisProgram'] && process.argv.length > 1) { - thisProgram = process.argv[1].replace(/\\/g, '/'); - } - - arguments_ = process.argv.slice(2); - - if (typeof module != 'undefined') { - module['exports'] = Module; - } - - quit_ = (status, toThrow) => { - process.exitCode = status; - throw toThrow; - }; - -} else -if (ENVIRONMENT_IS_SHELL) { - - if ((typeof process == 'object' && typeof require === 'function') || typeof window == 'object' || typeof WorkerGlobalScope != 'undefined') throw new Error('not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)'); - -} else - -// Note that this includes Node.js workers when relevant (pthreads is enabled). -// Node.js workers are detected as a combination of ENVIRONMENT_IS_WORKER and -// ENVIRONMENT_IS_NODE. -if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) { - if (ENVIRONMENT_IS_WORKER) { // Check worker, not web, since window could be polyfilled - scriptDirectory = self.location.href; - } else if (typeof document != 'undefined' && document.currentScript) { // web - scriptDirectory = document.currentScript.src; - } - // blob urls look like blob:http://site.com/etc/etc and we cannot infer anything from them. - // otherwise, slice off the final part of the url to find the script directory. - // if scriptDirectory does not contain a slash, lastIndexOf will return -1, - // and scriptDirectory will correctly be replaced with an empty string. - // If scriptDirectory contains a query (starting with ?) or a fragment (starting with #), - // they are removed because they could contain a slash. - if (scriptDirectory.startsWith('blob:')) { - scriptDirectory = ''; - } else { - scriptDirectory = scriptDirectory.slice(0, scriptDirectory.replace(/[?#].*/, '').lastIndexOf('/')+1); - } - - if (!(typeof window == 'object' || typeof WorkerGlobalScope != 'undefined')) throw new Error('not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)'); - - { -// include: web_or_worker_shell_read.js -if (ENVIRONMENT_IS_WORKER) { - readBinary = (url) => { - var xhr = new XMLHttpRequest(); - xhr.open('GET', url, false); - xhr.responseType = 'arraybuffer'; - xhr.send(null); - return new Uint8Array(/** @type{!ArrayBuffer} */(xhr.response)); - }; - } - - readAsync = async (url) => { - // Fetch has some additional restrictions over XHR, like it can't be used on a file:// url. - // See https://github.com/github/fetch/pull/92#issuecomment-140665932 - // Cordova or Electron apps are typically loaded from a file:// url. - // So use XHR on webview if URL is a file URL. - if (isFileURI(url)) { - return new Promise((resolve, reject) => { - var xhr = new XMLHttpRequest(); - xhr.open('GET', url, true); - xhr.responseType = 'arraybuffer'; - xhr.onload = () => { - if (xhr.status == 200 || (xhr.status == 0 && xhr.response)) { // file URLs can return 0 - resolve(xhr.response); - return; - } - reject(xhr.status); - }; - xhr.onerror = reject; - xhr.send(null); - }); - } - var response = await fetch(url, { credentials: 'same-origin' }); - if (response.ok) { - return response.arrayBuffer(); - } - throw new Error(response.status + ' : ' + response.url); - }; -// end include: web_or_worker_shell_read.js - } -} else -{ - throw new Error('environment detection error'); -} - -var out = Module['print'] || console.log.bind(console); -var err = Module['printErr'] || console.error.bind(console); - -// Merge back in the overrides -Object.assign(Module, moduleOverrides); -// Free the object hierarchy contained in the overrides, this lets the GC -// reclaim data used. -moduleOverrides = null; -checkIncomingModuleAPI(); - -// Emit code to handle expected values on the Module object. This applies Module.x -// to the proper local x. This has two benefits: first, we only emit it if it is -// expected to arrive, and second, by using a local everywhere else that can be -// minified. - -if (Module['arguments']) arguments_ = Module['arguments'];legacyModuleProp('arguments', 'arguments_'); - -if (Module['thisProgram']) thisProgram = Module['thisProgram'];legacyModuleProp('thisProgram', 'thisProgram'); - -// perform assertions in shell.js after we set up out() and err(), as otherwise if an assertion fails it cannot print the message -// Assertions on removed incoming Module JS APIs. -assert(typeof Module['memoryInitializerPrefixURL'] == 'undefined', 'Module.memoryInitializerPrefixURL option was removed, use Module.locateFile instead'); -assert(typeof Module['pthreadMainPrefixURL'] == 'undefined', 'Module.pthreadMainPrefixURL option was removed, use Module.locateFile instead'); -assert(typeof Module['cdInitializerPrefixURL'] == 'undefined', 'Module.cdInitializerPrefixURL option was removed, use Module.locateFile instead'); -assert(typeof Module['filePackagePrefixURL'] == 'undefined', 'Module.filePackagePrefixURL option was removed, use Module.locateFile instead'); -assert(typeof Module['read'] == 'undefined', 'Module.read option was removed'); -assert(typeof Module['readAsync'] == 'undefined', 'Module.readAsync option was removed (modify readAsync in JS)'); -assert(typeof Module['readBinary'] == 'undefined', 'Module.readBinary option was removed (modify readBinary in JS)'); -assert(typeof Module['setWindowTitle'] == 'undefined', 'Module.setWindowTitle option was removed (modify emscripten_set_window_title in JS)'); -assert(typeof Module['TOTAL_MEMORY'] == 'undefined', 'Module.TOTAL_MEMORY has been renamed Module.INITIAL_MEMORY'); -legacyModuleProp('asm', 'wasmExports'); -legacyModuleProp('readAsync', 'readAsync'); -legacyModuleProp('readBinary', 'readBinary'); -legacyModuleProp('setWindowTitle', 'setWindowTitle'); -var IDBFS = 'IDBFS is no longer included by default; build with -lidbfs.js'; -var PROXYFS = 'PROXYFS is no longer included by default; build with -lproxyfs.js'; -var WORKERFS = 'WORKERFS is no longer included by default; build with -lworkerfs.js'; -var FETCHFS = 'FETCHFS is no longer included by default; build with -lfetchfs.js'; -var ICASEFS = 'ICASEFS is no longer included by default; build with -licasefs.js'; -var JSFILEFS = 'JSFILEFS is no longer included by default; build with -ljsfilefs.js'; -var OPFS = 'OPFS is no longer included by default; build with -lopfs.js'; - -var NODEFS = 'NODEFS is no longer included by default; build with -lnodefs.js'; - -assert(!ENVIRONMENT_IS_SHELL, 'shell environment detected but not enabled at build time. Add `shell` to `-sENVIRONMENT` to enable.'); - -// end include: shell.js - -// include: preamble.js -// === Preamble library stuff === - -// Documentation for the public APIs defined in this file must be updated in: -// site/source/docs/api_reference/preamble.js.rst -// A prebuilt local version of the documentation is available at: -// site/build/text/docs/api_reference/preamble.js.txt -// You can also build docs locally as HTML or other formats in site/ -// An online HTML version (which may be of a different version of Emscripten) -// is up at http://kripken.github.io/emscripten-site/docs/api_reference/preamble.js.html - -var wasmBinary = Module['wasmBinary'];legacyModuleProp('wasmBinary', 'wasmBinary'); - -if (typeof WebAssembly != 'object') { - err('no native wasm support detected'); -} - -// Wasm globals - -var wasmMemory; - -//======================================== -// Runtime essentials -//======================================== - -// whether we are quitting the application. no code should run after this. -// set in exit() and abort() -var ABORT = false; - -// set by exit() and abort(). Passed to 'onExit' handler. -// NOTE: This is also used as the process return code code in shell environments -// but only when noExitRuntime is false. -var EXITSTATUS; - -// In STRICT mode, we only define assert() when ASSERTIONS is set. i.e. we -// don't define it at all in release modes. This matches the behaviour of -// MINIMAL_RUNTIME. -// TODO(sbc): Make this the default even without STRICT enabled. -/** @type {function(*, string=)} */ -function assert(condition, text) { - if (!condition) { - abort('Assertion failed' + (text ? ': ' + text : '')); - } -} - -// We used to include malloc/free by default in the past. Show a helpful error in -// builds with assertions. -function _malloc() { - abort('malloc() called but not included in the build - add `_malloc` to EXPORTED_FUNCTIONS'); -} -function _free() { - // Show a helpful error since we used to include free by default in the past. - abort('free() called but not included in the build - add `_free` to EXPORTED_FUNCTIONS'); -} - -// Memory management - -var HEAP, -/** @type {!Int8Array} */ - HEAP8, -/** @type {!Uint8Array} */ - HEAPU8, -/** @type {!Int16Array} */ - HEAP16, -/** @type {!Uint16Array} */ - HEAPU16, -/** @type {!Int32Array} */ - HEAP32, -/** @type {!Uint32Array} */ - HEAPU32, -/** @type {!Float32Array} */ - HEAPF32, -/* BigInt64Array type is not correctly defined in closure -/** not-@type {!BigInt64Array} */ - HEAP64, -/* BigUint64Array type is not correctly defined in closure -/** not-t@type {!BigUint64Array} */ - HEAPU64, -/** @type {!Float64Array} */ - HEAPF64; - -var runtimeInitialized = false; - -/** - * Indicates whether filename is delivered via file protocol (as opposed to http/https) - * @noinline - */ -var isFileURI = (filename) => filename.startsWith('file://'); - -// include: runtime_shared.js -// include: runtime_stack_check.js -// Initializes the stack cookie. Called at the startup of main and at the startup of each thread in pthreads mode. -function writeStackCookie() { - var max = _emscripten_stack_get_end(); - assert((max & 3) == 0); - // If the stack ends at address zero we write our cookies 4 bytes into the - // stack. This prevents interference with SAFE_HEAP and ASAN which also - // monitor writes to address zero. - if (max == 0) { - max += 4; - } - // The stack grow downwards towards _emscripten_stack_get_end. - // We write cookies to the final two words in the stack and detect if they are - // ever overwritten. - HEAPU32[((max)>>2)] = 0x02135467; - HEAPU32[(((max)+(4))>>2)] = 0x89BACDFE; - // Also test the global address 0 for integrity. - HEAPU32[((0)>>2)] = 1668509029; -} - -function checkStackCookie() { - if (ABORT) return; - var max = _emscripten_stack_get_end(); - // See writeStackCookie(). - if (max == 0) { - max += 4; - } - var cookie1 = HEAPU32[((max)>>2)]; - var cookie2 = HEAPU32[(((max)+(4))>>2)]; - if (cookie1 != 0x02135467 || cookie2 != 0x89BACDFE) { - abort(`Stack overflow! Stack cookie has been overwritten at ${ptrToString(max)}, expected hex dwords 0x89BACDFE and 0x2135467, but received ${ptrToString(cookie2)} ${ptrToString(cookie1)}`); - } - // Also test the global address 0 for integrity. - if (HEAPU32[((0)>>2)] != 0x63736d65 /* 'emsc' */) { - abort('Runtime error: The application has corrupted its heap memory area (address zero)!'); - } -} -// end include: runtime_stack_check.js -// include: runtime_exceptions.js -// end include: runtime_exceptions.js -// include: runtime_debug.js -// Endianness check -(() => { - var h16 = new Int16Array(1); - var h8 = new Int8Array(h16.buffer); - h16[0] = 0x6373; - if (h8[0] !== 0x73 || h8[1] !== 0x63) throw 'Runtime error: expected the system to be little-endian! (Run with -sSUPPORT_BIG_ENDIAN to bypass)'; -})(); - -if (Module['ENVIRONMENT']) { - throw new Error('Module.ENVIRONMENT has been deprecated. To force the environment, use the ENVIRONMENT compile-time option (for example, -sENVIRONMENT=web or -sENVIRONMENT=node)'); -} - -function legacyModuleProp(prop, newName, incoming=true) { - if (!Object.getOwnPropertyDescriptor(Module, prop)) { - Object.defineProperty(Module, prop, { - configurable: true, - get() { - let extra = incoming ? ' (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)' : ''; - abort(`\`Module.${prop}\` has been replaced by \`${newName}\`` + extra); - - } - }); - } -} - -function consumedModuleProp(prop) { - if (!Object.getOwnPropertyDescriptor(Module, prop)) { - Object.defineProperty(Module, prop, { - configurable: true, - set() { - abort(`Attempt to set \`Module.${prop}\` after it has already been processed. This can happen, for example, when code is injected via '--post-js' rather than '--pre-js'`); - - } - }); - } -} - -function ignoredModuleProp(prop) { - if (Object.getOwnPropertyDescriptor(Module, prop)) { - abort(`\`Module.${prop}\` was supplied but \`${prop}\` not included in INCOMING_MODULE_JS_API`); - } -} - -// forcing the filesystem exports a few things by default -function isExportedByForceFilesystem(name) { - return name === 'FS_createPath' || - name === 'FS_createDataFile' || - name === 'FS_createPreloadedFile' || - name === 'FS_unlink' || - name === 'addRunDependency' || - // The old FS has some functionality that WasmFS lacks. - name === 'FS_createLazyFile' || - name === 'FS_createDevice' || - name === 'removeRunDependency'; -} - -/** - * Intercept access to a global symbol. This enables us to give informative - * warnings/errors when folks attempt to use symbols they did not include in - * their build, or no symbols that no longer exist. - */ -function hookGlobalSymbolAccess(sym, func) { - if (typeof globalThis != 'undefined' && !Object.getOwnPropertyDescriptor(globalThis, sym)) { - Object.defineProperty(globalThis, sym, { - configurable: true, - get() { - func(); - return undefined; - } - }); - } -} - -function missingGlobal(sym, msg) { - hookGlobalSymbolAccess(sym, () => { - warnOnce(`\`${sym}\` is not longer defined by emscripten. ${msg}`); - }); -} - -missingGlobal('buffer', 'Please use HEAP8.buffer or wasmMemory.buffer'); -missingGlobal('asm', 'Please use wasmExports instead'); - -function missingLibrarySymbol(sym) { - hookGlobalSymbolAccess(sym, () => { - // Can't `abort()` here because it would break code that does runtime - // checks. e.g. `if (typeof SDL === 'undefined')`. - var msg = `\`${sym}\` is a library symbol and not included by default; add it to your library.js __deps or to DEFAULT_LIBRARY_FUNCS_TO_INCLUDE on the command line`; - // DEFAULT_LIBRARY_FUNCS_TO_INCLUDE requires the name as it appears in - // library.js, which means $name for a JS name with no prefix, or name - // for a JS name like _name. - var librarySymbol = sym; - if (!librarySymbol.startsWith('_')) { - librarySymbol = '$' + sym; - } - msg += ` (e.g. -sDEFAULT_LIBRARY_FUNCS_TO_INCLUDE='${librarySymbol}')`; - if (isExportedByForceFilesystem(sym)) { - msg += '. Alternatively, forcing filesystem support (-sFORCE_FILESYSTEM) can export this for you'; - } - warnOnce(msg); - }); - - // Any symbol that is not included from the JS library is also (by definition) - // not exported on the Module object. - unexportedRuntimeSymbol(sym); -} - -function unexportedRuntimeSymbol(sym) { - if (!Object.getOwnPropertyDescriptor(Module, sym)) { - Object.defineProperty(Module, sym, { - configurable: true, - get() { - var msg = `'${sym}' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the Emscripten FAQ)`; - if (isExportedByForceFilesystem(sym)) { - msg += '. Alternatively, forcing filesystem support (-sFORCE_FILESYSTEM) can export this for you'; - } - abort(msg); - } - }); - } -} - -var runtimeDebug = true; // Switch to false at runtime to disable logging at the right times - -// Used by XXXXX_DEBUG settings to output debug messages. -function dbg(...args) { - if (!runtimeDebug && typeof runtimeDebug != 'undefined') return; - // TODO(sbc): Make this configurable somehow. Its not always convenient for - // logging to show up as warnings. - console.warn(...args); -} -// end include: runtime_debug.js -// include: memoryprofiler.js -// end include: memoryprofiler.js - - -function updateMemoryViews() { - var b = wasmMemory.buffer; - Module['HEAP8'] = HEAP8 = new Int8Array(b); - Module['HEAP16'] = HEAP16 = new Int16Array(b); - Module['HEAPU8'] = HEAPU8 = new Uint8Array(b); - Module['HEAPU16'] = HEAPU16 = new Uint16Array(b); - Module['HEAP32'] = HEAP32 = new Int32Array(b); - Module['HEAPU32'] = HEAPU32 = new Uint32Array(b); - Module['HEAPF32'] = HEAPF32 = new Float32Array(b); - Module['HEAPF64'] = HEAPF64 = new Float64Array(b); - Module['HEAP64'] = HEAP64 = new BigInt64Array(b); - Module['HEAPU64'] = HEAPU64 = new BigUint64Array(b); -} - -// end include: runtime_shared.js -assert(!Module['STACK_SIZE'], 'STACK_SIZE can no longer be set at runtime. Use -sSTACK_SIZE at link time') - -assert(typeof Int32Array != 'undefined' && typeof Float64Array !== 'undefined' && Int32Array.prototype.subarray != undefined && Int32Array.prototype.set != undefined, - 'JS engine does not provide full typed array support'); - -// If memory is defined in wasm, the user can't provide it, or set INITIAL_MEMORY -assert(!Module['wasmMemory'], 'Use of `wasmMemory` detected. Use -sIMPORTED_MEMORY to define wasmMemory externally'); -assert(!Module['INITIAL_MEMORY'], 'Detected runtime INITIAL_MEMORY setting. Use -sIMPORTED_MEMORY to define wasmMemory dynamically'); - -function preRun() { - if (Module['preRun']) { - if (typeof Module['preRun'] == 'function') Module['preRun'] = [Module['preRun']]; - while (Module['preRun'].length) { - addOnPreRun(Module['preRun'].shift()); - } - } - consumedModuleProp('preRun'); - callRuntimeCallbacks(onPreRuns); -} - -function initRuntime() { - assert(!runtimeInitialized); - runtimeInitialized = true; - - checkStackCookie(); - - if (!Module['noFSInit'] && !FS.initialized) FS.init(); -TTY.init(); - - wasmExports['__wasm_call_ctors'](); - - FS.ignorePermissions = false; -} - -function preMain() { - checkStackCookie(); - -} - -function postRun() { - checkStackCookie(); - - if (Module['postRun']) { - if (typeof Module['postRun'] == 'function') Module['postRun'] = [Module['postRun']]; - while (Module['postRun'].length) { - addOnPostRun(Module['postRun'].shift()); - } - } - consumedModuleProp('postRun'); - - callRuntimeCallbacks(onPostRuns); -} - -// A counter of dependencies for calling run(). If we need to -// do asynchronous work before running, increment this and -// decrement it. Incrementing must happen in a place like -// Module.preRun (used by emcc to add file preloading). -// Note that you can add dependencies in preRun, even though -// it happens right before run - run will be postponed until -// the dependencies are met. -var runDependencies = 0; -var dependenciesFulfilled = null; // overridden to take different actions when all run dependencies are fulfilled -var runDependencyTracking = {}; -var runDependencyWatcher = null; - -function getUniqueRunDependency(id) { - var orig = id; - while (1) { - if (!runDependencyTracking[id]) return id; - id = orig + Math.random(); - } -} - -function addRunDependency(id) { - runDependencies++; - - Module['monitorRunDependencies']?.(runDependencies); - - if (id) { - assert(!runDependencyTracking[id]); - runDependencyTracking[id] = 1; - if (runDependencyWatcher === null && typeof setInterval != 'undefined') { - // Check for missing dependencies every few seconds - runDependencyWatcher = setInterval(() => { - if (ABORT) { - clearInterval(runDependencyWatcher); - runDependencyWatcher = null; - return; - } - var shown = false; - for (var dep in runDependencyTracking) { - if (!shown) { - shown = true; - err('still waiting on run dependencies:'); - } - err(`dependency: ${dep}`); - } - if (shown) { - err('(end of list)'); - } - }, 10000); - } - } else { - err('warning: run dependency added without ID'); - } -} - -function removeRunDependency(id) { - runDependencies--; - - Module['monitorRunDependencies']?.(runDependencies); - - if (id) { - assert(runDependencyTracking[id]); - delete runDependencyTracking[id]; - } else { - err('warning: run dependency removed without ID'); - } - if (runDependencies == 0) { - if (runDependencyWatcher !== null) { - clearInterval(runDependencyWatcher); - runDependencyWatcher = null; - } - if (dependenciesFulfilled) { - var callback = dependenciesFulfilled; - dependenciesFulfilled = null; - callback(); // can add another dependenciesFulfilled - } - } -} - -/** @param {string|number=} what */ -function abort(what) { - Module['onAbort']?.(what); - - what = 'Aborted(' + what + ')'; - // TODO(sbc): Should we remove printing and leave it up to whoever - // catches the exception? - err(what); - - ABORT = true; - - // Use a wasm runtime error, because a JS error might be seen as a foreign - // exception, which means we'd run destructors on it. We need the error to - // simply make the program stop. - // FIXME This approach does not work in Wasm EH because it currently does not assume - // all RuntimeErrors are from traps; it decides whether a RuntimeError is from - // a trap or not based on a hidden field within the object. So at the moment - // we don't have a way of throwing a wasm trap from JS. TODO Make a JS API that - // allows this in the wasm spec. - - // Suppress closure compiler warning here. Closure compiler's builtin extern - // definition for WebAssembly.RuntimeError claims it takes no arguments even - // though it can. - // TODO(https://github.com/google/closure-compiler/pull/3913): Remove if/when upstream closure gets fixed. - /** @suppress {checkTypes} */ - var e = new WebAssembly.RuntimeError(what); - - // Throw the error whether or not MODULARIZE is set because abort is used - // in code paths apart from instantiation where an exception is expected - // to be thrown when abort is called. - throw e; -} - -function createExportWrapper(name, nargs) { - return (...args) => { - assert(runtimeInitialized, `native function \`${name}\` called before runtime initialization`); - var f = wasmExports[name]; - assert(f, `exported native function \`${name}\` not found`); - // Only assert for too many arguments. Too few can be valid since the missing arguments will be zero filled. - assert(args.length <= nargs, `native function \`${name}\` called with ${args.length} args but expects ${nargs}`); - return f(...args); - }; -} - -var wasmBinaryFile; - -function findWasmBinary() { - return locateFile('zipmerge.wasm'); -} - -function getBinarySync(file) { - if (file == wasmBinaryFile && wasmBinary) { - return new Uint8Array(wasmBinary); - } - if (readBinary) { - return readBinary(file); - } - throw 'both async and sync fetching of the wasm failed'; -} - -async function getWasmBinary(binaryFile) { - // If we don't have the binary yet, load it asynchronously using readAsync. - if (!wasmBinary) { - // Fetch the binary using readAsync - try { - var response = await readAsync(binaryFile); - return new Uint8Array(response); - } catch { - // Fall back to getBinarySync below; - } - } - - // Otherwise, getBinarySync should be able to get it synchronously - return getBinarySync(binaryFile); -} - -async function instantiateArrayBuffer(binaryFile, imports) { - try { - var binary = await getWasmBinary(binaryFile); - var instance = await WebAssembly.instantiate(binary, imports); - return instance; - } catch (reason) { - err(`failed to asynchronously prepare wasm: ${reason}`); - - // Warn on some common problems. - if (isFileURI(wasmBinaryFile)) { - err(`warning: Loading from a file URI (${wasmBinaryFile}) is not supported in most browsers. See https://emscripten.org/docs/getting_started/FAQ.html#how-do-i-run-a-local-webserver-for-testing-why-does-my-program-stall-in-downloading-or-preparing`); - } - abort(reason); - } -} - -async function instantiateAsync(binary, binaryFile, imports) { - if (!binary && typeof WebAssembly.instantiateStreaming == 'function' - // Don't use streaming for file:// delivered objects in a webview, fetch them synchronously. - && !isFileURI(binaryFile) - // Avoid instantiateStreaming() on Node.js environment for now, as while - // Node.js v18.1.0 implements it, it does not have a full fetch() - // implementation yet. - // - // Reference: - // https://github.com/emscripten-core/emscripten/pull/16917 - && !ENVIRONMENT_IS_NODE - ) { - try { - var response = fetch(binaryFile, { credentials: 'same-origin' }); - var instantiationResult = await WebAssembly.instantiateStreaming(response, imports); - return instantiationResult; - } catch (reason) { - // We expect the most common failure cause to be a bad MIME type for the binary, - // in which case falling back to ArrayBuffer instantiation should work. - err(`wasm streaming compile failed: ${reason}`); - err('falling back to ArrayBuffer instantiation'); - // fall back of instantiateArrayBuffer below - }; - } - return instantiateArrayBuffer(binaryFile, imports); -} - -function getWasmImports() { - // prepare imports - return { - 'env': wasmImports, - 'wasi_snapshot_preview1': wasmImports, - } -} - -// Create the wasm instance. -// Receives the wasm imports, returns the exports. -async function createWasm() { - // Load the wasm module and create an instance of using native support in the JS engine. - // handle a generated wasm instance, receiving its exports and - // performing other necessary setup - /** @param {WebAssembly.Module=} module*/ - function receiveInstance(instance, module) { - wasmExports = instance.exports; - - - - wasmMemory = wasmExports['memory']; - - assert(wasmMemory, 'memory not found in wasm exports'); - updateMemoryViews(); - - removeRunDependency('wasm-instantiate'); - return wasmExports; - } - // wait for the pthread pool (if any) - addRunDependency('wasm-instantiate'); - - // Prefer streaming instantiation if available. - // Async compilation can be confusing when an error on the page overwrites Module - // (for example, if the order of elements is wrong, and the one defining Module is - // later), so we save Module and check it later. - var trueModule = Module; - function receiveInstantiationResult(result) { - // 'result' is a ResultObject object which has both the module and instance. - // receiveInstance() will swap in the exports (to Module.asm) so they can be called - assert(Module === trueModule, 'the Module object should not be replaced during async compilation - perhaps the order of HTML elements is wrong?'); - trueModule = null; - // TODO: Due to Closure regression https://github.com/google/closure-compiler/issues/3193, the above line no longer optimizes out down to the following line. - // When the regression is fixed, can restore the above PTHREADS-enabled path. - return receiveInstance(result['instance']); - } - - var info = getWasmImports(); - - // User shell pages can write their own Module.instantiateWasm = function(imports, successCallback) callback - // to manually instantiate the Wasm module themselves. This allows pages to - // run the instantiation parallel to any other async startup actions they are - // performing. - // Also pthreads and wasm workers initialize the wasm instance through this - // path. - if (Module['instantiateWasm']) { - return new Promise((resolve, reject) => { - try { - Module['instantiateWasm'](info, (mod, inst) => { - receiveInstance(mod, inst); - resolve(mod.exports); - }); - } catch(e) { - err(`Module.instantiateWasm callback failed with error: ${e}`); - reject(e); - } - }); - } - - wasmBinaryFile ??= findWasmBinary(); - var result = await instantiateAsync(wasmBinary, wasmBinaryFile, info); - var exports = receiveInstantiationResult(result); - return exports; -} - -// end include: preamble.js - -// Begin JS library code - - - class ExitStatus { - name = 'ExitStatus'; - constructor(status) { - this.message = `Program terminated with exit(${status})`; - this.status = status; - } - } - - var callRuntimeCallbacks = (callbacks) => { - while (callbacks.length > 0) { - // Pass the module as the first argument. - callbacks.shift()(Module); - } - }; - var onPostRuns = []; - var addOnPostRun = (cb) => onPostRuns.unshift(cb); - - var onPreRuns = []; - var addOnPreRun = (cb) => onPreRuns.unshift(cb); - - - - /** - * @param {number} ptr - * @param {string} type - */ - function getValue(ptr, type = 'i8') { - if (type.endsWith('*')) type = '*'; - switch (type) { - case 'i1': return HEAP8[ptr]; - case 'i8': return HEAP8[ptr]; - case 'i16': return HEAP16[((ptr)>>1)]; - case 'i32': return HEAP32[((ptr)>>2)]; - case 'i64': return HEAP64[((ptr)>>3)]; - case 'float': return HEAPF32[((ptr)>>2)]; - case 'double': return HEAPF64[((ptr)>>3)]; - case '*': return HEAPU32[((ptr)>>2)]; - default: abort(`invalid type for getValue: ${type}`); - } - } - - var noExitRuntime = Module['noExitRuntime'] || true; - - var ptrToString = (ptr) => { - assert(typeof ptr === 'number'); - // With CAN_ADDRESS_2GB or MEMORY64, pointers are already unsigned. - ptr >>>= 0; - return '0x' + ptr.toString(16).padStart(8, '0'); - }; - - - /** - * @param {number} ptr - * @param {number} value - * @param {string} type - */ - function setValue(ptr, value, type = 'i8') { - if (type.endsWith('*')) type = '*'; - switch (type) { - case 'i1': HEAP8[ptr] = value; break; - case 'i8': HEAP8[ptr] = value; break; - case 'i16': HEAP16[((ptr)>>1)] = value; break; - case 'i32': HEAP32[((ptr)>>2)] = value; break; - case 'i64': HEAP64[((ptr)>>3)] = BigInt(value); break; - case 'float': HEAPF32[((ptr)>>2)] = value; break; - case 'double': HEAPF64[((ptr)>>3)] = value; break; - case '*': HEAPU32[((ptr)>>2)] = value; break; - default: abort(`invalid type for setValue: ${type}`); - } - } - - var stackRestore = (val) => __emscripten_stack_restore(val); - - var stackSave = () => _emscripten_stack_get_current(); - - var warnOnce = (text) => { - warnOnce.shown ||= {}; - if (!warnOnce.shown[text]) { - warnOnce.shown[text] = 1; - if (ENVIRONMENT_IS_NODE) text = 'warning: ' + text; - err(text); - } - }; - - var PATH = { - isAbs:(path) => path.charAt(0) === '/', - splitPath:(filename) => { - var splitPathRe = /^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/; - return splitPathRe.exec(filename).slice(1); - }, - normalizeArray:(parts, allowAboveRoot) => { - // if the path tries to go above the root, `up` ends up > 0 - var up = 0; - for (var i = parts.length - 1; i >= 0; i--) { - var last = parts[i]; - if (last === '.') { - parts.splice(i, 1); - } else if (last === '..') { - parts.splice(i, 1); - up++; - } else if (up) { - parts.splice(i, 1); - up--; - } - } - // if the path is allowed to go above the root, restore leading ..s - if (allowAboveRoot) { - for (; up; up--) { - parts.unshift('..'); - } - } - return parts; - }, - normalize:(path) => { - var isAbsolute = PATH.isAbs(path), - trailingSlash = path.slice(-1) === '/'; - // Normalize the path - path = PATH.normalizeArray(path.split('/').filter((p) => !!p), !isAbsolute).join('/'); - if (!path && !isAbsolute) { - path = '.'; - } - if (path && trailingSlash) { - path += '/'; - } - return (isAbsolute ? '/' : '') + path; - }, - dirname:(path) => { - var result = PATH.splitPath(path), - root = result[0], - dir = result[1]; - if (!root && !dir) { - // No dirname whatsoever - return '.'; - } - if (dir) { - // It has a dirname, strip trailing slash - dir = dir.slice(0, -1); - } - return root + dir; - }, - basename:(path) => path && path.match(/([^\/]+|\/)\/*$/)[1], - join:(...paths) => PATH.normalize(paths.join('/')), - join2:(l, r) => PATH.normalize(l + '/' + r), - }; - - var initRandomFill = () => { - // This block is not needed on v19+ since crypto.getRandomValues is builtin - if (ENVIRONMENT_IS_NODE) { - var nodeCrypto = require('crypto'); - return (view) => nodeCrypto.randomFillSync(view); - } - - return (view) => crypto.getRandomValues(view); - }; - var randomFill = (view) => { - // Lazily init on the first invocation. - (randomFill = initRandomFill())(view); - }; - - - - var PATH_FS = { - resolve:(...args) => { - var resolvedPath = '', - resolvedAbsolute = false; - for (var i = args.length - 1; i >= -1 && !resolvedAbsolute; i--) { - var path = (i >= 0) ? args[i] : FS.cwd(); - // Skip empty and invalid entries - if (typeof path != 'string') { - throw new TypeError('Arguments to path.resolve must be strings'); - } else if (!path) { - return ''; // an invalid portion invalidates the whole thing - } - resolvedPath = path + '/' + resolvedPath; - resolvedAbsolute = PATH.isAbs(path); - } - // At this point the path should be resolved to a full absolute path, but - // handle relative paths to be safe (might happen when process.cwd() fails) - resolvedPath = PATH.normalizeArray(resolvedPath.split('/').filter((p) => !!p), !resolvedAbsolute).join('/'); - return ((resolvedAbsolute ? '/' : '') + resolvedPath) || '.'; - }, - relative:(from, to) => { - from = PATH_FS.resolve(from).slice(1); - to = PATH_FS.resolve(to).slice(1); - function trim(arr) { - var start = 0; - for (; start < arr.length; start++) { - if (arr[start] !== '') break; - } - var end = arr.length - 1; - for (; end >= 0; end--) { - if (arr[end] !== '') break; - } - if (start > end) return []; - return arr.slice(start, end - start + 1); - } - var fromParts = trim(from.split('/')); - var toParts = trim(to.split('/')); - var length = Math.min(fromParts.length, toParts.length); - var samePartsLength = length; - for (var i = 0; i < length; i++) { - if (fromParts[i] !== toParts[i]) { - samePartsLength = i; - break; - } - } - var outputParts = []; - for (var i = samePartsLength; i < fromParts.length; i++) { - outputParts.push('..'); - } - outputParts = outputParts.concat(toParts.slice(samePartsLength)); - return outputParts.join('/'); - }, - }; - - - var UTF8Decoder = typeof TextDecoder != 'undefined' ? new TextDecoder() : undefined; - - /** - * Given a pointer 'idx' to a null-terminated UTF8-encoded string in the given - * array that contains uint8 values, returns a copy of that string as a - * Javascript String object. - * heapOrArray is either a regular array, or a JavaScript typed array view. - * @param {number=} idx - * @param {number=} maxBytesToRead - * @return {string} - */ - var UTF8ArrayToString = (heapOrArray, idx = 0, maxBytesToRead = NaN) => { - var endIdx = idx + maxBytesToRead; - var endPtr = idx; - // TextDecoder needs to know the byte length in advance, it doesn't stop on - // null terminator by itself. Also, use the length info to avoid running tiny - // strings through TextDecoder, since .subarray() allocates garbage. - // (As a tiny code save trick, compare endPtr against endIdx using a negation, - // so that undefined/NaN means Infinity) - while (heapOrArray[endPtr] && !(endPtr >= endIdx)) ++endPtr; - - if (endPtr - idx > 16 && heapOrArray.buffer && UTF8Decoder) { - return UTF8Decoder.decode(heapOrArray.subarray(idx, endPtr)); - } - var str = ''; - // If building with TextDecoder, we have already computed the string length - // above, so test loop end condition against that - while (idx < endPtr) { - // For UTF8 byte structure, see: - // http://en.wikipedia.org/wiki/UTF-8#Description - // https://www.ietf.org/rfc/rfc2279.txt - // https://tools.ietf.org/html/rfc3629 - var u0 = heapOrArray[idx++]; - if (!(u0 & 0x80)) { str += String.fromCharCode(u0); continue; } - var u1 = heapOrArray[idx++] & 63; - if ((u0 & 0xE0) == 0xC0) { str += String.fromCharCode(((u0 & 31) << 6) | u1); continue; } - var u2 = heapOrArray[idx++] & 63; - if ((u0 & 0xF0) == 0xE0) { - u0 = ((u0 & 15) << 12) | (u1 << 6) | u2; - } else { - if ((u0 & 0xF8) != 0xF0) warnOnce('Invalid UTF-8 leading byte ' + ptrToString(u0) + ' encountered when deserializing a UTF-8 string in wasm memory to a JS string!'); - u0 = ((u0 & 7) << 18) | (u1 << 12) | (u2 << 6) | (heapOrArray[idx++] & 63); - } - - if (u0 < 0x10000) { - str += String.fromCharCode(u0); - } else { - var ch = u0 - 0x10000; - str += String.fromCharCode(0xD800 | (ch >> 10), 0xDC00 | (ch & 0x3FF)); - } - } - return str; - }; - - var FS_stdin_getChar_buffer = []; - - var lengthBytesUTF8 = (str) => { - var len = 0; - for (var i = 0; i < str.length; ++i) { - // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code - // unit, not a Unicode code point of the character! So decode - // UTF16->UTF32->UTF8. - // See http://unicode.org/faq/utf_bom.html#utf16-3 - var c = str.charCodeAt(i); // possibly a lead surrogate - if (c <= 0x7F) { - len++; - } else if (c <= 0x7FF) { - len += 2; - } else if (c >= 0xD800 && c <= 0xDFFF) { - len += 4; ++i; - } else { - len += 3; - } - } - return len; - }; - - var stringToUTF8Array = (str, heap, outIdx, maxBytesToWrite) => { - assert(typeof str === 'string', `stringToUTF8Array expects a string (got ${typeof str})`); - // Parameter maxBytesToWrite is not optional. Negative values, 0, null, - // undefined and false each don't write out any bytes. - if (!(maxBytesToWrite > 0)) - return 0; - - var startIdx = outIdx; - var endIdx = outIdx + maxBytesToWrite - 1; // -1 for string null terminator. - for (var i = 0; i < str.length; ++i) { - // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code - // unit, not a Unicode code point of the character! So decode - // UTF16->UTF32->UTF8. - // See http://unicode.org/faq/utf_bom.html#utf16-3 - // For UTF8 byte structure, see http://en.wikipedia.org/wiki/UTF-8#Description - // and https://www.ietf.org/rfc/rfc2279.txt - // and https://tools.ietf.org/html/rfc3629 - var u = str.charCodeAt(i); // possibly a lead surrogate - if (u >= 0xD800 && u <= 0xDFFF) { - var u1 = str.charCodeAt(++i); - u = 0x10000 + ((u & 0x3FF) << 10) | (u1 & 0x3FF); - } - if (u <= 0x7F) { - if (outIdx >= endIdx) break; - heap[outIdx++] = u; - } else if (u <= 0x7FF) { - if (outIdx + 1 >= endIdx) break; - heap[outIdx++] = 0xC0 | (u >> 6); - heap[outIdx++] = 0x80 | (u & 63); - } else if (u <= 0xFFFF) { - if (outIdx + 2 >= endIdx) break; - heap[outIdx++] = 0xE0 | (u >> 12); - heap[outIdx++] = 0x80 | ((u >> 6) & 63); - heap[outIdx++] = 0x80 | (u & 63); - } else { - if (outIdx + 3 >= endIdx) break; - if (u > 0x10FFFF) warnOnce('Invalid Unicode code point ' + ptrToString(u) + ' encountered when serializing a JS string to a UTF-8 string in wasm memory! (Valid unicode code points should be in range 0-0x10FFFF).'); - heap[outIdx++] = 0xF0 | (u >> 18); - heap[outIdx++] = 0x80 | ((u >> 12) & 63); - heap[outIdx++] = 0x80 | ((u >> 6) & 63); - heap[outIdx++] = 0x80 | (u & 63); - } - } - // Null-terminate the pointer to the buffer. - heap[outIdx] = 0; - return outIdx - startIdx; - }; - /** @type {function(string, boolean=, number=)} */ - var intArrayFromString = (stringy, dontAddNull, length) => { - var len = length > 0 ? length : lengthBytesUTF8(stringy)+1; - var u8array = new Array(len); - var numBytesWritten = stringToUTF8Array(stringy, u8array, 0, u8array.length); - if (dontAddNull) u8array.length = numBytesWritten; - return u8array; - }; - var FS_stdin_getChar = () => { - if (!FS_stdin_getChar_buffer.length) { - var result = null; - if (ENVIRONMENT_IS_NODE) { - // we will read data by chunks of BUFSIZE - var BUFSIZE = 256; - var buf = Buffer.alloc(BUFSIZE); - var bytesRead = 0; - - // For some reason we must suppress a closure warning here, even though - // fd definitely exists on process.stdin, and is even the proper way to - // get the fd of stdin, - // https://github.com/nodejs/help/issues/2136#issuecomment-523649904 - // This started to happen after moving this logic out of library_tty.js, - // so it is related to the surrounding code in some unclear manner. - /** @suppress {missingProperties} */ - var fd = process.stdin.fd; - - try { - bytesRead = fs.readSync(fd, buf, 0, BUFSIZE); - } catch(e) { - // Cross-platform differences: on Windows, reading EOF throws an - // exception, but on other OSes, reading EOF returns 0. Uniformize - // behavior by treating the EOF exception to return 0. - if (e.toString().includes('EOF')) bytesRead = 0; - else throw e; - } - - if (bytesRead > 0) { - result = buf.slice(0, bytesRead).toString('utf-8'); - } - } else - if (typeof window != 'undefined' && - typeof window.prompt == 'function') { - // Browser. - result = window.prompt('Input: '); // returns null on cancel - if (result !== null) { - result += '\n'; - } - } else - {} - if (!result) { - return null; - } - FS_stdin_getChar_buffer = intArrayFromString(result, true); - } - return FS_stdin_getChar_buffer.shift(); - }; - var TTY = { - ttys:[], - init() { - // https://github.com/emscripten-core/emscripten/pull/1555 - // if (ENVIRONMENT_IS_NODE) { - // // currently, FS.init does not distinguish if process.stdin is a file or TTY - // // device, it always assumes it's a TTY device. because of this, we're forcing - // // process.stdin to UTF8 encoding to at least make stdin reading compatible - // // with text files until FS.init can be refactored. - // process.stdin.setEncoding('utf8'); - // } - }, - shutdown() { - // https://github.com/emscripten-core/emscripten/pull/1555 - // if (ENVIRONMENT_IS_NODE) { - // // inolen: any idea as to why node -e 'process.stdin.read()' wouldn't exit immediately (with process.stdin being a tty)? - // // isaacs: because now it's reading from the stream, you've expressed interest in it, so that read() kicks off a _read() which creates a ReadReq operation - // // inolen: I thought read() in that case was a synchronous operation that just grabbed some amount of buffered data if it exists? - // // isaacs: it is. but it also triggers a _read() call, which calls readStart() on the handle - // // isaacs: do process.stdin.pause() and i'd think it'd probably close the pending call - // process.stdin.pause(); - // } - }, - register(dev, ops) { - TTY.ttys[dev] = { input: [], output: [], ops: ops }; - FS.registerDevice(dev, TTY.stream_ops); - }, - stream_ops:{ - open(stream) { - var tty = TTY.ttys[stream.node.rdev]; - if (!tty) { - throw new FS.ErrnoError(43); - } - stream.tty = tty; - stream.seekable = false; - }, - close(stream) { - // flush any pending line data - stream.tty.ops.fsync(stream.tty); - }, - fsync(stream) { - stream.tty.ops.fsync(stream.tty); - }, - read(stream, buffer, offset, length, pos /* ignored */) { - if (!stream.tty || !stream.tty.ops.get_char) { - throw new FS.ErrnoError(60); - } - var bytesRead = 0; - for (var i = 0; i < length; i++) { - var result; - try { - result = stream.tty.ops.get_char(stream.tty); - } catch (e) { - throw new FS.ErrnoError(29); - } - if (result === undefined && bytesRead === 0) { - throw new FS.ErrnoError(6); - } - if (result === null || result === undefined) break; - bytesRead++; - buffer[offset+i] = result; - } - if (bytesRead) { - stream.node.atime = Date.now(); - } - return bytesRead; - }, - write(stream, buffer, offset, length, pos) { - if (!stream.tty || !stream.tty.ops.put_char) { - throw new FS.ErrnoError(60); - } - try { - for (var i = 0; i < length; i++) { - stream.tty.ops.put_char(stream.tty, buffer[offset+i]); - } - } catch (e) { - throw new FS.ErrnoError(29); - } - if (length) { - stream.node.mtime = stream.node.ctime = Date.now(); - } - return i; - }, - }, - default_tty_ops:{ - get_char(tty) { - return FS_stdin_getChar(); - }, - put_char(tty, val) { - if (val === null || val === 10) { - out(UTF8ArrayToString(tty.output)); - tty.output = []; - } else { - if (val != 0) tty.output.push(val); // val == 0 would cut text output off in the middle. - } - }, - fsync(tty) { - if (tty.output?.length > 0) { - out(UTF8ArrayToString(tty.output)); - tty.output = []; - } - }, - ioctl_tcgets(tty) { - // typical setting - return { - c_iflag: 25856, - c_oflag: 5, - c_cflag: 191, - c_lflag: 35387, - c_cc: [ - 0x03, 0x1c, 0x7f, 0x15, 0x04, 0x00, 0x01, 0x00, 0x11, 0x13, 0x1a, 0x00, - 0x12, 0x0f, 0x17, 0x16, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - ] - }; - }, - ioctl_tcsets(tty, optional_actions, data) { - // currently just ignore - return 0; - }, - ioctl_tiocgwinsz(tty) { - return [24, 80]; - }, - }, - default_tty1_ops:{ - put_char(tty, val) { - if (val === null || val === 10) { - err(UTF8ArrayToString(tty.output)); - tty.output = []; - } else { - if (val != 0) tty.output.push(val); - } - }, - fsync(tty) { - if (tty.output?.length > 0) { - err(UTF8ArrayToString(tty.output)); - tty.output = []; - } - }, - }, - }; - - - var mmapAlloc = (size) => { - abort('internal error: mmapAlloc called but `emscripten_builtin_memalign` native symbol not exported'); - }; - var MEMFS = { - ops_table:null, - mount(mount) { - return MEMFS.createNode(null, '/', 16895, 0); - }, - createNode(parent, name, mode, dev) { - if (FS.isBlkdev(mode) || FS.isFIFO(mode)) { - // no supported - throw new FS.ErrnoError(63); - } - MEMFS.ops_table ||= { - dir: { - node: { - getattr: MEMFS.node_ops.getattr, - setattr: MEMFS.node_ops.setattr, - lookup: MEMFS.node_ops.lookup, - mknod: MEMFS.node_ops.mknod, - rename: MEMFS.node_ops.rename, - unlink: MEMFS.node_ops.unlink, - rmdir: MEMFS.node_ops.rmdir, - readdir: MEMFS.node_ops.readdir, - symlink: MEMFS.node_ops.symlink - }, - stream: { - llseek: MEMFS.stream_ops.llseek - } - }, - file: { - node: { - getattr: MEMFS.node_ops.getattr, - setattr: MEMFS.node_ops.setattr - }, - stream: { - llseek: MEMFS.stream_ops.llseek, - read: MEMFS.stream_ops.read, - write: MEMFS.stream_ops.write, - mmap: MEMFS.stream_ops.mmap, - msync: MEMFS.stream_ops.msync - } - }, - link: { - node: { - getattr: MEMFS.node_ops.getattr, - setattr: MEMFS.node_ops.setattr, - readlink: MEMFS.node_ops.readlink - }, - stream: {} - }, - chrdev: { - node: { - getattr: MEMFS.node_ops.getattr, - setattr: MEMFS.node_ops.setattr - }, - stream: FS.chrdev_stream_ops - } - }; - var node = FS.createNode(parent, name, mode, dev); - if (FS.isDir(node.mode)) { - node.node_ops = MEMFS.ops_table.dir.node; - node.stream_ops = MEMFS.ops_table.dir.stream; - node.contents = {}; - } else if (FS.isFile(node.mode)) { - node.node_ops = MEMFS.ops_table.file.node; - node.stream_ops = MEMFS.ops_table.file.stream; - node.usedBytes = 0; // The actual number of bytes used in the typed array, as opposed to contents.length which gives the whole capacity. - // When the byte data of the file is populated, this will point to either a typed array, or a normal JS array. Typed arrays are preferred - // for performance, and used by default. However, typed arrays are not resizable like normal JS arrays are, so there is a small disk size - // penalty involved for appending file writes that continuously grow a file similar to std::vector capacity vs used -scheme. - node.contents = null; - } else if (FS.isLink(node.mode)) { - node.node_ops = MEMFS.ops_table.link.node; - node.stream_ops = MEMFS.ops_table.link.stream; - } else if (FS.isChrdev(node.mode)) { - node.node_ops = MEMFS.ops_table.chrdev.node; - node.stream_ops = MEMFS.ops_table.chrdev.stream; - } - node.atime = node.mtime = node.ctime = Date.now(); - // add the new node to the parent - if (parent) { - parent.contents[name] = node; - parent.atime = parent.mtime = parent.ctime = node.atime; - } - return node; - }, - getFileDataAsTypedArray(node) { - if (!node.contents) return new Uint8Array(0); - if (node.contents.subarray) return node.contents.subarray(0, node.usedBytes); // Make sure to not return excess unused bytes. - return new Uint8Array(node.contents); - }, - expandFileStorage(node, newCapacity) { - var prevCapacity = node.contents ? node.contents.length : 0; - if (prevCapacity >= newCapacity) return; // No need to expand, the storage was already large enough. - // Don't expand strictly to the given requested limit if it's only a very small increase, but instead geometrically grow capacity. - // For small filesizes (<1MB), perform size*2 geometric increase, but for large sizes, do a much more conservative size*1.125 increase to - // avoid overshooting the allocation cap by a very large margin. - var CAPACITY_DOUBLING_MAX = 1024 * 1024; - newCapacity = Math.max(newCapacity, (prevCapacity * (prevCapacity < CAPACITY_DOUBLING_MAX ? 2.0 : 1.125)) >>> 0); - if (prevCapacity != 0) newCapacity = Math.max(newCapacity, 256); // At minimum allocate 256b for each file when expanding. - var oldContents = node.contents; - node.contents = new Uint8Array(newCapacity); // Allocate new storage. - if (node.usedBytes > 0) node.contents.set(oldContents.subarray(0, node.usedBytes), 0); // Copy old data over to the new storage. - }, - resizeFileStorage(node, newSize) { - if (node.usedBytes == newSize) return; - if (newSize == 0) { - node.contents = null; // Fully decommit when requesting a resize to zero. - node.usedBytes = 0; - } else { - var oldContents = node.contents; - node.contents = new Uint8Array(newSize); // Allocate new storage. - if (oldContents) { - node.contents.set(oldContents.subarray(0, Math.min(newSize, node.usedBytes))); // Copy old data over to the new storage. - } - node.usedBytes = newSize; - } - }, - node_ops:{ - getattr(node) { - var attr = {}; - // device numbers reuse inode numbers. - attr.dev = FS.isChrdev(node.mode) ? node.id : 1; - attr.ino = node.id; - attr.mode = node.mode; - attr.nlink = 1; - attr.uid = 0; - attr.gid = 0; - attr.rdev = node.rdev; - if (FS.isDir(node.mode)) { - attr.size = 4096; - } else if (FS.isFile(node.mode)) { - attr.size = node.usedBytes; - } else if (FS.isLink(node.mode)) { - attr.size = node.link.length; - } else { - attr.size = 0; - } - attr.atime = new Date(node.atime); - attr.mtime = new Date(node.mtime); - attr.ctime = new Date(node.ctime); - // NOTE: In our implementation, st_blocks = Math.ceil(st_size/st_blksize), - // but this is not required by the standard. - attr.blksize = 4096; - attr.blocks = Math.ceil(attr.size / attr.blksize); - return attr; - }, - setattr(node, attr) { - for (const key of ["mode", "atime", "mtime", "ctime"]) { - if (attr[key] != null) { - node[key] = attr[key]; - } - } - if (attr.size !== undefined) { - MEMFS.resizeFileStorage(node, attr.size); - } - }, - lookup(parent, name) { - throw new FS.ErrnoError(44); - }, - mknod(parent, name, mode, dev) { - return MEMFS.createNode(parent, name, mode, dev); - }, - rename(old_node, new_dir, new_name) { - var new_node; - try { - new_node = FS.lookupNode(new_dir, new_name); - } catch (e) {} - if (new_node) { - if (FS.isDir(old_node.mode)) { - // if we're overwriting a directory at new_name, make sure it's empty. - for (var i in new_node.contents) { - throw new FS.ErrnoError(55); - } - } - FS.hashRemoveNode(new_node); - } - // do the internal rewiring - delete old_node.parent.contents[old_node.name]; - new_dir.contents[new_name] = old_node; - old_node.name = new_name; - new_dir.ctime = new_dir.mtime = old_node.parent.ctime = old_node.parent.mtime = Date.now(); - }, - unlink(parent, name) { - delete parent.contents[name]; - parent.ctime = parent.mtime = Date.now(); - }, - rmdir(parent, name) { - var node = FS.lookupNode(parent, name); - for (var i in node.contents) { - throw new FS.ErrnoError(55); - } - delete parent.contents[name]; - parent.ctime = parent.mtime = Date.now(); - }, - readdir(node) { - return ['.', '..', ...Object.keys(node.contents)]; - }, - symlink(parent, newname, oldpath) { - var node = MEMFS.createNode(parent, newname, 0o777 | 40960, 0); - node.link = oldpath; - return node; - }, - readlink(node) { - if (!FS.isLink(node.mode)) { - throw new FS.ErrnoError(28); - } - return node.link; - }, - }, - stream_ops:{ - read(stream, buffer, offset, length, position) { - var contents = stream.node.contents; - if (position >= stream.node.usedBytes) return 0; - var size = Math.min(stream.node.usedBytes - position, length); - assert(size >= 0); - if (size > 8 && contents.subarray) { // non-trivial, and typed array - buffer.set(contents.subarray(position, position + size), offset); - } else { - for (var i = 0; i < size; i++) buffer[offset + i] = contents[position + i]; - } - return size; - }, - write(stream, buffer, offset, length, position, canOwn) { - // The data buffer should be a typed array view - assert(!(buffer instanceof ArrayBuffer)); - - if (!length) return 0; - var node = stream.node; - node.mtime = node.ctime = Date.now(); - - if (buffer.subarray && (!node.contents || node.contents.subarray)) { // This write is from a typed array to a typed array? - if (canOwn) { - assert(position === 0, 'canOwn must imply no weird position inside the file'); - node.contents = buffer.subarray(offset, offset + length); - node.usedBytes = length; - return length; - } else if (node.usedBytes === 0 && position === 0) { // If this is a simple first write to an empty file, do a fast set since we don't need to care about old data. - node.contents = buffer.slice(offset, offset + length); - node.usedBytes = length; - return length; - } else if (position + length <= node.usedBytes) { // Writing to an already allocated and used subrange of the file? - node.contents.set(buffer.subarray(offset, offset + length), position); - return length; - } - } - - // Appending to an existing file and we need to reallocate, or source data did not come as a typed array. - MEMFS.expandFileStorage(node, position+length); - if (node.contents.subarray && buffer.subarray) { - // Use typed array write which is available. - node.contents.set(buffer.subarray(offset, offset + length), position); - } else { - for (var i = 0; i < length; i++) { - node.contents[position + i] = buffer[offset + i]; // Or fall back to manual write if not. - } - } - node.usedBytes = Math.max(node.usedBytes, position + length); - return length; - }, - llseek(stream, offset, whence) { - var position = offset; - if (whence === 1) { - position += stream.position; - } else if (whence === 2) { - if (FS.isFile(stream.node.mode)) { - position += stream.node.usedBytes; - } - } - if (position < 0) { - throw new FS.ErrnoError(28); - } - return position; - }, - mmap(stream, length, position, prot, flags) { - if (!FS.isFile(stream.node.mode)) { - throw new FS.ErrnoError(43); - } - var ptr; - var allocated; - var contents = stream.node.contents; - // Only make a new copy when MAP_PRIVATE is specified. - if (!(flags & 2) && contents && contents.buffer === HEAP8.buffer) { - // We can't emulate MAP_SHARED when the file is not backed by the - // buffer we're mapping to (e.g. the HEAP buffer). - allocated = false; - ptr = contents.byteOffset; - } else { - allocated = true; - ptr = mmapAlloc(length); - if (!ptr) { - throw new FS.ErrnoError(48); - } - if (contents) { - // Try to avoid unnecessary slices. - if (position > 0 || position + length < contents.length) { - if (contents.subarray) { - contents = contents.subarray(position, position + length); - } else { - contents = Array.prototype.slice.call(contents, position, position + length); - } - } - HEAP8.set(contents, ptr); - } - } - return { ptr, allocated }; - }, - msync(stream, buffer, offset, length, mmapFlags) { - MEMFS.stream_ops.write(stream, buffer, 0, length, offset, false); - // should we check if bytesWritten and length are the same? - return 0; - }, - }, - }; - - var asyncLoad = async (url) => { - var arrayBuffer = await readAsync(url); - assert(arrayBuffer, `Loading data file "${url}" failed (no arrayBuffer).`); - return new Uint8Array(arrayBuffer); - }; - - - var FS_createDataFile = (parent, name, fileData, canRead, canWrite, canOwn) => { - FS.createDataFile(parent, name, fileData, canRead, canWrite, canOwn); - }; - - var preloadPlugins = Module['preloadPlugins'] || []; - var FS_handledByPreloadPlugin = (byteArray, fullname, finish, onerror) => { - // Ensure plugins are ready. - if (typeof Browser != 'undefined') Browser.init(); - - var handled = false; - preloadPlugins.forEach((plugin) => { - if (handled) return; - if (plugin['canHandle'](fullname)) { - plugin['handle'](byteArray, fullname, finish, onerror); - handled = true; - } - }); - return handled; - }; - var FS_createPreloadedFile = (parent, name, url, canRead, canWrite, onload, onerror, dontCreateFile, canOwn, preFinish) => { - // TODO we should allow people to just pass in a complete filename instead - // of parent and name being that we just join them anyways - var fullname = name ? PATH_FS.resolve(PATH.join2(parent, name)) : parent; - var dep = getUniqueRunDependency(`cp ${fullname}`); // might have several active requests for the same fullname - function processData(byteArray) { - function finish(byteArray) { - preFinish?.(); - if (!dontCreateFile) { - FS_createDataFile(parent, name, byteArray, canRead, canWrite, canOwn); - } - onload?.(); - removeRunDependency(dep); - } - if (FS_handledByPreloadPlugin(byteArray, fullname, finish, () => { - onerror?.(); - removeRunDependency(dep); - })) { - return; - } - finish(byteArray); - } - addRunDependency(dep); - if (typeof url == 'string') { - asyncLoad(url).then(processData, onerror); - } else { - processData(url); - } - }; - - var FS_modeStringToFlags = (str) => { - var flagModes = { - 'r': 0, - 'r+': 2, - 'w': 512 | 64 | 1, - 'w+': 512 | 64 | 2, - 'a': 1024 | 64 | 1, - 'a+': 1024 | 64 | 2, - }; - var flags = flagModes[str]; - if (typeof flags == 'undefined') { - throw new Error(`Unknown file open mode: ${str}`); - } - return flags; - }; - - var FS_getMode = (canRead, canWrite) => { - var mode = 0; - if (canRead) mode |= 292 | 73; - if (canWrite) mode |= 146; - return mode; - }; - - - - - - - /** - * Given a pointer 'ptr' to a null-terminated UTF8-encoded string in the - * emscripten HEAP, returns a copy of that string as a Javascript String object. - * - * @param {number} ptr - * @param {number=} maxBytesToRead - An optional length that specifies the - * maximum number of bytes to read. You can omit this parameter to scan the - * string until the first 0 byte. If maxBytesToRead is passed, and the string - * at [ptr, ptr+maxBytesToReadr[ contains a null byte in the middle, then the - * string will cut short at that byte index (i.e. maxBytesToRead will not - * produce a string of exact length [ptr, ptr+maxBytesToRead[) N.B. mixing - * frequent uses of UTF8ToString() with and without maxBytesToRead may throw - * JS JIT optimizations off, so it is worth to consider consistently using one - * @return {string} - */ - var UTF8ToString = (ptr, maxBytesToRead) => { - assert(typeof ptr == 'number', `UTF8ToString expects a number (got ${typeof ptr})`); - return ptr ? UTF8ArrayToString(HEAPU8, ptr, maxBytesToRead) : ''; - }; - - var strError = (errno) => UTF8ToString(_strerror(errno)); - - var ERRNO_CODES = { - 'EPERM': 63, - 'ENOENT': 44, - 'ESRCH': 71, - 'EINTR': 27, - 'EIO': 29, - 'ENXIO': 60, - 'E2BIG': 1, - 'ENOEXEC': 45, - 'EBADF': 8, - 'ECHILD': 12, - 'EAGAIN': 6, - 'EWOULDBLOCK': 6, - 'ENOMEM': 48, - 'EACCES': 2, - 'EFAULT': 21, - 'ENOTBLK': 105, - 'EBUSY': 10, - 'EEXIST': 20, - 'EXDEV': 75, - 'ENODEV': 43, - 'ENOTDIR': 54, - 'EISDIR': 31, - 'EINVAL': 28, - 'ENFILE': 41, - 'EMFILE': 33, - 'ENOTTY': 59, - 'ETXTBSY': 74, - 'EFBIG': 22, - 'ENOSPC': 51, - 'ESPIPE': 70, - 'EROFS': 69, - 'EMLINK': 34, - 'EPIPE': 64, - 'EDOM': 18, - 'ERANGE': 68, - 'ENOMSG': 49, - 'EIDRM': 24, - 'ECHRNG': 106, - 'EL2NSYNC': 156, - 'EL3HLT': 107, - 'EL3RST': 108, - 'ELNRNG': 109, - 'EUNATCH': 110, - 'ENOCSI': 111, - 'EL2HLT': 112, - 'EDEADLK': 16, - 'ENOLCK': 46, - 'EBADE': 113, - 'EBADR': 114, - 'EXFULL': 115, - 'ENOANO': 104, - 'EBADRQC': 103, - 'EBADSLT': 102, - 'EDEADLOCK': 16, - 'EBFONT': 101, - 'ENOSTR': 100, - 'ENODATA': 116, - 'ETIME': 117, - 'ENOSR': 118, - 'ENONET': 119, - 'ENOPKG': 120, - 'EREMOTE': 121, - 'ENOLINK': 47, - 'EADV': 122, - 'ESRMNT': 123, - 'ECOMM': 124, - 'EPROTO': 65, - 'EMULTIHOP': 36, - 'EDOTDOT': 125, - 'EBADMSG': 9, - 'ENOTUNIQ': 126, - 'EBADFD': 127, - 'EREMCHG': 128, - 'ELIBACC': 129, - 'ELIBBAD': 130, - 'ELIBSCN': 131, - 'ELIBMAX': 132, - 'ELIBEXEC': 133, - 'ENOSYS': 52, - 'ENOTEMPTY': 55, - 'ENAMETOOLONG': 37, - 'ELOOP': 32, - 'EOPNOTSUPP': 138, - 'EPFNOSUPPORT': 139, - 'ECONNRESET': 15, - 'ENOBUFS': 42, - 'EAFNOSUPPORT': 5, - 'EPROTOTYPE': 67, - 'ENOTSOCK': 57, - 'ENOPROTOOPT': 50, - 'ESHUTDOWN': 140, - 'ECONNREFUSED': 14, - 'EADDRINUSE': 3, - 'ECONNABORTED': 13, - 'ENETUNREACH': 40, - 'ENETDOWN': 38, - 'ETIMEDOUT': 73, - 'EHOSTDOWN': 142, - 'EHOSTUNREACH': 23, - 'EINPROGRESS': 26, - 'EALREADY': 7, - 'EDESTADDRREQ': 17, - 'EMSGSIZE': 35, - 'EPROTONOSUPPORT': 66, - 'ESOCKTNOSUPPORT': 137, - 'EADDRNOTAVAIL': 4, - 'ENETRESET': 39, - 'EISCONN': 30, - 'ENOTCONN': 53, - 'ETOOMANYREFS': 141, - 'EUSERS': 136, - 'EDQUOT': 19, - 'ESTALE': 72, - 'ENOTSUP': 138, - 'ENOMEDIUM': 148, - 'EILSEQ': 25, - 'EOVERFLOW': 61, - 'ECANCELED': 11, - 'ENOTRECOVERABLE': 56, - 'EOWNERDEAD': 62, - 'ESTRPIPE': 135, - }; - var FS = { - root:null, - mounts:[], - devices:{ - }, - streams:[], - nextInode:1, - nameTable:null, - currentPath:"/", - initialized:false, - ignorePermissions:true, - filesystems:null, - syncFSRequests:0, - readFiles:{ - }, - ErrnoError:class extends Error { - name = 'ErrnoError'; - // We set the `name` property to be able to identify `FS.ErrnoError` - // - the `name` is a standard ECMA-262 property of error objects. Kind of good to have it anyway. - // - when using PROXYFS, an error can come from an underlying FS - // as different FS objects have their own FS.ErrnoError each, - // the test `err instanceof FS.ErrnoError` won't detect an error coming from another filesystem, causing bugs. - // we'll use the reliable test `err.name == "ErrnoError"` instead - constructor(errno) { - super(runtimeInitialized ? strError(errno) : ''); - this.errno = errno; - for (var key in ERRNO_CODES) { - if (ERRNO_CODES[key] === errno) { - this.code = key; - break; - } - } - } - }, - FSStream:class { - shared = {}; - get object() { - return this.node; - } - set object(val) { - this.node = val; - } - get isRead() { - return (this.flags & 2097155) !== 1; - } - get isWrite() { - return (this.flags & 2097155) !== 0; - } - get isAppend() { - return (this.flags & 1024); - } - get flags() { - return this.shared.flags; - } - set flags(val) { - this.shared.flags = val; - } - get position() { - return this.shared.position; - } - set position(val) { - this.shared.position = val; - } - }, - FSNode:class { - node_ops = {}; - stream_ops = {}; - readMode = 292 | 73; - writeMode = 146; - mounted = null; - constructor(parent, name, mode, rdev) { - if (!parent) { - parent = this; // root node sets parent to itself - } - this.parent = parent; - this.mount = parent.mount; - this.id = FS.nextInode++; - this.name = name; - this.mode = mode; - this.rdev = rdev; - this.atime = this.mtime = this.ctime = Date.now(); - } - get read() { - return (this.mode & this.readMode) === this.readMode; - } - set read(val) { - val ? this.mode |= this.readMode : this.mode &= ~this.readMode; - } - get write() { - return (this.mode & this.writeMode) === this.writeMode; - } - set write(val) { - val ? this.mode |= this.writeMode : this.mode &= ~this.writeMode; - } - get isFolder() { - return FS.isDir(this.mode); - } - get isDevice() { - return FS.isChrdev(this.mode); - } - }, - lookupPath(path, opts = {}) { - if (!path) { - throw new FS.ErrnoError(44); - } - opts.follow_mount ??= true - - if (!PATH.isAbs(path)) { - path = FS.cwd() + '/' + path; - } - - // limit max consecutive symlinks to 40 (SYMLOOP_MAX). - linkloop: for (var nlinks = 0; nlinks < 40; nlinks++) { - // split the absolute path - var parts = path.split('/').filter((p) => !!p); - - // start at the root - var current = FS.root; - var current_path = '/'; - - for (var i = 0; i < parts.length; i++) { - var islast = (i === parts.length-1); - if (islast && opts.parent) { - // stop resolving - break; - } - - if (parts[i] === '.') { - continue; - } - - if (parts[i] === '..') { - current_path = PATH.dirname(current_path); - current = current.parent; - continue; - } - - current_path = PATH.join2(current_path, parts[i]); - try { - current = FS.lookupNode(current, parts[i]); - } catch (e) { - // if noent_okay is true, suppress a ENOENT in the last component - // and return an object with an undefined node. This is needed for - // resolving symlinks in the path when creating a file. - if ((e?.errno === 44) && islast && opts.noent_okay) { - return { path: current_path }; - } - throw e; - } - - // jump to the mount's root node if this is a mountpoint - if (FS.isMountpoint(current) && (!islast || opts.follow_mount)) { - current = current.mounted.root; - } - - // by default, lookupPath will not follow a symlink if it is the final path component. - // setting opts.follow = true will override this behavior. - if (FS.isLink(current.mode) && (!islast || opts.follow)) { - if (!current.node_ops.readlink) { - throw new FS.ErrnoError(52); - } - var link = current.node_ops.readlink(current); - if (!PATH.isAbs(link)) { - link = PATH.dirname(current_path) + '/' + link; - } - path = link + '/' + parts.slice(i + 1).join('/'); - continue linkloop; - } - } - return { path: current_path, node: current }; - } - throw new FS.ErrnoError(32); - }, - getPath(node) { - var path; - while (true) { - if (FS.isRoot(node)) { - var mount = node.mount.mountpoint; - if (!path) return mount; - return mount[mount.length-1] !== '/' ? `${mount}/${path}` : mount + path; - } - path = path ? `${node.name}/${path}` : node.name; - node = node.parent; - } - }, - hashName(parentid, name) { - var hash = 0; - - for (var i = 0; i < name.length; i++) { - hash = ((hash << 5) - hash + name.charCodeAt(i)) | 0; - } - return ((parentid + hash) >>> 0) % FS.nameTable.length; - }, - hashAddNode(node) { - var hash = FS.hashName(node.parent.id, node.name); - node.name_next = FS.nameTable[hash]; - FS.nameTable[hash] = node; - }, - hashRemoveNode(node) { - var hash = FS.hashName(node.parent.id, node.name); - if (FS.nameTable[hash] === node) { - FS.nameTable[hash] = node.name_next; - } else { - var current = FS.nameTable[hash]; - while (current) { - if (current.name_next === node) { - current.name_next = node.name_next; - break; - } - current = current.name_next; - } - } - }, - lookupNode(parent, name) { - var errCode = FS.mayLookup(parent); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - var hash = FS.hashName(parent.id, name); - for (var node = FS.nameTable[hash]; node; node = node.name_next) { - var nodeName = node.name; - if (node.parent.id === parent.id && nodeName === name) { - return node; - } - } - // if we failed to find it in the cache, call into the VFS - return FS.lookup(parent, name); - }, - createNode(parent, name, mode, rdev) { - assert(typeof parent == 'object') - var node = new FS.FSNode(parent, name, mode, rdev); - - FS.hashAddNode(node); - - return node; - }, - destroyNode(node) { - FS.hashRemoveNode(node); - }, - isRoot(node) { - return node === node.parent; - }, - isMountpoint(node) { - return !!node.mounted; - }, - isFile(mode) { - return (mode & 61440) === 32768; - }, - isDir(mode) { - return (mode & 61440) === 16384; - }, - isLink(mode) { - return (mode & 61440) === 40960; - }, - isChrdev(mode) { - return (mode & 61440) === 8192; - }, - isBlkdev(mode) { - return (mode & 61440) === 24576; - }, - isFIFO(mode) { - return (mode & 61440) === 4096; - }, - isSocket(mode) { - return (mode & 49152) === 49152; - }, - flagsToPermissionString(flag) { - var perms = ['r', 'w', 'rw'][flag & 3]; - if ((flag & 512)) { - perms += 'w'; - } - return perms; - }, - nodePermissions(node, perms) { - if (FS.ignorePermissions) { - return 0; - } - // return 0 if any user, group or owner bits are set. - if (perms.includes('r') && !(node.mode & 292)) { - return 2; - } else if (perms.includes('w') && !(node.mode & 146)) { - return 2; - } else if (perms.includes('x') && !(node.mode & 73)) { - return 2; - } - return 0; - }, - mayLookup(dir) { - if (!FS.isDir(dir.mode)) return 54; - var errCode = FS.nodePermissions(dir, 'x'); - if (errCode) return errCode; - if (!dir.node_ops.lookup) return 2; - return 0; - }, - mayCreate(dir, name) { - if (!FS.isDir(dir.mode)) { - return 54; - } - try { - var node = FS.lookupNode(dir, name); - return 20; - } catch (e) { - } - return FS.nodePermissions(dir, 'wx'); - }, - mayDelete(dir, name, isdir) { - var node; - try { - node = FS.lookupNode(dir, name); - } catch (e) { - return e.errno; - } - var errCode = FS.nodePermissions(dir, 'wx'); - if (errCode) { - return errCode; - } - if (isdir) { - if (!FS.isDir(node.mode)) { - return 54; - } - if (FS.isRoot(node) || FS.getPath(node) === FS.cwd()) { - return 10; - } - } else { - if (FS.isDir(node.mode)) { - return 31; - } - } - return 0; - }, - mayOpen(node, flags) { - if (!node) { - return 44; - } - if (FS.isLink(node.mode)) { - return 32; - } else if (FS.isDir(node.mode)) { - if (FS.flagsToPermissionString(flags) !== 'r' // opening for write - || (flags & (512 | 64))) { // TODO: check for O_SEARCH? (== search for dir only) - return 31; - } - } - return FS.nodePermissions(node, FS.flagsToPermissionString(flags)); - }, - checkOpExists(op, err) { - if (!op) { - throw new FS.ErrnoError(err); - } - return op; - }, - MAX_OPEN_FDS:4096, - nextfd() { - for (var fd = 0; fd <= FS.MAX_OPEN_FDS; fd++) { - if (!FS.streams[fd]) { - return fd; - } - } - throw new FS.ErrnoError(33); - }, - getStreamChecked(fd) { - var stream = FS.getStream(fd); - if (!stream) { - throw new FS.ErrnoError(8); - } - return stream; - }, - getStream:(fd) => FS.streams[fd], - createStream(stream, fd = -1) { - assert(fd >= -1); - - // clone it, so we can return an instance of FSStream - stream = Object.assign(new FS.FSStream(), stream); - if (fd == -1) { - fd = FS.nextfd(); - } - stream.fd = fd; - FS.streams[fd] = stream; - return stream; - }, - closeStream(fd) { - FS.streams[fd] = null; - }, - dupStream(origStream, fd = -1) { - var stream = FS.createStream(origStream, fd); - stream.stream_ops?.dup?.(stream); - return stream; - }, - doSetAttr(stream, node, attr) { - var setattr = stream?.stream_ops.setattr; - var arg = setattr ? stream : node; - setattr ??= node.node_ops.setattr; - FS.checkOpExists(setattr, 63) - setattr(arg, attr); - }, - chrdev_stream_ops:{ - open(stream) { - var device = FS.getDevice(stream.node.rdev); - // override node's stream ops with the device's - stream.stream_ops = device.stream_ops; - // forward the open call - stream.stream_ops.open?.(stream); - }, - llseek() { - throw new FS.ErrnoError(70); - }, - }, - major:(dev) => ((dev) >> 8), - minor:(dev) => ((dev) & 0xff), - makedev:(ma, mi) => ((ma) << 8 | (mi)), - registerDevice(dev, ops) { - FS.devices[dev] = { stream_ops: ops }; - }, - getDevice:(dev) => FS.devices[dev], - getMounts(mount) { - var mounts = []; - var check = [mount]; - - while (check.length) { - var m = check.pop(); - - mounts.push(m); - - check.push(...m.mounts); - } - - return mounts; - }, - syncfs(populate, callback) { - if (typeof populate == 'function') { - callback = populate; - populate = false; - } - - FS.syncFSRequests++; - - if (FS.syncFSRequests > 1) { - err(`warning: ${FS.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`); - } - - var mounts = FS.getMounts(FS.root.mount); - var completed = 0; - - function doCallback(errCode) { - assert(FS.syncFSRequests > 0); - FS.syncFSRequests--; - return callback(errCode); - } - - function done(errCode) { - if (errCode) { - if (!done.errored) { - done.errored = true; - return doCallback(errCode); - } - return; - } - if (++completed >= mounts.length) { - doCallback(null); - } - }; - - // sync all mounts - mounts.forEach((mount) => { - if (!mount.type.syncfs) { - return done(null); - } - mount.type.syncfs(mount, populate, done); - }); - }, - mount(type, opts, mountpoint) { - if (typeof type == 'string') { - // The filesystem was not included, and instead we have an error - // message stored in the variable. - throw type; - } - var root = mountpoint === '/'; - var pseudo = !mountpoint; - var node; - - if (root && FS.root) { - throw new FS.ErrnoError(10); - } else if (!root && !pseudo) { - var lookup = FS.lookupPath(mountpoint, { follow_mount: false }); - - mountpoint = lookup.path; // use the absolute path - node = lookup.node; - - if (FS.isMountpoint(node)) { - throw new FS.ErrnoError(10); - } - - if (!FS.isDir(node.mode)) { - throw new FS.ErrnoError(54); - } - } - - var mount = { - type, - opts, - mountpoint, - mounts: [] - }; - - // create a root node for the fs - var mountRoot = type.mount(mount); - mountRoot.mount = mount; - mount.root = mountRoot; - - if (root) { - FS.root = mountRoot; - } else if (node) { - // set as a mountpoint - node.mounted = mount; - - // add the new mount to the current mount's children - if (node.mount) { - node.mount.mounts.push(mount); - } - } - - return mountRoot; - }, - unmount(mountpoint) { - var lookup = FS.lookupPath(mountpoint, { follow_mount: false }); - - if (!FS.isMountpoint(lookup.node)) { - throw new FS.ErrnoError(28); - } - - // destroy the nodes for this mount, and all its child mounts - var node = lookup.node; - var mount = node.mounted; - var mounts = FS.getMounts(mount); - - Object.keys(FS.nameTable).forEach((hash) => { - var current = FS.nameTable[hash]; - - while (current) { - var next = current.name_next; - - if (mounts.includes(current.mount)) { - FS.destroyNode(current); - } - - current = next; - } - }); - - // no longer a mountpoint - node.mounted = null; - - // remove this mount from the child mounts - var idx = node.mount.mounts.indexOf(mount); - assert(idx !== -1); - node.mount.mounts.splice(idx, 1); - }, - lookup(parent, name) { - return parent.node_ops.lookup(parent, name); - }, - mknod(path, mode, dev) { - var lookup = FS.lookupPath(path, { parent: true }); - var parent = lookup.node; - var name = PATH.basename(path); - if (!name) { - throw new FS.ErrnoError(28); - } - if (name === '.' || name === '..') { - throw new FS.ErrnoError(20); - } - var errCode = FS.mayCreate(parent, name); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - if (!parent.node_ops.mknod) { - throw new FS.ErrnoError(63); - } - return parent.node_ops.mknod(parent, name, mode, dev); - }, - statfs(path) { - return FS.statfsNode(FS.lookupPath(path, {follow: true}).node); - }, - statfsStream(stream) { - // We keep a separate statfsStream function because noderawfs overrides - // it. In noderawfs, stream.node is sometimes null. Instead, we need to - // look at stream.path. - return FS.statfsNode(stream.node); - }, - statfsNode(node) { - // NOTE: None of the defaults here are true. We're just returning safe and - // sane values. Currently nodefs and rawfs replace these defaults, - // other file systems leave them alone. - var rtn = { - bsize: 4096, - frsize: 4096, - blocks: 1e6, - bfree: 5e5, - bavail: 5e5, - files: FS.nextInode, - ffree: FS.nextInode - 1, - fsid: 42, - flags: 2, - namelen: 255, - }; - - if (node.node_ops.statfs) { - Object.assign(rtn, node.node_ops.statfs(node.mount.opts.root)); - } - return rtn; - }, - create(path, mode = 0o666) { - mode &= 4095; - mode |= 32768; - return FS.mknod(path, mode, 0); - }, - mkdir(path, mode = 0o777) { - mode &= 511 | 512; - mode |= 16384; - return FS.mknod(path, mode, 0); - }, - mkdirTree(path, mode) { - var dirs = path.split('/'); - var d = ''; - for (var dir of dirs) { - if (!dir) continue; - if (d || PATH.isAbs(path)) d += '/'; - d += dir; - try { - FS.mkdir(d, mode); - } catch(e) { - if (e.errno != 20) throw e; - } - } - }, - mkdev(path, mode, dev) { - if (typeof dev == 'undefined') { - dev = mode; - mode = 0o666; - } - mode |= 8192; - return FS.mknod(path, mode, dev); - }, - symlink(oldpath, newpath) { - if (!PATH_FS.resolve(oldpath)) { - throw new FS.ErrnoError(44); - } - var lookup = FS.lookupPath(newpath, { parent: true }); - var parent = lookup.node; - if (!parent) { - throw new FS.ErrnoError(44); - } - var newname = PATH.basename(newpath); - var errCode = FS.mayCreate(parent, newname); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - if (!parent.node_ops.symlink) { - throw new FS.ErrnoError(63); - } - return parent.node_ops.symlink(parent, newname, oldpath); - }, - rename(old_path, new_path) { - var old_dirname = PATH.dirname(old_path); - var new_dirname = PATH.dirname(new_path); - var old_name = PATH.basename(old_path); - var new_name = PATH.basename(new_path); - // parents must exist - var lookup, old_dir, new_dir; - - // let the errors from non existent directories percolate up - lookup = FS.lookupPath(old_path, { parent: true }); - old_dir = lookup.node; - lookup = FS.lookupPath(new_path, { parent: true }); - new_dir = lookup.node; - - if (!old_dir || !new_dir) throw new FS.ErrnoError(44); - // need to be part of the same mount - if (old_dir.mount !== new_dir.mount) { - throw new FS.ErrnoError(75); - } - // source must exist - var old_node = FS.lookupNode(old_dir, old_name); - // old path should not be an ancestor of the new path - var relative = PATH_FS.relative(old_path, new_dirname); - if (relative.charAt(0) !== '.') { - throw new FS.ErrnoError(28); - } - // new path should not be an ancestor of the old path - relative = PATH_FS.relative(new_path, old_dirname); - if (relative.charAt(0) !== '.') { - throw new FS.ErrnoError(55); - } - // see if the new path already exists - var new_node; - try { - new_node = FS.lookupNode(new_dir, new_name); - } catch (e) { - // not fatal - } - // early out if nothing needs to change - if (old_node === new_node) { - return; - } - // we'll need to delete the old entry - var isdir = FS.isDir(old_node.mode); - var errCode = FS.mayDelete(old_dir, old_name, isdir); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - // need delete permissions if we'll be overwriting. - // need create permissions if new doesn't already exist. - errCode = new_node ? - FS.mayDelete(new_dir, new_name, isdir) : - FS.mayCreate(new_dir, new_name); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - if (!old_dir.node_ops.rename) { - throw new FS.ErrnoError(63); - } - if (FS.isMountpoint(old_node) || (new_node && FS.isMountpoint(new_node))) { - throw new FS.ErrnoError(10); - } - // if we are going to change the parent, check write permissions - if (new_dir !== old_dir) { - errCode = FS.nodePermissions(old_dir, 'w'); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - } - // remove the node from the lookup hash - FS.hashRemoveNode(old_node); - // do the underlying fs rename - try { - old_dir.node_ops.rename(old_node, new_dir, new_name); - // update old node (we do this here to avoid each backend - // needing to) - old_node.parent = new_dir; - } catch (e) { - throw e; - } finally { - // add the node back to the hash (in case node_ops.rename - // changed its name) - FS.hashAddNode(old_node); - } - }, - rmdir(path) { - var lookup = FS.lookupPath(path, { parent: true }); - var parent = lookup.node; - var name = PATH.basename(path); - var node = FS.lookupNode(parent, name); - var errCode = FS.mayDelete(parent, name, true); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - if (!parent.node_ops.rmdir) { - throw new FS.ErrnoError(63); - } - if (FS.isMountpoint(node)) { - throw new FS.ErrnoError(10); - } - parent.node_ops.rmdir(parent, name); - FS.destroyNode(node); - }, - readdir(path) { - var lookup = FS.lookupPath(path, { follow: true }); - var node = lookup.node; - var readdir = FS.checkOpExists(node.node_ops.readdir, 54); - return readdir(node); - }, - unlink(path) { - var lookup = FS.lookupPath(path, { parent: true }); - var parent = lookup.node; - if (!parent) { - throw new FS.ErrnoError(44); - } - var name = PATH.basename(path); - var node = FS.lookupNode(parent, name); - var errCode = FS.mayDelete(parent, name, false); - if (errCode) { - // According to POSIX, we should map EISDIR to EPERM, but - // we instead do what Linux does (and we must, as we use - // the musl linux libc). - throw new FS.ErrnoError(errCode); - } - if (!parent.node_ops.unlink) { - throw new FS.ErrnoError(63); - } - if (FS.isMountpoint(node)) { - throw new FS.ErrnoError(10); - } - parent.node_ops.unlink(parent, name); - FS.destroyNode(node); - }, - readlink(path) { - var lookup = FS.lookupPath(path); - var link = lookup.node; - if (!link) { - throw new FS.ErrnoError(44); - } - if (!link.node_ops.readlink) { - throw new FS.ErrnoError(28); - } - return link.node_ops.readlink(link); - }, - stat(path, dontFollow) { - var lookup = FS.lookupPath(path, { follow: !dontFollow }); - var node = lookup.node; - var getattr = FS.checkOpExists(node.node_ops.getattr, 63); - return getattr(node); - }, - fstat(fd) { - var stream = FS.getStreamChecked(fd); - var node = stream.node; - var getattr = stream.stream_ops.getattr; - var arg = getattr ? stream : node; - getattr ??= node.node_ops.getattr; - FS.checkOpExists(getattr, 63) - return getattr(arg); - }, - lstat(path) { - return FS.stat(path, true); - }, - doChmod(stream, node, mode, dontFollow) { - FS.doSetAttr(stream, node, { - mode: (mode & 4095) | (node.mode & ~4095), - ctime: Date.now(), - dontFollow - }); - }, - chmod(path, mode, dontFollow) { - var node; - if (typeof path == 'string') { - var lookup = FS.lookupPath(path, { follow: !dontFollow }); - node = lookup.node; - } else { - node = path; - } - FS.doChmod(null, node, mode, dontFollow); - }, - lchmod(path, mode) { - FS.chmod(path, mode, true); - }, - fchmod(fd, mode) { - var stream = FS.getStreamChecked(fd); - FS.doChmod(stream, stream.node, mode, false); - }, - doChown(stream, node, dontFollow) { - FS.doSetAttr(stream, node, { - timestamp: Date.now(), - dontFollow - // we ignore the uid / gid for now - }); - }, - chown(path, uid, gid, dontFollow) { - var node; - if (typeof path == 'string') { - var lookup = FS.lookupPath(path, { follow: !dontFollow }); - node = lookup.node; - } else { - node = path; - } - FS.doChown(null, node, dontFollow); - }, - lchown(path, uid, gid) { - FS.chown(path, uid, gid, true); - }, - fchown(fd, uid, gid) { - var stream = FS.getStreamChecked(fd); - FS.doChown(stream, stream.node, false); - }, - doTruncate(stream, node, len) { - if (FS.isDir(node.mode)) { - throw new FS.ErrnoError(31); - } - if (!FS.isFile(node.mode)) { - throw new FS.ErrnoError(28); - } - var errCode = FS.nodePermissions(node, 'w'); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - FS.doSetAttr(stream, node, { - size: len, - timestamp: Date.now() - }); - }, - truncate(path, len) { - if (len < 0) { - throw new FS.ErrnoError(28); - } - var node; - if (typeof path == 'string') { - var lookup = FS.lookupPath(path, { follow: true }); - node = lookup.node; - } else { - node = path; - } - FS.doTruncate(null, node, len); - }, - ftruncate(fd, len) { - var stream = FS.getStreamChecked(fd); - if (len < 0 || (stream.flags & 2097155) === 0) { - throw new FS.ErrnoError(28); - } - FS.doTruncate(stream, stream.node, len); - }, - utime(path, atime, mtime) { - var lookup = FS.lookupPath(path, { follow: true }); - var node = lookup.node; - var setattr = FS.checkOpExists(node.node_ops.setattr, 63); - setattr(node, { - atime: atime, - mtime: mtime - }); - }, - open(path, flags, mode = 0o666) { - if (path === "") { - throw new FS.ErrnoError(44); - } - flags = typeof flags == 'string' ? FS_modeStringToFlags(flags) : flags; - if ((flags & 64)) { - mode = (mode & 4095) | 32768; - } else { - mode = 0; - } - var node; - var isDirPath; - if (typeof path == 'object') { - node = path; - } else { - isDirPath = path.endsWith("/"); - // noent_okay makes it so that if the final component of the path - // doesn't exist, lookupPath returns `node: undefined`. `path` will be - // updated to point to the target of all symlinks. - var lookup = FS.lookupPath(path, { - follow: !(flags & 131072), - noent_okay: true - }); - node = lookup.node; - path = lookup.path; - } - // perhaps we need to create the node - var created = false; - if ((flags & 64)) { - if (node) { - // if O_CREAT and O_EXCL are set, error out if the node already exists - if ((flags & 128)) { - throw new FS.ErrnoError(20); - } - } else if (isDirPath) { - throw new FS.ErrnoError(31); - } else { - // node doesn't exist, try to create it - // Ignore the permission bits here to ensure we can `open` this new - // file below. We use chmod below the apply the permissions once the - // file is open. - node = FS.mknod(path, mode | 0o777, 0); - created = true; - } - } - if (!node) { - throw new FS.ErrnoError(44); - } - // can't truncate a device - if (FS.isChrdev(node.mode)) { - flags &= ~512; - } - // if asked only for a directory, then this must be one - if ((flags & 65536) && !FS.isDir(node.mode)) { - throw new FS.ErrnoError(54); - } - // check permissions, if this is not a file we just created now (it is ok to - // create and write to a file with read-only permissions; it is read-only - // for later use) - if (!created) { - var errCode = FS.mayOpen(node, flags); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - } - // do truncation if necessary - if ((flags & 512) && !created) { - FS.truncate(node, 0); - } - // we've already handled these, don't pass down to the underlying vfs - flags &= ~(128 | 512 | 131072); - - // register the stream with the filesystem - var stream = FS.createStream({ - node, - path: FS.getPath(node), // we want the absolute path to the node - flags, - seekable: true, - position: 0, - stream_ops: node.stream_ops, - // used by the file family libc calls (fopen, fwrite, ferror, etc.) - ungotten: [], - error: false - }); - // call the new stream's open function - if (stream.stream_ops.open) { - stream.stream_ops.open(stream); - } - if (created) { - FS.chmod(node, mode & 0o777); - } - if (Module['logReadFiles'] && !(flags & 1)) { - if (!(path in FS.readFiles)) { - FS.readFiles[path] = 1; - } - } - return stream; - }, - close(stream) { - if (FS.isClosed(stream)) { - throw new FS.ErrnoError(8); - } - if (stream.getdents) stream.getdents = null; // free readdir state - try { - if (stream.stream_ops.close) { - stream.stream_ops.close(stream); - } - } catch (e) { - throw e; - } finally { - FS.closeStream(stream.fd); - } - stream.fd = null; - }, - isClosed(stream) { - return stream.fd === null; - }, - llseek(stream, offset, whence) { - if (FS.isClosed(stream)) { - throw new FS.ErrnoError(8); - } - if (!stream.seekable || !stream.stream_ops.llseek) { - throw new FS.ErrnoError(70); - } - if (whence != 0 && whence != 1 && whence != 2) { - throw new FS.ErrnoError(28); - } - stream.position = stream.stream_ops.llseek(stream, offset, whence); - stream.ungotten = []; - return stream.position; - }, - read(stream, buffer, offset, length, position) { - assert(offset >= 0); - if (length < 0 || position < 0) { - throw new FS.ErrnoError(28); - } - if (FS.isClosed(stream)) { - throw new FS.ErrnoError(8); - } - if ((stream.flags & 2097155) === 1) { - throw new FS.ErrnoError(8); - } - if (FS.isDir(stream.node.mode)) { - throw new FS.ErrnoError(31); - } - if (!stream.stream_ops.read) { - throw new FS.ErrnoError(28); - } - var seeking = typeof position != 'undefined'; - if (!seeking) { - position = stream.position; - } else if (!stream.seekable) { - throw new FS.ErrnoError(70); - } - var bytesRead = stream.stream_ops.read(stream, buffer, offset, length, position); - if (!seeking) stream.position += bytesRead; - return bytesRead; - }, - write(stream, buffer, offset, length, position, canOwn) { - assert(offset >= 0); - if (length < 0 || position < 0) { - throw new FS.ErrnoError(28); - } - if (FS.isClosed(stream)) { - throw new FS.ErrnoError(8); - } - if ((stream.flags & 2097155) === 0) { - throw new FS.ErrnoError(8); - } - if (FS.isDir(stream.node.mode)) { - throw new FS.ErrnoError(31); - } - if (!stream.stream_ops.write) { - throw new FS.ErrnoError(28); - } - if (stream.seekable && stream.flags & 1024) { - // seek to the end before writing in append mode - FS.llseek(stream, 0, 2); - } - var seeking = typeof position != 'undefined'; - if (!seeking) { - position = stream.position; - } else if (!stream.seekable) { - throw new FS.ErrnoError(70); - } - var bytesWritten = stream.stream_ops.write(stream, buffer, offset, length, position, canOwn); - if (!seeking) stream.position += bytesWritten; - return bytesWritten; - }, - mmap(stream, length, position, prot, flags) { - // User requests writing to file (prot & PROT_WRITE != 0). - // Checking if we have permissions to write to the file unless - // MAP_PRIVATE flag is set. According to POSIX spec it is possible - // to write to file opened in read-only mode with MAP_PRIVATE flag, - // as all modifications will be visible only in the memory of - // the current process. - if ((prot & 2) !== 0 - && (flags & 2) === 0 - && (stream.flags & 2097155) !== 2) { - throw new FS.ErrnoError(2); - } - if ((stream.flags & 2097155) === 1) { - throw new FS.ErrnoError(2); - } - if (!stream.stream_ops.mmap) { - throw new FS.ErrnoError(43); - } - if (!length) { - throw new FS.ErrnoError(28); - } - return stream.stream_ops.mmap(stream, length, position, prot, flags); - }, - msync(stream, buffer, offset, length, mmapFlags) { - assert(offset >= 0); - if (!stream.stream_ops.msync) { - return 0; - } - return stream.stream_ops.msync(stream, buffer, offset, length, mmapFlags); - }, - ioctl(stream, cmd, arg) { - if (!stream.stream_ops.ioctl) { - throw new FS.ErrnoError(59); - } - return stream.stream_ops.ioctl(stream, cmd, arg); - }, - readFile(path, opts = {}) { - opts.flags = opts.flags || 0; - opts.encoding = opts.encoding || 'binary'; - if (opts.encoding !== 'utf8' && opts.encoding !== 'binary') { - throw new Error(`Invalid encoding type "${opts.encoding}"`); - } - var ret; - var stream = FS.open(path, opts.flags); - var stat = FS.stat(path); - var length = stat.size; - var buf = new Uint8Array(length); - FS.read(stream, buf, 0, length, 0); - if (opts.encoding === 'utf8') { - ret = UTF8ArrayToString(buf); - } else if (opts.encoding === 'binary') { - ret = buf; - } - FS.close(stream); - return ret; - }, - writeFile(path, data, opts = {}) { - opts.flags = opts.flags || 577; - var stream = FS.open(path, opts.flags, opts.mode); - if (typeof data == 'string') { - var buf = new Uint8Array(lengthBytesUTF8(data)+1); - var actualNumBytes = stringToUTF8Array(data, buf, 0, buf.length); - FS.write(stream, buf, 0, actualNumBytes, undefined, opts.canOwn); - } else if (ArrayBuffer.isView(data)) { - FS.write(stream, data, 0, data.byteLength, undefined, opts.canOwn); - } else { - throw new Error('Unsupported data type'); - } - FS.close(stream); - }, - cwd:() => FS.currentPath, - chdir(path) { - var lookup = FS.lookupPath(path, { follow: true }); - if (lookup.node === null) { - throw new FS.ErrnoError(44); - } - if (!FS.isDir(lookup.node.mode)) { - throw new FS.ErrnoError(54); - } - var errCode = FS.nodePermissions(lookup.node, 'x'); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - FS.currentPath = lookup.path; - }, - createDefaultDirectories() { - FS.mkdir('/tmp'); - FS.mkdir('/home'); - FS.mkdir('/home/web_user'); - }, - createDefaultDevices() { - // create /dev - FS.mkdir('/dev'); - // setup /dev/null - FS.registerDevice(FS.makedev(1, 3), { - read: () => 0, - write: (stream, buffer, offset, length, pos) => length, - llseek: () => 0, - }); - FS.mkdev('/dev/null', FS.makedev(1, 3)); - // setup /dev/tty and /dev/tty1 - // stderr needs to print output using err() rather than out() - // so we register a second tty just for it. - TTY.register(FS.makedev(5, 0), TTY.default_tty_ops); - TTY.register(FS.makedev(6, 0), TTY.default_tty1_ops); - FS.mkdev('/dev/tty', FS.makedev(5, 0)); - FS.mkdev('/dev/tty1', FS.makedev(6, 0)); - // setup /dev/[u]random - // use a buffer to avoid overhead of individual crypto calls per byte - var randomBuffer = new Uint8Array(1024), randomLeft = 0; - var randomByte = () => { - if (randomLeft === 0) { - randomFill(randomBuffer); - randomLeft = randomBuffer.byteLength; - } - return randomBuffer[--randomLeft]; - }; - FS.createDevice('/dev', 'random', randomByte); - FS.createDevice('/dev', 'urandom', randomByte); - // we're not going to emulate the actual shm device, - // just create the tmp dirs that reside in it commonly - FS.mkdir('/dev/shm'); - FS.mkdir('/dev/shm/tmp'); - }, - createSpecialDirectories() { - // create /proc/self/fd which allows /proc/self/fd/6 => readlink gives the - // name of the stream for fd 6 (see test_unistd_ttyname) - FS.mkdir('/proc'); - var proc_self = FS.mkdir('/proc/self'); - FS.mkdir('/proc/self/fd'); - FS.mount({ - mount() { - var node = FS.createNode(proc_self, 'fd', 16895, 73); - node.stream_ops = { - llseek: MEMFS.stream_ops.llseek, - }; - node.node_ops = { - lookup(parent, name) { - var fd = +name; - var stream = FS.getStreamChecked(fd); - var ret = { - parent: null, - mount: { mountpoint: 'fake' }, - node_ops: { readlink: () => stream.path }, - id: fd + 1, - }; - ret.parent = ret; // make it look like a simple root node - return ret; - }, - readdir() { - return Array.from(FS.streams.entries()) - .filter(([k, v]) => v) - .map(([k, v]) => k.toString()); - } - }; - return node; - } - }, {}, '/proc/self/fd'); - }, - createStandardStreams(input, output, error) { - // TODO deprecate the old functionality of a single - // input / output callback and that utilizes FS.createDevice - // and instead require a unique set of stream ops - - // by default, we symlink the standard streams to the - // default tty devices. however, if the standard streams - // have been overwritten we create a unique device for - // them instead. - if (input) { - FS.createDevice('/dev', 'stdin', input); - } else { - FS.symlink('/dev/tty', '/dev/stdin'); - } - if (output) { - FS.createDevice('/dev', 'stdout', null, output); - } else { - FS.symlink('/dev/tty', '/dev/stdout'); - } - if (error) { - FS.createDevice('/dev', 'stderr', null, error); - } else { - FS.symlink('/dev/tty1', '/dev/stderr'); - } - - // open default streams for the stdin, stdout and stderr devices - var stdin = FS.open('/dev/stdin', 0); - var stdout = FS.open('/dev/stdout', 1); - var stderr = FS.open('/dev/stderr', 1); - assert(stdin.fd === 0, `invalid handle for stdin (${stdin.fd})`); - assert(stdout.fd === 1, `invalid handle for stdout (${stdout.fd})`); - assert(stderr.fd === 2, `invalid handle for stderr (${stderr.fd})`); - }, - staticInit() { - FS.nameTable = new Array(4096); - - FS.mount(MEMFS, {}, '/'); - - FS.createDefaultDirectories(); - FS.createDefaultDevices(); - FS.createSpecialDirectories(); - - FS.filesystems = { - 'MEMFS': MEMFS, - }; - }, - init(input, output, error) { - assert(!FS.initialized, 'FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)'); - FS.initialized = true; - - // Allow Module.stdin etc. to provide defaults, if none explicitly passed to us here - input ??= Module['stdin']; - output ??= Module['stdout']; - error ??= Module['stderr']; - - FS.createStandardStreams(input, output, error); - }, - quit() { - FS.initialized = false; - // force-flush all streams, so we get musl std streams printed out - _fflush(0); - // close all of our streams - for (var stream of FS.streams) { - if (stream) { - FS.close(stream); - } - } - }, - findObject(path, dontResolveLastLink) { - var ret = FS.analyzePath(path, dontResolveLastLink); - if (!ret.exists) { - return null; - } - return ret.object; - }, - analyzePath(path, dontResolveLastLink) { - // operate from within the context of the symlink's target - try { - var lookup = FS.lookupPath(path, { follow: !dontResolveLastLink }); - path = lookup.path; - } catch (e) { - } - var ret = { - isRoot: false, exists: false, error: 0, name: null, path: null, object: null, - parentExists: false, parentPath: null, parentObject: null - }; - try { - var lookup = FS.lookupPath(path, { parent: true }); - ret.parentExists = true; - ret.parentPath = lookup.path; - ret.parentObject = lookup.node; - ret.name = PATH.basename(path); - lookup = FS.lookupPath(path, { follow: !dontResolveLastLink }); - ret.exists = true; - ret.path = lookup.path; - ret.object = lookup.node; - ret.name = lookup.node.name; - ret.isRoot = lookup.path === '/'; - } catch (e) { - ret.error = e.errno; - }; - return ret; - }, - createPath(parent, path, canRead, canWrite) { - parent = typeof parent == 'string' ? parent : FS.getPath(parent); - var parts = path.split('/').reverse(); - while (parts.length) { - var part = parts.pop(); - if (!part) continue; - var current = PATH.join2(parent, part); - try { - FS.mkdir(current); - } catch (e) { - if (e.errno != 20) throw e; - } - parent = current; - } - return current; - }, - createFile(parent, name, properties, canRead, canWrite) { - var path = PATH.join2(typeof parent == 'string' ? parent : FS.getPath(parent), name); - var mode = FS_getMode(canRead, canWrite); - return FS.create(path, mode); - }, - createDataFile(parent, name, data, canRead, canWrite, canOwn) { - var path = name; - if (parent) { - parent = typeof parent == 'string' ? parent : FS.getPath(parent); - path = name ? PATH.join2(parent, name) : parent; - } - var mode = FS_getMode(canRead, canWrite); - var node = FS.create(path, mode); - if (data) { - if (typeof data == 'string') { - var arr = new Array(data.length); - for (var i = 0, len = data.length; i < len; ++i) arr[i] = data.charCodeAt(i); - data = arr; - } - // make sure we can write to the file - FS.chmod(node, mode | 146); - var stream = FS.open(node, 577); - FS.write(stream, data, 0, data.length, 0, canOwn); - FS.close(stream); - FS.chmod(node, mode); - } - }, - createDevice(parent, name, input, output) { - var path = PATH.join2(typeof parent == 'string' ? parent : FS.getPath(parent), name); - var mode = FS_getMode(!!input, !!output); - FS.createDevice.major ??= 64; - var dev = FS.makedev(FS.createDevice.major++, 0); - // Create a fake device that a set of stream ops to emulate - // the old behavior. - FS.registerDevice(dev, { - open(stream) { - stream.seekable = false; - }, - close(stream) { - // flush any pending line data - if (output?.buffer?.length) { - output(10); - } - }, - read(stream, buffer, offset, length, pos /* ignored */) { - var bytesRead = 0; - for (var i = 0; i < length; i++) { - var result; - try { - result = input(); - } catch (e) { - throw new FS.ErrnoError(29); - } - if (result === undefined && bytesRead === 0) { - throw new FS.ErrnoError(6); - } - if (result === null || result === undefined) break; - bytesRead++; - buffer[offset+i] = result; - } - if (bytesRead) { - stream.node.atime = Date.now(); - } - return bytesRead; - }, - write(stream, buffer, offset, length, pos) { - for (var i = 0; i < length; i++) { - try { - output(buffer[offset+i]); - } catch (e) { - throw new FS.ErrnoError(29); - } - } - if (length) { - stream.node.mtime = stream.node.ctime = Date.now(); - } - return i; - } - }); - return FS.mkdev(path, mode, dev); - }, - forceLoadFile(obj) { - if (obj.isDevice || obj.isFolder || obj.link || obj.contents) return true; - if (typeof XMLHttpRequest != 'undefined') { - throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread."); - } else { // Command-line. - try { - obj.contents = readBinary(obj.url); - obj.usedBytes = obj.contents.length; - } catch (e) { - throw new FS.ErrnoError(29); - } - } - }, - createLazyFile(parent, name, url, canRead, canWrite) { - // Lazy chunked Uint8Array (implements get and length from Uint8Array). - // Actual getting is abstracted away for eventual reuse. - class LazyUint8Array { - lengthKnown = false; - chunks = []; // Loaded chunks. Index is the chunk number - get(idx) { - if (idx > this.length-1 || idx < 0) { - return undefined; - } - var chunkOffset = idx % this.chunkSize; - var chunkNum = (idx / this.chunkSize)|0; - return this.getter(chunkNum)[chunkOffset]; - } - setDataGetter(getter) { - this.getter = getter; - } - cacheLength() { - // Find length - var xhr = new XMLHttpRequest(); - xhr.open('HEAD', url, false); - xhr.send(null); - if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error("Couldn't load " + url + ". Status: " + xhr.status); - var datalength = Number(xhr.getResponseHeader("Content-length")); - var header; - var hasByteServing = (header = xhr.getResponseHeader("Accept-Ranges")) && header === "bytes"; - var usesGzip = (header = xhr.getResponseHeader("Content-Encoding")) && header === "gzip"; - - var chunkSize = 1024*1024; // Chunk size in bytes - - if (!hasByteServing) chunkSize = datalength; - - // Function to get a range from the remote URL. - var doXHR = (from, to) => { - if (from > to) throw new Error("invalid range (" + from + ", " + to + ") or no bytes requested!"); - if (to > datalength-1) throw new Error("only " + datalength + " bytes available! programmer error!"); - - // TODO: Use mozResponseArrayBuffer, responseStream, etc. if available. - var xhr = new XMLHttpRequest(); - xhr.open('GET', url, false); - if (datalength !== chunkSize) xhr.setRequestHeader("Range", "bytes=" + from + "-" + to); - - // Some hints to the browser that we want binary data. - xhr.responseType = 'arraybuffer'; - if (xhr.overrideMimeType) { - xhr.overrideMimeType('text/plain; charset=x-user-defined'); - } - - xhr.send(null); - if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error("Couldn't load " + url + ". Status: " + xhr.status); - if (xhr.response !== undefined) { - return new Uint8Array(/** @type{Array} */(xhr.response || [])); - } - return intArrayFromString(xhr.responseText || '', true); - }; - var lazyArray = this; - lazyArray.setDataGetter((chunkNum) => { - var start = chunkNum * chunkSize; - var end = (chunkNum+1) * chunkSize - 1; // including this byte - end = Math.min(end, datalength-1); // if datalength-1 is selected, this is the last block - if (typeof lazyArray.chunks[chunkNum] == 'undefined') { - lazyArray.chunks[chunkNum] = doXHR(start, end); - } - if (typeof lazyArray.chunks[chunkNum] == 'undefined') throw new Error('doXHR failed!'); - return lazyArray.chunks[chunkNum]; - }); - - if (usesGzip || !datalength) { - // if the server uses gzip or doesn't supply the length, we have to download the whole file to get the (uncompressed) length - chunkSize = datalength = 1; // this will force getter(0)/doXHR do download the whole file - datalength = this.getter(0).length; - chunkSize = datalength; - out("LazyFiles on gzip forces download of the whole file when length is accessed"); - } - - this._length = datalength; - this._chunkSize = chunkSize; - this.lengthKnown = true; - } - get length() { - if (!this.lengthKnown) { - this.cacheLength(); - } - return this._length; - } - get chunkSize() { - if (!this.lengthKnown) { - this.cacheLength(); - } - return this._chunkSize; - } - } - - if (typeof XMLHttpRequest != 'undefined') { - if (!ENVIRONMENT_IS_WORKER) throw 'Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc'; - var lazyArray = new LazyUint8Array(); - var properties = { isDevice: false, contents: lazyArray }; - } else { - var properties = { isDevice: false, url: url }; - } - - var node = FS.createFile(parent, name, properties, canRead, canWrite); - // This is a total hack, but I want to get this lazy file code out of the - // core of MEMFS. If we want to keep this lazy file concept I feel it should - // be its own thin LAZYFS proxying calls to MEMFS. - if (properties.contents) { - node.contents = properties.contents; - } else if (properties.url) { - node.contents = null; - node.url = properties.url; - } - // Add a function that defers querying the file size until it is asked the first time. - Object.defineProperties(node, { - usedBytes: { - get: function() { return this.contents.length; } - } - }); - // override each stream op with one that tries to force load the lazy file first - var stream_ops = {}; - var keys = Object.keys(node.stream_ops); - keys.forEach((key) => { - var fn = node.stream_ops[key]; - stream_ops[key] = (...args) => { - FS.forceLoadFile(node); - return fn(...args); - }; - }); - function writeChunks(stream, buffer, offset, length, position) { - var contents = stream.node.contents; - if (position >= contents.length) - return 0; - var size = Math.min(contents.length - position, length); - assert(size >= 0); - if (contents.slice) { // normal array - for (var i = 0; i < size; i++) { - buffer[offset + i] = contents[position + i]; - } - } else { - for (var i = 0; i < size; i++) { // LazyUint8Array from sync binary XHR - buffer[offset + i] = contents.get(position + i); - } - } - return size; - } - // use a custom read function - stream_ops.read = (stream, buffer, offset, length, position) => { - FS.forceLoadFile(node); - return writeChunks(stream, buffer, offset, length, position) - }; - // use a custom mmap function - stream_ops.mmap = (stream, length, position, prot, flags) => { - FS.forceLoadFile(node); - var ptr = mmapAlloc(length); - if (!ptr) { - throw new FS.ErrnoError(48); - } - writeChunks(stream, HEAP8, ptr, length, position); - return { ptr, allocated: true }; - }; - node.stream_ops = stream_ops; - return node; - }, - absolutePath() { - abort('FS.absolutePath has been removed; use PATH_FS.resolve instead'); - }, - createFolder() { - abort('FS.createFolder has been removed; use FS.mkdir instead'); - }, - createLink() { - abort('FS.createLink has been removed; use FS.symlink instead'); - }, - joinPath() { - abort('FS.joinPath has been removed; use PATH.join instead'); - }, - mmapAlloc() { - abort('FS.mmapAlloc has been replaced by the top level function mmapAlloc'); - }, - standardizePath() { - abort('FS.standardizePath has been removed; use PATH.normalize instead'); - }, - }; - - var SYSCALLS = { - DEFAULT_POLLMASK:5, - calculateAt(dirfd, path, allowEmpty) { - if (PATH.isAbs(path)) { - return path; - } - // relative path - var dir; - if (dirfd === -100) { - dir = FS.cwd(); - } else { - var dirstream = SYSCALLS.getStreamFromFD(dirfd); - dir = dirstream.path; - } - if (path.length == 0) { - if (!allowEmpty) { - throw new FS.ErrnoError(44);; - } - return dir; - } - return dir + '/' + path; - }, - writeStat(buf, stat) { - HEAP32[((buf)>>2)] = stat.dev; - HEAP32[(((buf)+(4))>>2)] = stat.mode; - HEAPU32[(((buf)+(8))>>2)] = stat.nlink; - HEAP32[(((buf)+(12))>>2)] = stat.uid; - HEAP32[(((buf)+(16))>>2)] = stat.gid; - HEAP32[(((buf)+(20))>>2)] = stat.rdev; - HEAP64[(((buf)+(24))>>3)] = BigInt(stat.size); - HEAP32[(((buf)+(32))>>2)] = 4096; - HEAP32[(((buf)+(36))>>2)] = stat.blocks; - var atime = stat.atime.getTime(); - var mtime = stat.mtime.getTime(); - var ctime = stat.ctime.getTime(); - HEAP64[(((buf)+(40))>>3)] = BigInt(Math.floor(atime / 1000)); - HEAPU32[(((buf)+(48))>>2)] = (atime % 1000) * 1000 * 1000; - HEAP64[(((buf)+(56))>>3)] = BigInt(Math.floor(mtime / 1000)); - HEAPU32[(((buf)+(64))>>2)] = (mtime % 1000) * 1000 * 1000; - HEAP64[(((buf)+(72))>>3)] = BigInt(Math.floor(ctime / 1000)); - HEAPU32[(((buf)+(80))>>2)] = (ctime % 1000) * 1000 * 1000; - HEAP64[(((buf)+(88))>>3)] = BigInt(stat.ino); - return 0; - }, - writeStatFs(buf, stats) { - HEAP32[(((buf)+(4))>>2)] = stats.bsize; - HEAP32[(((buf)+(40))>>2)] = stats.bsize; - HEAP32[(((buf)+(8))>>2)] = stats.blocks; - HEAP32[(((buf)+(12))>>2)] = stats.bfree; - HEAP32[(((buf)+(16))>>2)] = stats.bavail; - HEAP32[(((buf)+(20))>>2)] = stats.files; - HEAP32[(((buf)+(24))>>2)] = stats.ffree; - HEAP32[(((buf)+(28))>>2)] = stats.fsid; - HEAP32[(((buf)+(44))>>2)] = stats.flags; // ST_NOSUID - HEAP32[(((buf)+(36))>>2)] = stats.namelen; - }, - doMsync(addr, stream, len, flags, offset) { - if (!FS.isFile(stream.node.mode)) { - throw new FS.ErrnoError(43); - } - if (flags & 2) { - // MAP_PRIVATE calls need not to be synced back to underlying fs - return 0; - } - var buffer = HEAPU8.slice(addr, addr + len); - FS.msync(stream, buffer, offset, len, flags); - }, - getStreamFromFD(fd) { - var stream = FS.getStreamChecked(fd); - return stream; - }, - varargs:undefined, - getStr(ptr) { - var ret = UTF8ToString(ptr); - return ret; - }, - }; - function ___syscall_chmod(path, mode) { - try { - - path = SYSCALLS.getStr(path); - FS.chmod(path, mode); - return 0; - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return -e.errno; - } - } - - function ___syscall_fchmod(fd, mode) { - try { - - FS.fchmod(fd, mode); - return 0; - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return -e.errno; - } - } - - /** @suppress {duplicate } */ - var syscallGetVarargI = () => { - assert(SYSCALLS.varargs != undefined); - // the `+` prepended here is necessary to convince the JSCompiler that varargs is indeed a number. - var ret = HEAP32[((+SYSCALLS.varargs)>>2)]; - SYSCALLS.varargs += 4; - return ret; - }; - var syscallGetVarargP = syscallGetVarargI; - - - function ___syscall_fcntl64(fd, cmd, varargs) { - SYSCALLS.varargs = varargs; - try { - - var stream = SYSCALLS.getStreamFromFD(fd); - switch (cmd) { - case 0: { - var arg = syscallGetVarargI(); - if (arg < 0) { - return -28; - } - while (FS.streams[arg]) { - arg++; - } - var newStream; - newStream = FS.dupStream(stream, arg); - return newStream.fd; - } - case 1: - case 2: - return 0; // FD_CLOEXEC makes no sense for a single process. - case 3: - return stream.flags; - case 4: { - var arg = syscallGetVarargI(); - stream.flags |= arg; - return 0; - } - case 12: { - var arg = syscallGetVarargP(); - var offset = 0; - // We're always unlocked. - HEAP16[(((arg)+(offset))>>1)] = 2; - return 0; - } - case 13: - case 14: - // Pretend that the locking is successful. These are process-level locks, - // and Emscripten programs are a single process. If we supported linking a - // filesystem between programs, we'd need to do more here. - // See https://github.com/emscripten-core/emscripten/issues/23697 - return 0; - } - return -28; - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return -e.errno; - } - } - - function ___syscall_fstat64(fd, buf) { - try { - - return SYSCALLS.writeStat(buf, FS.fstat(fd)); - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return -e.errno; - } - } - - - function ___syscall_ioctl(fd, op, varargs) { - SYSCALLS.varargs = varargs; - try { - - var stream = SYSCALLS.getStreamFromFD(fd); - switch (op) { - case 21509: { - if (!stream.tty) return -59; - return 0; - } - case 21505: { - if (!stream.tty) return -59; - if (stream.tty.ops.ioctl_tcgets) { - var termios = stream.tty.ops.ioctl_tcgets(stream); - var argp = syscallGetVarargP(); - HEAP32[((argp)>>2)] = termios.c_iflag || 0; - HEAP32[(((argp)+(4))>>2)] = termios.c_oflag || 0; - HEAP32[(((argp)+(8))>>2)] = termios.c_cflag || 0; - HEAP32[(((argp)+(12))>>2)] = termios.c_lflag || 0; - for (var i = 0; i < 32; i++) { - HEAP8[(argp + i)+(17)] = termios.c_cc[i] || 0; - } - return 0; - } - return 0; - } - case 21510: - case 21511: - case 21512: { - if (!stream.tty) return -59; - return 0; // no-op, not actually adjusting terminal settings - } - case 21506: - case 21507: - case 21508: { - if (!stream.tty) return -59; - if (stream.tty.ops.ioctl_tcsets) { - var argp = syscallGetVarargP(); - var c_iflag = HEAP32[((argp)>>2)]; - var c_oflag = HEAP32[(((argp)+(4))>>2)]; - var c_cflag = HEAP32[(((argp)+(8))>>2)]; - var c_lflag = HEAP32[(((argp)+(12))>>2)]; - var c_cc = [] - for (var i = 0; i < 32; i++) { - c_cc.push(HEAP8[(argp + i)+(17)]); - } - return stream.tty.ops.ioctl_tcsets(stream.tty, op, { c_iflag, c_oflag, c_cflag, c_lflag, c_cc }); - } - return 0; // no-op, not actually adjusting terminal settings - } - case 21519: { - if (!stream.tty) return -59; - var argp = syscallGetVarargP(); - HEAP32[((argp)>>2)] = 0; - return 0; - } - case 21520: { - if (!stream.tty) return -59; - return -28; // not supported - } - case 21531: { - var argp = syscallGetVarargP(); - return FS.ioctl(stream, op, argp); - } - case 21523: { - // TODO: in theory we should write to the winsize struct that gets - // passed in, but for now musl doesn't read anything on it - if (!stream.tty) return -59; - if (stream.tty.ops.ioctl_tiocgwinsz) { - var winsize = stream.tty.ops.ioctl_tiocgwinsz(stream.tty); - var argp = syscallGetVarargP(); - HEAP16[((argp)>>1)] = winsize[0]; - HEAP16[(((argp)+(2))>>1)] = winsize[1]; - } - return 0; - } - case 21524: { - // TODO: technically, this ioctl call should change the window size. - // but, since emscripten doesn't have any concept of a terminal window - // yet, we'll just silently throw it away as we do TIOCGWINSZ - if (!stream.tty) return -59; - return 0; - } - case 21515: { - if (!stream.tty) return -59; - return 0; - } - default: return -28; // not supported - } - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return -e.errno; - } - } - - function ___syscall_lstat64(path, buf) { - try { - - path = SYSCALLS.getStr(path); - return SYSCALLS.writeStat(buf, FS.lstat(path)); - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return -e.errno; - } - } - - function ___syscall_newfstatat(dirfd, path, buf, flags) { - try { - - path = SYSCALLS.getStr(path); - var nofollow = flags & 256; - var allowEmpty = flags & 4096; - flags = flags & (~6400); - assert(!flags, `unknown flags in __syscall_newfstatat: ${flags}`); - path = SYSCALLS.calculateAt(dirfd, path, allowEmpty); - return SYSCALLS.writeStat(buf, nofollow ? FS.lstat(path) : FS.stat(path)); - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return -e.errno; - } - } - - - function ___syscall_openat(dirfd, path, flags, varargs) { - SYSCALLS.varargs = varargs; - try { - - path = SYSCALLS.getStr(path); - path = SYSCALLS.calculateAt(dirfd, path); - var mode = varargs ? syscallGetVarargI() : 0; - return FS.open(path, flags, mode).fd; - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return -e.errno; - } - } - - function ___syscall_renameat(olddirfd, oldpath, newdirfd, newpath) { - try { - - oldpath = SYSCALLS.getStr(oldpath); - newpath = SYSCALLS.getStr(newpath); - oldpath = SYSCALLS.calculateAt(olddirfd, oldpath); - newpath = SYSCALLS.calculateAt(newdirfd, newpath); - FS.rename(oldpath, newpath); - return 0; - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return -e.errno; - } - } - - function ___syscall_rmdir(path) { - try { - - path = SYSCALLS.getStr(path); - FS.rmdir(path); - return 0; - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return -e.errno; - } - } - - function ___syscall_stat64(path, buf) { - try { - - path = SYSCALLS.getStr(path); - return SYSCALLS.writeStat(buf, FS.stat(path)); - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return -e.errno; - } - } - - function ___syscall_unlinkat(dirfd, path, flags) { - try { - - path = SYSCALLS.getStr(path); - path = SYSCALLS.calculateAt(dirfd, path); - if (flags === 0) { - FS.unlink(path); - } else if (flags === 512) { - FS.rmdir(path); - } else { - abort('Invalid flags passed to unlinkat'); - } - return 0; - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return -e.errno; - } - } - - var __abort_js = () => - abort('native code called abort()'); - - var isLeapYear = (year) => year%4 === 0 && (year%100 !== 0 || year%400 === 0); - - var MONTH_DAYS_LEAP_CUMULATIVE = [0,31,60,91,121,152,182,213,244,274,305,335]; - - var MONTH_DAYS_REGULAR_CUMULATIVE = [0,31,59,90,120,151,181,212,243,273,304,334]; - var ydayFromDate = (date) => { - var leap = isLeapYear(date.getFullYear()); - var monthDaysCumulative = (leap ? MONTH_DAYS_LEAP_CUMULATIVE : MONTH_DAYS_REGULAR_CUMULATIVE); - var yday = monthDaysCumulative[date.getMonth()] + date.getDate() - 1; // -1 since it's days since Jan 1 - - return yday; - }; - - var INT53_MAX = 9007199254740992; - - var INT53_MIN = -9007199254740992; - var bigintToI53Checked = (num) => (num < INT53_MIN || num > INT53_MAX) ? NaN : Number(num); - function __localtime_js(time, tmPtr) { - time = bigintToI53Checked(time); - - - var date = new Date(time*1000); - HEAP32[((tmPtr)>>2)] = date.getSeconds(); - HEAP32[(((tmPtr)+(4))>>2)] = date.getMinutes(); - HEAP32[(((tmPtr)+(8))>>2)] = date.getHours(); - HEAP32[(((tmPtr)+(12))>>2)] = date.getDate(); - HEAP32[(((tmPtr)+(16))>>2)] = date.getMonth(); - HEAP32[(((tmPtr)+(20))>>2)] = date.getFullYear()-1900; - HEAP32[(((tmPtr)+(24))>>2)] = date.getDay(); - - var yday = ydayFromDate(date)|0; - HEAP32[(((tmPtr)+(28))>>2)] = yday; - HEAP32[(((tmPtr)+(36))>>2)] = -(date.getTimezoneOffset() * 60); - - // Attention: DST is in December in South, and some regions don't have DST at all. - var start = new Date(date.getFullYear(), 0, 1); - var summerOffset = new Date(date.getFullYear(), 6, 1).getTimezoneOffset(); - var winterOffset = start.getTimezoneOffset(); - var dst = (summerOffset != winterOffset && date.getTimezoneOffset() == Math.min(winterOffset, summerOffset))|0; - HEAP32[(((tmPtr)+(32))>>2)] = dst; - ; - } - - - var __mktime_js = function(tmPtr) { - - var ret = (() => { - var date = new Date(HEAP32[(((tmPtr)+(20))>>2)] + 1900, - HEAP32[(((tmPtr)+(16))>>2)], - HEAP32[(((tmPtr)+(12))>>2)], - HEAP32[(((tmPtr)+(8))>>2)], - HEAP32[(((tmPtr)+(4))>>2)], - HEAP32[((tmPtr)>>2)], - 0); - - // There's an ambiguous hour when the time goes back; the tm_isdst field is - // used to disambiguate it. Date() basically guesses, so we fix it up if it - // guessed wrong, or fill in tm_isdst with the guess if it's -1. - var dst = HEAP32[(((tmPtr)+(32))>>2)]; - var guessedOffset = date.getTimezoneOffset(); - var start = new Date(date.getFullYear(), 0, 1); - var summerOffset = new Date(date.getFullYear(), 6, 1).getTimezoneOffset(); - var winterOffset = start.getTimezoneOffset(); - var dstOffset = Math.min(winterOffset, summerOffset); // DST is in December in South - if (dst < 0) { - // Attention: some regions don't have DST at all. - HEAP32[(((tmPtr)+(32))>>2)] = Number(summerOffset != winterOffset && dstOffset == guessedOffset); - } else if ((dst > 0) != (dstOffset == guessedOffset)) { - var nonDstOffset = Math.max(winterOffset, summerOffset); - var trueOffset = dst > 0 ? dstOffset : nonDstOffset; - // Don't try setMinutes(date.getMinutes() + ...) -- it's messed up. - date.setTime(date.getTime() + (trueOffset - guessedOffset)*60000); - } - - HEAP32[(((tmPtr)+(24))>>2)] = date.getDay(); - var yday = ydayFromDate(date)|0; - HEAP32[(((tmPtr)+(28))>>2)] = yday; - // To match expected behavior, update fields from date - HEAP32[((tmPtr)>>2)] = date.getSeconds(); - HEAP32[(((tmPtr)+(4))>>2)] = date.getMinutes(); - HEAP32[(((tmPtr)+(8))>>2)] = date.getHours(); - HEAP32[(((tmPtr)+(12))>>2)] = date.getDate(); - HEAP32[(((tmPtr)+(16))>>2)] = date.getMonth(); - HEAP32[(((tmPtr)+(20))>>2)] = date.getYear(); - - var timeMs = date.getTime(); - if (isNaN(timeMs)) { - return -1; - } - // Return time in microseconds - return timeMs / 1000; - })(); - return BigInt(ret); - }; - - var stringToUTF8 = (str, outPtr, maxBytesToWrite) => { - assert(typeof maxBytesToWrite == 'number', 'stringToUTF8(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!'); - return stringToUTF8Array(str, HEAPU8, outPtr, maxBytesToWrite); - }; - - var __tzset_js = (timezone, daylight, std_name, dst_name) => { - // TODO: Use (malleable) environment variables instead of system settings. - var currentYear = new Date().getFullYear(); - var winter = new Date(currentYear, 0, 1); - var summer = new Date(currentYear, 6, 1); - var winterOffset = winter.getTimezoneOffset(); - var summerOffset = summer.getTimezoneOffset(); - - // Local standard timezone offset. Local standard time is not adjusted for - // daylight savings. This code uses the fact that getTimezoneOffset returns - // a greater value during Standard Time versus Daylight Saving Time (DST). - // Thus it determines the expected output during Standard Time, and it - // compares whether the output of the given date the same (Standard) or less - // (DST). - var stdTimezoneOffset = Math.max(winterOffset, summerOffset); - - // timezone is specified as seconds west of UTC ("The external variable - // `timezone` shall be set to the difference, in seconds, between - // Coordinated Universal Time (UTC) and local standard time."), the same - // as returned by stdTimezoneOffset. - // See http://pubs.opengroup.org/onlinepubs/009695399/functions/tzset.html - HEAPU32[((timezone)>>2)] = stdTimezoneOffset * 60; - - HEAP32[((daylight)>>2)] = Number(winterOffset != summerOffset); - - var extractZone = (timezoneOffset) => { - // Why inverse sign? - // Read here https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getTimezoneOffset - var sign = timezoneOffset >= 0 ? "-" : "+"; - - var absOffset = Math.abs(timezoneOffset) - var hours = String(Math.floor(absOffset / 60)).padStart(2, "0"); - var minutes = String(absOffset % 60).padStart(2, "0"); - - return `UTC${sign}${hours}${minutes}`; - } - - var winterName = extractZone(winterOffset); - var summerName = extractZone(summerOffset); - assert(winterName); - assert(summerName); - assert(lengthBytesUTF8(winterName) <= 16, `timezone name truncated to fit in TZNAME_MAX (${winterName})`); - assert(lengthBytesUTF8(summerName) <= 16, `timezone name truncated to fit in TZNAME_MAX (${summerName})`); - if (summerOffset < winterOffset) { - // Northern hemisphere - stringToUTF8(winterName, std_name, 17); - stringToUTF8(summerName, dst_name, 17); - } else { - stringToUTF8(winterName, dst_name, 17); - stringToUTF8(summerName, std_name, 17); - } - }; - - var _emscripten_date_now = () => Date.now(); - - var abortOnCannotGrowMemory = (requestedSize) => { - abort(`Cannot enlarge memory arrays to size ${requestedSize} bytes (OOM). Either (1) compile with -sINITIAL_MEMORY=X with X higher than the current value ${HEAP8.length}, (2) compile with -sALLOW_MEMORY_GROWTH which allows increasing the size at runtime, or (3) if you want malloc to return NULL (0) instead of this abort, compile with -sABORTING_MALLOC=0`); - }; - var _emscripten_resize_heap = (requestedSize) => { - var oldSize = HEAPU8.length; - // With CAN_ADDRESS_2GB or MEMORY64, pointers are already unsigned. - requestedSize >>>= 0; - abortOnCannotGrowMemory(requestedSize); - }; - - - var runtimeKeepaliveCounter = 0; - var keepRuntimeAlive = () => noExitRuntime || runtimeKeepaliveCounter > 0; - var _proc_exit = (code) => { - EXITSTATUS = code; - if (!keepRuntimeAlive()) { - Module['onExit']?.(code); - ABORT = true; - } - quit_(code, new ExitStatus(code)); - }; - - - /** @suppress {duplicate } */ - /** @param {boolean|number=} implicit */ - var exitJS = (status, implicit) => { - EXITSTATUS = status; - - checkUnflushedContent(); - - // if exit() was called explicitly, warn the user if the runtime isn't actually being shut down - if (keepRuntimeAlive() && !implicit) { - var msg = `program exited (with status: ${status}), but keepRuntimeAlive() is set (counter=${runtimeKeepaliveCounter}) due to an async operation, so halting execution but not exiting the runtime or preventing further async execution (you can use emscripten_force_exit, if you want to force a true shutdown)`; - err(msg); - } - - _proc_exit(status); - }; - var _exit = exitJS; - - function _fd_close(fd) { - try { - - var stream = SYSCALLS.getStreamFromFD(fd); - FS.close(stream); - return 0; - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return e.errno; - } - } - - function _fd_fdstat_get(fd, pbuf) { - try { - - var rightsBase = 0; - var rightsInheriting = 0; - var flags = 0; - { - var stream = SYSCALLS.getStreamFromFD(fd); - // All character devices are terminals (other things a Linux system would - // assume is a character device, like the mouse, we have special APIs for). - var type = stream.tty ? 2 : - FS.isDir(stream.mode) ? 3 : - FS.isLink(stream.mode) ? 7 : - 4; - } - HEAP8[pbuf] = type; - HEAP16[(((pbuf)+(2))>>1)] = flags; - HEAP64[(((pbuf)+(8))>>3)] = BigInt(rightsBase); - HEAP64[(((pbuf)+(16))>>3)] = BigInt(rightsInheriting); - return 0; - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return e.errno; - } - } - - /** @param {number=} offset */ - var doReadv = (stream, iov, iovcnt, offset) => { - var ret = 0; - for (var i = 0; i < iovcnt; i++) { - var ptr = HEAPU32[((iov)>>2)]; - var len = HEAPU32[(((iov)+(4))>>2)]; - iov += 8; - var curr = FS.read(stream, HEAP8, ptr, len, offset); - if (curr < 0) return -1; - ret += curr; - if (curr < len) break; // nothing more to read - if (typeof offset != 'undefined') { - offset += curr; - } - } - return ret; - }; - - function _fd_read(fd, iov, iovcnt, pnum) { - try { - - var stream = SYSCALLS.getStreamFromFD(fd); - var num = doReadv(stream, iov, iovcnt); - HEAPU32[((pnum)>>2)] = num; - return 0; - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return e.errno; - } - } - - - function _fd_seek(fd, offset, whence, newOffset) { - offset = bigintToI53Checked(offset); - - - try { - - if (isNaN(offset)) return 61; - var stream = SYSCALLS.getStreamFromFD(fd); - FS.llseek(stream, offset, whence); - HEAP64[((newOffset)>>3)] = BigInt(stream.position); - if (stream.getdents && offset === 0 && whence === 0) stream.getdents = null; // reset readdir state - return 0; - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return e.errno; - } - ; - } - - /** @param {number=} offset */ - var doWritev = (stream, iov, iovcnt, offset) => { - var ret = 0; - for (var i = 0; i < iovcnt; i++) { - var ptr = HEAPU32[((iov)>>2)]; - var len = HEAPU32[(((iov)+(4))>>2)]; - iov += 8; - var curr = FS.write(stream, HEAP8, ptr, len, offset); - if (curr < 0) return -1; - ret += curr; - if (curr < len) { - // No more space to write. - break; - } - if (typeof offset != 'undefined') { - offset += curr; - } - } - return ret; - }; - - function _fd_write(fd, iov, iovcnt, pnum) { - try { - - var stream = SYSCALLS.getStreamFromFD(fd); - var num = doWritev(stream, iov, iovcnt); - HEAPU32[((pnum)>>2)] = num; - return 0; - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return e.errno; - } - } - - - var handleException = (e) => { - // Certain exception types we do not treat as errors since they are used for - // internal control flow. - // 1. ExitStatus, which is thrown by exit() - // 2. "unwind", which is thrown by emscripten_unwind_to_js_event_loop() and others - // that wish to return to JS event loop. - if (e instanceof ExitStatus || e == 'unwind') { - return EXITSTATUS; - } - checkStackCookie(); - if (e instanceof WebAssembly.RuntimeError) { - if (_emscripten_stack_get_current() <= 0) { - err('Stack overflow detected. You can try increasing -sSTACK_SIZE (currently set to 65536)'); - } - } - quit_(1, e); - }; - - - - var stackAlloc = (sz) => __emscripten_stack_alloc(sz); - var stringToUTF8OnStack = (str) => { - var size = lengthBytesUTF8(str) + 1; - var ret = stackAlloc(size); - stringToUTF8(str, ret, size); - return ret; - }; - - FS.createPreloadedFile = FS_createPreloadedFile; - FS.staticInit(); - // Set module methods based on EXPORTED_RUNTIME_METHODS - ; -// End JS library code - -function checkIncomingModuleAPI() { - ignoredModuleProp('fetchSettings'); -} -var wasmImports = { - /** @export */ - __syscall_chmod: ___syscall_chmod, - /** @export */ - __syscall_fchmod: ___syscall_fchmod, - /** @export */ - __syscall_fcntl64: ___syscall_fcntl64, - /** @export */ - __syscall_fstat64: ___syscall_fstat64, - /** @export */ - __syscall_ioctl: ___syscall_ioctl, - /** @export */ - __syscall_lstat64: ___syscall_lstat64, - /** @export */ - __syscall_newfstatat: ___syscall_newfstatat, - /** @export */ - __syscall_openat: ___syscall_openat, - /** @export */ - __syscall_renameat: ___syscall_renameat, - /** @export */ - __syscall_rmdir: ___syscall_rmdir, - /** @export */ - __syscall_stat64: ___syscall_stat64, - /** @export */ - __syscall_unlinkat: ___syscall_unlinkat, - /** @export */ - _abort_js: __abort_js, - /** @export */ - _localtime_js: __localtime_js, - /** @export */ - _mktime_js: __mktime_js, - /** @export */ - _tzset_js: __tzset_js, - /** @export */ - emscripten_date_now: _emscripten_date_now, - /** @export */ - emscripten_resize_heap: _emscripten_resize_heap, - /** @export */ - exit: _exit, - /** @export */ - fd_close: _fd_close, - /** @export */ - fd_fdstat_get: _fd_fdstat_get, - /** @export */ - fd_read: _fd_read, - /** @export */ - fd_seek: _fd_seek, - /** @export */ - fd_write: _fd_write -}; -var wasmExports; -createWasm(); -var ___wasm_call_ctors = createExportWrapper('__wasm_call_ctors', 0); -var _main = Module['_main'] = createExportWrapper('__main_argc_argv', 2); -var _fflush = createExportWrapper('fflush', 1); -var _strerror = createExportWrapper('strerror', 1); -var _emscripten_stack_init = () => (_emscripten_stack_init = wasmExports['emscripten_stack_init'])(); -var _emscripten_stack_get_free = () => (_emscripten_stack_get_free = wasmExports['emscripten_stack_get_free'])(); -var _emscripten_stack_get_base = () => (_emscripten_stack_get_base = wasmExports['emscripten_stack_get_base'])(); -var _emscripten_stack_get_end = () => (_emscripten_stack_get_end = wasmExports['emscripten_stack_get_end'])(); -var __emscripten_stack_restore = (a0) => (__emscripten_stack_restore = wasmExports['_emscripten_stack_restore'])(a0); -var __emscripten_stack_alloc = (a0) => (__emscripten_stack_alloc = wasmExports['_emscripten_stack_alloc'])(a0); -var _emscripten_stack_get_current = () => (_emscripten_stack_get_current = wasmExports['emscripten_stack_get_current'])(); - - -// include: postamble.js -// === Auto-generated postamble setup entry stuff === - -var missingLibrarySymbols = [ - 'writeI53ToI64', - 'writeI53ToI64Clamped', - 'writeI53ToI64Signaling', - 'writeI53ToU64Clamped', - 'writeI53ToU64Signaling', - 'readI53FromI64', - 'readI53FromU64', - 'convertI32PairToI53', - 'convertI32PairToI53Checked', - 'convertU32PairToI53', - 'getTempRet0', - 'setTempRet0', - 'zeroMemory', - 'getHeapMax', - 'growMemory', - 'inetPton4', - 'inetNtop4', - 'inetPton6', - 'inetNtop6', - 'readSockaddr', - 'writeSockaddr', - 'emscriptenLog', - 'readEmAsmArgs', - 'jstoi_q', - 'getExecutableName', - 'listenOnce', - 'autoResumeAudioContext', - 'getDynCaller', - 'dynCall', - 'runtimeKeepalivePush', - 'runtimeKeepalivePop', - 'callUserCallback', - 'maybeExit', - 'asmjsMangle', - 'alignMemory', - 'HandleAllocator', - 'getNativeTypeSize', - 'addOnInit', - 'addOnPostCtor', - 'addOnPreMain', - 'addOnExit', - 'STACK_SIZE', - 'STACK_ALIGN', - 'POINTER_SIZE', - 'ASSERTIONS', - 'getCFunc', - 'ccall', - 'cwrap', - 'uleb128Encode', - 'sigToWasmTypes', - 'generateFuncType', - 'convertJsFunctionToWasm', - 'getEmptyTableSlot', - 'updateTableMap', - 'getFunctionAddress', - 'addFunction', - 'removeFunction', - 'reallyNegative', - 'unSign', - 'strLen', - 'reSign', - 'formatString', - 'intArrayToString', - 'AsciiToString', - 'stringToAscii', - 'UTF16ToString', - 'stringToUTF16', - 'lengthBytesUTF16', - 'UTF32ToString', - 'stringToUTF32', - 'lengthBytesUTF32', - 'stringToNewUTF8', - 'writeArrayToMemory', - 'registerKeyEventCallback', - 'maybeCStringToJsString', - 'findEventTarget', - 'getBoundingClientRect', - 'fillMouseEventData', - 'registerMouseEventCallback', - 'registerWheelEventCallback', - 'registerUiEventCallback', - 'registerFocusEventCallback', - 'fillDeviceOrientationEventData', - 'registerDeviceOrientationEventCallback', - 'fillDeviceMotionEventData', - 'registerDeviceMotionEventCallback', - 'screenOrientation', - 'fillOrientationChangeEventData', - 'registerOrientationChangeEventCallback', - 'fillFullscreenChangeEventData', - 'registerFullscreenChangeEventCallback', - 'JSEvents_requestFullscreen', - 'JSEvents_resizeCanvasForFullscreen', - 'registerRestoreOldStyle', - 'hideEverythingExceptGivenElement', - 'restoreHiddenElements', - 'setLetterbox', - 'softFullscreenResizeWebGLRenderTarget', - 'doRequestFullscreen', - 'fillPointerlockChangeEventData', - 'registerPointerlockChangeEventCallback', - 'registerPointerlockErrorEventCallback', - 'requestPointerLock', - 'fillVisibilityChangeEventData', - 'registerVisibilityChangeEventCallback', - 'registerTouchEventCallback', - 'fillGamepadEventData', - 'registerGamepadEventCallback', - 'registerBeforeUnloadEventCallback', - 'fillBatteryEventData', - 'battery', - 'registerBatteryEventCallback', - 'setCanvasElementSize', - 'getCanvasElementSize', - 'jsStackTrace', - 'getCallstack', - 'convertPCtoSourceLocation', - 'getEnvStrings', - 'checkWasiClock', - 'wasiRightsToMuslOFlags', - 'wasiOFlagsToMuslOFlags', - 'safeSetTimeout', - 'setImmediateWrapped', - 'safeRequestAnimationFrame', - 'clearImmediateWrapped', - 'registerPostMainLoop', - 'registerPreMainLoop', - 'getPromise', - 'makePromise', - 'idsToPromises', - 'makePromiseCallback', - 'ExceptionInfo', - 'findMatchingCatch', - 'Browser_asyncPrepareDataCounter', - 'arraySum', - 'addDays', - 'getSocketFromFD', - 'getSocketAddress', - 'FS_unlink', - 'FS_mkdirTree', - '_setNetworkCallback', - 'heapObjectForWebGLType', - 'toTypedArrayIndex', - 'webgl_enable_ANGLE_instanced_arrays', - 'webgl_enable_OES_vertex_array_object', - 'webgl_enable_WEBGL_draw_buffers', - 'webgl_enable_WEBGL_multi_draw', - 'webgl_enable_EXT_polygon_offset_clamp', - 'webgl_enable_EXT_clip_control', - 'webgl_enable_WEBGL_polygon_mode', - 'emscriptenWebGLGet', - 'computeUnpackAlignedImageSize', - 'colorChannelsInGlTextureFormat', - 'emscriptenWebGLGetTexPixelData', - 'emscriptenWebGLGetUniform', - 'webglGetUniformLocation', - 'webglPrepareUniformLocationsBeforeFirstUse', - 'webglGetLeftBracePos', - 'emscriptenWebGLGetVertexAttrib', - '__glGetActiveAttribOrUniform', - 'writeGLArray', - 'registerWebGlEventCallback', - 'runAndAbortIfError', - 'ALLOC_NORMAL', - 'ALLOC_STACK', - 'allocate', - 'writeStringToMemory', - 'writeAsciiToMemory', - 'demangle', - 'stackTrace', -]; -missingLibrarySymbols.forEach(missingLibrarySymbol) - -var unexportedSymbols = [ - 'run', - 'addRunDependency', - 'removeRunDependency', - 'out', - 'err', - 'callMain', - 'abort', - 'wasmMemory', - 'wasmExports', - 'writeStackCookie', - 'checkStackCookie', - 'INT53_MAX', - 'INT53_MIN', - 'bigintToI53Checked', - 'stackSave', - 'stackRestore', - 'stackAlloc', - 'ptrToString', - 'exitJS', - 'abortOnCannotGrowMemory', - 'ENV', - 'ERRNO_CODES', - 'strError', - 'DNS', - 'Protocols', - 'Sockets', - 'timers', - 'warnOnce', - 'readEmAsmArgsArray', - 'jstoi_s', - 'handleException', - 'keepRuntimeAlive', - 'asyncLoad', - 'mmapAlloc', - 'wasmTable', - 'noExitRuntime', - 'addOnPreRun', - 'addOnPostRun', - 'freeTableIndexes', - 'functionsInTableMap', - 'setValue', - 'getValue', - 'PATH', - 'PATH_FS', - 'UTF8Decoder', - 'UTF8ArrayToString', - 'UTF8ToString', - 'stringToUTF8Array', - 'stringToUTF8', - 'lengthBytesUTF8', - 'intArrayFromString', - 'UTF16Decoder', - 'stringToUTF8OnStack', - 'JSEvents', - 'specialHTMLTargets', - 'findCanvasEventTarget', - 'currentFullscreenStrategy', - 'restoreOldWindowedStyle', - 'UNWIND_CACHE', - 'ExitStatus', - 'doReadv', - 'doWritev', - 'initRandomFill', - 'randomFill', - 'emSetImmediate', - 'emClearImmediate_deps', - 'emClearImmediate', - 'promiseMap', - 'uncaughtExceptionCount', - 'exceptionLast', - 'exceptionCaught', - 'Browser', - 'getPreloadedImageData__data', - 'wget', - 'MONTH_DAYS_REGULAR', - 'MONTH_DAYS_LEAP', - 'MONTH_DAYS_REGULAR_CUMULATIVE', - 'MONTH_DAYS_LEAP_CUMULATIVE', - 'isLeapYear', - 'ydayFromDate', - 'SYSCALLS', - 'preloadPlugins', - 'FS_createPreloadedFile', - 'FS_modeStringToFlags', - 'FS_getMode', - 'FS_stdin_getChar_buffer', - 'FS_stdin_getChar', - 'FS_createPath', - 'FS_createDevice', - 'FS_readFile', - 'FS', - 'FS_createDataFile', - 'FS_createLazyFile', - 'MEMFS', - 'TTY', - 'PIPEFS', - 'SOCKFS', - 'tempFixedLengthArray', - 'miniTempWebGLFloatBuffers', - 'miniTempWebGLIntBuffers', - 'GL', - 'AL', - 'GLUT', - 'EGL', - 'GLEW', - 'IDBStore', - 'SDL', - 'SDL_gfx', - 'allocateUTF8', - 'allocateUTF8OnStack', - 'print', - 'printErr', -]; -unexportedSymbols.forEach(unexportedRuntimeSymbol); - - - -var calledRun; - -function callMain(args = []) { - assert(runDependencies == 0, 'cannot call main when async dependencies remain! (listen on Module["onRuntimeInitialized"])'); - assert(typeof onPreRuns === 'undefined' || onPreRuns.length == 0, 'cannot call main when preRun functions remain to be called'); - - var entryFunction = _main; - - args.unshift(thisProgram); - - var argc = args.length; - var argv = stackAlloc((argc + 1) * 4); - var argv_ptr = argv; - args.forEach((arg) => { - HEAPU32[((argv_ptr)>>2)] = stringToUTF8OnStack(arg); - argv_ptr += 4; - }); - HEAPU32[((argv_ptr)>>2)] = 0; - - try { - - var ret = entryFunction(argc, argv); - - // if we're not running an evented main loop, it's time to exit - exitJS(ret, /* implicit = */ true); - return ret; - } catch (e) { - return handleException(e); - } -} - -function stackCheckInit() { - // This is normally called automatically during __wasm_call_ctors but need to - // get these values before even running any of the ctors so we call it redundantly - // here. - _emscripten_stack_init(); - // TODO(sbc): Move writeStackCookie to native to to avoid this. - writeStackCookie(); -} - -function run(args = arguments_) { - - if (runDependencies > 0) { - dependenciesFulfilled = run; - return; - } - - stackCheckInit(); - - preRun(); - - // a preRun added a dependency, run will be called later - if (runDependencies > 0) { - dependenciesFulfilled = run; - return; - } - - function doRun() { - // run may have just been called through dependencies being fulfilled just in this very frame, - // or while the async setStatus time below was happening - assert(!calledRun); - calledRun = true; - Module['calledRun'] = true; - - if (ABORT) return; - - initRuntime(); - - preMain(); - - Module['onRuntimeInitialized']?.(); - consumedModuleProp('onRuntimeInitialized'); - - var noInitialRun = Module['noInitialRun'];legacyModuleProp('noInitialRun', 'noInitialRun'); - if (!noInitialRun) callMain(args); - - postRun(); - } - - if (Module['setStatus']) { - Module['setStatus']('Running...'); - setTimeout(() => { - setTimeout(() => Module['setStatus'](''), 1); - doRun(); - }, 1); - } else - { - doRun(); - } - checkStackCookie(); -} - -function checkUnflushedContent() { - // Compiler settings do not allow exiting the runtime, so flushing - // the streams is not possible. but in ASSERTIONS mode we check - // if there was something to flush, and if so tell the user they - // should request that the runtime be exitable. - // Normally we would not even include flush() at all, but in ASSERTIONS - // builds we do so just for this check, and here we see if there is any - // content to flush, that is, we check if there would have been - // something a non-ASSERTIONS build would have not seen. - // How we flush the streams depends on whether we are in SYSCALLS_REQUIRE_FILESYSTEM=0 - // mode (which has its own special function for this; otherwise, all - // the code is inside libc) - var oldOut = out; - var oldErr = err; - var has = false; - out = err = (x) => { - has = true; - } - try { // it doesn't matter if it fails - _fflush(0); - // also flush in the JS FS layer - ['stdout', 'stderr'].forEach((name) => { - var info = FS.analyzePath('/dev/' + name); - if (!info) return; - var stream = info.object; - var rdev = stream.rdev; - var tty = TTY.ttys[rdev]; - if (tty?.output?.length) { - has = true; - } - }); - } catch(e) {} - out = oldOut; - err = oldErr; - if (has) { - warnOnce('stdio streams had content in them that was not flushed. you should set EXIT_RUNTIME to 1 (see the Emscripten FAQ), or make sure to emit a newline when you printf etc.'); - } -} - -if (Module['preInit']) { - if (typeof Module['preInit'] == 'function') Module['preInit'] = [Module['preInit']]; - while (Module['preInit'].length > 0) { - Module['preInit'].pop()(); - } -} -consumedModuleProp('preInit'); - -run(); - -// end include: postamble.js - diff --git a/thirdparty/libzip-1.11.3/build-emcmake/src/zipmerge.wasm b/thirdparty/libzip-1.11.3/build-emcmake/src/zipmerge.wasm deleted file mode 100755 index 1669792312a839da5d6cbb8270f72f8cde4e8bb2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 412829 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 wzo{W)81WqJ;Y>(q=Kjc#N9O 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 Promise -// 3. pre-run appended it, var Module = {}; ..generated code.. -// 4. External script tag defines var Module. -// We need to check if Module already exists (e.g. case 3 above). -// Substitution will be replaced with actual code on later stage of the build, -// this way Closure Compiler will not mangle it (e.g. case 4. above). -// Note that if you want to run closure, and also to use Module -// after the generated code, you will need to define var Module = {}; -// before the code. Then that object will be used in the code, and you -// can continue to use Module afterwards as well. -var Module = typeof Module != 'undefined' ? Module : {}; - -// Determine the runtime environment we are in. You can customize this by -// setting the ENVIRONMENT setting at compile time (see settings.js). - -// Attempt to auto-detect the environment -var ENVIRONMENT_IS_WEB = typeof window == 'object'; -var ENVIRONMENT_IS_WORKER = typeof WorkerGlobalScope != 'undefined'; -// N.b. Electron.js environment is simultaneously a NODE-environment, but -// also a web environment. -var ENVIRONMENT_IS_NODE = typeof process == 'object' && typeof process.versions == 'object' && typeof process.versions.node == 'string' && process.type != 'renderer'; -var ENVIRONMENT_IS_SHELL = !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_NODE && !ENVIRONMENT_IS_WORKER; - -if (ENVIRONMENT_IS_NODE) { - -} - -// --pre-jses are emitted after the Module integration code, so that they can -// refer to Module (if they choose; they can also define Module) - - -// Sometimes an existing Module object exists with properties -// meant to overwrite the default module functionality. Here -// we collect those properties and reapply _after_ we configure -// the current environment's defaults to avoid having to be so -// defensive during initialization. -var moduleOverrides = {...Module}; - -var arguments_ = []; -var thisProgram = './this.program'; -var quit_ = (status, toThrow) => { - throw toThrow; -}; - -// `/` should be present at the end if `scriptDirectory` is not empty -var scriptDirectory = ''; -function locateFile(path) { - if (Module['locateFile']) { - return Module['locateFile'](path, scriptDirectory); - } - return scriptDirectory + path; -} - -// Hooks that are implemented differently in different runtime environments. -var readAsync, readBinary; - -if (ENVIRONMENT_IS_NODE) { - if (typeof process == 'undefined' || !process.release || process.release.name !== 'node') throw new Error('not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)'); - - var nodeVersion = process.versions.node; - var numericVersion = nodeVersion.split('.').slice(0, 3); - numericVersion = (numericVersion[0] * 10000) + (numericVersion[1] * 100) + (numericVersion[2].split('-')[0] * 1); - var minVersion = 160000; - if (numericVersion < 160000) { - throw new Error('This emscripten-generated code requires node v16.0.0 (detected v' + nodeVersion + ')'); - } - - // These modules will usually be used on Node.js. Load them eagerly to avoid - // the complexity of lazy-loading. - var fs = require('fs'); - var nodePath = require('path'); - - scriptDirectory = __dirname + '/'; - -// include: node_shell_read.js -readBinary = (filename) => { - // We need to re-wrap `file://` strings to URLs. - filename = isFileURI(filename) ? new URL(filename) : filename; - var ret = fs.readFileSync(filename); - assert(Buffer.isBuffer(ret)); - return ret; -}; - -readAsync = async (filename, binary = true) => { - // See the comment in the `readBinary` function. - filename = isFileURI(filename) ? new URL(filename) : filename; - var ret = fs.readFileSync(filename, binary ? undefined : 'utf8'); - assert(binary ? Buffer.isBuffer(ret) : typeof ret == 'string'); - return ret; -}; -// end include: node_shell_read.js - if (!Module['thisProgram'] && process.argv.length > 1) { - thisProgram = process.argv[1].replace(/\\/g, '/'); - } - - arguments_ = process.argv.slice(2); - - if (typeof module != 'undefined') { - module['exports'] = Module; - } - - quit_ = (status, toThrow) => { - process.exitCode = status; - throw toThrow; - }; - -} else -if (ENVIRONMENT_IS_SHELL) { - - if ((typeof process == 'object' && typeof require === 'function') || typeof window == 'object' || typeof WorkerGlobalScope != 'undefined') throw new Error('not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)'); - -} else - -// Note that this includes Node.js workers when relevant (pthreads is enabled). -// Node.js workers are detected as a combination of ENVIRONMENT_IS_WORKER and -// ENVIRONMENT_IS_NODE. -if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) { - if (ENVIRONMENT_IS_WORKER) { // Check worker, not web, since window could be polyfilled - scriptDirectory = self.location.href; - } else if (typeof document != 'undefined' && document.currentScript) { // web - scriptDirectory = document.currentScript.src; - } - // blob urls look like blob:http://site.com/etc/etc and we cannot infer anything from them. - // otherwise, slice off the final part of the url to find the script directory. - // if scriptDirectory does not contain a slash, lastIndexOf will return -1, - // and scriptDirectory will correctly be replaced with an empty string. - // If scriptDirectory contains a query (starting with ?) or a fragment (starting with #), - // they are removed because they could contain a slash. - if (scriptDirectory.startsWith('blob:')) { - scriptDirectory = ''; - } else { - scriptDirectory = scriptDirectory.slice(0, scriptDirectory.replace(/[?#].*/, '').lastIndexOf('/')+1); - } - - if (!(typeof window == 'object' || typeof WorkerGlobalScope != 'undefined')) throw new Error('not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)'); - - { -// include: web_or_worker_shell_read.js -if (ENVIRONMENT_IS_WORKER) { - readBinary = (url) => { - var xhr = new XMLHttpRequest(); - xhr.open('GET', url, false); - xhr.responseType = 'arraybuffer'; - xhr.send(null); - return new Uint8Array(/** @type{!ArrayBuffer} */(xhr.response)); - }; - } - - readAsync = async (url) => { - // Fetch has some additional restrictions over XHR, like it can't be used on a file:// url. - // See https://github.com/github/fetch/pull/92#issuecomment-140665932 - // Cordova or Electron apps are typically loaded from a file:// url. - // So use XHR on webview if URL is a file URL. - if (isFileURI(url)) { - return new Promise((resolve, reject) => { - var xhr = new XMLHttpRequest(); - xhr.open('GET', url, true); - xhr.responseType = 'arraybuffer'; - xhr.onload = () => { - if (xhr.status == 200 || (xhr.status == 0 && xhr.response)) { // file URLs can return 0 - resolve(xhr.response); - return; - } - reject(xhr.status); - }; - xhr.onerror = reject; - xhr.send(null); - }); - } - var response = await fetch(url, { credentials: 'same-origin' }); - if (response.ok) { - return response.arrayBuffer(); - } - throw new Error(response.status + ' : ' + response.url); - }; -// end include: web_or_worker_shell_read.js - } -} else -{ - throw new Error('environment detection error'); -} - -var out = Module['print'] || console.log.bind(console); -var err = Module['printErr'] || console.error.bind(console); - -// Merge back in the overrides -Object.assign(Module, moduleOverrides); -// Free the object hierarchy contained in the overrides, this lets the GC -// reclaim data used. -moduleOverrides = null; -checkIncomingModuleAPI(); - -// Emit code to handle expected values on the Module object. This applies Module.x -// to the proper local x. This has two benefits: first, we only emit it if it is -// expected to arrive, and second, by using a local everywhere else that can be -// minified. - -if (Module['arguments']) arguments_ = Module['arguments'];legacyModuleProp('arguments', 'arguments_'); - -if (Module['thisProgram']) thisProgram = Module['thisProgram'];legacyModuleProp('thisProgram', 'thisProgram'); - -// perform assertions in shell.js after we set up out() and err(), as otherwise if an assertion fails it cannot print the message -// Assertions on removed incoming Module JS APIs. -assert(typeof Module['memoryInitializerPrefixURL'] == 'undefined', 'Module.memoryInitializerPrefixURL option was removed, use Module.locateFile instead'); -assert(typeof Module['pthreadMainPrefixURL'] == 'undefined', 'Module.pthreadMainPrefixURL option was removed, use Module.locateFile instead'); -assert(typeof Module['cdInitializerPrefixURL'] == 'undefined', 'Module.cdInitializerPrefixURL option was removed, use Module.locateFile instead'); -assert(typeof Module['filePackagePrefixURL'] == 'undefined', 'Module.filePackagePrefixURL option was removed, use Module.locateFile instead'); -assert(typeof Module['read'] == 'undefined', 'Module.read option was removed'); -assert(typeof Module['readAsync'] == 'undefined', 'Module.readAsync option was removed (modify readAsync in JS)'); -assert(typeof Module['readBinary'] == 'undefined', 'Module.readBinary option was removed (modify readBinary in JS)'); -assert(typeof Module['setWindowTitle'] == 'undefined', 'Module.setWindowTitle option was removed (modify emscripten_set_window_title in JS)'); -assert(typeof Module['TOTAL_MEMORY'] == 'undefined', 'Module.TOTAL_MEMORY has been renamed Module.INITIAL_MEMORY'); -legacyModuleProp('asm', 'wasmExports'); -legacyModuleProp('readAsync', 'readAsync'); -legacyModuleProp('readBinary', 'readBinary'); -legacyModuleProp('setWindowTitle', 'setWindowTitle'); -var IDBFS = 'IDBFS is no longer included by default; build with -lidbfs.js'; -var PROXYFS = 'PROXYFS is no longer included by default; build with -lproxyfs.js'; -var WORKERFS = 'WORKERFS is no longer included by default; build with -lworkerfs.js'; -var FETCHFS = 'FETCHFS is no longer included by default; build with -lfetchfs.js'; -var ICASEFS = 'ICASEFS is no longer included by default; build with -licasefs.js'; -var JSFILEFS = 'JSFILEFS is no longer included by default; build with -ljsfilefs.js'; -var OPFS = 'OPFS is no longer included by default; build with -lopfs.js'; - -var NODEFS = 'NODEFS is no longer included by default; build with -lnodefs.js'; - -assert(!ENVIRONMENT_IS_SHELL, 'shell environment detected but not enabled at build time. Add `shell` to `-sENVIRONMENT` to enable.'); - -// end include: shell.js - -// include: preamble.js -// === Preamble library stuff === - -// Documentation for the public APIs defined in this file must be updated in: -// site/source/docs/api_reference/preamble.js.rst -// A prebuilt local version of the documentation is available at: -// site/build/text/docs/api_reference/preamble.js.txt -// You can also build docs locally as HTML or other formats in site/ -// An online HTML version (which may be of a different version of Emscripten) -// is up at http://kripken.github.io/emscripten-site/docs/api_reference/preamble.js.html - -var wasmBinary = Module['wasmBinary'];legacyModuleProp('wasmBinary', 'wasmBinary'); - -if (typeof WebAssembly != 'object') { - err('no native wasm support detected'); -} - -// Wasm globals - -var wasmMemory; - -//======================================== -// Runtime essentials -//======================================== - -// whether we are quitting the application. no code should run after this. -// set in exit() and abort() -var ABORT = false; - -// set by exit() and abort(). Passed to 'onExit' handler. -// NOTE: This is also used as the process return code code in shell environments -// but only when noExitRuntime is false. -var EXITSTATUS; - -// In STRICT mode, we only define assert() when ASSERTIONS is set. i.e. we -// don't define it at all in release modes. This matches the behaviour of -// MINIMAL_RUNTIME. -// TODO(sbc): Make this the default even without STRICT enabled. -/** @type {function(*, string=)} */ -function assert(condition, text) { - if (!condition) { - abort('Assertion failed' + (text ? ': ' + text : '')); - } -} - -// We used to include malloc/free by default in the past. Show a helpful error in -// builds with assertions. -function _malloc() { - abort('malloc() called but not included in the build - add `_malloc` to EXPORTED_FUNCTIONS'); -} -function _free() { - // Show a helpful error since we used to include free by default in the past. - abort('free() called but not included in the build - add `_free` to EXPORTED_FUNCTIONS'); -} - -// Memory management - -var HEAP, -/** @type {!Int8Array} */ - HEAP8, -/** @type {!Uint8Array} */ - HEAPU8, -/** @type {!Int16Array} */ - HEAP16, -/** @type {!Uint16Array} */ - HEAPU16, -/** @type {!Int32Array} */ - HEAP32, -/** @type {!Uint32Array} */ - HEAPU32, -/** @type {!Float32Array} */ - HEAPF32, -/* BigInt64Array type is not correctly defined in closure -/** not-@type {!BigInt64Array} */ - HEAP64, -/* BigUint64Array type is not correctly defined in closure -/** not-t@type {!BigUint64Array} */ - HEAPU64, -/** @type {!Float64Array} */ - HEAPF64; - -var runtimeInitialized = false; - -/** - * Indicates whether filename is delivered via file protocol (as opposed to http/https) - * @noinline - */ -var isFileURI = (filename) => filename.startsWith('file://'); - -// include: runtime_shared.js -// include: runtime_stack_check.js -// Initializes the stack cookie. Called at the startup of main and at the startup of each thread in pthreads mode. -function writeStackCookie() { - var max = _emscripten_stack_get_end(); - assert((max & 3) == 0); - // If the stack ends at address zero we write our cookies 4 bytes into the - // stack. This prevents interference with SAFE_HEAP and ASAN which also - // monitor writes to address zero. - if (max == 0) { - max += 4; - } - // The stack grow downwards towards _emscripten_stack_get_end. - // We write cookies to the final two words in the stack and detect if they are - // ever overwritten. - HEAPU32[((max)>>2)] = 0x02135467; - HEAPU32[(((max)+(4))>>2)] = 0x89BACDFE; - // Also test the global address 0 for integrity. - HEAPU32[((0)>>2)] = 1668509029; -} - -function checkStackCookie() { - if (ABORT) return; - var max = _emscripten_stack_get_end(); - // See writeStackCookie(). - if (max == 0) { - max += 4; - } - var cookie1 = HEAPU32[((max)>>2)]; - var cookie2 = HEAPU32[(((max)+(4))>>2)]; - if (cookie1 != 0x02135467 || cookie2 != 0x89BACDFE) { - abort(`Stack overflow! Stack cookie has been overwritten at ${ptrToString(max)}, expected hex dwords 0x89BACDFE and 0x2135467, but received ${ptrToString(cookie2)} ${ptrToString(cookie1)}`); - } - // Also test the global address 0 for integrity. - if (HEAPU32[((0)>>2)] != 0x63736d65 /* 'emsc' */) { - abort('Runtime error: The application has corrupted its heap memory area (address zero)!'); - } -} -// end include: runtime_stack_check.js -// include: runtime_exceptions.js -// end include: runtime_exceptions.js -// include: runtime_debug.js -// Endianness check -(() => { - var h16 = new Int16Array(1); - var h8 = new Int8Array(h16.buffer); - h16[0] = 0x6373; - if (h8[0] !== 0x73 || h8[1] !== 0x63) throw 'Runtime error: expected the system to be little-endian! (Run with -sSUPPORT_BIG_ENDIAN to bypass)'; -})(); - -if (Module['ENVIRONMENT']) { - throw new Error('Module.ENVIRONMENT has been deprecated. To force the environment, use the ENVIRONMENT compile-time option (for example, -sENVIRONMENT=web or -sENVIRONMENT=node)'); -} - -function legacyModuleProp(prop, newName, incoming=true) { - if (!Object.getOwnPropertyDescriptor(Module, prop)) { - Object.defineProperty(Module, prop, { - configurable: true, - get() { - let extra = incoming ? ' (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)' : ''; - abort(`\`Module.${prop}\` has been replaced by \`${newName}\`` + extra); - - } - }); - } -} - -function consumedModuleProp(prop) { - if (!Object.getOwnPropertyDescriptor(Module, prop)) { - Object.defineProperty(Module, prop, { - configurable: true, - set() { - abort(`Attempt to set \`Module.${prop}\` after it has already been processed. This can happen, for example, when code is injected via '--post-js' rather than '--pre-js'`); - - } - }); - } -} - -function ignoredModuleProp(prop) { - if (Object.getOwnPropertyDescriptor(Module, prop)) { - abort(`\`Module.${prop}\` was supplied but \`${prop}\` not included in INCOMING_MODULE_JS_API`); - } -} - -// forcing the filesystem exports a few things by default -function isExportedByForceFilesystem(name) { - return name === 'FS_createPath' || - name === 'FS_createDataFile' || - name === 'FS_createPreloadedFile' || - name === 'FS_unlink' || - name === 'addRunDependency' || - // The old FS has some functionality that WasmFS lacks. - name === 'FS_createLazyFile' || - name === 'FS_createDevice' || - name === 'removeRunDependency'; -} - -/** - * Intercept access to a global symbol. This enables us to give informative - * warnings/errors when folks attempt to use symbols they did not include in - * their build, or no symbols that no longer exist. - */ -function hookGlobalSymbolAccess(sym, func) { - if (typeof globalThis != 'undefined' && !Object.getOwnPropertyDescriptor(globalThis, sym)) { - Object.defineProperty(globalThis, sym, { - configurable: true, - get() { - func(); - return undefined; - } - }); - } -} - -function missingGlobal(sym, msg) { - hookGlobalSymbolAccess(sym, () => { - warnOnce(`\`${sym}\` is not longer defined by emscripten. ${msg}`); - }); -} - -missingGlobal('buffer', 'Please use HEAP8.buffer or wasmMemory.buffer'); -missingGlobal('asm', 'Please use wasmExports instead'); - -function missingLibrarySymbol(sym) { - hookGlobalSymbolAccess(sym, () => { - // Can't `abort()` here because it would break code that does runtime - // checks. e.g. `if (typeof SDL === 'undefined')`. - var msg = `\`${sym}\` is a library symbol and not included by default; add it to your library.js __deps or to DEFAULT_LIBRARY_FUNCS_TO_INCLUDE on the command line`; - // DEFAULT_LIBRARY_FUNCS_TO_INCLUDE requires the name as it appears in - // library.js, which means $name for a JS name with no prefix, or name - // for a JS name like _name. - var librarySymbol = sym; - if (!librarySymbol.startsWith('_')) { - librarySymbol = '$' + sym; - } - msg += ` (e.g. -sDEFAULT_LIBRARY_FUNCS_TO_INCLUDE='${librarySymbol}')`; - if (isExportedByForceFilesystem(sym)) { - msg += '. Alternatively, forcing filesystem support (-sFORCE_FILESYSTEM) can export this for you'; - } - warnOnce(msg); - }); - - // Any symbol that is not included from the JS library is also (by definition) - // not exported on the Module object. - unexportedRuntimeSymbol(sym); -} - -function unexportedRuntimeSymbol(sym) { - if (!Object.getOwnPropertyDescriptor(Module, sym)) { - Object.defineProperty(Module, sym, { - configurable: true, - get() { - var msg = `'${sym}' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the Emscripten FAQ)`; - if (isExportedByForceFilesystem(sym)) { - msg += '. Alternatively, forcing filesystem support (-sFORCE_FILESYSTEM) can export this for you'; - } - abort(msg); - } - }); - } -} - -var runtimeDebug = true; // Switch to false at runtime to disable logging at the right times - -// Used by XXXXX_DEBUG settings to output debug messages. -function dbg(...args) { - if (!runtimeDebug && typeof runtimeDebug != 'undefined') return; - // TODO(sbc): Make this configurable somehow. Its not always convenient for - // logging to show up as warnings. - console.warn(...args); -} -// end include: runtime_debug.js -// include: memoryprofiler.js -// end include: memoryprofiler.js - - -function updateMemoryViews() { - var b = wasmMemory.buffer; - Module['HEAP8'] = HEAP8 = new Int8Array(b); - Module['HEAP16'] = HEAP16 = new Int16Array(b); - Module['HEAPU8'] = HEAPU8 = new Uint8Array(b); - Module['HEAPU16'] = HEAPU16 = new Uint16Array(b); - Module['HEAP32'] = HEAP32 = new Int32Array(b); - Module['HEAPU32'] = HEAPU32 = new Uint32Array(b); - Module['HEAPF32'] = HEAPF32 = new Float32Array(b); - Module['HEAPF64'] = HEAPF64 = new Float64Array(b); - Module['HEAP64'] = HEAP64 = new BigInt64Array(b); - Module['HEAPU64'] = HEAPU64 = new BigUint64Array(b); -} - -// end include: runtime_shared.js -assert(!Module['STACK_SIZE'], 'STACK_SIZE can no longer be set at runtime. Use -sSTACK_SIZE at link time') - -assert(typeof Int32Array != 'undefined' && typeof Float64Array !== 'undefined' && Int32Array.prototype.subarray != undefined && Int32Array.prototype.set != undefined, - 'JS engine does not provide full typed array support'); - -// If memory is defined in wasm, the user can't provide it, or set INITIAL_MEMORY -assert(!Module['wasmMemory'], 'Use of `wasmMemory` detected. Use -sIMPORTED_MEMORY to define wasmMemory externally'); -assert(!Module['INITIAL_MEMORY'], 'Detected runtime INITIAL_MEMORY setting. Use -sIMPORTED_MEMORY to define wasmMemory dynamically'); - -function preRun() { - if (Module['preRun']) { - if (typeof Module['preRun'] == 'function') Module['preRun'] = [Module['preRun']]; - while (Module['preRun'].length) { - addOnPreRun(Module['preRun'].shift()); - } - } - consumedModuleProp('preRun'); - callRuntimeCallbacks(onPreRuns); -} - -function initRuntime() { - assert(!runtimeInitialized); - runtimeInitialized = true; - - checkStackCookie(); - - if (!Module['noFSInit'] && !FS.initialized) FS.init(); -TTY.init(); - - wasmExports['__wasm_call_ctors'](); - - FS.ignorePermissions = false; -} - -function preMain() { - checkStackCookie(); - -} - -function postRun() { - checkStackCookie(); - - if (Module['postRun']) { - if (typeof Module['postRun'] == 'function') Module['postRun'] = [Module['postRun']]; - while (Module['postRun'].length) { - addOnPostRun(Module['postRun'].shift()); - } - } - consumedModuleProp('postRun'); - - callRuntimeCallbacks(onPostRuns); -} - -// A counter of dependencies for calling run(). If we need to -// do asynchronous work before running, increment this and -// decrement it. Incrementing must happen in a place like -// Module.preRun (used by emcc to add file preloading). -// Note that you can add dependencies in preRun, even though -// it happens right before run - run will be postponed until -// the dependencies are met. -var runDependencies = 0; -var dependenciesFulfilled = null; // overridden to take different actions when all run dependencies are fulfilled -var runDependencyTracking = {}; -var runDependencyWatcher = null; - -function getUniqueRunDependency(id) { - var orig = id; - while (1) { - if (!runDependencyTracking[id]) return id; - id = orig + Math.random(); - } -} - -function addRunDependency(id) { - runDependencies++; - - Module['monitorRunDependencies']?.(runDependencies); - - if (id) { - assert(!runDependencyTracking[id]); - runDependencyTracking[id] = 1; - if (runDependencyWatcher === null && typeof setInterval != 'undefined') { - // Check for missing dependencies every few seconds - runDependencyWatcher = setInterval(() => { - if (ABORT) { - clearInterval(runDependencyWatcher); - runDependencyWatcher = null; - return; - } - var shown = false; - for (var dep in runDependencyTracking) { - if (!shown) { - shown = true; - err('still waiting on run dependencies:'); - } - err(`dependency: ${dep}`); - } - if (shown) { - err('(end of list)'); - } - }, 10000); - } - } else { - err('warning: run dependency added without ID'); - } -} - -function removeRunDependency(id) { - runDependencies--; - - Module['monitorRunDependencies']?.(runDependencies); - - if (id) { - assert(runDependencyTracking[id]); - delete runDependencyTracking[id]; - } else { - err('warning: run dependency removed without ID'); - } - if (runDependencies == 0) { - if (runDependencyWatcher !== null) { - clearInterval(runDependencyWatcher); - runDependencyWatcher = null; - } - if (dependenciesFulfilled) { - var callback = dependenciesFulfilled; - dependenciesFulfilled = null; - callback(); // can add another dependenciesFulfilled - } - } -} - -/** @param {string|number=} what */ -function abort(what) { - Module['onAbort']?.(what); - - what = 'Aborted(' + what + ')'; - // TODO(sbc): Should we remove printing and leave it up to whoever - // catches the exception? - err(what); - - ABORT = true; - - // Use a wasm runtime error, because a JS error might be seen as a foreign - // exception, which means we'd run destructors on it. We need the error to - // simply make the program stop. - // FIXME This approach does not work in Wasm EH because it currently does not assume - // all RuntimeErrors are from traps; it decides whether a RuntimeError is from - // a trap or not based on a hidden field within the object. So at the moment - // we don't have a way of throwing a wasm trap from JS. TODO Make a JS API that - // allows this in the wasm spec. - - // Suppress closure compiler warning here. Closure compiler's builtin extern - // definition for WebAssembly.RuntimeError claims it takes no arguments even - // though it can. - // TODO(https://github.com/google/closure-compiler/pull/3913): Remove if/when upstream closure gets fixed. - /** @suppress {checkTypes} */ - var e = new WebAssembly.RuntimeError(what); - - // Throw the error whether or not MODULARIZE is set because abort is used - // in code paths apart from instantiation where an exception is expected - // to be thrown when abort is called. - throw e; -} - -function createExportWrapper(name, nargs) { - return (...args) => { - assert(runtimeInitialized, `native function \`${name}\` called before runtime initialization`); - var f = wasmExports[name]; - assert(f, `exported native function \`${name}\` not found`); - // Only assert for too many arguments. Too few can be valid since the missing arguments will be zero filled. - assert(args.length <= nargs, `native function \`${name}\` called with ${args.length} args but expects ${nargs}`); - return f(...args); - }; -} - -var wasmBinaryFile; - -function findWasmBinary() { - return locateFile('ziptool.wasm'); -} - -function getBinarySync(file) { - if (file == wasmBinaryFile && wasmBinary) { - return new Uint8Array(wasmBinary); - } - if (readBinary) { - return readBinary(file); - } - throw 'both async and sync fetching of the wasm failed'; -} - -async function getWasmBinary(binaryFile) { - // If we don't have the binary yet, load it asynchronously using readAsync. - if (!wasmBinary) { - // Fetch the binary using readAsync - try { - var response = await readAsync(binaryFile); - return new Uint8Array(response); - } catch { - // Fall back to getBinarySync below; - } - } - - // Otherwise, getBinarySync should be able to get it synchronously - return getBinarySync(binaryFile); -} - -async function instantiateArrayBuffer(binaryFile, imports) { - try { - var binary = await getWasmBinary(binaryFile); - var instance = await WebAssembly.instantiate(binary, imports); - return instance; - } catch (reason) { - err(`failed to asynchronously prepare wasm: ${reason}`); - - // Warn on some common problems. - if (isFileURI(wasmBinaryFile)) { - err(`warning: Loading from a file URI (${wasmBinaryFile}) is not supported in most browsers. See https://emscripten.org/docs/getting_started/FAQ.html#how-do-i-run-a-local-webserver-for-testing-why-does-my-program-stall-in-downloading-or-preparing`); - } - abort(reason); - } -} - -async function instantiateAsync(binary, binaryFile, imports) { - if (!binary && typeof WebAssembly.instantiateStreaming == 'function' - // Don't use streaming for file:// delivered objects in a webview, fetch them synchronously. - && !isFileURI(binaryFile) - // Avoid instantiateStreaming() on Node.js environment for now, as while - // Node.js v18.1.0 implements it, it does not have a full fetch() - // implementation yet. - // - // Reference: - // https://github.com/emscripten-core/emscripten/pull/16917 - && !ENVIRONMENT_IS_NODE - ) { - try { - var response = fetch(binaryFile, { credentials: 'same-origin' }); - var instantiationResult = await WebAssembly.instantiateStreaming(response, imports); - return instantiationResult; - } catch (reason) { - // We expect the most common failure cause to be a bad MIME type for the binary, - // in which case falling back to ArrayBuffer instantiation should work. - err(`wasm streaming compile failed: ${reason}`); - err('falling back to ArrayBuffer instantiation'); - // fall back of instantiateArrayBuffer below - }; - } - return instantiateArrayBuffer(binaryFile, imports); -} - -function getWasmImports() { - // prepare imports - return { - 'env': wasmImports, - 'wasi_snapshot_preview1': wasmImports, - } -} - -// Create the wasm instance. -// Receives the wasm imports, returns the exports. -async function createWasm() { - // Load the wasm module and create an instance of using native support in the JS engine. - // handle a generated wasm instance, receiving its exports and - // performing other necessary setup - /** @param {WebAssembly.Module=} module*/ - function receiveInstance(instance, module) { - wasmExports = instance.exports; - - - - wasmMemory = wasmExports['memory']; - - assert(wasmMemory, 'memory not found in wasm exports'); - updateMemoryViews(); - - removeRunDependency('wasm-instantiate'); - return wasmExports; - } - // wait for the pthread pool (if any) - addRunDependency('wasm-instantiate'); - - // Prefer streaming instantiation if available. - // Async compilation can be confusing when an error on the page overwrites Module - // (for example, if the order of elements is wrong, and the one defining Module is - // later), so we save Module and check it later. - var trueModule = Module; - function receiveInstantiationResult(result) { - // 'result' is a ResultObject object which has both the module and instance. - // receiveInstance() will swap in the exports (to Module.asm) so they can be called - assert(Module === trueModule, 'the Module object should not be replaced during async compilation - perhaps the order of HTML elements is wrong?'); - trueModule = null; - // TODO: Due to Closure regression https://github.com/google/closure-compiler/issues/3193, the above line no longer optimizes out down to the following line. - // When the regression is fixed, can restore the above PTHREADS-enabled path. - return receiveInstance(result['instance']); - } - - var info = getWasmImports(); - - // User shell pages can write their own Module.instantiateWasm = function(imports, successCallback) callback - // to manually instantiate the Wasm module themselves. This allows pages to - // run the instantiation parallel to any other async startup actions they are - // performing. - // Also pthreads and wasm workers initialize the wasm instance through this - // path. - if (Module['instantiateWasm']) { - return new Promise((resolve, reject) => { - try { - Module['instantiateWasm'](info, (mod, inst) => { - receiveInstance(mod, inst); - resolve(mod.exports); - }); - } catch(e) { - err(`Module.instantiateWasm callback failed with error: ${e}`); - reject(e); - } - }); - } - - wasmBinaryFile ??= findWasmBinary(); - var result = await instantiateAsync(wasmBinary, wasmBinaryFile, info); - var exports = receiveInstantiationResult(result); - return exports; -} - -// end include: preamble.js - -// Begin JS library code - - - class ExitStatus { - name = 'ExitStatus'; - constructor(status) { - this.message = `Program terminated with exit(${status})`; - this.status = status; - } - } - - var callRuntimeCallbacks = (callbacks) => { - while (callbacks.length > 0) { - // Pass the module as the first argument. - callbacks.shift()(Module); - } - }; - var onPostRuns = []; - var addOnPostRun = (cb) => onPostRuns.unshift(cb); - - var onPreRuns = []; - var addOnPreRun = (cb) => onPreRuns.unshift(cb); - - - - /** - * @param {number} ptr - * @param {string} type - */ - function getValue(ptr, type = 'i8') { - if (type.endsWith('*')) type = '*'; - switch (type) { - case 'i1': return HEAP8[ptr]; - case 'i8': return HEAP8[ptr]; - case 'i16': return HEAP16[((ptr)>>1)]; - case 'i32': return HEAP32[((ptr)>>2)]; - case 'i64': return HEAP64[((ptr)>>3)]; - case 'float': return HEAPF32[((ptr)>>2)]; - case 'double': return HEAPF64[((ptr)>>3)]; - case '*': return HEAPU32[((ptr)>>2)]; - default: abort(`invalid type for getValue: ${type}`); - } - } - - var noExitRuntime = Module['noExitRuntime'] || true; - - var ptrToString = (ptr) => { - assert(typeof ptr === 'number'); - // With CAN_ADDRESS_2GB or MEMORY64, pointers are already unsigned. - ptr >>>= 0; - return '0x' + ptr.toString(16).padStart(8, '0'); - }; - - - /** - * @param {number} ptr - * @param {number} value - * @param {string} type - */ - function setValue(ptr, value, type = 'i8') { - if (type.endsWith('*')) type = '*'; - switch (type) { - case 'i1': HEAP8[ptr] = value; break; - case 'i8': HEAP8[ptr] = value; break; - case 'i16': HEAP16[((ptr)>>1)] = value; break; - case 'i32': HEAP32[((ptr)>>2)] = value; break; - case 'i64': HEAP64[((ptr)>>3)] = BigInt(value); break; - case 'float': HEAPF32[((ptr)>>2)] = value; break; - case 'double': HEAPF64[((ptr)>>3)] = value; break; - case '*': HEAPU32[((ptr)>>2)] = value; break; - default: abort(`invalid type for setValue: ${type}`); - } - } - - var stackRestore = (val) => __emscripten_stack_restore(val); - - var stackSave = () => _emscripten_stack_get_current(); - - var warnOnce = (text) => { - warnOnce.shown ||= {}; - if (!warnOnce.shown[text]) { - warnOnce.shown[text] = 1; - if (ENVIRONMENT_IS_NODE) text = 'warning: ' + text; - err(text); - } - }; - - var PATH = { - isAbs:(path) => path.charAt(0) === '/', - splitPath:(filename) => { - var splitPathRe = /^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/; - return splitPathRe.exec(filename).slice(1); - }, - normalizeArray:(parts, allowAboveRoot) => { - // if the path tries to go above the root, `up` ends up > 0 - var up = 0; - for (var i = parts.length - 1; i >= 0; i--) { - var last = parts[i]; - if (last === '.') { - parts.splice(i, 1); - } else if (last === '..') { - parts.splice(i, 1); - up++; - } else if (up) { - parts.splice(i, 1); - up--; - } - } - // if the path is allowed to go above the root, restore leading ..s - if (allowAboveRoot) { - for (; up; up--) { - parts.unshift('..'); - } - } - return parts; - }, - normalize:(path) => { - var isAbsolute = PATH.isAbs(path), - trailingSlash = path.slice(-1) === '/'; - // Normalize the path - path = PATH.normalizeArray(path.split('/').filter((p) => !!p), !isAbsolute).join('/'); - if (!path && !isAbsolute) { - path = '.'; - } - if (path && trailingSlash) { - path += '/'; - } - return (isAbsolute ? '/' : '') + path; - }, - dirname:(path) => { - var result = PATH.splitPath(path), - root = result[0], - dir = result[1]; - if (!root && !dir) { - // No dirname whatsoever - return '.'; - } - if (dir) { - // It has a dirname, strip trailing slash - dir = dir.slice(0, -1); - } - return root + dir; - }, - basename:(path) => path && path.match(/([^\/]+|\/)\/*$/)[1], - join:(...paths) => PATH.normalize(paths.join('/')), - join2:(l, r) => PATH.normalize(l + '/' + r), - }; - - var initRandomFill = () => { - // This block is not needed on v19+ since crypto.getRandomValues is builtin - if (ENVIRONMENT_IS_NODE) { - var nodeCrypto = require('crypto'); - return (view) => nodeCrypto.randomFillSync(view); - } - - return (view) => crypto.getRandomValues(view); - }; - var randomFill = (view) => { - // Lazily init on the first invocation. - (randomFill = initRandomFill())(view); - }; - - - - var PATH_FS = { - resolve:(...args) => { - var resolvedPath = '', - resolvedAbsolute = false; - for (var i = args.length - 1; i >= -1 && !resolvedAbsolute; i--) { - var path = (i >= 0) ? args[i] : FS.cwd(); - // Skip empty and invalid entries - if (typeof path != 'string') { - throw new TypeError('Arguments to path.resolve must be strings'); - } else if (!path) { - return ''; // an invalid portion invalidates the whole thing - } - resolvedPath = path + '/' + resolvedPath; - resolvedAbsolute = PATH.isAbs(path); - } - // At this point the path should be resolved to a full absolute path, but - // handle relative paths to be safe (might happen when process.cwd() fails) - resolvedPath = PATH.normalizeArray(resolvedPath.split('/').filter((p) => !!p), !resolvedAbsolute).join('/'); - return ((resolvedAbsolute ? '/' : '') + resolvedPath) || '.'; - }, - relative:(from, to) => { - from = PATH_FS.resolve(from).slice(1); - to = PATH_FS.resolve(to).slice(1); - function trim(arr) { - var start = 0; - for (; start < arr.length; start++) { - if (arr[start] !== '') break; - } - var end = arr.length - 1; - for (; end >= 0; end--) { - if (arr[end] !== '') break; - } - if (start > end) return []; - return arr.slice(start, end - start + 1); - } - var fromParts = trim(from.split('/')); - var toParts = trim(to.split('/')); - var length = Math.min(fromParts.length, toParts.length); - var samePartsLength = length; - for (var i = 0; i < length; i++) { - if (fromParts[i] !== toParts[i]) { - samePartsLength = i; - break; - } - } - var outputParts = []; - for (var i = samePartsLength; i < fromParts.length; i++) { - outputParts.push('..'); - } - outputParts = outputParts.concat(toParts.slice(samePartsLength)); - return outputParts.join('/'); - }, - }; - - - var UTF8Decoder = typeof TextDecoder != 'undefined' ? new TextDecoder() : undefined; - - /** - * Given a pointer 'idx' to a null-terminated UTF8-encoded string in the given - * array that contains uint8 values, returns a copy of that string as a - * Javascript String object. - * heapOrArray is either a regular array, or a JavaScript typed array view. - * @param {number=} idx - * @param {number=} maxBytesToRead - * @return {string} - */ - var UTF8ArrayToString = (heapOrArray, idx = 0, maxBytesToRead = NaN) => { - var endIdx = idx + maxBytesToRead; - var endPtr = idx; - // TextDecoder needs to know the byte length in advance, it doesn't stop on - // null terminator by itself. Also, use the length info to avoid running tiny - // strings through TextDecoder, since .subarray() allocates garbage. - // (As a tiny code save trick, compare endPtr against endIdx using a negation, - // so that undefined/NaN means Infinity) - while (heapOrArray[endPtr] && !(endPtr >= endIdx)) ++endPtr; - - if (endPtr - idx > 16 && heapOrArray.buffer && UTF8Decoder) { - return UTF8Decoder.decode(heapOrArray.subarray(idx, endPtr)); - } - var str = ''; - // If building with TextDecoder, we have already computed the string length - // above, so test loop end condition against that - while (idx < endPtr) { - // For UTF8 byte structure, see: - // http://en.wikipedia.org/wiki/UTF-8#Description - // https://www.ietf.org/rfc/rfc2279.txt - // https://tools.ietf.org/html/rfc3629 - var u0 = heapOrArray[idx++]; - if (!(u0 & 0x80)) { str += String.fromCharCode(u0); continue; } - var u1 = heapOrArray[idx++] & 63; - if ((u0 & 0xE0) == 0xC0) { str += String.fromCharCode(((u0 & 31) << 6) | u1); continue; } - var u2 = heapOrArray[idx++] & 63; - if ((u0 & 0xF0) == 0xE0) { - u0 = ((u0 & 15) << 12) | (u1 << 6) | u2; - } else { - if ((u0 & 0xF8) != 0xF0) warnOnce('Invalid UTF-8 leading byte ' + ptrToString(u0) + ' encountered when deserializing a UTF-8 string in wasm memory to a JS string!'); - u0 = ((u0 & 7) << 18) | (u1 << 12) | (u2 << 6) | (heapOrArray[idx++] & 63); - } - - if (u0 < 0x10000) { - str += String.fromCharCode(u0); - } else { - var ch = u0 - 0x10000; - str += String.fromCharCode(0xD800 | (ch >> 10), 0xDC00 | (ch & 0x3FF)); - } - } - return str; - }; - - var FS_stdin_getChar_buffer = []; - - var lengthBytesUTF8 = (str) => { - var len = 0; - for (var i = 0; i < str.length; ++i) { - // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code - // unit, not a Unicode code point of the character! So decode - // UTF16->UTF32->UTF8. - // See http://unicode.org/faq/utf_bom.html#utf16-3 - var c = str.charCodeAt(i); // possibly a lead surrogate - if (c <= 0x7F) { - len++; - } else if (c <= 0x7FF) { - len += 2; - } else if (c >= 0xD800 && c <= 0xDFFF) { - len += 4; ++i; - } else { - len += 3; - } - } - return len; - }; - - var stringToUTF8Array = (str, heap, outIdx, maxBytesToWrite) => { - assert(typeof str === 'string', `stringToUTF8Array expects a string (got ${typeof str})`); - // Parameter maxBytesToWrite is not optional. Negative values, 0, null, - // undefined and false each don't write out any bytes. - if (!(maxBytesToWrite > 0)) - return 0; - - var startIdx = outIdx; - var endIdx = outIdx + maxBytesToWrite - 1; // -1 for string null terminator. - for (var i = 0; i < str.length; ++i) { - // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code - // unit, not a Unicode code point of the character! So decode - // UTF16->UTF32->UTF8. - // See http://unicode.org/faq/utf_bom.html#utf16-3 - // For UTF8 byte structure, see http://en.wikipedia.org/wiki/UTF-8#Description - // and https://www.ietf.org/rfc/rfc2279.txt - // and https://tools.ietf.org/html/rfc3629 - var u = str.charCodeAt(i); // possibly a lead surrogate - if (u >= 0xD800 && u <= 0xDFFF) { - var u1 = str.charCodeAt(++i); - u = 0x10000 + ((u & 0x3FF) << 10) | (u1 & 0x3FF); - } - if (u <= 0x7F) { - if (outIdx >= endIdx) break; - heap[outIdx++] = u; - } else if (u <= 0x7FF) { - if (outIdx + 1 >= endIdx) break; - heap[outIdx++] = 0xC0 | (u >> 6); - heap[outIdx++] = 0x80 | (u & 63); - } else if (u <= 0xFFFF) { - if (outIdx + 2 >= endIdx) break; - heap[outIdx++] = 0xE0 | (u >> 12); - heap[outIdx++] = 0x80 | ((u >> 6) & 63); - heap[outIdx++] = 0x80 | (u & 63); - } else { - if (outIdx + 3 >= endIdx) break; - if (u > 0x10FFFF) warnOnce('Invalid Unicode code point ' + ptrToString(u) + ' encountered when serializing a JS string to a UTF-8 string in wasm memory! (Valid unicode code points should be in range 0-0x10FFFF).'); - heap[outIdx++] = 0xF0 | (u >> 18); - heap[outIdx++] = 0x80 | ((u >> 12) & 63); - heap[outIdx++] = 0x80 | ((u >> 6) & 63); - heap[outIdx++] = 0x80 | (u & 63); - } - } - // Null-terminate the pointer to the buffer. - heap[outIdx] = 0; - return outIdx - startIdx; - }; - /** @type {function(string, boolean=, number=)} */ - var intArrayFromString = (stringy, dontAddNull, length) => { - var len = length > 0 ? length : lengthBytesUTF8(stringy)+1; - var u8array = new Array(len); - var numBytesWritten = stringToUTF8Array(stringy, u8array, 0, u8array.length); - if (dontAddNull) u8array.length = numBytesWritten; - return u8array; - }; - var FS_stdin_getChar = () => { - if (!FS_stdin_getChar_buffer.length) { - var result = null; - if (ENVIRONMENT_IS_NODE) { - // we will read data by chunks of BUFSIZE - var BUFSIZE = 256; - var buf = Buffer.alloc(BUFSIZE); - var bytesRead = 0; - - // For some reason we must suppress a closure warning here, even though - // fd definitely exists on process.stdin, and is even the proper way to - // get the fd of stdin, - // https://github.com/nodejs/help/issues/2136#issuecomment-523649904 - // This started to happen after moving this logic out of library_tty.js, - // so it is related to the surrounding code in some unclear manner. - /** @suppress {missingProperties} */ - var fd = process.stdin.fd; - - try { - bytesRead = fs.readSync(fd, buf, 0, BUFSIZE); - } catch(e) { - // Cross-platform differences: on Windows, reading EOF throws an - // exception, but on other OSes, reading EOF returns 0. Uniformize - // behavior by treating the EOF exception to return 0. - if (e.toString().includes('EOF')) bytesRead = 0; - else throw e; - } - - if (bytesRead > 0) { - result = buf.slice(0, bytesRead).toString('utf-8'); - } - } else - if (typeof window != 'undefined' && - typeof window.prompt == 'function') { - // Browser. - result = window.prompt('Input: '); // returns null on cancel - if (result !== null) { - result += '\n'; - } - } else - {} - if (!result) { - return null; - } - FS_stdin_getChar_buffer = intArrayFromString(result, true); - } - return FS_stdin_getChar_buffer.shift(); - }; - var TTY = { - ttys:[], - init() { - // https://github.com/emscripten-core/emscripten/pull/1555 - // if (ENVIRONMENT_IS_NODE) { - // // currently, FS.init does not distinguish if process.stdin is a file or TTY - // // device, it always assumes it's a TTY device. because of this, we're forcing - // // process.stdin to UTF8 encoding to at least make stdin reading compatible - // // with text files until FS.init can be refactored. - // process.stdin.setEncoding('utf8'); - // } - }, - shutdown() { - // https://github.com/emscripten-core/emscripten/pull/1555 - // if (ENVIRONMENT_IS_NODE) { - // // inolen: any idea as to why node -e 'process.stdin.read()' wouldn't exit immediately (with process.stdin being a tty)? - // // isaacs: because now it's reading from the stream, you've expressed interest in it, so that read() kicks off a _read() which creates a ReadReq operation - // // inolen: I thought read() in that case was a synchronous operation that just grabbed some amount of buffered data if it exists? - // // isaacs: it is. but it also triggers a _read() call, which calls readStart() on the handle - // // isaacs: do process.stdin.pause() and i'd think it'd probably close the pending call - // process.stdin.pause(); - // } - }, - register(dev, ops) { - TTY.ttys[dev] = { input: [], output: [], ops: ops }; - FS.registerDevice(dev, TTY.stream_ops); - }, - stream_ops:{ - open(stream) { - var tty = TTY.ttys[stream.node.rdev]; - if (!tty) { - throw new FS.ErrnoError(43); - } - stream.tty = tty; - stream.seekable = false; - }, - close(stream) { - // flush any pending line data - stream.tty.ops.fsync(stream.tty); - }, - fsync(stream) { - stream.tty.ops.fsync(stream.tty); - }, - read(stream, buffer, offset, length, pos /* ignored */) { - if (!stream.tty || !stream.tty.ops.get_char) { - throw new FS.ErrnoError(60); - } - var bytesRead = 0; - for (var i = 0; i < length; i++) { - var result; - try { - result = stream.tty.ops.get_char(stream.tty); - } catch (e) { - throw new FS.ErrnoError(29); - } - if (result === undefined && bytesRead === 0) { - throw new FS.ErrnoError(6); - } - if (result === null || result === undefined) break; - bytesRead++; - buffer[offset+i] = result; - } - if (bytesRead) { - stream.node.atime = Date.now(); - } - return bytesRead; - }, - write(stream, buffer, offset, length, pos) { - if (!stream.tty || !stream.tty.ops.put_char) { - throw new FS.ErrnoError(60); - } - try { - for (var i = 0; i < length; i++) { - stream.tty.ops.put_char(stream.tty, buffer[offset+i]); - } - } catch (e) { - throw new FS.ErrnoError(29); - } - if (length) { - stream.node.mtime = stream.node.ctime = Date.now(); - } - return i; - }, - }, - default_tty_ops:{ - get_char(tty) { - return FS_stdin_getChar(); - }, - put_char(tty, val) { - if (val === null || val === 10) { - out(UTF8ArrayToString(tty.output)); - tty.output = []; - } else { - if (val != 0) tty.output.push(val); // val == 0 would cut text output off in the middle. - } - }, - fsync(tty) { - if (tty.output?.length > 0) { - out(UTF8ArrayToString(tty.output)); - tty.output = []; - } - }, - ioctl_tcgets(tty) { - // typical setting - return { - c_iflag: 25856, - c_oflag: 5, - c_cflag: 191, - c_lflag: 35387, - c_cc: [ - 0x03, 0x1c, 0x7f, 0x15, 0x04, 0x00, 0x01, 0x00, 0x11, 0x13, 0x1a, 0x00, - 0x12, 0x0f, 0x17, 0x16, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - ] - }; - }, - ioctl_tcsets(tty, optional_actions, data) { - // currently just ignore - return 0; - }, - ioctl_tiocgwinsz(tty) { - return [24, 80]; - }, - }, - default_tty1_ops:{ - put_char(tty, val) { - if (val === null || val === 10) { - err(UTF8ArrayToString(tty.output)); - tty.output = []; - } else { - if (val != 0) tty.output.push(val); - } - }, - fsync(tty) { - if (tty.output?.length > 0) { - err(UTF8ArrayToString(tty.output)); - tty.output = []; - } - }, - }, - }; - - - var mmapAlloc = (size) => { - abort('internal error: mmapAlloc called but `emscripten_builtin_memalign` native symbol not exported'); - }; - var MEMFS = { - ops_table:null, - mount(mount) { - return MEMFS.createNode(null, '/', 16895, 0); - }, - createNode(parent, name, mode, dev) { - if (FS.isBlkdev(mode) || FS.isFIFO(mode)) { - // no supported - throw new FS.ErrnoError(63); - } - MEMFS.ops_table ||= { - dir: { - node: { - getattr: MEMFS.node_ops.getattr, - setattr: MEMFS.node_ops.setattr, - lookup: MEMFS.node_ops.lookup, - mknod: MEMFS.node_ops.mknod, - rename: MEMFS.node_ops.rename, - unlink: MEMFS.node_ops.unlink, - rmdir: MEMFS.node_ops.rmdir, - readdir: MEMFS.node_ops.readdir, - symlink: MEMFS.node_ops.symlink - }, - stream: { - llseek: MEMFS.stream_ops.llseek - } - }, - file: { - node: { - getattr: MEMFS.node_ops.getattr, - setattr: MEMFS.node_ops.setattr - }, - stream: { - llseek: MEMFS.stream_ops.llseek, - read: MEMFS.stream_ops.read, - write: MEMFS.stream_ops.write, - mmap: MEMFS.stream_ops.mmap, - msync: MEMFS.stream_ops.msync - } - }, - link: { - node: { - getattr: MEMFS.node_ops.getattr, - setattr: MEMFS.node_ops.setattr, - readlink: MEMFS.node_ops.readlink - }, - stream: {} - }, - chrdev: { - node: { - getattr: MEMFS.node_ops.getattr, - setattr: MEMFS.node_ops.setattr - }, - stream: FS.chrdev_stream_ops - } - }; - var node = FS.createNode(parent, name, mode, dev); - if (FS.isDir(node.mode)) { - node.node_ops = MEMFS.ops_table.dir.node; - node.stream_ops = MEMFS.ops_table.dir.stream; - node.contents = {}; - } else if (FS.isFile(node.mode)) { - node.node_ops = MEMFS.ops_table.file.node; - node.stream_ops = MEMFS.ops_table.file.stream; - node.usedBytes = 0; // The actual number of bytes used in the typed array, as opposed to contents.length which gives the whole capacity. - // When the byte data of the file is populated, this will point to either a typed array, or a normal JS array. Typed arrays are preferred - // for performance, and used by default. However, typed arrays are not resizable like normal JS arrays are, so there is a small disk size - // penalty involved for appending file writes that continuously grow a file similar to std::vector capacity vs used -scheme. - node.contents = null; - } else if (FS.isLink(node.mode)) { - node.node_ops = MEMFS.ops_table.link.node; - node.stream_ops = MEMFS.ops_table.link.stream; - } else if (FS.isChrdev(node.mode)) { - node.node_ops = MEMFS.ops_table.chrdev.node; - node.stream_ops = MEMFS.ops_table.chrdev.stream; - } - node.atime = node.mtime = node.ctime = Date.now(); - // add the new node to the parent - if (parent) { - parent.contents[name] = node; - parent.atime = parent.mtime = parent.ctime = node.atime; - } - return node; - }, - getFileDataAsTypedArray(node) { - if (!node.contents) return new Uint8Array(0); - if (node.contents.subarray) return node.contents.subarray(0, node.usedBytes); // Make sure to not return excess unused bytes. - return new Uint8Array(node.contents); - }, - expandFileStorage(node, newCapacity) { - var prevCapacity = node.contents ? node.contents.length : 0; - if (prevCapacity >= newCapacity) return; // No need to expand, the storage was already large enough. - // Don't expand strictly to the given requested limit if it's only a very small increase, but instead geometrically grow capacity. - // For small filesizes (<1MB), perform size*2 geometric increase, but for large sizes, do a much more conservative size*1.125 increase to - // avoid overshooting the allocation cap by a very large margin. - var CAPACITY_DOUBLING_MAX = 1024 * 1024; - newCapacity = Math.max(newCapacity, (prevCapacity * (prevCapacity < CAPACITY_DOUBLING_MAX ? 2.0 : 1.125)) >>> 0); - if (prevCapacity != 0) newCapacity = Math.max(newCapacity, 256); // At minimum allocate 256b for each file when expanding. - var oldContents = node.contents; - node.contents = new Uint8Array(newCapacity); // Allocate new storage. - if (node.usedBytes > 0) node.contents.set(oldContents.subarray(0, node.usedBytes), 0); // Copy old data over to the new storage. - }, - resizeFileStorage(node, newSize) { - if (node.usedBytes == newSize) return; - if (newSize == 0) { - node.contents = null; // Fully decommit when requesting a resize to zero. - node.usedBytes = 0; - } else { - var oldContents = node.contents; - node.contents = new Uint8Array(newSize); // Allocate new storage. - if (oldContents) { - node.contents.set(oldContents.subarray(0, Math.min(newSize, node.usedBytes))); // Copy old data over to the new storage. - } - node.usedBytes = newSize; - } - }, - node_ops:{ - getattr(node) { - var attr = {}; - // device numbers reuse inode numbers. - attr.dev = FS.isChrdev(node.mode) ? node.id : 1; - attr.ino = node.id; - attr.mode = node.mode; - attr.nlink = 1; - attr.uid = 0; - attr.gid = 0; - attr.rdev = node.rdev; - if (FS.isDir(node.mode)) { - attr.size = 4096; - } else if (FS.isFile(node.mode)) { - attr.size = node.usedBytes; - } else if (FS.isLink(node.mode)) { - attr.size = node.link.length; - } else { - attr.size = 0; - } - attr.atime = new Date(node.atime); - attr.mtime = new Date(node.mtime); - attr.ctime = new Date(node.ctime); - // NOTE: In our implementation, st_blocks = Math.ceil(st_size/st_blksize), - // but this is not required by the standard. - attr.blksize = 4096; - attr.blocks = Math.ceil(attr.size / attr.blksize); - return attr; - }, - setattr(node, attr) { - for (const key of ["mode", "atime", "mtime", "ctime"]) { - if (attr[key] != null) { - node[key] = attr[key]; - } - } - if (attr.size !== undefined) { - MEMFS.resizeFileStorage(node, attr.size); - } - }, - lookup(parent, name) { - throw new FS.ErrnoError(44); - }, - mknod(parent, name, mode, dev) { - return MEMFS.createNode(parent, name, mode, dev); - }, - rename(old_node, new_dir, new_name) { - var new_node; - try { - new_node = FS.lookupNode(new_dir, new_name); - } catch (e) {} - if (new_node) { - if (FS.isDir(old_node.mode)) { - // if we're overwriting a directory at new_name, make sure it's empty. - for (var i in new_node.contents) { - throw new FS.ErrnoError(55); - } - } - FS.hashRemoveNode(new_node); - } - // do the internal rewiring - delete old_node.parent.contents[old_node.name]; - new_dir.contents[new_name] = old_node; - old_node.name = new_name; - new_dir.ctime = new_dir.mtime = old_node.parent.ctime = old_node.parent.mtime = Date.now(); - }, - unlink(parent, name) { - delete parent.contents[name]; - parent.ctime = parent.mtime = Date.now(); - }, - rmdir(parent, name) { - var node = FS.lookupNode(parent, name); - for (var i in node.contents) { - throw new FS.ErrnoError(55); - } - delete parent.contents[name]; - parent.ctime = parent.mtime = Date.now(); - }, - readdir(node) { - return ['.', '..', ...Object.keys(node.contents)]; - }, - symlink(parent, newname, oldpath) { - var node = MEMFS.createNode(parent, newname, 0o777 | 40960, 0); - node.link = oldpath; - return node; - }, - readlink(node) { - if (!FS.isLink(node.mode)) { - throw new FS.ErrnoError(28); - } - return node.link; - }, - }, - stream_ops:{ - read(stream, buffer, offset, length, position) { - var contents = stream.node.contents; - if (position >= stream.node.usedBytes) return 0; - var size = Math.min(stream.node.usedBytes - position, length); - assert(size >= 0); - if (size > 8 && contents.subarray) { // non-trivial, and typed array - buffer.set(contents.subarray(position, position + size), offset); - } else { - for (var i = 0; i < size; i++) buffer[offset + i] = contents[position + i]; - } - return size; - }, - write(stream, buffer, offset, length, position, canOwn) { - // The data buffer should be a typed array view - assert(!(buffer instanceof ArrayBuffer)); - - if (!length) return 0; - var node = stream.node; - node.mtime = node.ctime = Date.now(); - - if (buffer.subarray && (!node.contents || node.contents.subarray)) { // This write is from a typed array to a typed array? - if (canOwn) { - assert(position === 0, 'canOwn must imply no weird position inside the file'); - node.contents = buffer.subarray(offset, offset + length); - node.usedBytes = length; - return length; - } else if (node.usedBytes === 0 && position === 0) { // If this is a simple first write to an empty file, do a fast set since we don't need to care about old data. - node.contents = buffer.slice(offset, offset + length); - node.usedBytes = length; - return length; - } else if (position + length <= node.usedBytes) { // Writing to an already allocated and used subrange of the file? - node.contents.set(buffer.subarray(offset, offset + length), position); - return length; - } - } - - // Appending to an existing file and we need to reallocate, or source data did not come as a typed array. - MEMFS.expandFileStorage(node, position+length); - if (node.contents.subarray && buffer.subarray) { - // Use typed array write which is available. - node.contents.set(buffer.subarray(offset, offset + length), position); - } else { - for (var i = 0; i < length; i++) { - node.contents[position + i] = buffer[offset + i]; // Or fall back to manual write if not. - } - } - node.usedBytes = Math.max(node.usedBytes, position + length); - return length; - }, - llseek(stream, offset, whence) { - var position = offset; - if (whence === 1) { - position += stream.position; - } else if (whence === 2) { - if (FS.isFile(stream.node.mode)) { - position += stream.node.usedBytes; - } - } - if (position < 0) { - throw new FS.ErrnoError(28); - } - return position; - }, - mmap(stream, length, position, prot, flags) { - if (!FS.isFile(stream.node.mode)) { - throw new FS.ErrnoError(43); - } - var ptr; - var allocated; - var contents = stream.node.contents; - // Only make a new copy when MAP_PRIVATE is specified. - if (!(flags & 2) && contents && contents.buffer === HEAP8.buffer) { - // We can't emulate MAP_SHARED when the file is not backed by the - // buffer we're mapping to (e.g. the HEAP buffer). - allocated = false; - ptr = contents.byteOffset; - } else { - allocated = true; - ptr = mmapAlloc(length); - if (!ptr) { - throw new FS.ErrnoError(48); - } - if (contents) { - // Try to avoid unnecessary slices. - if (position > 0 || position + length < contents.length) { - if (contents.subarray) { - contents = contents.subarray(position, position + length); - } else { - contents = Array.prototype.slice.call(contents, position, position + length); - } - } - HEAP8.set(contents, ptr); - } - } - return { ptr, allocated }; - }, - msync(stream, buffer, offset, length, mmapFlags) { - MEMFS.stream_ops.write(stream, buffer, 0, length, offset, false); - // should we check if bytesWritten and length are the same? - return 0; - }, - }, - }; - - var asyncLoad = async (url) => { - var arrayBuffer = await readAsync(url); - assert(arrayBuffer, `Loading data file "${url}" failed (no arrayBuffer).`); - return new Uint8Array(arrayBuffer); - }; - - - var FS_createDataFile = (parent, name, fileData, canRead, canWrite, canOwn) => { - FS.createDataFile(parent, name, fileData, canRead, canWrite, canOwn); - }; - - var preloadPlugins = Module['preloadPlugins'] || []; - var FS_handledByPreloadPlugin = (byteArray, fullname, finish, onerror) => { - // Ensure plugins are ready. - if (typeof Browser != 'undefined') Browser.init(); - - var handled = false; - preloadPlugins.forEach((plugin) => { - if (handled) return; - if (plugin['canHandle'](fullname)) { - plugin['handle'](byteArray, fullname, finish, onerror); - handled = true; - } - }); - return handled; - }; - var FS_createPreloadedFile = (parent, name, url, canRead, canWrite, onload, onerror, dontCreateFile, canOwn, preFinish) => { - // TODO we should allow people to just pass in a complete filename instead - // of parent and name being that we just join them anyways - var fullname = name ? PATH_FS.resolve(PATH.join2(parent, name)) : parent; - var dep = getUniqueRunDependency(`cp ${fullname}`); // might have several active requests for the same fullname - function processData(byteArray) { - function finish(byteArray) { - preFinish?.(); - if (!dontCreateFile) { - FS_createDataFile(parent, name, byteArray, canRead, canWrite, canOwn); - } - onload?.(); - removeRunDependency(dep); - } - if (FS_handledByPreloadPlugin(byteArray, fullname, finish, () => { - onerror?.(); - removeRunDependency(dep); - })) { - return; - } - finish(byteArray); - } - addRunDependency(dep); - if (typeof url == 'string') { - asyncLoad(url).then(processData, onerror); - } else { - processData(url); - } - }; - - var FS_modeStringToFlags = (str) => { - var flagModes = { - 'r': 0, - 'r+': 2, - 'w': 512 | 64 | 1, - 'w+': 512 | 64 | 2, - 'a': 1024 | 64 | 1, - 'a+': 1024 | 64 | 2, - }; - var flags = flagModes[str]; - if (typeof flags == 'undefined') { - throw new Error(`Unknown file open mode: ${str}`); - } - return flags; - }; - - var FS_getMode = (canRead, canWrite) => { - var mode = 0; - if (canRead) mode |= 292 | 73; - if (canWrite) mode |= 146; - return mode; - }; - - - - - - - /** - * Given a pointer 'ptr' to a null-terminated UTF8-encoded string in the - * emscripten HEAP, returns a copy of that string as a Javascript String object. - * - * @param {number} ptr - * @param {number=} maxBytesToRead - An optional length that specifies the - * maximum number of bytes to read. You can omit this parameter to scan the - * string until the first 0 byte. If maxBytesToRead is passed, and the string - * at [ptr, ptr+maxBytesToReadr[ contains a null byte in the middle, then the - * string will cut short at that byte index (i.e. maxBytesToRead will not - * produce a string of exact length [ptr, ptr+maxBytesToRead[) N.B. mixing - * frequent uses of UTF8ToString() with and without maxBytesToRead may throw - * JS JIT optimizations off, so it is worth to consider consistently using one - * @return {string} - */ - var UTF8ToString = (ptr, maxBytesToRead) => { - assert(typeof ptr == 'number', `UTF8ToString expects a number (got ${typeof ptr})`); - return ptr ? UTF8ArrayToString(HEAPU8, ptr, maxBytesToRead) : ''; - }; - - var strError = (errno) => UTF8ToString(_strerror(errno)); - - var ERRNO_CODES = { - 'EPERM': 63, - 'ENOENT': 44, - 'ESRCH': 71, - 'EINTR': 27, - 'EIO': 29, - 'ENXIO': 60, - 'E2BIG': 1, - 'ENOEXEC': 45, - 'EBADF': 8, - 'ECHILD': 12, - 'EAGAIN': 6, - 'EWOULDBLOCK': 6, - 'ENOMEM': 48, - 'EACCES': 2, - 'EFAULT': 21, - 'ENOTBLK': 105, - 'EBUSY': 10, - 'EEXIST': 20, - 'EXDEV': 75, - 'ENODEV': 43, - 'ENOTDIR': 54, - 'EISDIR': 31, - 'EINVAL': 28, - 'ENFILE': 41, - 'EMFILE': 33, - 'ENOTTY': 59, - 'ETXTBSY': 74, - 'EFBIG': 22, - 'ENOSPC': 51, - 'ESPIPE': 70, - 'EROFS': 69, - 'EMLINK': 34, - 'EPIPE': 64, - 'EDOM': 18, - 'ERANGE': 68, - 'ENOMSG': 49, - 'EIDRM': 24, - 'ECHRNG': 106, - 'EL2NSYNC': 156, - 'EL3HLT': 107, - 'EL3RST': 108, - 'ELNRNG': 109, - 'EUNATCH': 110, - 'ENOCSI': 111, - 'EL2HLT': 112, - 'EDEADLK': 16, - 'ENOLCK': 46, - 'EBADE': 113, - 'EBADR': 114, - 'EXFULL': 115, - 'ENOANO': 104, - 'EBADRQC': 103, - 'EBADSLT': 102, - 'EDEADLOCK': 16, - 'EBFONT': 101, - 'ENOSTR': 100, - 'ENODATA': 116, - 'ETIME': 117, - 'ENOSR': 118, - 'ENONET': 119, - 'ENOPKG': 120, - 'EREMOTE': 121, - 'ENOLINK': 47, - 'EADV': 122, - 'ESRMNT': 123, - 'ECOMM': 124, - 'EPROTO': 65, - 'EMULTIHOP': 36, - 'EDOTDOT': 125, - 'EBADMSG': 9, - 'ENOTUNIQ': 126, - 'EBADFD': 127, - 'EREMCHG': 128, - 'ELIBACC': 129, - 'ELIBBAD': 130, - 'ELIBSCN': 131, - 'ELIBMAX': 132, - 'ELIBEXEC': 133, - 'ENOSYS': 52, - 'ENOTEMPTY': 55, - 'ENAMETOOLONG': 37, - 'ELOOP': 32, - 'EOPNOTSUPP': 138, - 'EPFNOSUPPORT': 139, - 'ECONNRESET': 15, - 'ENOBUFS': 42, - 'EAFNOSUPPORT': 5, - 'EPROTOTYPE': 67, - 'ENOTSOCK': 57, - 'ENOPROTOOPT': 50, - 'ESHUTDOWN': 140, - 'ECONNREFUSED': 14, - 'EADDRINUSE': 3, - 'ECONNABORTED': 13, - 'ENETUNREACH': 40, - 'ENETDOWN': 38, - 'ETIMEDOUT': 73, - 'EHOSTDOWN': 142, - 'EHOSTUNREACH': 23, - 'EINPROGRESS': 26, - 'EALREADY': 7, - 'EDESTADDRREQ': 17, - 'EMSGSIZE': 35, - 'EPROTONOSUPPORT': 66, - 'ESOCKTNOSUPPORT': 137, - 'EADDRNOTAVAIL': 4, - 'ENETRESET': 39, - 'EISCONN': 30, - 'ENOTCONN': 53, - 'ETOOMANYREFS': 141, - 'EUSERS': 136, - 'EDQUOT': 19, - 'ESTALE': 72, - 'ENOTSUP': 138, - 'ENOMEDIUM': 148, - 'EILSEQ': 25, - 'EOVERFLOW': 61, - 'ECANCELED': 11, - 'ENOTRECOVERABLE': 56, - 'EOWNERDEAD': 62, - 'ESTRPIPE': 135, - }; - var FS = { - root:null, - mounts:[], - devices:{ - }, - streams:[], - nextInode:1, - nameTable:null, - currentPath:"/", - initialized:false, - ignorePermissions:true, - filesystems:null, - syncFSRequests:0, - readFiles:{ - }, - ErrnoError:class extends Error { - name = 'ErrnoError'; - // We set the `name` property to be able to identify `FS.ErrnoError` - // - the `name` is a standard ECMA-262 property of error objects. Kind of good to have it anyway. - // - when using PROXYFS, an error can come from an underlying FS - // as different FS objects have their own FS.ErrnoError each, - // the test `err instanceof FS.ErrnoError` won't detect an error coming from another filesystem, causing bugs. - // we'll use the reliable test `err.name == "ErrnoError"` instead - constructor(errno) { - super(runtimeInitialized ? strError(errno) : ''); - this.errno = errno; - for (var key in ERRNO_CODES) { - if (ERRNO_CODES[key] === errno) { - this.code = key; - break; - } - } - } - }, - FSStream:class { - shared = {}; - get object() { - return this.node; - } - set object(val) { - this.node = val; - } - get isRead() { - return (this.flags & 2097155) !== 1; - } - get isWrite() { - return (this.flags & 2097155) !== 0; - } - get isAppend() { - return (this.flags & 1024); - } - get flags() { - return this.shared.flags; - } - set flags(val) { - this.shared.flags = val; - } - get position() { - return this.shared.position; - } - set position(val) { - this.shared.position = val; - } - }, - FSNode:class { - node_ops = {}; - stream_ops = {}; - readMode = 292 | 73; - writeMode = 146; - mounted = null; - constructor(parent, name, mode, rdev) { - if (!parent) { - parent = this; // root node sets parent to itself - } - this.parent = parent; - this.mount = parent.mount; - this.id = FS.nextInode++; - this.name = name; - this.mode = mode; - this.rdev = rdev; - this.atime = this.mtime = this.ctime = Date.now(); - } - get read() { - return (this.mode & this.readMode) === this.readMode; - } - set read(val) { - val ? this.mode |= this.readMode : this.mode &= ~this.readMode; - } - get write() { - return (this.mode & this.writeMode) === this.writeMode; - } - set write(val) { - val ? this.mode |= this.writeMode : this.mode &= ~this.writeMode; - } - get isFolder() { - return FS.isDir(this.mode); - } - get isDevice() { - return FS.isChrdev(this.mode); - } - }, - lookupPath(path, opts = {}) { - if (!path) { - throw new FS.ErrnoError(44); - } - opts.follow_mount ??= true - - if (!PATH.isAbs(path)) { - path = FS.cwd() + '/' + path; - } - - // limit max consecutive symlinks to 40 (SYMLOOP_MAX). - linkloop: for (var nlinks = 0; nlinks < 40; nlinks++) { - // split the absolute path - var parts = path.split('/').filter((p) => !!p); - - // start at the root - var current = FS.root; - var current_path = '/'; - - for (var i = 0; i < parts.length; i++) { - var islast = (i === parts.length-1); - if (islast && opts.parent) { - // stop resolving - break; - } - - if (parts[i] === '.') { - continue; - } - - if (parts[i] === '..') { - current_path = PATH.dirname(current_path); - current = current.parent; - continue; - } - - current_path = PATH.join2(current_path, parts[i]); - try { - current = FS.lookupNode(current, parts[i]); - } catch (e) { - // if noent_okay is true, suppress a ENOENT in the last component - // and return an object with an undefined node. This is needed for - // resolving symlinks in the path when creating a file. - if ((e?.errno === 44) && islast && opts.noent_okay) { - return { path: current_path }; - } - throw e; - } - - // jump to the mount's root node if this is a mountpoint - if (FS.isMountpoint(current) && (!islast || opts.follow_mount)) { - current = current.mounted.root; - } - - // by default, lookupPath will not follow a symlink if it is the final path component. - // setting opts.follow = true will override this behavior. - if (FS.isLink(current.mode) && (!islast || opts.follow)) { - if (!current.node_ops.readlink) { - throw new FS.ErrnoError(52); - } - var link = current.node_ops.readlink(current); - if (!PATH.isAbs(link)) { - link = PATH.dirname(current_path) + '/' + link; - } - path = link + '/' + parts.slice(i + 1).join('/'); - continue linkloop; - } - } - return { path: current_path, node: current }; - } - throw new FS.ErrnoError(32); - }, - getPath(node) { - var path; - while (true) { - if (FS.isRoot(node)) { - var mount = node.mount.mountpoint; - if (!path) return mount; - return mount[mount.length-1] !== '/' ? `${mount}/${path}` : mount + path; - } - path = path ? `${node.name}/${path}` : node.name; - node = node.parent; - } - }, - hashName(parentid, name) { - var hash = 0; - - for (var i = 0; i < name.length; i++) { - hash = ((hash << 5) - hash + name.charCodeAt(i)) | 0; - } - return ((parentid + hash) >>> 0) % FS.nameTable.length; - }, - hashAddNode(node) { - var hash = FS.hashName(node.parent.id, node.name); - node.name_next = FS.nameTable[hash]; - FS.nameTable[hash] = node; - }, - hashRemoveNode(node) { - var hash = FS.hashName(node.parent.id, node.name); - if (FS.nameTable[hash] === node) { - FS.nameTable[hash] = node.name_next; - } else { - var current = FS.nameTable[hash]; - while (current) { - if (current.name_next === node) { - current.name_next = node.name_next; - break; - } - current = current.name_next; - } - } - }, - lookupNode(parent, name) { - var errCode = FS.mayLookup(parent); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - var hash = FS.hashName(parent.id, name); - for (var node = FS.nameTable[hash]; node; node = node.name_next) { - var nodeName = node.name; - if (node.parent.id === parent.id && nodeName === name) { - return node; - } - } - // if we failed to find it in the cache, call into the VFS - return FS.lookup(parent, name); - }, - createNode(parent, name, mode, rdev) { - assert(typeof parent == 'object') - var node = new FS.FSNode(parent, name, mode, rdev); - - FS.hashAddNode(node); - - return node; - }, - destroyNode(node) { - FS.hashRemoveNode(node); - }, - isRoot(node) { - return node === node.parent; - }, - isMountpoint(node) { - return !!node.mounted; - }, - isFile(mode) { - return (mode & 61440) === 32768; - }, - isDir(mode) { - return (mode & 61440) === 16384; - }, - isLink(mode) { - return (mode & 61440) === 40960; - }, - isChrdev(mode) { - return (mode & 61440) === 8192; - }, - isBlkdev(mode) { - return (mode & 61440) === 24576; - }, - isFIFO(mode) { - return (mode & 61440) === 4096; - }, - isSocket(mode) { - return (mode & 49152) === 49152; - }, - flagsToPermissionString(flag) { - var perms = ['r', 'w', 'rw'][flag & 3]; - if ((flag & 512)) { - perms += 'w'; - } - return perms; - }, - nodePermissions(node, perms) { - if (FS.ignorePermissions) { - return 0; - } - // return 0 if any user, group or owner bits are set. - if (perms.includes('r') && !(node.mode & 292)) { - return 2; - } else if (perms.includes('w') && !(node.mode & 146)) { - return 2; - } else if (perms.includes('x') && !(node.mode & 73)) { - return 2; - } - return 0; - }, - mayLookup(dir) { - if (!FS.isDir(dir.mode)) return 54; - var errCode = FS.nodePermissions(dir, 'x'); - if (errCode) return errCode; - if (!dir.node_ops.lookup) return 2; - return 0; - }, - mayCreate(dir, name) { - if (!FS.isDir(dir.mode)) { - return 54; - } - try { - var node = FS.lookupNode(dir, name); - return 20; - } catch (e) { - } - return FS.nodePermissions(dir, 'wx'); - }, - mayDelete(dir, name, isdir) { - var node; - try { - node = FS.lookupNode(dir, name); - } catch (e) { - return e.errno; - } - var errCode = FS.nodePermissions(dir, 'wx'); - if (errCode) { - return errCode; - } - if (isdir) { - if (!FS.isDir(node.mode)) { - return 54; - } - if (FS.isRoot(node) || FS.getPath(node) === FS.cwd()) { - return 10; - } - } else { - if (FS.isDir(node.mode)) { - return 31; - } - } - return 0; - }, - mayOpen(node, flags) { - if (!node) { - return 44; - } - if (FS.isLink(node.mode)) { - return 32; - } else if (FS.isDir(node.mode)) { - if (FS.flagsToPermissionString(flags) !== 'r' // opening for write - || (flags & (512 | 64))) { // TODO: check for O_SEARCH? (== search for dir only) - return 31; - } - } - return FS.nodePermissions(node, FS.flagsToPermissionString(flags)); - }, - checkOpExists(op, err) { - if (!op) { - throw new FS.ErrnoError(err); - } - return op; - }, - MAX_OPEN_FDS:4096, - nextfd() { - for (var fd = 0; fd <= FS.MAX_OPEN_FDS; fd++) { - if (!FS.streams[fd]) { - return fd; - } - } - throw new FS.ErrnoError(33); - }, - getStreamChecked(fd) { - var stream = FS.getStream(fd); - if (!stream) { - throw new FS.ErrnoError(8); - } - return stream; - }, - getStream:(fd) => FS.streams[fd], - createStream(stream, fd = -1) { - assert(fd >= -1); - - // clone it, so we can return an instance of FSStream - stream = Object.assign(new FS.FSStream(), stream); - if (fd == -1) { - fd = FS.nextfd(); - } - stream.fd = fd; - FS.streams[fd] = stream; - return stream; - }, - closeStream(fd) { - FS.streams[fd] = null; - }, - dupStream(origStream, fd = -1) { - var stream = FS.createStream(origStream, fd); - stream.stream_ops?.dup?.(stream); - return stream; - }, - doSetAttr(stream, node, attr) { - var setattr = stream?.stream_ops.setattr; - var arg = setattr ? stream : node; - setattr ??= node.node_ops.setattr; - FS.checkOpExists(setattr, 63) - setattr(arg, attr); - }, - chrdev_stream_ops:{ - open(stream) { - var device = FS.getDevice(stream.node.rdev); - // override node's stream ops with the device's - stream.stream_ops = device.stream_ops; - // forward the open call - stream.stream_ops.open?.(stream); - }, - llseek() { - throw new FS.ErrnoError(70); - }, - }, - major:(dev) => ((dev) >> 8), - minor:(dev) => ((dev) & 0xff), - makedev:(ma, mi) => ((ma) << 8 | (mi)), - registerDevice(dev, ops) { - FS.devices[dev] = { stream_ops: ops }; - }, - getDevice:(dev) => FS.devices[dev], - getMounts(mount) { - var mounts = []; - var check = [mount]; - - while (check.length) { - var m = check.pop(); - - mounts.push(m); - - check.push(...m.mounts); - } - - return mounts; - }, - syncfs(populate, callback) { - if (typeof populate == 'function') { - callback = populate; - populate = false; - } - - FS.syncFSRequests++; - - if (FS.syncFSRequests > 1) { - err(`warning: ${FS.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`); - } - - var mounts = FS.getMounts(FS.root.mount); - var completed = 0; - - function doCallback(errCode) { - assert(FS.syncFSRequests > 0); - FS.syncFSRequests--; - return callback(errCode); - } - - function done(errCode) { - if (errCode) { - if (!done.errored) { - done.errored = true; - return doCallback(errCode); - } - return; - } - if (++completed >= mounts.length) { - doCallback(null); - } - }; - - // sync all mounts - mounts.forEach((mount) => { - if (!mount.type.syncfs) { - return done(null); - } - mount.type.syncfs(mount, populate, done); - }); - }, - mount(type, opts, mountpoint) { - if (typeof type == 'string') { - // The filesystem was not included, and instead we have an error - // message stored in the variable. - throw type; - } - var root = mountpoint === '/'; - var pseudo = !mountpoint; - var node; - - if (root && FS.root) { - throw new FS.ErrnoError(10); - } else if (!root && !pseudo) { - var lookup = FS.lookupPath(mountpoint, { follow_mount: false }); - - mountpoint = lookup.path; // use the absolute path - node = lookup.node; - - if (FS.isMountpoint(node)) { - throw new FS.ErrnoError(10); - } - - if (!FS.isDir(node.mode)) { - throw new FS.ErrnoError(54); - } - } - - var mount = { - type, - opts, - mountpoint, - mounts: [] - }; - - // create a root node for the fs - var mountRoot = type.mount(mount); - mountRoot.mount = mount; - mount.root = mountRoot; - - if (root) { - FS.root = mountRoot; - } else if (node) { - // set as a mountpoint - node.mounted = mount; - - // add the new mount to the current mount's children - if (node.mount) { - node.mount.mounts.push(mount); - } - } - - return mountRoot; - }, - unmount(mountpoint) { - var lookup = FS.lookupPath(mountpoint, { follow_mount: false }); - - if (!FS.isMountpoint(lookup.node)) { - throw new FS.ErrnoError(28); - } - - // destroy the nodes for this mount, and all its child mounts - var node = lookup.node; - var mount = node.mounted; - var mounts = FS.getMounts(mount); - - Object.keys(FS.nameTable).forEach((hash) => { - var current = FS.nameTable[hash]; - - while (current) { - var next = current.name_next; - - if (mounts.includes(current.mount)) { - FS.destroyNode(current); - } - - current = next; - } - }); - - // no longer a mountpoint - node.mounted = null; - - // remove this mount from the child mounts - var idx = node.mount.mounts.indexOf(mount); - assert(idx !== -1); - node.mount.mounts.splice(idx, 1); - }, - lookup(parent, name) { - return parent.node_ops.lookup(parent, name); - }, - mknod(path, mode, dev) { - var lookup = FS.lookupPath(path, { parent: true }); - var parent = lookup.node; - var name = PATH.basename(path); - if (!name) { - throw new FS.ErrnoError(28); - } - if (name === '.' || name === '..') { - throw new FS.ErrnoError(20); - } - var errCode = FS.mayCreate(parent, name); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - if (!parent.node_ops.mknod) { - throw new FS.ErrnoError(63); - } - return parent.node_ops.mknod(parent, name, mode, dev); - }, - statfs(path) { - return FS.statfsNode(FS.lookupPath(path, {follow: true}).node); - }, - statfsStream(stream) { - // We keep a separate statfsStream function because noderawfs overrides - // it. In noderawfs, stream.node is sometimes null. Instead, we need to - // look at stream.path. - return FS.statfsNode(stream.node); - }, - statfsNode(node) { - // NOTE: None of the defaults here are true. We're just returning safe and - // sane values. Currently nodefs and rawfs replace these defaults, - // other file systems leave them alone. - var rtn = { - bsize: 4096, - frsize: 4096, - blocks: 1e6, - bfree: 5e5, - bavail: 5e5, - files: FS.nextInode, - ffree: FS.nextInode - 1, - fsid: 42, - flags: 2, - namelen: 255, - }; - - if (node.node_ops.statfs) { - Object.assign(rtn, node.node_ops.statfs(node.mount.opts.root)); - } - return rtn; - }, - create(path, mode = 0o666) { - mode &= 4095; - mode |= 32768; - return FS.mknod(path, mode, 0); - }, - mkdir(path, mode = 0o777) { - mode &= 511 | 512; - mode |= 16384; - return FS.mknod(path, mode, 0); - }, - mkdirTree(path, mode) { - var dirs = path.split('/'); - var d = ''; - for (var dir of dirs) { - if (!dir) continue; - if (d || PATH.isAbs(path)) d += '/'; - d += dir; - try { - FS.mkdir(d, mode); - } catch(e) { - if (e.errno != 20) throw e; - } - } - }, - mkdev(path, mode, dev) { - if (typeof dev == 'undefined') { - dev = mode; - mode = 0o666; - } - mode |= 8192; - return FS.mknod(path, mode, dev); - }, - symlink(oldpath, newpath) { - if (!PATH_FS.resolve(oldpath)) { - throw new FS.ErrnoError(44); - } - var lookup = FS.lookupPath(newpath, { parent: true }); - var parent = lookup.node; - if (!parent) { - throw new FS.ErrnoError(44); - } - var newname = PATH.basename(newpath); - var errCode = FS.mayCreate(parent, newname); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - if (!parent.node_ops.symlink) { - throw new FS.ErrnoError(63); - } - return parent.node_ops.symlink(parent, newname, oldpath); - }, - rename(old_path, new_path) { - var old_dirname = PATH.dirname(old_path); - var new_dirname = PATH.dirname(new_path); - var old_name = PATH.basename(old_path); - var new_name = PATH.basename(new_path); - // parents must exist - var lookup, old_dir, new_dir; - - // let the errors from non existent directories percolate up - lookup = FS.lookupPath(old_path, { parent: true }); - old_dir = lookup.node; - lookup = FS.lookupPath(new_path, { parent: true }); - new_dir = lookup.node; - - if (!old_dir || !new_dir) throw new FS.ErrnoError(44); - // need to be part of the same mount - if (old_dir.mount !== new_dir.mount) { - throw new FS.ErrnoError(75); - } - // source must exist - var old_node = FS.lookupNode(old_dir, old_name); - // old path should not be an ancestor of the new path - var relative = PATH_FS.relative(old_path, new_dirname); - if (relative.charAt(0) !== '.') { - throw new FS.ErrnoError(28); - } - // new path should not be an ancestor of the old path - relative = PATH_FS.relative(new_path, old_dirname); - if (relative.charAt(0) !== '.') { - throw new FS.ErrnoError(55); - } - // see if the new path already exists - var new_node; - try { - new_node = FS.lookupNode(new_dir, new_name); - } catch (e) { - // not fatal - } - // early out if nothing needs to change - if (old_node === new_node) { - return; - } - // we'll need to delete the old entry - var isdir = FS.isDir(old_node.mode); - var errCode = FS.mayDelete(old_dir, old_name, isdir); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - // need delete permissions if we'll be overwriting. - // need create permissions if new doesn't already exist. - errCode = new_node ? - FS.mayDelete(new_dir, new_name, isdir) : - FS.mayCreate(new_dir, new_name); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - if (!old_dir.node_ops.rename) { - throw new FS.ErrnoError(63); - } - if (FS.isMountpoint(old_node) || (new_node && FS.isMountpoint(new_node))) { - throw new FS.ErrnoError(10); - } - // if we are going to change the parent, check write permissions - if (new_dir !== old_dir) { - errCode = FS.nodePermissions(old_dir, 'w'); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - } - // remove the node from the lookup hash - FS.hashRemoveNode(old_node); - // do the underlying fs rename - try { - old_dir.node_ops.rename(old_node, new_dir, new_name); - // update old node (we do this here to avoid each backend - // needing to) - old_node.parent = new_dir; - } catch (e) { - throw e; - } finally { - // add the node back to the hash (in case node_ops.rename - // changed its name) - FS.hashAddNode(old_node); - } - }, - rmdir(path) { - var lookup = FS.lookupPath(path, { parent: true }); - var parent = lookup.node; - var name = PATH.basename(path); - var node = FS.lookupNode(parent, name); - var errCode = FS.mayDelete(parent, name, true); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - if (!parent.node_ops.rmdir) { - throw new FS.ErrnoError(63); - } - if (FS.isMountpoint(node)) { - throw new FS.ErrnoError(10); - } - parent.node_ops.rmdir(parent, name); - FS.destroyNode(node); - }, - readdir(path) { - var lookup = FS.lookupPath(path, { follow: true }); - var node = lookup.node; - var readdir = FS.checkOpExists(node.node_ops.readdir, 54); - return readdir(node); - }, - unlink(path) { - var lookup = FS.lookupPath(path, { parent: true }); - var parent = lookup.node; - if (!parent) { - throw new FS.ErrnoError(44); - } - var name = PATH.basename(path); - var node = FS.lookupNode(parent, name); - var errCode = FS.mayDelete(parent, name, false); - if (errCode) { - // According to POSIX, we should map EISDIR to EPERM, but - // we instead do what Linux does (and we must, as we use - // the musl linux libc). - throw new FS.ErrnoError(errCode); - } - if (!parent.node_ops.unlink) { - throw new FS.ErrnoError(63); - } - if (FS.isMountpoint(node)) { - throw new FS.ErrnoError(10); - } - parent.node_ops.unlink(parent, name); - FS.destroyNode(node); - }, - readlink(path) { - var lookup = FS.lookupPath(path); - var link = lookup.node; - if (!link) { - throw new FS.ErrnoError(44); - } - if (!link.node_ops.readlink) { - throw new FS.ErrnoError(28); - } - return link.node_ops.readlink(link); - }, - stat(path, dontFollow) { - var lookup = FS.lookupPath(path, { follow: !dontFollow }); - var node = lookup.node; - var getattr = FS.checkOpExists(node.node_ops.getattr, 63); - return getattr(node); - }, - fstat(fd) { - var stream = FS.getStreamChecked(fd); - var node = stream.node; - var getattr = stream.stream_ops.getattr; - var arg = getattr ? stream : node; - getattr ??= node.node_ops.getattr; - FS.checkOpExists(getattr, 63) - return getattr(arg); - }, - lstat(path) { - return FS.stat(path, true); - }, - doChmod(stream, node, mode, dontFollow) { - FS.doSetAttr(stream, node, { - mode: (mode & 4095) | (node.mode & ~4095), - ctime: Date.now(), - dontFollow - }); - }, - chmod(path, mode, dontFollow) { - var node; - if (typeof path == 'string') { - var lookup = FS.lookupPath(path, { follow: !dontFollow }); - node = lookup.node; - } else { - node = path; - } - FS.doChmod(null, node, mode, dontFollow); - }, - lchmod(path, mode) { - FS.chmod(path, mode, true); - }, - fchmod(fd, mode) { - var stream = FS.getStreamChecked(fd); - FS.doChmod(stream, stream.node, mode, false); - }, - doChown(stream, node, dontFollow) { - FS.doSetAttr(stream, node, { - timestamp: Date.now(), - dontFollow - // we ignore the uid / gid for now - }); - }, - chown(path, uid, gid, dontFollow) { - var node; - if (typeof path == 'string') { - var lookup = FS.lookupPath(path, { follow: !dontFollow }); - node = lookup.node; - } else { - node = path; - } - FS.doChown(null, node, dontFollow); - }, - lchown(path, uid, gid) { - FS.chown(path, uid, gid, true); - }, - fchown(fd, uid, gid) { - var stream = FS.getStreamChecked(fd); - FS.doChown(stream, stream.node, false); - }, - doTruncate(stream, node, len) { - if (FS.isDir(node.mode)) { - throw new FS.ErrnoError(31); - } - if (!FS.isFile(node.mode)) { - throw new FS.ErrnoError(28); - } - var errCode = FS.nodePermissions(node, 'w'); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - FS.doSetAttr(stream, node, { - size: len, - timestamp: Date.now() - }); - }, - truncate(path, len) { - if (len < 0) { - throw new FS.ErrnoError(28); - } - var node; - if (typeof path == 'string') { - var lookup = FS.lookupPath(path, { follow: true }); - node = lookup.node; - } else { - node = path; - } - FS.doTruncate(null, node, len); - }, - ftruncate(fd, len) { - var stream = FS.getStreamChecked(fd); - if (len < 0 || (stream.flags & 2097155) === 0) { - throw new FS.ErrnoError(28); - } - FS.doTruncate(stream, stream.node, len); - }, - utime(path, atime, mtime) { - var lookup = FS.lookupPath(path, { follow: true }); - var node = lookup.node; - var setattr = FS.checkOpExists(node.node_ops.setattr, 63); - setattr(node, { - atime: atime, - mtime: mtime - }); - }, - open(path, flags, mode = 0o666) { - if (path === "") { - throw new FS.ErrnoError(44); - } - flags = typeof flags == 'string' ? FS_modeStringToFlags(flags) : flags; - if ((flags & 64)) { - mode = (mode & 4095) | 32768; - } else { - mode = 0; - } - var node; - var isDirPath; - if (typeof path == 'object') { - node = path; - } else { - isDirPath = path.endsWith("/"); - // noent_okay makes it so that if the final component of the path - // doesn't exist, lookupPath returns `node: undefined`. `path` will be - // updated to point to the target of all symlinks. - var lookup = FS.lookupPath(path, { - follow: !(flags & 131072), - noent_okay: true - }); - node = lookup.node; - path = lookup.path; - } - // perhaps we need to create the node - var created = false; - if ((flags & 64)) { - if (node) { - // if O_CREAT and O_EXCL are set, error out if the node already exists - if ((flags & 128)) { - throw new FS.ErrnoError(20); - } - } else if (isDirPath) { - throw new FS.ErrnoError(31); - } else { - // node doesn't exist, try to create it - // Ignore the permission bits here to ensure we can `open` this new - // file below. We use chmod below the apply the permissions once the - // file is open. - node = FS.mknod(path, mode | 0o777, 0); - created = true; - } - } - if (!node) { - throw new FS.ErrnoError(44); - } - // can't truncate a device - if (FS.isChrdev(node.mode)) { - flags &= ~512; - } - // if asked only for a directory, then this must be one - if ((flags & 65536) && !FS.isDir(node.mode)) { - throw new FS.ErrnoError(54); - } - // check permissions, if this is not a file we just created now (it is ok to - // create and write to a file with read-only permissions; it is read-only - // for later use) - if (!created) { - var errCode = FS.mayOpen(node, flags); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - } - // do truncation if necessary - if ((flags & 512) && !created) { - FS.truncate(node, 0); - } - // we've already handled these, don't pass down to the underlying vfs - flags &= ~(128 | 512 | 131072); - - // register the stream with the filesystem - var stream = FS.createStream({ - node, - path: FS.getPath(node), // we want the absolute path to the node - flags, - seekable: true, - position: 0, - stream_ops: node.stream_ops, - // used by the file family libc calls (fopen, fwrite, ferror, etc.) - ungotten: [], - error: false - }); - // call the new stream's open function - if (stream.stream_ops.open) { - stream.stream_ops.open(stream); - } - if (created) { - FS.chmod(node, mode & 0o777); - } - if (Module['logReadFiles'] && !(flags & 1)) { - if (!(path in FS.readFiles)) { - FS.readFiles[path] = 1; - } - } - return stream; - }, - close(stream) { - if (FS.isClosed(stream)) { - throw new FS.ErrnoError(8); - } - if (stream.getdents) stream.getdents = null; // free readdir state - try { - if (stream.stream_ops.close) { - stream.stream_ops.close(stream); - } - } catch (e) { - throw e; - } finally { - FS.closeStream(stream.fd); - } - stream.fd = null; - }, - isClosed(stream) { - return stream.fd === null; - }, - llseek(stream, offset, whence) { - if (FS.isClosed(stream)) { - throw new FS.ErrnoError(8); - } - if (!stream.seekable || !stream.stream_ops.llseek) { - throw new FS.ErrnoError(70); - } - if (whence != 0 && whence != 1 && whence != 2) { - throw new FS.ErrnoError(28); - } - stream.position = stream.stream_ops.llseek(stream, offset, whence); - stream.ungotten = []; - return stream.position; - }, - read(stream, buffer, offset, length, position) { - assert(offset >= 0); - if (length < 0 || position < 0) { - throw new FS.ErrnoError(28); - } - if (FS.isClosed(stream)) { - throw new FS.ErrnoError(8); - } - if ((stream.flags & 2097155) === 1) { - throw new FS.ErrnoError(8); - } - if (FS.isDir(stream.node.mode)) { - throw new FS.ErrnoError(31); - } - if (!stream.stream_ops.read) { - throw new FS.ErrnoError(28); - } - var seeking = typeof position != 'undefined'; - if (!seeking) { - position = stream.position; - } else if (!stream.seekable) { - throw new FS.ErrnoError(70); - } - var bytesRead = stream.stream_ops.read(stream, buffer, offset, length, position); - if (!seeking) stream.position += bytesRead; - return bytesRead; - }, - write(stream, buffer, offset, length, position, canOwn) { - assert(offset >= 0); - if (length < 0 || position < 0) { - throw new FS.ErrnoError(28); - } - if (FS.isClosed(stream)) { - throw new FS.ErrnoError(8); - } - if ((stream.flags & 2097155) === 0) { - throw new FS.ErrnoError(8); - } - if (FS.isDir(stream.node.mode)) { - throw new FS.ErrnoError(31); - } - if (!stream.stream_ops.write) { - throw new FS.ErrnoError(28); - } - if (stream.seekable && stream.flags & 1024) { - // seek to the end before writing in append mode - FS.llseek(stream, 0, 2); - } - var seeking = typeof position != 'undefined'; - if (!seeking) { - position = stream.position; - } else if (!stream.seekable) { - throw new FS.ErrnoError(70); - } - var bytesWritten = stream.stream_ops.write(stream, buffer, offset, length, position, canOwn); - if (!seeking) stream.position += bytesWritten; - return bytesWritten; - }, - mmap(stream, length, position, prot, flags) { - // User requests writing to file (prot & PROT_WRITE != 0). - // Checking if we have permissions to write to the file unless - // MAP_PRIVATE flag is set. According to POSIX spec it is possible - // to write to file opened in read-only mode with MAP_PRIVATE flag, - // as all modifications will be visible only in the memory of - // the current process. - if ((prot & 2) !== 0 - && (flags & 2) === 0 - && (stream.flags & 2097155) !== 2) { - throw new FS.ErrnoError(2); - } - if ((stream.flags & 2097155) === 1) { - throw new FS.ErrnoError(2); - } - if (!stream.stream_ops.mmap) { - throw new FS.ErrnoError(43); - } - if (!length) { - throw new FS.ErrnoError(28); - } - return stream.stream_ops.mmap(stream, length, position, prot, flags); - }, - msync(stream, buffer, offset, length, mmapFlags) { - assert(offset >= 0); - if (!stream.stream_ops.msync) { - return 0; - } - return stream.stream_ops.msync(stream, buffer, offset, length, mmapFlags); - }, - ioctl(stream, cmd, arg) { - if (!stream.stream_ops.ioctl) { - throw new FS.ErrnoError(59); - } - return stream.stream_ops.ioctl(stream, cmd, arg); - }, - readFile(path, opts = {}) { - opts.flags = opts.flags || 0; - opts.encoding = opts.encoding || 'binary'; - if (opts.encoding !== 'utf8' && opts.encoding !== 'binary') { - throw new Error(`Invalid encoding type "${opts.encoding}"`); - } - var ret; - var stream = FS.open(path, opts.flags); - var stat = FS.stat(path); - var length = stat.size; - var buf = new Uint8Array(length); - FS.read(stream, buf, 0, length, 0); - if (opts.encoding === 'utf8') { - ret = UTF8ArrayToString(buf); - } else if (opts.encoding === 'binary') { - ret = buf; - } - FS.close(stream); - return ret; - }, - writeFile(path, data, opts = {}) { - opts.flags = opts.flags || 577; - var stream = FS.open(path, opts.flags, opts.mode); - if (typeof data == 'string') { - var buf = new Uint8Array(lengthBytesUTF8(data)+1); - var actualNumBytes = stringToUTF8Array(data, buf, 0, buf.length); - FS.write(stream, buf, 0, actualNumBytes, undefined, opts.canOwn); - } else if (ArrayBuffer.isView(data)) { - FS.write(stream, data, 0, data.byteLength, undefined, opts.canOwn); - } else { - throw new Error('Unsupported data type'); - } - FS.close(stream); - }, - cwd:() => FS.currentPath, - chdir(path) { - var lookup = FS.lookupPath(path, { follow: true }); - if (lookup.node === null) { - throw new FS.ErrnoError(44); - } - if (!FS.isDir(lookup.node.mode)) { - throw new FS.ErrnoError(54); - } - var errCode = FS.nodePermissions(lookup.node, 'x'); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - FS.currentPath = lookup.path; - }, - createDefaultDirectories() { - FS.mkdir('/tmp'); - FS.mkdir('/home'); - FS.mkdir('/home/web_user'); - }, - createDefaultDevices() { - // create /dev - FS.mkdir('/dev'); - // setup /dev/null - FS.registerDevice(FS.makedev(1, 3), { - read: () => 0, - write: (stream, buffer, offset, length, pos) => length, - llseek: () => 0, - }); - FS.mkdev('/dev/null', FS.makedev(1, 3)); - // setup /dev/tty and /dev/tty1 - // stderr needs to print output using err() rather than out() - // so we register a second tty just for it. - TTY.register(FS.makedev(5, 0), TTY.default_tty_ops); - TTY.register(FS.makedev(6, 0), TTY.default_tty1_ops); - FS.mkdev('/dev/tty', FS.makedev(5, 0)); - FS.mkdev('/dev/tty1', FS.makedev(6, 0)); - // setup /dev/[u]random - // use a buffer to avoid overhead of individual crypto calls per byte - var randomBuffer = new Uint8Array(1024), randomLeft = 0; - var randomByte = () => { - if (randomLeft === 0) { - randomFill(randomBuffer); - randomLeft = randomBuffer.byteLength; - } - return randomBuffer[--randomLeft]; - }; - FS.createDevice('/dev', 'random', randomByte); - FS.createDevice('/dev', 'urandom', randomByte); - // we're not going to emulate the actual shm device, - // just create the tmp dirs that reside in it commonly - FS.mkdir('/dev/shm'); - FS.mkdir('/dev/shm/tmp'); - }, - createSpecialDirectories() { - // create /proc/self/fd which allows /proc/self/fd/6 => readlink gives the - // name of the stream for fd 6 (see test_unistd_ttyname) - FS.mkdir('/proc'); - var proc_self = FS.mkdir('/proc/self'); - FS.mkdir('/proc/self/fd'); - FS.mount({ - mount() { - var node = FS.createNode(proc_self, 'fd', 16895, 73); - node.stream_ops = { - llseek: MEMFS.stream_ops.llseek, - }; - node.node_ops = { - lookup(parent, name) { - var fd = +name; - var stream = FS.getStreamChecked(fd); - var ret = { - parent: null, - mount: { mountpoint: 'fake' }, - node_ops: { readlink: () => stream.path }, - id: fd + 1, - }; - ret.parent = ret; // make it look like a simple root node - return ret; - }, - readdir() { - return Array.from(FS.streams.entries()) - .filter(([k, v]) => v) - .map(([k, v]) => k.toString()); - } - }; - return node; - } - }, {}, '/proc/self/fd'); - }, - createStandardStreams(input, output, error) { - // TODO deprecate the old functionality of a single - // input / output callback and that utilizes FS.createDevice - // and instead require a unique set of stream ops - - // by default, we symlink the standard streams to the - // default tty devices. however, if the standard streams - // have been overwritten we create a unique device for - // them instead. - if (input) { - FS.createDevice('/dev', 'stdin', input); - } else { - FS.symlink('/dev/tty', '/dev/stdin'); - } - if (output) { - FS.createDevice('/dev', 'stdout', null, output); - } else { - FS.symlink('/dev/tty', '/dev/stdout'); - } - if (error) { - FS.createDevice('/dev', 'stderr', null, error); - } else { - FS.symlink('/dev/tty1', '/dev/stderr'); - } - - // open default streams for the stdin, stdout and stderr devices - var stdin = FS.open('/dev/stdin', 0); - var stdout = FS.open('/dev/stdout', 1); - var stderr = FS.open('/dev/stderr', 1); - assert(stdin.fd === 0, `invalid handle for stdin (${stdin.fd})`); - assert(stdout.fd === 1, `invalid handle for stdout (${stdout.fd})`); - assert(stderr.fd === 2, `invalid handle for stderr (${stderr.fd})`); - }, - staticInit() { - FS.nameTable = new Array(4096); - - FS.mount(MEMFS, {}, '/'); - - FS.createDefaultDirectories(); - FS.createDefaultDevices(); - FS.createSpecialDirectories(); - - FS.filesystems = { - 'MEMFS': MEMFS, - }; - }, - init(input, output, error) { - assert(!FS.initialized, 'FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)'); - FS.initialized = true; - - // Allow Module.stdin etc. to provide defaults, if none explicitly passed to us here - input ??= Module['stdin']; - output ??= Module['stdout']; - error ??= Module['stderr']; - - FS.createStandardStreams(input, output, error); - }, - quit() { - FS.initialized = false; - // force-flush all streams, so we get musl std streams printed out - _fflush(0); - // close all of our streams - for (var stream of FS.streams) { - if (stream) { - FS.close(stream); - } - } - }, - findObject(path, dontResolveLastLink) { - var ret = FS.analyzePath(path, dontResolveLastLink); - if (!ret.exists) { - return null; - } - return ret.object; - }, - analyzePath(path, dontResolveLastLink) { - // operate from within the context of the symlink's target - try { - var lookup = FS.lookupPath(path, { follow: !dontResolveLastLink }); - path = lookup.path; - } catch (e) { - } - var ret = { - isRoot: false, exists: false, error: 0, name: null, path: null, object: null, - parentExists: false, parentPath: null, parentObject: null - }; - try { - var lookup = FS.lookupPath(path, { parent: true }); - ret.parentExists = true; - ret.parentPath = lookup.path; - ret.parentObject = lookup.node; - ret.name = PATH.basename(path); - lookup = FS.lookupPath(path, { follow: !dontResolveLastLink }); - ret.exists = true; - ret.path = lookup.path; - ret.object = lookup.node; - ret.name = lookup.node.name; - ret.isRoot = lookup.path === '/'; - } catch (e) { - ret.error = e.errno; - }; - return ret; - }, - createPath(parent, path, canRead, canWrite) { - parent = typeof parent == 'string' ? parent : FS.getPath(parent); - var parts = path.split('/').reverse(); - while (parts.length) { - var part = parts.pop(); - if (!part) continue; - var current = PATH.join2(parent, part); - try { - FS.mkdir(current); - } catch (e) { - if (e.errno != 20) throw e; - } - parent = current; - } - return current; - }, - createFile(parent, name, properties, canRead, canWrite) { - var path = PATH.join2(typeof parent == 'string' ? parent : FS.getPath(parent), name); - var mode = FS_getMode(canRead, canWrite); - return FS.create(path, mode); - }, - createDataFile(parent, name, data, canRead, canWrite, canOwn) { - var path = name; - if (parent) { - parent = typeof parent == 'string' ? parent : FS.getPath(parent); - path = name ? PATH.join2(parent, name) : parent; - } - var mode = FS_getMode(canRead, canWrite); - var node = FS.create(path, mode); - if (data) { - if (typeof data == 'string') { - var arr = new Array(data.length); - for (var i = 0, len = data.length; i < len; ++i) arr[i] = data.charCodeAt(i); - data = arr; - } - // make sure we can write to the file - FS.chmod(node, mode | 146); - var stream = FS.open(node, 577); - FS.write(stream, data, 0, data.length, 0, canOwn); - FS.close(stream); - FS.chmod(node, mode); - } - }, - createDevice(parent, name, input, output) { - var path = PATH.join2(typeof parent == 'string' ? parent : FS.getPath(parent), name); - var mode = FS_getMode(!!input, !!output); - FS.createDevice.major ??= 64; - var dev = FS.makedev(FS.createDevice.major++, 0); - // Create a fake device that a set of stream ops to emulate - // the old behavior. - FS.registerDevice(dev, { - open(stream) { - stream.seekable = false; - }, - close(stream) { - // flush any pending line data - if (output?.buffer?.length) { - output(10); - } - }, - read(stream, buffer, offset, length, pos /* ignored */) { - var bytesRead = 0; - for (var i = 0; i < length; i++) { - var result; - try { - result = input(); - } catch (e) { - throw new FS.ErrnoError(29); - } - if (result === undefined && bytesRead === 0) { - throw new FS.ErrnoError(6); - } - if (result === null || result === undefined) break; - bytesRead++; - buffer[offset+i] = result; - } - if (bytesRead) { - stream.node.atime = Date.now(); - } - return bytesRead; - }, - write(stream, buffer, offset, length, pos) { - for (var i = 0; i < length; i++) { - try { - output(buffer[offset+i]); - } catch (e) { - throw new FS.ErrnoError(29); - } - } - if (length) { - stream.node.mtime = stream.node.ctime = Date.now(); - } - return i; - } - }); - return FS.mkdev(path, mode, dev); - }, - forceLoadFile(obj) { - if (obj.isDevice || obj.isFolder || obj.link || obj.contents) return true; - if (typeof XMLHttpRequest != 'undefined') { - throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread."); - } else { // Command-line. - try { - obj.contents = readBinary(obj.url); - obj.usedBytes = obj.contents.length; - } catch (e) { - throw new FS.ErrnoError(29); - } - } - }, - createLazyFile(parent, name, url, canRead, canWrite) { - // Lazy chunked Uint8Array (implements get and length from Uint8Array). - // Actual getting is abstracted away for eventual reuse. - class LazyUint8Array { - lengthKnown = false; - chunks = []; // Loaded chunks. Index is the chunk number - get(idx) { - if (idx > this.length-1 || idx < 0) { - return undefined; - } - var chunkOffset = idx % this.chunkSize; - var chunkNum = (idx / this.chunkSize)|0; - return this.getter(chunkNum)[chunkOffset]; - } - setDataGetter(getter) { - this.getter = getter; - } - cacheLength() { - // Find length - var xhr = new XMLHttpRequest(); - xhr.open('HEAD', url, false); - xhr.send(null); - if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error("Couldn't load " + url + ". Status: " + xhr.status); - var datalength = Number(xhr.getResponseHeader("Content-length")); - var header; - var hasByteServing = (header = xhr.getResponseHeader("Accept-Ranges")) && header === "bytes"; - var usesGzip = (header = xhr.getResponseHeader("Content-Encoding")) && header === "gzip"; - - var chunkSize = 1024*1024; // Chunk size in bytes - - if (!hasByteServing) chunkSize = datalength; - - // Function to get a range from the remote URL. - var doXHR = (from, to) => { - if (from > to) throw new Error("invalid range (" + from + ", " + to + ") or no bytes requested!"); - if (to > datalength-1) throw new Error("only " + datalength + " bytes available! programmer error!"); - - // TODO: Use mozResponseArrayBuffer, responseStream, etc. if available. - var xhr = new XMLHttpRequest(); - xhr.open('GET', url, false); - if (datalength !== chunkSize) xhr.setRequestHeader("Range", "bytes=" + from + "-" + to); - - // Some hints to the browser that we want binary data. - xhr.responseType = 'arraybuffer'; - if (xhr.overrideMimeType) { - xhr.overrideMimeType('text/plain; charset=x-user-defined'); - } - - xhr.send(null); - if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error("Couldn't load " + url + ". Status: " + xhr.status); - if (xhr.response !== undefined) { - return new Uint8Array(/** @type{Array} */(xhr.response || [])); - } - return intArrayFromString(xhr.responseText || '', true); - }; - var lazyArray = this; - lazyArray.setDataGetter((chunkNum) => { - var start = chunkNum * chunkSize; - var end = (chunkNum+1) * chunkSize - 1; // including this byte - end = Math.min(end, datalength-1); // if datalength-1 is selected, this is the last block - if (typeof lazyArray.chunks[chunkNum] == 'undefined') { - lazyArray.chunks[chunkNum] = doXHR(start, end); - } - if (typeof lazyArray.chunks[chunkNum] == 'undefined') throw new Error('doXHR failed!'); - return lazyArray.chunks[chunkNum]; - }); - - if (usesGzip || !datalength) { - // if the server uses gzip or doesn't supply the length, we have to download the whole file to get the (uncompressed) length - chunkSize = datalength = 1; // this will force getter(0)/doXHR do download the whole file - datalength = this.getter(0).length; - chunkSize = datalength; - out("LazyFiles on gzip forces download of the whole file when length is accessed"); - } - - this._length = datalength; - this._chunkSize = chunkSize; - this.lengthKnown = true; - } - get length() { - if (!this.lengthKnown) { - this.cacheLength(); - } - return this._length; - } - get chunkSize() { - if (!this.lengthKnown) { - this.cacheLength(); - } - return this._chunkSize; - } - } - - if (typeof XMLHttpRequest != 'undefined') { - if (!ENVIRONMENT_IS_WORKER) throw 'Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc'; - var lazyArray = new LazyUint8Array(); - var properties = { isDevice: false, contents: lazyArray }; - } else { - var properties = { isDevice: false, url: url }; - } - - var node = FS.createFile(parent, name, properties, canRead, canWrite); - // This is a total hack, but I want to get this lazy file code out of the - // core of MEMFS. If we want to keep this lazy file concept I feel it should - // be its own thin LAZYFS proxying calls to MEMFS. - if (properties.contents) { - node.contents = properties.contents; - } else if (properties.url) { - node.contents = null; - node.url = properties.url; - } - // Add a function that defers querying the file size until it is asked the first time. - Object.defineProperties(node, { - usedBytes: { - get: function() { return this.contents.length; } - } - }); - // override each stream op with one that tries to force load the lazy file first - var stream_ops = {}; - var keys = Object.keys(node.stream_ops); - keys.forEach((key) => { - var fn = node.stream_ops[key]; - stream_ops[key] = (...args) => { - FS.forceLoadFile(node); - return fn(...args); - }; - }); - function writeChunks(stream, buffer, offset, length, position) { - var contents = stream.node.contents; - if (position >= contents.length) - return 0; - var size = Math.min(contents.length - position, length); - assert(size >= 0); - if (contents.slice) { // normal array - for (var i = 0; i < size; i++) { - buffer[offset + i] = contents[position + i]; - } - } else { - for (var i = 0; i < size; i++) { // LazyUint8Array from sync binary XHR - buffer[offset + i] = contents.get(position + i); - } - } - return size; - } - // use a custom read function - stream_ops.read = (stream, buffer, offset, length, position) => { - FS.forceLoadFile(node); - return writeChunks(stream, buffer, offset, length, position) - }; - // use a custom mmap function - stream_ops.mmap = (stream, length, position, prot, flags) => { - FS.forceLoadFile(node); - var ptr = mmapAlloc(length); - if (!ptr) { - throw new FS.ErrnoError(48); - } - writeChunks(stream, HEAP8, ptr, length, position); - return { ptr, allocated: true }; - }; - node.stream_ops = stream_ops; - return node; - }, - absolutePath() { - abort('FS.absolutePath has been removed; use PATH_FS.resolve instead'); - }, - createFolder() { - abort('FS.createFolder has been removed; use FS.mkdir instead'); - }, - createLink() { - abort('FS.createLink has been removed; use FS.symlink instead'); - }, - joinPath() { - abort('FS.joinPath has been removed; use PATH.join instead'); - }, - mmapAlloc() { - abort('FS.mmapAlloc has been replaced by the top level function mmapAlloc'); - }, - standardizePath() { - abort('FS.standardizePath has been removed; use PATH.normalize instead'); - }, - }; - - var SYSCALLS = { - DEFAULT_POLLMASK:5, - calculateAt(dirfd, path, allowEmpty) { - if (PATH.isAbs(path)) { - return path; - } - // relative path - var dir; - if (dirfd === -100) { - dir = FS.cwd(); - } else { - var dirstream = SYSCALLS.getStreamFromFD(dirfd); - dir = dirstream.path; - } - if (path.length == 0) { - if (!allowEmpty) { - throw new FS.ErrnoError(44);; - } - return dir; - } - return dir + '/' + path; - }, - writeStat(buf, stat) { - HEAP32[((buf)>>2)] = stat.dev; - HEAP32[(((buf)+(4))>>2)] = stat.mode; - HEAPU32[(((buf)+(8))>>2)] = stat.nlink; - HEAP32[(((buf)+(12))>>2)] = stat.uid; - HEAP32[(((buf)+(16))>>2)] = stat.gid; - HEAP32[(((buf)+(20))>>2)] = stat.rdev; - HEAP64[(((buf)+(24))>>3)] = BigInt(stat.size); - HEAP32[(((buf)+(32))>>2)] = 4096; - HEAP32[(((buf)+(36))>>2)] = stat.blocks; - var atime = stat.atime.getTime(); - var mtime = stat.mtime.getTime(); - var ctime = stat.ctime.getTime(); - HEAP64[(((buf)+(40))>>3)] = BigInt(Math.floor(atime / 1000)); - HEAPU32[(((buf)+(48))>>2)] = (atime % 1000) * 1000 * 1000; - HEAP64[(((buf)+(56))>>3)] = BigInt(Math.floor(mtime / 1000)); - HEAPU32[(((buf)+(64))>>2)] = (mtime % 1000) * 1000 * 1000; - HEAP64[(((buf)+(72))>>3)] = BigInt(Math.floor(ctime / 1000)); - HEAPU32[(((buf)+(80))>>2)] = (ctime % 1000) * 1000 * 1000; - HEAP64[(((buf)+(88))>>3)] = BigInt(stat.ino); - return 0; - }, - writeStatFs(buf, stats) { - HEAP32[(((buf)+(4))>>2)] = stats.bsize; - HEAP32[(((buf)+(40))>>2)] = stats.bsize; - HEAP32[(((buf)+(8))>>2)] = stats.blocks; - HEAP32[(((buf)+(12))>>2)] = stats.bfree; - HEAP32[(((buf)+(16))>>2)] = stats.bavail; - HEAP32[(((buf)+(20))>>2)] = stats.files; - HEAP32[(((buf)+(24))>>2)] = stats.ffree; - HEAP32[(((buf)+(28))>>2)] = stats.fsid; - HEAP32[(((buf)+(44))>>2)] = stats.flags; // ST_NOSUID - HEAP32[(((buf)+(36))>>2)] = stats.namelen; - }, - doMsync(addr, stream, len, flags, offset) { - if (!FS.isFile(stream.node.mode)) { - throw new FS.ErrnoError(43); - } - if (flags & 2) { - // MAP_PRIVATE calls need not to be synced back to underlying fs - return 0; - } - var buffer = HEAPU8.slice(addr, addr + len); - FS.msync(stream, buffer, offset, len, flags); - }, - getStreamFromFD(fd) { - var stream = FS.getStreamChecked(fd); - return stream; - }, - varargs:undefined, - getStr(ptr) { - var ret = UTF8ToString(ptr); - return ret; - }, - }; - function ___syscall_chmod(path, mode) { - try { - - path = SYSCALLS.getStr(path); - FS.chmod(path, mode); - return 0; - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return -e.errno; - } - } - - function ___syscall_dup(fd) { - try { - - var old = SYSCALLS.getStreamFromFD(fd); - return FS.dupStream(old).fd; - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return -e.errno; - } - } - - function ___syscall_fchmod(fd, mode) { - try { - - FS.fchmod(fd, mode); - return 0; - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return -e.errno; - } - } - - /** @suppress {duplicate } */ - var syscallGetVarargI = () => { - assert(SYSCALLS.varargs != undefined); - // the `+` prepended here is necessary to convince the JSCompiler that varargs is indeed a number. - var ret = HEAP32[((+SYSCALLS.varargs)>>2)]; - SYSCALLS.varargs += 4; - return ret; - }; - var syscallGetVarargP = syscallGetVarargI; - - - function ___syscall_fcntl64(fd, cmd, varargs) { - SYSCALLS.varargs = varargs; - try { - - var stream = SYSCALLS.getStreamFromFD(fd); - switch (cmd) { - case 0: { - var arg = syscallGetVarargI(); - if (arg < 0) { - return -28; - } - while (FS.streams[arg]) { - arg++; - } - var newStream; - newStream = FS.dupStream(stream, arg); - return newStream.fd; - } - case 1: - case 2: - return 0; // FD_CLOEXEC makes no sense for a single process. - case 3: - return stream.flags; - case 4: { - var arg = syscallGetVarargI(); - stream.flags |= arg; - return 0; - } - case 12: { - var arg = syscallGetVarargP(); - var offset = 0; - // We're always unlocked. - HEAP16[(((arg)+(offset))>>1)] = 2; - return 0; - } - case 13: - case 14: - // Pretend that the locking is successful. These are process-level locks, - // and Emscripten programs are a single process. If we supported linking a - // filesystem between programs, we'd need to do more here. - // See https://github.com/emscripten-core/emscripten/issues/23697 - return 0; - } - return -28; - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return -e.errno; - } - } - - function ___syscall_fstat64(fd, buf) { - try { - - return SYSCALLS.writeStat(buf, FS.fstat(fd)); - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return -e.errno; - } - } - - - function ___syscall_ioctl(fd, op, varargs) { - SYSCALLS.varargs = varargs; - try { - - var stream = SYSCALLS.getStreamFromFD(fd); - switch (op) { - case 21509: { - if (!stream.tty) return -59; - return 0; - } - case 21505: { - if (!stream.tty) return -59; - if (stream.tty.ops.ioctl_tcgets) { - var termios = stream.tty.ops.ioctl_tcgets(stream); - var argp = syscallGetVarargP(); - HEAP32[((argp)>>2)] = termios.c_iflag || 0; - HEAP32[(((argp)+(4))>>2)] = termios.c_oflag || 0; - HEAP32[(((argp)+(8))>>2)] = termios.c_cflag || 0; - HEAP32[(((argp)+(12))>>2)] = termios.c_lflag || 0; - for (var i = 0; i < 32; i++) { - HEAP8[(argp + i)+(17)] = termios.c_cc[i] || 0; - } - return 0; - } - return 0; - } - case 21510: - case 21511: - case 21512: { - if (!stream.tty) return -59; - return 0; // no-op, not actually adjusting terminal settings - } - case 21506: - case 21507: - case 21508: { - if (!stream.tty) return -59; - if (stream.tty.ops.ioctl_tcsets) { - var argp = syscallGetVarargP(); - var c_iflag = HEAP32[((argp)>>2)]; - var c_oflag = HEAP32[(((argp)+(4))>>2)]; - var c_cflag = HEAP32[(((argp)+(8))>>2)]; - var c_lflag = HEAP32[(((argp)+(12))>>2)]; - var c_cc = [] - for (var i = 0; i < 32; i++) { - c_cc.push(HEAP8[(argp + i)+(17)]); - } - return stream.tty.ops.ioctl_tcsets(stream.tty, op, { c_iflag, c_oflag, c_cflag, c_lflag, c_cc }); - } - return 0; // no-op, not actually adjusting terminal settings - } - case 21519: { - if (!stream.tty) return -59; - var argp = syscallGetVarargP(); - HEAP32[((argp)>>2)] = 0; - return 0; - } - case 21520: { - if (!stream.tty) return -59; - return -28; // not supported - } - case 21531: { - var argp = syscallGetVarargP(); - return FS.ioctl(stream, op, argp); - } - case 21523: { - // TODO: in theory we should write to the winsize struct that gets - // passed in, but for now musl doesn't read anything on it - if (!stream.tty) return -59; - if (stream.tty.ops.ioctl_tiocgwinsz) { - var winsize = stream.tty.ops.ioctl_tiocgwinsz(stream.tty); - var argp = syscallGetVarargP(); - HEAP16[((argp)>>1)] = winsize[0]; - HEAP16[(((argp)+(2))>>1)] = winsize[1]; - } - return 0; - } - case 21524: { - // TODO: technically, this ioctl call should change the window size. - // but, since emscripten doesn't have any concept of a terminal window - // yet, we'll just silently throw it away as we do TIOCGWINSZ - if (!stream.tty) return -59; - return 0; - } - case 21515: { - if (!stream.tty) return -59; - return 0; - } - default: return -28; // not supported - } - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return -e.errno; - } - } - - function ___syscall_lstat64(path, buf) { - try { - - path = SYSCALLS.getStr(path); - return SYSCALLS.writeStat(buf, FS.lstat(path)); - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return -e.errno; - } - } - - function ___syscall_newfstatat(dirfd, path, buf, flags) { - try { - - path = SYSCALLS.getStr(path); - var nofollow = flags & 256; - var allowEmpty = flags & 4096; - flags = flags & (~6400); - assert(!flags, `unknown flags in __syscall_newfstatat: ${flags}`); - path = SYSCALLS.calculateAt(dirfd, path, allowEmpty); - return SYSCALLS.writeStat(buf, nofollow ? FS.lstat(path) : FS.stat(path)); - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return -e.errno; - } - } - - - function ___syscall_openat(dirfd, path, flags, varargs) { - SYSCALLS.varargs = varargs; - try { - - path = SYSCALLS.getStr(path); - path = SYSCALLS.calculateAt(dirfd, path); - var mode = varargs ? syscallGetVarargI() : 0; - return FS.open(path, flags, mode).fd; - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return -e.errno; - } - } - - function ___syscall_renameat(olddirfd, oldpath, newdirfd, newpath) { - try { - - oldpath = SYSCALLS.getStr(oldpath); - newpath = SYSCALLS.getStr(newpath); - oldpath = SYSCALLS.calculateAt(olddirfd, oldpath); - newpath = SYSCALLS.calculateAt(newdirfd, newpath); - FS.rename(oldpath, newpath); - return 0; - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return -e.errno; - } - } - - function ___syscall_rmdir(path) { - try { - - path = SYSCALLS.getStr(path); - FS.rmdir(path); - return 0; - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return -e.errno; - } - } - - function ___syscall_stat64(path, buf) { - try { - - path = SYSCALLS.getStr(path); - return SYSCALLS.writeStat(buf, FS.stat(path)); - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return -e.errno; - } - } - - function ___syscall_unlinkat(dirfd, path, flags) { - try { - - path = SYSCALLS.getStr(path); - path = SYSCALLS.calculateAt(dirfd, path); - if (flags === 0) { - FS.unlink(path); - } else if (flags === 512) { - FS.rmdir(path); - } else { - abort('Invalid flags passed to unlinkat'); - } - return 0; - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return -e.errno; - } - } - - var __abort_js = () => - abort('native code called abort()'); - - var isLeapYear = (year) => year%4 === 0 && (year%100 !== 0 || year%400 === 0); - - var MONTH_DAYS_LEAP_CUMULATIVE = [0,31,60,91,121,152,182,213,244,274,305,335]; - - var MONTH_DAYS_REGULAR_CUMULATIVE = [0,31,59,90,120,151,181,212,243,273,304,334]; - var ydayFromDate = (date) => { - var leap = isLeapYear(date.getFullYear()); - var monthDaysCumulative = (leap ? MONTH_DAYS_LEAP_CUMULATIVE : MONTH_DAYS_REGULAR_CUMULATIVE); - var yday = monthDaysCumulative[date.getMonth()] + date.getDate() - 1; // -1 since it's days since Jan 1 - - return yday; - }; - - var INT53_MAX = 9007199254740992; - - var INT53_MIN = -9007199254740992; - var bigintToI53Checked = (num) => (num < INT53_MIN || num > INT53_MAX) ? NaN : Number(num); - function __localtime_js(time, tmPtr) { - time = bigintToI53Checked(time); - - - var date = new Date(time*1000); - HEAP32[((tmPtr)>>2)] = date.getSeconds(); - HEAP32[(((tmPtr)+(4))>>2)] = date.getMinutes(); - HEAP32[(((tmPtr)+(8))>>2)] = date.getHours(); - HEAP32[(((tmPtr)+(12))>>2)] = date.getDate(); - HEAP32[(((tmPtr)+(16))>>2)] = date.getMonth(); - HEAP32[(((tmPtr)+(20))>>2)] = date.getFullYear()-1900; - HEAP32[(((tmPtr)+(24))>>2)] = date.getDay(); - - var yday = ydayFromDate(date)|0; - HEAP32[(((tmPtr)+(28))>>2)] = yday; - HEAP32[(((tmPtr)+(36))>>2)] = -(date.getTimezoneOffset() * 60); - - // Attention: DST is in December in South, and some regions don't have DST at all. - var start = new Date(date.getFullYear(), 0, 1); - var summerOffset = new Date(date.getFullYear(), 6, 1).getTimezoneOffset(); - var winterOffset = start.getTimezoneOffset(); - var dst = (summerOffset != winterOffset && date.getTimezoneOffset() == Math.min(winterOffset, summerOffset))|0; - HEAP32[(((tmPtr)+(32))>>2)] = dst; - ; - } - - - var __mktime_js = function(tmPtr) { - - var ret = (() => { - var date = new Date(HEAP32[(((tmPtr)+(20))>>2)] + 1900, - HEAP32[(((tmPtr)+(16))>>2)], - HEAP32[(((tmPtr)+(12))>>2)], - HEAP32[(((tmPtr)+(8))>>2)], - HEAP32[(((tmPtr)+(4))>>2)], - HEAP32[((tmPtr)>>2)], - 0); - - // There's an ambiguous hour when the time goes back; the tm_isdst field is - // used to disambiguate it. Date() basically guesses, so we fix it up if it - // guessed wrong, or fill in tm_isdst with the guess if it's -1. - var dst = HEAP32[(((tmPtr)+(32))>>2)]; - var guessedOffset = date.getTimezoneOffset(); - var start = new Date(date.getFullYear(), 0, 1); - var summerOffset = new Date(date.getFullYear(), 6, 1).getTimezoneOffset(); - var winterOffset = start.getTimezoneOffset(); - var dstOffset = Math.min(winterOffset, summerOffset); // DST is in December in South - if (dst < 0) { - // Attention: some regions don't have DST at all. - HEAP32[(((tmPtr)+(32))>>2)] = Number(summerOffset != winterOffset && dstOffset == guessedOffset); - } else if ((dst > 0) != (dstOffset == guessedOffset)) { - var nonDstOffset = Math.max(winterOffset, summerOffset); - var trueOffset = dst > 0 ? dstOffset : nonDstOffset; - // Don't try setMinutes(date.getMinutes() + ...) -- it's messed up. - date.setTime(date.getTime() + (trueOffset - guessedOffset)*60000); - } - - HEAP32[(((tmPtr)+(24))>>2)] = date.getDay(); - var yday = ydayFromDate(date)|0; - HEAP32[(((tmPtr)+(28))>>2)] = yday; - // To match expected behavior, update fields from date - HEAP32[((tmPtr)>>2)] = date.getSeconds(); - HEAP32[(((tmPtr)+(4))>>2)] = date.getMinutes(); - HEAP32[(((tmPtr)+(8))>>2)] = date.getHours(); - HEAP32[(((tmPtr)+(12))>>2)] = date.getDate(); - HEAP32[(((tmPtr)+(16))>>2)] = date.getMonth(); - HEAP32[(((tmPtr)+(20))>>2)] = date.getYear(); - - var timeMs = date.getTime(); - if (isNaN(timeMs)) { - return -1; - } - // Return time in microseconds - return timeMs / 1000; - })(); - return BigInt(ret); - }; - - var stringToUTF8 = (str, outPtr, maxBytesToWrite) => { - assert(typeof maxBytesToWrite == 'number', 'stringToUTF8(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!'); - return stringToUTF8Array(str, HEAPU8, outPtr, maxBytesToWrite); - }; - - var __tzset_js = (timezone, daylight, std_name, dst_name) => { - // TODO: Use (malleable) environment variables instead of system settings. - var currentYear = new Date().getFullYear(); - var winter = new Date(currentYear, 0, 1); - var summer = new Date(currentYear, 6, 1); - var winterOffset = winter.getTimezoneOffset(); - var summerOffset = summer.getTimezoneOffset(); - - // Local standard timezone offset. Local standard time is not adjusted for - // daylight savings. This code uses the fact that getTimezoneOffset returns - // a greater value during Standard Time versus Daylight Saving Time (DST). - // Thus it determines the expected output during Standard Time, and it - // compares whether the output of the given date the same (Standard) or less - // (DST). - var stdTimezoneOffset = Math.max(winterOffset, summerOffset); - - // timezone is specified as seconds west of UTC ("The external variable - // `timezone` shall be set to the difference, in seconds, between - // Coordinated Universal Time (UTC) and local standard time."), the same - // as returned by stdTimezoneOffset. - // See http://pubs.opengroup.org/onlinepubs/009695399/functions/tzset.html - HEAPU32[((timezone)>>2)] = stdTimezoneOffset * 60; - - HEAP32[((daylight)>>2)] = Number(winterOffset != summerOffset); - - var extractZone = (timezoneOffset) => { - // Why inverse sign? - // Read here https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getTimezoneOffset - var sign = timezoneOffset >= 0 ? "-" : "+"; - - var absOffset = Math.abs(timezoneOffset) - var hours = String(Math.floor(absOffset / 60)).padStart(2, "0"); - var minutes = String(absOffset % 60).padStart(2, "0"); - - return `UTC${sign}${hours}${minutes}`; - } - - var winterName = extractZone(winterOffset); - var summerName = extractZone(summerOffset); - assert(winterName); - assert(summerName); - assert(lengthBytesUTF8(winterName) <= 16, `timezone name truncated to fit in TZNAME_MAX (${winterName})`); - assert(lengthBytesUTF8(summerName) <= 16, `timezone name truncated to fit in TZNAME_MAX (${summerName})`); - if (summerOffset < winterOffset) { - // Northern hemisphere - stringToUTF8(winterName, std_name, 17); - stringToUTF8(summerName, dst_name, 17); - } else { - stringToUTF8(winterName, dst_name, 17); - stringToUTF8(summerName, std_name, 17); - } - }; - - var _emscripten_date_now = () => Date.now(); - - var abortOnCannotGrowMemory = (requestedSize) => { - abort(`Cannot enlarge memory arrays to size ${requestedSize} bytes (OOM). Either (1) compile with -sINITIAL_MEMORY=X with X higher than the current value ${HEAP8.length}, (2) compile with -sALLOW_MEMORY_GROWTH which allows increasing the size at runtime, or (3) if you want malloc to return NULL (0) instead of this abort, compile with -sABORTING_MALLOC=0`); - }; - var _emscripten_resize_heap = (requestedSize) => { - var oldSize = HEAPU8.length; - // With CAN_ADDRESS_2GB or MEMORY64, pointers are already unsigned. - requestedSize >>>= 0; - abortOnCannotGrowMemory(requestedSize); - }; - - - var runtimeKeepaliveCounter = 0; - var keepRuntimeAlive = () => noExitRuntime || runtimeKeepaliveCounter > 0; - var _proc_exit = (code) => { - EXITSTATUS = code; - if (!keepRuntimeAlive()) { - Module['onExit']?.(code); - ABORT = true; - } - quit_(code, new ExitStatus(code)); - }; - - - /** @suppress {duplicate } */ - /** @param {boolean|number=} implicit */ - var exitJS = (status, implicit) => { - EXITSTATUS = status; - - checkUnflushedContent(); - - // if exit() was called explicitly, warn the user if the runtime isn't actually being shut down - if (keepRuntimeAlive() && !implicit) { - var msg = `program exited (with status: ${status}), but keepRuntimeAlive() is set (counter=${runtimeKeepaliveCounter}) due to an async operation, so halting execution but not exiting the runtime or preventing further async execution (you can use emscripten_force_exit, if you want to force a true shutdown)`; - err(msg); - } - - _proc_exit(status); - }; - var _exit = exitJS; - - function _fd_close(fd) { - try { - - var stream = SYSCALLS.getStreamFromFD(fd); - FS.close(stream); - return 0; - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return e.errno; - } - } - - function _fd_fdstat_get(fd, pbuf) { - try { - - var rightsBase = 0; - var rightsInheriting = 0; - var flags = 0; - { - var stream = SYSCALLS.getStreamFromFD(fd); - // All character devices are terminals (other things a Linux system would - // assume is a character device, like the mouse, we have special APIs for). - var type = stream.tty ? 2 : - FS.isDir(stream.mode) ? 3 : - FS.isLink(stream.mode) ? 7 : - 4; - } - HEAP8[pbuf] = type; - HEAP16[(((pbuf)+(2))>>1)] = flags; - HEAP64[(((pbuf)+(8))>>3)] = BigInt(rightsBase); - HEAP64[(((pbuf)+(16))>>3)] = BigInt(rightsInheriting); - return 0; - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return e.errno; - } - } - - /** @param {number=} offset */ - var doReadv = (stream, iov, iovcnt, offset) => { - var ret = 0; - for (var i = 0; i < iovcnt; i++) { - var ptr = HEAPU32[((iov)>>2)]; - var len = HEAPU32[(((iov)+(4))>>2)]; - iov += 8; - var curr = FS.read(stream, HEAP8, ptr, len, offset); - if (curr < 0) return -1; - ret += curr; - if (curr < len) break; // nothing more to read - if (typeof offset != 'undefined') { - offset += curr; - } - } - return ret; - }; - - function _fd_read(fd, iov, iovcnt, pnum) { - try { - - var stream = SYSCALLS.getStreamFromFD(fd); - var num = doReadv(stream, iov, iovcnt); - HEAPU32[((pnum)>>2)] = num; - return 0; - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return e.errno; - } - } - - - function _fd_seek(fd, offset, whence, newOffset) { - offset = bigintToI53Checked(offset); - - - try { - - if (isNaN(offset)) return 61; - var stream = SYSCALLS.getStreamFromFD(fd); - FS.llseek(stream, offset, whence); - HEAP64[((newOffset)>>3)] = BigInt(stream.position); - if (stream.getdents && offset === 0 && whence === 0) stream.getdents = null; // reset readdir state - return 0; - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return e.errno; - } - ; - } - - /** @param {number=} offset */ - var doWritev = (stream, iov, iovcnt, offset) => { - var ret = 0; - for (var i = 0; i < iovcnt; i++) { - var ptr = HEAPU32[((iov)>>2)]; - var len = HEAPU32[(((iov)+(4))>>2)]; - iov += 8; - var curr = FS.write(stream, HEAP8, ptr, len, offset); - if (curr < 0) return -1; - ret += curr; - if (curr < len) { - // No more space to write. - break; - } - if (typeof offset != 'undefined') { - offset += curr; - } - } - return ret; - }; - - function _fd_write(fd, iov, iovcnt, pnum) { - try { - - var stream = SYSCALLS.getStreamFromFD(fd); - var num = doWritev(stream, iov, iovcnt); - HEAPU32[((pnum)>>2)] = num; - return 0; - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return e.errno; - } - } - - - var handleException = (e) => { - // Certain exception types we do not treat as errors since they are used for - // internal control flow. - // 1. ExitStatus, which is thrown by exit() - // 2. "unwind", which is thrown by emscripten_unwind_to_js_event_loop() and others - // that wish to return to JS event loop. - if (e instanceof ExitStatus || e == 'unwind') { - return EXITSTATUS; - } - checkStackCookie(); - if (e instanceof WebAssembly.RuntimeError) { - if (_emscripten_stack_get_current() <= 0) { - err('Stack overflow detected. You can try increasing -sSTACK_SIZE (currently set to 65536)'); - } - } - quit_(1, e); - }; - - - - var stackAlloc = (sz) => __emscripten_stack_alloc(sz); - var stringToUTF8OnStack = (str) => { - var size = lengthBytesUTF8(str) + 1; - var ret = stackAlloc(size); - stringToUTF8(str, ret, size); - return ret; - }; - - FS.createPreloadedFile = FS_createPreloadedFile; - FS.staticInit(); - // Set module methods based on EXPORTED_RUNTIME_METHODS - ; -// End JS library code - -function checkIncomingModuleAPI() { - ignoredModuleProp('fetchSettings'); -} -var wasmImports = { - /** @export */ - __syscall_chmod: ___syscall_chmod, - /** @export */ - __syscall_dup: ___syscall_dup, - /** @export */ - __syscall_fchmod: ___syscall_fchmod, - /** @export */ - __syscall_fcntl64: ___syscall_fcntl64, - /** @export */ - __syscall_fstat64: ___syscall_fstat64, - /** @export */ - __syscall_ioctl: ___syscall_ioctl, - /** @export */ - __syscall_lstat64: ___syscall_lstat64, - /** @export */ - __syscall_newfstatat: ___syscall_newfstatat, - /** @export */ - __syscall_openat: ___syscall_openat, - /** @export */ - __syscall_renameat: ___syscall_renameat, - /** @export */ - __syscall_rmdir: ___syscall_rmdir, - /** @export */ - __syscall_stat64: ___syscall_stat64, - /** @export */ - __syscall_unlinkat: ___syscall_unlinkat, - /** @export */ - _abort_js: __abort_js, - /** @export */ - _localtime_js: __localtime_js, - /** @export */ - _mktime_js: __mktime_js, - /** @export */ - _tzset_js: __tzset_js, - /** @export */ - emscripten_date_now: _emscripten_date_now, - /** @export */ - emscripten_resize_heap: _emscripten_resize_heap, - /** @export */ - exit: _exit, - /** @export */ - fd_close: _fd_close, - /** @export */ - fd_fdstat_get: _fd_fdstat_get, - /** @export */ - fd_read: _fd_read, - /** @export */ - fd_seek: _fd_seek, - /** @export */ - fd_write: _fd_write -}; -var wasmExports; -createWasm(); -var ___wasm_call_ctors = createExportWrapper('__wasm_call_ctors', 0); -var _main = Module['_main'] = createExportWrapper('__main_argc_argv', 2); -var _strerror = createExportWrapper('strerror', 1); -var _fflush = createExportWrapper('fflush', 1); -var _emscripten_stack_init = () => (_emscripten_stack_init = wasmExports['emscripten_stack_init'])(); -var _emscripten_stack_get_free = () => (_emscripten_stack_get_free = wasmExports['emscripten_stack_get_free'])(); -var _emscripten_stack_get_base = () => (_emscripten_stack_get_base = wasmExports['emscripten_stack_get_base'])(); -var _emscripten_stack_get_end = () => (_emscripten_stack_get_end = wasmExports['emscripten_stack_get_end'])(); -var __emscripten_stack_restore = (a0) => (__emscripten_stack_restore = wasmExports['_emscripten_stack_restore'])(a0); -var __emscripten_stack_alloc = (a0) => (__emscripten_stack_alloc = wasmExports['_emscripten_stack_alloc'])(a0); -var _emscripten_stack_get_current = () => (_emscripten_stack_get_current = wasmExports['emscripten_stack_get_current'])(); - - -// include: postamble.js -// === Auto-generated postamble setup entry stuff === - -var missingLibrarySymbols = [ - 'writeI53ToI64', - 'writeI53ToI64Clamped', - 'writeI53ToI64Signaling', - 'writeI53ToU64Clamped', - 'writeI53ToU64Signaling', - 'readI53FromI64', - 'readI53FromU64', - 'convertI32PairToI53', - 'convertI32PairToI53Checked', - 'convertU32PairToI53', - 'getTempRet0', - 'setTempRet0', - 'zeroMemory', - 'getHeapMax', - 'growMemory', - 'inetPton4', - 'inetNtop4', - 'inetPton6', - 'inetNtop6', - 'readSockaddr', - 'writeSockaddr', - 'emscriptenLog', - 'readEmAsmArgs', - 'jstoi_q', - 'getExecutableName', - 'listenOnce', - 'autoResumeAudioContext', - 'getDynCaller', - 'dynCall', - 'runtimeKeepalivePush', - 'runtimeKeepalivePop', - 'callUserCallback', - 'maybeExit', - 'asmjsMangle', - 'alignMemory', - 'HandleAllocator', - 'getNativeTypeSize', - 'addOnInit', - 'addOnPostCtor', - 'addOnPreMain', - 'addOnExit', - 'STACK_SIZE', - 'STACK_ALIGN', - 'POINTER_SIZE', - 'ASSERTIONS', - 'getCFunc', - 'ccall', - 'cwrap', - 'uleb128Encode', - 'sigToWasmTypes', - 'generateFuncType', - 'convertJsFunctionToWasm', - 'getEmptyTableSlot', - 'updateTableMap', - 'getFunctionAddress', - 'addFunction', - 'removeFunction', - 'reallyNegative', - 'unSign', - 'strLen', - 'reSign', - 'formatString', - 'intArrayToString', - 'AsciiToString', - 'stringToAscii', - 'UTF16ToString', - 'stringToUTF16', - 'lengthBytesUTF16', - 'UTF32ToString', - 'stringToUTF32', - 'lengthBytesUTF32', - 'stringToNewUTF8', - 'writeArrayToMemory', - 'registerKeyEventCallback', - 'maybeCStringToJsString', - 'findEventTarget', - 'getBoundingClientRect', - 'fillMouseEventData', - 'registerMouseEventCallback', - 'registerWheelEventCallback', - 'registerUiEventCallback', - 'registerFocusEventCallback', - 'fillDeviceOrientationEventData', - 'registerDeviceOrientationEventCallback', - 'fillDeviceMotionEventData', - 'registerDeviceMotionEventCallback', - 'screenOrientation', - 'fillOrientationChangeEventData', - 'registerOrientationChangeEventCallback', - 'fillFullscreenChangeEventData', - 'registerFullscreenChangeEventCallback', - 'JSEvents_requestFullscreen', - 'JSEvents_resizeCanvasForFullscreen', - 'registerRestoreOldStyle', - 'hideEverythingExceptGivenElement', - 'restoreHiddenElements', - 'setLetterbox', - 'softFullscreenResizeWebGLRenderTarget', - 'doRequestFullscreen', - 'fillPointerlockChangeEventData', - 'registerPointerlockChangeEventCallback', - 'registerPointerlockErrorEventCallback', - 'requestPointerLock', - 'fillVisibilityChangeEventData', - 'registerVisibilityChangeEventCallback', - 'registerTouchEventCallback', - 'fillGamepadEventData', - 'registerGamepadEventCallback', - 'registerBeforeUnloadEventCallback', - 'fillBatteryEventData', - 'battery', - 'registerBatteryEventCallback', - 'setCanvasElementSize', - 'getCanvasElementSize', - 'jsStackTrace', - 'getCallstack', - 'convertPCtoSourceLocation', - 'getEnvStrings', - 'checkWasiClock', - 'wasiRightsToMuslOFlags', - 'wasiOFlagsToMuslOFlags', - 'safeSetTimeout', - 'setImmediateWrapped', - 'safeRequestAnimationFrame', - 'clearImmediateWrapped', - 'registerPostMainLoop', - 'registerPreMainLoop', - 'getPromise', - 'makePromise', - 'idsToPromises', - 'makePromiseCallback', - 'ExceptionInfo', - 'findMatchingCatch', - 'Browser_asyncPrepareDataCounter', - 'arraySum', - 'addDays', - 'getSocketFromFD', - 'getSocketAddress', - 'FS_unlink', - 'FS_mkdirTree', - '_setNetworkCallback', - 'heapObjectForWebGLType', - 'toTypedArrayIndex', - 'webgl_enable_ANGLE_instanced_arrays', - 'webgl_enable_OES_vertex_array_object', - 'webgl_enable_WEBGL_draw_buffers', - 'webgl_enable_WEBGL_multi_draw', - 'webgl_enable_EXT_polygon_offset_clamp', - 'webgl_enable_EXT_clip_control', - 'webgl_enable_WEBGL_polygon_mode', - 'emscriptenWebGLGet', - 'computeUnpackAlignedImageSize', - 'colorChannelsInGlTextureFormat', - 'emscriptenWebGLGetTexPixelData', - 'emscriptenWebGLGetUniform', - 'webglGetUniformLocation', - 'webglPrepareUniformLocationsBeforeFirstUse', - 'webglGetLeftBracePos', - 'emscriptenWebGLGetVertexAttrib', - '__glGetActiveAttribOrUniform', - 'writeGLArray', - 'registerWebGlEventCallback', - 'runAndAbortIfError', - 'ALLOC_NORMAL', - 'ALLOC_STACK', - 'allocate', - 'writeStringToMemory', - 'writeAsciiToMemory', - 'demangle', - 'stackTrace', -]; -missingLibrarySymbols.forEach(missingLibrarySymbol) - -var unexportedSymbols = [ - 'run', - 'addRunDependency', - 'removeRunDependency', - 'out', - 'err', - 'callMain', - 'abort', - 'wasmMemory', - 'wasmExports', - 'writeStackCookie', - 'checkStackCookie', - 'INT53_MAX', - 'INT53_MIN', - 'bigintToI53Checked', - 'stackSave', - 'stackRestore', - 'stackAlloc', - 'ptrToString', - 'exitJS', - 'abortOnCannotGrowMemory', - 'ENV', - 'ERRNO_CODES', - 'strError', - 'DNS', - 'Protocols', - 'Sockets', - 'timers', - 'warnOnce', - 'readEmAsmArgsArray', - 'jstoi_s', - 'handleException', - 'keepRuntimeAlive', - 'asyncLoad', - 'mmapAlloc', - 'wasmTable', - 'noExitRuntime', - 'addOnPreRun', - 'addOnPostRun', - 'freeTableIndexes', - 'functionsInTableMap', - 'setValue', - 'getValue', - 'PATH', - 'PATH_FS', - 'UTF8Decoder', - 'UTF8ArrayToString', - 'UTF8ToString', - 'stringToUTF8Array', - 'stringToUTF8', - 'lengthBytesUTF8', - 'intArrayFromString', - 'UTF16Decoder', - 'stringToUTF8OnStack', - 'JSEvents', - 'specialHTMLTargets', - 'findCanvasEventTarget', - 'currentFullscreenStrategy', - 'restoreOldWindowedStyle', - 'UNWIND_CACHE', - 'ExitStatus', - 'doReadv', - 'doWritev', - 'initRandomFill', - 'randomFill', - 'emSetImmediate', - 'emClearImmediate_deps', - 'emClearImmediate', - 'promiseMap', - 'uncaughtExceptionCount', - 'exceptionLast', - 'exceptionCaught', - 'Browser', - 'getPreloadedImageData__data', - 'wget', - 'MONTH_DAYS_REGULAR', - 'MONTH_DAYS_LEAP', - 'MONTH_DAYS_REGULAR_CUMULATIVE', - 'MONTH_DAYS_LEAP_CUMULATIVE', - 'isLeapYear', - 'ydayFromDate', - 'SYSCALLS', - 'preloadPlugins', - 'FS_createPreloadedFile', - 'FS_modeStringToFlags', - 'FS_getMode', - 'FS_stdin_getChar_buffer', - 'FS_stdin_getChar', - 'FS_createPath', - 'FS_createDevice', - 'FS_readFile', - 'FS', - 'FS_createDataFile', - 'FS_createLazyFile', - 'MEMFS', - 'TTY', - 'PIPEFS', - 'SOCKFS', - 'tempFixedLengthArray', - 'miniTempWebGLFloatBuffers', - 'miniTempWebGLIntBuffers', - 'GL', - 'AL', - 'GLUT', - 'EGL', - 'GLEW', - 'IDBStore', - 'SDL', - 'SDL_gfx', - 'allocateUTF8', - 'allocateUTF8OnStack', - 'print', - 'printErr', -]; -unexportedSymbols.forEach(unexportedRuntimeSymbol); - - - -var calledRun; - -function callMain(args = []) { - assert(runDependencies == 0, 'cannot call main when async dependencies remain! (listen on Module["onRuntimeInitialized"])'); - assert(typeof onPreRuns === 'undefined' || onPreRuns.length == 0, 'cannot call main when preRun functions remain to be called'); - - var entryFunction = _main; - - args.unshift(thisProgram); - - var argc = args.length; - var argv = stackAlloc((argc + 1) * 4); - var argv_ptr = argv; - args.forEach((arg) => { - HEAPU32[((argv_ptr)>>2)] = stringToUTF8OnStack(arg); - argv_ptr += 4; - }); - HEAPU32[((argv_ptr)>>2)] = 0; - - try { - - var ret = entryFunction(argc, argv); - - // if we're not running an evented main loop, it's time to exit - exitJS(ret, /* implicit = */ true); - return ret; - } catch (e) { - return handleException(e); - } -} - -function stackCheckInit() { - // This is normally called automatically during __wasm_call_ctors but need to - // get these values before even running any of the ctors so we call it redundantly - // here. - _emscripten_stack_init(); - // TODO(sbc): Move writeStackCookie to native to to avoid this. - writeStackCookie(); -} - -function run(args = arguments_) { - - if (runDependencies > 0) { - dependenciesFulfilled = run; - return; - } - - stackCheckInit(); - - preRun(); - - // a preRun added a dependency, run will be called later - if (runDependencies > 0) { - dependenciesFulfilled = run; - return; - } - - function doRun() { - // run may have just been called through dependencies being fulfilled just in this very frame, - // or while the async setStatus time below was happening - assert(!calledRun); - calledRun = true; - Module['calledRun'] = true; - - if (ABORT) return; - - initRuntime(); - - preMain(); - - Module['onRuntimeInitialized']?.(); - consumedModuleProp('onRuntimeInitialized'); - - var noInitialRun = Module['noInitialRun'];legacyModuleProp('noInitialRun', 'noInitialRun'); - if (!noInitialRun) callMain(args); - - postRun(); - } - - if (Module['setStatus']) { - Module['setStatus']('Running...'); - setTimeout(() => { - setTimeout(() => Module['setStatus'](''), 1); - doRun(); - }, 1); - } else - { - doRun(); - } - checkStackCookie(); -} - -function checkUnflushedContent() { - // Compiler settings do not allow exiting the runtime, so flushing - // the streams is not possible. but in ASSERTIONS mode we check - // if there was something to flush, and if so tell the user they - // should request that the runtime be exitable. - // Normally we would not even include flush() at all, but in ASSERTIONS - // builds we do so just for this check, and here we see if there is any - // content to flush, that is, we check if there would have been - // something a non-ASSERTIONS build would have not seen. - // How we flush the streams depends on whether we are in SYSCALLS_REQUIRE_FILESYSTEM=0 - // mode (which has its own special function for this; otherwise, all - // the code is inside libc) - var oldOut = out; - var oldErr = err; - var has = false; - out = err = (x) => { - has = true; - } - try { // it doesn't matter if it fails - _fflush(0); - // also flush in the JS FS layer - ['stdout', 'stderr'].forEach((name) => { - var info = FS.analyzePath('/dev/' + name); - if (!info) return; - var stream = info.object; - var rdev = stream.rdev; - var tty = TTY.ttys[rdev]; - if (tty?.output?.length) { - has = true; - } - }); - } catch(e) {} - out = oldOut; - err = oldErr; - if (has) { - warnOnce('stdio streams had content in them that was not flushed. you should set EXIT_RUNTIME to 1 (see the Emscripten FAQ), or make sure to emit a newline when you printf etc.'); - } -} - -if (Module['preInit']) { - if (typeof Module['preInit'] == 'function') Module['preInit'] = [Module['preInit']]; - while (Module['preInit'].length > 0) { - Module['preInit'].pop()(); - } -} -consumedModuleProp('preInit'); - -run(); - -// end include: postamble.js - diff --git a/thirdparty/libzip-1.11.3/build-emcmake/src/ziptool.wasm b/thirdparty/libzip-1.11.3/build-emcmake/src/ziptool.wasm deleted file mode 100755 index 0a2e8c40700c68f0d0a431cfb1db64f99f0d80ea..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 461566 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

    Fg3gEAGOR$>@B?v;W4D64nU;|GTJP`D?BtAVY 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 jy8dO!f$YiDmy=B#{+w)ocXNVTg=V3# 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 z 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 - -typedef int8_t zip_int8_t; -typedef uint8_t zip_uint8_t; -typedef int16_t zip_int16_t; -typedef uint16_t zip_uint16_t; -typedef int32_t zip_int32_t; -typedef uint32_t zip_uint32_t; -typedef int64_t zip_int64_t; -typedef uint64_t zip_uint64_t; - -#define ZIP_INT8_MIN (-ZIP_INT8_MAX-1) -#define ZIP_INT8_MAX 0x7f -#define ZIP_UINT8_MAX 0xff - -#define ZIP_INT16_MIN (-ZIP_INT16_MAX-1) -#define ZIP_INT16_MAX 0x7fff -#define ZIP_UINT16_MAX 0xffff - -#define ZIP_INT32_MIN (-ZIP_INT32_MAX-1L) -#define ZIP_INT32_MAX 0x7fffffffL -#define ZIP_UINT32_MAX 0xffffffffLU - -#define ZIP_INT64_MIN (-ZIP_INT64_MAX-1LL) -#define ZIP_INT64_MAX 0x7fffffffffffffffLL -#define ZIP_UINT64_MAX 0xffffffffffffffffULL - -#endif /* zipconf.h */ diff --git a/thirdparty/libzip-1.11.3/cmake/FindMbedTLS.cmake b/thirdparty/libzip-1.11.3/cmake/FindMbedTLS.cmake deleted file mode 100644 index 5a6ef9d..0000000 --- a/thirdparty/libzip-1.11.3/cmake/FindMbedTLS.cmake +++ /dev/null @@ -1,141 +0,0 @@ -# Copyright (C) 2020 Dieter Baron and Thomas Klausner -# -# The authors can be contacted at -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# -# 1. Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# -# 2. Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in -# the documentation and/or other materials provided with the -# distribution. -# -# 3. The names of the authors may not be used to endorse or promote -# products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -# OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -# GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -# IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -#[=======================================================================[.rst: -FindMbedTLS -------- - -Finds the Mbed TLS library. - -Imported Targets -^^^^^^^^^^^^^^^^ - -This module provides the following imported targets, if found: - -``MbedTLS::MbedTLS`` - The Mbed TLS library - -Result Variables -^^^^^^^^^^^^^^^^ - -This will define the following variables: - -``MbedTLS_FOUND`` - True if the system has the Mbed TLS library. -``MbedTLS_VERSION`` - The version of the Mbed TLS library which was found. -``MbedTLS_INCLUDE_DIRS`` - Include directories needed to use Mbed TLS. -``MbedTLS_LIBRARIES`` - Libraries needed to link to Mbed TLS. - -Cache Variables -^^^^^^^^^^^^^^^ - -The following cache variables may also be set: - -``MbedTLS_INCLUDE_DIR`` - The directory containing ``mbedtls/aes.h``. -``MbedTLS_LIBRARY`` - The path to the Mbed TLS library. - -#]=======================================================================] - -# I'm not aware of a pkg-config file for mbedtls as of 2020/07/08. -#find_package(PkgConfig) -#pkg_check_modules(PC_MbedTLS QUIET mbedtls) - -find_path(MbedTLS_INCLUDE_DIR - NAMES mbedtls/aes.h -# PATHS ${PC_MbedTLS_INCLUDE_DIRS} -) -find_library(MbedTLS_LIBRARY - NAMES mbedcrypto -# PATHS ${PC_MbedTLS_LIBRARY_DIRS} -) - -# Extract version information from the header file -if(MbedTLS_INCLUDE_DIR) - # for major version 3 - if(EXISTS ${MbedTLS_INCLUDE_DIR}/mbedtls/build_info.h) - file(STRINGS ${MbedTLS_INCLUDE_DIR}/mbedtls/build_info.h _ver_line - REGEX "^#define MBEDTLS_VERSION_STRING *\"[0-9]+\\.[0-9]+\\.[0-9]+\"" - LIMIT_COUNT 1) - string(REGEX MATCH "[0-9]+\\.[0-9]+\\.[0-9]+" - MbedTLS_VERSION "${_ver_line}") - unset(_ver_line) - # for major version 2 - elseif(EXISTS ${MbedTLS_INCLUDE_DIR}/mbedtls/version.h) - file(STRINGS ${MbedTLS_INCLUDE_DIR}/mbedtls/version.h _ver_line - REGEX "^#define MBEDTLS_VERSION_STRING *\"[0-9]+\\.[0-9]+\\.[0-9]+\"" - LIMIT_COUNT 1) - string(REGEX MATCH "[0-9]+\\.[0-9]+\\.[0-9]+" - MbedTLS_VERSION "${_ver_line}") - unset(_ver_line) - else() - if(PC_MbedTLS_VERSION) - set(MbedTLS_VERSION ${PC_MbedTLS_VERSION}) - else() - # version unknown - set(MbedTLS_VERSION "0.0") - endif() - endif() -endif() - -include(FindPackageHandleStandardArgs) -find_package_handle_standard_args(MbedTLS - FOUND_VAR MbedTLS_FOUND - REQUIRED_VARS - MbedTLS_LIBRARY - MbedTLS_INCLUDE_DIR - VERSION_VAR MbedTLS_VERSION -) - -if(MbedTLS_FOUND) - set(MbedTLS_LIBRARIES ${MbedTLS_LIBRARY}) - set(MbedTLS_INCLUDE_DIRS ${MbedTLS_INCLUDE_DIR}) -# set(MbedTLS_DEFINITIONS ${PC_MbedTLS_CFLAGS_OTHER}) -endif() - -if(MbedTLS_FOUND AND NOT TARGET MbedTLS::MbedTLS) - add_library(MbedTLS::MbedTLS UNKNOWN IMPORTED) - set_target_properties(MbedTLS::MbedTLS PROPERTIES - IMPORTED_LOCATION "${MbedTLS_LIBRARY}" -# INTERFACE_COMPILE_OPTIONS "${PC_MbedTLS_CFLAGS_OTHER}" - INTERFACE_INCLUDE_DIRECTORIES "${MbedTLS_INCLUDE_DIR}" - ) -endif() - -mark_as_advanced( - MbedTLS_INCLUDE_DIR - MbedTLS_LIBRARY - ) diff --git a/thirdparty/libzip-1.11.3/cmake/FindNettle.cmake b/thirdparty/libzip-1.11.3/cmake/FindNettle.cmake deleted file mode 100644 index 8f0deb0..0000000 --- a/thirdparty/libzip-1.11.3/cmake/FindNettle.cmake +++ /dev/null @@ -1,141 +0,0 @@ -# Copyright (C) 2020 Dieter Baron and Thomas Klausner -# -# The authors can be contacted at -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# -# 1. Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# -# 2. Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in -# the documentation and/or other materials provided with the -# distribution. -# -# 3. The names of the authors may not be used to endorse or promote -# products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -# OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -# GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -# IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -#[=======================================================================[.rst: -FindNettle -------- - -Finds the Nettle library. - -Imported Targets -^^^^^^^^^^^^^^^^ - -This module provides the following imported targets, if found: - -``Nettle::Nettle`` - The Nettle library - -Result Variables -^^^^^^^^^^^^^^^^ - -This will define the following variables: - -``Nettle_FOUND`` - True if the system has the Nettle library. -``Nettle_VERSION`` - The version of the Nettle library which was found. -``Nettle_INCLUDE_DIRS`` - Include directories needed to use Nettle. -``Nettle_LIBRARIES`` - Libraries needed to link to Nettle. - -Cache Variables -^^^^^^^^^^^^^^^ - -The following cache variables may also be set: - -``Nettle_INCLUDE_DIR`` - The directory containing ``nettle/aes.h``. -``Nettle_LIBRARY`` - The path to the Nettle library. - -#]=======================================================================] - -find_package(PkgConfig) -pkg_check_modules(PC_Nettle QUIET nettle) - -find_path(Nettle_INCLUDE_DIR - NAMES nettle/aes.h nettle/md5.h nettle/pbkdf2.h nettle/ripemd160.h nettle/sha.h - PATHS ${PC_Nettle_INCLUDE_DIRS} -) -find_library(Nettle_LIBRARY - NAMES nettle - PATHS ${PC_Nettle_LIBRARY_DIRS} -) - -# Extract version information from the header file -if(Nettle_INCLUDE_DIR) - # This file only exists in nettle>=3.0 - if(EXISTS ${Nettle_INCLUDE_DIR}/nettle/version.h) - file(STRINGS ${Nettle_INCLUDE_DIR}/nettle/version.h _ver_major_line - REGEX "^#define NETTLE_VERSION_MAJOR *[0-9]+" - LIMIT_COUNT 1) - string(REGEX MATCH "[0-9]+" - Nettle_MAJOR_VERSION "${_ver_major_line}") - file(STRINGS ${Nettle_INCLUDE_DIR}/nettle/version.h _ver_minor_line - REGEX "^#define NETTLE_VERSION_MINOR *[0-9]+" - LIMIT_COUNT 1) - string(REGEX MATCH "[0-9]+" - Nettle_MINOR_VERSION "${_ver_minor_line}") - set(Nettle_VERSION "${Nettle_MAJOR_VERSION}.${Nettle_MINOR_VERSION}") - unset(_ver_major_line) - unset(_ver_minor_line) - else() - if(PC_Nettle_VERSION) - set(Nettle_VERSION ${PC_Nettle_VERSION}) - else() - set(Nettle_VERSION "1.0") - endif() - endif() -endif() - -include(FindPackageHandleStandardArgs) -find_package_handle_standard_args(Nettle - FOUND_VAR Nettle_FOUND - REQUIRED_VARS - Nettle_LIBRARY - Nettle_INCLUDE_DIR - VERSION_VAR Nettle_VERSION -) - -if(Nettle_FOUND) - set(Nettle_LIBRARIES ${Nettle_LIBRARY}) - set(Nettle_INCLUDE_DIRS ${Nettle_INCLUDE_DIR}) - set(Nettle_DEFINITIONS ${PC_Nettle_CFLAGS_OTHER}) -endif() - -if(Nettle_FOUND AND NOT TARGET Nettle::Nettle) - add_library(Nettle::Nettle UNKNOWN IMPORTED) - set_target_properties(Nettle::Nettle PROPERTIES - IMPORTED_LOCATION "${Nettle_LIBRARY}" - INTERFACE_COMPILE_OPTIONS "${PC_Nettle_CFLAGS_OTHER}" - INTERFACE_INCLUDE_DIRECTORIES "${Nettle_INCLUDE_DIR}" - ) -endif() - -mark_as_advanced( - Nettle_INCLUDE_DIR - Nettle_LIBRARY -) - -# compatibility variables -set(Nettle_VERSION_STRING ${Nettle_VERSION}) diff --git a/thirdparty/libzip-1.11.3/cmake/Findzstd.cmake b/thirdparty/libzip-1.11.3/cmake/Findzstd.cmake deleted file mode 100644 index b389c6b..0000000 --- a/thirdparty/libzip-1.11.3/cmake/Findzstd.cmake +++ /dev/null @@ -1,186 +0,0 @@ -# Copyright (C) 2020 Dieter Baron and Thomas Klausner -# -# The authors can be contacted at -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# -# 1. Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# -# 2. Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in -# the documentation and/or other materials provided with the -# distribution. -# -# 3. The names of the authors may not be used to endorse or promote -# products derived from this software without specific prior -# written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS -# OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY -# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE -# GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER -# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -# IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -#[=======================================================================[.rst: -Findzstd -------- - -Finds the Zstandard (zstd) library. - -Imported Targets -^^^^^^^^^^^^^^^^ - -This module provides the following imported targets, if found: - -``zstd::libzstd_shared`` - The shared Zstandard library -``zstd::libzstd_static`` - The shared Zstandard library - -Result Variables -^^^^^^^^^^^^^^^^ - -This will define the following variables: - -``zstd_FOUND`` - True if the system has the Zstandard library. -``zstd_VERSION`` - The version of the Zstandard library which was found. - -Cache Variables -^^^^^^^^^^^^^^^ - -The following cache variables may also be set: - -``zstd_INCLUDE_DIR`` - The directory containing ``zstd.h``. -``zstd_STATIC_LIBRARY`` - The path to the Zstandard static library. -``zstd_SHARED_LIBRARY`` - The path to the Zstandard shared library. -``zstd_DLL`` - The path to the Zstandard DLL. - -#]=======================================================================] - -find_package(PkgConfig) -pkg_check_modules(PC_zstd QUIET libzstd) - -find_path(zstd_INCLUDE_DIR - NAMES zstd.h - HINTS ${PC_zstd_INCLUDE_DIRS} -) - -find_file(zstd_DLL - NAMES libzstd.dll zstd.dll - PATH_SUFFIXES bin - HINTS ${PC_zstd_PREFIX} -) - -# On Windows, we manually define the library names to avoid mistaking the -# implib for the static library -if(zstd_DLL) - set(_zstd_win_static_name zstd-static) - set(_zstd_win_shared_name zstd) -else() - # vcpkg removes the -static suffix in static builds - set(_zstd_win_static_name zstd zstd_static) - set(_zstd_win_shared_name) -endif() - -set(_previous_suffixes ${CMAKE_FIND_LIBRARY_SUFFIXES}) -set(CMAKE_FIND_LIBRARY_SUFFIXES ".so" ".dylib" ".dll.a" ".lib") -find_library(zstd_SHARED_LIBRARY - NAMES zstd ${_zstd_win_shared_name} - HINTS ${PC_zstd_LIBDIR} -) - -set(CMAKE_FIND_LIBRARY_SUFFIXES ".a" ".lib") -find_library(zstd_STATIC_LIBRARY - NAMES zstd ${_zstd_win_static_name} - HINTS ${PC_zstd_LIBDIR} -) -set(CMAKE_FIND_LIBRARY_SUFFIXES ${_previous_suffixes}) - -# Set zstd_LIBRARY to the shared library or fall back to the static library -if(zstd_SHARED_LIBRARY) - set(_zstd_LIBRARY ${zstd_SHARED_LIBRARY}) -else() - set(_zstd_LIBRARY ${zstd_STATIC_LIBRARY}) -endif() - -# Extract version information from the header file -if(zstd_INCLUDE_DIR) - file(STRINGS ${zstd_INCLUDE_DIR}/zstd.h _ver_major_line - REGEX "^#define ZSTD_VERSION_MAJOR *[0-9]+" - LIMIT_COUNT 1) - string(REGEX MATCH "[0-9]+" - zstd_MAJOR_VERSION "${_ver_major_line}") - file(STRINGS ${zstd_INCLUDE_DIR}/zstd.h _ver_minor_line - REGEX "^#define ZSTD_VERSION_MINOR *[0-9]+" - LIMIT_COUNT 1) - string(REGEX MATCH "[0-9]+" - zstd_MINOR_VERSION "${_ver_minor_line}") - file(STRINGS ${zstd_INCLUDE_DIR}/zstd.h _ver_release_line - REGEX "^#define ZSTD_VERSION_RELEASE *[0-9]+" - LIMIT_COUNT 1) - string(REGEX MATCH "[0-9]+" - zstd_RELEASE_VERSION "${_ver_release_line}") - set(Zstd_VERSION "${zstd_MAJOR_VERSION}.${zstd_MINOR_VERSION}.${zstd_RELEASE_VERSION}") - unset(_ver_major_line) - unset(_ver_minor_line) - unset(_ver_release_line) -endif() - -include(FindPackageHandleStandardArgs) -find_package_handle_standard_args(zstd - FOUND_VAR zstd_FOUND - REQUIRED_VARS - _zstd_LIBRARY - zstd_INCLUDE_DIR - VERSION_VAR zstd_VERSION -) - -if(zstd_FOUND AND zstd_SHARED_LIBRARY AND NOT TARGET zstd::libzstd_shared) - add_library(zstd::libzstd_shared SHARED IMPORTED) - if(WIN32) - set_target_properties(zstd::libzstd_shared PROPERTIES - IMPORTED_LOCATION "${zstd_DLL}" - IMPORTED_IMPLIB "${zstd_SHARED_LIBRARY}" - ) - else() - set_target_properties(zstd::libzstd_shared PROPERTIES - IMPORTED_LOCATION "${zstd_SHARED_LIBRARY}" - ) - endif() - - set_target_properties(zstd::libzstd_shared PROPERTIES - INTERFACE_COMPILE_OPTIONS "${PC_zstd_CFLAGS_OTHER}" - INTERFACE_INCLUDE_DIRECTORIES "${zstd_INCLUDE_DIR}" - ) -endif() - -if(zstd_FOUND AND zstd_STATIC_LIBRARY AND NOT TARGET zstd::libzstd_static) - add_library(zstd::libzstd_static STATIC IMPORTED) - set_target_properties(zstd::libzstd_static PROPERTIES - IMPORTED_LOCATION "${zstd_STATIC_LIBRARY}" - INTERFACE_COMPILE_OPTIONS "${PC_zstd_CFLAGS_OTHER}" - INTERFACE_INCLUDE_DIRECTORIES "${zstd_INCLUDE_DIR}" - ) -endif() - -mark_as_advanced( - zstd_INCLUDE_DIR - zstd_DLL - zstd_SHARED_LIBRARY - zstd_STATIC_LIBRARY -) diff --git a/thirdparty/libzip-1.11.3/lib/zip.h b/thirdparty/libzip-1.11.3/lib/zip.h deleted file mode 100644 index c2a8a8b..0000000 --- a/thirdparty/libzip-1.11.3/lib/zip.h +++ /dev/null @@ -1,528 +0,0 @@ -#ifndef _HAD_ZIP_H -#define _HAD_ZIP_H - -/* - zip.h -- exported declarations. - Copyright (C) 1999-2024 Dieter Baron and Thomas Klausner - - This file is part of libzip, a library to manipulate ZIP archives. - The authors can be contacted at - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions - are met: - 1. Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - 2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. - 3. The names of the authors may not be used to endorse or promote - products derived from this software without specific prior - written permission. - - THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS - OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY - DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE - GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR - OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN - IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -*/ - -#if defined(__has_feature) - #if !__has_feature(nullability) - #define _Nullable - #define _Nonnull - #endif -#else - #define _Nullable - #define _Nonnull -#endif - -#ifdef __cplusplus -extern "C" { -#if 0 -} /* fix autoindent */ -#endif -#endif - -#include - -#ifndef ZIP_EXTERN -#ifndef ZIP_STATIC -#ifdef _WIN32 -#define ZIP_EXTERN __declspec(dllimport) -#elif defined(__GNUC__) && __GNUC__ >= 4 -#define ZIP_EXTERN __attribute__((visibility("default"))) -#else -#define ZIP_EXTERN -#endif -#else -#define ZIP_EXTERN -#endif -#endif - -#ifndef ZIP_DEPRECATED -#if defined(__GNUC__) || defined(__clang__) -#define ZIP_DEPRECATED(x) __attribute__((deprecated(x))) -#elif defined(_MSC_VER) -#define ZIP_DEPRECATED(x) __declspec(deprecated(x)) -#else -#define ZIP_DEPRECATED(x) -#endif -#endif - -#include -#include -#include - -/* flags for zip_open */ - -#define ZIP_CREATE 1 -#define ZIP_EXCL 2 -#define ZIP_CHECKCONS 4 -#define ZIP_TRUNCATE 8 -#define ZIP_RDONLY 16 - - -/* flags for zip_name_locate, zip_fopen, zip_stat, ... */ - -#define ZIP_FL_NOCASE 1u /* ignore case on name lookup */ -#define ZIP_FL_NODIR 2u /* ignore directory component */ -#define ZIP_FL_COMPRESSED 4u /* read compressed data */ -#define ZIP_FL_UNCHANGED 8u /* use original data, ignoring changes */ -/* 16u was ZIP_FL_RECOMPRESS, which is deprecated */ -#define ZIP_FL_ENCRYPTED 32u /* read encrypted data (implies ZIP_FL_COMPRESSED) */ -#define ZIP_FL_ENC_GUESS 0u /* guess string encoding (is default) */ -#define ZIP_FL_ENC_RAW 64u /* get unmodified string */ -#define ZIP_FL_ENC_STRICT 128u /* follow specification strictly */ -#define ZIP_FL_LOCAL 256u /* in local header */ -#define ZIP_FL_CENTRAL 512u /* in central directory */ -/* 1024u reserved for internal use */ -#define ZIP_FL_ENC_UTF_8 2048u /* string is UTF-8 encoded */ -#define ZIP_FL_ENC_CP437 4096u /* string is CP437 encoded */ -#define ZIP_FL_OVERWRITE 8192u /* zip_file_add: if file with name exists, overwrite (replace) it */ - -/* archive global flags flags */ - -#define ZIP_AFL_RDONLY 2u /* read only -- cannot be cleared */ -#define ZIP_AFL_IS_TORRENTZIP 4u /* current archive is torrentzipped */ -#define ZIP_AFL_WANT_TORRENTZIP 8u /* write archive in torrentzip format */ -#define ZIP_AFL_CREATE_OR_KEEP_FILE_FOR_EMPTY_ARCHIVE 16u /* don't remove file if archive is empty */ - - -/* create a new extra field */ - -#define ZIP_EXTRA_FIELD_ALL ZIP_UINT16_MAX -#define ZIP_EXTRA_FIELD_NEW ZIP_UINT16_MAX - -/* length parameter to various functions */ - -#define ZIP_LENGTH_TO_END 0 -#define ZIP_LENGTH_UNCHECKED (-2) /* only supported by zip_source_file and its variants */ - -/* libzip error codes */ - -#define ZIP_ER_OK 0 /* N No error */ -#define ZIP_ER_MULTIDISK 1 /* N Multi-disk zip archives not supported */ -#define ZIP_ER_RENAME 2 /* S Renaming temporary file failed */ -#define ZIP_ER_CLOSE 3 /* S Closing zip archive failed */ -#define ZIP_ER_SEEK 4 /* S Seek error */ -#define ZIP_ER_READ 5 /* S Read error */ -#define ZIP_ER_WRITE 6 /* S Write error */ -#define ZIP_ER_CRC 7 /* N CRC error */ -#define ZIP_ER_ZIPCLOSED 8 /* N Containing zip archive was closed */ -#define ZIP_ER_NOENT 9 /* N No such file */ -#define ZIP_ER_EXISTS 10 /* N File already exists */ -#define ZIP_ER_OPEN 11 /* S Can't open file */ -#define ZIP_ER_TMPOPEN 12 /* S Failure to create temporary file */ -#define ZIP_ER_ZLIB 13 /* Z Zlib error */ -#define ZIP_ER_MEMORY 14 /* N Malloc failure */ -#define ZIP_ER_CHANGED 15 /* N Entry has been changed */ -#define ZIP_ER_COMPNOTSUPP 16 /* N Compression method not supported */ -#define ZIP_ER_EOF 17 /* N Premature end of file */ -#define ZIP_ER_INVAL 18 /* N Invalid argument */ -#define ZIP_ER_NOZIP 19 /* N Not a zip archive */ -#define ZIP_ER_INTERNAL 20 /* N Internal error */ -#define ZIP_ER_INCONS 21 /* L Zip archive inconsistent */ -#define ZIP_ER_REMOVE 22 /* S Can't remove file */ -#define ZIP_ER_DELETED 23 /* N Entry has been deleted */ -#define ZIP_ER_ENCRNOTSUPP 24 /* N Encryption method not supported */ -#define ZIP_ER_RDONLY 25 /* N Read-only archive */ -#define ZIP_ER_NOPASSWD 26 /* N No password provided */ -#define ZIP_ER_WRONGPASSWD 27 /* N Wrong password provided */ -#define ZIP_ER_OPNOTSUPP 28 /* N Operation not supported */ -#define ZIP_ER_INUSE 29 /* N Resource still in use */ -#define ZIP_ER_TELL 30 /* S Tell error */ -#define ZIP_ER_COMPRESSED_DATA 31 /* N Compressed data invalid */ -#define ZIP_ER_CANCELLED 32 /* N Operation cancelled */ -#define ZIP_ER_DATA_LENGTH 33 /* N Unexpected length of data */ -#define ZIP_ER_NOT_ALLOWED 34 /* N Not allowed in torrentzip */ -#define ZIP_ER_TRUNCATED_ZIP 35 /* N Possibly truncated or corrupted zip archive */ - -/* type of system error value */ - -#define ZIP_ET_NONE 0 /* sys_err unused */ -#define ZIP_ET_SYS 1 /* sys_err is errno */ -#define ZIP_ET_ZLIB 2 /* sys_err is zlib error code */ -#define ZIP_ET_LIBZIP 3 /* sys_err is libzip error code */ - -/* compression methods */ - -#define ZIP_CM_DEFAULT -1 /* better of deflate or store */ -#define ZIP_CM_STORE 0 /* stored (uncompressed) */ -#define ZIP_CM_SHRINK 1 /* shrunk */ -#define ZIP_CM_REDUCE_1 2 /* reduced with factor 1 */ -#define ZIP_CM_REDUCE_2 3 /* reduced with factor 2 */ -#define ZIP_CM_REDUCE_3 4 /* reduced with factor 3 */ -#define ZIP_CM_REDUCE_4 5 /* reduced with factor 4 */ -#define ZIP_CM_IMPLODE 6 /* imploded */ -/* 7 - Reserved for Tokenizing compression algorithm */ -#define ZIP_CM_DEFLATE 8 /* deflated */ -#define ZIP_CM_DEFLATE64 9 /* deflate64 */ -#define ZIP_CM_PKWARE_IMPLODE 10 /* PKWARE imploding */ -/* 11 - Reserved by PKWARE */ -#define ZIP_CM_BZIP2 12 /* compressed using BZIP2 algorithm */ -/* 13 - Reserved by PKWARE */ -#define ZIP_CM_LZMA 14 /* LZMA (EFS) */ -/* 15-17 - Reserved by PKWARE */ -#define ZIP_CM_TERSE 18 /* compressed using IBM TERSE (new) */ -#define ZIP_CM_LZ77 19 /* IBM LZ77 z Architecture (PFS) */ -/* 20 - old value for Zstandard */ -#define ZIP_CM_LZMA2 33 -#define ZIP_CM_ZSTD 93 /* Zstandard compressed data */ -#define ZIP_CM_XZ 95 /* XZ compressed data */ -#define ZIP_CM_JPEG 96 /* Compressed Jpeg data */ -#define ZIP_CM_WAVPACK 97 /* WavPack compressed data */ -#define ZIP_CM_PPMD 98 /* PPMd version I, Rev 1 */ - -/* encryption methods */ - -#define ZIP_EM_NONE 0 /* not encrypted */ -#define ZIP_EM_TRAD_PKWARE 1 /* traditional PKWARE encryption */ -#if 0 /* Strong Encryption Header not parsed yet */ -#define ZIP_EM_DES 0x6601 /* strong encryption: DES */ -#define ZIP_EM_RC2_OLD 0x6602 /* strong encryption: RC2, version < 5.2 */ -#define ZIP_EM_3DES_168 0x6603 -#define ZIP_EM_3DES_112 0x6609 -#define ZIP_EM_PKZIP_AES_128 0x660e -#define ZIP_EM_PKZIP_AES_192 0x660f -#define ZIP_EM_PKZIP_AES_256 0x6610 -#define ZIP_EM_RC2 0x6702 /* strong encryption: RC2, version >= 5.2 */ -#define ZIP_EM_RC4 0x6801 -#endif -#define ZIP_EM_AES_128 0x0101 /* Winzip AES encryption */ -#define ZIP_EM_AES_192 0x0102 -#define ZIP_EM_AES_256 0x0103 -#define ZIP_EM_UNKNOWN 0xffff /* unknown algorithm */ - -#define ZIP_OPSYS_DOS 0x00u -#define ZIP_OPSYS_AMIGA 0x01u -#define ZIP_OPSYS_OPENVMS 0x02u -#define ZIP_OPSYS_UNIX 0x03u -#define ZIP_OPSYS_VM_CMS 0x04u -#define ZIP_OPSYS_ATARI_ST 0x05u -#define ZIP_OPSYS_OS_2 0x06u -#define ZIP_OPSYS_MACINTOSH 0x07u -#define ZIP_OPSYS_Z_SYSTEM 0x08u -#define ZIP_OPSYS_CPM 0x09u -#define ZIP_OPSYS_WINDOWS_NTFS 0x0au -#define ZIP_OPSYS_MVS 0x0bu -#define ZIP_OPSYS_VSE 0x0cu -#define ZIP_OPSYS_ACORN_RISC 0x0du -#define ZIP_OPSYS_VFAT 0x0eu -#define ZIP_OPSYS_ALTERNATE_MVS 0x0fu -#define ZIP_OPSYS_BEOS 0x10u -#define ZIP_OPSYS_TANDEM 0x11u -#define ZIP_OPSYS_OS_400 0x12u -#define ZIP_OPSYS_OS_X 0x13u - -#define ZIP_OPSYS_DEFAULT ZIP_OPSYS_UNIX - - -enum zip_source_cmd { - ZIP_SOURCE_OPEN, /* prepare for reading */ - ZIP_SOURCE_READ, /* read data */ - ZIP_SOURCE_CLOSE, /* reading is done */ - ZIP_SOURCE_STAT, /* get meta information */ - ZIP_SOURCE_ERROR, /* get error information */ - ZIP_SOURCE_FREE, /* cleanup and free resources */ - ZIP_SOURCE_SEEK, /* set position for reading */ - ZIP_SOURCE_TELL, /* get read position */ - ZIP_SOURCE_BEGIN_WRITE, /* prepare for writing */ - ZIP_SOURCE_COMMIT_WRITE, /* writing is done */ - ZIP_SOURCE_ROLLBACK_WRITE, /* discard written changes */ - ZIP_SOURCE_WRITE, /* write data */ - ZIP_SOURCE_SEEK_WRITE, /* set position for writing */ - ZIP_SOURCE_TELL_WRITE, /* get write position */ - ZIP_SOURCE_SUPPORTS, /* check whether source supports command */ - ZIP_SOURCE_REMOVE, /* remove file */ - ZIP_SOURCE_RESERVED_1, /* previously used internally */ - ZIP_SOURCE_BEGIN_WRITE_CLONING, /* like ZIP_SOURCE_BEGIN_WRITE, but keep part of original file */ - ZIP_SOURCE_ACCEPT_EMPTY, /* whether empty files are valid archives */ - ZIP_SOURCE_GET_FILE_ATTRIBUTES, /* get additional file attributes */ - ZIP_SOURCE_SUPPORTS_REOPEN, /* allow reading from changed entry */ - ZIP_SOURCE_GET_DOS_TIME /* get last modification time in DOS format */ -}; -typedef enum zip_source_cmd zip_source_cmd_t; - -#define ZIP_SOURCE_MAKE_COMMAND_BITMASK(cmd) (((zip_int64_t)1) << (cmd)) - -#define ZIP_SOURCE_CHECK_SUPPORTED(supported, cmd) (((supported) & ZIP_SOURCE_MAKE_COMMAND_BITMASK(cmd)) != 0) - -/* clang-format off */ - -#define ZIP_SOURCE_SUPPORTS_READABLE (ZIP_SOURCE_MAKE_COMMAND_BITMASK(ZIP_SOURCE_OPEN) \ - | ZIP_SOURCE_MAKE_COMMAND_BITMASK(ZIP_SOURCE_READ) \ - | ZIP_SOURCE_MAKE_COMMAND_BITMASK(ZIP_SOURCE_CLOSE) \ - | ZIP_SOURCE_MAKE_COMMAND_BITMASK(ZIP_SOURCE_STAT) \ - | ZIP_SOURCE_MAKE_COMMAND_BITMASK(ZIP_SOURCE_ERROR) \ - | ZIP_SOURCE_MAKE_COMMAND_BITMASK(ZIP_SOURCE_FREE)) - -#define ZIP_SOURCE_SUPPORTS_SEEKABLE (ZIP_SOURCE_SUPPORTS_READABLE \ - | ZIP_SOURCE_MAKE_COMMAND_BITMASK(ZIP_SOURCE_SEEK) \ - | ZIP_SOURCE_MAKE_COMMAND_BITMASK(ZIP_SOURCE_TELL) \ - | ZIP_SOURCE_MAKE_COMMAND_BITMASK(ZIP_SOURCE_SUPPORTS)) - -#define ZIP_SOURCE_SUPPORTS_WRITABLE (ZIP_SOURCE_SUPPORTS_SEEKABLE \ - | ZIP_SOURCE_MAKE_COMMAND_BITMASK(ZIP_SOURCE_BEGIN_WRITE) \ - | ZIP_SOURCE_MAKE_COMMAND_BITMASK(ZIP_SOURCE_COMMIT_WRITE) \ - | ZIP_SOURCE_MAKE_COMMAND_BITMASK(ZIP_SOURCE_ROLLBACK_WRITE) \ - | ZIP_SOURCE_MAKE_COMMAND_BITMASK(ZIP_SOURCE_WRITE) \ - | ZIP_SOURCE_MAKE_COMMAND_BITMASK(ZIP_SOURCE_SEEK_WRITE) \ - | ZIP_SOURCE_MAKE_COMMAND_BITMASK(ZIP_SOURCE_TELL_WRITE) \ - | ZIP_SOURCE_MAKE_COMMAND_BITMASK(ZIP_SOURCE_REMOVE)) - -/* clang-format on */ - -/* for use by sources */ -struct zip_source_args_seek { - zip_int64_t offset; - int whence; -}; - -typedef struct zip_source_args_seek zip_source_args_seek_t; -#define ZIP_SOURCE_GET_ARGS(type, data, len, error) ((len) < sizeof(type) ? zip_error_set((error), ZIP_ER_INVAL, 0), (type *)NULL : (type *)(data)) - - -/* error information */ -/* use zip_error_*() to access */ -struct zip_error { - int zip_err; /* libzip error code (ZIP_ER_*) */ - int sys_err; /* copy of errno (E*) or zlib error code */ - char *_Nullable str; /* string representation or NULL */ -}; - -#define ZIP_STAT_NAME 0x0001u -#define ZIP_STAT_INDEX 0x0002u -#define ZIP_STAT_SIZE 0x0004u -#define ZIP_STAT_COMP_SIZE 0x0008u -#define ZIP_STAT_MTIME 0x0010u -#define ZIP_STAT_CRC 0x0020u -#define ZIP_STAT_COMP_METHOD 0x0040u -#define ZIP_STAT_ENCRYPTION_METHOD 0x0080u -#define ZIP_STAT_FLAGS 0x0100u - -struct zip_stat { - zip_uint64_t valid; /* which fields have valid values */ - const char *_Nullable name; /* name of the file */ - zip_uint64_t index; /* index within archive */ - zip_uint64_t size; /* size of file (uncompressed) */ - zip_uint64_t comp_size; /* size of file (compressed) */ - time_t mtime; /* modification time */ - zip_uint32_t crc; /* crc of file data */ - zip_uint16_t comp_method; /* compression method used */ - zip_uint16_t encryption_method; /* encryption method used */ - zip_uint32_t flags; /* reserved for future use */ -}; - -struct zip_buffer_fragment { - zip_uint8_t *_Nonnull data; - zip_uint64_t length; -}; - -struct zip_file_attributes { - zip_uint64_t valid; /* which fields have valid values */ - zip_uint8_t version; /* version of this struct, currently 1 */ - zip_uint8_t host_system; /* host system on which file was created */ - zip_uint8_t ascii; /* flag whether file is ASCII text */ - zip_uint8_t version_needed; /* minimum version needed to extract file */ - zip_uint32_t external_file_attributes; /* external file attributes (host-system specific) */ - zip_uint16_t general_purpose_bit_flags; /* general purpose big flags, only some bits are honored */ - zip_uint16_t general_purpose_bit_mask; /* which bits in general_purpose_bit_flags are valid */ -}; - -#define ZIP_FILE_ATTRIBUTES_HOST_SYSTEM 0x0001u -#define ZIP_FILE_ATTRIBUTES_ASCII 0x0002u -#define ZIP_FILE_ATTRIBUTES_VERSION_NEEDED 0x0004u -#define ZIP_FILE_ATTRIBUTES_EXTERNAL_FILE_ATTRIBUTES 0x0008u -#define ZIP_FILE_ATTRIBUTES_GENERAL_PURPOSE_BIT_FLAGS 0x0010u - -struct zip; -struct zip_file; -struct zip_source; - -typedef struct zip zip_t; -typedef struct zip_error zip_error_t; -typedef struct zip_file zip_file_t; -typedef struct zip_file_attributes zip_file_attributes_t; -typedef struct zip_source zip_source_t; -typedef struct zip_stat zip_stat_t; -typedef struct zip_buffer_fragment zip_buffer_fragment_t; - -typedef zip_uint32_t zip_flags_t; - -typedef zip_int64_t (*zip_source_callback)(void *_Nullable, void *_Nullable, zip_uint64_t, zip_source_cmd_t); -typedef zip_int64_t (*zip_source_layered_callback)(zip_source_t *_Nonnull, void *_Nullable, void *_Nullable, zip_uint64_t, enum zip_source_cmd); -typedef void (*zip_progress_callback)(zip_t *_Nonnull, double, void *_Nullable); -typedef int (*zip_cancel_callback)(zip_t *_Nonnull, void *_Nullable); - -#ifndef ZIP_DISABLE_DEPRECATED -#define ZIP_FL_RECOMPRESS 16u /* force recompression of data */ - -typedef void (*zip_progress_callback_t)(double); -ZIP_DEPRECATED("use 'zip_register_progress_callback_with_state' instead") ZIP_EXTERN void zip_register_progress_callback(zip_t *_Nonnull, zip_progress_callback_t _Nullable); - -ZIP_DEPRECATED("use 'zip_file_add' instead") ZIP_EXTERN zip_int64_t zip_add(zip_t *_Nonnull, const char *_Nonnull, zip_source_t *_Nonnull); -ZIP_DEPRECATED("use 'zip_dir_add' instead") ZIP_EXTERN zip_int64_t zip_add_dir(zip_t *_Nonnull, const char *_Nonnull); -ZIP_DEPRECATED("use 'zip_file_get_comment' instead") ZIP_EXTERN const char *_Nullable zip_get_file_comment(zip_t *_Nonnull, zip_uint64_t, int *_Nullable, int); -ZIP_DEPRECATED("use 'zip_get_num_entries' instead") ZIP_EXTERN int zip_get_num_files(zip_t *_Nonnull); -ZIP_DEPRECATED("use 'zip_file_rename' instead") ZIP_EXTERN int zip_rename(zip_t *_Nonnull, zip_uint64_t, const char *_Nonnull); -ZIP_DEPRECATED("use 'zip_file_replace' instead") ZIP_EXTERN int zip_replace(zip_t *_Nonnull, zip_uint64_t, zip_source_t *_Nonnull); -ZIP_DEPRECATED("use 'zip_file_set_comment' instead") ZIP_EXTERN int zip_set_file_comment(zip_t *_Nonnull, zip_uint64_t, const char *_Nullable, int); -ZIP_DEPRECATED("use 'zip_error_init_with_code' and 'zip_error_system_type' instead") ZIP_EXTERN int zip_error_get_sys_type(int); -ZIP_DEPRECATED("use 'zip_get_error' instead") ZIP_EXTERN void zip_error_get(zip_t *_Nonnull, int *_Nullable, int *_Nullable); -ZIP_DEPRECATED("use 'zip_error_strerror' instead") ZIP_EXTERN int zip_error_to_str(char *_Nonnull, zip_uint64_t, int, int); -ZIP_DEPRECATED("use 'zip_file_get_error' instead") ZIP_EXTERN void zip_file_error_get(zip_file_t *_Nonnull, int *_Nullable, int *_Nullable); -ZIP_DEPRECATED("use 'zip_source_zip_file' instead") ZIP_EXTERN zip_source_t *_Nullable zip_source_zip(zip_t *_Nonnull, zip_t *_Nonnull, zip_uint64_t, zip_flags_t, zip_uint64_t, zip_int64_t); -ZIP_DEPRECATED("use 'zip_source_zip_file_create' instead") ZIP_EXTERN zip_source_t *_Nullable zip_source_zip_create(zip_t *_Nonnull, zip_uint64_t, zip_flags_t, zip_uint64_t, zip_int64_t, zip_error_t *_Nullable); -#endif - -ZIP_EXTERN int zip_close(zip_t *_Nonnull); -ZIP_EXTERN int zip_delete(zip_t *_Nonnull, zip_uint64_t); -ZIP_EXTERN zip_int64_t zip_dir_add(zip_t *_Nonnull, const char *_Nonnull, zip_flags_t); -ZIP_EXTERN void zip_discard(zip_t *_Nonnull); - -ZIP_EXTERN zip_error_t *_Nonnull zip_get_error(zip_t *_Nonnull); -ZIP_EXTERN void zip_error_clear(zip_t *_Nonnull); -ZIP_EXTERN int zip_error_code_zip(const zip_error_t *_Nonnull); -ZIP_EXTERN int zip_error_code_system(const zip_error_t *_Nonnull); -ZIP_EXTERN void zip_error_fini(zip_error_t *_Nonnull); -ZIP_EXTERN void zip_error_init(zip_error_t *_Nonnull); -ZIP_EXTERN void zip_error_init_with_code(zip_error_t *_Nonnull, int); -ZIP_EXTERN void zip_error_set(zip_error_t *_Nullable, int, int); -ZIP_EXTERN void zip_error_set_from_source(zip_error_t *_Nonnull, zip_source_t *_Nullable); -ZIP_EXTERN const char *_Nonnull zip_error_strerror(zip_error_t *_Nonnull); -ZIP_EXTERN int zip_error_system_type(const zip_error_t *_Nonnull); -ZIP_EXTERN zip_int64_t zip_error_to_data(const zip_error_t *_Nonnull, void *_Nonnull, zip_uint64_t); - -ZIP_EXTERN int zip_fclose(zip_file_t *_Nonnull); -ZIP_EXTERN zip_t *_Nullable zip_fdopen(int, int, int *_Nullable); -ZIP_EXTERN zip_int64_t zip_file_add(zip_t *_Nonnull, const char *_Nonnull, zip_source_t *_Nonnull, zip_flags_t); -ZIP_EXTERN void zip_file_attributes_init(zip_file_attributes_t *_Nonnull); -ZIP_EXTERN void zip_file_error_clear(zip_file_t *_Nonnull); -ZIP_EXTERN int zip_file_extra_field_delete(zip_t *_Nonnull, zip_uint64_t, zip_uint16_t, zip_flags_t); -ZIP_EXTERN int zip_file_extra_field_delete_by_id(zip_t *_Nonnull, zip_uint64_t, zip_uint16_t, zip_uint16_t, zip_flags_t); -ZIP_EXTERN int zip_file_extra_field_set(zip_t *_Nonnull, zip_uint64_t, zip_uint16_t, zip_uint16_t, const zip_uint8_t *_Nullable, zip_uint16_t, zip_flags_t); -ZIP_EXTERN zip_int16_t zip_file_extra_fields_count(zip_t *_Nonnull, zip_uint64_t, zip_flags_t); -ZIP_EXTERN zip_int16_t zip_file_extra_fields_count_by_id(zip_t *_Nonnull, zip_uint64_t, zip_uint16_t, zip_flags_t); -ZIP_EXTERN const zip_uint8_t *_Nullable zip_file_extra_field_get(zip_t *_Nonnull, zip_uint64_t, zip_uint16_t, zip_uint16_t *_Nullable, zip_uint16_t *_Nullable, zip_flags_t); -ZIP_EXTERN const zip_uint8_t *_Nullable zip_file_extra_field_get_by_id(zip_t *_Nonnull, zip_uint64_t, zip_uint16_t, zip_uint16_t, zip_uint16_t *_Nullable, zip_flags_t); -ZIP_EXTERN const char *_Nullable zip_file_get_comment(zip_t *_Nonnull, zip_uint64_t, zip_uint32_t *_Nullable, zip_flags_t); -ZIP_EXTERN zip_error_t *_Nonnull zip_file_get_error(zip_file_t *_Nonnull); -ZIP_EXTERN int zip_file_get_external_attributes(zip_t *_Nonnull, zip_uint64_t, zip_flags_t, zip_uint8_t *_Nullable, zip_uint32_t *_Nullable); -ZIP_EXTERN int zip_file_is_seekable(zip_file_t *_Nonnull); -ZIP_EXTERN int zip_file_rename(zip_t *_Nonnull, zip_uint64_t, const char *_Nonnull, zip_flags_t); -ZIP_EXTERN int zip_file_replace(zip_t *_Nonnull, zip_uint64_t, zip_source_t *_Nonnull, zip_flags_t); -ZIP_EXTERN int zip_file_set_comment(zip_t *_Nonnull, zip_uint64_t, const char *_Nullable, zip_uint16_t, zip_flags_t); -ZIP_EXTERN int zip_file_set_dostime(zip_t *_Nonnull, zip_uint64_t, zip_uint16_t, zip_uint16_t, zip_flags_t); -ZIP_EXTERN int zip_file_set_encryption(zip_t *_Nonnull, zip_uint64_t, zip_uint16_t, const char *_Nullable); -ZIP_EXTERN int zip_file_set_external_attributes(zip_t *_Nonnull, zip_uint64_t, zip_flags_t, zip_uint8_t, zip_uint32_t); -ZIP_EXTERN int zip_file_set_mtime(zip_t *_Nonnull, zip_uint64_t, time_t, zip_flags_t); -ZIP_EXTERN const char *_Nonnull zip_file_strerror(zip_file_t *_Nonnull); -ZIP_EXTERN zip_file_t *_Nullable zip_fopen(zip_t *_Nonnull, const char *_Nonnull, zip_flags_t); -ZIP_EXTERN zip_file_t *_Nullable zip_fopen_encrypted(zip_t *_Nonnull, const char *_Nonnull, zip_flags_t, const char *_Nullable); -ZIP_EXTERN zip_file_t *_Nullable zip_fopen_index(zip_t *_Nonnull, zip_uint64_t, zip_flags_t); -ZIP_EXTERN zip_file_t *_Nullable zip_fopen_index_encrypted(zip_t *_Nonnull, zip_uint64_t, zip_flags_t, const char *_Nullable); -ZIP_EXTERN zip_int64_t zip_fread(zip_file_t *_Nonnull, void *_Nonnull, zip_uint64_t); -ZIP_EXTERN zip_int8_t zip_fseek(zip_file_t *_Nonnull, zip_int64_t, int); -ZIP_EXTERN zip_int64_t zip_ftell(zip_file_t *_Nonnull); -ZIP_EXTERN const char *_Nullable zip_get_archive_comment(zip_t *_Nonnull, int *_Nullable, zip_flags_t); -ZIP_EXTERN int zip_get_archive_flag(zip_t *_Nonnull, zip_flags_t, zip_flags_t); -ZIP_EXTERN const char *_Nullable zip_get_name(zip_t *_Nonnull, zip_uint64_t, zip_flags_t); -ZIP_EXTERN zip_int64_t zip_get_num_entries(zip_t *_Nonnull, zip_flags_t); -ZIP_EXTERN const char *_Nonnull zip_libzip_version(void); -ZIP_EXTERN zip_int64_t zip_name_locate(zip_t *_Nonnull, const char *_Nonnull, zip_flags_t); -ZIP_EXTERN zip_t *_Nullable zip_open(const char *_Nonnull, int, int *_Nullable); -ZIP_EXTERN zip_t *_Nullable zip_open_from_source(zip_source_t *_Nonnull, int, zip_error_t *_Nullable); -ZIP_EXTERN int zip_register_progress_callback_with_state(zip_t *_Nonnull, double, zip_progress_callback _Nullable, void (*_Nullable)(void *_Nullable), void *_Nullable); -ZIP_EXTERN int zip_register_cancel_callback_with_state(zip_t *_Nonnull, zip_cancel_callback _Nullable, void (*_Nullable)(void *_Nullable), void *_Nullable); -ZIP_EXTERN int zip_set_archive_comment(zip_t *_Nonnull, const char *_Nullable, zip_uint16_t); -ZIP_EXTERN int zip_set_archive_flag(zip_t *_Nonnull, zip_flags_t, int); -ZIP_EXTERN int zip_set_default_password(zip_t *_Nonnull, const char *_Nullable); -ZIP_EXTERN int zip_set_file_compression(zip_t *_Nonnull, zip_uint64_t, zip_int32_t, zip_uint32_t); -ZIP_EXTERN int zip_source_begin_write(zip_source_t *_Nonnull); -ZIP_EXTERN int zip_source_begin_write_cloning(zip_source_t *_Nonnull, zip_uint64_t); -ZIP_EXTERN zip_source_t *_Nullable zip_source_buffer(zip_t *_Nonnull, const void *_Nullable, zip_uint64_t, int); -ZIP_EXTERN zip_source_t *_Nullable zip_source_buffer_create(const void *_Nullable, zip_uint64_t, int, zip_error_t *_Nullable); -ZIP_EXTERN zip_source_t *_Nullable zip_source_buffer_fragment(zip_t *_Nonnull, const zip_buffer_fragment_t *_Nonnull, zip_uint64_t, int); -ZIP_EXTERN zip_source_t *_Nullable zip_source_buffer_fragment_create(const zip_buffer_fragment_t *_Nullable, zip_uint64_t, int, zip_error_t *_Nullable); -ZIP_EXTERN int zip_source_close(zip_source_t *_Nonnull); -ZIP_EXTERN int zip_source_commit_write(zip_source_t *_Nonnull); -ZIP_EXTERN zip_error_t *_Nonnull zip_source_error(zip_source_t *_Nonnull); -ZIP_EXTERN zip_source_t *_Nullable zip_source_file(zip_t *_Nonnull, const char *_Nonnull, zip_uint64_t, zip_int64_t); -ZIP_EXTERN zip_source_t *_Nullable zip_source_file_create(const char *_Nonnull, zip_uint64_t, zip_int64_t, zip_error_t *_Nullable); -ZIP_EXTERN zip_source_t *_Nullable zip_source_filep(zip_t *_Nonnull, FILE *_Nonnull, zip_uint64_t, zip_int64_t); -ZIP_EXTERN zip_source_t *_Nullable zip_source_filep_create(FILE *_Nonnull, zip_uint64_t, zip_int64_t, zip_error_t *_Nullable); -ZIP_EXTERN void zip_source_free(zip_source_t *_Nullable); -ZIP_EXTERN zip_source_t *_Nullable zip_source_function(zip_t *_Nonnull, zip_source_callback _Nonnull, void *_Nullable); -ZIP_EXTERN zip_source_t *_Nullable zip_source_function_create(zip_source_callback _Nonnull, void *_Nullable, zip_error_t *_Nullable); -ZIP_EXTERN int zip_source_get_file_attributes(zip_source_t *_Nonnull, zip_file_attributes_t *_Nonnull); -ZIP_EXTERN int zip_source_is_deleted(zip_source_t *_Nonnull); -ZIP_EXTERN int zip_source_is_seekable(zip_source_t *_Nonnull); -ZIP_EXTERN void zip_source_keep(zip_source_t *_Nonnull); -ZIP_EXTERN zip_source_t *_Nullable zip_source_layered(zip_t *_Nullable, zip_source_t *_Nonnull, zip_source_layered_callback _Nonnull, void *_Nullable); -ZIP_EXTERN zip_source_t *_Nullable zip_source_layered_create(zip_source_t *_Nonnull, zip_source_layered_callback _Nonnull, void *_Nullable, zip_error_t *_Nullable); -ZIP_EXTERN zip_int64_t zip_source_make_command_bitmap(zip_source_cmd_t, ...); -ZIP_EXTERN int zip_source_open(zip_source_t *_Nonnull); -ZIP_EXTERN zip_int64_t zip_source_pass_to_lower_layer(zip_source_t *_Nonnull, void *_Nullable, zip_uint64_t, zip_source_cmd_t); -ZIP_EXTERN zip_int64_t zip_source_read(zip_source_t *_Nonnull, void *_Nonnull, zip_uint64_t); -ZIP_EXTERN void zip_source_rollback_write(zip_source_t *_Nonnull); -ZIP_EXTERN int zip_source_seek(zip_source_t *_Nonnull, zip_int64_t, int); -ZIP_EXTERN zip_int64_t zip_source_seek_compute_offset(zip_uint64_t, zip_uint64_t, void *_Nonnull, zip_uint64_t, zip_error_t *_Nullable); -ZIP_EXTERN int zip_source_seek_write(zip_source_t *_Nonnull, zip_int64_t, int); -ZIP_EXTERN int zip_source_stat(zip_source_t *_Nonnull, zip_stat_t *_Nonnull); -ZIP_EXTERN zip_int64_t zip_source_tell(zip_source_t *_Nonnull); -ZIP_EXTERN zip_int64_t zip_source_tell_write(zip_source_t *_Nonnull); -#ifdef _WIN32 -ZIP_EXTERN zip_source_t *_Nullable zip_source_win32a(zip_t *_Nonnull, const char *_Nonnull, zip_uint64_t, zip_int64_t); -ZIP_EXTERN zip_source_t *_Nullable zip_source_win32a_create(const char *_Nonnull, zip_uint64_t, zip_int64_t, zip_error_t *_Nullable); -ZIP_EXTERN zip_source_t *_Nullable zip_source_win32handle(zip_t *_Nonnull, void *_Nonnull, zip_uint64_t, zip_int64_t); -ZIP_EXTERN zip_source_t *_Nullable zip_source_win32handle_create(void *_Nonnull, zip_uint64_t, zip_int64_t, zip_error_t *_Nullable); -ZIP_EXTERN zip_source_t *_Nullable zip_source_win32w(zip_t *_Nonnull, const wchar_t *_Nonnull, zip_uint64_t, zip_int64_t); -ZIP_EXTERN zip_source_t *_Nullable zip_source_win32w_create(const wchar_t *_Nonnull, zip_uint64_t, zip_int64_t, zip_error_t *_Nullable); -#endif -ZIP_EXTERN zip_source_t *_Nullable zip_source_window_create(zip_source_t *_Nonnull, zip_uint64_t, zip_int64_t, zip_error_t *_Nullable); -ZIP_EXTERN zip_int64_t zip_source_write(zip_source_t *_Nonnull, const void *_Nullable, zip_uint64_t); -ZIP_EXTERN zip_source_t *_Nullable zip_source_zip_file(zip_t *_Nonnull, zip_t *_Nonnull, zip_uint64_t, zip_flags_t, zip_uint64_t, zip_int64_t, const char *_Nullable); -ZIP_EXTERN zip_source_t *_Nullable zip_source_zip_file_create(zip_t *_Nonnull, zip_uint64_t, zip_flags_t, zip_uint64_t, zip_int64_t, const char *_Nullable, zip_error_t *_Nullable); -ZIP_EXTERN int zip_stat(zip_t *_Nonnull, const char *_Nonnull, zip_flags_t, zip_stat_t *_Nonnull); -ZIP_EXTERN int zip_stat_index(zip_t *_Nonnull, zip_uint64_t, zip_flags_t, zip_stat_t *_Nonnull); -ZIP_EXTERN void zip_stat_init(zip_stat_t *_Nonnull); -ZIP_EXTERN const char *_Nonnull zip_strerror(zip_t *_Nonnull); -ZIP_EXTERN int zip_unchange(zip_t *_Nonnull, zip_uint64_t); -ZIP_EXTERN int zip_unchange_all(zip_t *_Nonnull); -ZIP_EXTERN int zip_unchange_archive(zip_t *_Nonnull); -ZIP_EXTERN int zip_compression_method_supported(zip_int32_t method, int compress); -ZIP_EXTERN int zip_encryption_method_supported(zip_uint16_t method, int encode); - -#ifdef __cplusplus -} -#endif - -#endif /* _HAD_ZIP_H */ diff --git a/thirdparty/zlib-1.3.1/build-emcmake/CMakeCache.txt b/thirdparty/zlib-1.3.1/build-emcmake/CMakeCache.txt deleted file mode 100644 index b204ab2..0000000 --- a/thirdparty/zlib-1.3.1/build-emcmake/CMakeCache.txt +++ /dev/null @@ -1,353 +0,0 @@ -# This is the CMakeCache file. -# For build in directory: /home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/build-emcmake -# It was generated by CMake: /usr/bin/cmake -# You can edit this file to change values found and used by cmake. -# If you do not want to change any of the values, simply exit the editor. -# If you do want to change a value, simply edit, save, and exit the editor. -# The syntax for the file is as follows: -# KEY:TYPE=VALUE -# KEY is the name of a variable in the cache. -# TYPE is a hint to GUIs for the type of VALUE, DO NOT EDIT TYPE!. -# VALUE is the current value for the KEY. - -######################## -# EXTERNAL cache entries -######################## - -//Path to a program. -CMAKE_ADDR2LINE:FILEPATH=/usr/bin/addr2line - -//Choose the type of build, options are: None Debug Release RelWithDebInfo -// MinSizeRel ... -CMAKE_BUILD_TYPE:STRING= - -//Enable/Disable color output during build. -CMAKE_COLOR_MAKEFILE:BOOL=ON - -//No help, variable specified on the command line. -CMAKE_CROSSCOMPILING_EMULATOR:UNINITIALIZED=/home/romazan/Рабочий стол/emsdk/node/20.18.0_64bit/bin/node - -//`clang-scan-deps` dependency scanner -CMAKE_C_COMPILER_CLANG_SCAN_DEPS:FILEPATH=CMAKE_C_COMPILER_CLANG_SCAN_DEPS-NOTFOUND - -//Flags used by the C compiler during all build types. -CMAKE_C_FLAGS:STRING= - -//Flags used by the C compiler during DEBUG builds. -CMAKE_C_FLAGS_DEBUG:STRING=-g - -//Flags used by the C compiler during MINSIZEREL builds. -CMAKE_C_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG - -//Flags used by the C compiler during RELEASE builds. -CMAKE_C_FLAGS_RELEASE:STRING=-O3 -DNDEBUG - -//Flags used by the C compiler during RELWITHDEBINFO builds. -CMAKE_C_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG - -//Path to a program. -CMAKE_DLLTOOL:FILEPATH=CMAKE_DLLTOOL-NOTFOUND - -//Flags used by the linker during all build types. -CMAKE_EXE_LINKER_FLAGS:STRING= - -//Flags used by the linker during DEBUG builds. -CMAKE_EXE_LINKER_FLAGS_DEBUG:STRING= - -//Flags used by the linker during MINSIZEREL builds. -CMAKE_EXE_LINKER_FLAGS_MINSIZEREL:STRING= - -//Flags used by the linker during RELEASE builds. -CMAKE_EXE_LINKER_FLAGS_RELEASE:STRING= - -//Flags used by the linker during RELWITHDEBINFO builds. -CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO:STRING= - -//Enable/Disable output of compile commands during generation. -CMAKE_EXPORT_COMPILE_COMMANDS:BOOL= - -//Value Computed by CMake. -CMAKE_FIND_PACKAGE_REDIRECTS_DIR:STATIC=/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/pkgRedirects - -//Install path prefix, prepended onto install directories. -CMAKE_INSTALL_PREFIX:PATH=/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/install - -//Path to a program. -CMAKE_LINKER:FILEPATH=/usr/bin/ld - -//Path to a program. -CMAKE_MAKE_PROGRAM:FILEPATH=/usr/bin/gmake - -//Flags used by the linker during the creation of modules during -// all build types. -CMAKE_MODULE_LINKER_FLAGS:STRING= - -//Flags used by the linker during the creation of modules during -// DEBUG builds. -CMAKE_MODULE_LINKER_FLAGS_DEBUG:STRING= - -//Flags used by the linker during the creation of modules during -// MINSIZEREL builds. -CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL:STRING= - -//Flags used by the linker during the creation of modules during -// RELEASE builds. -CMAKE_MODULE_LINKER_FLAGS_RELEASE:STRING= - -//Flags used by the linker during the creation of modules during -// RELWITHDEBINFO builds. -CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO:STRING= - -//Path to a program. -CMAKE_OBJCOPY:FILEPATH=/usr/bin/objcopy - -//Path to a program. -CMAKE_OBJDUMP:FILEPATH=/usr/bin/objdump - -//Value Computed by CMake -CMAKE_PROJECT_DESCRIPTION:STATIC= - -//Value Computed by CMake -CMAKE_PROJECT_HOMEPAGE_URL:STATIC= - -//Value Computed by CMake -CMAKE_PROJECT_NAME:STATIC=zlib - -//Path to a program. -CMAKE_READELF:FILEPATH=/usr/bin/readelf - -//Flags used by the linker during the creation of shared libraries -// during all build types. -CMAKE_SHARED_LINKER_FLAGS:STRING= - -//Flags used by the linker during the creation of shared libraries -// during DEBUG builds. -CMAKE_SHARED_LINKER_FLAGS_DEBUG:STRING= - -//Flags used by the linker during the creation of shared libraries -// during MINSIZEREL builds. -CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL:STRING= - -//Flags used by the linker during the creation of shared libraries -// during RELEASE builds. -CMAKE_SHARED_LINKER_FLAGS_RELEASE:STRING= - -//Flags used by the linker during the creation of shared libraries -// during RELWITHDEBINFO builds. -CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO:STRING= - -//If set, runtime paths are not added when installing shared libraries, -// but are added when building. -CMAKE_SKIP_INSTALL_RPATH:BOOL=NO - -//If set, runtime paths are not added when using shared libraries. -CMAKE_SKIP_RPATH:BOOL=NO - -//Flags used by the linker during the creation of static libraries -// during all build types. -CMAKE_STATIC_LINKER_FLAGS:STRING= - -//Flags used by the linker during the creation of static libraries -// during DEBUG builds. -CMAKE_STATIC_LINKER_FLAGS_DEBUG:STRING= - -//Flags used by the linker during the creation of static libraries -// during MINSIZEREL builds. -CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL:STRING= - -//Flags used by the linker during the creation of static libraries -// during RELEASE builds. -CMAKE_STATIC_LINKER_FLAGS_RELEASE:STRING= - -//Flags used by the linker during the creation of static libraries -// during RELWITHDEBINFO builds. -CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO:STRING= - -//Path to a program. -CMAKE_STRIP:FILEPATH=/usr/bin/strip - -//Path to a program. -CMAKE_TAPI:FILEPATH=CMAKE_TAPI-NOTFOUND - -//The CMake toolchain file -CMAKE_TOOLCHAIN_FILE:FILEPATH=/home/romazan/Рабочий стол/emsdk/upstream/emscripten/cmake/Modules/Platform/Emscripten.cmake - -//If this value is on, makefiles will be generated without the -// .SILENT directive, and all commands will be echoed to the console -// during the make. This is useful for debugging only. With Visual -// Studio IDE projects all commands are done without /nologo. -CMAKE_VERBOSE_MAKEFILE:BOOL=FALSE - -//Force C/C++ compiler -EMSCRIPTEN_FORCE_COMPILERS:BOOL=OFF - -//If set, static library targets generate LLVM bitcode files (.bc). -// If disabled (default), UNIX ar archives (.a) are generated. -EMSCRIPTEN_GENERATE_BITCODE_STATIC_LIBRARIES:BOOL=OFF - -//Installation directory for executables -INSTALL_BIN_DIR:PATH=/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/install/bin - -//Installation directory for headers -INSTALL_INC_DIR:PATH=/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/install/include - -//Installation directory for libraries -INSTALL_LIB_DIR:PATH=/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/install/lib - -//Installation directory for manual pages -INSTALL_MAN_DIR:PATH=/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/install/share/man - -//Installation directory for pkgconfig (.pc) files -INSTALL_PKGCONFIG_DIR:PATH=/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/install/share/pkgconfig - -//Enable Zlib Examples -ZLIB_BUILD_EXAMPLES:BOOL=ON - -//Value Computed by CMake -zlib_BINARY_DIR:STATIC=/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/build-emcmake - -//Value Computed by CMake -zlib_IS_TOP_LEVEL:STATIC=ON - -//Value Computed by CMake -zlib_SOURCE_DIR:STATIC=/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1 - - -######################## -# INTERNAL cache entries -######################## - -//ADVANCED property for variable: CMAKE_ADDR2LINE -CMAKE_ADDR2LINE-ADVANCED:INTERNAL=1 -//This is the directory where this CMakeCache.txt was created -CMAKE_CACHEFILE_DIR:INTERNAL=/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/build-emcmake -//Major version of cmake used to create the current loaded cache -CMAKE_CACHE_MAJOR_VERSION:INTERNAL=3 -//Minor version of cmake used to create the current loaded cache -CMAKE_CACHE_MINOR_VERSION:INTERNAL=28 -//Patch version of cmake used to create the current loaded cache -CMAKE_CACHE_PATCH_VERSION:INTERNAL=3 -//ADVANCED property for variable: CMAKE_COLOR_MAKEFILE -CMAKE_COLOR_MAKEFILE-ADVANCED:INTERNAL=1 -//Path to CMake executable. -CMAKE_COMMAND:INTERNAL=/usr/bin/cmake -//Path to cpack program executable. -CMAKE_CPACK_COMMAND:INTERNAL=/usr/bin/cpack -//Path to ctest program executable. -CMAKE_CTEST_COMMAND:INTERNAL=/usr/bin/ctest -//ADVANCED property for variable: CMAKE_C_COMPILER_CLANG_SCAN_DEPS -CMAKE_C_COMPILER_CLANG_SCAN_DEPS-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_C_FLAGS -CMAKE_C_FLAGS-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_C_FLAGS_DEBUG -CMAKE_C_FLAGS_DEBUG-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_C_FLAGS_MINSIZEREL -CMAKE_C_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_C_FLAGS_RELEASE -CMAKE_C_FLAGS_RELEASE-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_C_FLAGS_RELWITHDEBINFO -CMAKE_C_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_DLLTOOL -CMAKE_DLLTOOL-ADVANCED:INTERNAL=1 -//Executable file format -CMAKE_EXECUTABLE_FORMAT:INTERNAL=Unknown -//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS -CMAKE_EXE_LINKER_FLAGS-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_DEBUG -CMAKE_EXE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_MINSIZEREL -CMAKE_EXE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELEASE -CMAKE_EXE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO -CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_EXPORT_COMPILE_COMMANDS -CMAKE_EXPORT_COMPILE_COMMANDS-ADVANCED:INTERNAL=1 -//Name of external makefile project generator. -CMAKE_EXTRA_GENERATOR:INTERNAL= -//Name of generator. -CMAKE_GENERATOR:INTERNAL=Unix Makefiles -//Generator instance identifier. -CMAKE_GENERATOR_INSTANCE:INTERNAL= -//Name of generator platform. -CMAKE_GENERATOR_PLATFORM:INTERNAL= -//Name of generator toolset. -CMAKE_GENERATOR_TOOLSET:INTERNAL= -//Source directory with the top level CMakeLists.txt file for this -// project -CMAKE_HOME_DIRECTORY:INTERNAL=/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1 -//ADVANCED property for variable: CMAKE_LINKER -CMAKE_LINKER-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_MAKE_PROGRAM -CMAKE_MAKE_PROGRAM-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS -CMAKE_MODULE_LINKER_FLAGS-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_DEBUG -CMAKE_MODULE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL -CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELEASE -CMAKE_MODULE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO -CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 -//number of local generators -CMAKE_NUMBER_OF_MAKEFILES:INTERNAL=1 -//ADVANCED property for variable: CMAKE_OBJCOPY -CMAKE_OBJCOPY-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_OBJDUMP -CMAKE_OBJDUMP-ADVANCED:INTERNAL=1 -//Platform information initialized -CMAKE_PLATFORM_INFO_INITIALIZED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_READELF -CMAKE_READELF-ADVANCED:INTERNAL=1 -//Path to CMake installation. -CMAKE_ROOT:INTERNAL=/usr/share/cmake-3.28 -//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS -CMAKE_SHARED_LINKER_FLAGS-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_DEBUG -CMAKE_SHARED_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL -CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELEASE -CMAKE_SHARED_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO -CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_SKIP_INSTALL_RPATH -CMAKE_SKIP_INSTALL_RPATH-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_SKIP_RPATH -CMAKE_SKIP_RPATH-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS -CMAKE_STATIC_LINKER_FLAGS-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_DEBUG -CMAKE_STATIC_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL -CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELEASE -CMAKE_STATIC_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO -CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_STRIP -CMAKE_STRIP-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_TAPI -CMAKE_TAPI-ADVANCED:INTERNAL=1 -//uname command -CMAKE_UNAME:INTERNAL=/usr/bin/uname -//ADVANCED property for variable: CMAKE_VERBOSE_MAKEFILE -CMAKE_VERBOSE_MAKEFILE-ADVANCED:INTERNAL=1 -//If true, we are targeting Emscripten output. -EMSCRIPTEN:INTERNAL=1 -//Have function fseeko -HAVE_FSEEKO:INTERNAL=1 -//Result of TRY_COMPILE -HAVE_OFF64_T:INTERNAL=TRUE -//Have include stddef.h -HAVE_STDDEF_H:INTERNAL=1 -//Have include stdint.h -HAVE_STDINT_H:INTERNAL=1 -//Have include sys/types.h -HAVE_SYS_TYPES_H:INTERNAL=1 -//CHECK_TYPE_SIZE: sizeof(off64_t) -OFF64_T:INTERNAL=8 -//Have include unistd.h -Z_HAVE_UNISTD_H:INTERNAL=1 - diff --git a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/3.28.3/CMakeCCompiler.cmake b/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/3.28.3/CMakeCCompiler.cmake deleted file mode 100644 index 1a8c15d..0000000 --- a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/3.28.3/CMakeCCompiler.cmake +++ /dev/null @@ -1,74 +0,0 @@ -set(CMAKE_C_COMPILER "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc") -set(CMAKE_C_COMPILER_ARG1 "") -set(CMAKE_C_COMPILER_ID "Clang") -set(CMAKE_C_COMPILER_VERSION "21.0.0") -set(CMAKE_C_COMPILER_VERSION_INTERNAL "") -set(CMAKE_C_COMPILER_WRAPPER "") -set(CMAKE_C_STANDARD_COMPUTED_DEFAULT "17") -set(CMAKE_C_EXTENSIONS_COMPUTED_DEFAULT "ON") -set(CMAKE_C_COMPILE_FEATURES "c_std_90;c_function_prototypes;c_std_99;c_restrict;c_variadic_macros;c_std_11;c_static_assert;c_std_17;c_std_23") -set(CMAKE_C90_COMPILE_FEATURES "c_std_90;c_function_prototypes") -set(CMAKE_C99_COMPILE_FEATURES "c_std_99;c_restrict;c_variadic_macros") -set(CMAKE_C11_COMPILE_FEATURES "c_std_11;c_static_assert") -set(CMAKE_C17_COMPILE_FEATURES "c_std_17") -set(CMAKE_C23_COMPILE_FEATURES "c_std_23") - -set(CMAKE_C_PLATFORM_ID "") -set(CMAKE_C_SIMULATE_ID "") -set(CMAKE_C_COMPILER_FRONTEND_VARIANT "GNU") -set(CMAKE_C_SIMULATE_VERSION "") - - - - -set(CMAKE_AR "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emar") -set(CMAKE_C_COMPILER_AR "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emar") -set(CMAKE_RANLIB "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emranlib") -set(CMAKE_C_COMPILER_RANLIB "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emranlib") -set(CMAKE_LINKER "/usr/bin/ld") -set(CMAKE_MT "") -set(CMAKE_TAPI "CMAKE_TAPI-NOTFOUND") -set(CMAKE_COMPILER_IS_GNUCC ) -set(CMAKE_C_COMPILER_LOADED 1) -set(CMAKE_C_COMPILER_WORKS TRUE) -set(CMAKE_C_ABI_COMPILED TRUE) - -set(CMAKE_C_COMPILER_ENV_VAR "CC") - -set(CMAKE_C_COMPILER_ID_RUN 1) -set(CMAKE_C_SOURCE_FILE_EXTENSIONS c;m) -set(CMAKE_C_IGNORE_EXTENSIONS h;H;o;O;obj;OBJ;def;DEF;rc;RC) -set(CMAKE_C_LINKER_PREFERENCE 10) -set(CMAKE_C_LINKER_DEPFILE_SUPPORTED FALSE) - -# Save compiler ABI information. -set(CMAKE_C_SIZEOF_DATA_PTR "4") -set(CMAKE_C_COMPILER_ABI "") -set(CMAKE_C_BYTE_ORDER "LITTLE_ENDIAN") -set(CMAKE_C_LIBRARY_ARCHITECTURE "") - -if(CMAKE_C_SIZEOF_DATA_PTR) - set(CMAKE_SIZEOF_VOID_P "${CMAKE_C_SIZEOF_DATA_PTR}") -endif() - -if(CMAKE_C_COMPILER_ABI) - set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_C_COMPILER_ABI}") -endif() - -if(CMAKE_C_LIBRARY_ARCHITECTURE) - set(CMAKE_LIBRARY_ARCHITECTURE "") -endif() - -set(CMAKE_C_CL_SHOWINCLUDES_PREFIX "") -if(CMAKE_C_CL_SHOWINCLUDES_PREFIX) - set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_C_CL_SHOWINCLUDES_PREFIX}") -endif() - - - - - -set(CMAKE_C_IMPLICIT_INCLUDE_DIRECTORIES "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/cache/sysroot/include/fakesdl;/home/romazan/Рабочий стол/emsdk/upstream/emscripten/cache/sysroot/include/compat;/home/romazan/Рабочий стол/emsdk/upstream/lib/clang/21/include;/home/romazan/Рабочий стол/emsdk/upstream/emscripten/cache/sysroot/include") -set(CMAKE_C_IMPLICIT_LINK_LIBRARIES "GL-getprocaddr;al;html5;stubs-debug;noexit;c-debug;dlmalloc-debug;compiler_rt;c++-noexcept;c++abi-debug-noexcept;sockets") -set(CMAKE_C_IMPLICIT_LINK_DIRECTORIES "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/cache/sysroot/lib/wasm32-emscripten;/home/romazan/Рабочий стол/emsdk/upstream/emscripten/src/lib") -set(CMAKE_C_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "") diff --git a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/3.28.3/CMakeDetermineCompilerABI_C.bin b/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/3.28.3/CMakeDetermineCompilerABI_C.bin deleted file mode 100644 index e2001a2..0000000 --- a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/3.28.3/CMakeDetermineCompilerABI_C.bin +++ /dev/null @@ -1,1521 +0,0 @@ -// include: shell.js -// The Module object: Our interface to the outside world. We import -// and export values on it. There are various ways Module can be used: -// 1. Not defined. We create it here -// 2. A function parameter, function(moduleArg) => Promise -// 3. pre-run appended it, var Module = {}; ..generated code.. -// 4. External script tag defines var Module. -// We need to check if Module already exists (e.g. case 3 above). -// Substitution will be replaced with actual code on later stage of the build, -// this way Closure Compiler will not mangle it (e.g. case 4. above). -// Note that if you want to run closure, and also to use Module -// after the generated code, you will need to define var Module = {}; -// before the code. Then that object will be used in the code, and you -// can continue to use Module afterwards as well. -var Module = typeof Module != 'undefined' ? Module : {}; - -// Determine the runtime environment we are in. You can customize this by -// setting the ENVIRONMENT setting at compile time (see settings.js). - -// Attempt to auto-detect the environment -var ENVIRONMENT_IS_WEB = typeof window == 'object'; -var ENVIRONMENT_IS_WORKER = typeof WorkerGlobalScope != 'undefined'; -// N.b. Electron.js environment is simultaneously a NODE-environment, but -// also a web environment. -var ENVIRONMENT_IS_NODE = typeof process == 'object' && typeof process.versions == 'object' && typeof process.versions.node == 'string' && process.type != 'renderer'; -var ENVIRONMENT_IS_SHELL = !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_NODE && !ENVIRONMENT_IS_WORKER; - -if (ENVIRONMENT_IS_NODE) { - -} - -// --pre-jses are emitted after the Module integration code, so that they can -// refer to Module (if they choose; they can also define Module) - - -// Sometimes an existing Module object exists with properties -// meant to overwrite the default module functionality. Here -// we collect those properties and reapply _after_ we configure -// the current environment's defaults to avoid having to be so -// defensive during initialization. -var moduleOverrides = {...Module}; - -var arguments_ = []; -var thisProgram = './this.program'; -var quit_ = (status, toThrow) => { - throw toThrow; -}; - -// `/` should be present at the end if `scriptDirectory` is not empty -var scriptDirectory = ''; -function locateFile(path) { - if (Module['locateFile']) { - return Module['locateFile'](path, scriptDirectory); - } - return scriptDirectory + path; -} - -// Hooks that are implemented differently in different runtime environments. -var readAsync, readBinary; - -if (ENVIRONMENT_IS_NODE) { - if (typeof process == 'undefined' || !process.release || process.release.name !== 'node') throw new Error('not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)'); - - var nodeVersion = process.versions.node; - var numericVersion = nodeVersion.split('.').slice(0, 3); - numericVersion = (numericVersion[0] * 10000) + (numericVersion[1] * 100) + (numericVersion[2].split('-')[0] * 1); - var minVersion = 160000; - if (numericVersion < 160000) { - throw new Error('This emscripten-generated code requires node v16.0.0 (detected v' + nodeVersion + ')'); - } - - // These modules will usually be used on Node.js. Load them eagerly to avoid - // the complexity of lazy-loading. - var fs = require('fs'); - var nodePath = require('path'); - - scriptDirectory = __dirname + '/'; - -// include: node_shell_read.js -readBinary = (filename) => { - // We need to re-wrap `file://` strings to URLs. - filename = isFileURI(filename) ? new URL(filename) : filename; - var ret = fs.readFileSync(filename); - assert(Buffer.isBuffer(ret)); - return ret; -}; - -readAsync = async (filename, binary = true) => { - // See the comment in the `readBinary` function. - filename = isFileURI(filename) ? new URL(filename) : filename; - var ret = fs.readFileSync(filename, binary ? undefined : 'utf8'); - assert(binary ? Buffer.isBuffer(ret) : typeof ret == 'string'); - return ret; -}; -// end include: node_shell_read.js - if (!Module['thisProgram'] && process.argv.length > 1) { - thisProgram = process.argv[1].replace(/\\/g, '/'); - } - - arguments_ = process.argv.slice(2); - - if (typeof module != 'undefined') { - module['exports'] = Module; - } - - quit_ = (status, toThrow) => { - process.exitCode = status; - throw toThrow; - }; - -} else -if (ENVIRONMENT_IS_SHELL) { - - if ((typeof process == 'object' && typeof require === 'function') || typeof window == 'object' || typeof WorkerGlobalScope != 'undefined') throw new Error('not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)'); - -} else - -// Note that this includes Node.js workers when relevant (pthreads is enabled). -// Node.js workers are detected as a combination of ENVIRONMENT_IS_WORKER and -// ENVIRONMENT_IS_NODE. -if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) { - if (ENVIRONMENT_IS_WORKER) { // Check worker, not web, since window could be polyfilled - scriptDirectory = self.location.href; - } else if (typeof document != 'undefined' && document.currentScript) { // web - scriptDirectory = document.currentScript.src; - } - // blob urls look like blob:http://site.com/etc/etc and we cannot infer anything from them. - // otherwise, slice off the final part of the url to find the script directory. - // if scriptDirectory does not contain a slash, lastIndexOf will return -1, - // and scriptDirectory will correctly be replaced with an empty string. - // If scriptDirectory contains a query (starting with ?) or a fragment (starting with #), - // they are removed because they could contain a slash. - if (scriptDirectory.startsWith('blob:')) { - scriptDirectory = ''; - } else { - scriptDirectory = scriptDirectory.slice(0, scriptDirectory.replace(/[?#].*/, '').lastIndexOf('/')+1); - } - - if (!(typeof window == 'object' || typeof WorkerGlobalScope != 'undefined')) throw new Error('not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)'); - - { -// include: web_or_worker_shell_read.js -if (ENVIRONMENT_IS_WORKER) { - readBinary = (url) => { - var xhr = new XMLHttpRequest(); - xhr.open('GET', url, false); - xhr.responseType = 'arraybuffer'; - xhr.send(null); - return new Uint8Array(/** @type{!ArrayBuffer} */(xhr.response)); - }; - } - - readAsync = async (url) => { - // Fetch has some additional restrictions over XHR, like it can't be used on a file:// url. - // See https://github.com/github/fetch/pull/92#issuecomment-140665932 - // Cordova or Electron apps are typically loaded from a file:// url. - // So use XHR on webview if URL is a file URL. - if (isFileURI(url)) { - return new Promise((resolve, reject) => { - var xhr = new XMLHttpRequest(); - xhr.open('GET', url, true); - xhr.responseType = 'arraybuffer'; - xhr.onload = () => { - if (xhr.status == 200 || (xhr.status == 0 && xhr.response)) { // file URLs can return 0 - resolve(xhr.response); - return; - } - reject(xhr.status); - }; - xhr.onerror = reject; - xhr.send(null); - }); - } - var response = await fetch(url, { credentials: 'same-origin' }); - if (response.ok) { - return response.arrayBuffer(); - } - throw new Error(response.status + ' : ' + response.url); - }; -// end include: web_or_worker_shell_read.js - } -} else -{ - throw new Error('environment detection error'); -} - -var out = Module['print'] || console.log.bind(console); -var err = Module['printErr'] || console.error.bind(console); - -// Merge back in the overrides -Object.assign(Module, moduleOverrides); -// Free the object hierarchy contained in the overrides, this lets the GC -// reclaim data used. -moduleOverrides = null; -checkIncomingModuleAPI(); - -// Emit code to handle expected values on the Module object. This applies Module.x -// to the proper local x. This has two benefits: first, we only emit it if it is -// expected to arrive, and second, by using a local everywhere else that can be -// minified. - -if (Module['arguments']) arguments_ = Module['arguments'];legacyModuleProp('arguments', 'arguments_'); - -if (Module['thisProgram']) thisProgram = Module['thisProgram'];legacyModuleProp('thisProgram', 'thisProgram'); - -// perform assertions in shell.js after we set up out() and err(), as otherwise if an assertion fails it cannot print the message -// Assertions on removed incoming Module JS APIs. -assert(typeof Module['memoryInitializerPrefixURL'] == 'undefined', 'Module.memoryInitializerPrefixURL option was removed, use Module.locateFile instead'); -assert(typeof Module['pthreadMainPrefixURL'] == 'undefined', 'Module.pthreadMainPrefixURL option was removed, use Module.locateFile instead'); -assert(typeof Module['cdInitializerPrefixURL'] == 'undefined', 'Module.cdInitializerPrefixURL option was removed, use Module.locateFile instead'); -assert(typeof Module['filePackagePrefixURL'] == 'undefined', 'Module.filePackagePrefixURL option was removed, use Module.locateFile instead'); -assert(typeof Module['read'] == 'undefined', 'Module.read option was removed'); -assert(typeof Module['readAsync'] == 'undefined', 'Module.readAsync option was removed (modify readAsync in JS)'); -assert(typeof Module['readBinary'] == 'undefined', 'Module.readBinary option was removed (modify readBinary in JS)'); -assert(typeof Module['setWindowTitle'] == 'undefined', 'Module.setWindowTitle option was removed (modify emscripten_set_window_title in JS)'); -assert(typeof Module['TOTAL_MEMORY'] == 'undefined', 'Module.TOTAL_MEMORY has been renamed Module.INITIAL_MEMORY'); -legacyModuleProp('asm', 'wasmExports'); -legacyModuleProp('readAsync', 'readAsync'); -legacyModuleProp('readBinary', 'readBinary'); -legacyModuleProp('setWindowTitle', 'setWindowTitle'); -var IDBFS = 'IDBFS is no longer included by default; build with -lidbfs.js'; -var PROXYFS = 'PROXYFS is no longer included by default; build with -lproxyfs.js'; -var WORKERFS = 'WORKERFS is no longer included by default; build with -lworkerfs.js'; -var FETCHFS = 'FETCHFS is no longer included by default; build with -lfetchfs.js'; -var ICASEFS = 'ICASEFS is no longer included by default; build with -licasefs.js'; -var JSFILEFS = 'JSFILEFS is no longer included by default; build with -ljsfilefs.js'; -var OPFS = 'OPFS is no longer included by default; build with -lopfs.js'; - -var NODEFS = 'NODEFS is no longer included by default; build with -lnodefs.js'; - -assert(!ENVIRONMENT_IS_SHELL, 'shell environment detected but not enabled at build time. Add `shell` to `-sENVIRONMENT` to enable.'); - -// end include: shell.js - -// include: preamble.js -// === Preamble library stuff === - -// Documentation for the public APIs defined in this file must be updated in: -// site/source/docs/api_reference/preamble.js.rst -// A prebuilt local version of the documentation is available at: -// site/build/text/docs/api_reference/preamble.js.txt -// You can also build docs locally as HTML or other formats in site/ -// An online HTML version (which may be of a different version of Emscripten) -// is up at http://kripken.github.io/emscripten-site/docs/api_reference/preamble.js.html - -var wasmBinary = Module['wasmBinary'];legacyModuleProp('wasmBinary', 'wasmBinary'); - -if (typeof WebAssembly != 'object') { - err('no native wasm support detected'); -} - -// Wasm globals - -var wasmMemory; - -//======================================== -// Runtime essentials -//======================================== - -// whether we are quitting the application. no code should run after this. -// set in exit() and abort() -var ABORT = false; - -// set by exit() and abort(). Passed to 'onExit' handler. -// NOTE: This is also used as the process return code code in shell environments -// but only when noExitRuntime is false. -var EXITSTATUS; - -// In STRICT mode, we only define assert() when ASSERTIONS is set. i.e. we -// don't define it at all in release modes. This matches the behaviour of -// MINIMAL_RUNTIME. -// TODO(sbc): Make this the default even without STRICT enabled. -/** @type {function(*, string=)} */ -function assert(condition, text) { - if (!condition) { - abort('Assertion failed' + (text ? ': ' + text : '')); - } -} - -// We used to include malloc/free by default in the past. Show a helpful error in -// builds with assertions. -function _malloc() { - abort('malloc() called but not included in the build - add `_malloc` to EXPORTED_FUNCTIONS'); -} -function _free() { - // Show a helpful error since we used to include free by default in the past. - abort('free() called but not included in the build - add `_free` to EXPORTED_FUNCTIONS'); -} - -// Memory management - -var HEAP, -/** @type {!Int8Array} */ - HEAP8, -/** @type {!Uint8Array} */ - HEAPU8, -/** @type {!Int16Array} */ - HEAP16, -/** @type {!Uint16Array} */ - HEAPU16, -/** @type {!Int32Array} */ - HEAP32, -/** @type {!Uint32Array} */ - HEAPU32, -/** @type {!Float32Array} */ - HEAPF32, -/* BigInt64Array type is not correctly defined in closure -/** not-@type {!BigInt64Array} */ - HEAP64, -/* BigUint64Array type is not correctly defined in closure -/** not-t@type {!BigUint64Array} */ - HEAPU64, -/** @type {!Float64Array} */ - HEAPF64; - -var runtimeInitialized = false; - -/** - * Indicates whether filename is delivered via file protocol (as opposed to http/https) - * @noinline - */ -var isFileURI = (filename) => filename.startsWith('file://'); - -// include: runtime_shared.js -// include: runtime_stack_check.js -// Initializes the stack cookie. Called at the startup of main and at the startup of each thread in pthreads mode. -function writeStackCookie() { - var max = _emscripten_stack_get_end(); - assert((max & 3) == 0); - // If the stack ends at address zero we write our cookies 4 bytes into the - // stack. This prevents interference with SAFE_HEAP and ASAN which also - // monitor writes to address zero. - if (max == 0) { - max += 4; - } - // The stack grow downwards towards _emscripten_stack_get_end. - // We write cookies to the final two words in the stack and detect if they are - // ever overwritten. - HEAPU32[((max)>>2)] = 0x02135467; - HEAPU32[(((max)+(4))>>2)] = 0x89BACDFE; - // Also test the global address 0 for integrity. - HEAPU32[((0)>>2)] = 1668509029; -} - -function checkStackCookie() { - if (ABORT) return; - var max = _emscripten_stack_get_end(); - // See writeStackCookie(). - if (max == 0) { - max += 4; - } - var cookie1 = HEAPU32[((max)>>2)]; - var cookie2 = HEAPU32[(((max)+(4))>>2)]; - if (cookie1 != 0x02135467 || cookie2 != 0x89BACDFE) { - abort(`Stack overflow! Stack cookie has been overwritten at ${ptrToString(max)}, expected hex dwords 0x89BACDFE and 0x2135467, but received ${ptrToString(cookie2)} ${ptrToString(cookie1)}`); - } - // Also test the global address 0 for integrity. - if (HEAPU32[((0)>>2)] != 0x63736d65 /* 'emsc' */) { - abort('Runtime error: The application has corrupted its heap memory area (address zero)!'); - } -} -// end include: runtime_stack_check.js -// include: runtime_exceptions.js -// end include: runtime_exceptions.js -// include: runtime_debug.js -// Endianness check -(() => { - var h16 = new Int16Array(1); - var h8 = new Int8Array(h16.buffer); - h16[0] = 0x6373; - if (h8[0] !== 0x73 || h8[1] !== 0x63) throw 'Runtime error: expected the system to be little-endian! (Run with -sSUPPORT_BIG_ENDIAN to bypass)'; -})(); - -if (Module['ENVIRONMENT']) { - throw new Error('Module.ENVIRONMENT has been deprecated. To force the environment, use the ENVIRONMENT compile-time option (for example, -sENVIRONMENT=web or -sENVIRONMENT=node)'); -} - -function legacyModuleProp(prop, newName, incoming=true) { - if (!Object.getOwnPropertyDescriptor(Module, prop)) { - Object.defineProperty(Module, prop, { - configurable: true, - get() { - let extra = incoming ? ' (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)' : ''; - abort(`\`Module.${prop}\` has been replaced by \`${newName}\`` + extra); - - } - }); - } -} - -function consumedModuleProp(prop) { - if (!Object.getOwnPropertyDescriptor(Module, prop)) { - Object.defineProperty(Module, prop, { - configurable: true, - set() { - abort(`Attempt to set \`Module.${prop}\` after it has already been processed. This can happen, for example, when code is injected via '--post-js' rather than '--pre-js'`); - - } - }); - } -} - -function ignoredModuleProp(prop) { - if (Object.getOwnPropertyDescriptor(Module, prop)) { - abort(`\`Module.${prop}\` was supplied but \`${prop}\` not included in INCOMING_MODULE_JS_API`); - } -} - -// forcing the filesystem exports a few things by default -function isExportedByForceFilesystem(name) { - return name === 'FS_createPath' || - name === 'FS_createDataFile' || - name === 'FS_createPreloadedFile' || - name === 'FS_unlink' || - name === 'addRunDependency' || - // The old FS has some functionality that WasmFS lacks. - name === 'FS_createLazyFile' || - name === 'FS_createDevice' || - name === 'removeRunDependency'; -} - -/** - * Intercept access to a global symbol. This enables us to give informative - * warnings/errors when folks attempt to use symbols they did not include in - * their build, or no symbols that no longer exist. - */ -function hookGlobalSymbolAccess(sym, func) { - if (typeof globalThis != 'undefined' && !Object.getOwnPropertyDescriptor(globalThis, sym)) { - Object.defineProperty(globalThis, sym, { - configurable: true, - get() { - func(); - return undefined; - } - }); - } -} - -function missingGlobal(sym, msg) { - hookGlobalSymbolAccess(sym, () => { - warnOnce(`\`${sym}\` is not longer defined by emscripten. ${msg}`); - }); -} - -missingGlobal('buffer', 'Please use HEAP8.buffer or wasmMemory.buffer'); -missingGlobal('asm', 'Please use wasmExports instead'); - -function missingLibrarySymbol(sym) { - hookGlobalSymbolAccess(sym, () => { - // Can't `abort()` here because it would break code that does runtime - // checks. e.g. `if (typeof SDL === 'undefined')`. - var msg = `\`${sym}\` is a library symbol and not included by default; add it to your library.js __deps or to DEFAULT_LIBRARY_FUNCS_TO_INCLUDE on the command line`; - // DEFAULT_LIBRARY_FUNCS_TO_INCLUDE requires the name as it appears in - // library.js, which means $name for a JS name with no prefix, or name - // for a JS name like _name. - var librarySymbol = sym; - if (!librarySymbol.startsWith('_')) { - librarySymbol = '$' + sym; - } - msg += ` (e.g. -sDEFAULT_LIBRARY_FUNCS_TO_INCLUDE='${librarySymbol}')`; - if (isExportedByForceFilesystem(sym)) { - msg += '. Alternatively, forcing filesystem support (-sFORCE_FILESYSTEM) can export this for you'; - } - warnOnce(msg); - }); - - // Any symbol that is not included from the JS library is also (by definition) - // not exported on the Module object. - unexportedRuntimeSymbol(sym); -} - -function unexportedRuntimeSymbol(sym) { - if (!Object.getOwnPropertyDescriptor(Module, sym)) { - Object.defineProperty(Module, sym, { - configurable: true, - get() { - var msg = `'${sym}' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the Emscripten FAQ)`; - if (isExportedByForceFilesystem(sym)) { - msg += '. Alternatively, forcing filesystem support (-sFORCE_FILESYSTEM) can export this for you'; - } - abort(msg); - } - }); - } -} - -var runtimeDebug = true; // Switch to false at runtime to disable logging at the right times - -// Used by XXXXX_DEBUG settings to output debug messages. -function dbg(...args) { - if (!runtimeDebug && typeof runtimeDebug != 'undefined') return; - // TODO(sbc): Make this configurable somehow. Its not always convenient for - // logging to show up as warnings. - console.warn(...args); -} -// end include: runtime_debug.js -// include: memoryprofiler.js -// end include: memoryprofiler.js - - -function updateMemoryViews() { - var b = wasmMemory.buffer; - Module['HEAP8'] = HEAP8 = new Int8Array(b); - Module['HEAP16'] = HEAP16 = new Int16Array(b); - Module['HEAPU8'] = HEAPU8 = new Uint8Array(b); - Module['HEAPU16'] = HEAPU16 = new Uint16Array(b); - Module['HEAP32'] = HEAP32 = new Int32Array(b); - Module['HEAPU32'] = HEAPU32 = new Uint32Array(b); - Module['HEAPF32'] = HEAPF32 = new Float32Array(b); - Module['HEAPF64'] = HEAPF64 = new Float64Array(b); - Module['HEAP64'] = HEAP64 = new BigInt64Array(b); - Module['HEAPU64'] = HEAPU64 = new BigUint64Array(b); -} - -// end include: runtime_shared.js -assert(!Module['STACK_SIZE'], 'STACK_SIZE can no longer be set at runtime. Use -sSTACK_SIZE at link time') - -assert(typeof Int32Array != 'undefined' && typeof Float64Array !== 'undefined' && Int32Array.prototype.subarray != undefined && Int32Array.prototype.set != undefined, - 'JS engine does not provide full typed array support'); - -// If memory is defined in wasm, the user can't provide it, or set INITIAL_MEMORY -assert(!Module['wasmMemory'], 'Use of `wasmMemory` detected. Use -sIMPORTED_MEMORY to define wasmMemory externally'); -assert(!Module['INITIAL_MEMORY'], 'Detected runtime INITIAL_MEMORY setting. Use -sIMPORTED_MEMORY to define wasmMemory dynamically'); - -function preRun() { - if (Module['preRun']) { - if (typeof Module['preRun'] == 'function') Module['preRun'] = [Module['preRun']]; - while (Module['preRun'].length) { - addOnPreRun(Module['preRun'].shift()); - } - } - consumedModuleProp('preRun'); - callRuntimeCallbacks(onPreRuns); -} - -function initRuntime() { - assert(!runtimeInitialized); - runtimeInitialized = true; - - checkStackCookie(); - - - - wasmExports['__wasm_call_ctors'](); - - -} - -function preMain() { - checkStackCookie(); - -} - -function postRun() { - checkStackCookie(); - - if (Module['postRun']) { - if (typeof Module['postRun'] == 'function') Module['postRun'] = [Module['postRun']]; - while (Module['postRun'].length) { - addOnPostRun(Module['postRun'].shift()); - } - } - consumedModuleProp('postRun'); - - callRuntimeCallbacks(onPostRuns); -} - -// A counter of dependencies for calling run(). If we need to -// do asynchronous work before running, increment this and -// decrement it. Incrementing must happen in a place like -// Module.preRun (used by emcc to add file preloading). -// Note that you can add dependencies in preRun, even though -// it happens right before run - run will be postponed until -// the dependencies are met. -var runDependencies = 0; -var dependenciesFulfilled = null; // overridden to take different actions when all run dependencies are fulfilled -var runDependencyTracking = {}; -var runDependencyWatcher = null; - -function getUniqueRunDependency(id) { - var orig = id; - while (1) { - if (!runDependencyTracking[id]) return id; - id = orig + Math.random(); - } -} - -function addRunDependency(id) { - runDependencies++; - - Module['monitorRunDependencies']?.(runDependencies); - - if (id) { - assert(!runDependencyTracking[id]); - runDependencyTracking[id] = 1; - if (runDependencyWatcher === null && typeof setInterval != 'undefined') { - // Check for missing dependencies every few seconds - runDependencyWatcher = setInterval(() => { - if (ABORT) { - clearInterval(runDependencyWatcher); - runDependencyWatcher = null; - return; - } - var shown = false; - for (var dep in runDependencyTracking) { - if (!shown) { - shown = true; - err('still waiting on run dependencies:'); - } - err(`dependency: ${dep}`); - } - if (shown) { - err('(end of list)'); - } - }, 10000); - } - } else { - err('warning: run dependency added without ID'); - } -} - -function removeRunDependency(id) { - runDependencies--; - - Module['monitorRunDependencies']?.(runDependencies); - - if (id) { - assert(runDependencyTracking[id]); - delete runDependencyTracking[id]; - } else { - err('warning: run dependency removed without ID'); - } - if (runDependencies == 0) { - if (runDependencyWatcher !== null) { - clearInterval(runDependencyWatcher); - runDependencyWatcher = null; - } - if (dependenciesFulfilled) { - var callback = dependenciesFulfilled; - dependenciesFulfilled = null; - callback(); // can add another dependenciesFulfilled - } - } -} - -/** @param {string|number=} what */ -function abort(what) { - Module['onAbort']?.(what); - - what = 'Aborted(' + what + ')'; - // TODO(sbc): Should we remove printing and leave it up to whoever - // catches the exception? - err(what); - - ABORT = true; - - // Use a wasm runtime error, because a JS error might be seen as a foreign - // exception, which means we'd run destructors on it. We need the error to - // simply make the program stop. - // FIXME This approach does not work in Wasm EH because it currently does not assume - // all RuntimeErrors are from traps; it decides whether a RuntimeError is from - // a trap or not based on a hidden field within the object. So at the moment - // we don't have a way of throwing a wasm trap from JS. TODO Make a JS API that - // allows this in the wasm spec. - - // Suppress closure compiler warning here. Closure compiler's builtin extern - // definition for WebAssembly.RuntimeError claims it takes no arguments even - // though it can. - // TODO(https://github.com/google/closure-compiler/pull/3913): Remove if/when upstream closure gets fixed. - /** @suppress {checkTypes} */ - var e = new WebAssembly.RuntimeError(what); - - // Throw the error whether or not MODULARIZE is set because abort is used - // in code paths apart from instantiation where an exception is expected - // to be thrown when abort is called. - throw e; -} - -// show errors on likely calls to FS when it was not included -var FS = { - error() { - abort('Filesystem support (FS) was not included. The problem is that you are using files from JS, but files were not used from C/C++, so filesystem support was not auto-included. You can force-include filesystem support with -sFORCE_FILESYSTEM'); - }, - init() { FS.error() }, - createDataFile() { FS.error() }, - createPreloadedFile() { FS.error() }, - createLazyFile() { FS.error() }, - open() { FS.error() }, - mkdev() { FS.error() }, - registerDevice() { FS.error() }, - analyzePath() { FS.error() }, - - ErrnoError() { FS.error() }, -}; -Module['FS_createDataFile'] = FS.createDataFile; -Module['FS_createPreloadedFile'] = FS.createPreloadedFile; - -function createExportWrapper(name, nargs) { - return (...args) => { - assert(runtimeInitialized, `native function \`${name}\` called before runtime initialization`); - var f = wasmExports[name]; - assert(f, `exported native function \`${name}\` not found`); - // Only assert for too many arguments. Too few can be valid since the missing arguments will be zero filled. - assert(args.length <= nargs, `native function \`${name}\` called with ${args.length} args but expects ${nargs}`); - return f(...args); - }; -} - -var wasmBinaryFile; - -function findWasmBinary() { - return locateFile('cmTC_712e3.wasm'); -} - -function getBinarySync(file) { - if (file == wasmBinaryFile && wasmBinary) { - return new Uint8Array(wasmBinary); - } - if (readBinary) { - return readBinary(file); - } - throw 'both async and sync fetching of the wasm failed'; -} - -async function getWasmBinary(binaryFile) { - // If we don't have the binary yet, load it asynchronously using readAsync. - if (!wasmBinary) { - // Fetch the binary using readAsync - try { - var response = await readAsync(binaryFile); - return new Uint8Array(response); - } catch { - // Fall back to getBinarySync below; - } - } - - // Otherwise, getBinarySync should be able to get it synchronously - return getBinarySync(binaryFile); -} - -async function instantiateArrayBuffer(binaryFile, imports) { - try { - var binary = await getWasmBinary(binaryFile); - var instance = await WebAssembly.instantiate(binary, imports); - return instance; - } catch (reason) { - err(`failed to asynchronously prepare wasm: ${reason}`); - - // Warn on some common problems. - if (isFileURI(wasmBinaryFile)) { - err(`warning: Loading from a file URI (${wasmBinaryFile}) is not supported in most browsers. See https://emscripten.org/docs/getting_started/FAQ.html#how-do-i-run-a-local-webserver-for-testing-why-does-my-program-stall-in-downloading-or-preparing`); - } - abort(reason); - } -} - -async function instantiateAsync(binary, binaryFile, imports) { - if (!binary && typeof WebAssembly.instantiateStreaming == 'function' - // Don't use streaming for file:// delivered objects in a webview, fetch them synchronously. - && !isFileURI(binaryFile) - // Avoid instantiateStreaming() on Node.js environment for now, as while - // Node.js v18.1.0 implements it, it does not have a full fetch() - // implementation yet. - // - // Reference: - // https://github.com/emscripten-core/emscripten/pull/16917 - && !ENVIRONMENT_IS_NODE - ) { - try { - var response = fetch(binaryFile, { credentials: 'same-origin' }); - var instantiationResult = await WebAssembly.instantiateStreaming(response, imports); - return instantiationResult; - } catch (reason) { - // We expect the most common failure cause to be a bad MIME type for the binary, - // in which case falling back to ArrayBuffer instantiation should work. - err(`wasm streaming compile failed: ${reason}`); - err('falling back to ArrayBuffer instantiation'); - // fall back of instantiateArrayBuffer below - }; - } - return instantiateArrayBuffer(binaryFile, imports); -} - -function getWasmImports() { - // prepare imports - return { - 'env': wasmImports, - 'wasi_snapshot_preview1': wasmImports, - } -} - -// Create the wasm instance. -// Receives the wasm imports, returns the exports. -async function createWasm() { - // Load the wasm module and create an instance of using native support in the JS engine. - // handle a generated wasm instance, receiving its exports and - // performing other necessary setup - /** @param {WebAssembly.Module=} module*/ - function receiveInstance(instance, module) { - wasmExports = instance.exports; - - - - wasmMemory = wasmExports['memory']; - - assert(wasmMemory, 'memory not found in wasm exports'); - updateMemoryViews(); - - removeRunDependency('wasm-instantiate'); - return wasmExports; - } - // wait for the pthread pool (if any) - addRunDependency('wasm-instantiate'); - - // Prefer streaming instantiation if available. - // Async compilation can be confusing when an error on the page overwrites Module - // (for example, if the order of elements is wrong, and the one defining Module is - // later), so we save Module and check it later. - var trueModule = Module; - function receiveInstantiationResult(result) { - // 'result' is a ResultObject object which has both the module and instance. - // receiveInstance() will swap in the exports (to Module.asm) so they can be called - assert(Module === trueModule, 'the Module object should not be replaced during async compilation - perhaps the order of HTML elements is wrong?'); - trueModule = null; - // TODO: Due to Closure regression https://github.com/google/closure-compiler/issues/3193, the above line no longer optimizes out down to the following line. - // When the regression is fixed, can restore the above PTHREADS-enabled path. - return receiveInstance(result['instance']); - } - - var info = getWasmImports(); - - // User shell pages can write their own Module.instantiateWasm = function(imports, successCallback) callback - // to manually instantiate the Wasm module themselves. This allows pages to - // run the instantiation parallel to any other async startup actions they are - // performing. - // Also pthreads and wasm workers initialize the wasm instance through this - // path. - if (Module['instantiateWasm']) { - return new Promise((resolve, reject) => { - try { - Module['instantiateWasm'](info, (mod, inst) => { - receiveInstance(mod, inst); - resolve(mod.exports); - }); - } catch(e) { - err(`Module.instantiateWasm callback failed with error: ${e}`); - reject(e); - } - }); - } - - wasmBinaryFile ??= findWasmBinary(); - var result = await instantiateAsync(wasmBinary, wasmBinaryFile, info); - var exports = receiveInstantiationResult(result); - return exports; -} - -// end include: preamble.js - -// Begin JS library code - - - class ExitStatus { - name = 'ExitStatus'; - constructor(status) { - this.message = `Program terminated with exit(${status})`; - this.status = status; - } - } - - var callRuntimeCallbacks = (callbacks) => { - while (callbacks.length > 0) { - // Pass the module as the first argument. - callbacks.shift()(Module); - } - }; - var onPostRuns = []; - var addOnPostRun = (cb) => onPostRuns.unshift(cb); - - var onPreRuns = []; - var addOnPreRun = (cb) => onPreRuns.unshift(cb); - - - - /** - * @param {number} ptr - * @param {string} type - */ - function getValue(ptr, type = 'i8') { - if (type.endsWith('*')) type = '*'; - switch (type) { - case 'i1': return HEAP8[ptr]; - case 'i8': return HEAP8[ptr]; - case 'i16': return HEAP16[((ptr)>>1)]; - case 'i32': return HEAP32[((ptr)>>2)]; - case 'i64': return HEAP64[((ptr)>>3)]; - case 'float': return HEAPF32[((ptr)>>2)]; - case 'double': return HEAPF64[((ptr)>>3)]; - case '*': return HEAPU32[((ptr)>>2)]; - default: abort(`invalid type for getValue: ${type}`); - } - } - - var noExitRuntime = Module['noExitRuntime'] || true; - - var ptrToString = (ptr) => { - assert(typeof ptr === 'number'); - // With CAN_ADDRESS_2GB or MEMORY64, pointers are already unsigned. - ptr >>>= 0; - return '0x' + ptr.toString(16).padStart(8, '0'); - }; - - - /** - * @param {number} ptr - * @param {number} value - * @param {string} type - */ - function setValue(ptr, value, type = 'i8') { - if (type.endsWith('*')) type = '*'; - switch (type) { - case 'i1': HEAP8[ptr] = value; break; - case 'i8': HEAP8[ptr] = value; break; - case 'i16': HEAP16[((ptr)>>1)] = value; break; - case 'i32': HEAP32[((ptr)>>2)] = value; break; - case 'i64': HEAP64[((ptr)>>3)] = BigInt(value); break; - case 'float': HEAPF32[((ptr)>>2)] = value; break; - case 'double': HEAPF64[((ptr)>>3)] = value; break; - case '*': HEAPU32[((ptr)>>2)] = value; break; - default: abort(`invalid type for setValue: ${type}`); - } - } - - var stackRestore = (val) => __emscripten_stack_restore(val); - - var stackSave = () => _emscripten_stack_get_current(); - - var warnOnce = (text) => { - warnOnce.shown ||= {}; - if (!warnOnce.shown[text]) { - warnOnce.shown[text] = 1; - if (ENVIRONMENT_IS_NODE) text = 'warning: ' + text; - err(text); - } - }; - - - var runtimeKeepaliveCounter = 0; - var keepRuntimeAlive = () => noExitRuntime || runtimeKeepaliveCounter > 0; - var _proc_exit = (code) => { - EXITSTATUS = code; - if (!keepRuntimeAlive()) { - Module['onExit']?.(code); - ABORT = true; - } - quit_(code, new ExitStatus(code)); - }; - - - /** @param {boolean|number=} implicit */ - var exitJS = (status, implicit) => { - EXITSTATUS = status; - - checkUnflushedContent(); - - // if exit() was called explicitly, warn the user if the runtime isn't actually being shut down - if (keepRuntimeAlive() && !implicit) { - var msg = `program exited (with status: ${status}), but keepRuntimeAlive() is set (counter=${runtimeKeepaliveCounter}) due to an async operation, so halting execution but not exiting the runtime or preventing further async execution (you can use emscripten_force_exit, if you want to force a true shutdown)`; - err(msg); - } - - _proc_exit(status); - }; - - var handleException = (e) => { - // Certain exception types we do not treat as errors since they are used for - // internal control flow. - // 1. ExitStatus, which is thrown by exit() - // 2. "unwind", which is thrown by emscripten_unwind_to_js_event_loop() and others - // that wish to return to JS event loop. - if (e instanceof ExitStatus || e == 'unwind') { - return EXITSTATUS; - } - checkStackCookie(); - if (e instanceof WebAssembly.RuntimeError) { - if (_emscripten_stack_get_current() <= 0) { - err('Stack overflow detected. You can try increasing -sSTACK_SIZE (currently set to 65536)'); - } - } - quit_(1, e); - }; - - var lengthBytesUTF8 = (str) => { - var len = 0; - for (var i = 0; i < str.length; ++i) { - // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code - // unit, not a Unicode code point of the character! So decode - // UTF16->UTF32->UTF8. - // See http://unicode.org/faq/utf_bom.html#utf16-3 - var c = str.charCodeAt(i); // possibly a lead surrogate - if (c <= 0x7F) { - len++; - } else if (c <= 0x7FF) { - len += 2; - } else if (c >= 0xD800 && c <= 0xDFFF) { - len += 4; ++i; - } else { - len += 3; - } - } - return len; - }; - - var stringToUTF8Array = (str, heap, outIdx, maxBytesToWrite) => { - assert(typeof str === 'string', `stringToUTF8Array expects a string (got ${typeof str})`); - // Parameter maxBytesToWrite is not optional. Negative values, 0, null, - // undefined and false each don't write out any bytes. - if (!(maxBytesToWrite > 0)) - return 0; - - var startIdx = outIdx; - var endIdx = outIdx + maxBytesToWrite - 1; // -1 for string null terminator. - for (var i = 0; i < str.length; ++i) { - // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code - // unit, not a Unicode code point of the character! So decode - // UTF16->UTF32->UTF8. - // See http://unicode.org/faq/utf_bom.html#utf16-3 - // For UTF8 byte structure, see http://en.wikipedia.org/wiki/UTF-8#Description - // and https://www.ietf.org/rfc/rfc2279.txt - // and https://tools.ietf.org/html/rfc3629 - var u = str.charCodeAt(i); // possibly a lead surrogate - if (u >= 0xD800 && u <= 0xDFFF) { - var u1 = str.charCodeAt(++i); - u = 0x10000 + ((u & 0x3FF) << 10) | (u1 & 0x3FF); - } - if (u <= 0x7F) { - if (outIdx >= endIdx) break; - heap[outIdx++] = u; - } else if (u <= 0x7FF) { - if (outIdx + 1 >= endIdx) break; - heap[outIdx++] = 0xC0 | (u >> 6); - heap[outIdx++] = 0x80 | (u & 63); - } else if (u <= 0xFFFF) { - if (outIdx + 2 >= endIdx) break; - heap[outIdx++] = 0xE0 | (u >> 12); - heap[outIdx++] = 0x80 | ((u >> 6) & 63); - heap[outIdx++] = 0x80 | (u & 63); - } else { - if (outIdx + 3 >= endIdx) break; - if (u > 0x10FFFF) warnOnce('Invalid Unicode code point ' + ptrToString(u) + ' encountered when serializing a JS string to a UTF-8 string in wasm memory! (Valid unicode code points should be in range 0-0x10FFFF).'); - heap[outIdx++] = 0xF0 | (u >> 18); - heap[outIdx++] = 0x80 | ((u >> 12) & 63); - heap[outIdx++] = 0x80 | ((u >> 6) & 63); - heap[outIdx++] = 0x80 | (u & 63); - } - } - // Null-terminate the pointer to the buffer. - heap[outIdx] = 0; - return outIdx - startIdx; - }; - var stringToUTF8 = (str, outPtr, maxBytesToWrite) => { - assert(typeof maxBytesToWrite == 'number', 'stringToUTF8(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!'); - return stringToUTF8Array(str, HEAPU8, outPtr, maxBytesToWrite); - }; - - var stackAlloc = (sz) => __emscripten_stack_alloc(sz); - var stringToUTF8OnStack = (str) => { - var size = lengthBytesUTF8(str) + 1; - var ret = stackAlloc(size); - stringToUTF8(str, ret, size); - return ret; - }; -// End JS library code - -function checkIncomingModuleAPI() { - ignoredModuleProp('fetchSettings'); -} -var wasmImports = { - -}; -var wasmExports; -createWasm(); -var ___wasm_call_ctors = createExportWrapper('__wasm_call_ctors', 0); -var _main = Module['_main'] = createExportWrapper('__main_argc_argv', 2); -var _fflush = createExportWrapper('fflush', 1); -var _emscripten_stack_init = () => (_emscripten_stack_init = wasmExports['emscripten_stack_init'])(); -var _emscripten_stack_get_free = () => (_emscripten_stack_get_free = wasmExports['emscripten_stack_get_free'])(); -var _emscripten_stack_get_base = () => (_emscripten_stack_get_base = wasmExports['emscripten_stack_get_base'])(); -var _emscripten_stack_get_end = () => (_emscripten_stack_get_end = wasmExports['emscripten_stack_get_end'])(); -var __emscripten_stack_restore = (a0) => (__emscripten_stack_restore = wasmExports['_emscripten_stack_restore'])(a0); -var __emscripten_stack_alloc = (a0) => (__emscripten_stack_alloc = wasmExports['_emscripten_stack_alloc'])(a0); -var _emscripten_stack_get_current = () => (_emscripten_stack_get_current = wasmExports['emscripten_stack_get_current'])(); - - -// include: postamble.js -// === Auto-generated postamble setup entry stuff === - -var missingLibrarySymbols = [ - 'writeI53ToI64', - 'writeI53ToI64Clamped', - 'writeI53ToI64Signaling', - 'writeI53ToU64Clamped', - 'writeI53ToU64Signaling', - 'readI53FromI64', - 'readI53FromU64', - 'convertI32PairToI53', - 'convertI32PairToI53Checked', - 'convertU32PairToI53', - 'bigintToI53Checked', - 'getTempRet0', - 'setTempRet0', - 'zeroMemory', - 'getHeapMax', - 'abortOnCannotGrowMemory', - 'growMemory', - 'strError', - 'inetPton4', - 'inetNtop4', - 'inetPton6', - 'inetNtop6', - 'readSockaddr', - 'writeSockaddr', - 'emscriptenLog', - 'readEmAsmArgs', - 'jstoi_q', - 'getExecutableName', - 'listenOnce', - 'autoResumeAudioContext', - 'getDynCaller', - 'dynCall', - 'runtimeKeepalivePush', - 'runtimeKeepalivePop', - 'callUserCallback', - 'maybeExit', - 'asmjsMangle', - 'asyncLoad', - 'alignMemory', - 'mmapAlloc', - 'HandleAllocator', - 'getNativeTypeSize', - 'addOnInit', - 'addOnPostCtor', - 'addOnPreMain', - 'addOnExit', - 'STACK_SIZE', - 'STACK_ALIGN', - 'POINTER_SIZE', - 'ASSERTIONS', - 'getCFunc', - 'ccall', - 'cwrap', - 'uleb128Encode', - 'sigToWasmTypes', - 'generateFuncType', - 'convertJsFunctionToWasm', - 'getEmptyTableSlot', - 'updateTableMap', - 'getFunctionAddress', - 'addFunction', - 'removeFunction', - 'reallyNegative', - 'unSign', - 'strLen', - 'reSign', - 'formatString', - 'UTF8ArrayToString', - 'UTF8ToString', - 'intArrayFromString', - 'intArrayToString', - 'AsciiToString', - 'stringToAscii', - 'UTF16ToString', - 'stringToUTF16', - 'lengthBytesUTF16', - 'UTF32ToString', - 'stringToUTF32', - 'lengthBytesUTF32', - 'stringToNewUTF8', - 'writeArrayToMemory', - 'registerKeyEventCallback', - 'maybeCStringToJsString', - 'findEventTarget', - 'getBoundingClientRect', - 'fillMouseEventData', - 'registerMouseEventCallback', - 'registerWheelEventCallback', - 'registerUiEventCallback', - 'registerFocusEventCallback', - 'fillDeviceOrientationEventData', - 'registerDeviceOrientationEventCallback', - 'fillDeviceMotionEventData', - 'registerDeviceMotionEventCallback', - 'screenOrientation', - 'fillOrientationChangeEventData', - 'registerOrientationChangeEventCallback', - 'fillFullscreenChangeEventData', - 'registerFullscreenChangeEventCallback', - 'JSEvents_requestFullscreen', - 'JSEvents_resizeCanvasForFullscreen', - 'registerRestoreOldStyle', - 'hideEverythingExceptGivenElement', - 'restoreHiddenElements', - 'setLetterbox', - 'softFullscreenResizeWebGLRenderTarget', - 'doRequestFullscreen', - 'fillPointerlockChangeEventData', - 'registerPointerlockChangeEventCallback', - 'registerPointerlockErrorEventCallback', - 'requestPointerLock', - 'fillVisibilityChangeEventData', - 'registerVisibilityChangeEventCallback', - 'registerTouchEventCallback', - 'fillGamepadEventData', - 'registerGamepadEventCallback', - 'registerBeforeUnloadEventCallback', - 'fillBatteryEventData', - 'battery', - 'registerBatteryEventCallback', - 'setCanvasElementSize', - 'getCanvasElementSize', - 'jsStackTrace', - 'getCallstack', - 'convertPCtoSourceLocation', - 'getEnvStrings', - 'checkWasiClock', - 'flush_NO_FILESYSTEM', - 'wasiRightsToMuslOFlags', - 'wasiOFlagsToMuslOFlags', - 'initRandomFill', - 'randomFill', - 'safeSetTimeout', - 'setImmediateWrapped', - 'safeRequestAnimationFrame', - 'clearImmediateWrapped', - 'registerPostMainLoop', - 'registerPreMainLoop', - 'getPromise', - 'makePromise', - 'idsToPromises', - 'makePromiseCallback', - 'ExceptionInfo', - 'findMatchingCatch', - 'Browser_asyncPrepareDataCounter', - 'isLeapYear', - 'ydayFromDate', - 'arraySum', - 'addDays', - 'getSocketFromFD', - 'getSocketAddress', - 'FS_createPreloadedFile', - 'FS_modeStringToFlags', - 'FS_getMode', - 'FS_stdin_getChar', - 'FS_unlink', - 'FS_createDataFile', - 'FS_mkdirTree', - '_setNetworkCallback', - 'heapObjectForWebGLType', - 'toTypedArrayIndex', - 'webgl_enable_ANGLE_instanced_arrays', - 'webgl_enable_OES_vertex_array_object', - 'webgl_enable_WEBGL_draw_buffers', - 'webgl_enable_WEBGL_multi_draw', - 'webgl_enable_EXT_polygon_offset_clamp', - 'webgl_enable_EXT_clip_control', - 'webgl_enable_WEBGL_polygon_mode', - 'emscriptenWebGLGet', - 'computeUnpackAlignedImageSize', - 'colorChannelsInGlTextureFormat', - 'emscriptenWebGLGetTexPixelData', - 'emscriptenWebGLGetUniform', - 'webglGetUniformLocation', - 'webglPrepareUniformLocationsBeforeFirstUse', - 'webglGetLeftBracePos', - 'emscriptenWebGLGetVertexAttrib', - '__glGetActiveAttribOrUniform', - 'writeGLArray', - 'registerWebGlEventCallback', - 'runAndAbortIfError', - 'ALLOC_NORMAL', - 'ALLOC_STACK', - 'allocate', - 'writeStringToMemory', - 'writeAsciiToMemory', - 'demangle', - 'stackTrace', -]; -missingLibrarySymbols.forEach(missingLibrarySymbol) - -var unexportedSymbols = [ - 'run', - 'addRunDependency', - 'removeRunDependency', - 'out', - 'err', - 'callMain', - 'abort', - 'wasmMemory', - 'wasmExports', - 'writeStackCookie', - 'checkStackCookie', - 'INT53_MAX', - 'INT53_MIN', - 'stackSave', - 'stackRestore', - 'stackAlloc', - 'ptrToString', - 'exitJS', - 'ENV', - 'ERRNO_CODES', - 'DNS', - 'Protocols', - 'Sockets', - 'timers', - 'warnOnce', - 'readEmAsmArgsArray', - 'jstoi_s', - 'handleException', - 'keepRuntimeAlive', - 'wasmTable', - 'noExitRuntime', - 'addOnPreRun', - 'addOnPostRun', - 'freeTableIndexes', - 'functionsInTableMap', - 'setValue', - 'getValue', - 'PATH', - 'PATH_FS', - 'UTF8Decoder', - 'stringToUTF8Array', - 'stringToUTF8', - 'lengthBytesUTF8', - 'UTF16Decoder', - 'stringToUTF8OnStack', - 'JSEvents', - 'specialHTMLTargets', - 'findCanvasEventTarget', - 'currentFullscreenStrategy', - 'restoreOldWindowedStyle', - 'UNWIND_CACHE', - 'ExitStatus', - 'emSetImmediate', - 'emClearImmediate_deps', - 'emClearImmediate', - 'promiseMap', - 'uncaughtExceptionCount', - 'exceptionLast', - 'exceptionCaught', - 'Browser', - 'getPreloadedImageData__data', - 'wget', - 'MONTH_DAYS_REGULAR', - 'MONTH_DAYS_LEAP', - 'MONTH_DAYS_REGULAR_CUMULATIVE', - 'MONTH_DAYS_LEAP_CUMULATIVE', - 'SYSCALLS', - 'preloadPlugins', - 'FS_stdin_getChar_buffer', - 'FS_createPath', - 'FS_createDevice', - 'FS_readFile', - 'FS', - 'FS_createLazyFile', - 'MEMFS', - 'TTY', - 'PIPEFS', - 'SOCKFS', - 'tempFixedLengthArray', - 'miniTempWebGLFloatBuffers', - 'miniTempWebGLIntBuffers', - 'GL', - 'AL', - 'GLUT', - 'EGL', - 'GLEW', - 'IDBStore', - 'SDL', - 'SDL_gfx', - 'allocateUTF8', - 'allocateUTF8OnStack', - 'print', - 'printErr', -]; -unexportedSymbols.forEach(unexportedRuntimeSymbol); - - - -var calledRun; - -function callMain(args = []) { - assert(runDependencies == 0, 'cannot call main when async dependencies remain! (listen on Module["onRuntimeInitialized"])'); - assert(typeof onPreRuns === 'undefined' || onPreRuns.length == 0, 'cannot call main when preRun functions remain to be called'); - - var entryFunction = _main; - - args.unshift(thisProgram); - - var argc = args.length; - var argv = stackAlloc((argc + 1) * 4); - var argv_ptr = argv; - args.forEach((arg) => { - HEAPU32[((argv_ptr)>>2)] = stringToUTF8OnStack(arg); - argv_ptr += 4; - }); - HEAPU32[((argv_ptr)>>2)] = 0; - - try { - - var ret = entryFunction(argc, argv); - - // if we're not running an evented main loop, it's time to exit - exitJS(ret, /* implicit = */ true); - return ret; - } catch (e) { - return handleException(e); - } -} - -function stackCheckInit() { - // This is normally called automatically during __wasm_call_ctors but need to - // get these values before even running any of the ctors so we call it redundantly - // here. - _emscripten_stack_init(); - // TODO(sbc): Move writeStackCookie to native to to avoid this. - writeStackCookie(); -} - -function run(args = arguments_) { - - if (runDependencies > 0) { - dependenciesFulfilled = run; - return; - } - - stackCheckInit(); - - preRun(); - - // a preRun added a dependency, run will be called later - if (runDependencies > 0) { - dependenciesFulfilled = run; - return; - } - - function doRun() { - // run may have just been called through dependencies being fulfilled just in this very frame, - // or while the async setStatus time below was happening - assert(!calledRun); - calledRun = true; - Module['calledRun'] = true; - - if (ABORT) return; - - initRuntime(); - - preMain(); - - Module['onRuntimeInitialized']?.(); - consumedModuleProp('onRuntimeInitialized'); - - var noInitialRun = Module['noInitialRun'];legacyModuleProp('noInitialRun', 'noInitialRun'); - if (!noInitialRun) callMain(args); - - postRun(); - } - - if (Module['setStatus']) { - Module['setStatus']('Running...'); - setTimeout(() => { - setTimeout(() => Module['setStatus'](''), 1); - doRun(); - }, 1); - } else - { - doRun(); - } - checkStackCookie(); -} - -function checkUnflushedContent() { - // Compiler settings do not allow exiting the runtime, so flushing - // the streams is not possible. but in ASSERTIONS mode we check - // if there was something to flush, and if so tell the user they - // should request that the runtime be exitable. - // Normally we would not even include flush() at all, but in ASSERTIONS - // builds we do so just for this check, and here we see if there is any - // content to flush, that is, we check if there would have been - // something a non-ASSERTIONS build would have not seen. - // How we flush the streams depends on whether we are in SYSCALLS_REQUIRE_FILESYSTEM=0 - // mode (which has its own special function for this; otherwise, all - // the code is inside libc) - var oldOut = out; - var oldErr = err; - var has = false; - out = err = (x) => { - has = true; - } - try { // it doesn't matter if it fails - _fflush(0); - } catch(e) {} - out = oldOut; - err = oldErr; - if (has) { - warnOnce('stdio streams had content in them that was not flushed. you should set EXIT_RUNTIME to 1 (see the Emscripten FAQ), or make sure to emit a newline when you printf etc.'); - warnOnce('(this may also be due to not including full filesystem support - try building with -sFORCE_FILESYSTEM)'); - } -} - -if (Module['preInit']) { - if (typeof Module['preInit'] == 'function') Module['preInit'] = [Module['preInit']]; - while (Module['preInit'].length > 0) { - Module['preInit'].pop()(); - } -} -consumedModuleProp('preInit'); - -run(); - -// end include: postamble.js - diff --git a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/3.28.3/CMakeSystem.cmake b/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/3.28.3/CMakeSystem.cmake deleted file mode 100644 index 196df84..0000000 --- a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/3.28.3/CMakeSystem.cmake +++ /dev/null @@ -1,15 +0,0 @@ -set(CMAKE_HOST_SYSTEM "Linux-6.8.0-53-generic") -set(CMAKE_HOST_SYSTEM_NAME "Linux") -set(CMAKE_HOST_SYSTEM_VERSION "6.8.0-53-generic") -set(CMAKE_HOST_SYSTEM_PROCESSOR "x86_64") - -include("/home/romazan/Рабочий стол/emsdk/upstream/emscripten/cmake/Modules/Platform/Emscripten.cmake") - -set(CMAKE_SYSTEM "Emscripten-1") -set(CMAKE_SYSTEM_NAME "Emscripten") -set(CMAKE_SYSTEM_VERSION "1") -set(CMAKE_SYSTEM_PROCESSOR "x86") - -set(CMAKE_CROSSCOMPILING "TRUE") - -set(CMAKE_SYSTEM_LOADED 1) diff --git a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/3.28.3/CompilerIdC/CMakeCCompilerId.c b/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/3.28.3/CompilerIdC/CMakeCCompilerId.c deleted file mode 100644 index 0a0ec9b..0000000 --- a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/3.28.3/CompilerIdC/CMakeCCompilerId.c +++ /dev/null @@ -1,880 +0,0 @@ -#ifdef __cplusplus -# error "A C++ compiler has been selected for C." -#endif - -#if defined(__18CXX) -# define ID_VOID_MAIN -#endif -#if defined(__CLASSIC_C__) -/* cv-qualifiers did not exist in K&R C */ -# define const -# define volatile -#endif - -#if !defined(__has_include) -/* If the compiler does not have __has_include, pretend the answer is - always no. */ -# define __has_include(x) 0 -#endif - - -/* Version number components: V=Version, R=Revision, P=Patch - Version date components: YYYY=Year, MM=Month, DD=Day */ - -#if defined(__INTEL_COMPILER) || defined(__ICC) -# define COMPILER_ID "Intel" -# if defined(_MSC_VER) -# define SIMULATE_ID "MSVC" -# endif -# if defined(__GNUC__) -# define SIMULATE_ID "GNU" -# endif - /* __INTEL_COMPILER = VRP prior to 2021, and then VVVV for 2021 and later, - except that a few beta releases use the old format with V=2021. */ -# if __INTEL_COMPILER < 2021 || __INTEL_COMPILER == 202110 || __INTEL_COMPILER == 202111 -# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER/100) -# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER/10 % 10) -# if defined(__INTEL_COMPILER_UPDATE) -# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER_UPDATE) -# else -# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER % 10) -# endif -# else -# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER) -# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER_UPDATE) - /* The third version component from --version is an update index, - but no macro is provided for it. */ -# define COMPILER_VERSION_PATCH DEC(0) -# endif -# if defined(__INTEL_COMPILER_BUILD_DATE) - /* __INTEL_COMPILER_BUILD_DATE = YYYYMMDD */ -# define COMPILER_VERSION_TWEAK DEC(__INTEL_COMPILER_BUILD_DATE) -# endif -# if defined(_MSC_VER) - /* _MSC_VER = VVRR */ -# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) -# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) -# endif -# if defined(__GNUC__) -# define SIMULATE_VERSION_MAJOR DEC(__GNUC__) -# elif defined(__GNUG__) -# define SIMULATE_VERSION_MAJOR DEC(__GNUG__) -# endif -# if defined(__GNUC_MINOR__) -# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__) -# endif -# if defined(__GNUC_PATCHLEVEL__) -# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) -# endif - -#elif (defined(__clang__) && defined(__INTEL_CLANG_COMPILER)) || defined(__INTEL_LLVM_COMPILER) -# define COMPILER_ID "IntelLLVM" -#if defined(_MSC_VER) -# define SIMULATE_ID "MSVC" -#endif -#if defined(__GNUC__) -# define SIMULATE_ID "GNU" -#endif -/* __INTEL_LLVM_COMPILER = VVVVRP prior to 2021.2.0, VVVVRRPP for 2021.2.0 and - * later. Look for 6 digit vs. 8 digit version number to decide encoding. - * VVVV is no smaller than the current year when a version is released. - */ -#if __INTEL_LLVM_COMPILER < 1000000L -# define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/100) -# define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/10 % 10) -# define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER % 10) -#else -# define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/10000) -# define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/100 % 100) -# define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER % 100) -#endif -#if defined(_MSC_VER) - /* _MSC_VER = VVRR */ -# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) -# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) -#endif -#if defined(__GNUC__) -# define SIMULATE_VERSION_MAJOR DEC(__GNUC__) -#elif defined(__GNUG__) -# define SIMULATE_VERSION_MAJOR DEC(__GNUG__) -#endif -#if defined(__GNUC_MINOR__) -# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__) -#endif -#if defined(__GNUC_PATCHLEVEL__) -# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) -#endif - -#elif defined(__PATHCC__) -# define COMPILER_ID "PathScale" -# define COMPILER_VERSION_MAJOR DEC(__PATHCC__) -# define COMPILER_VERSION_MINOR DEC(__PATHCC_MINOR__) -# if defined(__PATHCC_PATCHLEVEL__) -# define COMPILER_VERSION_PATCH DEC(__PATHCC_PATCHLEVEL__) -# endif - -#elif defined(__BORLANDC__) && defined(__CODEGEARC_VERSION__) -# define COMPILER_ID "Embarcadero" -# define COMPILER_VERSION_MAJOR HEX(__CODEGEARC_VERSION__>>24 & 0x00FF) -# define COMPILER_VERSION_MINOR HEX(__CODEGEARC_VERSION__>>16 & 0x00FF) -# define COMPILER_VERSION_PATCH DEC(__CODEGEARC_VERSION__ & 0xFFFF) - -#elif defined(__BORLANDC__) -# define COMPILER_ID "Borland" - /* __BORLANDC__ = 0xVRR */ -# define COMPILER_VERSION_MAJOR HEX(__BORLANDC__>>8) -# define COMPILER_VERSION_MINOR HEX(__BORLANDC__ & 0xFF) - -#elif defined(__WATCOMC__) && __WATCOMC__ < 1200 -# define COMPILER_ID "Watcom" - /* __WATCOMC__ = VVRR */ -# define COMPILER_VERSION_MAJOR DEC(__WATCOMC__ / 100) -# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) -# if (__WATCOMC__ % 10) > 0 -# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) -# endif - -#elif defined(__WATCOMC__) -# define COMPILER_ID "OpenWatcom" - /* __WATCOMC__ = VVRP + 1100 */ -# define COMPILER_VERSION_MAJOR DEC((__WATCOMC__ - 1100) / 100) -# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) -# if (__WATCOMC__ % 10) > 0 -# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) -# endif - -#elif defined(__SUNPRO_C) -# define COMPILER_ID "SunPro" -# if __SUNPRO_C >= 0x5100 - /* __SUNPRO_C = 0xVRRP */ -# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_C>>12) -# define COMPILER_VERSION_MINOR HEX(__SUNPRO_C>>4 & 0xFF) -# define COMPILER_VERSION_PATCH HEX(__SUNPRO_C & 0xF) -# else - /* __SUNPRO_CC = 0xVRP */ -# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_C>>8) -# define COMPILER_VERSION_MINOR HEX(__SUNPRO_C>>4 & 0xF) -# define COMPILER_VERSION_PATCH HEX(__SUNPRO_C & 0xF) -# endif - -#elif defined(__HP_cc) -# define COMPILER_ID "HP" - /* __HP_cc = VVRRPP */ -# define COMPILER_VERSION_MAJOR DEC(__HP_cc/10000) -# define COMPILER_VERSION_MINOR DEC(__HP_cc/100 % 100) -# define COMPILER_VERSION_PATCH DEC(__HP_cc % 100) - -#elif defined(__DECC) -# define COMPILER_ID "Compaq" - /* __DECC_VER = VVRRTPPPP */ -# define COMPILER_VERSION_MAJOR DEC(__DECC_VER/10000000) -# define COMPILER_VERSION_MINOR DEC(__DECC_VER/100000 % 100) -# define COMPILER_VERSION_PATCH DEC(__DECC_VER % 10000) - -#elif defined(__IBMC__) && defined(__COMPILER_VER__) -# define COMPILER_ID "zOS" - /* __IBMC__ = VRP */ -# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100) -# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10) -# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10) - -#elif defined(__open_xl__) && defined(__clang__) -# define COMPILER_ID "IBMClang" -# define COMPILER_VERSION_MAJOR DEC(__open_xl_version__) -# define COMPILER_VERSION_MINOR DEC(__open_xl_release__) -# define COMPILER_VERSION_PATCH DEC(__open_xl_modification__) -# define COMPILER_VERSION_TWEAK DEC(__open_xl_ptf_fix_level__) - - -#elif defined(__ibmxl__) && defined(__clang__) -# define COMPILER_ID "XLClang" -# define COMPILER_VERSION_MAJOR DEC(__ibmxl_version__) -# define COMPILER_VERSION_MINOR DEC(__ibmxl_release__) -# define COMPILER_VERSION_PATCH DEC(__ibmxl_modification__) -# define COMPILER_VERSION_TWEAK DEC(__ibmxl_ptf_fix_level__) - - -#elif defined(__IBMC__) && !defined(__COMPILER_VER__) && __IBMC__ >= 800 -# define COMPILER_ID "XL" - /* __IBMC__ = VRP */ -# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100) -# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10) -# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10) - -#elif defined(__IBMC__) && !defined(__COMPILER_VER__) && __IBMC__ < 800 -# define COMPILER_ID "VisualAge" - /* __IBMC__ = VRP */ -# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100) -# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10) -# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10) - -#elif defined(__NVCOMPILER) -# define COMPILER_ID "NVHPC" -# define COMPILER_VERSION_MAJOR DEC(__NVCOMPILER_MAJOR__) -# define COMPILER_VERSION_MINOR DEC(__NVCOMPILER_MINOR__) -# if defined(__NVCOMPILER_PATCHLEVEL__) -# define COMPILER_VERSION_PATCH DEC(__NVCOMPILER_PATCHLEVEL__) -# endif - -#elif defined(__PGI) -# define COMPILER_ID "PGI" -# define COMPILER_VERSION_MAJOR DEC(__PGIC__) -# define COMPILER_VERSION_MINOR DEC(__PGIC_MINOR__) -# if defined(__PGIC_PATCHLEVEL__) -# define COMPILER_VERSION_PATCH DEC(__PGIC_PATCHLEVEL__) -# endif - -#elif defined(__clang__) && defined(__cray__) -# define COMPILER_ID "CrayClang" -# define COMPILER_VERSION_MAJOR DEC(__cray_major__) -# define COMPILER_VERSION_MINOR DEC(__cray_minor__) -# define COMPILER_VERSION_PATCH DEC(__cray_patchlevel__) -# define COMPILER_VERSION_INTERNAL_STR __clang_version__ - - -#elif defined(_CRAYC) -# define COMPILER_ID "Cray" -# define COMPILER_VERSION_MAJOR DEC(_RELEASE_MAJOR) -# define COMPILER_VERSION_MINOR DEC(_RELEASE_MINOR) - -#elif defined(__TI_COMPILER_VERSION__) -# define COMPILER_ID "TI" - /* __TI_COMPILER_VERSION__ = VVVRRRPPP */ -# define COMPILER_VERSION_MAJOR DEC(__TI_COMPILER_VERSION__/1000000) -# define COMPILER_VERSION_MINOR DEC(__TI_COMPILER_VERSION__/1000 % 1000) -# define COMPILER_VERSION_PATCH DEC(__TI_COMPILER_VERSION__ % 1000) - -#elif defined(__CLANG_FUJITSU) -# define COMPILER_ID "FujitsuClang" -# define COMPILER_VERSION_MAJOR DEC(__FCC_major__) -# define COMPILER_VERSION_MINOR DEC(__FCC_minor__) -# define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__) -# define COMPILER_VERSION_INTERNAL_STR __clang_version__ - - -#elif defined(__FUJITSU) -# define COMPILER_ID "Fujitsu" -# if defined(__FCC_version__) -# define COMPILER_VERSION __FCC_version__ -# elif defined(__FCC_major__) -# define COMPILER_VERSION_MAJOR DEC(__FCC_major__) -# define COMPILER_VERSION_MINOR DEC(__FCC_minor__) -# define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__) -# endif -# if defined(__fcc_version) -# define COMPILER_VERSION_INTERNAL DEC(__fcc_version) -# elif defined(__FCC_VERSION) -# define COMPILER_VERSION_INTERNAL DEC(__FCC_VERSION) -# endif - - -#elif defined(__ghs__) -# define COMPILER_ID "GHS" -/* __GHS_VERSION_NUMBER = VVVVRP */ -# ifdef __GHS_VERSION_NUMBER -# define COMPILER_VERSION_MAJOR DEC(__GHS_VERSION_NUMBER / 100) -# define COMPILER_VERSION_MINOR DEC(__GHS_VERSION_NUMBER / 10 % 10) -# define COMPILER_VERSION_PATCH DEC(__GHS_VERSION_NUMBER % 10) -# endif - -#elif defined(__TASKING__) -# define COMPILER_ID "Tasking" - # define COMPILER_VERSION_MAJOR DEC(__VERSION__/1000) - # define COMPILER_VERSION_MINOR DEC(__VERSION__ % 100) -# define COMPILER_VERSION_INTERNAL DEC(__VERSION__) - -#elif defined(__ORANGEC__) -# define COMPILER_ID "OrangeC" -# define COMPILER_VERSION_MAJOR DEC(__ORANGEC_MAJOR__) -# define COMPILER_VERSION_MINOR DEC(__ORANGEC_MINOR__) -# define COMPILER_VERSION_PATCH DEC(__ORANGEC_PATCHLEVEL__) - -#elif defined(__TINYC__) -# define COMPILER_ID "TinyCC" - -#elif defined(__BCC__) -# define COMPILER_ID "Bruce" - -#elif defined(__SCO_VERSION__) -# define COMPILER_ID "SCO" - -#elif defined(__ARMCC_VERSION) && !defined(__clang__) -# define COMPILER_ID "ARMCC" -#if __ARMCC_VERSION >= 1000000 - /* __ARMCC_VERSION = VRRPPPP */ - # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/1000000) - # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 100) - # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) -#else - /* __ARMCC_VERSION = VRPPPP */ - # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/100000) - # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 10) - # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) -#endif - - -#elif defined(__clang__) && defined(__apple_build_version__) -# define COMPILER_ID "AppleClang" -# if defined(_MSC_VER) -# define SIMULATE_ID "MSVC" -# endif -# define COMPILER_VERSION_MAJOR DEC(__clang_major__) -# define COMPILER_VERSION_MINOR DEC(__clang_minor__) -# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) -# if defined(_MSC_VER) - /* _MSC_VER = VVRR */ -# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) -# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) -# endif -# define COMPILER_VERSION_TWEAK DEC(__apple_build_version__) - -#elif defined(__clang__) && defined(__ARMCOMPILER_VERSION) -# define COMPILER_ID "ARMClang" - # define COMPILER_VERSION_MAJOR DEC(__ARMCOMPILER_VERSION/1000000) - # define COMPILER_VERSION_MINOR DEC(__ARMCOMPILER_VERSION/10000 % 100) - # define COMPILER_VERSION_PATCH DEC(__ARMCOMPILER_VERSION/100 % 100) -# define COMPILER_VERSION_INTERNAL DEC(__ARMCOMPILER_VERSION) - -#elif defined(__clang__) -# define COMPILER_ID "Clang" -# if defined(_MSC_VER) -# define SIMULATE_ID "MSVC" -# endif -# define COMPILER_VERSION_MAJOR DEC(__clang_major__) -# define COMPILER_VERSION_MINOR DEC(__clang_minor__) -# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) -# if defined(_MSC_VER) - /* _MSC_VER = VVRR */ -# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) -# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) -# endif - -#elif defined(__LCC__) && (defined(__GNUC__) || defined(__GNUG__) || defined(__MCST__)) -# define COMPILER_ID "LCC" -# define COMPILER_VERSION_MAJOR DEC(__LCC__ / 100) -# define COMPILER_VERSION_MINOR DEC(__LCC__ % 100) -# if defined(__LCC_MINOR__) -# define COMPILER_VERSION_PATCH DEC(__LCC_MINOR__) -# endif -# if defined(__GNUC__) && defined(__GNUC_MINOR__) -# define SIMULATE_ID "GNU" -# define SIMULATE_VERSION_MAJOR DEC(__GNUC__) -# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__) -# if defined(__GNUC_PATCHLEVEL__) -# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) -# endif -# endif - -#elif defined(__GNUC__) -# define COMPILER_ID "GNU" -# define COMPILER_VERSION_MAJOR DEC(__GNUC__) -# if defined(__GNUC_MINOR__) -# define COMPILER_VERSION_MINOR DEC(__GNUC_MINOR__) -# endif -# if defined(__GNUC_PATCHLEVEL__) -# define COMPILER_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) -# endif - -#elif defined(_MSC_VER) -# define COMPILER_ID "MSVC" - /* _MSC_VER = VVRR */ -# define COMPILER_VERSION_MAJOR DEC(_MSC_VER / 100) -# define COMPILER_VERSION_MINOR DEC(_MSC_VER % 100) -# if defined(_MSC_FULL_VER) -# if _MSC_VER >= 1400 - /* _MSC_FULL_VER = VVRRPPPPP */ -# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 100000) -# else - /* _MSC_FULL_VER = VVRRPPPP */ -# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 10000) -# endif -# endif -# if defined(_MSC_BUILD) -# define COMPILER_VERSION_TWEAK DEC(_MSC_BUILD) -# endif - -#elif defined(_ADI_COMPILER) -# define COMPILER_ID "ADSP" -#if defined(__VERSIONNUM__) - /* __VERSIONNUM__ = 0xVVRRPPTT */ -# define COMPILER_VERSION_MAJOR DEC(__VERSIONNUM__ >> 24 & 0xFF) -# define COMPILER_VERSION_MINOR DEC(__VERSIONNUM__ >> 16 & 0xFF) -# define COMPILER_VERSION_PATCH DEC(__VERSIONNUM__ >> 8 & 0xFF) -# define COMPILER_VERSION_TWEAK DEC(__VERSIONNUM__ & 0xFF) -#endif - -#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC) -# define COMPILER_ID "IAR" -# if defined(__VER__) && defined(__ICCARM__) -# define COMPILER_VERSION_MAJOR DEC((__VER__) / 1000000) -# define COMPILER_VERSION_MINOR DEC(((__VER__) / 1000) % 1000) -# define COMPILER_VERSION_PATCH DEC((__VER__) % 1000) -# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__) -# elif defined(__VER__) && (defined(__ICCAVR__) || defined(__ICCRX__) || defined(__ICCRH850__) || defined(__ICCRL78__) || defined(__ICC430__) || defined(__ICCRISCV__) || defined(__ICCV850__) || defined(__ICC8051__) || defined(__ICCSTM8__)) -# define COMPILER_VERSION_MAJOR DEC((__VER__) / 100) -# define COMPILER_VERSION_MINOR DEC((__VER__) - (((__VER__) / 100)*100)) -# define COMPILER_VERSION_PATCH DEC(__SUBVERSION__) -# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__) -# endif - -#elif defined(__SDCC_VERSION_MAJOR) || defined(SDCC) -# define COMPILER_ID "SDCC" -# if defined(__SDCC_VERSION_MAJOR) -# define COMPILER_VERSION_MAJOR DEC(__SDCC_VERSION_MAJOR) -# define COMPILER_VERSION_MINOR DEC(__SDCC_VERSION_MINOR) -# define COMPILER_VERSION_PATCH DEC(__SDCC_VERSION_PATCH) -# else - /* SDCC = VRP */ -# define COMPILER_VERSION_MAJOR DEC(SDCC/100) -# define COMPILER_VERSION_MINOR DEC(SDCC/10 % 10) -# define COMPILER_VERSION_PATCH DEC(SDCC % 10) -# endif - - -/* These compilers are either not known or too old to define an - identification macro. Try to identify the platform and guess that - it is the native compiler. */ -#elif defined(__hpux) || defined(__hpua) -# define COMPILER_ID "HP" - -#else /* unknown compiler */ -# define COMPILER_ID "" -#endif - -/* Construct the string literal in pieces to prevent the source from - getting matched. Store it in a pointer rather than an array - because some compilers will just produce instructions to fill the - array rather than assigning a pointer to a static array. */ -char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]"; -#ifdef SIMULATE_ID -char const* info_simulate = "INFO" ":" "simulate[" SIMULATE_ID "]"; -#endif - -#ifdef __QNXNTO__ -char const* qnxnto = "INFO" ":" "qnxnto[]"; -#endif - -#if defined(__CRAYXT_COMPUTE_LINUX_TARGET) -char const *info_cray = "INFO" ":" "compiler_wrapper[CrayPrgEnv]"; -#endif - -#define STRINGIFY_HELPER(X) #X -#define STRINGIFY(X) STRINGIFY_HELPER(X) - -/* Identify known platforms by name. */ -#if defined(__linux) || defined(__linux__) || defined(linux) -# define PLATFORM_ID "Linux" - -#elif defined(__MSYS__) -# define PLATFORM_ID "MSYS" - -#elif defined(__CYGWIN__) -# define PLATFORM_ID "Cygwin" - -#elif defined(__MINGW32__) -# define PLATFORM_ID "MinGW" - -#elif defined(__APPLE__) -# define PLATFORM_ID "Darwin" - -#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32) -# define PLATFORM_ID "Windows" - -#elif defined(__FreeBSD__) || defined(__FreeBSD) -# define PLATFORM_ID "FreeBSD" - -#elif defined(__NetBSD__) || defined(__NetBSD) -# define PLATFORM_ID "NetBSD" - -#elif defined(__OpenBSD__) || defined(__OPENBSD) -# define PLATFORM_ID "OpenBSD" - -#elif defined(__sun) || defined(sun) -# define PLATFORM_ID "SunOS" - -#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__) -# define PLATFORM_ID "AIX" - -#elif defined(__hpux) || defined(__hpux__) -# define PLATFORM_ID "HP-UX" - -#elif defined(__HAIKU__) -# define PLATFORM_ID "Haiku" - -#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS) -# define PLATFORM_ID "BeOS" - -#elif defined(__QNX__) || defined(__QNXNTO__) -# define PLATFORM_ID "QNX" - -#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__) -# define PLATFORM_ID "Tru64" - -#elif defined(__riscos) || defined(__riscos__) -# define PLATFORM_ID "RISCos" - -#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__) -# define PLATFORM_ID "SINIX" - -#elif defined(__UNIX_SV__) -# define PLATFORM_ID "UNIX_SV" - -#elif defined(__bsdos__) -# define PLATFORM_ID "BSDOS" - -#elif defined(_MPRAS) || defined(MPRAS) -# define PLATFORM_ID "MP-RAS" - -#elif defined(__osf) || defined(__osf__) -# define PLATFORM_ID "OSF1" - -#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv) -# define PLATFORM_ID "SCO_SV" - -#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX) -# define PLATFORM_ID "ULTRIX" - -#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX) -# define PLATFORM_ID "Xenix" - -#elif defined(__WATCOMC__) -# if defined(__LINUX__) -# define PLATFORM_ID "Linux" - -# elif defined(__DOS__) -# define PLATFORM_ID "DOS" - -# elif defined(__OS2__) -# define PLATFORM_ID "OS2" - -# elif defined(__WINDOWS__) -# define PLATFORM_ID "Windows3x" - -# elif defined(__VXWORKS__) -# define PLATFORM_ID "VxWorks" - -# else /* unknown platform */ -# define PLATFORM_ID -# endif - -#elif defined(__INTEGRITY) -# if defined(INT_178B) -# define PLATFORM_ID "Integrity178" - -# else /* regular Integrity */ -# define PLATFORM_ID "Integrity" -# endif - -# elif defined(_ADI_COMPILER) -# define PLATFORM_ID "ADSP" - -#else /* unknown platform */ -# define PLATFORM_ID - -#endif - -/* For windows compilers MSVC and Intel we can determine - the architecture of the compiler being used. This is because - the compilers do not have flags that can change the architecture, - but rather depend on which compiler is being used -*/ -#if defined(_WIN32) && defined(_MSC_VER) -# if defined(_M_IA64) -# define ARCHITECTURE_ID "IA64" - -# elif defined(_M_ARM64EC) -# define ARCHITECTURE_ID "ARM64EC" - -# elif defined(_M_X64) || defined(_M_AMD64) -# define ARCHITECTURE_ID "x64" - -# elif defined(_M_IX86) -# define ARCHITECTURE_ID "X86" - -# elif defined(_M_ARM64) -# define ARCHITECTURE_ID "ARM64" - -# elif defined(_M_ARM) -# if _M_ARM == 4 -# define ARCHITECTURE_ID "ARMV4I" -# elif _M_ARM == 5 -# define ARCHITECTURE_ID "ARMV5I" -# else -# define ARCHITECTURE_ID "ARMV" STRINGIFY(_M_ARM) -# endif - -# elif defined(_M_MIPS) -# define ARCHITECTURE_ID "MIPS" - -# elif defined(_M_SH) -# define ARCHITECTURE_ID "SHx" - -# else /* unknown architecture */ -# define ARCHITECTURE_ID "" -# endif - -#elif defined(__WATCOMC__) -# if defined(_M_I86) -# define ARCHITECTURE_ID "I86" - -# elif defined(_M_IX86) -# define ARCHITECTURE_ID "X86" - -# else /* unknown architecture */ -# define ARCHITECTURE_ID "" -# endif - -#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC) -# if defined(__ICCARM__) -# define ARCHITECTURE_ID "ARM" - -# elif defined(__ICCRX__) -# define ARCHITECTURE_ID "RX" - -# elif defined(__ICCRH850__) -# define ARCHITECTURE_ID "RH850" - -# elif defined(__ICCRL78__) -# define ARCHITECTURE_ID "RL78" - -# elif defined(__ICCRISCV__) -# define ARCHITECTURE_ID "RISCV" - -# elif defined(__ICCAVR__) -# define ARCHITECTURE_ID "AVR" - -# elif defined(__ICC430__) -# define ARCHITECTURE_ID "MSP430" - -# elif defined(__ICCV850__) -# define ARCHITECTURE_ID "V850" - -# elif defined(__ICC8051__) -# define ARCHITECTURE_ID "8051" - -# elif defined(__ICCSTM8__) -# define ARCHITECTURE_ID "STM8" - -# else /* unknown architecture */ -# define ARCHITECTURE_ID "" -# endif - -#elif defined(__ghs__) -# if defined(__PPC64__) -# define ARCHITECTURE_ID "PPC64" - -# elif defined(__ppc__) -# define ARCHITECTURE_ID "PPC" - -# elif defined(__ARM__) -# define ARCHITECTURE_ID "ARM" - -# elif defined(__x86_64__) -# define ARCHITECTURE_ID "x64" - -# elif defined(__i386__) -# define ARCHITECTURE_ID "X86" - -# else /* unknown architecture */ -# define ARCHITECTURE_ID "" -# endif - -#elif defined(__TI_COMPILER_VERSION__) -# if defined(__TI_ARM__) -# define ARCHITECTURE_ID "ARM" - -# elif defined(__MSP430__) -# define ARCHITECTURE_ID "MSP430" - -# elif defined(__TMS320C28XX__) -# define ARCHITECTURE_ID "TMS320C28x" - -# elif defined(__TMS320C6X__) || defined(_TMS320C6X) -# define ARCHITECTURE_ID "TMS320C6x" - -# else /* unknown architecture */ -# define ARCHITECTURE_ID "" -# endif - -# elif defined(__ADSPSHARC__) -# define ARCHITECTURE_ID "SHARC" - -# elif defined(__ADSPBLACKFIN__) -# define ARCHITECTURE_ID "Blackfin" - -#elif defined(__TASKING__) - -# if defined(__CTC__) || defined(__CPTC__) -# define ARCHITECTURE_ID "TriCore" - -# elif defined(__CMCS__) -# define ARCHITECTURE_ID "MCS" - -# elif defined(__CARM__) -# define ARCHITECTURE_ID "ARM" - -# elif defined(__CARC__) -# define ARCHITECTURE_ID "ARC" - -# elif defined(__C51__) -# define ARCHITECTURE_ID "8051" - -# elif defined(__CPCP__) -# define ARCHITECTURE_ID "PCP" - -# else -# define ARCHITECTURE_ID "" -# endif - -#else -# define ARCHITECTURE_ID -#endif - -/* Convert integer to decimal digit literals. */ -#define DEC(n) \ - ('0' + (((n) / 10000000)%10)), \ - ('0' + (((n) / 1000000)%10)), \ - ('0' + (((n) / 100000)%10)), \ - ('0' + (((n) / 10000)%10)), \ - ('0' + (((n) / 1000)%10)), \ - ('0' + (((n) / 100)%10)), \ - ('0' + (((n) / 10)%10)), \ - ('0' + ((n) % 10)) - -/* Convert integer to hex digit literals. */ -#define HEX(n) \ - ('0' + ((n)>>28 & 0xF)), \ - ('0' + ((n)>>24 & 0xF)), \ - ('0' + ((n)>>20 & 0xF)), \ - ('0' + ((n)>>16 & 0xF)), \ - ('0' + ((n)>>12 & 0xF)), \ - ('0' + ((n)>>8 & 0xF)), \ - ('0' + ((n)>>4 & 0xF)), \ - ('0' + ((n) & 0xF)) - -/* Construct a string literal encoding the version number. */ -#ifdef COMPILER_VERSION -char const* info_version = "INFO" ":" "compiler_version[" COMPILER_VERSION "]"; - -/* Construct a string literal encoding the version number components. */ -#elif defined(COMPILER_VERSION_MAJOR) -char const info_version[] = { - 'I', 'N', 'F', 'O', ':', - 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','[', - COMPILER_VERSION_MAJOR, -# ifdef COMPILER_VERSION_MINOR - '.', COMPILER_VERSION_MINOR, -# ifdef COMPILER_VERSION_PATCH - '.', COMPILER_VERSION_PATCH, -# ifdef COMPILER_VERSION_TWEAK - '.', COMPILER_VERSION_TWEAK, -# endif -# endif -# endif - ']','\0'}; -#endif - -/* Construct a string literal encoding the internal version number. */ -#ifdef COMPILER_VERSION_INTERNAL -char const info_version_internal[] = { - 'I', 'N', 'F', 'O', ':', - 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','_', - 'i','n','t','e','r','n','a','l','[', - COMPILER_VERSION_INTERNAL,']','\0'}; -#elif defined(COMPILER_VERSION_INTERNAL_STR) -char const* info_version_internal = "INFO" ":" "compiler_version_internal[" COMPILER_VERSION_INTERNAL_STR "]"; -#endif - -/* Construct a string literal encoding the version number components. */ -#ifdef SIMULATE_VERSION_MAJOR -char const info_simulate_version[] = { - 'I', 'N', 'F', 'O', ':', - 's','i','m','u','l','a','t','e','_','v','e','r','s','i','o','n','[', - SIMULATE_VERSION_MAJOR, -# ifdef SIMULATE_VERSION_MINOR - '.', SIMULATE_VERSION_MINOR, -# ifdef SIMULATE_VERSION_PATCH - '.', SIMULATE_VERSION_PATCH, -# ifdef SIMULATE_VERSION_TWEAK - '.', SIMULATE_VERSION_TWEAK, -# endif -# endif -# endif - ']','\0'}; -#endif - -/* Construct the string literal in pieces to prevent the source from - getting matched. Store it in a pointer rather than an array - because some compilers will just produce instructions to fill the - array rather than assigning a pointer to a static array. */ -char const* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]"; -char const* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]"; - - - -#if !defined(__STDC__) && !defined(__clang__) -# if defined(_MSC_VER) || defined(__ibmxl__) || defined(__IBMC__) -# define C_VERSION "90" -# else -# define C_VERSION -# endif -#elif __STDC_VERSION__ > 201710L -# define C_VERSION "23" -#elif __STDC_VERSION__ >= 201710L -# define C_VERSION "17" -#elif __STDC_VERSION__ >= 201000L -# define C_VERSION "11" -#elif __STDC_VERSION__ >= 199901L -# define C_VERSION "99" -#else -# define C_VERSION "90" -#endif -const char* info_language_standard_default = - "INFO" ":" "standard_default[" C_VERSION "]"; - -const char* info_language_extensions_default = "INFO" ":" "extensions_default[" -#if (defined(__clang__) || defined(__GNUC__) || defined(__xlC__) || \ - defined(__TI_COMPILER_VERSION__)) && \ - !defined(__STRICT_ANSI__) - "ON" -#else - "OFF" -#endif -"]"; - -/*--------------------------------------------------------------------------*/ - -#ifdef ID_VOID_MAIN -void main() {} -#else -# if defined(__CLASSIC_C__) -int main(argc, argv) int argc; char *argv[]; -# else -int main(int argc, char* argv[]) -# endif -{ - int require = 0; - require += info_compiler[argc]; - require += info_platform[argc]; - require += info_arch[argc]; -#ifdef COMPILER_VERSION_MAJOR - require += info_version[argc]; -#endif -#ifdef COMPILER_VERSION_INTERNAL - require += info_version_internal[argc]; -#endif -#ifdef SIMULATE_ID - require += info_simulate[argc]; -#endif -#ifdef SIMULATE_VERSION_MAJOR - require += info_simulate_version[argc]; -#endif -#if defined(__CRAYXT_COMPUTE_LINUX_TARGET) - require += info_cray[argc]; -#endif - require += info_language_standard_default[argc]; - require += info_language_extensions_default[argc]; - (void)argv; - return require; -} -#endif diff --git a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/3.28.3/CompilerIdC/a.out.js b/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/3.28.3/CompilerIdC/a.out.js deleted file mode 100644 index 9281774..0000000 --- a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/3.28.3/CompilerIdC/a.out.js +++ /dev/null @@ -1,1521 +0,0 @@ -// include: shell.js -// The Module object: Our interface to the outside world. We import -// and export values on it. There are various ways Module can be used: -// 1. Not defined. We create it here -// 2. A function parameter, function(moduleArg) => Promise -// 3. pre-run appended it, var Module = {}; ..generated code.. -// 4. External script tag defines var Module. -// We need to check if Module already exists (e.g. case 3 above). -// Substitution will be replaced with actual code on later stage of the build, -// this way Closure Compiler will not mangle it (e.g. case 4. above). -// Note that if you want to run closure, and also to use Module -// after the generated code, you will need to define var Module = {}; -// before the code. Then that object will be used in the code, and you -// can continue to use Module afterwards as well. -var Module = typeof Module != 'undefined' ? Module : {}; - -// Determine the runtime environment we are in. You can customize this by -// setting the ENVIRONMENT setting at compile time (see settings.js). - -// Attempt to auto-detect the environment -var ENVIRONMENT_IS_WEB = typeof window == 'object'; -var ENVIRONMENT_IS_WORKER = typeof WorkerGlobalScope != 'undefined'; -// N.b. Electron.js environment is simultaneously a NODE-environment, but -// also a web environment. -var ENVIRONMENT_IS_NODE = typeof process == 'object' && typeof process.versions == 'object' && typeof process.versions.node == 'string' && process.type != 'renderer'; -var ENVIRONMENT_IS_SHELL = !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_NODE && !ENVIRONMENT_IS_WORKER; - -if (ENVIRONMENT_IS_NODE) { - -} - -// --pre-jses are emitted after the Module integration code, so that they can -// refer to Module (if they choose; they can also define Module) - - -// Sometimes an existing Module object exists with properties -// meant to overwrite the default module functionality. Here -// we collect those properties and reapply _after_ we configure -// the current environment's defaults to avoid having to be so -// defensive during initialization. -var moduleOverrides = {...Module}; - -var arguments_ = []; -var thisProgram = './this.program'; -var quit_ = (status, toThrow) => { - throw toThrow; -}; - -// `/` should be present at the end if `scriptDirectory` is not empty -var scriptDirectory = ''; -function locateFile(path) { - if (Module['locateFile']) { - return Module['locateFile'](path, scriptDirectory); - } - return scriptDirectory + path; -} - -// Hooks that are implemented differently in different runtime environments. -var readAsync, readBinary; - -if (ENVIRONMENT_IS_NODE) { - if (typeof process == 'undefined' || !process.release || process.release.name !== 'node') throw new Error('not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)'); - - var nodeVersion = process.versions.node; - var numericVersion = nodeVersion.split('.').slice(0, 3); - numericVersion = (numericVersion[0] * 10000) + (numericVersion[1] * 100) + (numericVersion[2].split('-')[0] * 1); - var minVersion = 160000; - if (numericVersion < 160000) { - throw new Error('This emscripten-generated code requires node v16.0.0 (detected v' + nodeVersion + ')'); - } - - // These modules will usually be used on Node.js. Load them eagerly to avoid - // the complexity of lazy-loading. - var fs = require('fs'); - var nodePath = require('path'); - - scriptDirectory = __dirname + '/'; - -// include: node_shell_read.js -readBinary = (filename) => { - // We need to re-wrap `file://` strings to URLs. - filename = isFileURI(filename) ? new URL(filename) : filename; - var ret = fs.readFileSync(filename); - assert(Buffer.isBuffer(ret)); - return ret; -}; - -readAsync = async (filename, binary = true) => { - // See the comment in the `readBinary` function. - filename = isFileURI(filename) ? new URL(filename) : filename; - var ret = fs.readFileSync(filename, binary ? undefined : 'utf8'); - assert(binary ? Buffer.isBuffer(ret) : typeof ret == 'string'); - return ret; -}; -// end include: node_shell_read.js - if (!Module['thisProgram'] && process.argv.length > 1) { - thisProgram = process.argv[1].replace(/\\/g, '/'); - } - - arguments_ = process.argv.slice(2); - - if (typeof module != 'undefined') { - module['exports'] = Module; - } - - quit_ = (status, toThrow) => { - process.exitCode = status; - throw toThrow; - }; - -} else -if (ENVIRONMENT_IS_SHELL) { - - if ((typeof process == 'object' && typeof require === 'function') || typeof window == 'object' || typeof WorkerGlobalScope != 'undefined') throw new Error('not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)'); - -} else - -// Note that this includes Node.js workers when relevant (pthreads is enabled). -// Node.js workers are detected as a combination of ENVIRONMENT_IS_WORKER and -// ENVIRONMENT_IS_NODE. -if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) { - if (ENVIRONMENT_IS_WORKER) { // Check worker, not web, since window could be polyfilled - scriptDirectory = self.location.href; - } else if (typeof document != 'undefined' && document.currentScript) { // web - scriptDirectory = document.currentScript.src; - } - // blob urls look like blob:http://site.com/etc/etc and we cannot infer anything from them. - // otherwise, slice off the final part of the url to find the script directory. - // if scriptDirectory does not contain a slash, lastIndexOf will return -1, - // and scriptDirectory will correctly be replaced with an empty string. - // If scriptDirectory contains a query (starting with ?) or a fragment (starting with #), - // they are removed because they could contain a slash. - if (scriptDirectory.startsWith('blob:')) { - scriptDirectory = ''; - } else { - scriptDirectory = scriptDirectory.slice(0, scriptDirectory.replace(/[?#].*/, '').lastIndexOf('/')+1); - } - - if (!(typeof window == 'object' || typeof WorkerGlobalScope != 'undefined')) throw new Error('not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)'); - - { -// include: web_or_worker_shell_read.js -if (ENVIRONMENT_IS_WORKER) { - readBinary = (url) => { - var xhr = new XMLHttpRequest(); - xhr.open('GET', url, false); - xhr.responseType = 'arraybuffer'; - xhr.send(null); - return new Uint8Array(/** @type{!ArrayBuffer} */(xhr.response)); - }; - } - - readAsync = async (url) => { - // Fetch has some additional restrictions over XHR, like it can't be used on a file:// url. - // See https://github.com/github/fetch/pull/92#issuecomment-140665932 - // Cordova or Electron apps are typically loaded from a file:// url. - // So use XHR on webview if URL is a file URL. - if (isFileURI(url)) { - return new Promise((resolve, reject) => { - var xhr = new XMLHttpRequest(); - xhr.open('GET', url, true); - xhr.responseType = 'arraybuffer'; - xhr.onload = () => { - if (xhr.status == 200 || (xhr.status == 0 && xhr.response)) { // file URLs can return 0 - resolve(xhr.response); - return; - } - reject(xhr.status); - }; - xhr.onerror = reject; - xhr.send(null); - }); - } - var response = await fetch(url, { credentials: 'same-origin' }); - if (response.ok) { - return response.arrayBuffer(); - } - throw new Error(response.status + ' : ' + response.url); - }; -// end include: web_or_worker_shell_read.js - } -} else -{ - throw new Error('environment detection error'); -} - -var out = Module['print'] || console.log.bind(console); -var err = Module['printErr'] || console.error.bind(console); - -// Merge back in the overrides -Object.assign(Module, moduleOverrides); -// Free the object hierarchy contained in the overrides, this lets the GC -// reclaim data used. -moduleOverrides = null; -checkIncomingModuleAPI(); - -// Emit code to handle expected values on the Module object. This applies Module.x -// to the proper local x. This has two benefits: first, we only emit it if it is -// expected to arrive, and second, by using a local everywhere else that can be -// minified. - -if (Module['arguments']) arguments_ = Module['arguments'];legacyModuleProp('arguments', 'arguments_'); - -if (Module['thisProgram']) thisProgram = Module['thisProgram'];legacyModuleProp('thisProgram', 'thisProgram'); - -// perform assertions in shell.js after we set up out() and err(), as otherwise if an assertion fails it cannot print the message -// Assertions on removed incoming Module JS APIs. -assert(typeof Module['memoryInitializerPrefixURL'] == 'undefined', 'Module.memoryInitializerPrefixURL option was removed, use Module.locateFile instead'); -assert(typeof Module['pthreadMainPrefixURL'] == 'undefined', 'Module.pthreadMainPrefixURL option was removed, use Module.locateFile instead'); -assert(typeof Module['cdInitializerPrefixURL'] == 'undefined', 'Module.cdInitializerPrefixURL option was removed, use Module.locateFile instead'); -assert(typeof Module['filePackagePrefixURL'] == 'undefined', 'Module.filePackagePrefixURL option was removed, use Module.locateFile instead'); -assert(typeof Module['read'] == 'undefined', 'Module.read option was removed'); -assert(typeof Module['readAsync'] == 'undefined', 'Module.readAsync option was removed (modify readAsync in JS)'); -assert(typeof Module['readBinary'] == 'undefined', 'Module.readBinary option was removed (modify readBinary in JS)'); -assert(typeof Module['setWindowTitle'] == 'undefined', 'Module.setWindowTitle option was removed (modify emscripten_set_window_title in JS)'); -assert(typeof Module['TOTAL_MEMORY'] == 'undefined', 'Module.TOTAL_MEMORY has been renamed Module.INITIAL_MEMORY'); -legacyModuleProp('asm', 'wasmExports'); -legacyModuleProp('readAsync', 'readAsync'); -legacyModuleProp('readBinary', 'readBinary'); -legacyModuleProp('setWindowTitle', 'setWindowTitle'); -var IDBFS = 'IDBFS is no longer included by default; build with -lidbfs.js'; -var PROXYFS = 'PROXYFS is no longer included by default; build with -lproxyfs.js'; -var WORKERFS = 'WORKERFS is no longer included by default; build with -lworkerfs.js'; -var FETCHFS = 'FETCHFS is no longer included by default; build with -lfetchfs.js'; -var ICASEFS = 'ICASEFS is no longer included by default; build with -licasefs.js'; -var JSFILEFS = 'JSFILEFS is no longer included by default; build with -ljsfilefs.js'; -var OPFS = 'OPFS is no longer included by default; build with -lopfs.js'; - -var NODEFS = 'NODEFS is no longer included by default; build with -lnodefs.js'; - -assert(!ENVIRONMENT_IS_SHELL, 'shell environment detected but not enabled at build time. Add `shell` to `-sENVIRONMENT` to enable.'); - -// end include: shell.js - -// include: preamble.js -// === Preamble library stuff === - -// Documentation for the public APIs defined in this file must be updated in: -// site/source/docs/api_reference/preamble.js.rst -// A prebuilt local version of the documentation is available at: -// site/build/text/docs/api_reference/preamble.js.txt -// You can also build docs locally as HTML or other formats in site/ -// An online HTML version (which may be of a different version of Emscripten) -// is up at http://kripken.github.io/emscripten-site/docs/api_reference/preamble.js.html - -var wasmBinary = Module['wasmBinary'];legacyModuleProp('wasmBinary', 'wasmBinary'); - -if (typeof WebAssembly != 'object') { - err('no native wasm support detected'); -} - -// Wasm globals - -var wasmMemory; - -//======================================== -// Runtime essentials -//======================================== - -// whether we are quitting the application. no code should run after this. -// set in exit() and abort() -var ABORT = false; - -// set by exit() and abort(). Passed to 'onExit' handler. -// NOTE: This is also used as the process return code code in shell environments -// but only when noExitRuntime is false. -var EXITSTATUS; - -// In STRICT mode, we only define assert() when ASSERTIONS is set. i.e. we -// don't define it at all in release modes. This matches the behaviour of -// MINIMAL_RUNTIME. -// TODO(sbc): Make this the default even without STRICT enabled. -/** @type {function(*, string=)} */ -function assert(condition, text) { - if (!condition) { - abort('Assertion failed' + (text ? ': ' + text : '')); - } -} - -// We used to include malloc/free by default in the past. Show a helpful error in -// builds with assertions. -function _malloc() { - abort('malloc() called but not included in the build - add `_malloc` to EXPORTED_FUNCTIONS'); -} -function _free() { - // Show a helpful error since we used to include free by default in the past. - abort('free() called but not included in the build - add `_free` to EXPORTED_FUNCTIONS'); -} - -// Memory management - -var HEAP, -/** @type {!Int8Array} */ - HEAP8, -/** @type {!Uint8Array} */ - HEAPU8, -/** @type {!Int16Array} */ - HEAP16, -/** @type {!Uint16Array} */ - HEAPU16, -/** @type {!Int32Array} */ - HEAP32, -/** @type {!Uint32Array} */ - HEAPU32, -/** @type {!Float32Array} */ - HEAPF32, -/* BigInt64Array type is not correctly defined in closure -/** not-@type {!BigInt64Array} */ - HEAP64, -/* BigUint64Array type is not correctly defined in closure -/** not-t@type {!BigUint64Array} */ - HEAPU64, -/** @type {!Float64Array} */ - HEAPF64; - -var runtimeInitialized = false; - -/** - * Indicates whether filename is delivered via file protocol (as opposed to http/https) - * @noinline - */ -var isFileURI = (filename) => filename.startsWith('file://'); - -// include: runtime_shared.js -// include: runtime_stack_check.js -// Initializes the stack cookie. Called at the startup of main and at the startup of each thread in pthreads mode. -function writeStackCookie() { - var max = _emscripten_stack_get_end(); - assert((max & 3) == 0); - // If the stack ends at address zero we write our cookies 4 bytes into the - // stack. This prevents interference with SAFE_HEAP and ASAN which also - // monitor writes to address zero. - if (max == 0) { - max += 4; - } - // The stack grow downwards towards _emscripten_stack_get_end. - // We write cookies to the final two words in the stack and detect if they are - // ever overwritten. - HEAPU32[((max)>>2)] = 0x02135467; - HEAPU32[(((max)+(4))>>2)] = 0x89BACDFE; - // Also test the global address 0 for integrity. - HEAPU32[((0)>>2)] = 1668509029; -} - -function checkStackCookie() { - if (ABORT) return; - var max = _emscripten_stack_get_end(); - // See writeStackCookie(). - if (max == 0) { - max += 4; - } - var cookie1 = HEAPU32[((max)>>2)]; - var cookie2 = HEAPU32[(((max)+(4))>>2)]; - if (cookie1 != 0x02135467 || cookie2 != 0x89BACDFE) { - abort(`Stack overflow! Stack cookie has been overwritten at ${ptrToString(max)}, expected hex dwords 0x89BACDFE and 0x2135467, but received ${ptrToString(cookie2)} ${ptrToString(cookie1)}`); - } - // Also test the global address 0 for integrity. - if (HEAPU32[((0)>>2)] != 0x63736d65 /* 'emsc' */) { - abort('Runtime error: The application has corrupted its heap memory area (address zero)!'); - } -} -// end include: runtime_stack_check.js -// include: runtime_exceptions.js -// end include: runtime_exceptions.js -// include: runtime_debug.js -// Endianness check -(() => { - var h16 = new Int16Array(1); - var h8 = new Int8Array(h16.buffer); - h16[0] = 0x6373; - if (h8[0] !== 0x73 || h8[1] !== 0x63) throw 'Runtime error: expected the system to be little-endian! (Run with -sSUPPORT_BIG_ENDIAN to bypass)'; -})(); - -if (Module['ENVIRONMENT']) { - throw new Error('Module.ENVIRONMENT has been deprecated. To force the environment, use the ENVIRONMENT compile-time option (for example, -sENVIRONMENT=web or -sENVIRONMENT=node)'); -} - -function legacyModuleProp(prop, newName, incoming=true) { - if (!Object.getOwnPropertyDescriptor(Module, prop)) { - Object.defineProperty(Module, prop, { - configurable: true, - get() { - let extra = incoming ? ' (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)' : ''; - abort(`\`Module.${prop}\` has been replaced by \`${newName}\`` + extra); - - } - }); - } -} - -function consumedModuleProp(prop) { - if (!Object.getOwnPropertyDescriptor(Module, prop)) { - Object.defineProperty(Module, prop, { - configurable: true, - set() { - abort(`Attempt to set \`Module.${prop}\` after it has already been processed. This can happen, for example, when code is injected via '--post-js' rather than '--pre-js'`); - - } - }); - } -} - -function ignoredModuleProp(prop) { - if (Object.getOwnPropertyDescriptor(Module, prop)) { - abort(`\`Module.${prop}\` was supplied but \`${prop}\` not included in INCOMING_MODULE_JS_API`); - } -} - -// forcing the filesystem exports a few things by default -function isExportedByForceFilesystem(name) { - return name === 'FS_createPath' || - name === 'FS_createDataFile' || - name === 'FS_createPreloadedFile' || - name === 'FS_unlink' || - name === 'addRunDependency' || - // The old FS has some functionality that WasmFS lacks. - name === 'FS_createLazyFile' || - name === 'FS_createDevice' || - name === 'removeRunDependency'; -} - -/** - * Intercept access to a global symbol. This enables us to give informative - * warnings/errors when folks attempt to use symbols they did not include in - * their build, or no symbols that no longer exist. - */ -function hookGlobalSymbolAccess(sym, func) { - if (typeof globalThis != 'undefined' && !Object.getOwnPropertyDescriptor(globalThis, sym)) { - Object.defineProperty(globalThis, sym, { - configurable: true, - get() { - func(); - return undefined; - } - }); - } -} - -function missingGlobal(sym, msg) { - hookGlobalSymbolAccess(sym, () => { - warnOnce(`\`${sym}\` is not longer defined by emscripten. ${msg}`); - }); -} - -missingGlobal('buffer', 'Please use HEAP8.buffer or wasmMemory.buffer'); -missingGlobal('asm', 'Please use wasmExports instead'); - -function missingLibrarySymbol(sym) { - hookGlobalSymbolAccess(sym, () => { - // Can't `abort()` here because it would break code that does runtime - // checks. e.g. `if (typeof SDL === 'undefined')`. - var msg = `\`${sym}\` is a library symbol and not included by default; add it to your library.js __deps or to DEFAULT_LIBRARY_FUNCS_TO_INCLUDE on the command line`; - // DEFAULT_LIBRARY_FUNCS_TO_INCLUDE requires the name as it appears in - // library.js, which means $name for a JS name with no prefix, or name - // for a JS name like _name. - var librarySymbol = sym; - if (!librarySymbol.startsWith('_')) { - librarySymbol = '$' + sym; - } - msg += ` (e.g. -sDEFAULT_LIBRARY_FUNCS_TO_INCLUDE='${librarySymbol}')`; - if (isExportedByForceFilesystem(sym)) { - msg += '. Alternatively, forcing filesystem support (-sFORCE_FILESYSTEM) can export this for you'; - } - warnOnce(msg); - }); - - // Any symbol that is not included from the JS library is also (by definition) - // not exported on the Module object. - unexportedRuntimeSymbol(sym); -} - -function unexportedRuntimeSymbol(sym) { - if (!Object.getOwnPropertyDescriptor(Module, sym)) { - Object.defineProperty(Module, sym, { - configurable: true, - get() { - var msg = `'${sym}' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the Emscripten FAQ)`; - if (isExportedByForceFilesystem(sym)) { - msg += '. Alternatively, forcing filesystem support (-sFORCE_FILESYSTEM) can export this for you'; - } - abort(msg); - } - }); - } -} - -var runtimeDebug = true; // Switch to false at runtime to disable logging at the right times - -// Used by XXXXX_DEBUG settings to output debug messages. -function dbg(...args) { - if (!runtimeDebug && typeof runtimeDebug != 'undefined') return; - // TODO(sbc): Make this configurable somehow. Its not always convenient for - // logging to show up as warnings. - console.warn(...args); -} -// end include: runtime_debug.js -// include: memoryprofiler.js -// end include: memoryprofiler.js - - -function updateMemoryViews() { - var b = wasmMemory.buffer; - Module['HEAP8'] = HEAP8 = new Int8Array(b); - Module['HEAP16'] = HEAP16 = new Int16Array(b); - Module['HEAPU8'] = HEAPU8 = new Uint8Array(b); - Module['HEAPU16'] = HEAPU16 = new Uint16Array(b); - Module['HEAP32'] = HEAP32 = new Int32Array(b); - Module['HEAPU32'] = HEAPU32 = new Uint32Array(b); - Module['HEAPF32'] = HEAPF32 = new Float32Array(b); - Module['HEAPF64'] = HEAPF64 = new Float64Array(b); - Module['HEAP64'] = HEAP64 = new BigInt64Array(b); - Module['HEAPU64'] = HEAPU64 = new BigUint64Array(b); -} - -// end include: runtime_shared.js -assert(!Module['STACK_SIZE'], 'STACK_SIZE can no longer be set at runtime. Use -sSTACK_SIZE at link time') - -assert(typeof Int32Array != 'undefined' && typeof Float64Array !== 'undefined' && Int32Array.prototype.subarray != undefined && Int32Array.prototype.set != undefined, - 'JS engine does not provide full typed array support'); - -// If memory is defined in wasm, the user can't provide it, or set INITIAL_MEMORY -assert(!Module['wasmMemory'], 'Use of `wasmMemory` detected. Use -sIMPORTED_MEMORY to define wasmMemory externally'); -assert(!Module['INITIAL_MEMORY'], 'Detected runtime INITIAL_MEMORY setting. Use -sIMPORTED_MEMORY to define wasmMemory dynamically'); - -function preRun() { - if (Module['preRun']) { - if (typeof Module['preRun'] == 'function') Module['preRun'] = [Module['preRun']]; - while (Module['preRun'].length) { - addOnPreRun(Module['preRun'].shift()); - } - } - consumedModuleProp('preRun'); - callRuntimeCallbacks(onPreRuns); -} - -function initRuntime() { - assert(!runtimeInitialized); - runtimeInitialized = true; - - checkStackCookie(); - - - - wasmExports['__wasm_call_ctors'](); - - -} - -function preMain() { - checkStackCookie(); - -} - -function postRun() { - checkStackCookie(); - - if (Module['postRun']) { - if (typeof Module['postRun'] == 'function') Module['postRun'] = [Module['postRun']]; - while (Module['postRun'].length) { - addOnPostRun(Module['postRun'].shift()); - } - } - consumedModuleProp('postRun'); - - callRuntimeCallbacks(onPostRuns); -} - -// A counter of dependencies for calling run(). If we need to -// do asynchronous work before running, increment this and -// decrement it. Incrementing must happen in a place like -// Module.preRun (used by emcc to add file preloading). -// Note that you can add dependencies in preRun, even though -// it happens right before run - run will be postponed until -// the dependencies are met. -var runDependencies = 0; -var dependenciesFulfilled = null; // overridden to take different actions when all run dependencies are fulfilled -var runDependencyTracking = {}; -var runDependencyWatcher = null; - -function getUniqueRunDependency(id) { - var orig = id; - while (1) { - if (!runDependencyTracking[id]) return id; - id = orig + Math.random(); - } -} - -function addRunDependency(id) { - runDependencies++; - - Module['monitorRunDependencies']?.(runDependencies); - - if (id) { - assert(!runDependencyTracking[id]); - runDependencyTracking[id] = 1; - if (runDependencyWatcher === null && typeof setInterval != 'undefined') { - // Check for missing dependencies every few seconds - runDependencyWatcher = setInterval(() => { - if (ABORT) { - clearInterval(runDependencyWatcher); - runDependencyWatcher = null; - return; - } - var shown = false; - for (var dep in runDependencyTracking) { - if (!shown) { - shown = true; - err('still waiting on run dependencies:'); - } - err(`dependency: ${dep}`); - } - if (shown) { - err('(end of list)'); - } - }, 10000); - } - } else { - err('warning: run dependency added without ID'); - } -} - -function removeRunDependency(id) { - runDependencies--; - - Module['monitorRunDependencies']?.(runDependencies); - - if (id) { - assert(runDependencyTracking[id]); - delete runDependencyTracking[id]; - } else { - err('warning: run dependency removed without ID'); - } - if (runDependencies == 0) { - if (runDependencyWatcher !== null) { - clearInterval(runDependencyWatcher); - runDependencyWatcher = null; - } - if (dependenciesFulfilled) { - var callback = dependenciesFulfilled; - dependenciesFulfilled = null; - callback(); // can add another dependenciesFulfilled - } - } -} - -/** @param {string|number=} what */ -function abort(what) { - Module['onAbort']?.(what); - - what = 'Aborted(' + what + ')'; - // TODO(sbc): Should we remove printing and leave it up to whoever - // catches the exception? - err(what); - - ABORT = true; - - // Use a wasm runtime error, because a JS error might be seen as a foreign - // exception, which means we'd run destructors on it. We need the error to - // simply make the program stop. - // FIXME This approach does not work in Wasm EH because it currently does not assume - // all RuntimeErrors are from traps; it decides whether a RuntimeError is from - // a trap or not based on a hidden field within the object. So at the moment - // we don't have a way of throwing a wasm trap from JS. TODO Make a JS API that - // allows this in the wasm spec. - - // Suppress closure compiler warning here. Closure compiler's builtin extern - // definition for WebAssembly.RuntimeError claims it takes no arguments even - // though it can. - // TODO(https://github.com/google/closure-compiler/pull/3913): Remove if/when upstream closure gets fixed. - /** @suppress {checkTypes} */ - var e = new WebAssembly.RuntimeError(what); - - // Throw the error whether or not MODULARIZE is set because abort is used - // in code paths apart from instantiation where an exception is expected - // to be thrown when abort is called. - throw e; -} - -// show errors on likely calls to FS when it was not included -var FS = { - error() { - abort('Filesystem support (FS) was not included. The problem is that you are using files from JS, but files were not used from C/C++, so filesystem support was not auto-included. You can force-include filesystem support with -sFORCE_FILESYSTEM'); - }, - init() { FS.error() }, - createDataFile() { FS.error() }, - createPreloadedFile() { FS.error() }, - createLazyFile() { FS.error() }, - open() { FS.error() }, - mkdev() { FS.error() }, - registerDevice() { FS.error() }, - analyzePath() { FS.error() }, - - ErrnoError() { FS.error() }, -}; -Module['FS_createDataFile'] = FS.createDataFile; -Module['FS_createPreloadedFile'] = FS.createPreloadedFile; - -function createExportWrapper(name, nargs) { - return (...args) => { - assert(runtimeInitialized, `native function \`${name}\` called before runtime initialization`); - var f = wasmExports[name]; - assert(f, `exported native function \`${name}\` not found`); - // Only assert for too many arguments. Too few can be valid since the missing arguments will be zero filled. - assert(args.length <= nargs, `native function \`${name}\` called with ${args.length} args but expects ${nargs}`); - return f(...args); - }; -} - -var wasmBinaryFile; - -function findWasmBinary() { - return locateFile('a.out.wasm'); -} - -function getBinarySync(file) { - if (file == wasmBinaryFile && wasmBinary) { - return new Uint8Array(wasmBinary); - } - if (readBinary) { - return readBinary(file); - } - throw 'both async and sync fetching of the wasm failed'; -} - -async function getWasmBinary(binaryFile) { - // If we don't have the binary yet, load it asynchronously using readAsync. - if (!wasmBinary) { - // Fetch the binary using readAsync - try { - var response = await readAsync(binaryFile); - return new Uint8Array(response); - } catch { - // Fall back to getBinarySync below; - } - } - - // Otherwise, getBinarySync should be able to get it synchronously - return getBinarySync(binaryFile); -} - -async function instantiateArrayBuffer(binaryFile, imports) { - try { - var binary = await getWasmBinary(binaryFile); - var instance = await WebAssembly.instantiate(binary, imports); - return instance; - } catch (reason) { - err(`failed to asynchronously prepare wasm: ${reason}`); - - // Warn on some common problems. - if (isFileURI(wasmBinaryFile)) { - err(`warning: Loading from a file URI (${wasmBinaryFile}) is not supported in most browsers. See https://emscripten.org/docs/getting_started/FAQ.html#how-do-i-run-a-local-webserver-for-testing-why-does-my-program-stall-in-downloading-or-preparing`); - } - abort(reason); - } -} - -async function instantiateAsync(binary, binaryFile, imports) { - if (!binary && typeof WebAssembly.instantiateStreaming == 'function' - // Don't use streaming for file:// delivered objects in a webview, fetch them synchronously. - && !isFileURI(binaryFile) - // Avoid instantiateStreaming() on Node.js environment for now, as while - // Node.js v18.1.0 implements it, it does not have a full fetch() - // implementation yet. - // - // Reference: - // https://github.com/emscripten-core/emscripten/pull/16917 - && !ENVIRONMENT_IS_NODE - ) { - try { - var response = fetch(binaryFile, { credentials: 'same-origin' }); - var instantiationResult = await WebAssembly.instantiateStreaming(response, imports); - return instantiationResult; - } catch (reason) { - // We expect the most common failure cause to be a bad MIME type for the binary, - // in which case falling back to ArrayBuffer instantiation should work. - err(`wasm streaming compile failed: ${reason}`); - err('falling back to ArrayBuffer instantiation'); - // fall back of instantiateArrayBuffer below - }; - } - return instantiateArrayBuffer(binaryFile, imports); -} - -function getWasmImports() { - // prepare imports - return { - 'env': wasmImports, - 'wasi_snapshot_preview1': wasmImports, - } -} - -// Create the wasm instance. -// Receives the wasm imports, returns the exports. -async function createWasm() { - // Load the wasm module and create an instance of using native support in the JS engine. - // handle a generated wasm instance, receiving its exports and - // performing other necessary setup - /** @param {WebAssembly.Module=} module*/ - function receiveInstance(instance, module) { - wasmExports = instance.exports; - - - - wasmMemory = wasmExports['memory']; - - assert(wasmMemory, 'memory not found in wasm exports'); - updateMemoryViews(); - - removeRunDependency('wasm-instantiate'); - return wasmExports; - } - // wait for the pthread pool (if any) - addRunDependency('wasm-instantiate'); - - // Prefer streaming instantiation if available. - // Async compilation can be confusing when an error on the page overwrites Module - // (for example, if the order of elements is wrong, and the one defining Module is - // later), so we save Module and check it later. - var trueModule = Module; - function receiveInstantiationResult(result) { - // 'result' is a ResultObject object which has both the module and instance. - // receiveInstance() will swap in the exports (to Module.asm) so they can be called - assert(Module === trueModule, 'the Module object should not be replaced during async compilation - perhaps the order of HTML elements is wrong?'); - trueModule = null; - // TODO: Due to Closure regression https://github.com/google/closure-compiler/issues/3193, the above line no longer optimizes out down to the following line. - // When the regression is fixed, can restore the above PTHREADS-enabled path. - return receiveInstance(result['instance']); - } - - var info = getWasmImports(); - - // User shell pages can write their own Module.instantiateWasm = function(imports, successCallback) callback - // to manually instantiate the Wasm module themselves. This allows pages to - // run the instantiation parallel to any other async startup actions they are - // performing. - // Also pthreads and wasm workers initialize the wasm instance through this - // path. - if (Module['instantiateWasm']) { - return new Promise((resolve, reject) => { - try { - Module['instantiateWasm'](info, (mod, inst) => { - receiveInstance(mod, inst); - resolve(mod.exports); - }); - } catch(e) { - err(`Module.instantiateWasm callback failed with error: ${e}`); - reject(e); - } - }); - } - - wasmBinaryFile ??= findWasmBinary(); - var result = await instantiateAsync(wasmBinary, wasmBinaryFile, info); - var exports = receiveInstantiationResult(result); - return exports; -} - -// end include: preamble.js - -// Begin JS library code - - - class ExitStatus { - name = 'ExitStatus'; - constructor(status) { - this.message = `Program terminated with exit(${status})`; - this.status = status; - } - } - - var callRuntimeCallbacks = (callbacks) => { - while (callbacks.length > 0) { - // Pass the module as the first argument. - callbacks.shift()(Module); - } - }; - var onPostRuns = []; - var addOnPostRun = (cb) => onPostRuns.unshift(cb); - - var onPreRuns = []; - var addOnPreRun = (cb) => onPreRuns.unshift(cb); - - - - /** - * @param {number} ptr - * @param {string} type - */ - function getValue(ptr, type = 'i8') { - if (type.endsWith('*')) type = '*'; - switch (type) { - case 'i1': return HEAP8[ptr]; - case 'i8': return HEAP8[ptr]; - case 'i16': return HEAP16[((ptr)>>1)]; - case 'i32': return HEAP32[((ptr)>>2)]; - case 'i64': return HEAP64[((ptr)>>3)]; - case 'float': return HEAPF32[((ptr)>>2)]; - case 'double': return HEAPF64[((ptr)>>3)]; - case '*': return HEAPU32[((ptr)>>2)]; - default: abort(`invalid type for getValue: ${type}`); - } - } - - var noExitRuntime = Module['noExitRuntime'] || true; - - var ptrToString = (ptr) => { - assert(typeof ptr === 'number'); - // With CAN_ADDRESS_2GB or MEMORY64, pointers are already unsigned. - ptr >>>= 0; - return '0x' + ptr.toString(16).padStart(8, '0'); - }; - - - /** - * @param {number} ptr - * @param {number} value - * @param {string} type - */ - function setValue(ptr, value, type = 'i8') { - if (type.endsWith('*')) type = '*'; - switch (type) { - case 'i1': HEAP8[ptr] = value; break; - case 'i8': HEAP8[ptr] = value; break; - case 'i16': HEAP16[((ptr)>>1)] = value; break; - case 'i32': HEAP32[((ptr)>>2)] = value; break; - case 'i64': HEAP64[((ptr)>>3)] = BigInt(value); break; - case 'float': HEAPF32[((ptr)>>2)] = value; break; - case 'double': HEAPF64[((ptr)>>3)] = value; break; - case '*': HEAPU32[((ptr)>>2)] = value; break; - default: abort(`invalid type for setValue: ${type}`); - } - } - - var stackRestore = (val) => __emscripten_stack_restore(val); - - var stackSave = () => _emscripten_stack_get_current(); - - var warnOnce = (text) => { - warnOnce.shown ||= {}; - if (!warnOnce.shown[text]) { - warnOnce.shown[text] = 1; - if (ENVIRONMENT_IS_NODE) text = 'warning: ' + text; - err(text); - } - }; - - - var runtimeKeepaliveCounter = 0; - var keepRuntimeAlive = () => noExitRuntime || runtimeKeepaliveCounter > 0; - var _proc_exit = (code) => { - EXITSTATUS = code; - if (!keepRuntimeAlive()) { - Module['onExit']?.(code); - ABORT = true; - } - quit_(code, new ExitStatus(code)); - }; - - - /** @param {boolean|number=} implicit */ - var exitJS = (status, implicit) => { - EXITSTATUS = status; - - checkUnflushedContent(); - - // if exit() was called explicitly, warn the user if the runtime isn't actually being shut down - if (keepRuntimeAlive() && !implicit) { - var msg = `program exited (with status: ${status}), but keepRuntimeAlive() is set (counter=${runtimeKeepaliveCounter}) due to an async operation, so halting execution but not exiting the runtime or preventing further async execution (you can use emscripten_force_exit, if you want to force a true shutdown)`; - err(msg); - } - - _proc_exit(status); - }; - - var handleException = (e) => { - // Certain exception types we do not treat as errors since they are used for - // internal control flow. - // 1. ExitStatus, which is thrown by exit() - // 2. "unwind", which is thrown by emscripten_unwind_to_js_event_loop() and others - // that wish to return to JS event loop. - if (e instanceof ExitStatus || e == 'unwind') { - return EXITSTATUS; - } - checkStackCookie(); - if (e instanceof WebAssembly.RuntimeError) { - if (_emscripten_stack_get_current() <= 0) { - err('Stack overflow detected. You can try increasing -sSTACK_SIZE (currently set to 65536)'); - } - } - quit_(1, e); - }; - - var lengthBytesUTF8 = (str) => { - var len = 0; - for (var i = 0; i < str.length; ++i) { - // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code - // unit, not a Unicode code point of the character! So decode - // UTF16->UTF32->UTF8. - // See http://unicode.org/faq/utf_bom.html#utf16-3 - var c = str.charCodeAt(i); // possibly a lead surrogate - if (c <= 0x7F) { - len++; - } else if (c <= 0x7FF) { - len += 2; - } else if (c >= 0xD800 && c <= 0xDFFF) { - len += 4; ++i; - } else { - len += 3; - } - } - return len; - }; - - var stringToUTF8Array = (str, heap, outIdx, maxBytesToWrite) => { - assert(typeof str === 'string', `stringToUTF8Array expects a string (got ${typeof str})`); - // Parameter maxBytesToWrite is not optional. Negative values, 0, null, - // undefined and false each don't write out any bytes. - if (!(maxBytesToWrite > 0)) - return 0; - - var startIdx = outIdx; - var endIdx = outIdx + maxBytesToWrite - 1; // -1 for string null terminator. - for (var i = 0; i < str.length; ++i) { - // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code - // unit, not a Unicode code point of the character! So decode - // UTF16->UTF32->UTF8. - // See http://unicode.org/faq/utf_bom.html#utf16-3 - // For UTF8 byte structure, see http://en.wikipedia.org/wiki/UTF-8#Description - // and https://www.ietf.org/rfc/rfc2279.txt - // and https://tools.ietf.org/html/rfc3629 - var u = str.charCodeAt(i); // possibly a lead surrogate - if (u >= 0xD800 && u <= 0xDFFF) { - var u1 = str.charCodeAt(++i); - u = 0x10000 + ((u & 0x3FF) << 10) | (u1 & 0x3FF); - } - if (u <= 0x7F) { - if (outIdx >= endIdx) break; - heap[outIdx++] = u; - } else if (u <= 0x7FF) { - if (outIdx + 1 >= endIdx) break; - heap[outIdx++] = 0xC0 | (u >> 6); - heap[outIdx++] = 0x80 | (u & 63); - } else if (u <= 0xFFFF) { - if (outIdx + 2 >= endIdx) break; - heap[outIdx++] = 0xE0 | (u >> 12); - heap[outIdx++] = 0x80 | ((u >> 6) & 63); - heap[outIdx++] = 0x80 | (u & 63); - } else { - if (outIdx + 3 >= endIdx) break; - if (u > 0x10FFFF) warnOnce('Invalid Unicode code point ' + ptrToString(u) + ' encountered when serializing a JS string to a UTF-8 string in wasm memory! (Valid unicode code points should be in range 0-0x10FFFF).'); - heap[outIdx++] = 0xF0 | (u >> 18); - heap[outIdx++] = 0x80 | ((u >> 12) & 63); - heap[outIdx++] = 0x80 | ((u >> 6) & 63); - heap[outIdx++] = 0x80 | (u & 63); - } - } - // Null-terminate the pointer to the buffer. - heap[outIdx] = 0; - return outIdx - startIdx; - }; - var stringToUTF8 = (str, outPtr, maxBytesToWrite) => { - assert(typeof maxBytesToWrite == 'number', 'stringToUTF8(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!'); - return stringToUTF8Array(str, HEAPU8, outPtr, maxBytesToWrite); - }; - - var stackAlloc = (sz) => __emscripten_stack_alloc(sz); - var stringToUTF8OnStack = (str) => { - var size = lengthBytesUTF8(str) + 1; - var ret = stackAlloc(size); - stringToUTF8(str, ret, size); - return ret; - }; -// End JS library code - -function checkIncomingModuleAPI() { - ignoredModuleProp('fetchSettings'); -} -var wasmImports = { - -}; -var wasmExports; -createWasm(); -var ___wasm_call_ctors = createExportWrapper('__wasm_call_ctors', 0); -var _main = Module['_main'] = createExportWrapper('__main_argc_argv', 2); -var _fflush = createExportWrapper('fflush', 1); -var _emscripten_stack_init = () => (_emscripten_stack_init = wasmExports['emscripten_stack_init'])(); -var _emscripten_stack_get_free = () => (_emscripten_stack_get_free = wasmExports['emscripten_stack_get_free'])(); -var _emscripten_stack_get_base = () => (_emscripten_stack_get_base = wasmExports['emscripten_stack_get_base'])(); -var _emscripten_stack_get_end = () => (_emscripten_stack_get_end = wasmExports['emscripten_stack_get_end'])(); -var __emscripten_stack_restore = (a0) => (__emscripten_stack_restore = wasmExports['_emscripten_stack_restore'])(a0); -var __emscripten_stack_alloc = (a0) => (__emscripten_stack_alloc = wasmExports['_emscripten_stack_alloc'])(a0); -var _emscripten_stack_get_current = () => (_emscripten_stack_get_current = wasmExports['emscripten_stack_get_current'])(); - - -// include: postamble.js -// === Auto-generated postamble setup entry stuff === - -var missingLibrarySymbols = [ - 'writeI53ToI64', - 'writeI53ToI64Clamped', - 'writeI53ToI64Signaling', - 'writeI53ToU64Clamped', - 'writeI53ToU64Signaling', - 'readI53FromI64', - 'readI53FromU64', - 'convertI32PairToI53', - 'convertI32PairToI53Checked', - 'convertU32PairToI53', - 'bigintToI53Checked', - 'getTempRet0', - 'setTempRet0', - 'zeroMemory', - 'getHeapMax', - 'abortOnCannotGrowMemory', - 'growMemory', - 'strError', - 'inetPton4', - 'inetNtop4', - 'inetPton6', - 'inetNtop6', - 'readSockaddr', - 'writeSockaddr', - 'emscriptenLog', - 'readEmAsmArgs', - 'jstoi_q', - 'getExecutableName', - 'listenOnce', - 'autoResumeAudioContext', - 'getDynCaller', - 'dynCall', - 'runtimeKeepalivePush', - 'runtimeKeepalivePop', - 'callUserCallback', - 'maybeExit', - 'asmjsMangle', - 'asyncLoad', - 'alignMemory', - 'mmapAlloc', - 'HandleAllocator', - 'getNativeTypeSize', - 'addOnInit', - 'addOnPostCtor', - 'addOnPreMain', - 'addOnExit', - 'STACK_SIZE', - 'STACK_ALIGN', - 'POINTER_SIZE', - 'ASSERTIONS', - 'getCFunc', - 'ccall', - 'cwrap', - 'uleb128Encode', - 'sigToWasmTypes', - 'generateFuncType', - 'convertJsFunctionToWasm', - 'getEmptyTableSlot', - 'updateTableMap', - 'getFunctionAddress', - 'addFunction', - 'removeFunction', - 'reallyNegative', - 'unSign', - 'strLen', - 'reSign', - 'formatString', - 'UTF8ArrayToString', - 'UTF8ToString', - 'intArrayFromString', - 'intArrayToString', - 'AsciiToString', - 'stringToAscii', - 'UTF16ToString', - 'stringToUTF16', - 'lengthBytesUTF16', - 'UTF32ToString', - 'stringToUTF32', - 'lengthBytesUTF32', - 'stringToNewUTF8', - 'writeArrayToMemory', - 'registerKeyEventCallback', - 'maybeCStringToJsString', - 'findEventTarget', - 'getBoundingClientRect', - 'fillMouseEventData', - 'registerMouseEventCallback', - 'registerWheelEventCallback', - 'registerUiEventCallback', - 'registerFocusEventCallback', - 'fillDeviceOrientationEventData', - 'registerDeviceOrientationEventCallback', - 'fillDeviceMotionEventData', - 'registerDeviceMotionEventCallback', - 'screenOrientation', - 'fillOrientationChangeEventData', - 'registerOrientationChangeEventCallback', - 'fillFullscreenChangeEventData', - 'registerFullscreenChangeEventCallback', - 'JSEvents_requestFullscreen', - 'JSEvents_resizeCanvasForFullscreen', - 'registerRestoreOldStyle', - 'hideEverythingExceptGivenElement', - 'restoreHiddenElements', - 'setLetterbox', - 'softFullscreenResizeWebGLRenderTarget', - 'doRequestFullscreen', - 'fillPointerlockChangeEventData', - 'registerPointerlockChangeEventCallback', - 'registerPointerlockErrorEventCallback', - 'requestPointerLock', - 'fillVisibilityChangeEventData', - 'registerVisibilityChangeEventCallback', - 'registerTouchEventCallback', - 'fillGamepadEventData', - 'registerGamepadEventCallback', - 'registerBeforeUnloadEventCallback', - 'fillBatteryEventData', - 'battery', - 'registerBatteryEventCallback', - 'setCanvasElementSize', - 'getCanvasElementSize', - 'jsStackTrace', - 'getCallstack', - 'convertPCtoSourceLocation', - 'getEnvStrings', - 'checkWasiClock', - 'flush_NO_FILESYSTEM', - 'wasiRightsToMuslOFlags', - 'wasiOFlagsToMuslOFlags', - 'initRandomFill', - 'randomFill', - 'safeSetTimeout', - 'setImmediateWrapped', - 'safeRequestAnimationFrame', - 'clearImmediateWrapped', - 'registerPostMainLoop', - 'registerPreMainLoop', - 'getPromise', - 'makePromise', - 'idsToPromises', - 'makePromiseCallback', - 'ExceptionInfo', - 'findMatchingCatch', - 'Browser_asyncPrepareDataCounter', - 'isLeapYear', - 'ydayFromDate', - 'arraySum', - 'addDays', - 'getSocketFromFD', - 'getSocketAddress', - 'FS_createPreloadedFile', - 'FS_modeStringToFlags', - 'FS_getMode', - 'FS_stdin_getChar', - 'FS_unlink', - 'FS_createDataFile', - 'FS_mkdirTree', - '_setNetworkCallback', - 'heapObjectForWebGLType', - 'toTypedArrayIndex', - 'webgl_enable_ANGLE_instanced_arrays', - 'webgl_enable_OES_vertex_array_object', - 'webgl_enable_WEBGL_draw_buffers', - 'webgl_enable_WEBGL_multi_draw', - 'webgl_enable_EXT_polygon_offset_clamp', - 'webgl_enable_EXT_clip_control', - 'webgl_enable_WEBGL_polygon_mode', - 'emscriptenWebGLGet', - 'computeUnpackAlignedImageSize', - 'colorChannelsInGlTextureFormat', - 'emscriptenWebGLGetTexPixelData', - 'emscriptenWebGLGetUniform', - 'webglGetUniformLocation', - 'webglPrepareUniformLocationsBeforeFirstUse', - 'webglGetLeftBracePos', - 'emscriptenWebGLGetVertexAttrib', - '__glGetActiveAttribOrUniform', - 'writeGLArray', - 'registerWebGlEventCallback', - 'runAndAbortIfError', - 'ALLOC_NORMAL', - 'ALLOC_STACK', - 'allocate', - 'writeStringToMemory', - 'writeAsciiToMemory', - 'demangle', - 'stackTrace', -]; -missingLibrarySymbols.forEach(missingLibrarySymbol) - -var unexportedSymbols = [ - 'run', - 'addRunDependency', - 'removeRunDependency', - 'out', - 'err', - 'callMain', - 'abort', - 'wasmMemory', - 'wasmExports', - 'writeStackCookie', - 'checkStackCookie', - 'INT53_MAX', - 'INT53_MIN', - 'stackSave', - 'stackRestore', - 'stackAlloc', - 'ptrToString', - 'exitJS', - 'ENV', - 'ERRNO_CODES', - 'DNS', - 'Protocols', - 'Sockets', - 'timers', - 'warnOnce', - 'readEmAsmArgsArray', - 'jstoi_s', - 'handleException', - 'keepRuntimeAlive', - 'wasmTable', - 'noExitRuntime', - 'addOnPreRun', - 'addOnPostRun', - 'freeTableIndexes', - 'functionsInTableMap', - 'setValue', - 'getValue', - 'PATH', - 'PATH_FS', - 'UTF8Decoder', - 'stringToUTF8Array', - 'stringToUTF8', - 'lengthBytesUTF8', - 'UTF16Decoder', - 'stringToUTF8OnStack', - 'JSEvents', - 'specialHTMLTargets', - 'findCanvasEventTarget', - 'currentFullscreenStrategy', - 'restoreOldWindowedStyle', - 'UNWIND_CACHE', - 'ExitStatus', - 'emSetImmediate', - 'emClearImmediate_deps', - 'emClearImmediate', - 'promiseMap', - 'uncaughtExceptionCount', - 'exceptionLast', - 'exceptionCaught', - 'Browser', - 'getPreloadedImageData__data', - 'wget', - 'MONTH_DAYS_REGULAR', - 'MONTH_DAYS_LEAP', - 'MONTH_DAYS_REGULAR_CUMULATIVE', - 'MONTH_DAYS_LEAP_CUMULATIVE', - 'SYSCALLS', - 'preloadPlugins', - 'FS_stdin_getChar_buffer', - 'FS_createPath', - 'FS_createDevice', - 'FS_readFile', - 'FS', - 'FS_createLazyFile', - 'MEMFS', - 'TTY', - 'PIPEFS', - 'SOCKFS', - 'tempFixedLengthArray', - 'miniTempWebGLFloatBuffers', - 'miniTempWebGLIntBuffers', - 'GL', - 'AL', - 'GLUT', - 'EGL', - 'GLEW', - 'IDBStore', - 'SDL', - 'SDL_gfx', - 'allocateUTF8', - 'allocateUTF8OnStack', - 'print', - 'printErr', -]; -unexportedSymbols.forEach(unexportedRuntimeSymbol); - - - -var calledRun; - -function callMain(args = []) { - assert(runDependencies == 0, 'cannot call main when async dependencies remain! (listen on Module["onRuntimeInitialized"])'); - assert(typeof onPreRuns === 'undefined' || onPreRuns.length == 0, 'cannot call main when preRun functions remain to be called'); - - var entryFunction = _main; - - args.unshift(thisProgram); - - var argc = args.length; - var argv = stackAlloc((argc + 1) * 4); - var argv_ptr = argv; - args.forEach((arg) => { - HEAPU32[((argv_ptr)>>2)] = stringToUTF8OnStack(arg); - argv_ptr += 4; - }); - HEAPU32[((argv_ptr)>>2)] = 0; - - try { - - var ret = entryFunction(argc, argv); - - // if we're not running an evented main loop, it's time to exit - exitJS(ret, /* implicit = */ true); - return ret; - } catch (e) { - return handleException(e); - } -} - -function stackCheckInit() { - // This is normally called automatically during __wasm_call_ctors but need to - // get these values before even running any of the ctors so we call it redundantly - // here. - _emscripten_stack_init(); - // TODO(sbc): Move writeStackCookie to native to to avoid this. - writeStackCookie(); -} - -function run(args = arguments_) { - - if (runDependencies > 0) { - dependenciesFulfilled = run; - return; - } - - stackCheckInit(); - - preRun(); - - // a preRun added a dependency, run will be called later - if (runDependencies > 0) { - dependenciesFulfilled = run; - return; - } - - function doRun() { - // run may have just been called through dependencies being fulfilled just in this very frame, - // or while the async setStatus time below was happening - assert(!calledRun); - calledRun = true; - Module['calledRun'] = true; - - if (ABORT) return; - - initRuntime(); - - preMain(); - - Module['onRuntimeInitialized']?.(); - consumedModuleProp('onRuntimeInitialized'); - - var noInitialRun = Module['noInitialRun'];legacyModuleProp('noInitialRun', 'noInitialRun'); - if (!noInitialRun) callMain(args); - - postRun(); - } - - if (Module['setStatus']) { - Module['setStatus']('Running...'); - setTimeout(() => { - setTimeout(() => Module['setStatus'](''), 1); - doRun(); - }, 1); - } else - { - doRun(); - } - checkStackCookie(); -} - -function checkUnflushedContent() { - // Compiler settings do not allow exiting the runtime, so flushing - // the streams is not possible. but in ASSERTIONS mode we check - // if there was something to flush, and if so tell the user they - // should request that the runtime be exitable. - // Normally we would not even include flush() at all, but in ASSERTIONS - // builds we do so just for this check, and here we see if there is any - // content to flush, that is, we check if there would have been - // something a non-ASSERTIONS build would have not seen. - // How we flush the streams depends on whether we are in SYSCALLS_REQUIRE_FILESYSTEM=0 - // mode (which has its own special function for this; otherwise, all - // the code is inside libc) - var oldOut = out; - var oldErr = err; - var has = false; - out = err = (x) => { - has = true; - } - try { // it doesn't matter if it fails - _fflush(0); - } catch(e) {} - out = oldOut; - err = oldErr; - if (has) { - warnOnce('stdio streams had content in them that was not flushed. you should set EXIT_RUNTIME to 1 (see the Emscripten FAQ), or make sure to emit a newline when you printf etc.'); - warnOnce('(this may also be due to not including full filesystem support - try building with -sFORCE_FILESYSTEM)'); - } -} - -if (Module['preInit']) { - if (typeof Module['preInit'] == 'function') Module['preInit'] = [Module['preInit']]; - while (Module['preInit'].length > 0) { - Module['preInit'].pop()(); - } -} -consumedModuleProp('preInit'); - -run(); - -// end include: postamble.js - diff --git a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/3.28.3/CompilerIdC/a.out.wasm b/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/3.28.3/CompilerIdC/a.out.wasm deleted file mode 100755 index 15fd07e3924a8dfd418f55f4d9dbd30871d7f973..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1791 zcmai#J9FDc5P|JmEV&lRhsMpq{bO}5`ehdyWRb6_jp)<-EA`fU`s;> zO0U;rJ?dWd*sBA81D=do4-S}A0P87ZI#<+8mS?kBRn78@N;m5;#xhyP&iOgdjw?N8 zo}Q{2b&xhg-}8L7?X-jNC5JJ~`h*s>>bB=u^(Y9t0J>$h?UrxZVY4oq6JXg!!;8Bw zpfKgMyY;Zui5%bRMt1$!YWb}QGIN*an@(gkLdSvZyLE?l*MXtgcltU05#;8qOS;hM zQiu-lnaes#AgF_~aLGvqQjf#X@gq>@EDHFj6*_f_F81qDEAXwzKJ*+0!$0J774(eu zm%_Gti>Gvf;HEAVYS6nfS!v=uR%vq5~4fBy0!4b^IVpN)eC}06cU7-_7Pf=qyR^~q?sPPmvf#W#g zibKZQKHCJ56>k@T? zP>44WBO#EaSQJy#A}(Ul6(vHI2$lLS;gSJ=p2{3=lH)So#N|kov5d>HxRpBI#@l$y z6%}%Y@t!Ll5b8mS zs$s3ne@Rg5DQW}Pal;i4@u5U*5^4)KaVrv!@DXms;&F<4f=}?VE4B%>-A@O^4(=4R zVL&J)|GGBMc>e$(9Gjhwi!4b?HpXTA^>bm<*4l zXJRUa)PjRXzezBEm5Jz|Cy3vqtc?yPzerdrm`vLK&6(2UI|w84q%po@LYeqy#0dG)A0LNSgU15{j}X81mf_ zmLG(t7MaxLib@h9GJ1vIn8{puEZP1PpviqiLf7~L!h5i;=t;*_$|K3Up9s^mKN!8> zvYP(LKG=KuY_lG;J1x%%_uuzyzxf=J$&P17jUa6A_s4cve=(4qPpNQrspfR8Bd1}< zUbO#guWv`?)IYMrqYF)S{W)A*|60#FaY9MiUrnyH>PjlCu3iY_YQ8>G>2LvqDSDRZ z`G}q>J@6eXL{!;jiFWKLrn;J|Xosz?M|oVH;qOo3R-?tDTGeLp=w-rjOb;@=~i;x KR?|0VYyJW1zny*n diff --git a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/CMakeConfigureLog.yaml b/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/CMakeConfigureLog.yaml deleted file mode 100644 index c8bbc40..0000000 --- a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/CMakeConfigureLog.yaml +++ /dev/null @@ -1,409 +0,0 @@ - ---- -events: - - - kind: "message-v1" - backtrace: - - "/usr/share/cmake-3.28/Modules/CMakeDetermineSystem.cmake:228 (message)" - - "CMakeLists.txt:4 (project)" - message: | - The target system is: Emscripten - 1 - x86 - The host system is: Linux - 6.8.0-53-generic - x86_64 - - - kind: "message-v1" - backtrace: - - "/usr/share/cmake-3.28/Modules/CMakeDetermineCompilerId.cmake:17 (message)" - - "/usr/share/cmake-3.28/Modules/CMakeDetermineCompilerId.cmake:64 (__determine_compiler_id_test)" - - "/usr/share/cmake-3.28/Modules/CMakeDetermineCCompiler.cmake:123 (CMAKE_DETERMINE_COMPILER_ID)" - - "CMakeLists.txt:4 (project)" - message: | - Compiling the C compiler identification source file "CMakeCCompilerId.c" succeeded. - Compiler: /home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc - Build flags: - Id flags: - - The output was: - 0 - - - Compilation of the C compiler identification source "CMakeCCompilerId.c" produced "a.out.js" - - Compilation of the C compiler identification source "CMakeCCompilerId.c" produced "a.out.wasm" - - The C compiler identification could not be found in: - /home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/3.28.3/CompilerIdC/a.out.js - - The C compiler identification is Clang, found in: - /home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/3.28.3/CompilerIdC/a.out.wasm - - - - kind: "try_compile-v1" - backtrace: - - "/usr/share/cmake-3.28/Modules/CMakeDetermineCompilerABI.cmake:57 (try_compile)" - - "/usr/share/cmake-3.28/Modules/CMakeTestCCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)" - - "CMakeLists.txt:4 (project)" - checks: - - "Detecting C compiler ABI info" - directories: - source: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-LHTwpQ" - binary: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-LHTwpQ" - cmakeVariables: - CMAKE_CXX_COMPILER_CLANG_SCAN_DEPS: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/emscan-deps" - CMAKE_C_FLAGS: "" - CMAKE_C_FLAGS_DEBUG: "-g" - CMAKE_EXE_LINKER_FLAGS: "" - CMAKE_MODULE_PATH: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules" - buildResult: - variable: "CMAKE_C_ABI_COMPILED" - cached: true - stdout: | - Change Dir: '/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-LHTwpQ' - - Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_712e3/fast - /usr/bin/gmake -f CMakeFiles/cmTC_712e3.dir/build.make CMakeFiles/cmTC_712e3.dir/build - gmake[1]: Entering directory '/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-LHTwpQ' - Building C object CMakeFiles/cmTC_712e3.dir/CMakeCCompilerABI.c.o - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" -v -MD -MT CMakeFiles/cmTC_712e3.dir/CMakeCCompilerABI.c.o -MF CMakeFiles/cmTC_712e3.dir/CMakeCCompilerABI.c.o.d -o CMakeFiles/cmTC_712e3.dir/CMakeCCompilerABI.c.o -c /usr/share/cmake-3.28/Modules/CMakeCCompilerABI.c - "/home/romazan/Рабочий стол/emsdk/upstream/bin/clang" -target wasm32-unknown-emscripten -fignore-exceptions -mllvm -combiner-global-alias-analysis=false -mllvm -enable-emscripten-sjlj -mllvm -disable-lsr "--sysroot=/home/romazan/Рабочий стол/emsdk/upstream/emscripten/cache/sysroot" -DEMSCRIPTEN -Xclang -iwithsysroot/include/fakesdl -Xclang -iwithsysroot/include/compat -v -MD -MT CMakeFiles/cmTC_712e3.dir/CMakeCCompilerABI.c.o -MF CMakeFiles/cmTC_712e3.dir/CMakeCCompilerABI.c.o.d -oCMakeFiles/cmTC_712e3.dir/CMakeCCompilerABI.c.o -c /usr/share/cmake-3.28/Modules/CMakeCCompilerABI.c - clang version 21.0.0git (https:/github.com/llvm/llvm-project 4775e6d9099467df9363e1a3cd5950cc3d2fde05) - Target: wasm32-unknown-emscripten - Thread model: posix - InstalledDir: /home/romazan/Рабочий стол/emsdk/upstream/bin - (in-process) - "/home/romazan/Рабочий стол/emsdk/upstream/bin/clang-21" -cc1 -triple wasm32-unknown-emscripten -emit-obj -disable-free -clear-ast-before-backend -disable-llvm-verifier -discard-value-names -main-file-name CMakeCCompilerABI.c -mrelocation-model static -mframe-pointer=none -ffp-contract=on -fno-rounding-math -mconstructor-aliases -target-cpu generic -fvisibility=hidden -debugger-tuning=gdb "-fdebug-compilation-dir=/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-LHTwpQ" -v "-fcoverage-compilation-dir=/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-LHTwpQ" -resource-dir "/home/romazan/Рабочий стол/emsdk/upstream/lib/clang/21" -dependency-file CMakeFiles/cmTC_712e3.dir/CMakeCCompilerABI.c.o.d -MT CMakeFiles/cmTC_712e3.dir/CMakeCCompilerABI.c.o -sys-header-deps -D EMSCRIPTEN -isysroot "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/cache/sysroot" -internal-isystem "/home/romazan/Рабочий стол/emsdk/upstream/lib/clang/21/include" -internal-isystem "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/cache/sysroot/include/wasm32-emscripten" -internal-isystem "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/cache/sysroot/include" -ferror-limit 19 -fgnuc-version=4.2.1 -fskip-odr-check-in-gmf -fignore-exceptions -iwithsysroot/include/fakesdl -iwithsysroot/include/compat -mllvm -combiner-global-alias-analysis=false -mllvm -enable-emscripten-sjlj -mllvm -disable-lsr -o CMakeFiles/cmTC_712e3.dir/CMakeCCompilerABI.c.o -x c /usr/share/cmake-3.28/Modules/CMakeCCompilerABI.c - clang -cc1 version 21.0.0git based upon LLVM 21.0.0git default target x86_64-unknown-linux-gnu - ignoring nonexistent directory "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/cache/sysroot/include/wasm32-emscripten" - #include "..." search starts here: - #include <...> search starts here: - /home/romazan/Рабочий стол/emsdk/upstream/emscripten/cache/sysroot/include/fakesdl - /home/romazan/Рабочий стол/emsdk/upstream/emscripten/cache/sysroot/include/compat - /home/romazan/Рабочий стол/emsdk/upstream/lib/clang/21/include - /home/romazan/Рабочий стол/emsdk/upstream/emscripten/cache/sysroot/include - End of search list. - Linking C executable cmTC_712e3.js - /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_712e3.dir/link.txt --verbose=1 - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" -v @CMakeFiles/cmTC_712e3.dir/objects1.rsp -o cmTC_712e3.js - "/home/romazan/Рабочий стол/emsdk/upstream/bin/clang" --version - "/home/romazan/Рабочий стол/emsdk/upstream/bin/wasm-ld" -o cmTC_712e3.wasm CMakeFiles/cmTC_712e3.dir/CMakeCCompilerABI.c.o "-L/home/romazan/Рабочий стол/emsdk/upstream/emscripten/cache/sysroot/lib/wasm32-emscripten" "-L/home/romazan/Рабочий стол/emsdk/upstream/emscripten/src/lib" -lGL-getprocaddr -lal -lhtml5 -lstubs-debug -lnoexit -lc-debug -ldlmalloc-debug -lcompiler_rt -lc++-noexcept -lc++abi-debug-noexcept -lsockets -mllvm -combiner-global-alias-analysis=false -mllvm -enable-emscripten-sjlj -mllvm -disable-lsr /tmp/tmp2ec8r0jdlibemscripten_js_symbols.so --strip-debug --export=emscripten_stack_get_end --export=emscripten_stack_get_free --export=emscripten_stack_get_base --export=emscripten_stack_get_current --export=emscripten_stack_init --export=_emscripten_stack_alloc --export=__wasm_call_ctors --export=_emscripten_stack_restore --export-if-defined=__start_em_asm --export-if-defined=__stop_em_asm --export-if-defined=__start_em_lib_deps --export-if-defined=__stop_em_lib_deps --export-if-defined=__start_em_js --export-if-defined=__stop_em_js --export-if-defined=main --export-if-defined=__main_argc_argv --export-if-defined=fflush --export-table -z stack-size=65536 --no-growable-memory --initial-heap=16777216 --no-entry --stack-first --table-base=1 - "/home/romazan/Рабочий стол/emsdk/upstream/bin/llvm-objcopy" cmTC_712e3.wasm cmTC_712e3.wasm --remove-section=.debug* --remove-section=producers --remove-section=name - "/home/romazan/Рабочий стол/emsdk/node/20.18.0_64bit/bin/node" "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/tools/compiler.mjs" - - gmake[1]: Leaving directory '/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-LHTwpQ' - - exitCode: 0 - - - kind: "message-v1" - backtrace: - - "/usr/share/cmake-3.28/Modules/CMakeDetermineCompilerABI.cmake:127 (message)" - - "/usr/share/cmake-3.28/Modules/CMakeTestCCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)" - - "CMakeLists.txt:4 (project)" - message: | - Parsed C implicit include dir info: rv=done - found start of include info - found start of implicit include info - add: [/home/romazan/Рабочий стол/emsdk/upstream/emscripten/cache/sysroot/include/fakesdl] - add: [/home/romazan/Рабочий стол/emsdk/upstream/emscripten/cache/sysroot/include/compat] - add: [/home/romazan/Рабочий стол/emsdk/upstream/lib/clang/21/include] - add: [/home/romazan/Рабочий стол/emsdk/upstream/emscripten/cache/sysroot/include] - end of search list found - collapse include dir [/home/romazan/Рабочий стол/emsdk/upstream/emscripten/cache/sysroot/include/fakesdl] ==> [/home/romazan/Рабочий стол/emsdk/upstream/emscripten/cache/sysroot/include/fakesdl] - collapse include dir [/home/romazan/Рабочий стол/emsdk/upstream/emscripten/cache/sysroot/include/compat] ==> [/home/romazan/Рабочий стол/emsdk/upstream/emscripten/cache/sysroot/include/compat] - collapse include dir [/home/romazan/Рабочий стол/emsdk/upstream/lib/clang/21/include] ==> [/home/romazan/Рабочий стол/emsdk/upstream/lib/clang/21/include] - collapse include dir [/home/romazan/Рабочий стол/emsdk/upstream/emscripten/cache/sysroot/include] ==> [/home/romazan/Рабочий стол/emsdk/upstream/emscripten/cache/sysroot/include] - implicit include dirs: [/home/romazan/Рабочий стол/emsdk/upstream/emscripten/cache/sysroot/include/fakesdl;/home/romazan/Рабочий стол/emsdk/upstream/emscripten/cache/sysroot/include/compat;/home/romazan/Рабочий стол/emsdk/upstream/lib/clang/21/include;/home/romazan/Рабочий стол/emsdk/upstream/emscripten/cache/sysroot/include] - - - - - kind: "message-v1" - backtrace: - - "/usr/share/cmake-3.28/Modules/CMakeDetermineCompilerABI.cmake:159 (message)" - - "/usr/share/cmake-3.28/Modules/CMakeTestCCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)" - - "CMakeLists.txt:4 (project)" - message: | - Parsed C implicit link information: - link line regex: [^( *|.*[/\\])(ld|CMAKE_LINK_STARTFILE-NOTFOUND|([^/\\]+-)?ld|collect2)[^/\\]*( |$)] - ignore line: [Change Dir: '/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-LHTwpQ'] - ignore line: [] - ignore line: [Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_712e3/fast] - ignore line: [/usr/bin/gmake -f CMakeFiles/cmTC_712e3.dir/build.make CMakeFiles/cmTC_712e3.dir/build] - ignore line: [gmake[1]: Entering directory '/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-LHTwpQ'] - ignore line: [Building C object CMakeFiles/cmTC_712e3.dir/CMakeCCompilerABI.c.o] - ignore line: ["/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" -v -MD -MT CMakeFiles/cmTC_712e3.dir/CMakeCCompilerABI.c.o -MF CMakeFiles/cmTC_712e3.dir/CMakeCCompilerABI.c.o.d -o CMakeFiles/cmTC_712e3.dir/CMakeCCompilerABI.c.o -c /usr/share/cmake-3.28/Modules/CMakeCCompilerABI.c] - ignore line: [ "/home/romazan/Рабочий стол/emsdk/upstream/bin/clang" -target wasm32-unknown-emscripten -fignore-exceptions -mllvm -combiner-global-alias-analysis=false -mllvm -enable-emscripten-sjlj -mllvm -disable-lsr "--sysroot=/home/romazan/Рабочий стол/emsdk/upstream/emscripten/cache/sysroot" -DEMSCRIPTEN -Xclang -iwithsysroot/include/fakesdl -Xclang -iwithsysroot/include/compat -v -MD -MT CMakeFiles/cmTC_712e3.dir/CMakeCCompilerABI.c.o -MF CMakeFiles/cmTC_712e3.dir/CMakeCCompilerABI.c.o.d -oCMakeFiles/cmTC_712e3.dir/CMakeCCompilerABI.c.o -c /usr/share/cmake-3.28/Modules/CMakeCCompilerABI.c] - ignore line: [clang version 21.0.0git (https:/github.com/llvm/llvm-project 4775e6d9099467df9363e1a3cd5950cc3d2fde05)] - ignore line: [Target: wasm32-unknown-emscripten] - ignore line: [Thread model: posix] - ignore line: [InstalledDir: /home/romazan/Рабочий стол/emsdk/upstream/bin] - ignore line: [ (in-process)] - ignore line: [ "/home/romazan/Рабочий стол/emsdk/upstream/bin/clang-21" -cc1 -triple wasm32-unknown-emscripten -emit-obj -disable-free -clear-ast-before-backend -disable-llvm-verifier -discard-value-names -main-file-name CMakeCCompilerABI.c -mrelocation-model static -mframe-pointer=none -ffp-contract=on -fno-rounding-math -mconstructor-aliases -target-cpu generic -fvisibility=hidden -debugger-tuning=gdb "-fdebug-compilation-dir=/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-LHTwpQ" -v "-fcoverage-compilation-dir=/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-LHTwpQ" -resource-dir "/home/romazan/Рабочий стол/emsdk/upstream/lib/clang/21" -dependency-file CMakeFiles/cmTC_712e3.dir/CMakeCCompilerABI.c.o.d -MT CMakeFiles/cmTC_712e3.dir/CMakeCCompilerABI.c.o -sys-header-deps -D EMSCRIPTEN -isysroot "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/cache/sysroot" -internal-isystem "/home/romazan/Рабочий стол/emsdk/upstream/lib/clang/21/include" -internal-isystem "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/cache/sysroot/include/wasm32-emscripten" -internal-isystem "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/cache/sysroot/include" -ferror-limit 19 -fgnuc-version=4.2.1 -fskip-odr-check-in-gmf -fignore-exceptions -iwithsysroot/include/fakesdl -iwithsysroot/include/compat -mllvm -combiner-global-alias-analysis=false -mllvm -enable-emscripten-sjlj -mllvm -disable-lsr -o CMakeFiles/cmTC_712e3.dir/CMakeCCompilerABI.c.o -x c /usr/share/cmake-3.28/Modules/CMakeCCompilerABI.c] - ignore line: [clang -cc1 version 21.0.0git based upon LLVM 21.0.0git default target x86_64-unknown-linux-gnu] - ignore line: [ignoring nonexistent directory "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/cache/sysroot/include/wasm32-emscripten"] - ignore line: [#include "..." search starts here:] - ignore line: [#include <...> search starts here:] - ignore line: [ /home/romazan/Рабочий стол/emsdk/upstream/emscripten/cache/sysroot/include/fakesdl] - ignore line: [ /home/romazan/Рабочий стол/emsdk/upstream/emscripten/cache/sysroot/include/compat] - ignore line: [ /home/romazan/Рабочий стол/emsdk/upstream/lib/clang/21/include] - ignore line: [ /home/romazan/Рабочий стол/emsdk/upstream/emscripten/cache/sysroot/include] - ignore line: [End of search list.] - ignore line: [Linking C executable cmTC_712e3.js] - ignore line: [/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_712e3.dir/link.txt --verbose=1] - ignore line: ["/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" -v @CMakeFiles/cmTC_712e3.dir/objects1.rsp -o cmTC_712e3.js ] - ignore line: [ "/home/romazan/Рабочий стол/emsdk/upstream/bin/clang" --version] - link line: [ "/home/romazan/Рабочий стол/emsdk/upstream/bin/wasm-ld" -o cmTC_712e3.wasm CMakeFiles/cmTC_712e3.dir/CMakeCCompilerABI.c.o "-L/home/romazan/Рабочий стол/emsdk/upstream/emscripten/cache/sysroot/lib/wasm32-emscripten" "-L/home/romazan/Рабочий стол/emsdk/upstream/emscripten/src/lib" -lGL-getprocaddr -lal -lhtml5 -lstubs-debug -lnoexit -lc-debug -ldlmalloc-debug -lcompiler_rt -lc++-noexcept -lc++abi-debug-noexcept -lsockets -mllvm -combiner-global-alias-analysis=false -mllvm -enable-emscripten-sjlj -mllvm -disable-lsr /tmp/tmp2ec8r0jdlibemscripten_js_symbols.so --strip-debug --export=emscripten_stack_get_end --export=emscripten_stack_get_free --export=emscripten_stack_get_base --export=emscripten_stack_get_current --export=emscripten_stack_init --export=_emscripten_stack_alloc --export=__wasm_call_ctors --export=_emscripten_stack_restore --export-if-defined=__start_em_asm --export-if-defined=__stop_em_asm --export-if-defined=__start_em_lib_deps --export-if-defined=__stop_em_lib_deps --export-if-defined=__start_em_js --export-if-defined=__stop_em_js --export-if-defined=main --export-if-defined=__main_argc_argv --export-if-defined=fflush --export-table -z stack-size=65536 --no-growable-memory --initial-heap=16777216 --no-entry --stack-first --table-base=1] - arg [/home/romazan/Рабочий стол/emsdk/upstream/bin/wasm-ld] ==> ignore - arg [-o] ==> ignore - arg [cmTC_712e3.wasm] ==> ignore - arg [CMakeFiles/cmTC_712e3.dir/CMakeCCompilerABI.c.o] ==> ignore - arg [-L/home/romazan/Рабочий стол/emsdk/upstream/emscripten/cache/sysroot/lib/wasm32-emscripten] ==> dir [/home/romazan/Рабочий стол/emsdk/upstream/emscripten/cache/sysroot/lib/wasm32-emscripten] - arg [-L/home/romazan/Рабочий стол/emsdk/upstream/emscripten/src/lib] ==> dir [/home/romazan/Рабочий стол/emsdk/upstream/emscripten/src/lib] - arg [-lGL-getprocaddr] ==> lib [GL-getprocaddr] - arg [-lal] ==> lib [al] - arg [-lhtml5] ==> lib [html5] - arg [-lstubs-debug] ==> lib [stubs-debug] - arg [-lnoexit] ==> lib [noexit] - arg [-lc-debug] ==> lib [c-debug] - arg [-ldlmalloc-debug] ==> lib [dlmalloc-debug] - arg [-lcompiler_rt] ==> lib [compiler_rt] - arg [-lc++-noexcept] ==> lib [c++-noexcept] - arg [-lc++abi-debug-noexcept] ==> lib [c++abi-debug-noexcept] - arg [-lsockets] ==> lib [sockets] - arg [-mllvm] ==> ignore - arg [-combiner-global-alias-analysis=false] ==> ignore - arg [-mllvm] ==> ignore - arg [-enable-emscripten-sjlj] ==> ignore - arg [-mllvm] ==> ignore - arg [-disable-lsr] ==> ignore - arg [/tmp/tmp2ec8r0jdlibemscripten_js_symbols.so] ==> ignore - arg [--strip-debug] ==> ignore - arg [--export=emscripten_stack_get_end] ==> ignore - arg [--export=emscripten_stack_get_free] ==> ignore - arg [--export=emscripten_stack_get_base] ==> ignore - arg [--export=emscripten_stack_get_current] ==> ignore - arg [--export=emscripten_stack_init] ==> ignore - arg [--export=_emscripten_stack_alloc] ==> ignore - arg [--export=__wasm_call_ctors] ==> ignore - arg [--export=_emscripten_stack_restore] ==> ignore - arg [--export-if-defined=__start_em_asm] ==> ignore - arg [--export-if-defined=__stop_em_asm] ==> ignore - arg [--export-if-defined=__start_em_lib_deps] ==> ignore - arg [--export-if-defined=__stop_em_lib_deps] ==> ignore - arg [--export-if-defined=__start_em_js] ==> ignore - arg [--export-if-defined=__stop_em_js] ==> ignore - arg [--export-if-defined=main] ==> ignore - arg [--export-if-defined=__main_argc_argv] ==> ignore - arg [--export-if-defined=fflush] ==> ignore - arg [--export-table] ==> ignore - arg [-zstack-size=65536] ==> ignore - arg [--no-growable-memory] ==> ignore - arg [--initial-heap=16777216] ==> ignore - arg [--no-entry] ==> ignore - arg [--stack-first] ==> ignore - arg [--table-base=1] ==> ignore - collapse library dir [/home/romazan/Рабочий стол/emsdk/upstream/emscripten/cache/sysroot/lib/wasm32-emscripten] ==> [/home/romazan/Рабочий стол/emsdk/upstream/emscripten/cache/sysroot/lib/wasm32-emscripten] - collapse library dir [/home/romazan/Рабочий стол/emsdk/upstream/emscripten/src/lib] ==> [/home/romazan/Рабочий стол/emsdk/upstream/emscripten/src/lib] - implicit libs: [GL-getprocaddr;al;html5;stubs-debug;noexit;c-debug;dlmalloc-debug;compiler_rt;c++-noexcept;c++abi-debug-noexcept;sockets] - implicit objs: [] - implicit dirs: [/home/romazan/Рабочий стол/emsdk/upstream/emscripten/cache/sysroot/lib/wasm32-emscripten;/home/romazan/Рабочий стол/emsdk/upstream/emscripten/src/lib] - implicit fwks: [] - - - - - kind: "try_compile-v1" - backtrace: - - "/usr/share/cmake-3.28/Modules/CheckIncludeFile.cmake:90 (try_compile)" - - "CMakeLists.txt:22 (check_include_file)" - checks: - - "Looking for sys/types.h" - directories: - source: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-U8Y6Fp" - binary: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-U8Y6Fp" - cmakeVariables: - CMAKE_CXX_COMPILER_CLANG_SCAN_DEPS: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/emscan-deps" - CMAKE_C_FLAGS: "" - CMAKE_C_FLAGS_DEBUG: "-g" - CMAKE_EXE_LINKER_FLAGS: "" - CMAKE_MODULE_PATH: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules" - buildResult: - variable: "HAVE_SYS_TYPES_H" - cached: true - stdout: | - Change Dir: '/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-U8Y6Fp' - - Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_d8424/fast - /usr/bin/gmake -f CMakeFiles/cmTC_d8424.dir/build.make CMakeFiles/cmTC_d8424.dir/build - gmake[1]: вход в каталог «/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-U8Y6Fp» - Building C object CMakeFiles/cmTC_d8424.dir/CheckIncludeFile.c.o - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" -MD -MT CMakeFiles/cmTC_d8424.dir/CheckIncludeFile.c.o -MF CMakeFiles/cmTC_d8424.dir/CheckIncludeFile.c.o.d -o CMakeFiles/cmTC_d8424.dir/CheckIncludeFile.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-U8Y6Fp/CheckIncludeFile.c" - Linking C executable cmTC_d8424.js - /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_d8424.dir/link.txt --verbose=1 - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" @CMakeFiles/cmTC_d8424.dir/objects1.rsp -o cmTC_d8424.js - gmake[1]: выход из каталога «/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-U8Y6Fp» - - exitCode: 0 - - - kind: "try_compile-v1" - backtrace: - - "/usr/share/cmake-3.28/Modules/CheckIncludeFile.cmake:90 (try_compile)" - - "CMakeLists.txt:23 (check_include_file)" - checks: - - "Looking for stdint.h" - directories: - source: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-r21ap0" - binary: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-r21ap0" - cmakeVariables: - CMAKE_CXX_COMPILER_CLANG_SCAN_DEPS: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/emscan-deps" - CMAKE_C_FLAGS: "" - CMAKE_C_FLAGS_DEBUG: "-g" - CMAKE_EXE_LINKER_FLAGS: "" - CMAKE_MODULE_PATH: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules" - buildResult: - variable: "HAVE_STDINT_H" - cached: true - stdout: | - Change Dir: '/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-r21ap0' - - Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_f3775/fast - /usr/bin/gmake -f CMakeFiles/cmTC_f3775.dir/build.make CMakeFiles/cmTC_f3775.dir/build - gmake[1]: вход в каталог «/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-r21ap0» - Building C object CMakeFiles/cmTC_f3775.dir/CheckIncludeFile.c.o - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" -MD -MT CMakeFiles/cmTC_f3775.dir/CheckIncludeFile.c.o -MF CMakeFiles/cmTC_f3775.dir/CheckIncludeFile.c.o.d -o CMakeFiles/cmTC_f3775.dir/CheckIncludeFile.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-r21ap0/CheckIncludeFile.c" - Linking C executable cmTC_f3775.js - /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_f3775.dir/link.txt --verbose=1 - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" @CMakeFiles/cmTC_f3775.dir/objects1.rsp -o cmTC_f3775.js - gmake[1]: выход из каталога «/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-r21ap0» - - exitCode: 0 - - - kind: "try_compile-v1" - backtrace: - - "/usr/share/cmake-3.28/Modules/CheckIncludeFile.cmake:90 (try_compile)" - - "CMakeLists.txt:24 (check_include_file)" - checks: - - "Looking for stddef.h" - directories: - source: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-389nTw" - binary: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-389nTw" - cmakeVariables: - CMAKE_CXX_COMPILER_CLANG_SCAN_DEPS: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/emscan-deps" - CMAKE_C_FLAGS: "" - CMAKE_C_FLAGS_DEBUG: "-g" - CMAKE_EXE_LINKER_FLAGS: "" - CMAKE_MODULE_PATH: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules" - buildResult: - variable: "HAVE_STDDEF_H" - cached: true - stdout: | - Change Dir: '/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-389nTw' - - Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_5e09c/fast - /usr/bin/gmake -f CMakeFiles/cmTC_5e09c.dir/build.make CMakeFiles/cmTC_5e09c.dir/build - gmake[1]: вход в каталог «/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-389nTw» - Building C object CMakeFiles/cmTC_5e09c.dir/CheckIncludeFile.c.o - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" -MD -MT CMakeFiles/cmTC_5e09c.dir/CheckIncludeFile.c.o -MF CMakeFiles/cmTC_5e09c.dir/CheckIncludeFile.c.o.d -o CMakeFiles/cmTC_5e09c.dir/CheckIncludeFile.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-389nTw/CheckIncludeFile.c" - Linking C executable cmTC_5e09c.js - /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_5e09c.dir/link.txt --verbose=1 - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" @CMakeFiles/cmTC_5e09c.dir/objects1.rsp -o cmTC_5e09c.js - gmake[1]: выход из каталога «/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-389nTw» - - exitCode: 0 - - - kind: "try_compile-v1" - backtrace: - - "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules/CheckTypeSize.cmake:114 (try_compile)" - - "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules/CheckTypeSize.cmake:239 (__check_type_size_impl)" - - "CMakeLists.txt:42 (check_type_size)" - directories: - source: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/CMakeTmp" - binary: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/CMakeTmp" - cmakeVariables: - CMAKE_CXX_COMPILER_CLANG_SCAN_DEPS: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/emscan-deps" - CMAKE_C_FLAGS: "" - CMAKE_C_FLAGS_DEBUG: "-g" - CMAKE_EXE_LINKER_FLAGS: "" - CMAKE_MODULE_PATH: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules" - buildResult: - variable: "HAVE_OFF64_T" - cached: true - stdout: | - Change Dir: '/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/CMakeTmp' - - Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_dfde6/fast - /usr/bin/gmake -f CMakeFiles/cmTC_dfde6.dir/build.make CMakeFiles/cmTC_dfde6.dir/build - gmake[1]: вход в каталог «/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/CMakeTmp» - Building C object CMakeFiles/cmTC_dfde6.dir/OFF64_T.c.o - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" -DHAVE_STDDEF_H -DHAVE_STDINT_H -DHAVE_SYS_TYPES_H -D_LARGEFILE64_SOURCE=1 -MD -MT CMakeFiles/cmTC_dfde6.dir/OFF64_T.c.o -MF CMakeFiles/cmTC_dfde6.dir/OFF64_T.c.o.d -o CMakeFiles/cmTC_dfde6.dir/OFF64_T.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/CheckTypeSize/OFF64_T.c" - Linking C executable cmTC_dfde6.js - /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_dfde6.dir/link.txt --verbose=1 - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" @CMakeFiles/cmTC_dfde6.dir/objects1.rsp -o cmTC_dfde6.js @CMakeFiles/cmTC_dfde6.dir/linkLibs.rsp - gmake[1]: выход из каталога «/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/CMakeTmp» - - exitCode: 0 - - - kind: "try_compile-v1" - backtrace: - - "/usr/share/cmake-3.28/Modules/CheckFunctionExists.cmake:86 (try_compile)" - - "CMakeLists.txt:51 (check_function_exists)" - checks: - - "Looking for fseeko" - directories: - source: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-hiBmjn" - binary: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-hiBmjn" - cmakeVariables: - CMAKE_CXX_COMPILER_CLANG_SCAN_DEPS: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/emscan-deps" - CMAKE_C_FLAGS: "" - CMAKE_C_FLAGS_DEBUG: "-g" - CMAKE_EXE_LINKER_FLAGS: "" - CMAKE_MODULE_PATH: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules" - buildResult: - variable: "HAVE_FSEEKO" - cached: true - stdout: | - Change Dir: '/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-hiBmjn' - - Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_7cbdf/fast - /usr/bin/gmake -f CMakeFiles/cmTC_7cbdf.dir/build.make CMakeFiles/cmTC_7cbdf.dir/build - gmake[1]: вход в каталог «/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-hiBmjn» - Building C object CMakeFiles/cmTC_7cbdf.dir/CheckFunctionExists.c.o - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" -DCHECK_FUNCTION_EXISTS=fseeko -MD -MT CMakeFiles/cmTC_7cbdf.dir/CheckFunctionExists.c.o -MF CMakeFiles/cmTC_7cbdf.dir/CheckFunctionExists.c.o.d -o CMakeFiles/cmTC_7cbdf.dir/CheckFunctionExists.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-hiBmjn/CheckFunctionExists.c" - Linking C executable cmTC_7cbdf.js - /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_7cbdf.dir/link.txt --verbose=1 - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" -DCHECK_FUNCTION_EXISTS=fseeko @CMakeFiles/cmTC_7cbdf.dir/objects1.rsp -o cmTC_7cbdf.js - wasm-ld: warning: function signature mismatch: fseeko - >>> defined as () -> i32 in CMakeFiles/cmTC_7cbdf.dir/CheckFunctionExists.c.o - >>> defined as (i32, i64, i32) -> i32 in /home/romazan/Рабочий стол/emsdk/upstream/emscripten/cache/sysroot/lib/wasm32-emscripten/libc-debug.a(fseek.o) - gmake[1]: выход из каталога «/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-hiBmjn» - - exitCode: 0 - - - kind: "try_compile-v1" - backtrace: - - "/usr/share/cmake-3.28/Modules/CheckIncludeFile.cmake:90 (try_compile)" - - "CMakeLists.txt:59 (check_include_file)" - checks: - - "Looking for unistd.h" - directories: - source: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-33QcxB" - binary: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/cproject/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-33QcxB" - cmakeVariables: - CMAKE_CXX_COMPILER_CLANG_SCAN_DEPS: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/emscan-deps" - CMAKE_C_FLAGS: "" - CMAKE_C_FLAGS_DEBUG: "-g" - CMAKE_EXE_LINKER_FLAGS: "" - CMAKE_MODULE_PATH: "/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules;/home/romazan/\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b/emsdk/upstream/emscripten/cmake/Modules" - buildResult: - variable: "Z_HAVE_UNISTD_H" - cached: true - stdout: | - Change Dir: '/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-33QcxB' - - Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_d969e/fast - /usr/bin/gmake -f CMakeFiles/cmTC_d969e.dir/build.make CMakeFiles/cmTC_d969e.dir/build - gmake[1]: вход в каталог «/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-33QcxB» - Building C object CMakeFiles/cmTC_d969e.dir/CheckIncludeFile.c.o - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" -MD -MT CMakeFiles/cmTC_d969e.dir/CheckIncludeFile.c.o -MF CMakeFiles/cmTC_d969e.dir/CheckIncludeFile.c.o.d -o CMakeFiles/cmTC_d969e.dir/CheckIncludeFile.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-33QcxB/CheckIncludeFile.c" - Linking C executable cmTC_d969e.js - /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_d969e.dir/link.txt --verbose=1 - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" @CMakeFiles/cmTC_d969e.dir/objects1.rsp -o cmTC_d969e.js - gmake[1]: выход из каталога «/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/CMakeScratch/TryCompile-33QcxB» - - exitCode: 0 -... diff --git a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/CMakeDirectoryInformation.cmake b/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/CMakeDirectoryInformation.cmake deleted file mode 100644 index 343a8b9..0000000 --- a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/CMakeDirectoryInformation.cmake +++ /dev/null @@ -1,16 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.28 - -# Relative path conversion top directories. -set(CMAKE_RELATIVE_PATH_TOP_SOURCE "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1") -set(CMAKE_RELATIVE_PATH_TOP_BINARY "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/build-emcmake") - -# Force unix paths in dependencies. -set(CMAKE_FORCE_UNIX_PATHS 1) - - -# The C and CXX include file regular expressions for this directory. -set(CMAKE_C_INCLUDE_REGEX_SCAN "^.*$") -set(CMAKE_C_INCLUDE_REGEX_COMPLAIN "^$") -set(CMAKE_CXX_INCLUDE_REGEX_SCAN ${CMAKE_C_INCLUDE_REGEX_SCAN}) -set(CMAKE_CXX_INCLUDE_REGEX_COMPLAIN ${CMAKE_C_INCLUDE_REGEX_COMPLAIN}) diff --git a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/CheckTypeSize/OFF64_T.bin b/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/CheckTypeSize/OFF64_T.bin deleted file mode 100755 index 517ed5ae5708da750a0c39f6388e1d169cb899e8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1166 zcmaJ=&2G~`5T0E-iIcTsw-r?*fwWG0s1#X(ON2Pp2S5k`4}g&4q}$-cv5md%4?-j@ z6@Oa2Iej=Y1TTnI34_l?6sfVFdLoJbC#+Y4^^ za#6@M7hvDL;Zo%$WuA*fg41ph@ChSY=cnG)!C~wpv6j0le88o?<7%98ZSLwmxDBrJ z#*msQU`P!VWJr~xiE495f$RI!a9h0P!D@Ah2@HS7ZF7USrQ6{h-Y#9HFyNZpq4btbNH#2da{+pnyMpZVA~V5H_$ z3@xgVrb`)qBycVj4;Qe!Gh3$uoB6-NxlkUsu2Nu630dNlRWaCerPb#P3p8xT|1j$V zeyxqlRUK%o>kvL^Hp7I9oc+WH$)-dtNK;+O)Vgdud->$mBekxt@8k3E4Zsg#E<#!2 zSQ-O1F5|gZFVn!jcJb0o4z?#@9D7%5<)z0WkJDs2=q$=uM#o`Xih;c-t1a`UaXJp; qVz8B@iOj<+i;}5#l*u$o -#include -#include - - -#undef KEY -#if defined(__i386) -# define KEY '_','_','i','3','8','6' -#elif defined(__x86_64) -# define KEY '_','_','x','8','6','_','6','4' -#elif defined(__ppc__) -# define KEY '_','_','p','p','c','_','_' -#elif defined(__ppc64__) -# define KEY '_','_','p','p','c','6','4','_','_' -#elif defined(__aarch64__) -# define KEY '_','_','a','a','r','c','h','6','4','_','_' -#elif defined(__ARM_ARCH_7A__) -# define KEY '_','_','A','R','M','_','A','R','C','H','_','7','A','_','_' -#elif defined(__ARM_ARCH_7S__) -# define KEY '_','_','A','R','M','_','A','R','C','H','_','7','S','_','_' -#endif - -#define SIZE (sizeof(off64_t)) -char info_size[] = {'I', 'N', 'F', 'O', ':', 's','i','z','e','[', - ('0' + ((SIZE / 10000)%10)), - ('0' + ((SIZE / 1000)%10)), - ('0' + ((SIZE / 100)%10)), - ('0' + ((SIZE / 10)%10)), - ('0' + (SIZE % 10)), - ']', -#ifdef KEY - ' ','k','e','y','[', KEY, ']', -#endif - '\0'}; - -#ifdef __CLASSIC_C__ -int main(argc, argv) int argc; char *argv[]; -#else -int main(int argc, char *argv[]) -#endif -{ - int require = 0; - require += info_size[argc]; - (void)argv; - return require; -} diff --git a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/Makefile.cmake b/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/Makefile.cmake deleted file mode 100644 index bae0044..0000000 --- a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/Makefile.cmake +++ /dev/null @@ -1,122 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.28 - -# The generator used is: -set(CMAKE_DEPENDS_GENERATOR "Unix Makefiles") - -# The top level Makefile was generated from the following files: -set(CMAKE_MAKEFILE_DEPENDS - "CMakeCache.txt" - "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/CMakeLists.txt" - "CMakeFiles/3.28.3/CMakeCCompiler.cmake" - "CMakeFiles/3.28.3/CMakeSystem.cmake" - "CMakeFiles/CheckTypeSize/OFF64_T.c" - "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/zconf.h.cmakein" - "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/zlib.pc.cmakein" - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/cmake/Modules/CheckTypeSize.c.in" - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/cmake/Modules/CheckTypeSize.cmake" - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/cmake/Modules/Platform/Emscripten.cmake" - "/usr/share/cmake-3.28/Modules/CMakeCCompiler.cmake.in" - "/usr/share/cmake-3.28/Modules/CMakeCCompilerABI.c" - "/usr/share/cmake-3.28/Modules/CMakeCInformation.cmake" - "/usr/share/cmake-3.28/Modules/CMakeCommonLanguageInclude.cmake" - "/usr/share/cmake-3.28/Modules/CMakeCompilerIdDetection.cmake" - "/usr/share/cmake-3.28/Modules/CMakeDetermineCCompiler.cmake" - "/usr/share/cmake-3.28/Modules/CMakeDetermineCompileFeatures.cmake" - "/usr/share/cmake-3.28/Modules/CMakeDetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/CMakeDetermineCompilerABI.cmake" - "/usr/share/cmake-3.28/Modules/CMakeDetermineCompilerId.cmake" - "/usr/share/cmake-3.28/Modules/CMakeDetermineSystem.cmake" - "/usr/share/cmake-3.28/Modules/CMakeFindBinUtils.cmake" - "/usr/share/cmake-3.28/Modules/CMakeGenericSystem.cmake" - "/usr/share/cmake-3.28/Modules/CMakeInitializeConfigs.cmake" - "/usr/share/cmake-3.28/Modules/CMakeLanguageInformation.cmake" - "/usr/share/cmake-3.28/Modules/CMakeParseImplicitIncludeInfo.cmake" - "/usr/share/cmake-3.28/Modules/CMakeParseImplicitLinkInfo.cmake" - "/usr/share/cmake-3.28/Modules/CMakeParseLibraryArchitecture.cmake" - "/usr/share/cmake-3.28/Modules/CMakeSystem.cmake.in" - "/usr/share/cmake-3.28/Modules/CMakeSystemSpecificInformation.cmake" - "/usr/share/cmake-3.28/Modules/CMakeSystemSpecificInitialize.cmake" - "/usr/share/cmake-3.28/Modules/CMakeTestCCompiler.cmake" - "/usr/share/cmake-3.28/Modules/CMakeTestCompilerCommon.cmake" - "/usr/share/cmake-3.28/Modules/CMakeUnixFindMake.cmake" - "/usr/share/cmake-3.28/Modules/CheckCSourceCompiles.cmake" - "/usr/share/cmake-3.28/Modules/CheckFunctionExists.cmake" - "/usr/share/cmake-3.28/Modules/CheckIncludeFile.cmake" - "/usr/share/cmake-3.28/Modules/CheckIncludeFileCXX.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/ADSP-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/ARMCC-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/ARMClang-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/AppleClang-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/Borland-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/Bruce-C-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/CMakeCommonCompilerMacros.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/Clang-C.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/Clang-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/Clang-DetermineCompilerInternal.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/Clang-FindBinUtils.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/Clang.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/Compaq-C-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/Cray-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/CrayClang-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/Embarcadero-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/Fujitsu-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/FujitsuClang-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/GHS-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/GNU-C-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/GNU.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/HP-C-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/IAR-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/IBMCPP-C-DetermineVersionInternal.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/IBMClang-C-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/Intel-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/IntelLLVM-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/LCC-C-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/MSVC-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/NVHPC-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/NVIDIA-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/OpenWatcom-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/OrangeC-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/PGI-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/PathScale-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/SCO-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/SDCC-C-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/SunPro-C-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/TI-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/Tasking-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/TinyCC-C-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/VisualAge-C-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/Watcom-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/XL-C-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/XLClang-C-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/zOS-C-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Internal/CheckSourceCompiles.cmake" - "/usr/share/cmake-3.28/Modules/Internal/FeatureTesting.cmake" - ) - -# The corresponding makefile is: -set(CMAKE_MAKEFILE_OUTPUTS - "Makefile" - "CMakeFiles/cmake.check_cache" - ) - -# Byproducts of CMake generate step: -set(CMAKE_MAKEFILE_PRODUCTS - "CMakeFiles/3.28.3/CMakeSystem.cmake" - "CMakeFiles/3.28.3/CMakeCCompiler.cmake" - "CMakeFiles/3.28.3/CMakeCCompiler.cmake" - "CMakeFiles/CheckTypeSize/OFF64_T.c" - "zlib.pc" - "zconf.h" - "CMakeFiles/CMakeDirectoryInformation.cmake" - ) - -# Dependency information for all targets: -set(CMAKE_DEPEND_INFO_FILES - "CMakeFiles/zlib.dir/DependInfo.cmake" - "CMakeFiles/zlibstatic.dir/DependInfo.cmake" - "CMakeFiles/example.dir/DependInfo.cmake" - "CMakeFiles/minigzip.dir/DependInfo.cmake" - "CMakeFiles/example64.dir/DependInfo.cmake" - "CMakeFiles/minigzip64.dir/DependInfo.cmake" - ) diff --git a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/Makefile2 b/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/Makefile2 deleted file mode 100644 index 28feb42..0000000 --- a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/Makefile2 +++ /dev/null @@ -1,252 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.28 - -# Default target executed when no arguments are given to make. -default_target: all -.PHONY : default_target - -#============================================================================= -# Special targets provided by cmake. - -# Disable implicit rules so canonical targets will work. -.SUFFIXES: - -# Disable VCS-based implicit rules. -% : %,v - -# Disable VCS-based implicit rules. -% : RCS/% - -# Disable VCS-based implicit rules. -% : RCS/%,v - -# Disable VCS-based implicit rules. -% : SCCS/s.% - -# Disable VCS-based implicit rules. -% : s.% - -.SUFFIXES: .hpux_make_needs_suffix_list - -# Command-line flag to silence nested $(MAKE). -$(VERBOSE)MAKESILENT = -s - -#Suppress display of executed commands. -$(VERBOSE).SILENT: - -# A target that is always out of date. -cmake_force: -.PHONY : cmake_force - -#============================================================================= -# Set environment variables for the build. - -# The shell in which to execute make rules. -SHELL = /bin/sh - -# The CMake executable. -CMAKE_COMMAND = /usr/bin/cmake - -# The command to remove a file. -RM = /usr/bin/cmake -E rm -f - -# Escaping for special characters. -EQUALS = = - -# The top-level source directory on which CMake was run. -CMAKE_SOURCE_DIR = "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1" - -# The top-level build directory on which CMake was run. -CMAKE_BINARY_DIR = "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/build-emcmake" - -#============================================================================= -# Directory level rules for the build root directory - -# The main recursive "all" target. -all: CMakeFiles/zlib.dir/all -all: CMakeFiles/zlibstatic.dir/all -all: CMakeFiles/example.dir/all -all: CMakeFiles/minigzip.dir/all -all: CMakeFiles/example64.dir/all -all: CMakeFiles/minigzip64.dir/all -.PHONY : all - -# The main recursive "preinstall" target. -preinstall: -.PHONY : preinstall - -# The main recursive "clean" target. -clean: CMakeFiles/zlib.dir/clean -clean: CMakeFiles/zlibstatic.dir/clean -clean: CMakeFiles/example.dir/clean -clean: CMakeFiles/minigzip.dir/clean -clean: CMakeFiles/example64.dir/clean -clean: CMakeFiles/minigzip64.dir/clean -.PHONY : clean - -#============================================================================= -# Target rules for target CMakeFiles/zlib.dir - -# All Build rule for target. -CMakeFiles/zlib.dir/all: - $(MAKE) $(MAKESILENT) -f CMakeFiles/zlib.dir/build.make CMakeFiles/zlib.dir/depend - $(MAKE) $(MAKESILENT) -f CMakeFiles/zlib.dir/build.make CMakeFiles/zlib.dir/build - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles" --progress-num=9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24 "Built target zlib" -.PHONY : CMakeFiles/zlib.dir/all - -# Build rule for subdir invocation for target. -CMakeFiles/zlib.dir/rule: cmake_check_build_system - $(CMAKE_COMMAND) -E cmake_progress_start "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles" 16 - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 CMakeFiles/zlib.dir/all - $(CMAKE_COMMAND) -E cmake_progress_start "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles" 0 -.PHONY : CMakeFiles/zlib.dir/rule - -# Convenience name for target. -zlib: CMakeFiles/zlib.dir/rule -.PHONY : zlib - -# clean rule for target. -CMakeFiles/zlib.dir/clean: - $(MAKE) $(MAKESILENT) -f CMakeFiles/zlib.dir/build.make CMakeFiles/zlib.dir/clean -.PHONY : CMakeFiles/zlib.dir/clean - -#============================================================================= -# Target rules for target CMakeFiles/zlibstatic.dir - -# All Build rule for target. -CMakeFiles/zlibstatic.dir/all: - $(MAKE) $(MAKESILENT) -f CMakeFiles/zlibstatic.dir/build.make CMakeFiles/zlibstatic.dir/depend - $(MAKE) $(MAKESILENT) -f CMakeFiles/zlibstatic.dir/build.make CMakeFiles/zlibstatic.dir/build - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles" --progress-num=25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40 "Built target zlibstatic" -.PHONY : CMakeFiles/zlibstatic.dir/all - -# Build rule for subdir invocation for target. -CMakeFiles/zlibstatic.dir/rule: cmake_check_build_system - $(CMAKE_COMMAND) -E cmake_progress_start "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles" 16 - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 CMakeFiles/zlibstatic.dir/all - $(CMAKE_COMMAND) -E cmake_progress_start "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles" 0 -.PHONY : CMakeFiles/zlibstatic.dir/rule - -# Convenience name for target. -zlibstatic: CMakeFiles/zlibstatic.dir/rule -.PHONY : zlibstatic - -# clean rule for target. -CMakeFiles/zlibstatic.dir/clean: - $(MAKE) $(MAKESILENT) -f CMakeFiles/zlibstatic.dir/build.make CMakeFiles/zlibstatic.dir/clean -.PHONY : CMakeFiles/zlibstatic.dir/clean - -#============================================================================= -# Target rules for target CMakeFiles/example.dir - -# All Build rule for target. -CMakeFiles/example.dir/all: CMakeFiles/zlib.dir/all - $(MAKE) $(MAKESILENT) -f CMakeFiles/example.dir/build.make CMakeFiles/example.dir/depend - $(MAKE) $(MAKESILENT) -f CMakeFiles/example.dir/build.make CMakeFiles/example.dir/build - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles" --progress-num=1,2 "Built target example" -.PHONY : CMakeFiles/example.dir/all - -# Build rule for subdir invocation for target. -CMakeFiles/example.dir/rule: cmake_check_build_system - $(CMAKE_COMMAND) -E cmake_progress_start "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles" 18 - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 CMakeFiles/example.dir/all - $(CMAKE_COMMAND) -E cmake_progress_start "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles" 0 -.PHONY : CMakeFiles/example.dir/rule - -# Convenience name for target. -example: CMakeFiles/example.dir/rule -.PHONY : example - -# clean rule for target. -CMakeFiles/example.dir/clean: - $(MAKE) $(MAKESILENT) -f CMakeFiles/example.dir/build.make CMakeFiles/example.dir/clean -.PHONY : CMakeFiles/example.dir/clean - -#============================================================================= -# Target rules for target CMakeFiles/minigzip.dir - -# All Build rule for target. -CMakeFiles/minigzip.dir/all: CMakeFiles/zlib.dir/all - $(MAKE) $(MAKESILENT) -f CMakeFiles/minigzip.dir/build.make CMakeFiles/minigzip.dir/depend - $(MAKE) $(MAKESILENT) -f CMakeFiles/minigzip.dir/build.make CMakeFiles/minigzip.dir/build - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles" --progress-num=5,6 "Built target minigzip" -.PHONY : CMakeFiles/minigzip.dir/all - -# Build rule for subdir invocation for target. -CMakeFiles/minigzip.dir/rule: cmake_check_build_system - $(CMAKE_COMMAND) -E cmake_progress_start "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles" 18 - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 CMakeFiles/minigzip.dir/all - $(CMAKE_COMMAND) -E cmake_progress_start "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles" 0 -.PHONY : CMakeFiles/minigzip.dir/rule - -# Convenience name for target. -minigzip: CMakeFiles/minigzip.dir/rule -.PHONY : minigzip - -# clean rule for target. -CMakeFiles/minigzip.dir/clean: - $(MAKE) $(MAKESILENT) -f CMakeFiles/minigzip.dir/build.make CMakeFiles/minigzip.dir/clean -.PHONY : CMakeFiles/minigzip.dir/clean - -#============================================================================= -# Target rules for target CMakeFiles/example64.dir - -# All Build rule for target. -CMakeFiles/example64.dir/all: CMakeFiles/zlib.dir/all - $(MAKE) $(MAKESILENT) -f CMakeFiles/example64.dir/build.make CMakeFiles/example64.dir/depend - $(MAKE) $(MAKESILENT) -f CMakeFiles/example64.dir/build.make CMakeFiles/example64.dir/build - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles" --progress-num=3,4 "Built target example64" -.PHONY : CMakeFiles/example64.dir/all - -# Build rule for subdir invocation for target. -CMakeFiles/example64.dir/rule: cmake_check_build_system - $(CMAKE_COMMAND) -E cmake_progress_start "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles" 18 - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 CMakeFiles/example64.dir/all - $(CMAKE_COMMAND) -E cmake_progress_start "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles" 0 -.PHONY : CMakeFiles/example64.dir/rule - -# Convenience name for target. -example64: CMakeFiles/example64.dir/rule -.PHONY : example64 - -# clean rule for target. -CMakeFiles/example64.dir/clean: - $(MAKE) $(MAKESILENT) -f CMakeFiles/example64.dir/build.make CMakeFiles/example64.dir/clean -.PHONY : CMakeFiles/example64.dir/clean - -#============================================================================= -# Target rules for target CMakeFiles/minigzip64.dir - -# All Build rule for target. -CMakeFiles/minigzip64.dir/all: CMakeFiles/zlib.dir/all - $(MAKE) $(MAKESILENT) -f CMakeFiles/minigzip64.dir/build.make CMakeFiles/minigzip64.dir/depend - $(MAKE) $(MAKESILENT) -f CMakeFiles/minigzip64.dir/build.make CMakeFiles/minigzip64.dir/build - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles" --progress-num=7,8 "Built target minigzip64" -.PHONY : CMakeFiles/minigzip64.dir/all - -# Build rule for subdir invocation for target. -CMakeFiles/minigzip64.dir/rule: cmake_check_build_system - $(CMAKE_COMMAND) -E cmake_progress_start "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles" 18 - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 CMakeFiles/minigzip64.dir/all - $(CMAKE_COMMAND) -E cmake_progress_start "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles" 0 -.PHONY : CMakeFiles/minigzip64.dir/rule - -# Convenience name for target. -minigzip64: CMakeFiles/minigzip64.dir/rule -.PHONY : minigzip64 - -# clean rule for target. -CMakeFiles/minigzip64.dir/clean: - $(MAKE) $(MAKESILENT) -f CMakeFiles/minigzip64.dir/build.make CMakeFiles/minigzip64.dir/clean -.PHONY : CMakeFiles/minigzip64.dir/clean - -#============================================================================= -# Special targets to cleanup operation of make. - -# Special rule to run CMake to check the build system integrity. -# No rule that depends on this can have commands that come from listfiles -# because they might be regenerated. -cmake_check_build_system: - $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0 -.PHONY : cmake_check_build_system - diff --git a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/TargetDirectories.txt b/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/TargetDirectories.txt deleted file mode 100644 index 1aa2c94..0000000 --- a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/TargetDirectories.txt +++ /dev/null @@ -1,13 +0,0 @@ -/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlib.dir -/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlibstatic.dir -/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/example.dir -/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/minigzip.dir -/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/example64.dir -/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/minigzip64.dir -/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/test.dir -/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/edit_cache.dir -/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/rebuild_cache.dir -/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/list_install_components.dir -/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/install.dir -/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/install/local.dir -/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/install/strip.dir diff --git a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/cmake.check_cache b/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/cmake.check_cache deleted file mode 100644 index 3dccd73..0000000 --- a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/cmake.check_cache +++ /dev/null @@ -1 +0,0 @@ -# This file is generated by cmake for dependency checking of the CMakeCache.txt file diff --git a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/example.dir/DependInfo.cmake b/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/example.dir/DependInfo.cmake deleted file mode 100644 index 5169b13..0000000 --- a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/example.dir/DependInfo.cmake +++ /dev/null @@ -1,23 +0,0 @@ - -# Consider dependencies only in project. -set(CMAKE_DEPENDS_IN_PROJECT_ONLY OFF) - -# The set of languages for which implicit dependencies are needed: -set(CMAKE_DEPENDS_LANGUAGES - ) - -# The set of dependency files which are needed: -set(CMAKE_DEPENDS_DEPENDENCY_FILES - "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/test/example.c" "CMakeFiles/example.dir/test/example.c.o" "gcc" "CMakeFiles/example.dir/test/example.c.o.d" - ) - -# Targets to which this target links which contain Fortran sources. -set(CMAKE_Fortran_TARGET_LINKED_INFO_FILES - ) - -# Targets to which this target links which contain Fortran sources. -set(CMAKE_Fortran_TARGET_FORWARD_LINKED_INFO_FILES - ) - -# Fortran module output directory. -set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/example.dir/build.make b/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/example.dir/build.make deleted file mode 100644 index af9593d..0000000 --- a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/example.dir/build.make +++ /dev/null @@ -1,114 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.28 - -# Delete rule output on recipe failure. -.DELETE_ON_ERROR: - -#============================================================================= -# Special targets provided by cmake. - -# Disable implicit rules so canonical targets will work. -.SUFFIXES: - -# Disable VCS-based implicit rules. -% : %,v - -# Disable VCS-based implicit rules. -% : RCS/% - -# Disable VCS-based implicit rules. -% : RCS/%,v - -# Disable VCS-based implicit rules. -% : SCCS/s.% - -# Disable VCS-based implicit rules. -% : s.% - -.SUFFIXES: .hpux_make_needs_suffix_list - -# Command-line flag to silence nested $(MAKE). -$(VERBOSE)MAKESILENT = -s - -#Suppress display of executed commands. -$(VERBOSE).SILENT: - -# A target that is always out of date. -cmake_force: -.PHONY : cmake_force - -#============================================================================= -# Set environment variables for the build. - -# The shell in which to execute make rules. -SHELL = /bin/sh - -# The CMake executable. -CMAKE_COMMAND = /usr/bin/cmake - -# The command to remove a file. -RM = /usr/bin/cmake -E rm -f - -# Escaping for special characters. -EQUALS = = - -# The top-level source directory on which CMake was run. -CMAKE_SOURCE_DIR = "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1" - -# The top-level build directory on which CMake was run. -CMAKE_BINARY_DIR = "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/build-emcmake" - -# Include any dependencies generated for this target. -include CMakeFiles/example.dir/depend.make -# Include any dependencies generated by the compiler for this target. -include CMakeFiles/example.dir/compiler_depend.make - -# Include the progress variables for this target. -include CMakeFiles/example.dir/progress.make - -# Include the compile flags for this target's objects. -include CMakeFiles/example.dir/flags.make - -CMakeFiles/example.dir/test/example.c.o: CMakeFiles/example.dir/flags.make -CMakeFiles/example.dir/test/example.c.o: CMakeFiles/example.dir/includes_C.rsp -CMakeFiles/example.dir/test/example.c.o: /home/romazan/Рабочий\ стол/cproject/thirdparty/zlib-1.3.1/test/example.c -CMakeFiles/example.dir/test/example.c.o: CMakeFiles/example.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_1) "Building C object CMakeFiles/example.dir/test/example.c.o" - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT CMakeFiles/example.dir/test/example.c.o -MF CMakeFiles/example.dir/test/example.c.o.d -o CMakeFiles/example.dir/test/example.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/test/example.c" - -CMakeFiles/example.dir/test/example.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/example.dir/test/example.c.i" - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/test/example.c" > CMakeFiles/example.dir/test/example.c.i - -CMakeFiles/example.dir/test/example.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/example.dir/test/example.c.s" - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/test/example.c" -o CMakeFiles/example.dir/test/example.c.s - -# Object files for target example -example_OBJECTS = \ -"CMakeFiles/example.dir/test/example.c.o" - -# External object files for target example -example_EXTERNAL_OBJECTS = - -example.js: CMakeFiles/example.dir/test/example.c.o -example.js: CMakeFiles/example.dir/build.make -example.js: libz.a -example.js: CMakeFiles/example.dir/linkLibs.rsp -example.js: CMakeFiles/example.dir/objects1.rsp -example.js: CMakeFiles/example.dir/link.txt - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_2) "Linking C executable example.js" - $(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/example.dir/link.txt --verbose=$(VERBOSE) - -# Rule to build all files generated by this target. -CMakeFiles/example.dir/build: example.js -.PHONY : CMakeFiles/example.dir/build - -CMakeFiles/example.dir/clean: - $(CMAKE_COMMAND) -P CMakeFiles/example.dir/cmake_clean.cmake -.PHONY : CMakeFiles/example.dir/clean - -CMakeFiles/example.dir/depend: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/build-emcmake" && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1" "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1" "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/build-emcmake" "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/build-emcmake" "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/example.dir/DependInfo.cmake" "--color=$(COLOR)" -.PHONY : CMakeFiles/example.dir/depend - diff --git a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/example.dir/cmake_clean.cmake b/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/example.dir/cmake_clean.cmake deleted file mode 100644 index a2c3fb9..0000000 --- a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/example.dir/cmake_clean.cmake +++ /dev/null @@ -1,11 +0,0 @@ -file(REMOVE_RECURSE - "CMakeFiles/example.dir/test/example.c.o" - "CMakeFiles/example.dir/test/example.c.o.d" - "example.js" - "example.pdb" -) - -# Per-language clean rules from dependency scanning. -foreach(lang C) - include(CMakeFiles/example.dir/cmake_clean_${lang}.cmake OPTIONAL) -endforeach() diff --git a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/example.dir/compiler_depend.make b/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/example.dir/compiler_depend.make deleted file mode 100644 index fd35cca..0000000 --- a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/example.dir/compiler_depend.make +++ /dev/null @@ -1,2 +0,0 @@ -# Empty compiler generated dependencies file for example. -# This may be replaced when dependencies are built. diff --git a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/example.dir/compiler_depend.ts b/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/example.dir/compiler_depend.ts deleted file mode 100644 index 82206ab..0000000 --- a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/example.dir/compiler_depend.ts +++ /dev/null @@ -1,2 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Timestamp file for compiler generated dependencies management for example. diff --git a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/example.dir/depend.make b/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/example.dir/depend.make deleted file mode 100644 index 1438e1c..0000000 --- a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/example.dir/depend.make +++ /dev/null @@ -1,2 +0,0 @@ -# Empty dependencies file for example. -# This may be replaced when dependencies are built. diff --git a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/example.dir/flags.make b/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/example.dir/flags.make deleted file mode 100644 index 12d1e75..0000000 --- a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/example.dir/flags.make +++ /dev/null @@ -1,10 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.28 - -# compile C with /home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc -C_DEFINES = -D_LARGEFILE64_SOURCE=1 - -C_INCLUDES = @CMakeFiles/example.dir/includes_C.rsp - -C_FLAGS = - diff --git a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/example.dir/link.txt b/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/example.dir/link.txt deleted file mode 100644 index 661d5f0..0000000 --- a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/example.dir/link.txt +++ /dev/null @@ -1 +0,0 @@ -"/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" @CMakeFiles/example.dir/objects1.rsp -o example.js @CMakeFiles/example.dir/linkLibs.rsp diff --git a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/example.dir/progress.make b/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/example.dir/progress.make deleted file mode 100644 index abadeb0..0000000 --- a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/example.dir/progress.make +++ /dev/null @@ -1,3 +0,0 @@ -CMAKE_PROGRESS_1 = 1 -CMAKE_PROGRESS_2 = 2 - diff --git a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/example.dir/test/example.c.o b/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/example.dir/test/example.c.o deleted file mode 100644 index b08f41f94d040eef65a4587a9aceea2d069d9c72..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18191 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 CMakeFiles/example64.dir/test/example.c.i - -CMakeFiles/example64.dir/test/example.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/example64.dir/test/example.c.s" - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/test/example.c" -o CMakeFiles/example64.dir/test/example.c.s - -# Object files for target example64 -example64_OBJECTS = \ -"CMakeFiles/example64.dir/test/example.c.o" - -# External object files for target example64 -example64_EXTERNAL_OBJECTS = - -example64.js: CMakeFiles/example64.dir/test/example.c.o -example64.js: CMakeFiles/example64.dir/build.make -example64.js: libz.a -example64.js: CMakeFiles/example64.dir/linkLibs.rsp -example64.js: CMakeFiles/example64.dir/objects1.rsp -example64.js: CMakeFiles/example64.dir/link.txt - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_2) "Linking C executable example64.js" - $(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/example64.dir/link.txt --verbose=$(VERBOSE) - -# Rule to build all files generated by this target. -CMakeFiles/example64.dir/build: example64.js -.PHONY : CMakeFiles/example64.dir/build - -CMakeFiles/example64.dir/clean: - $(CMAKE_COMMAND) -P CMakeFiles/example64.dir/cmake_clean.cmake -.PHONY : CMakeFiles/example64.dir/clean - -CMakeFiles/example64.dir/depend: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/build-emcmake" && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1" "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1" "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/build-emcmake" "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/build-emcmake" "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/example64.dir/DependInfo.cmake" "--color=$(COLOR)" -.PHONY : CMakeFiles/example64.dir/depend - diff --git a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/example64.dir/cmake_clean.cmake b/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/example64.dir/cmake_clean.cmake deleted file mode 100644 index ae37821..0000000 --- a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/example64.dir/cmake_clean.cmake +++ /dev/null @@ -1,11 +0,0 @@ -file(REMOVE_RECURSE - "CMakeFiles/example64.dir/test/example.c.o" - "CMakeFiles/example64.dir/test/example.c.o.d" - "example64.js" - "example64.pdb" -) - -# Per-language clean rules from dependency scanning. -foreach(lang C) - include(CMakeFiles/example64.dir/cmake_clean_${lang}.cmake OPTIONAL) -endforeach() diff --git a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/example64.dir/compiler_depend.make b/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/example64.dir/compiler_depend.make deleted file mode 100644 index 21f3861..0000000 --- a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/example64.dir/compiler_depend.make +++ /dev/null @@ -1,2 +0,0 @@ -# Empty compiler generated dependencies file for example64. -# This may be replaced when dependencies are built. diff --git a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/example64.dir/compiler_depend.ts b/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/example64.dir/compiler_depend.ts deleted file mode 100644 index b93c6d4..0000000 --- a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/example64.dir/compiler_depend.ts +++ /dev/null @@ -1,2 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Timestamp file for compiler generated dependencies management for example64. diff --git a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/example64.dir/depend.make b/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/example64.dir/depend.make deleted file mode 100644 index 52d2998..0000000 --- a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/example64.dir/depend.make +++ /dev/null @@ -1,2 +0,0 @@ -# Empty dependencies file for example64. -# This may be replaced when dependencies are built. diff --git a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/example64.dir/flags.make b/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/example64.dir/flags.make deleted file mode 100644 index 65cbf62..0000000 --- a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/example64.dir/flags.make +++ /dev/null @@ -1,10 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.28 - -# compile C with /home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc -C_DEFINES = -D_LARGEFILE64_SOURCE=1 - -C_INCLUDES = @CMakeFiles/example64.dir/includes_C.rsp - -C_FLAGS = -D_FILE_OFFSET_BITS=64 - diff --git a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/example64.dir/link.txt b/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/example64.dir/link.txt deleted file mode 100644 index f5ce726..0000000 --- a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/example64.dir/link.txt +++ /dev/null @@ -1 +0,0 @@ -"/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" @CMakeFiles/example64.dir/objects1.rsp -o example64.js @CMakeFiles/example64.dir/linkLibs.rsp diff --git a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/example64.dir/progress.make b/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/example64.dir/progress.make deleted file mode 100644 index 8c8fb6f..0000000 --- a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/example64.dir/progress.make +++ /dev/null @@ -1,3 +0,0 @@ -CMAKE_PROGRESS_1 = 3 -CMAKE_PROGRESS_2 = 4 - diff --git a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/example64.dir/test/example.c.o b/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/example64.dir/test/example.c.o deleted file mode 100644 index b08f41f94d040eef65a4587a9aceea2d069d9c72..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18191 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 CMakeFiles/minigzip.dir/test/minigzip.c.i - -CMakeFiles/minigzip.dir/test/minigzip.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/minigzip.dir/test/minigzip.c.s" - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/test/minigzip.c" -o CMakeFiles/minigzip.dir/test/minigzip.c.s - -# Object files for target minigzip -minigzip_OBJECTS = \ -"CMakeFiles/minigzip.dir/test/minigzip.c.o" - -# External object files for target minigzip -minigzip_EXTERNAL_OBJECTS = - -minigzip.js: CMakeFiles/minigzip.dir/test/minigzip.c.o -minigzip.js: CMakeFiles/minigzip.dir/build.make -minigzip.js: libz.a -minigzip.js: CMakeFiles/minigzip.dir/linkLibs.rsp -minigzip.js: CMakeFiles/minigzip.dir/objects1.rsp -minigzip.js: CMakeFiles/minigzip.dir/link.txt - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_2) "Linking C executable minigzip.js" - $(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/minigzip.dir/link.txt --verbose=$(VERBOSE) - -# Rule to build all files generated by this target. -CMakeFiles/minigzip.dir/build: minigzip.js -.PHONY : CMakeFiles/minigzip.dir/build - -CMakeFiles/minigzip.dir/clean: - $(CMAKE_COMMAND) -P CMakeFiles/minigzip.dir/cmake_clean.cmake -.PHONY : CMakeFiles/minigzip.dir/clean - -CMakeFiles/minigzip.dir/depend: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/build-emcmake" && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1" "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1" "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/build-emcmake" "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/build-emcmake" "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/minigzip.dir/DependInfo.cmake" "--color=$(COLOR)" -.PHONY : CMakeFiles/minigzip.dir/depend - diff --git a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/minigzip.dir/cmake_clean.cmake b/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/minigzip.dir/cmake_clean.cmake deleted file mode 100644 index 3a0a10e..0000000 --- a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/minigzip.dir/cmake_clean.cmake +++ /dev/null @@ -1,11 +0,0 @@ -file(REMOVE_RECURSE - "CMakeFiles/minigzip.dir/test/minigzip.c.o" - "CMakeFiles/minigzip.dir/test/minigzip.c.o.d" - "minigzip.js" - "minigzip.pdb" -) - -# Per-language clean rules from dependency scanning. -foreach(lang C) - include(CMakeFiles/minigzip.dir/cmake_clean_${lang}.cmake OPTIONAL) -endforeach() diff --git a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/minigzip.dir/compiler_depend.make b/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/minigzip.dir/compiler_depend.make deleted file mode 100644 index 50a75e9..0000000 --- a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/minigzip.dir/compiler_depend.make +++ /dev/null @@ -1,2 +0,0 @@ -# Empty compiler generated dependencies file for minigzip. -# This may be replaced when dependencies are built. diff --git a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/minigzip.dir/compiler_depend.ts b/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/minigzip.dir/compiler_depend.ts deleted file mode 100644 index 2658061..0000000 --- a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/minigzip.dir/compiler_depend.ts +++ /dev/null @@ -1,2 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Timestamp file for compiler generated dependencies management for minigzip. diff --git a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/minigzip.dir/depend.make b/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/minigzip.dir/depend.make deleted file mode 100644 index 20bd48b..0000000 --- a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/minigzip.dir/depend.make +++ /dev/null @@ -1,2 +0,0 @@ -# Empty dependencies file for minigzip. -# This may be replaced when dependencies are built. diff --git a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/minigzip.dir/flags.make b/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/minigzip.dir/flags.make deleted file mode 100644 index 52ab368..0000000 --- a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/minigzip.dir/flags.make +++ /dev/null @@ -1,10 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.28 - -# compile C with /home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc -C_DEFINES = -D_LARGEFILE64_SOURCE=1 - -C_INCLUDES = @CMakeFiles/minigzip.dir/includes_C.rsp - -C_FLAGS = - diff --git a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/minigzip.dir/link.txt b/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/minigzip.dir/link.txt deleted file mode 100644 index d2846b7..0000000 --- a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/minigzip.dir/link.txt +++ /dev/null @@ -1 +0,0 @@ -"/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" @CMakeFiles/minigzip.dir/objects1.rsp -o minigzip.js @CMakeFiles/minigzip.dir/linkLibs.rsp diff --git a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/minigzip.dir/progress.make b/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/minigzip.dir/progress.make deleted file mode 100644 index 3a86673..0000000 --- a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/minigzip.dir/progress.make +++ /dev/null @@ -1,3 +0,0 @@ -CMAKE_PROGRESS_1 = 5 -CMAKE_PROGRESS_2 = 6 - diff --git a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/minigzip.dir/test/minigzip.c.o b/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/minigzip.dir/test/minigzip.c.o deleted file mode 100644 index a643f3fcba638170c676dba7f05ae1febe17d8d2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7450 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 diff --git a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/minigzip.dir/test/minigzip.c.o.d b/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/minigzip.dir/test/minigzip.c.o.d deleted file mode 100644 index f1f7ed3..0000000 --- a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/minigzip.dir/test/minigzip.c.o.d +++ /dev/null @@ -1,43 +0,0 @@ -CMakeFiles/minigzip.dir/test/minigzip.c.o: \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/zlib-1.3.1/test/minigzip.c \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/zlib-1.3.1/zlib.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/zlib-1.3.1/build-emcmake/zconf.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_header_macro.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_ptrdiff_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_size_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_wchar_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_null.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_max_align_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_offsetof.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/limits.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/limits.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/features.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/alltypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/limits.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/types.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/endian.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/select.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/stdarg.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdarg.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdarg.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stdarg_header_macro.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stdarg___gnuc_va_list.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stdarg_va_list.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stdarg_va_arg.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stdarg___va_copy.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stdarg_va_copy.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/unistd.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/wasi/api.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/posix.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdio.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/strings.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/stdlib.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdlib.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/alloca.h diff --git a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/minigzip64.dir/DependInfo.cmake b/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/minigzip64.dir/DependInfo.cmake deleted file mode 100644 index d696e1a..0000000 --- a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/minigzip64.dir/DependInfo.cmake +++ /dev/null @@ -1,23 +0,0 @@ - -# Consider dependencies only in project. -set(CMAKE_DEPENDS_IN_PROJECT_ONLY OFF) - -# The set of languages for which implicit dependencies are needed: -set(CMAKE_DEPENDS_LANGUAGES - ) - -# The set of dependency files which are needed: -set(CMAKE_DEPENDS_DEPENDENCY_FILES - "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/test/minigzip.c" "CMakeFiles/minigzip64.dir/test/minigzip.c.o" "gcc" "CMakeFiles/minigzip64.dir/test/minigzip.c.o.d" - ) - -# Targets to which this target links which contain Fortran sources. -set(CMAKE_Fortran_TARGET_LINKED_INFO_FILES - ) - -# Targets to which this target links which contain Fortran sources. -set(CMAKE_Fortran_TARGET_FORWARD_LINKED_INFO_FILES - ) - -# Fortran module output directory. -set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/minigzip64.dir/build.make b/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/minigzip64.dir/build.make deleted file mode 100644 index 8f05b9e..0000000 --- a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/minigzip64.dir/build.make +++ /dev/null @@ -1,114 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.28 - -# Delete rule output on recipe failure. -.DELETE_ON_ERROR: - -#============================================================================= -# Special targets provided by cmake. - -# Disable implicit rules so canonical targets will work. -.SUFFIXES: - -# Disable VCS-based implicit rules. -% : %,v - -# Disable VCS-based implicit rules. -% : RCS/% - -# Disable VCS-based implicit rules. -% : RCS/%,v - -# Disable VCS-based implicit rules. -% : SCCS/s.% - -# Disable VCS-based implicit rules. -% : s.% - -.SUFFIXES: .hpux_make_needs_suffix_list - -# Command-line flag to silence nested $(MAKE). -$(VERBOSE)MAKESILENT = -s - -#Suppress display of executed commands. -$(VERBOSE).SILENT: - -# A target that is always out of date. -cmake_force: -.PHONY : cmake_force - -#============================================================================= -# Set environment variables for the build. - -# The shell in which to execute make rules. -SHELL = /bin/sh - -# The CMake executable. -CMAKE_COMMAND = /usr/bin/cmake - -# The command to remove a file. -RM = /usr/bin/cmake -E rm -f - -# Escaping for special characters. -EQUALS = = - -# The top-level source directory on which CMake was run. -CMAKE_SOURCE_DIR = "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1" - -# The top-level build directory on which CMake was run. -CMAKE_BINARY_DIR = "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/build-emcmake" - -# Include any dependencies generated for this target. -include CMakeFiles/minigzip64.dir/depend.make -# Include any dependencies generated by the compiler for this target. -include CMakeFiles/minigzip64.dir/compiler_depend.make - -# Include the progress variables for this target. -include CMakeFiles/minigzip64.dir/progress.make - -# Include the compile flags for this target's objects. -include CMakeFiles/minigzip64.dir/flags.make - -CMakeFiles/minigzip64.dir/test/minigzip.c.o: CMakeFiles/minigzip64.dir/flags.make -CMakeFiles/minigzip64.dir/test/minigzip.c.o: CMakeFiles/minigzip64.dir/includes_C.rsp -CMakeFiles/minigzip64.dir/test/minigzip.c.o: /home/romazan/Рабочий\ стол/cproject/thirdparty/zlib-1.3.1/test/minigzip.c -CMakeFiles/minigzip64.dir/test/minigzip.c.o: CMakeFiles/minigzip64.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_1) "Building C object CMakeFiles/minigzip64.dir/test/minigzip.c.o" - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT CMakeFiles/minigzip64.dir/test/minigzip.c.o -MF CMakeFiles/minigzip64.dir/test/minigzip.c.o.d -o CMakeFiles/minigzip64.dir/test/minigzip.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/test/minigzip.c" - -CMakeFiles/minigzip64.dir/test/minigzip.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/minigzip64.dir/test/minigzip.c.i" - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/test/minigzip.c" > CMakeFiles/minigzip64.dir/test/minigzip.c.i - -CMakeFiles/minigzip64.dir/test/minigzip.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/minigzip64.dir/test/minigzip.c.s" - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/test/minigzip.c" -o CMakeFiles/minigzip64.dir/test/minigzip.c.s - -# Object files for target minigzip64 -minigzip64_OBJECTS = \ -"CMakeFiles/minigzip64.dir/test/minigzip.c.o" - -# External object files for target minigzip64 -minigzip64_EXTERNAL_OBJECTS = - -minigzip64.js: CMakeFiles/minigzip64.dir/test/minigzip.c.o -minigzip64.js: CMakeFiles/minigzip64.dir/build.make -minigzip64.js: libz.a -minigzip64.js: CMakeFiles/minigzip64.dir/linkLibs.rsp -minigzip64.js: CMakeFiles/minigzip64.dir/objects1.rsp -minigzip64.js: CMakeFiles/minigzip64.dir/link.txt - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_2) "Linking C executable minigzip64.js" - $(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/minigzip64.dir/link.txt --verbose=$(VERBOSE) - -# Rule to build all files generated by this target. -CMakeFiles/minigzip64.dir/build: minigzip64.js -.PHONY : CMakeFiles/minigzip64.dir/build - -CMakeFiles/minigzip64.dir/clean: - $(CMAKE_COMMAND) -P CMakeFiles/minigzip64.dir/cmake_clean.cmake -.PHONY : CMakeFiles/minigzip64.dir/clean - -CMakeFiles/minigzip64.dir/depend: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/build-emcmake" && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1" "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1" "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/build-emcmake" "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/build-emcmake" "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/minigzip64.dir/DependInfo.cmake" "--color=$(COLOR)" -.PHONY : CMakeFiles/minigzip64.dir/depend - diff --git a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/minigzip64.dir/cmake_clean.cmake b/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/minigzip64.dir/cmake_clean.cmake deleted file mode 100644 index f0bd5a6..0000000 --- a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/minigzip64.dir/cmake_clean.cmake +++ /dev/null @@ -1,11 +0,0 @@ -file(REMOVE_RECURSE - "CMakeFiles/minigzip64.dir/test/minigzip.c.o" - "CMakeFiles/minigzip64.dir/test/minigzip.c.o.d" - "minigzip64.js" - "minigzip64.pdb" -) - -# Per-language clean rules from dependency scanning. -foreach(lang C) - include(CMakeFiles/minigzip64.dir/cmake_clean_${lang}.cmake OPTIONAL) -endforeach() diff --git a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/minigzip64.dir/compiler_depend.make b/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/minigzip64.dir/compiler_depend.make deleted file mode 100644 index e11832c..0000000 --- a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/minigzip64.dir/compiler_depend.make +++ /dev/null @@ -1,2 +0,0 @@ -# Empty compiler generated dependencies file for minigzip64. -# This may be replaced when dependencies are built. diff --git a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/minigzip64.dir/compiler_depend.ts b/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/minigzip64.dir/compiler_depend.ts deleted file mode 100644 index 63feb04..0000000 --- a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/minigzip64.dir/compiler_depend.ts +++ /dev/null @@ -1,2 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Timestamp file for compiler generated dependencies management for minigzip64. diff --git a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/minigzip64.dir/depend.make b/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/minigzip64.dir/depend.make deleted file mode 100644 index 2e43ae6..0000000 --- a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/minigzip64.dir/depend.make +++ /dev/null @@ -1,2 +0,0 @@ -# Empty dependencies file for minigzip64. -# This may be replaced when dependencies are built. diff --git a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/minigzip64.dir/flags.make b/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/minigzip64.dir/flags.make deleted file mode 100644 index da2d754..0000000 --- a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/minigzip64.dir/flags.make +++ /dev/null @@ -1,10 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.28 - -# compile C with /home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc -C_DEFINES = -D_LARGEFILE64_SOURCE=1 - -C_INCLUDES = @CMakeFiles/minigzip64.dir/includes_C.rsp - -C_FLAGS = -D_FILE_OFFSET_BITS=64 - diff --git a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/minigzip64.dir/link.txt b/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/minigzip64.dir/link.txt deleted file mode 100644 index 478e3f9..0000000 --- a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/minigzip64.dir/link.txt +++ /dev/null @@ -1 +0,0 @@ -"/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" @CMakeFiles/minigzip64.dir/objects1.rsp -o minigzip64.js @CMakeFiles/minigzip64.dir/linkLibs.rsp diff --git a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/minigzip64.dir/progress.make b/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/minigzip64.dir/progress.make deleted file mode 100644 index 72bb7dd..0000000 --- a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/minigzip64.dir/progress.make +++ /dev/null @@ -1,3 +0,0 @@ -CMAKE_PROGRESS_1 = 7 -CMAKE_PROGRESS_2 = 8 - diff --git a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/minigzip64.dir/test/minigzip.c.o b/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/minigzip64.dir/test/minigzip.c.o deleted file mode 100644 index a643f3fcba638170c676dba7f05ae1febe17d8d2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7450 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 diff --git a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/minigzip64.dir/test/minigzip.c.o.d b/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/minigzip64.dir/test/minigzip.c.o.d deleted file mode 100644 index fa60b51..0000000 --- a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/minigzip64.dir/test/minigzip.c.o.d +++ /dev/null @@ -1,43 +0,0 @@ -CMakeFiles/minigzip64.dir/test/minigzip.c.o: \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/zlib-1.3.1/test/minigzip.c \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/zlib-1.3.1/zlib.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/zlib-1.3.1/build-emcmake/zconf.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_header_macro.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_ptrdiff_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_size_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_wchar_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_null.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_max_align_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_offsetof.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/limits.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/limits.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/features.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/alltypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/limits.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/types.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/endian.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/select.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/stdarg.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdarg.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdarg.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stdarg_header_macro.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stdarg___gnuc_va_list.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stdarg_va_list.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stdarg_va_arg.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stdarg___va_copy.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stdarg_va_copy.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/unistd.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/wasi/api.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/posix.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdio.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/strings.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/stdlib.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdlib.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/alloca.h diff --git a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/progress.marks b/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/progress.marks deleted file mode 100644 index 425151f..0000000 --- a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/progress.marks +++ /dev/null @@ -1 +0,0 @@ -40 diff --git a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlib.dir/DependInfo.cmake b/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlib.dir/DependInfo.cmake deleted file mode 100644 index 23fef94..0000000 --- a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlib.dir/DependInfo.cmake +++ /dev/null @@ -1,37 +0,0 @@ - -# Consider dependencies only in project. -set(CMAKE_DEPENDS_IN_PROJECT_ONLY OFF) - -# The set of languages for which implicit dependencies are needed: -set(CMAKE_DEPENDS_LANGUAGES - ) - -# The set of dependency files which are needed: -set(CMAKE_DEPENDS_DEPENDENCY_FILES - "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/adler32.c" "CMakeFiles/zlib.dir/adler32.c.o" "gcc" "CMakeFiles/zlib.dir/adler32.c.o.d" - "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/compress.c" "CMakeFiles/zlib.dir/compress.c.o" "gcc" "CMakeFiles/zlib.dir/compress.c.o.d" - "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/crc32.c" "CMakeFiles/zlib.dir/crc32.c.o" "gcc" "CMakeFiles/zlib.dir/crc32.c.o.d" - "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/deflate.c" "CMakeFiles/zlib.dir/deflate.c.o" "gcc" "CMakeFiles/zlib.dir/deflate.c.o.d" - "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/gzclose.c" "CMakeFiles/zlib.dir/gzclose.c.o" "gcc" "CMakeFiles/zlib.dir/gzclose.c.o.d" - "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/gzlib.c" "CMakeFiles/zlib.dir/gzlib.c.o" "gcc" "CMakeFiles/zlib.dir/gzlib.c.o.d" - "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/gzread.c" "CMakeFiles/zlib.dir/gzread.c.o" "gcc" "CMakeFiles/zlib.dir/gzread.c.o.d" - "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/gzwrite.c" "CMakeFiles/zlib.dir/gzwrite.c.o" "gcc" "CMakeFiles/zlib.dir/gzwrite.c.o.d" - "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/infback.c" "CMakeFiles/zlib.dir/infback.c.o" "gcc" "CMakeFiles/zlib.dir/infback.c.o.d" - "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/inffast.c" "CMakeFiles/zlib.dir/inffast.c.o" "gcc" "CMakeFiles/zlib.dir/inffast.c.o.d" - "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/inflate.c" "CMakeFiles/zlib.dir/inflate.c.o" "gcc" "CMakeFiles/zlib.dir/inflate.c.o.d" - "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/inftrees.c" "CMakeFiles/zlib.dir/inftrees.c.o" "gcc" "CMakeFiles/zlib.dir/inftrees.c.o.d" - "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/trees.c" "CMakeFiles/zlib.dir/trees.c.o" "gcc" "CMakeFiles/zlib.dir/trees.c.o.d" - "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/uncompr.c" "CMakeFiles/zlib.dir/uncompr.c.o" "gcc" "CMakeFiles/zlib.dir/uncompr.c.o.d" - "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/zutil.c" "CMakeFiles/zlib.dir/zutil.c.o" "gcc" "CMakeFiles/zlib.dir/zutil.c.o.d" - ) - -# Targets to which this target links which contain Fortran sources. -set(CMAKE_Fortran_TARGET_LINKED_INFO_FILES - ) - -# Targets to which this target links which contain Fortran sources. -set(CMAKE_Fortran_TARGET_FORWARD_LINKED_INFO_FILES - ) - -# Fortran module output directory. -set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlib.dir/adler32.c.o b/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlib.dir/adler32.c.o deleted file mode 100644 index 14ac6030cf380bb6f0822062a69defa91c784963..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5938 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 CMakeFiles/zlib.dir/adler32.c.i - -CMakeFiles/zlib.dir/adler32.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/zlib.dir/adler32.c.s" - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/adler32.c" -o CMakeFiles/zlib.dir/adler32.c.s - -CMakeFiles/zlib.dir/compress.c.o: CMakeFiles/zlib.dir/flags.make -CMakeFiles/zlib.dir/compress.c.o: CMakeFiles/zlib.dir/includes_C.rsp -CMakeFiles/zlib.dir/compress.c.o: /home/romazan/Рабочий\ стол/cproject/thirdparty/zlib-1.3.1/compress.c -CMakeFiles/zlib.dir/compress.c.o: CMakeFiles/zlib.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_2) "Building C object CMakeFiles/zlib.dir/compress.c.o" - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT CMakeFiles/zlib.dir/compress.c.o -MF CMakeFiles/zlib.dir/compress.c.o.d -o CMakeFiles/zlib.dir/compress.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/compress.c" - -CMakeFiles/zlib.dir/compress.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/zlib.dir/compress.c.i" - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/compress.c" > CMakeFiles/zlib.dir/compress.c.i - -CMakeFiles/zlib.dir/compress.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/zlib.dir/compress.c.s" - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/compress.c" -o CMakeFiles/zlib.dir/compress.c.s - -CMakeFiles/zlib.dir/crc32.c.o: CMakeFiles/zlib.dir/flags.make -CMakeFiles/zlib.dir/crc32.c.o: CMakeFiles/zlib.dir/includes_C.rsp -CMakeFiles/zlib.dir/crc32.c.o: /home/romazan/Рабочий\ стол/cproject/thirdparty/zlib-1.3.1/crc32.c -CMakeFiles/zlib.dir/crc32.c.o: CMakeFiles/zlib.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_3) "Building C object CMakeFiles/zlib.dir/crc32.c.o" - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT CMakeFiles/zlib.dir/crc32.c.o -MF CMakeFiles/zlib.dir/crc32.c.o.d -o CMakeFiles/zlib.dir/crc32.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/crc32.c" - -CMakeFiles/zlib.dir/crc32.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/zlib.dir/crc32.c.i" - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/crc32.c" > CMakeFiles/zlib.dir/crc32.c.i - -CMakeFiles/zlib.dir/crc32.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/zlib.dir/crc32.c.s" - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/crc32.c" -o CMakeFiles/zlib.dir/crc32.c.s - -CMakeFiles/zlib.dir/deflate.c.o: CMakeFiles/zlib.dir/flags.make -CMakeFiles/zlib.dir/deflate.c.o: CMakeFiles/zlib.dir/includes_C.rsp -CMakeFiles/zlib.dir/deflate.c.o: /home/romazan/Рабочий\ стол/cproject/thirdparty/zlib-1.3.1/deflate.c -CMakeFiles/zlib.dir/deflate.c.o: CMakeFiles/zlib.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_4) "Building C object CMakeFiles/zlib.dir/deflate.c.o" - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT CMakeFiles/zlib.dir/deflate.c.o -MF CMakeFiles/zlib.dir/deflate.c.o.d -o CMakeFiles/zlib.dir/deflate.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/deflate.c" - -CMakeFiles/zlib.dir/deflate.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/zlib.dir/deflate.c.i" - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/deflate.c" > CMakeFiles/zlib.dir/deflate.c.i - -CMakeFiles/zlib.dir/deflate.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/zlib.dir/deflate.c.s" - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/deflate.c" -o CMakeFiles/zlib.dir/deflate.c.s - -CMakeFiles/zlib.dir/gzclose.c.o: CMakeFiles/zlib.dir/flags.make -CMakeFiles/zlib.dir/gzclose.c.o: CMakeFiles/zlib.dir/includes_C.rsp -CMakeFiles/zlib.dir/gzclose.c.o: /home/romazan/Рабочий\ стол/cproject/thirdparty/zlib-1.3.1/gzclose.c -CMakeFiles/zlib.dir/gzclose.c.o: CMakeFiles/zlib.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_5) "Building C object CMakeFiles/zlib.dir/gzclose.c.o" - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT CMakeFiles/zlib.dir/gzclose.c.o -MF CMakeFiles/zlib.dir/gzclose.c.o.d -o CMakeFiles/zlib.dir/gzclose.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/gzclose.c" - -CMakeFiles/zlib.dir/gzclose.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/zlib.dir/gzclose.c.i" - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/gzclose.c" > CMakeFiles/zlib.dir/gzclose.c.i - -CMakeFiles/zlib.dir/gzclose.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/zlib.dir/gzclose.c.s" - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/gzclose.c" -o CMakeFiles/zlib.dir/gzclose.c.s - -CMakeFiles/zlib.dir/gzlib.c.o: CMakeFiles/zlib.dir/flags.make -CMakeFiles/zlib.dir/gzlib.c.o: CMakeFiles/zlib.dir/includes_C.rsp -CMakeFiles/zlib.dir/gzlib.c.o: /home/romazan/Рабочий\ стол/cproject/thirdparty/zlib-1.3.1/gzlib.c -CMakeFiles/zlib.dir/gzlib.c.o: CMakeFiles/zlib.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_6) "Building C object CMakeFiles/zlib.dir/gzlib.c.o" - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT CMakeFiles/zlib.dir/gzlib.c.o -MF CMakeFiles/zlib.dir/gzlib.c.o.d -o CMakeFiles/zlib.dir/gzlib.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/gzlib.c" - -CMakeFiles/zlib.dir/gzlib.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/zlib.dir/gzlib.c.i" - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/gzlib.c" > CMakeFiles/zlib.dir/gzlib.c.i - -CMakeFiles/zlib.dir/gzlib.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/zlib.dir/gzlib.c.s" - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/gzlib.c" -o CMakeFiles/zlib.dir/gzlib.c.s - -CMakeFiles/zlib.dir/gzread.c.o: CMakeFiles/zlib.dir/flags.make -CMakeFiles/zlib.dir/gzread.c.o: CMakeFiles/zlib.dir/includes_C.rsp -CMakeFiles/zlib.dir/gzread.c.o: /home/romazan/Рабочий\ стол/cproject/thirdparty/zlib-1.3.1/gzread.c -CMakeFiles/zlib.dir/gzread.c.o: CMakeFiles/zlib.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_7) "Building C object CMakeFiles/zlib.dir/gzread.c.o" - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT CMakeFiles/zlib.dir/gzread.c.o -MF CMakeFiles/zlib.dir/gzread.c.o.d -o CMakeFiles/zlib.dir/gzread.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/gzread.c" - -CMakeFiles/zlib.dir/gzread.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/zlib.dir/gzread.c.i" - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/gzread.c" > CMakeFiles/zlib.dir/gzread.c.i - -CMakeFiles/zlib.dir/gzread.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/zlib.dir/gzread.c.s" - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/gzread.c" -o CMakeFiles/zlib.dir/gzread.c.s - -CMakeFiles/zlib.dir/gzwrite.c.o: CMakeFiles/zlib.dir/flags.make -CMakeFiles/zlib.dir/gzwrite.c.o: CMakeFiles/zlib.dir/includes_C.rsp -CMakeFiles/zlib.dir/gzwrite.c.o: /home/romazan/Рабочий\ стол/cproject/thirdparty/zlib-1.3.1/gzwrite.c -CMakeFiles/zlib.dir/gzwrite.c.o: CMakeFiles/zlib.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_8) "Building C object CMakeFiles/zlib.dir/gzwrite.c.o" - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT CMakeFiles/zlib.dir/gzwrite.c.o -MF CMakeFiles/zlib.dir/gzwrite.c.o.d -o CMakeFiles/zlib.dir/gzwrite.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/gzwrite.c" - -CMakeFiles/zlib.dir/gzwrite.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/zlib.dir/gzwrite.c.i" - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/gzwrite.c" > CMakeFiles/zlib.dir/gzwrite.c.i - -CMakeFiles/zlib.dir/gzwrite.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/zlib.dir/gzwrite.c.s" - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/gzwrite.c" -o CMakeFiles/zlib.dir/gzwrite.c.s - -CMakeFiles/zlib.dir/inflate.c.o: CMakeFiles/zlib.dir/flags.make -CMakeFiles/zlib.dir/inflate.c.o: CMakeFiles/zlib.dir/includes_C.rsp -CMakeFiles/zlib.dir/inflate.c.o: /home/romazan/Рабочий\ стол/cproject/thirdparty/zlib-1.3.1/inflate.c -CMakeFiles/zlib.dir/inflate.c.o: CMakeFiles/zlib.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_9) "Building C object CMakeFiles/zlib.dir/inflate.c.o" - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT CMakeFiles/zlib.dir/inflate.c.o -MF CMakeFiles/zlib.dir/inflate.c.o.d -o CMakeFiles/zlib.dir/inflate.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/inflate.c" - -CMakeFiles/zlib.dir/inflate.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/zlib.dir/inflate.c.i" - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/inflate.c" > CMakeFiles/zlib.dir/inflate.c.i - -CMakeFiles/zlib.dir/inflate.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/zlib.dir/inflate.c.s" - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/inflate.c" -o CMakeFiles/zlib.dir/inflate.c.s - -CMakeFiles/zlib.dir/infback.c.o: CMakeFiles/zlib.dir/flags.make -CMakeFiles/zlib.dir/infback.c.o: CMakeFiles/zlib.dir/includes_C.rsp -CMakeFiles/zlib.dir/infback.c.o: /home/romazan/Рабочий\ стол/cproject/thirdparty/zlib-1.3.1/infback.c -CMakeFiles/zlib.dir/infback.c.o: CMakeFiles/zlib.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_10) "Building C object CMakeFiles/zlib.dir/infback.c.o" - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT CMakeFiles/zlib.dir/infback.c.o -MF CMakeFiles/zlib.dir/infback.c.o.d -o CMakeFiles/zlib.dir/infback.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/infback.c" - -CMakeFiles/zlib.dir/infback.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/zlib.dir/infback.c.i" - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/infback.c" > CMakeFiles/zlib.dir/infback.c.i - -CMakeFiles/zlib.dir/infback.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/zlib.dir/infback.c.s" - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/infback.c" -o CMakeFiles/zlib.dir/infback.c.s - -CMakeFiles/zlib.dir/inftrees.c.o: CMakeFiles/zlib.dir/flags.make -CMakeFiles/zlib.dir/inftrees.c.o: CMakeFiles/zlib.dir/includes_C.rsp -CMakeFiles/zlib.dir/inftrees.c.o: /home/romazan/Рабочий\ стол/cproject/thirdparty/zlib-1.3.1/inftrees.c -CMakeFiles/zlib.dir/inftrees.c.o: CMakeFiles/zlib.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_11) "Building C object CMakeFiles/zlib.dir/inftrees.c.o" - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT CMakeFiles/zlib.dir/inftrees.c.o -MF CMakeFiles/zlib.dir/inftrees.c.o.d -o CMakeFiles/zlib.dir/inftrees.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/inftrees.c" - -CMakeFiles/zlib.dir/inftrees.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/zlib.dir/inftrees.c.i" - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/inftrees.c" > CMakeFiles/zlib.dir/inftrees.c.i - -CMakeFiles/zlib.dir/inftrees.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/zlib.dir/inftrees.c.s" - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/inftrees.c" -o CMakeFiles/zlib.dir/inftrees.c.s - -CMakeFiles/zlib.dir/inffast.c.o: CMakeFiles/zlib.dir/flags.make -CMakeFiles/zlib.dir/inffast.c.o: CMakeFiles/zlib.dir/includes_C.rsp -CMakeFiles/zlib.dir/inffast.c.o: /home/romazan/Рабочий\ стол/cproject/thirdparty/zlib-1.3.1/inffast.c -CMakeFiles/zlib.dir/inffast.c.o: CMakeFiles/zlib.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_12) "Building C object CMakeFiles/zlib.dir/inffast.c.o" - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT CMakeFiles/zlib.dir/inffast.c.o -MF CMakeFiles/zlib.dir/inffast.c.o.d -o CMakeFiles/zlib.dir/inffast.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/inffast.c" - -CMakeFiles/zlib.dir/inffast.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/zlib.dir/inffast.c.i" - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/inffast.c" > CMakeFiles/zlib.dir/inffast.c.i - -CMakeFiles/zlib.dir/inffast.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/zlib.dir/inffast.c.s" - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/inffast.c" -o CMakeFiles/zlib.dir/inffast.c.s - -CMakeFiles/zlib.dir/trees.c.o: CMakeFiles/zlib.dir/flags.make -CMakeFiles/zlib.dir/trees.c.o: CMakeFiles/zlib.dir/includes_C.rsp -CMakeFiles/zlib.dir/trees.c.o: /home/romazan/Рабочий\ стол/cproject/thirdparty/zlib-1.3.1/trees.c -CMakeFiles/zlib.dir/trees.c.o: CMakeFiles/zlib.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_13) "Building C object CMakeFiles/zlib.dir/trees.c.o" - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT CMakeFiles/zlib.dir/trees.c.o -MF CMakeFiles/zlib.dir/trees.c.o.d -o CMakeFiles/zlib.dir/trees.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/trees.c" - -CMakeFiles/zlib.dir/trees.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/zlib.dir/trees.c.i" - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/trees.c" > CMakeFiles/zlib.dir/trees.c.i - -CMakeFiles/zlib.dir/trees.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/zlib.dir/trees.c.s" - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/trees.c" -o CMakeFiles/zlib.dir/trees.c.s - -CMakeFiles/zlib.dir/uncompr.c.o: CMakeFiles/zlib.dir/flags.make -CMakeFiles/zlib.dir/uncompr.c.o: CMakeFiles/zlib.dir/includes_C.rsp -CMakeFiles/zlib.dir/uncompr.c.o: /home/romazan/Рабочий\ стол/cproject/thirdparty/zlib-1.3.1/uncompr.c -CMakeFiles/zlib.dir/uncompr.c.o: CMakeFiles/zlib.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_14) "Building C object CMakeFiles/zlib.dir/uncompr.c.o" - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT CMakeFiles/zlib.dir/uncompr.c.o -MF CMakeFiles/zlib.dir/uncompr.c.o.d -o CMakeFiles/zlib.dir/uncompr.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/uncompr.c" - -CMakeFiles/zlib.dir/uncompr.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/zlib.dir/uncompr.c.i" - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/uncompr.c" > CMakeFiles/zlib.dir/uncompr.c.i - -CMakeFiles/zlib.dir/uncompr.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/zlib.dir/uncompr.c.s" - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/uncompr.c" -o CMakeFiles/zlib.dir/uncompr.c.s - -CMakeFiles/zlib.dir/zutil.c.o: CMakeFiles/zlib.dir/flags.make -CMakeFiles/zlib.dir/zutil.c.o: CMakeFiles/zlib.dir/includes_C.rsp -CMakeFiles/zlib.dir/zutil.c.o: /home/romazan/Рабочий\ стол/cproject/thirdparty/zlib-1.3.1/zutil.c -CMakeFiles/zlib.dir/zutil.c.o: CMakeFiles/zlib.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_15) "Building C object CMakeFiles/zlib.dir/zutil.c.o" - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT CMakeFiles/zlib.dir/zutil.c.o -MF CMakeFiles/zlib.dir/zutil.c.o.d -o CMakeFiles/zlib.dir/zutil.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/zutil.c" - -CMakeFiles/zlib.dir/zutil.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/zlib.dir/zutil.c.i" - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/zutil.c" > CMakeFiles/zlib.dir/zutil.c.i - -CMakeFiles/zlib.dir/zutil.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/zlib.dir/zutil.c.s" - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/zutil.c" -o CMakeFiles/zlib.dir/zutil.c.s - -# Object files for target zlib -zlib_OBJECTS = \ -"CMakeFiles/zlib.dir/adler32.c.o" \ -"CMakeFiles/zlib.dir/compress.c.o" \ -"CMakeFiles/zlib.dir/crc32.c.o" \ -"CMakeFiles/zlib.dir/deflate.c.o" \ -"CMakeFiles/zlib.dir/gzclose.c.o" \ -"CMakeFiles/zlib.dir/gzlib.c.o" \ -"CMakeFiles/zlib.dir/gzread.c.o" \ -"CMakeFiles/zlib.dir/gzwrite.c.o" \ -"CMakeFiles/zlib.dir/inflate.c.o" \ -"CMakeFiles/zlib.dir/infback.c.o" \ -"CMakeFiles/zlib.dir/inftrees.c.o" \ -"CMakeFiles/zlib.dir/inffast.c.o" \ -"CMakeFiles/zlib.dir/trees.c.o" \ -"CMakeFiles/zlib.dir/uncompr.c.o" \ -"CMakeFiles/zlib.dir/zutil.c.o" - -# External object files for target zlib -zlib_EXTERNAL_OBJECTS = - -libz.a: CMakeFiles/zlib.dir/adler32.c.o -libz.a: CMakeFiles/zlib.dir/compress.c.o -libz.a: CMakeFiles/zlib.dir/crc32.c.o -libz.a: CMakeFiles/zlib.dir/deflate.c.o -libz.a: CMakeFiles/zlib.dir/gzclose.c.o -libz.a: CMakeFiles/zlib.dir/gzlib.c.o -libz.a: CMakeFiles/zlib.dir/gzread.c.o -libz.a: CMakeFiles/zlib.dir/gzwrite.c.o -libz.a: CMakeFiles/zlib.dir/inflate.c.o -libz.a: CMakeFiles/zlib.dir/infback.c.o -libz.a: CMakeFiles/zlib.dir/inftrees.c.o -libz.a: CMakeFiles/zlib.dir/inffast.c.o -libz.a: CMakeFiles/zlib.dir/trees.c.o -libz.a: CMakeFiles/zlib.dir/uncompr.c.o -libz.a: CMakeFiles/zlib.dir/zutil.c.o -libz.a: CMakeFiles/zlib.dir/build.make -libz.a: CMakeFiles/zlib.dir/link.txt - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_16) "Linking C static library libz.a" - $(CMAKE_COMMAND) -P CMakeFiles/zlib.dir/cmake_clean_target.cmake - $(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/zlib.dir/link.txt --verbose=$(VERBOSE) - -# Rule to build all files generated by this target. -CMakeFiles/zlib.dir/build: libz.a -.PHONY : CMakeFiles/zlib.dir/build - -CMakeFiles/zlib.dir/clean: - $(CMAKE_COMMAND) -P CMakeFiles/zlib.dir/cmake_clean.cmake -.PHONY : CMakeFiles/zlib.dir/clean - -CMakeFiles/zlib.dir/depend: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/build-emcmake" && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1" "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1" "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/build-emcmake" "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/build-emcmake" "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlib.dir/DependInfo.cmake" "--color=$(COLOR)" -.PHONY : CMakeFiles/zlib.dir/depend - diff --git a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlib.dir/cmake_clean.cmake b/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlib.dir/cmake_clean.cmake deleted file mode 100644 index a5bb31d..0000000 --- a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlib.dir/cmake_clean.cmake +++ /dev/null @@ -1,39 +0,0 @@ -file(REMOVE_RECURSE - "CMakeFiles/zlib.dir/adler32.c.o" - "CMakeFiles/zlib.dir/adler32.c.o.d" - "CMakeFiles/zlib.dir/compress.c.o" - "CMakeFiles/zlib.dir/compress.c.o.d" - "CMakeFiles/zlib.dir/crc32.c.o" - "CMakeFiles/zlib.dir/crc32.c.o.d" - "CMakeFiles/zlib.dir/deflate.c.o" - "CMakeFiles/zlib.dir/deflate.c.o.d" - "CMakeFiles/zlib.dir/gzclose.c.o" - "CMakeFiles/zlib.dir/gzclose.c.o.d" - "CMakeFiles/zlib.dir/gzlib.c.o" - "CMakeFiles/zlib.dir/gzlib.c.o.d" - "CMakeFiles/zlib.dir/gzread.c.o" - "CMakeFiles/zlib.dir/gzread.c.o.d" - "CMakeFiles/zlib.dir/gzwrite.c.o" - "CMakeFiles/zlib.dir/gzwrite.c.o.d" - "CMakeFiles/zlib.dir/infback.c.o" - "CMakeFiles/zlib.dir/infback.c.o.d" - "CMakeFiles/zlib.dir/inffast.c.o" - "CMakeFiles/zlib.dir/inffast.c.o.d" - "CMakeFiles/zlib.dir/inflate.c.o" - "CMakeFiles/zlib.dir/inflate.c.o.d" - "CMakeFiles/zlib.dir/inftrees.c.o" - "CMakeFiles/zlib.dir/inftrees.c.o.d" - "CMakeFiles/zlib.dir/trees.c.o" - "CMakeFiles/zlib.dir/trees.c.o.d" - "CMakeFiles/zlib.dir/uncompr.c.o" - "CMakeFiles/zlib.dir/uncompr.c.o.d" - "CMakeFiles/zlib.dir/zutil.c.o" - "CMakeFiles/zlib.dir/zutil.c.o.d" - "libz.a" - "libz.pdb" -) - -# Per-language clean rules from dependency scanning. -foreach(lang C) - include(CMakeFiles/zlib.dir/cmake_clean_${lang}.cmake OPTIONAL) -endforeach() diff --git a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlib.dir/cmake_clean_target.cmake b/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlib.dir/cmake_clean_target.cmake deleted file mode 100644 index 5cdc2a2..0000000 --- a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlib.dir/cmake_clean_target.cmake +++ /dev/null @@ -1,3 +0,0 @@ -file(REMOVE_RECURSE - "libz.a" -) diff --git a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlib.dir/compiler_depend.make b/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlib.dir/compiler_depend.make deleted file mode 100644 index f1d69a6..0000000 --- a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlib.dir/compiler_depend.make +++ /dev/null @@ -1,2 +0,0 @@ -# Empty compiler generated dependencies file for zlib. -# This may be replaced when dependencies are built. diff --git a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlib.dir/compiler_depend.ts b/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlib.dir/compiler_depend.ts deleted file mode 100644 index dfa31a4..0000000 --- a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlib.dir/compiler_depend.ts +++ /dev/null @@ -1,2 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Timestamp file for compiler generated dependencies management for zlib. diff --git a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlib.dir/compress.c.o b/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlib.dir/compress.c.o deleted file mode 100644 index 2da11630619d0a5f246cf215103ae764f6a35450..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1647 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 WTwUSl&RoyHemyPY+v{>u3jYsqw`&9d diff --git a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlib.dir/deflate.c.o.d b/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlib.dir/deflate.c.o.d deleted file mode 100644 index 3f37ec6..0000000 --- a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlib.dir/deflate.c.o.d +++ /dev/null @@ -1,44 +0,0 @@ -CMakeFiles/zlib.dir/deflate.c.o: \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/zlib-1.3.1/deflate.c \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/zlib-1.3.1/deflate.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/zlib-1.3.1/zutil.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/zlib-1.3.1/zlib.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/zlib-1.3.1/build-emcmake/zconf.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_header_macro.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_ptrdiff_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_size_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_wchar_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_null.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_max_align_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_offsetof.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/limits.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/limits.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/features.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/alltypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/limits.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/types.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/endian.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/select.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/stdarg.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdarg.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdarg.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stdarg_header_macro.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stdarg___gnuc_va_list.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stdarg_va_list.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stdarg_va_arg.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stdarg___va_copy.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stdarg_va_copy.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/unistd.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/wasi/api.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/posix.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/strings.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/stdlib.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdlib.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/alloca.h diff --git a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlib.dir/depend.make b/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlib.dir/depend.make deleted file mode 100644 index 2e658d7..0000000 --- a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlib.dir/depend.make +++ /dev/null @@ -1,2 +0,0 @@ -# Empty dependencies file for zlib. -# This may be replaced when dependencies are built. diff --git a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlib.dir/flags.make b/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlib.dir/flags.make deleted file mode 100644 index f7c4df5..0000000 --- a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlib.dir/flags.make +++ /dev/null @@ -1,10 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.28 - -# compile C with /home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc -C_DEFINES = -D_LARGEFILE64_SOURCE=1 - -C_INCLUDES = @CMakeFiles/zlib.dir/includes_C.rsp - -C_FLAGS = - diff --git a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlib.dir/gzclose.c.o b/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlib.dir/gzclose.c.o deleted file mode 100644 index f895a9ba7b3f76118dcb4e4f3679d6893b08de23..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 718 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 diff --git a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlib.dir/gzlib.c.o.d b/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlib.dir/gzlib.c.o.d deleted file mode 100644 index 7883ca2..0000000 --- a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlib.dir/gzlib.c.o.d +++ /dev/null @@ -1,48 +0,0 @@ -CMakeFiles/zlib.dir/gzlib.c.o: \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/zlib-1.3.1/gzlib.c \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/zlib-1.3.1/gzguts.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdio.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/wasi/api.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_header_macro.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_ptrdiff_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_size_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_wchar_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_null.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_max_align_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_offsetof.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/alltypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/features.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/zlib-1.3.1/zlib.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/zlib-1.3.1/build-emcmake/zconf.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/limits.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/limits.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/limits.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/types.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/endian.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/select.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/stdarg.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdarg.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdarg.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stdarg_header_macro.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stdarg___gnuc_va_list.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stdarg_va_list.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stdarg_va_arg.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stdarg___va_copy.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stdarg_va_copy.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/unistd.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/posix.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/strings.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/stdlib.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdlib.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/alloca.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/fcntl.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/fcntl.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/errno.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/errno.h diff --git a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlib.dir/gzread.c.o b/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlib.dir/gzread.c.o deleted file mode 100644 index fc6394b0e3fcbfc6cc3c44a869eb1c036fdc8795..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12516 zcmb_jd2F1=b)WCpL)<0zqeM|Fk`muYD`|OCJeG%KiK}C&%ZFr3wq)7Vid;%uQcLb~ zDeIs_`H+t|c5KH;P&7fC=8v`s+yv+!Nm?LHTC_-uG(izGL4g!WgEsl2M$xpW(I7|r zdvCs7N|utiL18U-zxU0&dGqGY?;SH%*~LqiQp)<=ty{NL_?)w{vSO{smpW&!+{AB- z2`=dTZOdP4MV(XDiv7c9(W%bK6)wjnCgx@exom0TQtr}x>8hp&%+D0c zxstOYL9a!4eeaCopifJTqTVA?_Yt zESHRAB238VrUK3zte}`uw&UVIC*U~X8HEC%wwiB!i(kI$SOY6tLAj;0lP2wwL+-2& zP#_^h3Xn?KaeP@Ry8&Nz%JwLbwBtIMRyssM3T1RSZRs@>rZq)fV~^QmRCBOarB`$W z9U>{aC2HXp_lbfKP1*QL+EHCgwMpC4b?I*o>loEhY+QTbR8Jn&7xh}v{t<(uQ#zNB4~sr;SD3L``TIffUUcw0TtuPq#qwP1Hi0 z4(ZM4&`O)BwWtYl6XZ6$b^4~>k~WIjN}9INR!^S5Fad^%RfbW$jr%m{?fm8G9kh+M z(+=-7(P|QnlfKeC-G)KhDr2-$JImie9o1nwsgp@vm{K=&QTMp+frP!(L%l`4lXe=t z_JL>LssNtu2caJXQFDtPz)B8+G?>>ZN+rxn4#XnAy(Sb{v2I?(2V3E0;5S-%PX}dX zf>>g|D`~?$ebDq$36s0=vbx~Lh z8ulngUPjkr?rW)@))w_T@LR{TS1^G9HSmyjB!b8Fcw7&ga>mfH5f6;vU`9O`Un&1M}!f*{G@7(~^)AuKF28qJ?=}NJKo2DC7QF{O z_tGBPTh?Q=o5l|7G${KhP5X*^KkeroX*wLB1Kvkuy$@p9GIWqK89k21hiIG*74>1r zco?H#fsa6cM|i!15iGgsew2=~G{?~4K{`ecX7oe&`7k|14;S?#BI6^~86M|84f+Is zh4rK9uzn0IAIs~LbW)$9<8*=^rBj~3rG6aZJVB4s6B&IPEYHwsI#bk7LYya!IA_uK zEQ=G0_=*kdr;Joj)6?`+%3e0(O&H=iI!6;J`-*wWQr3G@=6xOmP11Rq%;+f$l%pxi z74lzp3k~QRby!6f(xowW81N)Q?Vx-^+ z9fF3#6rykujtaPBk<0K?Lp7|?h!{+S4MxaOiZU7C1Z1jv2hK_O2`Zg@A1YzJ7?(^7 zc&Fb7Ag$MpY#PFA18rblaf<842sOezxwMhBinmeVku++iW^U91r_?kH-_%T-u$-pJ zX46EV$JKxw+ML&#T1oTn7cN_93lM1QJMc`x4#2}}vmI_Iu`K>*2iC^41?~WJ+TPLa zMr3#&YQF)Daj6sftI92CGp4&SzwWAHdZ>r7qL+GW6(fU;2GH@havw~(AK25MfeW(W zf(B@?2rBX` zywn&H+K)oph6C&*X(#no^OT?jZG~na+%~k_#w{yThw1QY?7(D`@JGoqYz9KOu$p#i zV=xhsU_8vQ)4YSpP$#&Uckoj_()BI_V59Hj9)9MU1*#4@qSr(J8LVumhERg7#F zMi%tj1PvGkO}rd5@iJ@>tRydQs|ZC{2T{aL(OG~| zkZO6y;L|ds)oC8Egr;U=-R%CM%MpsP;6Rp%iD$d(C^i@Ha4ZjV3bxbF2{5usOO zA@4&%=!Y2&P%l8KzZ%L9VrGL3NEMj{tc?2NdI+No(-7m+7#qn5S|cceCxbjKut0(Z z25DCwVbE^h07hexp9HPxiji1obAPOggQ28b?0#XpaUEdT5{H$Cl{g$%%U*(&a8T{R zP#ju=%~!#)sBvH}J1~lvEx@65)cd&1xE3=Otjg#ZrXv2Ui2SM^%EGI)V7HbhZ}2Dz zj6#m(>ITthLxtaZBqNRK?+M2ZunS~bMt`g{2p$DiDU)`2uSzQb7B%_PYS7I{rCQ+9 zS~7YQq}WWGXme4w${?*~kOoaaV-4S?Gk3+)98H^1;(8nSY)`)@BUExMJlx``Brzhg ztQH@@8gyHF8ODP+I-@%AeZnWu1f08Q#z^86bvZ{u$6AX9W$*?bd z<5&1L!*Ix`W0;0{IY*$CQ5vDqjNSzicGE7}UDOZAydU5d_^gb)hxX{bRaFA5xG!VX z-U#glR^0$r4H59FD%%0bc3@SuD8TC=n@0u%j?=h4gjr_%SvKgy82bnvrX%ATQL{c2 zp+l>2b5TD;56KRLMmz-2vYwC7Bm8un9;V~7h?_-Qk0MAu!5deaJVuZ4%AYjvPSGib zqsJk@6NKn_R-dMmbUKglS^7RnPtq9%FFZBqvykX1I!jMw^wan`fv9<+sLw&_bJexU zg4KD-()pC#%Uf>}bDqSU#o}5JF%u$YhjMv6P1F9?o5I#}tij6G`@iC|L8}l3lSnb6 z*Fd-$T0=F(J0e89j$+TFictX#E@a$|&2_B37?(9<%Z=YBWP}X@L$KEvlBYOkLC#t$Qh103(7nOzuQ^mTg4F6`Hnta(E5!{o31g#4 z%Pm~jDCn*H8t<@8I>oTNjvo6MO1+Wb?H%HdDKAj|v5hAa$%t zf`nCUytCT5i+RKW*!T)d=8Dbc*GGDp*nrwbFYPRF=BoR#88AO2tGYiz{RkrsM*FCn z!qN|cG?WK65Bp1>ibY;=9YU_qR9XHH5GDFSVg|J=%lPG@4vXwz$PQTX0XOPz&oIov zp&EY^a7hCm+S5^9=~{|X?Kp~Amhs9(Ex8DJ25l6>E-&j^cFz`X1da(!O$#f%9>LxE zap0^4hYW-*a>gJly#i=;BxUfWQ1H%8+`U@G5N1don79dI3&iGO0xfI;vSYbuL7Wum zeU_GmU&g`{ZRNy3`Xe0Vg|4oD9_yc=9lUF|btwf4_@6u6vP110uo-NI38X_D1#)2m zQK0U|G#e|dtw^D~kBV6bz)i9R_P!yXTObzsVoj(W z$>?Sn*B*R=71lNk@mD0H?EjF`G{CLe zV&M+VK%houn}oh3{NrMwP>`zf{E=;Nv9OccsnahOc7dxDN;7vAO2MyMDs@e%6vaa3 z64(7;j}VXs4(UP6F-3!vD(WG088VAe$w=80Wn4)(;LFiuw4#KnN9X+|tt9hE>OJOZ zFYVuM`WPLhW6LOh9ia#P+}=YCOqm)O3U`LvBhdIGcWV4N9cPp{VMc*ZXDJ_p zlqcyiI$1_J>;#?4z>{013RcvoG40b;^E!igx%&sy}HmDkTRou0>mi@)qISo8uKy85<- z!CtiJwnZsZi{8KhzB#>#0q9LUBM!qHTJ&2MK=7kX{U`)_+oHEE zA2{E#Vv#?uvEH&OaQOlJ@x4_Wc1>Z1V;;^s-L)dC4}8%4l14k8Ov$!(l?S zT0=sR##-=&M`cg)Aj7^La-q7%!5P+BX4eT4sx;JISKYU3JRF0t%@YB=OcM zd%;lpKoO^%vgZtCfU{L8@!^yy-3o{ORmo?D)5CDsDNdVd#Cu*=Mxc{-xNt|+hP8&A z`OaAjekOpQd+wy}#kga%m&Raorgs|J+2?C#KjCD7_E)vzXGW|Y(YtF>BNwTWjnpVZ z(?xv-9nbiZxEkpavIFHvStCAVC4c%fuyVhK&lV`sLu-=0xegy9o>TL_+p$i(lVEs%E+oUnz z^+jn6bQQ?}s`$q!E9UF!R~Q-rt3cTg3HC~}R~f{y%K)Pv2Gv*BYfJ^W0%>0dl~o2r zbpWfFoESzFD2u=o$m#%D^FUO3tAe3#07Jjy0;&Du4+h&`QcPl5CJBr*J-d9q5Vk*>NN@mdRy`2sP`_5au3(Y%$-l%Q%40q&=qVp~rf&${r^+ zto_PCtr19K&jf(fkuzE*dMG?1!Bq%49ooR|Qiw=*xVxY0xQ=fZ)i5-Vgx8T{T5955 zv5C7yS1XWtO?XdGD~|IwvBSfAS8IsBg^=gwHOk&n@20IN`HJr2TATz*OMFtBKsYL* z2&5wAMKv;+H-+ywS0dR5b(kh{PVWLqJE&_G=}rR>)S;d{AB_Mx6M*4v9E-dm==TAR zMI3W1VhV8$$a_Q(2|Qh7J)<0VQpyyqGSUuA&Z^7RK?1Cc}UK`fp;@r|oS;z5G@#WQ_949%Cb$khd0mmqBa#GHkNGOXR5Eze^%j z><^H^plcMigA@L01|y^ol)>;pNq{q$iWJd%G8kcYR|X@Lc9uE%8)Ptim@k(-I>o1f zO9FmaZhPP!1bhDKN!u)PnE<8OQQ}2QHKoB;lEI}ci6S9LA0P^oO7kY(CjrsE3cvm6D%lNR9WX29mnRht`9&;o z!>B`|<*FNoOyY>81(zw0ReL{35Ar~$Q|e<8I)(%%Ko85EB-W^uDqT2a^o;8h=^Fhg z4)jr}^lr=Elaqe`@Y~ZTF_TlMOr9FQZ-xUN9!i$@iW(p6!UvzBv$OEQz6;JHn+foF zeq78jq0gD-IM-*mId9}(hiuXsDCQg=@*58$Lgq{l)Gc{lNN^}OYZ4rGG13G_{49ec zI4&IZEY0NMsPi<(`(K*CRU^+SykidZqsVd=IIb@unVDaPUtXXR2lLW)k-u7SpkJoN zStL0DTJo(V4#$jl37qObLznY#$^p6}Tbw%>r+iIc$MRfdpMj>HUWO8H&@$b~;2i&^ zz8<0LdIkD{GhKm4EgA>RMP*+_aIxsvz=;ihK5u383+xt=#lRuoMu!*KA-`xDOM~AH zh`X(9vV?w_JuciW{O~K1%LqHT;DC7GP8p|D!v*)U3l6{o=Q+7~t>Q>ug(Ll$W&JL8LZF9%~dmT~ivwVKE;S8;T?$eAUT6g>kuj zQ?1!ZC-I`46)#!|CgO-C#E0g&N|?YNxTPo_i~Pv3`YQ-;{rWKC*HlJtR%S1`KE&ax z6jB-Wt7`Ym{{59vnLTRCNWnPws_==LFrwwIFd~X%47rA6V|k7qycc;|5~KR(mq{*{ zuI3F<=m42nf^}f1eyk-IEvAsAT{l@8ADv&xMfD=0IU7p!!zj zA+G4r-4W_WWZ_Wns$1WQMeGBqFAsmv?=SSuSS0cuXJKJrcBHkGD=y_0%QQ8gTcpB# znWksTG*h5#0e{O%rCTHVm$sqBnQOTTZuJ$gnqMl@{4|y3=PywiSBI7sFVf`2Y$-d5 zJF<&t^gR{XuvExhS;&Ect4xI{Za+OUm&42VRAh(TrY&UWNG_|6LISxdOMHDbdx<9J zOQod+9`2J?q|P7C+{^{-vsR>Wa{kgnDYv)??o-)v*6_i*uUe7d&hGy1ol3onbW??J zt#@{&aKR3L1*x`5C^s6saElWrq#V?wyv>%3X)yE}*Y+8_~HsHbGdqNjy=O6?)dSLLYN2^?D$nei06;*J?uQy_#_7`C2RV8GQb% z)>41%1w)^zw?d!C=P&Cm^?PgU)ECx;)b|_0p+9J}LSMk=>y4KBRD6^A_QuWXM;lw! zPc}NCziqNY-^J(0O_utH=JoDpTS%!dwK(eUTD1Geo3<$R)lH83!sfL~y|vkKf3bNh zWNURoU(;6TJNUe-E%);YB%xnUIO^vKH}n_VtkAdd`PXfh`sbt@`bHZDz~{$pmU^i@ z68c0tgu&IcIO>e-Qc_3@E<_fJOf=4&I4dUJHWdV64EA)y?s({$UnqApPU7l+*G$1|v#$BexzgNx;X+5vrKP#@%;oIdQm!L*X{nq& zKbPyeFgJfbJGa=et}tIHm$C~Bz@@I~g);xY1s$45Ab-wq_?xtD)xI~y}Z1zl*8z0RU*&9OB3_+i<7p~ozA7x zDk$ycQ|amXiG2F#!fd{GOogPa~&GH2Ksrm~T8h3*I@MEae^sK%YliJ~Fe@8FVfqFhep3CH7#o9u4>%zyNkkW+HC<>u6yZRUu67ilh;zyHf*#9V%r?CJ2?q}H}&uXp;)T(Zz zR!!9jXPj$5t;XNX7}sLc>Zn$*&MOS~0S zw-(miMr{cv&IvnW8*QURzccR}dbJLZS1CQncqWQ)HBCB zurWLO9qhI&x0iZFv_5$X^G@ocopZbkLw5B$t~9#bFBgvosGkOo^KM8#NV{n;%R>-y z$lpqj_h8Z>l9D5Q5JV1Qr3Yx3k{^^QW#+ql zNQTDvFddc!jnD`k%5aJfQ>x!tl0KJ5X_Sx9k+=A$9ea$9Z3~3?I31^>*Z2e-qZ0!G zv(8$+$xgYMZlaqrd=j#rH10s?oRU6|Z=qZ0)Eu8i-)Y}Rczg!pohh2jS(wW?I!oug z7mP{V3X`~vZl&8&d>;F9JDsQ7vwR2LVGZI=kh)WB&~A#ychOztDpGVNchlXnxO>3k zo+6Ji@EE5t8uxijfX4-zpbIIU1dl12q^T^YDQ$U7gU7V+aLmTl@{HY#i*%7@U?zcK z%%8=e*?vb!m*R|F?;K@l?l{kb=p~w`OIcokAPc@A9xr0jA|@HSip{3SI7?Yt@>QTX zM>$@m<+nI*xvtQPsNgbPru;R&msaRrUj;F~4-30O_t6!9VOJs8{dAS?Pw_R#@Bm$- z2eP~h8CLDm)*!%|EG^)Ra9vx;Kc@+Q*YzAfh!%Pfp53@~j~~+Xkj5692~mDnx*tY& z!O1lGH_}Eacau;gea77Xg#Lnxs1xZhm6HU?2srN7vf6XKAA8QhZ|Eih@?Iyh=^JY z-19ovXd zvZ>!m*r(03IpHLD3uJ1dE!31^f|6L`N0ysGuem5u3$@5mk5k-xSj4gfS|R6FU(Pma zrLELfloLF}hegF`A*bSPV6z>LZF|2%wxt~{9dKhE{w^u*L`xTSQkO5I;%>{Shk6pu z5jZxpWaH6Ja9u98)rvw zcIGKXDH?(4+9xbcch@nqjXf9_c0lvjNdyZC&A1rD?C;X{EU=3KzEdT)+a5bK)u|Q`S5!c-o@VMrn0wlvZI?Z($uz~7m zLl!7(BS4yE7^9eMGtP}1nzwk9ooE2SIo^y(TWB+F$#RpCw8=;+q;Xi@#F1fcmIG;o zH)o|$&I&h2sF_{*I;Dz&m&?7F(Ou(T52IzYW2msG9Ab?%s$NO{`byhXn#9kO{yBO)8Lq)wu#gqqb)qgJL~`Le2Qkh(e3T*Wv3w0s8|A?I@y9 zYlfnFWCfzKI;!*SE(%lJAWa*Erw1sykz&WW9$RcsXqGn_bKB(Giw8v7$eVpmQP|`b zncYN9yg5RfVT>-3U>>sqSfwDbW_gOTu}Z~pd8&m?HdCBhy+@66+=_Wy#SNjak=vk{ z1hrA(2nC2Je4(~BDvy(c-FTo1E&zpvB7()+rP!Dw%{o)Rg2ORAXjAS_U zT9IIlBK}Ue>Rv&leHM|LA^mp901XKJ-9V%L8JOe%4Z@&(>lp&wA)#wep7G!b=M?XS z9{2j9Mq#Y`go`m&lZ5!T+98n%yrRIW!`|Z}eS(|MV4yPX1{ zDpT&H+v(0ZfKx2M|kfE)|l~ zG)2>Mz@jsJAwn1UB6jIw(fDR*R_rWer_9luOqrLbT0qf^fKlK07BFw2Xnc#mstNr`WKSFK3* z)BPgSH9*p<86ea9=>fP=u`KD2@+z&$R;_{aTEQn=*FdClL;y|Apa(UODS&Fx%NTGf zHUwB|Mm(Yke}YeaZv$ldC}<=EnPNnOKd%XYk70yc;QhF!$1%p^CoqPdKv&FCd(zB_ z^HZ8|`;_*cFo*7G8TK@W!2t;FdqyW$`B_cRXnIzs_&JT8d|uOYnx5BLenDeRFX-ZS zz9^$#(#a1DtuJVLQPWGBzMzYH__EM{8T8lB%ojC%(TMnp5h=#MqX~bn0I+{aMt`Xw zbd0~O>B|DxMYcG9MdN6ERnu2AeHF63Dzbe|)2o`k2H9Q{*vT8o@TA8zZG=WQs^;PB|LNB`)L1 zIs&z2-Q?RJ- zm;{UZP&5U-YOB}m4FD7_qzsl+<}VU9D-|hMQaJ;T!W#LP^x9%0NDoQZ$fad zJb4zQW_UmCr=cOGtRM&IfCw@SN=ZU7DuXzGK;pb>NdTn^CO&*n1DYPDk!uL*hbZOa z;#wX}{*ShCJ&THzOGj_mx>`hemyQjoN=xf_vJwRBmj?f@(Gsk~d;+N*i#WNapXW$DlS`E`2ov>2xdxkIvhpm~na!w!#>{Aw6-~h(N`fANV&vUUY@M$siMn_O6YC1I zHqj>ky+I>9n^AY_BkJ}!u;fNlaERvpNMSvm&638YXirkIx8k&7W402?TmBma(YTQ_ zK?(7=66Ln}9(Oxfn*f*M4y>;esZeK@yFjn2NY7;HQ&4k>r00UE{92}Qi7xkIbZ>#V zNs{7FI5I1C?ncn%&hNh2uGV>d=ow;C0%ilMb|h-OBy zRE4KFavfZd=g<)p>5tP153fD1D=E@Tm8wyC8~J9V_nZBlX_TV9mAi(c(k&-H zD6t z4Mq4Fn)R#UQ6xVZp)+Sk&eOa|dWq)f(n(%`z>Bm%i& zH72#eTFtR(M1BK#pR)-8=5`?0f#-WcT3>(|NM~Nuaf4uy|5Qfq*JbM-()$DtDUJ;k z@oGstq)~oUN|*vPLUNJXCEhDj*n8O+b}2@d`obzMLsb>hQ6z)ZAR4#K%PJ%P90r7Eo){4lM>AIVTYdq`HchP57&SK+8lNG?!E z6$=(-3aLjBg|&^sS%Iohay@j6u;&7+x)!S*!~1M)eR5XHR=!_v0@Wr2314Q#2+4wY z8AMD%0xAk&S-~+QAp3|{F#@u50IQ1s-HKAyR^R`&!O%_dD)mXlE2*S*i1P_7Cst>%{$WQ|0xdp)kzbFt=Em(jHE-tudl%d7ABFQmB*{HuCkt z<_||{YV{!t_=g!DaBH{5RSWiOR<&8Zt6+#4lwLRvAj3SeW2G@qz9NKdiP(J z+bqe@Gl92}2QYfTA03t|r5ODn8qLckGjb?dVoT?~C*BJKHTClp?+4oh$WIPr5rT({ zOi?x$rU$WNWG02TzG3^iycW?IbWwejpiCp)lj40Ej3=x`wqkhVMUuQj_v5m;M3Ju? zr6c{$32f0Zkj85y;7SZ{my4gpVNn(K4Ct^L^W=q(coFmR%Y211F8Q{6hvU;LIxMjb zGi;;1Aj=lps7LX=-nWegD9Pm5sSo)r(1Yjl>7nW_Y9cU4&0T7DhA1adL4h4N`}%GH zskqcoQrrrC8yuPCHjrv7k}|eD1soZmZ9>XYGM{}kt{2`7dE>iKIKlkRf+SsX+>O(c z4)6txB`4+zjKED(miPS1tG2gKkDFD4JcyBrm66E1$OKgoP9f5oOJ`To%lY&a;ZwMo{6(5tOfS>IVxFdF^EA7Fzr0e( z)(HC}KQdr~mS?Y~$7IyID$ zP?0wC;oic;JekkthRFZ;jpReRiAyxOn9Hp!f$6LGWI%=R72q7$I^kF3+rVb!R)l7* zn$PkaPiZIEb)pLsm1lC*wX3Rp%p8)HaK&2X(d0Y+&X)=tUSFwsMireHk8g>z3hKk=sEaoaeY8vKvgKu zU2oXwLMvX0^6-C1d12+1Dz9w4e^-fWQ|?9xmxH)@ipPng!y97 zizv4Ntj#BaWA`e&FZ9Yw{zI%RSkaYRoSMi_boslYy$?4)2Onwb{b*C)N1Jwjv}u>p z>JLOmWw|uIiR?Ob^6-c|6AI~2qjuldj#7_00rj@yhJNJe&icezq|^QD+22K6`p#wvf6#E5)Hp!8E{|sYLxmj zuU7rct5y$IRl6@%q37#WfzZ#Zb?BuU9r|{SR==(Zsb6mhh5mb^4m}>zp;u#C{VG~LSIvRY+i@NG zbNv1xuH9d3Emi8_wt#x4%?&-C(4p7xdpn`k+uMWcuRGn)A9d-_JNW&5msXGUMBShD zl!Ho7Kz)0M8+xTzhyD=1AM|SVot-7>&0RtD7Xy{*`$M77yL)x$Z}I!ry;{AtuOjr$ zJ{|fy{Qhm9R&Ndm)h~xbq2EpF(D(5BtE5&xJRDR%7zwFYQ(Hp+p3gnUv>hx&%{MnM~)FbriRg z>E-40ROf{&8sDByEX#u zv~yr!SGs>{uxD^^XaB&|^k83qUwX$x-{jP;!CgI*lYLXY(^Ki5UE9=4;-V_^6SX-!O@fb~|Smre<^C*132&ots}=m}xJ& zv@)Ncy*x3$l5VfOw345=FrV(6nP0pxF~8hiv#_|3&rK{X!GCm4FXiQv;r7a0dODp; YFHEL8^H-MA%kAOi*_nmT^nLmN1uM9?CIA2c diff --git a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlib.dir/gzwrite.c.o.d b/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlib.dir/gzwrite.c.o.d deleted file mode 100644 index 46bec42..0000000 --- a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlib.dir/gzwrite.c.o.d +++ /dev/null @@ -1,48 +0,0 @@ -CMakeFiles/zlib.dir/gzwrite.c.o: \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/zlib-1.3.1/gzwrite.c \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/zlib-1.3.1/gzguts.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdio.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/wasi/api.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_header_macro.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_ptrdiff_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_size_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_wchar_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_null.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_max_align_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_offsetof.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/alltypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/features.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/zlib-1.3.1/zlib.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/zlib-1.3.1/build-emcmake/zconf.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/limits.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/limits.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/limits.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/types.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/endian.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/select.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/stdarg.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdarg.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdarg.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stdarg_header_macro.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stdarg___gnuc_va_list.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stdarg_va_list.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stdarg_va_arg.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stdarg___va_copy.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stdarg_va_copy.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/unistd.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/posix.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/strings.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/stdlib.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdlib.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/alloca.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/fcntl.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/fcntl.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/errno.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/errno.h diff --git a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlib.dir/infback.c.o b/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlib.dir/infback.c.o deleted file mode 100644 index 2925856d3368513b5ea072378f76a9b2844410b1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20892 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 HJiYK|bk5d& diff --git a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlib.dir/inflate.c.o.d b/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlib.dir/inflate.c.o.d deleted file mode 100644 index f19b535..0000000 --- a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlib.dir/inflate.c.o.d +++ /dev/null @@ -1,47 +0,0 @@ -CMakeFiles/zlib.dir/inflate.c.o: \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/zlib-1.3.1/inflate.c \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/zlib-1.3.1/zutil.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/zlib-1.3.1/zlib.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/zlib-1.3.1/build-emcmake/zconf.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_header_macro.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_ptrdiff_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_size_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_wchar_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_null.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_max_align_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_offsetof.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/limits.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/limits.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/features.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/alltypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/limits.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/types.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/endian.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/select.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/stdarg.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdarg.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdarg.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stdarg_header_macro.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stdarg___gnuc_va_list.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stdarg_va_list.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stdarg_va_arg.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stdarg___va_copy.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stdarg_va_copy.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/unistd.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/wasi/api.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/posix.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/strings.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/stdlib.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdlib.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/alloca.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/zlib-1.3.1/inftrees.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/zlib-1.3.1/inflate.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/zlib-1.3.1/inffast.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/zlib-1.3.1/inffixed.h diff --git a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlib.dir/inftrees.c.o b/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlib.dir/inftrees.c.o deleted file mode 100644 index bb093e1d216721b866f5e0171e1c70d6d612214d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6596 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 X&dUm?#kv)Qi&Lu>=XT6X<1G9af0ziZ diff --git a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlib.dir/inftrees.c.o.d b/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlib.dir/inftrees.c.o.d deleted file mode 100644 index ee3b86f..0000000 --- a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlib.dir/inftrees.c.o.d +++ /dev/null @@ -1,44 +0,0 @@ -CMakeFiles/zlib.dir/inftrees.c.o: \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/zlib-1.3.1/inftrees.c \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/zlib-1.3.1/zutil.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/zlib-1.3.1/zlib.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/zlib-1.3.1/build-emcmake/zconf.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_header_macro.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_ptrdiff_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_size_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_wchar_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_null.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_max_align_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_offsetof.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/limits.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/limits.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/features.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/alltypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/limits.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/types.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/endian.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/select.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/stdarg.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdarg.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdarg.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stdarg_header_macro.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stdarg___gnuc_va_list.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stdarg_va_list.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stdarg_va_arg.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stdarg___va_copy.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stdarg_va_copy.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/unistd.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/wasi/api.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/posix.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/strings.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/stdlib.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdlib.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/alloca.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/zlib-1.3.1/inftrees.h diff --git a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlib.dir/link.txt b/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlib.dir/link.txt deleted file mode 100644 index 44e9e8b..0000000 --- a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlib.dir/link.txt +++ /dev/null @@ -1,2 +0,0 @@ -"/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emar" qc libz.a CMakeFiles/zlib.dir/adler32.c.o CMakeFiles/zlib.dir/compress.c.o CMakeFiles/zlib.dir/crc32.c.o CMakeFiles/zlib.dir/deflate.c.o CMakeFiles/zlib.dir/gzclose.c.o CMakeFiles/zlib.dir/gzlib.c.o CMakeFiles/zlib.dir/gzread.c.o CMakeFiles/zlib.dir/gzwrite.c.o CMakeFiles/zlib.dir/inflate.c.o CMakeFiles/zlib.dir/infback.c.o CMakeFiles/zlib.dir/inftrees.c.o CMakeFiles/zlib.dir/inffast.c.o CMakeFiles/zlib.dir/trees.c.o CMakeFiles/zlib.dir/uncompr.c.o CMakeFiles/zlib.dir/zutil.c.o -"/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emranlib" libz.a diff --git a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlib.dir/progress.make b/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlib.dir/progress.make deleted file mode 100644 index a1fd4a5..0000000 --- a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlib.dir/progress.make +++ /dev/null @@ -1,17 +0,0 @@ -CMAKE_PROGRESS_1 = 9 -CMAKE_PROGRESS_2 = 10 -CMAKE_PROGRESS_3 = 11 -CMAKE_PROGRESS_4 = 12 -CMAKE_PROGRESS_5 = 13 -CMAKE_PROGRESS_6 = 14 -CMAKE_PROGRESS_7 = 15 -CMAKE_PROGRESS_8 = 16 -CMAKE_PROGRESS_9 = 17 -CMAKE_PROGRESS_10 = 18 -CMAKE_PROGRESS_11 = 19 -CMAKE_PROGRESS_12 = 20 -CMAKE_PROGRESS_13 = 21 -CMAKE_PROGRESS_14 = 22 -CMAKE_PROGRESS_15 = 23 -CMAKE_PROGRESS_16 = 24 - diff --git a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlib.dir/trees.c.o b/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlib.dir/trees.c.o deleted file mode 100644 index 25e67c43e3c58b01d3415274762b42738cad9a22..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 39596 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 OxNgPcSZllUYWzP4q}WUV diff --git a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlib.dir/trees.c.o.d b/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlib.dir/trees.c.o.d deleted file mode 100644 index 89aab5b..0000000 --- a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlib.dir/trees.c.o.d +++ /dev/null @@ -1,45 +0,0 @@ -CMakeFiles/zlib.dir/trees.c.o: \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/zlib-1.3.1/trees.c \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/zlib-1.3.1/deflate.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/zlib-1.3.1/zutil.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/zlib-1.3.1/zlib.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/zlib-1.3.1/build-emcmake/zconf.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_header_macro.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_ptrdiff_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_size_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_wchar_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_null.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_max_align_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_offsetof.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/limits.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/limits.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/features.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/alltypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/limits.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/types.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/endian.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/select.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/stdarg.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdarg.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdarg.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stdarg_header_macro.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stdarg___gnuc_va_list.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stdarg_va_list.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stdarg_va_arg.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stdarg___va_copy.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stdarg_va_copy.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/unistd.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/wasi/api.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/posix.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/strings.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/stdlib.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdlib.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/alloca.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/zlib-1.3.1/trees.h diff --git a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlib.dir/uncompr.c.o b/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlib.dir/uncompr.c.o deleted file mode 100644 index 77bbe1f7451c3d3996985262192bf9a5490a4c3b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1839 zcmZ`)TXWM^5I#CqY{hc0AOXUC7XlcJ9Vbqdm}^9cxg^{J1PC~?EIYPk*_P!%=yZ~{ zPo4Iu)3;7%`X}1y^r6$Y_D?X=PX9z7yGQasU+NkA?D=;0+p~N2teM$sNsKY+yWQPg zCU3|)^pSQpBH_Y=jYJ6lOBf7AYa^>wZ+nrQ z08Z51s$=^0ZMW{1Ld)0yVqEye2fHP=!Xl9`L>SIk;xi#g@n63b``;Al&CV%8b{WdX zpA3gUhM^`#AvzJD5Cx|5HCiN{uhPPG{(zQ<&R2{bjFA}Ac>gw3bzM1M%yu+kCFF&68GzToWuhp9?VX%fs0O}kl z(n%6e>U<)yAXF20it;}drZ3|J74I}m!0BZ?LusCcGjO(xsenF3^rSuq=kWZ1SjIG@ z@w^J>@dD9aAli^LBNiF6kcCVWCrLL+)d~(XjyZ~$3nMBxMU>Mp1=Guzr-(C)&kX3gc`?-Vo~rCT!M>DyiB^wbk{1?^9spV8h911 z;x)>D0j|M<7PK20q%uBK@j6_mfWaXZTnuS%z#`me;F8#_U=fO#JiN!J-7?^x_Cdx>Hgr7Qb_$O8u1}Kga=_`2_S`! zs63AbRvJDwKEYLZ468+aLR?Sb2|VrMGk7LyBcXT#YofFw)918#-oO{|0$;*Q?Q`*d z4hvEZ*U9!3ti!7!z9z8*uc6e%jo?Tdf{LLDCYA?f*3dFIR=|Qv5p8m)f(_L!)&hr` zaQGBAVH4{g92#`cCN!W~M28$&;6SU3Zs6b!(vh((jx&KBXhWxgUFe2X9(dUMK;?sv zJr#P`hd$O-sN)uFVOfPTzM&M~P-h3Xw2p7ZaM&hnyMgcE-C#JpO{(vt_{RaF{m=ZM z`5@*8O$0GN=&_6W5nN|Nj1bXJ!L*RY?4XGe0|ka5t_4F2RYOC;kZ91j7#W0CldAf) zsJlcZRijhce0GYl_X3I06m8bs8drV_woHzweb;KYI-cF@O>>P&Jepm}_I!`ADAO3z zB&KmD%kht9L*E4Cd$L};V)|xwU@x(s1s?Zor)^~y@84LG)mTi59h2m*IE~lud4&Bf z%k1~)Q0x~)iv2;~_lm@R7-q2_hb8up@E-0EY2UKFo|GWbqEp$GOnF-xvK-T`txZp5 zbJ<+2?n7$R_dC6dlO%8U%UQ}{(s8!JpA5M+Y|Dq4xw%G!E3N?I-Von|Kd(@7`)v&pnOe)@oA zI!>nUR_Y!_%e1#_&uP20biCDf{Q8#Z^zC%A)%VS^V`pkkyKFkW^r+i*eb4N4=pHiF fjxYYY(n-&*+MexNcE;cC*uAvUtJmC&{nq~%V-SIP diff --git a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlib.dir/uncompr.c.o.d b/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlib.dir/uncompr.c.o.d deleted file mode 100644 index cbd90b6..0000000 --- a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlib.dir/uncompr.c.o.d +++ /dev/null @@ -1,36 +0,0 @@ -CMakeFiles/zlib.dir/uncompr.c.o: \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/zlib-1.3.1/uncompr.c \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/zlib-1.3.1/zlib.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/zlib-1.3.1/build-emcmake/zconf.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_header_macro.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_ptrdiff_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_size_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_wchar_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_null.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_max_align_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_offsetof.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/limits.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/limits.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/features.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/alltypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/limits.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/types.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/endian.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/select.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/stdarg.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdarg.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdarg.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stdarg_header_macro.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stdarg___gnuc_va_list.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stdarg_va_list.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stdarg_va_arg.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stdarg___va_copy.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stdarg_va_copy.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/unistd.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/wasi/api.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/posix.h diff --git a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlib.dir/zutil.c.o b/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlib.dir/zutil.c.o deleted file mode 100644 index 951ddda90fc773a749c4a623b7ca593c61b19947..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1781 zcmZWqy^rHm5TEz_nY?7}{a)#=cos+(6eYL2`Pd81Vcji42ni(6i7x9nFF7ZUowJ=4 zn&{ZLlOxxzwZuPD`|4$u_YRE^}pIspwFb4$YP=ooielSUGg$mX17zV?58< zz`_{3uyhpdIk7f)k#7tv13kvlV{+4AUl4L|C5d1R$_b}Klp}FSnNlWan#p;|Qc;=4 zRjxgPdY zExu(Lj2qUrJzrF72YtJIo9`yp9^c`618bk}mnc{V{J>xy$z4g7P_m3#@}iZWuiz~9MTXI z%9j*5%Oq!+)lU~nrJrN{4>umh# zFTjc`5^{sC;)3*2xtb`r0HY0gCyqatL_2`d49Otc$lH_>jP)zR*vy^eNx;hAk16JrWp#R*?vlv*w2c)Q#r+(VKvuM=n~h@1Qq`%u7)Fy2s%CLf_jQgV0_=Kq zj6;6Cs!6N9x(vl@Uqe~-HC5QT_MK>}%sV>lDnBnyccU7G>3LKyg%I<<0G4PCI$nor z>rj0iYOF)eb?9Ury0ZdZl~#uTOKkyx@6s1mJ`(uitKNI{{;6D$RRY?+q7L{su7^kPw8z<>M aP}ztCj;#n>QAsYwA};H(*AFVj<2(Va8^ diff --git a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlib.dir/zutil.c.o.d b/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlib.dir/zutil.c.o.d deleted file mode 100644 index a2222c7..0000000 --- a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlib.dir/zutil.c.o.d +++ /dev/null @@ -1,49 +0,0 @@ -CMakeFiles/zlib.dir/zutil.c.o: \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/zlib-1.3.1/zutil.c \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/zlib-1.3.1/zutil.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/zlib-1.3.1/zlib.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/zlib-1.3.1/build-emcmake/zconf.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_header_macro.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_ptrdiff_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_size_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_wchar_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_null.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_max_align_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_offsetof.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/limits.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/limits.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/features.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/alltypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/limits.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/types.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/endian.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/select.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/stdarg.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdarg.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdarg.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stdarg_header_macro.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stdarg___gnuc_va_list.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stdarg_va_list.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stdarg_va_arg.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stdarg___va_copy.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stdarg_va_copy.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/unistd.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/wasi/api.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/posix.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/strings.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/stdlib.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdlib.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/alloca.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/zlib-1.3.1/gzguts.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdio.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/fcntl.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/fcntl.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/errno.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/errno.h diff --git a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlibstatic.dir/DependInfo.cmake b/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlibstatic.dir/DependInfo.cmake deleted file mode 100644 index 3516228..0000000 --- a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlibstatic.dir/DependInfo.cmake +++ /dev/null @@ -1,37 +0,0 @@ - -# Consider dependencies only in project. -set(CMAKE_DEPENDS_IN_PROJECT_ONLY OFF) - -# The set of languages for which implicit dependencies are needed: -set(CMAKE_DEPENDS_LANGUAGES - ) - -# The set of dependency files which are needed: -set(CMAKE_DEPENDS_DEPENDENCY_FILES - "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/adler32.c" "CMakeFiles/zlibstatic.dir/adler32.c.o" "gcc" "CMakeFiles/zlibstatic.dir/adler32.c.o.d" - "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/compress.c" "CMakeFiles/zlibstatic.dir/compress.c.o" "gcc" "CMakeFiles/zlibstatic.dir/compress.c.o.d" - "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/crc32.c" "CMakeFiles/zlibstatic.dir/crc32.c.o" "gcc" "CMakeFiles/zlibstatic.dir/crc32.c.o.d" - "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/deflate.c" "CMakeFiles/zlibstatic.dir/deflate.c.o" "gcc" "CMakeFiles/zlibstatic.dir/deflate.c.o.d" - "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/gzclose.c" "CMakeFiles/zlibstatic.dir/gzclose.c.o" "gcc" "CMakeFiles/zlibstatic.dir/gzclose.c.o.d" - "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/gzlib.c" "CMakeFiles/zlibstatic.dir/gzlib.c.o" "gcc" "CMakeFiles/zlibstatic.dir/gzlib.c.o.d" - "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/gzread.c" "CMakeFiles/zlibstatic.dir/gzread.c.o" "gcc" "CMakeFiles/zlibstatic.dir/gzread.c.o.d" - "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/gzwrite.c" "CMakeFiles/zlibstatic.dir/gzwrite.c.o" "gcc" "CMakeFiles/zlibstatic.dir/gzwrite.c.o.d" - "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/infback.c" "CMakeFiles/zlibstatic.dir/infback.c.o" "gcc" "CMakeFiles/zlibstatic.dir/infback.c.o.d" - "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/inffast.c" "CMakeFiles/zlibstatic.dir/inffast.c.o" "gcc" "CMakeFiles/zlibstatic.dir/inffast.c.o.d" - "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/inflate.c" "CMakeFiles/zlibstatic.dir/inflate.c.o" "gcc" "CMakeFiles/zlibstatic.dir/inflate.c.o.d" - "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/inftrees.c" "CMakeFiles/zlibstatic.dir/inftrees.c.o" "gcc" "CMakeFiles/zlibstatic.dir/inftrees.c.o.d" - "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/trees.c" "CMakeFiles/zlibstatic.dir/trees.c.o" "gcc" "CMakeFiles/zlibstatic.dir/trees.c.o.d" - "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/uncompr.c" "CMakeFiles/zlibstatic.dir/uncompr.c.o" "gcc" "CMakeFiles/zlibstatic.dir/uncompr.c.o.d" - "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/zutil.c" "CMakeFiles/zlibstatic.dir/zutil.c.o" "gcc" "CMakeFiles/zlibstatic.dir/zutil.c.o.d" - ) - -# Targets to which this target links which contain Fortran sources. -set(CMAKE_Fortran_TARGET_LINKED_INFO_FILES - ) - -# Targets to which this target links which contain Fortran sources. -set(CMAKE_Fortran_TARGET_FORWARD_LINKED_INFO_FILES - ) - -# Fortran module output directory. -set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlibstatic.dir/adler32.c.o b/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlibstatic.dir/adler32.c.o deleted file mode 100644 index 14ac6030cf380bb6f0822062a69defa91c784963..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5938 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 CMakeFiles/zlibstatic.dir/adler32.c.i - -CMakeFiles/zlibstatic.dir/adler32.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/zlibstatic.dir/adler32.c.s" - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/adler32.c" -o CMakeFiles/zlibstatic.dir/adler32.c.s - -CMakeFiles/zlibstatic.dir/compress.c.o: CMakeFiles/zlibstatic.dir/flags.make -CMakeFiles/zlibstatic.dir/compress.c.o: CMakeFiles/zlibstatic.dir/includes_C.rsp -CMakeFiles/zlibstatic.dir/compress.c.o: /home/romazan/Рабочий\ стол/cproject/thirdparty/zlib-1.3.1/compress.c -CMakeFiles/zlibstatic.dir/compress.c.o: CMakeFiles/zlibstatic.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_2) "Building C object CMakeFiles/zlibstatic.dir/compress.c.o" - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT CMakeFiles/zlibstatic.dir/compress.c.o -MF CMakeFiles/zlibstatic.dir/compress.c.o.d -o CMakeFiles/zlibstatic.dir/compress.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/compress.c" - -CMakeFiles/zlibstatic.dir/compress.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/zlibstatic.dir/compress.c.i" - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/compress.c" > CMakeFiles/zlibstatic.dir/compress.c.i - -CMakeFiles/zlibstatic.dir/compress.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/zlibstatic.dir/compress.c.s" - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/compress.c" -o CMakeFiles/zlibstatic.dir/compress.c.s - -CMakeFiles/zlibstatic.dir/crc32.c.o: CMakeFiles/zlibstatic.dir/flags.make -CMakeFiles/zlibstatic.dir/crc32.c.o: CMakeFiles/zlibstatic.dir/includes_C.rsp -CMakeFiles/zlibstatic.dir/crc32.c.o: /home/romazan/Рабочий\ стол/cproject/thirdparty/zlib-1.3.1/crc32.c -CMakeFiles/zlibstatic.dir/crc32.c.o: CMakeFiles/zlibstatic.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_3) "Building C object CMakeFiles/zlibstatic.dir/crc32.c.o" - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT CMakeFiles/zlibstatic.dir/crc32.c.o -MF CMakeFiles/zlibstatic.dir/crc32.c.o.d -o CMakeFiles/zlibstatic.dir/crc32.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/crc32.c" - -CMakeFiles/zlibstatic.dir/crc32.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/zlibstatic.dir/crc32.c.i" - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/crc32.c" > CMakeFiles/zlibstatic.dir/crc32.c.i - -CMakeFiles/zlibstatic.dir/crc32.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/zlibstatic.dir/crc32.c.s" - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/crc32.c" -o CMakeFiles/zlibstatic.dir/crc32.c.s - -CMakeFiles/zlibstatic.dir/deflate.c.o: CMakeFiles/zlibstatic.dir/flags.make -CMakeFiles/zlibstatic.dir/deflate.c.o: CMakeFiles/zlibstatic.dir/includes_C.rsp -CMakeFiles/zlibstatic.dir/deflate.c.o: /home/romazan/Рабочий\ стол/cproject/thirdparty/zlib-1.3.1/deflate.c -CMakeFiles/zlibstatic.dir/deflate.c.o: CMakeFiles/zlibstatic.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_4) "Building C object CMakeFiles/zlibstatic.dir/deflate.c.o" - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT CMakeFiles/zlibstatic.dir/deflate.c.o -MF CMakeFiles/zlibstatic.dir/deflate.c.o.d -o CMakeFiles/zlibstatic.dir/deflate.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/deflate.c" - -CMakeFiles/zlibstatic.dir/deflate.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/zlibstatic.dir/deflate.c.i" - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/deflate.c" > CMakeFiles/zlibstatic.dir/deflate.c.i - -CMakeFiles/zlibstatic.dir/deflate.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/zlibstatic.dir/deflate.c.s" - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/deflate.c" -o CMakeFiles/zlibstatic.dir/deflate.c.s - -CMakeFiles/zlibstatic.dir/gzclose.c.o: CMakeFiles/zlibstatic.dir/flags.make -CMakeFiles/zlibstatic.dir/gzclose.c.o: CMakeFiles/zlibstatic.dir/includes_C.rsp -CMakeFiles/zlibstatic.dir/gzclose.c.o: /home/romazan/Рабочий\ стол/cproject/thirdparty/zlib-1.3.1/gzclose.c -CMakeFiles/zlibstatic.dir/gzclose.c.o: CMakeFiles/zlibstatic.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_5) "Building C object CMakeFiles/zlibstatic.dir/gzclose.c.o" - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT CMakeFiles/zlibstatic.dir/gzclose.c.o -MF CMakeFiles/zlibstatic.dir/gzclose.c.o.d -o CMakeFiles/zlibstatic.dir/gzclose.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/gzclose.c" - -CMakeFiles/zlibstatic.dir/gzclose.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/zlibstatic.dir/gzclose.c.i" - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/gzclose.c" > CMakeFiles/zlibstatic.dir/gzclose.c.i - -CMakeFiles/zlibstatic.dir/gzclose.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/zlibstatic.dir/gzclose.c.s" - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/gzclose.c" -o CMakeFiles/zlibstatic.dir/gzclose.c.s - -CMakeFiles/zlibstatic.dir/gzlib.c.o: CMakeFiles/zlibstatic.dir/flags.make -CMakeFiles/zlibstatic.dir/gzlib.c.o: CMakeFiles/zlibstatic.dir/includes_C.rsp -CMakeFiles/zlibstatic.dir/gzlib.c.o: /home/romazan/Рабочий\ стол/cproject/thirdparty/zlib-1.3.1/gzlib.c -CMakeFiles/zlibstatic.dir/gzlib.c.o: CMakeFiles/zlibstatic.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_6) "Building C object CMakeFiles/zlibstatic.dir/gzlib.c.o" - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT CMakeFiles/zlibstatic.dir/gzlib.c.o -MF CMakeFiles/zlibstatic.dir/gzlib.c.o.d -o CMakeFiles/zlibstatic.dir/gzlib.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/gzlib.c" - -CMakeFiles/zlibstatic.dir/gzlib.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/zlibstatic.dir/gzlib.c.i" - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/gzlib.c" > CMakeFiles/zlibstatic.dir/gzlib.c.i - -CMakeFiles/zlibstatic.dir/gzlib.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/zlibstatic.dir/gzlib.c.s" - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/gzlib.c" -o CMakeFiles/zlibstatic.dir/gzlib.c.s - -CMakeFiles/zlibstatic.dir/gzread.c.o: CMakeFiles/zlibstatic.dir/flags.make -CMakeFiles/zlibstatic.dir/gzread.c.o: CMakeFiles/zlibstatic.dir/includes_C.rsp -CMakeFiles/zlibstatic.dir/gzread.c.o: /home/romazan/Рабочий\ стол/cproject/thirdparty/zlib-1.3.1/gzread.c -CMakeFiles/zlibstatic.dir/gzread.c.o: CMakeFiles/zlibstatic.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_7) "Building C object CMakeFiles/zlibstatic.dir/gzread.c.o" - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT CMakeFiles/zlibstatic.dir/gzread.c.o -MF CMakeFiles/zlibstatic.dir/gzread.c.o.d -o CMakeFiles/zlibstatic.dir/gzread.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/gzread.c" - -CMakeFiles/zlibstatic.dir/gzread.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/zlibstatic.dir/gzread.c.i" - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/gzread.c" > CMakeFiles/zlibstatic.dir/gzread.c.i - -CMakeFiles/zlibstatic.dir/gzread.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/zlibstatic.dir/gzread.c.s" - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/gzread.c" -o CMakeFiles/zlibstatic.dir/gzread.c.s - -CMakeFiles/zlibstatic.dir/gzwrite.c.o: CMakeFiles/zlibstatic.dir/flags.make -CMakeFiles/zlibstatic.dir/gzwrite.c.o: CMakeFiles/zlibstatic.dir/includes_C.rsp -CMakeFiles/zlibstatic.dir/gzwrite.c.o: /home/romazan/Рабочий\ стол/cproject/thirdparty/zlib-1.3.1/gzwrite.c -CMakeFiles/zlibstatic.dir/gzwrite.c.o: CMakeFiles/zlibstatic.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_8) "Building C object CMakeFiles/zlibstatic.dir/gzwrite.c.o" - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT CMakeFiles/zlibstatic.dir/gzwrite.c.o -MF CMakeFiles/zlibstatic.dir/gzwrite.c.o.d -o CMakeFiles/zlibstatic.dir/gzwrite.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/gzwrite.c" - -CMakeFiles/zlibstatic.dir/gzwrite.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/zlibstatic.dir/gzwrite.c.i" - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/gzwrite.c" > CMakeFiles/zlibstatic.dir/gzwrite.c.i - -CMakeFiles/zlibstatic.dir/gzwrite.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/zlibstatic.dir/gzwrite.c.s" - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/gzwrite.c" -o CMakeFiles/zlibstatic.dir/gzwrite.c.s - -CMakeFiles/zlibstatic.dir/inflate.c.o: CMakeFiles/zlibstatic.dir/flags.make -CMakeFiles/zlibstatic.dir/inflate.c.o: CMakeFiles/zlibstatic.dir/includes_C.rsp -CMakeFiles/zlibstatic.dir/inflate.c.o: /home/romazan/Рабочий\ стол/cproject/thirdparty/zlib-1.3.1/inflate.c -CMakeFiles/zlibstatic.dir/inflate.c.o: CMakeFiles/zlibstatic.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_9) "Building C object CMakeFiles/zlibstatic.dir/inflate.c.o" - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT CMakeFiles/zlibstatic.dir/inflate.c.o -MF CMakeFiles/zlibstatic.dir/inflate.c.o.d -o CMakeFiles/zlibstatic.dir/inflate.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/inflate.c" - -CMakeFiles/zlibstatic.dir/inflate.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/zlibstatic.dir/inflate.c.i" - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/inflate.c" > CMakeFiles/zlibstatic.dir/inflate.c.i - -CMakeFiles/zlibstatic.dir/inflate.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/zlibstatic.dir/inflate.c.s" - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/inflate.c" -o CMakeFiles/zlibstatic.dir/inflate.c.s - -CMakeFiles/zlibstatic.dir/infback.c.o: CMakeFiles/zlibstatic.dir/flags.make -CMakeFiles/zlibstatic.dir/infback.c.o: CMakeFiles/zlibstatic.dir/includes_C.rsp -CMakeFiles/zlibstatic.dir/infback.c.o: /home/romazan/Рабочий\ стол/cproject/thirdparty/zlib-1.3.1/infback.c -CMakeFiles/zlibstatic.dir/infback.c.o: CMakeFiles/zlibstatic.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_10) "Building C object CMakeFiles/zlibstatic.dir/infback.c.o" - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT CMakeFiles/zlibstatic.dir/infback.c.o -MF CMakeFiles/zlibstatic.dir/infback.c.o.d -o CMakeFiles/zlibstatic.dir/infback.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/infback.c" - -CMakeFiles/zlibstatic.dir/infback.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/zlibstatic.dir/infback.c.i" - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/infback.c" > CMakeFiles/zlibstatic.dir/infback.c.i - -CMakeFiles/zlibstatic.dir/infback.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/zlibstatic.dir/infback.c.s" - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/infback.c" -o CMakeFiles/zlibstatic.dir/infback.c.s - -CMakeFiles/zlibstatic.dir/inftrees.c.o: CMakeFiles/zlibstatic.dir/flags.make -CMakeFiles/zlibstatic.dir/inftrees.c.o: CMakeFiles/zlibstatic.dir/includes_C.rsp -CMakeFiles/zlibstatic.dir/inftrees.c.o: /home/romazan/Рабочий\ стол/cproject/thirdparty/zlib-1.3.1/inftrees.c -CMakeFiles/zlibstatic.dir/inftrees.c.o: CMakeFiles/zlibstatic.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_11) "Building C object CMakeFiles/zlibstatic.dir/inftrees.c.o" - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT CMakeFiles/zlibstatic.dir/inftrees.c.o -MF CMakeFiles/zlibstatic.dir/inftrees.c.o.d -o CMakeFiles/zlibstatic.dir/inftrees.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/inftrees.c" - -CMakeFiles/zlibstatic.dir/inftrees.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/zlibstatic.dir/inftrees.c.i" - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/inftrees.c" > CMakeFiles/zlibstatic.dir/inftrees.c.i - -CMakeFiles/zlibstatic.dir/inftrees.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/zlibstatic.dir/inftrees.c.s" - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/inftrees.c" -o CMakeFiles/zlibstatic.dir/inftrees.c.s - -CMakeFiles/zlibstatic.dir/inffast.c.o: CMakeFiles/zlibstatic.dir/flags.make -CMakeFiles/zlibstatic.dir/inffast.c.o: CMakeFiles/zlibstatic.dir/includes_C.rsp -CMakeFiles/zlibstatic.dir/inffast.c.o: /home/romazan/Рабочий\ стол/cproject/thirdparty/zlib-1.3.1/inffast.c -CMakeFiles/zlibstatic.dir/inffast.c.o: CMakeFiles/zlibstatic.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_12) "Building C object CMakeFiles/zlibstatic.dir/inffast.c.o" - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT CMakeFiles/zlibstatic.dir/inffast.c.o -MF CMakeFiles/zlibstatic.dir/inffast.c.o.d -o CMakeFiles/zlibstatic.dir/inffast.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/inffast.c" - -CMakeFiles/zlibstatic.dir/inffast.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/zlibstatic.dir/inffast.c.i" - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/inffast.c" > CMakeFiles/zlibstatic.dir/inffast.c.i - -CMakeFiles/zlibstatic.dir/inffast.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/zlibstatic.dir/inffast.c.s" - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/inffast.c" -o CMakeFiles/zlibstatic.dir/inffast.c.s - -CMakeFiles/zlibstatic.dir/trees.c.o: CMakeFiles/zlibstatic.dir/flags.make -CMakeFiles/zlibstatic.dir/trees.c.o: CMakeFiles/zlibstatic.dir/includes_C.rsp -CMakeFiles/zlibstatic.dir/trees.c.o: /home/romazan/Рабочий\ стол/cproject/thirdparty/zlib-1.3.1/trees.c -CMakeFiles/zlibstatic.dir/trees.c.o: CMakeFiles/zlibstatic.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_13) "Building C object CMakeFiles/zlibstatic.dir/trees.c.o" - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT CMakeFiles/zlibstatic.dir/trees.c.o -MF CMakeFiles/zlibstatic.dir/trees.c.o.d -o CMakeFiles/zlibstatic.dir/trees.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/trees.c" - -CMakeFiles/zlibstatic.dir/trees.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/zlibstatic.dir/trees.c.i" - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/trees.c" > CMakeFiles/zlibstatic.dir/trees.c.i - -CMakeFiles/zlibstatic.dir/trees.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/zlibstatic.dir/trees.c.s" - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/trees.c" -o CMakeFiles/zlibstatic.dir/trees.c.s - -CMakeFiles/zlibstatic.dir/uncompr.c.o: CMakeFiles/zlibstatic.dir/flags.make -CMakeFiles/zlibstatic.dir/uncompr.c.o: CMakeFiles/zlibstatic.dir/includes_C.rsp -CMakeFiles/zlibstatic.dir/uncompr.c.o: /home/romazan/Рабочий\ стол/cproject/thirdparty/zlib-1.3.1/uncompr.c -CMakeFiles/zlibstatic.dir/uncompr.c.o: CMakeFiles/zlibstatic.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_14) "Building C object CMakeFiles/zlibstatic.dir/uncompr.c.o" - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT CMakeFiles/zlibstatic.dir/uncompr.c.o -MF CMakeFiles/zlibstatic.dir/uncompr.c.o.d -o CMakeFiles/zlibstatic.dir/uncompr.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/uncompr.c" - -CMakeFiles/zlibstatic.dir/uncompr.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/zlibstatic.dir/uncompr.c.i" - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/uncompr.c" > CMakeFiles/zlibstatic.dir/uncompr.c.i - -CMakeFiles/zlibstatic.dir/uncompr.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/zlibstatic.dir/uncompr.c.s" - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/uncompr.c" -o CMakeFiles/zlibstatic.dir/uncompr.c.s - -CMakeFiles/zlibstatic.dir/zutil.c.o: CMakeFiles/zlibstatic.dir/flags.make -CMakeFiles/zlibstatic.dir/zutil.c.o: CMakeFiles/zlibstatic.dir/includes_C.rsp -CMakeFiles/zlibstatic.dir/zutil.c.o: /home/romazan/Рабочий\ стол/cproject/thirdparty/zlib-1.3.1/zutil.c -CMakeFiles/zlibstatic.dir/zutil.c.o: CMakeFiles/zlibstatic.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_15) "Building C object CMakeFiles/zlibstatic.dir/zutil.c.o" - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT CMakeFiles/zlibstatic.dir/zutil.c.o -MF CMakeFiles/zlibstatic.dir/zutil.c.o.d -o CMakeFiles/zlibstatic.dir/zutil.c.o -c "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/zutil.c" - -CMakeFiles/zlibstatic.dir/zutil.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/zlibstatic.dir/zutil.c.i" - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/zutil.c" > CMakeFiles/zlibstatic.dir/zutil.c.i - -CMakeFiles/zlibstatic.dir/zutil.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/zlibstatic.dir/zutil.c.s" - "/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc" $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/zutil.c" -o CMakeFiles/zlibstatic.dir/zutil.c.s - -# Object files for target zlibstatic -zlibstatic_OBJECTS = \ -"CMakeFiles/zlibstatic.dir/adler32.c.o" \ -"CMakeFiles/zlibstatic.dir/compress.c.o" \ -"CMakeFiles/zlibstatic.dir/crc32.c.o" \ -"CMakeFiles/zlibstatic.dir/deflate.c.o" \ -"CMakeFiles/zlibstatic.dir/gzclose.c.o" \ -"CMakeFiles/zlibstatic.dir/gzlib.c.o" \ -"CMakeFiles/zlibstatic.dir/gzread.c.o" \ -"CMakeFiles/zlibstatic.dir/gzwrite.c.o" \ -"CMakeFiles/zlibstatic.dir/inflate.c.o" \ -"CMakeFiles/zlibstatic.dir/infback.c.o" \ -"CMakeFiles/zlibstatic.dir/inftrees.c.o" \ -"CMakeFiles/zlibstatic.dir/inffast.c.o" \ -"CMakeFiles/zlibstatic.dir/trees.c.o" \ -"CMakeFiles/zlibstatic.dir/uncompr.c.o" \ -"CMakeFiles/zlibstatic.dir/zutil.c.o" - -# External object files for target zlibstatic -zlibstatic_EXTERNAL_OBJECTS = - -libz.a: CMakeFiles/zlibstatic.dir/adler32.c.o -libz.a: CMakeFiles/zlibstatic.dir/compress.c.o -libz.a: CMakeFiles/zlibstatic.dir/crc32.c.o -libz.a: CMakeFiles/zlibstatic.dir/deflate.c.o -libz.a: CMakeFiles/zlibstatic.dir/gzclose.c.o -libz.a: CMakeFiles/zlibstatic.dir/gzlib.c.o -libz.a: CMakeFiles/zlibstatic.dir/gzread.c.o -libz.a: CMakeFiles/zlibstatic.dir/gzwrite.c.o -libz.a: CMakeFiles/zlibstatic.dir/inflate.c.o -libz.a: CMakeFiles/zlibstatic.dir/infback.c.o -libz.a: CMakeFiles/zlibstatic.dir/inftrees.c.o -libz.a: CMakeFiles/zlibstatic.dir/inffast.c.o -libz.a: CMakeFiles/zlibstatic.dir/trees.c.o -libz.a: CMakeFiles/zlibstatic.dir/uncompr.c.o -libz.a: CMakeFiles/zlibstatic.dir/zutil.c.o -libz.a: CMakeFiles/zlibstatic.dir/build.make -libz.a: CMakeFiles/zlibstatic.dir/link.txt - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --bold --progress-dir="/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles" --progress-num=$(CMAKE_PROGRESS_16) "Linking C static library libz.a" - $(CMAKE_COMMAND) -P CMakeFiles/zlibstatic.dir/cmake_clean_target.cmake - $(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/zlibstatic.dir/link.txt --verbose=$(VERBOSE) - -# Rule to build all files generated by this target. -CMakeFiles/zlibstatic.dir/build: libz.a -.PHONY : CMakeFiles/zlibstatic.dir/build - -CMakeFiles/zlibstatic.dir/clean: - $(CMAKE_COMMAND) -P CMakeFiles/zlibstatic.dir/cmake_clean.cmake -.PHONY : CMakeFiles/zlibstatic.dir/clean - -CMakeFiles/zlibstatic.dir/depend: - cd "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/build-emcmake" && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1" "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1" "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/build-emcmake" "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/build-emcmake" "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlibstatic.dir/DependInfo.cmake" "--color=$(COLOR)" -.PHONY : CMakeFiles/zlibstatic.dir/depend - diff --git a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlibstatic.dir/cmake_clean.cmake b/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlibstatic.dir/cmake_clean.cmake deleted file mode 100644 index ee2f616..0000000 --- a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlibstatic.dir/cmake_clean.cmake +++ /dev/null @@ -1,39 +0,0 @@ -file(REMOVE_RECURSE - "CMakeFiles/zlibstatic.dir/adler32.c.o" - "CMakeFiles/zlibstatic.dir/adler32.c.o.d" - "CMakeFiles/zlibstatic.dir/compress.c.o" - "CMakeFiles/zlibstatic.dir/compress.c.o.d" - "CMakeFiles/zlibstatic.dir/crc32.c.o" - "CMakeFiles/zlibstatic.dir/crc32.c.o.d" - "CMakeFiles/zlibstatic.dir/deflate.c.o" - "CMakeFiles/zlibstatic.dir/deflate.c.o.d" - "CMakeFiles/zlibstatic.dir/gzclose.c.o" - "CMakeFiles/zlibstatic.dir/gzclose.c.o.d" - "CMakeFiles/zlibstatic.dir/gzlib.c.o" - "CMakeFiles/zlibstatic.dir/gzlib.c.o.d" - "CMakeFiles/zlibstatic.dir/gzread.c.o" - "CMakeFiles/zlibstatic.dir/gzread.c.o.d" - "CMakeFiles/zlibstatic.dir/gzwrite.c.o" - "CMakeFiles/zlibstatic.dir/gzwrite.c.o.d" - "CMakeFiles/zlibstatic.dir/infback.c.o" - "CMakeFiles/zlibstatic.dir/infback.c.o.d" - "CMakeFiles/zlibstatic.dir/inffast.c.o" - "CMakeFiles/zlibstatic.dir/inffast.c.o.d" - "CMakeFiles/zlibstatic.dir/inflate.c.o" - "CMakeFiles/zlibstatic.dir/inflate.c.o.d" - "CMakeFiles/zlibstatic.dir/inftrees.c.o" - "CMakeFiles/zlibstatic.dir/inftrees.c.o.d" - "CMakeFiles/zlibstatic.dir/trees.c.o" - "CMakeFiles/zlibstatic.dir/trees.c.o.d" - "CMakeFiles/zlibstatic.dir/uncompr.c.o" - "CMakeFiles/zlibstatic.dir/uncompr.c.o.d" - "CMakeFiles/zlibstatic.dir/zutil.c.o" - "CMakeFiles/zlibstatic.dir/zutil.c.o.d" - "libz.a" - "libz.pdb" -) - -# Per-language clean rules from dependency scanning. -foreach(lang C) - include(CMakeFiles/zlibstatic.dir/cmake_clean_${lang}.cmake OPTIONAL) -endforeach() diff --git a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlibstatic.dir/cmake_clean_target.cmake b/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlibstatic.dir/cmake_clean_target.cmake deleted file mode 100644 index 5cdc2a2..0000000 --- a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlibstatic.dir/cmake_clean_target.cmake +++ /dev/null @@ -1,3 +0,0 @@ -file(REMOVE_RECURSE - "libz.a" -) diff --git a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlibstatic.dir/compiler_depend.make b/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlibstatic.dir/compiler_depend.make deleted file mode 100644 index aea1303..0000000 --- a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlibstatic.dir/compiler_depend.make +++ /dev/null @@ -1,2 +0,0 @@ -# Empty compiler generated dependencies file for zlibstatic. -# This may be replaced when dependencies are built. diff --git a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlibstatic.dir/compiler_depend.ts b/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlibstatic.dir/compiler_depend.ts deleted file mode 100644 index 59b5713..0000000 --- a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlibstatic.dir/compiler_depend.ts +++ /dev/null @@ -1,2 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Timestamp file for compiler generated dependencies management for zlibstatic. diff --git a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlibstatic.dir/compress.c.o b/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlibstatic.dir/compress.c.o deleted file mode 100644 index 2da11630619d0a5f246cf215103ae764f6a35450..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1647 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 WTwUSl&RoyHemyPY+v{>u3jYsqw`&9d diff --git a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlibstatic.dir/deflate.c.o.d b/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlibstatic.dir/deflate.c.o.d deleted file mode 100644 index 5c0ea31..0000000 --- a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlibstatic.dir/deflate.c.o.d +++ /dev/null @@ -1,44 +0,0 @@ -CMakeFiles/zlibstatic.dir/deflate.c.o: \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/zlib-1.3.1/deflate.c \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/zlib-1.3.1/deflate.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/zlib-1.3.1/zutil.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/zlib-1.3.1/zlib.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/zlib-1.3.1/build-emcmake/zconf.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_header_macro.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_ptrdiff_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_size_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_wchar_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_null.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_max_align_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_offsetof.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/limits.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/limits.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/features.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/alltypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/limits.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/types.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/endian.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/select.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/stdarg.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdarg.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdarg.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stdarg_header_macro.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stdarg___gnuc_va_list.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stdarg_va_list.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stdarg_va_arg.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stdarg___va_copy.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stdarg_va_copy.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/unistd.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/wasi/api.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/posix.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/strings.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/stdlib.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdlib.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/alloca.h diff --git a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlibstatic.dir/depend.make b/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlibstatic.dir/depend.make deleted file mode 100644 index 2226157..0000000 --- a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlibstatic.dir/depend.make +++ /dev/null @@ -1,2 +0,0 @@ -# Empty dependencies file for zlibstatic. -# This may be replaced when dependencies are built. diff --git a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlibstatic.dir/flags.make b/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlibstatic.dir/flags.make deleted file mode 100644 index 398add8..0000000 --- a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlibstatic.dir/flags.make +++ /dev/null @@ -1,10 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.28 - -# compile C with /home/romazan/Рабочий стол/emsdk/upstream/emscripten/emcc -C_DEFINES = -D_LARGEFILE64_SOURCE=1 - -C_INCLUDES = @CMakeFiles/zlibstatic.dir/includes_C.rsp - -C_FLAGS = - diff --git a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlibstatic.dir/gzclose.c.o b/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlibstatic.dir/gzclose.c.o deleted file mode 100644 index f895a9ba7b3f76118dcb4e4f3679d6893b08de23..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 718 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 diff --git a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlibstatic.dir/gzlib.c.o.d b/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlibstatic.dir/gzlib.c.o.d deleted file mode 100644 index e64069c..0000000 --- a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlibstatic.dir/gzlib.c.o.d +++ /dev/null @@ -1,48 +0,0 @@ -CMakeFiles/zlibstatic.dir/gzlib.c.o: \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/zlib-1.3.1/gzlib.c \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/zlib-1.3.1/gzguts.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdio.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/wasi/api.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_header_macro.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_ptrdiff_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_size_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_wchar_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_null.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_max_align_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_offsetof.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/alltypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/features.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/zlib-1.3.1/zlib.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/zlib-1.3.1/build-emcmake/zconf.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/limits.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/limits.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/limits.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/types.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/endian.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/select.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/stdarg.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdarg.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdarg.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stdarg_header_macro.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stdarg___gnuc_va_list.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stdarg_va_list.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stdarg_va_arg.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stdarg___va_copy.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stdarg_va_copy.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/unistd.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/posix.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/strings.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/stdlib.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdlib.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/alloca.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/fcntl.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/fcntl.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/errno.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/errno.h diff --git a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlibstatic.dir/gzread.c.o b/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlibstatic.dir/gzread.c.o deleted file mode 100644 index fc6394b0e3fcbfc6cc3c44a869eb1c036fdc8795..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12516 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 YFHEL8^H-MA%kAOi*_nmT^nLmN1uM9?CIA2c diff --git a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlibstatic.dir/gzwrite.c.o.d b/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlibstatic.dir/gzwrite.c.o.d deleted file mode 100644 index 09bf7c5..0000000 --- a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlibstatic.dir/gzwrite.c.o.d +++ /dev/null @@ -1,48 +0,0 @@ -CMakeFiles/zlibstatic.dir/gzwrite.c.o: \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/zlib-1.3.1/gzwrite.c \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/zlib-1.3.1/gzguts.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdio.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/wasi/api.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_header_macro.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_ptrdiff_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_size_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_wchar_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_null.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_max_align_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_offsetof.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/alltypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/features.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/zlib-1.3.1/zlib.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/zlib-1.3.1/build-emcmake/zconf.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/limits.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/limits.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/limits.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/types.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/endian.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/select.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/stdarg.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdarg.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdarg.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stdarg_header_macro.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stdarg___gnuc_va_list.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stdarg_va_list.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stdarg_va_arg.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stdarg___va_copy.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stdarg_va_copy.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/unistd.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/posix.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/strings.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/stdlib.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdlib.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/alloca.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/fcntl.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/fcntl.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/errno.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/errno.h diff --git a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlibstatic.dir/infback.c.o b/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlibstatic.dir/infback.c.o deleted file mode 100644 index 2925856d3368513b5ea072378f76a9b2844410b1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20892 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 HJiYK|bk5d& diff --git a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlibstatic.dir/inflate.c.o.d b/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlibstatic.dir/inflate.c.o.d deleted file mode 100644 index 3b685b0..0000000 --- a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlibstatic.dir/inflate.c.o.d +++ /dev/null @@ -1,47 +0,0 @@ -CMakeFiles/zlibstatic.dir/inflate.c.o: \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/zlib-1.3.1/inflate.c \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/zlib-1.3.1/zutil.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/zlib-1.3.1/zlib.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/zlib-1.3.1/build-emcmake/zconf.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_header_macro.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_ptrdiff_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_size_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_wchar_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_null.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_max_align_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_offsetof.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/limits.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/limits.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/features.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/alltypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/limits.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/types.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/endian.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/select.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/stdarg.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdarg.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdarg.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stdarg_header_macro.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stdarg___gnuc_va_list.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stdarg_va_list.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stdarg_va_arg.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stdarg___va_copy.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stdarg_va_copy.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/unistd.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/wasi/api.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/posix.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/strings.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/stdlib.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdlib.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/alloca.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/zlib-1.3.1/inftrees.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/zlib-1.3.1/inflate.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/zlib-1.3.1/inffast.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/zlib-1.3.1/inffixed.h diff --git a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlibstatic.dir/inftrees.c.o b/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlibstatic.dir/inftrees.c.o deleted file mode 100644 index bb093e1d216721b866f5e0171e1c70d6d612214d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6596 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 X&dUm?#kv)Qi&Lu>=XT6X<1G9af0ziZ diff --git a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlibstatic.dir/inftrees.c.o.d b/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlibstatic.dir/inftrees.c.o.d deleted file mode 100644 index de0524e..0000000 --- a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlibstatic.dir/inftrees.c.o.d +++ /dev/null @@ -1,44 +0,0 @@ -CMakeFiles/zlibstatic.dir/inftrees.c.o: \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/zlib-1.3.1/inftrees.c \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/zlib-1.3.1/zutil.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/zlib-1.3.1/zlib.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/zlib-1.3.1/build-emcmake/zconf.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_header_macro.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_ptrdiff_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_size_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_wchar_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_null.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_max_align_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_offsetof.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/limits.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/limits.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/features.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/alltypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/limits.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/types.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/endian.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/select.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/stdarg.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdarg.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdarg.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stdarg_header_macro.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stdarg___gnuc_va_list.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stdarg_va_list.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stdarg_va_arg.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stdarg___va_copy.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stdarg_va_copy.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/unistd.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/wasi/api.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/posix.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/strings.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/stdlib.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdlib.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/alloca.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/zlib-1.3.1/inftrees.h diff --git a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlibstatic.dir/link.txt b/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlibstatic.dir/link.txt deleted file mode 100644 index c801566..0000000 --- a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlibstatic.dir/link.txt +++ /dev/null @@ -1,2 +0,0 @@ -"/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emar" qc libz.a CMakeFiles/zlibstatic.dir/adler32.c.o CMakeFiles/zlibstatic.dir/compress.c.o CMakeFiles/zlibstatic.dir/crc32.c.o CMakeFiles/zlibstatic.dir/deflate.c.o CMakeFiles/zlibstatic.dir/gzclose.c.o CMakeFiles/zlibstatic.dir/gzlib.c.o CMakeFiles/zlibstatic.dir/gzread.c.o CMakeFiles/zlibstatic.dir/gzwrite.c.o CMakeFiles/zlibstatic.dir/inflate.c.o CMakeFiles/zlibstatic.dir/infback.c.o CMakeFiles/zlibstatic.dir/inftrees.c.o CMakeFiles/zlibstatic.dir/inffast.c.o CMakeFiles/zlibstatic.dir/trees.c.o CMakeFiles/zlibstatic.dir/uncompr.c.o CMakeFiles/zlibstatic.dir/zutil.c.o -"/home/romazan/Рабочий стол/emsdk/upstream/emscripten/emranlib" libz.a diff --git a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlibstatic.dir/progress.make b/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlibstatic.dir/progress.make deleted file mode 100644 index 83845bc..0000000 --- a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlibstatic.dir/progress.make +++ /dev/null @@ -1,17 +0,0 @@ -CMAKE_PROGRESS_1 = 25 -CMAKE_PROGRESS_2 = 26 -CMAKE_PROGRESS_3 = 27 -CMAKE_PROGRESS_4 = 28 -CMAKE_PROGRESS_5 = 29 -CMAKE_PROGRESS_6 = 30 -CMAKE_PROGRESS_7 = 31 -CMAKE_PROGRESS_8 = 32 -CMAKE_PROGRESS_9 = 33 -CMAKE_PROGRESS_10 = 34 -CMAKE_PROGRESS_11 = 35 -CMAKE_PROGRESS_12 = 36 -CMAKE_PROGRESS_13 = 37 -CMAKE_PROGRESS_14 = 38 -CMAKE_PROGRESS_15 = 39 -CMAKE_PROGRESS_16 = 40 - diff --git a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlibstatic.dir/trees.c.o b/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlibstatic.dir/trees.c.o deleted file mode 100644 index 25e67c43e3c58b01d3415274762b42738cad9a22..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 39596 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 OxNgPcSZllUYWzP4q}WUV diff --git a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlibstatic.dir/trees.c.o.d b/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlibstatic.dir/trees.c.o.d deleted file mode 100644 index 8911ab7..0000000 --- a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlibstatic.dir/trees.c.o.d +++ /dev/null @@ -1,45 +0,0 @@ -CMakeFiles/zlibstatic.dir/trees.c.o: \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/zlib-1.3.1/trees.c \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/zlib-1.3.1/deflate.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/zlib-1.3.1/zutil.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/zlib-1.3.1/zlib.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/zlib-1.3.1/build-emcmake/zconf.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_header_macro.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_ptrdiff_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_size_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_wchar_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_null.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_max_align_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_offsetof.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/limits.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/limits.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/features.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/alltypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/limits.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/types.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/endian.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/select.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/stdarg.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdarg.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdarg.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stdarg_header_macro.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stdarg___gnuc_va_list.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stdarg_va_list.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stdarg_va_arg.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stdarg___va_copy.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stdarg_va_copy.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/unistd.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/wasi/api.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/posix.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/strings.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/stdlib.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdlib.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/alloca.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/zlib-1.3.1/trees.h diff --git a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlibstatic.dir/uncompr.c.o b/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlibstatic.dir/uncompr.c.o deleted file mode 100644 index 77bbe1f7451c3d3996985262192bf9a5490a4c3b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1839 zcmZ`)TXWM^5I#CqY{hc0AOXUC7XlcJ9Vbqdm}^9cxg^{J1PC~?EIYPk*_P!%=yZ~{ zPo4Iu)3;7%`X}1y^r6$Y_D?X=PX9z7yGQasU+NkA?D=;0+p~N2teM$sNsKY+yWQPg zCU3|)^pSQpBH_Y=jYJ6lOBf7AYa^>wZ+nrQ z08Z51s$=^0ZMW{1Ld)0yVqEye2fHP=!Xl9`L>SIk;xi#g@n63b``;Al&CV%8b{WdX zpA3gUhM^`#AvzJD5Cx|5HCiN{uhPPG{(zQ<&R2{bjFA}Ac>gw3bzM1M%yu+kCFF&68GzToWuhp9?VX%fs0O}kl z(n%6e>U<)yAXF20it;}drZ3|J74I}m!0BZ?LusCcGjO(xsenF3^rSuq=kWZ1SjIG@ z@w^J>@dD9aAli^LBNiF6kcCVWCrLL+)d~(XjyZ~$3nMBxMU>Mp1=Guzr-(C)&kX3gc`?-Vo~rCT!M>DyiB^wbk{1?^9spV8h911 z;x)>D0j|M<7PK20q%uBK@j6_mfWaXZTnuS%z#`me;F8#_U=fO#JiN!J-7?^x_Cdx>Hgr7Qb_$O8u1}Kga=_`2_S`! zs63AbRvJDwKEYLZ468+aLR?Sb2|VrMGk7LyBcXT#YofFw)918#-oO{|0$;*Q?Q`*d z4hvEZ*U9!3ti!7!z9z8*uc6e%jo?Tdf{LLDCYA?f*3dFIR=|Qv5p8m)f(_L!)&hr` zaQGBAVH4{g92#`cCN!W~M28$&;6SU3Zs6b!(vh((jx&KBXhWxgUFe2X9(dUMK;?sv zJr#P`hd$O-sN)uFVOfPTzM&M~P-h3Xw2p7ZaM&hnyMgcE-C#JpO{(vt_{RaF{m=ZM z`5@*8O$0GN=&_6W5nN|Nj1bXJ!L*RY?4XGe0|ka5t_4F2RYOC;kZ91j7#W0CldAf) zsJlcZRijhce0GYl_X3I06m8bs8drV_woHzweb;KYI-cF@O>>P&Jepm}_I!`ADAO3z zB&KmD%kht9L*E4Cd$L};V)|xwU@x(s1s?Zor)^~y@84LG)mTi59h2m*IE~lud4&Bf z%k1~)Q0x~)iv2;~_lm@R7-q2_hb8up@E-0EY2UKFo|GWbqEp$GOnF-xvK-T`txZp5 zbJ<+2?n7$R_dC6dlO%8U%UQ}{(s8!JpA5M+Y|Dq4xw%G!E3N?I-Von|Kd(@7`)v&pnOe)@oA zI!>nUR_Y!_%e1#_&uP20biCDf{Q8#Z^zC%A)%VS^V`pkkyKFkW^r+i*eb4N4=pHiF fjxYYY(n-&*+MexNcE;cC*uAvUtJmC&{nq~%V-SIP diff --git a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlibstatic.dir/uncompr.c.o.d b/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlibstatic.dir/uncompr.c.o.d deleted file mode 100644 index 3a9761d..0000000 --- a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlibstatic.dir/uncompr.c.o.d +++ /dev/null @@ -1,36 +0,0 @@ -CMakeFiles/zlibstatic.dir/uncompr.c.o: \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/zlib-1.3.1/uncompr.c \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/zlib-1.3.1/zlib.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/zlib-1.3.1/build-emcmake/zconf.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_header_macro.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_ptrdiff_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_size_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_wchar_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_null.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_max_align_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_offsetof.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/limits.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/limits.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/features.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/alltypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/limits.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/types.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/endian.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/select.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/stdarg.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdarg.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdarg.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stdarg_header_macro.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stdarg___gnuc_va_list.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stdarg_va_list.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stdarg_va_arg.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stdarg___va_copy.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stdarg_va_copy.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/unistd.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/wasi/api.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/posix.h diff --git a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlibstatic.dir/zutil.c.o b/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlibstatic.dir/zutil.c.o deleted file mode 100644 index 951ddda90fc773a749c4a623b7ca593c61b19947..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1781 zcmZWqy^rHm5TEz_nY?7}{a)#=cos+(6eYL2`Pd81Vcji42ni(6i7x9nFF7ZUowJ=4 zn&{ZLlOxxzwZuPD`|4$u_YRE^}pIspwFb4$YP=ooielSUGg$mX17zV?58< zz`_{3uyhpdIk7f)k#7tv13kvlV{+4AUl4L|C5d1R$_b}Klp}FSnNlWan#p;|Qc;=4 zRjxgPdY zExu(Lj2qUrJzrF72YtJIo9`yp9^c`618bk}mnc{V{J>xy$z4g7P_m3#@}iZWuiz~9MTXI z%9j*5%Oq!+)lU~nrJrN{4>umh# zFTjc`5^{sC;)3*2xtb`r0HY0gCyqatL_2`d49Otc$lH_>jP)zR*vy^eNx;hAk16JrWp#R*?vlv*w2c)Q#r+(VKvuM=n~h@1Qq`%u7)Fy2s%CLf_jQgV0_=Kq zj6;6Cs!6N9x(vl@Uqe~-HC5QT_MK>}%sV>lDnBnyccU7G>3LKyg%I<<0G4PCI$nor z>rj0iYOF)eb?9Ury0ZdZl~#uTOKkyx@6s1mJ`(uitKNI{{;6D$RRY?+q7L{su7^kPw8z<>M aP}ztCj;#n>QAsYwA};H(*AFVj<2(Va8^ diff --git a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlibstatic.dir/zutil.c.o.d b/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlibstatic.dir/zutil.c.o.d deleted file mode 100644 index 46e29fc..0000000 --- a/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles/zlibstatic.dir/zutil.c.o.d +++ /dev/null @@ -1,49 +0,0 @@ -CMakeFiles/zlibstatic.dir/zutil.c.o: \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/zlib-1.3.1/zutil.c \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/zlib-1.3.1/zutil.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/zlib-1.3.1/zlib.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/zlib-1.3.1/build-emcmake/zconf.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stddef.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_header_macro.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_ptrdiff_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_size_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_wchar_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_null.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_max_align_t.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stddef_offsetof.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/limits.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/limits.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/features.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/alltypes.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/limits.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/types.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/endian.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/sys/select.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/stdarg.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdarg.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdarg.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stdarg_header_macro.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stdarg___gnuc_va_list.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stdarg_va_list.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stdarg_va_arg.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stdarg___va_copy.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/__stdarg_va_copy.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/unistd.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/wasi/api.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/lib/clang/21/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/stdint.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/posix.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/string.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/strings.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/compat/stdlib.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdlib.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/alloca.h \ - /home/romazan/Рабочий\ стол/cproject/thirdparty/zlib-1.3.1/gzguts.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/stdio.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/fcntl.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/fcntl.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/errno.h \ - /home/romazan/Рабочий\ стол/emsdk/upstream/emscripten/cache/sysroot/include/bits/errno.h diff --git a/thirdparty/zlib-1.3.1/build-emcmake/CTestTestfile.cmake b/thirdparty/zlib-1.3.1/build-emcmake/CTestTestfile.cmake deleted file mode 100644 index 33bb3b6..0000000 --- a/thirdparty/zlib-1.3.1/build-emcmake/CTestTestfile.cmake +++ /dev/null @@ -1,10 +0,0 @@ -# CMake generated Testfile for -# Source directory: /home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1 -# Build directory: /home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/build-emcmake -# -# This file includes the relevant testing commands required for -# testing this directory and lists subdirectories to be tested as well. -add_test(example "example") -set_tests_properties(example PROPERTIES _BACKTRACE_TRIPLES "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/CMakeLists.txt;203;add_test;/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/CMakeLists.txt;0;") -add_test(example64 "example64") -set_tests_properties(example64 PROPERTIES _BACKTRACE_TRIPLES "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/CMakeLists.txt;212;add_test;/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/CMakeLists.txt;0;") diff --git a/thirdparty/zlib-1.3.1/build-emcmake/Makefile b/thirdparty/zlib-1.3.1/build-emcmake/Makefile deleted file mode 100644 index ec09945..0000000 --- a/thirdparty/zlib-1.3.1/build-emcmake/Makefile +++ /dev/null @@ -1,794 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.28 - -# Default target executed when no arguments are given to make. -default_target: all -.PHONY : default_target - -# Allow only one "make -f Makefile2" at a time, but pass parallelism. -.NOTPARALLEL: - -#============================================================================= -# Special targets provided by cmake. - -# Disable implicit rules so canonical targets will work. -.SUFFIXES: - -# Disable VCS-based implicit rules. -% : %,v - -# Disable VCS-based implicit rules. -% : RCS/% - -# Disable VCS-based implicit rules. -% : RCS/%,v - -# Disable VCS-based implicit rules. -% : SCCS/s.% - -# Disable VCS-based implicit rules. -% : s.% - -.SUFFIXES: .hpux_make_needs_suffix_list - -# Command-line flag to silence nested $(MAKE). -$(VERBOSE)MAKESILENT = -s - -#Suppress display of executed commands. -$(VERBOSE).SILENT: - -# A target that is always out of date. -cmake_force: -.PHONY : cmake_force - -#============================================================================= -# Set environment variables for the build. - -# The shell in which to execute make rules. -SHELL = /bin/sh - -# The CMake executable. -CMAKE_COMMAND = /usr/bin/cmake - -# The command to remove a file. -RM = /usr/bin/cmake -E rm -f - -# Escaping for special characters. -EQUALS = = - -# The top-level source directory on which CMake was run. -CMAKE_SOURCE_DIR = "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1" - -# The top-level build directory on which CMake was run. -CMAKE_BINARY_DIR = "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/build-emcmake" - -#============================================================================= -# Targets provided globally by CMake. - -# Special rule for the target test -test: - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Running tests..." - /usr/bin/ctest --force-new-ctest-process $(ARGS) -.PHONY : test - -# Special rule for the target test -test/fast: test -.PHONY : test/fast - -# Special rule for the target edit_cache -edit_cache: - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "No interactive CMake dialog available..." - /usr/bin/cmake -E echo No\ interactive\ CMake\ dialog\ available. -.PHONY : edit_cache - -# Special rule for the target edit_cache -edit_cache/fast: edit_cache -.PHONY : edit_cache/fast - -# Special rule for the target rebuild_cache -rebuild_cache: - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Running CMake to regenerate build system..." - /usr/bin/cmake --regenerate-during-build -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) -.PHONY : rebuild_cache - -# Special rule for the target rebuild_cache -rebuild_cache/fast: rebuild_cache -.PHONY : rebuild_cache/fast - -# Special rule for the target list_install_components -list_install_components: - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Available install components are: \"Unspecified\"" -.PHONY : list_install_components - -# Special rule for the target list_install_components -list_install_components/fast: list_install_components -.PHONY : list_install_components/fast - -# Special rule for the target install -install: preinstall - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Install the project..." - /usr/bin/cmake -P cmake_install.cmake -.PHONY : install - -# Special rule for the target install -install/fast: preinstall/fast - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Install the project..." - /usr/bin/cmake -P cmake_install.cmake -.PHONY : install/fast - -# Special rule for the target install/local -install/local: preinstall - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Installing only the local directory..." - /usr/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake -.PHONY : install/local - -# Special rule for the target install/local -install/local/fast: preinstall/fast - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Installing only the local directory..." - /usr/bin/cmake -DCMAKE_INSTALL_LOCAL_ONLY=1 -P cmake_install.cmake -.PHONY : install/local/fast - -# Special rule for the target install/strip -install/strip: preinstall - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Installing the project stripped..." - /usr/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake -.PHONY : install/strip - -# Special rule for the target install/strip -install/strip/fast: preinstall/fast - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Installing the project stripped..." - /usr/bin/cmake -DCMAKE_INSTALL_DO_STRIP=1 -P cmake_install.cmake -.PHONY : install/strip/fast - -# The main all target -all: cmake_check_build_system - $(CMAKE_COMMAND) -E cmake_progress_start "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles" "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/build-emcmake//CMakeFiles/progress.marks" - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 all - $(CMAKE_COMMAND) -E cmake_progress_start "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/build-emcmake/CMakeFiles" 0 -.PHONY : all - -# The main clean target -clean: - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 clean -.PHONY : clean - -# The main clean target -clean/fast: clean -.PHONY : clean/fast - -# Prepare targets for installation. -preinstall: all - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 preinstall -.PHONY : preinstall - -# Prepare targets for installation. -preinstall/fast: - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 preinstall -.PHONY : preinstall/fast - -# clear depends -depend: - $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1 -.PHONY : depend - -#============================================================================= -# Target rules for targets named zlib - -# Build rule for target. -zlib: cmake_check_build_system - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 zlib -.PHONY : zlib - -# fast build rule for target. -zlib/fast: - $(MAKE) $(MAKESILENT) -f CMakeFiles/zlib.dir/build.make CMakeFiles/zlib.dir/build -.PHONY : zlib/fast - -#============================================================================= -# Target rules for targets named zlibstatic - -# Build rule for target. -zlibstatic: cmake_check_build_system - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 zlibstatic -.PHONY : zlibstatic - -# fast build rule for target. -zlibstatic/fast: - $(MAKE) $(MAKESILENT) -f CMakeFiles/zlibstatic.dir/build.make CMakeFiles/zlibstatic.dir/build -.PHONY : zlibstatic/fast - -#============================================================================= -# Target rules for targets named example - -# Build rule for target. -example: cmake_check_build_system - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 example -.PHONY : example - -# fast build rule for target. -example/fast: - $(MAKE) $(MAKESILENT) -f CMakeFiles/example.dir/build.make CMakeFiles/example.dir/build -.PHONY : example/fast - -#============================================================================= -# Target rules for targets named minigzip - -# Build rule for target. -minigzip: cmake_check_build_system - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 minigzip -.PHONY : minigzip - -# fast build rule for target. -minigzip/fast: - $(MAKE) $(MAKESILENT) -f CMakeFiles/minigzip.dir/build.make CMakeFiles/minigzip.dir/build -.PHONY : minigzip/fast - -#============================================================================= -# Target rules for targets named example64 - -# Build rule for target. -example64: cmake_check_build_system - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 example64 -.PHONY : example64 - -# fast build rule for target. -example64/fast: - $(MAKE) $(MAKESILENT) -f CMakeFiles/example64.dir/build.make CMakeFiles/example64.dir/build -.PHONY : example64/fast - -#============================================================================= -# Target rules for targets named minigzip64 - -# Build rule for target. -minigzip64: cmake_check_build_system - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 minigzip64 -.PHONY : minigzip64 - -# fast build rule for target. -minigzip64/fast: - $(MAKE) $(MAKESILENT) -f CMakeFiles/minigzip64.dir/build.make CMakeFiles/minigzip64.dir/build -.PHONY : minigzip64/fast - -adler32.o: adler32.c.o -.PHONY : adler32.o - -# target to build an object file -adler32.c.o: - $(MAKE) $(MAKESILENT) -f CMakeFiles/zlib.dir/build.make CMakeFiles/zlib.dir/adler32.c.o - $(MAKE) $(MAKESILENT) -f CMakeFiles/zlibstatic.dir/build.make CMakeFiles/zlibstatic.dir/adler32.c.o -.PHONY : adler32.c.o - -adler32.i: adler32.c.i -.PHONY : adler32.i - -# target to preprocess a source file -adler32.c.i: - $(MAKE) $(MAKESILENT) -f CMakeFiles/zlib.dir/build.make CMakeFiles/zlib.dir/adler32.c.i - $(MAKE) $(MAKESILENT) -f CMakeFiles/zlibstatic.dir/build.make CMakeFiles/zlibstatic.dir/adler32.c.i -.PHONY : adler32.c.i - -adler32.s: adler32.c.s -.PHONY : adler32.s - -# target to generate assembly for a file -adler32.c.s: - $(MAKE) $(MAKESILENT) -f CMakeFiles/zlib.dir/build.make CMakeFiles/zlib.dir/adler32.c.s - $(MAKE) $(MAKESILENT) -f CMakeFiles/zlibstatic.dir/build.make CMakeFiles/zlibstatic.dir/adler32.c.s -.PHONY : adler32.c.s - -compress.o: compress.c.o -.PHONY : compress.o - -# target to build an object file -compress.c.o: - $(MAKE) $(MAKESILENT) -f CMakeFiles/zlib.dir/build.make CMakeFiles/zlib.dir/compress.c.o - $(MAKE) $(MAKESILENT) -f CMakeFiles/zlibstatic.dir/build.make CMakeFiles/zlibstatic.dir/compress.c.o -.PHONY : compress.c.o - -compress.i: compress.c.i -.PHONY : compress.i - -# target to preprocess a source file -compress.c.i: - $(MAKE) $(MAKESILENT) -f CMakeFiles/zlib.dir/build.make CMakeFiles/zlib.dir/compress.c.i - $(MAKE) $(MAKESILENT) -f CMakeFiles/zlibstatic.dir/build.make CMakeFiles/zlibstatic.dir/compress.c.i -.PHONY : compress.c.i - -compress.s: compress.c.s -.PHONY : compress.s - -# target to generate assembly for a file -compress.c.s: - $(MAKE) $(MAKESILENT) -f CMakeFiles/zlib.dir/build.make CMakeFiles/zlib.dir/compress.c.s - $(MAKE) $(MAKESILENT) -f CMakeFiles/zlibstatic.dir/build.make CMakeFiles/zlibstatic.dir/compress.c.s -.PHONY : compress.c.s - -crc32.o: crc32.c.o -.PHONY : crc32.o - -# target to build an object file -crc32.c.o: - $(MAKE) $(MAKESILENT) -f CMakeFiles/zlib.dir/build.make CMakeFiles/zlib.dir/crc32.c.o - $(MAKE) $(MAKESILENT) -f CMakeFiles/zlibstatic.dir/build.make CMakeFiles/zlibstatic.dir/crc32.c.o -.PHONY : crc32.c.o - -crc32.i: crc32.c.i -.PHONY : crc32.i - -# target to preprocess a source file -crc32.c.i: - $(MAKE) $(MAKESILENT) -f CMakeFiles/zlib.dir/build.make CMakeFiles/zlib.dir/crc32.c.i - $(MAKE) $(MAKESILENT) -f CMakeFiles/zlibstatic.dir/build.make CMakeFiles/zlibstatic.dir/crc32.c.i -.PHONY : crc32.c.i - -crc32.s: crc32.c.s -.PHONY : crc32.s - -# target to generate assembly for a file -crc32.c.s: - $(MAKE) $(MAKESILENT) -f CMakeFiles/zlib.dir/build.make CMakeFiles/zlib.dir/crc32.c.s - $(MAKE) $(MAKESILENT) -f CMakeFiles/zlibstatic.dir/build.make CMakeFiles/zlibstatic.dir/crc32.c.s -.PHONY : crc32.c.s - -deflate.o: deflate.c.o -.PHONY : deflate.o - -# target to build an object file -deflate.c.o: - $(MAKE) $(MAKESILENT) -f CMakeFiles/zlib.dir/build.make CMakeFiles/zlib.dir/deflate.c.o - $(MAKE) $(MAKESILENT) -f CMakeFiles/zlibstatic.dir/build.make CMakeFiles/zlibstatic.dir/deflate.c.o -.PHONY : deflate.c.o - -deflate.i: deflate.c.i -.PHONY : deflate.i - -# target to preprocess a source file -deflate.c.i: - $(MAKE) $(MAKESILENT) -f CMakeFiles/zlib.dir/build.make CMakeFiles/zlib.dir/deflate.c.i - $(MAKE) $(MAKESILENT) -f CMakeFiles/zlibstatic.dir/build.make CMakeFiles/zlibstatic.dir/deflate.c.i -.PHONY : deflate.c.i - -deflate.s: deflate.c.s -.PHONY : deflate.s - -# target to generate assembly for a file -deflate.c.s: - $(MAKE) $(MAKESILENT) -f CMakeFiles/zlib.dir/build.make CMakeFiles/zlib.dir/deflate.c.s - $(MAKE) $(MAKESILENT) -f CMakeFiles/zlibstatic.dir/build.make CMakeFiles/zlibstatic.dir/deflate.c.s -.PHONY : deflate.c.s - -gzclose.o: gzclose.c.o -.PHONY : gzclose.o - -# target to build an object file -gzclose.c.o: - $(MAKE) $(MAKESILENT) -f CMakeFiles/zlib.dir/build.make CMakeFiles/zlib.dir/gzclose.c.o - $(MAKE) $(MAKESILENT) -f CMakeFiles/zlibstatic.dir/build.make CMakeFiles/zlibstatic.dir/gzclose.c.o -.PHONY : gzclose.c.o - -gzclose.i: gzclose.c.i -.PHONY : gzclose.i - -# target to preprocess a source file -gzclose.c.i: - $(MAKE) $(MAKESILENT) -f CMakeFiles/zlib.dir/build.make CMakeFiles/zlib.dir/gzclose.c.i - $(MAKE) $(MAKESILENT) -f CMakeFiles/zlibstatic.dir/build.make CMakeFiles/zlibstatic.dir/gzclose.c.i -.PHONY : gzclose.c.i - -gzclose.s: gzclose.c.s -.PHONY : gzclose.s - -# target to generate assembly for a file -gzclose.c.s: - $(MAKE) $(MAKESILENT) -f CMakeFiles/zlib.dir/build.make CMakeFiles/zlib.dir/gzclose.c.s - $(MAKE) $(MAKESILENT) -f CMakeFiles/zlibstatic.dir/build.make CMakeFiles/zlibstatic.dir/gzclose.c.s -.PHONY : gzclose.c.s - -gzlib.o: gzlib.c.o -.PHONY : gzlib.o - -# target to build an object file -gzlib.c.o: - $(MAKE) $(MAKESILENT) -f CMakeFiles/zlib.dir/build.make CMakeFiles/zlib.dir/gzlib.c.o - $(MAKE) $(MAKESILENT) -f CMakeFiles/zlibstatic.dir/build.make CMakeFiles/zlibstatic.dir/gzlib.c.o -.PHONY : gzlib.c.o - -gzlib.i: gzlib.c.i -.PHONY : gzlib.i - -# target to preprocess a source file -gzlib.c.i: - $(MAKE) $(MAKESILENT) -f CMakeFiles/zlib.dir/build.make CMakeFiles/zlib.dir/gzlib.c.i - $(MAKE) $(MAKESILENT) -f CMakeFiles/zlibstatic.dir/build.make CMakeFiles/zlibstatic.dir/gzlib.c.i -.PHONY : gzlib.c.i - -gzlib.s: gzlib.c.s -.PHONY : gzlib.s - -# target to generate assembly for a file -gzlib.c.s: - $(MAKE) $(MAKESILENT) -f CMakeFiles/zlib.dir/build.make CMakeFiles/zlib.dir/gzlib.c.s - $(MAKE) $(MAKESILENT) -f CMakeFiles/zlibstatic.dir/build.make CMakeFiles/zlibstatic.dir/gzlib.c.s -.PHONY : gzlib.c.s - -gzread.o: gzread.c.o -.PHONY : gzread.o - -# target to build an object file -gzread.c.o: - $(MAKE) $(MAKESILENT) -f CMakeFiles/zlib.dir/build.make CMakeFiles/zlib.dir/gzread.c.o - $(MAKE) $(MAKESILENT) -f CMakeFiles/zlibstatic.dir/build.make CMakeFiles/zlibstatic.dir/gzread.c.o -.PHONY : gzread.c.o - -gzread.i: gzread.c.i -.PHONY : gzread.i - -# target to preprocess a source file -gzread.c.i: - $(MAKE) $(MAKESILENT) -f CMakeFiles/zlib.dir/build.make CMakeFiles/zlib.dir/gzread.c.i - $(MAKE) $(MAKESILENT) -f CMakeFiles/zlibstatic.dir/build.make CMakeFiles/zlibstatic.dir/gzread.c.i -.PHONY : gzread.c.i - -gzread.s: gzread.c.s -.PHONY : gzread.s - -# target to generate assembly for a file -gzread.c.s: - $(MAKE) $(MAKESILENT) -f CMakeFiles/zlib.dir/build.make CMakeFiles/zlib.dir/gzread.c.s - $(MAKE) $(MAKESILENT) -f CMakeFiles/zlibstatic.dir/build.make CMakeFiles/zlibstatic.dir/gzread.c.s -.PHONY : gzread.c.s - -gzwrite.o: gzwrite.c.o -.PHONY : gzwrite.o - -# target to build an object file -gzwrite.c.o: - $(MAKE) $(MAKESILENT) -f CMakeFiles/zlib.dir/build.make CMakeFiles/zlib.dir/gzwrite.c.o - $(MAKE) $(MAKESILENT) -f CMakeFiles/zlibstatic.dir/build.make CMakeFiles/zlibstatic.dir/gzwrite.c.o -.PHONY : gzwrite.c.o - -gzwrite.i: gzwrite.c.i -.PHONY : gzwrite.i - -# target to preprocess a source file -gzwrite.c.i: - $(MAKE) $(MAKESILENT) -f CMakeFiles/zlib.dir/build.make CMakeFiles/zlib.dir/gzwrite.c.i - $(MAKE) $(MAKESILENT) -f CMakeFiles/zlibstatic.dir/build.make CMakeFiles/zlibstatic.dir/gzwrite.c.i -.PHONY : gzwrite.c.i - -gzwrite.s: gzwrite.c.s -.PHONY : gzwrite.s - -# target to generate assembly for a file -gzwrite.c.s: - $(MAKE) $(MAKESILENT) -f CMakeFiles/zlib.dir/build.make CMakeFiles/zlib.dir/gzwrite.c.s - $(MAKE) $(MAKESILENT) -f CMakeFiles/zlibstatic.dir/build.make CMakeFiles/zlibstatic.dir/gzwrite.c.s -.PHONY : gzwrite.c.s - -infback.o: infback.c.o -.PHONY : infback.o - -# target to build an object file -infback.c.o: - $(MAKE) $(MAKESILENT) -f CMakeFiles/zlib.dir/build.make CMakeFiles/zlib.dir/infback.c.o - $(MAKE) $(MAKESILENT) -f CMakeFiles/zlibstatic.dir/build.make CMakeFiles/zlibstatic.dir/infback.c.o -.PHONY : infback.c.o - -infback.i: infback.c.i -.PHONY : infback.i - -# target to preprocess a source file -infback.c.i: - $(MAKE) $(MAKESILENT) -f CMakeFiles/zlib.dir/build.make CMakeFiles/zlib.dir/infback.c.i - $(MAKE) $(MAKESILENT) -f CMakeFiles/zlibstatic.dir/build.make CMakeFiles/zlibstatic.dir/infback.c.i -.PHONY : infback.c.i - -infback.s: infback.c.s -.PHONY : infback.s - -# target to generate assembly for a file -infback.c.s: - $(MAKE) $(MAKESILENT) -f CMakeFiles/zlib.dir/build.make CMakeFiles/zlib.dir/infback.c.s - $(MAKE) $(MAKESILENT) -f CMakeFiles/zlibstatic.dir/build.make CMakeFiles/zlibstatic.dir/infback.c.s -.PHONY : infback.c.s - -inffast.o: inffast.c.o -.PHONY : inffast.o - -# target to build an object file -inffast.c.o: - $(MAKE) $(MAKESILENT) -f CMakeFiles/zlib.dir/build.make CMakeFiles/zlib.dir/inffast.c.o - $(MAKE) $(MAKESILENT) -f CMakeFiles/zlibstatic.dir/build.make CMakeFiles/zlibstatic.dir/inffast.c.o -.PHONY : inffast.c.o - -inffast.i: inffast.c.i -.PHONY : inffast.i - -# target to preprocess a source file -inffast.c.i: - $(MAKE) $(MAKESILENT) -f CMakeFiles/zlib.dir/build.make CMakeFiles/zlib.dir/inffast.c.i - $(MAKE) $(MAKESILENT) -f CMakeFiles/zlibstatic.dir/build.make CMakeFiles/zlibstatic.dir/inffast.c.i -.PHONY : inffast.c.i - -inffast.s: inffast.c.s -.PHONY : inffast.s - -# target to generate assembly for a file -inffast.c.s: - $(MAKE) $(MAKESILENT) -f CMakeFiles/zlib.dir/build.make CMakeFiles/zlib.dir/inffast.c.s - $(MAKE) $(MAKESILENT) -f CMakeFiles/zlibstatic.dir/build.make CMakeFiles/zlibstatic.dir/inffast.c.s -.PHONY : inffast.c.s - -inflate.o: inflate.c.o -.PHONY : inflate.o - -# target to build an object file -inflate.c.o: - $(MAKE) $(MAKESILENT) -f CMakeFiles/zlib.dir/build.make CMakeFiles/zlib.dir/inflate.c.o - $(MAKE) $(MAKESILENT) -f CMakeFiles/zlibstatic.dir/build.make CMakeFiles/zlibstatic.dir/inflate.c.o -.PHONY : inflate.c.o - -inflate.i: inflate.c.i -.PHONY : inflate.i - -# target to preprocess a source file -inflate.c.i: - $(MAKE) $(MAKESILENT) -f CMakeFiles/zlib.dir/build.make CMakeFiles/zlib.dir/inflate.c.i - $(MAKE) $(MAKESILENT) -f CMakeFiles/zlibstatic.dir/build.make CMakeFiles/zlibstatic.dir/inflate.c.i -.PHONY : inflate.c.i - -inflate.s: inflate.c.s -.PHONY : inflate.s - -# target to generate assembly for a file -inflate.c.s: - $(MAKE) $(MAKESILENT) -f CMakeFiles/zlib.dir/build.make CMakeFiles/zlib.dir/inflate.c.s - $(MAKE) $(MAKESILENT) -f CMakeFiles/zlibstatic.dir/build.make CMakeFiles/zlibstatic.dir/inflate.c.s -.PHONY : inflate.c.s - -inftrees.o: inftrees.c.o -.PHONY : inftrees.o - -# target to build an object file -inftrees.c.o: - $(MAKE) $(MAKESILENT) -f CMakeFiles/zlib.dir/build.make CMakeFiles/zlib.dir/inftrees.c.o - $(MAKE) $(MAKESILENT) -f CMakeFiles/zlibstatic.dir/build.make CMakeFiles/zlibstatic.dir/inftrees.c.o -.PHONY : inftrees.c.o - -inftrees.i: inftrees.c.i -.PHONY : inftrees.i - -# target to preprocess a source file -inftrees.c.i: - $(MAKE) $(MAKESILENT) -f CMakeFiles/zlib.dir/build.make CMakeFiles/zlib.dir/inftrees.c.i - $(MAKE) $(MAKESILENT) -f CMakeFiles/zlibstatic.dir/build.make CMakeFiles/zlibstatic.dir/inftrees.c.i -.PHONY : inftrees.c.i - -inftrees.s: inftrees.c.s -.PHONY : inftrees.s - -# target to generate assembly for a file -inftrees.c.s: - $(MAKE) $(MAKESILENT) -f CMakeFiles/zlib.dir/build.make CMakeFiles/zlib.dir/inftrees.c.s - $(MAKE) $(MAKESILENT) -f CMakeFiles/zlibstatic.dir/build.make CMakeFiles/zlibstatic.dir/inftrees.c.s -.PHONY : inftrees.c.s - -test/example.o: test/example.c.o -.PHONY : test/example.o - -# target to build an object file -test/example.c.o: - $(MAKE) $(MAKESILENT) -f CMakeFiles/example.dir/build.make CMakeFiles/example.dir/test/example.c.o - $(MAKE) $(MAKESILENT) -f CMakeFiles/example64.dir/build.make CMakeFiles/example64.dir/test/example.c.o -.PHONY : test/example.c.o - -test/example.i: test/example.c.i -.PHONY : test/example.i - -# target to preprocess a source file -test/example.c.i: - $(MAKE) $(MAKESILENT) -f CMakeFiles/example.dir/build.make CMakeFiles/example.dir/test/example.c.i - $(MAKE) $(MAKESILENT) -f CMakeFiles/example64.dir/build.make CMakeFiles/example64.dir/test/example.c.i -.PHONY : test/example.c.i - -test/example.s: test/example.c.s -.PHONY : test/example.s - -# target to generate assembly for a file -test/example.c.s: - $(MAKE) $(MAKESILENT) -f CMakeFiles/example.dir/build.make CMakeFiles/example.dir/test/example.c.s - $(MAKE) $(MAKESILENT) -f CMakeFiles/example64.dir/build.make CMakeFiles/example64.dir/test/example.c.s -.PHONY : test/example.c.s - -test/minigzip.o: test/minigzip.c.o -.PHONY : test/minigzip.o - -# target to build an object file -test/minigzip.c.o: - $(MAKE) $(MAKESILENT) -f CMakeFiles/minigzip.dir/build.make CMakeFiles/minigzip.dir/test/minigzip.c.o - $(MAKE) $(MAKESILENT) -f CMakeFiles/minigzip64.dir/build.make CMakeFiles/minigzip64.dir/test/minigzip.c.o -.PHONY : test/minigzip.c.o - -test/minigzip.i: test/minigzip.c.i -.PHONY : test/minigzip.i - -# target to preprocess a source file -test/minigzip.c.i: - $(MAKE) $(MAKESILENT) -f CMakeFiles/minigzip.dir/build.make CMakeFiles/minigzip.dir/test/minigzip.c.i - $(MAKE) $(MAKESILENT) -f CMakeFiles/minigzip64.dir/build.make CMakeFiles/minigzip64.dir/test/minigzip.c.i -.PHONY : test/minigzip.c.i - -test/minigzip.s: test/minigzip.c.s -.PHONY : test/minigzip.s - -# target to generate assembly for a file -test/minigzip.c.s: - $(MAKE) $(MAKESILENT) -f CMakeFiles/minigzip.dir/build.make CMakeFiles/minigzip.dir/test/minigzip.c.s - $(MAKE) $(MAKESILENT) -f CMakeFiles/minigzip64.dir/build.make CMakeFiles/minigzip64.dir/test/minigzip.c.s -.PHONY : test/minigzip.c.s - -trees.o: trees.c.o -.PHONY : trees.o - -# target to build an object file -trees.c.o: - $(MAKE) $(MAKESILENT) -f CMakeFiles/zlib.dir/build.make CMakeFiles/zlib.dir/trees.c.o - $(MAKE) $(MAKESILENT) -f CMakeFiles/zlibstatic.dir/build.make CMakeFiles/zlibstatic.dir/trees.c.o -.PHONY : trees.c.o - -trees.i: trees.c.i -.PHONY : trees.i - -# target to preprocess a source file -trees.c.i: - $(MAKE) $(MAKESILENT) -f CMakeFiles/zlib.dir/build.make CMakeFiles/zlib.dir/trees.c.i - $(MAKE) $(MAKESILENT) -f CMakeFiles/zlibstatic.dir/build.make CMakeFiles/zlibstatic.dir/trees.c.i -.PHONY : trees.c.i - -trees.s: trees.c.s -.PHONY : trees.s - -# target to generate assembly for a file -trees.c.s: - $(MAKE) $(MAKESILENT) -f CMakeFiles/zlib.dir/build.make CMakeFiles/zlib.dir/trees.c.s - $(MAKE) $(MAKESILENT) -f CMakeFiles/zlibstatic.dir/build.make CMakeFiles/zlibstatic.dir/trees.c.s -.PHONY : trees.c.s - -uncompr.o: uncompr.c.o -.PHONY : uncompr.o - -# target to build an object file -uncompr.c.o: - $(MAKE) $(MAKESILENT) -f CMakeFiles/zlib.dir/build.make CMakeFiles/zlib.dir/uncompr.c.o - $(MAKE) $(MAKESILENT) -f CMakeFiles/zlibstatic.dir/build.make CMakeFiles/zlibstatic.dir/uncompr.c.o -.PHONY : uncompr.c.o - -uncompr.i: uncompr.c.i -.PHONY : uncompr.i - -# target to preprocess a source file -uncompr.c.i: - $(MAKE) $(MAKESILENT) -f CMakeFiles/zlib.dir/build.make CMakeFiles/zlib.dir/uncompr.c.i - $(MAKE) $(MAKESILENT) -f CMakeFiles/zlibstatic.dir/build.make CMakeFiles/zlibstatic.dir/uncompr.c.i -.PHONY : uncompr.c.i - -uncompr.s: uncompr.c.s -.PHONY : uncompr.s - -# target to generate assembly for a file -uncompr.c.s: - $(MAKE) $(MAKESILENT) -f CMakeFiles/zlib.dir/build.make CMakeFiles/zlib.dir/uncompr.c.s - $(MAKE) $(MAKESILENT) -f CMakeFiles/zlibstatic.dir/build.make CMakeFiles/zlibstatic.dir/uncompr.c.s -.PHONY : uncompr.c.s - -zutil.o: zutil.c.o -.PHONY : zutil.o - -# target to build an object file -zutil.c.o: - $(MAKE) $(MAKESILENT) -f CMakeFiles/zlib.dir/build.make CMakeFiles/zlib.dir/zutil.c.o - $(MAKE) $(MAKESILENT) -f CMakeFiles/zlibstatic.dir/build.make CMakeFiles/zlibstatic.dir/zutil.c.o -.PHONY : zutil.c.o - -zutil.i: zutil.c.i -.PHONY : zutil.i - -# target to preprocess a source file -zutil.c.i: - $(MAKE) $(MAKESILENT) -f CMakeFiles/zlib.dir/build.make CMakeFiles/zlib.dir/zutil.c.i - $(MAKE) $(MAKESILENT) -f CMakeFiles/zlibstatic.dir/build.make CMakeFiles/zlibstatic.dir/zutil.c.i -.PHONY : zutil.c.i - -zutil.s: zutil.c.s -.PHONY : zutil.s - -# target to generate assembly for a file -zutil.c.s: - $(MAKE) $(MAKESILENT) -f CMakeFiles/zlib.dir/build.make CMakeFiles/zlib.dir/zutil.c.s - $(MAKE) $(MAKESILENT) -f CMakeFiles/zlibstatic.dir/build.make CMakeFiles/zlibstatic.dir/zutil.c.s -.PHONY : zutil.c.s - -# Help Target -help: - @echo "The following are some of the valid targets for this Makefile:" - @echo "... all (the default if no target is provided)" - @echo "... clean" - @echo "... depend" - @echo "... edit_cache" - @echo "... install" - @echo "... install/local" - @echo "... install/strip" - @echo "... list_install_components" - @echo "... rebuild_cache" - @echo "... test" - @echo "... example" - @echo "... example64" - @echo "... minigzip" - @echo "... minigzip64" - @echo "... zlib" - @echo "... zlibstatic" - @echo "... adler32.o" - @echo "... adler32.i" - @echo "... adler32.s" - @echo "... compress.o" - @echo "... compress.i" - @echo "... compress.s" - @echo "... crc32.o" - @echo "... crc32.i" - @echo "... crc32.s" - @echo "... deflate.o" - @echo "... deflate.i" - @echo "... deflate.s" - @echo "... gzclose.o" - @echo "... gzclose.i" - @echo "... gzclose.s" - @echo "... gzlib.o" - @echo "... gzlib.i" - @echo "... gzlib.s" - @echo "... gzread.o" - @echo "... gzread.i" - @echo "... gzread.s" - @echo "... gzwrite.o" - @echo "... gzwrite.i" - @echo "... gzwrite.s" - @echo "... infback.o" - @echo "... infback.i" - @echo "... infback.s" - @echo "... inffast.o" - @echo "... inffast.i" - @echo "... inffast.s" - @echo "... inflate.o" - @echo "... inflate.i" - @echo "... inflate.s" - @echo "... inftrees.o" - @echo "... inftrees.i" - @echo "... inftrees.s" - @echo "... test/example.o" - @echo "... test/example.i" - @echo "... test/example.s" - @echo "... test/minigzip.o" - @echo "... test/minigzip.i" - @echo "... test/minigzip.s" - @echo "... trees.o" - @echo "... trees.i" - @echo "... trees.s" - @echo "... uncompr.o" - @echo "... uncompr.i" - @echo "... uncompr.s" - @echo "... zutil.o" - @echo "... zutil.i" - @echo "... zutil.s" -.PHONY : help - - - -#============================================================================= -# Special targets to cleanup operation of make. - -# Special rule to run CMake to check the build system integrity. -# No rule that depends on this can have commands that come from listfiles -# because they might be regenerated. -cmake_check_build_system: - $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0 -.PHONY : cmake_check_build_system - diff --git a/thirdparty/zlib-1.3.1/build-emcmake/cmake_install.cmake b/thirdparty/zlib-1.3.1/build-emcmake/cmake_install.cmake deleted file mode 100644 index a8ae607..0000000 --- a/thirdparty/zlib-1.3.1/build-emcmake/cmake_install.cmake +++ /dev/null @@ -1,112 +0,0 @@ -# Install script for directory: /home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1 - -# Set the install prefix -if(NOT DEFINED CMAKE_INSTALL_PREFIX) - set(CMAKE_INSTALL_PREFIX "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/install") -endif() -string(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}") - -# Set the install configuration name. -if(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME) - if(BUILD_TYPE) - string(REGEX REPLACE "^[^A-Za-z0-9_]+" "" - CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}") - else() - set(CMAKE_INSTALL_CONFIG_NAME "") - endif() - message(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"") -endif() - -# Set the component getting installed. -if(NOT CMAKE_INSTALL_COMPONENT) - if(COMPONENT) - message(STATUS "Install component: \"${COMPONENT}\"") - set(CMAKE_INSTALL_COMPONENT "${COMPONENT}") - else() - set(CMAKE_INSTALL_COMPONENT) - endif() -endif() - -# Is this installation the result of a crosscompile? -if(NOT DEFINED CMAKE_CROSSCOMPILING) - set(CMAKE_CROSSCOMPILING "TRUE") -endif() - -# Set default install directory permissions. -if(NOT DEFINED CMAKE_OBJDUMP) - set(CMAKE_OBJDUMP "/usr/bin/objdump") -endif() - -if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) - list(APPEND CMAKE_ABSOLUTE_DESTINATION_FILES - "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/install/lib/libz.a") - if(CMAKE_WARN_ON_ABSOLUTE_INSTALL_DESTINATION) - message(WARNING "ABSOLUTE path INSTALL DESTINATION : ${CMAKE_ABSOLUTE_DESTINATION_FILES}") - endif() - if(CMAKE_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION) - message(FATAL_ERROR "ABSOLUTE path INSTALL DESTINATION forbidden (by caller): ${CMAKE_ABSOLUTE_DESTINATION_FILES}") - endif() - file(INSTALL DESTINATION "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/install/lib" TYPE STATIC_LIBRARY FILES "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/build-emcmake/libz.a") -endif() - -if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) - list(APPEND CMAKE_ABSOLUTE_DESTINATION_FILES - "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/install/lib/libz.a") - if(CMAKE_WARN_ON_ABSOLUTE_INSTALL_DESTINATION) - message(WARNING "ABSOLUTE path INSTALL DESTINATION : ${CMAKE_ABSOLUTE_DESTINATION_FILES}") - endif() - if(CMAKE_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION) - message(FATAL_ERROR "ABSOLUTE path INSTALL DESTINATION forbidden (by caller): ${CMAKE_ABSOLUTE_DESTINATION_FILES}") - endif() - file(INSTALL DESTINATION "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/install/lib" TYPE STATIC_LIBRARY FILES "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/build-emcmake/libz.a") -endif() - -if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) - list(APPEND CMAKE_ABSOLUTE_DESTINATION_FILES - "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/install/include/zconf.h;/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/install/include/zlib.h") - if(CMAKE_WARN_ON_ABSOLUTE_INSTALL_DESTINATION) - message(WARNING "ABSOLUTE path INSTALL DESTINATION : ${CMAKE_ABSOLUTE_DESTINATION_FILES}") - endif() - if(CMAKE_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION) - message(FATAL_ERROR "ABSOLUTE path INSTALL DESTINATION forbidden (by caller): ${CMAKE_ABSOLUTE_DESTINATION_FILES}") - endif() - file(INSTALL DESTINATION "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/install/include" TYPE FILE FILES - "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/build-emcmake/zconf.h" - "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/zlib.h" - ) -endif() - -if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) - list(APPEND CMAKE_ABSOLUTE_DESTINATION_FILES - "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/install/share/man/man3/zlib.3") - if(CMAKE_WARN_ON_ABSOLUTE_INSTALL_DESTINATION) - message(WARNING "ABSOLUTE path INSTALL DESTINATION : ${CMAKE_ABSOLUTE_DESTINATION_FILES}") - endif() - if(CMAKE_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION) - message(FATAL_ERROR "ABSOLUTE path INSTALL DESTINATION forbidden (by caller): ${CMAKE_ABSOLUTE_DESTINATION_FILES}") - endif() - file(INSTALL DESTINATION "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/install/share/man/man3" TYPE FILE FILES "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/zlib.3") -endif() - -if(CMAKE_INSTALL_COMPONENT STREQUAL "Unspecified" OR NOT CMAKE_INSTALL_COMPONENT) - list(APPEND CMAKE_ABSOLUTE_DESTINATION_FILES - "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/install/share/pkgconfig/zlib.pc") - if(CMAKE_WARN_ON_ABSOLUTE_INSTALL_DESTINATION) - message(WARNING "ABSOLUTE path INSTALL DESTINATION : ${CMAKE_ABSOLUTE_DESTINATION_FILES}") - endif() - if(CMAKE_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION) - message(FATAL_ERROR "ABSOLUTE path INSTALL DESTINATION forbidden (by caller): ${CMAKE_ABSOLUTE_DESTINATION_FILES}") - endif() - file(INSTALL DESTINATION "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/install/share/pkgconfig" TYPE FILE FILES "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/build-emcmake/zlib.pc") -endif() - -if(CMAKE_INSTALL_COMPONENT) - set(CMAKE_INSTALL_MANIFEST "install_manifest_${CMAKE_INSTALL_COMPONENT}.txt") -else() - set(CMAKE_INSTALL_MANIFEST "install_manifest.txt") -endif() - -string(REPLACE ";" "\n" CMAKE_INSTALL_MANIFEST_CONTENT - "${CMAKE_INSTALL_MANIFEST_FILES}") -file(WRITE "/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/build-emcmake/${CMAKE_INSTALL_MANIFEST}" - "${CMAKE_INSTALL_MANIFEST_CONTENT}") diff --git a/thirdparty/zlib-1.3.1/build-emcmake/example.js b/thirdparty/zlib-1.3.1/build-emcmake/example.js deleted file mode 100644 index ba2ef2b..0000000 --- a/thirdparty/zlib-1.3.1/build-emcmake/example.js +++ /dev/null @@ -1,4342 +0,0 @@ -// include: shell.js -// The Module object: Our interface to the outside world. We import -// and export values on it. There are various ways Module can be used: -// 1. Not defined. We create it here -// 2. A function parameter, function(moduleArg) => Promise -// 3. pre-run appended it, var Module = {}; ..generated code.. -// 4. External script tag defines var Module. -// We need to check if Module already exists (e.g. case 3 above). -// Substitution will be replaced with actual code on later stage of the build, -// this way Closure Compiler will not mangle it (e.g. case 4. above). -// Note that if you want to run closure, and also to use Module -// after the generated code, you will need to define var Module = {}; -// before the code. Then that object will be used in the code, and you -// can continue to use Module afterwards as well. -var Module = typeof Module != 'undefined' ? Module : {}; - -// Determine the runtime environment we are in. You can customize this by -// setting the ENVIRONMENT setting at compile time (see settings.js). - -// Attempt to auto-detect the environment -var ENVIRONMENT_IS_WEB = typeof window == 'object'; -var ENVIRONMENT_IS_WORKER = typeof WorkerGlobalScope != 'undefined'; -// N.b. Electron.js environment is simultaneously a NODE-environment, but -// also a web environment. -var ENVIRONMENT_IS_NODE = typeof process == 'object' && typeof process.versions == 'object' && typeof process.versions.node == 'string' && process.type != 'renderer'; -var ENVIRONMENT_IS_SHELL = !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_NODE && !ENVIRONMENT_IS_WORKER; - -if (ENVIRONMENT_IS_NODE) { - -} - -// --pre-jses are emitted after the Module integration code, so that they can -// refer to Module (if they choose; they can also define Module) - - -// Sometimes an existing Module object exists with properties -// meant to overwrite the default module functionality. Here -// we collect those properties and reapply _after_ we configure -// the current environment's defaults to avoid having to be so -// defensive during initialization. -var moduleOverrides = {...Module}; - -var arguments_ = []; -var thisProgram = './this.program'; -var quit_ = (status, toThrow) => { - throw toThrow; -}; - -// `/` should be present at the end if `scriptDirectory` is not empty -var scriptDirectory = ''; -function locateFile(path) { - if (Module['locateFile']) { - return Module['locateFile'](path, scriptDirectory); - } - return scriptDirectory + path; -} - -// Hooks that are implemented differently in different runtime environments. -var readAsync, readBinary; - -if (ENVIRONMENT_IS_NODE) { - if (typeof process == 'undefined' || !process.release || process.release.name !== 'node') throw new Error('not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)'); - - var nodeVersion = process.versions.node; - var numericVersion = nodeVersion.split('.').slice(0, 3); - numericVersion = (numericVersion[0] * 10000) + (numericVersion[1] * 100) + (numericVersion[2].split('-')[0] * 1); - var minVersion = 160000; - if (numericVersion < 160000) { - throw new Error('This emscripten-generated code requires node v16.0.0 (detected v' + nodeVersion + ')'); - } - - // These modules will usually be used on Node.js. Load them eagerly to avoid - // the complexity of lazy-loading. - var fs = require('fs'); - var nodePath = require('path'); - - scriptDirectory = __dirname + '/'; - -// include: node_shell_read.js -readBinary = (filename) => { - // We need to re-wrap `file://` strings to URLs. - filename = isFileURI(filename) ? new URL(filename) : filename; - var ret = fs.readFileSync(filename); - assert(Buffer.isBuffer(ret)); - return ret; -}; - -readAsync = async (filename, binary = true) => { - // See the comment in the `readBinary` function. - filename = isFileURI(filename) ? new URL(filename) : filename; - var ret = fs.readFileSync(filename, binary ? undefined : 'utf8'); - assert(binary ? Buffer.isBuffer(ret) : typeof ret == 'string'); - return ret; -}; -// end include: node_shell_read.js - if (!Module['thisProgram'] && process.argv.length > 1) { - thisProgram = process.argv[1].replace(/\\/g, '/'); - } - - arguments_ = process.argv.slice(2); - - if (typeof module != 'undefined') { - module['exports'] = Module; - } - - quit_ = (status, toThrow) => { - process.exitCode = status; - throw toThrow; - }; - -} else -if (ENVIRONMENT_IS_SHELL) { - - if ((typeof process == 'object' && typeof require === 'function') || typeof window == 'object' || typeof WorkerGlobalScope != 'undefined') throw new Error('not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)'); - -} else - -// Note that this includes Node.js workers when relevant (pthreads is enabled). -// Node.js workers are detected as a combination of ENVIRONMENT_IS_WORKER and -// ENVIRONMENT_IS_NODE. -if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) { - if (ENVIRONMENT_IS_WORKER) { // Check worker, not web, since window could be polyfilled - scriptDirectory = self.location.href; - } else if (typeof document != 'undefined' && document.currentScript) { // web - scriptDirectory = document.currentScript.src; - } - // blob urls look like blob:http://site.com/etc/etc and we cannot infer anything from them. - // otherwise, slice off the final part of the url to find the script directory. - // if scriptDirectory does not contain a slash, lastIndexOf will return -1, - // and scriptDirectory will correctly be replaced with an empty string. - // If scriptDirectory contains a query (starting with ?) or a fragment (starting with #), - // they are removed because they could contain a slash. - if (scriptDirectory.startsWith('blob:')) { - scriptDirectory = ''; - } else { - scriptDirectory = scriptDirectory.slice(0, scriptDirectory.replace(/[?#].*/, '').lastIndexOf('/')+1); - } - - if (!(typeof window == 'object' || typeof WorkerGlobalScope != 'undefined')) throw new Error('not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)'); - - { -// include: web_or_worker_shell_read.js -if (ENVIRONMENT_IS_WORKER) { - readBinary = (url) => { - var xhr = new XMLHttpRequest(); - xhr.open('GET', url, false); - xhr.responseType = 'arraybuffer'; - xhr.send(null); - return new Uint8Array(/** @type{!ArrayBuffer} */(xhr.response)); - }; - } - - readAsync = async (url) => { - // Fetch has some additional restrictions over XHR, like it can't be used on a file:// url. - // See https://github.com/github/fetch/pull/92#issuecomment-140665932 - // Cordova or Electron apps are typically loaded from a file:// url. - // So use XHR on webview if URL is a file URL. - if (isFileURI(url)) { - return new Promise((resolve, reject) => { - var xhr = new XMLHttpRequest(); - xhr.open('GET', url, true); - xhr.responseType = 'arraybuffer'; - xhr.onload = () => { - if (xhr.status == 200 || (xhr.status == 0 && xhr.response)) { // file URLs can return 0 - resolve(xhr.response); - return; - } - reject(xhr.status); - }; - xhr.onerror = reject; - xhr.send(null); - }); - } - var response = await fetch(url, { credentials: 'same-origin' }); - if (response.ok) { - return response.arrayBuffer(); - } - throw new Error(response.status + ' : ' + response.url); - }; -// end include: web_or_worker_shell_read.js - } -} else -{ - throw new Error('environment detection error'); -} - -var out = Module['print'] || console.log.bind(console); -var err = Module['printErr'] || console.error.bind(console); - -// Merge back in the overrides -Object.assign(Module, moduleOverrides); -// Free the object hierarchy contained in the overrides, this lets the GC -// reclaim data used. -moduleOverrides = null; -checkIncomingModuleAPI(); - -// Emit code to handle expected values on the Module object. This applies Module.x -// to the proper local x. This has two benefits: first, we only emit it if it is -// expected to arrive, and second, by using a local everywhere else that can be -// minified. - -if (Module['arguments']) arguments_ = Module['arguments'];legacyModuleProp('arguments', 'arguments_'); - -if (Module['thisProgram']) thisProgram = Module['thisProgram'];legacyModuleProp('thisProgram', 'thisProgram'); - -// perform assertions in shell.js after we set up out() and err(), as otherwise if an assertion fails it cannot print the message -// Assertions on removed incoming Module JS APIs. -assert(typeof Module['memoryInitializerPrefixURL'] == 'undefined', 'Module.memoryInitializerPrefixURL option was removed, use Module.locateFile instead'); -assert(typeof Module['pthreadMainPrefixURL'] == 'undefined', 'Module.pthreadMainPrefixURL option was removed, use Module.locateFile instead'); -assert(typeof Module['cdInitializerPrefixURL'] == 'undefined', 'Module.cdInitializerPrefixURL option was removed, use Module.locateFile instead'); -assert(typeof Module['filePackagePrefixURL'] == 'undefined', 'Module.filePackagePrefixURL option was removed, use Module.locateFile instead'); -assert(typeof Module['read'] == 'undefined', 'Module.read option was removed'); -assert(typeof Module['readAsync'] == 'undefined', 'Module.readAsync option was removed (modify readAsync in JS)'); -assert(typeof Module['readBinary'] == 'undefined', 'Module.readBinary option was removed (modify readBinary in JS)'); -assert(typeof Module['setWindowTitle'] == 'undefined', 'Module.setWindowTitle option was removed (modify emscripten_set_window_title in JS)'); -assert(typeof Module['TOTAL_MEMORY'] == 'undefined', 'Module.TOTAL_MEMORY has been renamed Module.INITIAL_MEMORY'); -legacyModuleProp('asm', 'wasmExports'); -legacyModuleProp('readAsync', 'readAsync'); -legacyModuleProp('readBinary', 'readBinary'); -legacyModuleProp('setWindowTitle', 'setWindowTitle'); -var IDBFS = 'IDBFS is no longer included by default; build with -lidbfs.js'; -var PROXYFS = 'PROXYFS is no longer included by default; build with -lproxyfs.js'; -var WORKERFS = 'WORKERFS is no longer included by default; build with -lworkerfs.js'; -var FETCHFS = 'FETCHFS is no longer included by default; build with -lfetchfs.js'; -var ICASEFS = 'ICASEFS is no longer included by default; build with -licasefs.js'; -var JSFILEFS = 'JSFILEFS is no longer included by default; build with -ljsfilefs.js'; -var OPFS = 'OPFS is no longer included by default; build with -lopfs.js'; - -var NODEFS = 'NODEFS is no longer included by default; build with -lnodefs.js'; - -assert(!ENVIRONMENT_IS_SHELL, 'shell environment detected but not enabled at build time. Add `shell` to `-sENVIRONMENT` to enable.'); - -// end include: shell.js - -// include: preamble.js -// === Preamble library stuff === - -// Documentation for the public APIs defined in this file must be updated in: -// site/source/docs/api_reference/preamble.js.rst -// A prebuilt local version of the documentation is available at: -// site/build/text/docs/api_reference/preamble.js.txt -// You can also build docs locally as HTML or other formats in site/ -// An online HTML version (which may be of a different version of Emscripten) -// is up at http://kripken.github.io/emscripten-site/docs/api_reference/preamble.js.html - -var wasmBinary = Module['wasmBinary'];legacyModuleProp('wasmBinary', 'wasmBinary'); - -if (typeof WebAssembly != 'object') { - err('no native wasm support detected'); -} - -// Wasm globals - -var wasmMemory; - -//======================================== -// Runtime essentials -//======================================== - -// whether we are quitting the application. no code should run after this. -// set in exit() and abort() -var ABORT = false; - -// set by exit() and abort(). Passed to 'onExit' handler. -// NOTE: This is also used as the process return code code in shell environments -// but only when noExitRuntime is false. -var EXITSTATUS; - -// In STRICT mode, we only define assert() when ASSERTIONS is set. i.e. we -// don't define it at all in release modes. This matches the behaviour of -// MINIMAL_RUNTIME. -// TODO(sbc): Make this the default even without STRICT enabled. -/** @type {function(*, string=)} */ -function assert(condition, text) { - if (!condition) { - abort('Assertion failed' + (text ? ': ' + text : '')); - } -} - -// We used to include malloc/free by default in the past. Show a helpful error in -// builds with assertions. -function _malloc() { - abort('malloc() called but not included in the build - add `_malloc` to EXPORTED_FUNCTIONS'); -} -function _free() { - // Show a helpful error since we used to include free by default in the past. - abort('free() called but not included in the build - add `_free` to EXPORTED_FUNCTIONS'); -} - -// Memory management - -var HEAP, -/** @type {!Int8Array} */ - HEAP8, -/** @type {!Uint8Array} */ - HEAPU8, -/** @type {!Int16Array} */ - HEAP16, -/** @type {!Uint16Array} */ - HEAPU16, -/** @type {!Int32Array} */ - HEAP32, -/** @type {!Uint32Array} */ - HEAPU32, -/** @type {!Float32Array} */ - HEAPF32, -/* BigInt64Array type is not correctly defined in closure -/** not-@type {!BigInt64Array} */ - HEAP64, -/* BigUint64Array type is not correctly defined in closure -/** not-t@type {!BigUint64Array} */ - HEAPU64, -/** @type {!Float64Array} */ - HEAPF64; - -var runtimeInitialized = false; - -/** - * Indicates whether filename is delivered via file protocol (as opposed to http/https) - * @noinline - */ -var isFileURI = (filename) => filename.startsWith('file://'); - -// include: runtime_shared.js -// include: runtime_stack_check.js -// Initializes the stack cookie. Called at the startup of main and at the startup of each thread in pthreads mode. -function writeStackCookie() { - var max = _emscripten_stack_get_end(); - assert((max & 3) == 0); - // If the stack ends at address zero we write our cookies 4 bytes into the - // stack. This prevents interference with SAFE_HEAP and ASAN which also - // monitor writes to address zero. - if (max == 0) { - max += 4; - } - // The stack grow downwards towards _emscripten_stack_get_end. - // We write cookies to the final two words in the stack and detect if they are - // ever overwritten. - HEAPU32[((max)>>2)] = 0x02135467; - HEAPU32[(((max)+(4))>>2)] = 0x89BACDFE; - // Also test the global address 0 for integrity. - HEAPU32[((0)>>2)] = 1668509029; -} - -function checkStackCookie() { - if (ABORT) return; - var max = _emscripten_stack_get_end(); - // See writeStackCookie(). - if (max == 0) { - max += 4; - } - var cookie1 = HEAPU32[((max)>>2)]; - var cookie2 = HEAPU32[(((max)+(4))>>2)]; - if (cookie1 != 0x02135467 || cookie2 != 0x89BACDFE) { - abort(`Stack overflow! Stack cookie has been overwritten at ${ptrToString(max)}, expected hex dwords 0x89BACDFE and 0x2135467, but received ${ptrToString(cookie2)} ${ptrToString(cookie1)}`); - } - // Also test the global address 0 for integrity. - if (HEAPU32[((0)>>2)] != 0x63736d65 /* 'emsc' */) { - abort('Runtime error: The application has corrupted its heap memory area (address zero)!'); - } -} -// end include: runtime_stack_check.js -// include: runtime_exceptions.js -// end include: runtime_exceptions.js -// include: runtime_debug.js -// Endianness check -(() => { - var h16 = new Int16Array(1); - var h8 = new Int8Array(h16.buffer); - h16[0] = 0x6373; - if (h8[0] !== 0x73 || h8[1] !== 0x63) throw 'Runtime error: expected the system to be little-endian! (Run with -sSUPPORT_BIG_ENDIAN to bypass)'; -})(); - -if (Module['ENVIRONMENT']) { - throw new Error('Module.ENVIRONMENT has been deprecated. To force the environment, use the ENVIRONMENT compile-time option (for example, -sENVIRONMENT=web or -sENVIRONMENT=node)'); -} - -function legacyModuleProp(prop, newName, incoming=true) { - if (!Object.getOwnPropertyDescriptor(Module, prop)) { - Object.defineProperty(Module, prop, { - configurable: true, - get() { - let extra = incoming ? ' (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)' : ''; - abort(`\`Module.${prop}\` has been replaced by \`${newName}\`` + extra); - - } - }); - } -} - -function consumedModuleProp(prop) { - if (!Object.getOwnPropertyDescriptor(Module, prop)) { - Object.defineProperty(Module, prop, { - configurable: true, - set() { - abort(`Attempt to set \`Module.${prop}\` after it has already been processed. This can happen, for example, when code is injected via '--post-js' rather than '--pre-js'`); - - } - }); - } -} - -function ignoredModuleProp(prop) { - if (Object.getOwnPropertyDescriptor(Module, prop)) { - abort(`\`Module.${prop}\` was supplied but \`${prop}\` not included in INCOMING_MODULE_JS_API`); - } -} - -// forcing the filesystem exports a few things by default -function isExportedByForceFilesystem(name) { - return name === 'FS_createPath' || - name === 'FS_createDataFile' || - name === 'FS_createPreloadedFile' || - name === 'FS_unlink' || - name === 'addRunDependency' || - // The old FS has some functionality that WasmFS lacks. - name === 'FS_createLazyFile' || - name === 'FS_createDevice' || - name === 'removeRunDependency'; -} - -/** - * Intercept access to a global symbol. This enables us to give informative - * warnings/errors when folks attempt to use symbols they did not include in - * their build, or no symbols that no longer exist. - */ -function hookGlobalSymbolAccess(sym, func) { - if (typeof globalThis != 'undefined' && !Object.getOwnPropertyDescriptor(globalThis, sym)) { - Object.defineProperty(globalThis, sym, { - configurable: true, - get() { - func(); - return undefined; - } - }); - } -} - -function missingGlobal(sym, msg) { - hookGlobalSymbolAccess(sym, () => { - warnOnce(`\`${sym}\` is not longer defined by emscripten. ${msg}`); - }); -} - -missingGlobal('buffer', 'Please use HEAP8.buffer or wasmMemory.buffer'); -missingGlobal('asm', 'Please use wasmExports instead'); - -function missingLibrarySymbol(sym) { - hookGlobalSymbolAccess(sym, () => { - // Can't `abort()` here because it would break code that does runtime - // checks. e.g. `if (typeof SDL === 'undefined')`. - var msg = `\`${sym}\` is a library symbol and not included by default; add it to your library.js __deps or to DEFAULT_LIBRARY_FUNCS_TO_INCLUDE on the command line`; - // DEFAULT_LIBRARY_FUNCS_TO_INCLUDE requires the name as it appears in - // library.js, which means $name for a JS name with no prefix, or name - // for a JS name like _name. - var librarySymbol = sym; - if (!librarySymbol.startsWith('_')) { - librarySymbol = '$' + sym; - } - msg += ` (e.g. -sDEFAULT_LIBRARY_FUNCS_TO_INCLUDE='${librarySymbol}')`; - if (isExportedByForceFilesystem(sym)) { - msg += '. Alternatively, forcing filesystem support (-sFORCE_FILESYSTEM) can export this for you'; - } - warnOnce(msg); - }); - - // Any symbol that is not included from the JS library is also (by definition) - // not exported on the Module object. - unexportedRuntimeSymbol(sym); -} - -function unexportedRuntimeSymbol(sym) { - if (!Object.getOwnPropertyDescriptor(Module, sym)) { - Object.defineProperty(Module, sym, { - configurable: true, - get() { - var msg = `'${sym}' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the Emscripten FAQ)`; - if (isExportedByForceFilesystem(sym)) { - msg += '. Alternatively, forcing filesystem support (-sFORCE_FILESYSTEM) can export this for you'; - } - abort(msg); - } - }); - } -} - -var runtimeDebug = true; // Switch to false at runtime to disable logging at the right times - -// Used by XXXXX_DEBUG settings to output debug messages. -function dbg(...args) { - if (!runtimeDebug && typeof runtimeDebug != 'undefined') return; - // TODO(sbc): Make this configurable somehow. Its not always convenient for - // logging to show up as warnings. - console.warn(...args); -} -// end include: runtime_debug.js -// include: memoryprofiler.js -// end include: memoryprofiler.js - - -function updateMemoryViews() { - var b = wasmMemory.buffer; - Module['HEAP8'] = HEAP8 = new Int8Array(b); - Module['HEAP16'] = HEAP16 = new Int16Array(b); - Module['HEAPU8'] = HEAPU8 = new Uint8Array(b); - Module['HEAPU16'] = HEAPU16 = new Uint16Array(b); - Module['HEAP32'] = HEAP32 = new Int32Array(b); - Module['HEAPU32'] = HEAPU32 = new Uint32Array(b); - Module['HEAPF32'] = HEAPF32 = new Float32Array(b); - Module['HEAPF64'] = HEAPF64 = new Float64Array(b); - Module['HEAP64'] = HEAP64 = new BigInt64Array(b); - Module['HEAPU64'] = HEAPU64 = new BigUint64Array(b); -} - -// end include: runtime_shared.js -assert(!Module['STACK_SIZE'], 'STACK_SIZE can no longer be set at runtime. Use -sSTACK_SIZE at link time') - -assert(typeof Int32Array != 'undefined' && typeof Float64Array !== 'undefined' && Int32Array.prototype.subarray != undefined && Int32Array.prototype.set != undefined, - 'JS engine does not provide full typed array support'); - -// If memory is defined in wasm, the user can't provide it, or set INITIAL_MEMORY -assert(!Module['wasmMemory'], 'Use of `wasmMemory` detected. Use -sIMPORTED_MEMORY to define wasmMemory externally'); -assert(!Module['INITIAL_MEMORY'], 'Detected runtime INITIAL_MEMORY setting. Use -sIMPORTED_MEMORY to define wasmMemory dynamically'); - -function preRun() { - if (Module['preRun']) { - if (typeof Module['preRun'] == 'function') Module['preRun'] = [Module['preRun']]; - while (Module['preRun'].length) { - addOnPreRun(Module['preRun'].shift()); - } - } - consumedModuleProp('preRun'); - callRuntimeCallbacks(onPreRuns); -} - -function initRuntime() { - assert(!runtimeInitialized); - runtimeInitialized = true; - - checkStackCookie(); - - if (!Module['noFSInit'] && !FS.initialized) FS.init(); -TTY.init(); - - wasmExports['__wasm_call_ctors'](); - - FS.ignorePermissions = false; -} - -function preMain() { - checkStackCookie(); - -} - -function postRun() { - checkStackCookie(); - - if (Module['postRun']) { - if (typeof Module['postRun'] == 'function') Module['postRun'] = [Module['postRun']]; - while (Module['postRun'].length) { - addOnPostRun(Module['postRun'].shift()); - } - } - consumedModuleProp('postRun'); - - callRuntimeCallbacks(onPostRuns); -} - -// A counter of dependencies for calling run(). If we need to -// do asynchronous work before running, increment this and -// decrement it. Incrementing must happen in a place like -// Module.preRun (used by emcc to add file preloading). -// Note that you can add dependencies in preRun, even though -// it happens right before run - run will be postponed until -// the dependencies are met. -var runDependencies = 0; -var dependenciesFulfilled = null; // overridden to take different actions when all run dependencies are fulfilled -var runDependencyTracking = {}; -var runDependencyWatcher = null; - -function getUniqueRunDependency(id) { - var orig = id; - while (1) { - if (!runDependencyTracking[id]) return id; - id = orig + Math.random(); - } -} - -function addRunDependency(id) { - runDependencies++; - - Module['monitorRunDependencies']?.(runDependencies); - - if (id) { - assert(!runDependencyTracking[id]); - runDependencyTracking[id] = 1; - if (runDependencyWatcher === null && typeof setInterval != 'undefined') { - // Check for missing dependencies every few seconds - runDependencyWatcher = setInterval(() => { - if (ABORT) { - clearInterval(runDependencyWatcher); - runDependencyWatcher = null; - return; - } - var shown = false; - for (var dep in runDependencyTracking) { - if (!shown) { - shown = true; - err('still waiting on run dependencies:'); - } - err(`dependency: ${dep}`); - } - if (shown) { - err('(end of list)'); - } - }, 10000); - } - } else { - err('warning: run dependency added without ID'); - } -} - -function removeRunDependency(id) { - runDependencies--; - - Module['monitorRunDependencies']?.(runDependencies); - - if (id) { - assert(runDependencyTracking[id]); - delete runDependencyTracking[id]; - } else { - err('warning: run dependency removed without ID'); - } - if (runDependencies == 0) { - if (runDependencyWatcher !== null) { - clearInterval(runDependencyWatcher); - runDependencyWatcher = null; - } - if (dependenciesFulfilled) { - var callback = dependenciesFulfilled; - dependenciesFulfilled = null; - callback(); // can add another dependenciesFulfilled - } - } -} - -/** @param {string|number=} what */ -function abort(what) { - Module['onAbort']?.(what); - - what = 'Aborted(' + what + ')'; - // TODO(sbc): Should we remove printing and leave it up to whoever - // catches the exception? - err(what); - - ABORT = true; - - // Use a wasm runtime error, because a JS error might be seen as a foreign - // exception, which means we'd run destructors on it. We need the error to - // simply make the program stop. - // FIXME This approach does not work in Wasm EH because it currently does not assume - // all RuntimeErrors are from traps; it decides whether a RuntimeError is from - // a trap or not based on a hidden field within the object. So at the moment - // we don't have a way of throwing a wasm trap from JS. TODO Make a JS API that - // allows this in the wasm spec. - - // Suppress closure compiler warning here. Closure compiler's builtin extern - // definition for WebAssembly.RuntimeError claims it takes no arguments even - // though it can. - // TODO(https://github.com/google/closure-compiler/pull/3913): Remove if/when upstream closure gets fixed. - /** @suppress {checkTypes} */ - var e = new WebAssembly.RuntimeError(what); - - // Throw the error whether or not MODULARIZE is set because abort is used - // in code paths apart from instantiation where an exception is expected - // to be thrown when abort is called. - throw e; -} - -function createExportWrapper(name, nargs) { - return (...args) => { - assert(runtimeInitialized, `native function \`${name}\` called before runtime initialization`); - var f = wasmExports[name]; - assert(f, `exported native function \`${name}\` not found`); - // Only assert for too many arguments. Too few can be valid since the missing arguments will be zero filled. - assert(args.length <= nargs, `native function \`${name}\` called with ${args.length} args but expects ${nargs}`); - return f(...args); - }; -} - -var wasmBinaryFile; - -function findWasmBinary() { - return locateFile('example.wasm'); -} - -function getBinarySync(file) { - if (file == wasmBinaryFile && wasmBinary) { - return new Uint8Array(wasmBinary); - } - if (readBinary) { - return readBinary(file); - } - throw 'both async and sync fetching of the wasm failed'; -} - -async function getWasmBinary(binaryFile) { - // If we don't have the binary yet, load it asynchronously using readAsync. - if (!wasmBinary) { - // Fetch the binary using readAsync - try { - var response = await readAsync(binaryFile); - return new Uint8Array(response); - } catch { - // Fall back to getBinarySync below; - } - } - - // Otherwise, getBinarySync should be able to get it synchronously - return getBinarySync(binaryFile); -} - -async function instantiateArrayBuffer(binaryFile, imports) { - try { - var binary = await getWasmBinary(binaryFile); - var instance = await WebAssembly.instantiate(binary, imports); - return instance; - } catch (reason) { - err(`failed to asynchronously prepare wasm: ${reason}`); - - // Warn on some common problems. - if (isFileURI(wasmBinaryFile)) { - err(`warning: Loading from a file URI (${wasmBinaryFile}) is not supported in most browsers. See https://emscripten.org/docs/getting_started/FAQ.html#how-do-i-run-a-local-webserver-for-testing-why-does-my-program-stall-in-downloading-or-preparing`); - } - abort(reason); - } -} - -async function instantiateAsync(binary, binaryFile, imports) { - if (!binary && typeof WebAssembly.instantiateStreaming == 'function' - // Don't use streaming for file:// delivered objects in a webview, fetch them synchronously. - && !isFileURI(binaryFile) - // Avoid instantiateStreaming() on Node.js environment for now, as while - // Node.js v18.1.0 implements it, it does not have a full fetch() - // implementation yet. - // - // Reference: - // https://github.com/emscripten-core/emscripten/pull/16917 - && !ENVIRONMENT_IS_NODE - ) { - try { - var response = fetch(binaryFile, { credentials: 'same-origin' }); - var instantiationResult = await WebAssembly.instantiateStreaming(response, imports); - return instantiationResult; - } catch (reason) { - // We expect the most common failure cause to be a bad MIME type for the binary, - // in which case falling back to ArrayBuffer instantiation should work. - err(`wasm streaming compile failed: ${reason}`); - err('falling back to ArrayBuffer instantiation'); - // fall back of instantiateArrayBuffer below - }; - } - return instantiateArrayBuffer(binaryFile, imports); -} - -function getWasmImports() { - // prepare imports - return { - 'env': wasmImports, - 'wasi_snapshot_preview1': wasmImports, - } -} - -// Create the wasm instance. -// Receives the wasm imports, returns the exports. -async function createWasm() { - // Load the wasm module and create an instance of using native support in the JS engine. - // handle a generated wasm instance, receiving its exports and - // performing other necessary setup - /** @param {WebAssembly.Module=} module*/ - function receiveInstance(instance, module) { - wasmExports = instance.exports; - - - - wasmMemory = wasmExports['memory']; - - assert(wasmMemory, 'memory not found in wasm exports'); - updateMemoryViews(); - - removeRunDependency('wasm-instantiate'); - return wasmExports; - } - // wait for the pthread pool (if any) - addRunDependency('wasm-instantiate'); - - // Prefer streaming instantiation if available. - // Async compilation can be confusing when an error on the page overwrites Module - // (for example, if the order of elements is wrong, and the one defining Module is - // later), so we save Module and check it later. - var trueModule = Module; - function receiveInstantiationResult(result) { - // 'result' is a ResultObject object which has both the module and instance. - // receiveInstance() will swap in the exports (to Module.asm) so they can be called - assert(Module === trueModule, 'the Module object should not be replaced during async compilation - perhaps the order of HTML elements is wrong?'); - trueModule = null; - // TODO: Due to Closure regression https://github.com/google/closure-compiler/issues/3193, the above line no longer optimizes out down to the following line. - // When the regression is fixed, can restore the above PTHREADS-enabled path. - return receiveInstance(result['instance']); - } - - var info = getWasmImports(); - - // User shell pages can write their own Module.instantiateWasm = function(imports, successCallback) callback - // to manually instantiate the Wasm module themselves. This allows pages to - // run the instantiation parallel to any other async startup actions they are - // performing. - // Also pthreads and wasm workers initialize the wasm instance through this - // path. - if (Module['instantiateWasm']) { - return new Promise((resolve, reject) => { - try { - Module['instantiateWasm'](info, (mod, inst) => { - receiveInstance(mod, inst); - resolve(mod.exports); - }); - } catch(e) { - err(`Module.instantiateWasm callback failed with error: ${e}`); - reject(e); - } - }); - } - - wasmBinaryFile ??= findWasmBinary(); - var result = await instantiateAsync(wasmBinary, wasmBinaryFile, info); - var exports = receiveInstantiationResult(result); - return exports; -} - -// end include: preamble.js - -// Begin JS library code - - - class ExitStatus { - name = 'ExitStatus'; - constructor(status) { - this.message = `Program terminated with exit(${status})`; - this.status = status; - } - } - - var callRuntimeCallbacks = (callbacks) => { - while (callbacks.length > 0) { - // Pass the module as the first argument. - callbacks.shift()(Module); - } - }; - var onPostRuns = []; - var addOnPostRun = (cb) => onPostRuns.unshift(cb); - - var onPreRuns = []; - var addOnPreRun = (cb) => onPreRuns.unshift(cb); - - - - /** - * @param {number} ptr - * @param {string} type - */ - function getValue(ptr, type = 'i8') { - if (type.endsWith('*')) type = '*'; - switch (type) { - case 'i1': return HEAP8[ptr]; - case 'i8': return HEAP8[ptr]; - case 'i16': return HEAP16[((ptr)>>1)]; - case 'i32': return HEAP32[((ptr)>>2)]; - case 'i64': return HEAP64[((ptr)>>3)]; - case 'float': return HEAPF32[((ptr)>>2)]; - case 'double': return HEAPF64[((ptr)>>3)]; - case '*': return HEAPU32[((ptr)>>2)]; - default: abort(`invalid type for getValue: ${type}`); - } - } - - var noExitRuntime = Module['noExitRuntime'] || true; - - var ptrToString = (ptr) => { - assert(typeof ptr === 'number'); - // With CAN_ADDRESS_2GB or MEMORY64, pointers are already unsigned. - ptr >>>= 0; - return '0x' + ptr.toString(16).padStart(8, '0'); - }; - - - /** - * @param {number} ptr - * @param {number} value - * @param {string} type - */ - function setValue(ptr, value, type = 'i8') { - if (type.endsWith('*')) type = '*'; - switch (type) { - case 'i1': HEAP8[ptr] = value; break; - case 'i8': HEAP8[ptr] = value; break; - case 'i16': HEAP16[((ptr)>>1)] = value; break; - case 'i32': HEAP32[((ptr)>>2)] = value; break; - case 'i64': HEAP64[((ptr)>>3)] = BigInt(value); break; - case 'float': HEAPF32[((ptr)>>2)] = value; break; - case 'double': HEAPF64[((ptr)>>3)] = value; break; - case '*': HEAPU32[((ptr)>>2)] = value; break; - default: abort(`invalid type for setValue: ${type}`); - } - } - - var stackRestore = (val) => __emscripten_stack_restore(val); - - var stackSave = () => _emscripten_stack_get_current(); - - var warnOnce = (text) => { - warnOnce.shown ||= {}; - if (!warnOnce.shown[text]) { - warnOnce.shown[text] = 1; - if (ENVIRONMENT_IS_NODE) text = 'warning: ' + text; - err(text); - } - }; - - var syscallGetVarargI = () => { - assert(SYSCALLS.varargs != undefined); - // the `+` prepended here is necessary to convince the JSCompiler that varargs is indeed a number. - var ret = HEAP32[((+SYSCALLS.varargs)>>2)]; - SYSCALLS.varargs += 4; - return ret; - }; - - var PATH = { - isAbs:(path) => path.charAt(0) === '/', - splitPath:(filename) => { - var splitPathRe = /^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/; - return splitPathRe.exec(filename).slice(1); - }, - normalizeArray:(parts, allowAboveRoot) => { - // if the path tries to go above the root, `up` ends up > 0 - var up = 0; - for (var i = parts.length - 1; i >= 0; i--) { - var last = parts[i]; - if (last === '.') { - parts.splice(i, 1); - } else if (last === '..') { - parts.splice(i, 1); - up++; - } else if (up) { - parts.splice(i, 1); - up--; - } - } - // if the path is allowed to go above the root, restore leading ..s - if (allowAboveRoot) { - for (; up; up--) { - parts.unshift('..'); - } - } - return parts; - }, - normalize:(path) => { - var isAbsolute = PATH.isAbs(path), - trailingSlash = path.slice(-1) === '/'; - // Normalize the path - path = PATH.normalizeArray(path.split('/').filter((p) => !!p), !isAbsolute).join('/'); - if (!path && !isAbsolute) { - path = '.'; - } - if (path && trailingSlash) { - path += '/'; - } - return (isAbsolute ? '/' : '') + path; - }, - dirname:(path) => { - var result = PATH.splitPath(path), - root = result[0], - dir = result[1]; - if (!root && !dir) { - // No dirname whatsoever - return '.'; - } - if (dir) { - // It has a dirname, strip trailing slash - dir = dir.slice(0, -1); - } - return root + dir; - }, - basename:(path) => path && path.match(/([^\/]+|\/)\/*$/)[1], - join:(...paths) => PATH.normalize(paths.join('/')), - join2:(l, r) => PATH.normalize(l + '/' + r), - }; - - var initRandomFill = () => { - // This block is not needed on v19+ since crypto.getRandomValues is builtin - if (ENVIRONMENT_IS_NODE) { - var nodeCrypto = require('crypto'); - return (view) => nodeCrypto.randomFillSync(view); - } - - return (view) => crypto.getRandomValues(view); - }; - var randomFill = (view) => { - // Lazily init on the first invocation. - (randomFill = initRandomFill())(view); - }; - - - - var PATH_FS = { - resolve:(...args) => { - var resolvedPath = '', - resolvedAbsolute = false; - for (var i = args.length - 1; i >= -1 && !resolvedAbsolute; i--) { - var path = (i >= 0) ? args[i] : FS.cwd(); - // Skip empty and invalid entries - if (typeof path != 'string') { - throw new TypeError('Arguments to path.resolve must be strings'); - } else if (!path) { - return ''; // an invalid portion invalidates the whole thing - } - resolvedPath = path + '/' + resolvedPath; - resolvedAbsolute = PATH.isAbs(path); - } - // At this point the path should be resolved to a full absolute path, but - // handle relative paths to be safe (might happen when process.cwd() fails) - resolvedPath = PATH.normalizeArray(resolvedPath.split('/').filter((p) => !!p), !resolvedAbsolute).join('/'); - return ((resolvedAbsolute ? '/' : '') + resolvedPath) || '.'; - }, - relative:(from, to) => { - from = PATH_FS.resolve(from).slice(1); - to = PATH_FS.resolve(to).slice(1); - function trim(arr) { - var start = 0; - for (; start < arr.length; start++) { - if (arr[start] !== '') break; - } - var end = arr.length - 1; - for (; end >= 0; end--) { - if (arr[end] !== '') break; - } - if (start > end) return []; - return arr.slice(start, end - start + 1); - } - var fromParts = trim(from.split('/')); - var toParts = trim(to.split('/')); - var length = Math.min(fromParts.length, toParts.length); - var samePartsLength = length; - for (var i = 0; i < length; i++) { - if (fromParts[i] !== toParts[i]) { - samePartsLength = i; - break; - } - } - var outputParts = []; - for (var i = samePartsLength; i < fromParts.length; i++) { - outputParts.push('..'); - } - outputParts = outputParts.concat(toParts.slice(samePartsLength)); - return outputParts.join('/'); - }, - }; - - - var UTF8Decoder = typeof TextDecoder != 'undefined' ? new TextDecoder() : undefined; - - /** - * Given a pointer 'idx' to a null-terminated UTF8-encoded string in the given - * array that contains uint8 values, returns a copy of that string as a - * Javascript String object. - * heapOrArray is either a regular array, or a JavaScript typed array view. - * @param {number=} idx - * @param {number=} maxBytesToRead - * @return {string} - */ - var UTF8ArrayToString = (heapOrArray, idx = 0, maxBytesToRead = NaN) => { - var endIdx = idx + maxBytesToRead; - var endPtr = idx; - // TextDecoder needs to know the byte length in advance, it doesn't stop on - // null terminator by itself. Also, use the length info to avoid running tiny - // strings through TextDecoder, since .subarray() allocates garbage. - // (As a tiny code save trick, compare endPtr against endIdx using a negation, - // so that undefined/NaN means Infinity) - while (heapOrArray[endPtr] && !(endPtr >= endIdx)) ++endPtr; - - if (endPtr - idx > 16 && heapOrArray.buffer && UTF8Decoder) { - return UTF8Decoder.decode(heapOrArray.subarray(idx, endPtr)); - } - var str = ''; - // If building with TextDecoder, we have already computed the string length - // above, so test loop end condition against that - while (idx < endPtr) { - // For UTF8 byte structure, see: - // http://en.wikipedia.org/wiki/UTF-8#Description - // https://www.ietf.org/rfc/rfc2279.txt - // https://tools.ietf.org/html/rfc3629 - var u0 = heapOrArray[idx++]; - if (!(u0 & 0x80)) { str += String.fromCharCode(u0); continue; } - var u1 = heapOrArray[idx++] & 63; - if ((u0 & 0xE0) == 0xC0) { str += String.fromCharCode(((u0 & 31) << 6) | u1); continue; } - var u2 = heapOrArray[idx++] & 63; - if ((u0 & 0xF0) == 0xE0) { - u0 = ((u0 & 15) << 12) | (u1 << 6) | u2; - } else { - if ((u0 & 0xF8) != 0xF0) warnOnce('Invalid UTF-8 leading byte ' + ptrToString(u0) + ' encountered when deserializing a UTF-8 string in wasm memory to a JS string!'); - u0 = ((u0 & 7) << 18) | (u1 << 12) | (u2 << 6) | (heapOrArray[idx++] & 63); - } - - if (u0 < 0x10000) { - str += String.fromCharCode(u0); - } else { - var ch = u0 - 0x10000; - str += String.fromCharCode(0xD800 | (ch >> 10), 0xDC00 | (ch & 0x3FF)); - } - } - return str; - }; - - var FS_stdin_getChar_buffer = []; - - var lengthBytesUTF8 = (str) => { - var len = 0; - for (var i = 0; i < str.length; ++i) { - // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code - // unit, not a Unicode code point of the character! So decode - // UTF16->UTF32->UTF8. - // See http://unicode.org/faq/utf_bom.html#utf16-3 - var c = str.charCodeAt(i); // possibly a lead surrogate - if (c <= 0x7F) { - len++; - } else if (c <= 0x7FF) { - len += 2; - } else if (c >= 0xD800 && c <= 0xDFFF) { - len += 4; ++i; - } else { - len += 3; - } - } - return len; - }; - - var stringToUTF8Array = (str, heap, outIdx, maxBytesToWrite) => { - assert(typeof str === 'string', `stringToUTF8Array expects a string (got ${typeof str})`); - // Parameter maxBytesToWrite is not optional. Negative values, 0, null, - // undefined and false each don't write out any bytes. - if (!(maxBytesToWrite > 0)) - return 0; - - var startIdx = outIdx; - var endIdx = outIdx + maxBytesToWrite - 1; // -1 for string null terminator. - for (var i = 0; i < str.length; ++i) { - // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code - // unit, not a Unicode code point of the character! So decode - // UTF16->UTF32->UTF8. - // See http://unicode.org/faq/utf_bom.html#utf16-3 - // For UTF8 byte structure, see http://en.wikipedia.org/wiki/UTF-8#Description - // and https://www.ietf.org/rfc/rfc2279.txt - // and https://tools.ietf.org/html/rfc3629 - var u = str.charCodeAt(i); // possibly a lead surrogate - if (u >= 0xD800 && u <= 0xDFFF) { - var u1 = str.charCodeAt(++i); - u = 0x10000 + ((u & 0x3FF) << 10) | (u1 & 0x3FF); - } - if (u <= 0x7F) { - if (outIdx >= endIdx) break; - heap[outIdx++] = u; - } else if (u <= 0x7FF) { - if (outIdx + 1 >= endIdx) break; - heap[outIdx++] = 0xC0 | (u >> 6); - heap[outIdx++] = 0x80 | (u & 63); - } else if (u <= 0xFFFF) { - if (outIdx + 2 >= endIdx) break; - heap[outIdx++] = 0xE0 | (u >> 12); - heap[outIdx++] = 0x80 | ((u >> 6) & 63); - heap[outIdx++] = 0x80 | (u & 63); - } else { - if (outIdx + 3 >= endIdx) break; - if (u > 0x10FFFF) warnOnce('Invalid Unicode code point ' + ptrToString(u) + ' encountered when serializing a JS string to a UTF-8 string in wasm memory! (Valid unicode code points should be in range 0-0x10FFFF).'); - heap[outIdx++] = 0xF0 | (u >> 18); - heap[outIdx++] = 0x80 | ((u >> 12) & 63); - heap[outIdx++] = 0x80 | ((u >> 6) & 63); - heap[outIdx++] = 0x80 | (u & 63); - } - } - // Null-terminate the pointer to the buffer. - heap[outIdx] = 0; - return outIdx - startIdx; - }; - /** @type {function(string, boolean=, number=)} */ - var intArrayFromString = (stringy, dontAddNull, length) => { - var len = length > 0 ? length : lengthBytesUTF8(stringy)+1; - var u8array = new Array(len); - var numBytesWritten = stringToUTF8Array(stringy, u8array, 0, u8array.length); - if (dontAddNull) u8array.length = numBytesWritten; - return u8array; - }; - var FS_stdin_getChar = () => { - if (!FS_stdin_getChar_buffer.length) { - var result = null; - if (ENVIRONMENT_IS_NODE) { - // we will read data by chunks of BUFSIZE - var BUFSIZE = 256; - var buf = Buffer.alloc(BUFSIZE); - var bytesRead = 0; - - // For some reason we must suppress a closure warning here, even though - // fd definitely exists on process.stdin, and is even the proper way to - // get the fd of stdin, - // https://github.com/nodejs/help/issues/2136#issuecomment-523649904 - // This started to happen after moving this logic out of library_tty.js, - // so it is related to the surrounding code in some unclear manner. - /** @suppress {missingProperties} */ - var fd = process.stdin.fd; - - try { - bytesRead = fs.readSync(fd, buf, 0, BUFSIZE); - } catch(e) { - // Cross-platform differences: on Windows, reading EOF throws an - // exception, but on other OSes, reading EOF returns 0. Uniformize - // behavior by treating the EOF exception to return 0. - if (e.toString().includes('EOF')) bytesRead = 0; - else throw e; - } - - if (bytesRead > 0) { - result = buf.slice(0, bytesRead).toString('utf-8'); - } - } else - if (typeof window != 'undefined' && - typeof window.prompt == 'function') { - // Browser. - result = window.prompt('Input: '); // returns null on cancel - if (result !== null) { - result += '\n'; - } - } else - {} - if (!result) { - return null; - } - FS_stdin_getChar_buffer = intArrayFromString(result, true); - } - return FS_stdin_getChar_buffer.shift(); - }; - var TTY = { - ttys:[], - init() { - // https://github.com/emscripten-core/emscripten/pull/1555 - // if (ENVIRONMENT_IS_NODE) { - // // currently, FS.init does not distinguish if process.stdin is a file or TTY - // // device, it always assumes it's a TTY device. because of this, we're forcing - // // process.stdin to UTF8 encoding to at least make stdin reading compatible - // // with text files until FS.init can be refactored. - // process.stdin.setEncoding('utf8'); - // } - }, - shutdown() { - // https://github.com/emscripten-core/emscripten/pull/1555 - // if (ENVIRONMENT_IS_NODE) { - // // inolen: any idea as to why node -e 'process.stdin.read()' wouldn't exit immediately (with process.stdin being a tty)? - // // isaacs: because now it's reading from the stream, you've expressed interest in it, so that read() kicks off a _read() which creates a ReadReq operation - // // inolen: I thought read() in that case was a synchronous operation that just grabbed some amount of buffered data if it exists? - // // isaacs: it is. but it also triggers a _read() call, which calls readStart() on the handle - // // isaacs: do process.stdin.pause() and i'd think it'd probably close the pending call - // process.stdin.pause(); - // } - }, - register(dev, ops) { - TTY.ttys[dev] = { input: [], output: [], ops: ops }; - FS.registerDevice(dev, TTY.stream_ops); - }, - stream_ops:{ - open(stream) { - var tty = TTY.ttys[stream.node.rdev]; - if (!tty) { - throw new FS.ErrnoError(43); - } - stream.tty = tty; - stream.seekable = false; - }, - close(stream) { - // flush any pending line data - stream.tty.ops.fsync(stream.tty); - }, - fsync(stream) { - stream.tty.ops.fsync(stream.tty); - }, - read(stream, buffer, offset, length, pos /* ignored */) { - if (!stream.tty || !stream.tty.ops.get_char) { - throw new FS.ErrnoError(60); - } - var bytesRead = 0; - for (var i = 0; i < length; i++) { - var result; - try { - result = stream.tty.ops.get_char(stream.tty); - } catch (e) { - throw new FS.ErrnoError(29); - } - if (result === undefined && bytesRead === 0) { - throw new FS.ErrnoError(6); - } - if (result === null || result === undefined) break; - bytesRead++; - buffer[offset+i] = result; - } - if (bytesRead) { - stream.node.atime = Date.now(); - } - return bytesRead; - }, - write(stream, buffer, offset, length, pos) { - if (!stream.tty || !stream.tty.ops.put_char) { - throw new FS.ErrnoError(60); - } - try { - for (var i = 0; i < length; i++) { - stream.tty.ops.put_char(stream.tty, buffer[offset+i]); - } - } catch (e) { - throw new FS.ErrnoError(29); - } - if (length) { - stream.node.mtime = stream.node.ctime = Date.now(); - } - return i; - }, - }, - default_tty_ops:{ - get_char(tty) { - return FS_stdin_getChar(); - }, - put_char(tty, val) { - if (val === null || val === 10) { - out(UTF8ArrayToString(tty.output)); - tty.output = []; - } else { - if (val != 0) tty.output.push(val); // val == 0 would cut text output off in the middle. - } - }, - fsync(tty) { - if (tty.output?.length > 0) { - out(UTF8ArrayToString(tty.output)); - tty.output = []; - } - }, - ioctl_tcgets(tty) { - // typical setting - return { - c_iflag: 25856, - c_oflag: 5, - c_cflag: 191, - c_lflag: 35387, - c_cc: [ - 0x03, 0x1c, 0x7f, 0x15, 0x04, 0x00, 0x01, 0x00, 0x11, 0x13, 0x1a, 0x00, - 0x12, 0x0f, 0x17, 0x16, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - ] - }; - }, - ioctl_tcsets(tty, optional_actions, data) { - // currently just ignore - return 0; - }, - ioctl_tiocgwinsz(tty) { - return [24, 80]; - }, - }, - default_tty1_ops:{ - put_char(tty, val) { - if (val === null || val === 10) { - err(UTF8ArrayToString(tty.output)); - tty.output = []; - } else { - if (val != 0) tty.output.push(val); - } - }, - fsync(tty) { - if (tty.output?.length > 0) { - err(UTF8ArrayToString(tty.output)); - tty.output = []; - } - }, - }, - }; - - - var mmapAlloc = (size) => { - abort('internal error: mmapAlloc called but `emscripten_builtin_memalign` native symbol not exported'); - }; - var MEMFS = { - ops_table:null, - mount(mount) { - return MEMFS.createNode(null, '/', 16895, 0); - }, - createNode(parent, name, mode, dev) { - if (FS.isBlkdev(mode) || FS.isFIFO(mode)) { - // no supported - throw new FS.ErrnoError(63); - } - MEMFS.ops_table ||= { - dir: { - node: { - getattr: MEMFS.node_ops.getattr, - setattr: MEMFS.node_ops.setattr, - lookup: MEMFS.node_ops.lookup, - mknod: MEMFS.node_ops.mknod, - rename: MEMFS.node_ops.rename, - unlink: MEMFS.node_ops.unlink, - rmdir: MEMFS.node_ops.rmdir, - readdir: MEMFS.node_ops.readdir, - symlink: MEMFS.node_ops.symlink - }, - stream: { - llseek: MEMFS.stream_ops.llseek - } - }, - file: { - node: { - getattr: MEMFS.node_ops.getattr, - setattr: MEMFS.node_ops.setattr - }, - stream: { - llseek: MEMFS.stream_ops.llseek, - read: MEMFS.stream_ops.read, - write: MEMFS.stream_ops.write, - mmap: MEMFS.stream_ops.mmap, - msync: MEMFS.stream_ops.msync - } - }, - link: { - node: { - getattr: MEMFS.node_ops.getattr, - setattr: MEMFS.node_ops.setattr, - readlink: MEMFS.node_ops.readlink - }, - stream: {} - }, - chrdev: { - node: { - getattr: MEMFS.node_ops.getattr, - setattr: MEMFS.node_ops.setattr - }, - stream: FS.chrdev_stream_ops - } - }; - var node = FS.createNode(parent, name, mode, dev); - if (FS.isDir(node.mode)) { - node.node_ops = MEMFS.ops_table.dir.node; - node.stream_ops = MEMFS.ops_table.dir.stream; - node.contents = {}; - } else if (FS.isFile(node.mode)) { - node.node_ops = MEMFS.ops_table.file.node; - node.stream_ops = MEMFS.ops_table.file.stream; - node.usedBytes = 0; // The actual number of bytes used in the typed array, as opposed to contents.length which gives the whole capacity. - // When the byte data of the file is populated, this will point to either a typed array, or a normal JS array. Typed arrays are preferred - // for performance, and used by default. However, typed arrays are not resizable like normal JS arrays are, so there is a small disk size - // penalty involved for appending file writes that continuously grow a file similar to std::vector capacity vs used -scheme. - node.contents = null; - } else if (FS.isLink(node.mode)) { - node.node_ops = MEMFS.ops_table.link.node; - node.stream_ops = MEMFS.ops_table.link.stream; - } else if (FS.isChrdev(node.mode)) { - node.node_ops = MEMFS.ops_table.chrdev.node; - node.stream_ops = MEMFS.ops_table.chrdev.stream; - } - node.atime = node.mtime = node.ctime = Date.now(); - // add the new node to the parent - if (parent) { - parent.contents[name] = node; - parent.atime = parent.mtime = parent.ctime = node.atime; - } - return node; - }, - getFileDataAsTypedArray(node) { - if (!node.contents) return new Uint8Array(0); - if (node.contents.subarray) return node.contents.subarray(0, node.usedBytes); // Make sure to not return excess unused bytes. - return new Uint8Array(node.contents); - }, - expandFileStorage(node, newCapacity) { - var prevCapacity = node.contents ? node.contents.length : 0; - if (prevCapacity >= newCapacity) return; // No need to expand, the storage was already large enough. - // Don't expand strictly to the given requested limit if it's only a very small increase, but instead geometrically grow capacity. - // For small filesizes (<1MB), perform size*2 geometric increase, but for large sizes, do a much more conservative size*1.125 increase to - // avoid overshooting the allocation cap by a very large margin. - var CAPACITY_DOUBLING_MAX = 1024 * 1024; - newCapacity = Math.max(newCapacity, (prevCapacity * (prevCapacity < CAPACITY_DOUBLING_MAX ? 2.0 : 1.125)) >>> 0); - if (prevCapacity != 0) newCapacity = Math.max(newCapacity, 256); // At minimum allocate 256b for each file when expanding. - var oldContents = node.contents; - node.contents = new Uint8Array(newCapacity); // Allocate new storage. - if (node.usedBytes > 0) node.contents.set(oldContents.subarray(0, node.usedBytes), 0); // Copy old data over to the new storage. - }, - resizeFileStorage(node, newSize) { - if (node.usedBytes == newSize) return; - if (newSize == 0) { - node.contents = null; // Fully decommit when requesting a resize to zero. - node.usedBytes = 0; - } else { - var oldContents = node.contents; - node.contents = new Uint8Array(newSize); // Allocate new storage. - if (oldContents) { - node.contents.set(oldContents.subarray(0, Math.min(newSize, node.usedBytes))); // Copy old data over to the new storage. - } - node.usedBytes = newSize; - } - }, - node_ops:{ - getattr(node) { - var attr = {}; - // device numbers reuse inode numbers. - attr.dev = FS.isChrdev(node.mode) ? node.id : 1; - attr.ino = node.id; - attr.mode = node.mode; - attr.nlink = 1; - attr.uid = 0; - attr.gid = 0; - attr.rdev = node.rdev; - if (FS.isDir(node.mode)) { - attr.size = 4096; - } else if (FS.isFile(node.mode)) { - attr.size = node.usedBytes; - } else if (FS.isLink(node.mode)) { - attr.size = node.link.length; - } else { - attr.size = 0; - } - attr.atime = new Date(node.atime); - attr.mtime = new Date(node.mtime); - attr.ctime = new Date(node.ctime); - // NOTE: In our implementation, st_blocks = Math.ceil(st_size/st_blksize), - // but this is not required by the standard. - attr.blksize = 4096; - attr.blocks = Math.ceil(attr.size / attr.blksize); - return attr; - }, - setattr(node, attr) { - for (const key of ["mode", "atime", "mtime", "ctime"]) { - if (attr[key] != null) { - node[key] = attr[key]; - } - } - if (attr.size !== undefined) { - MEMFS.resizeFileStorage(node, attr.size); - } - }, - lookup(parent, name) { - throw new FS.ErrnoError(44); - }, - mknod(parent, name, mode, dev) { - return MEMFS.createNode(parent, name, mode, dev); - }, - rename(old_node, new_dir, new_name) { - var new_node; - try { - new_node = FS.lookupNode(new_dir, new_name); - } catch (e) {} - if (new_node) { - if (FS.isDir(old_node.mode)) { - // if we're overwriting a directory at new_name, make sure it's empty. - for (var i in new_node.contents) { - throw new FS.ErrnoError(55); - } - } - FS.hashRemoveNode(new_node); - } - // do the internal rewiring - delete old_node.parent.contents[old_node.name]; - new_dir.contents[new_name] = old_node; - old_node.name = new_name; - new_dir.ctime = new_dir.mtime = old_node.parent.ctime = old_node.parent.mtime = Date.now(); - }, - unlink(parent, name) { - delete parent.contents[name]; - parent.ctime = parent.mtime = Date.now(); - }, - rmdir(parent, name) { - var node = FS.lookupNode(parent, name); - for (var i in node.contents) { - throw new FS.ErrnoError(55); - } - delete parent.contents[name]; - parent.ctime = parent.mtime = Date.now(); - }, - readdir(node) { - return ['.', '..', ...Object.keys(node.contents)]; - }, - symlink(parent, newname, oldpath) { - var node = MEMFS.createNode(parent, newname, 0o777 | 40960, 0); - node.link = oldpath; - return node; - }, - readlink(node) { - if (!FS.isLink(node.mode)) { - throw new FS.ErrnoError(28); - } - return node.link; - }, - }, - stream_ops:{ - read(stream, buffer, offset, length, position) { - var contents = stream.node.contents; - if (position >= stream.node.usedBytes) return 0; - var size = Math.min(stream.node.usedBytes - position, length); - assert(size >= 0); - if (size > 8 && contents.subarray) { // non-trivial, and typed array - buffer.set(contents.subarray(position, position + size), offset); - } else { - for (var i = 0; i < size; i++) buffer[offset + i] = contents[position + i]; - } - return size; - }, - write(stream, buffer, offset, length, position, canOwn) { - // The data buffer should be a typed array view - assert(!(buffer instanceof ArrayBuffer)); - - if (!length) return 0; - var node = stream.node; - node.mtime = node.ctime = Date.now(); - - if (buffer.subarray && (!node.contents || node.contents.subarray)) { // This write is from a typed array to a typed array? - if (canOwn) { - assert(position === 0, 'canOwn must imply no weird position inside the file'); - node.contents = buffer.subarray(offset, offset + length); - node.usedBytes = length; - return length; - } else if (node.usedBytes === 0 && position === 0) { // If this is a simple first write to an empty file, do a fast set since we don't need to care about old data. - node.contents = buffer.slice(offset, offset + length); - node.usedBytes = length; - return length; - } else if (position + length <= node.usedBytes) { // Writing to an already allocated and used subrange of the file? - node.contents.set(buffer.subarray(offset, offset + length), position); - return length; - } - } - - // Appending to an existing file and we need to reallocate, or source data did not come as a typed array. - MEMFS.expandFileStorage(node, position+length); - if (node.contents.subarray && buffer.subarray) { - // Use typed array write which is available. - node.contents.set(buffer.subarray(offset, offset + length), position); - } else { - for (var i = 0; i < length; i++) { - node.contents[position + i] = buffer[offset + i]; // Or fall back to manual write if not. - } - } - node.usedBytes = Math.max(node.usedBytes, position + length); - return length; - }, - llseek(stream, offset, whence) { - var position = offset; - if (whence === 1) { - position += stream.position; - } else if (whence === 2) { - if (FS.isFile(stream.node.mode)) { - position += stream.node.usedBytes; - } - } - if (position < 0) { - throw new FS.ErrnoError(28); - } - return position; - }, - mmap(stream, length, position, prot, flags) { - if (!FS.isFile(stream.node.mode)) { - throw new FS.ErrnoError(43); - } - var ptr; - var allocated; - var contents = stream.node.contents; - // Only make a new copy when MAP_PRIVATE is specified. - if (!(flags & 2) && contents && contents.buffer === HEAP8.buffer) { - // We can't emulate MAP_SHARED when the file is not backed by the - // buffer we're mapping to (e.g. the HEAP buffer). - allocated = false; - ptr = contents.byteOffset; - } else { - allocated = true; - ptr = mmapAlloc(length); - if (!ptr) { - throw new FS.ErrnoError(48); - } - if (contents) { - // Try to avoid unnecessary slices. - if (position > 0 || position + length < contents.length) { - if (contents.subarray) { - contents = contents.subarray(position, position + length); - } else { - contents = Array.prototype.slice.call(contents, position, position + length); - } - } - HEAP8.set(contents, ptr); - } - } - return { ptr, allocated }; - }, - msync(stream, buffer, offset, length, mmapFlags) { - MEMFS.stream_ops.write(stream, buffer, 0, length, offset, false); - // should we check if bytesWritten and length are the same? - return 0; - }, - }, - }; - - var asyncLoad = async (url) => { - var arrayBuffer = await readAsync(url); - assert(arrayBuffer, `Loading data file "${url}" failed (no arrayBuffer).`); - return new Uint8Array(arrayBuffer); - }; - - - var FS_createDataFile = (parent, name, fileData, canRead, canWrite, canOwn) => { - FS.createDataFile(parent, name, fileData, canRead, canWrite, canOwn); - }; - - var preloadPlugins = Module['preloadPlugins'] || []; - var FS_handledByPreloadPlugin = (byteArray, fullname, finish, onerror) => { - // Ensure plugins are ready. - if (typeof Browser != 'undefined') Browser.init(); - - var handled = false; - preloadPlugins.forEach((plugin) => { - if (handled) return; - if (plugin['canHandle'](fullname)) { - plugin['handle'](byteArray, fullname, finish, onerror); - handled = true; - } - }); - return handled; - }; - var FS_createPreloadedFile = (parent, name, url, canRead, canWrite, onload, onerror, dontCreateFile, canOwn, preFinish) => { - // TODO we should allow people to just pass in a complete filename instead - // of parent and name being that we just join them anyways - var fullname = name ? PATH_FS.resolve(PATH.join2(parent, name)) : parent; - var dep = getUniqueRunDependency(`cp ${fullname}`); // might have several active requests for the same fullname - function processData(byteArray) { - function finish(byteArray) { - preFinish?.(); - if (!dontCreateFile) { - FS_createDataFile(parent, name, byteArray, canRead, canWrite, canOwn); - } - onload?.(); - removeRunDependency(dep); - } - if (FS_handledByPreloadPlugin(byteArray, fullname, finish, () => { - onerror?.(); - removeRunDependency(dep); - })) { - return; - } - finish(byteArray); - } - addRunDependency(dep); - if (typeof url == 'string') { - asyncLoad(url).then(processData, onerror); - } else { - processData(url); - } - }; - - var FS_modeStringToFlags = (str) => { - var flagModes = { - 'r': 0, - 'r+': 2, - 'w': 512 | 64 | 1, - 'w+': 512 | 64 | 2, - 'a': 1024 | 64 | 1, - 'a+': 1024 | 64 | 2, - }; - var flags = flagModes[str]; - if (typeof flags == 'undefined') { - throw new Error(`Unknown file open mode: ${str}`); - } - return flags; - }; - - var FS_getMode = (canRead, canWrite) => { - var mode = 0; - if (canRead) mode |= 292 | 73; - if (canWrite) mode |= 146; - return mode; - }; - - - - - - - /** - * Given a pointer 'ptr' to a null-terminated UTF8-encoded string in the - * emscripten HEAP, returns a copy of that string as a Javascript String object. - * - * @param {number} ptr - * @param {number=} maxBytesToRead - An optional length that specifies the - * maximum number of bytes to read. You can omit this parameter to scan the - * string until the first 0 byte. If maxBytesToRead is passed, and the string - * at [ptr, ptr+maxBytesToReadr[ contains a null byte in the middle, then the - * string will cut short at that byte index (i.e. maxBytesToRead will not - * produce a string of exact length [ptr, ptr+maxBytesToRead[) N.B. mixing - * frequent uses of UTF8ToString() with and without maxBytesToRead may throw - * JS JIT optimizations off, so it is worth to consider consistently using one - * @return {string} - */ - var UTF8ToString = (ptr, maxBytesToRead) => { - assert(typeof ptr == 'number', `UTF8ToString expects a number (got ${typeof ptr})`); - return ptr ? UTF8ArrayToString(HEAPU8, ptr, maxBytesToRead) : ''; - }; - - var strError = (errno) => UTF8ToString(_strerror(errno)); - - var ERRNO_CODES = { - 'EPERM': 63, - 'ENOENT': 44, - 'ESRCH': 71, - 'EINTR': 27, - 'EIO': 29, - 'ENXIO': 60, - 'E2BIG': 1, - 'ENOEXEC': 45, - 'EBADF': 8, - 'ECHILD': 12, - 'EAGAIN': 6, - 'EWOULDBLOCK': 6, - 'ENOMEM': 48, - 'EACCES': 2, - 'EFAULT': 21, - 'ENOTBLK': 105, - 'EBUSY': 10, - 'EEXIST': 20, - 'EXDEV': 75, - 'ENODEV': 43, - 'ENOTDIR': 54, - 'EISDIR': 31, - 'EINVAL': 28, - 'ENFILE': 41, - 'EMFILE': 33, - 'ENOTTY': 59, - 'ETXTBSY': 74, - 'EFBIG': 22, - 'ENOSPC': 51, - 'ESPIPE': 70, - 'EROFS': 69, - 'EMLINK': 34, - 'EPIPE': 64, - 'EDOM': 18, - 'ERANGE': 68, - 'ENOMSG': 49, - 'EIDRM': 24, - 'ECHRNG': 106, - 'EL2NSYNC': 156, - 'EL3HLT': 107, - 'EL3RST': 108, - 'ELNRNG': 109, - 'EUNATCH': 110, - 'ENOCSI': 111, - 'EL2HLT': 112, - 'EDEADLK': 16, - 'ENOLCK': 46, - 'EBADE': 113, - 'EBADR': 114, - 'EXFULL': 115, - 'ENOANO': 104, - 'EBADRQC': 103, - 'EBADSLT': 102, - 'EDEADLOCK': 16, - 'EBFONT': 101, - 'ENOSTR': 100, - 'ENODATA': 116, - 'ETIME': 117, - 'ENOSR': 118, - 'ENONET': 119, - 'ENOPKG': 120, - 'EREMOTE': 121, - 'ENOLINK': 47, - 'EADV': 122, - 'ESRMNT': 123, - 'ECOMM': 124, - 'EPROTO': 65, - 'EMULTIHOP': 36, - 'EDOTDOT': 125, - 'EBADMSG': 9, - 'ENOTUNIQ': 126, - 'EBADFD': 127, - 'EREMCHG': 128, - 'ELIBACC': 129, - 'ELIBBAD': 130, - 'ELIBSCN': 131, - 'ELIBMAX': 132, - 'ELIBEXEC': 133, - 'ENOSYS': 52, - 'ENOTEMPTY': 55, - 'ENAMETOOLONG': 37, - 'ELOOP': 32, - 'EOPNOTSUPP': 138, - 'EPFNOSUPPORT': 139, - 'ECONNRESET': 15, - 'ENOBUFS': 42, - 'EAFNOSUPPORT': 5, - 'EPROTOTYPE': 67, - 'ENOTSOCK': 57, - 'ENOPROTOOPT': 50, - 'ESHUTDOWN': 140, - 'ECONNREFUSED': 14, - 'EADDRINUSE': 3, - 'ECONNABORTED': 13, - 'ENETUNREACH': 40, - 'ENETDOWN': 38, - 'ETIMEDOUT': 73, - 'EHOSTDOWN': 142, - 'EHOSTUNREACH': 23, - 'EINPROGRESS': 26, - 'EALREADY': 7, - 'EDESTADDRREQ': 17, - 'EMSGSIZE': 35, - 'EPROTONOSUPPORT': 66, - 'ESOCKTNOSUPPORT': 137, - 'EADDRNOTAVAIL': 4, - 'ENETRESET': 39, - 'EISCONN': 30, - 'ENOTCONN': 53, - 'ETOOMANYREFS': 141, - 'EUSERS': 136, - 'EDQUOT': 19, - 'ESTALE': 72, - 'ENOTSUP': 138, - 'ENOMEDIUM': 148, - 'EILSEQ': 25, - 'EOVERFLOW': 61, - 'ECANCELED': 11, - 'ENOTRECOVERABLE': 56, - 'EOWNERDEAD': 62, - 'ESTRPIPE': 135, - }; - var FS = { - root:null, - mounts:[], - devices:{ - }, - streams:[], - nextInode:1, - nameTable:null, - currentPath:"/", - initialized:false, - ignorePermissions:true, - filesystems:null, - syncFSRequests:0, - readFiles:{ - }, - ErrnoError:class extends Error { - name = 'ErrnoError'; - // We set the `name` property to be able to identify `FS.ErrnoError` - // - the `name` is a standard ECMA-262 property of error objects. Kind of good to have it anyway. - // - when using PROXYFS, an error can come from an underlying FS - // as different FS objects have their own FS.ErrnoError each, - // the test `err instanceof FS.ErrnoError` won't detect an error coming from another filesystem, causing bugs. - // we'll use the reliable test `err.name == "ErrnoError"` instead - constructor(errno) { - super(runtimeInitialized ? strError(errno) : ''); - this.errno = errno; - for (var key in ERRNO_CODES) { - if (ERRNO_CODES[key] === errno) { - this.code = key; - break; - } - } - } - }, - FSStream:class { - shared = {}; - get object() { - return this.node; - } - set object(val) { - this.node = val; - } - get isRead() { - return (this.flags & 2097155) !== 1; - } - get isWrite() { - return (this.flags & 2097155) !== 0; - } - get isAppend() { - return (this.flags & 1024); - } - get flags() { - return this.shared.flags; - } - set flags(val) { - this.shared.flags = val; - } - get position() { - return this.shared.position; - } - set position(val) { - this.shared.position = val; - } - }, - FSNode:class { - node_ops = {}; - stream_ops = {}; - readMode = 292 | 73; - writeMode = 146; - mounted = null; - constructor(parent, name, mode, rdev) { - if (!parent) { - parent = this; // root node sets parent to itself - } - this.parent = parent; - this.mount = parent.mount; - this.id = FS.nextInode++; - this.name = name; - this.mode = mode; - this.rdev = rdev; - this.atime = this.mtime = this.ctime = Date.now(); - } - get read() { - return (this.mode & this.readMode) === this.readMode; - } - set read(val) { - val ? this.mode |= this.readMode : this.mode &= ~this.readMode; - } - get write() { - return (this.mode & this.writeMode) === this.writeMode; - } - set write(val) { - val ? this.mode |= this.writeMode : this.mode &= ~this.writeMode; - } - get isFolder() { - return FS.isDir(this.mode); - } - get isDevice() { - return FS.isChrdev(this.mode); - } - }, - lookupPath(path, opts = {}) { - if (!path) { - throw new FS.ErrnoError(44); - } - opts.follow_mount ??= true - - if (!PATH.isAbs(path)) { - path = FS.cwd() + '/' + path; - } - - // limit max consecutive symlinks to 40 (SYMLOOP_MAX). - linkloop: for (var nlinks = 0; nlinks < 40; nlinks++) { - // split the absolute path - var parts = path.split('/').filter((p) => !!p); - - // start at the root - var current = FS.root; - var current_path = '/'; - - for (var i = 0; i < parts.length; i++) { - var islast = (i === parts.length-1); - if (islast && opts.parent) { - // stop resolving - break; - } - - if (parts[i] === '.') { - continue; - } - - if (parts[i] === '..') { - current_path = PATH.dirname(current_path); - current = current.parent; - continue; - } - - current_path = PATH.join2(current_path, parts[i]); - try { - current = FS.lookupNode(current, parts[i]); - } catch (e) { - // if noent_okay is true, suppress a ENOENT in the last component - // and return an object with an undefined node. This is needed for - // resolving symlinks in the path when creating a file. - if ((e?.errno === 44) && islast && opts.noent_okay) { - return { path: current_path }; - } - throw e; - } - - // jump to the mount's root node if this is a mountpoint - if (FS.isMountpoint(current) && (!islast || opts.follow_mount)) { - current = current.mounted.root; - } - - // by default, lookupPath will not follow a symlink if it is the final path component. - // setting opts.follow = true will override this behavior. - if (FS.isLink(current.mode) && (!islast || opts.follow)) { - if (!current.node_ops.readlink) { - throw new FS.ErrnoError(52); - } - var link = current.node_ops.readlink(current); - if (!PATH.isAbs(link)) { - link = PATH.dirname(current_path) + '/' + link; - } - path = link + '/' + parts.slice(i + 1).join('/'); - continue linkloop; - } - } - return { path: current_path, node: current }; - } - throw new FS.ErrnoError(32); - }, - getPath(node) { - var path; - while (true) { - if (FS.isRoot(node)) { - var mount = node.mount.mountpoint; - if (!path) return mount; - return mount[mount.length-1] !== '/' ? `${mount}/${path}` : mount + path; - } - path = path ? `${node.name}/${path}` : node.name; - node = node.parent; - } - }, - hashName(parentid, name) { - var hash = 0; - - for (var i = 0; i < name.length; i++) { - hash = ((hash << 5) - hash + name.charCodeAt(i)) | 0; - } - return ((parentid + hash) >>> 0) % FS.nameTable.length; - }, - hashAddNode(node) { - var hash = FS.hashName(node.parent.id, node.name); - node.name_next = FS.nameTable[hash]; - FS.nameTable[hash] = node; - }, - hashRemoveNode(node) { - var hash = FS.hashName(node.parent.id, node.name); - if (FS.nameTable[hash] === node) { - FS.nameTable[hash] = node.name_next; - } else { - var current = FS.nameTable[hash]; - while (current) { - if (current.name_next === node) { - current.name_next = node.name_next; - break; - } - current = current.name_next; - } - } - }, - lookupNode(parent, name) { - var errCode = FS.mayLookup(parent); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - var hash = FS.hashName(parent.id, name); - for (var node = FS.nameTable[hash]; node; node = node.name_next) { - var nodeName = node.name; - if (node.parent.id === parent.id && nodeName === name) { - return node; - } - } - // if we failed to find it in the cache, call into the VFS - return FS.lookup(parent, name); - }, - createNode(parent, name, mode, rdev) { - assert(typeof parent == 'object') - var node = new FS.FSNode(parent, name, mode, rdev); - - FS.hashAddNode(node); - - return node; - }, - destroyNode(node) { - FS.hashRemoveNode(node); - }, - isRoot(node) { - return node === node.parent; - }, - isMountpoint(node) { - return !!node.mounted; - }, - isFile(mode) { - return (mode & 61440) === 32768; - }, - isDir(mode) { - return (mode & 61440) === 16384; - }, - isLink(mode) { - return (mode & 61440) === 40960; - }, - isChrdev(mode) { - return (mode & 61440) === 8192; - }, - isBlkdev(mode) { - return (mode & 61440) === 24576; - }, - isFIFO(mode) { - return (mode & 61440) === 4096; - }, - isSocket(mode) { - return (mode & 49152) === 49152; - }, - flagsToPermissionString(flag) { - var perms = ['r', 'w', 'rw'][flag & 3]; - if ((flag & 512)) { - perms += 'w'; - } - return perms; - }, - nodePermissions(node, perms) { - if (FS.ignorePermissions) { - return 0; - } - // return 0 if any user, group or owner bits are set. - if (perms.includes('r') && !(node.mode & 292)) { - return 2; - } else if (perms.includes('w') && !(node.mode & 146)) { - return 2; - } else if (perms.includes('x') && !(node.mode & 73)) { - return 2; - } - return 0; - }, - mayLookup(dir) { - if (!FS.isDir(dir.mode)) return 54; - var errCode = FS.nodePermissions(dir, 'x'); - if (errCode) return errCode; - if (!dir.node_ops.lookup) return 2; - return 0; - }, - mayCreate(dir, name) { - if (!FS.isDir(dir.mode)) { - return 54; - } - try { - var node = FS.lookupNode(dir, name); - return 20; - } catch (e) { - } - return FS.nodePermissions(dir, 'wx'); - }, - mayDelete(dir, name, isdir) { - var node; - try { - node = FS.lookupNode(dir, name); - } catch (e) { - return e.errno; - } - var errCode = FS.nodePermissions(dir, 'wx'); - if (errCode) { - return errCode; - } - if (isdir) { - if (!FS.isDir(node.mode)) { - return 54; - } - if (FS.isRoot(node) || FS.getPath(node) === FS.cwd()) { - return 10; - } - } else { - if (FS.isDir(node.mode)) { - return 31; - } - } - return 0; - }, - mayOpen(node, flags) { - if (!node) { - return 44; - } - if (FS.isLink(node.mode)) { - return 32; - } else if (FS.isDir(node.mode)) { - if (FS.flagsToPermissionString(flags) !== 'r' // opening for write - || (flags & (512 | 64))) { // TODO: check for O_SEARCH? (== search for dir only) - return 31; - } - } - return FS.nodePermissions(node, FS.flagsToPermissionString(flags)); - }, - checkOpExists(op, err) { - if (!op) { - throw new FS.ErrnoError(err); - } - return op; - }, - MAX_OPEN_FDS:4096, - nextfd() { - for (var fd = 0; fd <= FS.MAX_OPEN_FDS; fd++) { - if (!FS.streams[fd]) { - return fd; - } - } - throw new FS.ErrnoError(33); - }, - getStreamChecked(fd) { - var stream = FS.getStream(fd); - if (!stream) { - throw new FS.ErrnoError(8); - } - return stream; - }, - getStream:(fd) => FS.streams[fd], - createStream(stream, fd = -1) { - assert(fd >= -1); - - // clone it, so we can return an instance of FSStream - stream = Object.assign(new FS.FSStream(), stream); - if (fd == -1) { - fd = FS.nextfd(); - } - stream.fd = fd; - FS.streams[fd] = stream; - return stream; - }, - closeStream(fd) { - FS.streams[fd] = null; - }, - dupStream(origStream, fd = -1) { - var stream = FS.createStream(origStream, fd); - stream.stream_ops?.dup?.(stream); - return stream; - }, - doSetAttr(stream, node, attr) { - var setattr = stream?.stream_ops.setattr; - var arg = setattr ? stream : node; - setattr ??= node.node_ops.setattr; - FS.checkOpExists(setattr, 63) - setattr(arg, attr); - }, - chrdev_stream_ops:{ - open(stream) { - var device = FS.getDevice(stream.node.rdev); - // override node's stream ops with the device's - stream.stream_ops = device.stream_ops; - // forward the open call - stream.stream_ops.open?.(stream); - }, - llseek() { - throw new FS.ErrnoError(70); - }, - }, - major:(dev) => ((dev) >> 8), - minor:(dev) => ((dev) & 0xff), - makedev:(ma, mi) => ((ma) << 8 | (mi)), - registerDevice(dev, ops) { - FS.devices[dev] = { stream_ops: ops }; - }, - getDevice:(dev) => FS.devices[dev], - getMounts(mount) { - var mounts = []; - var check = [mount]; - - while (check.length) { - var m = check.pop(); - - mounts.push(m); - - check.push(...m.mounts); - } - - return mounts; - }, - syncfs(populate, callback) { - if (typeof populate == 'function') { - callback = populate; - populate = false; - } - - FS.syncFSRequests++; - - if (FS.syncFSRequests > 1) { - err(`warning: ${FS.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`); - } - - var mounts = FS.getMounts(FS.root.mount); - var completed = 0; - - function doCallback(errCode) { - assert(FS.syncFSRequests > 0); - FS.syncFSRequests--; - return callback(errCode); - } - - function done(errCode) { - if (errCode) { - if (!done.errored) { - done.errored = true; - return doCallback(errCode); - } - return; - } - if (++completed >= mounts.length) { - doCallback(null); - } - }; - - // sync all mounts - mounts.forEach((mount) => { - if (!mount.type.syncfs) { - return done(null); - } - mount.type.syncfs(mount, populate, done); - }); - }, - mount(type, opts, mountpoint) { - if (typeof type == 'string') { - // The filesystem was not included, and instead we have an error - // message stored in the variable. - throw type; - } - var root = mountpoint === '/'; - var pseudo = !mountpoint; - var node; - - if (root && FS.root) { - throw new FS.ErrnoError(10); - } else if (!root && !pseudo) { - var lookup = FS.lookupPath(mountpoint, { follow_mount: false }); - - mountpoint = lookup.path; // use the absolute path - node = lookup.node; - - if (FS.isMountpoint(node)) { - throw new FS.ErrnoError(10); - } - - if (!FS.isDir(node.mode)) { - throw new FS.ErrnoError(54); - } - } - - var mount = { - type, - opts, - mountpoint, - mounts: [] - }; - - // create a root node for the fs - var mountRoot = type.mount(mount); - mountRoot.mount = mount; - mount.root = mountRoot; - - if (root) { - FS.root = mountRoot; - } else if (node) { - // set as a mountpoint - node.mounted = mount; - - // add the new mount to the current mount's children - if (node.mount) { - node.mount.mounts.push(mount); - } - } - - return mountRoot; - }, - unmount(mountpoint) { - var lookup = FS.lookupPath(mountpoint, { follow_mount: false }); - - if (!FS.isMountpoint(lookup.node)) { - throw new FS.ErrnoError(28); - } - - // destroy the nodes for this mount, and all its child mounts - var node = lookup.node; - var mount = node.mounted; - var mounts = FS.getMounts(mount); - - Object.keys(FS.nameTable).forEach((hash) => { - var current = FS.nameTable[hash]; - - while (current) { - var next = current.name_next; - - if (mounts.includes(current.mount)) { - FS.destroyNode(current); - } - - current = next; - } - }); - - // no longer a mountpoint - node.mounted = null; - - // remove this mount from the child mounts - var idx = node.mount.mounts.indexOf(mount); - assert(idx !== -1); - node.mount.mounts.splice(idx, 1); - }, - lookup(parent, name) { - return parent.node_ops.lookup(parent, name); - }, - mknod(path, mode, dev) { - var lookup = FS.lookupPath(path, { parent: true }); - var parent = lookup.node; - var name = PATH.basename(path); - if (!name) { - throw new FS.ErrnoError(28); - } - if (name === '.' || name === '..') { - throw new FS.ErrnoError(20); - } - var errCode = FS.mayCreate(parent, name); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - if (!parent.node_ops.mknod) { - throw new FS.ErrnoError(63); - } - return parent.node_ops.mknod(parent, name, mode, dev); - }, - statfs(path) { - return FS.statfsNode(FS.lookupPath(path, {follow: true}).node); - }, - statfsStream(stream) { - // We keep a separate statfsStream function because noderawfs overrides - // it. In noderawfs, stream.node is sometimes null. Instead, we need to - // look at stream.path. - return FS.statfsNode(stream.node); - }, - statfsNode(node) { - // NOTE: None of the defaults here are true. We're just returning safe and - // sane values. Currently nodefs and rawfs replace these defaults, - // other file systems leave them alone. - var rtn = { - bsize: 4096, - frsize: 4096, - blocks: 1e6, - bfree: 5e5, - bavail: 5e5, - files: FS.nextInode, - ffree: FS.nextInode - 1, - fsid: 42, - flags: 2, - namelen: 255, - }; - - if (node.node_ops.statfs) { - Object.assign(rtn, node.node_ops.statfs(node.mount.opts.root)); - } - return rtn; - }, - create(path, mode = 0o666) { - mode &= 4095; - mode |= 32768; - return FS.mknod(path, mode, 0); - }, - mkdir(path, mode = 0o777) { - mode &= 511 | 512; - mode |= 16384; - return FS.mknod(path, mode, 0); - }, - mkdirTree(path, mode) { - var dirs = path.split('/'); - var d = ''; - for (var dir of dirs) { - if (!dir) continue; - if (d || PATH.isAbs(path)) d += '/'; - d += dir; - try { - FS.mkdir(d, mode); - } catch(e) { - if (e.errno != 20) throw e; - } - } - }, - mkdev(path, mode, dev) { - if (typeof dev == 'undefined') { - dev = mode; - mode = 0o666; - } - mode |= 8192; - return FS.mknod(path, mode, dev); - }, - symlink(oldpath, newpath) { - if (!PATH_FS.resolve(oldpath)) { - throw new FS.ErrnoError(44); - } - var lookup = FS.lookupPath(newpath, { parent: true }); - var parent = lookup.node; - if (!parent) { - throw new FS.ErrnoError(44); - } - var newname = PATH.basename(newpath); - var errCode = FS.mayCreate(parent, newname); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - if (!parent.node_ops.symlink) { - throw new FS.ErrnoError(63); - } - return parent.node_ops.symlink(parent, newname, oldpath); - }, - rename(old_path, new_path) { - var old_dirname = PATH.dirname(old_path); - var new_dirname = PATH.dirname(new_path); - var old_name = PATH.basename(old_path); - var new_name = PATH.basename(new_path); - // parents must exist - var lookup, old_dir, new_dir; - - // let the errors from non existent directories percolate up - lookup = FS.lookupPath(old_path, { parent: true }); - old_dir = lookup.node; - lookup = FS.lookupPath(new_path, { parent: true }); - new_dir = lookup.node; - - if (!old_dir || !new_dir) throw new FS.ErrnoError(44); - // need to be part of the same mount - if (old_dir.mount !== new_dir.mount) { - throw new FS.ErrnoError(75); - } - // source must exist - var old_node = FS.lookupNode(old_dir, old_name); - // old path should not be an ancestor of the new path - var relative = PATH_FS.relative(old_path, new_dirname); - if (relative.charAt(0) !== '.') { - throw new FS.ErrnoError(28); - } - // new path should not be an ancestor of the old path - relative = PATH_FS.relative(new_path, old_dirname); - if (relative.charAt(0) !== '.') { - throw new FS.ErrnoError(55); - } - // see if the new path already exists - var new_node; - try { - new_node = FS.lookupNode(new_dir, new_name); - } catch (e) { - // not fatal - } - // early out if nothing needs to change - if (old_node === new_node) { - return; - } - // we'll need to delete the old entry - var isdir = FS.isDir(old_node.mode); - var errCode = FS.mayDelete(old_dir, old_name, isdir); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - // need delete permissions if we'll be overwriting. - // need create permissions if new doesn't already exist. - errCode = new_node ? - FS.mayDelete(new_dir, new_name, isdir) : - FS.mayCreate(new_dir, new_name); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - if (!old_dir.node_ops.rename) { - throw new FS.ErrnoError(63); - } - if (FS.isMountpoint(old_node) || (new_node && FS.isMountpoint(new_node))) { - throw new FS.ErrnoError(10); - } - // if we are going to change the parent, check write permissions - if (new_dir !== old_dir) { - errCode = FS.nodePermissions(old_dir, 'w'); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - } - // remove the node from the lookup hash - FS.hashRemoveNode(old_node); - // do the underlying fs rename - try { - old_dir.node_ops.rename(old_node, new_dir, new_name); - // update old node (we do this here to avoid each backend - // needing to) - old_node.parent = new_dir; - } catch (e) { - throw e; - } finally { - // add the node back to the hash (in case node_ops.rename - // changed its name) - FS.hashAddNode(old_node); - } - }, - rmdir(path) { - var lookup = FS.lookupPath(path, { parent: true }); - var parent = lookup.node; - var name = PATH.basename(path); - var node = FS.lookupNode(parent, name); - var errCode = FS.mayDelete(parent, name, true); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - if (!parent.node_ops.rmdir) { - throw new FS.ErrnoError(63); - } - if (FS.isMountpoint(node)) { - throw new FS.ErrnoError(10); - } - parent.node_ops.rmdir(parent, name); - FS.destroyNode(node); - }, - readdir(path) { - var lookup = FS.lookupPath(path, { follow: true }); - var node = lookup.node; - var readdir = FS.checkOpExists(node.node_ops.readdir, 54); - return readdir(node); - }, - unlink(path) { - var lookup = FS.lookupPath(path, { parent: true }); - var parent = lookup.node; - if (!parent) { - throw new FS.ErrnoError(44); - } - var name = PATH.basename(path); - var node = FS.lookupNode(parent, name); - var errCode = FS.mayDelete(parent, name, false); - if (errCode) { - // According to POSIX, we should map EISDIR to EPERM, but - // we instead do what Linux does (and we must, as we use - // the musl linux libc). - throw new FS.ErrnoError(errCode); - } - if (!parent.node_ops.unlink) { - throw new FS.ErrnoError(63); - } - if (FS.isMountpoint(node)) { - throw new FS.ErrnoError(10); - } - parent.node_ops.unlink(parent, name); - FS.destroyNode(node); - }, - readlink(path) { - var lookup = FS.lookupPath(path); - var link = lookup.node; - if (!link) { - throw new FS.ErrnoError(44); - } - if (!link.node_ops.readlink) { - throw new FS.ErrnoError(28); - } - return link.node_ops.readlink(link); - }, - stat(path, dontFollow) { - var lookup = FS.lookupPath(path, { follow: !dontFollow }); - var node = lookup.node; - var getattr = FS.checkOpExists(node.node_ops.getattr, 63); - return getattr(node); - }, - fstat(fd) { - var stream = FS.getStreamChecked(fd); - var node = stream.node; - var getattr = stream.stream_ops.getattr; - var arg = getattr ? stream : node; - getattr ??= node.node_ops.getattr; - FS.checkOpExists(getattr, 63) - return getattr(arg); - }, - lstat(path) { - return FS.stat(path, true); - }, - doChmod(stream, node, mode, dontFollow) { - FS.doSetAttr(stream, node, { - mode: (mode & 4095) | (node.mode & ~4095), - ctime: Date.now(), - dontFollow - }); - }, - chmod(path, mode, dontFollow) { - var node; - if (typeof path == 'string') { - var lookup = FS.lookupPath(path, { follow: !dontFollow }); - node = lookup.node; - } else { - node = path; - } - FS.doChmod(null, node, mode, dontFollow); - }, - lchmod(path, mode) { - FS.chmod(path, mode, true); - }, - fchmod(fd, mode) { - var stream = FS.getStreamChecked(fd); - FS.doChmod(stream, stream.node, mode, false); - }, - doChown(stream, node, dontFollow) { - FS.doSetAttr(stream, node, { - timestamp: Date.now(), - dontFollow - // we ignore the uid / gid for now - }); - }, - chown(path, uid, gid, dontFollow) { - var node; - if (typeof path == 'string') { - var lookup = FS.lookupPath(path, { follow: !dontFollow }); - node = lookup.node; - } else { - node = path; - } - FS.doChown(null, node, dontFollow); - }, - lchown(path, uid, gid) { - FS.chown(path, uid, gid, true); - }, - fchown(fd, uid, gid) { - var stream = FS.getStreamChecked(fd); - FS.doChown(stream, stream.node, false); - }, - doTruncate(stream, node, len) { - if (FS.isDir(node.mode)) { - throw new FS.ErrnoError(31); - } - if (!FS.isFile(node.mode)) { - throw new FS.ErrnoError(28); - } - var errCode = FS.nodePermissions(node, 'w'); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - FS.doSetAttr(stream, node, { - size: len, - timestamp: Date.now() - }); - }, - truncate(path, len) { - if (len < 0) { - throw new FS.ErrnoError(28); - } - var node; - if (typeof path == 'string') { - var lookup = FS.lookupPath(path, { follow: true }); - node = lookup.node; - } else { - node = path; - } - FS.doTruncate(null, node, len); - }, - ftruncate(fd, len) { - var stream = FS.getStreamChecked(fd); - if (len < 0 || (stream.flags & 2097155) === 0) { - throw new FS.ErrnoError(28); - } - FS.doTruncate(stream, stream.node, len); - }, - utime(path, atime, mtime) { - var lookup = FS.lookupPath(path, { follow: true }); - var node = lookup.node; - var setattr = FS.checkOpExists(node.node_ops.setattr, 63); - setattr(node, { - atime: atime, - mtime: mtime - }); - }, - open(path, flags, mode = 0o666) { - if (path === "") { - throw new FS.ErrnoError(44); - } - flags = typeof flags == 'string' ? FS_modeStringToFlags(flags) : flags; - if ((flags & 64)) { - mode = (mode & 4095) | 32768; - } else { - mode = 0; - } - var node; - var isDirPath; - if (typeof path == 'object') { - node = path; - } else { - isDirPath = path.endsWith("/"); - // noent_okay makes it so that if the final component of the path - // doesn't exist, lookupPath returns `node: undefined`. `path` will be - // updated to point to the target of all symlinks. - var lookup = FS.lookupPath(path, { - follow: !(flags & 131072), - noent_okay: true - }); - node = lookup.node; - path = lookup.path; - } - // perhaps we need to create the node - var created = false; - if ((flags & 64)) { - if (node) { - // if O_CREAT and O_EXCL are set, error out if the node already exists - if ((flags & 128)) { - throw new FS.ErrnoError(20); - } - } else if (isDirPath) { - throw new FS.ErrnoError(31); - } else { - // node doesn't exist, try to create it - // Ignore the permission bits here to ensure we can `open` this new - // file below. We use chmod below the apply the permissions once the - // file is open. - node = FS.mknod(path, mode | 0o777, 0); - created = true; - } - } - if (!node) { - throw new FS.ErrnoError(44); - } - // can't truncate a device - if (FS.isChrdev(node.mode)) { - flags &= ~512; - } - // if asked only for a directory, then this must be one - if ((flags & 65536) && !FS.isDir(node.mode)) { - throw new FS.ErrnoError(54); - } - // check permissions, if this is not a file we just created now (it is ok to - // create and write to a file with read-only permissions; it is read-only - // for later use) - if (!created) { - var errCode = FS.mayOpen(node, flags); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - } - // do truncation if necessary - if ((flags & 512) && !created) { - FS.truncate(node, 0); - } - // we've already handled these, don't pass down to the underlying vfs - flags &= ~(128 | 512 | 131072); - - // register the stream with the filesystem - var stream = FS.createStream({ - node, - path: FS.getPath(node), // we want the absolute path to the node - flags, - seekable: true, - position: 0, - stream_ops: node.stream_ops, - // used by the file family libc calls (fopen, fwrite, ferror, etc.) - ungotten: [], - error: false - }); - // call the new stream's open function - if (stream.stream_ops.open) { - stream.stream_ops.open(stream); - } - if (created) { - FS.chmod(node, mode & 0o777); - } - if (Module['logReadFiles'] && !(flags & 1)) { - if (!(path in FS.readFiles)) { - FS.readFiles[path] = 1; - } - } - return stream; - }, - close(stream) { - if (FS.isClosed(stream)) { - throw new FS.ErrnoError(8); - } - if (stream.getdents) stream.getdents = null; // free readdir state - try { - if (stream.stream_ops.close) { - stream.stream_ops.close(stream); - } - } catch (e) { - throw e; - } finally { - FS.closeStream(stream.fd); - } - stream.fd = null; - }, - isClosed(stream) { - return stream.fd === null; - }, - llseek(stream, offset, whence) { - if (FS.isClosed(stream)) { - throw new FS.ErrnoError(8); - } - if (!stream.seekable || !stream.stream_ops.llseek) { - throw new FS.ErrnoError(70); - } - if (whence != 0 && whence != 1 && whence != 2) { - throw new FS.ErrnoError(28); - } - stream.position = stream.stream_ops.llseek(stream, offset, whence); - stream.ungotten = []; - return stream.position; - }, - read(stream, buffer, offset, length, position) { - assert(offset >= 0); - if (length < 0 || position < 0) { - throw new FS.ErrnoError(28); - } - if (FS.isClosed(stream)) { - throw new FS.ErrnoError(8); - } - if ((stream.flags & 2097155) === 1) { - throw new FS.ErrnoError(8); - } - if (FS.isDir(stream.node.mode)) { - throw new FS.ErrnoError(31); - } - if (!stream.stream_ops.read) { - throw new FS.ErrnoError(28); - } - var seeking = typeof position != 'undefined'; - if (!seeking) { - position = stream.position; - } else if (!stream.seekable) { - throw new FS.ErrnoError(70); - } - var bytesRead = stream.stream_ops.read(stream, buffer, offset, length, position); - if (!seeking) stream.position += bytesRead; - return bytesRead; - }, - write(stream, buffer, offset, length, position, canOwn) { - assert(offset >= 0); - if (length < 0 || position < 0) { - throw new FS.ErrnoError(28); - } - if (FS.isClosed(stream)) { - throw new FS.ErrnoError(8); - } - if ((stream.flags & 2097155) === 0) { - throw new FS.ErrnoError(8); - } - if (FS.isDir(stream.node.mode)) { - throw new FS.ErrnoError(31); - } - if (!stream.stream_ops.write) { - throw new FS.ErrnoError(28); - } - if (stream.seekable && stream.flags & 1024) { - // seek to the end before writing in append mode - FS.llseek(stream, 0, 2); - } - var seeking = typeof position != 'undefined'; - if (!seeking) { - position = stream.position; - } else if (!stream.seekable) { - throw new FS.ErrnoError(70); - } - var bytesWritten = stream.stream_ops.write(stream, buffer, offset, length, position, canOwn); - if (!seeking) stream.position += bytesWritten; - return bytesWritten; - }, - mmap(stream, length, position, prot, flags) { - // User requests writing to file (prot & PROT_WRITE != 0). - // Checking if we have permissions to write to the file unless - // MAP_PRIVATE flag is set. According to POSIX spec it is possible - // to write to file opened in read-only mode with MAP_PRIVATE flag, - // as all modifications will be visible only in the memory of - // the current process. - if ((prot & 2) !== 0 - && (flags & 2) === 0 - && (stream.flags & 2097155) !== 2) { - throw new FS.ErrnoError(2); - } - if ((stream.flags & 2097155) === 1) { - throw new FS.ErrnoError(2); - } - if (!stream.stream_ops.mmap) { - throw new FS.ErrnoError(43); - } - if (!length) { - throw new FS.ErrnoError(28); - } - return stream.stream_ops.mmap(stream, length, position, prot, flags); - }, - msync(stream, buffer, offset, length, mmapFlags) { - assert(offset >= 0); - if (!stream.stream_ops.msync) { - return 0; - } - return stream.stream_ops.msync(stream, buffer, offset, length, mmapFlags); - }, - ioctl(stream, cmd, arg) { - if (!stream.stream_ops.ioctl) { - throw new FS.ErrnoError(59); - } - return stream.stream_ops.ioctl(stream, cmd, arg); - }, - readFile(path, opts = {}) { - opts.flags = opts.flags || 0; - opts.encoding = opts.encoding || 'binary'; - if (opts.encoding !== 'utf8' && opts.encoding !== 'binary') { - throw new Error(`Invalid encoding type "${opts.encoding}"`); - } - var ret; - var stream = FS.open(path, opts.flags); - var stat = FS.stat(path); - var length = stat.size; - var buf = new Uint8Array(length); - FS.read(stream, buf, 0, length, 0); - if (opts.encoding === 'utf8') { - ret = UTF8ArrayToString(buf); - } else if (opts.encoding === 'binary') { - ret = buf; - } - FS.close(stream); - return ret; - }, - writeFile(path, data, opts = {}) { - opts.flags = opts.flags || 577; - var stream = FS.open(path, opts.flags, opts.mode); - if (typeof data == 'string') { - var buf = new Uint8Array(lengthBytesUTF8(data)+1); - var actualNumBytes = stringToUTF8Array(data, buf, 0, buf.length); - FS.write(stream, buf, 0, actualNumBytes, undefined, opts.canOwn); - } else if (ArrayBuffer.isView(data)) { - FS.write(stream, data, 0, data.byteLength, undefined, opts.canOwn); - } else { - throw new Error('Unsupported data type'); - } - FS.close(stream); - }, - cwd:() => FS.currentPath, - chdir(path) { - var lookup = FS.lookupPath(path, { follow: true }); - if (lookup.node === null) { - throw new FS.ErrnoError(44); - } - if (!FS.isDir(lookup.node.mode)) { - throw new FS.ErrnoError(54); - } - var errCode = FS.nodePermissions(lookup.node, 'x'); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - FS.currentPath = lookup.path; - }, - createDefaultDirectories() { - FS.mkdir('/tmp'); - FS.mkdir('/home'); - FS.mkdir('/home/web_user'); - }, - createDefaultDevices() { - // create /dev - FS.mkdir('/dev'); - // setup /dev/null - FS.registerDevice(FS.makedev(1, 3), { - read: () => 0, - write: (stream, buffer, offset, length, pos) => length, - llseek: () => 0, - }); - FS.mkdev('/dev/null', FS.makedev(1, 3)); - // setup /dev/tty and /dev/tty1 - // stderr needs to print output using err() rather than out() - // so we register a second tty just for it. - TTY.register(FS.makedev(5, 0), TTY.default_tty_ops); - TTY.register(FS.makedev(6, 0), TTY.default_tty1_ops); - FS.mkdev('/dev/tty', FS.makedev(5, 0)); - FS.mkdev('/dev/tty1', FS.makedev(6, 0)); - // setup /dev/[u]random - // use a buffer to avoid overhead of individual crypto calls per byte - var randomBuffer = new Uint8Array(1024), randomLeft = 0; - var randomByte = () => { - if (randomLeft === 0) { - randomFill(randomBuffer); - randomLeft = randomBuffer.byteLength; - } - return randomBuffer[--randomLeft]; - }; - FS.createDevice('/dev', 'random', randomByte); - FS.createDevice('/dev', 'urandom', randomByte); - // we're not going to emulate the actual shm device, - // just create the tmp dirs that reside in it commonly - FS.mkdir('/dev/shm'); - FS.mkdir('/dev/shm/tmp'); - }, - createSpecialDirectories() { - // create /proc/self/fd which allows /proc/self/fd/6 => readlink gives the - // name of the stream for fd 6 (see test_unistd_ttyname) - FS.mkdir('/proc'); - var proc_self = FS.mkdir('/proc/self'); - FS.mkdir('/proc/self/fd'); - FS.mount({ - mount() { - var node = FS.createNode(proc_self, 'fd', 16895, 73); - node.stream_ops = { - llseek: MEMFS.stream_ops.llseek, - }; - node.node_ops = { - lookup(parent, name) { - var fd = +name; - var stream = FS.getStreamChecked(fd); - var ret = { - parent: null, - mount: { mountpoint: 'fake' }, - node_ops: { readlink: () => stream.path }, - id: fd + 1, - }; - ret.parent = ret; // make it look like a simple root node - return ret; - }, - readdir() { - return Array.from(FS.streams.entries()) - .filter(([k, v]) => v) - .map(([k, v]) => k.toString()); - } - }; - return node; - } - }, {}, '/proc/self/fd'); - }, - createStandardStreams(input, output, error) { - // TODO deprecate the old functionality of a single - // input / output callback and that utilizes FS.createDevice - // and instead require a unique set of stream ops - - // by default, we symlink the standard streams to the - // default tty devices. however, if the standard streams - // have been overwritten we create a unique device for - // them instead. - if (input) { - FS.createDevice('/dev', 'stdin', input); - } else { - FS.symlink('/dev/tty', '/dev/stdin'); - } - if (output) { - FS.createDevice('/dev', 'stdout', null, output); - } else { - FS.symlink('/dev/tty', '/dev/stdout'); - } - if (error) { - FS.createDevice('/dev', 'stderr', null, error); - } else { - FS.symlink('/dev/tty1', '/dev/stderr'); - } - - // open default streams for the stdin, stdout and stderr devices - var stdin = FS.open('/dev/stdin', 0); - var stdout = FS.open('/dev/stdout', 1); - var stderr = FS.open('/dev/stderr', 1); - assert(stdin.fd === 0, `invalid handle for stdin (${stdin.fd})`); - assert(stdout.fd === 1, `invalid handle for stdout (${stdout.fd})`); - assert(stderr.fd === 2, `invalid handle for stderr (${stderr.fd})`); - }, - staticInit() { - FS.nameTable = new Array(4096); - - FS.mount(MEMFS, {}, '/'); - - FS.createDefaultDirectories(); - FS.createDefaultDevices(); - FS.createSpecialDirectories(); - - FS.filesystems = { - 'MEMFS': MEMFS, - }; - }, - init(input, output, error) { - assert(!FS.initialized, 'FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)'); - FS.initialized = true; - - // Allow Module.stdin etc. to provide defaults, if none explicitly passed to us here - input ??= Module['stdin']; - output ??= Module['stdout']; - error ??= Module['stderr']; - - FS.createStandardStreams(input, output, error); - }, - quit() { - FS.initialized = false; - // force-flush all streams, so we get musl std streams printed out - _fflush(0); - // close all of our streams - for (var stream of FS.streams) { - if (stream) { - FS.close(stream); - } - } - }, - findObject(path, dontResolveLastLink) { - var ret = FS.analyzePath(path, dontResolveLastLink); - if (!ret.exists) { - return null; - } - return ret.object; - }, - analyzePath(path, dontResolveLastLink) { - // operate from within the context of the symlink's target - try { - var lookup = FS.lookupPath(path, { follow: !dontResolveLastLink }); - path = lookup.path; - } catch (e) { - } - var ret = { - isRoot: false, exists: false, error: 0, name: null, path: null, object: null, - parentExists: false, parentPath: null, parentObject: null - }; - try { - var lookup = FS.lookupPath(path, { parent: true }); - ret.parentExists = true; - ret.parentPath = lookup.path; - ret.parentObject = lookup.node; - ret.name = PATH.basename(path); - lookup = FS.lookupPath(path, { follow: !dontResolveLastLink }); - ret.exists = true; - ret.path = lookup.path; - ret.object = lookup.node; - ret.name = lookup.node.name; - ret.isRoot = lookup.path === '/'; - } catch (e) { - ret.error = e.errno; - }; - return ret; - }, - createPath(parent, path, canRead, canWrite) { - parent = typeof parent == 'string' ? parent : FS.getPath(parent); - var parts = path.split('/').reverse(); - while (parts.length) { - var part = parts.pop(); - if (!part) continue; - var current = PATH.join2(parent, part); - try { - FS.mkdir(current); - } catch (e) { - if (e.errno != 20) throw e; - } - parent = current; - } - return current; - }, - createFile(parent, name, properties, canRead, canWrite) { - var path = PATH.join2(typeof parent == 'string' ? parent : FS.getPath(parent), name); - var mode = FS_getMode(canRead, canWrite); - return FS.create(path, mode); - }, - createDataFile(parent, name, data, canRead, canWrite, canOwn) { - var path = name; - if (parent) { - parent = typeof parent == 'string' ? parent : FS.getPath(parent); - path = name ? PATH.join2(parent, name) : parent; - } - var mode = FS_getMode(canRead, canWrite); - var node = FS.create(path, mode); - if (data) { - if (typeof data == 'string') { - var arr = new Array(data.length); - for (var i = 0, len = data.length; i < len; ++i) arr[i] = data.charCodeAt(i); - data = arr; - } - // make sure we can write to the file - FS.chmod(node, mode | 146); - var stream = FS.open(node, 577); - FS.write(stream, data, 0, data.length, 0, canOwn); - FS.close(stream); - FS.chmod(node, mode); - } - }, - createDevice(parent, name, input, output) { - var path = PATH.join2(typeof parent == 'string' ? parent : FS.getPath(parent), name); - var mode = FS_getMode(!!input, !!output); - FS.createDevice.major ??= 64; - var dev = FS.makedev(FS.createDevice.major++, 0); - // Create a fake device that a set of stream ops to emulate - // the old behavior. - FS.registerDevice(dev, { - open(stream) { - stream.seekable = false; - }, - close(stream) { - // flush any pending line data - if (output?.buffer?.length) { - output(10); - } - }, - read(stream, buffer, offset, length, pos /* ignored */) { - var bytesRead = 0; - for (var i = 0; i < length; i++) { - var result; - try { - result = input(); - } catch (e) { - throw new FS.ErrnoError(29); - } - if (result === undefined && bytesRead === 0) { - throw new FS.ErrnoError(6); - } - if (result === null || result === undefined) break; - bytesRead++; - buffer[offset+i] = result; - } - if (bytesRead) { - stream.node.atime = Date.now(); - } - return bytesRead; - }, - write(stream, buffer, offset, length, pos) { - for (var i = 0; i < length; i++) { - try { - output(buffer[offset+i]); - } catch (e) { - throw new FS.ErrnoError(29); - } - } - if (length) { - stream.node.mtime = stream.node.ctime = Date.now(); - } - return i; - } - }); - return FS.mkdev(path, mode, dev); - }, - forceLoadFile(obj) { - if (obj.isDevice || obj.isFolder || obj.link || obj.contents) return true; - if (typeof XMLHttpRequest != 'undefined') { - throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread."); - } else { // Command-line. - try { - obj.contents = readBinary(obj.url); - obj.usedBytes = obj.contents.length; - } catch (e) { - throw new FS.ErrnoError(29); - } - } - }, - createLazyFile(parent, name, url, canRead, canWrite) { - // Lazy chunked Uint8Array (implements get and length from Uint8Array). - // Actual getting is abstracted away for eventual reuse. - class LazyUint8Array { - lengthKnown = false; - chunks = []; // Loaded chunks. Index is the chunk number - get(idx) { - if (idx > this.length-1 || idx < 0) { - return undefined; - } - var chunkOffset = idx % this.chunkSize; - var chunkNum = (idx / this.chunkSize)|0; - return this.getter(chunkNum)[chunkOffset]; - } - setDataGetter(getter) { - this.getter = getter; - } - cacheLength() { - // Find length - var xhr = new XMLHttpRequest(); - xhr.open('HEAD', url, false); - xhr.send(null); - if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error("Couldn't load " + url + ". Status: " + xhr.status); - var datalength = Number(xhr.getResponseHeader("Content-length")); - var header; - var hasByteServing = (header = xhr.getResponseHeader("Accept-Ranges")) && header === "bytes"; - var usesGzip = (header = xhr.getResponseHeader("Content-Encoding")) && header === "gzip"; - - var chunkSize = 1024*1024; // Chunk size in bytes - - if (!hasByteServing) chunkSize = datalength; - - // Function to get a range from the remote URL. - var doXHR = (from, to) => { - if (from > to) throw new Error("invalid range (" + from + ", " + to + ") or no bytes requested!"); - if (to > datalength-1) throw new Error("only " + datalength + " bytes available! programmer error!"); - - // TODO: Use mozResponseArrayBuffer, responseStream, etc. if available. - var xhr = new XMLHttpRequest(); - xhr.open('GET', url, false); - if (datalength !== chunkSize) xhr.setRequestHeader("Range", "bytes=" + from + "-" + to); - - // Some hints to the browser that we want binary data. - xhr.responseType = 'arraybuffer'; - if (xhr.overrideMimeType) { - xhr.overrideMimeType('text/plain; charset=x-user-defined'); - } - - xhr.send(null); - if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error("Couldn't load " + url + ". Status: " + xhr.status); - if (xhr.response !== undefined) { - return new Uint8Array(/** @type{Array} */(xhr.response || [])); - } - return intArrayFromString(xhr.responseText || '', true); - }; - var lazyArray = this; - lazyArray.setDataGetter((chunkNum) => { - var start = chunkNum * chunkSize; - var end = (chunkNum+1) * chunkSize - 1; // including this byte - end = Math.min(end, datalength-1); // if datalength-1 is selected, this is the last block - if (typeof lazyArray.chunks[chunkNum] == 'undefined') { - lazyArray.chunks[chunkNum] = doXHR(start, end); - } - if (typeof lazyArray.chunks[chunkNum] == 'undefined') throw new Error('doXHR failed!'); - return lazyArray.chunks[chunkNum]; - }); - - if (usesGzip || !datalength) { - // if the server uses gzip or doesn't supply the length, we have to download the whole file to get the (uncompressed) length - chunkSize = datalength = 1; // this will force getter(0)/doXHR do download the whole file - datalength = this.getter(0).length; - chunkSize = datalength; - out("LazyFiles on gzip forces download of the whole file when length is accessed"); - } - - this._length = datalength; - this._chunkSize = chunkSize; - this.lengthKnown = true; - } - get length() { - if (!this.lengthKnown) { - this.cacheLength(); - } - return this._length; - } - get chunkSize() { - if (!this.lengthKnown) { - this.cacheLength(); - } - return this._chunkSize; - } - } - - if (typeof XMLHttpRequest != 'undefined') { - if (!ENVIRONMENT_IS_WORKER) throw 'Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc'; - var lazyArray = new LazyUint8Array(); - var properties = { isDevice: false, contents: lazyArray }; - } else { - var properties = { isDevice: false, url: url }; - } - - var node = FS.createFile(parent, name, properties, canRead, canWrite); - // This is a total hack, but I want to get this lazy file code out of the - // core of MEMFS. If we want to keep this lazy file concept I feel it should - // be its own thin LAZYFS proxying calls to MEMFS. - if (properties.contents) { - node.contents = properties.contents; - } else if (properties.url) { - node.contents = null; - node.url = properties.url; - } - // Add a function that defers querying the file size until it is asked the first time. - Object.defineProperties(node, { - usedBytes: { - get: function() { return this.contents.length; } - } - }); - // override each stream op with one that tries to force load the lazy file first - var stream_ops = {}; - var keys = Object.keys(node.stream_ops); - keys.forEach((key) => { - var fn = node.stream_ops[key]; - stream_ops[key] = (...args) => { - FS.forceLoadFile(node); - return fn(...args); - }; - }); - function writeChunks(stream, buffer, offset, length, position) { - var contents = stream.node.contents; - if (position >= contents.length) - return 0; - var size = Math.min(contents.length - position, length); - assert(size >= 0); - if (contents.slice) { // normal array - for (var i = 0; i < size; i++) { - buffer[offset + i] = contents[position + i]; - } - } else { - for (var i = 0; i < size; i++) { // LazyUint8Array from sync binary XHR - buffer[offset + i] = contents.get(position + i); - } - } - return size; - } - // use a custom read function - stream_ops.read = (stream, buffer, offset, length, position) => { - FS.forceLoadFile(node); - return writeChunks(stream, buffer, offset, length, position) - }; - // use a custom mmap function - stream_ops.mmap = (stream, length, position, prot, flags) => { - FS.forceLoadFile(node); - var ptr = mmapAlloc(length); - if (!ptr) { - throw new FS.ErrnoError(48); - } - writeChunks(stream, HEAP8, ptr, length, position); - return { ptr, allocated: true }; - }; - node.stream_ops = stream_ops; - return node; - }, - absolutePath() { - abort('FS.absolutePath has been removed; use PATH_FS.resolve instead'); - }, - createFolder() { - abort('FS.createFolder has been removed; use FS.mkdir instead'); - }, - createLink() { - abort('FS.createLink has been removed; use FS.symlink instead'); - }, - joinPath() { - abort('FS.joinPath has been removed; use PATH.join instead'); - }, - mmapAlloc() { - abort('FS.mmapAlloc has been replaced by the top level function mmapAlloc'); - }, - standardizePath() { - abort('FS.standardizePath has been removed; use PATH.normalize instead'); - }, - }; - - var SYSCALLS = { - DEFAULT_POLLMASK:5, - calculateAt(dirfd, path, allowEmpty) { - if (PATH.isAbs(path)) { - return path; - } - // relative path - var dir; - if (dirfd === -100) { - dir = FS.cwd(); - } else { - var dirstream = SYSCALLS.getStreamFromFD(dirfd); - dir = dirstream.path; - } - if (path.length == 0) { - if (!allowEmpty) { - throw new FS.ErrnoError(44);; - } - return dir; - } - return dir + '/' + path; - }, - writeStat(buf, stat) { - HEAP32[((buf)>>2)] = stat.dev; - HEAP32[(((buf)+(4))>>2)] = stat.mode; - HEAPU32[(((buf)+(8))>>2)] = stat.nlink; - HEAP32[(((buf)+(12))>>2)] = stat.uid; - HEAP32[(((buf)+(16))>>2)] = stat.gid; - HEAP32[(((buf)+(20))>>2)] = stat.rdev; - HEAP64[(((buf)+(24))>>3)] = BigInt(stat.size); - HEAP32[(((buf)+(32))>>2)] = 4096; - HEAP32[(((buf)+(36))>>2)] = stat.blocks; - var atime = stat.atime.getTime(); - var mtime = stat.mtime.getTime(); - var ctime = stat.ctime.getTime(); - HEAP64[(((buf)+(40))>>3)] = BigInt(Math.floor(atime / 1000)); - HEAPU32[(((buf)+(48))>>2)] = (atime % 1000) * 1000 * 1000; - HEAP64[(((buf)+(56))>>3)] = BigInt(Math.floor(mtime / 1000)); - HEAPU32[(((buf)+(64))>>2)] = (mtime % 1000) * 1000 * 1000; - HEAP64[(((buf)+(72))>>3)] = BigInt(Math.floor(ctime / 1000)); - HEAPU32[(((buf)+(80))>>2)] = (ctime % 1000) * 1000 * 1000; - HEAP64[(((buf)+(88))>>3)] = BigInt(stat.ino); - return 0; - }, - writeStatFs(buf, stats) { - HEAP32[(((buf)+(4))>>2)] = stats.bsize; - HEAP32[(((buf)+(40))>>2)] = stats.bsize; - HEAP32[(((buf)+(8))>>2)] = stats.blocks; - HEAP32[(((buf)+(12))>>2)] = stats.bfree; - HEAP32[(((buf)+(16))>>2)] = stats.bavail; - HEAP32[(((buf)+(20))>>2)] = stats.files; - HEAP32[(((buf)+(24))>>2)] = stats.ffree; - HEAP32[(((buf)+(28))>>2)] = stats.fsid; - HEAP32[(((buf)+(44))>>2)] = stats.flags; // ST_NOSUID - HEAP32[(((buf)+(36))>>2)] = stats.namelen; - }, - doMsync(addr, stream, len, flags, offset) { - if (!FS.isFile(stream.node.mode)) { - throw new FS.ErrnoError(43); - } - if (flags & 2) { - // MAP_PRIVATE calls need not to be synced back to underlying fs - return 0; - } - var buffer = HEAPU8.slice(addr, addr + len); - FS.msync(stream, buffer, offset, len, flags); - }, - getStreamFromFD(fd) { - var stream = FS.getStreamChecked(fd); - return stream; - }, - varargs:undefined, - getStr(ptr) { - var ret = UTF8ToString(ptr); - return ret; - }, - }; - function ___syscall_openat(dirfd, path, flags, varargs) { - SYSCALLS.varargs = varargs; - try { - - path = SYSCALLS.getStr(path); - path = SYSCALLS.calculateAt(dirfd, path); - var mode = varargs ? syscallGetVarargI() : 0; - return FS.open(path, flags, mode).fd; - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return -e.errno; - } - } - - var __abort_js = () => - abort('native code called abort()'); - - var abortOnCannotGrowMemory = (requestedSize) => { - abort(`Cannot enlarge memory arrays to size ${requestedSize} bytes (OOM). Either (1) compile with -sINITIAL_MEMORY=X with X higher than the current value ${HEAP8.length}, (2) compile with -sALLOW_MEMORY_GROWTH which allows increasing the size at runtime, or (3) if you want malloc to return NULL (0) instead of this abort, compile with -sABORTING_MALLOC=0`); - }; - var _emscripten_resize_heap = (requestedSize) => { - var oldSize = HEAPU8.length; - // With CAN_ADDRESS_2GB or MEMORY64, pointers are already unsigned. - requestedSize >>>= 0; - abortOnCannotGrowMemory(requestedSize); - }; - - - var runtimeKeepaliveCounter = 0; - var keepRuntimeAlive = () => noExitRuntime || runtimeKeepaliveCounter > 0; - var _proc_exit = (code) => { - EXITSTATUS = code; - if (!keepRuntimeAlive()) { - Module['onExit']?.(code); - ABORT = true; - } - quit_(code, new ExitStatus(code)); - }; - - - /** @suppress {duplicate } */ - /** @param {boolean|number=} implicit */ - var exitJS = (status, implicit) => { - EXITSTATUS = status; - - checkUnflushedContent(); - - // if exit() was called explicitly, warn the user if the runtime isn't actually being shut down - if (keepRuntimeAlive() && !implicit) { - var msg = `program exited (with status: ${status}), but keepRuntimeAlive() is set (counter=${runtimeKeepaliveCounter}) due to an async operation, so halting execution but not exiting the runtime or preventing further async execution (you can use emscripten_force_exit, if you want to force a true shutdown)`; - err(msg); - } - - _proc_exit(status); - }; - var _exit = exitJS; - - function _fd_close(fd) { - try { - - var stream = SYSCALLS.getStreamFromFD(fd); - FS.close(stream); - return 0; - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return e.errno; - } - } - - /** @param {number=} offset */ - var doReadv = (stream, iov, iovcnt, offset) => { - var ret = 0; - for (var i = 0; i < iovcnt; i++) { - var ptr = HEAPU32[((iov)>>2)]; - var len = HEAPU32[(((iov)+(4))>>2)]; - iov += 8; - var curr = FS.read(stream, HEAP8, ptr, len, offset); - if (curr < 0) return -1; - ret += curr; - if (curr < len) break; // nothing more to read - if (typeof offset != 'undefined') { - offset += curr; - } - } - return ret; - }; - - function _fd_read(fd, iov, iovcnt, pnum) { - try { - - var stream = SYSCALLS.getStreamFromFD(fd); - var num = doReadv(stream, iov, iovcnt); - HEAPU32[((pnum)>>2)] = num; - return 0; - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return e.errno; - } - } - - - var INT53_MAX = 9007199254740992; - - var INT53_MIN = -9007199254740992; - var bigintToI53Checked = (num) => (num < INT53_MIN || num > INT53_MAX) ? NaN : Number(num); - function _fd_seek(fd, offset, whence, newOffset) { - offset = bigintToI53Checked(offset); - - - try { - - if (isNaN(offset)) return 61; - var stream = SYSCALLS.getStreamFromFD(fd); - FS.llseek(stream, offset, whence); - HEAP64[((newOffset)>>3)] = BigInt(stream.position); - if (stream.getdents && offset === 0 && whence === 0) stream.getdents = null; // reset readdir state - return 0; - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return e.errno; - } - ; - } - - /** @param {number=} offset */ - var doWritev = (stream, iov, iovcnt, offset) => { - var ret = 0; - for (var i = 0; i < iovcnt; i++) { - var ptr = HEAPU32[((iov)>>2)]; - var len = HEAPU32[(((iov)+(4))>>2)]; - iov += 8; - var curr = FS.write(stream, HEAP8, ptr, len, offset); - if (curr < 0) return -1; - ret += curr; - if (curr < len) { - // No more space to write. - break; - } - if (typeof offset != 'undefined') { - offset += curr; - } - } - return ret; - }; - - function _fd_write(fd, iov, iovcnt, pnum) { - try { - - var stream = SYSCALLS.getStreamFromFD(fd); - var num = doWritev(stream, iov, iovcnt); - HEAPU32[((pnum)>>2)] = num; - return 0; - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return e.errno; - } - } - - - var handleException = (e) => { - // Certain exception types we do not treat as errors since they are used for - // internal control flow. - // 1. ExitStatus, which is thrown by exit() - // 2. "unwind", which is thrown by emscripten_unwind_to_js_event_loop() and others - // that wish to return to JS event loop. - if (e instanceof ExitStatus || e == 'unwind') { - return EXITSTATUS; - } - checkStackCookie(); - if (e instanceof WebAssembly.RuntimeError) { - if (_emscripten_stack_get_current() <= 0) { - err('Stack overflow detected. You can try increasing -sSTACK_SIZE (currently set to 65536)'); - } - } - quit_(1, e); - }; - - - var stringToUTF8 = (str, outPtr, maxBytesToWrite) => { - assert(typeof maxBytesToWrite == 'number', 'stringToUTF8(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!'); - return stringToUTF8Array(str, HEAPU8, outPtr, maxBytesToWrite); - }; - - var stackAlloc = (sz) => __emscripten_stack_alloc(sz); - var stringToUTF8OnStack = (str) => { - var size = lengthBytesUTF8(str) + 1; - var ret = stackAlloc(size); - stringToUTF8(str, ret, size); - return ret; - }; - - FS.createPreloadedFile = FS_createPreloadedFile; - FS.staticInit(); - // Set module methods based on EXPORTED_RUNTIME_METHODS - ; -// End JS library code - -function checkIncomingModuleAPI() { - ignoredModuleProp('fetchSettings'); -} -var wasmImports = { - /** @export */ - __syscall_openat: ___syscall_openat, - /** @export */ - _abort_js: __abort_js, - /** @export */ - emscripten_resize_heap: _emscripten_resize_heap, - /** @export */ - exit: _exit, - /** @export */ - fd_close: _fd_close, - /** @export */ - fd_read: _fd_read, - /** @export */ - fd_seek: _fd_seek, - /** @export */ - fd_write: _fd_write -}; -var wasmExports; -createWasm(); -var ___wasm_call_ctors = createExportWrapper('__wasm_call_ctors', 0); -var _main = Module['_main'] = createExportWrapper('__main_argc_argv', 2); -var _strerror = createExportWrapper('strerror', 1); -var _fflush = createExportWrapper('fflush', 1); -var _emscripten_stack_init = () => (_emscripten_stack_init = wasmExports['emscripten_stack_init'])(); -var _emscripten_stack_get_free = () => (_emscripten_stack_get_free = wasmExports['emscripten_stack_get_free'])(); -var _emscripten_stack_get_base = () => (_emscripten_stack_get_base = wasmExports['emscripten_stack_get_base'])(); -var _emscripten_stack_get_end = () => (_emscripten_stack_get_end = wasmExports['emscripten_stack_get_end'])(); -var __emscripten_stack_restore = (a0) => (__emscripten_stack_restore = wasmExports['_emscripten_stack_restore'])(a0); -var __emscripten_stack_alloc = (a0) => (__emscripten_stack_alloc = wasmExports['_emscripten_stack_alloc'])(a0); -var _emscripten_stack_get_current = () => (_emscripten_stack_get_current = wasmExports['emscripten_stack_get_current'])(); - - -// include: postamble.js -// === Auto-generated postamble setup entry stuff === - -var missingLibrarySymbols = [ - 'writeI53ToI64', - 'writeI53ToI64Clamped', - 'writeI53ToI64Signaling', - 'writeI53ToU64Clamped', - 'writeI53ToU64Signaling', - 'readI53FromI64', - 'readI53FromU64', - 'convertI32PairToI53', - 'convertI32PairToI53Checked', - 'convertU32PairToI53', - 'getTempRet0', - 'setTempRet0', - 'zeroMemory', - 'getHeapMax', - 'growMemory', - 'inetPton4', - 'inetNtop4', - 'inetPton6', - 'inetNtop6', - 'readSockaddr', - 'writeSockaddr', - 'emscriptenLog', - 'readEmAsmArgs', - 'jstoi_q', - 'getExecutableName', - 'listenOnce', - 'autoResumeAudioContext', - 'getDynCaller', - 'dynCall', - 'runtimeKeepalivePush', - 'runtimeKeepalivePop', - 'callUserCallback', - 'maybeExit', - 'asmjsMangle', - 'alignMemory', - 'HandleAllocator', - 'getNativeTypeSize', - 'addOnInit', - 'addOnPostCtor', - 'addOnPreMain', - 'addOnExit', - 'STACK_SIZE', - 'STACK_ALIGN', - 'POINTER_SIZE', - 'ASSERTIONS', - 'getCFunc', - 'ccall', - 'cwrap', - 'uleb128Encode', - 'sigToWasmTypes', - 'generateFuncType', - 'convertJsFunctionToWasm', - 'getEmptyTableSlot', - 'updateTableMap', - 'getFunctionAddress', - 'addFunction', - 'removeFunction', - 'reallyNegative', - 'unSign', - 'strLen', - 'reSign', - 'formatString', - 'intArrayToString', - 'AsciiToString', - 'stringToAscii', - 'UTF16ToString', - 'stringToUTF16', - 'lengthBytesUTF16', - 'UTF32ToString', - 'stringToUTF32', - 'lengthBytesUTF32', - 'stringToNewUTF8', - 'writeArrayToMemory', - 'registerKeyEventCallback', - 'maybeCStringToJsString', - 'findEventTarget', - 'getBoundingClientRect', - 'fillMouseEventData', - 'registerMouseEventCallback', - 'registerWheelEventCallback', - 'registerUiEventCallback', - 'registerFocusEventCallback', - 'fillDeviceOrientationEventData', - 'registerDeviceOrientationEventCallback', - 'fillDeviceMotionEventData', - 'registerDeviceMotionEventCallback', - 'screenOrientation', - 'fillOrientationChangeEventData', - 'registerOrientationChangeEventCallback', - 'fillFullscreenChangeEventData', - 'registerFullscreenChangeEventCallback', - 'JSEvents_requestFullscreen', - 'JSEvents_resizeCanvasForFullscreen', - 'registerRestoreOldStyle', - 'hideEverythingExceptGivenElement', - 'restoreHiddenElements', - 'setLetterbox', - 'softFullscreenResizeWebGLRenderTarget', - 'doRequestFullscreen', - 'fillPointerlockChangeEventData', - 'registerPointerlockChangeEventCallback', - 'registerPointerlockErrorEventCallback', - 'requestPointerLock', - 'fillVisibilityChangeEventData', - 'registerVisibilityChangeEventCallback', - 'registerTouchEventCallback', - 'fillGamepadEventData', - 'registerGamepadEventCallback', - 'registerBeforeUnloadEventCallback', - 'fillBatteryEventData', - 'battery', - 'registerBatteryEventCallback', - 'setCanvasElementSize', - 'getCanvasElementSize', - 'jsStackTrace', - 'getCallstack', - 'convertPCtoSourceLocation', - 'getEnvStrings', - 'checkWasiClock', - 'wasiRightsToMuslOFlags', - 'wasiOFlagsToMuslOFlags', - 'safeSetTimeout', - 'setImmediateWrapped', - 'safeRequestAnimationFrame', - 'clearImmediateWrapped', - 'registerPostMainLoop', - 'registerPreMainLoop', - 'getPromise', - 'makePromise', - 'idsToPromises', - 'makePromiseCallback', - 'ExceptionInfo', - 'findMatchingCatch', - 'Browser_asyncPrepareDataCounter', - 'isLeapYear', - 'ydayFromDate', - 'arraySum', - 'addDays', - 'getSocketFromFD', - 'getSocketAddress', - 'FS_unlink', - 'FS_mkdirTree', - '_setNetworkCallback', - 'heapObjectForWebGLType', - 'toTypedArrayIndex', - 'webgl_enable_ANGLE_instanced_arrays', - 'webgl_enable_OES_vertex_array_object', - 'webgl_enable_WEBGL_draw_buffers', - 'webgl_enable_WEBGL_multi_draw', - 'webgl_enable_EXT_polygon_offset_clamp', - 'webgl_enable_EXT_clip_control', - 'webgl_enable_WEBGL_polygon_mode', - 'emscriptenWebGLGet', - 'computeUnpackAlignedImageSize', - 'colorChannelsInGlTextureFormat', - 'emscriptenWebGLGetTexPixelData', - 'emscriptenWebGLGetUniform', - 'webglGetUniformLocation', - 'webglPrepareUniformLocationsBeforeFirstUse', - 'webglGetLeftBracePos', - 'emscriptenWebGLGetVertexAttrib', - '__glGetActiveAttribOrUniform', - 'writeGLArray', - 'registerWebGlEventCallback', - 'runAndAbortIfError', - 'ALLOC_NORMAL', - 'ALLOC_STACK', - 'allocate', - 'writeStringToMemory', - 'writeAsciiToMemory', - 'demangle', - 'stackTrace', -]; -missingLibrarySymbols.forEach(missingLibrarySymbol) - -var unexportedSymbols = [ - 'run', - 'addRunDependency', - 'removeRunDependency', - 'out', - 'err', - 'callMain', - 'abort', - 'wasmMemory', - 'wasmExports', - 'writeStackCookie', - 'checkStackCookie', - 'INT53_MAX', - 'INT53_MIN', - 'bigintToI53Checked', - 'stackSave', - 'stackRestore', - 'stackAlloc', - 'ptrToString', - 'exitJS', - 'abortOnCannotGrowMemory', - 'ENV', - 'ERRNO_CODES', - 'strError', - 'DNS', - 'Protocols', - 'Sockets', - 'timers', - 'warnOnce', - 'readEmAsmArgsArray', - 'jstoi_s', - 'handleException', - 'keepRuntimeAlive', - 'asyncLoad', - 'mmapAlloc', - 'wasmTable', - 'noExitRuntime', - 'addOnPreRun', - 'addOnPostRun', - 'freeTableIndexes', - 'functionsInTableMap', - 'setValue', - 'getValue', - 'PATH', - 'PATH_FS', - 'UTF8Decoder', - 'UTF8ArrayToString', - 'UTF8ToString', - 'stringToUTF8Array', - 'stringToUTF8', - 'lengthBytesUTF8', - 'intArrayFromString', - 'UTF16Decoder', - 'stringToUTF8OnStack', - 'JSEvents', - 'specialHTMLTargets', - 'findCanvasEventTarget', - 'currentFullscreenStrategy', - 'restoreOldWindowedStyle', - 'UNWIND_CACHE', - 'ExitStatus', - 'doReadv', - 'doWritev', - 'initRandomFill', - 'randomFill', - 'emSetImmediate', - 'emClearImmediate_deps', - 'emClearImmediate', - 'promiseMap', - 'uncaughtExceptionCount', - 'exceptionLast', - 'exceptionCaught', - 'Browser', - 'getPreloadedImageData__data', - 'wget', - 'MONTH_DAYS_REGULAR', - 'MONTH_DAYS_LEAP', - 'MONTH_DAYS_REGULAR_CUMULATIVE', - 'MONTH_DAYS_LEAP_CUMULATIVE', - 'SYSCALLS', - 'preloadPlugins', - 'FS_createPreloadedFile', - 'FS_modeStringToFlags', - 'FS_getMode', - 'FS_stdin_getChar_buffer', - 'FS_stdin_getChar', - 'FS_createPath', - 'FS_createDevice', - 'FS_readFile', - 'FS', - 'FS_createDataFile', - 'FS_createLazyFile', - 'MEMFS', - 'TTY', - 'PIPEFS', - 'SOCKFS', - 'tempFixedLengthArray', - 'miniTempWebGLFloatBuffers', - 'miniTempWebGLIntBuffers', - 'GL', - 'AL', - 'GLUT', - 'EGL', - 'GLEW', - 'IDBStore', - 'SDL', - 'SDL_gfx', - 'allocateUTF8', - 'allocateUTF8OnStack', - 'print', - 'printErr', -]; -unexportedSymbols.forEach(unexportedRuntimeSymbol); - - - -var calledRun; - -function callMain(args = []) { - assert(runDependencies == 0, 'cannot call main when async dependencies remain! (listen on Module["onRuntimeInitialized"])'); - assert(typeof onPreRuns === 'undefined' || onPreRuns.length == 0, 'cannot call main when preRun functions remain to be called'); - - var entryFunction = _main; - - args.unshift(thisProgram); - - var argc = args.length; - var argv = stackAlloc((argc + 1) * 4); - var argv_ptr = argv; - args.forEach((arg) => { - HEAPU32[((argv_ptr)>>2)] = stringToUTF8OnStack(arg); - argv_ptr += 4; - }); - HEAPU32[((argv_ptr)>>2)] = 0; - - try { - - var ret = entryFunction(argc, argv); - - // if we're not running an evented main loop, it's time to exit - exitJS(ret, /* implicit = */ true); - return ret; - } catch (e) { - return handleException(e); - } -} - -function stackCheckInit() { - // This is normally called automatically during __wasm_call_ctors but need to - // get these values before even running any of the ctors so we call it redundantly - // here. - _emscripten_stack_init(); - // TODO(sbc): Move writeStackCookie to native to to avoid this. - writeStackCookie(); -} - -function run(args = arguments_) { - - if (runDependencies > 0) { - dependenciesFulfilled = run; - return; - } - - stackCheckInit(); - - preRun(); - - // a preRun added a dependency, run will be called later - if (runDependencies > 0) { - dependenciesFulfilled = run; - return; - } - - function doRun() { - // run may have just been called through dependencies being fulfilled just in this very frame, - // or while the async setStatus time below was happening - assert(!calledRun); - calledRun = true; - Module['calledRun'] = true; - - if (ABORT) return; - - initRuntime(); - - preMain(); - - Module['onRuntimeInitialized']?.(); - consumedModuleProp('onRuntimeInitialized'); - - var noInitialRun = Module['noInitialRun'];legacyModuleProp('noInitialRun', 'noInitialRun'); - if (!noInitialRun) callMain(args); - - postRun(); - } - - if (Module['setStatus']) { - Module['setStatus']('Running...'); - setTimeout(() => { - setTimeout(() => Module['setStatus'](''), 1); - doRun(); - }, 1); - } else - { - doRun(); - } - checkStackCookie(); -} - -function checkUnflushedContent() { - // Compiler settings do not allow exiting the runtime, so flushing - // the streams is not possible. but in ASSERTIONS mode we check - // if there was something to flush, and if so tell the user they - // should request that the runtime be exitable. - // Normally we would not even include flush() at all, but in ASSERTIONS - // builds we do so just for this check, and here we see if there is any - // content to flush, that is, we check if there would have been - // something a non-ASSERTIONS build would have not seen. - // How we flush the streams depends on whether we are in SYSCALLS_REQUIRE_FILESYSTEM=0 - // mode (which has its own special function for this; otherwise, all - // the code is inside libc) - var oldOut = out; - var oldErr = err; - var has = false; - out = err = (x) => { - has = true; - } - try { // it doesn't matter if it fails - _fflush(0); - // also flush in the JS FS layer - ['stdout', 'stderr'].forEach((name) => { - var info = FS.analyzePath('/dev/' + name); - if (!info) return; - var stream = info.object; - var rdev = stream.rdev; - var tty = TTY.ttys[rdev]; - if (tty?.output?.length) { - has = true; - } - }); - } catch(e) {} - out = oldOut; - err = oldErr; - if (has) { - warnOnce('stdio streams had content in them that was not flushed. you should set EXIT_RUNTIME to 1 (see the Emscripten FAQ), or make sure to emit a newline when you printf etc.'); - } -} - -if (Module['preInit']) { - if (typeof Module['preInit'] == 'function') Module['preInit'] = [Module['preInit']]; - while (Module['preInit'].length > 0) { - Module['preInit'].pop()(); - } -} -consumedModuleProp('preInit'); - -run(); - -// end include: postamble.js - diff --git a/thirdparty/zlib-1.3.1/build-emcmake/example.wasm b/thirdparty/zlib-1.3.1/build-emcmake/example.wasm deleted file mode 100755 index b2d6fad00ee440a4811000ba57ae30496421995d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 222066 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¬Y|~ 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 Promise -// 3. pre-run appended it, var Module = {}; ..generated code.. -// 4. External script tag defines var Module. -// We need to check if Module already exists (e.g. case 3 above). -// Substitution will be replaced with actual code on later stage of the build, -// this way Closure Compiler will not mangle it (e.g. case 4. above). -// Note that if you want to run closure, and also to use Module -// after the generated code, you will need to define var Module = {}; -// before the code. Then that object will be used in the code, and you -// can continue to use Module afterwards as well. -var Module = typeof Module != 'undefined' ? Module : {}; - -// Determine the runtime environment we are in. You can customize this by -// setting the ENVIRONMENT setting at compile time (see settings.js). - -// Attempt to auto-detect the environment -var ENVIRONMENT_IS_WEB = typeof window == 'object'; -var ENVIRONMENT_IS_WORKER = typeof WorkerGlobalScope != 'undefined'; -// N.b. Electron.js environment is simultaneously a NODE-environment, but -// also a web environment. -var ENVIRONMENT_IS_NODE = typeof process == 'object' && typeof process.versions == 'object' && typeof process.versions.node == 'string' && process.type != 'renderer'; -var ENVIRONMENT_IS_SHELL = !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_NODE && !ENVIRONMENT_IS_WORKER; - -if (ENVIRONMENT_IS_NODE) { - -} - -// --pre-jses are emitted after the Module integration code, so that they can -// refer to Module (if they choose; they can also define Module) - - -// Sometimes an existing Module object exists with properties -// meant to overwrite the default module functionality. Here -// we collect those properties and reapply _after_ we configure -// the current environment's defaults to avoid having to be so -// defensive during initialization. -var moduleOverrides = {...Module}; - -var arguments_ = []; -var thisProgram = './this.program'; -var quit_ = (status, toThrow) => { - throw toThrow; -}; - -// `/` should be present at the end if `scriptDirectory` is not empty -var scriptDirectory = ''; -function locateFile(path) { - if (Module['locateFile']) { - return Module['locateFile'](path, scriptDirectory); - } - return scriptDirectory + path; -} - -// Hooks that are implemented differently in different runtime environments. -var readAsync, readBinary; - -if (ENVIRONMENT_IS_NODE) { - if (typeof process == 'undefined' || !process.release || process.release.name !== 'node') throw new Error('not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)'); - - var nodeVersion = process.versions.node; - var numericVersion = nodeVersion.split('.').slice(0, 3); - numericVersion = (numericVersion[0] * 10000) + (numericVersion[1] * 100) + (numericVersion[2].split('-')[0] * 1); - var minVersion = 160000; - if (numericVersion < 160000) { - throw new Error('This emscripten-generated code requires node v16.0.0 (detected v' + nodeVersion + ')'); - } - - // These modules will usually be used on Node.js. Load them eagerly to avoid - // the complexity of lazy-loading. - var fs = require('fs'); - var nodePath = require('path'); - - scriptDirectory = __dirname + '/'; - -// include: node_shell_read.js -readBinary = (filename) => { - // We need to re-wrap `file://` strings to URLs. - filename = isFileURI(filename) ? new URL(filename) : filename; - var ret = fs.readFileSync(filename); - assert(Buffer.isBuffer(ret)); - return ret; -}; - -readAsync = async (filename, binary = true) => { - // See the comment in the `readBinary` function. - filename = isFileURI(filename) ? new URL(filename) : filename; - var ret = fs.readFileSync(filename, binary ? undefined : 'utf8'); - assert(binary ? Buffer.isBuffer(ret) : typeof ret == 'string'); - return ret; -}; -// end include: node_shell_read.js - if (!Module['thisProgram'] && process.argv.length > 1) { - thisProgram = process.argv[1].replace(/\\/g, '/'); - } - - arguments_ = process.argv.slice(2); - - if (typeof module != 'undefined') { - module['exports'] = Module; - } - - quit_ = (status, toThrow) => { - process.exitCode = status; - throw toThrow; - }; - -} else -if (ENVIRONMENT_IS_SHELL) { - - if ((typeof process == 'object' && typeof require === 'function') || typeof window == 'object' || typeof WorkerGlobalScope != 'undefined') throw new Error('not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)'); - -} else - -// Note that this includes Node.js workers when relevant (pthreads is enabled). -// Node.js workers are detected as a combination of ENVIRONMENT_IS_WORKER and -// ENVIRONMENT_IS_NODE. -if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) { - if (ENVIRONMENT_IS_WORKER) { // Check worker, not web, since window could be polyfilled - scriptDirectory = self.location.href; - } else if (typeof document != 'undefined' && document.currentScript) { // web - scriptDirectory = document.currentScript.src; - } - // blob urls look like blob:http://site.com/etc/etc and we cannot infer anything from them. - // otherwise, slice off the final part of the url to find the script directory. - // if scriptDirectory does not contain a slash, lastIndexOf will return -1, - // and scriptDirectory will correctly be replaced with an empty string. - // If scriptDirectory contains a query (starting with ?) or a fragment (starting with #), - // they are removed because they could contain a slash. - if (scriptDirectory.startsWith('blob:')) { - scriptDirectory = ''; - } else { - scriptDirectory = scriptDirectory.slice(0, scriptDirectory.replace(/[?#].*/, '').lastIndexOf('/')+1); - } - - if (!(typeof window == 'object' || typeof WorkerGlobalScope != 'undefined')) throw new Error('not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)'); - - { -// include: web_or_worker_shell_read.js -if (ENVIRONMENT_IS_WORKER) { - readBinary = (url) => { - var xhr = new XMLHttpRequest(); - xhr.open('GET', url, false); - xhr.responseType = 'arraybuffer'; - xhr.send(null); - return new Uint8Array(/** @type{!ArrayBuffer} */(xhr.response)); - }; - } - - readAsync = async (url) => { - // Fetch has some additional restrictions over XHR, like it can't be used on a file:// url. - // See https://github.com/github/fetch/pull/92#issuecomment-140665932 - // Cordova or Electron apps are typically loaded from a file:// url. - // So use XHR on webview if URL is a file URL. - if (isFileURI(url)) { - return new Promise((resolve, reject) => { - var xhr = new XMLHttpRequest(); - xhr.open('GET', url, true); - xhr.responseType = 'arraybuffer'; - xhr.onload = () => { - if (xhr.status == 200 || (xhr.status == 0 && xhr.response)) { // file URLs can return 0 - resolve(xhr.response); - return; - } - reject(xhr.status); - }; - xhr.onerror = reject; - xhr.send(null); - }); - } - var response = await fetch(url, { credentials: 'same-origin' }); - if (response.ok) { - return response.arrayBuffer(); - } - throw new Error(response.status + ' : ' + response.url); - }; -// end include: web_or_worker_shell_read.js - } -} else -{ - throw new Error('environment detection error'); -} - -var out = Module['print'] || console.log.bind(console); -var err = Module['printErr'] || console.error.bind(console); - -// Merge back in the overrides -Object.assign(Module, moduleOverrides); -// Free the object hierarchy contained in the overrides, this lets the GC -// reclaim data used. -moduleOverrides = null; -checkIncomingModuleAPI(); - -// Emit code to handle expected values on the Module object. This applies Module.x -// to the proper local x. This has two benefits: first, we only emit it if it is -// expected to arrive, and second, by using a local everywhere else that can be -// minified. - -if (Module['arguments']) arguments_ = Module['arguments'];legacyModuleProp('arguments', 'arguments_'); - -if (Module['thisProgram']) thisProgram = Module['thisProgram'];legacyModuleProp('thisProgram', 'thisProgram'); - -// perform assertions in shell.js after we set up out() and err(), as otherwise if an assertion fails it cannot print the message -// Assertions on removed incoming Module JS APIs. -assert(typeof Module['memoryInitializerPrefixURL'] == 'undefined', 'Module.memoryInitializerPrefixURL option was removed, use Module.locateFile instead'); -assert(typeof Module['pthreadMainPrefixURL'] == 'undefined', 'Module.pthreadMainPrefixURL option was removed, use Module.locateFile instead'); -assert(typeof Module['cdInitializerPrefixURL'] == 'undefined', 'Module.cdInitializerPrefixURL option was removed, use Module.locateFile instead'); -assert(typeof Module['filePackagePrefixURL'] == 'undefined', 'Module.filePackagePrefixURL option was removed, use Module.locateFile instead'); -assert(typeof Module['read'] == 'undefined', 'Module.read option was removed'); -assert(typeof Module['readAsync'] == 'undefined', 'Module.readAsync option was removed (modify readAsync in JS)'); -assert(typeof Module['readBinary'] == 'undefined', 'Module.readBinary option was removed (modify readBinary in JS)'); -assert(typeof Module['setWindowTitle'] == 'undefined', 'Module.setWindowTitle option was removed (modify emscripten_set_window_title in JS)'); -assert(typeof Module['TOTAL_MEMORY'] == 'undefined', 'Module.TOTAL_MEMORY has been renamed Module.INITIAL_MEMORY'); -legacyModuleProp('asm', 'wasmExports'); -legacyModuleProp('readAsync', 'readAsync'); -legacyModuleProp('readBinary', 'readBinary'); -legacyModuleProp('setWindowTitle', 'setWindowTitle'); -var IDBFS = 'IDBFS is no longer included by default; build with -lidbfs.js'; -var PROXYFS = 'PROXYFS is no longer included by default; build with -lproxyfs.js'; -var WORKERFS = 'WORKERFS is no longer included by default; build with -lworkerfs.js'; -var FETCHFS = 'FETCHFS is no longer included by default; build with -lfetchfs.js'; -var ICASEFS = 'ICASEFS is no longer included by default; build with -licasefs.js'; -var JSFILEFS = 'JSFILEFS is no longer included by default; build with -ljsfilefs.js'; -var OPFS = 'OPFS is no longer included by default; build with -lopfs.js'; - -var NODEFS = 'NODEFS is no longer included by default; build with -lnodefs.js'; - -assert(!ENVIRONMENT_IS_SHELL, 'shell environment detected but not enabled at build time. Add `shell` to `-sENVIRONMENT` to enable.'); - -// end include: shell.js - -// include: preamble.js -// === Preamble library stuff === - -// Documentation for the public APIs defined in this file must be updated in: -// site/source/docs/api_reference/preamble.js.rst -// A prebuilt local version of the documentation is available at: -// site/build/text/docs/api_reference/preamble.js.txt -// You can also build docs locally as HTML or other formats in site/ -// An online HTML version (which may be of a different version of Emscripten) -// is up at http://kripken.github.io/emscripten-site/docs/api_reference/preamble.js.html - -var wasmBinary = Module['wasmBinary'];legacyModuleProp('wasmBinary', 'wasmBinary'); - -if (typeof WebAssembly != 'object') { - err('no native wasm support detected'); -} - -// Wasm globals - -var wasmMemory; - -//======================================== -// Runtime essentials -//======================================== - -// whether we are quitting the application. no code should run after this. -// set in exit() and abort() -var ABORT = false; - -// set by exit() and abort(). Passed to 'onExit' handler. -// NOTE: This is also used as the process return code code in shell environments -// but only when noExitRuntime is false. -var EXITSTATUS; - -// In STRICT mode, we only define assert() when ASSERTIONS is set. i.e. we -// don't define it at all in release modes. This matches the behaviour of -// MINIMAL_RUNTIME. -// TODO(sbc): Make this the default even without STRICT enabled. -/** @type {function(*, string=)} */ -function assert(condition, text) { - if (!condition) { - abort('Assertion failed' + (text ? ': ' + text : '')); - } -} - -// We used to include malloc/free by default in the past. Show a helpful error in -// builds with assertions. -function _malloc() { - abort('malloc() called but not included in the build - add `_malloc` to EXPORTED_FUNCTIONS'); -} -function _free() { - // Show a helpful error since we used to include free by default in the past. - abort('free() called but not included in the build - add `_free` to EXPORTED_FUNCTIONS'); -} - -// Memory management - -var HEAP, -/** @type {!Int8Array} */ - HEAP8, -/** @type {!Uint8Array} */ - HEAPU8, -/** @type {!Int16Array} */ - HEAP16, -/** @type {!Uint16Array} */ - HEAPU16, -/** @type {!Int32Array} */ - HEAP32, -/** @type {!Uint32Array} */ - HEAPU32, -/** @type {!Float32Array} */ - HEAPF32, -/* BigInt64Array type is not correctly defined in closure -/** not-@type {!BigInt64Array} */ - HEAP64, -/* BigUint64Array type is not correctly defined in closure -/** not-t@type {!BigUint64Array} */ - HEAPU64, -/** @type {!Float64Array} */ - HEAPF64; - -var runtimeInitialized = false; - -/** - * Indicates whether filename is delivered via file protocol (as opposed to http/https) - * @noinline - */ -var isFileURI = (filename) => filename.startsWith('file://'); - -// include: runtime_shared.js -// include: runtime_stack_check.js -// Initializes the stack cookie. Called at the startup of main and at the startup of each thread in pthreads mode. -function writeStackCookie() { - var max = _emscripten_stack_get_end(); - assert((max & 3) == 0); - // If the stack ends at address zero we write our cookies 4 bytes into the - // stack. This prevents interference with SAFE_HEAP and ASAN which also - // monitor writes to address zero. - if (max == 0) { - max += 4; - } - // The stack grow downwards towards _emscripten_stack_get_end. - // We write cookies to the final two words in the stack and detect if they are - // ever overwritten. - HEAPU32[((max)>>2)] = 0x02135467; - HEAPU32[(((max)+(4))>>2)] = 0x89BACDFE; - // Also test the global address 0 for integrity. - HEAPU32[((0)>>2)] = 1668509029; -} - -function checkStackCookie() { - if (ABORT) return; - var max = _emscripten_stack_get_end(); - // See writeStackCookie(). - if (max == 0) { - max += 4; - } - var cookie1 = HEAPU32[((max)>>2)]; - var cookie2 = HEAPU32[(((max)+(4))>>2)]; - if (cookie1 != 0x02135467 || cookie2 != 0x89BACDFE) { - abort(`Stack overflow! Stack cookie has been overwritten at ${ptrToString(max)}, expected hex dwords 0x89BACDFE and 0x2135467, but received ${ptrToString(cookie2)} ${ptrToString(cookie1)}`); - } - // Also test the global address 0 for integrity. - if (HEAPU32[((0)>>2)] != 0x63736d65 /* 'emsc' */) { - abort('Runtime error: The application has corrupted its heap memory area (address zero)!'); - } -} -// end include: runtime_stack_check.js -// include: runtime_exceptions.js -// end include: runtime_exceptions.js -// include: runtime_debug.js -// Endianness check -(() => { - var h16 = new Int16Array(1); - var h8 = new Int8Array(h16.buffer); - h16[0] = 0x6373; - if (h8[0] !== 0x73 || h8[1] !== 0x63) throw 'Runtime error: expected the system to be little-endian! (Run with -sSUPPORT_BIG_ENDIAN to bypass)'; -})(); - -if (Module['ENVIRONMENT']) { - throw new Error('Module.ENVIRONMENT has been deprecated. To force the environment, use the ENVIRONMENT compile-time option (for example, -sENVIRONMENT=web or -sENVIRONMENT=node)'); -} - -function legacyModuleProp(prop, newName, incoming=true) { - if (!Object.getOwnPropertyDescriptor(Module, prop)) { - Object.defineProperty(Module, prop, { - configurable: true, - get() { - let extra = incoming ? ' (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)' : ''; - abort(`\`Module.${prop}\` has been replaced by \`${newName}\`` + extra); - - } - }); - } -} - -function consumedModuleProp(prop) { - if (!Object.getOwnPropertyDescriptor(Module, prop)) { - Object.defineProperty(Module, prop, { - configurable: true, - set() { - abort(`Attempt to set \`Module.${prop}\` after it has already been processed. This can happen, for example, when code is injected via '--post-js' rather than '--pre-js'`); - - } - }); - } -} - -function ignoredModuleProp(prop) { - if (Object.getOwnPropertyDescriptor(Module, prop)) { - abort(`\`Module.${prop}\` was supplied but \`${prop}\` not included in INCOMING_MODULE_JS_API`); - } -} - -// forcing the filesystem exports a few things by default -function isExportedByForceFilesystem(name) { - return name === 'FS_createPath' || - name === 'FS_createDataFile' || - name === 'FS_createPreloadedFile' || - name === 'FS_unlink' || - name === 'addRunDependency' || - // The old FS has some functionality that WasmFS lacks. - name === 'FS_createLazyFile' || - name === 'FS_createDevice' || - name === 'removeRunDependency'; -} - -/** - * Intercept access to a global symbol. This enables us to give informative - * warnings/errors when folks attempt to use symbols they did not include in - * their build, or no symbols that no longer exist. - */ -function hookGlobalSymbolAccess(sym, func) { - if (typeof globalThis != 'undefined' && !Object.getOwnPropertyDescriptor(globalThis, sym)) { - Object.defineProperty(globalThis, sym, { - configurable: true, - get() { - func(); - return undefined; - } - }); - } -} - -function missingGlobal(sym, msg) { - hookGlobalSymbolAccess(sym, () => { - warnOnce(`\`${sym}\` is not longer defined by emscripten. ${msg}`); - }); -} - -missingGlobal('buffer', 'Please use HEAP8.buffer or wasmMemory.buffer'); -missingGlobal('asm', 'Please use wasmExports instead'); - -function missingLibrarySymbol(sym) { - hookGlobalSymbolAccess(sym, () => { - // Can't `abort()` here because it would break code that does runtime - // checks. e.g. `if (typeof SDL === 'undefined')`. - var msg = `\`${sym}\` is a library symbol and not included by default; add it to your library.js __deps or to DEFAULT_LIBRARY_FUNCS_TO_INCLUDE on the command line`; - // DEFAULT_LIBRARY_FUNCS_TO_INCLUDE requires the name as it appears in - // library.js, which means $name for a JS name with no prefix, or name - // for a JS name like _name. - var librarySymbol = sym; - if (!librarySymbol.startsWith('_')) { - librarySymbol = '$' + sym; - } - msg += ` (e.g. -sDEFAULT_LIBRARY_FUNCS_TO_INCLUDE='${librarySymbol}')`; - if (isExportedByForceFilesystem(sym)) { - msg += '. Alternatively, forcing filesystem support (-sFORCE_FILESYSTEM) can export this for you'; - } - warnOnce(msg); - }); - - // Any symbol that is not included from the JS library is also (by definition) - // not exported on the Module object. - unexportedRuntimeSymbol(sym); -} - -function unexportedRuntimeSymbol(sym) { - if (!Object.getOwnPropertyDescriptor(Module, sym)) { - Object.defineProperty(Module, sym, { - configurable: true, - get() { - var msg = `'${sym}' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the Emscripten FAQ)`; - if (isExportedByForceFilesystem(sym)) { - msg += '. Alternatively, forcing filesystem support (-sFORCE_FILESYSTEM) can export this for you'; - } - abort(msg); - } - }); - } -} - -var runtimeDebug = true; // Switch to false at runtime to disable logging at the right times - -// Used by XXXXX_DEBUG settings to output debug messages. -function dbg(...args) { - if (!runtimeDebug && typeof runtimeDebug != 'undefined') return; - // TODO(sbc): Make this configurable somehow. Its not always convenient for - // logging to show up as warnings. - console.warn(...args); -} -// end include: runtime_debug.js -// include: memoryprofiler.js -// end include: memoryprofiler.js - - -function updateMemoryViews() { - var b = wasmMemory.buffer; - Module['HEAP8'] = HEAP8 = new Int8Array(b); - Module['HEAP16'] = HEAP16 = new Int16Array(b); - Module['HEAPU8'] = HEAPU8 = new Uint8Array(b); - Module['HEAPU16'] = HEAPU16 = new Uint16Array(b); - Module['HEAP32'] = HEAP32 = new Int32Array(b); - Module['HEAPU32'] = HEAPU32 = new Uint32Array(b); - Module['HEAPF32'] = HEAPF32 = new Float32Array(b); - Module['HEAPF64'] = HEAPF64 = new Float64Array(b); - Module['HEAP64'] = HEAP64 = new BigInt64Array(b); - Module['HEAPU64'] = HEAPU64 = new BigUint64Array(b); -} - -// end include: runtime_shared.js -assert(!Module['STACK_SIZE'], 'STACK_SIZE can no longer be set at runtime. Use -sSTACK_SIZE at link time') - -assert(typeof Int32Array != 'undefined' && typeof Float64Array !== 'undefined' && Int32Array.prototype.subarray != undefined && Int32Array.prototype.set != undefined, - 'JS engine does not provide full typed array support'); - -// If memory is defined in wasm, the user can't provide it, or set INITIAL_MEMORY -assert(!Module['wasmMemory'], 'Use of `wasmMemory` detected. Use -sIMPORTED_MEMORY to define wasmMemory externally'); -assert(!Module['INITIAL_MEMORY'], 'Detected runtime INITIAL_MEMORY setting. Use -sIMPORTED_MEMORY to define wasmMemory dynamically'); - -function preRun() { - if (Module['preRun']) { - if (typeof Module['preRun'] == 'function') Module['preRun'] = [Module['preRun']]; - while (Module['preRun'].length) { - addOnPreRun(Module['preRun'].shift()); - } - } - consumedModuleProp('preRun'); - callRuntimeCallbacks(onPreRuns); -} - -function initRuntime() { - assert(!runtimeInitialized); - runtimeInitialized = true; - - checkStackCookie(); - - if (!Module['noFSInit'] && !FS.initialized) FS.init(); -TTY.init(); - - wasmExports['__wasm_call_ctors'](); - - FS.ignorePermissions = false; -} - -function preMain() { - checkStackCookie(); - -} - -function postRun() { - checkStackCookie(); - - if (Module['postRun']) { - if (typeof Module['postRun'] == 'function') Module['postRun'] = [Module['postRun']]; - while (Module['postRun'].length) { - addOnPostRun(Module['postRun'].shift()); - } - } - consumedModuleProp('postRun'); - - callRuntimeCallbacks(onPostRuns); -} - -// A counter of dependencies for calling run(). If we need to -// do asynchronous work before running, increment this and -// decrement it. Incrementing must happen in a place like -// Module.preRun (used by emcc to add file preloading). -// Note that you can add dependencies in preRun, even though -// it happens right before run - run will be postponed until -// the dependencies are met. -var runDependencies = 0; -var dependenciesFulfilled = null; // overridden to take different actions when all run dependencies are fulfilled -var runDependencyTracking = {}; -var runDependencyWatcher = null; - -function getUniqueRunDependency(id) { - var orig = id; - while (1) { - if (!runDependencyTracking[id]) return id; - id = orig + Math.random(); - } -} - -function addRunDependency(id) { - runDependencies++; - - Module['monitorRunDependencies']?.(runDependencies); - - if (id) { - assert(!runDependencyTracking[id]); - runDependencyTracking[id] = 1; - if (runDependencyWatcher === null && typeof setInterval != 'undefined') { - // Check for missing dependencies every few seconds - runDependencyWatcher = setInterval(() => { - if (ABORT) { - clearInterval(runDependencyWatcher); - runDependencyWatcher = null; - return; - } - var shown = false; - for (var dep in runDependencyTracking) { - if (!shown) { - shown = true; - err('still waiting on run dependencies:'); - } - err(`dependency: ${dep}`); - } - if (shown) { - err('(end of list)'); - } - }, 10000); - } - } else { - err('warning: run dependency added without ID'); - } -} - -function removeRunDependency(id) { - runDependencies--; - - Module['monitorRunDependencies']?.(runDependencies); - - if (id) { - assert(runDependencyTracking[id]); - delete runDependencyTracking[id]; - } else { - err('warning: run dependency removed without ID'); - } - if (runDependencies == 0) { - if (runDependencyWatcher !== null) { - clearInterval(runDependencyWatcher); - runDependencyWatcher = null; - } - if (dependenciesFulfilled) { - var callback = dependenciesFulfilled; - dependenciesFulfilled = null; - callback(); // can add another dependenciesFulfilled - } - } -} - -/** @param {string|number=} what */ -function abort(what) { - Module['onAbort']?.(what); - - what = 'Aborted(' + what + ')'; - // TODO(sbc): Should we remove printing and leave it up to whoever - // catches the exception? - err(what); - - ABORT = true; - - // Use a wasm runtime error, because a JS error might be seen as a foreign - // exception, which means we'd run destructors on it. We need the error to - // simply make the program stop. - // FIXME This approach does not work in Wasm EH because it currently does not assume - // all RuntimeErrors are from traps; it decides whether a RuntimeError is from - // a trap or not based on a hidden field within the object. So at the moment - // we don't have a way of throwing a wasm trap from JS. TODO Make a JS API that - // allows this in the wasm spec. - - // Suppress closure compiler warning here. Closure compiler's builtin extern - // definition for WebAssembly.RuntimeError claims it takes no arguments even - // though it can. - // TODO(https://github.com/google/closure-compiler/pull/3913): Remove if/when upstream closure gets fixed. - /** @suppress {checkTypes} */ - var e = new WebAssembly.RuntimeError(what); - - // Throw the error whether or not MODULARIZE is set because abort is used - // in code paths apart from instantiation where an exception is expected - // to be thrown when abort is called. - throw e; -} - -function createExportWrapper(name, nargs) { - return (...args) => { - assert(runtimeInitialized, `native function \`${name}\` called before runtime initialization`); - var f = wasmExports[name]; - assert(f, `exported native function \`${name}\` not found`); - // Only assert for too many arguments. Too few can be valid since the missing arguments will be zero filled. - assert(args.length <= nargs, `native function \`${name}\` called with ${args.length} args but expects ${nargs}`); - return f(...args); - }; -} - -var wasmBinaryFile; - -function findWasmBinary() { - return locateFile('example64.wasm'); -} - -function getBinarySync(file) { - if (file == wasmBinaryFile && wasmBinary) { - return new Uint8Array(wasmBinary); - } - if (readBinary) { - return readBinary(file); - } - throw 'both async and sync fetching of the wasm failed'; -} - -async function getWasmBinary(binaryFile) { - // If we don't have the binary yet, load it asynchronously using readAsync. - if (!wasmBinary) { - // Fetch the binary using readAsync - try { - var response = await readAsync(binaryFile); - return new Uint8Array(response); - } catch { - // Fall back to getBinarySync below; - } - } - - // Otherwise, getBinarySync should be able to get it synchronously - return getBinarySync(binaryFile); -} - -async function instantiateArrayBuffer(binaryFile, imports) { - try { - var binary = await getWasmBinary(binaryFile); - var instance = await WebAssembly.instantiate(binary, imports); - return instance; - } catch (reason) { - err(`failed to asynchronously prepare wasm: ${reason}`); - - // Warn on some common problems. - if (isFileURI(wasmBinaryFile)) { - err(`warning: Loading from a file URI (${wasmBinaryFile}) is not supported in most browsers. See https://emscripten.org/docs/getting_started/FAQ.html#how-do-i-run-a-local-webserver-for-testing-why-does-my-program-stall-in-downloading-or-preparing`); - } - abort(reason); - } -} - -async function instantiateAsync(binary, binaryFile, imports) { - if (!binary && typeof WebAssembly.instantiateStreaming == 'function' - // Don't use streaming for file:// delivered objects in a webview, fetch them synchronously. - && !isFileURI(binaryFile) - // Avoid instantiateStreaming() on Node.js environment for now, as while - // Node.js v18.1.0 implements it, it does not have a full fetch() - // implementation yet. - // - // Reference: - // https://github.com/emscripten-core/emscripten/pull/16917 - && !ENVIRONMENT_IS_NODE - ) { - try { - var response = fetch(binaryFile, { credentials: 'same-origin' }); - var instantiationResult = await WebAssembly.instantiateStreaming(response, imports); - return instantiationResult; - } catch (reason) { - // We expect the most common failure cause to be a bad MIME type for the binary, - // in which case falling back to ArrayBuffer instantiation should work. - err(`wasm streaming compile failed: ${reason}`); - err('falling back to ArrayBuffer instantiation'); - // fall back of instantiateArrayBuffer below - }; - } - return instantiateArrayBuffer(binaryFile, imports); -} - -function getWasmImports() { - // prepare imports - return { - 'env': wasmImports, - 'wasi_snapshot_preview1': wasmImports, - } -} - -// Create the wasm instance. -// Receives the wasm imports, returns the exports. -async function createWasm() { - // Load the wasm module and create an instance of using native support in the JS engine. - // handle a generated wasm instance, receiving its exports and - // performing other necessary setup - /** @param {WebAssembly.Module=} module*/ - function receiveInstance(instance, module) { - wasmExports = instance.exports; - - - - wasmMemory = wasmExports['memory']; - - assert(wasmMemory, 'memory not found in wasm exports'); - updateMemoryViews(); - - removeRunDependency('wasm-instantiate'); - return wasmExports; - } - // wait for the pthread pool (if any) - addRunDependency('wasm-instantiate'); - - // Prefer streaming instantiation if available. - // Async compilation can be confusing when an error on the page overwrites Module - // (for example, if the order of elements is wrong, and the one defining Module is - // later), so we save Module and check it later. - var trueModule = Module; - function receiveInstantiationResult(result) { - // 'result' is a ResultObject object which has both the module and instance. - // receiveInstance() will swap in the exports (to Module.asm) so they can be called - assert(Module === trueModule, 'the Module object should not be replaced during async compilation - perhaps the order of HTML elements is wrong?'); - trueModule = null; - // TODO: Due to Closure regression https://github.com/google/closure-compiler/issues/3193, the above line no longer optimizes out down to the following line. - // When the regression is fixed, can restore the above PTHREADS-enabled path. - return receiveInstance(result['instance']); - } - - var info = getWasmImports(); - - // User shell pages can write their own Module.instantiateWasm = function(imports, successCallback) callback - // to manually instantiate the Wasm module themselves. This allows pages to - // run the instantiation parallel to any other async startup actions they are - // performing. - // Also pthreads and wasm workers initialize the wasm instance through this - // path. - if (Module['instantiateWasm']) { - return new Promise((resolve, reject) => { - try { - Module['instantiateWasm'](info, (mod, inst) => { - receiveInstance(mod, inst); - resolve(mod.exports); - }); - } catch(e) { - err(`Module.instantiateWasm callback failed with error: ${e}`); - reject(e); - } - }); - } - - wasmBinaryFile ??= findWasmBinary(); - var result = await instantiateAsync(wasmBinary, wasmBinaryFile, info); - var exports = receiveInstantiationResult(result); - return exports; -} - -// end include: preamble.js - -// Begin JS library code - - - class ExitStatus { - name = 'ExitStatus'; - constructor(status) { - this.message = `Program terminated with exit(${status})`; - this.status = status; - } - } - - var callRuntimeCallbacks = (callbacks) => { - while (callbacks.length > 0) { - // Pass the module as the first argument. - callbacks.shift()(Module); - } - }; - var onPostRuns = []; - var addOnPostRun = (cb) => onPostRuns.unshift(cb); - - var onPreRuns = []; - var addOnPreRun = (cb) => onPreRuns.unshift(cb); - - - - /** - * @param {number} ptr - * @param {string} type - */ - function getValue(ptr, type = 'i8') { - if (type.endsWith('*')) type = '*'; - switch (type) { - case 'i1': return HEAP8[ptr]; - case 'i8': return HEAP8[ptr]; - case 'i16': return HEAP16[((ptr)>>1)]; - case 'i32': return HEAP32[((ptr)>>2)]; - case 'i64': return HEAP64[((ptr)>>3)]; - case 'float': return HEAPF32[((ptr)>>2)]; - case 'double': return HEAPF64[((ptr)>>3)]; - case '*': return HEAPU32[((ptr)>>2)]; - default: abort(`invalid type for getValue: ${type}`); - } - } - - var noExitRuntime = Module['noExitRuntime'] || true; - - var ptrToString = (ptr) => { - assert(typeof ptr === 'number'); - // With CAN_ADDRESS_2GB or MEMORY64, pointers are already unsigned. - ptr >>>= 0; - return '0x' + ptr.toString(16).padStart(8, '0'); - }; - - - /** - * @param {number} ptr - * @param {number} value - * @param {string} type - */ - function setValue(ptr, value, type = 'i8') { - if (type.endsWith('*')) type = '*'; - switch (type) { - case 'i1': HEAP8[ptr] = value; break; - case 'i8': HEAP8[ptr] = value; break; - case 'i16': HEAP16[((ptr)>>1)] = value; break; - case 'i32': HEAP32[((ptr)>>2)] = value; break; - case 'i64': HEAP64[((ptr)>>3)] = BigInt(value); break; - case 'float': HEAPF32[((ptr)>>2)] = value; break; - case 'double': HEAPF64[((ptr)>>3)] = value; break; - case '*': HEAPU32[((ptr)>>2)] = value; break; - default: abort(`invalid type for setValue: ${type}`); - } - } - - var stackRestore = (val) => __emscripten_stack_restore(val); - - var stackSave = () => _emscripten_stack_get_current(); - - var warnOnce = (text) => { - warnOnce.shown ||= {}; - if (!warnOnce.shown[text]) { - warnOnce.shown[text] = 1; - if (ENVIRONMENT_IS_NODE) text = 'warning: ' + text; - err(text); - } - }; - - var syscallGetVarargI = () => { - assert(SYSCALLS.varargs != undefined); - // the `+` prepended here is necessary to convince the JSCompiler that varargs is indeed a number. - var ret = HEAP32[((+SYSCALLS.varargs)>>2)]; - SYSCALLS.varargs += 4; - return ret; - }; - - var PATH = { - isAbs:(path) => path.charAt(0) === '/', - splitPath:(filename) => { - var splitPathRe = /^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/; - return splitPathRe.exec(filename).slice(1); - }, - normalizeArray:(parts, allowAboveRoot) => { - // if the path tries to go above the root, `up` ends up > 0 - var up = 0; - for (var i = parts.length - 1; i >= 0; i--) { - var last = parts[i]; - if (last === '.') { - parts.splice(i, 1); - } else if (last === '..') { - parts.splice(i, 1); - up++; - } else if (up) { - parts.splice(i, 1); - up--; - } - } - // if the path is allowed to go above the root, restore leading ..s - if (allowAboveRoot) { - for (; up; up--) { - parts.unshift('..'); - } - } - return parts; - }, - normalize:(path) => { - var isAbsolute = PATH.isAbs(path), - trailingSlash = path.slice(-1) === '/'; - // Normalize the path - path = PATH.normalizeArray(path.split('/').filter((p) => !!p), !isAbsolute).join('/'); - if (!path && !isAbsolute) { - path = '.'; - } - if (path && trailingSlash) { - path += '/'; - } - return (isAbsolute ? '/' : '') + path; - }, - dirname:(path) => { - var result = PATH.splitPath(path), - root = result[0], - dir = result[1]; - if (!root && !dir) { - // No dirname whatsoever - return '.'; - } - if (dir) { - // It has a dirname, strip trailing slash - dir = dir.slice(0, -1); - } - return root + dir; - }, - basename:(path) => path && path.match(/([^\/]+|\/)\/*$/)[1], - join:(...paths) => PATH.normalize(paths.join('/')), - join2:(l, r) => PATH.normalize(l + '/' + r), - }; - - var initRandomFill = () => { - // This block is not needed on v19+ since crypto.getRandomValues is builtin - if (ENVIRONMENT_IS_NODE) { - var nodeCrypto = require('crypto'); - return (view) => nodeCrypto.randomFillSync(view); - } - - return (view) => crypto.getRandomValues(view); - }; - var randomFill = (view) => { - // Lazily init on the first invocation. - (randomFill = initRandomFill())(view); - }; - - - - var PATH_FS = { - resolve:(...args) => { - var resolvedPath = '', - resolvedAbsolute = false; - for (var i = args.length - 1; i >= -1 && !resolvedAbsolute; i--) { - var path = (i >= 0) ? args[i] : FS.cwd(); - // Skip empty and invalid entries - if (typeof path != 'string') { - throw new TypeError('Arguments to path.resolve must be strings'); - } else if (!path) { - return ''; // an invalid portion invalidates the whole thing - } - resolvedPath = path + '/' + resolvedPath; - resolvedAbsolute = PATH.isAbs(path); - } - // At this point the path should be resolved to a full absolute path, but - // handle relative paths to be safe (might happen when process.cwd() fails) - resolvedPath = PATH.normalizeArray(resolvedPath.split('/').filter((p) => !!p), !resolvedAbsolute).join('/'); - return ((resolvedAbsolute ? '/' : '') + resolvedPath) || '.'; - }, - relative:(from, to) => { - from = PATH_FS.resolve(from).slice(1); - to = PATH_FS.resolve(to).slice(1); - function trim(arr) { - var start = 0; - for (; start < arr.length; start++) { - if (arr[start] !== '') break; - } - var end = arr.length - 1; - for (; end >= 0; end--) { - if (arr[end] !== '') break; - } - if (start > end) return []; - return arr.slice(start, end - start + 1); - } - var fromParts = trim(from.split('/')); - var toParts = trim(to.split('/')); - var length = Math.min(fromParts.length, toParts.length); - var samePartsLength = length; - for (var i = 0; i < length; i++) { - if (fromParts[i] !== toParts[i]) { - samePartsLength = i; - break; - } - } - var outputParts = []; - for (var i = samePartsLength; i < fromParts.length; i++) { - outputParts.push('..'); - } - outputParts = outputParts.concat(toParts.slice(samePartsLength)); - return outputParts.join('/'); - }, - }; - - - var UTF8Decoder = typeof TextDecoder != 'undefined' ? new TextDecoder() : undefined; - - /** - * Given a pointer 'idx' to a null-terminated UTF8-encoded string in the given - * array that contains uint8 values, returns a copy of that string as a - * Javascript String object. - * heapOrArray is either a regular array, or a JavaScript typed array view. - * @param {number=} idx - * @param {number=} maxBytesToRead - * @return {string} - */ - var UTF8ArrayToString = (heapOrArray, idx = 0, maxBytesToRead = NaN) => { - var endIdx = idx + maxBytesToRead; - var endPtr = idx; - // TextDecoder needs to know the byte length in advance, it doesn't stop on - // null terminator by itself. Also, use the length info to avoid running tiny - // strings through TextDecoder, since .subarray() allocates garbage. - // (As a tiny code save trick, compare endPtr against endIdx using a negation, - // so that undefined/NaN means Infinity) - while (heapOrArray[endPtr] && !(endPtr >= endIdx)) ++endPtr; - - if (endPtr - idx > 16 && heapOrArray.buffer && UTF8Decoder) { - return UTF8Decoder.decode(heapOrArray.subarray(idx, endPtr)); - } - var str = ''; - // If building with TextDecoder, we have already computed the string length - // above, so test loop end condition against that - while (idx < endPtr) { - // For UTF8 byte structure, see: - // http://en.wikipedia.org/wiki/UTF-8#Description - // https://www.ietf.org/rfc/rfc2279.txt - // https://tools.ietf.org/html/rfc3629 - var u0 = heapOrArray[idx++]; - if (!(u0 & 0x80)) { str += String.fromCharCode(u0); continue; } - var u1 = heapOrArray[idx++] & 63; - if ((u0 & 0xE0) == 0xC0) { str += String.fromCharCode(((u0 & 31) << 6) | u1); continue; } - var u2 = heapOrArray[idx++] & 63; - if ((u0 & 0xF0) == 0xE0) { - u0 = ((u0 & 15) << 12) | (u1 << 6) | u2; - } else { - if ((u0 & 0xF8) != 0xF0) warnOnce('Invalid UTF-8 leading byte ' + ptrToString(u0) + ' encountered when deserializing a UTF-8 string in wasm memory to a JS string!'); - u0 = ((u0 & 7) << 18) | (u1 << 12) | (u2 << 6) | (heapOrArray[idx++] & 63); - } - - if (u0 < 0x10000) { - str += String.fromCharCode(u0); - } else { - var ch = u0 - 0x10000; - str += String.fromCharCode(0xD800 | (ch >> 10), 0xDC00 | (ch & 0x3FF)); - } - } - return str; - }; - - var FS_stdin_getChar_buffer = []; - - var lengthBytesUTF8 = (str) => { - var len = 0; - for (var i = 0; i < str.length; ++i) { - // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code - // unit, not a Unicode code point of the character! So decode - // UTF16->UTF32->UTF8. - // See http://unicode.org/faq/utf_bom.html#utf16-3 - var c = str.charCodeAt(i); // possibly a lead surrogate - if (c <= 0x7F) { - len++; - } else if (c <= 0x7FF) { - len += 2; - } else if (c >= 0xD800 && c <= 0xDFFF) { - len += 4; ++i; - } else { - len += 3; - } - } - return len; - }; - - var stringToUTF8Array = (str, heap, outIdx, maxBytesToWrite) => { - assert(typeof str === 'string', `stringToUTF8Array expects a string (got ${typeof str})`); - // Parameter maxBytesToWrite is not optional. Negative values, 0, null, - // undefined and false each don't write out any bytes. - if (!(maxBytesToWrite > 0)) - return 0; - - var startIdx = outIdx; - var endIdx = outIdx + maxBytesToWrite - 1; // -1 for string null terminator. - for (var i = 0; i < str.length; ++i) { - // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code - // unit, not a Unicode code point of the character! So decode - // UTF16->UTF32->UTF8. - // See http://unicode.org/faq/utf_bom.html#utf16-3 - // For UTF8 byte structure, see http://en.wikipedia.org/wiki/UTF-8#Description - // and https://www.ietf.org/rfc/rfc2279.txt - // and https://tools.ietf.org/html/rfc3629 - var u = str.charCodeAt(i); // possibly a lead surrogate - if (u >= 0xD800 && u <= 0xDFFF) { - var u1 = str.charCodeAt(++i); - u = 0x10000 + ((u & 0x3FF) << 10) | (u1 & 0x3FF); - } - if (u <= 0x7F) { - if (outIdx >= endIdx) break; - heap[outIdx++] = u; - } else if (u <= 0x7FF) { - if (outIdx + 1 >= endIdx) break; - heap[outIdx++] = 0xC0 | (u >> 6); - heap[outIdx++] = 0x80 | (u & 63); - } else if (u <= 0xFFFF) { - if (outIdx + 2 >= endIdx) break; - heap[outIdx++] = 0xE0 | (u >> 12); - heap[outIdx++] = 0x80 | ((u >> 6) & 63); - heap[outIdx++] = 0x80 | (u & 63); - } else { - if (outIdx + 3 >= endIdx) break; - if (u > 0x10FFFF) warnOnce('Invalid Unicode code point ' + ptrToString(u) + ' encountered when serializing a JS string to a UTF-8 string in wasm memory! (Valid unicode code points should be in range 0-0x10FFFF).'); - heap[outIdx++] = 0xF0 | (u >> 18); - heap[outIdx++] = 0x80 | ((u >> 12) & 63); - heap[outIdx++] = 0x80 | ((u >> 6) & 63); - heap[outIdx++] = 0x80 | (u & 63); - } - } - // Null-terminate the pointer to the buffer. - heap[outIdx] = 0; - return outIdx - startIdx; - }; - /** @type {function(string, boolean=, number=)} */ - var intArrayFromString = (stringy, dontAddNull, length) => { - var len = length > 0 ? length : lengthBytesUTF8(stringy)+1; - var u8array = new Array(len); - var numBytesWritten = stringToUTF8Array(stringy, u8array, 0, u8array.length); - if (dontAddNull) u8array.length = numBytesWritten; - return u8array; - }; - var FS_stdin_getChar = () => { - if (!FS_stdin_getChar_buffer.length) { - var result = null; - if (ENVIRONMENT_IS_NODE) { - // we will read data by chunks of BUFSIZE - var BUFSIZE = 256; - var buf = Buffer.alloc(BUFSIZE); - var bytesRead = 0; - - // For some reason we must suppress a closure warning here, even though - // fd definitely exists on process.stdin, and is even the proper way to - // get the fd of stdin, - // https://github.com/nodejs/help/issues/2136#issuecomment-523649904 - // This started to happen after moving this logic out of library_tty.js, - // so it is related to the surrounding code in some unclear manner. - /** @suppress {missingProperties} */ - var fd = process.stdin.fd; - - try { - bytesRead = fs.readSync(fd, buf, 0, BUFSIZE); - } catch(e) { - // Cross-platform differences: on Windows, reading EOF throws an - // exception, but on other OSes, reading EOF returns 0. Uniformize - // behavior by treating the EOF exception to return 0. - if (e.toString().includes('EOF')) bytesRead = 0; - else throw e; - } - - if (bytesRead > 0) { - result = buf.slice(0, bytesRead).toString('utf-8'); - } - } else - if (typeof window != 'undefined' && - typeof window.prompt == 'function') { - // Browser. - result = window.prompt('Input: '); // returns null on cancel - if (result !== null) { - result += '\n'; - } - } else - {} - if (!result) { - return null; - } - FS_stdin_getChar_buffer = intArrayFromString(result, true); - } - return FS_stdin_getChar_buffer.shift(); - }; - var TTY = { - ttys:[], - init() { - // https://github.com/emscripten-core/emscripten/pull/1555 - // if (ENVIRONMENT_IS_NODE) { - // // currently, FS.init does not distinguish if process.stdin is a file or TTY - // // device, it always assumes it's a TTY device. because of this, we're forcing - // // process.stdin to UTF8 encoding to at least make stdin reading compatible - // // with text files until FS.init can be refactored. - // process.stdin.setEncoding('utf8'); - // } - }, - shutdown() { - // https://github.com/emscripten-core/emscripten/pull/1555 - // if (ENVIRONMENT_IS_NODE) { - // // inolen: any idea as to why node -e 'process.stdin.read()' wouldn't exit immediately (with process.stdin being a tty)? - // // isaacs: because now it's reading from the stream, you've expressed interest in it, so that read() kicks off a _read() which creates a ReadReq operation - // // inolen: I thought read() in that case was a synchronous operation that just grabbed some amount of buffered data if it exists? - // // isaacs: it is. but it also triggers a _read() call, which calls readStart() on the handle - // // isaacs: do process.stdin.pause() and i'd think it'd probably close the pending call - // process.stdin.pause(); - // } - }, - register(dev, ops) { - TTY.ttys[dev] = { input: [], output: [], ops: ops }; - FS.registerDevice(dev, TTY.stream_ops); - }, - stream_ops:{ - open(stream) { - var tty = TTY.ttys[stream.node.rdev]; - if (!tty) { - throw new FS.ErrnoError(43); - } - stream.tty = tty; - stream.seekable = false; - }, - close(stream) { - // flush any pending line data - stream.tty.ops.fsync(stream.tty); - }, - fsync(stream) { - stream.tty.ops.fsync(stream.tty); - }, - read(stream, buffer, offset, length, pos /* ignored */) { - if (!stream.tty || !stream.tty.ops.get_char) { - throw new FS.ErrnoError(60); - } - var bytesRead = 0; - for (var i = 0; i < length; i++) { - var result; - try { - result = stream.tty.ops.get_char(stream.tty); - } catch (e) { - throw new FS.ErrnoError(29); - } - if (result === undefined && bytesRead === 0) { - throw new FS.ErrnoError(6); - } - if (result === null || result === undefined) break; - bytesRead++; - buffer[offset+i] = result; - } - if (bytesRead) { - stream.node.atime = Date.now(); - } - return bytesRead; - }, - write(stream, buffer, offset, length, pos) { - if (!stream.tty || !stream.tty.ops.put_char) { - throw new FS.ErrnoError(60); - } - try { - for (var i = 0; i < length; i++) { - stream.tty.ops.put_char(stream.tty, buffer[offset+i]); - } - } catch (e) { - throw new FS.ErrnoError(29); - } - if (length) { - stream.node.mtime = stream.node.ctime = Date.now(); - } - return i; - }, - }, - default_tty_ops:{ - get_char(tty) { - return FS_stdin_getChar(); - }, - put_char(tty, val) { - if (val === null || val === 10) { - out(UTF8ArrayToString(tty.output)); - tty.output = []; - } else { - if (val != 0) tty.output.push(val); // val == 0 would cut text output off in the middle. - } - }, - fsync(tty) { - if (tty.output?.length > 0) { - out(UTF8ArrayToString(tty.output)); - tty.output = []; - } - }, - ioctl_tcgets(tty) { - // typical setting - return { - c_iflag: 25856, - c_oflag: 5, - c_cflag: 191, - c_lflag: 35387, - c_cc: [ - 0x03, 0x1c, 0x7f, 0x15, 0x04, 0x00, 0x01, 0x00, 0x11, 0x13, 0x1a, 0x00, - 0x12, 0x0f, 0x17, 0x16, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - ] - }; - }, - ioctl_tcsets(tty, optional_actions, data) { - // currently just ignore - return 0; - }, - ioctl_tiocgwinsz(tty) { - return [24, 80]; - }, - }, - default_tty1_ops:{ - put_char(tty, val) { - if (val === null || val === 10) { - err(UTF8ArrayToString(tty.output)); - tty.output = []; - } else { - if (val != 0) tty.output.push(val); - } - }, - fsync(tty) { - if (tty.output?.length > 0) { - err(UTF8ArrayToString(tty.output)); - tty.output = []; - } - }, - }, - }; - - - var mmapAlloc = (size) => { - abort('internal error: mmapAlloc called but `emscripten_builtin_memalign` native symbol not exported'); - }; - var MEMFS = { - ops_table:null, - mount(mount) { - return MEMFS.createNode(null, '/', 16895, 0); - }, - createNode(parent, name, mode, dev) { - if (FS.isBlkdev(mode) || FS.isFIFO(mode)) { - // no supported - throw new FS.ErrnoError(63); - } - MEMFS.ops_table ||= { - dir: { - node: { - getattr: MEMFS.node_ops.getattr, - setattr: MEMFS.node_ops.setattr, - lookup: MEMFS.node_ops.lookup, - mknod: MEMFS.node_ops.mknod, - rename: MEMFS.node_ops.rename, - unlink: MEMFS.node_ops.unlink, - rmdir: MEMFS.node_ops.rmdir, - readdir: MEMFS.node_ops.readdir, - symlink: MEMFS.node_ops.symlink - }, - stream: { - llseek: MEMFS.stream_ops.llseek - } - }, - file: { - node: { - getattr: MEMFS.node_ops.getattr, - setattr: MEMFS.node_ops.setattr - }, - stream: { - llseek: MEMFS.stream_ops.llseek, - read: MEMFS.stream_ops.read, - write: MEMFS.stream_ops.write, - mmap: MEMFS.stream_ops.mmap, - msync: MEMFS.stream_ops.msync - } - }, - link: { - node: { - getattr: MEMFS.node_ops.getattr, - setattr: MEMFS.node_ops.setattr, - readlink: MEMFS.node_ops.readlink - }, - stream: {} - }, - chrdev: { - node: { - getattr: MEMFS.node_ops.getattr, - setattr: MEMFS.node_ops.setattr - }, - stream: FS.chrdev_stream_ops - } - }; - var node = FS.createNode(parent, name, mode, dev); - if (FS.isDir(node.mode)) { - node.node_ops = MEMFS.ops_table.dir.node; - node.stream_ops = MEMFS.ops_table.dir.stream; - node.contents = {}; - } else if (FS.isFile(node.mode)) { - node.node_ops = MEMFS.ops_table.file.node; - node.stream_ops = MEMFS.ops_table.file.stream; - node.usedBytes = 0; // The actual number of bytes used in the typed array, as opposed to contents.length which gives the whole capacity. - // When the byte data of the file is populated, this will point to either a typed array, or a normal JS array. Typed arrays are preferred - // for performance, and used by default. However, typed arrays are not resizable like normal JS arrays are, so there is a small disk size - // penalty involved for appending file writes that continuously grow a file similar to std::vector capacity vs used -scheme. - node.contents = null; - } else if (FS.isLink(node.mode)) { - node.node_ops = MEMFS.ops_table.link.node; - node.stream_ops = MEMFS.ops_table.link.stream; - } else if (FS.isChrdev(node.mode)) { - node.node_ops = MEMFS.ops_table.chrdev.node; - node.stream_ops = MEMFS.ops_table.chrdev.stream; - } - node.atime = node.mtime = node.ctime = Date.now(); - // add the new node to the parent - if (parent) { - parent.contents[name] = node; - parent.atime = parent.mtime = parent.ctime = node.atime; - } - return node; - }, - getFileDataAsTypedArray(node) { - if (!node.contents) return new Uint8Array(0); - if (node.contents.subarray) return node.contents.subarray(0, node.usedBytes); // Make sure to not return excess unused bytes. - return new Uint8Array(node.contents); - }, - expandFileStorage(node, newCapacity) { - var prevCapacity = node.contents ? node.contents.length : 0; - if (prevCapacity >= newCapacity) return; // No need to expand, the storage was already large enough. - // Don't expand strictly to the given requested limit if it's only a very small increase, but instead geometrically grow capacity. - // For small filesizes (<1MB), perform size*2 geometric increase, but for large sizes, do a much more conservative size*1.125 increase to - // avoid overshooting the allocation cap by a very large margin. - var CAPACITY_DOUBLING_MAX = 1024 * 1024; - newCapacity = Math.max(newCapacity, (prevCapacity * (prevCapacity < CAPACITY_DOUBLING_MAX ? 2.0 : 1.125)) >>> 0); - if (prevCapacity != 0) newCapacity = Math.max(newCapacity, 256); // At minimum allocate 256b for each file when expanding. - var oldContents = node.contents; - node.contents = new Uint8Array(newCapacity); // Allocate new storage. - if (node.usedBytes > 0) node.contents.set(oldContents.subarray(0, node.usedBytes), 0); // Copy old data over to the new storage. - }, - resizeFileStorage(node, newSize) { - if (node.usedBytes == newSize) return; - if (newSize == 0) { - node.contents = null; // Fully decommit when requesting a resize to zero. - node.usedBytes = 0; - } else { - var oldContents = node.contents; - node.contents = new Uint8Array(newSize); // Allocate new storage. - if (oldContents) { - node.contents.set(oldContents.subarray(0, Math.min(newSize, node.usedBytes))); // Copy old data over to the new storage. - } - node.usedBytes = newSize; - } - }, - node_ops:{ - getattr(node) { - var attr = {}; - // device numbers reuse inode numbers. - attr.dev = FS.isChrdev(node.mode) ? node.id : 1; - attr.ino = node.id; - attr.mode = node.mode; - attr.nlink = 1; - attr.uid = 0; - attr.gid = 0; - attr.rdev = node.rdev; - if (FS.isDir(node.mode)) { - attr.size = 4096; - } else if (FS.isFile(node.mode)) { - attr.size = node.usedBytes; - } else if (FS.isLink(node.mode)) { - attr.size = node.link.length; - } else { - attr.size = 0; - } - attr.atime = new Date(node.atime); - attr.mtime = new Date(node.mtime); - attr.ctime = new Date(node.ctime); - // NOTE: In our implementation, st_blocks = Math.ceil(st_size/st_blksize), - // but this is not required by the standard. - attr.blksize = 4096; - attr.blocks = Math.ceil(attr.size / attr.blksize); - return attr; - }, - setattr(node, attr) { - for (const key of ["mode", "atime", "mtime", "ctime"]) { - if (attr[key] != null) { - node[key] = attr[key]; - } - } - if (attr.size !== undefined) { - MEMFS.resizeFileStorage(node, attr.size); - } - }, - lookup(parent, name) { - throw new FS.ErrnoError(44); - }, - mknod(parent, name, mode, dev) { - return MEMFS.createNode(parent, name, mode, dev); - }, - rename(old_node, new_dir, new_name) { - var new_node; - try { - new_node = FS.lookupNode(new_dir, new_name); - } catch (e) {} - if (new_node) { - if (FS.isDir(old_node.mode)) { - // if we're overwriting a directory at new_name, make sure it's empty. - for (var i in new_node.contents) { - throw new FS.ErrnoError(55); - } - } - FS.hashRemoveNode(new_node); - } - // do the internal rewiring - delete old_node.parent.contents[old_node.name]; - new_dir.contents[new_name] = old_node; - old_node.name = new_name; - new_dir.ctime = new_dir.mtime = old_node.parent.ctime = old_node.parent.mtime = Date.now(); - }, - unlink(parent, name) { - delete parent.contents[name]; - parent.ctime = parent.mtime = Date.now(); - }, - rmdir(parent, name) { - var node = FS.lookupNode(parent, name); - for (var i in node.contents) { - throw new FS.ErrnoError(55); - } - delete parent.contents[name]; - parent.ctime = parent.mtime = Date.now(); - }, - readdir(node) { - return ['.', '..', ...Object.keys(node.contents)]; - }, - symlink(parent, newname, oldpath) { - var node = MEMFS.createNode(parent, newname, 0o777 | 40960, 0); - node.link = oldpath; - return node; - }, - readlink(node) { - if (!FS.isLink(node.mode)) { - throw new FS.ErrnoError(28); - } - return node.link; - }, - }, - stream_ops:{ - read(stream, buffer, offset, length, position) { - var contents = stream.node.contents; - if (position >= stream.node.usedBytes) return 0; - var size = Math.min(stream.node.usedBytes - position, length); - assert(size >= 0); - if (size > 8 && contents.subarray) { // non-trivial, and typed array - buffer.set(contents.subarray(position, position + size), offset); - } else { - for (var i = 0; i < size; i++) buffer[offset + i] = contents[position + i]; - } - return size; - }, - write(stream, buffer, offset, length, position, canOwn) { - // The data buffer should be a typed array view - assert(!(buffer instanceof ArrayBuffer)); - - if (!length) return 0; - var node = stream.node; - node.mtime = node.ctime = Date.now(); - - if (buffer.subarray && (!node.contents || node.contents.subarray)) { // This write is from a typed array to a typed array? - if (canOwn) { - assert(position === 0, 'canOwn must imply no weird position inside the file'); - node.contents = buffer.subarray(offset, offset + length); - node.usedBytes = length; - return length; - } else if (node.usedBytes === 0 && position === 0) { // If this is a simple first write to an empty file, do a fast set since we don't need to care about old data. - node.contents = buffer.slice(offset, offset + length); - node.usedBytes = length; - return length; - } else if (position + length <= node.usedBytes) { // Writing to an already allocated and used subrange of the file? - node.contents.set(buffer.subarray(offset, offset + length), position); - return length; - } - } - - // Appending to an existing file and we need to reallocate, or source data did not come as a typed array. - MEMFS.expandFileStorage(node, position+length); - if (node.contents.subarray && buffer.subarray) { - // Use typed array write which is available. - node.contents.set(buffer.subarray(offset, offset + length), position); - } else { - for (var i = 0; i < length; i++) { - node.contents[position + i] = buffer[offset + i]; // Or fall back to manual write if not. - } - } - node.usedBytes = Math.max(node.usedBytes, position + length); - return length; - }, - llseek(stream, offset, whence) { - var position = offset; - if (whence === 1) { - position += stream.position; - } else if (whence === 2) { - if (FS.isFile(stream.node.mode)) { - position += stream.node.usedBytes; - } - } - if (position < 0) { - throw new FS.ErrnoError(28); - } - return position; - }, - mmap(stream, length, position, prot, flags) { - if (!FS.isFile(stream.node.mode)) { - throw new FS.ErrnoError(43); - } - var ptr; - var allocated; - var contents = stream.node.contents; - // Only make a new copy when MAP_PRIVATE is specified. - if (!(flags & 2) && contents && contents.buffer === HEAP8.buffer) { - // We can't emulate MAP_SHARED when the file is not backed by the - // buffer we're mapping to (e.g. the HEAP buffer). - allocated = false; - ptr = contents.byteOffset; - } else { - allocated = true; - ptr = mmapAlloc(length); - if (!ptr) { - throw new FS.ErrnoError(48); - } - if (contents) { - // Try to avoid unnecessary slices. - if (position > 0 || position + length < contents.length) { - if (contents.subarray) { - contents = contents.subarray(position, position + length); - } else { - contents = Array.prototype.slice.call(contents, position, position + length); - } - } - HEAP8.set(contents, ptr); - } - } - return { ptr, allocated }; - }, - msync(stream, buffer, offset, length, mmapFlags) { - MEMFS.stream_ops.write(stream, buffer, 0, length, offset, false); - // should we check if bytesWritten and length are the same? - return 0; - }, - }, - }; - - var asyncLoad = async (url) => { - var arrayBuffer = await readAsync(url); - assert(arrayBuffer, `Loading data file "${url}" failed (no arrayBuffer).`); - return new Uint8Array(arrayBuffer); - }; - - - var FS_createDataFile = (parent, name, fileData, canRead, canWrite, canOwn) => { - FS.createDataFile(parent, name, fileData, canRead, canWrite, canOwn); - }; - - var preloadPlugins = Module['preloadPlugins'] || []; - var FS_handledByPreloadPlugin = (byteArray, fullname, finish, onerror) => { - // Ensure plugins are ready. - if (typeof Browser != 'undefined') Browser.init(); - - var handled = false; - preloadPlugins.forEach((plugin) => { - if (handled) return; - if (plugin['canHandle'](fullname)) { - plugin['handle'](byteArray, fullname, finish, onerror); - handled = true; - } - }); - return handled; - }; - var FS_createPreloadedFile = (parent, name, url, canRead, canWrite, onload, onerror, dontCreateFile, canOwn, preFinish) => { - // TODO we should allow people to just pass in a complete filename instead - // of parent and name being that we just join them anyways - var fullname = name ? PATH_FS.resolve(PATH.join2(parent, name)) : parent; - var dep = getUniqueRunDependency(`cp ${fullname}`); // might have several active requests for the same fullname - function processData(byteArray) { - function finish(byteArray) { - preFinish?.(); - if (!dontCreateFile) { - FS_createDataFile(parent, name, byteArray, canRead, canWrite, canOwn); - } - onload?.(); - removeRunDependency(dep); - } - if (FS_handledByPreloadPlugin(byteArray, fullname, finish, () => { - onerror?.(); - removeRunDependency(dep); - })) { - return; - } - finish(byteArray); - } - addRunDependency(dep); - if (typeof url == 'string') { - asyncLoad(url).then(processData, onerror); - } else { - processData(url); - } - }; - - var FS_modeStringToFlags = (str) => { - var flagModes = { - 'r': 0, - 'r+': 2, - 'w': 512 | 64 | 1, - 'w+': 512 | 64 | 2, - 'a': 1024 | 64 | 1, - 'a+': 1024 | 64 | 2, - }; - var flags = flagModes[str]; - if (typeof flags == 'undefined') { - throw new Error(`Unknown file open mode: ${str}`); - } - return flags; - }; - - var FS_getMode = (canRead, canWrite) => { - var mode = 0; - if (canRead) mode |= 292 | 73; - if (canWrite) mode |= 146; - return mode; - }; - - - - - - - /** - * Given a pointer 'ptr' to a null-terminated UTF8-encoded string in the - * emscripten HEAP, returns a copy of that string as a Javascript String object. - * - * @param {number} ptr - * @param {number=} maxBytesToRead - An optional length that specifies the - * maximum number of bytes to read. You can omit this parameter to scan the - * string until the first 0 byte. If maxBytesToRead is passed, and the string - * at [ptr, ptr+maxBytesToReadr[ contains a null byte in the middle, then the - * string will cut short at that byte index (i.e. maxBytesToRead will not - * produce a string of exact length [ptr, ptr+maxBytesToRead[) N.B. mixing - * frequent uses of UTF8ToString() with and without maxBytesToRead may throw - * JS JIT optimizations off, so it is worth to consider consistently using one - * @return {string} - */ - var UTF8ToString = (ptr, maxBytesToRead) => { - assert(typeof ptr == 'number', `UTF8ToString expects a number (got ${typeof ptr})`); - return ptr ? UTF8ArrayToString(HEAPU8, ptr, maxBytesToRead) : ''; - }; - - var strError = (errno) => UTF8ToString(_strerror(errno)); - - var ERRNO_CODES = { - 'EPERM': 63, - 'ENOENT': 44, - 'ESRCH': 71, - 'EINTR': 27, - 'EIO': 29, - 'ENXIO': 60, - 'E2BIG': 1, - 'ENOEXEC': 45, - 'EBADF': 8, - 'ECHILD': 12, - 'EAGAIN': 6, - 'EWOULDBLOCK': 6, - 'ENOMEM': 48, - 'EACCES': 2, - 'EFAULT': 21, - 'ENOTBLK': 105, - 'EBUSY': 10, - 'EEXIST': 20, - 'EXDEV': 75, - 'ENODEV': 43, - 'ENOTDIR': 54, - 'EISDIR': 31, - 'EINVAL': 28, - 'ENFILE': 41, - 'EMFILE': 33, - 'ENOTTY': 59, - 'ETXTBSY': 74, - 'EFBIG': 22, - 'ENOSPC': 51, - 'ESPIPE': 70, - 'EROFS': 69, - 'EMLINK': 34, - 'EPIPE': 64, - 'EDOM': 18, - 'ERANGE': 68, - 'ENOMSG': 49, - 'EIDRM': 24, - 'ECHRNG': 106, - 'EL2NSYNC': 156, - 'EL3HLT': 107, - 'EL3RST': 108, - 'ELNRNG': 109, - 'EUNATCH': 110, - 'ENOCSI': 111, - 'EL2HLT': 112, - 'EDEADLK': 16, - 'ENOLCK': 46, - 'EBADE': 113, - 'EBADR': 114, - 'EXFULL': 115, - 'ENOANO': 104, - 'EBADRQC': 103, - 'EBADSLT': 102, - 'EDEADLOCK': 16, - 'EBFONT': 101, - 'ENOSTR': 100, - 'ENODATA': 116, - 'ETIME': 117, - 'ENOSR': 118, - 'ENONET': 119, - 'ENOPKG': 120, - 'EREMOTE': 121, - 'ENOLINK': 47, - 'EADV': 122, - 'ESRMNT': 123, - 'ECOMM': 124, - 'EPROTO': 65, - 'EMULTIHOP': 36, - 'EDOTDOT': 125, - 'EBADMSG': 9, - 'ENOTUNIQ': 126, - 'EBADFD': 127, - 'EREMCHG': 128, - 'ELIBACC': 129, - 'ELIBBAD': 130, - 'ELIBSCN': 131, - 'ELIBMAX': 132, - 'ELIBEXEC': 133, - 'ENOSYS': 52, - 'ENOTEMPTY': 55, - 'ENAMETOOLONG': 37, - 'ELOOP': 32, - 'EOPNOTSUPP': 138, - 'EPFNOSUPPORT': 139, - 'ECONNRESET': 15, - 'ENOBUFS': 42, - 'EAFNOSUPPORT': 5, - 'EPROTOTYPE': 67, - 'ENOTSOCK': 57, - 'ENOPROTOOPT': 50, - 'ESHUTDOWN': 140, - 'ECONNREFUSED': 14, - 'EADDRINUSE': 3, - 'ECONNABORTED': 13, - 'ENETUNREACH': 40, - 'ENETDOWN': 38, - 'ETIMEDOUT': 73, - 'EHOSTDOWN': 142, - 'EHOSTUNREACH': 23, - 'EINPROGRESS': 26, - 'EALREADY': 7, - 'EDESTADDRREQ': 17, - 'EMSGSIZE': 35, - 'EPROTONOSUPPORT': 66, - 'ESOCKTNOSUPPORT': 137, - 'EADDRNOTAVAIL': 4, - 'ENETRESET': 39, - 'EISCONN': 30, - 'ENOTCONN': 53, - 'ETOOMANYREFS': 141, - 'EUSERS': 136, - 'EDQUOT': 19, - 'ESTALE': 72, - 'ENOTSUP': 138, - 'ENOMEDIUM': 148, - 'EILSEQ': 25, - 'EOVERFLOW': 61, - 'ECANCELED': 11, - 'ENOTRECOVERABLE': 56, - 'EOWNERDEAD': 62, - 'ESTRPIPE': 135, - }; - var FS = { - root:null, - mounts:[], - devices:{ - }, - streams:[], - nextInode:1, - nameTable:null, - currentPath:"/", - initialized:false, - ignorePermissions:true, - filesystems:null, - syncFSRequests:0, - readFiles:{ - }, - ErrnoError:class extends Error { - name = 'ErrnoError'; - // We set the `name` property to be able to identify `FS.ErrnoError` - // - the `name` is a standard ECMA-262 property of error objects. Kind of good to have it anyway. - // - when using PROXYFS, an error can come from an underlying FS - // as different FS objects have their own FS.ErrnoError each, - // the test `err instanceof FS.ErrnoError` won't detect an error coming from another filesystem, causing bugs. - // we'll use the reliable test `err.name == "ErrnoError"` instead - constructor(errno) { - super(runtimeInitialized ? strError(errno) : ''); - this.errno = errno; - for (var key in ERRNO_CODES) { - if (ERRNO_CODES[key] === errno) { - this.code = key; - break; - } - } - } - }, - FSStream:class { - shared = {}; - get object() { - return this.node; - } - set object(val) { - this.node = val; - } - get isRead() { - return (this.flags & 2097155) !== 1; - } - get isWrite() { - return (this.flags & 2097155) !== 0; - } - get isAppend() { - return (this.flags & 1024); - } - get flags() { - return this.shared.flags; - } - set flags(val) { - this.shared.flags = val; - } - get position() { - return this.shared.position; - } - set position(val) { - this.shared.position = val; - } - }, - FSNode:class { - node_ops = {}; - stream_ops = {}; - readMode = 292 | 73; - writeMode = 146; - mounted = null; - constructor(parent, name, mode, rdev) { - if (!parent) { - parent = this; // root node sets parent to itself - } - this.parent = parent; - this.mount = parent.mount; - this.id = FS.nextInode++; - this.name = name; - this.mode = mode; - this.rdev = rdev; - this.atime = this.mtime = this.ctime = Date.now(); - } - get read() { - return (this.mode & this.readMode) === this.readMode; - } - set read(val) { - val ? this.mode |= this.readMode : this.mode &= ~this.readMode; - } - get write() { - return (this.mode & this.writeMode) === this.writeMode; - } - set write(val) { - val ? this.mode |= this.writeMode : this.mode &= ~this.writeMode; - } - get isFolder() { - return FS.isDir(this.mode); - } - get isDevice() { - return FS.isChrdev(this.mode); - } - }, - lookupPath(path, opts = {}) { - if (!path) { - throw new FS.ErrnoError(44); - } - opts.follow_mount ??= true - - if (!PATH.isAbs(path)) { - path = FS.cwd() + '/' + path; - } - - // limit max consecutive symlinks to 40 (SYMLOOP_MAX). - linkloop: for (var nlinks = 0; nlinks < 40; nlinks++) { - // split the absolute path - var parts = path.split('/').filter((p) => !!p); - - // start at the root - var current = FS.root; - var current_path = '/'; - - for (var i = 0; i < parts.length; i++) { - var islast = (i === parts.length-1); - if (islast && opts.parent) { - // stop resolving - break; - } - - if (parts[i] === '.') { - continue; - } - - if (parts[i] === '..') { - current_path = PATH.dirname(current_path); - current = current.parent; - continue; - } - - current_path = PATH.join2(current_path, parts[i]); - try { - current = FS.lookupNode(current, parts[i]); - } catch (e) { - // if noent_okay is true, suppress a ENOENT in the last component - // and return an object with an undefined node. This is needed for - // resolving symlinks in the path when creating a file. - if ((e?.errno === 44) && islast && opts.noent_okay) { - return { path: current_path }; - } - throw e; - } - - // jump to the mount's root node if this is a mountpoint - if (FS.isMountpoint(current) && (!islast || opts.follow_mount)) { - current = current.mounted.root; - } - - // by default, lookupPath will not follow a symlink if it is the final path component. - // setting opts.follow = true will override this behavior. - if (FS.isLink(current.mode) && (!islast || opts.follow)) { - if (!current.node_ops.readlink) { - throw new FS.ErrnoError(52); - } - var link = current.node_ops.readlink(current); - if (!PATH.isAbs(link)) { - link = PATH.dirname(current_path) + '/' + link; - } - path = link + '/' + parts.slice(i + 1).join('/'); - continue linkloop; - } - } - return { path: current_path, node: current }; - } - throw new FS.ErrnoError(32); - }, - getPath(node) { - var path; - while (true) { - if (FS.isRoot(node)) { - var mount = node.mount.mountpoint; - if (!path) return mount; - return mount[mount.length-1] !== '/' ? `${mount}/${path}` : mount + path; - } - path = path ? `${node.name}/${path}` : node.name; - node = node.parent; - } - }, - hashName(parentid, name) { - var hash = 0; - - for (var i = 0; i < name.length; i++) { - hash = ((hash << 5) - hash + name.charCodeAt(i)) | 0; - } - return ((parentid + hash) >>> 0) % FS.nameTable.length; - }, - hashAddNode(node) { - var hash = FS.hashName(node.parent.id, node.name); - node.name_next = FS.nameTable[hash]; - FS.nameTable[hash] = node; - }, - hashRemoveNode(node) { - var hash = FS.hashName(node.parent.id, node.name); - if (FS.nameTable[hash] === node) { - FS.nameTable[hash] = node.name_next; - } else { - var current = FS.nameTable[hash]; - while (current) { - if (current.name_next === node) { - current.name_next = node.name_next; - break; - } - current = current.name_next; - } - } - }, - lookupNode(parent, name) { - var errCode = FS.mayLookup(parent); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - var hash = FS.hashName(parent.id, name); - for (var node = FS.nameTable[hash]; node; node = node.name_next) { - var nodeName = node.name; - if (node.parent.id === parent.id && nodeName === name) { - return node; - } - } - // if we failed to find it in the cache, call into the VFS - return FS.lookup(parent, name); - }, - createNode(parent, name, mode, rdev) { - assert(typeof parent == 'object') - var node = new FS.FSNode(parent, name, mode, rdev); - - FS.hashAddNode(node); - - return node; - }, - destroyNode(node) { - FS.hashRemoveNode(node); - }, - isRoot(node) { - return node === node.parent; - }, - isMountpoint(node) { - return !!node.mounted; - }, - isFile(mode) { - return (mode & 61440) === 32768; - }, - isDir(mode) { - return (mode & 61440) === 16384; - }, - isLink(mode) { - return (mode & 61440) === 40960; - }, - isChrdev(mode) { - return (mode & 61440) === 8192; - }, - isBlkdev(mode) { - return (mode & 61440) === 24576; - }, - isFIFO(mode) { - return (mode & 61440) === 4096; - }, - isSocket(mode) { - return (mode & 49152) === 49152; - }, - flagsToPermissionString(flag) { - var perms = ['r', 'w', 'rw'][flag & 3]; - if ((flag & 512)) { - perms += 'w'; - } - return perms; - }, - nodePermissions(node, perms) { - if (FS.ignorePermissions) { - return 0; - } - // return 0 if any user, group or owner bits are set. - if (perms.includes('r') && !(node.mode & 292)) { - return 2; - } else if (perms.includes('w') && !(node.mode & 146)) { - return 2; - } else if (perms.includes('x') && !(node.mode & 73)) { - return 2; - } - return 0; - }, - mayLookup(dir) { - if (!FS.isDir(dir.mode)) return 54; - var errCode = FS.nodePermissions(dir, 'x'); - if (errCode) return errCode; - if (!dir.node_ops.lookup) return 2; - return 0; - }, - mayCreate(dir, name) { - if (!FS.isDir(dir.mode)) { - return 54; - } - try { - var node = FS.lookupNode(dir, name); - return 20; - } catch (e) { - } - return FS.nodePermissions(dir, 'wx'); - }, - mayDelete(dir, name, isdir) { - var node; - try { - node = FS.lookupNode(dir, name); - } catch (e) { - return e.errno; - } - var errCode = FS.nodePermissions(dir, 'wx'); - if (errCode) { - return errCode; - } - if (isdir) { - if (!FS.isDir(node.mode)) { - return 54; - } - if (FS.isRoot(node) || FS.getPath(node) === FS.cwd()) { - return 10; - } - } else { - if (FS.isDir(node.mode)) { - return 31; - } - } - return 0; - }, - mayOpen(node, flags) { - if (!node) { - return 44; - } - if (FS.isLink(node.mode)) { - return 32; - } else if (FS.isDir(node.mode)) { - if (FS.flagsToPermissionString(flags) !== 'r' // opening for write - || (flags & (512 | 64))) { // TODO: check for O_SEARCH? (== search for dir only) - return 31; - } - } - return FS.nodePermissions(node, FS.flagsToPermissionString(flags)); - }, - checkOpExists(op, err) { - if (!op) { - throw new FS.ErrnoError(err); - } - return op; - }, - MAX_OPEN_FDS:4096, - nextfd() { - for (var fd = 0; fd <= FS.MAX_OPEN_FDS; fd++) { - if (!FS.streams[fd]) { - return fd; - } - } - throw new FS.ErrnoError(33); - }, - getStreamChecked(fd) { - var stream = FS.getStream(fd); - if (!stream) { - throw new FS.ErrnoError(8); - } - return stream; - }, - getStream:(fd) => FS.streams[fd], - createStream(stream, fd = -1) { - assert(fd >= -1); - - // clone it, so we can return an instance of FSStream - stream = Object.assign(new FS.FSStream(), stream); - if (fd == -1) { - fd = FS.nextfd(); - } - stream.fd = fd; - FS.streams[fd] = stream; - return stream; - }, - closeStream(fd) { - FS.streams[fd] = null; - }, - dupStream(origStream, fd = -1) { - var stream = FS.createStream(origStream, fd); - stream.stream_ops?.dup?.(stream); - return stream; - }, - doSetAttr(stream, node, attr) { - var setattr = stream?.stream_ops.setattr; - var arg = setattr ? stream : node; - setattr ??= node.node_ops.setattr; - FS.checkOpExists(setattr, 63) - setattr(arg, attr); - }, - chrdev_stream_ops:{ - open(stream) { - var device = FS.getDevice(stream.node.rdev); - // override node's stream ops with the device's - stream.stream_ops = device.stream_ops; - // forward the open call - stream.stream_ops.open?.(stream); - }, - llseek() { - throw new FS.ErrnoError(70); - }, - }, - major:(dev) => ((dev) >> 8), - minor:(dev) => ((dev) & 0xff), - makedev:(ma, mi) => ((ma) << 8 | (mi)), - registerDevice(dev, ops) { - FS.devices[dev] = { stream_ops: ops }; - }, - getDevice:(dev) => FS.devices[dev], - getMounts(mount) { - var mounts = []; - var check = [mount]; - - while (check.length) { - var m = check.pop(); - - mounts.push(m); - - check.push(...m.mounts); - } - - return mounts; - }, - syncfs(populate, callback) { - if (typeof populate == 'function') { - callback = populate; - populate = false; - } - - FS.syncFSRequests++; - - if (FS.syncFSRequests > 1) { - err(`warning: ${FS.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`); - } - - var mounts = FS.getMounts(FS.root.mount); - var completed = 0; - - function doCallback(errCode) { - assert(FS.syncFSRequests > 0); - FS.syncFSRequests--; - return callback(errCode); - } - - function done(errCode) { - if (errCode) { - if (!done.errored) { - done.errored = true; - return doCallback(errCode); - } - return; - } - if (++completed >= mounts.length) { - doCallback(null); - } - }; - - // sync all mounts - mounts.forEach((mount) => { - if (!mount.type.syncfs) { - return done(null); - } - mount.type.syncfs(mount, populate, done); - }); - }, - mount(type, opts, mountpoint) { - if (typeof type == 'string') { - // The filesystem was not included, and instead we have an error - // message stored in the variable. - throw type; - } - var root = mountpoint === '/'; - var pseudo = !mountpoint; - var node; - - if (root && FS.root) { - throw new FS.ErrnoError(10); - } else if (!root && !pseudo) { - var lookup = FS.lookupPath(mountpoint, { follow_mount: false }); - - mountpoint = lookup.path; // use the absolute path - node = lookup.node; - - if (FS.isMountpoint(node)) { - throw new FS.ErrnoError(10); - } - - if (!FS.isDir(node.mode)) { - throw new FS.ErrnoError(54); - } - } - - var mount = { - type, - opts, - mountpoint, - mounts: [] - }; - - // create a root node for the fs - var mountRoot = type.mount(mount); - mountRoot.mount = mount; - mount.root = mountRoot; - - if (root) { - FS.root = mountRoot; - } else if (node) { - // set as a mountpoint - node.mounted = mount; - - // add the new mount to the current mount's children - if (node.mount) { - node.mount.mounts.push(mount); - } - } - - return mountRoot; - }, - unmount(mountpoint) { - var lookup = FS.lookupPath(mountpoint, { follow_mount: false }); - - if (!FS.isMountpoint(lookup.node)) { - throw new FS.ErrnoError(28); - } - - // destroy the nodes for this mount, and all its child mounts - var node = lookup.node; - var mount = node.mounted; - var mounts = FS.getMounts(mount); - - Object.keys(FS.nameTable).forEach((hash) => { - var current = FS.nameTable[hash]; - - while (current) { - var next = current.name_next; - - if (mounts.includes(current.mount)) { - FS.destroyNode(current); - } - - current = next; - } - }); - - // no longer a mountpoint - node.mounted = null; - - // remove this mount from the child mounts - var idx = node.mount.mounts.indexOf(mount); - assert(idx !== -1); - node.mount.mounts.splice(idx, 1); - }, - lookup(parent, name) { - return parent.node_ops.lookup(parent, name); - }, - mknod(path, mode, dev) { - var lookup = FS.lookupPath(path, { parent: true }); - var parent = lookup.node; - var name = PATH.basename(path); - if (!name) { - throw new FS.ErrnoError(28); - } - if (name === '.' || name === '..') { - throw new FS.ErrnoError(20); - } - var errCode = FS.mayCreate(parent, name); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - if (!parent.node_ops.mknod) { - throw new FS.ErrnoError(63); - } - return parent.node_ops.mknod(parent, name, mode, dev); - }, - statfs(path) { - return FS.statfsNode(FS.lookupPath(path, {follow: true}).node); - }, - statfsStream(stream) { - // We keep a separate statfsStream function because noderawfs overrides - // it. In noderawfs, stream.node is sometimes null. Instead, we need to - // look at stream.path. - return FS.statfsNode(stream.node); - }, - statfsNode(node) { - // NOTE: None of the defaults here are true. We're just returning safe and - // sane values. Currently nodefs and rawfs replace these defaults, - // other file systems leave them alone. - var rtn = { - bsize: 4096, - frsize: 4096, - blocks: 1e6, - bfree: 5e5, - bavail: 5e5, - files: FS.nextInode, - ffree: FS.nextInode - 1, - fsid: 42, - flags: 2, - namelen: 255, - }; - - if (node.node_ops.statfs) { - Object.assign(rtn, node.node_ops.statfs(node.mount.opts.root)); - } - return rtn; - }, - create(path, mode = 0o666) { - mode &= 4095; - mode |= 32768; - return FS.mknod(path, mode, 0); - }, - mkdir(path, mode = 0o777) { - mode &= 511 | 512; - mode |= 16384; - return FS.mknod(path, mode, 0); - }, - mkdirTree(path, mode) { - var dirs = path.split('/'); - var d = ''; - for (var dir of dirs) { - if (!dir) continue; - if (d || PATH.isAbs(path)) d += '/'; - d += dir; - try { - FS.mkdir(d, mode); - } catch(e) { - if (e.errno != 20) throw e; - } - } - }, - mkdev(path, mode, dev) { - if (typeof dev == 'undefined') { - dev = mode; - mode = 0o666; - } - mode |= 8192; - return FS.mknod(path, mode, dev); - }, - symlink(oldpath, newpath) { - if (!PATH_FS.resolve(oldpath)) { - throw new FS.ErrnoError(44); - } - var lookup = FS.lookupPath(newpath, { parent: true }); - var parent = lookup.node; - if (!parent) { - throw new FS.ErrnoError(44); - } - var newname = PATH.basename(newpath); - var errCode = FS.mayCreate(parent, newname); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - if (!parent.node_ops.symlink) { - throw new FS.ErrnoError(63); - } - return parent.node_ops.symlink(parent, newname, oldpath); - }, - rename(old_path, new_path) { - var old_dirname = PATH.dirname(old_path); - var new_dirname = PATH.dirname(new_path); - var old_name = PATH.basename(old_path); - var new_name = PATH.basename(new_path); - // parents must exist - var lookup, old_dir, new_dir; - - // let the errors from non existent directories percolate up - lookup = FS.lookupPath(old_path, { parent: true }); - old_dir = lookup.node; - lookup = FS.lookupPath(new_path, { parent: true }); - new_dir = lookup.node; - - if (!old_dir || !new_dir) throw new FS.ErrnoError(44); - // need to be part of the same mount - if (old_dir.mount !== new_dir.mount) { - throw new FS.ErrnoError(75); - } - // source must exist - var old_node = FS.lookupNode(old_dir, old_name); - // old path should not be an ancestor of the new path - var relative = PATH_FS.relative(old_path, new_dirname); - if (relative.charAt(0) !== '.') { - throw new FS.ErrnoError(28); - } - // new path should not be an ancestor of the old path - relative = PATH_FS.relative(new_path, old_dirname); - if (relative.charAt(0) !== '.') { - throw new FS.ErrnoError(55); - } - // see if the new path already exists - var new_node; - try { - new_node = FS.lookupNode(new_dir, new_name); - } catch (e) { - // not fatal - } - // early out if nothing needs to change - if (old_node === new_node) { - return; - } - // we'll need to delete the old entry - var isdir = FS.isDir(old_node.mode); - var errCode = FS.mayDelete(old_dir, old_name, isdir); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - // need delete permissions if we'll be overwriting. - // need create permissions if new doesn't already exist. - errCode = new_node ? - FS.mayDelete(new_dir, new_name, isdir) : - FS.mayCreate(new_dir, new_name); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - if (!old_dir.node_ops.rename) { - throw new FS.ErrnoError(63); - } - if (FS.isMountpoint(old_node) || (new_node && FS.isMountpoint(new_node))) { - throw new FS.ErrnoError(10); - } - // if we are going to change the parent, check write permissions - if (new_dir !== old_dir) { - errCode = FS.nodePermissions(old_dir, 'w'); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - } - // remove the node from the lookup hash - FS.hashRemoveNode(old_node); - // do the underlying fs rename - try { - old_dir.node_ops.rename(old_node, new_dir, new_name); - // update old node (we do this here to avoid each backend - // needing to) - old_node.parent = new_dir; - } catch (e) { - throw e; - } finally { - // add the node back to the hash (in case node_ops.rename - // changed its name) - FS.hashAddNode(old_node); - } - }, - rmdir(path) { - var lookup = FS.lookupPath(path, { parent: true }); - var parent = lookup.node; - var name = PATH.basename(path); - var node = FS.lookupNode(parent, name); - var errCode = FS.mayDelete(parent, name, true); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - if (!parent.node_ops.rmdir) { - throw new FS.ErrnoError(63); - } - if (FS.isMountpoint(node)) { - throw new FS.ErrnoError(10); - } - parent.node_ops.rmdir(parent, name); - FS.destroyNode(node); - }, - readdir(path) { - var lookup = FS.lookupPath(path, { follow: true }); - var node = lookup.node; - var readdir = FS.checkOpExists(node.node_ops.readdir, 54); - return readdir(node); - }, - unlink(path) { - var lookup = FS.lookupPath(path, { parent: true }); - var parent = lookup.node; - if (!parent) { - throw new FS.ErrnoError(44); - } - var name = PATH.basename(path); - var node = FS.lookupNode(parent, name); - var errCode = FS.mayDelete(parent, name, false); - if (errCode) { - // According to POSIX, we should map EISDIR to EPERM, but - // we instead do what Linux does (and we must, as we use - // the musl linux libc). - throw new FS.ErrnoError(errCode); - } - if (!parent.node_ops.unlink) { - throw new FS.ErrnoError(63); - } - if (FS.isMountpoint(node)) { - throw new FS.ErrnoError(10); - } - parent.node_ops.unlink(parent, name); - FS.destroyNode(node); - }, - readlink(path) { - var lookup = FS.lookupPath(path); - var link = lookup.node; - if (!link) { - throw new FS.ErrnoError(44); - } - if (!link.node_ops.readlink) { - throw new FS.ErrnoError(28); - } - return link.node_ops.readlink(link); - }, - stat(path, dontFollow) { - var lookup = FS.lookupPath(path, { follow: !dontFollow }); - var node = lookup.node; - var getattr = FS.checkOpExists(node.node_ops.getattr, 63); - return getattr(node); - }, - fstat(fd) { - var stream = FS.getStreamChecked(fd); - var node = stream.node; - var getattr = stream.stream_ops.getattr; - var arg = getattr ? stream : node; - getattr ??= node.node_ops.getattr; - FS.checkOpExists(getattr, 63) - return getattr(arg); - }, - lstat(path) { - return FS.stat(path, true); - }, - doChmod(stream, node, mode, dontFollow) { - FS.doSetAttr(stream, node, { - mode: (mode & 4095) | (node.mode & ~4095), - ctime: Date.now(), - dontFollow - }); - }, - chmod(path, mode, dontFollow) { - var node; - if (typeof path == 'string') { - var lookup = FS.lookupPath(path, { follow: !dontFollow }); - node = lookup.node; - } else { - node = path; - } - FS.doChmod(null, node, mode, dontFollow); - }, - lchmod(path, mode) { - FS.chmod(path, mode, true); - }, - fchmod(fd, mode) { - var stream = FS.getStreamChecked(fd); - FS.doChmod(stream, stream.node, mode, false); - }, - doChown(stream, node, dontFollow) { - FS.doSetAttr(stream, node, { - timestamp: Date.now(), - dontFollow - // we ignore the uid / gid for now - }); - }, - chown(path, uid, gid, dontFollow) { - var node; - if (typeof path == 'string') { - var lookup = FS.lookupPath(path, { follow: !dontFollow }); - node = lookup.node; - } else { - node = path; - } - FS.doChown(null, node, dontFollow); - }, - lchown(path, uid, gid) { - FS.chown(path, uid, gid, true); - }, - fchown(fd, uid, gid) { - var stream = FS.getStreamChecked(fd); - FS.doChown(stream, stream.node, false); - }, - doTruncate(stream, node, len) { - if (FS.isDir(node.mode)) { - throw new FS.ErrnoError(31); - } - if (!FS.isFile(node.mode)) { - throw new FS.ErrnoError(28); - } - var errCode = FS.nodePermissions(node, 'w'); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - FS.doSetAttr(stream, node, { - size: len, - timestamp: Date.now() - }); - }, - truncate(path, len) { - if (len < 0) { - throw new FS.ErrnoError(28); - } - var node; - if (typeof path == 'string') { - var lookup = FS.lookupPath(path, { follow: true }); - node = lookup.node; - } else { - node = path; - } - FS.doTruncate(null, node, len); - }, - ftruncate(fd, len) { - var stream = FS.getStreamChecked(fd); - if (len < 0 || (stream.flags & 2097155) === 0) { - throw new FS.ErrnoError(28); - } - FS.doTruncate(stream, stream.node, len); - }, - utime(path, atime, mtime) { - var lookup = FS.lookupPath(path, { follow: true }); - var node = lookup.node; - var setattr = FS.checkOpExists(node.node_ops.setattr, 63); - setattr(node, { - atime: atime, - mtime: mtime - }); - }, - open(path, flags, mode = 0o666) { - if (path === "") { - throw new FS.ErrnoError(44); - } - flags = typeof flags == 'string' ? FS_modeStringToFlags(flags) : flags; - if ((flags & 64)) { - mode = (mode & 4095) | 32768; - } else { - mode = 0; - } - var node; - var isDirPath; - if (typeof path == 'object') { - node = path; - } else { - isDirPath = path.endsWith("/"); - // noent_okay makes it so that if the final component of the path - // doesn't exist, lookupPath returns `node: undefined`. `path` will be - // updated to point to the target of all symlinks. - var lookup = FS.lookupPath(path, { - follow: !(flags & 131072), - noent_okay: true - }); - node = lookup.node; - path = lookup.path; - } - // perhaps we need to create the node - var created = false; - if ((flags & 64)) { - if (node) { - // if O_CREAT and O_EXCL are set, error out if the node already exists - if ((flags & 128)) { - throw new FS.ErrnoError(20); - } - } else if (isDirPath) { - throw new FS.ErrnoError(31); - } else { - // node doesn't exist, try to create it - // Ignore the permission bits here to ensure we can `open` this new - // file below. We use chmod below the apply the permissions once the - // file is open. - node = FS.mknod(path, mode | 0o777, 0); - created = true; - } - } - if (!node) { - throw new FS.ErrnoError(44); - } - // can't truncate a device - if (FS.isChrdev(node.mode)) { - flags &= ~512; - } - // if asked only for a directory, then this must be one - if ((flags & 65536) && !FS.isDir(node.mode)) { - throw new FS.ErrnoError(54); - } - // check permissions, if this is not a file we just created now (it is ok to - // create and write to a file with read-only permissions; it is read-only - // for later use) - if (!created) { - var errCode = FS.mayOpen(node, flags); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - } - // do truncation if necessary - if ((flags & 512) && !created) { - FS.truncate(node, 0); - } - // we've already handled these, don't pass down to the underlying vfs - flags &= ~(128 | 512 | 131072); - - // register the stream with the filesystem - var stream = FS.createStream({ - node, - path: FS.getPath(node), // we want the absolute path to the node - flags, - seekable: true, - position: 0, - stream_ops: node.stream_ops, - // used by the file family libc calls (fopen, fwrite, ferror, etc.) - ungotten: [], - error: false - }); - // call the new stream's open function - if (stream.stream_ops.open) { - stream.stream_ops.open(stream); - } - if (created) { - FS.chmod(node, mode & 0o777); - } - if (Module['logReadFiles'] && !(flags & 1)) { - if (!(path in FS.readFiles)) { - FS.readFiles[path] = 1; - } - } - return stream; - }, - close(stream) { - if (FS.isClosed(stream)) { - throw new FS.ErrnoError(8); - } - if (stream.getdents) stream.getdents = null; // free readdir state - try { - if (stream.stream_ops.close) { - stream.stream_ops.close(stream); - } - } catch (e) { - throw e; - } finally { - FS.closeStream(stream.fd); - } - stream.fd = null; - }, - isClosed(stream) { - return stream.fd === null; - }, - llseek(stream, offset, whence) { - if (FS.isClosed(stream)) { - throw new FS.ErrnoError(8); - } - if (!stream.seekable || !stream.stream_ops.llseek) { - throw new FS.ErrnoError(70); - } - if (whence != 0 && whence != 1 && whence != 2) { - throw new FS.ErrnoError(28); - } - stream.position = stream.stream_ops.llseek(stream, offset, whence); - stream.ungotten = []; - return stream.position; - }, - read(stream, buffer, offset, length, position) { - assert(offset >= 0); - if (length < 0 || position < 0) { - throw new FS.ErrnoError(28); - } - if (FS.isClosed(stream)) { - throw new FS.ErrnoError(8); - } - if ((stream.flags & 2097155) === 1) { - throw new FS.ErrnoError(8); - } - if (FS.isDir(stream.node.mode)) { - throw new FS.ErrnoError(31); - } - if (!stream.stream_ops.read) { - throw new FS.ErrnoError(28); - } - var seeking = typeof position != 'undefined'; - if (!seeking) { - position = stream.position; - } else if (!stream.seekable) { - throw new FS.ErrnoError(70); - } - var bytesRead = stream.stream_ops.read(stream, buffer, offset, length, position); - if (!seeking) stream.position += bytesRead; - return bytesRead; - }, - write(stream, buffer, offset, length, position, canOwn) { - assert(offset >= 0); - if (length < 0 || position < 0) { - throw new FS.ErrnoError(28); - } - if (FS.isClosed(stream)) { - throw new FS.ErrnoError(8); - } - if ((stream.flags & 2097155) === 0) { - throw new FS.ErrnoError(8); - } - if (FS.isDir(stream.node.mode)) { - throw new FS.ErrnoError(31); - } - if (!stream.stream_ops.write) { - throw new FS.ErrnoError(28); - } - if (stream.seekable && stream.flags & 1024) { - // seek to the end before writing in append mode - FS.llseek(stream, 0, 2); - } - var seeking = typeof position != 'undefined'; - if (!seeking) { - position = stream.position; - } else if (!stream.seekable) { - throw new FS.ErrnoError(70); - } - var bytesWritten = stream.stream_ops.write(stream, buffer, offset, length, position, canOwn); - if (!seeking) stream.position += bytesWritten; - return bytesWritten; - }, - mmap(stream, length, position, prot, flags) { - // User requests writing to file (prot & PROT_WRITE != 0). - // Checking if we have permissions to write to the file unless - // MAP_PRIVATE flag is set. According to POSIX spec it is possible - // to write to file opened in read-only mode with MAP_PRIVATE flag, - // as all modifications will be visible only in the memory of - // the current process. - if ((prot & 2) !== 0 - && (flags & 2) === 0 - && (stream.flags & 2097155) !== 2) { - throw new FS.ErrnoError(2); - } - if ((stream.flags & 2097155) === 1) { - throw new FS.ErrnoError(2); - } - if (!stream.stream_ops.mmap) { - throw new FS.ErrnoError(43); - } - if (!length) { - throw new FS.ErrnoError(28); - } - return stream.stream_ops.mmap(stream, length, position, prot, flags); - }, - msync(stream, buffer, offset, length, mmapFlags) { - assert(offset >= 0); - if (!stream.stream_ops.msync) { - return 0; - } - return stream.stream_ops.msync(stream, buffer, offset, length, mmapFlags); - }, - ioctl(stream, cmd, arg) { - if (!stream.stream_ops.ioctl) { - throw new FS.ErrnoError(59); - } - return stream.stream_ops.ioctl(stream, cmd, arg); - }, - readFile(path, opts = {}) { - opts.flags = opts.flags || 0; - opts.encoding = opts.encoding || 'binary'; - if (opts.encoding !== 'utf8' && opts.encoding !== 'binary') { - throw new Error(`Invalid encoding type "${opts.encoding}"`); - } - var ret; - var stream = FS.open(path, opts.flags); - var stat = FS.stat(path); - var length = stat.size; - var buf = new Uint8Array(length); - FS.read(stream, buf, 0, length, 0); - if (opts.encoding === 'utf8') { - ret = UTF8ArrayToString(buf); - } else if (opts.encoding === 'binary') { - ret = buf; - } - FS.close(stream); - return ret; - }, - writeFile(path, data, opts = {}) { - opts.flags = opts.flags || 577; - var stream = FS.open(path, opts.flags, opts.mode); - if (typeof data == 'string') { - var buf = new Uint8Array(lengthBytesUTF8(data)+1); - var actualNumBytes = stringToUTF8Array(data, buf, 0, buf.length); - FS.write(stream, buf, 0, actualNumBytes, undefined, opts.canOwn); - } else if (ArrayBuffer.isView(data)) { - FS.write(stream, data, 0, data.byteLength, undefined, opts.canOwn); - } else { - throw new Error('Unsupported data type'); - } - FS.close(stream); - }, - cwd:() => FS.currentPath, - chdir(path) { - var lookup = FS.lookupPath(path, { follow: true }); - if (lookup.node === null) { - throw new FS.ErrnoError(44); - } - if (!FS.isDir(lookup.node.mode)) { - throw new FS.ErrnoError(54); - } - var errCode = FS.nodePermissions(lookup.node, 'x'); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - FS.currentPath = lookup.path; - }, - createDefaultDirectories() { - FS.mkdir('/tmp'); - FS.mkdir('/home'); - FS.mkdir('/home/web_user'); - }, - createDefaultDevices() { - // create /dev - FS.mkdir('/dev'); - // setup /dev/null - FS.registerDevice(FS.makedev(1, 3), { - read: () => 0, - write: (stream, buffer, offset, length, pos) => length, - llseek: () => 0, - }); - FS.mkdev('/dev/null', FS.makedev(1, 3)); - // setup /dev/tty and /dev/tty1 - // stderr needs to print output using err() rather than out() - // so we register a second tty just for it. - TTY.register(FS.makedev(5, 0), TTY.default_tty_ops); - TTY.register(FS.makedev(6, 0), TTY.default_tty1_ops); - FS.mkdev('/dev/tty', FS.makedev(5, 0)); - FS.mkdev('/dev/tty1', FS.makedev(6, 0)); - // setup /dev/[u]random - // use a buffer to avoid overhead of individual crypto calls per byte - var randomBuffer = new Uint8Array(1024), randomLeft = 0; - var randomByte = () => { - if (randomLeft === 0) { - randomFill(randomBuffer); - randomLeft = randomBuffer.byteLength; - } - return randomBuffer[--randomLeft]; - }; - FS.createDevice('/dev', 'random', randomByte); - FS.createDevice('/dev', 'urandom', randomByte); - // we're not going to emulate the actual shm device, - // just create the tmp dirs that reside in it commonly - FS.mkdir('/dev/shm'); - FS.mkdir('/dev/shm/tmp'); - }, - createSpecialDirectories() { - // create /proc/self/fd which allows /proc/self/fd/6 => readlink gives the - // name of the stream for fd 6 (see test_unistd_ttyname) - FS.mkdir('/proc'); - var proc_self = FS.mkdir('/proc/self'); - FS.mkdir('/proc/self/fd'); - FS.mount({ - mount() { - var node = FS.createNode(proc_self, 'fd', 16895, 73); - node.stream_ops = { - llseek: MEMFS.stream_ops.llseek, - }; - node.node_ops = { - lookup(parent, name) { - var fd = +name; - var stream = FS.getStreamChecked(fd); - var ret = { - parent: null, - mount: { mountpoint: 'fake' }, - node_ops: { readlink: () => stream.path }, - id: fd + 1, - }; - ret.parent = ret; // make it look like a simple root node - return ret; - }, - readdir() { - return Array.from(FS.streams.entries()) - .filter(([k, v]) => v) - .map(([k, v]) => k.toString()); - } - }; - return node; - } - }, {}, '/proc/self/fd'); - }, - createStandardStreams(input, output, error) { - // TODO deprecate the old functionality of a single - // input / output callback and that utilizes FS.createDevice - // and instead require a unique set of stream ops - - // by default, we symlink the standard streams to the - // default tty devices. however, if the standard streams - // have been overwritten we create a unique device for - // them instead. - if (input) { - FS.createDevice('/dev', 'stdin', input); - } else { - FS.symlink('/dev/tty', '/dev/stdin'); - } - if (output) { - FS.createDevice('/dev', 'stdout', null, output); - } else { - FS.symlink('/dev/tty', '/dev/stdout'); - } - if (error) { - FS.createDevice('/dev', 'stderr', null, error); - } else { - FS.symlink('/dev/tty1', '/dev/stderr'); - } - - // open default streams for the stdin, stdout and stderr devices - var stdin = FS.open('/dev/stdin', 0); - var stdout = FS.open('/dev/stdout', 1); - var stderr = FS.open('/dev/stderr', 1); - assert(stdin.fd === 0, `invalid handle for stdin (${stdin.fd})`); - assert(stdout.fd === 1, `invalid handle for stdout (${stdout.fd})`); - assert(stderr.fd === 2, `invalid handle for stderr (${stderr.fd})`); - }, - staticInit() { - FS.nameTable = new Array(4096); - - FS.mount(MEMFS, {}, '/'); - - FS.createDefaultDirectories(); - FS.createDefaultDevices(); - FS.createSpecialDirectories(); - - FS.filesystems = { - 'MEMFS': MEMFS, - }; - }, - init(input, output, error) { - assert(!FS.initialized, 'FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)'); - FS.initialized = true; - - // Allow Module.stdin etc. to provide defaults, if none explicitly passed to us here - input ??= Module['stdin']; - output ??= Module['stdout']; - error ??= Module['stderr']; - - FS.createStandardStreams(input, output, error); - }, - quit() { - FS.initialized = false; - // force-flush all streams, so we get musl std streams printed out - _fflush(0); - // close all of our streams - for (var stream of FS.streams) { - if (stream) { - FS.close(stream); - } - } - }, - findObject(path, dontResolveLastLink) { - var ret = FS.analyzePath(path, dontResolveLastLink); - if (!ret.exists) { - return null; - } - return ret.object; - }, - analyzePath(path, dontResolveLastLink) { - // operate from within the context of the symlink's target - try { - var lookup = FS.lookupPath(path, { follow: !dontResolveLastLink }); - path = lookup.path; - } catch (e) { - } - var ret = { - isRoot: false, exists: false, error: 0, name: null, path: null, object: null, - parentExists: false, parentPath: null, parentObject: null - }; - try { - var lookup = FS.lookupPath(path, { parent: true }); - ret.parentExists = true; - ret.parentPath = lookup.path; - ret.parentObject = lookup.node; - ret.name = PATH.basename(path); - lookup = FS.lookupPath(path, { follow: !dontResolveLastLink }); - ret.exists = true; - ret.path = lookup.path; - ret.object = lookup.node; - ret.name = lookup.node.name; - ret.isRoot = lookup.path === '/'; - } catch (e) { - ret.error = e.errno; - }; - return ret; - }, - createPath(parent, path, canRead, canWrite) { - parent = typeof parent == 'string' ? parent : FS.getPath(parent); - var parts = path.split('/').reverse(); - while (parts.length) { - var part = parts.pop(); - if (!part) continue; - var current = PATH.join2(parent, part); - try { - FS.mkdir(current); - } catch (e) { - if (e.errno != 20) throw e; - } - parent = current; - } - return current; - }, - createFile(parent, name, properties, canRead, canWrite) { - var path = PATH.join2(typeof parent == 'string' ? parent : FS.getPath(parent), name); - var mode = FS_getMode(canRead, canWrite); - return FS.create(path, mode); - }, - createDataFile(parent, name, data, canRead, canWrite, canOwn) { - var path = name; - if (parent) { - parent = typeof parent == 'string' ? parent : FS.getPath(parent); - path = name ? PATH.join2(parent, name) : parent; - } - var mode = FS_getMode(canRead, canWrite); - var node = FS.create(path, mode); - if (data) { - if (typeof data == 'string') { - var arr = new Array(data.length); - for (var i = 0, len = data.length; i < len; ++i) arr[i] = data.charCodeAt(i); - data = arr; - } - // make sure we can write to the file - FS.chmod(node, mode | 146); - var stream = FS.open(node, 577); - FS.write(stream, data, 0, data.length, 0, canOwn); - FS.close(stream); - FS.chmod(node, mode); - } - }, - createDevice(parent, name, input, output) { - var path = PATH.join2(typeof parent == 'string' ? parent : FS.getPath(parent), name); - var mode = FS_getMode(!!input, !!output); - FS.createDevice.major ??= 64; - var dev = FS.makedev(FS.createDevice.major++, 0); - // Create a fake device that a set of stream ops to emulate - // the old behavior. - FS.registerDevice(dev, { - open(stream) { - stream.seekable = false; - }, - close(stream) { - // flush any pending line data - if (output?.buffer?.length) { - output(10); - } - }, - read(stream, buffer, offset, length, pos /* ignored */) { - var bytesRead = 0; - for (var i = 0; i < length; i++) { - var result; - try { - result = input(); - } catch (e) { - throw new FS.ErrnoError(29); - } - if (result === undefined && bytesRead === 0) { - throw new FS.ErrnoError(6); - } - if (result === null || result === undefined) break; - bytesRead++; - buffer[offset+i] = result; - } - if (bytesRead) { - stream.node.atime = Date.now(); - } - return bytesRead; - }, - write(stream, buffer, offset, length, pos) { - for (var i = 0; i < length; i++) { - try { - output(buffer[offset+i]); - } catch (e) { - throw new FS.ErrnoError(29); - } - } - if (length) { - stream.node.mtime = stream.node.ctime = Date.now(); - } - return i; - } - }); - return FS.mkdev(path, mode, dev); - }, - forceLoadFile(obj) { - if (obj.isDevice || obj.isFolder || obj.link || obj.contents) return true; - if (typeof XMLHttpRequest != 'undefined') { - throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread."); - } else { // Command-line. - try { - obj.contents = readBinary(obj.url); - obj.usedBytes = obj.contents.length; - } catch (e) { - throw new FS.ErrnoError(29); - } - } - }, - createLazyFile(parent, name, url, canRead, canWrite) { - // Lazy chunked Uint8Array (implements get and length from Uint8Array). - // Actual getting is abstracted away for eventual reuse. - class LazyUint8Array { - lengthKnown = false; - chunks = []; // Loaded chunks. Index is the chunk number - get(idx) { - if (idx > this.length-1 || idx < 0) { - return undefined; - } - var chunkOffset = idx % this.chunkSize; - var chunkNum = (idx / this.chunkSize)|0; - return this.getter(chunkNum)[chunkOffset]; - } - setDataGetter(getter) { - this.getter = getter; - } - cacheLength() { - // Find length - var xhr = new XMLHttpRequest(); - xhr.open('HEAD', url, false); - xhr.send(null); - if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error("Couldn't load " + url + ". Status: " + xhr.status); - var datalength = Number(xhr.getResponseHeader("Content-length")); - var header; - var hasByteServing = (header = xhr.getResponseHeader("Accept-Ranges")) && header === "bytes"; - var usesGzip = (header = xhr.getResponseHeader("Content-Encoding")) && header === "gzip"; - - var chunkSize = 1024*1024; // Chunk size in bytes - - if (!hasByteServing) chunkSize = datalength; - - // Function to get a range from the remote URL. - var doXHR = (from, to) => { - if (from > to) throw new Error("invalid range (" + from + ", " + to + ") or no bytes requested!"); - if (to > datalength-1) throw new Error("only " + datalength + " bytes available! programmer error!"); - - // TODO: Use mozResponseArrayBuffer, responseStream, etc. if available. - var xhr = new XMLHttpRequest(); - xhr.open('GET', url, false); - if (datalength !== chunkSize) xhr.setRequestHeader("Range", "bytes=" + from + "-" + to); - - // Some hints to the browser that we want binary data. - xhr.responseType = 'arraybuffer'; - if (xhr.overrideMimeType) { - xhr.overrideMimeType('text/plain; charset=x-user-defined'); - } - - xhr.send(null); - if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error("Couldn't load " + url + ". Status: " + xhr.status); - if (xhr.response !== undefined) { - return new Uint8Array(/** @type{Array} */(xhr.response || [])); - } - return intArrayFromString(xhr.responseText || '', true); - }; - var lazyArray = this; - lazyArray.setDataGetter((chunkNum) => { - var start = chunkNum * chunkSize; - var end = (chunkNum+1) * chunkSize - 1; // including this byte - end = Math.min(end, datalength-1); // if datalength-1 is selected, this is the last block - if (typeof lazyArray.chunks[chunkNum] == 'undefined') { - lazyArray.chunks[chunkNum] = doXHR(start, end); - } - if (typeof lazyArray.chunks[chunkNum] == 'undefined') throw new Error('doXHR failed!'); - return lazyArray.chunks[chunkNum]; - }); - - if (usesGzip || !datalength) { - // if the server uses gzip or doesn't supply the length, we have to download the whole file to get the (uncompressed) length - chunkSize = datalength = 1; // this will force getter(0)/doXHR do download the whole file - datalength = this.getter(0).length; - chunkSize = datalength; - out("LazyFiles on gzip forces download of the whole file when length is accessed"); - } - - this._length = datalength; - this._chunkSize = chunkSize; - this.lengthKnown = true; - } - get length() { - if (!this.lengthKnown) { - this.cacheLength(); - } - return this._length; - } - get chunkSize() { - if (!this.lengthKnown) { - this.cacheLength(); - } - return this._chunkSize; - } - } - - if (typeof XMLHttpRequest != 'undefined') { - if (!ENVIRONMENT_IS_WORKER) throw 'Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc'; - var lazyArray = new LazyUint8Array(); - var properties = { isDevice: false, contents: lazyArray }; - } else { - var properties = { isDevice: false, url: url }; - } - - var node = FS.createFile(parent, name, properties, canRead, canWrite); - // This is a total hack, but I want to get this lazy file code out of the - // core of MEMFS. If we want to keep this lazy file concept I feel it should - // be its own thin LAZYFS proxying calls to MEMFS. - if (properties.contents) { - node.contents = properties.contents; - } else if (properties.url) { - node.contents = null; - node.url = properties.url; - } - // Add a function that defers querying the file size until it is asked the first time. - Object.defineProperties(node, { - usedBytes: { - get: function() { return this.contents.length; } - } - }); - // override each stream op with one that tries to force load the lazy file first - var stream_ops = {}; - var keys = Object.keys(node.stream_ops); - keys.forEach((key) => { - var fn = node.stream_ops[key]; - stream_ops[key] = (...args) => { - FS.forceLoadFile(node); - return fn(...args); - }; - }); - function writeChunks(stream, buffer, offset, length, position) { - var contents = stream.node.contents; - if (position >= contents.length) - return 0; - var size = Math.min(contents.length - position, length); - assert(size >= 0); - if (contents.slice) { // normal array - for (var i = 0; i < size; i++) { - buffer[offset + i] = contents[position + i]; - } - } else { - for (var i = 0; i < size; i++) { // LazyUint8Array from sync binary XHR - buffer[offset + i] = contents.get(position + i); - } - } - return size; - } - // use a custom read function - stream_ops.read = (stream, buffer, offset, length, position) => { - FS.forceLoadFile(node); - return writeChunks(stream, buffer, offset, length, position) - }; - // use a custom mmap function - stream_ops.mmap = (stream, length, position, prot, flags) => { - FS.forceLoadFile(node); - var ptr = mmapAlloc(length); - if (!ptr) { - throw new FS.ErrnoError(48); - } - writeChunks(stream, HEAP8, ptr, length, position); - return { ptr, allocated: true }; - }; - node.stream_ops = stream_ops; - return node; - }, - absolutePath() { - abort('FS.absolutePath has been removed; use PATH_FS.resolve instead'); - }, - createFolder() { - abort('FS.createFolder has been removed; use FS.mkdir instead'); - }, - createLink() { - abort('FS.createLink has been removed; use FS.symlink instead'); - }, - joinPath() { - abort('FS.joinPath has been removed; use PATH.join instead'); - }, - mmapAlloc() { - abort('FS.mmapAlloc has been replaced by the top level function mmapAlloc'); - }, - standardizePath() { - abort('FS.standardizePath has been removed; use PATH.normalize instead'); - }, - }; - - var SYSCALLS = { - DEFAULT_POLLMASK:5, - calculateAt(dirfd, path, allowEmpty) { - if (PATH.isAbs(path)) { - return path; - } - // relative path - var dir; - if (dirfd === -100) { - dir = FS.cwd(); - } else { - var dirstream = SYSCALLS.getStreamFromFD(dirfd); - dir = dirstream.path; - } - if (path.length == 0) { - if (!allowEmpty) { - throw new FS.ErrnoError(44);; - } - return dir; - } - return dir + '/' + path; - }, - writeStat(buf, stat) { - HEAP32[((buf)>>2)] = stat.dev; - HEAP32[(((buf)+(4))>>2)] = stat.mode; - HEAPU32[(((buf)+(8))>>2)] = stat.nlink; - HEAP32[(((buf)+(12))>>2)] = stat.uid; - HEAP32[(((buf)+(16))>>2)] = stat.gid; - HEAP32[(((buf)+(20))>>2)] = stat.rdev; - HEAP64[(((buf)+(24))>>3)] = BigInt(stat.size); - HEAP32[(((buf)+(32))>>2)] = 4096; - HEAP32[(((buf)+(36))>>2)] = stat.blocks; - var atime = stat.atime.getTime(); - var mtime = stat.mtime.getTime(); - var ctime = stat.ctime.getTime(); - HEAP64[(((buf)+(40))>>3)] = BigInt(Math.floor(atime / 1000)); - HEAPU32[(((buf)+(48))>>2)] = (atime % 1000) * 1000 * 1000; - HEAP64[(((buf)+(56))>>3)] = BigInt(Math.floor(mtime / 1000)); - HEAPU32[(((buf)+(64))>>2)] = (mtime % 1000) * 1000 * 1000; - HEAP64[(((buf)+(72))>>3)] = BigInt(Math.floor(ctime / 1000)); - HEAPU32[(((buf)+(80))>>2)] = (ctime % 1000) * 1000 * 1000; - HEAP64[(((buf)+(88))>>3)] = BigInt(stat.ino); - return 0; - }, - writeStatFs(buf, stats) { - HEAP32[(((buf)+(4))>>2)] = stats.bsize; - HEAP32[(((buf)+(40))>>2)] = stats.bsize; - HEAP32[(((buf)+(8))>>2)] = stats.blocks; - HEAP32[(((buf)+(12))>>2)] = stats.bfree; - HEAP32[(((buf)+(16))>>2)] = stats.bavail; - HEAP32[(((buf)+(20))>>2)] = stats.files; - HEAP32[(((buf)+(24))>>2)] = stats.ffree; - HEAP32[(((buf)+(28))>>2)] = stats.fsid; - HEAP32[(((buf)+(44))>>2)] = stats.flags; // ST_NOSUID - HEAP32[(((buf)+(36))>>2)] = stats.namelen; - }, - doMsync(addr, stream, len, flags, offset) { - if (!FS.isFile(stream.node.mode)) { - throw new FS.ErrnoError(43); - } - if (flags & 2) { - // MAP_PRIVATE calls need not to be synced back to underlying fs - return 0; - } - var buffer = HEAPU8.slice(addr, addr + len); - FS.msync(stream, buffer, offset, len, flags); - }, - getStreamFromFD(fd) { - var stream = FS.getStreamChecked(fd); - return stream; - }, - varargs:undefined, - getStr(ptr) { - var ret = UTF8ToString(ptr); - return ret; - }, - }; - function ___syscall_openat(dirfd, path, flags, varargs) { - SYSCALLS.varargs = varargs; - try { - - path = SYSCALLS.getStr(path); - path = SYSCALLS.calculateAt(dirfd, path); - var mode = varargs ? syscallGetVarargI() : 0; - return FS.open(path, flags, mode).fd; - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return -e.errno; - } - } - - var __abort_js = () => - abort('native code called abort()'); - - var abortOnCannotGrowMemory = (requestedSize) => { - abort(`Cannot enlarge memory arrays to size ${requestedSize} bytes (OOM). Either (1) compile with -sINITIAL_MEMORY=X with X higher than the current value ${HEAP8.length}, (2) compile with -sALLOW_MEMORY_GROWTH which allows increasing the size at runtime, or (3) if you want malloc to return NULL (0) instead of this abort, compile with -sABORTING_MALLOC=0`); - }; - var _emscripten_resize_heap = (requestedSize) => { - var oldSize = HEAPU8.length; - // With CAN_ADDRESS_2GB or MEMORY64, pointers are already unsigned. - requestedSize >>>= 0; - abortOnCannotGrowMemory(requestedSize); - }; - - - var runtimeKeepaliveCounter = 0; - var keepRuntimeAlive = () => noExitRuntime || runtimeKeepaliveCounter > 0; - var _proc_exit = (code) => { - EXITSTATUS = code; - if (!keepRuntimeAlive()) { - Module['onExit']?.(code); - ABORT = true; - } - quit_(code, new ExitStatus(code)); - }; - - - /** @suppress {duplicate } */ - /** @param {boolean|number=} implicit */ - var exitJS = (status, implicit) => { - EXITSTATUS = status; - - checkUnflushedContent(); - - // if exit() was called explicitly, warn the user if the runtime isn't actually being shut down - if (keepRuntimeAlive() && !implicit) { - var msg = `program exited (with status: ${status}), but keepRuntimeAlive() is set (counter=${runtimeKeepaliveCounter}) due to an async operation, so halting execution but not exiting the runtime or preventing further async execution (you can use emscripten_force_exit, if you want to force a true shutdown)`; - err(msg); - } - - _proc_exit(status); - }; - var _exit = exitJS; - - function _fd_close(fd) { - try { - - var stream = SYSCALLS.getStreamFromFD(fd); - FS.close(stream); - return 0; - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return e.errno; - } - } - - /** @param {number=} offset */ - var doReadv = (stream, iov, iovcnt, offset) => { - var ret = 0; - for (var i = 0; i < iovcnt; i++) { - var ptr = HEAPU32[((iov)>>2)]; - var len = HEAPU32[(((iov)+(4))>>2)]; - iov += 8; - var curr = FS.read(stream, HEAP8, ptr, len, offset); - if (curr < 0) return -1; - ret += curr; - if (curr < len) break; // nothing more to read - if (typeof offset != 'undefined') { - offset += curr; - } - } - return ret; - }; - - function _fd_read(fd, iov, iovcnt, pnum) { - try { - - var stream = SYSCALLS.getStreamFromFD(fd); - var num = doReadv(stream, iov, iovcnt); - HEAPU32[((pnum)>>2)] = num; - return 0; - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return e.errno; - } - } - - - var INT53_MAX = 9007199254740992; - - var INT53_MIN = -9007199254740992; - var bigintToI53Checked = (num) => (num < INT53_MIN || num > INT53_MAX) ? NaN : Number(num); - function _fd_seek(fd, offset, whence, newOffset) { - offset = bigintToI53Checked(offset); - - - try { - - if (isNaN(offset)) return 61; - var stream = SYSCALLS.getStreamFromFD(fd); - FS.llseek(stream, offset, whence); - HEAP64[((newOffset)>>3)] = BigInt(stream.position); - if (stream.getdents && offset === 0 && whence === 0) stream.getdents = null; // reset readdir state - return 0; - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return e.errno; - } - ; - } - - /** @param {number=} offset */ - var doWritev = (stream, iov, iovcnt, offset) => { - var ret = 0; - for (var i = 0; i < iovcnt; i++) { - var ptr = HEAPU32[((iov)>>2)]; - var len = HEAPU32[(((iov)+(4))>>2)]; - iov += 8; - var curr = FS.write(stream, HEAP8, ptr, len, offset); - if (curr < 0) return -1; - ret += curr; - if (curr < len) { - // No more space to write. - break; - } - if (typeof offset != 'undefined') { - offset += curr; - } - } - return ret; - }; - - function _fd_write(fd, iov, iovcnt, pnum) { - try { - - var stream = SYSCALLS.getStreamFromFD(fd); - var num = doWritev(stream, iov, iovcnt); - HEAPU32[((pnum)>>2)] = num; - return 0; - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return e.errno; - } - } - - - var handleException = (e) => { - // Certain exception types we do not treat as errors since they are used for - // internal control flow. - // 1. ExitStatus, which is thrown by exit() - // 2. "unwind", which is thrown by emscripten_unwind_to_js_event_loop() and others - // that wish to return to JS event loop. - if (e instanceof ExitStatus || e == 'unwind') { - return EXITSTATUS; - } - checkStackCookie(); - if (e instanceof WebAssembly.RuntimeError) { - if (_emscripten_stack_get_current() <= 0) { - err('Stack overflow detected. You can try increasing -sSTACK_SIZE (currently set to 65536)'); - } - } - quit_(1, e); - }; - - - var stringToUTF8 = (str, outPtr, maxBytesToWrite) => { - assert(typeof maxBytesToWrite == 'number', 'stringToUTF8(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!'); - return stringToUTF8Array(str, HEAPU8, outPtr, maxBytesToWrite); - }; - - var stackAlloc = (sz) => __emscripten_stack_alloc(sz); - var stringToUTF8OnStack = (str) => { - var size = lengthBytesUTF8(str) + 1; - var ret = stackAlloc(size); - stringToUTF8(str, ret, size); - return ret; - }; - - FS.createPreloadedFile = FS_createPreloadedFile; - FS.staticInit(); - // Set module methods based on EXPORTED_RUNTIME_METHODS - ; -// End JS library code - -function checkIncomingModuleAPI() { - ignoredModuleProp('fetchSettings'); -} -var wasmImports = { - /** @export */ - __syscall_openat: ___syscall_openat, - /** @export */ - _abort_js: __abort_js, - /** @export */ - emscripten_resize_heap: _emscripten_resize_heap, - /** @export */ - exit: _exit, - /** @export */ - fd_close: _fd_close, - /** @export */ - fd_read: _fd_read, - /** @export */ - fd_seek: _fd_seek, - /** @export */ - fd_write: _fd_write -}; -var wasmExports; -createWasm(); -var ___wasm_call_ctors = createExportWrapper('__wasm_call_ctors', 0); -var _main = Module['_main'] = createExportWrapper('__main_argc_argv', 2); -var _strerror = createExportWrapper('strerror', 1); -var _fflush = createExportWrapper('fflush', 1); -var _emscripten_stack_init = () => (_emscripten_stack_init = wasmExports['emscripten_stack_init'])(); -var _emscripten_stack_get_free = () => (_emscripten_stack_get_free = wasmExports['emscripten_stack_get_free'])(); -var _emscripten_stack_get_base = () => (_emscripten_stack_get_base = wasmExports['emscripten_stack_get_base'])(); -var _emscripten_stack_get_end = () => (_emscripten_stack_get_end = wasmExports['emscripten_stack_get_end'])(); -var __emscripten_stack_restore = (a0) => (__emscripten_stack_restore = wasmExports['_emscripten_stack_restore'])(a0); -var __emscripten_stack_alloc = (a0) => (__emscripten_stack_alloc = wasmExports['_emscripten_stack_alloc'])(a0); -var _emscripten_stack_get_current = () => (_emscripten_stack_get_current = wasmExports['emscripten_stack_get_current'])(); - - -// include: postamble.js -// === Auto-generated postamble setup entry stuff === - -var missingLibrarySymbols = [ - 'writeI53ToI64', - 'writeI53ToI64Clamped', - 'writeI53ToI64Signaling', - 'writeI53ToU64Clamped', - 'writeI53ToU64Signaling', - 'readI53FromI64', - 'readI53FromU64', - 'convertI32PairToI53', - 'convertI32PairToI53Checked', - 'convertU32PairToI53', - 'getTempRet0', - 'setTempRet0', - 'zeroMemory', - 'getHeapMax', - 'growMemory', - 'inetPton4', - 'inetNtop4', - 'inetPton6', - 'inetNtop6', - 'readSockaddr', - 'writeSockaddr', - 'emscriptenLog', - 'readEmAsmArgs', - 'jstoi_q', - 'getExecutableName', - 'listenOnce', - 'autoResumeAudioContext', - 'getDynCaller', - 'dynCall', - 'runtimeKeepalivePush', - 'runtimeKeepalivePop', - 'callUserCallback', - 'maybeExit', - 'asmjsMangle', - 'alignMemory', - 'HandleAllocator', - 'getNativeTypeSize', - 'addOnInit', - 'addOnPostCtor', - 'addOnPreMain', - 'addOnExit', - 'STACK_SIZE', - 'STACK_ALIGN', - 'POINTER_SIZE', - 'ASSERTIONS', - 'getCFunc', - 'ccall', - 'cwrap', - 'uleb128Encode', - 'sigToWasmTypes', - 'generateFuncType', - 'convertJsFunctionToWasm', - 'getEmptyTableSlot', - 'updateTableMap', - 'getFunctionAddress', - 'addFunction', - 'removeFunction', - 'reallyNegative', - 'unSign', - 'strLen', - 'reSign', - 'formatString', - 'intArrayToString', - 'AsciiToString', - 'stringToAscii', - 'UTF16ToString', - 'stringToUTF16', - 'lengthBytesUTF16', - 'UTF32ToString', - 'stringToUTF32', - 'lengthBytesUTF32', - 'stringToNewUTF8', - 'writeArrayToMemory', - 'registerKeyEventCallback', - 'maybeCStringToJsString', - 'findEventTarget', - 'getBoundingClientRect', - 'fillMouseEventData', - 'registerMouseEventCallback', - 'registerWheelEventCallback', - 'registerUiEventCallback', - 'registerFocusEventCallback', - 'fillDeviceOrientationEventData', - 'registerDeviceOrientationEventCallback', - 'fillDeviceMotionEventData', - 'registerDeviceMotionEventCallback', - 'screenOrientation', - 'fillOrientationChangeEventData', - 'registerOrientationChangeEventCallback', - 'fillFullscreenChangeEventData', - 'registerFullscreenChangeEventCallback', - 'JSEvents_requestFullscreen', - 'JSEvents_resizeCanvasForFullscreen', - 'registerRestoreOldStyle', - 'hideEverythingExceptGivenElement', - 'restoreHiddenElements', - 'setLetterbox', - 'softFullscreenResizeWebGLRenderTarget', - 'doRequestFullscreen', - 'fillPointerlockChangeEventData', - 'registerPointerlockChangeEventCallback', - 'registerPointerlockErrorEventCallback', - 'requestPointerLock', - 'fillVisibilityChangeEventData', - 'registerVisibilityChangeEventCallback', - 'registerTouchEventCallback', - 'fillGamepadEventData', - 'registerGamepadEventCallback', - 'registerBeforeUnloadEventCallback', - 'fillBatteryEventData', - 'battery', - 'registerBatteryEventCallback', - 'setCanvasElementSize', - 'getCanvasElementSize', - 'jsStackTrace', - 'getCallstack', - 'convertPCtoSourceLocation', - 'getEnvStrings', - 'checkWasiClock', - 'wasiRightsToMuslOFlags', - 'wasiOFlagsToMuslOFlags', - 'safeSetTimeout', - 'setImmediateWrapped', - 'safeRequestAnimationFrame', - 'clearImmediateWrapped', - 'registerPostMainLoop', - 'registerPreMainLoop', - 'getPromise', - 'makePromise', - 'idsToPromises', - 'makePromiseCallback', - 'ExceptionInfo', - 'findMatchingCatch', - 'Browser_asyncPrepareDataCounter', - 'isLeapYear', - 'ydayFromDate', - 'arraySum', - 'addDays', - 'getSocketFromFD', - 'getSocketAddress', - 'FS_unlink', - 'FS_mkdirTree', - '_setNetworkCallback', - 'heapObjectForWebGLType', - 'toTypedArrayIndex', - 'webgl_enable_ANGLE_instanced_arrays', - 'webgl_enable_OES_vertex_array_object', - 'webgl_enable_WEBGL_draw_buffers', - 'webgl_enable_WEBGL_multi_draw', - 'webgl_enable_EXT_polygon_offset_clamp', - 'webgl_enable_EXT_clip_control', - 'webgl_enable_WEBGL_polygon_mode', - 'emscriptenWebGLGet', - 'computeUnpackAlignedImageSize', - 'colorChannelsInGlTextureFormat', - 'emscriptenWebGLGetTexPixelData', - 'emscriptenWebGLGetUniform', - 'webglGetUniformLocation', - 'webglPrepareUniformLocationsBeforeFirstUse', - 'webglGetLeftBracePos', - 'emscriptenWebGLGetVertexAttrib', - '__glGetActiveAttribOrUniform', - 'writeGLArray', - 'registerWebGlEventCallback', - 'runAndAbortIfError', - 'ALLOC_NORMAL', - 'ALLOC_STACK', - 'allocate', - 'writeStringToMemory', - 'writeAsciiToMemory', - 'demangle', - 'stackTrace', -]; -missingLibrarySymbols.forEach(missingLibrarySymbol) - -var unexportedSymbols = [ - 'run', - 'addRunDependency', - 'removeRunDependency', - 'out', - 'err', - 'callMain', - 'abort', - 'wasmMemory', - 'wasmExports', - 'writeStackCookie', - 'checkStackCookie', - 'INT53_MAX', - 'INT53_MIN', - 'bigintToI53Checked', - 'stackSave', - 'stackRestore', - 'stackAlloc', - 'ptrToString', - 'exitJS', - 'abortOnCannotGrowMemory', - 'ENV', - 'ERRNO_CODES', - 'strError', - 'DNS', - 'Protocols', - 'Sockets', - 'timers', - 'warnOnce', - 'readEmAsmArgsArray', - 'jstoi_s', - 'handleException', - 'keepRuntimeAlive', - 'asyncLoad', - 'mmapAlloc', - 'wasmTable', - 'noExitRuntime', - 'addOnPreRun', - 'addOnPostRun', - 'freeTableIndexes', - 'functionsInTableMap', - 'setValue', - 'getValue', - 'PATH', - 'PATH_FS', - 'UTF8Decoder', - 'UTF8ArrayToString', - 'UTF8ToString', - 'stringToUTF8Array', - 'stringToUTF8', - 'lengthBytesUTF8', - 'intArrayFromString', - 'UTF16Decoder', - 'stringToUTF8OnStack', - 'JSEvents', - 'specialHTMLTargets', - 'findCanvasEventTarget', - 'currentFullscreenStrategy', - 'restoreOldWindowedStyle', - 'UNWIND_CACHE', - 'ExitStatus', - 'doReadv', - 'doWritev', - 'initRandomFill', - 'randomFill', - 'emSetImmediate', - 'emClearImmediate_deps', - 'emClearImmediate', - 'promiseMap', - 'uncaughtExceptionCount', - 'exceptionLast', - 'exceptionCaught', - 'Browser', - 'getPreloadedImageData__data', - 'wget', - 'MONTH_DAYS_REGULAR', - 'MONTH_DAYS_LEAP', - 'MONTH_DAYS_REGULAR_CUMULATIVE', - 'MONTH_DAYS_LEAP_CUMULATIVE', - 'SYSCALLS', - 'preloadPlugins', - 'FS_createPreloadedFile', - 'FS_modeStringToFlags', - 'FS_getMode', - 'FS_stdin_getChar_buffer', - 'FS_stdin_getChar', - 'FS_createPath', - 'FS_createDevice', - 'FS_readFile', - 'FS', - 'FS_createDataFile', - 'FS_createLazyFile', - 'MEMFS', - 'TTY', - 'PIPEFS', - 'SOCKFS', - 'tempFixedLengthArray', - 'miniTempWebGLFloatBuffers', - 'miniTempWebGLIntBuffers', - 'GL', - 'AL', - 'GLUT', - 'EGL', - 'GLEW', - 'IDBStore', - 'SDL', - 'SDL_gfx', - 'allocateUTF8', - 'allocateUTF8OnStack', - 'print', - 'printErr', -]; -unexportedSymbols.forEach(unexportedRuntimeSymbol); - - - -var calledRun; - -function callMain(args = []) { - assert(runDependencies == 0, 'cannot call main when async dependencies remain! (listen on Module["onRuntimeInitialized"])'); - assert(typeof onPreRuns === 'undefined' || onPreRuns.length == 0, 'cannot call main when preRun functions remain to be called'); - - var entryFunction = _main; - - args.unshift(thisProgram); - - var argc = args.length; - var argv = stackAlloc((argc + 1) * 4); - var argv_ptr = argv; - args.forEach((arg) => { - HEAPU32[((argv_ptr)>>2)] = stringToUTF8OnStack(arg); - argv_ptr += 4; - }); - HEAPU32[((argv_ptr)>>2)] = 0; - - try { - - var ret = entryFunction(argc, argv); - - // if we're not running an evented main loop, it's time to exit - exitJS(ret, /* implicit = */ true); - return ret; - } catch (e) { - return handleException(e); - } -} - -function stackCheckInit() { - // This is normally called automatically during __wasm_call_ctors but need to - // get these values before even running any of the ctors so we call it redundantly - // here. - _emscripten_stack_init(); - // TODO(sbc): Move writeStackCookie to native to to avoid this. - writeStackCookie(); -} - -function run(args = arguments_) { - - if (runDependencies > 0) { - dependenciesFulfilled = run; - return; - } - - stackCheckInit(); - - preRun(); - - // a preRun added a dependency, run will be called later - if (runDependencies > 0) { - dependenciesFulfilled = run; - return; - } - - function doRun() { - // run may have just been called through dependencies being fulfilled just in this very frame, - // or while the async setStatus time below was happening - assert(!calledRun); - calledRun = true; - Module['calledRun'] = true; - - if (ABORT) return; - - initRuntime(); - - preMain(); - - Module['onRuntimeInitialized']?.(); - consumedModuleProp('onRuntimeInitialized'); - - var noInitialRun = Module['noInitialRun'];legacyModuleProp('noInitialRun', 'noInitialRun'); - if (!noInitialRun) callMain(args); - - postRun(); - } - - if (Module['setStatus']) { - Module['setStatus']('Running...'); - setTimeout(() => { - setTimeout(() => Module['setStatus'](''), 1); - doRun(); - }, 1); - } else - { - doRun(); - } - checkStackCookie(); -} - -function checkUnflushedContent() { - // Compiler settings do not allow exiting the runtime, so flushing - // the streams is not possible. but in ASSERTIONS mode we check - // if there was something to flush, and if so tell the user they - // should request that the runtime be exitable. - // Normally we would not even include flush() at all, but in ASSERTIONS - // builds we do so just for this check, and here we see if there is any - // content to flush, that is, we check if there would have been - // something a non-ASSERTIONS build would have not seen. - // How we flush the streams depends on whether we are in SYSCALLS_REQUIRE_FILESYSTEM=0 - // mode (which has its own special function for this; otherwise, all - // the code is inside libc) - var oldOut = out; - var oldErr = err; - var has = false; - out = err = (x) => { - has = true; - } - try { // it doesn't matter if it fails - _fflush(0); - // also flush in the JS FS layer - ['stdout', 'stderr'].forEach((name) => { - var info = FS.analyzePath('/dev/' + name); - if (!info) return; - var stream = info.object; - var rdev = stream.rdev; - var tty = TTY.ttys[rdev]; - if (tty?.output?.length) { - has = true; - } - }); - } catch(e) {} - out = oldOut; - err = oldErr; - if (has) { - warnOnce('stdio streams had content in them that was not flushed. you should set EXIT_RUNTIME to 1 (see the Emscripten FAQ), or make sure to emit a newline when you printf etc.'); - } -} - -if (Module['preInit']) { - if (typeof Module['preInit'] == 'function') Module['preInit'] = [Module['preInit']]; - while (Module['preInit'].length > 0) { - Module['preInit'].pop()(); - } -} -consumedModuleProp('preInit'); - -run(); - -// end include: postamble.js - diff --git a/thirdparty/zlib-1.3.1/build-emcmake/example64.wasm b/thirdparty/zlib-1.3.1/build-emcmake/example64.wasm deleted file mode 100755 index b2d6fad00ee440a4811000ba57ae30496421995d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 222066 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¬Y|~ zrJNV)=WJ!ZAlpSRehIN|@|i%8t0&KecIkQkON*Q)P@2k10+)$Cc~0=lg*3%;g3)7X zqMY~Zhf6fXOSG=gq-*p)XimbqtFQ4kpiy@l&324het6*x+i!wn3F0o_nrvm50;A$oXMI6ZtT zZjSVDsi5!{=-nz`3LGgCGtRLop9u<@?Y4USDPqezF8#A^6e z%%fU=xF@y4qk_MCs53r2qx>D_-^~y^;oq zTg9ssj1RBL@xorilcC~q@p{$c;!PhbM$H=QTZ6{hA;*iiX}?x@ClP!%I$reSc!4Vh zZWn#>z98W%&61e$ft)Th#t-Flq5I+^Z`>+(3_gC$9{NO+#0}$wwA;f3)fq&nr1LD^UJo5&*rxW8V07~enw4~%bX1SU1$oT2)Y-441#o*7dp z7%#^R{w6o{$u)!0saS41JJ2B)jeWckju_tSzVgG+4w>Fy{7s_~ZW@%zO(Pwd`^!l~ z?>^2M-YEHI5alWr9Nb_BJ6W7FC_4mGYuq!uE*=+$c?XBf4TC^eGWJu;KWMrVi~8?9kRgFG`%q4rG1Y%{5x9y8t>r$Uy~byk`U{u-zG zY;e_}?DU3l_-fGOY&mS$Y=(BGhIVFcXlKb;LkoO%B5{tKE$nQ1shqB@0sjqOEL<|? zP?-ZW`fp^z`SR?*Ph%WT9Q1?##sv*_A^lvWelDu@le{)yJ8NDW%;r+f#^2jkJUD1_ zS*^+C^59T!xN>;+IC5M`L07mc72uq4wGaLpxpv^RL27INsa4(_G~?TK4aFMk*DBu* zr!}_$hYrpA203!z?18dWMRp@2@{QFhrw*@+E62^$?UY-G7u?!lw^G2u-zF~)Tsr!2 znlS3$&Pv>&mAF%W9r$vTap~~m=&stt?v_J`=*>&??vZ=!#BXJ)OZ;3kxe-APb+&L(IBtF4d?NNDn_|c2whd0FS<8ey*a1rUNxdp(4PCIWIc>ae<@|v+M_+gYKMO$QH{HqO zO_uj94fAcee&F+gok?8YcQjD1>8>8(y~@IM;OSxSJ8`@{n0qU}9>&KHA^wrPJ*eAk z?=|4_!Js~_45~HY^WjVNX>|GM44=sf#6DvTpKAyZQStj2kKYHLAb5TB z$@wFT??*DlM>*hCt?C4_DNZ1aZa=wj-~>Y2w5)Hy{bfZD@lrT|0=z-u*LHb?WUC$_ zBu`Uo96%118weK6^8HwU!H9LW2loI;mK+_pf#3w9SM-SJ|3NT7d3QuZk5V|whlao| zXAnC&yKy*1#E+FL2<{&olydi|Sa_7=00K3_(YPbX30chYR3A4Fd_Yd3{>gDFC)38~ z(i+_5Bh1LA^+o$Bj}Ho(Z3foM5X9*tp@HqVfH2k5(LRC zugCbRuSYMw9$LgUxqI+$QO+JTch3*JK8i27dckYp_`$y&VQ$vu@?m_qA&cV&&LEtH zDzY0HLAsf70J(`egh-X=M^x7&e(RPjcj2v?622e!f$+b#Fo)YUhufh*JaAfehC8yv z1HV(HchbXMa`{Mj^Bvh?&0jQUW>tf<)puK{Ve5lYY5Y$-%AdA$v>h!)YuS~HsjHwUTXW0PtWAjMC2BA!B{3j~`? z8vUqLhI!(blwcVWi>y&MEY|egFUJm71hJH`62j z(T@B--VXHI7VkxY@&jx0Hsr4ARoqC6ZHCtkL!aV<^Mr3SC8oGH4HndN8M19G<4sMG zBuTMhOIN#Vx2z~E$MbV+djNe3*@1dPNB5B#@NA<0^(w;K${D^A;!OlQ(W-PN6ONMf zDBhb#3o1oK`!vN62h#2dKV^p#_s>=-3&^%rtGJTm*#l(MmAj~L!1L|fa#le~=w$tKBLZ`i;#2xB==Ahe-v7{)f+*f1_u^!RT5;Md;F0;nVm+kRCAz#Pi11Iqq&O$Ay~h7G-IzqQ}$ z4gMXo{he>r-?NHj*JzU!WW~d#6t<*ehquMEX=JUy+}Rj1s3-i1MeyL^WkZ2L_}$(#Y>-ogG{4mIKVWx%FQJ0| z8vYiSjQ~O6Z_W0%uyd^F0fPD?yj>!^8}Rn{FkrjbKwk>)wvFv?Ot6rVu@>khz~S)*@zRQQpdfEVK0`A49;xsi7eYhEn9svY{(>l9N=$#kG3-< z;o*~kdw5f)2yU8Efxb$D#eJ$%g@kL=`v|}S4c|u*gEj#VXR)RW6bJ4`A5U`#>{lbO zzYuYkP7gRe{Dso#mHC6J?MSP|xTRp@ZFQC>?c|2Q1WHD+Jp|f&(bP%PpE=K80w?{|R zR}PRZsX@oPExBneqH8()koG^U4ipu+p3{$@;VB}BFf>cn-1Pplo`SzEEnFmjL&ud5@u8qtzfmX&M}#CrW%4;cwF=p#u;SdQ6{(g>9f$!S$%bt>&cR%stfwuWf^T(s8a)Lgra zQgU@$r)NIVI(<~Xh?Lf&r}b^UnCBsDJ)*RpD2)*%Px4hp5BUol+e4(bq1g%jzUbie z-dL-)i3oOZdT*-5{w3)ie%VXNHgiJTMkCll zBlxXG;PE)6g52DG-xH5!>i+@l;~&Z#$>YPHc+`Kau1{huwx-TDwzX~38@8p_ZAEiy z(cDfn{ah}ie%#7-=m~#jTkJ@E&*o6(EZz}qW^a{ZUmRsMcw28p2U)UyQQS!scSifT za~UOMpOt&UE>PSRihd%O!)~@K6nCpq{ClMM4{B6$8ZpLyYK;F7#ea#Ss~*d!9{+9= zdcvMi+>81XNpCco+gS;cO zkaWbk$?+T09C1u@=HhmwWA#WiuN<|cht}y!M@QE>;^6g;hQwsre&6Da+Gqcp2mz&6e7fU zN3*=6GrS}8i)Sd=1CouRbE0_cAx0Y=ovr5Qc&dkU`1M@r8R_WU%8V*{##RMpo1@rl zW22%m{HfXggsPF|7b-9tT1N051z}5WIOKp%Yk@YAkC$*a5s8f#>oRESlfe~JeP1W_A|cq6;(=GH8h{OXMw&#mxFM0a z(POXOpiYvpZ3k*ayNOC$p-<#QMwfWAl!cpyTSXg9;;m99mQf}8g?@WwRXPGnMWuV# z3N0epeed!hYJo0Lw2OM5kls3^PgA(yx8pEgG7eB#r-0w=m zd5~}|BDzH9*QsznWe-Z9h#qo{I!>?Qbqjx2r3k4LI2&%^46Oq))nIh^% zuAApwrKo6YFKGTR#QEzXzR36Cb&H~9?4I<=)Jb(H8Bs9WOH_SDdPQAGuS&~^P7y`p zYncHl6=|hFYj0$_k8P4p@eQdJ6?hG$p`!D@Ev+KU?1>;Kea91-_>|twbWdMY>P2*o z74@RV`2jBl_{)bW2SiyR*Cy3hW3FvL5(pmOr;4~nm^E|6PpbFk=nN-Gb65@pTFX}ht?h=^P~$;m zi286JbVk#pA*@i}m&TbeJw;iA-BgG*s5cX`P4U$*z)11c2Ba^1A663*t})bl9bC`c z&;uS^P4vJ|ht?-)u0tW#4g=%o=^vg@|D+^Dq&w2{J{*bq;wVu$+7mk*&G^w2g6E)o zu(+9yRd6-EAIBvc$Jg8O6yOq6Z~Prs-zQZerBW5Tz}KO`YEl$#HD5j945+WX^`!&23YG2t|`=ZLo1lIGYJIdGJ6N1)?8!AOMuEy zxk01Ztf_*?INd7+|=j@cc?tv5u%j^!NNisS}+TibDQG z2Q?xp#)~5zDqKX_CG}_&Q9GuWbJ%zFh>QzGqBM$(3q>M-B85iqGU)|v6pH+E9WAb}m%u+aX%u_WD56_*soyn;-V<6wif^jz zmZVc;IOr7prE`s9M?JgcHV@o(8@uIpE#V!~ETTHZBwnk2C&Nv<#g&TM97JcESdGqx z`GqSRr9MnM1ZCpA{wVJg!TY64L}$pE>3YTosMzl;xuHztI(V>t{Rj_qC^nmq4z1$D zP#BL=kw^BZqOlQ&ZIenAHbSovgRMM7eHa@)sqkvz7@ta%&=V>i+j!{=DSL)tJX=pZ zHk5`@gnPaol_B4niO`l}vT+8+m~8!082W&cu5i4C6egR@b3!J8E@5)4S zfhA0S${=MTWqYGyK$$qT0S#h&0w@rt>02`j#elxh`=2f)qK*S}h+dFXhvTI>r0f7x z0tYs*y-*UO0HxW1QWy??0!fwFpW?iANRi0jA*c<~6G$3GQs+o}IQR)1q3CXU0!KzY zVi7eWPv9uDjl7p=6T!%#(-~n3bcvj+{#|#6ZqZ|7^f%tP`Dhru271L4=wduNMjk5a zMRbiP5l!r5%?gbo+Qm~)Sj?bbdY(~JSj=odv#33OYFZl9hqIg#Iz`G(V}(&Fp5A~$ zF|P1zDHQqEjA~Ia;Jp8{=BrNBfKU^nVmy}>o};0mK|H0<7@v9jEB80nNRD6w5l$Y#q9bR}fo60(x7q49*;}>$VC69#csZuwjXKJc3PxB2W(Hzb?hqfZ=ML#4{UkfYgUc&Z^MBc|HzvM3sDy&bm%$}|S0x6FEGnKa zq)>%yhfZ*N%qoOl)vbooq;X>V!eH#k1Bm@W^g7LURMA~_ECT&JMTm`W@mSHqEkmK zdO0q;0=OO zN${DB9OCW~CGcd;tQm+S2|iQZq*_?VJ_3=o`=?3p0YC=j*cZVEG?`Y@sR6oy-~+s| zpFrfHd7BT+XkZ5=47sY1!L}N?2Xq6d;}Du0O8*+!>WrZ%&la{S? zOKftv%%LU1T#;xbBtvN`1zcPK>H(HPscfZ_q6b4>hd|fy+MS@r7zT}5Rv;rs9L@I$5 z{Z*`j;L3t2hI7VZ)XWJ2R&jL2syPw?q~PyZrj#~ALMt{9TH)P*Rh-BGe=CfFvXkJE zPEJ1oN647DOUBGzcc$-Akc_2WV#GG>-NxR z*6%7H!ifPeoDH$fWw=b)IaC6Q@Sgx8_&ZmluEZBF$%^?rAC03C8U-K&pD&;q66>%GI4FBLxpQ71A^c$kr-Z=2Z@L?oLi4+vy%dJ&?iXU z=%M08>L!(eMfi}Ypjh!Y%fuPjVvRb0Qf)P%5+Zr4P!9kJ(23i4cmNUnayu;u84v0K zA^|*cC*SYVCr3T*_9*e{X`bT{^D3xENx;NCaX26n-VZ>8?3zJ6KqV-=AJpRkE#ZSQ zZw84dI|PADU%e|56fqzuVqz7F0JRlF0T5BWA08Jbp-1_I2tMf{;-6$#pbq@>6cr=t zfhUNB`KRlv+!)Y=kIsP!31H9ZC3?PIG2@>H^>{%9Uv!w^MMn4%%^~nojlj#%l9|N4 zi4thUP)lY!_Jv1;HxlXr67iwVU)+|$iAr=*1$-r5I#>Bb4YT`V$8hQR(&|Adl$x)1+ToI#T_aZJq?l^%GU=os* zfpcZo%(rGi6hITc5WoxkO+);wSZz#KkZy2@=|UrVh(6CF0+|4%IDp;`q&EPG>JtW} za5@Q+7!M@DGCCLmB(VvB=V=ZI0U&WW&1KmPfg@@J5)47$l0*pz;%Jxo!5%0(1{v5P z2jGS%^CPk!k3&E6IIe-1^Ra&*h7(<22X62I0Wv7){CEKll%0aiKSN^yV_?iQn<22F zCi9mBI>?f_KN&KYQtWw!qfbxRu?IcjGi1s<_z61>p^m{V-9?427w6Iq*m9;l3B}hT`IU< z7Rw?tR|d|QE%#x^%+PN1`1v%uL59qOR~Xymo16s3%s!`E+;aKm+6vzqjheCIlR@*~ z6~0||&066*VzBxm*3B%`om$~Kg{;SvFRidpmAh4Nw+dW}Y*Q3_Qxtn5I5S^NobPQ& zsLDK{DobSUuCEz?%pIKHZ@zi`I_f9jSf8~VanCfDE*bmj9~Zg0u>ByYLx1#0?*&b9 z+dhXAx+0jedsvXd1xG~;x(ieVgFZ}dPz2bpWChWM9Y|4RNcJb%9v`7IEGik>^Ro8g zpuVszHV#XVOtkbUE0Hhj;+dblk(=}NWA5SK+!ehOPjpE9(Aw;WeIO`H+R}Y^qyH#a zeEz{gux7Kc41-xldT?)x(ML!9=zzhVa`v{yLJx&764Sk`{Wvj%T>vY~YrGw?iu7 zs)^jSK5T$J6wc!x-p{Np!ko!6z(hEHuVyA69Hd zyJXO(pAk0wT(UEflyYr3o-0Ma7^!&W4dOynb=3S3n|MkWO&^I;4Kt6 z-ckl{!4-YX5WGcufk9!or@lI{2=PVRk}KT$wYLe47&2?3T>bjk@$=1JFrp~up*<|ei?n#k$jb3fK%*mWwNjK z*-m3{LeGGv>}=(-P?QR#Xa=&Y4fFz^WNkOC%C0iR_`4{0zP>WhiPOd;@88WocDD&* zF#pKJBz-jAUs~66L6Gd4dScz@5o6d zG2a|-hZP9z07x#Vnt=eVT*SyO*2pT52_Q;>OfK<}T~-?zIr#wMg`I$qa2x7*Ug;yd z+{tp_7}NX&?d_iPcF!j(4uX0K zZ^4X%0EZgcOKJ{S@}g`v%0f$C@{zq#8`-O>@>;UtKt9mOUiXo`>OEk}!J569OgYLj zw%P%Hye$Z%R}SJ?;1j(8Z+pAQLh^gBn1Z^r2ll!oS9mJobd51syd#cs^BTe090Kd z`g-8t=#@vxz=I(c1*P!uJRTS>;h8FqG9VmY+Ku|58LjoZTpRf_}tiFe;cRbJblvC_C-=K_SRR$!d+v! zRrnim)OIp7qZ)w~U zItmFTxOyJUes0#iA9pQQyOA(#y_{)w$IzQG9q26jff(%`Bx(mI<8E>=X8Z^{q;mV0 zqy{~dhFgiP_aVZ^%b#X<7<*|%k3h|Kq=>-S!{r|Z1HdI+weBv#+GC|HJiys|oqWe7 zMW{@?QF&Lmdg7qa1(w|@5TJ*alJCs!;_&%90WRVcRXGLg*@VKw*Uxb3GvkNtP>gZ` z%yNtES*W$pi}E*ZGV}0c96?9_~36 zQh7vxNa_;lOr6xF@e`yj%NTzm1>;WzS%5PtDqKbx@&JDqM^Y2vO9qGqRSi300UGw9a)E{@aR5GGusk4*_B`kA=Vdk+syr>DJoQa_ zU)-dkaDSxmfZKyVz!pRVc#sK1%VOjLSm%c&4pan#M=~f+U9wj5$6|A&fybmf#gZ|D zhW*JT1?+|tpz*-_!_&)#`x)s@E7YHL>d$462kbf8J}><#)SD49kONphxc(Q!`wt)o zAP2$wlWRwkfY$33?X*`@geZdhx^?$!wM9b^c%3c4gGYzz`xO~LA)?Tlz{peh7QFlr zDS)uPdeo8vT4ED;|MzIJJF%kZ?E?=7^#NxKT)&h2NNm4e&5tDpAPkU@%yVfg9#m4e ze<}$;G(OXuK38-o#DG4jPxN!Ed8nfKV`yqydgV< zOPbSuWC2Ew7=TQWth=dl5DYFtz`@Q7BLlEiTmV1}0LyTL@x#z9!t^__q$=IKswxH2 zNI${&JMUlBh@vz-hLNl%8NeGKC!MLLF(d%gfEa$NoXAMv?@w~(7+&9-oDwyqqvxk7 zjWyuxXF+tNxO}+&(-`*YT1^;yxcxI&8901oh1rmYq37>pDdqf~gU6?%vuFa358Mws zn$+X4`sYBkf2ihElYzzek)a?x-zRf{dV{~eK>YoHLOxMNmf0vj`8!v=rE3UY{}S5l zE=}pgDu3^qQht)Aba(!@svn2ruPIAM)$bTPCXu#ycj-j0ro~pV^qLs>sUPN_;lSsk zHH{Y9Qlnl^#eP*J-9tTlYi@0C!S?%nkN_0=X*>b|y~5%n2;7XUb&Kf1^dkV=%0k^n za|qm4BY*^OI}N)K03sz6ql)}AKI%o`_mx5$ULO`eV%7IZ70S0}IDTc&_WtjS+R%O} zL%raE802ZZ)S;9;i1_x9hW4pD zWp}(<+<9bJYSEt zRIBnr{Ln9*DSt1p8ZYVTzwEZ#FZ1;knQ-g6c~!leQ)Ov%mx3x;|)Z5!K++L&3VdPT9dYgOxy{Jfq*!!+D6`c=MhWga$ zP~m;bKJ>)fiNx?a5$>O=a>m8_pdQdCf~ZdanBc&(1+3rLA1 zxw`8W8488!SG+u5dyJ^BX+gs7BQpvO^^KxKkqJV{x?RUUSuvozCzPfXPid%Lv93Jz z+XAC*-vO>b_1gmNDTUKekM7&R5>9s|>U6Yk=uL@tg4)S%ix#w}Joo);x;PZ6P70H5 zW$woRS{gHyr|2XPMqP^blrvMN+-OfZGieTi!)gTFo?BZ1J8q|x^rz#cKc(y_lv}Pr zB^*?IL89{X7?gR(NNXBfxeirF(s%Ty<7KW**-0q#FxSQtP-I*U}T5p35%XB*`^U~p!G^zN+Xu@bu(WuU5=x55h8x3mJ>L%H84-guP zeU9Q3UFtbhL|@8J=Tb4EuiS;|9K9))-52p& zIuqTXTNArPKchXxp!-s~L{-X9m(|9W^r!>qQ5hR5RP?D=QW4v2e!5Cy8yq3QwW=NU zJEBo#VAs^1Y0|8ANwXSNtgc!`soINf71AhD=SrRG;h}D9(CdvVHH$KJjk@$2p;1+M zDBehPs`|uhbgRaXA{C|TZM41J^MT*au;6j2bt`3riK?rHiK@O(XjAWs#89K^6U62z z?YGlGiAsfgA{{EsgO2M{QN}un;dS+j9Oawh{+Jk?aXk<}LFz$;h;mX7sf<8TJ|rqA za@4~fL+ZXrO3d{mkP=C9hLc*y(}X|PFpzSFKTeA$8uWTUsQ^;MjlwQPpZxWHx zHTh>0Pm0Xo)z|yk2BJp!%$`d_eLlvGf*E|lgG#-?>;0mZ@Fk@SCu$T?Nww-PGu*@s zzM|!ORVl*>9mNJpyZg16HN2k)QVjVG#gHO9_}K8KsJ*4^-~^5;6F+?kC3x$u;QS_xI^OZ7(6E+He7&ZS!k)sF_MPR)+*l%kDCMjx^j-ts(fqGC= zvV?~crMT?hn$8FOVN${VS=-;q9Kcbk z%;5OLWEsmrr0nIOO06bW6raQYA%_ zI)NJa!zeycC6E;UFq##yqfS=FaQtCt4uKgp0yDEVlZN=iqh+X{<02 zqfSQvPb)lI@uT>LKTK9pq^Mj{XsEOJKzO}Wkm5(-52J`u#ErrqMnfZ36l10tA*IgC z4qjmbNhx(W)_jQs0i*c4ptiynDRh)pnCMX#56bpjQh2FL{1>82UCIaiVYE<}X@%=N zg*dUH;tIPz3_TEFiUNO|+6Xh%ZHh64#LaxK&f3-4cH9Lf)!CJVY9WFv$cdkEH%iLpA$q2TN8*@*VSaHGMDBWdq?mG=rAz zd%G~;Xt4!*!a`6Y9Fq+zhoVy|Y6o~*G7A)Mch?3?H^QP-ngr}9-tXm$*PNW6i!Yoo-?W+dEs$Lo^< zU}j-d{YJ558A_J5Wt2yx)2%?LHzMGVq?>#>e*CdSWltkg4juZug8kT5C@buhtvDw9 zgh{!@Oj)t61b8}um24#uSh>3t?PUf?-|$l#v0GRL2eMUhI9hd+nhR2y;pli7rOoNh zSF_dByo=_m<3F_efGlKe_1(gn-K*n;w5F}K5s^^_1x8t?+H|yyR?}{pdT6VGfK808 zyIWX~o;@&1A2u<*8u%S4KFS8#``#^PF`cv>+r0&LFk@}Q-Y~9vUR`i2m~l&LjNkYF zHg2I!8d|>h{}veZOH)hppl>bp*_M{Zd`qEPR;N#y9B-Qsa$~*Do8bDi3D32qQo3pP zg&$_Hz1h@$sbcV7ue=#+;zl?sTp$(V{#3j|Ta%}`IlFCh?Y0G*TM9bTwxD1Oc2!GW z-+s-vU+cWfrM6WEDK-qz-(oMnQ=rvGg$g?MRHh?fx_!pqyZ?^H2t&o0?MZjw&Se0HeL>(31Q&x7A0 zccvSvpfIcC;r)^RwOv<29 z;5U>BCn!z~A!L@4ozM*)g6kw{5_XXq!TX(&arHql%*^e zFo-kUOy~>{-r25FI9)n{rKB@}*qP8gOL_qYgNd)}4w&276r($6#4<=`1avtPy#a^s z99JI9$!v&o6|`MZfL|3U|01@1fn(cVABDk%2z-?}c1bzF4!Ipf2X3z5F|Faw%(|G)3WL5o84zIvRQy)Vfp0&81IK51PckIp#7i&dy)kl3 z5e9bNL*t2x{oH~83*6H)=>jfzj&>ldna+1F& zRYLJn%{S72No)L)*4U@H7P^J*xl$}p{0gZ1t1>ETr#=l{CT83*^$jH$qpFR;_cNd^ zVhCG8l>yZz^AfVHiJ{DE6$>zDWVuuhxCN}q7AS{izq6b5=)Crzc%Y+W$wIuJ&V7!m zUoVzaxgj0y>{)NP2-Tb~8dd+xRMbk*VhR8%+}A5rxguMlc)3r~i%YDYGe)a5I3G=h zHJT>IXlD+xHdsNjso{|w*JfDr=k<+k&OO%eRpnQ|e{ud(?tJ3^HFrK{KHPa+%Pbrt zX}`9UQMEWKW}0P%2$i~BXzku3uFRMrhSf5vh7p~}Vl;TVue7>ZjH{Q_`?OS~(q?Vi zqd#PkmbRscle%=;*FR#@dMv%oLf{!MW5HwTv00bp2}8IY!tFKTBO9=;j{6f@KjueF ztSb`2@+>^L=B%R^ZgGXQDVHDCJiRfqL5)$j@8Q$odc~)g_y<1SPp~#vb@t+p?8Umc z6~}yME1GXaUd^^>!@gZuuzNy`2QVfKV@BT%Tj*8YYJEqoZ9L2T)oNprtJ@FUgqo$W zI4iMuI;MyPz*8vM5>^^Ryuu7?OuWJ}YrIsd(S{X!l^aJZ;v|;VKW#E`v882U!MD~> z<;Z)&GEj0>yd2v7-D-zgy7Nl#;uBcr8PmV9Qt3aEW1< zxDl5_JfUAI@K6E0u;vYsHSZN`p7@eg;t*FgSabvn<}eaoePj=jXfrVqZ8@w)m#bCh z*~PG&MQ29U``OLecMNMrYMx-tqXwiAtR1Jmj;)glFmbohz3}V}k!SCPXZN-8D6}Qm zc3&&lcJb?l?h~eqQ5nP6F_L~8m2|DHd)8EyZh&;~3jzi-CSIkv+pu$Qw6VRiZEyDj za#-_)3$0q<5Ll4^^ly&;>L)hr)xdwlCT0;QGkmT`#8g>kuNMBxr0-4sxzWqju8DHh z8J6nQPi*w|_0XyMZ76QW{H0R(1>@i!yxZFmi0dK((1R#CI9exbzW{5`%gUy*=G7WH z(xSJs?HjGdmqW+Jg0`T}?uB%A`x!h2Q8W`p(Q;S>Ivg#2wWOn^$gY=6;m7X3A1>p!y-N$kIAs#t^476Z~u`hhQNNe;H^kQ=`=ymW7Cp zn)s;OX|kNP+j3(NKqY_v*p^5Bw2s(%1zN8#xb=$u!mL=C5!-)-h5~|V;|dKPgxNax z#D}BNR$`^oie+Oo=B>gAdLB_-3|@v68h%T(3~%ah!UW!eMjJ`fcspl#9qQuip!(fHLZ7-*4y8Qo=}bHS+2!n_PQQFV?gcM3173{I1bQF!0HsuQ!X2G2$8X|ZMJ9lF9z`|+lX)&ze+cO zi-@{TXoH1kU*5C|24h_9xcQ zEx*JWc*)k3xb#hf% zkIS#6tVBK8j1^@w#uN`sMq@n^?7nL>hVw^tT@deNGDc2#S%~2Ug2C7vnTz>DsmOL) z{CBcltm@+3Y}tz;Q5|2AfXMVN(M}y8-JPgkni2Al@tDF%@COcZ6=gK$k00^u6t6ua zgRqDA*N3zxp=~C0eIphz8jE#jNyyW_IL&3eQ(>Qx^C(q#Q0^1027=%j9#UgAvqJpy zPR^3>r)PS$q(0=q2@?D$J%=^rjZwpMCG<)3n?pm4z&soe3#Z%{WATGoQK>OgMvDF1U?_1%XyfFt=90{^mMP1 ztfvtp^m$c8Jw9H;$dUUR5&PH-K9UZ^KW-^xzDA@z)O(Wo+Wo#nCLGp$b0#mOHC~BB zuD1V{kz1{S2PH<1`$_B%nCl7+2o?IKl)vQ4wLr?o;u9dd^Mv%c}z89JAvt!nMCBbj zobKf^SiHDUx?BSOdWl+>p6^%B8391=jI;e)>1t-F{BrhU=l_2zaVRX!VA**;!nbni zW?MQKOsq`^0lERYOhn|Cv1Nue&&V`pof8`L*uP(7s>qX;Enel1wGonydaO_s=j@E6er3`eZfj8T{=JGq$$OUYg$}Gfxbr>FkE|97bT1$5(ej`ha8)~ zh~b(g7cq)qQGcH989Szy?xL)yVzEmcS*=v-lElr7!v%{mVJU{$hPc)?G!VLEI0B(> z$1|j>EKd+Fi$S__s*Wca^y4z!6M~BsJ)z1~mBWvHx<6LmCrp~kErMTcaAwj+?S8R4 zh7}ouCu;5?9C|Gpy0=|PZLd5?ZCAFHgUj>Y77j|H8fn49h-MSqziQx!>5yBjjdUrI zdM&ue{%lzDTZ0~41MlqonPhRtJV0bYog{wpm;Og4nOl*AEhaAEz2v-6usCOu{VZzv zpP6KK1aa--QB@JZrMU6qwgp~!F|F|8u)0gw;-_EOpmIm`x?F)yR;cvh!s2!k7OUNQ{`c*|aHh194Y!rX)O?=H5)}2& zCyG0kfLIwok!Ref^d;y;89^JW9eF=D+RxnkxjkMYBZoDg(3F?vZpS1l4bs~EUp)Du zGTAT8Nz*E!#nUN_7B8`vz7w<|I9bH*FND5yq2l$vV8fW8 zqXj)-VV=$+xUnx%4vW&`qMCgj7fPeGs!Jtv5K`b8yq1R1G+dl7=t`XzD6lL1fjCq! zZU|HWwTj3jkg8GnYdCYMp27$6a%+}8)1|BP;I!81ZmL)a{EKk=9pJzO8$?3x055c= zQRqx0-^%vzUOX#%7J$Y{u@%-2KVeiqq4DxYq`|KisN*E@A3I|Uk2RQOUjQKhAh11F zPV7Mle*Trb+UEs(A@lk`P`n;U#MzhO8YldvcJ4w9~DD~Bx^&X#dF;~5Sy z2-{HEr4yxqgN={skM>9V!>D>>4E6V?Sh$rTYRTl*t88ss7jN{AwxJ_;p6?-xLM@2` z9qkZ1La>rjt)dM~5ejjmr~EHzkC$R*cO#vq=4+*O==6Lr}?WErd zQPxttLRYQvN~v%c{nLVK4dq%d(pIAlB*w9TFV1d?R5%AGdn%Q1vfo_{it^t4V**0f z?)EQdTllevJI)?FX&+5X6uFp(e{BnUayab;>Aia8eBaJmOscazhc%y=T~L@$;otBa zVM2*Xtf%dNlXweeSC777v}MKQHo{-Q?^^D^hHx6Q))8X;3S1s5 zdF+ik4x%<&vX8q7XgF~@Eif5Q$B&-KWGvmw(eoo&5jacLA}*0jYS}s5OkS6RN6&_Y zE7m^2@1x~;HnB&}9ihT=fGT}b+&;GAo?tau>ty|^?^{(Dyp^nZdd2T56ie2(1x$E>D~oU}BVc{&qmfC?w7?1rHPmJ5QJ;H7 zc1Q6Re^&+Vw-_974_v3LO%}9;%3&C5GfeNQF02MCihV>$?`>U<7!i>^KgAZM#-g!? zuo|z_8vk)VhMYX{n{Sx58Y?rvCh^)!p^;hKhptK}Hna;jOGy65U?t3llZ>={U81#sI6VrQHnn@0pY<8N#k>x4@D zje9DcbSpC!58E;{%U^~zzCWvjZ$SRb1#m+Iss@RSg%onOvHewjT8X|(c_(004z zrMDZ63KBSdyQvc;oLjE(TOj`AVymQ`1+1ly!zd?%C*lg}F)XBil6r64e4%CkeNh^* z>3IHpO<|T>IiUE~%6{V??8y{ZSqIeO(WHz*LCcFFk1ko<+qK+FK?V*Qv_S7qm3`jm zJNu3YDh66dh*u1;1K)MxqL;PM%MrDVnCCS8DvLw|anA6~W3h8e+5KeZw4z@mPVXnI zRVT+)=LRsynaCg$blGqFm9+z?g~3ztOMho;yioCApT(+d!;v<^NDWnG<$uP^ex?Jd zGG<|<+G$Q|HG1i?)pS0M)+Sk<+N=9n#m{XZ%*GDP*_z54wN}~yYoOxHWp=1+k_>g~ zEo1e4TwD#QPJ?d}2)ei>!HT_0qR4KJEx)jO*(D9)tCKMA`5|SJ=N5=ua%>fvv>+*S zfnj^dsGH*};I~)tR$qbznX#W$JwtSGo;Zx37J=L%ntVKuTBL{*wN_uz)(XAF5Jnd7 zesm1B4fEOnyI+DQ&WitSZi1TvD+hd_YAR-W1X;) z^RuE9R-(?zN&Z$!NCHb$H^xty!cPYiTm>iE@4wsP16(aGhXL|*w(9!t%bvD zeZ4+Cbcj)1*nnB~q*=CNPM3-1bYlWsbJ(ESHmLEzDXLr?f4AO8f`{HJo*icxP>eKuP|Dk&sJ=+)bnIb)Ls6A6hnIA+5&y}`Ec zl^t4ot+pH1ykEA#fXbGvy?({-dHt%aLgEy@2VG=ueV^U0uf%_VE;6rT+;RzC9Bf%2 z+l&8=WkG@%F}8sG5P(q+;)e{|wST>!8*PqCY275bnmEI-ZYJ6o2%9onR@|Zg4o{#H zU^yO(Yr7Q*pOmY5bjuB|tE-rxl6h5UbA!_MIZEe^e}X?RtUwIkHk{WhgOvIcy;ung zsiy23iyg80Bw+yrx%^#jBsdWe(rf!>DE(#XHqtYt*jl zHMy$SqG+vNMaEBCVa;L9S1gcU5ujsfw!_-|m#b`vdbZAgBSYxef)j21pK;2G6`ay< z4{wujO84%>6kKA&V4QO3G0cOjWN-v}rw!m5z>q>dZR&l&=H6+uFq$NP0Yks}zYYg7hVJ&1LXc`aucJ2-{?8%7a2 zUPiM!yKS^}4**`QZR=tYK@aP33a{78Y3o%<$}5i1MKC2%@IsI5m&M{?tc_WtE_H$7 zgI>CEAn9()JORvNL)$osWTaAHY7SjU9SfNfD&njxi)$3>$jziuU;pApfga5T4%r*Is~dALbei*zqS3z zw(cS3UoGSx3%gzQ@o#V2tJ)5+KZ5^h^X_On*p9s*7Fi({?iy7@H{7e5eX%BiLNu4Z zLf2Kn12F(#F9=1}c82MU^1Lpaa%|xm;SNxWvh6yq7AK@Ecp`1>mhcar*U)T`EeZ!% z2U5Wb7s4L=J^__5=@Ry&BeEwH&;$RAXI4pETmYr;X9`MTdpQ&BUngZS1lHsxXBhJo z83JSb+bf+gKkW_QpC0>E>4deA`$$7PZLsMtKkZA!w0EXE8d1db7v-=TxK0?YadihB zAg!?W(1EgUJSc?;oFKbjemWQ>qD%Kh+5Qq^H(CBxw-YL2f^5+t*C%smQ_MhzY?}}nIu8Gt>Q$(E9j*j|J1~}Cab3;@^M-UA8wDe z+HgC!peq>YU{eb}*l*zGD>&y{hQ%aZn)>2M-`4 zB>~owTDPj&XH-4r0AAF|WA$XXqlg3>i&mm&WnHeL>Un@(OHMVod5Ce{IhL$KiC?pF zoAo*)C1iN&8I%LvKjMm==H^^o-Ljk^MXnq^ijO!S??-21$qEv-_1+@t44$>0pY7se z2bWf}oL48+&FZY1R_7PiE%Cd$I*Fle5u&eAW+O+Ng`=&H#x`Sz7~630xVeo_2&OiP zI~(zu%@++eVZr>k8EnF4;#i`!}Zn$4-Pd90B};u+Ah;n!@C-`KD1 zH{-~oTT7!$!{4U`!t}mC+$ z@U+`2qUH{2Tgh?WeL#j2bVvJ34`6SGa}%()95^?tjRAU#59x^|r08!fo5xwg&Nn{w zo!JK-O%;y`KJLOachNMXY*i5CD<6yj<}(oAk}PI6bsVXf+32A1rLLyfm6Yry|D+C1 z6!tGpJwEOM-8}}=^_1rw9I;+oiD@`#6E%;@l$Fs9KV~^jIZ3sC9I0Nwfhre@tXwFj zX4dBzrPqBj438#Mnwt5_btGPy<8_)>-Z#Aq9IE{3l=X9mz~wp`IaxVn_xH2chlJHl zrfPIkU9KUvH*v`hfiCtpOwKn(3#TlMCnqZr%sE5d{wAHFhjNBKn&qUfnl^kd2B4Xi zFmd=dywU--Qp75^s~n-}ftL_Th#|clYPCIrtJTH~vCnYZ47R&#>eI#U{dmmi(J^;; ze9DRO#0ZhKbsXC(I`7#I@7W+5a0elZ;6;n;@wnxKu1jjl6S1U6ldln<;iBUl54WN|{Q`)j1b-wnc;Fko5 zfGwwUn8Q^=@gp_Mk^19k`AlI+0Fo}epTsJzUd?in{=|m&A)vH!f;QO7y+X7(Iommg z2`ioO)&Bs^Zm`v~zVSF|g$4D2IOCZ`PFcgcdO0=;DxEfcNvEfV{PS3oQ`3IV4wZzv z4kK9yYCc7=pau)tkP>>Ooi%z`^E*xX6%cFI+oN-*4h74K({!T5GiTuDk5` z@3i;qgaz0gD013^1~wny+lIvoR)Zcl7~){*T6#53+SyK>G*A@E?Hbx-0^s1|e;~oo zw1vGxUbm_Q<3<0G1S5RAQ4&mL6fOTI!8oxY5{#Fus4=(vFC-Z0U|mPAY>7VecJ5(U z(z~wBY6_CRFp3{W>7t~wwyJ?QuabA}XcE{Xk7f0^>Mhz@N#(L8FN%9)_WZj?Cd&^E z8?A|hi#aubCB4M!IzzN>h2AfC9bLMCWlT>hp-OepTeB@*!@x(>9BUic*mBs=X;kc9 z+Z_;9hBCrG}N+pEmYZu{!El9XH#= zap*!0+p*Bwu`pZNHnwfNVSJF=#}>d%T0jIG+rBTjfTJtMtDu?H7+k<{t5^F=FBf&M z_3QojDqPiac$~xi>~-;T6klIPnAvFp_wvrRiL)OZi`64`%XD-5FFZhQW@Fq`Tjv+4czEF?!_!78aP6h%1(c ztrBebxHq<~n7S(EJvT4+Fwuf_Ay1QWB+rL?x6!ZL%1hRc?JMP6x7@?~xh&)4xPs-| z$fopuI%W7eLRWC39mqwBaC1;a7&(B8^woyUs+BWNQp@*%={iq!k^T>8Ue$}=rCo26 zYy}h2{-4nGm=F9&^l!29@Ed3c=Qy9p z0-Pz|HBZAxi9+f_A&PUY>gLV9xS$iz*xg$3Bn>Eer7PVe;jw=lE$#B*?) zQ5JS#s8#lXQ*$J5tJ*&B!d7ZlJ?gxKdr*CI0m=Z%wQt3{yu%;Rp<5pIpgQ?C%R>m^ z$s`x12#!HTK%Nuh;p@O~IKU4LbncR=XtLbGjudc5KU(pCP^9^cc3I(2lDz5L$OgyM`Kpk zpyslggwS!gawH?9azyZ|=NN8H&QGOrRT(NL3_E3O_rgo@tyQ<5PIvCS^>yQ!?z?pi zSg(4lXHl+Dr^M~Io-7;Cq}VTdx%1YOtJBW0z3WtLgE?|!Qr!xkXX9+_1R%W)ZKHH% zw<3RfmmV>ow{q$Em7nF(<2R{Q$d9V*sEyL6q$|!v&@{&q$X;DU_KJ7=miRSW!lloi zA=0PIo>biuQd??6#ApCTiJ%MCRm_u0C|mxZ$^DTf_+zz?suM`+V{7_wjZ071mbG`^ zkFo?(TF}Q1^sz(SbecvhH=r-Zj!33hDfPSgT{2Db8>fzY(C6y{>$uPlQS6cIujTMJ z2J*M+1LY>Pox}vIdL6i*)76a#{O8{!uR0!Mm%f)GTpucpL}3KH}P&PItVC(;-Nvw8mri3%%mjU0V-a_+R*A&_nGJ@N^~=T4P(-HF!V5t#0&^Tj|~_~QYq)0bIv*EoO8}O=bWYa*E;*$D?!8f zz31%Tq<#nbOm4Zf9SmYQ4wQ%dqh8XbDz+-dxJx7t&l&=G2?+ z$*f0X)zrb?r{bN0i3|t1A^tCCJae{B5aW7Y@npS^CGF3w=g9#W&Uydg?uvlyuF(1S z0FNL{K_(czC2r8-DsElqHJAeIr_Ul zI)GqzBkEjAh4cWW&`jllW+l|U6W@A|y%VabY;63fY!8+)N>j|5PsGsU`I)qJL#uA3$T->&W_>GPs^6 z3wf-%NmRi(XD);?s!21$)jaEq-1@cHDH~f{74dP%^4?BIE9z{E-R%|RXHW_YdCRN| zhXc9+tQoy7Al*=16svS+^t2D^b9&OegjNtiwquGkQE&|A)Kf$woIBCDUcY5hoRjIQ-X?J?L8xE_u67s2Hz4$j|&+cfI^pRA;>#j=lMp2(z z?muEs;oT@Jip;OJ|N5>B!Cm zk@6pD$N#8(4(qEjJ>&|Zuck*xy{B7(E4gu=RX4a!BG+>8_m`;um)L4abs`+K4o{me zYo+yNYm<8HxpL=^)+hB$lR|(l+yvE4N}GUM$TW>x!=bbd=;iJ6vRqQeEoGi4U3_-j z#pgR~RD5qt(ZsI!M|03Q0DmvfKXm34?Ty0t~eZOE=^cOA6FR9!w zi_X{5Iv;zY(v4tG)H6x& z32^F0I#vXOYtx)1;i?JOsJnCSh|48qvRuOD%buJ&>Q%-x_0og2ssOK~`W+Xd3lmz^ zl2>1QH5FgFDB7@}@b5?dr83jsef1(OS5%S9EAAm?-d5F|$CZga$Wxj(ZOUn8cGz9j zhm^5s@F+8nHV>t4!$h~?`uxRk>NY}j8&T42q<}}sQD%%HM=g${h5u;LMp;&wF*1ua zR$|Ap$3ISvFWa_b414?&Lwf7YU$Wy;*X#NF*wDOp8$v_76B?SR|LcLtKiY^S(-(SR zl5LDM>5eozI)~BBBne5{wmQNkqLgHDT8~HSMTt#bn#b4LMRtNJAKj?V19x%=woLZK zv&q0;NQ>)sJ0fg6xE%BY^C}Jasx2y!(mK1{86-mh<;T9iOn!Wb1A-6P$&U|{t6o;| zCf9(<+%=#U#oH+eWZU5$zLR-%<)W)V74B4ql^G~522qhpPkqj4h~MhAq<~E7%l0+b zB?24+R7p85^=PDE>LDvx9a2HMqqrVB{`IA)&^JeI%bs@oGZE>}NYP|(2A^%pwe`~O zH7fGAR=aY}-z!61QLo4Odw!+aM)1keX0now&)JB`xo58x}GtHbjx;wEnuQtZwL+$TrB zYEM+X#UB0F(i^pif1T;!+y%bT#9my%gHtWcH<`3=GHJ}5Z;|?2C4VUAvN^@;%tZ_C z3=QDh1ZuWb@N^Z}Fa+@3W-@7S%gT57G}j9gzW+ZK5pS=aocn&yL&Z#G#`7fYUA-f_ z^=v_4Z^u28=oSRoV_(JWOkqe*G4 zw1r_uUj(|@+B=2LM__}X5Um&dO&kF}gMlMa^6tC@NP*-pD9q-NCYZpOM$Z;rJy#=2IX z=3y^!2t9<_gi|7A?hvkpsjJ42t(iJgq+RHDWEw;r;&;sBpqwZ7WMxD(z9% zV}_GdkD1Ha9#*r;Nl%;B<48||-rA-M(%dJ ziCeS#s(1Bh1UtjB9kZS+U}}Wz1XoBWm~rjdZDTi>pjX_Tm|x~@A&Tq7ZX^5C?keV! zm_3y(_w{h^rSOxbOYwAFx#SwAOm-+2_IwqVg^d)>=+ zZOx;^j9O)R=LVKrQsi`uyxA!g{waPWV7rZX8IkgXg$p2F|y|>eo(yY+nt}ROC8?_o?()T zk@9pqll)=FRVv0;Ir;Ibtr*|Wiczn!e0h5)U4lF4t$yDA6AI^?hm4(+sp0VAHEEKq zGk=7vc-Rv4-YgxhXi?ffuQa;w`VOmRzigqWr)aFVe~D7{mI#g1zG{{E1S3D;Y4S;F z$#g%c?q*64mkiYXfU+l)wREM-Si7^xmUpqDZtzlc@pd(Q)*XDgn&>PDXXVhaG!-oq zbbl)qs%%Jcmy7?zh7_tQmxR*}c_xr`x0gW9&z1NE*t_*h@79|b{t~^iF{5!2etMNiXy*b+0c{0p2w8-D>I%Gb9RH zq_ihW8Xy&rAdYq-?6x?Ls~Drl#bwk?9DAoIcL~rC-WrR&`cHNVyl}yga%4wBe3Tcs zDDf+WInV47yP{$*+_b8D@p$zgg%+=%SGpIjpjTA`TwJNC@fpL8q$#TQ8tLpM^z~eM z#T^5@@79g^C~@?7rrr9bO2yeB)z958dZ`SsIIl11m&3vQ`nvn| zNv7CtUS6Z8<^rZZeZy{E-tY#c=^lZSCw!Wo(11D9pqUJ^tS5Xr6|eP|{mpxOf_wE4 zh0_DbPiJEP_>>p(BjT2!h&u_(t?9(pZIy3w zcRh6(-S*Mce3Z#3UE=6r>Ufw(x(mDMT-pVE>!o{!qyxxdzT^})Nir*#5GL8~=kSUs zE0r3ll>f!t_;)IgRjx0IP7ZiD-)`UK?VF6T<&iEU4!|5s@6sxO%T{_) zUrUz5{=IC0Wz*42Msrr#3@<7RmVMPr(7$;U%3Dv}dM2dxOvtTg_=sxpiX0BD>=ii` z^fo@QVTWDiC8w)?$?23)Qra6GzoiN-+i) z7_C^Ev$@mjuFCBQuAGBWIrPmV-@h^+C z7|R=M+C(_+l59g$JSx`Yy^e~BAsuPPq)Gf+*Q|O>x5-P#bRkD{1^SB2$VfkrQ}*)3 ziF%#>lZrcmH~-s zCFjPfW!YIJai591t)D}a0NyH1oxIIq^;a47)n>B4(mL(iGRs)@9nWb4#L+76-*`KL zoOqYZ#_a{qe|*8hep{C<_r7uM{5|em!v{6Pf6eMIhDiXJ!k3M^_9Luj*2Y z7e>asr9pUjCvnJ1TeCM=A(pw-VGG&c2HD-_qJE;F`RnZtfE)WMQtI^<%s8u;H&aN+ zpE)zG;@>E=7I&dT>OBMXEC=mZ$yF$d=m8Z$kG-_k8Zy6h>XheCMR#+79qv%>wVc45{r)eZsk74qgD z0CCBNF8pn6ZS?Ss)j(c7C);xOWMg`-Ci3f)`E}_e5fU-qpfcYm8duNa)Z_A!rdZFH zS8~j(s_6<7{{F?{rC9EP^MA0@ipumm6!9G`D*UW4-(@lQ9;3e3jDza$+oJN_RQ#9! zUPCI@QBm@bLhjLYk4^olq12JhWo7G%&7`leqt2h0|7UF=L%GIM4OFufztpVIXuNvO z1?g2bFI*z>@_R{eJUl&3$2O7qrngbQyz$4q=3Zs#DLUQ&Vf!$@^IDL%Z5>-JlmB8@ zJM*6xJ@PVo5)XQ{u$(=KKfQO+MgCA>1+latp|5DI$Oc8WE;{U(2Bc%!&`qA+9FjI4 zVdO`oaaR?&r9lR4wsq0D^J=3fl4aIEAcxg;b3tAvyDEK+SgHduqN;MG>wqfH@*Tj( zZB5&NlmEQ^NHzdbLVZ~SknIehwLZz8pQOWji=lb;g}A#xdaGMn+5T!X9%lcrTh2>Y z2}!&C|Mow;o`hUO6bOdGk!URLB$BCgCYvj-`@X+;<<<9ppyGoc`Y`)DYI(iVjk9d@ ziqE*Yo#(MWF|h8Vq=6l|9mKC0RmnXSX|{RXQ_=LL`?1l8HLNgfAoo+?KP2inf2jf* z@FpGESiwC;GV2zQk(*kV*XgiU(FJO`E?(EB8=)YrLSvcp*G8{}+t^jQvu`ckR<24< zM_0>z@LYVb`BG`#Vt+tSM>lhuHs+1D4w{!%PQ2r51s`YH_~=rLQr$tNt2p5{yq}L% z2iGIsEFFt(!IkO%Y+LcXEKf_j{cWc2+n%Mq!_sS?QmT~xlH60l|I$OWw)(znVx5JP z2|yL~kJS1fKUariN)h~DskI*LdzW)?0sPbF>afj~67fU)P>RWq*sXepfOne7930Q} z`8fafBm5Zu-OBihi!Rq@bKP1-a9piMGn$1zoAYOL>!f*Zpq$HW)h(26wz{PHd{RC0 zGve!-b(24}W}WAxTubT5{EAs>5B70@sp|3^ff)FonWwsSvW5Az_B?-W%~xf9Be|+4 zrdx1AP7X)&+U%CxJE?Z4DPt68;c8?d`dwL){ynGP#A&V zNL9@Zl7)$FYisoIKs)!a9y_LDJ{}#|$;5IEx`Ql3m(p9sNjYX3C*OFEpfeY1`3zFT zbhRg$ABCJ@CbqXYIvR$va7@;yXz#xav%OhsnA#FUf8u ztImAmk<7FsnCIFvSDwXBM~dbnW$uv%ab)>f4KrFV%9dql_B9m3h3AwkJdct4v)|&% zGYv3amY*@6=9xe?WHh13Xrg5_Nv_ZqL6ghCxXC2tqe*&m_7u51yM$K;{joK~c9VJc0JiS3%9#pa{=9kfZ7s#dB zygr*_27bAhY3sk~{#qUvS?a}lhxQ`kX_>6%J4*6|l0;}5QN_Ep3%qG-nLMk+%d=bX zR_(%4X6}kIZJ<_`@oH^8pu~H&KVVi_rmN+}Bz;9mCJWXu7Hh~*is4%MSj&$}4l_%2 z={lJTU2oq~YHBu!^){CAIVHZK)PgT4VUt)-65N1KDKQf^GZP$k@HA$NTnezYjL#}z zEB#=b$k;|1wszev+;+%QO4vd0P66*ExDjKdlI3GcERVZicuh&zR+_zKd{c=JDYZ2F zRCE8UdJMWrU@w4~#Vyr#t0llV-o*x_ucJf8E)b4F z@!9KTxK@ViCH6O5_BYFLqYO7+Vt=a)x5&Ppxh+n4rwq5taHp(^xhqMzSBAS~xJOy{ zMb>>!R+V`m34d6I2W5E3D)5nDKQ6>=V4Wu_I&>t?R~|j zs)LXEb@ZWw4;_8)noa`lM6hkJI{VO>Oe;(mVcJ!oU46|=Hy^tBOm`m}t{y&g@u9m9 zJ$$zD>PakdhF(4}^yIQbg|wo*g}67rr112Sk3Rg+>M(Em`U>+{6#Mzm*N1+L54=#M z`uhqn1AOT3!vJ4XGtfsH4)S534}+M#!9EOT`qYvQ%n-545Fd-wM{JQADi7Wd^I@nD z!>IajkvyCdY>^rv+(!B^!iSLrj}q`Gf*UbLiqvSI6sa*jjP_v+#f>F`6sd7O@aH&R zOEX?$s>}o*7{-&yL}4!z3Rj6Ff!0QwV;cFEiDLsWfywGtEcyO!r}$ z57T{3%nVU)rVlfGm`UlgBzdz+**RNf=gk}+<|z4G9~fqnx!Z@%n|VIWBdFZW_lW~7 z@L|3W3&?As@LK5c%9}+#EFz*~7E4|)@nNwKONh7Bhov4?m02drFDp6Fa!K0?AC~*D zf)2D&z$-lmsxqtO;`h})tny(s!D|G(hTxD`vC6FVaV}t;4{Lo`NAP+9uP2zZW8y*^ zeAqyhD$GVvX_G)V(SVzM*vvQRByOt@8-3W~!&cAzwh>EcxBI}bjh0aN+abg|Bu{AH zo$|3$a=^viSBk0fEQ4|{yrOZVF+IkMk}eLn1`bq@G&pyYlB z#ij?v{a&-~cSzjtun&iPI84=#h~y)bVBPPia69J1Q6G*Gd|bfC32wv~alaGlekXl6 z;loLaJ4FO>ztcYO=V`j%8I7qjXMJEeLnh~h$vHBy?ss0Y=zB9{lZW4Y=b;+CCKHOGz zcYI*DMPU)qyUN@ZUGDjC*N1z|@cWkFfe#Oq;Gqu;_esE+WX;D%K0G3*+&uP)|32~I zu@6ru?5Qa8)KeyJp84>Mh>m$Kj#1;sbJmr9KHK6)D}S-a+L~tt(b`|E0NePfP^}+r z{HXQ6YuXC9Ey1<|Z0AQi&J}Yx*iWV%1lqyh%yjglqu+G$vjXhQH^%+wc_?)ElOlKl(6Pef`>p>nlksIcq;ZowdIo{ru?fZ)yhknSTTQ7~sc1(hTxr5bkKuldAb6yJM-tqKG2*PF{8Cqr_G6SE zqbY6-5yV-?`oW)L{VmNnjj1x@{a_eJCKH6o1TwMCI#Kdtk{=WOm_+bo0Z%5l=&V&{ ziZaQYseUj_A+WJ)@M(Tbqpj+h>3*7ch9A@YnBi|?W{Tdk{Fv#-EUGnI(mlK65_2rS zxqi%5@_BwR%pv1)>xA?Dn6J68fVmJb3;kH&$3pU2B)k@Ryz*wTAB&0Tm?h#bOZ`~l z$5P@g^JAHZ#Wy@9Rm)3GxIz-W(vKB>tfUjJ67Z^$6R!4SHJMhJHNteQK-bbX>-<>f zH|xa-H~6u}kM(|R@SJd?P1Gho7&bC3S`BU%;?4XLC)^?*TlnFyxHx?ZYA3zWPAPC$1SD4?Z<8YC^vUBVR>`ckGqU$Z0`BNxO@KQ=DsB1K9k_Mp8vp)2TJ_V zkB9v6ih1NG9FJHBJQk@>{CMog6H0yR$J3J3XMQ|W!so0n`GebM0>aWUtpecBR)J=w zwZ=3uZ7if#|MECv0Q}jO80|DBZ`!kONn#%IXEn(m+%ppZfgJ;HnN9(!(V4x=06GUa zLJw&5)g@5uz;zkN>+wB#V_CrT3fPIq3e%f?N{NW0SHSdP zpEB@e)0eE#H^4zMHK)>j0=hxR7Uh22FHY{|rhlNoqC9}3_5cP@qk%#;u%yo*ZWSk@ zV+IFU>V^a`IDjF<8ydjS64o%*ki@Dm!&TWvW`zE&FeBN`41ixF1GZflrI5TC%{}7m zWCltOI7T52%vkOd4`2)vI*u_IM-;7kE6jMsXk;d^vJ7B6Z9Y*jCK98O_J?#uvY1Ta%*To;=a zC@f+Lo*lrf0A@4ZE5UODm_uIWW-bkyHuD0Q8^AmoYQCGr^F3oVFbhQ50_F^bQN}_^ z!a}mD@as%uBeO^oQDGK~vn&ZCyzSI?~05qtov*#QkSF>6J_I##3stRvZa(QLh^DSMs)Y*4a|0c_-t z3bRS*H?srE`jhlqgnlcl&j7ZPejCT>CF<<~Y$s7;vqRI9H#^zgRCc=p*u@_(yV)BJ zV0WOY*(03x2Cyf9z2vknfPEe($LzNZ4seXF3=RfxkUuKSAqzRo;W;B3nTwuOh_qxaqCi$0}OLU2Vxg5Zy04@{liU_&l z3CWwQ0bEr@u1OiY9>BE#t`qM@05?ilHv_mytO|2Wb!ud8>)#4yB5(?kXg2 z?ghYbS6oJQsxbEz(!e|jfZ;xi#Y4v6AyI4@d!!hR%;NwU9?@V=1mg)Yw2V3Csi^-{ z6r%&%I*1+50G?63dgi%UvnGh=tU7~DOsgPG)S6omc}P6i!n6sJxQ%Qxatl;#5VhQZ z$E}C5Bd%Q#ZFw%7rvfXya@bztJMjJ#z6HSPsDbIqn^S`5O2OSIn4-IRq8pg*qDuE5lkp)bhdtQYMGq0}mBXIe{pFRAl7!ye ze;7pXAn$|}#6E%uV)SB6-yr%1r5yGPN;&KwM86>VQ|JIe9Y9oD4hIG?P*XcdQZ+b; zK|u_rk%owbp+OAc1A-(QCYlZNG|ijgK@3;25kZX5A0vf+R1hPB7)AQgLO&*m(LszM z{n#MJmZ--CF^)uy&3H{u-b@H$f^wM{#69@WJ>XrjXOrAf|ep z95c-_m>$G*WiW#e2I`NQ7BVY{S&V3GW(%J=LCg+f4lOiS;xU(&Xbj@cX4JeO7^VeF z<#4_vYC#YSf@YyuV7@20!Yoq$4b0*o_;WE8T@u6+!HZ*I&@2^c%lKws5X-3ba=sJD ze6{6pMGz~fQ@L45mk5|uL9FDP@I+fJLRNc1@@7pCYl!HWwLzA{bwR8RVjc0;2eH0{ zwIPTN#Nu#Vb!ucb>E8;oIS5AaYje=Hbz7`ewg$nlMO?;~!)-P_+k;@(7Hn>IFa|q_ zV$0!9#b{)91;MbB2HPzdyNO}T;T}UrhxSg^2!CGL0-$AUOch*#oH1aX3t z<>sWC_f!xkgE&PIr$xkR5m6eMoe6Sec9ze@2XU5}cutf$&u8L;I8TZTL0lld9hqGe z`ipM)lv3ZoTnchzb~%VkL0qOmu82XdcqVIPt_rtnL0k>u8o}2Ed|mBzRZHg$EuA-m zxDmunio2yIt~9rU;LqE^mgbJeaDW~J!yPiYCrs{og z;_PM!L~0#sV%mh5wAv8bgiuRB+Ys8y7Ai3d*NQ@gPVH)IxKLhf2o z2pvM`$oPQseyQs^apnn~_$>pV&hpWjAMUbA-gF6}3wH?AGhIUjcMG9w2;HbecTu88 z2;D>IK_z;In4X@V8l373p%=+GNDmdFrcVgHL+BIwmFX*F{X*y)LO+uAr#P7y7!bk$ zl`=2{hW?_B3mFu`AcYJT${`^P4q*tvdfWZb5WHYZ*)Yp+cnA!`h^S+tYBM4P28qzM zkGvTf(nXF@A&d-R6ypQVD=$p3jt&)I#)L3BgfXF}W~@jb7sA*O#!>I_A&h5Yt#eM0 z#82RE1II1W4a~$4opVwM6GNC3;+S2mI+-%;w80eNHZ_DPAxtHBnt-Pf+=wyKbWCUF zmzfzMOb=lO#m&@IRhn5L@aL>hOEX(zs?3}a7-o~nTwyYoOssRx3(+~}hcGXM`2;Tz z@B)I1&RJy^hB()_D1?O}EDF7A7OT`HAuJAI38gNzGL{La5wJ+d#8E=pCI6AH+ilOZsiAV913N^{BrPKUs7 zihw-lH_k8?XZZ29TZ+$y;03!3c+S$D4}swvQLUveguoyXwkTY5i^8Q4E{1T4@vc1@ zo68~Yal8`37*@SEB&+JsRXZfe?wnUr>6v<;(OxP@sSM*DEF_;(0X`3}4^&3RSR)xdNN zv-o!kqhlDI!p%%)k=>axZ1L|R+`5L*C5)~FcN1_of*UbLihuX86#pJ!bPuBk#q}hD z^vrsN!JoatElqEYsWN@SVCYRIeT7M1GO-5f7iNj;A4b10`V%}rzyk<=q4*CJH3o$- zFpNQzGFW-$&5$q{1{2rLP!AQnVPOmnV_5iIGhA2=FG(69;E`dB2xDZpxfvzkQ6kCp z>(OG#F=31jV+^H?4TE7!_{A+ij7bJ`Cy(`uapA&BX3qF9#)UDSyaM*F682Zam=I1M ztf{H7gNBLW!g}IP3S(jzlLS}fHa3&PbjB%ROb%m8_)Rlaw44^k)G($|jp>qS)0v0L zrOM0*vrNqlV@4P=nZ{X?h*_mH&KB^TFlL7_hiRNE;JK1U7Cw751=p3rg*DVM&M?v6?AfLkwMD3S(^;Yshk)(5x%5 zTrUJ0!dM^11`=#kf=aU~42F#qvRMc=i;z+$ZcCW$j00gDq_{&?<-=j{=V2Cj)uW-giMYJlVhb+AD4o1B8=lH@oHLf|*)V&s=fXG}#yJ}Fyo+}sjPqe!2>;St41=f_ z!%fU3Ny+6fE`@QK46cYJu6XWOZLWq3?P{ghb}fvnVO*np>mS!$|F{vx^)PNQK43Gr z%G`9t-3sGo7`MpvwyKpkcfw$}P2|RG{q9PN?(##L!h7;@j~})gydN&CqR&1E<9-+q zguPpO9!lwX6vo3a9ep6!cWoe=6!b@AK;NXW_zXa(W)dvoM|uCtH|n zBBTi3_A!z6;)w6Du?=}Qw03ki5xl$hb|Fxj-U%UbQKO=Jr4CvH{sCj1rFT> zp*v5yur&}%G&DVwXCu>7|8fE#f?km?o8E%hTaLsKfv{eYCowyTRAKrkZUfUd0){@3 z=BA$r>PJC#MAzSP9S{LS|41`4P%s7(L!12yGe|M&o52w<3?h#qf-!^`+H6;tp^DMa z42ytaD0vJQjN!y+D7sge5sJaSZUiGW3r0o2FoMiROB6;Ex3QD8IW;DtUE;A3jEP_@ zK>;W8LYp`)Qb?Nd5sZsqe59$FAf}xd!Gs7V(zKHzm_)|mvB3K>as=lyZQ66W=i>BZXl; zb1H(95u9Q{JuPWI6T#^S&QP1P^dEZASt(#NaNeAY;2a5mV$MejA2JsrI3K|U(p?m~ zOA%a*;1cOBM{rrZP(8ZZT!|D;wUK)DY6MpzxJpHAy?QO8?e6smu0?R2@#5>Qs2lRw zVD3l2xce+G z4@A?45j=?CAvJvz!6VVM)RaDsu&4ASg2xd&A^uare-^>h2%ZuDc?8c(<*O!2>(oTG z0v7!mm{w7iuhvntilTLtJ4&N8d>fvdvgNBbN^WhVsEwj6!R-Xxj^IX&k@D3(D&?y~ z6z!wv5N%;P5<&W$ouc5+PSKX8v&K}JE>SRaCX=qhq$`=&^3^TM^3^?xZc%h6xQBpy z5d1><>KSDpqgNC?qv%B`y_IL)^obVk@H(R?`b5!}r2TAs|0w$N35TDW0iyoEC~amd-=hU z6~)XbW>L4<)-rRVn4`?*3iZ4w=0-7(@c9yt`7c;zfgmhYgoRAzq9_(bv52UPqgbq# zS>jq|X%tJMSV|R^3CZ#(mPN6gBrBqz*cBvMDaU+QMX@r9Rbn2mkCZp7qjJu5O%$u6 zSVPRUR?l@&Fs!9MKX=Q~`Y6^@@t>Ow7Gq-+3>%2?br)lk_{iocHbt?SvEO!Mx2Peu zMzJM|trW1$l5dX|ZqzY5qSzkA4#w}a@w=jh104ECu`7z*jNfD9_mWT0?2BS=6#E#z zUy^h{a^zqX2cjTf{va0;?2o38%SgiGc%hy- z6U7`4;KJP|xCyKjt{d-Z6;vRY5 zk8*tSAd34@JRsh~D9G|5wRsf9qi7||<72YMV^sWDBz9+H)4!bi=ARpEq0EfQw*IcvkMWVTI?DFe|C+v zG~G0&%5;x`p&Oa>5GFmy#8!(vW2_c?#n3Z`UIh0RaBqTbwfL#B_nAHv!@8+&41Hqg zOF8}Ia8&;o`o+*cR&54|nge4P5W_%12QisU=paeEYrMg#=a3i%$1sE#L#&58Y8PwJXHCR)}|b z9VMw>OJ%4~^&VKbR*6((EB#Cq2@@viMLY>Qz#!8-)JgJA1jlKP!0W>*Y5 zW7tJ8yDif_F)-|=bLWR72kf=d>{JXV zV>rb`omTOAb0&r}D&(vf_FN2SV>m};&dcY87|zFVfkwL+11T<&@KOwyV$%3uW`bD2 zuEcOThAT|bRnh+{r8=T#mAMvU8-6{8YcX6W_=bGmjNwKMH_7LgVBaFP4qdCvZSkKw zG2D*f4$XI0z;_9@d2&y{_hYyh!+omvK)??Oc6XJDcRzIXc@)FL7#>mJ<5(eMp2YAt zh9~syr;?&)F+7do8KKWz?|%NWch|6}NN%-?OC{Ahj#hEBj&of-PUUOkXcI>*@2P1U z2Qk~mo0@iVOF{cM+QreHcpc*C5HEUnN47KQ$g|7EY0OS?cVXu^I>phMe7aB^y2Oj# z-Bq}Ci=%5C-3ab3;O+!BVvKlq4^^vY96jRbNpZc1Aa!SNZcU1#cf6(PqcK&cZyXGL z$fTbz=|?8klKtcK?g4T1k7EGA0|h*g;1|4mkct@`$DlX{Q_K*{bZ8t5L*nn6VL~;` zWh(X>t`sBU7#_z6QjAoJN;4`BhLLfOj)h{h$YB#bMn1;y!@A1YIQu8#;usspI8u)n zYfp${d>j*~;zYroNNnpWlLS0Dj!AJ$rY=(iJjK;Tj4@Tf)8d#K$21C_F5u}Rm=$5E z9-F~v(R`+AJ}Zuyam=FZ*`msvIA+H&hqC9!LCm?#>3Nbj^W&Ho$9&=~h+{!1rx!|2 zFO;12>aj(V(~IL+6vtxnSt432p%%6tTPoa^#j!MwWdtu5@N$A1F-CHFg{rkOjummN zq_|Z?ki@NygFja@r`Kos179GfX-i)Fes4u&nX?lz&?<}wwE?MksDj_q;mAjM9ls5HCcVAx56?-q*PB8NG> zM?UuO!{+o}lGic&;@BIN&<09FcLOT)1iMTYNCkc}In^SS{=P8Ohtud?t<2XZ! zERJX788FY?1k^Zq&f3p;)3lN+YFayJ<)F30D$=1T+Bh_Yld}5MI;eF%Rdy#}+B(`; zv~$qbK|5l%7wq=MW8xj0LTy{=?RRw0!9hpfsABEb$x*v?cF@T|XT}GL?7KKJKS-~0Ibi5X3_C#T?Z}$CgWeAMF!tNxEIcvf zh@Ja6=#1@yP%0~`z>zjw?)8!^a{5z}A?gB%Pd;t(4@)R7U>Fb6{&3}gIo8$W`K zgJz_I5e`N&ew3JUv;zjpAXhRV?kL9&md20{W2l%NER7ZGjTKvqqSa=cQ<$KGrST5N zIT%k&YrYAt`6fD;;9w%-OXi#8V3Jy8vejye1BS^&`lg%ysSc;Cr#YDFU>ak;@5WA7 ztITjP-N6hhKhu)WaxhD+GFwtJ$H8m|a~vMMbU>83#GGd_=R25B%%7MAHe#XLZ;^wA z4i*t{v5jBi6pqv}OC2n6u$1x3Z2WSy-wFrI9jsvdN{79JRSp;^gIvjgxGO#TttK5- zGYQsyYs7wQO7>gp6z-}0);U<~U>z~7{noqo+u&fmgAI%?*>9tx%Ve7zY;>?mKw_W9 zX0upri-XM$wy>CN6>DsBu+_mfI{tPMynJIl^kU zgIx}GJ6|(yQfI@SNc!F>l0nDGzA{Er+wbnuAge=NE6 z*vo*tc_OcRJazEI!Beu^@CI*Nu=VCMhb`xG2hUj7D#&Xm@}?$%nuJUzv`UC#Ri?H6 z&6_p}v?1WzrZz#bZ4+RqO|&%azn{t zc22NUnn0I?Oeb_DYjjN%rxUs*q*L5Ifo=(OCx;#?y3+JafIoXCzG`}ju-*yuN}x9p z`Xrd-J_%M+#p#5;64f`sn2h!DehJ#4e**my=uhbbMCbqtwH>8_!g5do0}~iT@L&NC zCb$t}q@y%Ml^UABkOYQO<}j<&@C5jCI8!!4W2(%^1QrfbH|An;RVSu>LyIlh{ez{~_@k;QBRB**9Q z?YFM+uU%p-ih#;45!jbE6+f&>;aeo+DhEn>nJi!GNVz_6HxSt_5)5?GqR zGP=g{1ju?hDOOksE0xo#1Xd=nit(!xAZT@ht1$^soi*gSR@`V^0&5dkN1p2wU;@?? zupxmB>P8#M4I7!-a#!z7%5`%Bn-bVeu3J=EU9(l=w{Ai z4<&FgfkOlz7Vu$$8!<*4?TD&(G=U=t9Hq=-R;l9&@aJ)+{e;F;nUe`HoFJ1^!sHa0 zSVuc8j&>%2(+Qj*_^g1>5?pk&j5()b&L?m#f%6n|!7{y=0K)~^{*q8#a+!)BTvm!J z30zL#3MsBCMWwlx0K--0>~*2IE^^!)xSi?MO;S~?O@g6ylB02nLtDNr zu;C4NrmG#PS$5hd(JqPhB=2C!J0`)kOkz+HgZVu~Bnenq&&A1>W{Jk|LXRXEmXOIZ zVX}-&Y++uWWMN*B#PTFo5WG^rD+#uRS*q$)%7jZfNvziNt`WV~Cc&_VLe|OW`XtsR zu|C<{Y)FC>8>r7lOSmbCO(bNeG6{x_l(R*mu!Vx?!s0?(lh~@vw<%GT*`5T$wj|fD zMW-E}$~+>J#7;%srKpu=cM=S{D0`2f?h*A}u6vW%tEl@FHE;GOv7ZsF91bMGu#dVN zlsFtDl~xX-&7mX?5v{Q~Z0U|9!El&3TUa^;;uHbjH>bsDXOdtzO&gw-&vQwfP2wEWaXtxBoTm*hB-t`uOyWWk7m0T% z39`IItuH5WIVl~SD`br;R6tv%y5_2S#kC}^CUK1%uB+%ub0Z1xhcYKC2=!} zTST}metBDbyx76HBT;w6Rozi=19Mkg^>9VbO^! zUg*MfPN6d&b@`_0LZEbEx{@cW;ch8(O`#i^bSFT{MGyX!rmLq4?Uh2$6nYWfTjSHF zkH+^+p-&2Z8Q(7jg8EVQ{wZ2(Kne`~Q!ULv`5ctOz!V0hnw!BXko90v46zc1DyLy7 z3{7DenVJHBPECE)OcT|or!Xyr z=|r6&_MMS>(UoRO)J&S(u5UIlvrDm++*3kCrgle73RQzDQQfx?JeF_^$u~8|wYLf!P zM&|5hq1Y^PT+i8}6kAi+lEPL}Y*Px}$dST!`XFnm9VswuqmDZz4m(L)?859)^4%%y zN?|w2_b7Rl*_#5x9;&!c1n%=xtZViw#eo#|r*ME22bH4I97=)VAXPjp6o)+(>zX4< zaWsV^DI6umF{Q|x<0%|>RXmXb!!fFOQsQt@RdhQhrHE!xRt`q6mIeJwxzq10>f?6*?z*^ zRADpg`g;ArB-WrGCOg%kEJMj}+-~3XFT4YHFT{k3UV} zNeWLX_*n|iNNf8E&xO}>DKTEh)uz!Vjaq`+ z3b-x7jTj>(rd?WU#rA2mOQU_7{Yae)sWcta;LncfmZp=&@Gbc?7&?(j7h%$cOl*ni znr4aVmPXe!x)I!6z}*Rcp`Xx0ndD8+GthHMP#!DQ=ld9NH zn2;`Pp<_%;V?r7e32_~xzL~@p1(VXuLw9-%X0mdwZ>FTdpHryBR8e9oiFBDDZ>FU& zjWVmvbVaQ&Gt%JC8R@soOflW8G-jqTiw2ub?&Lo^Z3_;sHA-WS($2NC^U~nYc@#5W z#LV}^RG0;dkv9v|SV)rkW>Ff9TSPI7Ma+^k7N@a(XG{I%=|B zG}(~G`ZP9BlZ|eIH+mBDW>XrQlxDL{@Rl?fHZ#FnCBa+01n14RG`117q1kTb?MPz> zBdW|!OS>x#{@g{{-DwbOH*dXDIJ?kW3MvWXBq8JW4|hKz%n|R27ewTqeE#B z>kt_o7Dk7KkyaWN=7^;}n#NI5H#W!8VB9e#`?w_gL>kA_IKgC}6f>VJCHhnvrNS3LVZy*a=rgj8kdyqWdU4P zwgRazSCnUcb2SbAyh;tPiH6tHxR%CsYIs95yy0nB-`o@qH(%gz%W}A#2E#4taYs<@ z5T(8=Pu6#0+Rc$mf`Cgrg(drX8^7$bGv z6Xn*>JQciWX*^Bi8S$PA-gDwLl$a-J9w>ID*JPw>&7dZORvA{U@(gk7jFidNnd0f- zHW{?ZNKVyenA}KhdUt2K_SVpW(6e3>?27@vfOr?g1QbQ=*_Tq*Lw_zC!&0rY8!v#E?;6{v*d>WCFHfdxA zBQh9CaifSJUCYrK@aO1EOEX4es?6977{-vvIAJo5Ol+GpKEpO?LI&eAm_YDE0Z$~j z*e0O(n))Znv1j0;JjA}D2gK0EXxtX2;!&EYyAyJq?T=tj+cc$Xz z&8!S&5f^551`IQaJ4d20$K#tfb2FH$rk|H71kC&l=4CLS30)wTTp&5&@?4m~Lhp-L z%Vn@gwOC9vA}%h0mSnJmpbE28wP0g-T8J6=E889qo0#{~0$V%$8$|9`JfHeGC zow3JZ*JQ9JW7cMhRol7@)+zJ#miY!tyHS{L%79@bnQzX3kj-Si#UgCYfHeHtnz08A zw`H(Rm~%-#W40?A&t+!7u$}hN)~?#@%z!~6>e~{ti>TODvf%CvcB=*Vhz0j%uqT7P zwBSCm;J%V!_GhqPZFa!5*#Qq!We#R=Fk=pR>8vt`Gdw?fB!j~l9LcawYxT3PJW^g5gt0cH4s$I|ES_aoia3cd^-XOuv3~ovyxPc&J zZYecqIWxGe8FnWF#@)&Af=wxM_cFMf!9DW3pTT|464mBGrm$aI=!Y3R$lxK(Y-|5V z8Ev5-XYeS4$BYlK4r8W2p(H%vx10}pDj!ezQE6+IXPLrw_I#da@GOJpLS+FpS=3~u z%4wBlHnq~ndRTb!rgavr2`D#hvS=gGrJizamNik^ENZi8o8@+-EECc`i*{MG&$7Fk zMF-;Bny90&?U*h0tQwe3S=L0Iv*?sXXTC$yMc$6@!pGxnP1IGmb<3h_7TpN$F5vD2 zb30O2YN8%lsfl`K(IbnV6xWLgQWN#gfTkvZb!<3p%0n#6DIx0#MVUpv&`%P zS@h3h0Ko$VJdogGO_Vo-vKXXx8Jwjz56NP17DFg*sHA78XQnDMOog%cn#FM9!;FyR zjm%<179)v2Dhr~F%JM=FN!XYyMrSdGfU#MO_1JJRJzH3z`8__1aaoL~GB&>_WHrAh zW-%d)iHw)#f>}ICl%6DM;>Tq9m@Fx<**Ya#*ungsn#GhXrV5qp&X^`>)A$u}Lh-`C zn(6XAUB83z!f(wC`JTb=x4DNe&i7SjO2kZ!@W;LV84b-WMoX7vb`}h?2zMl+zL{eI zbF*NWLx8sLjm$g?n4bm1JOZ>n<;_VJurLdT1q9f2+(ioD#dBFOEF!?J<1Vp)rCBg6 zAs{cp^JZBV%a{ecg^qc|$mR4pfxxV=LRMz6k{D^TDhtM~Vy>)~Tv?OF>MYhUSJq~+ z)^pyxS(n8+;s?xnHxo8wu|A6p^!bfKwkeB^S!^QN<}5as$hKs$Mai~i^>p&KEVgE` zjbz(}Y)2N`v)DnhomuR(N;WpT#L;$Vu`7$+RBVr+?#*IP7JG@hFN=L5LG!oT?6)a8 zki`Lta?C-EfH`CVhqE}WNj;JUqSu_r z;&>J(BroU`C&>{f`SCXA8?E?LS)9@oo>p=7%$Y10PE*QRK|f3MdajS0%i^3Wa$Zqk zE@Z)Qo~RcE^&(LrsP)Vx#i%xyv$#x>h`Evl!zC8cs}hB)#ErOFdd=cq&*D09%gv1} z7_JfbrbOW;acw`~mg2G!&f+$4VeVwXaErKiB?@;v9oVhS;vR7vb6>LKK^FJ3ctHC< z6jMF)Oa=2Oi$~s9-aO9Yv1;+eb-gDg(9#QHS&g4(@mwX;4Ep52 zAQ5iQfLoYy=u6pLXtFf@bLh_q*10*EP#P$z49a0(4*YjO?gM6U4#XWyZH8Eqp*ajC zNx%%t>0;IJ9ERmEJolyqjDHSmSb}uud!q~ z&axbz!+2#mA*Y*YCgw09hlyl4N%%~bf2QOxDTgU!HZ_OIIWsNCY@eF*MiA3;n64~l zZBTG#3@;3fFl#%+6sRxz5jFP7ZT(m`@cKSU!-%)FjK6Kx<_bINm~|4pjw-It zVSTP1{i3E0*5*?2pOwXb{}KH(FF%qgPoFvR4w++kN!sz+8v7WXeGQMVbaLBU7<`*k z_Pi-xq)>BR@S=#w8)5o}o?~J>_oxrkaTi!B-Zfg*rp%M*FTe!AyCRz#z87P)3W{WT ziI}&H^Q~NY7gXOpe#M03U7ZRF4T?~G@|e%afG7JJn&OLxZyISL<=S;_oJpwBb*lyM z@sW3*xC{itN0a4CUrVku8TsNPhhTB8G-7yt_Nk?*%b)Kx1z{ZS|G1D!$dCg7e^mo77wCLyah)AeQ-}`^9JDWxlF0 zzKF*1PI6G5g5uM$QYF19f6_)@On%E$(`-#qjixQkSE$QZY|_%^EfT$@rA7I_jkhJw z_*$}ffIisLzCrsg-~<2~3yKL2X@$kQ#V z-|z8z>7mw?f#G*tu9QbxTCu9AA7@vW4X`{%+?wANDvb9Sl(CYjmDpN77tvPUa;c}K zn9sYU;wyZlf6w~QBKf5@(x*!Qzdp$dp4e;1+R#4J*~G{mzXTj`Q;RJ8>TV3yqx$Zn z^rQIbqkLt+5oaZC=!AK7CbJXy513^5I0G)z@4j#n;?f zZM`4wdx6$P{s2|eClqNs{`?>-Wk%P!ggCgh+%d8SK{%B1=5Uj;sh4_QoG?c3@Kt~VPPN!e?(=xa@E zWzPqf`3xlm{-p@~SMyPd_^9Y=->;X)|H!|b^}dSv80>4d`t@-(27ir@+mQiV33(z+ z-__=8wq*JVGIeEtQU?k4JzE(e)F*QN7me~aG{Ecl8@$dsiz#PAfKL-{3swV`tIsg% zGtHzysOOfc2C4YdNLlM*3onJwhcft@8$bLONz0V_!>#ZoMZ z;v4#qwRMbukuz>FCX0wtxab#o7Osd}xSG-%%3NQNS4d^joc*Q@`EdHg<6p;Z{aL*9 zSy?{%i1H@?hr2Tmld`z>|Gd4BiOdb1n^wnUVyX<$$#qaPh^Uizwb2>p!c1*>6l08>{QAj(W?r3GdM+>Rd}>RH)u>;Z?TGv)1&%20NGx z-A0QW>{{eyZ7Dx#d85Yvlx6*=B?7VKSlY90=MroBP!@D+ZL1sNc5$tRXBlQS-?S;I z#t&1m;cl24USeS^f-yg=6+dXW&f1|I9j(9{cl2+J>8y~u@#Q(HwxXjr`szo9yP4% zzmqf3@43CbS;_a_#gArO?!(%?PucIw@Y*-L?th?pf9O6k_jCK{dF>A##d7ZcIMn}% zf(N)ixdY1nK$|!Ztd7hQecSFz3c!|z2(Qs%uBr0RjQfM!pWQ)amhcXDa5}du1RG0v zk)=HA%F<8le#f{mx|u^sJXG4YC0a1Hq904**m!I8Ebrq&$XAQpUgr-Bc@JkrKdicV z{v{;-)&14|CH8*7|4oTCEch(>F|md~Z3@U}q1psp)DW&M>yEUEhun~HYEog{CvFBS z`cVnXeVkZ2S<%;IlOL{sJ<>|f46S`dJzwlA*j`AW?JH{1eTAmFxCGU4{zZ;DRv^9z zckI6Ea7&h+5f<;>ws^ZbFXI7Qz{yu&$x-NZmYiXlS3CvV!bJJk2(k_FN(D~2&OZXRna_$|0(n}(AAJ{|FW9(i@G{jbm(n@LKZErVLqkNUP! zeOtSJ7R^|{w{cs!ZOSYV{oS^^_#Ys102_hvxwWi zotTb!w*%LJqpS;dM8-~TN4HbSH*={ujA6T2VBbKV24)rJ6}@*>;>YgCeR?0iWilt1 zKJs2I^AnyV+tPNPVr}2BEY<4S&r4jb9{wDC^Ymxwn-~RW>l+enLgDe;2WF-vv^(x$ z6^f5Rz!r0Ag6`HQ>|}TAp}Xn9Q`EBbVQ3Z*!{H}-n-}=^4cEtgL!pGx*h;J^H9T?F z6w#T4GF3gJgoakDC1q-&*^->!-IDf`a>8bbQR3#bcnhl8qT~rZ>NeMy_`a?abJT5CVomwJ z+cGv5aZQM`@YW^26{WUP<7{fDwiy~ATkD1H&m~j|-qb#flUldUz|4f|JxoBWK#Ii} z-op>z=XP#@+peq?C$^s~+taQ=6dhDzoa_(-e{Sz~sxUTobj>9O#1GZXADJ1F1^X;} z4ZOh&JegF|AjGsVZB_$**1DgnA!&O%6ZVoJn??TI)eogHwuLPFRz$Vxl?fS!(Uf7j zqf{{aN^%TmkS|hP;aa!rjy0nw-p0?i9czBW)7y=oyX}_J45ON0M}8DQq@baj1pW z<{zv#6}FYEK5QX@cN2D&>VSy^6~rR$7;Q1#F@(>X6f2pWI6jjIvw5th7)1uPTCf1q zRC9a`3)-r%poyQ7xDygLh4LrzwA_gb*2f?|NkvbhD33I2gOEl}Re_TeH&uZ_ONtK) z_Z@k{1fn~Eom6#9ixEPHd*Xt^`JA}Z5;vVXPFEeLTR=c^&%;1g2{Y0J-k>v7;7o-H zb!QS#kjS7=J0NvlYYGn<9~QTJA@clOWnnJo&paN)MTwiMV4x*`v4Vr@ zL0l3Z#H9)l>MljhWt6jrdU?WAy+WoM zcWscjAaU0!1Ss%t;t+Wqd5HcQB;Oz@Hzw|egpi)NOR1#`m3Fhm{k$2;w^+c>Tey0w zqIeQBv}+Amq^ygR5aJUX0yXir>Vu>!Z&%9gr1V$|?y%}v43;F0-%IF00({~Z5CeRc z{ZhsDj6FEVLVeO+=J9)!ZJEM-x@ENOUd8`(_tLie6xvh0cz?L-2NEKDx(B%H19w?MVgm zRE;YX(vyM~)sxhx)Is)6J#AN>rV-DmhG#9X=d%cT&SHr^N0F5YkvyrGBKCIBzE#Tm ze2nUe*S;!TZC#kI0F3t+l<7qU`gAWQT|Bt_|5^qXT$9BuzNEr0QCRc4zDKka{mV*J z_|H}roR-ct6FRY>RoW|-VUZ=gsszOXZ4-OpYx?(^72y@>d`CrISK8~Lh$XzCgg2}R zWO@4Yrb_6QdQ1P_;$H`U-qs(*2W7(G0WdqRQOX)pm=Q=}8F@#MLbZ^r)upvu8mTL+ zeeWvaT@sE!)H?lH$DhM_k>Asw_xLk9W_@3s^g%-8P@;%dh#JcE54nDbt{*}GQ7(V1 z5TZm5ZC3zMc=NbyD-3=7sjd@5^i#zV9qK>V-!Ckb=odWF&Wx5)##U!0PV|NB%LHmW(HKD6vE*Wrq66%A5ubEh}i~ zaY&|7YU}ZYu+I@M)Db)M1SC&UW&(y1JoH2)6Djm0W!CC4HN$;OMN_m@G&@)Vn1u)+ z%8$bpK$M@S0BsOEw3gVRtopjbXqjeN7=i>2WwwoBLo1#Tpx>V z_kf`kIa^Uf2^3oL#05oWYc)jZFhYcqVOEAHp~L`%FU7jgou|&@LC#iNX495Yu`TDP zZJDET7br}qyMT3p2%%iMkSd4}I@j7VPi5z2P+7De2)9D8P=0VLLN}ap?x?wSb_imw=$Ew?{}&>obCZ5*_pwp3tolvM7cDttbpA6)i@{ZHoOV zA-7W>F+gL#jZi4i(2yl*L++FeLVywv^e*~usf7hyij2Dz2K0H}M6N*-4w7WtDHpcVh5$~?(9K0q0d@WlK~6!X)JAOkq zK+MlK6#28A0HFMRJ4578qJUz?pvRF;XizR4pG{X; z0)vutLbgn3P`lSD*|7himJ<ylFpqHq#QdZwEPLn2_@BEH{}aJ!@Xs>AKe>Smbpy)T zp&+1q@1+o+{G3Ni2>MCN=xY4WU5NjQ2m*dyqClT0nhNX9)yK^v{xFe>%nfgjSh<)!3i-6Ikrer8I?@ zpLZ$NXUSXCPd)5q;mHx{b6J*9pJfI3L@+T%EVSo++#f+cVN}))ge%LlE%2ShP@ipt z`lOk}_k2hpKJmsM4zfNS;LZd?~xDe_2IdQD9Hvd6pH{^VMvZ#`Bs6%)sPPcK6D^SY zK;yx*l)HpP+3t2PMfc?A`;;JXCnU<`GWGBXPjpXmqHBH>qI=dTx+f{4727jYjqO=c zY)`IyMu%BkPhx`ZSYt06F9!iWgOE-lgJ2RbVi(K0K30`94b?8#xS zqI(h+bjKRg?MC`ztOO02l(Rsegr|dFRIxtUdP~Z2iuFl|&#{X18LB%0vsJ5ZO04cg zWh9>Gi5RR>-Bfr?AP}XxlNH>P;Gk@0<^K`8=ad`+?i9t`Ygt4Td4v%0GinjMuhUHG z;RO98&L>en@xW4+>16p$OASFj`ExoV4I~<=aGx}*gJ7RD;!Mn0738x*h)+U*65tcV zDrEpHI!D1i3G~SlX$?8V6X`SD(Ye_C+a1l4knD_RS-wVr$eW~ZI4r;l z-eB4G2+IP@w)>5-_%R?p=jx-Qd@I1L6|zIV0*8F#GXZ~X2a?~!eY*q%n{%6T%%yxI zg~ZCH0fWeJ*k_5}aoE@2Z${!~k$`9 z3!Ni2lE?v|8J3L{R@<22@Q=j*!fZGc-_mUU3d< z`>7jJ<|NSM4Rt%ap%tK6{x$hlEPHk-Vc?S!Bx^m<=!dt|0>ch>yOunIz_rER7~yxL zp4~bB+r7j=V9xEKdUjJiBUI1Nu-W-p8SK^S!M?}+qQd!~)$>cNc`)?(6{Ub(V?Dp7 zo>80ujw%7S<^;C}W9_~`u2$-|`f31O{jJ-p?0?5A_$)-mpKH?xr3^L59X;H93DzhCxKfh8K74Lw)!!2of-9% zKw5J`T3a#kDKlxu2tWltwxtlvd&>SW1RWM1ZxQRB!zJl2rkQc(=l)vexG$%3zPfNn zM=(hK&dJ~3%N+LQ+&`)wCKD@%hepUmYj7Mg^_TB8A9SpyQs=Tv}`9^h*`;45e?=qr9-mcI_L zRXFPmM4l;;XCgB87I>?*3Fy_(*KvYgSpm{E6$HPMqfw|UpP2wLvy?-SYiJg}xc>v% zN=FKBjc@3MYW!S7TIbTDd6G5{X(Pa1)sYujM*_Qo!CuTwfVNr#E{(uzMZl{y8f=x% zWeB-KLas;~-3SItM_wr))?LZvt91D)wO9p5fX32}n_Va&3%iUL z*uLup&hqm%YP&t*?FM(fUFd5?AS`*8P{p09;!b4nmZxv{U5UGkHlq+*n}J)G3UnpF zh%(cAPL-d~4Gd7l39%M?WB77I>BzrOL5fjnm|c$FUQ^AVjTCaG#(oz^^}CoT(S zAbEzng3N00y=*u3N&@~0+=_y16*LN9<>zZW4q#R5$2StNRQEcMV}E(<)hPHYr(YHeOC2o>mb7?3G#UYCHHf|ZuRNon(YU2RTb()WdwmIRZ+ zG>yCwpr&dwI4LvF#}O!n*Uu_w1Rn)11sz30wiF_e8anzJLcWlYFS^>?nW4>~qMgD< zF@MN#`6vK{$XnY4R2o`6Awydy3Md6Kh0ITXQ;ZZcKf_Wd15zAo`D+7A>W)Pw$S8U) zGUKB?!E!Ji8cKQs_y~9@(;+#mBMU-J>8VB`rhHBU3^`djPFA~grBz@l-$MkI^7B-3 z0ED6wlf#C6El_D__wP`Mgw+Z(<-6d|$~bVcjH>{J;?3O=1pM72A%_vcd`2x*)R_wsWx(cAul z2%*Z1#L8TlG2bp=R4~=KR4$ebn>_k^AXO$!r7175NW)EB1e&FUW?)r)7pllAzOt5* z3%IHwtd~p3<*AT@5LU|6318*s{LC;AR_^MmjJs0MDpUn(`_*aN3*fAwz_o^ZUPDJM zkjMpyl#L6*aF&&b>oe}UjJuve0M42NW>v$l%V_Wdx00__Xe)FD8Fy30EhOK~%6BvQ zT9tAmFs0pC!QYYrY`RtOtGktai`QR!rD9?le#PW?tLx$bP?HK@A;MjJ7uUxr< zVoOwPiJFo6+(TGkg$h+Hb{JSJZ32b`lf9eUzbAC^J!uCtdmvfr86ZHGpZ6jdNR|}l zQsJ`heky&yQgXs%`8+_L2T1{ytv@$L10UMOzIcwE3_GDI?j8?x& z`2b)+Q=cc_YUNu^zE-8I?0PaU=*hg8aUin+jwRnqb`LM5Po}@{*&Og}_1-~g?alyZ z`S~hi?ln~hG7DP!I(PPl?(B{9&ISmdWwJG~)-`WM0dGg3wp~Ci^DQ~5clwS*u8kON zNf>R;y=!fF$L@5U$!GSxBD4@>Dc{G|q>s}( zZ53Wi18YHR8H1l?z-7T~+dUvHS3XBPAT3j{n$f#!5O(6WqVY363tkI4+b)onl$;=1 zJ_2jOWkD(cO6=t?0MLd$1f%8WF@S87vfRjILux03tQ-q41Ueh%oPw}gMB@Er$n0@c z0!9m9fyio~O_2y7*(m~M@dHzaldR4uS-rPYO-3t7E%{E#IuP4a$Okk_;1lw-DrKr6 zF?K`K1QMTSxa?`ppRuDXyT7}#4jVD-^K0Cvp+8MO&Okufzwver=*jZ`@ zQ(>wE)dAz8F`XkI*PWBy)z4I$&ds`+LT<|faAz5Ah3p(4E*EEK!ExPeB%Uvc=i7~) zXE!#-+RzGuOTG)U?t(1nEvH$^H`i{AlsV~*<-l>t2ZTE>>na9G868ldsNzNJP~E>oPuWNXJJGa2L@)xHk&OMYC0r zh1P@{tqDN6)`VM>493BieNCzu9Ek>$y;giR!4a+DBp`&_kuuRR9@wK$>fo;I+a%^XgFJihVj2uzE{a- zJHI5!aG?9TKo=803{}tfHifEH5IVfZhf8d0S5yZ zzem3JmG6CPDk<-FHT47K10Vh%3)s6W05N}ofB}j>WR}>=@oQXQyD43gBeh1B;W$jam%6_!Ny?76LJ_22(g`* z3knzqW;Qt&17@tP&g7hJbpVP%kB_Cmal%mnj6si&2S)`lrpyUc3@}W4nmkZ3->AWA z7l1JzLB}WS?Nia5eOWd0}f{2XaF-p_W}}*>}+7c zfWT*PHR_#b=1lJd90n;qi*&{8(czml=4`v|6eot=TDLtj-gaLP08F-`pCwdSw|!o? z?b!m0L5bmWRVx98L5t^bH^9P_xqw!J3RAQRC^*zKPxom+FpzM?U#!2EFt@^Gz-?d3 zYz+4c0xy%m%VFPQJ|*83(8_=XAaFi{-2CphUGP`tTAaU%85KN$vRAA1R|{rWog@7< zIkOVK77{~dQ@eMp;<&VzUyzGrw%4KIqP=!?*!7{qZeU(Tx3xmi7k-4l(Qc;A-;{Iw zyeT)#FO=>1&AORem{nmiq#3uO>*o9-HRjf|F|B^Fl^yJF%Q=4DM%ml(%2hssu;lz5 zlCdP`?m&}8#+^U|IgWCyxsCp=9B=bdB9Jn9=EnKE)facuw)i&RW3os1Wopg6Oq^f^ z^y+<38iEPXdH1Wp{S+9X+pqHvNZ#_CdjLRyUVhNZ6J!OJ7v@chKCA){Qy^}0A5rrj zCE^sbCIueT-^U>^B)T)XpRn?fx)5B2>5}%ZQ27;s(3COu;xM24*!arvh+Wbo9%bZ(Df2~rb&qGka%t#fh>0r8eb=t*k{sk*C!oQev z{Ctsyy_Dk+;ALh=)Kt3Rm7IGe=U>h7;;0`+_}5}3ufuo^zZNClP>DBDN?~s0?^`+d zmP!zjCFkFcZC!gIwf@&)r5b0Gga^R6>b zk>2i;oFAVLL;Wax9rJEHM(ehTX7g_sM*0bP$LDA+M7oWM@xn2A$7doJ2KVVbE0Z*& zXEi;&zvGEcR!25HKg)XVrp! zR!rWYW%4(?`GJ=>y0Lp5Z+%!xU^)-ufsn%^ErPBFRA@@X-6Q z#~j6$c~)>kS9BW=%v>LnH{yjcuZo?L>-&X*^&~~Nt%Wg(Bb~x(-5)sEw_MhJtHjAp zL%9Dwy|XoadY_m}2Cu)DtalKJ3z%cX)S8}43u}G8g?PHXT;BC+^lC{cL)w^%#UBAQy}K;Ny|>#H_qbtS3V6ZckM>nYckaCDXnd zl6F9XIju3a;=|vGBs-_VJ0vFkkR)?mV|>M=ACtt%l^cxDNWVV4Pu?JzQFUC#6~%X|%{7jqyI& zxPqe*IU5)gn{3VN0d0XSXugGW>$l2!0bKo*B`+@s`s^~EuexUJCblbWC-CP*SUCXhhnr{b}WyXU^*vai= zebY?u<5%LE+Zh8px*v_jebF)u=AiP&X;;+YRZ{TgRnqQ%8Zr!VLrlWXZfAKh4s}D^ z(1CQfmLnvvIJJeOm97b{nMmE4{WDv|Tq^kK#`1e=$SKUFCWT3R!tYJ%ZIyZ*`>0Bh9mUa4hqnW&5`Kw)%Y2@Xu^JiqZAbIbUM>`;II+iY%I}mRNMS z2CC4TZ^dmswf1QZ_85y*yFPdkFD8&|3{m4p68d`afO4!7TZWkP7FA z-S~!9!kls;dVuib8)MLpimpDr>3^jqX)-d8>~feJ8iL(dt#_dUFN3e5-;8z}yMtVB zz0ACd&dIe_9=Myv=g`2^u(>s73u}()O3V)FSQv}OZ1>WAN@ze`{`aN?mDPw)-`JSI zO*_cL>DKyYd-}WTm%W|aVJy0lRfulnc1*jX9u6m|NX_ntQjshJPS_?vI?|6yz6DLW zrQ5)6KvVjOW%wx%3q8sGw1Qoi6@}r!?s*q$n5jo)?7D`zoyS1zFw_n2s(05=qDxOg zQ!1e+wYlAG=S#lqEcB zhj)3>mi?YK&i2$etMSk}Y@IAJ@q1Z&&2hGjc~{o`Uf2fm>iphzX*3$q=(67@RJpI) z*E--2Xia~ppeI>F_ILZ+&HvF#{0XwAKb29E4siR8K}p)*9hlyH114Q1%i3;P&5gE< zvc&kS5;~YjBXXz}k%NZ4F*p=ak>n_gf>gpuc8r{4i|9^=me7>Oxr3|Y4^}3t<8Z6v zFOWC0w(%;7VBZAPsyT5Cy`A7I?bWBCGB_DjI{Vn#=r%=i9E-lXrVV*)}SmM zkHcTs-52~66+uOsA}y(1I+A6KIubHbl1xuBPg#=XDr*xkPZyQwR4iS>^MwLHZ^~(A zxOE!sLq9TEQ9nYKX-DWt1d@r@&Xj|!bs;{oDt>lPFIjY`F*4F3-^^~U##YNj&q^@W zvRgkdaeU6D-)1Wf$5`)zj5qGHUSq1aj4s}A}s}y^~y}aX6mCRldqu8_DMzJUI zB`k28*r8?uelfHQxF~z9qFhlrkClM3s_>c=3$!y!FxILX=HPm_5h$ans7>rt?cz6E zW^5GnGXXW5xQ4>(>3*h(+1T=I+A?ROfMJxFi@`9u=V4YZykXUC#vPm9W`)cWcV0i= zmzBxZ>yqCbULISg;YJ|Un3l$|HusXTE&F@jp&8p=+7DucY!$=;Bc}GKS65ByAv8@Le zaXpr|Ty9`Di{u~oI88A zvwi)I+iN&hw@I+NE&IJq%-*qa4%VFv)AHy*rPs^ttBD&ab^Z_b&hF>_;Pxx~{X<1q z+ge3`Vmkg)g~{2f$IjMX^OBV?x}CBYW8MK{FtI(*{n@4@%L-+lWj)xk9^wvmhm?I; z6SwVO%b3?%KI7G?Wq!7QOw3xY592PN&~b;C*uRbov^itlVI{co{^}0ZWNNwp=Kf}N z9AR~&7PU;=M>6{!IaXU(%g6jYo(ZN_BnFmXv$85;I>uBiPR1oo##}mvsi7zvTk+=E zyv$S{E3GplTBbOgotdM}iq?cOJs%&YG1v?=Cu=%Bf$5lunMwRaX7I3iC6t#oub9xL z-BnqyMX`Gqat}!2<8>aDDp*V9flkj;IXFBFHlWCk;n0)7V zYdSNr6}O4l+Ipc`&T4X=tI65TwYJ9DY+ll`$Utk1Xcvv2$mDl%f^lsyr7gS}UlB(B zCCG)xAVPah{!&pInEcDE###@l0VZLI<8wKkHa~G(nV$^Dtd_@mmGK!|MeDCl>{Ylr zg%ccxwY>k=%Cr`vT4HRgss&VqH-=e+h5Nr=rnQ*UmSt6I_jscWX{`-68RNlCbl<{w z?PeL$+IYMr6u(twwHVYA8#a-B>_WP4v02+Lu67^c4rNhm#W1SX;(13jtHtbqghVE_ zOT=nW7P*17VyP@>HJs3ag&HqC9v?sj6OGu`cHt(NCxFKb=BQjd9+*~_lvF+ZPRUhAIc zby^+kf5Au$R#!W<*1xDCFNxRy(^=vh#*D8dSj?KtSIt=VWm@!_(wvA1s+gtouWNj~ zA=_CjXk|WYjeIM?h8CMyf*eMHYZA962z*DDv{=hlL^ohJ@UE<7tz*}P;_u0J*1bpZ z_r)fFUF{fA3y|-FZcYC%7XL`bvewp*MJ|9jE#YU(fK~(p5!Y;z1+CTgnHUD}Mcb$+ z$v_E`fskRm%w{1C*a*v6p3>2x7l2g&TP@2#FheCDV`j6*kc`DFvMJ5=Ntwc1UAo5P zDDl{g4swpmU^)xWfLYI4Q%=a}Yz3QH%x9;Nj?FAZju*{9c)x*ZEaOSCm$#9KWBO$7iwWy zq!(=4&8bz8_H`!X{{(llEq5WDSh3~iq{_xo*N$6jy!5@SJg(~GTVk!*gu09at%SnI z$(#zrTlXMG+Fss(UEC4_7iXTR)BI_ zwRWL(WfZ|}Vn1?pq3*KttP)C~-R^dDmnnf2Jgf!;YUM%dt{touc63z^+{)@ODS_EQ zl9qN@)z_*7G?NwWVof|7msd3qz@UXDVA^CGs%8@ju^ z5p*|U1cC0B*fR7Lw70yG8V$#(uyy#Z`+hj=avH`~bjy|}8UwsnV(Vayv_Vs1(1=5g z<4+a{Y06yd%kZ%*+alElPKAN9jn22KpsqYqL#FESr`XeSV%e+LNJx9mc)A;DA)ARz z*i5wc@YIu^o^@XVKfR1^af4k;tN#i2XxoLdA7cG9B=%Fm@609h(ksbJ&+VcIyNhqt z8v;?M8|GVkyH+qAyYXGsjka+pv2m~@qw1tRdmyJLJDPRl&)v`5&nxT_c5}Zd0o{yr z!>t?jWkw}^*)|}k&i{(${u(^z*A=!2zce>JMA{LTPL8dz->T#7q^krkrxi0Fy%Ok6 zjW_H@E3@U@$L+&%(GSnOBfUB1>6~jHIp%R?{ujyD7K(3fK)Ec$fC8MsUIVPB|M5$N|=| z1C}OEz7DfTdpMODjPqwU3_17L9&b+d2yA!wHeow+e|P^Vvtz*T&YpXdwhajHD_Do` zdhHrW;@?q8;cZ(6EtzAmBdf#**K7wnL zm0x+AbV$b7IIjCCnWY=rW48s$LtM6q@?h_5XJ#Tsvw^~fVv4pESl?+Q!cM}#o>Nc? z4C66jY#jKUN|}`#g=*PUaHTK13OeKT$d1M~qU%nZw6B% zPqg#6oGe$^F5-f;vcB3(*d4N!fS@97C5$AEEB_-&nsw>*CZfpZ0TDMwhO~w`Kc)Y1=D2O)byJwNAA>YqhX7UDeMYfGFj{KqkC1ddb?E#y8;@G_RsD>{&Q>v5YwcM0OHeqKuP-m zdn#*8`(Hy&_5pm}unmq~VmrWhUp(kSOV|u#@Sh7?fr_>QTzQ|8Yz6qNt9f%dC=KH!Niu4KK~hmJbnAw z6j+SJ3_KNB^I|#(^b@9YUtML)e`i0=1#pvr~xfbjN0*eRWfCs?(J+hbc`>9z~7*LJF$R?zvUO6_O%()Iv-Kh6;-{iK|VM;{J!>?x*^9kmjA5U z&7}%EQ4;`KY&){M-^m~vb{!Qo#fG3MvfIe~(`F+R7@1|RZPK>jp;ry0vNDjWTC;H+OrugtW}0etQ61Pt z<-2g^e88DyD3|N8v8dyu59$U~7{zTtUECg^dHdAhP4-X)bi}ONp#;FZV|;Rh`t*K& z>*S~^lLr(s(ah08_2{{_xxDrTt$Z=?hM)x5V~z1}+QOz_RzF|Moz|iVu{q*^w~fb4 zG=~}e*j4g(P}hc1k2bFz!5|)KZ!vm&O>>@ezs&GagxY!SDhFZpwvh;yH<3`R-9)4ujNSA*J;rUR4Ue(H6Qp^Ad6N8+iAP>X z1+g|eDxkK$p|&2Xe_pEpAf5Lcp|WcGzG|r2J?6D_gx^}yn`{wiVza^DR-P+g%{BLM5Hi9ta_pP#7n0b@9xq{D(S(&NcDIUslxlO`WTqst$MK8k46 zaX!(|jpP%UK0xrKwOEstiq?+!;;$08R@8 zww$U113MSs=oXf_cyOy@0{Q`ke!30?D$?O87|sUJ;Pq0S8E)zYA@s&!^Q+Z6s=P z$Z%CR_&+?4YlQdP^SIV{HLj&w7Fe^|{B=^e?NMJJir)}oG1e!sA6Wb8)QcHtFtqwQi3IcSwKN+qFb}h_a3veE{-mPw@t=!bz*;Qf8Zq;Vfu`Temrl=%m&`sFd@?@4}vJ__Ky z4K;Lqz6YS`YpA^}eIKq29A$KauO@=~U*#_F$PG}Uv$(&W{b~t7byCu{9n)t^n3LGP83#DdExy8 z2Fvh%h$w?FN21|6I>Tyyw1Mo_O%pOL^G%ma)q52FW6-iu>tWECgeY|U$tDV*pCZjw z#*B6`X5@`A!`Aiwq8HAC`^!jxoNa+Q!)^zSosm?etez`?77uMCc>bWk;z;OZV1!3Whfp~FdtcZp!>+O-`BJI=$$Sx=X&&3@g6mA#0 zg=M@;G{YuysS#V;NsI1Q8Wb1ZUi9YmvJRVs`$TPF67Dzt;rkf?4@Bw9MRH+1`C#bD zhr~Y&r$t$O!+aiK0KjfRKCuml0ni|>VH5qBh=xt{;~6-HAs)t`T4|76*rIMP=wRqB z*w(Dbz4`6oW-H{FN%v@HmKuRoknPz=Eky+!d*?*Ggn}!dFf~9>fqQfY zb_zHu$`Dl8)bM%QJ3~ZNVa@6k%fk4q>l86XMZ^?biR{5gXEmo!2)wJXP)raP1qOH+ zbi+s?*d7rD5mRVQo7|0>B0PC0DUM^qDs|3?gpa2JNGWVoKtVAD@yseGhT@P>z)W!x z@~4Vp0^*7>VhkqV$*>NmvkIgXr-WjshGNr<;&&RwP9vdjq z^Te4X6nnA-1HmdCt_k%wdC$s%VHn@U>DlV60s+Ojq5fH+{`0bKmUt(y_{cJ=oF5s3 z$HEvKYJ*tf0;?X{39BB`iMdw&mq{kLB$kOHFW7eh6Dr?eC9)j0J8*nuF5ja#jMweTLOlOv{Q@FOi*M&ca~t239H2Q zLFNrc5qupjx>0Gy5nNRthKN;y0t4WbU@YA%mSBh?2x4KB!M9KfI*D6tEG-J{Uz~+f z!Y!uLZi|h&UCa^I{yU5&_zuc1iP!EFZG;V#yF&4$Mh?7`;?PF$S;A0(9)f)Lbh|59 zBVzx{8Gqh~5uJjjaL>|rvfn#<%&t)Nwu%23JW$XMZJ-+9SF?baMRvUZ7>g;g1 zgP8=4L)8QHaxT?FeSSwo2bHBH=f< zn>XXNx5OZ9kLT@B972eql>mLQq;9Ai_Si&b+C?WJFf0+$}OQM4)ibeQSdK^9oK7mEp%65tq!s;I% z*bI)!x$)wLz+EfHn>-VjT3@Ar{>0r zDA*cwnplG23QphTI_M!N0yD&PQA4zgBG@vXAub4$d8QFS%%DY3L69sei0Yd>7|LL4 zRd*(cAmQ9V6wLfG%SeJ}`Z+M2?U?( z=+hgFDdL9QaA+W?Gv$CN!vSHh*FtmdM^-C@5HLV&opeGO8LGWi%n-0aVBe-{7g4QY zOf}F#SkK*-3#<_EMaK5rAub4O53CR*E}`RLg|N2XB_;^#_@$vZgb+)`2m!5`s2|{t z7y}uE=pvR?JH9P2Ls+rR%D+hZO>%h^MIkX}x)H zK|l`i3J-(vYdM_jFtC8`%*>-roSlbBN0NF zEI1)Z{FtHeNxTLV#HXQ8KMTb_7c~TI5M>W31fNeB3Y~c}K@HK>>hb1D)#hP_IEwai z>qm{12guR1(dVlcEWNp<1$oOK`?-efD3^( z#CDQHedf#F_`mUGAB45f_~qezGkf3lII}nV|G}BP8Fas!Gkc?N zVUTxsW^eZYgERXezl$E0xofrK51==%yEl8Y@AA^>@@8)a=KnXn*&6}+Z9x4?Z+3>> zCfxw-X^Ed7{Hq`gjUxzPy0RtaQeA+Sa+0*@Qc#rUgHm4Kf&j>ZDeKH&dxKz+ddR?7(j`>ors-Z397Q2i+Yq2T-EISC+i zYRn2e&u41D1S#x<@E588KfJLqBN+c_LFROW_ovaK)6H_{^ePZa`2k@5+z2K+VE<=O z<@)e`Yh(|cpF@C|Nd=@o+`y~^u;04$yl{`Rqp1!wS+djN9AFG^zfJ_^bZa_rzlpw3 zRyub7K>mC#psn-Faz}jHoPls=3;N#+@L#x|mAP1kJ67frlTyzy03Bf`09fv{%WQ`$ zmt*LEh3;^^+3w7z*RM=$fM1y!`uE3jhYGG%fJ2OS+Ohkms%z{~QWbl}a8C>51^~ow z0S>JV*9-o)HgFIC=pPBS?Hb1bH-#=)7>eI4J047T%KjEJ`M;4axz$*=Z>@GovyK85 zg<^|CvD*aYa~NQB+PnpKbTj-9J;7nXowTAhTK+f7hG!`WMJ)fhagcrv0Pdknmzhn^ zGP^O(4eloCUW5LZq+_&MX90?D2u6Wfk47s;0h|hi0EfIGp#95*`H$r!AXLv`z{6Jk zBQe1a091Vsn;w)RI~aJvsweMbRBtB$oEpS8vxqZ*RmxGo3Y`X^9YvuW1UwVE8ta|{ z=)dFhEDvj?`2?(_L91fc=gqEXRkc&=vGk$H3w9px0!2XZ?Gb_azZ7Hw|MQXI&ntEi zpa6wcL;wC92QWTfi_F>W90ynkQ{#!+78bfPC+DYx?`KxSa~vP~%j9k8FWB4Iud=Ypd)?KPE3{033Ro z=?2v{$qtC`{#6d`)}H1+s7g8#z>WjE362GNaVik~$ePo`0W=m)2ap0+ps+VH_2F!w z9aA3}0!_>e$KHpL##sQK0h7SqCTHvwn{3#d-9ByrSct684S<7y)J}w8gN$&H{wZm+ z!Iq3p0Wk2H3Vw*u4<`xH=;su}4^IvFA+|oJ%GL)&O!px8Kf0~05B|3X{R{ZtuKn-f ze=GLCga55aclh5D{*Um#mHl7A|5lh{%`OY**3hROY zE#tof|64|a4l?kT#h8Q4cs7)qL~wmyb>It>5(XZCKc@hXQUq+@>NCLKUepxuw+MrF4WxfXI8}Hm6bIJ_^M9J+fc$)( zb6A%Omz0IX%U0Q9E>7vGIiS{4ylRjpe`A&vmv%k)KfC!BICzLvaQ zWy#34IB#4SRog0#4Yl8r?GpE8Cj|{S=U_N!8?F*NEp~QA|5cvi2GE3UP{F~XR#sDW zu1*kSG^H{yzld*6bj_*Ynv+*Zq&k~Gk%66@L^ZJI`cJcN{Dy-lr_C2BVtjgK?X_eE zXPGw+nQ_gw%$vZLu}LfDR9)6oK%5QHvZx-jDwDmbT5jfXC2!^lb>35CGZ!2wxCtYZ ztN8CZC%Y-zWZ@h4CjJHEvm3*8tmHS53!q?u)8&34>?Vjafm=*JucK% z)z4Lx`Af?a!m9cuVxX{azp7vj1&Kw8-4QO*HCRJsg6~7c{}vaD-1%MVIi4wkG^hO{khcSrZPVa0&aTQpxx5 zayTG*IjA)UV=Z;Ck$Ls2sqsDCpiOQ?RgHBOSvHLeRUM|Ps$S4m)p|{vB>x}mh5k{J z7lY(?qJ|{e=yYn6QkG@Yp=@^A*y_;M3FhQHf%J*m&2YDdE7q~);p!x#o0x)3e?UK^#FkeD6yBfAQ(-F>|4&Z%FhXv z&ooDZncU{N+EuYnY4x*ohv(U5C3rQPE;Bnxhcw$6no(dsLnUls=4iu0z+l_xTu3Ez zwTaOk;>D~xWb49i<{~O#(_)=;NxVb0EZpH`(bWJlbxW_)jwMswu~gWx$c!ll0J;hd zvxeOYIj%7arE931jR`WNm+}Iu{JK#2^|mvK?#a}DLoyU&CGL<7%8lB7fZ}RrQXS9O zC^5>|qp)F#0e|dv*_qs`%}Gf{N{h`n9ybGq(CyLBpsc+KSsP@dgb4N}OR7dnmcG<( zm)!_E6zx9Pnvh<{#)O->H##I&vXj>qyhW*cJdVE2)c8ItWii2Q5L z236Mrwd2`%hgcu+;MjYx3t5STRhAAmD+#NkV?jlG4z9dF2KF3$6!FKg*`cySc5 z$CfWx%hhOhA1^1E9#z&f`rP z9;NOE@?K_bU0F;ntb&@E7S`Y{$3_`0!-yNeOmNph|K!kU0r&<5+vOaqtc4)#FGKl3 z!Em`&-mvN@9PM0h^N!RtTXrFEb^jqJ*%*w_{1^veq7D^GEh}$9Uqm5vUyq)XgTkr{ zUuPPOFegG+*CI04oM`LhsEdn|cu)$qWYdy@-8(ybI4=30XZ^Db_9iG>;y=8W%Y!Ave&r7Nt`L*0lHtMt#5 z>*qEz+A>}4qBW^T6Eug?0;@H3IacdmyHUegt)uNSWSr<2zm*+k!HjuC2W|>S`}o&jB6uai|$Z{ z7Naai4>Sjy`rx(Lmj!;T8@IbZ43W0Jm;GP3>A%FAZj{ra?t-9!It4fafb)oUoE0;{ zS+T-0|5tZpiDjMzUW07B{Cvi1MzP))patI~u-<2?>pfwz1$i2Pd5l(hwRn<>P6CzK zz;WQR0gJvpy<-yroRQtc?w|FZ?>epa{EVypaa!;@SnhSLS?m2tGzf}R&GC{H8 zldK4V!E00z0_m4@>E8uZlWt(WXQ2;#Q*_02CUpjY8U(S47FyPSlz|z{`Da*VP0|7E z9&tU)Xz@oAIGfoOER!qeP%{d^Oztrwqh*Ph6`cUjzTL|O zTKXGtI@RjWrze{UzNpsK4N?Sp+Aq_e7jw4_>GYAqoY_XzC8!yUD!f6czzNe#s``Op znwZ7TooRG~-)u5Rm0O}h7o91Fn zgcJ>4lnC^S72wZLse7J|eu`}M1!YDTI46xFMgk1aJYt*GrD~-;-c?dF&?VUL$DUa& zq39PV8!vDtC>LB2g87mVO!YAug+_F$Q-m0Rrc>0XD@MI^iq}l{qi33hY_dA^&@4!A zkY;gYRkP?839x}~c*l&JBc}-p$6DI(u7FKVI_q?I>*$%Hy1poYlkfg=XyoVnbj}C5 zj}HyW{E#8|5w8J|X4l+0K(MBj{Y0JqY4=!wTu}_b&*jLdcle8N$DJ7t?sL! zIA3k+L3JvcQ`3v2jIhot?m45yw+ zF?F)APS_nfrM0p}Upai^GU${)5vS=8*W!kh&?$FzgArp}u^iA(WYQ}E{p4LM{h{?m zqh=WYhm|-wAKo{@f>Udgaa{we|39IEbd1Imu6IHO`!Yo1crq^oqhV41!1crXY9mS9 zJ$bhQvlD}l25HAqz$TgpE*h3PPJJR$7y-qvF!&NT}Qmor<{s5j<2c^rX>6iiI4Yc%g?kEf?VKF`Tq6>|I*%zf6MvW!d+)0o7l6 z7)9&Z#PC&Q6T{#e$|fc1+U6IlWIA8*Ii~osofL22CvGT%E}FjA`(3P_ zU8)Ud>}j2|4b3jVj!A$W%f5{#-WIbpfj*M09`v!>u4Xse)u@5yidh1C{Ds<46mX~SMzJ=l{V~R(k%f({@U%i6N#~fFgCVq02oP-^tP@IO%J+8>zL7QG^DH> zcG+l@*wPSmU?&ozs3vwd`)!@vu^~(>37eYz-5*PAYW8z~+KEIWfie0H;5p-`Y0tTy zZBE`D7@c#9>24>C`gSh0hf&|b&kng^2V}4w$`+bbWaIN^chFFOFqNf*j@H>_da0@eJB!-SD|Xy@I=12dySOF8Ul%#7{=G$8$A z6k2SW3hPmQT#s}&JtL4H#ShFF5+xJ+XkMud4n}t{pNJEQM#6Wqdm38IQB<@ zY0!X?!BKlCXAE7`>#iS};xHHyP8uNg;>cj@R-la}KpSPhtqI(gylA?}>R^K4t*LUb zlQgR5p~H67Lx;>iA3Eek?KLEbsdBFC?+|8&0y6`1LwlGRhO-K-kC@4tu(O&_WoEJ_ z{0n5G=AV!a`W0$zyOY6w51Vw1nW-EOB0883es1T0zu;uy7nN`p(SdXJFU<4#8-8EBPws}I&&U33SzLj-Lc>N;W-gMGzB+p$GC99wkAJ=^-`aGup)@V`F19Xw;4 z`|DWn466bYE%&#yD~5n;6auc%4z6JtIuj>c1LK78I=>Lqag>q(FH+kL%Llr_6P^%{ zGmL?W^iev;$W+fUDmupi_?XOY0#xHz+dpxFp?(L*0Kqt(y$Ps>iJT%p!>R_;Ao0Yc zB2>e!O%_A+Z#Gv^;X=PL}#`1iS5t>dn-W?n0VBRvMOW^xLW@z=*Q zkP4uNu#Ow()f;vEp>_JE&`b~uAdZDJ^JX>kW}1mMEOmT+M6FimVu2dg{@V=UxQ%|e z-R`7A*v1`U9B>$-VFaSFMEHdfwB9A;V~j8j@-3~7gAT9_4n}PF+!Km{VBAx6)#lB= zFTxvTosC#405H1yYIg|K_&@q;cZ9PNtDiFxHT#KpNJ40Cxr(odpvG7olUViO8c)*+ zn6SqL0F7r!C}N|zKr3t}zJX zEm{PaLGn8^vg#qy;W5}^3IWqFdo7IFO~5F?493>`5y_~?ahoe2AO$$%LmOKkh5Px~ z7+F8&*?$u22FCa_)cu(O8lN$AfHCX_z%ITBW1us@0pl|cNMk(M0yqYr&lx&L8^&>T zuo9tIvp@|ij#1XcU?l z?EF(Mvz?YxZp*Dl)N9QbpO0pB1K=tep}cL?mbkY-^PIXBcgPk!5O9<^RXLV~w8 zZrgZeGt0$RT$*v0(u!KSX`|42tHKG1%<+zO}cG)kGXZLlo+rle*tiL|ic7wdNRsD@I;iinciG-qGsOoRd zxP@}QE_tl8xO9tEPu_(j-74>FcYRuYe>}Er2rM?o?Zs4jTNHY`+_mi;xx#IT_}#h7S>x&aC=Xh zOZKA-g%#$ty`o#IpNgWf-FiBRe#UIKo}!u9Zjt;feJP{mj4ZeEm}x~Cq7FQ^yIF8? zvry5g4_2G8*7Nki3v%GbY->1XTRf$gGFWc8muS(;;Z1oteN#rrT{~O#)^3-#b{>E2 zD)o>Yw&@Z~w_dM$Y+LufB|9za5-hgfl*JZCs_~xQk+GI_$=Xo-U72oSu!WJTxoEGU zOR&@;-+R?A>5$X*`=Qteq1cD=+Qu&%JePz-?%E&8W19&u*7RuxKWz=q&tk&o%xfeR z@zUnTJIyD%GYdlnPK``{=GRExFX-i?vUqFb@*S6r4u5pk$#0vtb3*W|?C!YD+c7DN z@3xzi9V>@z>x5(FoUQ8d*S3V?v+j6vt2`k~^;6`FjUP6&)Jn%oTQ4VhPap}eZ9bE; zvHC`wx2>yBHXrVjao)sZ+k~DfM{VosY4TS+E$jG9!(Vl}T)N$K8WcRXfp_Jx?M|;c zi#Fl9O_4LRa?3uGB4#`3h@ms;G{T2loc@;GQoh?lwHQc?dXfUnQq)92T>- zOk9(C@pj<8?XIO^w{3_Iw>9j#tXq(E*OB>pD#u|v@)LD_YR| zzKNc}dz&jaXNTjxO|`dX9bVkGB56^mc2QTgi{-&>fXi*6+S|=@`*t$p!<~0`P_5Im zcX)DJyKvCPr~6Ja+!Z@zY1SkK*^scN=H# zG5!H%at~Ddy94)aw>%VkFcfmJOyhbZsb zDozzymv!%E-8zcA7c;&u7j2XIfjqU{d$j07bKCxqMpoay4sV{@Hda0k?ZZ9$V>xe^ zaorB>`z-4|3$i|!$2Q*E6*+BN+dKa|Uu}0Z4vq{39Ja|fA=lOFiRK*HkveX(J)XqT zz1*;|)sr(f?%QE?B033q@zjn;Ux&Q8kK>?g23)x51Dv(_oRA|%NzQTQ#N2Q^ zw|PpqZR4Fi6@SZb{C}1w;l4>zAV&_$F?TX?mpYR9e8TvyL~0Dw)kgT^;gSJTh(6^6QYN9(JxT- z*O@!^b<}meJh$=ER`ujvKoY*%e6C8Xub0cVD!nP^ZsY);n_d`&nya=wZd|ns{#JQu zYunvRBkzj>@zcIP2z{tZJh!d*<8s=z`+vgRwdKqGq|$KJwpS#=C>67TKR^4?~v8{VN8(|4!?uWk1d)q>o=9IC}5`(^oMbCj=YU!_`u>@f`t8D5w3 zHZI&uf$=8a%;BkfBozJU>Vz-kwT;Ji$#>@E z!rh4jc2R!YpOb{YHlL5v0o@TCw{03YI&VXJg86Sx$a9>p;JL@--9*TG@?-rZbM@}< zlQB`I+FE~XOgN6cE(t|{e4gr0fSe3IvOKoQN_SJNdh#Am(ur(!^KMc;YI_BLQmAxl z-kk*FB9)#Tg`Sdkry!K+^HfD}oyLThcc_MI1H z&Ca{oLDuwg_`CCNY2Mw<|9fIh%kplSwe#MXa9`ft zM?%rxuN!|L@9xjL2k6q}N_We-v7#gI{Ukk@cYN+ihi8X>DDNH$^*&xJ}?vhB^gl~lSa3VlBBo<}He$7((17xIqJY97{$c}JcXY0yhC>&p=I zU>jZS)H?r)ioBY4uQ2IR6cMG*ZNb6nniLR&vqn)}?^%2}t*3cnz``+^iZmmB3fWy8?f zYhcC>EJynBy=?4{?-kBtkJ9C%xU4hBqxI)#{wS`9M*b*2fh3*UP3-0PIkDGJe@ri) z>7-unm|kvDFFZAayveTvbRtzSCAwMy#ujeNL zM`c<+fS()llf&pi{KNrYl;O=SMLMFF+obgWNP7=}CbFn)cv65s0t7^1K?qo=HF!Y< z&qKUPWKqylqd|cN+i1+B#ibS-c?bfks%R?XXsWV^zFb2IKJ3&w;NMTJQC)+tp{c1K zSWfR7(bQD(HIYGON?9%X_oukg*m4|OBbzD)$JVBN9Z-`2<3I^6yoWd=z8{VuS!zqb zFR3jIAxdvSHQphw@z&3XcgOP$HQq|z8!wPIWgi)$sT`13g&+EWI3A&kL0*+9onICa#ET6N^^W6Z9U zyU%yRD0&2|Yl1+YAbl&fri(Bfr`&i2xgS0oEkV``p14b-Y!{-91c%)0jU;l|IlPA) zH+btfj<_}WHmSOZaCD+s@M03QW#5kW`}en!fG{C^h$d7Ig<2DaNGm()_A5G@F-z!X#^F0 zMZi)&HPUCSC6Wxi-f}#i4Vod5*cf2p&_}{^JWkA{AUU(v%Aqh?G8brte{a;gsU13sAz+>%^ffg-i)@HZ6H89W0lWCDn;FcqGVL z87(n4KtutV(g%U{SeQ_n4_r!-IxNkH?J*RT{YQ$;3~Ve}R`rfiWRJ`-49ok|0U)J* z7;|f7Cy6nW=-1^*-$X9XBra354kNWKkDzq5HTUO4Q5nEIgJ*hmFZ^%-3dSNftRY+Fa)GLD52BW zOO*lt+K+XBzlo2X3kscjG@F)9q(T20GKEG`W*FZL8sAy@Tq2QX@ZfhF4GVrseE_12 zQnz?^@__S9oMO_-%(-#M)%UYR%A$~=(~4ctSfbO4Jun_D6h7a9WJMZ=+OzI{G?*Z7 zhaYw?j2b;w5le##nYiLP*ezb3td+&^vLqoBwP}gsPaDj}3D^_T0O>TTEP%}c*sy$v zz{zAjhUsK&FbBk%fyFuzq|`&;l*6Qw49UoU5S$qSiEw~RwB&p#olGKRW+GLb{o977 z0Y?A>6YK_3w4f5Xw~P}OXYhnlW~MZWm#N1vice=8D@$r#qHOXD$D{^Mk_fAWO-r*f z0W~kta~pIl<+eoG^OwGVlM06C_5q+JvPG@tcsPDKUfxW>fQ0jRerc_M%LHl|w6E z&ReENE41MR%DCcqGeOEUidnlD4GE~g8?1vwX~P;f#kf*+2~h{u2+}XdP|9AU?CfD$ zq6%rKmYsEwghS7vJs=(GB`_JNl~An&)I*8`frKAOn%EW~kgkh2G0G=oNAyfW(`3C3 z5$6I@m=158A-jSZfHY0b&hwzjGQ-d`k(Qb)Q+WKs(!7UxV4aNi301q^ia05a@8J364C)Q`MG3M{Klkh}aDF_O_fi7$W@C>NM0B$z_ zs9;!S^*0g|fhGqz;ndRFMN$K{ar*!5IN|e}EG%TR2oK>qT`R2&g|iuQePK`th3e9_ zm^4GjOCYapX&!F`Zi?M|w^~yoGjA}WvpYNikn3VM+{btge#H}oSz0pl&jD-FU* zdW5wS^v3kO3_K=X71FViV*nWzJ6eqK6c13;nqWy4M*+^HPZ$rXL{2BWQqaDXUC|>F z;uW^kFjv%$Hj&~Lwulbml?$0JR*Q`uFJ4ul{TC~%PALoQ3VX8J;*|#_`LMG3lx4)O z@T7A?@d~>o*fT&)W=KlE;J!&9!wN`rw3Pe;KUo0Q5QYHNK$Y}{A&#~N;^Cf_O?VY@ zj6|el((pHm0utCkvIp!6mI3|`mEklJYuB$cF^DiONRD~_n=?H5Dc}f4W|KsM`d}xd zg`h$#L3i~$k_zG;ZIEQle3G#Ry|wZff*0aXvV{$c4M`ry{;@_wajZ@P*A}f z3eW&ua2tvVOCVVIVRRXJau0KBo;o%4^ZZDCdwwX)5t|inUD%$ImPlP zQ7F#=Zj#YWg38yxB?4I&nyMqLSjiQStUb{$SxB` zz>rY2Oc<%Z!eW3|5`amt@1oC1OE1F_&IYuB>dCL9rI^-w z)*Bs2;Mos2A*AW6r9z6ap(9PhT9E6)7IOB3Pwmkiltf4{c8fJ$MH#Qc4MPEXd7|Ku zq&11rN(G+AmE`+^mYM32fLmBKPfMgef|%BI}O@n3t1xhGOze`9x=^u_;ZV zo=NzFvch?ZPR|0la+aOcwsbdgfP?d>uQMYFY6?KB(QB>DgzDH>18EEVW!g<7llkC| zz8);W_Fly+aVl0)VwUU=J;fbub1gM01AQ5dEur&TE9T{h<-8TCg%%ID@hawaqM$0g zRNPs~h%5NophT#O1(df!JrKoHn)E&`luIe%C_r~nvdLMn>#}IuiD&~=5p6s8QEc5bpp2|)Bg&YRwb$cmt;Z8@ zj6sDFM?2uifFqs(KU*n=2yp9>gO-pGxFEO<4wI;;gscpm;MdMl#p9VxGMy@r zy>YBgxH~@!E<33T=z;GQV%<={Bpc>s7^)D#AsK6JX$jJ(**dFd7mgYTagt6>MdSsy z)r58p8MbjAq(smLbAaiAM&PBXdIhnA2%#pnserzUwLweb1D^;W@tMz(;fY#%JW0yf z3EN_WhHBwa=GaUM&zoy15NQANAKsSmvONIQx+G$DTfsU}koh?i^3EvC&CpqCtAtCOpQTb&o=kKpY-TlN z9vVlL36=h0l0Y+SD+MQ!%H$PIOe->B^q>cFIh9M<8)w7KdW2k5PKG;rxYN;a1NT7X zV7Q?X>$jqn)&{S#KLBf_XE5MG@_tbu)X?1UXE`oMUQ z^2$?1y5m!-2u`S>l>fk&#!#=+cNcp~c{_|t1`-m7Yn4ABfk1!?L?NxCZ$>v#cwdfp z9HDiDv_PPZR20<^%vX~IV>ORO-lIl%LYE>?fD=Yt?W_Sc2#8f85K4UQ6-Pa76D@K2 z#iR+cR32i4=^cH!Ak1uszvjRe+yy>%D(px^h=IQjX59cXiM1Q&p;4(|@}XiLz-Zb8 z0Klu9Db|cXcH(km_-*H`o=;$C5sZeMqBx^HCbK82i-|Cx{*tc%3AI#XWIatfVgEv6 zqcSHt+0jBmGit0rI4Z}|%=0j1yp4J_%|HrfMr*eUs^{1oUL1n62#nEUPQN%TgO$@u zBJ6?{tcuo}Hc5zL>+sd&tqe|U(rJ2=0C0{8K&=&-E39+~rxPW}A}EDsFeuR1ww9J6 z7|)P@-?jWb&6XT%qqu^jO#nhZD+FqYzKS!QlFZRuQO*po%P z`Er;Xe<4#uDE8a3t}>AZ&MHiF3%- zmK6Di;sSX6az;dhCjr+Stzq2of(4@`LtD{Nz{nO@CrL_(9D)U)r%K%aG7=bEwhI{$ zA}*}8$_&ipRgJl7Xko|G%fuj?Br9YtaY+JNfmBL@3yHt8))q$8;0VbW>hzs!TcT_^ z-Wmj;#=L6k!IjEu$S5 z+#nX+z-a7%M+3IPsWuTuCa%%;ZND6l{h$27TtjqLwy^3ZGP$Xl!rVfsvb3^R+t?ai z7h3y40L)G?7F@y7=vVtPRrRG3Z%(~NN z&{sy?r21}?B!~>^11ua1(y4o65fNiOutNq&(9a?hp+k$2Bi0xPBvn}^Az-8iNPvSB zIPlUn8d+&~3PD)JY2{F}7=3RjWdNO*qO*w}ma!7xpg(=elp43=G$b#h1yK$QB1h<( zM>vJbaC{3UE%;aJ90v{0}ew-xth_@N>wKsliz{cY#0DF;@mD42>>8H)yA zE?-mL7oi$7!kIg47GHiGcu6{CJtkd?cWC=&&VF%AmI>)$7b8bBMaMTIr zapdaQW9RpT^V2wB@uV#?{1$Tm&4H37BY_>SB-aIJOuQXtArA{u%RuHWQ}KF^4Bj$D z$VkRZzp+K~6_*A__Uj&|MqcJmvfnS)hlv)eng^pTvYo-q>Ja zWvE{CfNSP)1nXf92WcG%T8$-5j*(@&BVZvDX9ngFLt#AumW+8Mf&tQLh=C=kS|{wC9eF26iZc*012h&iv>QO@ofqOg zPLhSBkCuch5GA%sc;{?h5`qR)O1lY^qO%@Qkr$R^VX2gW)dFzhpQr$=hK3|+5T&R; zdY8Mu5wi=#nFJA%G#hg=C1d2{9SlBOFg? zWDsDWDp({i`A|ZDAft?)@O)7hs^*&F1(UVEa|h@2nwM4?{?&}TLQfwuwiDxPx==_I3{VGoDp!tB`iQ2Bw-j% z@dyU3g9rt*2#YgyL6BBPI!b>@Uoku2#XIUyP-(DMnanF=@_8$9=dM-82oh00XyE|# z9^@lgp^YGAS`K8e@Z-%vC};3dJHbt;MdP=17F*lL0Nc{}v3Vv;P(@sw}EvIYb+Kd$M%pNW023pj`|~K@k0FZ%49>Ik6`q!a9*rg`Y#~yrAE+ z(Z&%b4lENSZD~fdD+?KjLMUK_{{jY}(6nl-75LlMSwFWL5(Wv?gMcY0{AcbDCs2u% z95RlTo`4dAhLBlmNk33JOE#xSHnxbMovIAE0MtKlXH-Y`|8oKo?F>6tToJS+!v9Jn z17Trxk(kHJ{EcYBHw8ZWh0Ic2L-Y!tAxWYa z{K3_PtHd-EFZUCyb)=321XEB79x(-#K@6EeY@G<5VSXi@?U0Kj`7VV=Qo2X7W1Afq z*6ICUJ+W}>1eJDu6OoB`_Zdlf= zc&8Yx9o&u>@Kw(jvSCt^S2hWtBg}YNTM!m!VOm%dB@)sdUF)3!J0~gMR-j z#cZ@#a=a8fefmeC-cQ>X>{*p2DBq{dksyajzwOD!fvH?S9Hpnog{6p~NSw7;n`a|+ zOaOh!BGc0w$o%n=&Ic2O>Fm56mAGQZsd6C$S^sE0l{Q+G0>Mf;A(kc=meIjQZFY%| z_0h8eK%PWI4zy&(Y(P03x#~fYD0fH@2cig2S1mH!kSrjD0#G8G2^Autj1uikDHjb% zY3-b~W~AGcK5S+=nMFGXkez!fqgk@c!S-`96G z`L(kN5{Fn~9RnZ4q^%A-9!hh=4-!O>Gl-EnT92&_aWHaogbYeFs)^KD^#gIrW=rVEq>G+sfh+-K$6C0(!aRJ+;6Cnq0~$IQoN<~-SheyKy-vsbG@V= zs6@G5O2f0v2!e}fE0s*2EQMEh(yx62fas5bBLZPXmH-=4Oha7> zdWq73lY&Sh^Voo#dJ9qL{~|fHOu{DOH6*zjgdCxqqJ+bNlu%BWIj0^+%;l8Rt4UM_ ztwfr%L~KV~694d=@PVQpQXc^v+e>nSEC@A<;qiTzCDH{%StiI*wenQ0G3SmjB99db z)9@Hjor1bY)Sa}N6JD}Q2!NI{zqO(-iNMK7UN!{j3v41y($b zp)1N*pgeWR9NrWQhgYW|O=L6SA7l%_2#^nkACN(yY&kg&%FqI%9ASu4dE-s(+oq{i8k6yutT;8i6e$mQyHCUAwZ?TsQ|CQ z#@YlDLv09nbi$-~>Og;w4)6eYl?VX*64AI}SHyg1dIC+Hk4AR^PmF}qf-0mLqL^b$ zmU&#s)EVwff;ECGzl<_08>9O3O6D@MfD>J8igHKunbUL zQN(ejBf$eP{znmK#1f1G&PzoRM-t_~i#Q?0WScAnWE($vUegbgZBdd9LJb(0P?LO- z$gAYcXoI7L8EiR#=|ea=Em0#Q`4fenxF}T8m;!iMOzcFdrA%-o%aj_a!WjpB$M1}+ee@X7>5~Fbfo)AQEBnJOh@^ennKmjNSh)E$S z2Bl#+o6vb^40N61*=QwRn*bZEKHwmUDb9t!MKhsdDzfCDrE0ATK^OFN#%yK)6{@B} zGy%u0Y-0s#C9%OEqP(fmNb<@=(p(6}uR0I$7DY}5n*0J@J9_GX%9v^}ozZ|r0Gu}y z6&;%C4A=p$KElru%9uT6yaDYfZc}Q%w5oPcN<8i9Ks>3h}`$HJAW)RmKFM zF}W&u(2Pug0Vxn$gb^2%f^0AWrG#Mh)bqbg0M?GOCIIU8PZNOjPrZe}6|Hv$6M!qD z3BZ8^`5mY$UFaB@NasX9L_nu&xqk|m*8p5&!StSpVCw>u=v6KQ|b|j0niy+i5 zzswYft1u~9B@HIPh!jW?r~WVXg=B-X;W+j3Ja|yTSBeiEkJv< zl*%kFG_)6kPfekQB&`l2sN}KW4!(dw zG>kH=wZsmllITy)H{F-@MNo>pkDx}CC>rG6h!!8Je znLJ8&qK<4{Tmn)yCFsZuwgIl=YqQ|4g3Rm)pOC<|6Unz!42lEN%d7=pgjeb%-a+aO z@`!RhB%<>J+esQm9cSlb46^ySUQE|a+yu@y!&{n7_qfc=rX7^rTRLAXpq+v7AVpTYC9pGvO5zzHHt6-GWoIf=j8#GBJ|Y3jT0v!y&;UmKcxg=1AV7aG@J~zU=W7Isw8p| z!UuuW!Qki>3?3XEiKzF`wgm<(16w)xMN$zshCaLkZ0MnSlw*Zu*er(hPzQ{-7(|-j z#Xt-JYFT^?1QzkZzMTb51Idl!k$(Y=mg=X34A4;@TSPE2C}gN%78sKdz?774#+D_5 zPy)O#Cl2%oD@Ya=dYDXUjFG3vU}qFZD!Vuj>jtQH&48$WaG4)e#z{72n86LK_mohyajT#T(*{DAlN9cT6-5 z;wj4YuWTgkWlUtmz$19{v?)rU`G(l3NPM>4q9q+LG2j3V=@=`=wFV$imV0JCfDo&g ztN>=jV{Va3iQqH&_LAN+lz2%eP#2jGkf0roeisORdqho`4no3(H|$O{4KQ;+U*NHx z5g1aTC*7ujT7nt)!s04=g$A_PYeK;p_F$92&;SdafCpp9%mU$+1caCLI?Y1vGvtt* z3AAT|00#lbCnz8>l_GM4ZU8Eco@&69BA9FnaX24#w99|%FR3%ory<}M zG7bJaeHE}aMuQ1xU{T;Pi}Y0>a4Q<}|AD@Y3)OfNBArg?ObZhcQ>{bLKp`Nqhi_iu zPT*=t#}Zq-rJy?9F_gWfxMr)3mspLve-}KEoyis&JHTfrDhUu-*ezNT03e-pk~|ZS z>Fd>4N{PR4ZREm8Y^G>ej#7m7^hm)(vCRnMkLZh-{kJayQ3D&v7cmppdpOp{{Rr(> z4ZaB5tTXPmqiqR@LCY-G9BfMjynH~wn+Hmr5i_GRVurm0D*t6K0d#;SIV19aIwK~f zrd`~qC;%wDl3#XBqF2ITU}~WEN+6d1^h#(;$`TLYQR}@DY_efU$SZ-nCwe7VdrG|$ z1yNk|N{oUI;XmKM(>G3TB96n4!hM-d=KKt=%wi-r>% z#Bqo!3Zs8vrXv!O38^mXCx+3x1-STsb_?`zOFU@D5e%>@>g}`^0&!+KIs9N|S~*D6 z=yeh@bpf@Yhx*4z21d{hP=8cmh#O%nZr8I7Y$1C8|vA7XE*Qb?WZqgIlwX+VSIHijN z=?v~fN<++GyAf++{D-V#ieH0AbUXuUiC|)23LX(oOxynvLozReuAC9W93T+QkhxAI zW1%E=g?%KRGlY7U(pZZJIUtbqf)d(L8qlT5Q9~y#pf){Ohk+1NLcN|ute$$Jp1qua z)l+m6&JdnR1v5y_(LqknxZ$WpZ>>$p)G)2Um5wPlCdTK~*sc-kV+@Zn;UnzCT_aMW z(TprLy^{ipf?K1dmWp<8*1#(uyy)*IhZ6YaIM%;r%d3XzddSR_F-;|>>+2UtaWjdLT20>%RA*e((P z!(L+^>>}}`BJCnU*HU|pOSX%|gCq$3i1wPGqE>o)%^1h*HOVP$IE<=DOe!-WA%R<> z1kr`8b*bWN5v`Zd)C%GvU9-NF6-SN9t^;NfbUiJxtCV4>#$k!xaPG6li+qS0EItof zrqL5<26(hm8kIxl3^_yCror5hKSZY;kR3=4gc#S9w1giiWh9}Js6h{d0wCJ=lIV~D z6+vhAj`Sa`RJ4r;oJ^dk0pWsoQb2Hiu~=}zD9(b>Oz40b7?P2psd>}?$yCY2Hmo}+ zOWkP`E_TO&hz!sk903{yxu}@lL8D;Qknup2!ALPJ)|17wXyVc_fSP^?J$IFfP!$C0m>i1)$AM|7 zfR~AA0Y0$i?^emQG_p-2(fHsbAg3S|Gyk-9>dg_mf;pmxtnn{3rX)7FsAPo|Tt%e5w+ggp;#I?F~4yFP6Wm-n|+!zI+OIE>7Fxd?3 zR%hJa&u2s?FWOk^U)R$18mze_Sr@1U_@6h*|3I_UudlgmsjDgzcU zl>NIhpqpM9zc? zK~l;bdU}JQer>ieDg(O`l>ws5=tv@OAu59bFFk`mkzbXelon-`#h?r%)3p16WMEws z#oZ_-sDq3_GL7m%f`j&dR}fj20+D4 z6#+^C4a3&2bdhGSnS&pop?!(?MijP6V=AoDGI5oL=+i1~N_N+{t75CPj8{WM7+#P;F*cr4@1`vnu5me@_FpJ1yOqN` zbVR9UBjQP!E)qRXGT{KnU?GRYN0&cNBlYFP6gT$HCwiX>_Lcb)2(f&veB4-uv3wjd z-*^xe&sgC{>Mc|J%a{}f#F!H_kUo)aY)q+s%yHlejX7bgMuOqx6T}xKlpS-CT!v?Y z@T7@8;RWri`# zy3+waEK@!&7kh&LXfc+a29gtO?0FO;G=@>-V>N)on$3kCCU^)%f}kiX0_DUFsgU`Z z6GnZ;K%KOv$k;+G3X9eo4i5!U8~kNzN&7CE6Htk$9N@?EQtFZ7N(JNF%4ELvAu5JWnRt`ZSe_eOsI)+5Q5cj?#+*Eg zHYDJYJ%f}WRZNr}%qy^buqvZL7`mo^t#xQ!g;1ckc8M)3v)dTz$(quI*y5X1d^ZyU z%`h_(sSj!C0n$<|j>c>CQM5)iw4cgy>CJumdUh?=^Y~mFHBrx@*5uDqBbkqAYRbGI zMKm~u7o;$og63ilA2|)&ujA1{Im-0!6G6*{6c<-2)pKbcUZPJjLq&VTD_H(Hg8_&# zvyi={*iYHl{@^7jfQ0Ox1{w_aP;`M%C?~T;CYt4Kll7IwtQS~Wb(^t7Zv3SuR*8;0 zhGuDiSfn6ckY#$?7dHB2+VqG>l*&8HBv=<cOg~f+Q=%*Gd2FJz3 z#Se+&qas4WBa(O^7Wr$B@aW`}khm~FDUKteJ|vo82mOpAhXQ^*PDv375g{qu;JC2( zK?z9_$;k#jCB?@N;#1=Jgu%&Cd{|USQV5upl+2~X$Mb_i;)WUqh)=@U; zV#*Zj>GStu28N+f}SLPNrNJtVwQ(#7IZp|;>c210rb4GHAxH5!BUu~m~T42YC=7p+la z%x}R(4oeuEl1!3kyoXIl!Kc|vOJG{U%ic#uh&_05*2rPW5fL$l?o?U5#=lez2}z2B zoHm9&k!q0X{Dm5^(Qz>m;o>lab>uLbSG+GpmGCNql;KuvTzVIu5D_P;6QKy0!bXHNK1&k03VD|g-+`rGp>_a@x9IImXw9p?Me zH;*)P+xc`x#lq>~>Vk^z_)WUDiM!t45%!NAarvgxi$}Kyb>4pY!?CPOW4h0eEq5R{ zCVbeJ&>t^PL`>?~S7LV~)-)`vnf2F?mWrvz`M4(i)zR%A3BgyA5+he!cqD7u=CVBC zN0#NqnC%v;zUFRk5IcX1@6{7~ihRE8UH>rly651&cUzycyn3rwvkQ6aJ#M%*=I(UP z?0oHbg^=@w+dpj6R6eq``+_;U&sne9w{z)EX?4W}lL1?9sE$^7uG~C6J-&`j`>39I z6+;d-a~rs0x^OGiG_gpsm%li_ruxe3iCLQyD{bFly6REkvU-T<>N4D#4N}aD4WA+D8}{Tw=a`t#kXV=N9uZj`xX^dSb4+80uaY<){Gb@! z|- zq+8x@nrPB#ogl5IRx9_9<5efBZjb7*H7lMszdUf)vPU6jt-jppKmWvy8ru2iH*L$k zcFexn)?TA5x4AdzyRRTWcJ~2(%+BH+TMHMe9_)}Uytp}~QJX7&ZX9xPNqN^I`Iri~ zl5Le?563nMpWR$H$TGLLZkY0%)uSaP=Ci78;4C&TH5<`tmi3#9Ig0U7?cXVanZMXv9{UM|kj4YrsyNV?Y4 zd~pjes~1_3W=Z9Ga3-Vu3+LDk+xcKat|ns#xf<^C&=3trz!*W4{qUcPu~ zobQ9nZ$EFn9Thj`W~DO~_K)i0y6e;ZA)Dfdv?*|S(pxbhL1$fZvWe-yzDkKr$+zS)&lw$Tfde2tFU!Cc0hGkhtdlx(gd_ z^}c#zpz^NIn0IU;qA>NmSqd`<8D%5BT1sSZ2eHR(O|wG=@Bj`M30 z88IdG?8%dXYd7|KQQV=@`AM~|EU7$p*6LRGw_Gh+@}YR|=jPevd!#K&@_fr%dH z=N*v&pB*&`%hIdn9laMeeRsU7()piue%m#!+W3-vJ`Wnac^;U2YFhPsgHE1U-93MOtg~EJlMfr{{;l!Xs000$ zt(f}3;-G->IZL3>r(}iyX9Y^l#H_~~r+x^I!6~;-`ed^?Q4{m$>kE5y@V}8W6 zZ@1~tL+i<_##PAv+@RBpX^z^c1+?6uD192$aeLV&94mh=(VYE#G6WA{N@eQ-Mh4?cG0$< zPv%zaoSi?c{;1oJ+a7x|+RZYr*64ug?Vn!vQkX8aj1TMTbM&2SNbwQFR{WW-jW|u+O1$BZF71+vcV+c~>DOIAl|uQPn25eN=q(en8%jaqg3*ItHEIG1A-g z+qL;V2R8kR7Aa*4jRAV|2skT4j5+SpLMa=aIpAE>-JIAMW$z z_QltQPqt55I=AMh>-mARZ0|j4+O=p*uVW*Q?HuKoeLFyDo@D6}XK(((dveF~onB=v z`63)%y|hXv?&cpAn(WKIm1<|bFfduSr`gL2KTIbldk1K5B__1q_28Xw|gxb9vI*I-BkCF+jg{@KIiDwmzREQp6IyA z!F9mojFzX}nyi>qq3M@)T&S2heS7ZzH@XKzbohYxF5b7_bsdz0Wqw6s%vrMd*=Pqi{hH>n0svY zoBZszVaiA9svctozaCNZ=32kN!UN*h7Vg0r@sHfD9#~Of z^Qtie-EaKSuiaj2^}TZKYK>35IrZ?o#XDBM>;BEMpZb8Vp`CNRl|g*hgYyUdh`ZB$ zp)&Bzoj;YQcKv>EoSGlMZ%FIaXPz~>_v!b(HTSr_kIfY3mbjV>*;O&rHo4QOeGOvP zUnl+Vnfc(_ThnbRYsYoZd0-j!eD~Bz&C4loEeV+1+&`=0a`W3uTHZ-P~_#^qZJK3dOu9zpxwT+I43 z{N=d~->e+WM)ce>;K%OR88KDsoOp5UbMT-UeHs=gPe~pac(m4&jW(l$zihdA&pG0^ zz@rWP&Qy8uIv`0XI5mClcb^TnRvu`twDfbz?RNBY#-dJXdZFunsjcVLy32<4 zv%aFaT`Zl@XV3EUMZHq1zf=S!#QwSP#-Do|jneghb@G1j%9$aflbbxfd_FAF%Pjxx z+EyPE17`L8tD=W|NXgTV-w)>7r&k`f|LfozPlnC2(q8lLKdeXY#7h@`)|}kg<;Q`W z+JgDL4+Ph}HTQ6I-xRwwCtvg^@i))xetJMaov_3Xwf5kQ-(c2DspL{7?sn~Sk zl$da*xV>i@v7_^B#>JXK&iA&Wui>BSDdf)8a_O_!IR8UKXAM7)! z^<?rqpibS9P83;}JFAcy8Sr zpZKEb)YZPbi%gsvH@et)v)O#}x{o_%7i@j`*}HR-PS}y zX!4)k7OiY~>5Q3kmpbRK{IO}))Yd_*svMR-O>gUx2 zc9|#*+uT3z@zWpgBTQ=UeAOiQUfhj>cF%sdvxypX`0melnd3*Qd$@o0`;eNpvU0Qc z3!@{F)ApbK=w5O5;L|5tZJ4vy#eGQ3_FT>J;_8Pht$>sPh)Pw? zd$(EXdGD1ryycD+<7OvW_c>DY_g&@2n7`gsG|@70y0o6#@zEE)hRDbFYBV-t+F!O` z&upCO;ACpoVORgz>*LB-npq`qS;G5Aj;@{dE;uqi)_2L<`iC-Hm$a&p^~aG@LDM>Z zbhvuX{#-^oA-39yoITG6H2u8!?wvXgy(UcYxuNT$4C-pr<>HQ`U%TFmSaDgpW#G`e z51M~z)?i*n%-nM&6NRxU1F<)r`jcLcp26LZ-l^!B(vO|RuDpN4#Wl(jeAD%`^TzG_2f`(g*# z=imRxvW-i=_QPW67nc|3^4?Fhb#shbneoY?Z;tzyKi?i)VECU-d)?}jk|Q+61BH!1$+P7*{xR{=Jos;5h%yy}l0C!Yu^Se*BJ-BkZZVGG>r1*V#sy#g!YJGCE_-oceCDe?89|S7E@H=%jAfCd_)675TQg zY^r)f=g>~aPd(i{a)IJfPNfH)P1RLS1cHQT+a+@a-xLmNNNbURbs z?pW=me$`twZggkWl$g55Iu{qYJ}s>8TRh`RPM^b#4~}bnp7*eCG3rUohTu+(1nJbm zyoXJSTaB-Kc-6r1GyLVf?Xw@hY~68c+s3p6S7OkOr~i>}6jeu@u% z1=w*RS#c_@LPp@s zzfM#dG3#*M#Yuz1lGVA77rgzgAa!$pxA&c%Ww>}Y`10w}m^{aViCLe!x433s|3T*; zSGvk<_q|Df)Ys2l*?dv%{kv{ot@c#A{JQsyaa_ap+@CkT2AQmtPP^T9+bz$U(Y>#q zx~uTsc*XT1|al@r_Gpv;Ga*04wX#*a(NS8bD>k#;^QBS8y3h^(;mN!>k?-A`{TOL zU%alQu;>-|G-~WA%ZZ)~9(+03y0JsL{gq+MXS7&kfB1Y!#p1fZszy#NT2cFLyV3EDUz@xL8QeX0-K7g(J#*Z5 zeKA?vY{jy#BcmIQXiz?{U+NvpoA0vbP2Aj}u2uMmt;ehFDBm%s_;;6kt~D0r_1?4R z*^G)!V^5BcuOrbs8=v>C(UIV;`+b_6Etb8B(zTuP)nD1B@0s6SjxIfYE!ffV(Sy6a z>$K{5C*_WENnzTQtB3zwKS$BNmQ9zdX+iT7N2UrhR1=y-XAu4eZ=HSWJ@n!j5Y|0?nHvsIS;k3Tv3xnt;(P!~=2Ba0?}xA#Bk zz4=Us*jh_1*GzTvE2`AUM7?YOsDR4FhcdHt_FK)?cTHPf>wM)VX|tX!DY-t|`tG6u zYkO9b*HiXAH)o1fkH^V@i(7s;aqPyLNvaI~U_voBdQZT3(|Z>#x2`p$%XEj2b1q%# zV%uZF3Bj&q{Luj|emrsc&?jX6#)Fu&u$C%FtL5Ot^b5gf6a0C-ury7eTmj- z`tYHdhZ}BjZB;yK<>(FmQj?lC^SejiY<@wzdi~pwK^Ccxy{1=P{lja;vr|)c=W#Wg z)#gN&Wbq&zb#B1ySQ(Ij*W{p+htF9ch}Tz*6g!Y`kbKK`BxVVuNidc{!kn9Ha~k0zH-NLe{!!SkDpuIaql=)S@BFj+p96B zPfvZj?03H&4o4dQ(Qy3RutM3oFE4#U2E^EYsWZE?=frYXqRaWrU9tVx?K{<;E-gPQ z*r|hayQh}t9qR4piy%4Xx9};cjkW%hun%Pk5MK@FB79hZfh062b!~ z)Z6&NdXY)PJJ-)H?bUaV+@ezd6;r!vJ@W0J&#gIYi)!fkq3eE{_*ZY}H)>kpp__Iu zN7-zNIXQ?An7De}Y0Doj%Q|@Nb|C#9zxq_m%T1>r>$0%V*knbub00RmoU*2Vfr6iz z9`HonacRhov9~>I-|e-1lAY5Whp5iB`*UoCDxc>b9bNB=edh%urvDYx{O}<2-K|a? z`V!u2|CWa(gWqn7a3Ab___5bp;p)TGrxmlSj_|9pqG)R5=yq>wo4jru-+ge%iwl?5 z<+|s1eqC$wW!KkbE1HdH6g{$EUik($E$^gGoR{^^s&0qP$G46M?^u3EHJ9Iua~9Qb zy|-si@4TiJXFQ7^e=_!&MpCEIyS(xHy9OUAKHJ1c7xhNw|8+{+Gkx1AmmYQb-7)yu z>AMdeIreN-r?(OYU`krylJ$QczFMojVouuCE;c0z^Mm^NMSQq%xN^WKT~_9y^=4b`Yb{Ufn%1Q9`I05iX5F=( zeZA+}0gIIN6(<}VAFyZi9$=iT@p@A=y5c@rQMSsEe3@2`QYMtaO3>#k>N$*+s-CGv^DYAG@<`CZ}&NW*~0)# zchZ&|&Kx?tmFt#Y-wv8nbNGU*L+>97`q{?Z=FXMDy?Z6^ceHr^c*)d`?so#tR8*dh zx!QKw+o`7=died`@Q=nv3d7!xfB9vdEM`E6&+Iy1Y|Bmb?Ceu6`pU8GE9O3}cIS5R zsPaqeId^c{wlAw!Qi~l^J}ww>ZnexcK(ne?A@QEka@>sG+!du{Y*7BmV`D}J$IGwh z)$ZZ@CincKCNJKkw#goHe#*lt{?{UNUb<9?h^zDV!SP31HU|}Yd3{J3Tw$Q1`HTaH zM;z)s|4ZxdU3Nb`xxpnkHex`%PtA+Ab^17e_MwTF%7yz*_xb5)cdX~d9+I2)M~_Rd zdGN}U#MVJRyG@fW9u54MVrjMdRrg7nwo6XDS>zouq}g|El{ITt=SX57kC~<3Aa77q z++$;A^m+4uniVFemCSJ4y7y4Qvxcp0Di4nsGr;3P)!E6L3(x)K(Jy|>z0M-4<~%@oA{xi=vs>p z69U5%tY2)bcc-DrqFzhSUbm3X={t2r|4R8D+O9R{KDQsL+A{0sx}oPAR`)k4oHoku zrQOX#Fy!7oW2eR-~Rcf))4PS zN2-n*R#iFqx0Ah^mGF1(Ejc%}dwQdH@9eH-xBA%Bb-}z#DRojkdsnr+t(f)Rds>GX z*Kd7J=;yc7V~d^Dg`P7nZ7nzu5!C%vyw|S1H?DPQEZ@F2YD-st`wC50wa&iX@$iVk z>=~!}3xx+8Zzvv8)GB7(uDnJrJ(C|ls=l}&=tOGW-}4rPHS$jjtmi(jQWlnsp7}FR zy=ou6&A-azC*S`F3D&Hc<~h$V-erk4vqP=Jy5pagXD#&c**!HOxZB;MqY8UDKkTH; zmu{}QW?=szHsiOwJ^i>(&MI>lVq&b4rIPIl$Gg#w~+~#1D7ofn*L)j=jt*hV{}TaTm3oX@}B<{{bfLf z3D>$MMP@ymHC5L9ZD{8S>ZhlUcTy}Ex%ok*oJ*F0whK1f^Yh8g8#dcw8=i=o-PX0ScJ1lCC8sLCYFG2n zftDTIW`5jw%&z*G>V8XW-)YpiRo$2=tBQ&{AFE&Z)b+}YV&BGx`{bN&J?>x&dk=m? z%#%?gr*@C}8N2sYWvecG=e*uB zbJ^s62WsdF{5~jp+W9`uJidED{6bY)mdgbvU5ChTlY<8>3->G={om!n!9&_b;B_2CCWO$By z)ib_Fa@2gSx2q4@J(+v|+cuuF@%$0`GdN&Or4GW=H!gpfIxVaj{_*(YELlOr;+K!7 zsZ7JV#67S3_;*F6*Dsz1_Oh@%H8$$O0?&z!Tc7-L#XjAk#f;^{&L6g4RJXWd$(_Qy z-|9C?O)rW$u*A(S{No|Ni+0rySf?JFxoe*5-mULXyfU$^9Cbb6bmO=g?Xul3tbRA& zqkT&2pd8otTYVK@uI2ac=+)-d%&xi9s%-E7HuLu89IvK*s=nyIZAibuZoPUG?N;7z z+-Yjlo`rWO?TVBootV)1NcGTbj{Z}#Hs;0VtvWa6OF8%GjI-^>xuxYN1l{^$8Q$7H zcwB+s!po91!@nvI&(7Va9qAtIGb8;f+y7sCkl8b3o9Ww}?&H=zkFtEweA3k2OKvI4 z`8S^&V7|O!)}5A1ZjUJMoU-n(MYZppP)B;#n%-jehzfICE}MI{oNp70BiVa`B0n|z zw#jZ^&exh=&)kmh*fedahhwkwO@h-y*Wb@bR$q(j!H?XvJ=^vDAq;BODAobeNq0$$IZeyZTs2A}WB_6JtxI{8^< zd_LN(X=JBGFS5=bZhNV_Zdu){o>#2<4V4z()-2!CXF_VPqVs`@m(>^k8Jo~(@1Hkb z_1BGB8GQd_^5~G6=Py5PV&)YY)@tqB{8<5sA3ZAm)%R)15PAN=?;VF#PPe}?`0IYF zdBdLc_rIo{nA>Am&7T)8{c!0#xj=jKK=6Uy^AFFxRo5=1Z*-3rC)Z?}`E1Y}@JbCApE-WhWzOhF^X_yrwIBDX(~LTr zEjB|!-Nx_Qe$MQEg$1M99vqHuIkukEr|%jIS;^Ze>#CPiy-Pd0+-qZPO`K}jnqx)t zt1X+cdi`a;R<)-*wp~}%^G(eWiSc{4uAbWTg-OwF-;0eJJIy!S+_~f9y5=vp7GyW+ z?EQJ6&Gk-!?|Ujl80W|vT{+kKh4fuYI(j+7w1`<{5>BKG%d-vZQCjIgBab8W6i1)!wUhOQn5qHn-_h;=6 z4~nwMeE0Ki5B13LAN)SMS6-Qx8ols+v;Aqw5f$A(o<4bc@a(;FHnfTv;_h->le@jr z;p)ZRe&nnkU8(XcZs2Wx7sbAsz^)vc8eDG8*?f3ZkZzii#C!9*0t(bN3(6q)T zyj5t&-?D1V|8A1lWZjtSFWbs8uQ}FF<6r=C@;xV}blh^Gd19l5&u8sA)qK|SxtxwIt}&kv|+hcASRr-_=;5UB;fA6V*O99q_!)ox7W-Oz7p%M|Z== zrfZP$=#GnBBJOqlxL-UE`GFU*~w7bw$&f_ODjZ6u6%gjD|JQuo8>;Qb7}pLh-~6_@@(pqjcWr>b|`+) ztJb9RmBv9`6v^Xv3cA8#Any@u-OAMIm)jCpuyQ@e4iCR;c7oL!;Q zvPGRrysj=>*tz)D@bUp2e@jX*-(1w}@a4UxS-F){SDtAV_#m{Ht8O-_N!*jOOMZ-5 zyLwM;?nPp|$n)M;nk(yV>g6%G(wh;5!{+&YS#;^1?&r3m+MO%TeNul|es&V|!^bb4L=kdw^ueI|4jG}1!_*_jc zy%7i@cz^^Yh9U|`KoWZBO+bp|l3eQLF60tIlVYSuRVktfq6nf$4WWh51re3rOAxUj zB1J?Ik@q)ydr3h3c)!nYmf!vN*`3+hnP+Bia^#*&cx~+RlH-<3;cfKO&Dv#kvOfJX zw$Jo6rI9O-Z-}@wEU(jcvYv$AG3EElwD1@QGfV zkQsVoT>Vv+iyfxa>Gaj^EA=MaUDh*f+TE0Xo55Thv+l|XHd3UO8Z{Rzn$z{_|-4Aq&yFGvWqYIYo{N$AAzOW=F)IVhC znG9!_w?cnxQS6*zynCi*rzRWQW)JD7Id-8%%9ZzD-@nlQ>(Y6T4e<@A6Os{SDc+f~ z?A-fbj&nDjbv^28&fK73k5tY7=Jf1xx;x(UutX1jxeQxbO z7v6l)M)QbPcPCt`^H#~qNsX>quk_wm>jl&KW-<2Dqh{@yv+nxB<<|l(dMD)-G^l;5 z?u%Eqc4_zF&O?nSEh+N-(o`*0ZyPzX)wGsp4}Rb8+c(-@UpA=boL9rQ?C807v z=W1Ha3`{W|y;gH!yV-5$iDo|@`)u%(D^qKQ%wOKlx#aStQupvF$wjy9gDuWcy;J|C+npYY>prF zN$~jq|DhA3;@{Xg?bMC;*S$T+_fDUt8QTKhZxkM~y|=li{chG=@3;D#`{CTRE;Ban zBW&%2?QQc*CO-517fS}txOM*L$l|(l;>OzY4UzYP5+gR2?Cb74@p0zUa{lLgG??>~ zpXG@+O+7YwWbF#e&bT?_Qqtn57bMSKny-OV!^vbaIkuUFWFLt4Ec5 zw;|f&)vXb)MXV1<&RAu>@$<$Z9bVoNcdqKGBQIv1y?FWNk)j?2hsW;;w$1I6oVj${ z-Nf4?CR_LZ7@`^2Ey-v*`MZCMq-mbMzr@(hpLR|Uc;RS5+{O1&hvYQZT|C%Hf292( z-|=@Bdlh9qU9|M~R%_QlI@*8WYi-`r5Lm_Nm~VZmU-B+uPGC)cd@zVv8)$Eb<@(mDrj zw?r&kmlEA#=ozA)o*rVHd&s=`>d}C@LspM}#kj8Mk$1LUT>SlpBaMc6?0wH)+so#(lKKJ0M`Mk9k7hw4&N($N0jHDMw6SS}wlx!nxaikDuH-ch!Np zHTN7}y7u|P7M1I*^&PjqWMIs;O}6D%HWZlO+FH0yx9);Z?&?Et{cyDXGxHDSuhgH8 ztmHfsTJUv}chIcln3sLCGM*ig(SPYhzy01bP50(|i4}ET^jNU^n*Yo;6FnCls;;?_ zmTuhf=dX!<2aUC+?hCUu9%9cle)s2*@S(39jyfN3YDE9kvmHOby|L6WeaqF`mDg`+ zov>>9(PPIJegE#knWLMY*s-fy>5ZNTi&L*J+1xj^Ws&i0hc%5mo$!r1wbCoRb7Nh{ zTXFgk38e{FcP>pWeXgN>`qg&nTZZqm6i(foQc$(Fe*t@;1rZ#lr zbB4(JpKOZRvZloQv8c8EUmsYQq2F=*-Umeo_BVXu(%1qgME=3vc@Rq3QF!Il9Gn)S0X6 zy-%0cm~i;ek?Th;v`RZ$_}e3=3hd*ygnn^rW8?tGs{F62tZ$z`$+Q2r_xv-mQ;ad6 z1!}wp&af`H_gmtMbW7&F!=bkQZ5Mi779}D~TDZ2ZBWl)K?=4Ms`b>Yfzo9fd zT6=Yx>o-^BQ{euj!_>2RDz9?iAOaLi?i+>t#)MwY6Tle*`-H_+j=T5Aim~c(GkZcK zkIOx+M(ADpS`GUFa^IZ-M4$-5@Dv`xL_JX5R)+U~fQuU@COR{*Cf@%Cjc~QU4<9uf={2JjwZ8 z)bGuHBGklwAJxK3&^4r{!kTr7WKDge*`qcK0^J$>}Nn-?6s)u&&kjc`zGb_ zo@XBj6|poW*rO5qL!mL}Kc{}Y<(UGJ*dL>^zb8OD>>nv_V*drGj{P?EC$T>op2a>x z{o(A}p&s^T)DNaZSL{Dj|M$QSr2Pe||A$~V{QbpN{=F_8L^)?<)|GeS`ASpU*)h5#XuSxcr}o&0DMKGu8iA?Aq8L zp|ZcmLtE@0C@=j#2qLiGQvLrTb_?uNs{gaF`BgpBCRC26Y0w4xcgjou%P|v7`**7T zcVgoQ({9!OvQKMaFF|Gg0%(o>E#;;E2LSzSnxp!EBz6q;G1dQ>*ozXQ8I z_7+r*ry0-<`_G5W|Lt5~`ac28#{hI3kVc1Qv532r8!+s2V zH7flz2|8e3r@Zw4Kh6KWs{fP8^CVF&d z6WAM3AD9ZAv2Rme`tzUW|0k;d6UkGP{EJa7yacVVzoESJM}Me_JzMqv2<&FqM^*o4 zVAsViLS=tWhK|_3P+t1~pXUD;s{d2S6G{H%sO;|v&<^_w<)!~$fa=)uRsWC1eir+z z>VG?SJ?s+H52iy`?7I({|2w(9yk85{Apas%1LGhL`)kh2`*|M1uxCCn{|~GFPv`vO zoG(P>{k{V6*gsQV`tzUW|320KR`S#)|1wne*LY})eVOvo|AQa`d!Fk57qMGlpH}^! zg&mDujQYYf=z@KR^3wnRH2?Rg{!b!LE%JYW%KQb;8v8rSOaBjmaO^i!|Bu9u!9K3~ zKNC9&dp+t6Q=k*}uauYV`KS56U-f?~dFqgVB`WKi2<@@2QeO6_d;Y(p`rkeOOI80n z$Wx#ETTy?Q0o}0gv3Ssk$_9-l*bpef4Vr*JgF%EDH2O-!M2RqHVgn31QN^Iqh7kL< znn7a@GMGeFgT^z|FiymB>j4HW<;PJzOqQ<_Xz-Bbjg<@*Sw11apqJ%!A%=#se1jl^ zuPpBqYS^xn*ReJ+uuk#d!D3>y;>{|>pEXRds4T+8Bchgw5{*QRXf1k)B;gbVVv*P> zzLsksCCRl@#VwGsatl(oV6G&$5Ou30Tw8$HCl~>&hP14VP zHMR)0ST>>2>hyYp!ASBTd8)~zCa(t)e`NH&`j8aXazJ*Yj1AX8aG=_CB6mEeZOoy)UCDelzV27WeIxK(};2b;)TVOQ&2^ts& zaj+d~z`J09uOJX!gC1}Y8p3KA0@uL=uRuKPg~#DTNQX-h25-Xia1x$@jW8T;g8{}v zTlfTO!(y<)H&6*?!*g&Ho`xdGgI~ZGra>3@0-|9#WWg1PfcY>8&O!?)ffwN}1k-|G zjY-TzXQI8(Ug%-;Fxm)hgchQOs1tRfKchdR-l#V^1)YL+LOY@R(0ynW8ig)Hm!X+x zCVCmYjE1A(=sa{DIshGjo<>ijF=z~0j25FK(UIsK^bRWDwLH*?=tQ(V+8*75?m_FI zbMP7(c|cGv{*C3_1qAhu%Zw zlOPt%kN^SD9U4G3$j?DKz+;dGRiGa`96AsDz(7 z6j&|Oc0qr-VD(Pl{Qo6+pYk5v?#1^al@)*F}l5q@0`ERU^7O zTwlhP-=cTq5Ya#eT!^>Xtf_?CNF1JPCF%shFo-`P+BmW-1jum3bLeSx=Gk(UZ~61> zY+_9C&2|ex8@OPu*<#Mk9WJ_CbCf6zL?1}D+S9GcqFXj`F=P!&IgG6IT!Mwjn{ehO zr73X_%u4JD8N@-x7jd7-&T$X{!ztP+VI+nTo5CsjSZsM#qFFf1u5X!h|E_=%xiYGP zESYUdlEF4oh*2W%VQ4z7=yqSk5}M)2%OO`{o^!Z}mvKg9C=o(aIEOoPt;80w*leOK z7f1Lex+N#wHr$+Nw+ywU^WP#gI$n+LA-@wZTIV>N&S+P4!~(HrQr<$83Oj|AFc_{& zi#F+ME0x~h%Jf-lhuu!oWf#dl&BX=gY^yb=Lf7S{XK{N3Ub#PWN}iLR?BF15NxGBB zCHeL;BhOAu0iu1#JB>?D=E6?gZKi-|mE*`HWB{E5RlG4d$o5PWCeVeaDJa8oO`(vV4E^%_yIhN!g9E#$??m3KPN1oG+kF7FL%Y8E|Nydt? zai|^PBg*DldRDg0D*Mvqtt^HBu|;I85n3*NXjUdoJQFoHJtdvX<`Cd#D7o7x(?+=o ziyBEsHbe=TQr=T)E;%;k$W$kpD*}vD4rOJQIYnnW!klJtniH)IJExU4QAhV2N3J8u zp~m+SvPacBbWQkj@5phR$Z2BJl+j-w%XI{39OF;vADYxLdh%8WkM$UzDtE_m6B}+a-?$7I< zn}2swc@U`GR5pq4zqhW|+{w}1;z;7Ed4#PN7qp2ZQQJxp&6t5 zOdlmq8CQx{x~{r28b5s{@vhNVGm8LaO^wOg&Dwj~LAvks-X8n4`wUkNrww0es~g*D z$BUP=Hl0I%UHq)8VmK*I={g&GYe#D4>q=M>^$?Y`#iCG`#TtFQzP{nMzNxTk+G*Yq z>y1k_PHiu_0{LI18gikfr22B{^_TRtzP-LrSswT4g?~9hv<5?h!EUgyXxd+P7kiDD zjJJ)|J)ZH1_jtj*6jUw}#_E#~J>PcRy^;{=hDy$W+l0=yqH{vdF5Y&hEFzn>gmQ!nm!ZPs&$*T?L^$z z`3CRLwMM;$2wXOs;|Uq$$>yk`UP^VkV##&(-z7O<t7WQqU;osp^1kHHBEQM|sxTAoze^$HJ;{9kCN+?Cn1xu?2c4zy&y^9%atEgn zD=v>`t!I>XVxBEC+7-zw%D;jU?a0oJ3YBZ&Xd;{`E4gU79 Promise -// 3. pre-run appended it, var Module = {}; ..generated code.. -// 4. External script tag defines var Module. -// We need to check if Module already exists (e.g. case 3 above). -// Substitution will be replaced with actual code on later stage of the build, -// this way Closure Compiler will not mangle it (e.g. case 4. above). -// Note that if you want to run closure, and also to use Module -// after the generated code, you will need to define var Module = {}; -// before the code. Then that object will be used in the code, and you -// can continue to use Module afterwards as well. -var Module = typeof Module != 'undefined' ? Module : {}; - -// Determine the runtime environment we are in. You can customize this by -// setting the ENVIRONMENT setting at compile time (see settings.js). - -// Attempt to auto-detect the environment -var ENVIRONMENT_IS_WEB = typeof window == 'object'; -var ENVIRONMENT_IS_WORKER = typeof WorkerGlobalScope != 'undefined'; -// N.b. Electron.js environment is simultaneously a NODE-environment, but -// also a web environment. -var ENVIRONMENT_IS_NODE = typeof process == 'object' && typeof process.versions == 'object' && typeof process.versions.node == 'string' && process.type != 'renderer'; -var ENVIRONMENT_IS_SHELL = !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_NODE && !ENVIRONMENT_IS_WORKER; - -if (ENVIRONMENT_IS_NODE) { - -} - -// --pre-jses are emitted after the Module integration code, so that they can -// refer to Module (if they choose; they can also define Module) - - -// Sometimes an existing Module object exists with properties -// meant to overwrite the default module functionality. Here -// we collect those properties and reapply _after_ we configure -// the current environment's defaults to avoid having to be so -// defensive during initialization. -var moduleOverrides = {...Module}; - -var arguments_ = []; -var thisProgram = './this.program'; -var quit_ = (status, toThrow) => { - throw toThrow; -}; - -// `/` should be present at the end if `scriptDirectory` is not empty -var scriptDirectory = ''; -function locateFile(path) { - if (Module['locateFile']) { - return Module['locateFile'](path, scriptDirectory); - } - return scriptDirectory + path; -} - -// Hooks that are implemented differently in different runtime environments. -var readAsync, readBinary; - -if (ENVIRONMENT_IS_NODE) { - if (typeof process == 'undefined' || !process.release || process.release.name !== 'node') throw new Error('not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)'); - - var nodeVersion = process.versions.node; - var numericVersion = nodeVersion.split('.').slice(0, 3); - numericVersion = (numericVersion[0] * 10000) + (numericVersion[1] * 100) + (numericVersion[2].split('-')[0] * 1); - var minVersion = 160000; - if (numericVersion < 160000) { - throw new Error('This emscripten-generated code requires node v16.0.0 (detected v' + nodeVersion + ')'); - } - - // These modules will usually be used on Node.js. Load them eagerly to avoid - // the complexity of lazy-loading. - var fs = require('fs'); - var nodePath = require('path'); - - scriptDirectory = __dirname + '/'; - -// include: node_shell_read.js -readBinary = (filename) => { - // We need to re-wrap `file://` strings to URLs. - filename = isFileURI(filename) ? new URL(filename) : filename; - var ret = fs.readFileSync(filename); - assert(Buffer.isBuffer(ret)); - return ret; -}; - -readAsync = async (filename, binary = true) => { - // See the comment in the `readBinary` function. - filename = isFileURI(filename) ? new URL(filename) : filename; - var ret = fs.readFileSync(filename, binary ? undefined : 'utf8'); - assert(binary ? Buffer.isBuffer(ret) : typeof ret == 'string'); - return ret; -}; -// end include: node_shell_read.js - if (!Module['thisProgram'] && process.argv.length > 1) { - thisProgram = process.argv[1].replace(/\\/g, '/'); - } - - arguments_ = process.argv.slice(2); - - if (typeof module != 'undefined') { - module['exports'] = Module; - } - - quit_ = (status, toThrow) => { - process.exitCode = status; - throw toThrow; - }; - -} else -if (ENVIRONMENT_IS_SHELL) { - - if ((typeof process == 'object' && typeof require === 'function') || typeof window == 'object' || typeof WorkerGlobalScope != 'undefined') throw new Error('not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)'); - -} else - -// Note that this includes Node.js workers when relevant (pthreads is enabled). -// Node.js workers are detected as a combination of ENVIRONMENT_IS_WORKER and -// ENVIRONMENT_IS_NODE. -if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) { - if (ENVIRONMENT_IS_WORKER) { // Check worker, not web, since window could be polyfilled - scriptDirectory = self.location.href; - } else if (typeof document != 'undefined' && document.currentScript) { // web - scriptDirectory = document.currentScript.src; - } - // blob urls look like blob:http://site.com/etc/etc and we cannot infer anything from them. - // otherwise, slice off the final part of the url to find the script directory. - // if scriptDirectory does not contain a slash, lastIndexOf will return -1, - // and scriptDirectory will correctly be replaced with an empty string. - // If scriptDirectory contains a query (starting with ?) or a fragment (starting with #), - // they are removed because they could contain a slash. - if (scriptDirectory.startsWith('blob:')) { - scriptDirectory = ''; - } else { - scriptDirectory = scriptDirectory.slice(0, scriptDirectory.replace(/[?#].*/, '').lastIndexOf('/')+1); - } - - if (!(typeof window == 'object' || typeof WorkerGlobalScope != 'undefined')) throw new Error('not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)'); - - { -// include: web_or_worker_shell_read.js -if (ENVIRONMENT_IS_WORKER) { - readBinary = (url) => { - var xhr = new XMLHttpRequest(); - xhr.open('GET', url, false); - xhr.responseType = 'arraybuffer'; - xhr.send(null); - return new Uint8Array(/** @type{!ArrayBuffer} */(xhr.response)); - }; - } - - readAsync = async (url) => { - // Fetch has some additional restrictions over XHR, like it can't be used on a file:// url. - // See https://github.com/github/fetch/pull/92#issuecomment-140665932 - // Cordova or Electron apps are typically loaded from a file:// url. - // So use XHR on webview if URL is a file URL. - if (isFileURI(url)) { - return new Promise((resolve, reject) => { - var xhr = new XMLHttpRequest(); - xhr.open('GET', url, true); - xhr.responseType = 'arraybuffer'; - xhr.onload = () => { - if (xhr.status == 200 || (xhr.status == 0 && xhr.response)) { // file URLs can return 0 - resolve(xhr.response); - return; - } - reject(xhr.status); - }; - xhr.onerror = reject; - xhr.send(null); - }); - } - var response = await fetch(url, { credentials: 'same-origin' }); - if (response.ok) { - return response.arrayBuffer(); - } - throw new Error(response.status + ' : ' + response.url); - }; -// end include: web_or_worker_shell_read.js - } -} else -{ - throw new Error('environment detection error'); -} - -var out = Module['print'] || console.log.bind(console); -var err = Module['printErr'] || console.error.bind(console); - -// Merge back in the overrides -Object.assign(Module, moduleOverrides); -// Free the object hierarchy contained in the overrides, this lets the GC -// reclaim data used. -moduleOverrides = null; -checkIncomingModuleAPI(); - -// Emit code to handle expected values on the Module object. This applies Module.x -// to the proper local x. This has two benefits: first, we only emit it if it is -// expected to arrive, and second, by using a local everywhere else that can be -// minified. - -if (Module['arguments']) arguments_ = Module['arguments'];legacyModuleProp('arguments', 'arguments_'); - -if (Module['thisProgram']) thisProgram = Module['thisProgram'];legacyModuleProp('thisProgram', 'thisProgram'); - -// perform assertions in shell.js after we set up out() and err(), as otherwise if an assertion fails it cannot print the message -// Assertions on removed incoming Module JS APIs. -assert(typeof Module['memoryInitializerPrefixURL'] == 'undefined', 'Module.memoryInitializerPrefixURL option was removed, use Module.locateFile instead'); -assert(typeof Module['pthreadMainPrefixURL'] == 'undefined', 'Module.pthreadMainPrefixURL option was removed, use Module.locateFile instead'); -assert(typeof Module['cdInitializerPrefixURL'] == 'undefined', 'Module.cdInitializerPrefixURL option was removed, use Module.locateFile instead'); -assert(typeof Module['filePackagePrefixURL'] == 'undefined', 'Module.filePackagePrefixURL option was removed, use Module.locateFile instead'); -assert(typeof Module['read'] == 'undefined', 'Module.read option was removed'); -assert(typeof Module['readAsync'] == 'undefined', 'Module.readAsync option was removed (modify readAsync in JS)'); -assert(typeof Module['readBinary'] == 'undefined', 'Module.readBinary option was removed (modify readBinary in JS)'); -assert(typeof Module['setWindowTitle'] == 'undefined', 'Module.setWindowTitle option was removed (modify emscripten_set_window_title in JS)'); -assert(typeof Module['TOTAL_MEMORY'] == 'undefined', 'Module.TOTAL_MEMORY has been renamed Module.INITIAL_MEMORY'); -legacyModuleProp('asm', 'wasmExports'); -legacyModuleProp('readAsync', 'readAsync'); -legacyModuleProp('readBinary', 'readBinary'); -legacyModuleProp('setWindowTitle', 'setWindowTitle'); -var IDBFS = 'IDBFS is no longer included by default; build with -lidbfs.js'; -var PROXYFS = 'PROXYFS is no longer included by default; build with -lproxyfs.js'; -var WORKERFS = 'WORKERFS is no longer included by default; build with -lworkerfs.js'; -var FETCHFS = 'FETCHFS is no longer included by default; build with -lfetchfs.js'; -var ICASEFS = 'ICASEFS is no longer included by default; build with -licasefs.js'; -var JSFILEFS = 'JSFILEFS is no longer included by default; build with -ljsfilefs.js'; -var OPFS = 'OPFS is no longer included by default; build with -lopfs.js'; - -var NODEFS = 'NODEFS is no longer included by default; build with -lnodefs.js'; - -assert(!ENVIRONMENT_IS_SHELL, 'shell environment detected but not enabled at build time. Add `shell` to `-sENVIRONMENT` to enable.'); - -// end include: shell.js - -// include: preamble.js -// === Preamble library stuff === - -// Documentation for the public APIs defined in this file must be updated in: -// site/source/docs/api_reference/preamble.js.rst -// A prebuilt local version of the documentation is available at: -// site/build/text/docs/api_reference/preamble.js.txt -// You can also build docs locally as HTML or other formats in site/ -// An online HTML version (which may be of a different version of Emscripten) -// is up at http://kripken.github.io/emscripten-site/docs/api_reference/preamble.js.html - -var wasmBinary = Module['wasmBinary'];legacyModuleProp('wasmBinary', 'wasmBinary'); - -if (typeof WebAssembly != 'object') { - err('no native wasm support detected'); -} - -// Wasm globals - -var wasmMemory; - -//======================================== -// Runtime essentials -//======================================== - -// whether we are quitting the application. no code should run after this. -// set in exit() and abort() -var ABORT = false; - -// set by exit() and abort(). Passed to 'onExit' handler. -// NOTE: This is also used as the process return code code in shell environments -// but only when noExitRuntime is false. -var EXITSTATUS; - -// In STRICT mode, we only define assert() when ASSERTIONS is set. i.e. we -// don't define it at all in release modes. This matches the behaviour of -// MINIMAL_RUNTIME. -// TODO(sbc): Make this the default even without STRICT enabled. -/** @type {function(*, string=)} */ -function assert(condition, text) { - if (!condition) { - abort('Assertion failed' + (text ? ': ' + text : '')); - } -} - -// We used to include malloc/free by default in the past. Show a helpful error in -// builds with assertions. -function _malloc() { - abort('malloc() called but not included in the build - add `_malloc` to EXPORTED_FUNCTIONS'); -} -function _free() { - // Show a helpful error since we used to include free by default in the past. - abort('free() called but not included in the build - add `_free` to EXPORTED_FUNCTIONS'); -} - -// Memory management - -var HEAP, -/** @type {!Int8Array} */ - HEAP8, -/** @type {!Uint8Array} */ - HEAPU8, -/** @type {!Int16Array} */ - HEAP16, -/** @type {!Uint16Array} */ - HEAPU16, -/** @type {!Int32Array} */ - HEAP32, -/** @type {!Uint32Array} */ - HEAPU32, -/** @type {!Float32Array} */ - HEAPF32, -/* BigInt64Array type is not correctly defined in closure -/** not-@type {!BigInt64Array} */ - HEAP64, -/* BigUint64Array type is not correctly defined in closure -/** not-t@type {!BigUint64Array} */ - HEAPU64, -/** @type {!Float64Array} */ - HEAPF64; - -var runtimeInitialized = false; - -/** - * Indicates whether filename is delivered via file protocol (as opposed to http/https) - * @noinline - */ -var isFileURI = (filename) => filename.startsWith('file://'); - -// include: runtime_shared.js -// include: runtime_stack_check.js -// Initializes the stack cookie. Called at the startup of main and at the startup of each thread in pthreads mode. -function writeStackCookie() { - var max = _emscripten_stack_get_end(); - assert((max & 3) == 0); - // If the stack ends at address zero we write our cookies 4 bytes into the - // stack. This prevents interference with SAFE_HEAP and ASAN which also - // monitor writes to address zero. - if (max == 0) { - max += 4; - } - // The stack grow downwards towards _emscripten_stack_get_end. - // We write cookies to the final two words in the stack and detect if they are - // ever overwritten. - HEAPU32[((max)>>2)] = 0x02135467; - HEAPU32[(((max)+(4))>>2)] = 0x89BACDFE; - // Also test the global address 0 for integrity. - HEAPU32[((0)>>2)] = 1668509029; -} - -function checkStackCookie() { - if (ABORT) return; - var max = _emscripten_stack_get_end(); - // See writeStackCookie(). - if (max == 0) { - max += 4; - } - var cookie1 = HEAPU32[((max)>>2)]; - var cookie2 = HEAPU32[(((max)+(4))>>2)]; - if (cookie1 != 0x02135467 || cookie2 != 0x89BACDFE) { - abort(`Stack overflow! Stack cookie has been overwritten at ${ptrToString(max)}, expected hex dwords 0x89BACDFE and 0x2135467, but received ${ptrToString(cookie2)} ${ptrToString(cookie1)}`); - } - // Also test the global address 0 for integrity. - if (HEAPU32[((0)>>2)] != 0x63736d65 /* 'emsc' */) { - abort('Runtime error: The application has corrupted its heap memory area (address zero)!'); - } -} -// end include: runtime_stack_check.js -// include: runtime_exceptions.js -// end include: runtime_exceptions.js -// include: runtime_debug.js -// Endianness check -(() => { - var h16 = new Int16Array(1); - var h8 = new Int8Array(h16.buffer); - h16[0] = 0x6373; - if (h8[0] !== 0x73 || h8[1] !== 0x63) throw 'Runtime error: expected the system to be little-endian! (Run with -sSUPPORT_BIG_ENDIAN to bypass)'; -})(); - -if (Module['ENVIRONMENT']) { - throw new Error('Module.ENVIRONMENT has been deprecated. To force the environment, use the ENVIRONMENT compile-time option (for example, -sENVIRONMENT=web or -sENVIRONMENT=node)'); -} - -function legacyModuleProp(prop, newName, incoming=true) { - if (!Object.getOwnPropertyDescriptor(Module, prop)) { - Object.defineProperty(Module, prop, { - configurable: true, - get() { - let extra = incoming ? ' (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)' : ''; - abort(`\`Module.${prop}\` has been replaced by \`${newName}\`` + extra); - - } - }); - } -} - -function consumedModuleProp(prop) { - if (!Object.getOwnPropertyDescriptor(Module, prop)) { - Object.defineProperty(Module, prop, { - configurable: true, - set() { - abort(`Attempt to set \`Module.${prop}\` after it has already been processed. This can happen, for example, when code is injected via '--post-js' rather than '--pre-js'`); - - } - }); - } -} - -function ignoredModuleProp(prop) { - if (Object.getOwnPropertyDescriptor(Module, prop)) { - abort(`\`Module.${prop}\` was supplied but \`${prop}\` not included in INCOMING_MODULE_JS_API`); - } -} - -// forcing the filesystem exports a few things by default -function isExportedByForceFilesystem(name) { - return name === 'FS_createPath' || - name === 'FS_createDataFile' || - name === 'FS_createPreloadedFile' || - name === 'FS_unlink' || - name === 'addRunDependency' || - // The old FS has some functionality that WasmFS lacks. - name === 'FS_createLazyFile' || - name === 'FS_createDevice' || - name === 'removeRunDependency'; -} - -/** - * Intercept access to a global symbol. This enables us to give informative - * warnings/errors when folks attempt to use symbols they did not include in - * their build, or no symbols that no longer exist. - */ -function hookGlobalSymbolAccess(sym, func) { - if (typeof globalThis != 'undefined' && !Object.getOwnPropertyDescriptor(globalThis, sym)) { - Object.defineProperty(globalThis, sym, { - configurable: true, - get() { - func(); - return undefined; - } - }); - } -} - -function missingGlobal(sym, msg) { - hookGlobalSymbolAccess(sym, () => { - warnOnce(`\`${sym}\` is not longer defined by emscripten. ${msg}`); - }); -} - -missingGlobal('buffer', 'Please use HEAP8.buffer or wasmMemory.buffer'); -missingGlobal('asm', 'Please use wasmExports instead'); - -function missingLibrarySymbol(sym) { - hookGlobalSymbolAccess(sym, () => { - // Can't `abort()` here because it would break code that does runtime - // checks. e.g. `if (typeof SDL === 'undefined')`. - var msg = `\`${sym}\` is a library symbol and not included by default; add it to your library.js __deps or to DEFAULT_LIBRARY_FUNCS_TO_INCLUDE on the command line`; - // DEFAULT_LIBRARY_FUNCS_TO_INCLUDE requires the name as it appears in - // library.js, which means $name for a JS name with no prefix, or name - // for a JS name like _name. - var librarySymbol = sym; - if (!librarySymbol.startsWith('_')) { - librarySymbol = '$' + sym; - } - msg += ` (e.g. -sDEFAULT_LIBRARY_FUNCS_TO_INCLUDE='${librarySymbol}')`; - if (isExportedByForceFilesystem(sym)) { - msg += '. Alternatively, forcing filesystem support (-sFORCE_FILESYSTEM) can export this for you'; - } - warnOnce(msg); - }); - - // Any symbol that is not included from the JS library is also (by definition) - // not exported on the Module object. - unexportedRuntimeSymbol(sym); -} - -function unexportedRuntimeSymbol(sym) { - if (!Object.getOwnPropertyDescriptor(Module, sym)) { - Object.defineProperty(Module, sym, { - configurable: true, - get() { - var msg = `'${sym}' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the Emscripten FAQ)`; - if (isExportedByForceFilesystem(sym)) { - msg += '. Alternatively, forcing filesystem support (-sFORCE_FILESYSTEM) can export this for you'; - } - abort(msg); - } - }); - } -} - -var runtimeDebug = true; // Switch to false at runtime to disable logging at the right times - -// Used by XXXXX_DEBUG settings to output debug messages. -function dbg(...args) { - if (!runtimeDebug && typeof runtimeDebug != 'undefined') return; - // TODO(sbc): Make this configurable somehow. Its not always convenient for - // logging to show up as warnings. - console.warn(...args); -} -// end include: runtime_debug.js -// include: memoryprofiler.js -// end include: memoryprofiler.js - - -function updateMemoryViews() { - var b = wasmMemory.buffer; - Module['HEAP8'] = HEAP8 = new Int8Array(b); - Module['HEAP16'] = HEAP16 = new Int16Array(b); - Module['HEAPU8'] = HEAPU8 = new Uint8Array(b); - Module['HEAPU16'] = HEAPU16 = new Uint16Array(b); - Module['HEAP32'] = HEAP32 = new Int32Array(b); - Module['HEAPU32'] = HEAPU32 = new Uint32Array(b); - Module['HEAPF32'] = HEAPF32 = new Float32Array(b); - Module['HEAPF64'] = HEAPF64 = new Float64Array(b); - Module['HEAP64'] = HEAP64 = new BigInt64Array(b); - Module['HEAPU64'] = HEAPU64 = new BigUint64Array(b); -} - -// end include: runtime_shared.js -assert(!Module['STACK_SIZE'], 'STACK_SIZE can no longer be set at runtime. Use -sSTACK_SIZE at link time') - -assert(typeof Int32Array != 'undefined' && typeof Float64Array !== 'undefined' && Int32Array.prototype.subarray != undefined && Int32Array.prototype.set != undefined, - 'JS engine does not provide full typed array support'); - -// If memory is defined in wasm, the user can't provide it, or set INITIAL_MEMORY -assert(!Module['wasmMemory'], 'Use of `wasmMemory` detected. Use -sIMPORTED_MEMORY to define wasmMemory externally'); -assert(!Module['INITIAL_MEMORY'], 'Detected runtime INITIAL_MEMORY setting. Use -sIMPORTED_MEMORY to define wasmMemory dynamically'); - -function preRun() { - if (Module['preRun']) { - if (typeof Module['preRun'] == 'function') Module['preRun'] = [Module['preRun']]; - while (Module['preRun'].length) { - addOnPreRun(Module['preRun'].shift()); - } - } - consumedModuleProp('preRun'); - callRuntimeCallbacks(onPreRuns); -} - -function initRuntime() { - assert(!runtimeInitialized); - runtimeInitialized = true; - - checkStackCookie(); - - if (!Module['noFSInit'] && !FS.initialized) FS.init(); -TTY.init(); - - wasmExports['__wasm_call_ctors'](); - - FS.ignorePermissions = false; -} - -function preMain() { - checkStackCookie(); - -} - -function postRun() { - checkStackCookie(); - - if (Module['postRun']) { - if (typeof Module['postRun'] == 'function') Module['postRun'] = [Module['postRun']]; - while (Module['postRun'].length) { - addOnPostRun(Module['postRun'].shift()); - } - } - consumedModuleProp('postRun'); - - callRuntimeCallbacks(onPostRuns); -} - -// A counter of dependencies for calling run(). If we need to -// do asynchronous work before running, increment this and -// decrement it. Incrementing must happen in a place like -// Module.preRun (used by emcc to add file preloading). -// Note that you can add dependencies in preRun, even though -// it happens right before run - run will be postponed until -// the dependencies are met. -var runDependencies = 0; -var dependenciesFulfilled = null; // overridden to take different actions when all run dependencies are fulfilled -var runDependencyTracking = {}; -var runDependencyWatcher = null; - -function getUniqueRunDependency(id) { - var orig = id; - while (1) { - if (!runDependencyTracking[id]) return id; - id = orig + Math.random(); - } -} - -function addRunDependency(id) { - runDependencies++; - - Module['monitorRunDependencies']?.(runDependencies); - - if (id) { - assert(!runDependencyTracking[id]); - runDependencyTracking[id] = 1; - if (runDependencyWatcher === null && typeof setInterval != 'undefined') { - // Check for missing dependencies every few seconds - runDependencyWatcher = setInterval(() => { - if (ABORT) { - clearInterval(runDependencyWatcher); - runDependencyWatcher = null; - return; - } - var shown = false; - for (var dep in runDependencyTracking) { - if (!shown) { - shown = true; - err('still waiting on run dependencies:'); - } - err(`dependency: ${dep}`); - } - if (shown) { - err('(end of list)'); - } - }, 10000); - } - } else { - err('warning: run dependency added without ID'); - } -} - -function removeRunDependency(id) { - runDependencies--; - - Module['monitorRunDependencies']?.(runDependencies); - - if (id) { - assert(runDependencyTracking[id]); - delete runDependencyTracking[id]; - } else { - err('warning: run dependency removed without ID'); - } - if (runDependencies == 0) { - if (runDependencyWatcher !== null) { - clearInterval(runDependencyWatcher); - runDependencyWatcher = null; - } - if (dependenciesFulfilled) { - var callback = dependenciesFulfilled; - dependenciesFulfilled = null; - callback(); // can add another dependenciesFulfilled - } - } -} - -/** @param {string|number=} what */ -function abort(what) { - Module['onAbort']?.(what); - - what = 'Aborted(' + what + ')'; - // TODO(sbc): Should we remove printing and leave it up to whoever - // catches the exception? - err(what); - - ABORT = true; - - // Use a wasm runtime error, because a JS error might be seen as a foreign - // exception, which means we'd run destructors on it. We need the error to - // simply make the program stop. - // FIXME This approach does not work in Wasm EH because it currently does not assume - // all RuntimeErrors are from traps; it decides whether a RuntimeError is from - // a trap or not based on a hidden field within the object. So at the moment - // we don't have a way of throwing a wasm trap from JS. TODO Make a JS API that - // allows this in the wasm spec. - - // Suppress closure compiler warning here. Closure compiler's builtin extern - // definition for WebAssembly.RuntimeError claims it takes no arguments even - // though it can. - // TODO(https://github.com/google/closure-compiler/pull/3913): Remove if/when upstream closure gets fixed. - /** @suppress {checkTypes} */ - var e = new WebAssembly.RuntimeError(what); - - // Throw the error whether or not MODULARIZE is set because abort is used - // in code paths apart from instantiation where an exception is expected - // to be thrown when abort is called. - throw e; -} - -function createExportWrapper(name, nargs) { - return (...args) => { - assert(runtimeInitialized, `native function \`${name}\` called before runtime initialization`); - var f = wasmExports[name]; - assert(f, `exported native function \`${name}\` not found`); - // Only assert for too many arguments. Too few can be valid since the missing arguments will be zero filled. - assert(args.length <= nargs, `native function \`${name}\` called with ${args.length} args but expects ${nargs}`); - return f(...args); - }; -} - -var wasmBinaryFile; - -function findWasmBinary() { - return locateFile('minigzip.wasm'); -} - -function getBinarySync(file) { - if (file == wasmBinaryFile && wasmBinary) { - return new Uint8Array(wasmBinary); - } - if (readBinary) { - return readBinary(file); - } - throw 'both async and sync fetching of the wasm failed'; -} - -async function getWasmBinary(binaryFile) { - // If we don't have the binary yet, load it asynchronously using readAsync. - if (!wasmBinary) { - // Fetch the binary using readAsync - try { - var response = await readAsync(binaryFile); - return new Uint8Array(response); - } catch { - // Fall back to getBinarySync below; - } - } - - // Otherwise, getBinarySync should be able to get it synchronously - return getBinarySync(binaryFile); -} - -async function instantiateArrayBuffer(binaryFile, imports) { - try { - var binary = await getWasmBinary(binaryFile); - var instance = await WebAssembly.instantiate(binary, imports); - return instance; - } catch (reason) { - err(`failed to asynchronously prepare wasm: ${reason}`); - - // Warn on some common problems. - if (isFileURI(wasmBinaryFile)) { - err(`warning: Loading from a file URI (${wasmBinaryFile}) is not supported in most browsers. See https://emscripten.org/docs/getting_started/FAQ.html#how-do-i-run-a-local-webserver-for-testing-why-does-my-program-stall-in-downloading-or-preparing`); - } - abort(reason); - } -} - -async function instantiateAsync(binary, binaryFile, imports) { - if (!binary && typeof WebAssembly.instantiateStreaming == 'function' - // Don't use streaming for file:// delivered objects in a webview, fetch them synchronously. - && !isFileURI(binaryFile) - // Avoid instantiateStreaming() on Node.js environment for now, as while - // Node.js v18.1.0 implements it, it does not have a full fetch() - // implementation yet. - // - // Reference: - // https://github.com/emscripten-core/emscripten/pull/16917 - && !ENVIRONMENT_IS_NODE - ) { - try { - var response = fetch(binaryFile, { credentials: 'same-origin' }); - var instantiationResult = await WebAssembly.instantiateStreaming(response, imports); - return instantiationResult; - } catch (reason) { - // We expect the most common failure cause to be a bad MIME type for the binary, - // in which case falling back to ArrayBuffer instantiation should work. - err(`wasm streaming compile failed: ${reason}`); - err('falling back to ArrayBuffer instantiation'); - // fall back of instantiateArrayBuffer below - }; - } - return instantiateArrayBuffer(binaryFile, imports); -} - -function getWasmImports() { - // prepare imports - return { - 'env': wasmImports, - 'wasi_snapshot_preview1': wasmImports, - } -} - -// Create the wasm instance. -// Receives the wasm imports, returns the exports. -async function createWasm() { - // Load the wasm module and create an instance of using native support in the JS engine. - // handle a generated wasm instance, receiving its exports and - // performing other necessary setup - /** @param {WebAssembly.Module=} module*/ - function receiveInstance(instance, module) { - wasmExports = instance.exports; - - - - wasmMemory = wasmExports['memory']; - - assert(wasmMemory, 'memory not found in wasm exports'); - updateMemoryViews(); - - removeRunDependency('wasm-instantiate'); - return wasmExports; - } - // wait for the pthread pool (if any) - addRunDependency('wasm-instantiate'); - - // Prefer streaming instantiation if available. - // Async compilation can be confusing when an error on the page overwrites Module - // (for example, if the order of elements is wrong, and the one defining Module is - // later), so we save Module and check it later. - var trueModule = Module; - function receiveInstantiationResult(result) { - // 'result' is a ResultObject object which has both the module and instance. - // receiveInstance() will swap in the exports (to Module.asm) so they can be called - assert(Module === trueModule, 'the Module object should not be replaced during async compilation - perhaps the order of HTML elements is wrong?'); - trueModule = null; - // TODO: Due to Closure regression https://github.com/google/closure-compiler/issues/3193, the above line no longer optimizes out down to the following line. - // When the regression is fixed, can restore the above PTHREADS-enabled path. - return receiveInstance(result['instance']); - } - - var info = getWasmImports(); - - // User shell pages can write their own Module.instantiateWasm = function(imports, successCallback) callback - // to manually instantiate the Wasm module themselves. This allows pages to - // run the instantiation parallel to any other async startup actions they are - // performing. - // Also pthreads and wasm workers initialize the wasm instance through this - // path. - if (Module['instantiateWasm']) { - return new Promise((resolve, reject) => { - try { - Module['instantiateWasm'](info, (mod, inst) => { - receiveInstance(mod, inst); - resolve(mod.exports); - }); - } catch(e) { - err(`Module.instantiateWasm callback failed with error: ${e}`); - reject(e); - } - }); - } - - wasmBinaryFile ??= findWasmBinary(); - var result = await instantiateAsync(wasmBinary, wasmBinaryFile, info); - var exports = receiveInstantiationResult(result); - return exports; -} - -// end include: preamble.js - -// Begin JS library code - - - class ExitStatus { - name = 'ExitStatus'; - constructor(status) { - this.message = `Program terminated with exit(${status})`; - this.status = status; - } - } - - var callRuntimeCallbacks = (callbacks) => { - while (callbacks.length > 0) { - // Pass the module as the first argument. - callbacks.shift()(Module); - } - }; - var onPostRuns = []; - var addOnPostRun = (cb) => onPostRuns.unshift(cb); - - var onPreRuns = []; - var addOnPreRun = (cb) => onPreRuns.unshift(cb); - - - - /** - * @param {number} ptr - * @param {string} type - */ - function getValue(ptr, type = 'i8') { - if (type.endsWith('*')) type = '*'; - switch (type) { - case 'i1': return HEAP8[ptr]; - case 'i8': return HEAP8[ptr]; - case 'i16': return HEAP16[((ptr)>>1)]; - case 'i32': return HEAP32[((ptr)>>2)]; - case 'i64': return HEAP64[((ptr)>>3)]; - case 'float': return HEAPF32[((ptr)>>2)]; - case 'double': return HEAPF64[((ptr)>>3)]; - case '*': return HEAPU32[((ptr)>>2)]; - default: abort(`invalid type for getValue: ${type}`); - } - } - - var noExitRuntime = Module['noExitRuntime'] || true; - - var ptrToString = (ptr) => { - assert(typeof ptr === 'number'); - // With CAN_ADDRESS_2GB or MEMORY64, pointers are already unsigned. - ptr >>>= 0; - return '0x' + ptr.toString(16).padStart(8, '0'); - }; - - - /** - * @param {number} ptr - * @param {number} value - * @param {string} type - */ - function setValue(ptr, value, type = 'i8') { - if (type.endsWith('*')) type = '*'; - switch (type) { - case 'i1': HEAP8[ptr] = value; break; - case 'i8': HEAP8[ptr] = value; break; - case 'i16': HEAP16[((ptr)>>1)] = value; break; - case 'i32': HEAP32[((ptr)>>2)] = value; break; - case 'i64': HEAP64[((ptr)>>3)] = BigInt(value); break; - case 'float': HEAPF32[((ptr)>>2)] = value; break; - case 'double': HEAPF64[((ptr)>>3)] = value; break; - case '*': HEAPU32[((ptr)>>2)] = value; break; - default: abort(`invalid type for setValue: ${type}`); - } - } - - var stackRestore = (val) => __emscripten_stack_restore(val); - - var stackSave = () => _emscripten_stack_get_current(); - - var warnOnce = (text) => { - warnOnce.shown ||= {}; - if (!warnOnce.shown[text]) { - warnOnce.shown[text] = 1; - if (ENVIRONMENT_IS_NODE) text = 'warning: ' + text; - err(text); - } - }; - - /** @suppress {duplicate } */ - var syscallGetVarargI = () => { - assert(SYSCALLS.varargs != undefined); - // the `+` prepended here is necessary to convince the JSCompiler that varargs is indeed a number. - var ret = HEAP32[((+SYSCALLS.varargs)>>2)]; - SYSCALLS.varargs += 4; - return ret; - }; - var syscallGetVarargP = syscallGetVarargI; - - - var PATH = { - isAbs:(path) => path.charAt(0) === '/', - splitPath:(filename) => { - var splitPathRe = /^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/; - return splitPathRe.exec(filename).slice(1); - }, - normalizeArray:(parts, allowAboveRoot) => { - // if the path tries to go above the root, `up` ends up > 0 - var up = 0; - for (var i = parts.length - 1; i >= 0; i--) { - var last = parts[i]; - if (last === '.') { - parts.splice(i, 1); - } else if (last === '..') { - parts.splice(i, 1); - up++; - } else if (up) { - parts.splice(i, 1); - up--; - } - } - // if the path is allowed to go above the root, restore leading ..s - if (allowAboveRoot) { - for (; up; up--) { - parts.unshift('..'); - } - } - return parts; - }, - normalize:(path) => { - var isAbsolute = PATH.isAbs(path), - trailingSlash = path.slice(-1) === '/'; - // Normalize the path - path = PATH.normalizeArray(path.split('/').filter((p) => !!p), !isAbsolute).join('/'); - if (!path && !isAbsolute) { - path = '.'; - } - if (path && trailingSlash) { - path += '/'; - } - return (isAbsolute ? '/' : '') + path; - }, - dirname:(path) => { - var result = PATH.splitPath(path), - root = result[0], - dir = result[1]; - if (!root && !dir) { - // No dirname whatsoever - return '.'; - } - if (dir) { - // It has a dirname, strip trailing slash - dir = dir.slice(0, -1); - } - return root + dir; - }, - basename:(path) => path && path.match(/([^\/]+|\/)\/*$/)[1], - join:(...paths) => PATH.normalize(paths.join('/')), - join2:(l, r) => PATH.normalize(l + '/' + r), - }; - - var initRandomFill = () => { - // This block is not needed on v19+ since crypto.getRandomValues is builtin - if (ENVIRONMENT_IS_NODE) { - var nodeCrypto = require('crypto'); - return (view) => nodeCrypto.randomFillSync(view); - } - - return (view) => crypto.getRandomValues(view); - }; - var randomFill = (view) => { - // Lazily init on the first invocation. - (randomFill = initRandomFill())(view); - }; - - - - var PATH_FS = { - resolve:(...args) => { - var resolvedPath = '', - resolvedAbsolute = false; - for (var i = args.length - 1; i >= -1 && !resolvedAbsolute; i--) { - var path = (i >= 0) ? args[i] : FS.cwd(); - // Skip empty and invalid entries - if (typeof path != 'string') { - throw new TypeError('Arguments to path.resolve must be strings'); - } else if (!path) { - return ''; // an invalid portion invalidates the whole thing - } - resolvedPath = path + '/' + resolvedPath; - resolvedAbsolute = PATH.isAbs(path); - } - // At this point the path should be resolved to a full absolute path, but - // handle relative paths to be safe (might happen when process.cwd() fails) - resolvedPath = PATH.normalizeArray(resolvedPath.split('/').filter((p) => !!p), !resolvedAbsolute).join('/'); - return ((resolvedAbsolute ? '/' : '') + resolvedPath) || '.'; - }, - relative:(from, to) => { - from = PATH_FS.resolve(from).slice(1); - to = PATH_FS.resolve(to).slice(1); - function trim(arr) { - var start = 0; - for (; start < arr.length; start++) { - if (arr[start] !== '') break; - } - var end = arr.length - 1; - for (; end >= 0; end--) { - if (arr[end] !== '') break; - } - if (start > end) return []; - return arr.slice(start, end - start + 1); - } - var fromParts = trim(from.split('/')); - var toParts = trim(to.split('/')); - var length = Math.min(fromParts.length, toParts.length); - var samePartsLength = length; - for (var i = 0; i < length; i++) { - if (fromParts[i] !== toParts[i]) { - samePartsLength = i; - break; - } - } - var outputParts = []; - for (var i = samePartsLength; i < fromParts.length; i++) { - outputParts.push('..'); - } - outputParts = outputParts.concat(toParts.slice(samePartsLength)); - return outputParts.join('/'); - }, - }; - - - var UTF8Decoder = typeof TextDecoder != 'undefined' ? new TextDecoder() : undefined; - - /** - * Given a pointer 'idx' to a null-terminated UTF8-encoded string in the given - * array that contains uint8 values, returns a copy of that string as a - * Javascript String object. - * heapOrArray is either a regular array, or a JavaScript typed array view. - * @param {number=} idx - * @param {number=} maxBytesToRead - * @return {string} - */ - var UTF8ArrayToString = (heapOrArray, idx = 0, maxBytesToRead = NaN) => { - var endIdx = idx + maxBytesToRead; - var endPtr = idx; - // TextDecoder needs to know the byte length in advance, it doesn't stop on - // null terminator by itself. Also, use the length info to avoid running tiny - // strings through TextDecoder, since .subarray() allocates garbage. - // (As a tiny code save trick, compare endPtr against endIdx using a negation, - // so that undefined/NaN means Infinity) - while (heapOrArray[endPtr] && !(endPtr >= endIdx)) ++endPtr; - - if (endPtr - idx > 16 && heapOrArray.buffer && UTF8Decoder) { - return UTF8Decoder.decode(heapOrArray.subarray(idx, endPtr)); - } - var str = ''; - // If building with TextDecoder, we have already computed the string length - // above, so test loop end condition against that - while (idx < endPtr) { - // For UTF8 byte structure, see: - // http://en.wikipedia.org/wiki/UTF-8#Description - // https://www.ietf.org/rfc/rfc2279.txt - // https://tools.ietf.org/html/rfc3629 - var u0 = heapOrArray[idx++]; - if (!(u0 & 0x80)) { str += String.fromCharCode(u0); continue; } - var u1 = heapOrArray[idx++] & 63; - if ((u0 & 0xE0) == 0xC0) { str += String.fromCharCode(((u0 & 31) << 6) | u1); continue; } - var u2 = heapOrArray[idx++] & 63; - if ((u0 & 0xF0) == 0xE0) { - u0 = ((u0 & 15) << 12) | (u1 << 6) | u2; - } else { - if ((u0 & 0xF8) != 0xF0) warnOnce('Invalid UTF-8 leading byte ' + ptrToString(u0) + ' encountered when deserializing a UTF-8 string in wasm memory to a JS string!'); - u0 = ((u0 & 7) << 18) | (u1 << 12) | (u2 << 6) | (heapOrArray[idx++] & 63); - } - - if (u0 < 0x10000) { - str += String.fromCharCode(u0); - } else { - var ch = u0 - 0x10000; - str += String.fromCharCode(0xD800 | (ch >> 10), 0xDC00 | (ch & 0x3FF)); - } - } - return str; - }; - - var FS_stdin_getChar_buffer = []; - - var lengthBytesUTF8 = (str) => { - var len = 0; - for (var i = 0; i < str.length; ++i) { - // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code - // unit, not a Unicode code point of the character! So decode - // UTF16->UTF32->UTF8. - // See http://unicode.org/faq/utf_bom.html#utf16-3 - var c = str.charCodeAt(i); // possibly a lead surrogate - if (c <= 0x7F) { - len++; - } else if (c <= 0x7FF) { - len += 2; - } else if (c >= 0xD800 && c <= 0xDFFF) { - len += 4; ++i; - } else { - len += 3; - } - } - return len; - }; - - var stringToUTF8Array = (str, heap, outIdx, maxBytesToWrite) => { - assert(typeof str === 'string', `stringToUTF8Array expects a string (got ${typeof str})`); - // Parameter maxBytesToWrite is not optional. Negative values, 0, null, - // undefined and false each don't write out any bytes. - if (!(maxBytesToWrite > 0)) - return 0; - - var startIdx = outIdx; - var endIdx = outIdx + maxBytesToWrite - 1; // -1 for string null terminator. - for (var i = 0; i < str.length; ++i) { - // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code - // unit, not a Unicode code point of the character! So decode - // UTF16->UTF32->UTF8. - // See http://unicode.org/faq/utf_bom.html#utf16-3 - // For UTF8 byte structure, see http://en.wikipedia.org/wiki/UTF-8#Description - // and https://www.ietf.org/rfc/rfc2279.txt - // and https://tools.ietf.org/html/rfc3629 - var u = str.charCodeAt(i); // possibly a lead surrogate - if (u >= 0xD800 && u <= 0xDFFF) { - var u1 = str.charCodeAt(++i); - u = 0x10000 + ((u & 0x3FF) << 10) | (u1 & 0x3FF); - } - if (u <= 0x7F) { - if (outIdx >= endIdx) break; - heap[outIdx++] = u; - } else if (u <= 0x7FF) { - if (outIdx + 1 >= endIdx) break; - heap[outIdx++] = 0xC0 | (u >> 6); - heap[outIdx++] = 0x80 | (u & 63); - } else if (u <= 0xFFFF) { - if (outIdx + 2 >= endIdx) break; - heap[outIdx++] = 0xE0 | (u >> 12); - heap[outIdx++] = 0x80 | ((u >> 6) & 63); - heap[outIdx++] = 0x80 | (u & 63); - } else { - if (outIdx + 3 >= endIdx) break; - if (u > 0x10FFFF) warnOnce('Invalid Unicode code point ' + ptrToString(u) + ' encountered when serializing a JS string to a UTF-8 string in wasm memory! (Valid unicode code points should be in range 0-0x10FFFF).'); - heap[outIdx++] = 0xF0 | (u >> 18); - heap[outIdx++] = 0x80 | ((u >> 12) & 63); - heap[outIdx++] = 0x80 | ((u >> 6) & 63); - heap[outIdx++] = 0x80 | (u & 63); - } - } - // Null-terminate the pointer to the buffer. - heap[outIdx] = 0; - return outIdx - startIdx; - }; - /** @type {function(string, boolean=, number=)} */ - var intArrayFromString = (stringy, dontAddNull, length) => { - var len = length > 0 ? length : lengthBytesUTF8(stringy)+1; - var u8array = new Array(len); - var numBytesWritten = stringToUTF8Array(stringy, u8array, 0, u8array.length); - if (dontAddNull) u8array.length = numBytesWritten; - return u8array; - }; - var FS_stdin_getChar = () => { - if (!FS_stdin_getChar_buffer.length) { - var result = null; - if (ENVIRONMENT_IS_NODE) { - // we will read data by chunks of BUFSIZE - var BUFSIZE = 256; - var buf = Buffer.alloc(BUFSIZE); - var bytesRead = 0; - - // For some reason we must suppress a closure warning here, even though - // fd definitely exists on process.stdin, and is even the proper way to - // get the fd of stdin, - // https://github.com/nodejs/help/issues/2136#issuecomment-523649904 - // This started to happen after moving this logic out of library_tty.js, - // so it is related to the surrounding code in some unclear manner. - /** @suppress {missingProperties} */ - var fd = process.stdin.fd; - - try { - bytesRead = fs.readSync(fd, buf, 0, BUFSIZE); - } catch(e) { - // Cross-platform differences: on Windows, reading EOF throws an - // exception, but on other OSes, reading EOF returns 0. Uniformize - // behavior by treating the EOF exception to return 0. - if (e.toString().includes('EOF')) bytesRead = 0; - else throw e; - } - - if (bytesRead > 0) { - result = buf.slice(0, bytesRead).toString('utf-8'); - } - } else - if (typeof window != 'undefined' && - typeof window.prompt == 'function') { - // Browser. - result = window.prompt('Input: '); // returns null on cancel - if (result !== null) { - result += '\n'; - } - } else - {} - if (!result) { - return null; - } - FS_stdin_getChar_buffer = intArrayFromString(result, true); - } - return FS_stdin_getChar_buffer.shift(); - }; - var TTY = { - ttys:[], - init() { - // https://github.com/emscripten-core/emscripten/pull/1555 - // if (ENVIRONMENT_IS_NODE) { - // // currently, FS.init does not distinguish if process.stdin is a file or TTY - // // device, it always assumes it's a TTY device. because of this, we're forcing - // // process.stdin to UTF8 encoding to at least make stdin reading compatible - // // with text files until FS.init can be refactored. - // process.stdin.setEncoding('utf8'); - // } - }, - shutdown() { - // https://github.com/emscripten-core/emscripten/pull/1555 - // if (ENVIRONMENT_IS_NODE) { - // // inolen: any idea as to why node -e 'process.stdin.read()' wouldn't exit immediately (with process.stdin being a tty)? - // // isaacs: because now it's reading from the stream, you've expressed interest in it, so that read() kicks off a _read() which creates a ReadReq operation - // // inolen: I thought read() in that case was a synchronous operation that just grabbed some amount of buffered data if it exists? - // // isaacs: it is. but it also triggers a _read() call, which calls readStart() on the handle - // // isaacs: do process.stdin.pause() and i'd think it'd probably close the pending call - // process.stdin.pause(); - // } - }, - register(dev, ops) { - TTY.ttys[dev] = { input: [], output: [], ops: ops }; - FS.registerDevice(dev, TTY.stream_ops); - }, - stream_ops:{ - open(stream) { - var tty = TTY.ttys[stream.node.rdev]; - if (!tty) { - throw new FS.ErrnoError(43); - } - stream.tty = tty; - stream.seekable = false; - }, - close(stream) { - // flush any pending line data - stream.tty.ops.fsync(stream.tty); - }, - fsync(stream) { - stream.tty.ops.fsync(stream.tty); - }, - read(stream, buffer, offset, length, pos /* ignored */) { - if (!stream.tty || !stream.tty.ops.get_char) { - throw new FS.ErrnoError(60); - } - var bytesRead = 0; - for (var i = 0; i < length; i++) { - var result; - try { - result = stream.tty.ops.get_char(stream.tty); - } catch (e) { - throw new FS.ErrnoError(29); - } - if (result === undefined && bytesRead === 0) { - throw new FS.ErrnoError(6); - } - if (result === null || result === undefined) break; - bytesRead++; - buffer[offset+i] = result; - } - if (bytesRead) { - stream.node.atime = Date.now(); - } - return bytesRead; - }, - write(stream, buffer, offset, length, pos) { - if (!stream.tty || !stream.tty.ops.put_char) { - throw new FS.ErrnoError(60); - } - try { - for (var i = 0; i < length; i++) { - stream.tty.ops.put_char(stream.tty, buffer[offset+i]); - } - } catch (e) { - throw new FS.ErrnoError(29); - } - if (length) { - stream.node.mtime = stream.node.ctime = Date.now(); - } - return i; - }, - }, - default_tty_ops:{ - get_char(tty) { - return FS_stdin_getChar(); - }, - put_char(tty, val) { - if (val === null || val === 10) { - out(UTF8ArrayToString(tty.output)); - tty.output = []; - } else { - if (val != 0) tty.output.push(val); // val == 0 would cut text output off in the middle. - } - }, - fsync(tty) { - if (tty.output?.length > 0) { - out(UTF8ArrayToString(tty.output)); - tty.output = []; - } - }, - ioctl_tcgets(tty) { - // typical setting - return { - c_iflag: 25856, - c_oflag: 5, - c_cflag: 191, - c_lflag: 35387, - c_cc: [ - 0x03, 0x1c, 0x7f, 0x15, 0x04, 0x00, 0x01, 0x00, 0x11, 0x13, 0x1a, 0x00, - 0x12, 0x0f, 0x17, 0x16, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - ] - }; - }, - ioctl_tcsets(tty, optional_actions, data) { - // currently just ignore - return 0; - }, - ioctl_tiocgwinsz(tty) { - return [24, 80]; - }, - }, - default_tty1_ops:{ - put_char(tty, val) { - if (val === null || val === 10) { - err(UTF8ArrayToString(tty.output)); - tty.output = []; - } else { - if (val != 0) tty.output.push(val); - } - }, - fsync(tty) { - if (tty.output?.length > 0) { - err(UTF8ArrayToString(tty.output)); - tty.output = []; - } - }, - }, - }; - - - var mmapAlloc = (size) => { - abort('internal error: mmapAlloc called but `emscripten_builtin_memalign` native symbol not exported'); - }; - var MEMFS = { - ops_table:null, - mount(mount) { - return MEMFS.createNode(null, '/', 16895, 0); - }, - createNode(parent, name, mode, dev) { - if (FS.isBlkdev(mode) || FS.isFIFO(mode)) { - // no supported - throw new FS.ErrnoError(63); - } - MEMFS.ops_table ||= { - dir: { - node: { - getattr: MEMFS.node_ops.getattr, - setattr: MEMFS.node_ops.setattr, - lookup: MEMFS.node_ops.lookup, - mknod: MEMFS.node_ops.mknod, - rename: MEMFS.node_ops.rename, - unlink: MEMFS.node_ops.unlink, - rmdir: MEMFS.node_ops.rmdir, - readdir: MEMFS.node_ops.readdir, - symlink: MEMFS.node_ops.symlink - }, - stream: { - llseek: MEMFS.stream_ops.llseek - } - }, - file: { - node: { - getattr: MEMFS.node_ops.getattr, - setattr: MEMFS.node_ops.setattr - }, - stream: { - llseek: MEMFS.stream_ops.llseek, - read: MEMFS.stream_ops.read, - write: MEMFS.stream_ops.write, - mmap: MEMFS.stream_ops.mmap, - msync: MEMFS.stream_ops.msync - } - }, - link: { - node: { - getattr: MEMFS.node_ops.getattr, - setattr: MEMFS.node_ops.setattr, - readlink: MEMFS.node_ops.readlink - }, - stream: {} - }, - chrdev: { - node: { - getattr: MEMFS.node_ops.getattr, - setattr: MEMFS.node_ops.setattr - }, - stream: FS.chrdev_stream_ops - } - }; - var node = FS.createNode(parent, name, mode, dev); - if (FS.isDir(node.mode)) { - node.node_ops = MEMFS.ops_table.dir.node; - node.stream_ops = MEMFS.ops_table.dir.stream; - node.contents = {}; - } else if (FS.isFile(node.mode)) { - node.node_ops = MEMFS.ops_table.file.node; - node.stream_ops = MEMFS.ops_table.file.stream; - node.usedBytes = 0; // The actual number of bytes used in the typed array, as opposed to contents.length which gives the whole capacity. - // When the byte data of the file is populated, this will point to either a typed array, or a normal JS array. Typed arrays are preferred - // for performance, and used by default. However, typed arrays are not resizable like normal JS arrays are, so there is a small disk size - // penalty involved for appending file writes that continuously grow a file similar to std::vector capacity vs used -scheme. - node.contents = null; - } else if (FS.isLink(node.mode)) { - node.node_ops = MEMFS.ops_table.link.node; - node.stream_ops = MEMFS.ops_table.link.stream; - } else if (FS.isChrdev(node.mode)) { - node.node_ops = MEMFS.ops_table.chrdev.node; - node.stream_ops = MEMFS.ops_table.chrdev.stream; - } - node.atime = node.mtime = node.ctime = Date.now(); - // add the new node to the parent - if (parent) { - parent.contents[name] = node; - parent.atime = parent.mtime = parent.ctime = node.atime; - } - return node; - }, - getFileDataAsTypedArray(node) { - if (!node.contents) return new Uint8Array(0); - if (node.contents.subarray) return node.contents.subarray(0, node.usedBytes); // Make sure to not return excess unused bytes. - return new Uint8Array(node.contents); - }, - expandFileStorage(node, newCapacity) { - var prevCapacity = node.contents ? node.contents.length : 0; - if (prevCapacity >= newCapacity) return; // No need to expand, the storage was already large enough. - // Don't expand strictly to the given requested limit if it's only a very small increase, but instead geometrically grow capacity. - // For small filesizes (<1MB), perform size*2 geometric increase, but for large sizes, do a much more conservative size*1.125 increase to - // avoid overshooting the allocation cap by a very large margin. - var CAPACITY_DOUBLING_MAX = 1024 * 1024; - newCapacity = Math.max(newCapacity, (prevCapacity * (prevCapacity < CAPACITY_DOUBLING_MAX ? 2.0 : 1.125)) >>> 0); - if (prevCapacity != 0) newCapacity = Math.max(newCapacity, 256); // At minimum allocate 256b for each file when expanding. - var oldContents = node.contents; - node.contents = new Uint8Array(newCapacity); // Allocate new storage. - if (node.usedBytes > 0) node.contents.set(oldContents.subarray(0, node.usedBytes), 0); // Copy old data over to the new storage. - }, - resizeFileStorage(node, newSize) { - if (node.usedBytes == newSize) return; - if (newSize == 0) { - node.contents = null; // Fully decommit when requesting a resize to zero. - node.usedBytes = 0; - } else { - var oldContents = node.contents; - node.contents = new Uint8Array(newSize); // Allocate new storage. - if (oldContents) { - node.contents.set(oldContents.subarray(0, Math.min(newSize, node.usedBytes))); // Copy old data over to the new storage. - } - node.usedBytes = newSize; - } - }, - node_ops:{ - getattr(node) { - var attr = {}; - // device numbers reuse inode numbers. - attr.dev = FS.isChrdev(node.mode) ? node.id : 1; - attr.ino = node.id; - attr.mode = node.mode; - attr.nlink = 1; - attr.uid = 0; - attr.gid = 0; - attr.rdev = node.rdev; - if (FS.isDir(node.mode)) { - attr.size = 4096; - } else if (FS.isFile(node.mode)) { - attr.size = node.usedBytes; - } else if (FS.isLink(node.mode)) { - attr.size = node.link.length; - } else { - attr.size = 0; - } - attr.atime = new Date(node.atime); - attr.mtime = new Date(node.mtime); - attr.ctime = new Date(node.ctime); - // NOTE: In our implementation, st_blocks = Math.ceil(st_size/st_blksize), - // but this is not required by the standard. - attr.blksize = 4096; - attr.blocks = Math.ceil(attr.size / attr.blksize); - return attr; - }, - setattr(node, attr) { - for (const key of ["mode", "atime", "mtime", "ctime"]) { - if (attr[key] != null) { - node[key] = attr[key]; - } - } - if (attr.size !== undefined) { - MEMFS.resizeFileStorage(node, attr.size); - } - }, - lookup(parent, name) { - throw new FS.ErrnoError(44); - }, - mknod(parent, name, mode, dev) { - return MEMFS.createNode(parent, name, mode, dev); - }, - rename(old_node, new_dir, new_name) { - var new_node; - try { - new_node = FS.lookupNode(new_dir, new_name); - } catch (e) {} - if (new_node) { - if (FS.isDir(old_node.mode)) { - // if we're overwriting a directory at new_name, make sure it's empty. - for (var i in new_node.contents) { - throw new FS.ErrnoError(55); - } - } - FS.hashRemoveNode(new_node); - } - // do the internal rewiring - delete old_node.parent.contents[old_node.name]; - new_dir.contents[new_name] = old_node; - old_node.name = new_name; - new_dir.ctime = new_dir.mtime = old_node.parent.ctime = old_node.parent.mtime = Date.now(); - }, - unlink(parent, name) { - delete parent.contents[name]; - parent.ctime = parent.mtime = Date.now(); - }, - rmdir(parent, name) { - var node = FS.lookupNode(parent, name); - for (var i in node.contents) { - throw new FS.ErrnoError(55); - } - delete parent.contents[name]; - parent.ctime = parent.mtime = Date.now(); - }, - readdir(node) { - return ['.', '..', ...Object.keys(node.contents)]; - }, - symlink(parent, newname, oldpath) { - var node = MEMFS.createNode(parent, newname, 0o777 | 40960, 0); - node.link = oldpath; - return node; - }, - readlink(node) { - if (!FS.isLink(node.mode)) { - throw new FS.ErrnoError(28); - } - return node.link; - }, - }, - stream_ops:{ - read(stream, buffer, offset, length, position) { - var contents = stream.node.contents; - if (position >= stream.node.usedBytes) return 0; - var size = Math.min(stream.node.usedBytes - position, length); - assert(size >= 0); - if (size > 8 && contents.subarray) { // non-trivial, and typed array - buffer.set(contents.subarray(position, position + size), offset); - } else { - for (var i = 0; i < size; i++) buffer[offset + i] = contents[position + i]; - } - return size; - }, - write(stream, buffer, offset, length, position, canOwn) { - // The data buffer should be a typed array view - assert(!(buffer instanceof ArrayBuffer)); - - if (!length) return 0; - var node = stream.node; - node.mtime = node.ctime = Date.now(); - - if (buffer.subarray && (!node.contents || node.contents.subarray)) { // This write is from a typed array to a typed array? - if (canOwn) { - assert(position === 0, 'canOwn must imply no weird position inside the file'); - node.contents = buffer.subarray(offset, offset + length); - node.usedBytes = length; - return length; - } else if (node.usedBytes === 0 && position === 0) { // If this is a simple first write to an empty file, do a fast set since we don't need to care about old data. - node.contents = buffer.slice(offset, offset + length); - node.usedBytes = length; - return length; - } else if (position + length <= node.usedBytes) { // Writing to an already allocated and used subrange of the file? - node.contents.set(buffer.subarray(offset, offset + length), position); - return length; - } - } - - // Appending to an existing file and we need to reallocate, or source data did not come as a typed array. - MEMFS.expandFileStorage(node, position+length); - if (node.contents.subarray && buffer.subarray) { - // Use typed array write which is available. - node.contents.set(buffer.subarray(offset, offset + length), position); - } else { - for (var i = 0; i < length; i++) { - node.contents[position + i] = buffer[offset + i]; // Or fall back to manual write if not. - } - } - node.usedBytes = Math.max(node.usedBytes, position + length); - return length; - }, - llseek(stream, offset, whence) { - var position = offset; - if (whence === 1) { - position += stream.position; - } else if (whence === 2) { - if (FS.isFile(stream.node.mode)) { - position += stream.node.usedBytes; - } - } - if (position < 0) { - throw new FS.ErrnoError(28); - } - return position; - }, - mmap(stream, length, position, prot, flags) { - if (!FS.isFile(stream.node.mode)) { - throw new FS.ErrnoError(43); - } - var ptr; - var allocated; - var contents = stream.node.contents; - // Only make a new copy when MAP_PRIVATE is specified. - if (!(flags & 2) && contents && contents.buffer === HEAP8.buffer) { - // We can't emulate MAP_SHARED when the file is not backed by the - // buffer we're mapping to (e.g. the HEAP buffer). - allocated = false; - ptr = contents.byteOffset; - } else { - allocated = true; - ptr = mmapAlloc(length); - if (!ptr) { - throw new FS.ErrnoError(48); - } - if (contents) { - // Try to avoid unnecessary slices. - if (position > 0 || position + length < contents.length) { - if (contents.subarray) { - contents = contents.subarray(position, position + length); - } else { - contents = Array.prototype.slice.call(contents, position, position + length); - } - } - HEAP8.set(contents, ptr); - } - } - return { ptr, allocated }; - }, - msync(stream, buffer, offset, length, mmapFlags) { - MEMFS.stream_ops.write(stream, buffer, 0, length, offset, false); - // should we check if bytesWritten and length are the same? - return 0; - }, - }, - }; - - var asyncLoad = async (url) => { - var arrayBuffer = await readAsync(url); - assert(arrayBuffer, `Loading data file "${url}" failed (no arrayBuffer).`); - return new Uint8Array(arrayBuffer); - }; - - - var FS_createDataFile = (parent, name, fileData, canRead, canWrite, canOwn) => { - FS.createDataFile(parent, name, fileData, canRead, canWrite, canOwn); - }; - - var preloadPlugins = Module['preloadPlugins'] || []; - var FS_handledByPreloadPlugin = (byteArray, fullname, finish, onerror) => { - // Ensure plugins are ready. - if (typeof Browser != 'undefined') Browser.init(); - - var handled = false; - preloadPlugins.forEach((plugin) => { - if (handled) return; - if (plugin['canHandle'](fullname)) { - plugin['handle'](byteArray, fullname, finish, onerror); - handled = true; - } - }); - return handled; - }; - var FS_createPreloadedFile = (parent, name, url, canRead, canWrite, onload, onerror, dontCreateFile, canOwn, preFinish) => { - // TODO we should allow people to just pass in a complete filename instead - // of parent and name being that we just join them anyways - var fullname = name ? PATH_FS.resolve(PATH.join2(parent, name)) : parent; - var dep = getUniqueRunDependency(`cp ${fullname}`); // might have several active requests for the same fullname - function processData(byteArray) { - function finish(byteArray) { - preFinish?.(); - if (!dontCreateFile) { - FS_createDataFile(parent, name, byteArray, canRead, canWrite, canOwn); - } - onload?.(); - removeRunDependency(dep); - } - if (FS_handledByPreloadPlugin(byteArray, fullname, finish, () => { - onerror?.(); - removeRunDependency(dep); - })) { - return; - } - finish(byteArray); - } - addRunDependency(dep); - if (typeof url == 'string') { - asyncLoad(url).then(processData, onerror); - } else { - processData(url); - } - }; - - var FS_modeStringToFlags = (str) => { - var flagModes = { - 'r': 0, - 'r+': 2, - 'w': 512 | 64 | 1, - 'w+': 512 | 64 | 2, - 'a': 1024 | 64 | 1, - 'a+': 1024 | 64 | 2, - }; - var flags = flagModes[str]; - if (typeof flags == 'undefined') { - throw new Error(`Unknown file open mode: ${str}`); - } - return flags; - }; - - var FS_getMode = (canRead, canWrite) => { - var mode = 0; - if (canRead) mode |= 292 | 73; - if (canWrite) mode |= 146; - return mode; - }; - - - - - - - /** - * Given a pointer 'ptr' to a null-terminated UTF8-encoded string in the - * emscripten HEAP, returns a copy of that string as a Javascript String object. - * - * @param {number} ptr - * @param {number=} maxBytesToRead - An optional length that specifies the - * maximum number of bytes to read. You can omit this parameter to scan the - * string until the first 0 byte. If maxBytesToRead is passed, and the string - * at [ptr, ptr+maxBytesToReadr[ contains a null byte in the middle, then the - * string will cut short at that byte index (i.e. maxBytesToRead will not - * produce a string of exact length [ptr, ptr+maxBytesToRead[) N.B. mixing - * frequent uses of UTF8ToString() with and without maxBytesToRead may throw - * JS JIT optimizations off, so it is worth to consider consistently using one - * @return {string} - */ - var UTF8ToString = (ptr, maxBytesToRead) => { - assert(typeof ptr == 'number', `UTF8ToString expects a number (got ${typeof ptr})`); - return ptr ? UTF8ArrayToString(HEAPU8, ptr, maxBytesToRead) : ''; - }; - - var strError = (errno) => UTF8ToString(_strerror(errno)); - - var ERRNO_CODES = { - 'EPERM': 63, - 'ENOENT': 44, - 'ESRCH': 71, - 'EINTR': 27, - 'EIO': 29, - 'ENXIO': 60, - 'E2BIG': 1, - 'ENOEXEC': 45, - 'EBADF': 8, - 'ECHILD': 12, - 'EAGAIN': 6, - 'EWOULDBLOCK': 6, - 'ENOMEM': 48, - 'EACCES': 2, - 'EFAULT': 21, - 'ENOTBLK': 105, - 'EBUSY': 10, - 'EEXIST': 20, - 'EXDEV': 75, - 'ENODEV': 43, - 'ENOTDIR': 54, - 'EISDIR': 31, - 'EINVAL': 28, - 'ENFILE': 41, - 'EMFILE': 33, - 'ENOTTY': 59, - 'ETXTBSY': 74, - 'EFBIG': 22, - 'ENOSPC': 51, - 'ESPIPE': 70, - 'EROFS': 69, - 'EMLINK': 34, - 'EPIPE': 64, - 'EDOM': 18, - 'ERANGE': 68, - 'ENOMSG': 49, - 'EIDRM': 24, - 'ECHRNG': 106, - 'EL2NSYNC': 156, - 'EL3HLT': 107, - 'EL3RST': 108, - 'ELNRNG': 109, - 'EUNATCH': 110, - 'ENOCSI': 111, - 'EL2HLT': 112, - 'EDEADLK': 16, - 'ENOLCK': 46, - 'EBADE': 113, - 'EBADR': 114, - 'EXFULL': 115, - 'ENOANO': 104, - 'EBADRQC': 103, - 'EBADSLT': 102, - 'EDEADLOCK': 16, - 'EBFONT': 101, - 'ENOSTR': 100, - 'ENODATA': 116, - 'ETIME': 117, - 'ENOSR': 118, - 'ENONET': 119, - 'ENOPKG': 120, - 'EREMOTE': 121, - 'ENOLINK': 47, - 'EADV': 122, - 'ESRMNT': 123, - 'ECOMM': 124, - 'EPROTO': 65, - 'EMULTIHOP': 36, - 'EDOTDOT': 125, - 'EBADMSG': 9, - 'ENOTUNIQ': 126, - 'EBADFD': 127, - 'EREMCHG': 128, - 'ELIBACC': 129, - 'ELIBBAD': 130, - 'ELIBSCN': 131, - 'ELIBMAX': 132, - 'ELIBEXEC': 133, - 'ENOSYS': 52, - 'ENOTEMPTY': 55, - 'ENAMETOOLONG': 37, - 'ELOOP': 32, - 'EOPNOTSUPP': 138, - 'EPFNOSUPPORT': 139, - 'ECONNRESET': 15, - 'ENOBUFS': 42, - 'EAFNOSUPPORT': 5, - 'EPROTOTYPE': 67, - 'ENOTSOCK': 57, - 'ENOPROTOOPT': 50, - 'ESHUTDOWN': 140, - 'ECONNREFUSED': 14, - 'EADDRINUSE': 3, - 'ECONNABORTED': 13, - 'ENETUNREACH': 40, - 'ENETDOWN': 38, - 'ETIMEDOUT': 73, - 'EHOSTDOWN': 142, - 'EHOSTUNREACH': 23, - 'EINPROGRESS': 26, - 'EALREADY': 7, - 'EDESTADDRREQ': 17, - 'EMSGSIZE': 35, - 'EPROTONOSUPPORT': 66, - 'ESOCKTNOSUPPORT': 137, - 'EADDRNOTAVAIL': 4, - 'ENETRESET': 39, - 'EISCONN': 30, - 'ENOTCONN': 53, - 'ETOOMANYREFS': 141, - 'EUSERS': 136, - 'EDQUOT': 19, - 'ESTALE': 72, - 'ENOTSUP': 138, - 'ENOMEDIUM': 148, - 'EILSEQ': 25, - 'EOVERFLOW': 61, - 'ECANCELED': 11, - 'ENOTRECOVERABLE': 56, - 'EOWNERDEAD': 62, - 'ESTRPIPE': 135, - }; - var FS = { - root:null, - mounts:[], - devices:{ - }, - streams:[], - nextInode:1, - nameTable:null, - currentPath:"/", - initialized:false, - ignorePermissions:true, - filesystems:null, - syncFSRequests:0, - readFiles:{ - }, - ErrnoError:class extends Error { - name = 'ErrnoError'; - // We set the `name` property to be able to identify `FS.ErrnoError` - // - the `name` is a standard ECMA-262 property of error objects. Kind of good to have it anyway. - // - when using PROXYFS, an error can come from an underlying FS - // as different FS objects have their own FS.ErrnoError each, - // the test `err instanceof FS.ErrnoError` won't detect an error coming from another filesystem, causing bugs. - // we'll use the reliable test `err.name == "ErrnoError"` instead - constructor(errno) { - super(runtimeInitialized ? strError(errno) : ''); - this.errno = errno; - for (var key in ERRNO_CODES) { - if (ERRNO_CODES[key] === errno) { - this.code = key; - break; - } - } - } - }, - FSStream:class { - shared = {}; - get object() { - return this.node; - } - set object(val) { - this.node = val; - } - get isRead() { - return (this.flags & 2097155) !== 1; - } - get isWrite() { - return (this.flags & 2097155) !== 0; - } - get isAppend() { - return (this.flags & 1024); - } - get flags() { - return this.shared.flags; - } - set flags(val) { - this.shared.flags = val; - } - get position() { - return this.shared.position; - } - set position(val) { - this.shared.position = val; - } - }, - FSNode:class { - node_ops = {}; - stream_ops = {}; - readMode = 292 | 73; - writeMode = 146; - mounted = null; - constructor(parent, name, mode, rdev) { - if (!parent) { - parent = this; // root node sets parent to itself - } - this.parent = parent; - this.mount = parent.mount; - this.id = FS.nextInode++; - this.name = name; - this.mode = mode; - this.rdev = rdev; - this.atime = this.mtime = this.ctime = Date.now(); - } - get read() { - return (this.mode & this.readMode) === this.readMode; - } - set read(val) { - val ? this.mode |= this.readMode : this.mode &= ~this.readMode; - } - get write() { - return (this.mode & this.writeMode) === this.writeMode; - } - set write(val) { - val ? this.mode |= this.writeMode : this.mode &= ~this.writeMode; - } - get isFolder() { - return FS.isDir(this.mode); - } - get isDevice() { - return FS.isChrdev(this.mode); - } - }, - lookupPath(path, opts = {}) { - if (!path) { - throw new FS.ErrnoError(44); - } - opts.follow_mount ??= true - - if (!PATH.isAbs(path)) { - path = FS.cwd() + '/' + path; - } - - // limit max consecutive symlinks to 40 (SYMLOOP_MAX). - linkloop: for (var nlinks = 0; nlinks < 40; nlinks++) { - // split the absolute path - var parts = path.split('/').filter((p) => !!p); - - // start at the root - var current = FS.root; - var current_path = '/'; - - for (var i = 0; i < parts.length; i++) { - var islast = (i === parts.length-1); - if (islast && opts.parent) { - // stop resolving - break; - } - - if (parts[i] === '.') { - continue; - } - - if (parts[i] === '..') { - current_path = PATH.dirname(current_path); - current = current.parent; - continue; - } - - current_path = PATH.join2(current_path, parts[i]); - try { - current = FS.lookupNode(current, parts[i]); - } catch (e) { - // if noent_okay is true, suppress a ENOENT in the last component - // and return an object with an undefined node. This is needed for - // resolving symlinks in the path when creating a file. - if ((e?.errno === 44) && islast && opts.noent_okay) { - return { path: current_path }; - } - throw e; - } - - // jump to the mount's root node if this is a mountpoint - if (FS.isMountpoint(current) && (!islast || opts.follow_mount)) { - current = current.mounted.root; - } - - // by default, lookupPath will not follow a symlink if it is the final path component. - // setting opts.follow = true will override this behavior. - if (FS.isLink(current.mode) && (!islast || opts.follow)) { - if (!current.node_ops.readlink) { - throw new FS.ErrnoError(52); - } - var link = current.node_ops.readlink(current); - if (!PATH.isAbs(link)) { - link = PATH.dirname(current_path) + '/' + link; - } - path = link + '/' + parts.slice(i + 1).join('/'); - continue linkloop; - } - } - return { path: current_path, node: current }; - } - throw new FS.ErrnoError(32); - }, - getPath(node) { - var path; - while (true) { - if (FS.isRoot(node)) { - var mount = node.mount.mountpoint; - if (!path) return mount; - return mount[mount.length-1] !== '/' ? `${mount}/${path}` : mount + path; - } - path = path ? `${node.name}/${path}` : node.name; - node = node.parent; - } - }, - hashName(parentid, name) { - var hash = 0; - - for (var i = 0; i < name.length; i++) { - hash = ((hash << 5) - hash + name.charCodeAt(i)) | 0; - } - return ((parentid + hash) >>> 0) % FS.nameTable.length; - }, - hashAddNode(node) { - var hash = FS.hashName(node.parent.id, node.name); - node.name_next = FS.nameTable[hash]; - FS.nameTable[hash] = node; - }, - hashRemoveNode(node) { - var hash = FS.hashName(node.parent.id, node.name); - if (FS.nameTable[hash] === node) { - FS.nameTable[hash] = node.name_next; - } else { - var current = FS.nameTable[hash]; - while (current) { - if (current.name_next === node) { - current.name_next = node.name_next; - break; - } - current = current.name_next; - } - } - }, - lookupNode(parent, name) { - var errCode = FS.mayLookup(parent); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - var hash = FS.hashName(parent.id, name); - for (var node = FS.nameTable[hash]; node; node = node.name_next) { - var nodeName = node.name; - if (node.parent.id === parent.id && nodeName === name) { - return node; - } - } - // if we failed to find it in the cache, call into the VFS - return FS.lookup(parent, name); - }, - createNode(parent, name, mode, rdev) { - assert(typeof parent == 'object') - var node = new FS.FSNode(parent, name, mode, rdev); - - FS.hashAddNode(node); - - return node; - }, - destroyNode(node) { - FS.hashRemoveNode(node); - }, - isRoot(node) { - return node === node.parent; - }, - isMountpoint(node) { - return !!node.mounted; - }, - isFile(mode) { - return (mode & 61440) === 32768; - }, - isDir(mode) { - return (mode & 61440) === 16384; - }, - isLink(mode) { - return (mode & 61440) === 40960; - }, - isChrdev(mode) { - return (mode & 61440) === 8192; - }, - isBlkdev(mode) { - return (mode & 61440) === 24576; - }, - isFIFO(mode) { - return (mode & 61440) === 4096; - }, - isSocket(mode) { - return (mode & 49152) === 49152; - }, - flagsToPermissionString(flag) { - var perms = ['r', 'w', 'rw'][flag & 3]; - if ((flag & 512)) { - perms += 'w'; - } - return perms; - }, - nodePermissions(node, perms) { - if (FS.ignorePermissions) { - return 0; - } - // return 0 if any user, group or owner bits are set. - if (perms.includes('r') && !(node.mode & 292)) { - return 2; - } else if (perms.includes('w') && !(node.mode & 146)) { - return 2; - } else if (perms.includes('x') && !(node.mode & 73)) { - return 2; - } - return 0; - }, - mayLookup(dir) { - if (!FS.isDir(dir.mode)) return 54; - var errCode = FS.nodePermissions(dir, 'x'); - if (errCode) return errCode; - if (!dir.node_ops.lookup) return 2; - return 0; - }, - mayCreate(dir, name) { - if (!FS.isDir(dir.mode)) { - return 54; - } - try { - var node = FS.lookupNode(dir, name); - return 20; - } catch (e) { - } - return FS.nodePermissions(dir, 'wx'); - }, - mayDelete(dir, name, isdir) { - var node; - try { - node = FS.lookupNode(dir, name); - } catch (e) { - return e.errno; - } - var errCode = FS.nodePermissions(dir, 'wx'); - if (errCode) { - return errCode; - } - if (isdir) { - if (!FS.isDir(node.mode)) { - return 54; - } - if (FS.isRoot(node) || FS.getPath(node) === FS.cwd()) { - return 10; - } - } else { - if (FS.isDir(node.mode)) { - return 31; - } - } - return 0; - }, - mayOpen(node, flags) { - if (!node) { - return 44; - } - if (FS.isLink(node.mode)) { - return 32; - } else if (FS.isDir(node.mode)) { - if (FS.flagsToPermissionString(flags) !== 'r' // opening for write - || (flags & (512 | 64))) { // TODO: check for O_SEARCH? (== search for dir only) - return 31; - } - } - return FS.nodePermissions(node, FS.flagsToPermissionString(flags)); - }, - checkOpExists(op, err) { - if (!op) { - throw new FS.ErrnoError(err); - } - return op; - }, - MAX_OPEN_FDS:4096, - nextfd() { - for (var fd = 0; fd <= FS.MAX_OPEN_FDS; fd++) { - if (!FS.streams[fd]) { - return fd; - } - } - throw new FS.ErrnoError(33); - }, - getStreamChecked(fd) { - var stream = FS.getStream(fd); - if (!stream) { - throw new FS.ErrnoError(8); - } - return stream; - }, - getStream:(fd) => FS.streams[fd], - createStream(stream, fd = -1) { - assert(fd >= -1); - - // clone it, so we can return an instance of FSStream - stream = Object.assign(new FS.FSStream(), stream); - if (fd == -1) { - fd = FS.nextfd(); - } - stream.fd = fd; - FS.streams[fd] = stream; - return stream; - }, - closeStream(fd) { - FS.streams[fd] = null; - }, - dupStream(origStream, fd = -1) { - var stream = FS.createStream(origStream, fd); - stream.stream_ops?.dup?.(stream); - return stream; - }, - doSetAttr(stream, node, attr) { - var setattr = stream?.stream_ops.setattr; - var arg = setattr ? stream : node; - setattr ??= node.node_ops.setattr; - FS.checkOpExists(setattr, 63) - setattr(arg, attr); - }, - chrdev_stream_ops:{ - open(stream) { - var device = FS.getDevice(stream.node.rdev); - // override node's stream ops with the device's - stream.stream_ops = device.stream_ops; - // forward the open call - stream.stream_ops.open?.(stream); - }, - llseek() { - throw new FS.ErrnoError(70); - }, - }, - major:(dev) => ((dev) >> 8), - minor:(dev) => ((dev) & 0xff), - makedev:(ma, mi) => ((ma) << 8 | (mi)), - registerDevice(dev, ops) { - FS.devices[dev] = { stream_ops: ops }; - }, - getDevice:(dev) => FS.devices[dev], - getMounts(mount) { - var mounts = []; - var check = [mount]; - - while (check.length) { - var m = check.pop(); - - mounts.push(m); - - check.push(...m.mounts); - } - - return mounts; - }, - syncfs(populate, callback) { - if (typeof populate == 'function') { - callback = populate; - populate = false; - } - - FS.syncFSRequests++; - - if (FS.syncFSRequests > 1) { - err(`warning: ${FS.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`); - } - - var mounts = FS.getMounts(FS.root.mount); - var completed = 0; - - function doCallback(errCode) { - assert(FS.syncFSRequests > 0); - FS.syncFSRequests--; - return callback(errCode); - } - - function done(errCode) { - if (errCode) { - if (!done.errored) { - done.errored = true; - return doCallback(errCode); - } - return; - } - if (++completed >= mounts.length) { - doCallback(null); - } - }; - - // sync all mounts - mounts.forEach((mount) => { - if (!mount.type.syncfs) { - return done(null); - } - mount.type.syncfs(mount, populate, done); - }); - }, - mount(type, opts, mountpoint) { - if (typeof type == 'string') { - // The filesystem was not included, and instead we have an error - // message stored in the variable. - throw type; - } - var root = mountpoint === '/'; - var pseudo = !mountpoint; - var node; - - if (root && FS.root) { - throw new FS.ErrnoError(10); - } else if (!root && !pseudo) { - var lookup = FS.lookupPath(mountpoint, { follow_mount: false }); - - mountpoint = lookup.path; // use the absolute path - node = lookup.node; - - if (FS.isMountpoint(node)) { - throw new FS.ErrnoError(10); - } - - if (!FS.isDir(node.mode)) { - throw new FS.ErrnoError(54); - } - } - - var mount = { - type, - opts, - mountpoint, - mounts: [] - }; - - // create a root node for the fs - var mountRoot = type.mount(mount); - mountRoot.mount = mount; - mount.root = mountRoot; - - if (root) { - FS.root = mountRoot; - } else if (node) { - // set as a mountpoint - node.mounted = mount; - - // add the new mount to the current mount's children - if (node.mount) { - node.mount.mounts.push(mount); - } - } - - return mountRoot; - }, - unmount(mountpoint) { - var lookup = FS.lookupPath(mountpoint, { follow_mount: false }); - - if (!FS.isMountpoint(lookup.node)) { - throw new FS.ErrnoError(28); - } - - // destroy the nodes for this mount, and all its child mounts - var node = lookup.node; - var mount = node.mounted; - var mounts = FS.getMounts(mount); - - Object.keys(FS.nameTable).forEach((hash) => { - var current = FS.nameTable[hash]; - - while (current) { - var next = current.name_next; - - if (mounts.includes(current.mount)) { - FS.destroyNode(current); - } - - current = next; - } - }); - - // no longer a mountpoint - node.mounted = null; - - // remove this mount from the child mounts - var idx = node.mount.mounts.indexOf(mount); - assert(idx !== -1); - node.mount.mounts.splice(idx, 1); - }, - lookup(parent, name) { - return parent.node_ops.lookup(parent, name); - }, - mknod(path, mode, dev) { - var lookup = FS.lookupPath(path, { parent: true }); - var parent = lookup.node; - var name = PATH.basename(path); - if (!name) { - throw new FS.ErrnoError(28); - } - if (name === '.' || name === '..') { - throw new FS.ErrnoError(20); - } - var errCode = FS.mayCreate(parent, name); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - if (!parent.node_ops.mknod) { - throw new FS.ErrnoError(63); - } - return parent.node_ops.mknod(parent, name, mode, dev); - }, - statfs(path) { - return FS.statfsNode(FS.lookupPath(path, {follow: true}).node); - }, - statfsStream(stream) { - // We keep a separate statfsStream function because noderawfs overrides - // it. In noderawfs, stream.node is sometimes null. Instead, we need to - // look at stream.path. - return FS.statfsNode(stream.node); - }, - statfsNode(node) { - // NOTE: None of the defaults here are true. We're just returning safe and - // sane values. Currently nodefs and rawfs replace these defaults, - // other file systems leave them alone. - var rtn = { - bsize: 4096, - frsize: 4096, - blocks: 1e6, - bfree: 5e5, - bavail: 5e5, - files: FS.nextInode, - ffree: FS.nextInode - 1, - fsid: 42, - flags: 2, - namelen: 255, - }; - - if (node.node_ops.statfs) { - Object.assign(rtn, node.node_ops.statfs(node.mount.opts.root)); - } - return rtn; - }, - create(path, mode = 0o666) { - mode &= 4095; - mode |= 32768; - return FS.mknod(path, mode, 0); - }, - mkdir(path, mode = 0o777) { - mode &= 511 | 512; - mode |= 16384; - return FS.mknod(path, mode, 0); - }, - mkdirTree(path, mode) { - var dirs = path.split('/'); - var d = ''; - for (var dir of dirs) { - if (!dir) continue; - if (d || PATH.isAbs(path)) d += '/'; - d += dir; - try { - FS.mkdir(d, mode); - } catch(e) { - if (e.errno != 20) throw e; - } - } - }, - mkdev(path, mode, dev) { - if (typeof dev == 'undefined') { - dev = mode; - mode = 0o666; - } - mode |= 8192; - return FS.mknod(path, mode, dev); - }, - symlink(oldpath, newpath) { - if (!PATH_FS.resolve(oldpath)) { - throw new FS.ErrnoError(44); - } - var lookup = FS.lookupPath(newpath, { parent: true }); - var parent = lookup.node; - if (!parent) { - throw new FS.ErrnoError(44); - } - var newname = PATH.basename(newpath); - var errCode = FS.mayCreate(parent, newname); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - if (!parent.node_ops.symlink) { - throw new FS.ErrnoError(63); - } - return parent.node_ops.symlink(parent, newname, oldpath); - }, - rename(old_path, new_path) { - var old_dirname = PATH.dirname(old_path); - var new_dirname = PATH.dirname(new_path); - var old_name = PATH.basename(old_path); - var new_name = PATH.basename(new_path); - // parents must exist - var lookup, old_dir, new_dir; - - // let the errors from non existent directories percolate up - lookup = FS.lookupPath(old_path, { parent: true }); - old_dir = lookup.node; - lookup = FS.lookupPath(new_path, { parent: true }); - new_dir = lookup.node; - - if (!old_dir || !new_dir) throw new FS.ErrnoError(44); - // need to be part of the same mount - if (old_dir.mount !== new_dir.mount) { - throw new FS.ErrnoError(75); - } - // source must exist - var old_node = FS.lookupNode(old_dir, old_name); - // old path should not be an ancestor of the new path - var relative = PATH_FS.relative(old_path, new_dirname); - if (relative.charAt(0) !== '.') { - throw new FS.ErrnoError(28); - } - // new path should not be an ancestor of the old path - relative = PATH_FS.relative(new_path, old_dirname); - if (relative.charAt(0) !== '.') { - throw new FS.ErrnoError(55); - } - // see if the new path already exists - var new_node; - try { - new_node = FS.lookupNode(new_dir, new_name); - } catch (e) { - // not fatal - } - // early out if nothing needs to change - if (old_node === new_node) { - return; - } - // we'll need to delete the old entry - var isdir = FS.isDir(old_node.mode); - var errCode = FS.mayDelete(old_dir, old_name, isdir); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - // need delete permissions if we'll be overwriting. - // need create permissions if new doesn't already exist. - errCode = new_node ? - FS.mayDelete(new_dir, new_name, isdir) : - FS.mayCreate(new_dir, new_name); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - if (!old_dir.node_ops.rename) { - throw new FS.ErrnoError(63); - } - if (FS.isMountpoint(old_node) || (new_node && FS.isMountpoint(new_node))) { - throw new FS.ErrnoError(10); - } - // if we are going to change the parent, check write permissions - if (new_dir !== old_dir) { - errCode = FS.nodePermissions(old_dir, 'w'); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - } - // remove the node from the lookup hash - FS.hashRemoveNode(old_node); - // do the underlying fs rename - try { - old_dir.node_ops.rename(old_node, new_dir, new_name); - // update old node (we do this here to avoid each backend - // needing to) - old_node.parent = new_dir; - } catch (e) { - throw e; - } finally { - // add the node back to the hash (in case node_ops.rename - // changed its name) - FS.hashAddNode(old_node); - } - }, - rmdir(path) { - var lookup = FS.lookupPath(path, { parent: true }); - var parent = lookup.node; - var name = PATH.basename(path); - var node = FS.lookupNode(parent, name); - var errCode = FS.mayDelete(parent, name, true); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - if (!parent.node_ops.rmdir) { - throw new FS.ErrnoError(63); - } - if (FS.isMountpoint(node)) { - throw new FS.ErrnoError(10); - } - parent.node_ops.rmdir(parent, name); - FS.destroyNode(node); - }, - readdir(path) { - var lookup = FS.lookupPath(path, { follow: true }); - var node = lookup.node; - var readdir = FS.checkOpExists(node.node_ops.readdir, 54); - return readdir(node); - }, - unlink(path) { - var lookup = FS.lookupPath(path, { parent: true }); - var parent = lookup.node; - if (!parent) { - throw new FS.ErrnoError(44); - } - var name = PATH.basename(path); - var node = FS.lookupNode(parent, name); - var errCode = FS.mayDelete(parent, name, false); - if (errCode) { - // According to POSIX, we should map EISDIR to EPERM, but - // we instead do what Linux does (and we must, as we use - // the musl linux libc). - throw new FS.ErrnoError(errCode); - } - if (!parent.node_ops.unlink) { - throw new FS.ErrnoError(63); - } - if (FS.isMountpoint(node)) { - throw new FS.ErrnoError(10); - } - parent.node_ops.unlink(parent, name); - FS.destroyNode(node); - }, - readlink(path) { - var lookup = FS.lookupPath(path); - var link = lookup.node; - if (!link) { - throw new FS.ErrnoError(44); - } - if (!link.node_ops.readlink) { - throw new FS.ErrnoError(28); - } - return link.node_ops.readlink(link); - }, - stat(path, dontFollow) { - var lookup = FS.lookupPath(path, { follow: !dontFollow }); - var node = lookup.node; - var getattr = FS.checkOpExists(node.node_ops.getattr, 63); - return getattr(node); - }, - fstat(fd) { - var stream = FS.getStreamChecked(fd); - var node = stream.node; - var getattr = stream.stream_ops.getattr; - var arg = getattr ? stream : node; - getattr ??= node.node_ops.getattr; - FS.checkOpExists(getattr, 63) - return getattr(arg); - }, - lstat(path) { - return FS.stat(path, true); - }, - doChmod(stream, node, mode, dontFollow) { - FS.doSetAttr(stream, node, { - mode: (mode & 4095) | (node.mode & ~4095), - ctime: Date.now(), - dontFollow - }); - }, - chmod(path, mode, dontFollow) { - var node; - if (typeof path == 'string') { - var lookup = FS.lookupPath(path, { follow: !dontFollow }); - node = lookup.node; - } else { - node = path; - } - FS.doChmod(null, node, mode, dontFollow); - }, - lchmod(path, mode) { - FS.chmod(path, mode, true); - }, - fchmod(fd, mode) { - var stream = FS.getStreamChecked(fd); - FS.doChmod(stream, stream.node, mode, false); - }, - doChown(stream, node, dontFollow) { - FS.doSetAttr(stream, node, { - timestamp: Date.now(), - dontFollow - // we ignore the uid / gid for now - }); - }, - chown(path, uid, gid, dontFollow) { - var node; - if (typeof path == 'string') { - var lookup = FS.lookupPath(path, { follow: !dontFollow }); - node = lookup.node; - } else { - node = path; - } - FS.doChown(null, node, dontFollow); - }, - lchown(path, uid, gid) { - FS.chown(path, uid, gid, true); - }, - fchown(fd, uid, gid) { - var stream = FS.getStreamChecked(fd); - FS.doChown(stream, stream.node, false); - }, - doTruncate(stream, node, len) { - if (FS.isDir(node.mode)) { - throw new FS.ErrnoError(31); - } - if (!FS.isFile(node.mode)) { - throw new FS.ErrnoError(28); - } - var errCode = FS.nodePermissions(node, 'w'); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - FS.doSetAttr(stream, node, { - size: len, - timestamp: Date.now() - }); - }, - truncate(path, len) { - if (len < 0) { - throw new FS.ErrnoError(28); - } - var node; - if (typeof path == 'string') { - var lookup = FS.lookupPath(path, { follow: true }); - node = lookup.node; - } else { - node = path; - } - FS.doTruncate(null, node, len); - }, - ftruncate(fd, len) { - var stream = FS.getStreamChecked(fd); - if (len < 0 || (stream.flags & 2097155) === 0) { - throw new FS.ErrnoError(28); - } - FS.doTruncate(stream, stream.node, len); - }, - utime(path, atime, mtime) { - var lookup = FS.lookupPath(path, { follow: true }); - var node = lookup.node; - var setattr = FS.checkOpExists(node.node_ops.setattr, 63); - setattr(node, { - atime: atime, - mtime: mtime - }); - }, - open(path, flags, mode = 0o666) { - if (path === "") { - throw new FS.ErrnoError(44); - } - flags = typeof flags == 'string' ? FS_modeStringToFlags(flags) : flags; - if ((flags & 64)) { - mode = (mode & 4095) | 32768; - } else { - mode = 0; - } - var node; - var isDirPath; - if (typeof path == 'object') { - node = path; - } else { - isDirPath = path.endsWith("/"); - // noent_okay makes it so that if the final component of the path - // doesn't exist, lookupPath returns `node: undefined`. `path` will be - // updated to point to the target of all symlinks. - var lookup = FS.lookupPath(path, { - follow: !(flags & 131072), - noent_okay: true - }); - node = lookup.node; - path = lookup.path; - } - // perhaps we need to create the node - var created = false; - if ((flags & 64)) { - if (node) { - // if O_CREAT and O_EXCL are set, error out if the node already exists - if ((flags & 128)) { - throw new FS.ErrnoError(20); - } - } else if (isDirPath) { - throw new FS.ErrnoError(31); - } else { - // node doesn't exist, try to create it - // Ignore the permission bits here to ensure we can `open` this new - // file below. We use chmod below the apply the permissions once the - // file is open. - node = FS.mknod(path, mode | 0o777, 0); - created = true; - } - } - if (!node) { - throw new FS.ErrnoError(44); - } - // can't truncate a device - if (FS.isChrdev(node.mode)) { - flags &= ~512; - } - // if asked only for a directory, then this must be one - if ((flags & 65536) && !FS.isDir(node.mode)) { - throw new FS.ErrnoError(54); - } - // check permissions, if this is not a file we just created now (it is ok to - // create and write to a file with read-only permissions; it is read-only - // for later use) - if (!created) { - var errCode = FS.mayOpen(node, flags); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - } - // do truncation if necessary - if ((flags & 512) && !created) { - FS.truncate(node, 0); - } - // we've already handled these, don't pass down to the underlying vfs - flags &= ~(128 | 512 | 131072); - - // register the stream with the filesystem - var stream = FS.createStream({ - node, - path: FS.getPath(node), // we want the absolute path to the node - flags, - seekable: true, - position: 0, - stream_ops: node.stream_ops, - // used by the file family libc calls (fopen, fwrite, ferror, etc.) - ungotten: [], - error: false - }); - // call the new stream's open function - if (stream.stream_ops.open) { - stream.stream_ops.open(stream); - } - if (created) { - FS.chmod(node, mode & 0o777); - } - if (Module['logReadFiles'] && !(flags & 1)) { - if (!(path in FS.readFiles)) { - FS.readFiles[path] = 1; - } - } - return stream; - }, - close(stream) { - if (FS.isClosed(stream)) { - throw new FS.ErrnoError(8); - } - if (stream.getdents) stream.getdents = null; // free readdir state - try { - if (stream.stream_ops.close) { - stream.stream_ops.close(stream); - } - } catch (e) { - throw e; - } finally { - FS.closeStream(stream.fd); - } - stream.fd = null; - }, - isClosed(stream) { - return stream.fd === null; - }, - llseek(stream, offset, whence) { - if (FS.isClosed(stream)) { - throw new FS.ErrnoError(8); - } - if (!stream.seekable || !stream.stream_ops.llseek) { - throw new FS.ErrnoError(70); - } - if (whence != 0 && whence != 1 && whence != 2) { - throw new FS.ErrnoError(28); - } - stream.position = stream.stream_ops.llseek(stream, offset, whence); - stream.ungotten = []; - return stream.position; - }, - read(stream, buffer, offset, length, position) { - assert(offset >= 0); - if (length < 0 || position < 0) { - throw new FS.ErrnoError(28); - } - if (FS.isClosed(stream)) { - throw new FS.ErrnoError(8); - } - if ((stream.flags & 2097155) === 1) { - throw new FS.ErrnoError(8); - } - if (FS.isDir(stream.node.mode)) { - throw new FS.ErrnoError(31); - } - if (!stream.stream_ops.read) { - throw new FS.ErrnoError(28); - } - var seeking = typeof position != 'undefined'; - if (!seeking) { - position = stream.position; - } else if (!stream.seekable) { - throw new FS.ErrnoError(70); - } - var bytesRead = stream.stream_ops.read(stream, buffer, offset, length, position); - if (!seeking) stream.position += bytesRead; - return bytesRead; - }, - write(stream, buffer, offset, length, position, canOwn) { - assert(offset >= 0); - if (length < 0 || position < 0) { - throw new FS.ErrnoError(28); - } - if (FS.isClosed(stream)) { - throw new FS.ErrnoError(8); - } - if ((stream.flags & 2097155) === 0) { - throw new FS.ErrnoError(8); - } - if (FS.isDir(stream.node.mode)) { - throw new FS.ErrnoError(31); - } - if (!stream.stream_ops.write) { - throw new FS.ErrnoError(28); - } - if (stream.seekable && stream.flags & 1024) { - // seek to the end before writing in append mode - FS.llseek(stream, 0, 2); - } - var seeking = typeof position != 'undefined'; - if (!seeking) { - position = stream.position; - } else if (!stream.seekable) { - throw new FS.ErrnoError(70); - } - var bytesWritten = stream.stream_ops.write(stream, buffer, offset, length, position, canOwn); - if (!seeking) stream.position += bytesWritten; - return bytesWritten; - }, - mmap(stream, length, position, prot, flags) { - // User requests writing to file (prot & PROT_WRITE != 0). - // Checking if we have permissions to write to the file unless - // MAP_PRIVATE flag is set. According to POSIX spec it is possible - // to write to file opened in read-only mode with MAP_PRIVATE flag, - // as all modifications will be visible only in the memory of - // the current process. - if ((prot & 2) !== 0 - && (flags & 2) === 0 - && (stream.flags & 2097155) !== 2) { - throw new FS.ErrnoError(2); - } - if ((stream.flags & 2097155) === 1) { - throw new FS.ErrnoError(2); - } - if (!stream.stream_ops.mmap) { - throw new FS.ErrnoError(43); - } - if (!length) { - throw new FS.ErrnoError(28); - } - return stream.stream_ops.mmap(stream, length, position, prot, flags); - }, - msync(stream, buffer, offset, length, mmapFlags) { - assert(offset >= 0); - if (!stream.stream_ops.msync) { - return 0; - } - return stream.stream_ops.msync(stream, buffer, offset, length, mmapFlags); - }, - ioctl(stream, cmd, arg) { - if (!stream.stream_ops.ioctl) { - throw new FS.ErrnoError(59); - } - return stream.stream_ops.ioctl(stream, cmd, arg); - }, - readFile(path, opts = {}) { - opts.flags = opts.flags || 0; - opts.encoding = opts.encoding || 'binary'; - if (opts.encoding !== 'utf8' && opts.encoding !== 'binary') { - throw new Error(`Invalid encoding type "${opts.encoding}"`); - } - var ret; - var stream = FS.open(path, opts.flags); - var stat = FS.stat(path); - var length = stat.size; - var buf = new Uint8Array(length); - FS.read(stream, buf, 0, length, 0); - if (opts.encoding === 'utf8') { - ret = UTF8ArrayToString(buf); - } else if (opts.encoding === 'binary') { - ret = buf; - } - FS.close(stream); - return ret; - }, - writeFile(path, data, opts = {}) { - opts.flags = opts.flags || 577; - var stream = FS.open(path, opts.flags, opts.mode); - if (typeof data == 'string') { - var buf = new Uint8Array(lengthBytesUTF8(data)+1); - var actualNumBytes = stringToUTF8Array(data, buf, 0, buf.length); - FS.write(stream, buf, 0, actualNumBytes, undefined, opts.canOwn); - } else if (ArrayBuffer.isView(data)) { - FS.write(stream, data, 0, data.byteLength, undefined, opts.canOwn); - } else { - throw new Error('Unsupported data type'); - } - FS.close(stream); - }, - cwd:() => FS.currentPath, - chdir(path) { - var lookup = FS.lookupPath(path, { follow: true }); - if (lookup.node === null) { - throw new FS.ErrnoError(44); - } - if (!FS.isDir(lookup.node.mode)) { - throw new FS.ErrnoError(54); - } - var errCode = FS.nodePermissions(lookup.node, 'x'); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - FS.currentPath = lookup.path; - }, - createDefaultDirectories() { - FS.mkdir('/tmp'); - FS.mkdir('/home'); - FS.mkdir('/home/web_user'); - }, - createDefaultDevices() { - // create /dev - FS.mkdir('/dev'); - // setup /dev/null - FS.registerDevice(FS.makedev(1, 3), { - read: () => 0, - write: (stream, buffer, offset, length, pos) => length, - llseek: () => 0, - }); - FS.mkdev('/dev/null', FS.makedev(1, 3)); - // setup /dev/tty and /dev/tty1 - // stderr needs to print output using err() rather than out() - // so we register a second tty just for it. - TTY.register(FS.makedev(5, 0), TTY.default_tty_ops); - TTY.register(FS.makedev(6, 0), TTY.default_tty1_ops); - FS.mkdev('/dev/tty', FS.makedev(5, 0)); - FS.mkdev('/dev/tty1', FS.makedev(6, 0)); - // setup /dev/[u]random - // use a buffer to avoid overhead of individual crypto calls per byte - var randomBuffer = new Uint8Array(1024), randomLeft = 0; - var randomByte = () => { - if (randomLeft === 0) { - randomFill(randomBuffer); - randomLeft = randomBuffer.byteLength; - } - return randomBuffer[--randomLeft]; - }; - FS.createDevice('/dev', 'random', randomByte); - FS.createDevice('/dev', 'urandom', randomByte); - // we're not going to emulate the actual shm device, - // just create the tmp dirs that reside in it commonly - FS.mkdir('/dev/shm'); - FS.mkdir('/dev/shm/tmp'); - }, - createSpecialDirectories() { - // create /proc/self/fd which allows /proc/self/fd/6 => readlink gives the - // name of the stream for fd 6 (see test_unistd_ttyname) - FS.mkdir('/proc'); - var proc_self = FS.mkdir('/proc/self'); - FS.mkdir('/proc/self/fd'); - FS.mount({ - mount() { - var node = FS.createNode(proc_self, 'fd', 16895, 73); - node.stream_ops = { - llseek: MEMFS.stream_ops.llseek, - }; - node.node_ops = { - lookup(parent, name) { - var fd = +name; - var stream = FS.getStreamChecked(fd); - var ret = { - parent: null, - mount: { mountpoint: 'fake' }, - node_ops: { readlink: () => stream.path }, - id: fd + 1, - }; - ret.parent = ret; // make it look like a simple root node - return ret; - }, - readdir() { - return Array.from(FS.streams.entries()) - .filter(([k, v]) => v) - .map(([k, v]) => k.toString()); - } - }; - return node; - } - }, {}, '/proc/self/fd'); - }, - createStandardStreams(input, output, error) { - // TODO deprecate the old functionality of a single - // input / output callback and that utilizes FS.createDevice - // and instead require a unique set of stream ops - - // by default, we symlink the standard streams to the - // default tty devices. however, if the standard streams - // have been overwritten we create a unique device for - // them instead. - if (input) { - FS.createDevice('/dev', 'stdin', input); - } else { - FS.symlink('/dev/tty', '/dev/stdin'); - } - if (output) { - FS.createDevice('/dev', 'stdout', null, output); - } else { - FS.symlink('/dev/tty', '/dev/stdout'); - } - if (error) { - FS.createDevice('/dev', 'stderr', null, error); - } else { - FS.symlink('/dev/tty1', '/dev/stderr'); - } - - // open default streams for the stdin, stdout and stderr devices - var stdin = FS.open('/dev/stdin', 0); - var stdout = FS.open('/dev/stdout', 1); - var stderr = FS.open('/dev/stderr', 1); - assert(stdin.fd === 0, `invalid handle for stdin (${stdin.fd})`); - assert(stdout.fd === 1, `invalid handle for stdout (${stdout.fd})`); - assert(stderr.fd === 2, `invalid handle for stderr (${stderr.fd})`); - }, - staticInit() { - FS.nameTable = new Array(4096); - - FS.mount(MEMFS, {}, '/'); - - FS.createDefaultDirectories(); - FS.createDefaultDevices(); - FS.createSpecialDirectories(); - - FS.filesystems = { - 'MEMFS': MEMFS, - }; - }, - init(input, output, error) { - assert(!FS.initialized, 'FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)'); - FS.initialized = true; - - // Allow Module.stdin etc. to provide defaults, if none explicitly passed to us here - input ??= Module['stdin']; - output ??= Module['stdout']; - error ??= Module['stderr']; - - FS.createStandardStreams(input, output, error); - }, - quit() { - FS.initialized = false; - // force-flush all streams, so we get musl std streams printed out - _fflush(0); - // close all of our streams - for (var stream of FS.streams) { - if (stream) { - FS.close(stream); - } - } - }, - findObject(path, dontResolveLastLink) { - var ret = FS.analyzePath(path, dontResolveLastLink); - if (!ret.exists) { - return null; - } - return ret.object; - }, - analyzePath(path, dontResolveLastLink) { - // operate from within the context of the symlink's target - try { - var lookup = FS.lookupPath(path, { follow: !dontResolveLastLink }); - path = lookup.path; - } catch (e) { - } - var ret = { - isRoot: false, exists: false, error: 0, name: null, path: null, object: null, - parentExists: false, parentPath: null, parentObject: null - }; - try { - var lookup = FS.lookupPath(path, { parent: true }); - ret.parentExists = true; - ret.parentPath = lookup.path; - ret.parentObject = lookup.node; - ret.name = PATH.basename(path); - lookup = FS.lookupPath(path, { follow: !dontResolveLastLink }); - ret.exists = true; - ret.path = lookup.path; - ret.object = lookup.node; - ret.name = lookup.node.name; - ret.isRoot = lookup.path === '/'; - } catch (e) { - ret.error = e.errno; - }; - return ret; - }, - createPath(parent, path, canRead, canWrite) { - parent = typeof parent == 'string' ? parent : FS.getPath(parent); - var parts = path.split('/').reverse(); - while (parts.length) { - var part = parts.pop(); - if (!part) continue; - var current = PATH.join2(parent, part); - try { - FS.mkdir(current); - } catch (e) { - if (e.errno != 20) throw e; - } - parent = current; - } - return current; - }, - createFile(parent, name, properties, canRead, canWrite) { - var path = PATH.join2(typeof parent == 'string' ? parent : FS.getPath(parent), name); - var mode = FS_getMode(canRead, canWrite); - return FS.create(path, mode); - }, - createDataFile(parent, name, data, canRead, canWrite, canOwn) { - var path = name; - if (parent) { - parent = typeof parent == 'string' ? parent : FS.getPath(parent); - path = name ? PATH.join2(parent, name) : parent; - } - var mode = FS_getMode(canRead, canWrite); - var node = FS.create(path, mode); - if (data) { - if (typeof data == 'string') { - var arr = new Array(data.length); - for (var i = 0, len = data.length; i < len; ++i) arr[i] = data.charCodeAt(i); - data = arr; - } - // make sure we can write to the file - FS.chmod(node, mode | 146); - var stream = FS.open(node, 577); - FS.write(stream, data, 0, data.length, 0, canOwn); - FS.close(stream); - FS.chmod(node, mode); - } - }, - createDevice(parent, name, input, output) { - var path = PATH.join2(typeof parent == 'string' ? parent : FS.getPath(parent), name); - var mode = FS_getMode(!!input, !!output); - FS.createDevice.major ??= 64; - var dev = FS.makedev(FS.createDevice.major++, 0); - // Create a fake device that a set of stream ops to emulate - // the old behavior. - FS.registerDevice(dev, { - open(stream) { - stream.seekable = false; - }, - close(stream) { - // flush any pending line data - if (output?.buffer?.length) { - output(10); - } - }, - read(stream, buffer, offset, length, pos /* ignored */) { - var bytesRead = 0; - for (var i = 0; i < length; i++) { - var result; - try { - result = input(); - } catch (e) { - throw new FS.ErrnoError(29); - } - if (result === undefined && bytesRead === 0) { - throw new FS.ErrnoError(6); - } - if (result === null || result === undefined) break; - bytesRead++; - buffer[offset+i] = result; - } - if (bytesRead) { - stream.node.atime = Date.now(); - } - return bytesRead; - }, - write(stream, buffer, offset, length, pos) { - for (var i = 0; i < length; i++) { - try { - output(buffer[offset+i]); - } catch (e) { - throw new FS.ErrnoError(29); - } - } - if (length) { - stream.node.mtime = stream.node.ctime = Date.now(); - } - return i; - } - }); - return FS.mkdev(path, mode, dev); - }, - forceLoadFile(obj) { - if (obj.isDevice || obj.isFolder || obj.link || obj.contents) return true; - if (typeof XMLHttpRequest != 'undefined') { - throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread."); - } else { // Command-line. - try { - obj.contents = readBinary(obj.url); - obj.usedBytes = obj.contents.length; - } catch (e) { - throw new FS.ErrnoError(29); - } - } - }, - createLazyFile(parent, name, url, canRead, canWrite) { - // Lazy chunked Uint8Array (implements get and length from Uint8Array). - // Actual getting is abstracted away for eventual reuse. - class LazyUint8Array { - lengthKnown = false; - chunks = []; // Loaded chunks. Index is the chunk number - get(idx) { - if (idx > this.length-1 || idx < 0) { - return undefined; - } - var chunkOffset = idx % this.chunkSize; - var chunkNum = (idx / this.chunkSize)|0; - return this.getter(chunkNum)[chunkOffset]; - } - setDataGetter(getter) { - this.getter = getter; - } - cacheLength() { - // Find length - var xhr = new XMLHttpRequest(); - xhr.open('HEAD', url, false); - xhr.send(null); - if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error("Couldn't load " + url + ". Status: " + xhr.status); - var datalength = Number(xhr.getResponseHeader("Content-length")); - var header; - var hasByteServing = (header = xhr.getResponseHeader("Accept-Ranges")) && header === "bytes"; - var usesGzip = (header = xhr.getResponseHeader("Content-Encoding")) && header === "gzip"; - - var chunkSize = 1024*1024; // Chunk size in bytes - - if (!hasByteServing) chunkSize = datalength; - - // Function to get a range from the remote URL. - var doXHR = (from, to) => { - if (from > to) throw new Error("invalid range (" + from + ", " + to + ") or no bytes requested!"); - if (to > datalength-1) throw new Error("only " + datalength + " bytes available! programmer error!"); - - // TODO: Use mozResponseArrayBuffer, responseStream, etc. if available. - var xhr = new XMLHttpRequest(); - xhr.open('GET', url, false); - if (datalength !== chunkSize) xhr.setRequestHeader("Range", "bytes=" + from + "-" + to); - - // Some hints to the browser that we want binary data. - xhr.responseType = 'arraybuffer'; - if (xhr.overrideMimeType) { - xhr.overrideMimeType('text/plain; charset=x-user-defined'); - } - - xhr.send(null); - if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error("Couldn't load " + url + ". Status: " + xhr.status); - if (xhr.response !== undefined) { - return new Uint8Array(/** @type{Array} */(xhr.response || [])); - } - return intArrayFromString(xhr.responseText || '', true); - }; - var lazyArray = this; - lazyArray.setDataGetter((chunkNum) => { - var start = chunkNum * chunkSize; - var end = (chunkNum+1) * chunkSize - 1; // including this byte - end = Math.min(end, datalength-1); // if datalength-1 is selected, this is the last block - if (typeof lazyArray.chunks[chunkNum] == 'undefined') { - lazyArray.chunks[chunkNum] = doXHR(start, end); - } - if (typeof lazyArray.chunks[chunkNum] == 'undefined') throw new Error('doXHR failed!'); - return lazyArray.chunks[chunkNum]; - }); - - if (usesGzip || !datalength) { - // if the server uses gzip or doesn't supply the length, we have to download the whole file to get the (uncompressed) length - chunkSize = datalength = 1; // this will force getter(0)/doXHR do download the whole file - datalength = this.getter(0).length; - chunkSize = datalength; - out("LazyFiles on gzip forces download of the whole file when length is accessed"); - } - - this._length = datalength; - this._chunkSize = chunkSize; - this.lengthKnown = true; - } - get length() { - if (!this.lengthKnown) { - this.cacheLength(); - } - return this._length; - } - get chunkSize() { - if (!this.lengthKnown) { - this.cacheLength(); - } - return this._chunkSize; - } - } - - if (typeof XMLHttpRequest != 'undefined') { - if (!ENVIRONMENT_IS_WORKER) throw 'Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc'; - var lazyArray = new LazyUint8Array(); - var properties = { isDevice: false, contents: lazyArray }; - } else { - var properties = { isDevice: false, url: url }; - } - - var node = FS.createFile(parent, name, properties, canRead, canWrite); - // This is a total hack, but I want to get this lazy file code out of the - // core of MEMFS. If we want to keep this lazy file concept I feel it should - // be its own thin LAZYFS proxying calls to MEMFS. - if (properties.contents) { - node.contents = properties.contents; - } else if (properties.url) { - node.contents = null; - node.url = properties.url; - } - // Add a function that defers querying the file size until it is asked the first time. - Object.defineProperties(node, { - usedBytes: { - get: function() { return this.contents.length; } - } - }); - // override each stream op with one that tries to force load the lazy file first - var stream_ops = {}; - var keys = Object.keys(node.stream_ops); - keys.forEach((key) => { - var fn = node.stream_ops[key]; - stream_ops[key] = (...args) => { - FS.forceLoadFile(node); - return fn(...args); - }; - }); - function writeChunks(stream, buffer, offset, length, position) { - var contents = stream.node.contents; - if (position >= contents.length) - return 0; - var size = Math.min(contents.length - position, length); - assert(size >= 0); - if (contents.slice) { // normal array - for (var i = 0; i < size; i++) { - buffer[offset + i] = contents[position + i]; - } - } else { - for (var i = 0; i < size; i++) { // LazyUint8Array from sync binary XHR - buffer[offset + i] = contents.get(position + i); - } - } - return size; - } - // use a custom read function - stream_ops.read = (stream, buffer, offset, length, position) => { - FS.forceLoadFile(node); - return writeChunks(stream, buffer, offset, length, position) - }; - // use a custom mmap function - stream_ops.mmap = (stream, length, position, prot, flags) => { - FS.forceLoadFile(node); - var ptr = mmapAlloc(length); - if (!ptr) { - throw new FS.ErrnoError(48); - } - writeChunks(stream, HEAP8, ptr, length, position); - return { ptr, allocated: true }; - }; - node.stream_ops = stream_ops; - return node; - }, - absolutePath() { - abort('FS.absolutePath has been removed; use PATH_FS.resolve instead'); - }, - createFolder() { - abort('FS.createFolder has been removed; use FS.mkdir instead'); - }, - createLink() { - abort('FS.createLink has been removed; use FS.symlink instead'); - }, - joinPath() { - abort('FS.joinPath has been removed; use PATH.join instead'); - }, - mmapAlloc() { - abort('FS.mmapAlloc has been replaced by the top level function mmapAlloc'); - }, - standardizePath() { - abort('FS.standardizePath has been removed; use PATH.normalize instead'); - }, - }; - - var SYSCALLS = { - DEFAULT_POLLMASK:5, - calculateAt(dirfd, path, allowEmpty) { - if (PATH.isAbs(path)) { - return path; - } - // relative path - var dir; - if (dirfd === -100) { - dir = FS.cwd(); - } else { - var dirstream = SYSCALLS.getStreamFromFD(dirfd); - dir = dirstream.path; - } - if (path.length == 0) { - if (!allowEmpty) { - throw new FS.ErrnoError(44);; - } - return dir; - } - return dir + '/' + path; - }, - writeStat(buf, stat) { - HEAP32[((buf)>>2)] = stat.dev; - HEAP32[(((buf)+(4))>>2)] = stat.mode; - HEAPU32[(((buf)+(8))>>2)] = stat.nlink; - HEAP32[(((buf)+(12))>>2)] = stat.uid; - HEAP32[(((buf)+(16))>>2)] = stat.gid; - HEAP32[(((buf)+(20))>>2)] = stat.rdev; - HEAP64[(((buf)+(24))>>3)] = BigInt(stat.size); - HEAP32[(((buf)+(32))>>2)] = 4096; - HEAP32[(((buf)+(36))>>2)] = stat.blocks; - var atime = stat.atime.getTime(); - var mtime = stat.mtime.getTime(); - var ctime = stat.ctime.getTime(); - HEAP64[(((buf)+(40))>>3)] = BigInt(Math.floor(atime / 1000)); - HEAPU32[(((buf)+(48))>>2)] = (atime % 1000) * 1000 * 1000; - HEAP64[(((buf)+(56))>>3)] = BigInt(Math.floor(mtime / 1000)); - HEAPU32[(((buf)+(64))>>2)] = (mtime % 1000) * 1000 * 1000; - HEAP64[(((buf)+(72))>>3)] = BigInt(Math.floor(ctime / 1000)); - HEAPU32[(((buf)+(80))>>2)] = (ctime % 1000) * 1000 * 1000; - HEAP64[(((buf)+(88))>>3)] = BigInt(stat.ino); - return 0; - }, - writeStatFs(buf, stats) { - HEAP32[(((buf)+(4))>>2)] = stats.bsize; - HEAP32[(((buf)+(40))>>2)] = stats.bsize; - HEAP32[(((buf)+(8))>>2)] = stats.blocks; - HEAP32[(((buf)+(12))>>2)] = stats.bfree; - HEAP32[(((buf)+(16))>>2)] = stats.bavail; - HEAP32[(((buf)+(20))>>2)] = stats.files; - HEAP32[(((buf)+(24))>>2)] = stats.ffree; - HEAP32[(((buf)+(28))>>2)] = stats.fsid; - HEAP32[(((buf)+(44))>>2)] = stats.flags; // ST_NOSUID - HEAP32[(((buf)+(36))>>2)] = stats.namelen; - }, - doMsync(addr, stream, len, flags, offset) { - if (!FS.isFile(stream.node.mode)) { - throw new FS.ErrnoError(43); - } - if (flags & 2) { - // MAP_PRIVATE calls need not to be synced back to underlying fs - return 0; - } - var buffer = HEAPU8.slice(addr, addr + len); - FS.msync(stream, buffer, offset, len, flags); - }, - getStreamFromFD(fd) { - var stream = FS.getStreamChecked(fd); - return stream; - }, - varargs:undefined, - getStr(ptr) { - var ret = UTF8ToString(ptr); - return ret; - }, - }; - function ___syscall_fcntl64(fd, cmd, varargs) { - SYSCALLS.varargs = varargs; - try { - - var stream = SYSCALLS.getStreamFromFD(fd); - switch (cmd) { - case 0: { - var arg = syscallGetVarargI(); - if (arg < 0) { - return -28; - } - while (FS.streams[arg]) { - arg++; - } - var newStream; - newStream = FS.dupStream(stream, arg); - return newStream.fd; - } - case 1: - case 2: - return 0; // FD_CLOEXEC makes no sense for a single process. - case 3: - return stream.flags; - case 4: { - var arg = syscallGetVarargI(); - stream.flags |= arg; - return 0; - } - case 12: { - var arg = syscallGetVarargP(); - var offset = 0; - // We're always unlocked. - HEAP16[(((arg)+(offset))>>1)] = 2; - return 0; - } - case 13: - case 14: - // Pretend that the locking is successful. These are process-level locks, - // and Emscripten programs are a single process. If we supported linking a - // filesystem between programs, we'd need to do more here. - // See https://github.com/emscripten-core/emscripten/issues/23697 - return 0; - } - return -28; - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return -e.errno; - } - } - - - function ___syscall_ioctl(fd, op, varargs) { - SYSCALLS.varargs = varargs; - try { - - var stream = SYSCALLS.getStreamFromFD(fd); - switch (op) { - case 21509: { - if (!stream.tty) return -59; - return 0; - } - case 21505: { - if (!stream.tty) return -59; - if (stream.tty.ops.ioctl_tcgets) { - var termios = stream.tty.ops.ioctl_tcgets(stream); - var argp = syscallGetVarargP(); - HEAP32[((argp)>>2)] = termios.c_iflag || 0; - HEAP32[(((argp)+(4))>>2)] = termios.c_oflag || 0; - HEAP32[(((argp)+(8))>>2)] = termios.c_cflag || 0; - HEAP32[(((argp)+(12))>>2)] = termios.c_lflag || 0; - for (var i = 0; i < 32; i++) { - HEAP8[(argp + i)+(17)] = termios.c_cc[i] || 0; - } - return 0; - } - return 0; - } - case 21510: - case 21511: - case 21512: { - if (!stream.tty) return -59; - return 0; // no-op, not actually adjusting terminal settings - } - case 21506: - case 21507: - case 21508: { - if (!stream.tty) return -59; - if (stream.tty.ops.ioctl_tcsets) { - var argp = syscallGetVarargP(); - var c_iflag = HEAP32[((argp)>>2)]; - var c_oflag = HEAP32[(((argp)+(4))>>2)]; - var c_cflag = HEAP32[(((argp)+(8))>>2)]; - var c_lflag = HEAP32[(((argp)+(12))>>2)]; - var c_cc = [] - for (var i = 0; i < 32; i++) { - c_cc.push(HEAP8[(argp + i)+(17)]); - } - return stream.tty.ops.ioctl_tcsets(stream.tty, op, { c_iflag, c_oflag, c_cflag, c_lflag, c_cc }); - } - return 0; // no-op, not actually adjusting terminal settings - } - case 21519: { - if (!stream.tty) return -59; - var argp = syscallGetVarargP(); - HEAP32[((argp)>>2)] = 0; - return 0; - } - case 21520: { - if (!stream.tty) return -59; - return -28; // not supported - } - case 21531: { - var argp = syscallGetVarargP(); - return FS.ioctl(stream, op, argp); - } - case 21523: { - // TODO: in theory we should write to the winsize struct that gets - // passed in, but for now musl doesn't read anything on it - if (!stream.tty) return -59; - if (stream.tty.ops.ioctl_tiocgwinsz) { - var winsize = stream.tty.ops.ioctl_tiocgwinsz(stream.tty); - var argp = syscallGetVarargP(); - HEAP16[((argp)>>1)] = winsize[0]; - HEAP16[(((argp)+(2))>>1)] = winsize[1]; - } - return 0; - } - case 21524: { - // TODO: technically, this ioctl call should change the window size. - // but, since emscripten doesn't have any concept of a terminal window - // yet, we'll just silently throw it away as we do TIOCGWINSZ - if (!stream.tty) return -59; - return 0; - } - case 21515: { - if (!stream.tty) return -59; - return 0; - } - default: return -28; // not supported - } - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return -e.errno; - } - } - - - function ___syscall_openat(dirfd, path, flags, varargs) { - SYSCALLS.varargs = varargs; - try { - - path = SYSCALLS.getStr(path); - path = SYSCALLS.calculateAt(dirfd, path); - var mode = varargs ? syscallGetVarargI() : 0; - return FS.open(path, flags, mode).fd; - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return -e.errno; - } - } - - function ___syscall_unlinkat(dirfd, path, flags) { - try { - - path = SYSCALLS.getStr(path); - path = SYSCALLS.calculateAt(dirfd, path); - if (flags === 0) { - FS.unlink(path); - } else if (flags === 512) { - FS.rmdir(path); - } else { - abort('Invalid flags passed to unlinkat'); - } - return 0; - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return -e.errno; - } - } - - var __abort_js = () => - abort('native code called abort()'); - - var abortOnCannotGrowMemory = (requestedSize) => { - abort(`Cannot enlarge memory arrays to size ${requestedSize} bytes (OOM). Either (1) compile with -sINITIAL_MEMORY=X with X higher than the current value ${HEAP8.length}, (2) compile with -sALLOW_MEMORY_GROWTH which allows increasing the size at runtime, or (3) if you want malloc to return NULL (0) instead of this abort, compile with -sABORTING_MALLOC=0`); - }; - var _emscripten_resize_heap = (requestedSize) => { - var oldSize = HEAPU8.length; - // With CAN_ADDRESS_2GB or MEMORY64, pointers are already unsigned. - requestedSize >>>= 0; - abortOnCannotGrowMemory(requestedSize); - }; - - - var runtimeKeepaliveCounter = 0; - var keepRuntimeAlive = () => noExitRuntime || runtimeKeepaliveCounter > 0; - var _proc_exit = (code) => { - EXITSTATUS = code; - if (!keepRuntimeAlive()) { - Module['onExit']?.(code); - ABORT = true; - } - quit_(code, new ExitStatus(code)); - }; - - - /** @suppress {duplicate } */ - /** @param {boolean|number=} implicit */ - var exitJS = (status, implicit) => { - EXITSTATUS = status; - - checkUnflushedContent(); - - // if exit() was called explicitly, warn the user if the runtime isn't actually being shut down - if (keepRuntimeAlive() && !implicit) { - var msg = `program exited (with status: ${status}), but keepRuntimeAlive() is set (counter=${runtimeKeepaliveCounter}) due to an async operation, so halting execution but not exiting the runtime or preventing further async execution (you can use emscripten_force_exit, if you want to force a true shutdown)`; - err(msg); - } - - _proc_exit(status); - }; - var _exit = exitJS; - - function _fd_close(fd) { - try { - - var stream = SYSCALLS.getStreamFromFD(fd); - FS.close(stream); - return 0; - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return e.errno; - } - } - - /** @param {number=} offset */ - var doReadv = (stream, iov, iovcnt, offset) => { - var ret = 0; - for (var i = 0; i < iovcnt; i++) { - var ptr = HEAPU32[((iov)>>2)]; - var len = HEAPU32[(((iov)+(4))>>2)]; - iov += 8; - var curr = FS.read(stream, HEAP8, ptr, len, offset); - if (curr < 0) return -1; - ret += curr; - if (curr < len) break; // nothing more to read - if (typeof offset != 'undefined') { - offset += curr; - } - } - return ret; - }; - - function _fd_read(fd, iov, iovcnt, pnum) { - try { - - var stream = SYSCALLS.getStreamFromFD(fd); - var num = doReadv(stream, iov, iovcnt); - HEAPU32[((pnum)>>2)] = num; - return 0; - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return e.errno; - } - } - - - var INT53_MAX = 9007199254740992; - - var INT53_MIN = -9007199254740992; - var bigintToI53Checked = (num) => (num < INT53_MIN || num > INT53_MAX) ? NaN : Number(num); - function _fd_seek(fd, offset, whence, newOffset) { - offset = bigintToI53Checked(offset); - - - try { - - if (isNaN(offset)) return 61; - var stream = SYSCALLS.getStreamFromFD(fd); - FS.llseek(stream, offset, whence); - HEAP64[((newOffset)>>3)] = BigInt(stream.position); - if (stream.getdents && offset === 0 && whence === 0) stream.getdents = null; // reset readdir state - return 0; - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return e.errno; - } - ; - } - - /** @param {number=} offset */ - var doWritev = (stream, iov, iovcnt, offset) => { - var ret = 0; - for (var i = 0; i < iovcnt; i++) { - var ptr = HEAPU32[((iov)>>2)]; - var len = HEAPU32[(((iov)+(4))>>2)]; - iov += 8; - var curr = FS.write(stream, HEAP8, ptr, len, offset); - if (curr < 0) return -1; - ret += curr; - if (curr < len) { - // No more space to write. - break; - } - if (typeof offset != 'undefined') { - offset += curr; - } - } - return ret; - }; - - function _fd_write(fd, iov, iovcnt, pnum) { - try { - - var stream = SYSCALLS.getStreamFromFD(fd); - var num = doWritev(stream, iov, iovcnt); - HEAPU32[((pnum)>>2)] = num; - return 0; - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return e.errno; - } - } - - - var handleException = (e) => { - // Certain exception types we do not treat as errors since they are used for - // internal control flow. - // 1. ExitStatus, which is thrown by exit() - // 2. "unwind", which is thrown by emscripten_unwind_to_js_event_loop() and others - // that wish to return to JS event loop. - if (e instanceof ExitStatus || e == 'unwind') { - return EXITSTATUS; - } - checkStackCookie(); - if (e instanceof WebAssembly.RuntimeError) { - if (_emscripten_stack_get_current() <= 0) { - err('Stack overflow detected. You can try increasing -sSTACK_SIZE (currently set to 65536)'); - } - } - quit_(1, e); - }; - - - var stringToUTF8 = (str, outPtr, maxBytesToWrite) => { - assert(typeof maxBytesToWrite == 'number', 'stringToUTF8(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!'); - return stringToUTF8Array(str, HEAPU8, outPtr, maxBytesToWrite); - }; - - var stackAlloc = (sz) => __emscripten_stack_alloc(sz); - var stringToUTF8OnStack = (str) => { - var size = lengthBytesUTF8(str) + 1; - var ret = stackAlloc(size); - stringToUTF8(str, ret, size); - return ret; - }; - - FS.createPreloadedFile = FS_createPreloadedFile; - FS.staticInit(); - // Set module methods based on EXPORTED_RUNTIME_METHODS - ; -// End JS library code - -function checkIncomingModuleAPI() { - ignoredModuleProp('fetchSettings'); -} -var wasmImports = { - /** @export */ - __syscall_fcntl64: ___syscall_fcntl64, - /** @export */ - __syscall_ioctl: ___syscall_ioctl, - /** @export */ - __syscall_openat: ___syscall_openat, - /** @export */ - __syscall_unlinkat: ___syscall_unlinkat, - /** @export */ - _abort_js: __abort_js, - /** @export */ - emscripten_resize_heap: _emscripten_resize_heap, - /** @export */ - exit: _exit, - /** @export */ - fd_close: _fd_close, - /** @export */ - fd_read: _fd_read, - /** @export */ - fd_seek: _fd_seek, - /** @export */ - fd_write: _fd_write -}; -var wasmExports; -createWasm(); -var ___wasm_call_ctors = createExportWrapper('__wasm_call_ctors', 0); -var _main = Module['_main'] = createExportWrapper('__main_argc_argv', 2); -var _strerror = createExportWrapper('strerror', 1); -var _fflush = createExportWrapper('fflush', 1); -var _emscripten_stack_init = () => (_emscripten_stack_init = wasmExports['emscripten_stack_init'])(); -var _emscripten_stack_get_free = () => (_emscripten_stack_get_free = wasmExports['emscripten_stack_get_free'])(); -var _emscripten_stack_get_base = () => (_emscripten_stack_get_base = wasmExports['emscripten_stack_get_base'])(); -var _emscripten_stack_get_end = () => (_emscripten_stack_get_end = wasmExports['emscripten_stack_get_end'])(); -var __emscripten_stack_restore = (a0) => (__emscripten_stack_restore = wasmExports['_emscripten_stack_restore'])(a0); -var __emscripten_stack_alloc = (a0) => (__emscripten_stack_alloc = wasmExports['_emscripten_stack_alloc'])(a0); -var _emscripten_stack_get_current = () => (_emscripten_stack_get_current = wasmExports['emscripten_stack_get_current'])(); - - -// include: postamble.js -// === Auto-generated postamble setup entry stuff === - -var missingLibrarySymbols = [ - 'writeI53ToI64', - 'writeI53ToI64Clamped', - 'writeI53ToI64Signaling', - 'writeI53ToU64Clamped', - 'writeI53ToU64Signaling', - 'readI53FromI64', - 'readI53FromU64', - 'convertI32PairToI53', - 'convertI32PairToI53Checked', - 'convertU32PairToI53', - 'getTempRet0', - 'setTempRet0', - 'zeroMemory', - 'getHeapMax', - 'growMemory', - 'inetPton4', - 'inetNtop4', - 'inetPton6', - 'inetNtop6', - 'readSockaddr', - 'writeSockaddr', - 'emscriptenLog', - 'readEmAsmArgs', - 'jstoi_q', - 'getExecutableName', - 'listenOnce', - 'autoResumeAudioContext', - 'getDynCaller', - 'dynCall', - 'runtimeKeepalivePush', - 'runtimeKeepalivePop', - 'callUserCallback', - 'maybeExit', - 'asmjsMangle', - 'alignMemory', - 'HandleAllocator', - 'getNativeTypeSize', - 'addOnInit', - 'addOnPostCtor', - 'addOnPreMain', - 'addOnExit', - 'STACK_SIZE', - 'STACK_ALIGN', - 'POINTER_SIZE', - 'ASSERTIONS', - 'getCFunc', - 'ccall', - 'cwrap', - 'uleb128Encode', - 'sigToWasmTypes', - 'generateFuncType', - 'convertJsFunctionToWasm', - 'getEmptyTableSlot', - 'updateTableMap', - 'getFunctionAddress', - 'addFunction', - 'removeFunction', - 'reallyNegative', - 'unSign', - 'strLen', - 'reSign', - 'formatString', - 'intArrayToString', - 'AsciiToString', - 'stringToAscii', - 'UTF16ToString', - 'stringToUTF16', - 'lengthBytesUTF16', - 'UTF32ToString', - 'stringToUTF32', - 'lengthBytesUTF32', - 'stringToNewUTF8', - 'writeArrayToMemory', - 'registerKeyEventCallback', - 'maybeCStringToJsString', - 'findEventTarget', - 'getBoundingClientRect', - 'fillMouseEventData', - 'registerMouseEventCallback', - 'registerWheelEventCallback', - 'registerUiEventCallback', - 'registerFocusEventCallback', - 'fillDeviceOrientationEventData', - 'registerDeviceOrientationEventCallback', - 'fillDeviceMotionEventData', - 'registerDeviceMotionEventCallback', - 'screenOrientation', - 'fillOrientationChangeEventData', - 'registerOrientationChangeEventCallback', - 'fillFullscreenChangeEventData', - 'registerFullscreenChangeEventCallback', - 'JSEvents_requestFullscreen', - 'JSEvents_resizeCanvasForFullscreen', - 'registerRestoreOldStyle', - 'hideEverythingExceptGivenElement', - 'restoreHiddenElements', - 'setLetterbox', - 'softFullscreenResizeWebGLRenderTarget', - 'doRequestFullscreen', - 'fillPointerlockChangeEventData', - 'registerPointerlockChangeEventCallback', - 'registerPointerlockErrorEventCallback', - 'requestPointerLock', - 'fillVisibilityChangeEventData', - 'registerVisibilityChangeEventCallback', - 'registerTouchEventCallback', - 'fillGamepadEventData', - 'registerGamepadEventCallback', - 'registerBeforeUnloadEventCallback', - 'fillBatteryEventData', - 'battery', - 'registerBatteryEventCallback', - 'setCanvasElementSize', - 'getCanvasElementSize', - 'jsStackTrace', - 'getCallstack', - 'convertPCtoSourceLocation', - 'getEnvStrings', - 'checkWasiClock', - 'wasiRightsToMuslOFlags', - 'wasiOFlagsToMuslOFlags', - 'safeSetTimeout', - 'setImmediateWrapped', - 'safeRequestAnimationFrame', - 'clearImmediateWrapped', - 'registerPostMainLoop', - 'registerPreMainLoop', - 'getPromise', - 'makePromise', - 'idsToPromises', - 'makePromiseCallback', - 'ExceptionInfo', - 'findMatchingCatch', - 'Browser_asyncPrepareDataCounter', - 'isLeapYear', - 'ydayFromDate', - 'arraySum', - 'addDays', - 'getSocketFromFD', - 'getSocketAddress', - 'FS_unlink', - 'FS_mkdirTree', - '_setNetworkCallback', - 'heapObjectForWebGLType', - 'toTypedArrayIndex', - 'webgl_enable_ANGLE_instanced_arrays', - 'webgl_enable_OES_vertex_array_object', - 'webgl_enable_WEBGL_draw_buffers', - 'webgl_enable_WEBGL_multi_draw', - 'webgl_enable_EXT_polygon_offset_clamp', - 'webgl_enable_EXT_clip_control', - 'webgl_enable_WEBGL_polygon_mode', - 'emscriptenWebGLGet', - 'computeUnpackAlignedImageSize', - 'colorChannelsInGlTextureFormat', - 'emscriptenWebGLGetTexPixelData', - 'emscriptenWebGLGetUniform', - 'webglGetUniformLocation', - 'webglPrepareUniformLocationsBeforeFirstUse', - 'webglGetLeftBracePos', - 'emscriptenWebGLGetVertexAttrib', - '__glGetActiveAttribOrUniform', - 'writeGLArray', - 'registerWebGlEventCallback', - 'runAndAbortIfError', - 'ALLOC_NORMAL', - 'ALLOC_STACK', - 'allocate', - 'writeStringToMemory', - 'writeAsciiToMemory', - 'demangle', - 'stackTrace', -]; -missingLibrarySymbols.forEach(missingLibrarySymbol) - -var unexportedSymbols = [ - 'run', - 'addRunDependency', - 'removeRunDependency', - 'out', - 'err', - 'callMain', - 'abort', - 'wasmMemory', - 'wasmExports', - 'writeStackCookie', - 'checkStackCookie', - 'INT53_MAX', - 'INT53_MIN', - 'bigintToI53Checked', - 'stackSave', - 'stackRestore', - 'stackAlloc', - 'ptrToString', - 'exitJS', - 'abortOnCannotGrowMemory', - 'ENV', - 'ERRNO_CODES', - 'strError', - 'DNS', - 'Protocols', - 'Sockets', - 'timers', - 'warnOnce', - 'readEmAsmArgsArray', - 'jstoi_s', - 'handleException', - 'keepRuntimeAlive', - 'asyncLoad', - 'mmapAlloc', - 'wasmTable', - 'noExitRuntime', - 'addOnPreRun', - 'addOnPostRun', - 'freeTableIndexes', - 'functionsInTableMap', - 'setValue', - 'getValue', - 'PATH', - 'PATH_FS', - 'UTF8Decoder', - 'UTF8ArrayToString', - 'UTF8ToString', - 'stringToUTF8Array', - 'stringToUTF8', - 'lengthBytesUTF8', - 'intArrayFromString', - 'UTF16Decoder', - 'stringToUTF8OnStack', - 'JSEvents', - 'specialHTMLTargets', - 'findCanvasEventTarget', - 'currentFullscreenStrategy', - 'restoreOldWindowedStyle', - 'UNWIND_CACHE', - 'ExitStatus', - 'doReadv', - 'doWritev', - 'initRandomFill', - 'randomFill', - 'emSetImmediate', - 'emClearImmediate_deps', - 'emClearImmediate', - 'promiseMap', - 'uncaughtExceptionCount', - 'exceptionLast', - 'exceptionCaught', - 'Browser', - 'getPreloadedImageData__data', - 'wget', - 'MONTH_DAYS_REGULAR', - 'MONTH_DAYS_LEAP', - 'MONTH_DAYS_REGULAR_CUMULATIVE', - 'MONTH_DAYS_LEAP_CUMULATIVE', - 'SYSCALLS', - 'preloadPlugins', - 'FS_createPreloadedFile', - 'FS_modeStringToFlags', - 'FS_getMode', - 'FS_stdin_getChar_buffer', - 'FS_stdin_getChar', - 'FS_createPath', - 'FS_createDevice', - 'FS_readFile', - 'FS', - 'FS_createDataFile', - 'FS_createLazyFile', - 'MEMFS', - 'TTY', - 'PIPEFS', - 'SOCKFS', - 'tempFixedLengthArray', - 'miniTempWebGLFloatBuffers', - 'miniTempWebGLIntBuffers', - 'GL', - 'AL', - 'GLUT', - 'EGL', - 'GLEW', - 'IDBStore', - 'SDL', - 'SDL_gfx', - 'allocateUTF8', - 'allocateUTF8OnStack', - 'print', - 'printErr', -]; -unexportedSymbols.forEach(unexportedRuntimeSymbol); - - - -var calledRun; - -function callMain(args = []) { - assert(runDependencies == 0, 'cannot call main when async dependencies remain! (listen on Module["onRuntimeInitialized"])'); - assert(typeof onPreRuns === 'undefined' || onPreRuns.length == 0, 'cannot call main when preRun functions remain to be called'); - - var entryFunction = _main; - - args.unshift(thisProgram); - - var argc = args.length; - var argv = stackAlloc((argc + 1) * 4); - var argv_ptr = argv; - args.forEach((arg) => { - HEAPU32[((argv_ptr)>>2)] = stringToUTF8OnStack(arg); - argv_ptr += 4; - }); - HEAPU32[((argv_ptr)>>2)] = 0; - - try { - - var ret = entryFunction(argc, argv); - - // if we're not running an evented main loop, it's time to exit - exitJS(ret, /* implicit = */ true); - return ret; - } catch (e) { - return handleException(e); - } -} - -function stackCheckInit() { - // This is normally called automatically during __wasm_call_ctors but need to - // get these values before even running any of the ctors so we call it redundantly - // here. - _emscripten_stack_init(); - // TODO(sbc): Move writeStackCookie to native to to avoid this. - writeStackCookie(); -} - -function run(args = arguments_) { - - if (runDependencies > 0) { - dependenciesFulfilled = run; - return; - } - - stackCheckInit(); - - preRun(); - - // a preRun added a dependency, run will be called later - if (runDependencies > 0) { - dependenciesFulfilled = run; - return; - } - - function doRun() { - // run may have just been called through dependencies being fulfilled just in this very frame, - // or while the async setStatus time below was happening - assert(!calledRun); - calledRun = true; - Module['calledRun'] = true; - - if (ABORT) return; - - initRuntime(); - - preMain(); - - Module['onRuntimeInitialized']?.(); - consumedModuleProp('onRuntimeInitialized'); - - var noInitialRun = Module['noInitialRun'];legacyModuleProp('noInitialRun', 'noInitialRun'); - if (!noInitialRun) callMain(args); - - postRun(); - } - - if (Module['setStatus']) { - Module['setStatus']('Running...'); - setTimeout(() => { - setTimeout(() => Module['setStatus'](''), 1); - doRun(); - }, 1); - } else - { - doRun(); - } - checkStackCookie(); -} - -function checkUnflushedContent() { - // Compiler settings do not allow exiting the runtime, so flushing - // the streams is not possible. but in ASSERTIONS mode we check - // if there was something to flush, and if so tell the user they - // should request that the runtime be exitable. - // Normally we would not even include flush() at all, but in ASSERTIONS - // builds we do so just for this check, and here we see if there is any - // content to flush, that is, we check if there would have been - // something a non-ASSERTIONS build would have not seen. - // How we flush the streams depends on whether we are in SYSCALLS_REQUIRE_FILESYSTEM=0 - // mode (which has its own special function for this; otherwise, all - // the code is inside libc) - var oldOut = out; - var oldErr = err; - var has = false; - out = err = (x) => { - has = true; - } - try { // it doesn't matter if it fails - _fflush(0); - // also flush in the JS FS layer - ['stdout', 'stderr'].forEach((name) => { - var info = FS.analyzePath('/dev/' + name); - if (!info) return; - var stream = info.object; - var rdev = stream.rdev; - var tty = TTY.ttys[rdev]; - if (tty?.output?.length) { - has = true; - } - }); - } catch(e) {} - out = oldOut; - err = oldErr; - if (has) { - warnOnce('stdio streams had content in them that was not flushed. you should set EXIT_RUNTIME to 1 (see the Emscripten FAQ), or make sure to emit a newline when you printf etc.'); - } -} - -if (Module['preInit']) { - if (typeof Module['preInit'] == 'function') Module['preInit'] = [Module['preInit']]; - while (Module['preInit'].length > 0) { - Module['preInit'].pop()(); - } -} -consumedModuleProp('preInit'); - -run(); - -// end include: postamble.js - diff --git a/thirdparty/zlib-1.3.1/build-emcmake/minigzip.wasm b/thirdparty/zlib-1.3.1/build-emcmake/minigzip.wasm deleted file mode 100755 index 96242792f0c9f56e3b0bbaf56a8b5585122cf40e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 201173 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%0Ao?2S1?5E*YQ-`SfyPiMH9NGLhGsd8sK!!6MI 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%0Ac*c`bUT=EJYTyz?0Zd?te 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 L-Kom37XAMK<9ii+ diff --git a/thirdparty/zlib-1.3.1/build-emcmake/minigzip64.js b/thirdparty/zlib-1.3.1/build-emcmake/minigzip64.js deleted file mode 100644 index 3cac45a..0000000 --- a/thirdparty/zlib-1.3.1/build-emcmake/minigzip64.js +++ /dev/null @@ -1,4517 +0,0 @@ -// include: shell.js -// The Module object: Our interface to the outside world. We import -// and export values on it. There are various ways Module can be used: -// 1. Not defined. We create it here -// 2. A function parameter, function(moduleArg) => Promise -// 3. pre-run appended it, var Module = {}; ..generated code.. -// 4. External script tag defines var Module. -// We need to check if Module already exists (e.g. case 3 above). -// Substitution will be replaced with actual code on later stage of the build, -// this way Closure Compiler will not mangle it (e.g. case 4. above). -// Note that if you want to run closure, and also to use Module -// after the generated code, you will need to define var Module = {}; -// before the code. Then that object will be used in the code, and you -// can continue to use Module afterwards as well. -var Module = typeof Module != 'undefined' ? Module : {}; - -// Determine the runtime environment we are in. You can customize this by -// setting the ENVIRONMENT setting at compile time (see settings.js). - -// Attempt to auto-detect the environment -var ENVIRONMENT_IS_WEB = typeof window == 'object'; -var ENVIRONMENT_IS_WORKER = typeof WorkerGlobalScope != 'undefined'; -// N.b. Electron.js environment is simultaneously a NODE-environment, but -// also a web environment. -var ENVIRONMENT_IS_NODE = typeof process == 'object' && typeof process.versions == 'object' && typeof process.versions.node == 'string' && process.type != 'renderer'; -var ENVIRONMENT_IS_SHELL = !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_NODE && !ENVIRONMENT_IS_WORKER; - -if (ENVIRONMENT_IS_NODE) { - -} - -// --pre-jses are emitted after the Module integration code, so that they can -// refer to Module (if they choose; they can also define Module) - - -// Sometimes an existing Module object exists with properties -// meant to overwrite the default module functionality. Here -// we collect those properties and reapply _after_ we configure -// the current environment's defaults to avoid having to be so -// defensive during initialization. -var moduleOverrides = {...Module}; - -var arguments_ = []; -var thisProgram = './this.program'; -var quit_ = (status, toThrow) => { - throw toThrow; -}; - -// `/` should be present at the end if `scriptDirectory` is not empty -var scriptDirectory = ''; -function locateFile(path) { - if (Module['locateFile']) { - return Module['locateFile'](path, scriptDirectory); - } - return scriptDirectory + path; -} - -// Hooks that are implemented differently in different runtime environments. -var readAsync, readBinary; - -if (ENVIRONMENT_IS_NODE) { - if (typeof process == 'undefined' || !process.release || process.release.name !== 'node') throw new Error('not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)'); - - var nodeVersion = process.versions.node; - var numericVersion = nodeVersion.split('.').slice(0, 3); - numericVersion = (numericVersion[0] * 10000) + (numericVersion[1] * 100) + (numericVersion[2].split('-')[0] * 1); - var minVersion = 160000; - if (numericVersion < 160000) { - throw new Error('This emscripten-generated code requires node v16.0.0 (detected v' + nodeVersion + ')'); - } - - // These modules will usually be used on Node.js. Load them eagerly to avoid - // the complexity of lazy-loading. - var fs = require('fs'); - var nodePath = require('path'); - - scriptDirectory = __dirname + '/'; - -// include: node_shell_read.js -readBinary = (filename) => { - // We need to re-wrap `file://` strings to URLs. - filename = isFileURI(filename) ? new URL(filename) : filename; - var ret = fs.readFileSync(filename); - assert(Buffer.isBuffer(ret)); - return ret; -}; - -readAsync = async (filename, binary = true) => { - // See the comment in the `readBinary` function. - filename = isFileURI(filename) ? new URL(filename) : filename; - var ret = fs.readFileSync(filename, binary ? undefined : 'utf8'); - assert(binary ? Buffer.isBuffer(ret) : typeof ret == 'string'); - return ret; -}; -// end include: node_shell_read.js - if (!Module['thisProgram'] && process.argv.length > 1) { - thisProgram = process.argv[1].replace(/\\/g, '/'); - } - - arguments_ = process.argv.slice(2); - - if (typeof module != 'undefined') { - module['exports'] = Module; - } - - quit_ = (status, toThrow) => { - process.exitCode = status; - throw toThrow; - }; - -} else -if (ENVIRONMENT_IS_SHELL) { - - if ((typeof process == 'object' && typeof require === 'function') || typeof window == 'object' || typeof WorkerGlobalScope != 'undefined') throw new Error('not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)'); - -} else - -// Note that this includes Node.js workers when relevant (pthreads is enabled). -// Node.js workers are detected as a combination of ENVIRONMENT_IS_WORKER and -// ENVIRONMENT_IS_NODE. -if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) { - if (ENVIRONMENT_IS_WORKER) { // Check worker, not web, since window could be polyfilled - scriptDirectory = self.location.href; - } else if (typeof document != 'undefined' && document.currentScript) { // web - scriptDirectory = document.currentScript.src; - } - // blob urls look like blob:http://site.com/etc/etc and we cannot infer anything from them. - // otherwise, slice off the final part of the url to find the script directory. - // if scriptDirectory does not contain a slash, lastIndexOf will return -1, - // and scriptDirectory will correctly be replaced with an empty string. - // If scriptDirectory contains a query (starting with ?) or a fragment (starting with #), - // they are removed because they could contain a slash. - if (scriptDirectory.startsWith('blob:')) { - scriptDirectory = ''; - } else { - scriptDirectory = scriptDirectory.slice(0, scriptDirectory.replace(/[?#].*/, '').lastIndexOf('/')+1); - } - - if (!(typeof window == 'object' || typeof WorkerGlobalScope != 'undefined')) throw new Error('not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)'); - - { -// include: web_or_worker_shell_read.js -if (ENVIRONMENT_IS_WORKER) { - readBinary = (url) => { - var xhr = new XMLHttpRequest(); - xhr.open('GET', url, false); - xhr.responseType = 'arraybuffer'; - xhr.send(null); - return new Uint8Array(/** @type{!ArrayBuffer} */(xhr.response)); - }; - } - - readAsync = async (url) => { - // Fetch has some additional restrictions over XHR, like it can't be used on a file:// url. - // See https://github.com/github/fetch/pull/92#issuecomment-140665932 - // Cordova or Electron apps are typically loaded from a file:// url. - // So use XHR on webview if URL is a file URL. - if (isFileURI(url)) { - return new Promise((resolve, reject) => { - var xhr = new XMLHttpRequest(); - xhr.open('GET', url, true); - xhr.responseType = 'arraybuffer'; - xhr.onload = () => { - if (xhr.status == 200 || (xhr.status == 0 && xhr.response)) { // file URLs can return 0 - resolve(xhr.response); - return; - } - reject(xhr.status); - }; - xhr.onerror = reject; - xhr.send(null); - }); - } - var response = await fetch(url, { credentials: 'same-origin' }); - if (response.ok) { - return response.arrayBuffer(); - } - throw new Error(response.status + ' : ' + response.url); - }; -// end include: web_or_worker_shell_read.js - } -} else -{ - throw new Error('environment detection error'); -} - -var out = Module['print'] || console.log.bind(console); -var err = Module['printErr'] || console.error.bind(console); - -// Merge back in the overrides -Object.assign(Module, moduleOverrides); -// Free the object hierarchy contained in the overrides, this lets the GC -// reclaim data used. -moduleOverrides = null; -checkIncomingModuleAPI(); - -// Emit code to handle expected values on the Module object. This applies Module.x -// to the proper local x. This has two benefits: first, we only emit it if it is -// expected to arrive, and second, by using a local everywhere else that can be -// minified. - -if (Module['arguments']) arguments_ = Module['arguments'];legacyModuleProp('arguments', 'arguments_'); - -if (Module['thisProgram']) thisProgram = Module['thisProgram'];legacyModuleProp('thisProgram', 'thisProgram'); - -// perform assertions in shell.js after we set up out() and err(), as otherwise if an assertion fails it cannot print the message -// Assertions on removed incoming Module JS APIs. -assert(typeof Module['memoryInitializerPrefixURL'] == 'undefined', 'Module.memoryInitializerPrefixURL option was removed, use Module.locateFile instead'); -assert(typeof Module['pthreadMainPrefixURL'] == 'undefined', 'Module.pthreadMainPrefixURL option was removed, use Module.locateFile instead'); -assert(typeof Module['cdInitializerPrefixURL'] == 'undefined', 'Module.cdInitializerPrefixURL option was removed, use Module.locateFile instead'); -assert(typeof Module['filePackagePrefixURL'] == 'undefined', 'Module.filePackagePrefixURL option was removed, use Module.locateFile instead'); -assert(typeof Module['read'] == 'undefined', 'Module.read option was removed'); -assert(typeof Module['readAsync'] == 'undefined', 'Module.readAsync option was removed (modify readAsync in JS)'); -assert(typeof Module['readBinary'] == 'undefined', 'Module.readBinary option was removed (modify readBinary in JS)'); -assert(typeof Module['setWindowTitle'] == 'undefined', 'Module.setWindowTitle option was removed (modify emscripten_set_window_title in JS)'); -assert(typeof Module['TOTAL_MEMORY'] == 'undefined', 'Module.TOTAL_MEMORY has been renamed Module.INITIAL_MEMORY'); -legacyModuleProp('asm', 'wasmExports'); -legacyModuleProp('readAsync', 'readAsync'); -legacyModuleProp('readBinary', 'readBinary'); -legacyModuleProp('setWindowTitle', 'setWindowTitle'); -var IDBFS = 'IDBFS is no longer included by default; build with -lidbfs.js'; -var PROXYFS = 'PROXYFS is no longer included by default; build with -lproxyfs.js'; -var WORKERFS = 'WORKERFS is no longer included by default; build with -lworkerfs.js'; -var FETCHFS = 'FETCHFS is no longer included by default; build with -lfetchfs.js'; -var ICASEFS = 'ICASEFS is no longer included by default; build with -licasefs.js'; -var JSFILEFS = 'JSFILEFS is no longer included by default; build with -ljsfilefs.js'; -var OPFS = 'OPFS is no longer included by default; build with -lopfs.js'; - -var NODEFS = 'NODEFS is no longer included by default; build with -lnodefs.js'; - -assert(!ENVIRONMENT_IS_SHELL, 'shell environment detected but not enabled at build time. Add `shell` to `-sENVIRONMENT` to enable.'); - -// end include: shell.js - -// include: preamble.js -// === Preamble library stuff === - -// Documentation for the public APIs defined in this file must be updated in: -// site/source/docs/api_reference/preamble.js.rst -// A prebuilt local version of the documentation is available at: -// site/build/text/docs/api_reference/preamble.js.txt -// You can also build docs locally as HTML or other formats in site/ -// An online HTML version (which may be of a different version of Emscripten) -// is up at http://kripken.github.io/emscripten-site/docs/api_reference/preamble.js.html - -var wasmBinary = Module['wasmBinary'];legacyModuleProp('wasmBinary', 'wasmBinary'); - -if (typeof WebAssembly != 'object') { - err('no native wasm support detected'); -} - -// Wasm globals - -var wasmMemory; - -//======================================== -// Runtime essentials -//======================================== - -// whether we are quitting the application. no code should run after this. -// set in exit() and abort() -var ABORT = false; - -// set by exit() and abort(). Passed to 'onExit' handler. -// NOTE: This is also used as the process return code code in shell environments -// but only when noExitRuntime is false. -var EXITSTATUS; - -// In STRICT mode, we only define assert() when ASSERTIONS is set. i.e. we -// don't define it at all in release modes. This matches the behaviour of -// MINIMAL_RUNTIME. -// TODO(sbc): Make this the default even without STRICT enabled. -/** @type {function(*, string=)} */ -function assert(condition, text) { - if (!condition) { - abort('Assertion failed' + (text ? ': ' + text : '')); - } -} - -// We used to include malloc/free by default in the past. Show a helpful error in -// builds with assertions. -function _malloc() { - abort('malloc() called but not included in the build - add `_malloc` to EXPORTED_FUNCTIONS'); -} -function _free() { - // Show a helpful error since we used to include free by default in the past. - abort('free() called but not included in the build - add `_free` to EXPORTED_FUNCTIONS'); -} - -// Memory management - -var HEAP, -/** @type {!Int8Array} */ - HEAP8, -/** @type {!Uint8Array} */ - HEAPU8, -/** @type {!Int16Array} */ - HEAP16, -/** @type {!Uint16Array} */ - HEAPU16, -/** @type {!Int32Array} */ - HEAP32, -/** @type {!Uint32Array} */ - HEAPU32, -/** @type {!Float32Array} */ - HEAPF32, -/* BigInt64Array type is not correctly defined in closure -/** not-@type {!BigInt64Array} */ - HEAP64, -/* BigUint64Array type is not correctly defined in closure -/** not-t@type {!BigUint64Array} */ - HEAPU64, -/** @type {!Float64Array} */ - HEAPF64; - -var runtimeInitialized = false; - -/** - * Indicates whether filename is delivered via file protocol (as opposed to http/https) - * @noinline - */ -var isFileURI = (filename) => filename.startsWith('file://'); - -// include: runtime_shared.js -// include: runtime_stack_check.js -// Initializes the stack cookie. Called at the startup of main and at the startup of each thread in pthreads mode. -function writeStackCookie() { - var max = _emscripten_stack_get_end(); - assert((max & 3) == 0); - // If the stack ends at address zero we write our cookies 4 bytes into the - // stack. This prevents interference with SAFE_HEAP and ASAN which also - // monitor writes to address zero. - if (max == 0) { - max += 4; - } - // The stack grow downwards towards _emscripten_stack_get_end. - // We write cookies to the final two words in the stack and detect if they are - // ever overwritten. - HEAPU32[((max)>>2)] = 0x02135467; - HEAPU32[(((max)+(4))>>2)] = 0x89BACDFE; - // Also test the global address 0 for integrity. - HEAPU32[((0)>>2)] = 1668509029; -} - -function checkStackCookie() { - if (ABORT) return; - var max = _emscripten_stack_get_end(); - // See writeStackCookie(). - if (max == 0) { - max += 4; - } - var cookie1 = HEAPU32[((max)>>2)]; - var cookie2 = HEAPU32[(((max)+(4))>>2)]; - if (cookie1 != 0x02135467 || cookie2 != 0x89BACDFE) { - abort(`Stack overflow! Stack cookie has been overwritten at ${ptrToString(max)}, expected hex dwords 0x89BACDFE and 0x2135467, but received ${ptrToString(cookie2)} ${ptrToString(cookie1)}`); - } - // Also test the global address 0 for integrity. - if (HEAPU32[((0)>>2)] != 0x63736d65 /* 'emsc' */) { - abort('Runtime error: The application has corrupted its heap memory area (address zero)!'); - } -} -// end include: runtime_stack_check.js -// include: runtime_exceptions.js -// end include: runtime_exceptions.js -// include: runtime_debug.js -// Endianness check -(() => { - var h16 = new Int16Array(1); - var h8 = new Int8Array(h16.buffer); - h16[0] = 0x6373; - if (h8[0] !== 0x73 || h8[1] !== 0x63) throw 'Runtime error: expected the system to be little-endian! (Run with -sSUPPORT_BIG_ENDIAN to bypass)'; -})(); - -if (Module['ENVIRONMENT']) { - throw new Error('Module.ENVIRONMENT has been deprecated. To force the environment, use the ENVIRONMENT compile-time option (for example, -sENVIRONMENT=web or -sENVIRONMENT=node)'); -} - -function legacyModuleProp(prop, newName, incoming=true) { - if (!Object.getOwnPropertyDescriptor(Module, prop)) { - Object.defineProperty(Module, prop, { - configurable: true, - get() { - let extra = incoming ? ' (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)' : ''; - abort(`\`Module.${prop}\` has been replaced by \`${newName}\`` + extra); - - } - }); - } -} - -function consumedModuleProp(prop) { - if (!Object.getOwnPropertyDescriptor(Module, prop)) { - Object.defineProperty(Module, prop, { - configurable: true, - set() { - abort(`Attempt to set \`Module.${prop}\` after it has already been processed. This can happen, for example, when code is injected via '--post-js' rather than '--pre-js'`); - - } - }); - } -} - -function ignoredModuleProp(prop) { - if (Object.getOwnPropertyDescriptor(Module, prop)) { - abort(`\`Module.${prop}\` was supplied but \`${prop}\` not included in INCOMING_MODULE_JS_API`); - } -} - -// forcing the filesystem exports a few things by default -function isExportedByForceFilesystem(name) { - return name === 'FS_createPath' || - name === 'FS_createDataFile' || - name === 'FS_createPreloadedFile' || - name === 'FS_unlink' || - name === 'addRunDependency' || - // The old FS has some functionality that WasmFS lacks. - name === 'FS_createLazyFile' || - name === 'FS_createDevice' || - name === 'removeRunDependency'; -} - -/** - * Intercept access to a global symbol. This enables us to give informative - * warnings/errors when folks attempt to use symbols they did not include in - * their build, or no symbols that no longer exist. - */ -function hookGlobalSymbolAccess(sym, func) { - if (typeof globalThis != 'undefined' && !Object.getOwnPropertyDescriptor(globalThis, sym)) { - Object.defineProperty(globalThis, sym, { - configurable: true, - get() { - func(); - return undefined; - } - }); - } -} - -function missingGlobal(sym, msg) { - hookGlobalSymbolAccess(sym, () => { - warnOnce(`\`${sym}\` is not longer defined by emscripten. ${msg}`); - }); -} - -missingGlobal('buffer', 'Please use HEAP8.buffer or wasmMemory.buffer'); -missingGlobal('asm', 'Please use wasmExports instead'); - -function missingLibrarySymbol(sym) { - hookGlobalSymbolAccess(sym, () => { - // Can't `abort()` here because it would break code that does runtime - // checks. e.g. `if (typeof SDL === 'undefined')`. - var msg = `\`${sym}\` is a library symbol and not included by default; add it to your library.js __deps or to DEFAULT_LIBRARY_FUNCS_TO_INCLUDE on the command line`; - // DEFAULT_LIBRARY_FUNCS_TO_INCLUDE requires the name as it appears in - // library.js, which means $name for a JS name with no prefix, or name - // for a JS name like _name. - var librarySymbol = sym; - if (!librarySymbol.startsWith('_')) { - librarySymbol = '$' + sym; - } - msg += ` (e.g. -sDEFAULT_LIBRARY_FUNCS_TO_INCLUDE='${librarySymbol}')`; - if (isExportedByForceFilesystem(sym)) { - msg += '. Alternatively, forcing filesystem support (-sFORCE_FILESYSTEM) can export this for you'; - } - warnOnce(msg); - }); - - // Any symbol that is not included from the JS library is also (by definition) - // not exported on the Module object. - unexportedRuntimeSymbol(sym); -} - -function unexportedRuntimeSymbol(sym) { - if (!Object.getOwnPropertyDescriptor(Module, sym)) { - Object.defineProperty(Module, sym, { - configurable: true, - get() { - var msg = `'${sym}' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the Emscripten FAQ)`; - if (isExportedByForceFilesystem(sym)) { - msg += '. Alternatively, forcing filesystem support (-sFORCE_FILESYSTEM) can export this for you'; - } - abort(msg); - } - }); - } -} - -var runtimeDebug = true; // Switch to false at runtime to disable logging at the right times - -// Used by XXXXX_DEBUG settings to output debug messages. -function dbg(...args) { - if (!runtimeDebug && typeof runtimeDebug != 'undefined') return; - // TODO(sbc): Make this configurable somehow. Its not always convenient for - // logging to show up as warnings. - console.warn(...args); -} -// end include: runtime_debug.js -// include: memoryprofiler.js -// end include: memoryprofiler.js - - -function updateMemoryViews() { - var b = wasmMemory.buffer; - Module['HEAP8'] = HEAP8 = new Int8Array(b); - Module['HEAP16'] = HEAP16 = new Int16Array(b); - Module['HEAPU8'] = HEAPU8 = new Uint8Array(b); - Module['HEAPU16'] = HEAPU16 = new Uint16Array(b); - Module['HEAP32'] = HEAP32 = new Int32Array(b); - Module['HEAPU32'] = HEAPU32 = new Uint32Array(b); - Module['HEAPF32'] = HEAPF32 = new Float32Array(b); - Module['HEAPF64'] = HEAPF64 = new Float64Array(b); - Module['HEAP64'] = HEAP64 = new BigInt64Array(b); - Module['HEAPU64'] = HEAPU64 = new BigUint64Array(b); -} - -// end include: runtime_shared.js -assert(!Module['STACK_SIZE'], 'STACK_SIZE can no longer be set at runtime. Use -sSTACK_SIZE at link time') - -assert(typeof Int32Array != 'undefined' && typeof Float64Array !== 'undefined' && Int32Array.prototype.subarray != undefined && Int32Array.prototype.set != undefined, - 'JS engine does not provide full typed array support'); - -// If memory is defined in wasm, the user can't provide it, or set INITIAL_MEMORY -assert(!Module['wasmMemory'], 'Use of `wasmMemory` detected. Use -sIMPORTED_MEMORY to define wasmMemory externally'); -assert(!Module['INITIAL_MEMORY'], 'Detected runtime INITIAL_MEMORY setting. Use -sIMPORTED_MEMORY to define wasmMemory dynamically'); - -function preRun() { - if (Module['preRun']) { - if (typeof Module['preRun'] == 'function') Module['preRun'] = [Module['preRun']]; - while (Module['preRun'].length) { - addOnPreRun(Module['preRun'].shift()); - } - } - consumedModuleProp('preRun'); - callRuntimeCallbacks(onPreRuns); -} - -function initRuntime() { - assert(!runtimeInitialized); - runtimeInitialized = true; - - checkStackCookie(); - - if (!Module['noFSInit'] && !FS.initialized) FS.init(); -TTY.init(); - - wasmExports['__wasm_call_ctors'](); - - FS.ignorePermissions = false; -} - -function preMain() { - checkStackCookie(); - -} - -function postRun() { - checkStackCookie(); - - if (Module['postRun']) { - if (typeof Module['postRun'] == 'function') Module['postRun'] = [Module['postRun']]; - while (Module['postRun'].length) { - addOnPostRun(Module['postRun'].shift()); - } - } - consumedModuleProp('postRun'); - - callRuntimeCallbacks(onPostRuns); -} - -// A counter of dependencies for calling run(). If we need to -// do asynchronous work before running, increment this and -// decrement it. Incrementing must happen in a place like -// Module.preRun (used by emcc to add file preloading). -// Note that you can add dependencies in preRun, even though -// it happens right before run - run will be postponed until -// the dependencies are met. -var runDependencies = 0; -var dependenciesFulfilled = null; // overridden to take different actions when all run dependencies are fulfilled -var runDependencyTracking = {}; -var runDependencyWatcher = null; - -function getUniqueRunDependency(id) { - var orig = id; - while (1) { - if (!runDependencyTracking[id]) return id; - id = orig + Math.random(); - } -} - -function addRunDependency(id) { - runDependencies++; - - Module['monitorRunDependencies']?.(runDependencies); - - if (id) { - assert(!runDependencyTracking[id]); - runDependencyTracking[id] = 1; - if (runDependencyWatcher === null && typeof setInterval != 'undefined') { - // Check for missing dependencies every few seconds - runDependencyWatcher = setInterval(() => { - if (ABORT) { - clearInterval(runDependencyWatcher); - runDependencyWatcher = null; - return; - } - var shown = false; - for (var dep in runDependencyTracking) { - if (!shown) { - shown = true; - err('still waiting on run dependencies:'); - } - err(`dependency: ${dep}`); - } - if (shown) { - err('(end of list)'); - } - }, 10000); - } - } else { - err('warning: run dependency added without ID'); - } -} - -function removeRunDependency(id) { - runDependencies--; - - Module['monitorRunDependencies']?.(runDependencies); - - if (id) { - assert(runDependencyTracking[id]); - delete runDependencyTracking[id]; - } else { - err('warning: run dependency removed without ID'); - } - if (runDependencies == 0) { - if (runDependencyWatcher !== null) { - clearInterval(runDependencyWatcher); - runDependencyWatcher = null; - } - if (dependenciesFulfilled) { - var callback = dependenciesFulfilled; - dependenciesFulfilled = null; - callback(); // can add another dependenciesFulfilled - } - } -} - -/** @param {string|number=} what */ -function abort(what) { - Module['onAbort']?.(what); - - what = 'Aborted(' + what + ')'; - // TODO(sbc): Should we remove printing and leave it up to whoever - // catches the exception? - err(what); - - ABORT = true; - - // Use a wasm runtime error, because a JS error might be seen as a foreign - // exception, which means we'd run destructors on it. We need the error to - // simply make the program stop. - // FIXME This approach does not work in Wasm EH because it currently does not assume - // all RuntimeErrors are from traps; it decides whether a RuntimeError is from - // a trap or not based on a hidden field within the object. So at the moment - // we don't have a way of throwing a wasm trap from JS. TODO Make a JS API that - // allows this in the wasm spec. - - // Suppress closure compiler warning here. Closure compiler's builtin extern - // definition for WebAssembly.RuntimeError claims it takes no arguments even - // though it can. - // TODO(https://github.com/google/closure-compiler/pull/3913): Remove if/when upstream closure gets fixed. - /** @suppress {checkTypes} */ - var e = new WebAssembly.RuntimeError(what); - - // Throw the error whether or not MODULARIZE is set because abort is used - // in code paths apart from instantiation where an exception is expected - // to be thrown when abort is called. - throw e; -} - -function createExportWrapper(name, nargs) { - return (...args) => { - assert(runtimeInitialized, `native function \`${name}\` called before runtime initialization`); - var f = wasmExports[name]; - assert(f, `exported native function \`${name}\` not found`); - // Only assert for too many arguments. Too few can be valid since the missing arguments will be zero filled. - assert(args.length <= nargs, `native function \`${name}\` called with ${args.length} args but expects ${nargs}`); - return f(...args); - }; -} - -var wasmBinaryFile; - -function findWasmBinary() { - return locateFile('minigzip64.wasm'); -} - -function getBinarySync(file) { - if (file == wasmBinaryFile && wasmBinary) { - return new Uint8Array(wasmBinary); - } - if (readBinary) { - return readBinary(file); - } - throw 'both async and sync fetching of the wasm failed'; -} - -async function getWasmBinary(binaryFile) { - // If we don't have the binary yet, load it asynchronously using readAsync. - if (!wasmBinary) { - // Fetch the binary using readAsync - try { - var response = await readAsync(binaryFile); - return new Uint8Array(response); - } catch { - // Fall back to getBinarySync below; - } - } - - // Otherwise, getBinarySync should be able to get it synchronously - return getBinarySync(binaryFile); -} - -async function instantiateArrayBuffer(binaryFile, imports) { - try { - var binary = await getWasmBinary(binaryFile); - var instance = await WebAssembly.instantiate(binary, imports); - return instance; - } catch (reason) { - err(`failed to asynchronously prepare wasm: ${reason}`); - - // Warn on some common problems. - if (isFileURI(wasmBinaryFile)) { - err(`warning: Loading from a file URI (${wasmBinaryFile}) is not supported in most browsers. See https://emscripten.org/docs/getting_started/FAQ.html#how-do-i-run-a-local-webserver-for-testing-why-does-my-program-stall-in-downloading-or-preparing`); - } - abort(reason); - } -} - -async function instantiateAsync(binary, binaryFile, imports) { - if (!binary && typeof WebAssembly.instantiateStreaming == 'function' - // Don't use streaming for file:// delivered objects in a webview, fetch them synchronously. - && !isFileURI(binaryFile) - // Avoid instantiateStreaming() on Node.js environment for now, as while - // Node.js v18.1.0 implements it, it does not have a full fetch() - // implementation yet. - // - // Reference: - // https://github.com/emscripten-core/emscripten/pull/16917 - && !ENVIRONMENT_IS_NODE - ) { - try { - var response = fetch(binaryFile, { credentials: 'same-origin' }); - var instantiationResult = await WebAssembly.instantiateStreaming(response, imports); - return instantiationResult; - } catch (reason) { - // We expect the most common failure cause to be a bad MIME type for the binary, - // in which case falling back to ArrayBuffer instantiation should work. - err(`wasm streaming compile failed: ${reason}`); - err('falling back to ArrayBuffer instantiation'); - // fall back of instantiateArrayBuffer below - }; - } - return instantiateArrayBuffer(binaryFile, imports); -} - -function getWasmImports() { - // prepare imports - return { - 'env': wasmImports, - 'wasi_snapshot_preview1': wasmImports, - } -} - -// Create the wasm instance. -// Receives the wasm imports, returns the exports. -async function createWasm() { - // Load the wasm module and create an instance of using native support in the JS engine. - // handle a generated wasm instance, receiving its exports and - // performing other necessary setup - /** @param {WebAssembly.Module=} module*/ - function receiveInstance(instance, module) { - wasmExports = instance.exports; - - - - wasmMemory = wasmExports['memory']; - - assert(wasmMemory, 'memory not found in wasm exports'); - updateMemoryViews(); - - removeRunDependency('wasm-instantiate'); - return wasmExports; - } - // wait for the pthread pool (if any) - addRunDependency('wasm-instantiate'); - - // Prefer streaming instantiation if available. - // Async compilation can be confusing when an error on the page overwrites Module - // (for example, if the order of elements is wrong, and the one defining Module is - // later), so we save Module and check it later. - var trueModule = Module; - function receiveInstantiationResult(result) { - // 'result' is a ResultObject object which has both the module and instance. - // receiveInstance() will swap in the exports (to Module.asm) so they can be called - assert(Module === trueModule, 'the Module object should not be replaced during async compilation - perhaps the order of HTML elements is wrong?'); - trueModule = null; - // TODO: Due to Closure regression https://github.com/google/closure-compiler/issues/3193, the above line no longer optimizes out down to the following line. - // When the regression is fixed, can restore the above PTHREADS-enabled path. - return receiveInstance(result['instance']); - } - - var info = getWasmImports(); - - // User shell pages can write their own Module.instantiateWasm = function(imports, successCallback) callback - // to manually instantiate the Wasm module themselves. This allows pages to - // run the instantiation parallel to any other async startup actions they are - // performing. - // Also pthreads and wasm workers initialize the wasm instance through this - // path. - if (Module['instantiateWasm']) { - return new Promise((resolve, reject) => { - try { - Module['instantiateWasm'](info, (mod, inst) => { - receiveInstance(mod, inst); - resolve(mod.exports); - }); - } catch(e) { - err(`Module.instantiateWasm callback failed with error: ${e}`); - reject(e); - } - }); - } - - wasmBinaryFile ??= findWasmBinary(); - var result = await instantiateAsync(wasmBinary, wasmBinaryFile, info); - var exports = receiveInstantiationResult(result); - return exports; -} - -// end include: preamble.js - -// Begin JS library code - - - class ExitStatus { - name = 'ExitStatus'; - constructor(status) { - this.message = `Program terminated with exit(${status})`; - this.status = status; - } - } - - var callRuntimeCallbacks = (callbacks) => { - while (callbacks.length > 0) { - // Pass the module as the first argument. - callbacks.shift()(Module); - } - }; - var onPostRuns = []; - var addOnPostRun = (cb) => onPostRuns.unshift(cb); - - var onPreRuns = []; - var addOnPreRun = (cb) => onPreRuns.unshift(cb); - - - - /** - * @param {number} ptr - * @param {string} type - */ - function getValue(ptr, type = 'i8') { - if (type.endsWith('*')) type = '*'; - switch (type) { - case 'i1': return HEAP8[ptr]; - case 'i8': return HEAP8[ptr]; - case 'i16': return HEAP16[((ptr)>>1)]; - case 'i32': return HEAP32[((ptr)>>2)]; - case 'i64': return HEAP64[((ptr)>>3)]; - case 'float': return HEAPF32[((ptr)>>2)]; - case 'double': return HEAPF64[((ptr)>>3)]; - case '*': return HEAPU32[((ptr)>>2)]; - default: abort(`invalid type for getValue: ${type}`); - } - } - - var noExitRuntime = Module['noExitRuntime'] || true; - - var ptrToString = (ptr) => { - assert(typeof ptr === 'number'); - // With CAN_ADDRESS_2GB or MEMORY64, pointers are already unsigned. - ptr >>>= 0; - return '0x' + ptr.toString(16).padStart(8, '0'); - }; - - - /** - * @param {number} ptr - * @param {number} value - * @param {string} type - */ - function setValue(ptr, value, type = 'i8') { - if (type.endsWith('*')) type = '*'; - switch (type) { - case 'i1': HEAP8[ptr] = value; break; - case 'i8': HEAP8[ptr] = value; break; - case 'i16': HEAP16[((ptr)>>1)] = value; break; - case 'i32': HEAP32[((ptr)>>2)] = value; break; - case 'i64': HEAP64[((ptr)>>3)] = BigInt(value); break; - case 'float': HEAPF32[((ptr)>>2)] = value; break; - case 'double': HEAPF64[((ptr)>>3)] = value; break; - case '*': HEAPU32[((ptr)>>2)] = value; break; - default: abort(`invalid type for setValue: ${type}`); - } - } - - var stackRestore = (val) => __emscripten_stack_restore(val); - - var stackSave = () => _emscripten_stack_get_current(); - - var warnOnce = (text) => { - warnOnce.shown ||= {}; - if (!warnOnce.shown[text]) { - warnOnce.shown[text] = 1; - if (ENVIRONMENT_IS_NODE) text = 'warning: ' + text; - err(text); - } - }; - - /** @suppress {duplicate } */ - var syscallGetVarargI = () => { - assert(SYSCALLS.varargs != undefined); - // the `+` prepended here is necessary to convince the JSCompiler that varargs is indeed a number. - var ret = HEAP32[((+SYSCALLS.varargs)>>2)]; - SYSCALLS.varargs += 4; - return ret; - }; - var syscallGetVarargP = syscallGetVarargI; - - - var PATH = { - isAbs:(path) => path.charAt(0) === '/', - splitPath:(filename) => { - var splitPathRe = /^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/; - return splitPathRe.exec(filename).slice(1); - }, - normalizeArray:(parts, allowAboveRoot) => { - // if the path tries to go above the root, `up` ends up > 0 - var up = 0; - for (var i = parts.length - 1; i >= 0; i--) { - var last = parts[i]; - if (last === '.') { - parts.splice(i, 1); - } else if (last === '..') { - parts.splice(i, 1); - up++; - } else if (up) { - parts.splice(i, 1); - up--; - } - } - // if the path is allowed to go above the root, restore leading ..s - if (allowAboveRoot) { - for (; up; up--) { - parts.unshift('..'); - } - } - return parts; - }, - normalize:(path) => { - var isAbsolute = PATH.isAbs(path), - trailingSlash = path.slice(-1) === '/'; - // Normalize the path - path = PATH.normalizeArray(path.split('/').filter((p) => !!p), !isAbsolute).join('/'); - if (!path && !isAbsolute) { - path = '.'; - } - if (path && trailingSlash) { - path += '/'; - } - return (isAbsolute ? '/' : '') + path; - }, - dirname:(path) => { - var result = PATH.splitPath(path), - root = result[0], - dir = result[1]; - if (!root && !dir) { - // No dirname whatsoever - return '.'; - } - if (dir) { - // It has a dirname, strip trailing slash - dir = dir.slice(0, -1); - } - return root + dir; - }, - basename:(path) => path && path.match(/([^\/]+|\/)\/*$/)[1], - join:(...paths) => PATH.normalize(paths.join('/')), - join2:(l, r) => PATH.normalize(l + '/' + r), - }; - - var initRandomFill = () => { - // This block is not needed on v19+ since crypto.getRandomValues is builtin - if (ENVIRONMENT_IS_NODE) { - var nodeCrypto = require('crypto'); - return (view) => nodeCrypto.randomFillSync(view); - } - - return (view) => crypto.getRandomValues(view); - }; - var randomFill = (view) => { - // Lazily init on the first invocation. - (randomFill = initRandomFill())(view); - }; - - - - var PATH_FS = { - resolve:(...args) => { - var resolvedPath = '', - resolvedAbsolute = false; - for (var i = args.length - 1; i >= -1 && !resolvedAbsolute; i--) { - var path = (i >= 0) ? args[i] : FS.cwd(); - // Skip empty and invalid entries - if (typeof path != 'string') { - throw new TypeError('Arguments to path.resolve must be strings'); - } else if (!path) { - return ''; // an invalid portion invalidates the whole thing - } - resolvedPath = path + '/' + resolvedPath; - resolvedAbsolute = PATH.isAbs(path); - } - // At this point the path should be resolved to a full absolute path, but - // handle relative paths to be safe (might happen when process.cwd() fails) - resolvedPath = PATH.normalizeArray(resolvedPath.split('/').filter((p) => !!p), !resolvedAbsolute).join('/'); - return ((resolvedAbsolute ? '/' : '') + resolvedPath) || '.'; - }, - relative:(from, to) => { - from = PATH_FS.resolve(from).slice(1); - to = PATH_FS.resolve(to).slice(1); - function trim(arr) { - var start = 0; - for (; start < arr.length; start++) { - if (arr[start] !== '') break; - } - var end = arr.length - 1; - for (; end >= 0; end--) { - if (arr[end] !== '') break; - } - if (start > end) return []; - return arr.slice(start, end - start + 1); - } - var fromParts = trim(from.split('/')); - var toParts = trim(to.split('/')); - var length = Math.min(fromParts.length, toParts.length); - var samePartsLength = length; - for (var i = 0; i < length; i++) { - if (fromParts[i] !== toParts[i]) { - samePartsLength = i; - break; - } - } - var outputParts = []; - for (var i = samePartsLength; i < fromParts.length; i++) { - outputParts.push('..'); - } - outputParts = outputParts.concat(toParts.slice(samePartsLength)); - return outputParts.join('/'); - }, - }; - - - var UTF8Decoder = typeof TextDecoder != 'undefined' ? new TextDecoder() : undefined; - - /** - * Given a pointer 'idx' to a null-terminated UTF8-encoded string in the given - * array that contains uint8 values, returns a copy of that string as a - * Javascript String object. - * heapOrArray is either a regular array, or a JavaScript typed array view. - * @param {number=} idx - * @param {number=} maxBytesToRead - * @return {string} - */ - var UTF8ArrayToString = (heapOrArray, idx = 0, maxBytesToRead = NaN) => { - var endIdx = idx + maxBytesToRead; - var endPtr = idx; - // TextDecoder needs to know the byte length in advance, it doesn't stop on - // null terminator by itself. Also, use the length info to avoid running tiny - // strings through TextDecoder, since .subarray() allocates garbage. - // (As a tiny code save trick, compare endPtr against endIdx using a negation, - // so that undefined/NaN means Infinity) - while (heapOrArray[endPtr] && !(endPtr >= endIdx)) ++endPtr; - - if (endPtr - idx > 16 && heapOrArray.buffer && UTF8Decoder) { - return UTF8Decoder.decode(heapOrArray.subarray(idx, endPtr)); - } - var str = ''; - // If building with TextDecoder, we have already computed the string length - // above, so test loop end condition against that - while (idx < endPtr) { - // For UTF8 byte structure, see: - // http://en.wikipedia.org/wiki/UTF-8#Description - // https://www.ietf.org/rfc/rfc2279.txt - // https://tools.ietf.org/html/rfc3629 - var u0 = heapOrArray[idx++]; - if (!(u0 & 0x80)) { str += String.fromCharCode(u0); continue; } - var u1 = heapOrArray[idx++] & 63; - if ((u0 & 0xE0) == 0xC0) { str += String.fromCharCode(((u0 & 31) << 6) | u1); continue; } - var u2 = heapOrArray[idx++] & 63; - if ((u0 & 0xF0) == 0xE0) { - u0 = ((u0 & 15) << 12) | (u1 << 6) | u2; - } else { - if ((u0 & 0xF8) != 0xF0) warnOnce('Invalid UTF-8 leading byte ' + ptrToString(u0) + ' encountered when deserializing a UTF-8 string in wasm memory to a JS string!'); - u0 = ((u0 & 7) << 18) | (u1 << 12) | (u2 << 6) | (heapOrArray[idx++] & 63); - } - - if (u0 < 0x10000) { - str += String.fromCharCode(u0); - } else { - var ch = u0 - 0x10000; - str += String.fromCharCode(0xD800 | (ch >> 10), 0xDC00 | (ch & 0x3FF)); - } - } - return str; - }; - - var FS_stdin_getChar_buffer = []; - - var lengthBytesUTF8 = (str) => { - var len = 0; - for (var i = 0; i < str.length; ++i) { - // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code - // unit, not a Unicode code point of the character! So decode - // UTF16->UTF32->UTF8. - // See http://unicode.org/faq/utf_bom.html#utf16-3 - var c = str.charCodeAt(i); // possibly a lead surrogate - if (c <= 0x7F) { - len++; - } else if (c <= 0x7FF) { - len += 2; - } else if (c >= 0xD800 && c <= 0xDFFF) { - len += 4; ++i; - } else { - len += 3; - } - } - return len; - }; - - var stringToUTF8Array = (str, heap, outIdx, maxBytesToWrite) => { - assert(typeof str === 'string', `stringToUTF8Array expects a string (got ${typeof str})`); - // Parameter maxBytesToWrite is not optional. Negative values, 0, null, - // undefined and false each don't write out any bytes. - if (!(maxBytesToWrite > 0)) - return 0; - - var startIdx = outIdx; - var endIdx = outIdx + maxBytesToWrite - 1; // -1 for string null terminator. - for (var i = 0; i < str.length; ++i) { - // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code - // unit, not a Unicode code point of the character! So decode - // UTF16->UTF32->UTF8. - // See http://unicode.org/faq/utf_bom.html#utf16-3 - // For UTF8 byte structure, see http://en.wikipedia.org/wiki/UTF-8#Description - // and https://www.ietf.org/rfc/rfc2279.txt - // and https://tools.ietf.org/html/rfc3629 - var u = str.charCodeAt(i); // possibly a lead surrogate - if (u >= 0xD800 && u <= 0xDFFF) { - var u1 = str.charCodeAt(++i); - u = 0x10000 + ((u & 0x3FF) << 10) | (u1 & 0x3FF); - } - if (u <= 0x7F) { - if (outIdx >= endIdx) break; - heap[outIdx++] = u; - } else if (u <= 0x7FF) { - if (outIdx + 1 >= endIdx) break; - heap[outIdx++] = 0xC0 | (u >> 6); - heap[outIdx++] = 0x80 | (u & 63); - } else if (u <= 0xFFFF) { - if (outIdx + 2 >= endIdx) break; - heap[outIdx++] = 0xE0 | (u >> 12); - heap[outIdx++] = 0x80 | ((u >> 6) & 63); - heap[outIdx++] = 0x80 | (u & 63); - } else { - if (outIdx + 3 >= endIdx) break; - if (u > 0x10FFFF) warnOnce('Invalid Unicode code point ' + ptrToString(u) + ' encountered when serializing a JS string to a UTF-8 string in wasm memory! (Valid unicode code points should be in range 0-0x10FFFF).'); - heap[outIdx++] = 0xF0 | (u >> 18); - heap[outIdx++] = 0x80 | ((u >> 12) & 63); - heap[outIdx++] = 0x80 | ((u >> 6) & 63); - heap[outIdx++] = 0x80 | (u & 63); - } - } - // Null-terminate the pointer to the buffer. - heap[outIdx] = 0; - return outIdx - startIdx; - }; - /** @type {function(string, boolean=, number=)} */ - var intArrayFromString = (stringy, dontAddNull, length) => { - var len = length > 0 ? length : lengthBytesUTF8(stringy)+1; - var u8array = new Array(len); - var numBytesWritten = stringToUTF8Array(stringy, u8array, 0, u8array.length); - if (dontAddNull) u8array.length = numBytesWritten; - return u8array; - }; - var FS_stdin_getChar = () => { - if (!FS_stdin_getChar_buffer.length) { - var result = null; - if (ENVIRONMENT_IS_NODE) { - // we will read data by chunks of BUFSIZE - var BUFSIZE = 256; - var buf = Buffer.alloc(BUFSIZE); - var bytesRead = 0; - - // For some reason we must suppress a closure warning here, even though - // fd definitely exists on process.stdin, and is even the proper way to - // get the fd of stdin, - // https://github.com/nodejs/help/issues/2136#issuecomment-523649904 - // This started to happen after moving this logic out of library_tty.js, - // so it is related to the surrounding code in some unclear manner. - /** @suppress {missingProperties} */ - var fd = process.stdin.fd; - - try { - bytesRead = fs.readSync(fd, buf, 0, BUFSIZE); - } catch(e) { - // Cross-platform differences: on Windows, reading EOF throws an - // exception, but on other OSes, reading EOF returns 0. Uniformize - // behavior by treating the EOF exception to return 0. - if (e.toString().includes('EOF')) bytesRead = 0; - else throw e; - } - - if (bytesRead > 0) { - result = buf.slice(0, bytesRead).toString('utf-8'); - } - } else - if (typeof window != 'undefined' && - typeof window.prompt == 'function') { - // Browser. - result = window.prompt('Input: '); // returns null on cancel - if (result !== null) { - result += '\n'; - } - } else - {} - if (!result) { - return null; - } - FS_stdin_getChar_buffer = intArrayFromString(result, true); - } - return FS_stdin_getChar_buffer.shift(); - }; - var TTY = { - ttys:[], - init() { - // https://github.com/emscripten-core/emscripten/pull/1555 - // if (ENVIRONMENT_IS_NODE) { - // // currently, FS.init does not distinguish if process.stdin is a file or TTY - // // device, it always assumes it's a TTY device. because of this, we're forcing - // // process.stdin to UTF8 encoding to at least make stdin reading compatible - // // with text files until FS.init can be refactored. - // process.stdin.setEncoding('utf8'); - // } - }, - shutdown() { - // https://github.com/emscripten-core/emscripten/pull/1555 - // if (ENVIRONMENT_IS_NODE) { - // // inolen: any idea as to why node -e 'process.stdin.read()' wouldn't exit immediately (with process.stdin being a tty)? - // // isaacs: because now it's reading from the stream, you've expressed interest in it, so that read() kicks off a _read() which creates a ReadReq operation - // // inolen: I thought read() in that case was a synchronous operation that just grabbed some amount of buffered data if it exists? - // // isaacs: it is. but it also triggers a _read() call, which calls readStart() on the handle - // // isaacs: do process.stdin.pause() and i'd think it'd probably close the pending call - // process.stdin.pause(); - // } - }, - register(dev, ops) { - TTY.ttys[dev] = { input: [], output: [], ops: ops }; - FS.registerDevice(dev, TTY.stream_ops); - }, - stream_ops:{ - open(stream) { - var tty = TTY.ttys[stream.node.rdev]; - if (!tty) { - throw new FS.ErrnoError(43); - } - stream.tty = tty; - stream.seekable = false; - }, - close(stream) { - // flush any pending line data - stream.tty.ops.fsync(stream.tty); - }, - fsync(stream) { - stream.tty.ops.fsync(stream.tty); - }, - read(stream, buffer, offset, length, pos /* ignored */) { - if (!stream.tty || !stream.tty.ops.get_char) { - throw new FS.ErrnoError(60); - } - var bytesRead = 0; - for (var i = 0; i < length; i++) { - var result; - try { - result = stream.tty.ops.get_char(stream.tty); - } catch (e) { - throw new FS.ErrnoError(29); - } - if (result === undefined && bytesRead === 0) { - throw new FS.ErrnoError(6); - } - if (result === null || result === undefined) break; - bytesRead++; - buffer[offset+i] = result; - } - if (bytesRead) { - stream.node.atime = Date.now(); - } - return bytesRead; - }, - write(stream, buffer, offset, length, pos) { - if (!stream.tty || !stream.tty.ops.put_char) { - throw new FS.ErrnoError(60); - } - try { - for (var i = 0; i < length; i++) { - stream.tty.ops.put_char(stream.tty, buffer[offset+i]); - } - } catch (e) { - throw new FS.ErrnoError(29); - } - if (length) { - stream.node.mtime = stream.node.ctime = Date.now(); - } - return i; - }, - }, - default_tty_ops:{ - get_char(tty) { - return FS_stdin_getChar(); - }, - put_char(tty, val) { - if (val === null || val === 10) { - out(UTF8ArrayToString(tty.output)); - tty.output = []; - } else { - if (val != 0) tty.output.push(val); // val == 0 would cut text output off in the middle. - } - }, - fsync(tty) { - if (tty.output?.length > 0) { - out(UTF8ArrayToString(tty.output)); - tty.output = []; - } - }, - ioctl_tcgets(tty) { - // typical setting - return { - c_iflag: 25856, - c_oflag: 5, - c_cflag: 191, - c_lflag: 35387, - c_cc: [ - 0x03, 0x1c, 0x7f, 0x15, 0x04, 0x00, 0x01, 0x00, 0x11, 0x13, 0x1a, 0x00, - 0x12, 0x0f, 0x17, 0x16, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - ] - }; - }, - ioctl_tcsets(tty, optional_actions, data) { - // currently just ignore - return 0; - }, - ioctl_tiocgwinsz(tty) { - return [24, 80]; - }, - }, - default_tty1_ops:{ - put_char(tty, val) { - if (val === null || val === 10) { - err(UTF8ArrayToString(tty.output)); - tty.output = []; - } else { - if (val != 0) tty.output.push(val); - } - }, - fsync(tty) { - if (tty.output?.length > 0) { - err(UTF8ArrayToString(tty.output)); - tty.output = []; - } - }, - }, - }; - - - var mmapAlloc = (size) => { - abort('internal error: mmapAlloc called but `emscripten_builtin_memalign` native symbol not exported'); - }; - var MEMFS = { - ops_table:null, - mount(mount) { - return MEMFS.createNode(null, '/', 16895, 0); - }, - createNode(parent, name, mode, dev) { - if (FS.isBlkdev(mode) || FS.isFIFO(mode)) { - // no supported - throw new FS.ErrnoError(63); - } - MEMFS.ops_table ||= { - dir: { - node: { - getattr: MEMFS.node_ops.getattr, - setattr: MEMFS.node_ops.setattr, - lookup: MEMFS.node_ops.lookup, - mknod: MEMFS.node_ops.mknod, - rename: MEMFS.node_ops.rename, - unlink: MEMFS.node_ops.unlink, - rmdir: MEMFS.node_ops.rmdir, - readdir: MEMFS.node_ops.readdir, - symlink: MEMFS.node_ops.symlink - }, - stream: { - llseek: MEMFS.stream_ops.llseek - } - }, - file: { - node: { - getattr: MEMFS.node_ops.getattr, - setattr: MEMFS.node_ops.setattr - }, - stream: { - llseek: MEMFS.stream_ops.llseek, - read: MEMFS.stream_ops.read, - write: MEMFS.stream_ops.write, - mmap: MEMFS.stream_ops.mmap, - msync: MEMFS.stream_ops.msync - } - }, - link: { - node: { - getattr: MEMFS.node_ops.getattr, - setattr: MEMFS.node_ops.setattr, - readlink: MEMFS.node_ops.readlink - }, - stream: {} - }, - chrdev: { - node: { - getattr: MEMFS.node_ops.getattr, - setattr: MEMFS.node_ops.setattr - }, - stream: FS.chrdev_stream_ops - } - }; - var node = FS.createNode(parent, name, mode, dev); - if (FS.isDir(node.mode)) { - node.node_ops = MEMFS.ops_table.dir.node; - node.stream_ops = MEMFS.ops_table.dir.stream; - node.contents = {}; - } else if (FS.isFile(node.mode)) { - node.node_ops = MEMFS.ops_table.file.node; - node.stream_ops = MEMFS.ops_table.file.stream; - node.usedBytes = 0; // The actual number of bytes used in the typed array, as opposed to contents.length which gives the whole capacity. - // When the byte data of the file is populated, this will point to either a typed array, or a normal JS array. Typed arrays are preferred - // for performance, and used by default. However, typed arrays are not resizable like normal JS arrays are, so there is a small disk size - // penalty involved for appending file writes that continuously grow a file similar to std::vector capacity vs used -scheme. - node.contents = null; - } else if (FS.isLink(node.mode)) { - node.node_ops = MEMFS.ops_table.link.node; - node.stream_ops = MEMFS.ops_table.link.stream; - } else if (FS.isChrdev(node.mode)) { - node.node_ops = MEMFS.ops_table.chrdev.node; - node.stream_ops = MEMFS.ops_table.chrdev.stream; - } - node.atime = node.mtime = node.ctime = Date.now(); - // add the new node to the parent - if (parent) { - parent.contents[name] = node; - parent.atime = parent.mtime = parent.ctime = node.atime; - } - return node; - }, - getFileDataAsTypedArray(node) { - if (!node.contents) return new Uint8Array(0); - if (node.contents.subarray) return node.contents.subarray(0, node.usedBytes); // Make sure to not return excess unused bytes. - return new Uint8Array(node.contents); - }, - expandFileStorage(node, newCapacity) { - var prevCapacity = node.contents ? node.contents.length : 0; - if (prevCapacity >= newCapacity) return; // No need to expand, the storage was already large enough. - // Don't expand strictly to the given requested limit if it's only a very small increase, but instead geometrically grow capacity. - // For small filesizes (<1MB), perform size*2 geometric increase, but for large sizes, do a much more conservative size*1.125 increase to - // avoid overshooting the allocation cap by a very large margin. - var CAPACITY_DOUBLING_MAX = 1024 * 1024; - newCapacity = Math.max(newCapacity, (prevCapacity * (prevCapacity < CAPACITY_DOUBLING_MAX ? 2.0 : 1.125)) >>> 0); - if (prevCapacity != 0) newCapacity = Math.max(newCapacity, 256); // At minimum allocate 256b for each file when expanding. - var oldContents = node.contents; - node.contents = new Uint8Array(newCapacity); // Allocate new storage. - if (node.usedBytes > 0) node.contents.set(oldContents.subarray(0, node.usedBytes), 0); // Copy old data over to the new storage. - }, - resizeFileStorage(node, newSize) { - if (node.usedBytes == newSize) return; - if (newSize == 0) { - node.contents = null; // Fully decommit when requesting a resize to zero. - node.usedBytes = 0; - } else { - var oldContents = node.contents; - node.contents = new Uint8Array(newSize); // Allocate new storage. - if (oldContents) { - node.contents.set(oldContents.subarray(0, Math.min(newSize, node.usedBytes))); // Copy old data over to the new storage. - } - node.usedBytes = newSize; - } - }, - node_ops:{ - getattr(node) { - var attr = {}; - // device numbers reuse inode numbers. - attr.dev = FS.isChrdev(node.mode) ? node.id : 1; - attr.ino = node.id; - attr.mode = node.mode; - attr.nlink = 1; - attr.uid = 0; - attr.gid = 0; - attr.rdev = node.rdev; - if (FS.isDir(node.mode)) { - attr.size = 4096; - } else if (FS.isFile(node.mode)) { - attr.size = node.usedBytes; - } else if (FS.isLink(node.mode)) { - attr.size = node.link.length; - } else { - attr.size = 0; - } - attr.atime = new Date(node.atime); - attr.mtime = new Date(node.mtime); - attr.ctime = new Date(node.ctime); - // NOTE: In our implementation, st_blocks = Math.ceil(st_size/st_blksize), - // but this is not required by the standard. - attr.blksize = 4096; - attr.blocks = Math.ceil(attr.size / attr.blksize); - return attr; - }, - setattr(node, attr) { - for (const key of ["mode", "atime", "mtime", "ctime"]) { - if (attr[key] != null) { - node[key] = attr[key]; - } - } - if (attr.size !== undefined) { - MEMFS.resizeFileStorage(node, attr.size); - } - }, - lookup(parent, name) { - throw new FS.ErrnoError(44); - }, - mknod(parent, name, mode, dev) { - return MEMFS.createNode(parent, name, mode, dev); - }, - rename(old_node, new_dir, new_name) { - var new_node; - try { - new_node = FS.lookupNode(new_dir, new_name); - } catch (e) {} - if (new_node) { - if (FS.isDir(old_node.mode)) { - // if we're overwriting a directory at new_name, make sure it's empty. - for (var i in new_node.contents) { - throw new FS.ErrnoError(55); - } - } - FS.hashRemoveNode(new_node); - } - // do the internal rewiring - delete old_node.parent.contents[old_node.name]; - new_dir.contents[new_name] = old_node; - old_node.name = new_name; - new_dir.ctime = new_dir.mtime = old_node.parent.ctime = old_node.parent.mtime = Date.now(); - }, - unlink(parent, name) { - delete parent.contents[name]; - parent.ctime = parent.mtime = Date.now(); - }, - rmdir(parent, name) { - var node = FS.lookupNode(parent, name); - for (var i in node.contents) { - throw new FS.ErrnoError(55); - } - delete parent.contents[name]; - parent.ctime = parent.mtime = Date.now(); - }, - readdir(node) { - return ['.', '..', ...Object.keys(node.contents)]; - }, - symlink(parent, newname, oldpath) { - var node = MEMFS.createNode(parent, newname, 0o777 | 40960, 0); - node.link = oldpath; - return node; - }, - readlink(node) { - if (!FS.isLink(node.mode)) { - throw new FS.ErrnoError(28); - } - return node.link; - }, - }, - stream_ops:{ - read(stream, buffer, offset, length, position) { - var contents = stream.node.contents; - if (position >= stream.node.usedBytes) return 0; - var size = Math.min(stream.node.usedBytes - position, length); - assert(size >= 0); - if (size > 8 && contents.subarray) { // non-trivial, and typed array - buffer.set(contents.subarray(position, position + size), offset); - } else { - for (var i = 0; i < size; i++) buffer[offset + i] = contents[position + i]; - } - return size; - }, - write(stream, buffer, offset, length, position, canOwn) { - // The data buffer should be a typed array view - assert(!(buffer instanceof ArrayBuffer)); - - if (!length) return 0; - var node = stream.node; - node.mtime = node.ctime = Date.now(); - - if (buffer.subarray && (!node.contents || node.contents.subarray)) { // This write is from a typed array to a typed array? - if (canOwn) { - assert(position === 0, 'canOwn must imply no weird position inside the file'); - node.contents = buffer.subarray(offset, offset + length); - node.usedBytes = length; - return length; - } else if (node.usedBytes === 0 && position === 0) { // If this is a simple first write to an empty file, do a fast set since we don't need to care about old data. - node.contents = buffer.slice(offset, offset + length); - node.usedBytes = length; - return length; - } else if (position + length <= node.usedBytes) { // Writing to an already allocated and used subrange of the file? - node.contents.set(buffer.subarray(offset, offset + length), position); - return length; - } - } - - // Appending to an existing file and we need to reallocate, or source data did not come as a typed array. - MEMFS.expandFileStorage(node, position+length); - if (node.contents.subarray && buffer.subarray) { - // Use typed array write which is available. - node.contents.set(buffer.subarray(offset, offset + length), position); - } else { - for (var i = 0; i < length; i++) { - node.contents[position + i] = buffer[offset + i]; // Or fall back to manual write if not. - } - } - node.usedBytes = Math.max(node.usedBytes, position + length); - return length; - }, - llseek(stream, offset, whence) { - var position = offset; - if (whence === 1) { - position += stream.position; - } else if (whence === 2) { - if (FS.isFile(stream.node.mode)) { - position += stream.node.usedBytes; - } - } - if (position < 0) { - throw new FS.ErrnoError(28); - } - return position; - }, - mmap(stream, length, position, prot, flags) { - if (!FS.isFile(stream.node.mode)) { - throw new FS.ErrnoError(43); - } - var ptr; - var allocated; - var contents = stream.node.contents; - // Only make a new copy when MAP_PRIVATE is specified. - if (!(flags & 2) && contents && contents.buffer === HEAP8.buffer) { - // We can't emulate MAP_SHARED when the file is not backed by the - // buffer we're mapping to (e.g. the HEAP buffer). - allocated = false; - ptr = contents.byteOffset; - } else { - allocated = true; - ptr = mmapAlloc(length); - if (!ptr) { - throw new FS.ErrnoError(48); - } - if (contents) { - // Try to avoid unnecessary slices. - if (position > 0 || position + length < contents.length) { - if (contents.subarray) { - contents = contents.subarray(position, position + length); - } else { - contents = Array.prototype.slice.call(contents, position, position + length); - } - } - HEAP8.set(contents, ptr); - } - } - return { ptr, allocated }; - }, - msync(stream, buffer, offset, length, mmapFlags) { - MEMFS.stream_ops.write(stream, buffer, 0, length, offset, false); - // should we check if bytesWritten and length are the same? - return 0; - }, - }, - }; - - var asyncLoad = async (url) => { - var arrayBuffer = await readAsync(url); - assert(arrayBuffer, `Loading data file "${url}" failed (no arrayBuffer).`); - return new Uint8Array(arrayBuffer); - }; - - - var FS_createDataFile = (parent, name, fileData, canRead, canWrite, canOwn) => { - FS.createDataFile(parent, name, fileData, canRead, canWrite, canOwn); - }; - - var preloadPlugins = Module['preloadPlugins'] || []; - var FS_handledByPreloadPlugin = (byteArray, fullname, finish, onerror) => { - // Ensure plugins are ready. - if (typeof Browser != 'undefined') Browser.init(); - - var handled = false; - preloadPlugins.forEach((plugin) => { - if (handled) return; - if (plugin['canHandle'](fullname)) { - plugin['handle'](byteArray, fullname, finish, onerror); - handled = true; - } - }); - return handled; - }; - var FS_createPreloadedFile = (parent, name, url, canRead, canWrite, onload, onerror, dontCreateFile, canOwn, preFinish) => { - // TODO we should allow people to just pass in a complete filename instead - // of parent and name being that we just join them anyways - var fullname = name ? PATH_FS.resolve(PATH.join2(parent, name)) : parent; - var dep = getUniqueRunDependency(`cp ${fullname}`); // might have several active requests for the same fullname - function processData(byteArray) { - function finish(byteArray) { - preFinish?.(); - if (!dontCreateFile) { - FS_createDataFile(parent, name, byteArray, canRead, canWrite, canOwn); - } - onload?.(); - removeRunDependency(dep); - } - if (FS_handledByPreloadPlugin(byteArray, fullname, finish, () => { - onerror?.(); - removeRunDependency(dep); - })) { - return; - } - finish(byteArray); - } - addRunDependency(dep); - if (typeof url == 'string') { - asyncLoad(url).then(processData, onerror); - } else { - processData(url); - } - }; - - var FS_modeStringToFlags = (str) => { - var flagModes = { - 'r': 0, - 'r+': 2, - 'w': 512 | 64 | 1, - 'w+': 512 | 64 | 2, - 'a': 1024 | 64 | 1, - 'a+': 1024 | 64 | 2, - }; - var flags = flagModes[str]; - if (typeof flags == 'undefined') { - throw new Error(`Unknown file open mode: ${str}`); - } - return flags; - }; - - var FS_getMode = (canRead, canWrite) => { - var mode = 0; - if (canRead) mode |= 292 | 73; - if (canWrite) mode |= 146; - return mode; - }; - - - - - - - /** - * Given a pointer 'ptr' to a null-terminated UTF8-encoded string in the - * emscripten HEAP, returns a copy of that string as a Javascript String object. - * - * @param {number} ptr - * @param {number=} maxBytesToRead - An optional length that specifies the - * maximum number of bytes to read. You can omit this parameter to scan the - * string until the first 0 byte. If maxBytesToRead is passed, and the string - * at [ptr, ptr+maxBytesToReadr[ contains a null byte in the middle, then the - * string will cut short at that byte index (i.e. maxBytesToRead will not - * produce a string of exact length [ptr, ptr+maxBytesToRead[) N.B. mixing - * frequent uses of UTF8ToString() with and without maxBytesToRead may throw - * JS JIT optimizations off, so it is worth to consider consistently using one - * @return {string} - */ - var UTF8ToString = (ptr, maxBytesToRead) => { - assert(typeof ptr == 'number', `UTF8ToString expects a number (got ${typeof ptr})`); - return ptr ? UTF8ArrayToString(HEAPU8, ptr, maxBytesToRead) : ''; - }; - - var strError = (errno) => UTF8ToString(_strerror(errno)); - - var ERRNO_CODES = { - 'EPERM': 63, - 'ENOENT': 44, - 'ESRCH': 71, - 'EINTR': 27, - 'EIO': 29, - 'ENXIO': 60, - 'E2BIG': 1, - 'ENOEXEC': 45, - 'EBADF': 8, - 'ECHILD': 12, - 'EAGAIN': 6, - 'EWOULDBLOCK': 6, - 'ENOMEM': 48, - 'EACCES': 2, - 'EFAULT': 21, - 'ENOTBLK': 105, - 'EBUSY': 10, - 'EEXIST': 20, - 'EXDEV': 75, - 'ENODEV': 43, - 'ENOTDIR': 54, - 'EISDIR': 31, - 'EINVAL': 28, - 'ENFILE': 41, - 'EMFILE': 33, - 'ENOTTY': 59, - 'ETXTBSY': 74, - 'EFBIG': 22, - 'ENOSPC': 51, - 'ESPIPE': 70, - 'EROFS': 69, - 'EMLINK': 34, - 'EPIPE': 64, - 'EDOM': 18, - 'ERANGE': 68, - 'ENOMSG': 49, - 'EIDRM': 24, - 'ECHRNG': 106, - 'EL2NSYNC': 156, - 'EL3HLT': 107, - 'EL3RST': 108, - 'ELNRNG': 109, - 'EUNATCH': 110, - 'ENOCSI': 111, - 'EL2HLT': 112, - 'EDEADLK': 16, - 'ENOLCK': 46, - 'EBADE': 113, - 'EBADR': 114, - 'EXFULL': 115, - 'ENOANO': 104, - 'EBADRQC': 103, - 'EBADSLT': 102, - 'EDEADLOCK': 16, - 'EBFONT': 101, - 'ENOSTR': 100, - 'ENODATA': 116, - 'ETIME': 117, - 'ENOSR': 118, - 'ENONET': 119, - 'ENOPKG': 120, - 'EREMOTE': 121, - 'ENOLINK': 47, - 'EADV': 122, - 'ESRMNT': 123, - 'ECOMM': 124, - 'EPROTO': 65, - 'EMULTIHOP': 36, - 'EDOTDOT': 125, - 'EBADMSG': 9, - 'ENOTUNIQ': 126, - 'EBADFD': 127, - 'EREMCHG': 128, - 'ELIBACC': 129, - 'ELIBBAD': 130, - 'ELIBSCN': 131, - 'ELIBMAX': 132, - 'ELIBEXEC': 133, - 'ENOSYS': 52, - 'ENOTEMPTY': 55, - 'ENAMETOOLONG': 37, - 'ELOOP': 32, - 'EOPNOTSUPP': 138, - 'EPFNOSUPPORT': 139, - 'ECONNRESET': 15, - 'ENOBUFS': 42, - 'EAFNOSUPPORT': 5, - 'EPROTOTYPE': 67, - 'ENOTSOCK': 57, - 'ENOPROTOOPT': 50, - 'ESHUTDOWN': 140, - 'ECONNREFUSED': 14, - 'EADDRINUSE': 3, - 'ECONNABORTED': 13, - 'ENETUNREACH': 40, - 'ENETDOWN': 38, - 'ETIMEDOUT': 73, - 'EHOSTDOWN': 142, - 'EHOSTUNREACH': 23, - 'EINPROGRESS': 26, - 'EALREADY': 7, - 'EDESTADDRREQ': 17, - 'EMSGSIZE': 35, - 'EPROTONOSUPPORT': 66, - 'ESOCKTNOSUPPORT': 137, - 'EADDRNOTAVAIL': 4, - 'ENETRESET': 39, - 'EISCONN': 30, - 'ENOTCONN': 53, - 'ETOOMANYREFS': 141, - 'EUSERS': 136, - 'EDQUOT': 19, - 'ESTALE': 72, - 'ENOTSUP': 138, - 'ENOMEDIUM': 148, - 'EILSEQ': 25, - 'EOVERFLOW': 61, - 'ECANCELED': 11, - 'ENOTRECOVERABLE': 56, - 'EOWNERDEAD': 62, - 'ESTRPIPE': 135, - }; - var FS = { - root:null, - mounts:[], - devices:{ - }, - streams:[], - nextInode:1, - nameTable:null, - currentPath:"/", - initialized:false, - ignorePermissions:true, - filesystems:null, - syncFSRequests:0, - readFiles:{ - }, - ErrnoError:class extends Error { - name = 'ErrnoError'; - // We set the `name` property to be able to identify `FS.ErrnoError` - // - the `name` is a standard ECMA-262 property of error objects. Kind of good to have it anyway. - // - when using PROXYFS, an error can come from an underlying FS - // as different FS objects have their own FS.ErrnoError each, - // the test `err instanceof FS.ErrnoError` won't detect an error coming from another filesystem, causing bugs. - // we'll use the reliable test `err.name == "ErrnoError"` instead - constructor(errno) { - super(runtimeInitialized ? strError(errno) : ''); - this.errno = errno; - for (var key in ERRNO_CODES) { - if (ERRNO_CODES[key] === errno) { - this.code = key; - break; - } - } - } - }, - FSStream:class { - shared = {}; - get object() { - return this.node; - } - set object(val) { - this.node = val; - } - get isRead() { - return (this.flags & 2097155) !== 1; - } - get isWrite() { - return (this.flags & 2097155) !== 0; - } - get isAppend() { - return (this.flags & 1024); - } - get flags() { - return this.shared.flags; - } - set flags(val) { - this.shared.flags = val; - } - get position() { - return this.shared.position; - } - set position(val) { - this.shared.position = val; - } - }, - FSNode:class { - node_ops = {}; - stream_ops = {}; - readMode = 292 | 73; - writeMode = 146; - mounted = null; - constructor(parent, name, mode, rdev) { - if (!parent) { - parent = this; // root node sets parent to itself - } - this.parent = parent; - this.mount = parent.mount; - this.id = FS.nextInode++; - this.name = name; - this.mode = mode; - this.rdev = rdev; - this.atime = this.mtime = this.ctime = Date.now(); - } - get read() { - return (this.mode & this.readMode) === this.readMode; - } - set read(val) { - val ? this.mode |= this.readMode : this.mode &= ~this.readMode; - } - get write() { - return (this.mode & this.writeMode) === this.writeMode; - } - set write(val) { - val ? this.mode |= this.writeMode : this.mode &= ~this.writeMode; - } - get isFolder() { - return FS.isDir(this.mode); - } - get isDevice() { - return FS.isChrdev(this.mode); - } - }, - lookupPath(path, opts = {}) { - if (!path) { - throw new FS.ErrnoError(44); - } - opts.follow_mount ??= true - - if (!PATH.isAbs(path)) { - path = FS.cwd() + '/' + path; - } - - // limit max consecutive symlinks to 40 (SYMLOOP_MAX). - linkloop: for (var nlinks = 0; nlinks < 40; nlinks++) { - // split the absolute path - var parts = path.split('/').filter((p) => !!p); - - // start at the root - var current = FS.root; - var current_path = '/'; - - for (var i = 0; i < parts.length; i++) { - var islast = (i === parts.length-1); - if (islast && opts.parent) { - // stop resolving - break; - } - - if (parts[i] === '.') { - continue; - } - - if (parts[i] === '..') { - current_path = PATH.dirname(current_path); - current = current.parent; - continue; - } - - current_path = PATH.join2(current_path, parts[i]); - try { - current = FS.lookupNode(current, parts[i]); - } catch (e) { - // if noent_okay is true, suppress a ENOENT in the last component - // and return an object with an undefined node. This is needed for - // resolving symlinks in the path when creating a file. - if ((e?.errno === 44) && islast && opts.noent_okay) { - return { path: current_path }; - } - throw e; - } - - // jump to the mount's root node if this is a mountpoint - if (FS.isMountpoint(current) && (!islast || opts.follow_mount)) { - current = current.mounted.root; - } - - // by default, lookupPath will not follow a symlink if it is the final path component. - // setting opts.follow = true will override this behavior. - if (FS.isLink(current.mode) && (!islast || opts.follow)) { - if (!current.node_ops.readlink) { - throw new FS.ErrnoError(52); - } - var link = current.node_ops.readlink(current); - if (!PATH.isAbs(link)) { - link = PATH.dirname(current_path) + '/' + link; - } - path = link + '/' + parts.slice(i + 1).join('/'); - continue linkloop; - } - } - return { path: current_path, node: current }; - } - throw new FS.ErrnoError(32); - }, - getPath(node) { - var path; - while (true) { - if (FS.isRoot(node)) { - var mount = node.mount.mountpoint; - if (!path) return mount; - return mount[mount.length-1] !== '/' ? `${mount}/${path}` : mount + path; - } - path = path ? `${node.name}/${path}` : node.name; - node = node.parent; - } - }, - hashName(parentid, name) { - var hash = 0; - - for (var i = 0; i < name.length; i++) { - hash = ((hash << 5) - hash + name.charCodeAt(i)) | 0; - } - return ((parentid + hash) >>> 0) % FS.nameTable.length; - }, - hashAddNode(node) { - var hash = FS.hashName(node.parent.id, node.name); - node.name_next = FS.nameTable[hash]; - FS.nameTable[hash] = node; - }, - hashRemoveNode(node) { - var hash = FS.hashName(node.parent.id, node.name); - if (FS.nameTable[hash] === node) { - FS.nameTable[hash] = node.name_next; - } else { - var current = FS.nameTable[hash]; - while (current) { - if (current.name_next === node) { - current.name_next = node.name_next; - break; - } - current = current.name_next; - } - } - }, - lookupNode(parent, name) { - var errCode = FS.mayLookup(parent); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - var hash = FS.hashName(parent.id, name); - for (var node = FS.nameTable[hash]; node; node = node.name_next) { - var nodeName = node.name; - if (node.parent.id === parent.id && nodeName === name) { - return node; - } - } - // if we failed to find it in the cache, call into the VFS - return FS.lookup(parent, name); - }, - createNode(parent, name, mode, rdev) { - assert(typeof parent == 'object') - var node = new FS.FSNode(parent, name, mode, rdev); - - FS.hashAddNode(node); - - return node; - }, - destroyNode(node) { - FS.hashRemoveNode(node); - }, - isRoot(node) { - return node === node.parent; - }, - isMountpoint(node) { - return !!node.mounted; - }, - isFile(mode) { - return (mode & 61440) === 32768; - }, - isDir(mode) { - return (mode & 61440) === 16384; - }, - isLink(mode) { - return (mode & 61440) === 40960; - }, - isChrdev(mode) { - return (mode & 61440) === 8192; - }, - isBlkdev(mode) { - return (mode & 61440) === 24576; - }, - isFIFO(mode) { - return (mode & 61440) === 4096; - }, - isSocket(mode) { - return (mode & 49152) === 49152; - }, - flagsToPermissionString(flag) { - var perms = ['r', 'w', 'rw'][flag & 3]; - if ((flag & 512)) { - perms += 'w'; - } - return perms; - }, - nodePermissions(node, perms) { - if (FS.ignorePermissions) { - return 0; - } - // return 0 if any user, group or owner bits are set. - if (perms.includes('r') && !(node.mode & 292)) { - return 2; - } else if (perms.includes('w') && !(node.mode & 146)) { - return 2; - } else if (perms.includes('x') && !(node.mode & 73)) { - return 2; - } - return 0; - }, - mayLookup(dir) { - if (!FS.isDir(dir.mode)) return 54; - var errCode = FS.nodePermissions(dir, 'x'); - if (errCode) return errCode; - if (!dir.node_ops.lookup) return 2; - return 0; - }, - mayCreate(dir, name) { - if (!FS.isDir(dir.mode)) { - return 54; - } - try { - var node = FS.lookupNode(dir, name); - return 20; - } catch (e) { - } - return FS.nodePermissions(dir, 'wx'); - }, - mayDelete(dir, name, isdir) { - var node; - try { - node = FS.lookupNode(dir, name); - } catch (e) { - return e.errno; - } - var errCode = FS.nodePermissions(dir, 'wx'); - if (errCode) { - return errCode; - } - if (isdir) { - if (!FS.isDir(node.mode)) { - return 54; - } - if (FS.isRoot(node) || FS.getPath(node) === FS.cwd()) { - return 10; - } - } else { - if (FS.isDir(node.mode)) { - return 31; - } - } - return 0; - }, - mayOpen(node, flags) { - if (!node) { - return 44; - } - if (FS.isLink(node.mode)) { - return 32; - } else if (FS.isDir(node.mode)) { - if (FS.flagsToPermissionString(flags) !== 'r' // opening for write - || (flags & (512 | 64))) { // TODO: check for O_SEARCH? (== search for dir only) - return 31; - } - } - return FS.nodePermissions(node, FS.flagsToPermissionString(flags)); - }, - checkOpExists(op, err) { - if (!op) { - throw new FS.ErrnoError(err); - } - return op; - }, - MAX_OPEN_FDS:4096, - nextfd() { - for (var fd = 0; fd <= FS.MAX_OPEN_FDS; fd++) { - if (!FS.streams[fd]) { - return fd; - } - } - throw new FS.ErrnoError(33); - }, - getStreamChecked(fd) { - var stream = FS.getStream(fd); - if (!stream) { - throw new FS.ErrnoError(8); - } - return stream; - }, - getStream:(fd) => FS.streams[fd], - createStream(stream, fd = -1) { - assert(fd >= -1); - - // clone it, so we can return an instance of FSStream - stream = Object.assign(new FS.FSStream(), stream); - if (fd == -1) { - fd = FS.nextfd(); - } - stream.fd = fd; - FS.streams[fd] = stream; - return stream; - }, - closeStream(fd) { - FS.streams[fd] = null; - }, - dupStream(origStream, fd = -1) { - var stream = FS.createStream(origStream, fd); - stream.stream_ops?.dup?.(stream); - return stream; - }, - doSetAttr(stream, node, attr) { - var setattr = stream?.stream_ops.setattr; - var arg = setattr ? stream : node; - setattr ??= node.node_ops.setattr; - FS.checkOpExists(setattr, 63) - setattr(arg, attr); - }, - chrdev_stream_ops:{ - open(stream) { - var device = FS.getDevice(stream.node.rdev); - // override node's stream ops with the device's - stream.stream_ops = device.stream_ops; - // forward the open call - stream.stream_ops.open?.(stream); - }, - llseek() { - throw new FS.ErrnoError(70); - }, - }, - major:(dev) => ((dev) >> 8), - minor:(dev) => ((dev) & 0xff), - makedev:(ma, mi) => ((ma) << 8 | (mi)), - registerDevice(dev, ops) { - FS.devices[dev] = { stream_ops: ops }; - }, - getDevice:(dev) => FS.devices[dev], - getMounts(mount) { - var mounts = []; - var check = [mount]; - - while (check.length) { - var m = check.pop(); - - mounts.push(m); - - check.push(...m.mounts); - } - - return mounts; - }, - syncfs(populate, callback) { - if (typeof populate == 'function') { - callback = populate; - populate = false; - } - - FS.syncFSRequests++; - - if (FS.syncFSRequests > 1) { - err(`warning: ${FS.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`); - } - - var mounts = FS.getMounts(FS.root.mount); - var completed = 0; - - function doCallback(errCode) { - assert(FS.syncFSRequests > 0); - FS.syncFSRequests--; - return callback(errCode); - } - - function done(errCode) { - if (errCode) { - if (!done.errored) { - done.errored = true; - return doCallback(errCode); - } - return; - } - if (++completed >= mounts.length) { - doCallback(null); - } - }; - - // sync all mounts - mounts.forEach((mount) => { - if (!mount.type.syncfs) { - return done(null); - } - mount.type.syncfs(mount, populate, done); - }); - }, - mount(type, opts, mountpoint) { - if (typeof type == 'string') { - // The filesystem was not included, and instead we have an error - // message stored in the variable. - throw type; - } - var root = mountpoint === '/'; - var pseudo = !mountpoint; - var node; - - if (root && FS.root) { - throw new FS.ErrnoError(10); - } else if (!root && !pseudo) { - var lookup = FS.lookupPath(mountpoint, { follow_mount: false }); - - mountpoint = lookup.path; // use the absolute path - node = lookup.node; - - if (FS.isMountpoint(node)) { - throw new FS.ErrnoError(10); - } - - if (!FS.isDir(node.mode)) { - throw new FS.ErrnoError(54); - } - } - - var mount = { - type, - opts, - mountpoint, - mounts: [] - }; - - // create a root node for the fs - var mountRoot = type.mount(mount); - mountRoot.mount = mount; - mount.root = mountRoot; - - if (root) { - FS.root = mountRoot; - } else if (node) { - // set as a mountpoint - node.mounted = mount; - - // add the new mount to the current mount's children - if (node.mount) { - node.mount.mounts.push(mount); - } - } - - return mountRoot; - }, - unmount(mountpoint) { - var lookup = FS.lookupPath(mountpoint, { follow_mount: false }); - - if (!FS.isMountpoint(lookup.node)) { - throw new FS.ErrnoError(28); - } - - // destroy the nodes for this mount, and all its child mounts - var node = lookup.node; - var mount = node.mounted; - var mounts = FS.getMounts(mount); - - Object.keys(FS.nameTable).forEach((hash) => { - var current = FS.nameTable[hash]; - - while (current) { - var next = current.name_next; - - if (mounts.includes(current.mount)) { - FS.destroyNode(current); - } - - current = next; - } - }); - - // no longer a mountpoint - node.mounted = null; - - // remove this mount from the child mounts - var idx = node.mount.mounts.indexOf(mount); - assert(idx !== -1); - node.mount.mounts.splice(idx, 1); - }, - lookup(parent, name) { - return parent.node_ops.lookup(parent, name); - }, - mknod(path, mode, dev) { - var lookup = FS.lookupPath(path, { parent: true }); - var parent = lookup.node; - var name = PATH.basename(path); - if (!name) { - throw new FS.ErrnoError(28); - } - if (name === '.' || name === '..') { - throw new FS.ErrnoError(20); - } - var errCode = FS.mayCreate(parent, name); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - if (!parent.node_ops.mknod) { - throw new FS.ErrnoError(63); - } - return parent.node_ops.mknod(parent, name, mode, dev); - }, - statfs(path) { - return FS.statfsNode(FS.lookupPath(path, {follow: true}).node); - }, - statfsStream(stream) { - // We keep a separate statfsStream function because noderawfs overrides - // it. In noderawfs, stream.node is sometimes null. Instead, we need to - // look at stream.path. - return FS.statfsNode(stream.node); - }, - statfsNode(node) { - // NOTE: None of the defaults here are true. We're just returning safe and - // sane values. Currently nodefs and rawfs replace these defaults, - // other file systems leave them alone. - var rtn = { - bsize: 4096, - frsize: 4096, - blocks: 1e6, - bfree: 5e5, - bavail: 5e5, - files: FS.nextInode, - ffree: FS.nextInode - 1, - fsid: 42, - flags: 2, - namelen: 255, - }; - - if (node.node_ops.statfs) { - Object.assign(rtn, node.node_ops.statfs(node.mount.opts.root)); - } - return rtn; - }, - create(path, mode = 0o666) { - mode &= 4095; - mode |= 32768; - return FS.mknod(path, mode, 0); - }, - mkdir(path, mode = 0o777) { - mode &= 511 | 512; - mode |= 16384; - return FS.mknod(path, mode, 0); - }, - mkdirTree(path, mode) { - var dirs = path.split('/'); - var d = ''; - for (var dir of dirs) { - if (!dir) continue; - if (d || PATH.isAbs(path)) d += '/'; - d += dir; - try { - FS.mkdir(d, mode); - } catch(e) { - if (e.errno != 20) throw e; - } - } - }, - mkdev(path, mode, dev) { - if (typeof dev == 'undefined') { - dev = mode; - mode = 0o666; - } - mode |= 8192; - return FS.mknod(path, mode, dev); - }, - symlink(oldpath, newpath) { - if (!PATH_FS.resolve(oldpath)) { - throw new FS.ErrnoError(44); - } - var lookup = FS.lookupPath(newpath, { parent: true }); - var parent = lookup.node; - if (!parent) { - throw new FS.ErrnoError(44); - } - var newname = PATH.basename(newpath); - var errCode = FS.mayCreate(parent, newname); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - if (!parent.node_ops.symlink) { - throw new FS.ErrnoError(63); - } - return parent.node_ops.symlink(parent, newname, oldpath); - }, - rename(old_path, new_path) { - var old_dirname = PATH.dirname(old_path); - var new_dirname = PATH.dirname(new_path); - var old_name = PATH.basename(old_path); - var new_name = PATH.basename(new_path); - // parents must exist - var lookup, old_dir, new_dir; - - // let the errors from non existent directories percolate up - lookup = FS.lookupPath(old_path, { parent: true }); - old_dir = lookup.node; - lookup = FS.lookupPath(new_path, { parent: true }); - new_dir = lookup.node; - - if (!old_dir || !new_dir) throw new FS.ErrnoError(44); - // need to be part of the same mount - if (old_dir.mount !== new_dir.mount) { - throw new FS.ErrnoError(75); - } - // source must exist - var old_node = FS.lookupNode(old_dir, old_name); - // old path should not be an ancestor of the new path - var relative = PATH_FS.relative(old_path, new_dirname); - if (relative.charAt(0) !== '.') { - throw new FS.ErrnoError(28); - } - // new path should not be an ancestor of the old path - relative = PATH_FS.relative(new_path, old_dirname); - if (relative.charAt(0) !== '.') { - throw new FS.ErrnoError(55); - } - // see if the new path already exists - var new_node; - try { - new_node = FS.lookupNode(new_dir, new_name); - } catch (e) { - // not fatal - } - // early out if nothing needs to change - if (old_node === new_node) { - return; - } - // we'll need to delete the old entry - var isdir = FS.isDir(old_node.mode); - var errCode = FS.mayDelete(old_dir, old_name, isdir); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - // need delete permissions if we'll be overwriting. - // need create permissions if new doesn't already exist. - errCode = new_node ? - FS.mayDelete(new_dir, new_name, isdir) : - FS.mayCreate(new_dir, new_name); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - if (!old_dir.node_ops.rename) { - throw new FS.ErrnoError(63); - } - if (FS.isMountpoint(old_node) || (new_node && FS.isMountpoint(new_node))) { - throw new FS.ErrnoError(10); - } - // if we are going to change the parent, check write permissions - if (new_dir !== old_dir) { - errCode = FS.nodePermissions(old_dir, 'w'); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - } - // remove the node from the lookup hash - FS.hashRemoveNode(old_node); - // do the underlying fs rename - try { - old_dir.node_ops.rename(old_node, new_dir, new_name); - // update old node (we do this here to avoid each backend - // needing to) - old_node.parent = new_dir; - } catch (e) { - throw e; - } finally { - // add the node back to the hash (in case node_ops.rename - // changed its name) - FS.hashAddNode(old_node); - } - }, - rmdir(path) { - var lookup = FS.lookupPath(path, { parent: true }); - var parent = lookup.node; - var name = PATH.basename(path); - var node = FS.lookupNode(parent, name); - var errCode = FS.mayDelete(parent, name, true); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - if (!parent.node_ops.rmdir) { - throw new FS.ErrnoError(63); - } - if (FS.isMountpoint(node)) { - throw new FS.ErrnoError(10); - } - parent.node_ops.rmdir(parent, name); - FS.destroyNode(node); - }, - readdir(path) { - var lookup = FS.lookupPath(path, { follow: true }); - var node = lookup.node; - var readdir = FS.checkOpExists(node.node_ops.readdir, 54); - return readdir(node); - }, - unlink(path) { - var lookup = FS.lookupPath(path, { parent: true }); - var parent = lookup.node; - if (!parent) { - throw new FS.ErrnoError(44); - } - var name = PATH.basename(path); - var node = FS.lookupNode(parent, name); - var errCode = FS.mayDelete(parent, name, false); - if (errCode) { - // According to POSIX, we should map EISDIR to EPERM, but - // we instead do what Linux does (and we must, as we use - // the musl linux libc). - throw new FS.ErrnoError(errCode); - } - if (!parent.node_ops.unlink) { - throw new FS.ErrnoError(63); - } - if (FS.isMountpoint(node)) { - throw new FS.ErrnoError(10); - } - parent.node_ops.unlink(parent, name); - FS.destroyNode(node); - }, - readlink(path) { - var lookup = FS.lookupPath(path); - var link = lookup.node; - if (!link) { - throw new FS.ErrnoError(44); - } - if (!link.node_ops.readlink) { - throw new FS.ErrnoError(28); - } - return link.node_ops.readlink(link); - }, - stat(path, dontFollow) { - var lookup = FS.lookupPath(path, { follow: !dontFollow }); - var node = lookup.node; - var getattr = FS.checkOpExists(node.node_ops.getattr, 63); - return getattr(node); - }, - fstat(fd) { - var stream = FS.getStreamChecked(fd); - var node = stream.node; - var getattr = stream.stream_ops.getattr; - var arg = getattr ? stream : node; - getattr ??= node.node_ops.getattr; - FS.checkOpExists(getattr, 63) - return getattr(arg); - }, - lstat(path) { - return FS.stat(path, true); - }, - doChmod(stream, node, mode, dontFollow) { - FS.doSetAttr(stream, node, { - mode: (mode & 4095) | (node.mode & ~4095), - ctime: Date.now(), - dontFollow - }); - }, - chmod(path, mode, dontFollow) { - var node; - if (typeof path == 'string') { - var lookup = FS.lookupPath(path, { follow: !dontFollow }); - node = lookup.node; - } else { - node = path; - } - FS.doChmod(null, node, mode, dontFollow); - }, - lchmod(path, mode) { - FS.chmod(path, mode, true); - }, - fchmod(fd, mode) { - var stream = FS.getStreamChecked(fd); - FS.doChmod(stream, stream.node, mode, false); - }, - doChown(stream, node, dontFollow) { - FS.doSetAttr(stream, node, { - timestamp: Date.now(), - dontFollow - // we ignore the uid / gid for now - }); - }, - chown(path, uid, gid, dontFollow) { - var node; - if (typeof path == 'string') { - var lookup = FS.lookupPath(path, { follow: !dontFollow }); - node = lookup.node; - } else { - node = path; - } - FS.doChown(null, node, dontFollow); - }, - lchown(path, uid, gid) { - FS.chown(path, uid, gid, true); - }, - fchown(fd, uid, gid) { - var stream = FS.getStreamChecked(fd); - FS.doChown(stream, stream.node, false); - }, - doTruncate(stream, node, len) { - if (FS.isDir(node.mode)) { - throw new FS.ErrnoError(31); - } - if (!FS.isFile(node.mode)) { - throw new FS.ErrnoError(28); - } - var errCode = FS.nodePermissions(node, 'w'); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - FS.doSetAttr(stream, node, { - size: len, - timestamp: Date.now() - }); - }, - truncate(path, len) { - if (len < 0) { - throw new FS.ErrnoError(28); - } - var node; - if (typeof path == 'string') { - var lookup = FS.lookupPath(path, { follow: true }); - node = lookup.node; - } else { - node = path; - } - FS.doTruncate(null, node, len); - }, - ftruncate(fd, len) { - var stream = FS.getStreamChecked(fd); - if (len < 0 || (stream.flags & 2097155) === 0) { - throw new FS.ErrnoError(28); - } - FS.doTruncate(stream, stream.node, len); - }, - utime(path, atime, mtime) { - var lookup = FS.lookupPath(path, { follow: true }); - var node = lookup.node; - var setattr = FS.checkOpExists(node.node_ops.setattr, 63); - setattr(node, { - atime: atime, - mtime: mtime - }); - }, - open(path, flags, mode = 0o666) { - if (path === "") { - throw new FS.ErrnoError(44); - } - flags = typeof flags == 'string' ? FS_modeStringToFlags(flags) : flags; - if ((flags & 64)) { - mode = (mode & 4095) | 32768; - } else { - mode = 0; - } - var node; - var isDirPath; - if (typeof path == 'object') { - node = path; - } else { - isDirPath = path.endsWith("/"); - // noent_okay makes it so that if the final component of the path - // doesn't exist, lookupPath returns `node: undefined`. `path` will be - // updated to point to the target of all symlinks. - var lookup = FS.lookupPath(path, { - follow: !(flags & 131072), - noent_okay: true - }); - node = lookup.node; - path = lookup.path; - } - // perhaps we need to create the node - var created = false; - if ((flags & 64)) { - if (node) { - // if O_CREAT and O_EXCL are set, error out if the node already exists - if ((flags & 128)) { - throw new FS.ErrnoError(20); - } - } else if (isDirPath) { - throw new FS.ErrnoError(31); - } else { - // node doesn't exist, try to create it - // Ignore the permission bits here to ensure we can `open` this new - // file below. We use chmod below the apply the permissions once the - // file is open. - node = FS.mknod(path, mode | 0o777, 0); - created = true; - } - } - if (!node) { - throw new FS.ErrnoError(44); - } - // can't truncate a device - if (FS.isChrdev(node.mode)) { - flags &= ~512; - } - // if asked only for a directory, then this must be one - if ((flags & 65536) && !FS.isDir(node.mode)) { - throw new FS.ErrnoError(54); - } - // check permissions, if this is not a file we just created now (it is ok to - // create and write to a file with read-only permissions; it is read-only - // for later use) - if (!created) { - var errCode = FS.mayOpen(node, flags); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - } - // do truncation if necessary - if ((flags & 512) && !created) { - FS.truncate(node, 0); - } - // we've already handled these, don't pass down to the underlying vfs - flags &= ~(128 | 512 | 131072); - - // register the stream with the filesystem - var stream = FS.createStream({ - node, - path: FS.getPath(node), // we want the absolute path to the node - flags, - seekable: true, - position: 0, - stream_ops: node.stream_ops, - // used by the file family libc calls (fopen, fwrite, ferror, etc.) - ungotten: [], - error: false - }); - // call the new stream's open function - if (stream.stream_ops.open) { - stream.stream_ops.open(stream); - } - if (created) { - FS.chmod(node, mode & 0o777); - } - if (Module['logReadFiles'] && !(flags & 1)) { - if (!(path in FS.readFiles)) { - FS.readFiles[path] = 1; - } - } - return stream; - }, - close(stream) { - if (FS.isClosed(stream)) { - throw new FS.ErrnoError(8); - } - if (stream.getdents) stream.getdents = null; // free readdir state - try { - if (stream.stream_ops.close) { - stream.stream_ops.close(stream); - } - } catch (e) { - throw e; - } finally { - FS.closeStream(stream.fd); - } - stream.fd = null; - }, - isClosed(stream) { - return stream.fd === null; - }, - llseek(stream, offset, whence) { - if (FS.isClosed(stream)) { - throw new FS.ErrnoError(8); - } - if (!stream.seekable || !stream.stream_ops.llseek) { - throw new FS.ErrnoError(70); - } - if (whence != 0 && whence != 1 && whence != 2) { - throw new FS.ErrnoError(28); - } - stream.position = stream.stream_ops.llseek(stream, offset, whence); - stream.ungotten = []; - return stream.position; - }, - read(stream, buffer, offset, length, position) { - assert(offset >= 0); - if (length < 0 || position < 0) { - throw new FS.ErrnoError(28); - } - if (FS.isClosed(stream)) { - throw new FS.ErrnoError(8); - } - if ((stream.flags & 2097155) === 1) { - throw new FS.ErrnoError(8); - } - if (FS.isDir(stream.node.mode)) { - throw new FS.ErrnoError(31); - } - if (!stream.stream_ops.read) { - throw new FS.ErrnoError(28); - } - var seeking = typeof position != 'undefined'; - if (!seeking) { - position = stream.position; - } else if (!stream.seekable) { - throw new FS.ErrnoError(70); - } - var bytesRead = stream.stream_ops.read(stream, buffer, offset, length, position); - if (!seeking) stream.position += bytesRead; - return bytesRead; - }, - write(stream, buffer, offset, length, position, canOwn) { - assert(offset >= 0); - if (length < 0 || position < 0) { - throw new FS.ErrnoError(28); - } - if (FS.isClosed(stream)) { - throw new FS.ErrnoError(8); - } - if ((stream.flags & 2097155) === 0) { - throw new FS.ErrnoError(8); - } - if (FS.isDir(stream.node.mode)) { - throw new FS.ErrnoError(31); - } - if (!stream.stream_ops.write) { - throw new FS.ErrnoError(28); - } - if (stream.seekable && stream.flags & 1024) { - // seek to the end before writing in append mode - FS.llseek(stream, 0, 2); - } - var seeking = typeof position != 'undefined'; - if (!seeking) { - position = stream.position; - } else if (!stream.seekable) { - throw new FS.ErrnoError(70); - } - var bytesWritten = stream.stream_ops.write(stream, buffer, offset, length, position, canOwn); - if (!seeking) stream.position += bytesWritten; - return bytesWritten; - }, - mmap(stream, length, position, prot, flags) { - // User requests writing to file (prot & PROT_WRITE != 0). - // Checking if we have permissions to write to the file unless - // MAP_PRIVATE flag is set. According to POSIX spec it is possible - // to write to file opened in read-only mode with MAP_PRIVATE flag, - // as all modifications will be visible only in the memory of - // the current process. - if ((prot & 2) !== 0 - && (flags & 2) === 0 - && (stream.flags & 2097155) !== 2) { - throw new FS.ErrnoError(2); - } - if ((stream.flags & 2097155) === 1) { - throw new FS.ErrnoError(2); - } - if (!stream.stream_ops.mmap) { - throw new FS.ErrnoError(43); - } - if (!length) { - throw new FS.ErrnoError(28); - } - return stream.stream_ops.mmap(stream, length, position, prot, flags); - }, - msync(stream, buffer, offset, length, mmapFlags) { - assert(offset >= 0); - if (!stream.stream_ops.msync) { - return 0; - } - return stream.stream_ops.msync(stream, buffer, offset, length, mmapFlags); - }, - ioctl(stream, cmd, arg) { - if (!stream.stream_ops.ioctl) { - throw new FS.ErrnoError(59); - } - return stream.stream_ops.ioctl(stream, cmd, arg); - }, - readFile(path, opts = {}) { - opts.flags = opts.flags || 0; - opts.encoding = opts.encoding || 'binary'; - if (opts.encoding !== 'utf8' && opts.encoding !== 'binary') { - throw new Error(`Invalid encoding type "${opts.encoding}"`); - } - var ret; - var stream = FS.open(path, opts.flags); - var stat = FS.stat(path); - var length = stat.size; - var buf = new Uint8Array(length); - FS.read(stream, buf, 0, length, 0); - if (opts.encoding === 'utf8') { - ret = UTF8ArrayToString(buf); - } else if (opts.encoding === 'binary') { - ret = buf; - } - FS.close(stream); - return ret; - }, - writeFile(path, data, opts = {}) { - opts.flags = opts.flags || 577; - var stream = FS.open(path, opts.flags, opts.mode); - if (typeof data == 'string') { - var buf = new Uint8Array(lengthBytesUTF8(data)+1); - var actualNumBytes = stringToUTF8Array(data, buf, 0, buf.length); - FS.write(stream, buf, 0, actualNumBytes, undefined, opts.canOwn); - } else if (ArrayBuffer.isView(data)) { - FS.write(stream, data, 0, data.byteLength, undefined, opts.canOwn); - } else { - throw new Error('Unsupported data type'); - } - FS.close(stream); - }, - cwd:() => FS.currentPath, - chdir(path) { - var lookup = FS.lookupPath(path, { follow: true }); - if (lookup.node === null) { - throw new FS.ErrnoError(44); - } - if (!FS.isDir(lookup.node.mode)) { - throw new FS.ErrnoError(54); - } - var errCode = FS.nodePermissions(lookup.node, 'x'); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - FS.currentPath = lookup.path; - }, - createDefaultDirectories() { - FS.mkdir('/tmp'); - FS.mkdir('/home'); - FS.mkdir('/home/web_user'); - }, - createDefaultDevices() { - // create /dev - FS.mkdir('/dev'); - // setup /dev/null - FS.registerDevice(FS.makedev(1, 3), { - read: () => 0, - write: (stream, buffer, offset, length, pos) => length, - llseek: () => 0, - }); - FS.mkdev('/dev/null', FS.makedev(1, 3)); - // setup /dev/tty and /dev/tty1 - // stderr needs to print output using err() rather than out() - // so we register a second tty just for it. - TTY.register(FS.makedev(5, 0), TTY.default_tty_ops); - TTY.register(FS.makedev(6, 0), TTY.default_tty1_ops); - FS.mkdev('/dev/tty', FS.makedev(5, 0)); - FS.mkdev('/dev/tty1', FS.makedev(6, 0)); - // setup /dev/[u]random - // use a buffer to avoid overhead of individual crypto calls per byte - var randomBuffer = new Uint8Array(1024), randomLeft = 0; - var randomByte = () => { - if (randomLeft === 0) { - randomFill(randomBuffer); - randomLeft = randomBuffer.byteLength; - } - return randomBuffer[--randomLeft]; - }; - FS.createDevice('/dev', 'random', randomByte); - FS.createDevice('/dev', 'urandom', randomByte); - // we're not going to emulate the actual shm device, - // just create the tmp dirs that reside in it commonly - FS.mkdir('/dev/shm'); - FS.mkdir('/dev/shm/tmp'); - }, - createSpecialDirectories() { - // create /proc/self/fd which allows /proc/self/fd/6 => readlink gives the - // name of the stream for fd 6 (see test_unistd_ttyname) - FS.mkdir('/proc'); - var proc_self = FS.mkdir('/proc/self'); - FS.mkdir('/proc/self/fd'); - FS.mount({ - mount() { - var node = FS.createNode(proc_self, 'fd', 16895, 73); - node.stream_ops = { - llseek: MEMFS.stream_ops.llseek, - }; - node.node_ops = { - lookup(parent, name) { - var fd = +name; - var stream = FS.getStreamChecked(fd); - var ret = { - parent: null, - mount: { mountpoint: 'fake' }, - node_ops: { readlink: () => stream.path }, - id: fd + 1, - }; - ret.parent = ret; // make it look like a simple root node - return ret; - }, - readdir() { - return Array.from(FS.streams.entries()) - .filter(([k, v]) => v) - .map(([k, v]) => k.toString()); - } - }; - return node; - } - }, {}, '/proc/self/fd'); - }, - createStandardStreams(input, output, error) { - // TODO deprecate the old functionality of a single - // input / output callback and that utilizes FS.createDevice - // and instead require a unique set of stream ops - - // by default, we symlink the standard streams to the - // default tty devices. however, if the standard streams - // have been overwritten we create a unique device for - // them instead. - if (input) { - FS.createDevice('/dev', 'stdin', input); - } else { - FS.symlink('/dev/tty', '/dev/stdin'); - } - if (output) { - FS.createDevice('/dev', 'stdout', null, output); - } else { - FS.symlink('/dev/tty', '/dev/stdout'); - } - if (error) { - FS.createDevice('/dev', 'stderr', null, error); - } else { - FS.symlink('/dev/tty1', '/dev/stderr'); - } - - // open default streams for the stdin, stdout and stderr devices - var stdin = FS.open('/dev/stdin', 0); - var stdout = FS.open('/dev/stdout', 1); - var stderr = FS.open('/dev/stderr', 1); - assert(stdin.fd === 0, `invalid handle for stdin (${stdin.fd})`); - assert(stdout.fd === 1, `invalid handle for stdout (${stdout.fd})`); - assert(stderr.fd === 2, `invalid handle for stderr (${stderr.fd})`); - }, - staticInit() { - FS.nameTable = new Array(4096); - - FS.mount(MEMFS, {}, '/'); - - FS.createDefaultDirectories(); - FS.createDefaultDevices(); - FS.createSpecialDirectories(); - - FS.filesystems = { - 'MEMFS': MEMFS, - }; - }, - init(input, output, error) { - assert(!FS.initialized, 'FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)'); - FS.initialized = true; - - // Allow Module.stdin etc. to provide defaults, if none explicitly passed to us here - input ??= Module['stdin']; - output ??= Module['stdout']; - error ??= Module['stderr']; - - FS.createStandardStreams(input, output, error); - }, - quit() { - FS.initialized = false; - // force-flush all streams, so we get musl std streams printed out - _fflush(0); - // close all of our streams - for (var stream of FS.streams) { - if (stream) { - FS.close(stream); - } - } - }, - findObject(path, dontResolveLastLink) { - var ret = FS.analyzePath(path, dontResolveLastLink); - if (!ret.exists) { - return null; - } - return ret.object; - }, - analyzePath(path, dontResolveLastLink) { - // operate from within the context of the symlink's target - try { - var lookup = FS.lookupPath(path, { follow: !dontResolveLastLink }); - path = lookup.path; - } catch (e) { - } - var ret = { - isRoot: false, exists: false, error: 0, name: null, path: null, object: null, - parentExists: false, parentPath: null, parentObject: null - }; - try { - var lookup = FS.lookupPath(path, { parent: true }); - ret.parentExists = true; - ret.parentPath = lookup.path; - ret.parentObject = lookup.node; - ret.name = PATH.basename(path); - lookup = FS.lookupPath(path, { follow: !dontResolveLastLink }); - ret.exists = true; - ret.path = lookup.path; - ret.object = lookup.node; - ret.name = lookup.node.name; - ret.isRoot = lookup.path === '/'; - } catch (e) { - ret.error = e.errno; - }; - return ret; - }, - createPath(parent, path, canRead, canWrite) { - parent = typeof parent == 'string' ? parent : FS.getPath(parent); - var parts = path.split('/').reverse(); - while (parts.length) { - var part = parts.pop(); - if (!part) continue; - var current = PATH.join2(parent, part); - try { - FS.mkdir(current); - } catch (e) { - if (e.errno != 20) throw e; - } - parent = current; - } - return current; - }, - createFile(parent, name, properties, canRead, canWrite) { - var path = PATH.join2(typeof parent == 'string' ? parent : FS.getPath(parent), name); - var mode = FS_getMode(canRead, canWrite); - return FS.create(path, mode); - }, - createDataFile(parent, name, data, canRead, canWrite, canOwn) { - var path = name; - if (parent) { - parent = typeof parent == 'string' ? parent : FS.getPath(parent); - path = name ? PATH.join2(parent, name) : parent; - } - var mode = FS_getMode(canRead, canWrite); - var node = FS.create(path, mode); - if (data) { - if (typeof data == 'string') { - var arr = new Array(data.length); - for (var i = 0, len = data.length; i < len; ++i) arr[i] = data.charCodeAt(i); - data = arr; - } - // make sure we can write to the file - FS.chmod(node, mode | 146); - var stream = FS.open(node, 577); - FS.write(stream, data, 0, data.length, 0, canOwn); - FS.close(stream); - FS.chmod(node, mode); - } - }, - createDevice(parent, name, input, output) { - var path = PATH.join2(typeof parent == 'string' ? parent : FS.getPath(parent), name); - var mode = FS_getMode(!!input, !!output); - FS.createDevice.major ??= 64; - var dev = FS.makedev(FS.createDevice.major++, 0); - // Create a fake device that a set of stream ops to emulate - // the old behavior. - FS.registerDevice(dev, { - open(stream) { - stream.seekable = false; - }, - close(stream) { - // flush any pending line data - if (output?.buffer?.length) { - output(10); - } - }, - read(stream, buffer, offset, length, pos /* ignored */) { - var bytesRead = 0; - for (var i = 0; i < length; i++) { - var result; - try { - result = input(); - } catch (e) { - throw new FS.ErrnoError(29); - } - if (result === undefined && bytesRead === 0) { - throw new FS.ErrnoError(6); - } - if (result === null || result === undefined) break; - bytesRead++; - buffer[offset+i] = result; - } - if (bytesRead) { - stream.node.atime = Date.now(); - } - return bytesRead; - }, - write(stream, buffer, offset, length, pos) { - for (var i = 0; i < length; i++) { - try { - output(buffer[offset+i]); - } catch (e) { - throw new FS.ErrnoError(29); - } - } - if (length) { - stream.node.mtime = stream.node.ctime = Date.now(); - } - return i; - } - }); - return FS.mkdev(path, mode, dev); - }, - forceLoadFile(obj) { - if (obj.isDevice || obj.isFolder || obj.link || obj.contents) return true; - if (typeof XMLHttpRequest != 'undefined') { - throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread."); - } else { // Command-line. - try { - obj.contents = readBinary(obj.url); - obj.usedBytes = obj.contents.length; - } catch (e) { - throw new FS.ErrnoError(29); - } - } - }, - createLazyFile(parent, name, url, canRead, canWrite) { - // Lazy chunked Uint8Array (implements get and length from Uint8Array). - // Actual getting is abstracted away for eventual reuse. - class LazyUint8Array { - lengthKnown = false; - chunks = []; // Loaded chunks. Index is the chunk number - get(idx) { - if (idx > this.length-1 || idx < 0) { - return undefined; - } - var chunkOffset = idx % this.chunkSize; - var chunkNum = (idx / this.chunkSize)|0; - return this.getter(chunkNum)[chunkOffset]; - } - setDataGetter(getter) { - this.getter = getter; - } - cacheLength() { - // Find length - var xhr = new XMLHttpRequest(); - xhr.open('HEAD', url, false); - xhr.send(null); - if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error("Couldn't load " + url + ". Status: " + xhr.status); - var datalength = Number(xhr.getResponseHeader("Content-length")); - var header; - var hasByteServing = (header = xhr.getResponseHeader("Accept-Ranges")) && header === "bytes"; - var usesGzip = (header = xhr.getResponseHeader("Content-Encoding")) && header === "gzip"; - - var chunkSize = 1024*1024; // Chunk size in bytes - - if (!hasByteServing) chunkSize = datalength; - - // Function to get a range from the remote URL. - var doXHR = (from, to) => { - if (from > to) throw new Error("invalid range (" + from + ", " + to + ") or no bytes requested!"); - if (to > datalength-1) throw new Error("only " + datalength + " bytes available! programmer error!"); - - // TODO: Use mozResponseArrayBuffer, responseStream, etc. if available. - var xhr = new XMLHttpRequest(); - xhr.open('GET', url, false); - if (datalength !== chunkSize) xhr.setRequestHeader("Range", "bytes=" + from + "-" + to); - - // Some hints to the browser that we want binary data. - xhr.responseType = 'arraybuffer'; - if (xhr.overrideMimeType) { - xhr.overrideMimeType('text/plain; charset=x-user-defined'); - } - - xhr.send(null); - if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error("Couldn't load " + url + ". Status: " + xhr.status); - if (xhr.response !== undefined) { - return new Uint8Array(/** @type{Array} */(xhr.response || [])); - } - return intArrayFromString(xhr.responseText || '', true); - }; - var lazyArray = this; - lazyArray.setDataGetter((chunkNum) => { - var start = chunkNum * chunkSize; - var end = (chunkNum+1) * chunkSize - 1; // including this byte - end = Math.min(end, datalength-1); // if datalength-1 is selected, this is the last block - if (typeof lazyArray.chunks[chunkNum] == 'undefined') { - lazyArray.chunks[chunkNum] = doXHR(start, end); - } - if (typeof lazyArray.chunks[chunkNum] == 'undefined') throw new Error('doXHR failed!'); - return lazyArray.chunks[chunkNum]; - }); - - if (usesGzip || !datalength) { - // if the server uses gzip or doesn't supply the length, we have to download the whole file to get the (uncompressed) length - chunkSize = datalength = 1; // this will force getter(0)/doXHR do download the whole file - datalength = this.getter(0).length; - chunkSize = datalength; - out("LazyFiles on gzip forces download of the whole file when length is accessed"); - } - - this._length = datalength; - this._chunkSize = chunkSize; - this.lengthKnown = true; - } - get length() { - if (!this.lengthKnown) { - this.cacheLength(); - } - return this._length; - } - get chunkSize() { - if (!this.lengthKnown) { - this.cacheLength(); - } - return this._chunkSize; - } - } - - if (typeof XMLHttpRequest != 'undefined') { - if (!ENVIRONMENT_IS_WORKER) throw 'Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc'; - var lazyArray = new LazyUint8Array(); - var properties = { isDevice: false, contents: lazyArray }; - } else { - var properties = { isDevice: false, url: url }; - } - - var node = FS.createFile(parent, name, properties, canRead, canWrite); - // This is a total hack, but I want to get this lazy file code out of the - // core of MEMFS. If we want to keep this lazy file concept I feel it should - // be its own thin LAZYFS proxying calls to MEMFS. - if (properties.contents) { - node.contents = properties.contents; - } else if (properties.url) { - node.contents = null; - node.url = properties.url; - } - // Add a function that defers querying the file size until it is asked the first time. - Object.defineProperties(node, { - usedBytes: { - get: function() { return this.contents.length; } - } - }); - // override each stream op with one that tries to force load the lazy file first - var stream_ops = {}; - var keys = Object.keys(node.stream_ops); - keys.forEach((key) => { - var fn = node.stream_ops[key]; - stream_ops[key] = (...args) => { - FS.forceLoadFile(node); - return fn(...args); - }; - }); - function writeChunks(stream, buffer, offset, length, position) { - var contents = stream.node.contents; - if (position >= contents.length) - return 0; - var size = Math.min(contents.length - position, length); - assert(size >= 0); - if (contents.slice) { // normal array - for (var i = 0; i < size; i++) { - buffer[offset + i] = contents[position + i]; - } - } else { - for (var i = 0; i < size; i++) { // LazyUint8Array from sync binary XHR - buffer[offset + i] = contents.get(position + i); - } - } - return size; - } - // use a custom read function - stream_ops.read = (stream, buffer, offset, length, position) => { - FS.forceLoadFile(node); - return writeChunks(stream, buffer, offset, length, position) - }; - // use a custom mmap function - stream_ops.mmap = (stream, length, position, prot, flags) => { - FS.forceLoadFile(node); - var ptr = mmapAlloc(length); - if (!ptr) { - throw new FS.ErrnoError(48); - } - writeChunks(stream, HEAP8, ptr, length, position); - return { ptr, allocated: true }; - }; - node.stream_ops = stream_ops; - return node; - }, - absolutePath() { - abort('FS.absolutePath has been removed; use PATH_FS.resolve instead'); - }, - createFolder() { - abort('FS.createFolder has been removed; use FS.mkdir instead'); - }, - createLink() { - abort('FS.createLink has been removed; use FS.symlink instead'); - }, - joinPath() { - abort('FS.joinPath has been removed; use PATH.join instead'); - }, - mmapAlloc() { - abort('FS.mmapAlloc has been replaced by the top level function mmapAlloc'); - }, - standardizePath() { - abort('FS.standardizePath has been removed; use PATH.normalize instead'); - }, - }; - - var SYSCALLS = { - DEFAULT_POLLMASK:5, - calculateAt(dirfd, path, allowEmpty) { - if (PATH.isAbs(path)) { - return path; - } - // relative path - var dir; - if (dirfd === -100) { - dir = FS.cwd(); - } else { - var dirstream = SYSCALLS.getStreamFromFD(dirfd); - dir = dirstream.path; - } - if (path.length == 0) { - if (!allowEmpty) { - throw new FS.ErrnoError(44);; - } - return dir; - } - return dir + '/' + path; - }, - writeStat(buf, stat) { - HEAP32[((buf)>>2)] = stat.dev; - HEAP32[(((buf)+(4))>>2)] = stat.mode; - HEAPU32[(((buf)+(8))>>2)] = stat.nlink; - HEAP32[(((buf)+(12))>>2)] = stat.uid; - HEAP32[(((buf)+(16))>>2)] = stat.gid; - HEAP32[(((buf)+(20))>>2)] = stat.rdev; - HEAP64[(((buf)+(24))>>3)] = BigInt(stat.size); - HEAP32[(((buf)+(32))>>2)] = 4096; - HEAP32[(((buf)+(36))>>2)] = stat.blocks; - var atime = stat.atime.getTime(); - var mtime = stat.mtime.getTime(); - var ctime = stat.ctime.getTime(); - HEAP64[(((buf)+(40))>>3)] = BigInt(Math.floor(atime / 1000)); - HEAPU32[(((buf)+(48))>>2)] = (atime % 1000) * 1000 * 1000; - HEAP64[(((buf)+(56))>>3)] = BigInt(Math.floor(mtime / 1000)); - HEAPU32[(((buf)+(64))>>2)] = (mtime % 1000) * 1000 * 1000; - HEAP64[(((buf)+(72))>>3)] = BigInt(Math.floor(ctime / 1000)); - HEAPU32[(((buf)+(80))>>2)] = (ctime % 1000) * 1000 * 1000; - HEAP64[(((buf)+(88))>>3)] = BigInt(stat.ino); - return 0; - }, - writeStatFs(buf, stats) { - HEAP32[(((buf)+(4))>>2)] = stats.bsize; - HEAP32[(((buf)+(40))>>2)] = stats.bsize; - HEAP32[(((buf)+(8))>>2)] = stats.blocks; - HEAP32[(((buf)+(12))>>2)] = stats.bfree; - HEAP32[(((buf)+(16))>>2)] = stats.bavail; - HEAP32[(((buf)+(20))>>2)] = stats.files; - HEAP32[(((buf)+(24))>>2)] = stats.ffree; - HEAP32[(((buf)+(28))>>2)] = stats.fsid; - HEAP32[(((buf)+(44))>>2)] = stats.flags; // ST_NOSUID - HEAP32[(((buf)+(36))>>2)] = stats.namelen; - }, - doMsync(addr, stream, len, flags, offset) { - if (!FS.isFile(stream.node.mode)) { - throw new FS.ErrnoError(43); - } - if (flags & 2) { - // MAP_PRIVATE calls need not to be synced back to underlying fs - return 0; - } - var buffer = HEAPU8.slice(addr, addr + len); - FS.msync(stream, buffer, offset, len, flags); - }, - getStreamFromFD(fd) { - var stream = FS.getStreamChecked(fd); - return stream; - }, - varargs:undefined, - getStr(ptr) { - var ret = UTF8ToString(ptr); - return ret; - }, - }; - function ___syscall_fcntl64(fd, cmd, varargs) { - SYSCALLS.varargs = varargs; - try { - - var stream = SYSCALLS.getStreamFromFD(fd); - switch (cmd) { - case 0: { - var arg = syscallGetVarargI(); - if (arg < 0) { - return -28; - } - while (FS.streams[arg]) { - arg++; - } - var newStream; - newStream = FS.dupStream(stream, arg); - return newStream.fd; - } - case 1: - case 2: - return 0; // FD_CLOEXEC makes no sense for a single process. - case 3: - return stream.flags; - case 4: { - var arg = syscallGetVarargI(); - stream.flags |= arg; - return 0; - } - case 12: { - var arg = syscallGetVarargP(); - var offset = 0; - // We're always unlocked. - HEAP16[(((arg)+(offset))>>1)] = 2; - return 0; - } - case 13: - case 14: - // Pretend that the locking is successful. These are process-level locks, - // and Emscripten programs are a single process. If we supported linking a - // filesystem between programs, we'd need to do more here. - // See https://github.com/emscripten-core/emscripten/issues/23697 - return 0; - } - return -28; - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return -e.errno; - } - } - - - function ___syscall_ioctl(fd, op, varargs) { - SYSCALLS.varargs = varargs; - try { - - var stream = SYSCALLS.getStreamFromFD(fd); - switch (op) { - case 21509: { - if (!stream.tty) return -59; - return 0; - } - case 21505: { - if (!stream.tty) return -59; - if (stream.tty.ops.ioctl_tcgets) { - var termios = stream.tty.ops.ioctl_tcgets(stream); - var argp = syscallGetVarargP(); - HEAP32[((argp)>>2)] = termios.c_iflag || 0; - HEAP32[(((argp)+(4))>>2)] = termios.c_oflag || 0; - HEAP32[(((argp)+(8))>>2)] = termios.c_cflag || 0; - HEAP32[(((argp)+(12))>>2)] = termios.c_lflag || 0; - for (var i = 0; i < 32; i++) { - HEAP8[(argp + i)+(17)] = termios.c_cc[i] || 0; - } - return 0; - } - return 0; - } - case 21510: - case 21511: - case 21512: { - if (!stream.tty) return -59; - return 0; // no-op, not actually adjusting terminal settings - } - case 21506: - case 21507: - case 21508: { - if (!stream.tty) return -59; - if (stream.tty.ops.ioctl_tcsets) { - var argp = syscallGetVarargP(); - var c_iflag = HEAP32[((argp)>>2)]; - var c_oflag = HEAP32[(((argp)+(4))>>2)]; - var c_cflag = HEAP32[(((argp)+(8))>>2)]; - var c_lflag = HEAP32[(((argp)+(12))>>2)]; - var c_cc = [] - for (var i = 0; i < 32; i++) { - c_cc.push(HEAP8[(argp + i)+(17)]); - } - return stream.tty.ops.ioctl_tcsets(stream.tty, op, { c_iflag, c_oflag, c_cflag, c_lflag, c_cc }); - } - return 0; // no-op, not actually adjusting terminal settings - } - case 21519: { - if (!stream.tty) return -59; - var argp = syscallGetVarargP(); - HEAP32[((argp)>>2)] = 0; - return 0; - } - case 21520: { - if (!stream.tty) return -59; - return -28; // not supported - } - case 21531: { - var argp = syscallGetVarargP(); - return FS.ioctl(stream, op, argp); - } - case 21523: { - // TODO: in theory we should write to the winsize struct that gets - // passed in, but for now musl doesn't read anything on it - if (!stream.tty) return -59; - if (stream.tty.ops.ioctl_tiocgwinsz) { - var winsize = stream.tty.ops.ioctl_tiocgwinsz(stream.tty); - var argp = syscallGetVarargP(); - HEAP16[((argp)>>1)] = winsize[0]; - HEAP16[(((argp)+(2))>>1)] = winsize[1]; - } - return 0; - } - case 21524: { - // TODO: technically, this ioctl call should change the window size. - // but, since emscripten doesn't have any concept of a terminal window - // yet, we'll just silently throw it away as we do TIOCGWINSZ - if (!stream.tty) return -59; - return 0; - } - case 21515: { - if (!stream.tty) return -59; - return 0; - } - default: return -28; // not supported - } - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return -e.errno; - } - } - - - function ___syscall_openat(dirfd, path, flags, varargs) { - SYSCALLS.varargs = varargs; - try { - - path = SYSCALLS.getStr(path); - path = SYSCALLS.calculateAt(dirfd, path); - var mode = varargs ? syscallGetVarargI() : 0; - return FS.open(path, flags, mode).fd; - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return -e.errno; - } - } - - function ___syscall_unlinkat(dirfd, path, flags) { - try { - - path = SYSCALLS.getStr(path); - path = SYSCALLS.calculateAt(dirfd, path); - if (flags === 0) { - FS.unlink(path); - } else if (flags === 512) { - FS.rmdir(path); - } else { - abort('Invalid flags passed to unlinkat'); - } - return 0; - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return -e.errno; - } - } - - var __abort_js = () => - abort('native code called abort()'); - - var abortOnCannotGrowMemory = (requestedSize) => { - abort(`Cannot enlarge memory arrays to size ${requestedSize} bytes (OOM). Either (1) compile with -sINITIAL_MEMORY=X with X higher than the current value ${HEAP8.length}, (2) compile with -sALLOW_MEMORY_GROWTH which allows increasing the size at runtime, or (3) if you want malloc to return NULL (0) instead of this abort, compile with -sABORTING_MALLOC=0`); - }; - var _emscripten_resize_heap = (requestedSize) => { - var oldSize = HEAPU8.length; - // With CAN_ADDRESS_2GB or MEMORY64, pointers are already unsigned. - requestedSize >>>= 0; - abortOnCannotGrowMemory(requestedSize); - }; - - - var runtimeKeepaliveCounter = 0; - var keepRuntimeAlive = () => noExitRuntime || runtimeKeepaliveCounter > 0; - var _proc_exit = (code) => { - EXITSTATUS = code; - if (!keepRuntimeAlive()) { - Module['onExit']?.(code); - ABORT = true; - } - quit_(code, new ExitStatus(code)); - }; - - - /** @suppress {duplicate } */ - /** @param {boolean|number=} implicit */ - var exitJS = (status, implicit) => { - EXITSTATUS = status; - - checkUnflushedContent(); - - // if exit() was called explicitly, warn the user if the runtime isn't actually being shut down - if (keepRuntimeAlive() && !implicit) { - var msg = `program exited (with status: ${status}), but keepRuntimeAlive() is set (counter=${runtimeKeepaliveCounter}) due to an async operation, so halting execution but not exiting the runtime or preventing further async execution (you can use emscripten_force_exit, if you want to force a true shutdown)`; - err(msg); - } - - _proc_exit(status); - }; - var _exit = exitJS; - - function _fd_close(fd) { - try { - - var stream = SYSCALLS.getStreamFromFD(fd); - FS.close(stream); - return 0; - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return e.errno; - } - } - - /** @param {number=} offset */ - var doReadv = (stream, iov, iovcnt, offset) => { - var ret = 0; - for (var i = 0; i < iovcnt; i++) { - var ptr = HEAPU32[((iov)>>2)]; - var len = HEAPU32[(((iov)+(4))>>2)]; - iov += 8; - var curr = FS.read(stream, HEAP8, ptr, len, offset); - if (curr < 0) return -1; - ret += curr; - if (curr < len) break; // nothing more to read - if (typeof offset != 'undefined') { - offset += curr; - } - } - return ret; - }; - - function _fd_read(fd, iov, iovcnt, pnum) { - try { - - var stream = SYSCALLS.getStreamFromFD(fd); - var num = doReadv(stream, iov, iovcnt); - HEAPU32[((pnum)>>2)] = num; - return 0; - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return e.errno; - } - } - - - var INT53_MAX = 9007199254740992; - - var INT53_MIN = -9007199254740992; - var bigintToI53Checked = (num) => (num < INT53_MIN || num > INT53_MAX) ? NaN : Number(num); - function _fd_seek(fd, offset, whence, newOffset) { - offset = bigintToI53Checked(offset); - - - try { - - if (isNaN(offset)) return 61; - var stream = SYSCALLS.getStreamFromFD(fd); - FS.llseek(stream, offset, whence); - HEAP64[((newOffset)>>3)] = BigInt(stream.position); - if (stream.getdents && offset === 0 && whence === 0) stream.getdents = null; // reset readdir state - return 0; - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return e.errno; - } - ; - } - - /** @param {number=} offset */ - var doWritev = (stream, iov, iovcnt, offset) => { - var ret = 0; - for (var i = 0; i < iovcnt; i++) { - var ptr = HEAPU32[((iov)>>2)]; - var len = HEAPU32[(((iov)+(4))>>2)]; - iov += 8; - var curr = FS.write(stream, HEAP8, ptr, len, offset); - if (curr < 0) return -1; - ret += curr; - if (curr < len) { - // No more space to write. - break; - } - if (typeof offset != 'undefined') { - offset += curr; - } - } - return ret; - }; - - function _fd_write(fd, iov, iovcnt, pnum) { - try { - - var stream = SYSCALLS.getStreamFromFD(fd); - var num = doWritev(stream, iov, iovcnt); - HEAPU32[((pnum)>>2)] = num; - return 0; - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return e.errno; - } - } - - - var handleException = (e) => { - // Certain exception types we do not treat as errors since they are used for - // internal control flow. - // 1. ExitStatus, which is thrown by exit() - // 2. "unwind", which is thrown by emscripten_unwind_to_js_event_loop() and others - // that wish to return to JS event loop. - if (e instanceof ExitStatus || e == 'unwind') { - return EXITSTATUS; - } - checkStackCookie(); - if (e instanceof WebAssembly.RuntimeError) { - if (_emscripten_stack_get_current() <= 0) { - err('Stack overflow detected. You can try increasing -sSTACK_SIZE (currently set to 65536)'); - } - } - quit_(1, e); - }; - - - var stringToUTF8 = (str, outPtr, maxBytesToWrite) => { - assert(typeof maxBytesToWrite == 'number', 'stringToUTF8(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!'); - return stringToUTF8Array(str, HEAPU8, outPtr, maxBytesToWrite); - }; - - var stackAlloc = (sz) => __emscripten_stack_alloc(sz); - var stringToUTF8OnStack = (str) => { - var size = lengthBytesUTF8(str) + 1; - var ret = stackAlloc(size); - stringToUTF8(str, ret, size); - return ret; - }; - - FS.createPreloadedFile = FS_createPreloadedFile; - FS.staticInit(); - // Set module methods based on EXPORTED_RUNTIME_METHODS - ; -// End JS library code - -function checkIncomingModuleAPI() { - ignoredModuleProp('fetchSettings'); -} -var wasmImports = { - /** @export */ - __syscall_fcntl64: ___syscall_fcntl64, - /** @export */ - __syscall_ioctl: ___syscall_ioctl, - /** @export */ - __syscall_openat: ___syscall_openat, - /** @export */ - __syscall_unlinkat: ___syscall_unlinkat, - /** @export */ - _abort_js: __abort_js, - /** @export */ - emscripten_resize_heap: _emscripten_resize_heap, - /** @export */ - exit: _exit, - /** @export */ - fd_close: _fd_close, - /** @export */ - fd_read: _fd_read, - /** @export */ - fd_seek: _fd_seek, - /** @export */ - fd_write: _fd_write -}; -var wasmExports; -createWasm(); -var ___wasm_call_ctors = createExportWrapper('__wasm_call_ctors', 0); -var _main = Module['_main'] = createExportWrapper('__main_argc_argv', 2); -var _strerror = createExportWrapper('strerror', 1); -var _fflush = createExportWrapper('fflush', 1); -var _emscripten_stack_init = () => (_emscripten_stack_init = wasmExports['emscripten_stack_init'])(); -var _emscripten_stack_get_free = () => (_emscripten_stack_get_free = wasmExports['emscripten_stack_get_free'])(); -var _emscripten_stack_get_base = () => (_emscripten_stack_get_base = wasmExports['emscripten_stack_get_base'])(); -var _emscripten_stack_get_end = () => (_emscripten_stack_get_end = wasmExports['emscripten_stack_get_end'])(); -var __emscripten_stack_restore = (a0) => (__emscripten_stack_restore = wasmExports['_emscripten_stack_restore'])(a0); -var __emscripten_stack_alloc = (a0) => (__emscripten_stack_alloc = wasmExports['_emscripten_stack_alloc'])(a0); -var _emscripten_stack_get_current = () => (_emscripten_stack_get_current = wasmExports['emscripten_stack_get_current'])(); - - -// include: postamble.js -// === Auto-generated postamble setup entry stuff === - -var missingLibrarySymbols = [ - 'writeI53ToI64', - 'writeI53ToI64Clamped', - 'writeI53ToI64Signaling', - 'writeI53ToU64Clamped', - 'writeI53ToU64Signaling', - 'readI53FromI64', - 'readI53FromU64', - 'convertI32PairToI53', - 'convertI32PairToI53Checked', - 'convertU32PairToI53', - 'getTempRet0', - 'setTempRet0', - 'zeroMemory', - 'getHeapMax', - 'growMemory', - 'inetPton4', - 'inetNtop4', - 'inetPton6', - 'inetNtop6', - 'readSockaddr', - 'writeSockaddr', - 'emscriptenLog', - 'readEmAsmArgs', - 'jstoi_q', - 'getExecutableName', - 'listenOnce', - 'autoResumeAudioContext', - 'getDynCaller', - 'dynCall', - 'runtimeKeepalivePush', - 'runtimeKeepalivePop', - 'callUserCallback', - 'maybeExit', - 'asmjsMangle', - 'alignMemory', - 'HandleAllocator', - 'getNativeTypeSize', - 'addOnInit', - 'addOnPostCtor', - 'addOnPreMain', - 'addOnExit', - 'STACK_SIZE', - 'STACK_ALIGN', - 'POINTER_SIZE', - 'ASSERTIONS', - 'getCFunc', - 'ccall', - 'cwrap', - 'uleb128Encode', - 'sigToWasmTypes', - 'generateFuncType', - 'convertJsFunctionToWasm', - 'getEmptyTableSlot', - 'updateTableMap', - 'getFunctionAddress', - 'addFunction', - 'removeFunction', - 'reallyNegative', - 'unSign', - 'strLen', - 'reSign', - 'formatString', - 'intArrayToString', - 'AsciiToString', - 'stringToAscii', - 'UTF16ToString', - 'stringToUTF16', - 'lengthBytesUTF16', - 'UTF32ToString', - 'stringToUTF32', - 'lengthBytesUTF32', - 'stringToNewUTF8', - 'writeArrayToMemory', - 'registerKeyEventCallback', - 'maybeCStringToJsString', - 'findEventTarget', - 'getBoundingClientRect', - 'fillMouseEventData', - 'registerMouseEventCallback', - 'registerWheelEventCallback', - 'registerUiEventCallback', - 'registerFocusEventCallback', - 'fillDeviceOrientationEventData', - 'registerDeviceOrientationEventCallback', - 'fillDeviceMotionEventData', - 'registerDeviceMotionEventCallback', - 'screenOrientation', - 'fillOrientationChangeEventData', - 'registerOrientationChangeEventCallback', - 'fillFullscreenChangeEventData', - 'registerFullscreenChangeEventCallback', - 'JSEvents_requestFullscreen', - 'JSEvents_resizeCanvasForFullscreen', - 'registerRestoreOldStyle', - 'hideEverythingExceptGivenElement', - 'restoreHiddenElements', - 'setLetterbox', - 'softFullscreenResizeWebGLRenderTarget', - 'doRequestFullscreen', - 'fillPointerlockChangeEventData', - 'registerPointerlockChangeEventCallback', - 'registerPointerlockErrorEventCallback', - 'requestPointerLock', - 'fillVisibilityChangeEventData', - 'registerVisibilityChangeEventCallback', - 'registerTouchEventCallback', - 'fillGamepadEventData', - 'registerGamepadEventCallback', - 'registerBeforeUnloadEventCallback', - 'fillBatteryEventData', - 'battery', - 'registerBatteryEventCallback', - 'setCanvasElementSize', - 'getCanvasElementSize', - 'jsStackTrace', - 'getCallstack', - 'convertPCtoSourceLocation', - 'getEnvStrings', - 'checkWasiClock', - 'wasiRightsToMuslOFlags', - 'wasiOFlagsToMuslOFlags', - 'safeSetTimeout', - 'setImmediateWrapped', - 'safeRequestAnimationFrame', - 'clearImmediateWrapped', - 'registerPostMainLoop', - 'registerPreMainLoop', - 'getPromise', - 'makePromise', - 'idsToPromises', - 'makePromiseCallback', - 'ExceptionInfo', - 'findMatchingCatch', - 'Browser_asyncPrepareDataCounter', - 'isLeapYear', - 'ydayFromDate', - 'arraySum', - 'addDays', - 'getSocketFromFD', - 'getSocketAddress', - 'FS_unlink', - 'FS_mkdirTree', - '_setNetworkCallback', - 'heapObjectForWebGLType', - 'toTypedArrayIndex', - 'webgl_enable_ANGLE_instanced_arrays', - 'webgl_enable_OES_vertex_array_object', - 'webgl_enable_WEBGL_draw_buffers', - 'webgl_enable_WEBGL_multi_draw', - 'webgl_enable_EXT_polygon_offset_clamp', - 'webgl_enable_EXT_clip_control', - 'webgl_enable_WEBGL_polygon_mode', - 'emscriptenWebGLGet', - 'computeUnpackAlignedImageSize', - 'colorChannelsInGlTextureFormat', - 'emscriptenWebGLGetTexPixelData', - 'emscriptenWebGLGetUniform', - 'webglGetUniformLocation', - 'webglPrepareUniformLocationsBeforeFirstUse', - 'webglGetLeftBracePos', - 'emscriptenWebGLGetVertexAttrib', - '__glGetActiveAttribOrUniform', - 'writeGLArray', - 'registerWebGlEventCallback', - 'runAndAbortIfError', - 'ALLOC_NORMAL', - 'ALLOC_STACK', - 'allocate', - 'writeStringToMemory', - 'writeAsciiToMemory', - 'demangle', - 'stackTrace', -]; -missingLibrarySymbols.forEach(missingLibrarySymbol) - -var unexportedSymbols = [ - 'run', - 'addRunDependency', - 'removeRunDependency', - 'out', - 'err', - 'callMain', - 'abort', - 'wasmMemory', - 'wasmExports', - 'writeStackCookie', - 'checkStackCookie', - 'INT53_MAX', - 'INT53_MIN', - 'bigintToI53Checked', - 'stackSave', - 'stackRestore', - 'stackAlloc', - 'ptrToString', - 'exitJS', - 'abortOnCannotGrowMemory', - 'ENV', - 'ERRNO_CODES', - 'strError', - 'DNS', - 'Protocols', - 'Sockets', - 'timers', - 'warnOnce', - 'readEmAsmArgsArray', - 'jstoi_s', - 'handleException', - 'keepRuntimeAlive', - 'asyncLoad', - 'mmapAlloc', - 'wasmTable', - 'noExitRuntime', - 'addOnPreRun', - 'addOnPostRun', - 'freeTableIndexes', - 'functionsInTableMap', - 'setValue', - 'getValue', - 'PATH', - 'PATH_FS', - 'UTF8Decoder', - 'UTF8ArrayToString', - 'UTF8ToString', - 'stringToUTF8Array', - 'stringToUTF8', - 'lengthBytesUTF8', - 'intArrayFromString', - 'UTF16Decoder', - 'stringToUTF8OnStack', - 'JSEvents', - 'specialHTMLTargets', - 'findCanvasEventTarget', - 'currentFullscreenStrategy', - 'restoreOldWindowedStyle', - 'UNWIND_CACHE', - 'ExitStatus', - 'doReadv', - 'doWritev', - 'initRandomFill', - 'randomFill', - 'emSetImmediate', - 'emClearImmediate_deps', - 'emClearImmediate', - 'promiseMap', - 'uncaughtExceptionCount', - 'exceptionLast', - 'exceptionCaught', - 'Browser', - 'getPreloadedImageData__data', - 'wget', - 'MONTH_DAYS_REGULAR', - 'MONTH_DAYS_LEAP', - 'MONTH_DAYS_REGULAR_CUMULATIVE', - 'MONTH_DAYS_LEAP_CUMULATIVE', - 'SYSCALLS', - 'preloadPlugins', - 'FS_createPreloadedFile', - 'FS_modeStringToFlags', - 'FS_getMode', - 'FS_stdin_getChar_buffer', - 'FS_stdin_getChar', - 'FS_createPath', - 'FS_createDevice', - 'FS_readFile', - 'FS', - 'FS_createDataFile', - 'FS_createLazyFile', - 'MEMFS', - 'TTY', - 'PIPEFS', - 'SOCKFS', - 'tempFixedLengthArray', - 'miniTempWebGLFloatBuffers', - 'miniTempWebGLIntBuffers', - 'GL', - 'AL', - 'GLUT', - 'EGL', - 'GLEW', - 'IDBStore', - 'SDL', - 'SDL_gfx', - 'allocateUTF8', - 'allocateUTF8OnStack', - 'print', - 'printErr', -]; -unexportedSymbols.forEach(unexportedRuntimeSymbol); - - - -var calledRun; - -function callMain(args = []) { - assert(runDependencies == 0, 'cannot call main when async dependencies remain! (listen on Module["onRuntimeInitialized"])'); - assert(typeof onPreRuns === 'undefined' || onPreRuns.length == 0, 'cannot call main when preRun functions remain to be called'); - - var entryFunction = _main; - - args.unshift(thisProgram); - - var argc = args.length; - var argv = stackAlloc((argc + 1) * 4); - var argv_ptr = argv; - args.forEach((arg) => { - HEAPU32[((argv_ptr)>>2)] = stringToUTF8OnStack(arg); - argv_ptr += 4; - }); - HEAPU32[((argv_ptr)>>2)] = 0; - - try { - - var ret = entryFunction(argc, argv); - - // if we're not running an evented main loop, it's time to exit - exitJS(ret, /* implicit = */ true); - return ret; - } catch (e) { - return handleException(e); - } -} - -function stackCheckInit() { - // This is normally called automatically during __wasm_call_ctors but need to - // get these values before even running any of the ctors so we call it redundantly - // here. - _emscripten_stack_init(); - // TODO(sbc): Move writeStackCookie to native to to avoid this. - writeStackCookie(); -} - -function run(args = arguments_) { - - if (runDependencies > 0) { - dependenciesFulfilled = run; - return; - } - - stackCheckInit(); - - preRun(); - - // a preRun added a dependency, run will be called later - if (runDependencies > 0) { - dependenciesFulfilled = run; - return; - } - - function doRun() { - // run may have just been called through dependencies being fulfilled just in this very frame, - // or while the async setStatus time below was happening - assert(!calledRun); - calledRun = true; - Module['calledRun'] = true; - - if (ABORT) return; - - initRuntime(); - - preMain(); - - Module['onRuntimeInitialized']?.(); - consumedModuleProp('onRuntimeInitialized'); - - var noInitialRun = Module['noInitialRun'];legacyModuleProp('noInitialRun', 'noInitialRun'); - if (!noInitialRun) callMain(args); - - postRun(); - } - - if (Module['setStatus']) { - Module['setStatus']('Running...'); - setTimeout(() => { - setTimeout(() => Module['setStatus'](''), 1); - doRun(); - }, 1); - } else - { - doRun(); - } - checkStackCookie(); -} - -function checkUnflushedContent() { - // Compiler settings do not allow exiting the runtime, so flushing - // the streams is not possible. but in ASSERTIONS mode we check - // if there was something to flush, and if so tell the user they - // should request that the runtime be exitable. - // Normally we would not even include flush() at all, but in ASSERTIONS - // builds we do so just for this check, and here we see if there is any - // content to flush, that is, we check if there would have been - // something a non-ASSERTIONS build would have not seen. - // How we flush the streams depends on whether we are in SYSCALLS_REQUIRE_FILESYSTEM=0 - // mode (which has its own special function for this; otherwise, all - // the code is inside libc) - var oldOut = out; - var oldErr = err; - var has = false; - out = err = (x) => { - has = true; - } - try { // it doesn't matter if it fails - _fflush(0); - // also flush in the JS FS layer - ['stdout', 'stderr'].forEach((name) => { - var info = FS.analyzePath('/dev/' + name); - if (!info) return; - var stream = info.object; - var rdev = stream.rdev; - var tty = TTY.ttys[rdev]; - if (tty?.output?.length) { - has = true; - } - }); - } catch(e) {} - out = oldOut; - err = oldErr; - if (has) { - warnOnce('stdio streams had content in them that was not flushed. you should set EXIT_RUNTIME to 1 (see the Emscripten FAQ), or make sure to emit a newline when you printf etc.'); - } -} - -if (Module['preInit']) { - if (typeof Module['preInit'] == 'function') Module['preInit'] = [Module['preInit']]; - while (Module['preInit'].length > 0) { - Module['preInit'].pop()(); - } -} -consumedModuleProp('preInit'); - -run(); - -// end include: postamble.js - diff --git a/thirdparty/zlib-1.3.1/build-emcmake/minigzip64.wasm b/thirdparty/zlib-1.3.1/build-emcmake/minigzip64.wasm deleted file mode 100755 index 96242792f0c9f56e3b0bbaf56a8b5585122cf40e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 201173 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%0Ao?2S1?5E*YQ-`SfyPiMH9NGLhGsd8sK!!6MI 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%0Ac*c`bUT=EJYTyz?0Zd?te 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 L-Kom37XAMK<9ii+ diff --git a/thirdparty/zlib-1.3.1/contrib/vstudio/vc10/zlib.rc b/thirdparty/zlib-1.3.1/contrib/vstudio/vc10/zlib.rc deleted file mode 100644 index 856bd11..0000000 --- a/thirdparty/zlib-1.3.1/contrib/vstudio/vc10/zlib.rc +++ /dev/null @@ -1,32 +0,0 @@ -#include - -#define IDR_VERSION1 1 -IDR_VERSION1 VERSIONINFO MOVEABLE IMPURE LOADONCALL DISCARDABLE - FILEVERSION 1, 3, 1, 0 - PRODUCTVERSION 1, 3, 1, 0 - FILEFLAGSMASK VS_FFI_FILEFLAGSMASK - FILEFLAGS 0 - FILEOS VOS_DOS_WINDOWS32 - FILETYPE VFT_DLL - FILESUBTYPE 0 // not used -BEGIN - BLOCK "StringFileInfo" - BEGIN - BLOCK "040904E4" - //language ID = U.S. English, char set = Windows, Multilingual - - BEGIN - VALUE "FileDescription", "zlib data compression and ZIP file I/O library\0" - VALUE "FileVersion", "1.3.1\0" - VALUE "InternalName", "zlib\0" - VALUE "OriginalFilename", "zlibwapi.dll\0" - VALUE "ProductName", "ZLib.DLL\0" - VALUE "Comments","DLL support by Alessandro Iacopetti & Gilles Vollant\0" - VALUE "LegalCopyright", "(C) 1995-2024 Jean-loup Gailly & Mark Adler\0" - END - END - BLOCK "VarFileInfo" - BEGIN - VALUE "Translation", 0x0409, 1252 - END -END diff --git a/thirdparty/zlib-1.3.1/contrib/vstudio/vc10/zlibvc.def b/thirdparty/zlib-1.3.1/contrib/vstudio/vc10/zlibvc.def deleted file mode 100644 index 3234a02..0000000 --- a/thirdparty/zlib-1.3.1/contrib/vstudio/vc10/zlibvc.def +++ /dev/null @@ -1,158 +0,0 @@ -LIBRARY -; zlib data compression and ZIP file I/O library - -VERSION 1.3.1 - -EXPORTS - adler32 @1 - compress @2 - crc32 @3 - deflate @4 - deflateCopy @5 - deflateEnd @6 - deflateInit2_ @7 - deflateInit_ @8 - deflateParams @9 - deflateReset @10 - deflateSetDictionary @11 - gzclose @12 - gzdopen @13 - gzerror @14 - gzflush @15 - gzopen @16 - gzread @17 - gzwrite @18 - inflate @19 - inflateEnd @20 - inflateInit2_ @21 - inflateInit_ @22 - inflateReset @23 - inflateSetDictionary @24 - inflateSync @25 - uncompress @26 - zlibVersion @27 - gzprintf @28 - gzputc @29 - gzgetc @30 - gzseek @31 - gzrewind @32 - gztell @33 - gzeof @34 - gzsetparams @35 - zError @36 - inflateSyncPoint @37 - get_crc_table @38 - compress2 @39 - gzputs @40 - gzgets @41 - inflateCopy @42 - inflateBackInit_ @43 - inflateBack @44 - inflateBackEnd @45 - compressBound @46 - deflateBound @47 - gzclearerr @48 - gzungetc @49 - zlibCompileFlags @50 - deflatePrime @51 - deflatePending @52 - - unzOpen @61 - unzClose @62 - unzGetGlobalInfo @63 - unzGetCurrentFileInfo @64 - unzGoToFirstFile @65 - unzGoToNextFile @66 - unzOpenCurrentFile @67 - unzReadCurrentFile @68 - unzOpenCurrentFile3 @69 - unztell @70 - unzeof @71 - unzCloseCurrentFile @72 - unzGetGlobalComment @73 - unzStringFileNameCompare @74 - unzLocateFile @75 - unzGetLocalExtrafield @76 - unzOpen2 @77 - unzOpenCurrentFile2 @78 - unzOpenCurrentFilePassword @79 - - zipOpen @80 - zipOpenNewFileInZip @81 - zipWriteInFileInZip @82 - zipCloseFileInZip @83 - zipClose @84 - zipOpenNewFileInZip2 @86 - zipCloseFileInZipRaw @87 - zipOpen2 @88 - zipOpenNewFileInZip3 @89 - - unzGetFilePos @100 - unzGoToFilePos @101 - - fill_win32_filefunc @110 - -; zlibwapi v1.2.4 added: - fill_win32_filefunc64 @111 - fill_win32_filefunc64A @112 - fill_win32_filefunc64W @113 - - unzOpen64 @120 - unzOpen2_64 @121 - unzGetGlobalInfo64 @122 - unzGetCurrentFileInfo64 @124 - unzGetCurrentFileZStreamPos64 @125 - unztell64 @126 - unzGetFilePos64 @127 - unzGoToFilePos64 @128 - - zipOpen64 @130 - zipOpen2_64 @131 - zipOpenNewFileInZip64 @132 - zipOpenNewFileInZip2_64 @133 - zipOpenNewFileInZip3_64 @134 - zipOpenNewFileInZip4_64 @135 - zipCloseFileInZipRaw64 @136 - -; zlib1 v1.2.4 added: - adler32_combine @140 - crc32_combine @142 - deflateSetHeader @144 - deflateTune @145 - gzbuffer @146 - gzclose_r @147 - gzclose_w @148 - gzdirect @149 - gzoffset @150 - inflateGetHeader @156 - inflateMark @157 - inflatePrime @158 - inflateReset2 @159 - inflateUndermine @160 - -; zlib1 v1.2.6 added: - gzgetc_ @161 - inflateResetKeep @163 - deflateResetKeep @164 - -; zlib1 v1.2.7 added: - gzopen_w @165 - -; zlib1 v1.2.8 added: - inflateGetDictionary @166 - gzvprintf @167 - -; zlib1 v1.2.9 added: - inflateCodesUsed @168 - inflateValidate @169 - uncompress2 @170 - gzfread @171 - gzfwrite @172 - deflateGetDictionary @173 - adler32_z @174 - crc32_z @175 - -; zlib1 v1.2.12 added: - crc32_combine_gen @176 - crc32_combine_gen64 @177 - crc32_combine_op @178 diff --git a/thirdparty/zlib-1.3.1/contrib/vstudio/vc9/zlib.rc b/thirdparty/zlib-1.3.1/contrib/vstudio/vc9/zlib.rc deleted file mode 100644 index 856bd11..0000000 --- a/thirdparty/zlib-1.3.1/contrib/vstudio/vc9/zlib.rc +++ /dev/null @@ -1,32 +0,0 @@ -#include - -#define IDR_VERSION1 1 -IDR_VERSION1 VERSIONINFO MOVEABLE IMPURE LOADONCALL DISCARDABLE - FILEVERSION 1, 3, 1, 0 - PRODUCTVERSION 1, 3, 1, 0 - FILEFLAGSMASK VS_FFI_FILEFLAGSMASK - FILEFLAGS 0 - FILEOS VOS_DOS_WINDOWS32 - FILETYPE VFT_DLL - FILESUBTYPE 0 // not used -BEGIN - BLOCK "StringFileInfo" - BEGIN - BLOCK "040904E4" - //language ID = U.S. English, char set = Windows, Multilingual - - BEGIN - VALUE "FileDescription", "zlib data compression and ZIP file I/O library\0" - VALUE "FileVersion", "1.3.1\0" - VALUE "InternalName", "zlib\0" - VALUE "OriginalFilename", "zlibwapi.dll\0" - VALUE "ProductName", "ZLib.DLL\0" - VALUE "Comments","DLL support by Alessandro Iacopetti & Gilles Vollant\0" - VALUE "LegalCopyright", "(C) 1995-2024 Jean-loup Gailly & Mark Adler\0" - END - END - BLOCK "VarFileInfo" - BEGIN - VALUE "Translation", 0x0409, 1252 - END -END diff --git a/thirdparty/zlib-1.3.1/contrib/vstudio/vc9/zlibvc.def b/thirdparty/zlib-1.3.1/contrib/vstudio/vc9/zlibvc.def deleted file mode 100644 index 3234a02..0000000 --- a/thirdparty/zlib-1.3.1/contrib/vstudio/vc9/zlibvc.def +++ /dev/null @@ -1,158 +0,0 @@ -LIBRARY -; zlib data compression and ZIP file I/O library - -VERSION 1.3.1 - -EXPORTS - adler32 @1 - compress @2 - crc32 @3 - deflate @4 - deflateCopy @5 - deflateEnd @6 - deflateInit2_ @7 - deflateInit_ @8 - deflateParams @9 - deflateReset @10 - deflateSetDictionary @11 - gzclose @12 - gzdopen @13 - gzerror @14 - gzflush @15 - gzopen @16 - gzread @17 - gzwrite @18 - inflate @19 - inflateEnd @20 - inflateInit2_ @21 - inflateInit_ @22 - inflateReset @23 - inflateSetDictionary @24 - inflateSync @25 - uncompress @26 - zlibVersion @27 - gzprintf @28 - gzputc @29 - gzgetc @30 - gzseek @31 - gzrewind @32 - gztell @33 - gzeof @34 - gzsetparams @35 - zError @36 - inflateSyncPoint @37 - get_crc_table @38 - compress2 @39 - gzputs @40 - gzgets @41 - inflateCopy @42 - inflateBackInit_ @43 - inflateBack @44 - inflateBackEnd @45 - compressBound @46 - deflateBound @47 - gzclearerr @48 - gzungetc @49 - zlibCompileFlags @50 - deflatePrime @51 - deflatePending @52 - - unzOpen @61 - unzClose @62 - unzGetGlobalInfo @63 - unzGetCurrentFileInfo @64 - unzGoToFirstFile @65 - unzGoToNextFile @66 - unzOpenCurrentFile @67 - unzReadCurrentFile @68 - unzOpenCurrentFile3 @69 - unztell @70 - unzeof @71 - unzCloseCurrentFile @72 - unzGetGlobalComment @73 - unzStringFileNameCompare @74 - unzLocateFile @75 - unzGetLocalExtrafield @76 - unzOpen2 @77 - unzOpenCurrentFile2 @78 - unzOpenCurrentFilePassword @79 - - zipOpen @80 - zipOpenNewFileInZip @81 - zipWriteInFileInZip @82 - zipCloseFileInZip @83 - zipClose @84 - zipOpenNewFileInZip2 @86 - zipCloseFileInZipRaw @87 - zipOpen2 @88 - zipOpenNewFileInZip3 @89 - - unzGetFilePos @100 - unzGoToFilePos @101 - - fill_win32_filefunc @110 - -; zlibwapi v1.2.4 added: - fill_win32_filefunc64 @111 - fill_win32_filefunc64A @112 - fill_win32_filefunc64W @113 - - unzOpen64 @120 - unzOpen2_64 @121 - unzGetGlobalInfo64 @122 - unzGetCurrentFileInfo64 @124 - unzGetCurrentFileZStreamPos64 @125 - unztell64 @126 - unzGetFilePos64 @127 - unzGoToFilePos64 @128 - - zipOpen64 @130 - zipOpen2_64 @131 - zipOpenNewFileInZip64 @132 - zipOpenNewFileInZip2_64 @133 - zipOpenNewFileInZip3_64 @134 - zipOpenNewFileInZip4_64 @135 - zipCloseFileInZipRaw64 @136 - -; zlib1 v1.2.4 added: - adler32_combine @140 - crc32_combine @142 - deflateSetHeader @144 - deflateTune @145 - gzbuffer @146 - gzclose_r @147 - gzclose_w @148 - gzdirect @149 - gzoffset @150 - inflateGetHeader @156 - inflateMark @157 - inflatePrime @158 - inflateReset2 @159 - inflateUndermine @160 - -; zlib1 v1.2.6 added: - gzgetc_ @161 - inflateResetKeep @163 - deflateResetKeep @164 - -; zlib1 v1.2.7 added: - gzopen_w @165 - -; zlib1 v1.2.8 added: - inflateGetDictionary @166 - gzvprintf @167 - -; zlib1 v1.2.9 added: - inflateCodesUsed @168 - inflateValidate @169 - uncompress2 @170 - gzfread @171 - gzfwrite @172 - deflateGetDictionary @173 - adler32_z @174 - crc32_z @175 - -; zlib1 v1.2.12 added: - crc32_combine_gen @176 - crc32_combine_gen64 @177 - crc32_combine_op @178 diff --git a/thirdparty/zlib-1.3.1/install/include/zconf.h b/thirdparty/zlib-1.3.1/install/include/zconf.h deleted file mode 100644 index cf801d3..0000000 --- a/thirdparty/zlib-1.3.1/install/include/zconf.h +++ /dev/null @@ -1,545 +0,0 @@ -/* zconf.h -- configuration of the zlib compression library - * Copyright (C) 1995-2024 Jean-loup Gailly, Mark Adler - * For conditions of distribution and use, see copyright notice in zlib.h - */ - -/* @(#) $Id$ */ - -#ifndef ZCONF_H -#define ZCONF_H -/* #undef Z_PREFIX */ -#define Z_HAVE_UNISTD_H - -/* - * If you *really* need a unique prefix for all types and library functions, - * compile with -DZ_PREFIX. The "standard" zlib should be compiled without it. - * Even better than compiling with -DZ_PREFIX would be to use configure to set - * this permanently in zconf.h using "./configure --zprefix". - */ -#ifdef Z_PREFIX /* may be set to #if 1 by ./configure */ -# define Z_PREFIX_SET - -/* all linked symbols and init macros */ -# define _dist_code z__dist_code -# define _length_code z__length_code -# define _tr_align z__tr_align -# define _tr_flush_bits z__tr_flush_bits -# define _tr_flush_block z__tr_flush_block -# define _tr_init z__tr_init -# define _tr_stored_block z__tr_stored_block -# define _tr_tally z__tr_tally -# define adler32 z_adler32 -# define adler32_combine z_adler32_combine -# define adler32_combine64 z_adler32_combine64 -# define adler32_z z_adler32_z -# ifndef Z_SOLO -# define compress z_compress -# define compress2 z_compress2 -# define compressBound z_compressBound -# endif -# define crc32 z_crc32 -# define crc32_combine z_crc32_combine -# define crc32_combine64 z_crc32_combine64 -# define crc32_combine_gen z_crc32_combine_gen -# define crc32_combine_gen64 z_crc32_combine_gen64 -# define crc32_combine_op z_crc32_combine_op -# define crc32_z z_crc32_z -# define deflate z_deflate -# define deflateBound z_deflateBound -# define deflateCopy z_deflateCopy -# define deflateEnd z_deflateEnd -# define deflateGetDictionary z_deflateGetDictionary -# define deflateInit z_deflateInit -# define deflateInit2 z_deflateInit2 -# define deflateInit2_ z_deflateInit2_ -# define deflateInit_ z_deflateInit_ -# define deflateParams z_deflateParams -# define deflatePending z_deflatePending -# define deflatePrime z_deflatePrime -# define deflateReset z_deflateReset -# define deflateResetKeep z_deflateResetKeep -# define deflateSetDictionary z_deflateSetDictionary -# define deflateSetHeader z_deflateSetHeader -# define deflateTune z_deflateTune -# define deflate_copyright z_deflate_copyright -# define get_crc_table z_get_crc_table -# ifndef Z_SOLO -# define gz_error z_gz_error -# define gz_intmax z_gz_intmax -# define gz_strwinerror z_gz_strwinerror -# define gzbuffer z_gzbuffer -# define gzclearerr z_gzclearerr -# define gzclose z_gzclose -# define gzclose_r z_gzclose_r -# define gzclose_w z_gzclose_w -# define gzdirect z_gzdirect -# define gzdopen z_gzdopen -# define gzeof z_gzeof -# define gzerror z_gzerror -# define gzflush z_gzflush -# define gzfread z_gzfread -# define gzfwrite z_gzfwrite -# define gzgetc z_gzgetc -# define gzgetc_ z_gzgetc_ -# define gzgets z_gzgets -# define gzoffset z_gzoffset -# define gzoffset64 z_gzoffset64 -# define gzopen z_gzopen -# define gzopen64 z_gzopen64 -# ifdef _WIN32 -# define gzopen_w z_gzopen_w -# endif -# define gzprintf z_gzprintf -# define gzputc z_gzputc -# define gzputs z_gzputs -# define gzread z_gzread -# define gzrewind z_gzrewind -# define gzseek z_gzseek -# define gzseek64 z_gzseek64 -# define gzsetparams z_gzsetparams -# define gztell z_gztell -# define gztell64 z_gztell64 -# define gzungetc z_gzungetc -# define gzvprintf z_gzvprintf -# define gzwrite z_gzwrite -# endif -# define inflate z_inflate -# define inflateBack z_inflateBack -# define inflateBackEnd z_inflateBackEnd -# define inflateBackInit z_inflateBackInit -# define inflateBackInit_ z_inflateBackInit_ -# define inflateCodesUsed z_inflateCodesUsed -# define inflateCopy z_inflateCopy -# define inflateEnd z_inflateEnd -# define inflateGetDictionary z_inflateGetDictionary -# define inflateGetHeader z_inflateGetHeader -# define inflateInit z_inflateInit -# define inflateInit2 z_inflateInit2 -# define inflateInit2_ z_inflateInit2_ -# define inflateInit_ z_inflateInit_ -# define inflateMark z_inflateMark -# define inflatePrime z_inflatePrime -# define inflateReset z_inflateReset -# define inflateReset2 z_inflateReset2 -# define inflateResetKeep z_inflateResetKeep -# define inflateSetDictionary z_inflateSetDictionary -# define inflateSync z_inflateSync -# define inflateSyncPoint z_inflateSyncPoint -# define inflateUndermine z_inflateUndermine -# define inflateValidate z_inflateValidate -# define inflate_copyright z_inflate_copyright -# define inflate_fast z_inflate_fast -# define inflate_table z_inflate_table -# ifndef Z_SOLO -# define uncompress z_uncompress -# define uncompress2 z_uncompress2 -# endif -# define zError z_zError -# ifndef Z_SOLO -# define zcalloc z_zcalloc -# define zcfree z_zcfree -# endif -# define zlibCompileFlags z_zlibCompileFlags -# define zlibVersion z_zlibVersion - -/* all zlib typedefs in zlib.h and zconf.h */ -# define Byte z_Byte -# define Bytef z_Bytef -# define alloc_func z_alloc_func -# define charf z_charf -# define free_func z_free_func -# ifndef Z_SOLO -# define gzFile z_gzFile -# endif -# define gz_header z_gz_header -# define gz_headerp z_gz_headerp -# define in_func z_in_func -# define intf z_intf -# define out_func z_out_func -# define uInt z_uInt -# define uIntf z_uIntf -# define uLong z_uLong -# define uLongf z_uLongf -# define voidp z_voidp -# define voidpc z_voidpc -# define voidpf z_voidpf - -/* all zlib structs in zlib.h and zconf.h */ -# define gz_header_s z_gz_header_s -# define internal_state z_internal_state - -#endif - -#if defined(__MSDOS__) && !defined(MSDOS) -# define MSDOS -#endif -#if (defined(OS_2) || defined(__OS2__)) && !defined(OS2) -# define OS2 -#endif -#if defined(_WINDOWS) && !defined(WINDOWS) -# define WINDOWS -#endif -#if defined(_WIN32) || defined(_WIN32_WCE) || defined(__WIN32__) -# ifndef WIN32 -# define WIN32 -# endif -#endif -#if (defined(MSDOS) || defined(OS2) || defined(WINDOWS)) && !defined(WIN32) -# if !defined(__GNUC__) && !defined(__FLAT__) && !defined(__386__) -# ifndef SYS16BIT -# define SYS16BIT -# endif -# endif -#endif - -/* - * Compile with -DMAXSEG_64K if the alloc function cannot allocate more - * than 64k bytes at a time (needed on systems with 16-bit int). - */ -#ifdef SYS16BIT -# define MAXSEG_64K -#endif -#ifdef MSDOS -# define UNALIGNED_OK -#endif - -#ifdef __STDC_VERSION__ -# ifndef STDC -# define STDC -# endif -# if __STDC_VERSION__ >= 199901L -# ifndef STDC99 -# define STDC99 -# endif -# endif -#endif -#if !defined(STDC) && (defined(__STDC__) || defined(__cplusplus)) -# define STDC -#endif -#if !defined(STDC) && (defined(__GNUC__) || defined(__BORLANDC__)) -# define STDC -#endif -#if !defined(STDC) && (defined(MSDOS) || defined(WINDOWS) || defined(WIN32)) -# define STDC -#endif -#if !defined(STDC) && (defined(OS2) || defined(__HOS_AIX__)) -# define STDC -#endif - -#if defined(__OS400__) && !defined(STDC) /* iSeries (formerly AS/400). */ -# define STDC -#endif - -#ifndef STDC -# ifndef const /* cannot use !defined(STDC) && !defined(const) on Mac */ -# define const /* note: need a more gentle solution here */ -# endif -#endif - -#if defined(ZLIB_CONST) && !defined(z_const) -# define z_const const -#else -# define z_const -#endif - -#ifdef Z_SOLO -# ifdef _WIN64 - typedef unsigned long long z_size_t; -# else - typedef unsigned long z_size_t; -# endif -#else -# define z_longlong long long -# if defined(NO_SIZE_T) - typedef unsigned NO_SIZE_T z_size_t; -# elif defined(STDC) -# include - typedef size_t z_size_t; -# else - typedef unsigned long z_size_t; -# endif -# undef z_longlong -#endif - -/* Maximum value for memLevel in deflateInit2 */ -#ifndef MAX_MEM_LEVEL -# ifdef MAXSEG_64K -# define MAX_MEM_LEVEL 8 -# else -# define MAX_MEM_LEVEL 9 -# endif -#endif - -/* Maximum value for windowBits in deflateInit2 and inflateInit2. - * WARNING: reducing MAX_WBITS makes minigzip unable to extract .gz files - * created by gzip. (Files created by minigzip can still be extracted by - * gzip.) - */ -#ifndef MAX_WBITS -# define MAX_WBITS 15 /* 32K LZ77 window */ -#endif - -/* The memory requirements for deflate are (in bytes): - (1 << (windowBits+2)) + (1 << (memLevel+9)) - that is: 128K for windowBits=15 + 128K for memLevel = 8 (default values) - plus a few kilobytes for small objects. For example, if you want to reduce - the default memory requirements from 256K to 128K, compile with - make CFLAGS="-O -DMAX_WBITS=14 -DMAX_MEM_LEVEL=7" - Of course this will generally degrade compression (there's no free lunch). - - The memory requirements for inflate are (in bytes) 1 << windowBits - that is, 32K for windowBits=15 (default value) plus about 7 kilobytes - for small objects. -*/ - - /* Type declarations */ - -#ifndef OF /* function prototypes */ -# ifdef STDC -# define OF(args) args -# else -# define OF(args) () -# endif -#endif - -/* The following definitions for FAR are needed only for MSDOS mixed - * model programming (small or medium model with some far allocations). - * This was tested only with MSC; for other MSDOS compilers you may have - * to define NO_MEMCPY in zutil.h. If you don't need the mixed model, - * just define FAR to be empty. - */ -#ifdef SYS16BIT -# if defined(M_I86SM) || defined(M_I86MM) - /* MSC small or medium model */ -# define SMALL_MEDIUM -# ifdef _MSC_VER -# define FAR _far -# else -# define FAR far -# endif -# endif -# if (defined(__SMALL__) || defined(__MEDIUM__)) - /* Turbo C small or medium model */ -# define SMALL_MEDIUM -# ifdef __BORLANDC__ -# define FAR _far -# else -# define FAR far -# endif -# endif -#endif - -#if defined(WINDOWS) || defined(WIN32) - /* If building or using zlib as a DLL, define ZLIB_DLL. - * This is not mandatory, but it offers a little performance increase. - */ -# ifdef ZLIB_DLL -# if defined(WIN32) && (!defined(__BORLANDC__) || (__BORLANDC__ >= 0x500)) -# ifdef ZLIB_INTERNAL -# define ZEXTERN extern __declspec(dllexport) -# else -# define ZEXTERN extern __declspec(dllimport) -# endif -# endif -# endif /* ZLIB_DLL */ - /* If building or using zlib with the WINAPI/WINAPIV calling convention, - * define ZLIB_WINAPI. - * Caution: the standard ZLIB1.DLL is NOT compiled using ZLIB_WINAPI. - */ -# ifdef ZLIB_WINAPI -# ifdef FAR -# undef FAR -# endif -# ifndef WIN32_LEAN_AND_MEAN -# define WIN32_LEAN_AND_MEAN -# endif -# include - /* No need for _export, use ZLIB.DEF instead. */ - /* For complete Windows compatibility, use WINAPI, not __stdcall. */ -# define ZEXPORT WINAPI -# ifdef WIN32 -# define ZEXPORTVA WINAPIV -# else -# define ZEXPORTVA FAR CDECL -# endif -# endif -#endif - -#if defined (__BEOS__) -# ifdef ZLIB_DLL -# ifdef ZLIB_INTERNAL -# define ZEXPORT __declspec(dllexport) -# define ZEXPORTVA __declspec(dllexport) -# else -# define ZEXPORT __declspec(dllimport) -# define ZEXPORTVA __declspec(dllimport) -# endif -# endif -#endif - -#ifndef ZEXTERN -# define ZEXTERN extern -#endif -#ifndef ZEXPORT -# define ZEXPORT -#endif -#ifndef ZEXPORTVA -# define ZEXPORTVA -#endif - -#ifndef FAR -# define FAR -#endif - -#if !defined(__MACTYPES__) -typedef unsigned char Byte; /* 8 bits */ -#endif -typedef unsigned int uInt; /* 16 bits or more */ -typedef unsigned long uLong; /* 32 bits or more */ - -#ifdef SMALL_MEDIUM - /* Borland C/C++ and some old MSC versions ignore FAR inside typedef */ -# define Bytef Byte FAR -#else - typedef Byte FAR Bytef; -#endif -typedef char FAR charf; -typedef int FAR intf; -typedef uInt FAR uIntf; -typedef uLong FAR uLongf; - -#ifdef STDC - typedef void const *voidpc; - typedef void FAR *voidpf; - typedef void *voidp; -#else - typedef Byte const *voidpc; - typedef Byte FAR *voidpf; - typedef Byte *voidp; -#endif - -#if !defined(Z_U4) && !defined(Z_SOLO) && defined(STDC) -# include -# if (UINT_MAX == 0xffffffffUL) -# define Z_U4 unsigned -# elif (ULONG_MAX == 0xffffffffUL) -# define Z_U4 unsigned long -# elif (USHRT_MAX == 0xffffffffUL) -# define Z_U4 unsigned short -# endif -#endif - -#ifdef Z_U4 - typedef Z_U4 z_crc_t; -#else - typedef unsigned long z_crc_t; -#endif - -#ifdef HAVE_UNISTD_H /* may be set to #if 1 by ./configure */ -# define Z_HAVE_UNISTD_H -#endif - -#ifdef HAVE_STDARG_H /* may be set to #if 1 by ./configure */ -# define Z_HAVE_STDARG_H -#endif - -#ifdef STDC -# ifndef Z_SOLO -# include /* for off_t */ -# endif -#endif - -#if defined(STDC) || defined(Z_HAVE_STDARG_H) -# ifndef Z_SOLO -# include /* for va_list */ -# endif -#endif - -#ifdef _WIN32 -# ifndef Z_SOLO -# include /* for wchar_t */ -# endif -#endif - -/* a little trick to accommodate both "#define _LARGEFILE64_SOURCE" and - * "#define _LARGEFILE64_SOURCE 1" as requesting 64-bit operations, (even - * though the former does not conform to the LFS document), but considering - * both "#undef _LARGEFILE64_SOURCE" and "#define _LARGEFILE64_SOURCE 0" as - * equivalently requesting no 64-bit operations - */ -#if defined(_LARGEFILE64_SOURCE) && -_LARGEFILE64_SOURCE - -1 == 1 -# undef _LARGEFILE64_SOURCE -#endif - -#ifndef Z_HAVE_UNISTD_H -# ifdef __WATCOMC__ -# define Z_HAVE_UNISTD_H -# endif -#endif -#ifndef Z_HAVE_UNISTD_H -# if defined(_LARGEFILE64_SOURCE) && !defined(_WIN32) -# define Z_HAVE_UNISTD_H -# endif -#endif -#ifndef Z_SOLO -# if defined(Z_HAVE_UNISTD_H) -# include /* for SEEK_*, off_t, and _LFS64_LARGEFILE */ -# ifdef VMS -# include /* for off_t */ -# endif -# ifndef z_off_t -# define z_off_t off_t -# endif -# endif -#endif - -#if defined(_LFS64_LARGEFILE) && _LFS64_LARGEFILE-0 -# define Z_LFS64 -#endif - -#if defined(_LARGEFILE64_SOURCE) && defined(Z_LFS64) -# define Z_LARGE64 -#endif - -#if defined(_FILE_OFFSET_BITS) && _FILE_OFFSET_BITS-0 == 64 && defined(Z_LFS64) -# define Z_WANT64 -#endif - -#if !defined(SEEK_SET) && !defined(Z_SOLO) -# define SEEK_SET 0 /* Seek from beginning of file. */ -# define SEEK_CUR 1 /* Seek from current position. */ -# define SEEK_END 2 /* Set file pointer to EOF plus "offset" */ -#endif - -#ifndef z_off_t -# define z_off_t long -#endif - -#if !defined(_WIN32) && defined(Z_LARGE64) -# define z_off64_t off64_t -#else -# if defined(_WIN32) && !defined(__GNUC__) -# define z_off64_t __int64 -# else -# define z_off64_t z_off_t -# endif -#endif - -/* MVS linker does not support external names larger than 8 bytes */ -#if defined(__MVS__) - #pragma map(deflateInit_,"DEIN") - #pragma map(deflateInit2_,"DEIN2") - #pragma map(deflateEnd,"DEEND") - #pragma map(deflateBound,"DEBND") - #pragma map(inflateInit_,"ININ") - #pragma map(inflateInit2_,"ININ2") - #pragma map(inflateEnd,"INEND") - #pragma map(inflateSync,"INSY") - #pragma map(inflateSetDictionary,"INSEDI") - #pragma map(compressBound,"CMBND") - #pragma map(inflate_table,"INTABL") - #pragma map(inflate_fast,"INFA") - #pragma map(inflate_copyright,"INCOPY") -#endif - -#endif /* ZCONF_H */ diff --git a/thirdparty/zlib-1.3.1/install/lib/libz.a b/thirdparty/zlib-1.3.1/install/lib/libz.a deleted file mode 100644 index 7019d4940215f52f899b10abe659598c50d3c7b2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 242940 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

    -#~NNiWJpS-ddY*(mKQ)etLQYjX2UB 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 diff --git a/thirdparty/zlib-1.3.1/install/share/pkgconfig/zlib.pc b/thirdparty/zlib-1.3.1/install/share/pkgconfig/zlib.pc deleted file mode 100644 index 78e0117..0000000 --- a/thirdparty/zlib-1.3.1/install/share/pkgconfig/zlib.pc +++ /dev/null @@ -1,13 +0,0 @@ -prefix=/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/install -exec_prefix=/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/install -libdir=/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/install/lib -sharedlibdir=/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/install/lib -includedir=/home/romazan/Рабочий стол/cproject/thirdparty/zlib-1.3.1/install/include - -Name: zlib -Description: zlib compression library -Version: 1.3.1 - -Requires: -Libs: -L${libdir} -L${sharedlibdir} -lz -Cflags: -I${includedir}

    2Vlss}S1ufqA zvYiyEk#rQPiX63pf+iL$8zdIkwb!55gcZsK)@mRD zSl1l*SK2Yo;m?Dmx)<}CU5(3^TGwb)6VJ66dEjcqiEGsLHF?+JCLCU%a?Mc|5g^y7 z@)mEfuCWBq+9gWmMs7!ENQ-b1(Bq&m&n!aG&+U5ON`@1nH_MDzps_-7LxU&s!-@NF5@Ys%L^OQ_<*L)9IAxpzlz9aC=8Uk9CnTLC(_AftM%+$d zMAFf@PbSNWj>zCXt@wz_qnXx zQvZ2P=@$|>?iUp!(S0FtUqqtSX&0vSOG+e{Pbr}h6NN^6G$A%(O|cQ1iH;ana~Q!_ z;|RVMM)38-eJyccr|dVBR&KlhrsbXcX0pS^hDx* zoVX__`4e^YlWYpk@IQ?d|17ldWa567kUOsCf1bFXL-A9VSnjDLLco6!i$Be$_UJD~ z&aXnu#2?ze~?i>dpJ{v>@|pZ~oG{X^n@ zpSVBJ#ves!NFHaK>RBa^%U{KxRQS1sv~eVmtNB0EHrd?(P6912wH?Br5Ia~PutWV4TL}LFpA$gqI_*ZP>`Gl-;YTos zM>-0wN!>N6$hU1})ZIwKH;K%f>SW%W zqGEYVN|m>!?&j3JC3SBdMCL82yQNO%t!nMI)ZLo8+i2}}^?7?Flf#N;-lj)y6B#0R zjlUyxcc73i__s&;-;ug^K>u8Sr+U3Bb^LH=>h4OTs_h7b*`$hl#b^5nit84r_Q}<5m=3S}d*}Kx9`43a}KiCUs52xk#+YR6mwf5Q6J(9Z5(%R=l+vn2k=>L4`J|BD5R88|= zNZl9G7@3{Gv#R{1)O|5^U!wA(BIQvdB^=00{FhVrWm}D3(QjYjMl!dz;J>ObU**d} zyO^?*=lZXu{P6YEeJyogPmlB8P}AQ`-8WMAO`85z>b}K{i8Xy&mA_3dF7VHqriXY=!Mk1U=;@Nh!k76xaclMwGTtJ z2h;qP_`}ws+sY3me`%4nE-SiAi|(=_dZ;24UQu+H7u^-bet)GEU+Uka$5$0uT5m2w z^VLOnRnc8d`D^s`+M=W2wS2v<=;)fx=;xZEdvnq8YudQ~jfa_!fC zRld*H`<%~bW|9r+eSCj^{BYyUd_Jd__j#Y!yWNz!o6;yny*Y*2zbSP$r|wPZkiSJ4 z-<-Nz2xv^kTT@$ax02bIl-2$=D%1qsp2{R4^>?K1_SD^xZt!<1>yFgjnYtZhy(?tB zOIhI;NP2hb?oRzZX}nf1_xBRlI34wGN!?rYyzK5t{ae#&ryot-TZw0!4*UD!XuU0U zZ%d;j_wA|BpLeA0?L;o7ru$PzvisBX{R8UEzY!%lb^QMWX*jj4zWIfH{5#dc2UGXX z)ICVPhiIXDsL{1|rS4tXu)I5k^1X*x#>6gWSl+9g?@Qf#Q};e{KAgIT8~GlIL-PJO zBp*oK`&0J;hUA0F_93Dbr|v^!`*0YN4>yM7(bPSf`j0e*^_qE zk7`JsNZm(M_XI=oF)go;6PY-5AE(csP@g}UI$FX1e zvHxP~`1?Y-*?&nXzC?<}2E5v0`7+N$2)~lLuV8lE>A#vfo_#f4>%XQJd_8qvOWoIL z!8gJXeIwO+6M_4tcF4C<_s!IOixK^ICI5En{ylZyCi#D)?mrmKK+{+I?`SN(o1#4W zJ)#w-?z^e`UL26n`=?X)bnJa-(f3pL{Wv}p`~#K#!_@sCbw8x^AE_%pvf&6dZ1Vq^ zy8pCI{$tI;Pg3{e)cu5{Kh;|LX|^Wj`JZWb|5xgMmb(99)Bjur{~~oiPu(v_{manH zUpCVJDs{g~W2A&%EAekq_v_UChQz;BD}GBWOsZ%!=)Y6<-$sLem%87j@tFU;(*2%+ zw~-@)u}1EXsry6f{s>9i(3vKU3;o)Zo8l4Os2}$EIkL|7+_0YDNEzh{mb= zTiVQy{5^GlZ;aM6DsgMcJp+X*)%~T|tGP={jl~0rG!wQH{5Ifv@b<-idwg&if@>ZO z_{&RUdQ{_ zm*~msOBsQBLy0wTO$qk(T140-cTLG%TWYYc^Za$hEGR`8wynxHmfRalIX`>7O247x zt}nS8DE&s&exvm&;#c$hO(l0zO9?kyx7K?ELj2uaI?Q}Y+@g}+TynRR+?y%sR+V(C zO0s^u+~216x0l>)2(fv8M@i7>ol13QspfZ-+>TNoM1E_*-BIc;|7hwO0kv|VkOKY+ zcoirs7rEJ|p6R_nUp)(-@**#gxt)ALSypKT{wj?WYP0VGd^6B@0?(B%`z^3H{7y_6 zS731l9CvK#r0fpfM_ux?`e5S6R=mAe+EiS}cIcDi8%e%Yp%J(@bZ;NAPNSr?Lm_R( ziC~OpEt@6b+7@xUolcq27OBx7?=Q-)V?`fG+-Ik&q<-rrFG{ykqZMf)U#UI^k*}Mg zL{mvLby0d{!f8QW(KYGTgzvq)Lfz>~dtnA!i&DkGFb)wVyldrnAQX+$Ikk2gB9Ce7 z{dDHH5jzVq6;nBfbz#AK7c$RuGe`Y?kQ1{_8ut4;-|BTv?dwuV1BL1u~4#cYO@Gs#K@AQxqo?#igiV@B%|V zUMS_II^x|IJpgRG)}4j}@4*>mfKofOhHX_1;nBNbe91_p&@q*m5m(wJ;DtkoA(Ha z9m+x3w@9D0B|uHcdS5mUZ%YD){&r!qps^c-!Ga&`iooU^x8QJ$_qXz^F{u)ej-UmvT5RC@>70|UVw3T#^BS^!s|*U!`4FOZeYUr^?7`2l_XVgmBo7}^Hv`W3w>gUAYS?F4WY z()u;p{q>~U4%`ar3cz|kh$}<)Ekkwr|8GX{n0^4awt>0U1igMc0d@s+%}4G#dikB5 zMh@KdyEYEr%lh=RAlOkLSVry#iTl1#)nWfb;jwofPp$CFx$*m9o z%h#VIF}e{5E038S!(NpG*foqBXzS0Z;}@#qmqK2_T!%eiD=B_O9RRGqwmJY?`4eo5 z4Tu#6==xiG1<)D_16}C6O;CZ@O8dn(D6SgckYv|Hd#js_;QUO`725fq* z@C-0j0M^%mXS}{>>+1E&9M+YAsvxS3b#<)})KLMc*A;nD251$Q+L>di!(gfES(gVk z4WorH&&|D%*oxF;cJOEWgR0|$-eC>a)4W`%l~u(cwcx** zwK^^>a2r{gB#jeku1K3i7Y%8l=z^llNw}comkYO>yM-8a=o}{Dx>=aB2if(tM+smD z0z*@lTECk)vOUqoMwn3TV1k-mTgisPoW^CQmtDGKR35U8jn@(j4+3G?y>m%k+8smc zQQ>%%^J=QJ09jG%r4d$08p+%y+}?s(EY&nLg@eiJTUD!FIXbaom&G3z>`MwKgmm04 zqU_ikw>r}WD+|5t4AUD;UV1&ImND%Cmew4o%ju-0Ma$In)80@n+Eg*^TuaN0yLokK zo;<*uTL$xBvIq&QH5eafF~h-@;SedF)KR8d@PJJF)EZPv+(IJKgbcV|s@!ZNDqkjO zoj!o-l%>Oai90-6w)J`(F2!_MvP+xf0WKbvZkb!=j*3=pom@5ArrWdBr?mL=UFugI+?sXEm3@yErrhS}y%wtc^XrzJa{JY7 zcoP5Q6kFewzY_Dw-$JM5%~ZK|{q!-9^66i$INe_5AT^H*XG=LMHo8+*+3=m6x=F*Y zc51!D*W#~Fw>Un5Ahzq1xaC{%rTi4C=&8smzO=_`yTz|M3|!AH^`sjV>fQ+WZV;_ zLJJLoy7hMBy?P-zrg2sGd)tw>HwRvk9nmRoAh#JCMHv;JyH;GuR*>B`TcPe9WY>wh zk%ptl^JXR+Wj}2NtX=JT%CkO->&uH%OZRU+O3X9Jh8FTixoBQz<<8;wpIe;@`J1E7 zke553a&g5So2haS99$f%k47Mh3_>qNF^q-niV=3jfLpMkp@H3qBNzLy2)eYGQ~Yp; zGY~YbvOX-Kt|cvX9T7`51?^L~mp2EVr31^X18UWBT2*z+U3G+w5t?&!oGNszDx)^X z$8a$}W`rC0pc^`Q7v*dl3KrLK%D)&rt5A%^p54sFTrp>ZZVTgoB5gf!NnuYBz_0?I z8?woH%o<#?u6AqUb#g6F%n|D<9CarsYU8H6?l;i<4UO@CUM%HgbgfQ~7E=kDSDlK= z%;>`eglbNyK33ow-x)(Qqp2Mh#)}w$)7&ZUH1phWyY=^UlAW&YL<{UnKjdFb3(VrE z?$4kFXV3zkoJqnnV?F$QDL-FI=d4afG+WiITaHIG)z^kQc_T+A#1h3t7e?FPckC~{5>wJJSC1V?=6*%wC zcL?vf-^cBG5ic(i8Kw8z6Q5hZ*8M9f(#(~Zz5%ZMHkoFzG~!1FyMo2i2pU^qdbjAa zS6bTA)f(ZxZz|erx%1P8ZB2%+C}=ghcbP6Qm+OvmMO4$4v68Li(8(*6{i-BbEGcF! z&AK`(fUaEGa(b{V58gK!ovVrvOP=Xz>J1(~Wt^^1nzPwv6@8)H{CaNFxE`7Qj zMp*kSFhbZFQKO4J0Df>^gbhGd`v|=ZYaa!6!B3N z@zJIto)8WZ2SYP)F_1*_NdqkLF(DHhgiD~fU_ittDd|Z{qO2#aJIePdYS$M1w15iG zi4hMfVI@9gz`#?edwo`AfJ6XKe2y}JB|cAE0?lQqq77C;8;qs;rKl1H^biJwd|y`g zzTD`Zmd{sWrC&|ZHpt+Ktx^f&&DUu)Dq)Ef!oVtmLKtoSR@Q&2L@#U#;6$}7Yyz|b zoC1U*JHkLHIzcF!*7}>!Vh}>1o_;TkRJVWHu!yJ8$OEK6SQkNxIv|Axi7J1XRY`us zE0iC+!bS{?g0DX&`%jepr=~OZQ^v<|ia0!E1dI4D)57|BRxvom&xKa31+*Y1cm?3a zugLjp&GWCDDh0IojphBVReG@pi{R^jll6DX3P|xgK^1i&7Jo<@l>%G*k&OMI7OacZ z|5@M#Dqm{>F31O70f6y8dGL6<8ZXoV?%)lmbZ$}8V)z$UJ;oZu8x>2me2 zwLleQeZ9a6RJ_n-kjhu1%4?+cr5n$+MY|DzQGixlS6ull%3h&Lkct~ECu&|i=@eGM z*PF@uCRKThl)X^y0+yA6SEEX>iCf7y4LHK8%)p41fDz=&Fo-%B1j<~J(S!;?Bkr<% zcUy(T36F|hD|c1wGPSOJdyNW8xv$9e_id)p1qSi9h^J5?z(Xg%L+e^^QS8!1&KB$g zRx{)MZ_?^Q)5~b1h`>9uHxHU7*E@Lw3$B@XD0_pB7k>}&hVwzo0u`^&v-e2X3ym*3 z95j^g&ECAvl)TN zU>`V5rcvWgZgG}uM8W({A?Te3^g?=bm8@)L8@icm`~)uY#-cWSB(3rxo>_=GWyMV4 zK(SJ$!d{pM^2pc839a0aGca~z8EUZ+QRG5k4?N>D`MEFW#fnn(N>*VM}H@*{$b!fiQ&jdXL? zja)Z%eV>#quN0JbY;iO4FhB`_7j=&0~vCF6QSw<`cHwFr+J zI@tDhy>9Oj?!@*GxKBysM|k@BG4H}wyXWkm$*Dkk4w$;TleP&OosNS+6v!kJ-c6c1a>i`ryfgmMTW61rP%yUhA>`m(&{tFGF|FmElm zW!>e+JEj~SS5CHqWa5^67Z90!@61+EYv|5cR!J}nSW8$zC3P1=O-1r-x3k7@n>q`K zS0xtEIK3KguS}Pr4(ihBx>kWVCafCl*6O}n8h!V1cDC*TTdu3o^9ip_io3XM58lWy{0uzq3D<%omH?9b=9*09I%{k<}%?Y++P>ZlDkL>7tc_h)eE} z2y0uHzznss7KW^Ou$qNCM=7(RJ3MPVsG;`p5g`{?p?)3dj&Mh=_06s=-SR94>qL8f zFysIw)UOpFA1l_j&?LEG=j^kNta7UqPW@OLhs=K^S6qWY>i#)Q=5xRcwt#+=6nmyi zWZ!a{qC&6yuUNa~gGDbogUhd88Ln&Ln94#gDhq4f`j!49)=K7y9Y5?@E6nN)U+jZ1 z`1o2sR@`wb{YCCY8VFpjsPxm_>H4)13}oZl7NoDhk-1 z*QKGrXoQyIT15%Z31wqlreEixuyF2L|8laJVObp@1N(EE>hl?t^TVL%l)QkS7x2?Y z2yZKFVY5Q7p`LJ2+;+p=?*b|lv~Y8BMPWT|#1kqvb^mR1z(zh5t7heGTtS8BoS zP3Z)|h^j{+8{Vip_QO(^sD{Z1Jc~s)1Qu@k-Dcl8WcV!cPoD|#R*IIsgYQ7ZBYQMR z$Ftga9}ZK)L?BS2`=$uB8^0I4wxF#rL&DE253VmXhw>b0a;24iB7md7L|} zskyK_!T;mrhXd_6qlI?Z@{{xWkW`MI6z7;yIcgr3uSbvDMkGs(VKk?YFKOXwtP~5g zVHG;Ed*>e(KjUVe0Syu0x}WQVf>_cJyH#zo01% z__<{_7iwZ7fR~H89D4_aUx*y$as(*?#KCuojA&pX9(uUY&3A{~9YhX0g4MPn+|bre zIl53vL=JOVuYy<)zYA3-dx*4QE*oSiB8a7Dw45*2i)CTc_HxuLSLSM?t!BCU5`Q!u zH|?gn$9I!$71cS^NVwABu4&^gwyW7JoAGK1f@1A4<5gj)*7E0uhbTK~ov(2xf}*Z* zCrrX=$<_k@IPxr=(UM-#61Vp7v>*LoD+~vMLeWoRu8gRx^v|QUhNss3^I1U8k3>mP z4^f7yfTCJP^AuQ+%L@%0Bt;*BQBQNHPTH1N?oX$T(JFf)=t|5Gx^1ts$ z&p+Rho|cYC@coZE62t#Cb;Mk`cSUv?W*OHMV|L_?X&d6V5z*es|9G(=CexJY#`bKB zh1cVl`*Av*!n#qcaa<0SywpC1jxlQzTVknO*nVWbxc!`zXI!S>o;Dl_`Qp@DVJv4XT8`sP=T1e^X5I z0BisB{eb2^>meT_v&S`Oq{9yRX>_V9`cUO*iFK#&Tih8|qC}E##oXETu%*fa{V75P zXvVNsoa?zzJ<&?FL@c|?Z=;thtC3S*kcO}xyJQaevApP8(iw2NnWL-fL?o?-U+8if zZ*hvNRdTqv>Ou!t`^d88sD_4_JkiNx#`n!)m-mxx=je7{FLo%hqTFgq)Sh3@c29+~ zz3xgeZa^D`Z&BlX8)451ffTRtyHVTGwlqo%hqb#AcjoHZ_F5jfW{>FWxaC$)1a@6v zi;`XK$-gXK4I65&c;U8EEbs+Qn^v97?#6wNc6j9uyChj~#YHJZW_F6|2dPY>XKfI2 zYvA#yNrC&>ojBEcMt6gkVqTSbESHa?JFq>6u6g@7Lo6-igwYx9T;~1*lE7k-;HkIPDxPXk>UKFpT zOBBX@9h&>R=Hj)!Eo7^$VTM@B196xg1Ix%dzYe%0VMNgzh;h3EQ6wy&+rPQA14w52 zGsF_1;EZTSDj6a|5GB3_TrxKf{Os=XrD@wV2EGXBkPrMnASRl8+eCm38vmR^t{j^} zhQxBjX-5{U4C5d8hu|tFz%5&#AtgD>vGKPG(C1JHj>+_F%#c?(4dLjbcw5dj#(pvo zsQm7S7?@e{(F0VYczi%<4Vwy6brPdJ9nXdM%ZXFqnSz;G(Chquw4iZ!aJo6bP-a9U zrz*LkT9|^_^d}rt^oFSEto^w>+S!reFN@=(pCiA$((MuUlOI;Q1E%pp3MOgNSAc1V z7{36fg#`mlTSUEnWmi|;P|72MNgJA#up+MmO`*HtQMm-xmMqL<+jXH6i!r<=}2HfpcxzUDvZ-#^xIR?g6>mNs7=OR>6GBq+wP@;vvbRFTAnerT*+5vo3blQ;x2I>5~$ zqM|Jqy;8K&*_E5r9*UVmiE|o@pp)G}no7{-Jghhne$6MP>2#uu%~x={%14Y@i0{p- zq={yU^Og4b<}{}8kcQbT!z)jY4YLj2nZZobtzw$*1+qy zcUvSQ(TZj6NEs9rpxDcKZ_w@%ePBnV_lih!H1FfOuJ{$yWYML~rl|5Eb=}ryMaD%j zf|RuhA%nKsvDNLmYoX9|oWq}TsA&vCTaJ?biPA1&JaXVS}&!unA&HH9o z@d06YVW2~g2b*QMNWGwn8HC=tCuw+3CQW}hHk&*^9UC!sYp5-dN z8Ku={Q1cychhQeV5k*jE+ZvsHEMC`k>Fwgs+W|i4?Yz+2{_2yuICR9_L+4#*I2N9b zBr^=w;plLivFY;@p`Zq-Ny=(ZDm<~PwuRBPBa$a}L`p_$X?iHi^tMG*?a5T07>go# zlRfDrmjU!5wf1Cho)~q|hO#Hdq=^3$>9Z#@NMkIwq@&E`fX|tgH9IjYEKEgPWw%Jv z_eO9TvD#J&E)&hII*sb*?$a8hmppg zaA!+p>u33(47#ZtLVJxQ#C>V+7KWA|N;#R-=S{Zenq@w;LSVktx`bMfAhmF~BizzR z)2uAyj5$p^ibfozMik3byNq9u3xyb7&e!G47hkJ<}G4#UHg7=R?CGbV75cI>SJmP7+23a^krk~HDd?O2McJeDnU*uU%gvm-< z8%hI^8%4vh6f_)%+4pPXz87n!I42ffb!bdSayBq8gg1B*=}d>woz^@sVEg&NY^2km zZ%ez{Vgp_r8i3o`QJl`o=j<8o%wg0RU+i95lLI+5U{jb$=`QlCrYse77tbEW60sC4 z5r@I|Ywp|{N{cUdo8oF;4AO6-1=2t2&nN8#4%f27=qH{R{ikcRE(*nCa;V}j4#mIH zy>b+f>GB_o$Mj)8;x2Y0H93uy@**2WIWGx0bEoN{wo7Glh+R&CFmYSdLc}g7K}ius zMC@`*?eG#7Vwi->nOe>N74j83iho#Yy($Unhr@CVOM9__}07 znuhII7{-QGFf@cWx>kyYm>G`9DO@{xg{(G)T~)nN?=!u^5m_6yV{OR7G}9T9RHSBT z>-r{nhQkIiQipjc85-2&Ae4ghP)|bsVK*AR-9=V zqH}0OOR4UNFHEgaJ9S5Va94sVp;Fu}JH%1c2N}=-JS{-BM?i-3;!lmKK>Up2kxoHue)e64eOc=lYl@BYK7%SYZ1ukMKn^H_PqsX02~= z{O;z6_E{m^S+zsw1=Ima?kGnG6pJU1XaALxAnu}ciL9TG2Ky_=8G5o9mK zvDYb}fC5%7CLhXzy+=G@>?v{>Ek`*NHJ&M?g+&ZMWh`njFD;Z|U`x8opWE|!x>88L zNKAzmiauq&Ax1*K#enEj3rFenJX}3O+9KGJo=aCrd9yT)bXoe4KfAVsw8cvfB#+8( zZbSIqNFNv_m7jBQxP7pNxeH@+277}Yb2=X=Kb_16Y}|V7<}<{`DcbF7{aVjebB}P< zY&de&3VOExxz33_9i7DqrM7Z+Ass)dt1@xiIZ*s#a?=$gH%9 zDOygNy~&Re)TXYiUFa}KaR3%qK5nOn)?`7@ZZRHW-|&!)p&)*0qUW0Ghj!wQj5nf* z`%}gKSrsbOSftf#iCJn8K$(I(8}GMT7brb6)fe5EY%t)E^pJhw=3=l#vk#=q16AfE z@gWEC>mdEoDWK6qP^nI^W8x*jp0aaP%z}_+A=)qtbPcn2fm5>3unQ@15hX5Ci739< zdu!h5>=_%DB~EeZmsGxNcbOwd%&lru*Tk3@T?kd5Gftt1quf!dewka=+$iLlVcSt_ zm4d1&XaWUkqy`6jxpNULt(9wnNWwSSA-furk;#ZQ3#f15)1Moa-9{Pq<0$O7tT2Vy zIzBYx1g>o6(V+$>b>i$o0gn#HyXP({=vKIzud8b&=;VW2mENyI`aE@r3}Sc4i^yatb8b7v*i6Dl&bY%4A+1d zE)C4tp{jG>v+&wmd9y9@myzdX$}>Lp7)C0$ywg z?Ft!(47&^K{vu}VqOf6KLGo8LmwU0hSR({m)>syD>}$h^kAL?n7Ad1NLdFqg92Xk| z$ENj!o8Lyp)xOD51bdTwFm3IyZOTamR4es0;@wm!Oq`7XES!xt44fr^FXI(Yd4SW1 zTWv&)i-U=Sf4g67Ts!Ud*t$$F_3yV+DEsZO8X-&ExrZi+?bB{^cei2Js=ie2AC0o#@HkPUz)Q zxt?gp4y1Jt3Eq7&0q1^Fett3O&^srCj&@8rYFKnYzCI(H4)+;*H_bn#cTe#Si;j-m zqC@$5W!2G+T}Msk9POBMxG%`V1n+qKZXSOrskX_O0~-%nbBK0+MOnVWJKRi^ayt&a zGxxsjm~sf>D$3_8iIrf!$>UUerUcM(A5BEI`NS;op>HBg);l7WR!w(YZ(GSeZ!Ito2W#FMi zzi4URFQbc!4VZk;ykE=c19Oi$zJO`oZyL?}t(y1WYToany$5CA|H0E!O#{69b<{53r zt>zB+8E(G~e-4)xspnF-$xV_O*xigX9@zy`k`jn0H- zZvT*|;137|nWS>(>t2>-ZY*e?!>V}$fL{_M0Cl1N+zIKmkmLa%xr3SQLmVMfxb$UG zsRg9B8(*CpAD+dskanA+rmKjZ z7@BlEg#i5v&wUo?-;>qdkZ| zPQd9I?*ZQq2WWTMHM@~sGd%OWDO`~w5I*K(l^`muvty_ z)yj0$>0_wE6i_2*lZ3QUW}gB5^?p)cG)wMGfNt>wYxa}>t| zDR>MUbeMbRY&YK`zG(#?1hRk7X0DiRZa{n;S#USN;F;yc8sEG!`SyMaYxm3Z4{wePEO(MMkC~2psK9+ z-B4CE>PLas3HRn!xMPOdh&UCf1vh`4VF&iI1Gyz`W)HUMddOsoII{~iP__d%j46Dx zfnUuDH0BPZFhp*Rfj7n10{28~*9OQm`_DaZBy7ET{`t)EDO?**#yi0C<3c-?LQV}r zz!$hv-3x|V_8vod8be7w+k#nT8vKo##4a>mU#zh(mw-}sJ!2GqfF%%jE`!6|318yQ zs)4v~avS6M5rblPNyT2%e|9K`*rgh2wChLl7LWqG<11ho#Qkh{UQN37?*9mowE@HZ zpQ^@3fV=>*CN!TGz@?YFpS?q~Ud6q_UFcr19?ySC@cdWzuQCwwRdJ^%h|82{~w0P%iv*=_b)@usC3FE#IfTiNfdKs|Vky;!U(9e=NZhvZCFYqrN6T;=%N z9$sj*TrQ~m3IpM<07~a#XX&}w@pol7&6VzIrQ_np{qD7-svS&o7&(xRfPa#`%0YCg$>GSWudXEvU=QP*RxsrgB}#C zk})x{6?+bffnpi0JwjA}SKf8qzo(rVr3}cbHqWSyWUlX(pfMz3AD=r^sE^ z!P0DoY%X?#>;2K}$;^VlCJrkC+uvektU|LO*bD_-<&Vv$5fui}8zY^HeRaYpgtIAF zCZL*vW#T4PCP$Q00Z@Z)*(@^we{9(u3!K*G)<L$7X`k>hOC)X_C5=#RR8dls-{CD zN1>3oNv&ajWUUAk5-+L#<+SeQjM+wqDbioZ7Ya}Swe!3%L(oi>1hLdwfmn_Lj+Fv9 zHjI?=e0Na|0{IGMxj0m3-cdILgPrGIwZ^}i85#i!8>#!vRJA$IPp`iO(zL~0;T{xu{9Ov^f-ts09XWUhEwW`B*kvrl7(=nh*M#*xmWEyXWI5 zBb-4hM`dScPUGBBy8`>4olil`n$P$5b|;-e5Tyx60;LIG#Rn6D9nIuS3sVm^&Cu6rJy&Cfu7FczT zhpE(!9O-0HKC9kDNhJ;>`(^gho#Nj|;oj50y$>Tg>UGm=%;XFm0mzKpzT$W-3z8!( z3m;lG)1ier!l6SuUAR+kz(Zo<%|lq-&!UyGl?Zv^)wNP*hrDw_rn%uAf+CeW-(e%Y znPX>;9XmEI7NmIuMm?HHZ}tlYE8!k}CHLsr?$8mAmv(oUZ7yvYWI!5gF43ZYc8%W9 zVj4}emgdbu*rQ~oAS1S#zEu1&w$pN5px3m-S|sDqWTbxP)2$$R*$zU>bBwa~a`GJG zhSnq9*(q9cDEK(KVS$=2=iq5~CuCI2TKt@l=0vrB1=1a~=-hKFLH}np0Sn#jsx$!1Lx9#bJc->ny!}~jSi#pLTfmhRR8(z{84`a^$)|z4-a!Ro#!sZ zD%O_HE8ImA*%*0+gLfAz$19nESGiZZSB=29U+i8TNvQK9mS?jfI;R&0QY|RbxGhn}A9o{+`;{D4 z%NsHolWDG(g3Z--ig6;@VB0~YiecPo(12L>H&7ppI`JH$Qq8a!brM`heQ%V5E^S{l zYAEFTWOGBKrk}MfRT|TvS)8rk#rW=0*{jf|k$TO|32_?|7TqmPp1l#lh^4b+lD}xr zB6s2IZPb9k#afHJ?z++EV18TR*>pYMBU?Y%*`(rLmK zv5Rkwkrg*fafV_?X-xFICHs11%ds1SmFunJi_q$x*bd9+w0~&HQL=<`eRhH7XGbA#S1wWmw`9 z5(N1Pq7yaq$=J+KNsxm0WV0M%JtpDFdSocf=2OudRvp=i4d7=R1NgbvAVes9{XCh! zAn^%8l>7ieYVsv(84?s4KOou3S7=#_2YJRXZXJ zZsfLpRF|Y0s>_5Lh&M(Q^spW8S0sWeDhZyi_*@(ub>jzX1SeP|c_T?e=p=i4J+3K}HaXo&~r>=yLeop1~qT znD5jTU3xYsb4jR3A0I5|UfDVIaXI0R)A3wfTw<)@{y%KKJUYN4?2rOwy z*oYZ+^-0Z7hu{n)5ofAE;v9e;uG9|$hRkp?Es(h0(tB}Zh9Gb72QZ156K5lP{UQri z%xvnO0~kKRs;JFQTbt+%XJKx*$frS5tAsqNbW(+6}(hFRgsiW^Gwc;{cHR#SdBe zRmvZ9RW~>Seq54yN2P2xV%~~DEr~&8SMjqSVELHt^6%TG=;B%gsLL)^jmuVwXXkL~ zn!rjc{^N_SZnWHUV3Bsd*!G2cPH(u__6T+3Ry+OyU#7`ejk@yXcA=fHtzks4X7?AI zJ{D0|&=%?Bbr%k;6bY)0*N=qi95d)Mzre-H3Vzi#u#ZceX2HAIq{x8^2F$ zNh^!K=$Dsecqa>rUoKp4q$tX-9v0M0hqDf}Lfxdxq(x@eT#ss;q!YGutc)CHvtOni zC(9!HWm==1U~T+zTzViAy{s;N^?i}xD1S(lW7G9BQy$fZUDyZ{Qs7LPgtR7qQjCOCe$kH~E942&T`@DBZVRAUkWN5*& z$lOgP>TEFnS9aBInwC{A9X;NUf$E2`p2=9-eAJka>0l}aFJBb)Is>iE zWAg*PqT*+h*3Prz5rrnqM+is2RL;-G2Jb*|;twLV9cHUqoY0Ya0ja5GA(OXI)hNuL z)ngjBti(m=b1img-lC_lIMRc|d2XT5)Fb1j&q9nJfr8w*O2X^!F1F=n_J7t{(s+N6|jnE;2BW*kvcb-w5lS3DcW zD0KxfF(~+(%R_y%anXniX#|f46T=3-(vKT#kBuy4KsvW}tNgSXh1>7mB z>Yh+_rTSE>6=9pK2xSIp)$h)*oAy@xgvxtf!@0>&P81Oe#@#p@C3-@p7-Gsom}_dp zEDx~?C8v$Iz83(xT$qx3ic$FkzUBtU*syE+v0lE4kz4?Qi@Vd zXBnH2?Kv&m(fK?DQa06tY|YJN@MEL8*qP(J@s~WbcJ{z$$|0a}nnT!(fOe8*4(*uh z`rX_*yHP$!=k3FxZ)LI(6%oN4vvk2(#?82-PzmpY8WBoFCgfBr7Ldl2hz={77_AEr zk+Kyu4fv%Y*CHlqkvxd#=QPfK$Jvjc$QpZdNuMz+ZgF?{dC9+ECB%|7*RnH#eO{~ znTQ})lWfid>R6@j(_Q}eG+CJSIAyfQ*7NCQ4w|-*CP#62ILPu9&_Qj+XUJ!Qt&nj% zF=}LcPb$kIUr=vzZ1NM7QbHTEgGY=t^t+uK6r90S`G&YH&9qr*1IT+owwJKHvW;r;18bk1Zw2Z4sF`!B6WCOvDc#_-yPD|5M1g0sZbPS)3yATPQTnCCs1wT73Bsr210;PtS=gR31L?!~`+ zd8cllhRd8htPHLh*!%m^(0yx~-Z&I9y30=%+XPKW2Q}yH{<%HDtsv2=5 z_vk>MrrcZ*G8d6P;`Lsp23rw1uo+B$xh~#emrUH!Xh`jm`VM- zG)}>i1Kd=+MDC7qUvdB3yeXbh^Ss$H?Z^FT8lI0zIe%~f zB^oP$Qz_0Af`;K__t1L2fbU zZ5o(`kRm35Zx9tZLK#XZIZi;y5r4s%zX5tjq%k=d$as!rtm)-E!UYMcj(vfc;$-^& z0h`N`q8I-XoBN|QIU*zBMOxMhl=iv=1_WwDlp+Cna;~?9 z*~xA7Ot=5gP6(+B_^4vI%%*2{pRD`2bl%)wSUcy%s^?R+L8IreTIaiiYFe#YCI{2G zgSCu=SgNsy#2gFAv5-S|;W;eL1@XYue#YOdF|INQu^c&UCDyeh6?jwnVT1rp-4V9l zNH~p~=F;x+8123bF#|jK)~AL{C5SvgPL4PO`?el` zQ&9fC-}<>1$rVO{0hwBoQFCd6WPNhO+tTN?GLtc^#iseMpFK6?DJ>NNsyp@Kwy z2R2<+dDI$FC0jN4t1^^h$RACc8)}Slg>3GidQc@9syw7j)V`8zD;u>{{3;%-GUY3( zn}_F>0Wj7McN`e2J3g+#WAPK*o;<&?23=qe&eq`^({zZN5D7H?N+i(MVTBL$mb#p_ zL5CYhkk{&ikLfNlKB|StFB0xW48e7s)p1GJ3iJ8m* z*mbP#dn{j190EeTLW#{Be#o0=NK%?k8t1pe@iqjB2#6Z+UalvXKmxgp3_${C_>ex|MiLOS>JGs|u!H~0d}4P0$ySZ<2xkg(S9`%~wC%gEf00h3r}U>4(N%0J9X#4@GvYz;yY+5;&@v;nU#_I0$WnB4P9ax>X0VL!;%8j zMfDuU6NB#Iy;W+N)o3q5aFNAsN!=DC!9^y87iPPD-*OJ-BUON{!d_OP5H=KKNlo(8S^i2AKMSdsz3!W_WZYsZ(P6FB%{lK;=q1ucU-(|0DPiPZ3z*c>70*&xN zeA4syfZCsa4CQ8_N+8r;OG5d-(y8dN!Z7@CQap){i?XFD-VvGK*vpPO3a zE{T79ZkWB5Z-nE5{B};Pf=x*Rb6xk-ZRJf5D~|%gJrdu3c8`Qpnc;lp!&bmd3K&Bw zA(=!tGd6iU9w@~G6Cuacg|~G%7@Y;L*43r5macAIrU(V$~?&GWyta2r|`V| z3==^+mxSgVp^p)`7A!2!W6PTFF5Gp!+xpGkRk&XAVWMx%U*?us^Ow8jB6XZ0nhu=% zS@SU;a@9#!Hul*H8fV)XPhB)_$QoxSNGz4c+4*5Vv8cD!980ywMkZquhskle{TxqG zjgTD__MAwYH^~dd{KAB>{dt83veD&ex7p6mX8)vcF5rg3KQB_1O`ff-sd+vW3)>=h z$`BhkVFP1PRQE583;l&*-E2Zf9@qLk{xk^J={VOveaLSl^^4s`_u{(8c~>M{SQGg( z^D18IUaCwu@$zSu-I*vQiaGv2E{oUUpI3IzLs_2T=<=8oxwB=+Z)0sSJ9_cyW$)zE z3*|)H1YM{ko~N5?eeg-?%Gcfb+tHOj&s`vOzpzjV+2Mwj=EA{;3CiA$?)-)BqHXBT z4@*O_U>=~YikF~(7}ISE+KQU7Z3#mK8QLbZqB;tTOzUN)C}mx}JSfqd`!B2D$^=D4^ywq@ z=#s+XRi<8uiBTyxG1@MLd0xr12v0_=F|-joP)W2^hJQ6H{S7?R+P{WRE&gkz${5^& zMYk;1DVKbMu>rU`ST0j&49pPaUau6_hZI~Dth^ia>;~v6e2mJyF&XTYP9v(0H=+H8 ze~AQzM)VqS4pv92kv`wj=rdtRC*x9r!AGC*%~7Q>uzJvw+g0}M&Gng=usduF?o0-I z{0>uQ+>vZY%MtBIbR6?xzgy~#wtMf9R|##Zdnr%%jJKGc4KvDN#(o8_!o!HKJPlC?`6d~()l0XrXqRS4A%J;?QKP*j1^dXN(Dvb3b z8l*?UAQcs^=>2-|erBWu5b^>2_y9i&9AzK0sG=RwL&ArW!DaF<@u39u$n7|oAmyW> zoUnVKnz_?myZB!>YkUy>$A4k#d z6VjWE9Kpvh@pxa7BgIKYK<*;kmS!cMni1aCFVp+(4x7O0zgQ=0z8Ma zQ=x+ZAdWy>`8{_6HAn}_G9Q$&=kVey0Da*iGpRY9G{|7d^;~YI`@PF< zy~Q1yav3fDX|#)m1rJ}lhqpxsU6al z8mv+~d=gfH+;I+Q=73OGatFd~E9W#W-bF6nXvM7@OOZguN^WVT6Q|5A%#Ajr(4+!# z^|)ph*Dab@N(!lfQtLz>T2V}@J;CaFexb`RWfaZsy6%r+NRA5AB&S`LYB>yE)uFqD zM`U!+j^;)rC8iM1aRnWbEr(i%asg9jHXQ5xN(x=&@Xl5D$5QCA;(V;Qw$yz=l&j$(Jv^Q|xjamLPd=W0*o z4!G9&Iz<|nRQDH9?sV=b`E$agARLO zd=ZS2*dQLvlU0Ykz&~ogcp{jjt2kV)j*nj}+Y2dpz!tp@b#Az!*Q3t;hJ?nxAz>|% zpR}*f)VVd!a7EWx9@wIGtgl6vI)vK86v<(#hJkn?K=)R&u|-<{*NZWL1%flWf#do{ z)p4V-1&JAUzym33$hS~79+n>qkN(`kqlTNU!L5+iTa8UJE+}phn4)%UJXk`51#v_C zzCBroXDw>I(-@vRsda~H-O(7=yR4Rlxy?tuRbYfriOyT3&2n!-$?!w4MsG>hco?B1 z=Y#4Pe;A{4U!&|6PAK0z?~v_>kvZdqw1F@Jv93m52wG>n5PVG2HZt4B0Wn7p+LS+} z*1#3PCB2J&!VV?!s+BWC^z*%qw!BZNjT3?&;gm*k`i(~=Fi<|5%&%zor6EUB-m zg0D7)`fDou>xuiC%u58$*@^Ov*sE{KxI{bdTQV`h@?=C-COrLj#)(acp!weKa4zwgRL*FOH~#66v0V}cv5`~448#1B-2^~1OfO@x#5cJ(GTG+Kb*GBfRB;xbsm~0t^R9jBD88Z5-F!}Ph#dOzRV>?===m1 zEQK?u+L*S0l%aPao-$bWA-A>2CS)4D|!kj_%3?aj0WoyCB>n>ll*Yo5pSGZsY|1^!l0mZ^rP^F(}elNl^snyG#SnoqRxe?Mo z`MMB}n7wZ&jclOxuaQ^z#PYV=^P-g__E%V?>XFY3g%VIX!YkD-<aYK@C<{5S{ewsL!Y3K(08s|59Tl=7iWIohS-&5VEQV}Tw1_pB0@86Vt0TdJ37bN zf9(N-!zH)4VG|WVBl#*p+Jr^vBNQxy*RM?1vxWnpp}9rBjlQk7FHosh~_7Ce;5U1K}IOHS+*5N#&mY`kpZ2Q zUtA^zf3{4-YQJ<)5rT1Rw9OyI7@7L+TECnsjH|BuL8=%O9iok(*GI?xt#B(uV2=Ty zJZ9xCq6JG$gN|jYa{GXeUF`$7q@75UPHbt?b3vX~6V-F|Hot}@nTL+Gz7=Y80vgqW zP4LlS#LWU){%$w8lh*<^!aWOYtm8%O)YyJn^a5J+LiYmq!WuCIrhqbD|MzE}>41-Z zk+8-b7uraxHpW(!GYpUH=BA_MU&5fgB#a3Ufg&~6XU2xWU~3V{V7deJaurA|YVpZ(ytC>8O>hrVC=MW0Ks*QK;sUP>wnBFc(Kmy?Hyjl$s2BTpoM-nkLV+ zbcHPrdu@$?yS@zO_;Pbw8*Qa|v0Q$QuH*%L^)`Wzu-5SmfM*V)VGK4bv&XJZ$kUt1<6>%9>kd#xTNRz6c%q$Pj`kqn`Sku4J-mgMBLXlY0=NBUShNz% zH$#4_aXh?P8vNSo_I$grR-i@L?>j(ufgKAu?6?-#k-5HGz$0j5-QS~9?rD?)Tb=u_ z4HdpsAftGtQ3D}IleKW!l<_uUjnTx~1@r2V;T>|s%0U5-eLqaj14-3m{>%vtKmCA! zM)%H!b5A>19?V7|_7QISA*&M3+WH1R&ELC7W+a+T!ol<&hG9T}qa^`r&!oV6H6*JT-qp9+?9T*$31rFvbrEW{f!cQvBKSG=mxCir3P@U_VM}Vzvi=p7_Ti zp155IBkvxk)PiR5qnfafh7JXR39WrXLjsfigt+CJ!Hc%G;h|YNoL`?5<1Lo@lSu@( z;ki4o&9>DLAaTlp;r>*TdlQHE?tlTeBmw`1>Ibg-o5r_1r36orz?S_0rrb2}bCKg- z2k*@^!fV5We}Sd&MJ5auVoFX_KNZD zh-Tf@Egrra#`~L0O#!wae!Byvy9UP%!V8xT=lyMaR}q8Vff;uVhqu*kZ!9&8wen5y z-_yJA@uLf^pr`fYX?}E8$BWzUfZrB=JWf1!2Ryg(bi!|A*bSN&Jna4`;ehzh=>7IG z|6|_BhW96le&`e*v_GYWEO(fwBf&-ZgZ`8loog)F??FOpd9FJnQ! zG6%Q61e*S}QvSLz@W0XT--H2@9Kz=Ox5;2drry6zu-9IXu{X2vdo%I=J+tu#W`p_o zL(_cxQSHm#iTk^rl(Fpg z&!|Pu&^wfA1oLezQqHACx3!4T_Yg+kG-jI|+hXfo$K;!)Y?n1NBZ$>^2S(qv?1E5* zHGz*?E9Z(LPHnYKu8a?^lFhdOWQ@N_#AAHge$|%eYgH%4-x!0xuDA-DZ|cP08{6+U zQ0Fz&Nv+ou!@)=$SbSewtbE(@UZ+M}Mf{9zp=Q^U#~K->c;H*2Fk$F`$k$F zhJY1)Q;`w8Sw`QOch@{t-eE;!;LZ12iusDhsJjEp?!1pWA~5qnQ+dISC&$u zA@^D#ws;;%unMm}mdGT$1EcVoA1%7kV!VmG1>5iiNgm~_RZP*W63jj_aJ&Y_-`-vR zL@8aw^V_C$*XOTGHIcPP)MM#G_zfW{-gB z_5cQ6du2Z=G{?Y07~Cb{M%m=V$daOmR{4rnYRqbez4M|mBp&oua*J#jA<&Qm#Z+2W z>>uYB`tc5&pbvy+;JWO^vzO=@2vNk^PS;!01*-g@sUFh@VpT4NXdUj%tsDEKPgfgf(F19gIitjWyoYUrh{2rHz!d}}%(i()5L z7+qVlD`y@TG_C#%sD^BZ+AHt3eUBJQVOs=VAis5;L))lg!XZo(lCkXJE<43po$8K;Mw2`!gZ=M6^ zX!B8HDqIAm?2V_qnM}#dB?a4jCBGj}j0`L(5SU4AZ^D-rhbNiwZKMMI2u3aZdyT97 zoH*M3-Q{Jwv#@KXw$gOQc_5>1`eHS3KHveGPWb6kd0&tqAwoidWLKkq6ElU*BCDaH z%O2}3sc^i02;V`!TyU6~*WnVCIt)atH%UNQo#RM6E^aB(W0AxVjHzH8D7ux|&5)YD z*zVMeW%z2^?S>6n9-O3#&`!n1z@V9-7PWS06pHOpw|*ar&&)BPc{8f>n7|N;+EC4? zRIk|#OtBwikqeArF1Pvp*rYazYsaMJ)*2$ItFyDYR?Xp(FB45!XU>hb%=2jdJlQ1S zK%>*or$7t$x(-oivjY%!u;|hjhll7n z{%IgG4$b0{TUkTUxhgK8q3-fZi>R6l+*_$h^WvqC#%oB-%w9pQAX{Tg3Z32Mr@E(4 z$rrGUivr}?j!zpwpV{Z$JN=%?V$YHCR?jxgi<}A6BFEK>RK)+eMQ)*;N&hTb^!Xx} z4*fs7$Q$Ld$U{8c&@4dDHNS_w8E-c5A%fQ8L z{&;ekF5{XOPw62@aY^Ft)nU*HQtVbQDL@xB1&XFcLF*`Jy}T@LM>fCKog`o&(1s0z z#o#7=n?IQ<%&p?u7PpEt49AK_+WMr7tnyw&uG0i4Zu6&;Yoj~eZCvADOn0&vS?&zW zGruqy)Xb_3H>UqO(rl|5RAeXsQ+=jZM#PJB@*ZNnG3w+RBT=%cE8{8{nd z5tQL3p)jC-K!P^|rtRW9k)f9R#JC7T3Y_7^}My zw?oKYT>#(RSs6Wme4)+vn%MjvNFnALTCr~tq^H8)s=`O3I^lKzKAr>bHCD*m1XjFV zcpq5bHWUh}J;V6c3gb(__yW9F2k4^@@677&%f#ghMnx%rdH{UyqLg>56p%cyz4tH@ zM4>XBK_I>N(T9h_d_UYM2O#f}sG}3$VG53!$qE ztK;1#`SxTS*G~zSJ1CJ@+zRghU3I3)OUyebj>O$c7`vRo_!IA8%lr}kE?4WR8v&sCrMj6Bn6z&_WNZ>bK zeN&Sex(Whk6#=~Q_pL^g0ORZhFdTp1R_Vc6&v$r%cpD;XtA8HQTy;Q*TnR+3CN%Ep zBp$fmMUMTMB-tZlJxg#7cJlAy@LHa@jP*1XJhZBU9T5rwz1%JSiTho`hO1d9-9+y(PsJ zZ#|w*IY5(?H@`)d7>%(ziN0K5J*<;1bkbDe`eCsQ6 z$t4SYtZ1pPmsiLVS??zU6k>Jdez4bmJgz~gvLZAzUhM!$d}->v4alWw%fa@5pt%czH*f{ ze#a{D@Fd|9kHa*1NKuW(nhcG}niOD7+5>9>owin(_MrtMaQ(V5S_{otS}$z5SzKYK zsZm24QR^rgTrs}l&CPXMFEUZ$?&{)fNnl;XcO5+V%%z)Q&heqL4W?zlEyzi3H z@38slV16KLq%x;D5!C8reGp(-d}->R>9lWo;2~S1+yw9=S;0R%efy-vzr&* z464)p0W?i9l(EB%aKRP;j8ya7B~3P#fMv@(Ja#s1V zg7{eZhtVuEsH<`BvL|`?35@A-rqkjlho;4bEu}?A((j`r{>GB?$jE@_F2dJw^@@yX z-58qd~` zN~Aq(G023GV380zWWcSUy}@~3xMi7Dw{js6A$bolR#$%RRHykp7$pUO!6YuMZsaI- z*eH*bEmihZNV~xu>v!65VZT|qEpSIq)QW0?J1Ex(Z&t3F4&fD#XH-|u*-BPc%MP5j z>kgzW2(IfVkF^lOTa^wG1E-kmZxodTQy2p&zx$$nB`vV1hQ^F2o$c7OVE3TVBk7ijtS z@qw1V0%RMy#eti7HLtLAn1kL>W2^TOhvyMA_C#`-eQ7@eA&9~FGf%1OI3gJ@hg#!V7UG9=G#P87Mx0I3(Cs)CDxLOap;Q zYfzH$FmG}P(J5*Xl~N{+nZw4>}-<`Nm;hP_ zGE1f8_OEHFM1%J}Hw(d5P_dj%TJy1R0ZYUxK@UxOlAVm+d~$}6df5uNv9W{q`2X<^ zHqUR`NMr9`?M?i?HTlJ|y*y2ij5)#~76{!w7iibIee=Bu(bnGdVQ(U69AzHR6U474 z(jMliU_^VKcCU6O4g?c+FWgd{-Mc@N5{ZMhcJ8WrgqdlVtLkiHiXeutUD>qUUrLr{ z%f79;d%q7I;jV@js976^yPD~MA_LOWk=>GQ&0U>3!s~Rw>X3|E8p&+^5BY93he-zN zTJ=hxTkmAs(3zVDlGwUm2|wBp^Ge9eDMo>a+1TMGW@F`ZjhROIa&QA5nv0!gxDGcX zUKPoMh=;PAVA8txG|r0=v%+Rln5}>LQ|*N@EwK2T{i%vc?a-wp^Cr;A@LSf|WVP*} zvk@nbl_!m~V?i#L50aai%ef)+GI2EL4s-|A{Q#8@h|4b^>g@ftH>ja!D5013UFlndx zqgV;cc(kkryt+KB6?as3`D4X~kGtIyNkk!9EhQKqC}b2Mw(}4NhN|6Y<*qK1f`U4f zgdj)UaK~0qFS&_gbQvWQa=}4I{kP^S%RJBPAm+Lss+kO7oje5Z)gbhYH@@YK)JkYL z5i%+gir_GdT&iLvIovCE9|1rl-)&i)@|;}BMNX`;&l%rr*}&qp&|rl5sbyASnL%c2 zqOWlj_w6pfxpSY%c0gtr@oZ8UrBs}Q7LMvrsNV2R2{jWwaf zeq_2OrUhg|%#l5@Gfk@4_RBOl#18jVes43!@hiyXfjAizAc)DZMxV%vT)}i$PTS^{ z&)B}o-B+*LNd?=&$Qm2m;ha=7O}WxD1YW;F`&YmXQ{+-MyXk--Pkj@Ho6ps7CI0Jw}1^E`>%(GQp%w!rCm1`+w=Mr^a7W%^E=EPmdcYGS9z4cg?rRp zoFy?4MDA$}0#+1ZEqK+@o{lwf<=K&lqlp5DK~> zHE!i#SGcNf#{J8XJC=b{E6vG}T3ISXNsp(A$JbEV-hvkx9J*_V_5^M18m`=N=B_6d zZm1n@b&acOTezC)X^HD;hr-Wxfq1Ov>w57RMQ*4a?j(_!L|WSl|19Ey;&!g_cQTI& z0KH1rGCJCi9(N_^ao5n}w$Xnw3CjV&P$9W zSBVBu#0tMLl=R|I(o6JfouC z1hdH{b265ps2KEPv&x&Ge2}6uL<={;)PF-Xi!(rq3mv$7?1Eju9kd%4cOAki-Ml*) zVuQ8T?W85fzO#U<6n6%^LnZJIGIO^I%+MppXUumVUUKZ9(B-;^`izrU+rmjus1(Lj z#2K&>l?E#@X$)3k3(T8Q_)xC$nAbc5!ZQcrbQQlgWz{F3r!RHVd?@C9k#bM zeKs3p4*9~h8bUJL&5MQ_^I6fRPOxexbpjf0@kDfKJ!H^9KA;-g{6a?0w8GZl8VVB* zsesi%vKEVBGQv=DhiBuWd0E0XG#`02NW;=V7b+h#5_=Ts|1WoM9w$|C_5b(n+YK|! z;IulLi4v_+j1vO^qas0{IDYP)bV>dX)`Zj2_yEfO}>jnq5 ztriTd3L&zo8`D#}5WUT^v{%sDf+}vIvgMT^&;2b!vyY|OZBZx_*rA!#pb!JAf&;ZB z7S{hR-Dbl0+ApjcUUAmiOnV)- zpLcP;*qbT7liRh!Po$=1Vy*byO$)obMu%waAzIlTXmPGt+`=UOwfoI9EhH5TBHBc|Bf1)k+tmq(7vkQi;7ibXmypU?sE!xrjW-(i9P*P z&9iQvb(e`wr0Il65?rcmFU=~0nSNyg% zjkdJ{tui$)BU)43WCxrYf3q>u^2fijDd96)k{<)uh^ zxoUsILGx=j5$zsqB9hlRXlhm9pvn59O~mf1ZJix7M`~Ja%t3P{RHB4SS<*hE<-wMS zdh9fS6K3~;>+AdJUNErZ;bQPeA6$w#bB@Y2i|9x;AlYKD>j%L5>M3+2ieJHpmO=ws z+UmK}ewmdsr*mgKg`$l|6VS4NJxG4rE4Wp#m4CN%tJb}+KCBwbG;h<=gSI1lkF=(R z?^_Ix^VpS! z2f)JqZawQby;(odFvOjGvjZl*DaH);yCfO1bga?-34EFRDbS+uwNaHXgBC3zL;hDB z?UuhPMlywUS5h?FT-(rG^D+&h#;Md8K<%iZLfdbqudy6Ct*)Jp*vYOl9vqNaTo+mn znsjs52eZvlq}x>NCE;c#q~!=EwpY_rm#6N=-*epNlLZv&}qYUPgf;}}LJbCz}T z6bqa>^~H%(m&bOHl@v?p4%tA_L-sKB$TGqv!;Ja&L1Lue1ujkaWH?hz^~0`#s%>Y} zb+FX6;Rz8IawL1(?&^483wt;4FBvkwa=&!HqJe1xb~E>D43S z>g^rddNBTg)1)5wBc~qo2b>OG;WYO@Q9bY{xcrm243{Lw;uqN8{aJT!tnH@b&T1i+ z$KxB=%QcV^W|%{mwICjXgZu$W@DMEHA&3GPr@)-YC$J~F1y=2?vl2>}g&R~>rV}vF zLFO_wTiARD%Uci+!I?tl;ngALGDSfSe?bl=hgpnd^AFS*aQ<*z$iqVr$H61ai^`r7 zY?4Qa2zAI!DHn!h_fK^NfT;$eDo2l;3G&yPpDNCRKh{J zAdK7KNjO}ctcn6fXb?OnMXsHf2YGiMJk3j3;Bg$Bm*6<4 zcg_BMy*rB>VH^S_yCr*X^@hMaj1l7+-c^3}ySL%u|-i2kn3&T9dr_cr* zj)Xko*EQJ946o^JWP-eBKz&FdVDJ^-X=%GD7V~#Tiu5#5mS=C{K$6f z7-;4{5Df9WX9}9SxOAE=;B3-Tve%(};r@tj+!%EC(uNzEzD+k$V5hCgEF5UUH60)~ zK&+#2n0fsb6p|Gd@DqFrcYq0KDTuX%!w!;uwfa7Yx4-H(Z&j@e9b^ zuw-TSU74A)otMdM3f{f_5Geqvaf3`4HCM7|L`AR5*tIKrWp-J6kN3M|*7fNCdB2AP zpotW)GJ^84-DK8+4Ve{o)dMJb_mkM~8#Xoc)U7GOPRNEjm5CY(9PY~RN@CWN@4VCSnAfsQ^F0oemG-W*;zUSmZ;rdIH4 z(g{_~zh(yYS&RCh`>)jpd| zNL_y%Thd}H>wpe`1F|*X>(9M-o64?gZX@g*%n;i-{@)9snudA5Ogk;5ugprda$Ka1 zGtOz6?bZ98TjD6ycdO8Fu%tM>#PFq6^sp{=j3lf9gt=kx$RU-zU`>hvD6E$UrQx6s z_G^)5ttv$pgI?FV>sS?XUI+v~XvbMfzA>oo*NGG6hddwRxHPq`A4-{~#V7Cx^oE5p zxpV4<_paKyh&$$i%u)>D^?1(_Epw|}pZ$T0rc1@0`z*1r#l>&$+stYdHl=UtTdnA( zlrUIg7IrFO7T->Ufm#$J>Z9--Au0L`&BNsp)oeBITw*mRVU?_*#L-4A?E`G*53c9E zuc}vLa?>7igC9igE$r6!!o+B5csT99I%8XVV4v~*^?RHyMI&-KzR+7(BsMO*e#0Ke z;IKU|y0SCdF@FE2dz|dCSij>sJP3Vwj9}8&F;GrLwo(s5Aj$`yu1*vYz1)aa&33U? zA7VJ+;8Mo_a|ORTL&b$#e^pV8tK-gR9P1Ru4RYxr>a-#a@}T2sv|Bi~R_s)D-nPBy z={3592-FV&$P87W-~}Job?7UTgtkQzstH2$zpx8vCfnPxLe)&e;mr0nmSg_>F{N_z zb%+THL(q#4NAFN{>z5hU8w?Ih-Fi(8PZU;^oTEz?0U}SbOrC!sgofVrasMo~FI={z zBRD?L*{#Se=KpC*suq5sq(XzF{kM+Vn%h!er%zknP5MQCm)Ft?@vgevA&Kpr!vq;4 zcadr^L%tfhtG@!xaXnjdcJ;b?2O@9HiOGtP@sX{=A|}PH!}3^=Zh)N`4W@7Etu%A1 zE{FRvA=^}g;dnb)j@8_1I;89J^Xk(X5dG!-P-n*7)gM14!rA$@tbT{k4l8!(Y zY~M%hkwGKBZR?a=>- z`8JG38SZ{4A2{x2gw$>%-J{#+E9_F4^ zkijh32BEwWqnXhG_x*npMxJ35fe_TF@VN;E5KTTiaJL~+wDYJPuy;2)4xYBAhIR8& zvn(@`Z}0mI@?kK@45C#6gP>FQGV?^jY2Uo@)>M(}{@M1`LkQcrri|;eroiWt-Z=`& z{%lgvLB9d4*Qz$CH_nF&9HbUBH%tjR3n)Ryc-F01?0UGVa}wfZ}0y3htC!PrvqD==;pJz86eB|`}$4bTF=5=CQf zaVyQ@AWz$sWNvZanaSo?aNo_2WcGsHuc_gYbb0AL8f+fRh?U0`DKR-9Z{NMH41N81 zCW6Rtp8484cI;!EdUOG^E()iLWyc*mR|7a%8nTM1fpmslBos~x~jN(9#*R2%8tJ&u3&NBse`tNCjTdlX!#8&g|`>f{lfKD}my*|tNYAomf z#boYv%?|cjVUJ5bCIwiP3~hEKn|rFwy~g$rnL|V1b0}faf5iG73{GMF9!6pm8$@YH zZHs5juFIo!r3(9ToB|-#+>ozdE_UkwrB2i^{I-KjsQ3W-B^$-;yut50+}SckAr)_e z!KU67tR7#IuRD}x&AKwwO&tYlFmg(;8FF>jtx}a!R)zYiy{VgPI?cCQ`#?5f-+=$pCp650r;l6Qjl^NQYmZb;8bt6~Ch77)Y#0iw>0XyO|C#2fc0k zNXf2638X_0ZA=UI4JR6;8%PYVT{|7uXFf#f1|qF~O*$*6fpPbBYgGmL@53^>;61ef z7&~jzQKs+Pk;DDck!?vc5wXUSno4*&Gr}I4YyWu8J~j9@s`+D0NaJ8VI9Rqj&_HQ} zL%6dsjJ#* z)tkt^2QyClo@E}65uQ3w%ssgOv*E7J4!aa zUuW$iYQ^tp<7mg&1`a$G#x}Y>_wzE^KFgRPso>&^Td&MdyYlC*Wz>AT=*!f6igkjT zPw(q6vF_~lD5LG$MPI*iztXYj*BDu`teOhL*!zu&valy*g*^!nI99hdUxr!p6Y5;T zPl(1ePa&i5hxXYKWTlK_5Rcl3c`~InkxNj;O&yWgsBylV9^cy$?_^Z&u*6zj?Kh1w z{)kbPs3(VM;A)!eqc4Z8mFRFf<m`fa<|Ug|!t#&}eFvC9WtGmVww=ks8=0FryB{ zmMZJravtmIKuoN%-mN5S>p+aH%Cn*ju6zbYxI55U4v?+Y0>v4tSXlWeVB8#%seYJU zkHB<0C-Fxn5)U(jYY)a&rY>exjIPIkDiR}}&{D@IG~x*s`{V@hHcpJzR*b5v3WX(y zSrzLlXv>}0RzoR7dIRs%46LV-1smz9vXqX>Vd#X7@xZWvl<-3=3JS(a2Ia-My+VnW5NiZK-%YUy<|B7n4jxNdNBb>L=bZkRw?5`}ZavKk;- zu$_iQaFR@?*C(ZGRYx1PgJn4#h>a9(?ZKYHZeem^FCB={v@8qi!X)lfH)0IE;QOb7 zahjR8nHImF|!7P?J%}TTk5gY2*BK0o358qNf={O)i zD$!P%+G1sL)3&PTnOLgd5>vG$>sb(8MLU$Ke3>dMloOt3&ve6Cb;y3p)EDT7`slf~ z@xYJL>3Px0(zCGb2YxdDu&kV=q%9nTnKsM5Mf51HKROgVsBbi9_vst|u7&zWcXmDB zt-M8U#v(W(f3^L-zU|wcylkz;(JL+F`X%||0Kum>G}P;V{Tu2m7$j;O*RWywWLsnK z7P`6(Eeb1DrbbcG_q8Fsq3v1NR#m5jn;XlM8T1n}4=^6?wg)y$+5= zyyk2o4cAHxZ3`gXi3(Pc)=)=dk!DDLS33)3lGe0x&Df>GPp;TXj5h@wZ&wqSCXbiB zbE_iXxzh7e@_3YQx_xv~8!W8hyjx=%zb1tk{6(c|Vi+xxv?<v&`(ZQl(*}l)M0qZPo4&*S1 zlLD)>AEmt~WJlqm>^ObR!?5^YepG`Sh44`q?hJJMHja_)jynTWz#Ci%Kja@{O&nbn zkE4rMtg6+`oV;jAyI7=9=Jg-|G7`sRe7MLqrwu2r-^w{T zddU%yR-tGw))*uxt^32a+&hR7AS!+eEit7w(5Gs+m{*ss8&E+?F?_eGr`#VQM?_k> z4|NLVUEJpPfwG09-3Fw$8qgb*r`IU&E6NsXt?c(}U*6Bqp0a<4w}yOC9Uce({gDFt zmVnq1T4bh496iZ&$sVAQlWu;S1!IW4fef*|ZMWnuG8WavT}Lu$jMCc!Jb%GzB|JAjl-gB>T$C ziwwsSv}!3YubPh+;|zi1M6%Y&(JK%`AUWBHA&>Cz6o?^z^hXHMT5RpUunqZy3L%;x zr<_hmG(?hR2U{c6T;-m-M77TnSe#7_V)B#BG7bsR%e?q0SjAe@9ALMAaO1>q!)e*~5O$SH9KTpiuLwq06Gfw${=@kTfZ zMl9k9GRqC{hFr2dVhQy_B&m9IWh#Z6Rf>GNm>3#YHZg87_NeErf|k?ZxXm!+Zejf1 zZc!m_Cx?rv?@)K%8KXgL1IQe0cXtAa8~}0^Am-rjo?iUjt1xRCwD&3D{RTL9KM5aD z!UuXK{JUW0RQQ7#I}Zs(P6O^?p~?|fZT!+<)nZV!(CtK3qb;5=K)EMqizn3<|4>^z z6=OUACs&=qPpd5yQH{1>hmX~JMo$%2ji!{mZ>7{fcq?ssgPM;-O5i2aeybi{m#E zg?)HEA;v@XnEa*!I}qm~uEa?EZCprm_+jEcB!)>Hu^uqXe4G&M!F>#!PekX_#C@W$ z4i!Q?KV%gCZU zRCgqTJ@hBsLzNR1c7mm*LMJNXgW8HX4?H}Hqua?UnLrN&e>jDbPgTjM_A2=_E1B>P z1baB0HaH{C&^c4>I7iVPi0VM7hA?y@ON4C*&3BgKH)yJzt>lDn;LX{2LO6upScL&` zuDCt7FSiQkV9jsg90=?X_Nw_xIzJ>uM2>0B&%5)jjK5~NF37tJtd1Av9S<+e@9P(2 z?=H%_i+ES(|CT+uIPWgD)R*KP4=*A0rS^_de;I$+Mt6CZ`U-1|EA#G(yt|UdxGL|U zO$L&Z=&F3_aXYYHO$K*0yvE+XM!kJ)-d&S-*V5b9sm-s?yX*4qdfNO3wfPNdb6Vs^ zWxX*}QwxK*y(ueyVcsn?Zg0*z9^Rav?r+K7-I{lNZi%gRo5iY<~fnym3MdM-Cb1c?(F$JR^NN`?w-86mlyZt9eH?tUp^kq?^oA8kazdz z-2>d1{JU!QVBY;b?;fOP52B9-?--Yv?z7xFXxi+b)}gga{+ID0AYULqyobF$WWIqzP!yszXP z4_{%dylU@q{JCePkYgQ9 z9f=N4H_SF{NiuO5KU6J1J!?Rb!lzx|36P3XO598spSnjd7Ya#_6d$ zEp?|;)ER1wGu0S#Qg=q`&P?5$T4T&riF0cuS{s~|y0g-uxxgJ_xKBbe5md0?FHmt8WW~|_7wW-< z;eottto#M3TYzZ`h2uqfeNlLgl{38lTk8JCYv(V{O1~s^m+*x6z^UWmrRl!@GUdE1 z^DUK_YtM6Na>)*DZ@`D;>B=3J{c*HY2z zQg>Y%m1WnYO$}3$s^{m|dqEhqS=G7=oUI@tFdEC^GbGq@?cxCNd=yhxdchX_dd8h0 zHfC^> zeAN*Vz&Bgv25Qz>LXi2Cu&I4O)h3H^d3jl|?Y+6yj71G(m1{=qGLus`s-G3P33yVE zv^7|#6-dPHn_{G9keXq(W0{6oBl|tH9(E0oJE`co9a;KZN@&+bz=AMuvycppe$Bv9 zj8NO9UnLJ(gzAf%sauQ7d1gY#`zkzb6)yi+G(eVy03vFvAJSOnWm@(_Q34IcI!CQ! zo&8Za9(g}-!^-&D3>Rco4z}>WFqkQ$Jjnl;p5cx{MCgw_^W&z5jg9)I=4!rzo5Pj6tz?F@fIV_JwqiDY@BGs7MP@3!q zLEoU^x*0<)ZZ*5tEc!0w@N&}`s{tf#)+Dv*4Z9gEYeaND=jh##+B|i};Hf=b<)%@H(wvD%TjL#RdughBVQM>soCLCYwlhFlocDUMs#I_1=C0`&(JX=a@nuQF49bQuf*&H z*t)u#5|+v0G3gvrY{4L8wutdn&Ii#2MBXpJ03ZqB)^j^PrBYkE~2;HeT z)X`I@fBS>^&@+>@y2c9DYZ@U9*UJL{k-J{Xf5i2ADgQYz)XNEAzP{NLIM#rjJ0d?P zPY>A5?oqijbs}!ydBdpO8HrZyyYgu7Q=fU|Rt|~h=ZTZDUr^F-OLs2iCk>%Fc+N6B!VPV6wx}NSSBF93h~Jmj_#o-^ zd6sO)lI{AyREIZfqQ1?q+6Rkp!WqKacb4Kg}MzV zxlqd?Zpb_o^##^wu4`+J{$W_7>vb6bEg!iEGH4-Gz!0G%gZAmfX`pwYW?IfdHHX4C zgr401s`#H+tNtVu49Rwwt!(o?o$Zwwua(Okhj?x&ho(4e(8X>USjpY!bw1TfcL zZLQH%bhNcrK|AlJ{M=Oaj*UkVz*i5=H7?;Z5IhC~=`Kib4(Tl%*R$OgRnl8RYfB@Y zN_r1<8OuWuM$i@352ctsAy}yOR-tA@Pu!XoH}8Qdcn{ROamr&v7<1dk)*dgSq}{Il z$pj64z1zMlgfOmX6QG4FL=#G{TBGa;cZN68<$q2kGk74%+eM31sKzhao6+G5ZKPLt zXMXPn-QB9=36)>o?~WL0;aRr#zl5G$&#w4iTi^Uz1Thli{clKR?gKmerGbNDbL>gi zW*{TMaUd}B2L|_E6y6s&NY}FK1soIy_YYF){q2ET$n!s=a%fBgUw?uxi_@~BpAPrt zBT(^wp*8+utzlK%k3=(q;(mKH_@p~P9s(%smx$E@OVos9sDsW z0hK)Z`D5YqIC%ls<`S9}CxI1k5};vEwBXGrNGV?(u$rD|;(IkOy?C^Awg6&b# zQ=jvq=RgG?0!YmZq-r^`Qu2DJH*aKslL4IvAdPYJZ7@Q5z-}m5R!1&D6_T!|s zmp1`<7n<6BA-vqI``FyNrp0a!{0vKu$fKpV3&6L>d~shqklao3ORqCnY_hU@9o+q4j`*z7YC_g724do0hr;?UA(bJZ(TvPc&v& zMKAx5^zs!2fvI?XricrSg7r#_vRom`GPF>%zm}kOr{Gs(eXmNSfqz3!8_>cl!m{-23atDVbkV!l zqj?{d!;ll&@g329H$ngI-X+0eh(T^~sK-#sm;OD6{vA5+n-czglA(8hFNRf)%gA+! z^zAwH?Ic9Sj?(=T5`HS(yHxU@8iUrvpCzN6wC$fsosN!3EsRnfz55q97JX^)ls|<1 z4;4=tYBSIbC8*dd(zMqTNO@F_!AR#`&DxkJLC-QGDyw?u8d8FP_fseXRofc6oXwe-@Y)B0>0kOK`lF1 zs&#MbcJ%S3SG1SM`EhoBbe&Z1XG`zigT9^4L&1*T{XBG!^HeaBESmQD6nwr2o=<;a zUkv^AS0zBBjw1a65?lypHsCIl?v*50V$f6)6zeF$FCqy_^uNJ6lehn1RrPrfM zmw0Ugn60s>)q$f>!W&Gtegg?nr_(Jrsi+&XqF7@Ws;HZ#O-G5ojg;uOC{+Vmb$_cU z+-BPJ+n|8bydI^win2PLk)Ssx1-f!{;dheaE^8HcSD29%dj|#chx(da4JxcSk zM^Ao#UJ7&5sO$gyeRsZejLBc9&Fj&fkI0`Up&SyZ((B!W_P_?+X?b+&JV%%QP#$G^ zCkk|UL23SoROc0G(Cbm4>kOg}KyZ9q37*jZP@X?76?#RQ^e6H`i~bMm$yQ4APm3~| zbF}HtKp8dqvr5!}rX5W>1kjK_Cp|e9Nfon*VkGzvWkW)hP6D*(FG!1CL3?iFhn*?Q77$rJ-Tvrkva%I+e9FS6EPl~!7 z<@%23*r_ubb#(0qq7R;xQs-Hw4-U!Ex7VX<-!R=P=AW$xQnv4-2NV3kDfk?y)={M& zlFpQ#oh4P}G4gC9I4s5NjIJG>`r&C0dUnc3nU22w$aEYkcFIS+j;j4=%0EWsACr|o zBQFhmJqq;=(-{mIm3N%Tp=3wlemv!!p!ZU+t2`TzXw^xGV2p;HKd3T_b*-~fvU3PI zRcdw=>}8KWo#*2{s&x`}p;*_bJd=geUa%g|Nd-eYm!GKA%ih%JsL;8Lb55$Y^jy6; zmp5p{&r3Zza~4L^$j_%TsLV~pFU|hh(zi>OZc2Qq?RksZ{yCe$=+x__Qm2>cLUigp zxFGF7nGQje=P1<|K=2~9&P8e+QlT_Qh$Ii2ONj9lX70txgZ><~`6cAJlsx3RGz|wQ z7R<}i-oh|Cay09gr`w}KC*ze-Wljh|6?RqV3R|77mfZnuIX1}@9lErk85 zqc}HquyllBe0}P!M`ejD$y-~kZ{!c_i<{IJ3sZMf>K4*~H`{Y2*)5im-SJlbu->@M zUeO!3Yv|lTm#~cT%-u=8yHa;o>hD&U++$sGuio6toBL9CU+V8yr5;EfL>{0u{+>Em zxg&M(ad+zON!|Uaqijm0Jl@`(b;*OG^I+B`52gI=9->Pg7QshS_i*YSf#9QRrAK3z zJf=L4Wo=+vj19@h)o4$o?(x(;0f{F?;vcDdGIjre#8V>iRMyZm!PBXGnpSJ`&p^*4 zg=bUuY&y?Bm$J@0pStH#_k7yz7p0CAi>T`hse6GOb^b+h@S<^@&4-ta2-D!7{9#T1 zvYP&t)V-X#SIGP-&#j?fvjjBs>uTsXtfAlJnR}B|Z>8?7)W5BUe#aX6UA=jiH;YrZ zIQ9Qh9p6*U-cKEr-lt|Cq>j?xNF7DLow|2Y_pj7Z+stDSx|< zXsVAz@RQVioVrgS_^F!e)7aXdDbHu2wKEk6i~7HLY+~N$spId@)6ycFV_%5DFH`qL z>b_*MeVh`?(&xccW^+wx*c{NE}#j zGYjrONX!z6S%HL|g$^o^b9TWF2nQG3K?Qd($qp$vKC=s@mrc4mRFn^e@)!~yR^U%} zSfRroF4{*F+~Eax1euN$?IU}!cT~Y071>jD>9nH@?JfQo6?tsI9bIt86x^|e>hwHL z#T*wZ5QN<^{&=2QOPyeUQ0Wu-!&pDbo*)mOEP|(mI-FW?JU!*hAamZ|}aPr7m{Z|!I6sh3ks!6ZQNX>axUs!m%phl7Z=>$3hrX+a*0a4wBRl& zxJ#jMnM%DZE0w}7FSyHVb-6<1u2`ZjSL)%FwYpr(-2hR&y5O!VxT~Rhji_GJi|Vyx zv3|c!39m0W9`OI`3Z=`9?Hfe$hTd%7D7J4ZxEl-ZCfHu6d^Z=|!h*Y*0&Y!$Z*Vsm&yF*m(EVw%g?oO!QC8~D?sy1it*86)3?(TxShxhmD z{k?_ivEV+vzQ5q^E4cf4{XoGzKxT>1{_h3%_d>kp6!!H83oKI)72Jab_fTO+|FH5t zQg9C!+#}?DRHPqO(U_?p6Q_@%fVUG4i{ayX@Hh`JTF{Pk(-S-~x#3CsgEar(4{PG5 z_`^S4VCj2CZTPIpeNLr4um3G7xaW!GN|7%V98}0p&Zi6RnSy&Z`#e{0ynU(=H~bf& z=w9sIJ1>dyKMU@qg8L`E^Rg(vQgAO9+$&IiRh48#rK<^5X)Su@_&i?<79|4zZZQy6Ts*u7O~YB)Kc$|lm1**^MO4r4+y zM`sqqU`hiBpcd2|qvq&UgHcmGfGw^L`$^rfM3)}q9d8zpitlZl4rH)NyMZwlw*{;j zmeg@$T6qkhmOIn!(Tcb?w-KPMNCnuXV_7?QVwdru@p>;z))gPwcrJ2UJR9PYItLX^<+Yl*(v)s7*kW7T`W6tsPjDdqWg4@&rsFaLLe@q6Xx8~E4BwH-efaZ2q0^I0!sq8SnLRh60y&Hw>MF{DALA75u?pL zk$D)R3c*L9n>!+_y4A~Gb;WQ?a9>r+GYHmj+zqMtHBH=IlNH4{G$g7vZ*lva$2VY} zUmId(Z0hzuaBI0A$jXa50Qf7gI>d1`yR*+_5QCf&wMIDuDB-&LMd%1exS0s$upW8W zcVHBDMd%H{7J%NM?KYH5VZ4llOS^;$I6X$407}nARJU>5ruW0P)K8(Lh6s9wJSAC~ z^tA~MWzl6id^?>p+5t6Zfl#fsn}!k;O=65vZ`S@7?tuXF+u=J&oy9_Ro7+-qyxR?s zoZoWvLc!8+>BjZ|MjykTj`LfQ%fRR>ej6)cn^=h!-8CJStnatAIcS)26tK0@_Y1Rht-&m9l3x98}OjXg6C^?({TS@%1* zPiMS=9;ZZmiMNU)vcya*Lw|5nw0M!A#QoB#`sxnJi7DZ_H%iuzxedFQyQQOV%LVY> z9{)f3`%l~|{nIx7&oDOK{n<^g_akj^Ymi^tRiL4a`KxkOA}1v03s` zFcFpRv=!m_$O~p6KF7l?3zsGm)*@Zrz`X?Es6`h>SlwF8dr>I)BfrDx2)FjFQ z))}YCRwOc~NBS7g`J9enhFF^FC$w5;Lcf(OrlG*OW*M3TVOu3j{w&#vBAaK&MCTY* z@7WofC9FkU=+I({#mM-cXNbM$k-~+7<|kN*RO0zD1!f~Y=L2v|AZ)$3Kq$V$FxFuw zG8&kP%u*yoX-k2%=%Qq3uAeS;;1Q?JxkO!ZX}o1BGZ1DX-R-!H%eUMsEmVy^Q)K)p zdF%^$u=YWFjyVCdmi29_R7I}7~6$l=Y2 zIm*ofhPLIdh!|Mmd5^8mrYQ^S*xksbm zVO9ANS$?qjAO?zyM>Dd6{9}6kc*4~T_c*VgNZb=~dbMKraZgg@L~K8!?OMh^67FPd zgY5@CxqE>P=o#`nE0WKOB-MXT_bpnJr;eXF13zJ!49kyhY}ffk`mu<66EBzz=tbFm zN;lg~c*&Z!RTdyVFHw()aq++cR9CeC#ZlAhU)2Q+G4@*Qlh^I`#cO1YQ^@Q=nnG_T zqaVywjX^VI4C39}S?{&zBE~z`uJ2~;x;Wm#=)npk6Vbn{UBmYKUM%qagzFfXgM@iQ zdpFBC#CJ=$h{5d)IX~Kik7O1SCm$!HQyGaqmXT|s0`DMeP2@ed4TClENw9m-96x%7VhG{|)Z@2@ z<_^erJB+Jg2oo_3K6k3p1VC6(8vqbi4*@CSb{>%*8EO8){X#T%4KF9UiTbsh+s*Ad z)9>ygtcYBK_GoID@O9DB<6@Eap8G7NHuuXK{iR23>Fv*SVcxsCaxdRKkbdv@+92C~ zD6@C~ho%2wBOtL}^(5nNt#E2NXg=e#+M*LfBTQD4ibTZqyMPU1j%y0uG>SUjx&)(ISOhhK;CY^hKT_kw~Eb7PyD zHgZBN;e}XmKPuyeI4rjR(58knlcXtIn)~ibea2Dfb?JO;gm%;%_ba~6n!S#?>7Z@H z!<_iFTn`9v4B@Fk>6*)R@26l=)#4y6$M6gRenRmC(CwG(oH1BvccJ{rnjw+Fewsqa z#TpbctKdwV0(YX)I&X_kkQxg(Fr=Nj6d zGZ|_{%3`Egcx4hX$|bYfu2S(UlU;tSCTW;+c%5(InSieBSrzE2^nui%tC)0A@~cYD zH89wU|6Ux|AbZA4tGU%Q4XVNLI{R!jVWTnXrcJ10?BurUy_$M}wvyejJ z)y9lX^HMFNKY;N@wv-LgGYHk{L(>kog@o;{UC>tQs?qE;qdWYj6mBq96~7sUZx$w4 z2Yu3^J}CroyBWPgF6b3HaZZifOT}+VmMyFNj&)(wl$Qu z4p%$uMKjUwav}O%CrXASz}BN;fbw=#$|xCB_Z_V6reXlfDiniW!R=Tp#x@>l82V|) z8DwP)B6^TR)6mcTqRg(dYaI8x0EwMXewfXTzLQsT!q)f*@2*8NVbT;`zfLAZ-$m2a zhh`hVDUd6+x}A%!VA*_*+JE z=`bK=R?St0<`ixFtJ<*F6fmKx;#a3N3GJY@(@}(Hz4So3!|ocRa!vHIGs*l2^jYr|)1<%A?7b^$ zPlTrdqz0?6wp2B=&lq0q-LTBqS}uXQeMTu@{B55w;@AhAYPWi`&4);KmwK;zNKa3Exs860cJ zQtgCVhwzQ~&BTPrIlqi>s>zz^M?i4|3%nwNZ}9nmTv&JNSUoq?B04hUTVnMb={5rQno@1`9F=2# z5OrHbh0TLxzEMILX7SNRvUZ1fu7$y#jOK|+>2as5^J93jnH%Favn^CIR0nKzR4dx4 zjD@g}h7F6=v>1f-4!X}Z~p{~6hSR?WszT6$aSxUx5*tz7|s{u~nfR>A|U4uf$t z9gh9FHfQS|aX@&oEl=VyIG$y2J05LU#=U?0xD1YOYPdg1OJ<3PN6i0Bjx2nW99dfu z2~?Lve1xyc##4D6OFj+nZs?J2RX0|CO1=2u33JZP$;b~Rw$z=6Lt?=sRCi=)E z<4)ff%+sx?t~Ei=5Va7C-AZbX-jMep*0v?GdvFCU^4eclMcZ$p&C;=ZB2g2E3(RFN zqHBtICT!N}pN;bZxS&$kYg)gBkm_Be1dXCpQpXzfn2C zCUcM0^&ge9k<$82!Imum7kNo3 zX!5cz+TleMU;s0tmSM!s?1p5EhMkBo?6fB>u_LeKzPowt(qctQ4sGS+7=(q9ua>Yc zn{`p!w$rxlz6M7Bgh!i zYQ+zS$naR*L9D4p#N<$7FT3?bWPK4afU^n!X9HP435(uIq~#)j zwbPGdrZBJJ$N}lZk`CVAvZZ7<9W@}-il1gBOj8LdFsKFh$4~+dwhzDdVXkqf zg-LCd`5%3if(5J0?IwP;V#J!R!M?9;y@pCw0sHjNZojSkjD))EpJ2ekcm=*g!Z14^ zD$IKr`L2iC3Cl^w0p&rzXX>n(O{Zqrv#h{bGHPMT`WbdClFrsWC$2Z)(=X#ybrKz7 z$y;Q^B3mukWZ55XX05}~C?BDFO=>7YOwv+E#Tb(nnXl;OV|2kO+OIU@j*}IO+fAK5 zLq5fN6_8J<%ZafrCyDoytS-Q%SlNV^#L+ZfXex7|i4>=*c9NV!tuR=T)a+H5tWJYD z%vHEXkqU1Vdv&I$%#qp3&EfrAy`QW1LH@QdlLbsxBl1oe2K%!U~FGO*@U@R)D)94QolsM6_yg}42XgZU3gMi0zA8{w97>7a*I-V zImE7DJW<*e>IEejxQshbSBKKDeHAc$h0+2sj9|69P8DomM(p|;u^W^CQ`il%hE;+& zjFMn&p{OnFMQu5Mvl8E8CbC;dd~2X~s|}D;#<2pnu~^vxCNh5CuHVe9(7Jc%(H-_k zUFmd1if@p0WG};jCi&7{+^v*%^BbE94~Aer!*s@u+ArBHlW)GoNknk8cEWLdq0zxt zL`6k=h#5l%XZk1FmX|L2jNmWQ$?-LYu`=|CU?;FN)p!Ovd9#K{VH7<@$by@Qa3thm z63;h{HrL78s56cRaI>zVZ_be>VHXY2S{#vDFbHX?7-x+EOX6!zw~I`Bv>N#>j8C^$ zTqjrd-uYpPq#hj%t8&la(nqEU!7)TDo7oI>Xz3@g2e=n!trI9M1qUq;A6%F*^~6{zZfeyW9U6RmsZL{h#T4-fm}1&FJE=xbW&yq?s8j}KDJgI8{QaZd6}KKpZo84D$?mB`jV8{ zeEYd=dbMIRiXKRoYKor8Y{TR1JVI-lQNa#j8io^iV(|$(m)MI#RA{5K3uPHz=w$Rd zJaO88-L9EBsM+rZ2fNjbj=Lj%?!luygjW8`cpBK98I>g8$!1jF6GLx3koF0aQ8!<< z_7-MLYY~q-rtBFYHGqM4Y~DwS&T@ttUE94Ocl6FuYM(J9#$(^Sk4A_*=!CR^ujEq2 zhSjNxRVoYn7bSAkq?k8~$u3!q`X1*(jS79t0aVOXTbuj-RHCougA%p+pn%bMvZ_=# zzVV1aw+_tsYU&jO5}v{eU};$aoEw!BP+&xoQA35CYg*%)`eO5% z`T~mpjk|WWs;$6g*h(-BnYyVaQZGuvl%FC~fEpmiw2f>Hr#6NgJdIhuNx&kgAW*}h z3Di@t8Co`!5^e+>2A)Qe*8Ic}t(DfI6-;4LTUumlxACZ4o^J0Ip(o_r1Wka=@M+BO z{#7?IiGZfmof3p=)DTSU&8p4UN%hQ0Y#Qo^O~M36nX9r*|1bp^+sZZ_Zk5lisGfO= zO+#tBNl@BWn9F1{$FM0(X3K_h!EFc2fyo_6o9S$o)}RBXAY5D8ogLm_qjI|G5Jl_k zc#oN|sp08-^8ICx<2ZW@)$xqBvVGyKnKMu=vUJ#Z#tQhnnRx6F8I(~ry1UrrmJx@H ze0?lk3~A{{!{D(Kq$UDjN7C&sZ%d|`GYHY)6yJHp(wkNsM@FSs!r0a9zSGIrjzhcR zS7FSp633i0bgPzbP;NzX>}~gAVy)Jji`5B)5)&qU)w!T1kub_oYf?~EO{X1?0M4eS ziw(C{Q^SSpCg)WHF{SF8nqxssRaEotmG*N>EMP zLaLw!{f-%f3_i$s`Yw|sGa#xJ-KuU-Co9GGJc2f-ZkoiFii&s8b834l)5FXftQu>S zkr*u8qg8SrPT*L79Klbf(STNkwe{8AS5_!WR_J!E+I4@ZRnojl(Q>-A-O#Cs2RzCS z;O&b~*AQKo#p%axxchN8%LIYF%9w!Gml|dR_kFj)R2GV&1c7~MI%~VV@H1!*Qo!$7 zEQ;_65tW1$5Y$<7e@8GmB@8PA{p z&7VjIWBGF{{@g0ueA${mu>);vf{s;V8~UJnOfO1pxu@G!0wHgAW`W^r5(~_BY9xaf zpNhaxbUTd5Ptd#ZtTC2kN4KL^=AGOGx6@QsnWFpoh&;s!7s~t*CdnT`^Y|AmJ-?VL zKLm*kT}mI}p8N-J^q@~$^KHJz4$(8C18Ri>d!#Z;yDW!v zj_n5}-8!*zhMx^7JF$xthxH->OXzly8p)wu%;0Ux={*33M^Z!{wX6FX=4 zqaejW{b=KgLwk`kJHv*N%W=KPnSDflVm5{*a*Agg;o#0`{`jQJ15J|1+4KbYl~(XJ zXJUNi6QRW-TopsdaGe4Osz>y-pqp`Oq z;y4=FyHM;ckQ=F605Oi(xRPE3F^<@tWAE)I`8SB70zk4A7C8 z!}Cp)x-bHUaKqDRbm^>Yt#_-~<9vLpoJYHLGUmC$0?YT@tw5ZU1E>3FNfi~ zNywoWQun~#y>c5>>)|*G$+5v@6d%&50tqSNEE>n_M1Vmedk>1ehvY?yyJ)vSLLQW> zXjvYk&}hS7G_Z%CXj=6X?UtV?Z=QfXz(Huee?-h~u5XIHr{yS$e`vSdL?QJI6rU9) zh}e71NRE+rD4*wGZ;{wr1ba3ICi)jL_FfcwFD32;d4+b%KlDYph?f1!Mq{L0L#_2* z6??DAEfjQ+Zh$}>Z(fJJH;lbE&Fk|`TJJ5f_qKpRa02a?_a~&@f#SRJ`V@PMjpW91 z{^YY5_TCeF@4?>2p|JNgZ$2;&&=1J@pxnuJ+mRTab_NS8f3`K{8SJ^0-;$Em3yjCxev++%@(2A8KE&Ch6F-~ z1fY;c0fq4FPzW6s31tu=Q-KHpe>-w?qzE0E5!x6;?m*~hfrDssI3^E3w>t(x$3{Y6 zgz)EaJOTOR_>9mAB6LDVXc7n^Y#>~wJW;qHW#G4YEl7|_RZ$9DkW=!de_IQK2vP(V zWJG>_Hd%lJiU5RQS>ea&`f)lx96!#`4}pXTrt?hwIFlcxZ28<1s1Wwxxp~k+Knmgd zyONwml0Eru7$PTHx{(-7G3k5(hp4B|HxQBY zN%~hM{VPcaE2$HD2;Y;y4grf>n=?QmJX=80io~5uiOAsG`dvps#8&U^xcYk&YmWS9o7%x^$(L)R;``~n{kUWYYdBm|b z5!~#^-r*_i0pD?$Ks>sIUzff2kAZ|<*+y-k9?3F@cx1`LQTO$re+25wuxAD5q4!=GK97;Y35DqXj zRB>=Pcy=cg?-CG4>2uqE?pF4@$v#BMTS4Xs+3rn2=Fqx-pFwZjM>gO$NHRna9sKzK zPyQ|(jz|d1jiP~Y7$N5$ii92({)To1fH-*e2-zNugdR(Q;{b$Xs()O78J~w$ zBq$D^y+F1XBcYd45IF$Cm?{L0e`bVU7NM6jLX*JbXm1u2$16g}Al8arzs76ZZ-xNL z;Q-4B+dF_7MNl=6drTED$-k)wZ}OnKAzK;u0;sMmuR-MaK)4*!{71Z&RQ9obcZ1IX=}(2w z0X9e3gUf+@CvJE$GzY+u4cN~k97n}}VR#;2&>&yho3Dh(0T4&U&nQH7$o>V!^Z^Ao zLns{Gg5TI5qcQi>!P=OKo-ile4fr^)FcsVl%A3Wdb`t~l@xX4>0lOi*joF21{$O5< z+e7TT+aFqh+YD#}3$bz^PVR1?H^l7`Ktdz{Zh*T1;s#Mw46oxT3Ibt+H^)SD4Q@JS z+#V-xj~CtsI2hgjgaSw#0A!Sfr*Wcjdy=p}K+l*8pa$igT;mpOjXDpq1~3|@!tH61 zTM#thx?8vz;1NaKjIy7j+;fcEGmP80#?x6?hcO4k?b!uzH^9!A>d&z^pk$m=04Ad% zaEzd8nkR1O8%oA}xIJHB8Gv4tg^KZ4;}$Fo__zQf0Am!v#i+LJ0&#nh&@q6-nC3yi zu(rK8a@z+AqYM-Vxi2$rFEMT}H=cmN02AX1c)C&u8USBR72E}Fdv!0oi^%P@;`Tah zxWcyRt^!?@JpdOs7`NbAz{iacxk=^SRO5D`xVS5T0)2w4&rr~__67tB&?uhc4X71iBrFoQFBp8q3vm0QP%J>D zDEpU$Lm_VeSpYQyK#HjVQc&K@HEv%Kx33DF0$hq|{yg_x#4T_WfKa>%!MBwA zE#vkL74?g697(B{JRD4E8M#jwAkMKtKb$F+`oA9UdHYF;`W1rd#~U=fZGoX z?)`%M5aJ)P6d1Q33lzhB43SS%-X}F~KNYv172Kx<_Zi&&J97JZQE*>E z@GIs1%DDZ)xSdf{fA3#(GdOS-acC(zvK~;J>U-?X%%bZlx|zH=uo&BRRuOIwD!K!U z?w}%yFqSCJm_-y}MRzbAiz2M(;NuX8912>7JCs{Q`{*!TTfz@3y2FaqMf&g}r?Deg ztcvak=p3m`N0Mo;FiwstQpKZ-?x>>6G3)T%*N z6u=;%>9c_ME|qI`ooP*sJkFd=4VNX!D&J6-z(}E;y6+QA&K2w}+{BT+Wf}%rqg2oP z&-;fvodQ#-qXrGGaT;b>!iZ0y4wkH`ea4ryJ7%OZ>q<8@SkA3Dg&J5YY*k6s6N92G zsB1S?*k<=#Sz%YvrQBrIZ(#cWZU=PNI-n)A|1{bkuCnWK?TcU5iF*b5!tn09;e7?y zY!~9x7c0{jD^I26Q-vh4-sH9rePJO<rg{H}JzFvWv)*(NZw1hSad z@x=+wmJtPfVbs^rD|{8`6*`AlFQ4wui1i`XOVJHjBG$`;KDji_S}|>Ry~>lRjpKvL zL4OhMB|y1_t}j))-i(fRdzpKNq#6)47%dEdK6g!ua)Pzf2=@?Z1T(gEcpa=WC>?Wz zT4A$b1#8xj*2>VVHqY)~scJ1WDZ{zUm?&y68_^c->-{UcueX(76|%MaR?hBPS=QAo zm08^;d(Lh`alsg8@4UVm{Tgl!=c|@C)5kRW!IsZ#Z(H@beS#IHHL{G6-cqf@RfBaV zW2P^(py<7v+PgS zHDLMdgf43IvgZ{!aG0L1Qi(U8UKnkZ?_vbQE1B!0nDk+d*hUQWaGE5@dToo9`7(2kQU-m~Y--EW?^{`q* zk~8@&_6{_2+)Pr;Qi@rmuu0V{L)}5i&|CpKooFANV5-Bh)?x=3@k7llcL-TA&>@Y~ zh#ww_W0T_}58ES^;>a5Dqhzfcnk&k~7UCG|j?O%6LpxxV<8v%oG0`EG)QDrCGtRNq znYpekTOD#qjX1`+lOf&@S6dN3)r@qf!a3$T;~WbcpXgkRfKnrVW+Xl*aeU6C__-o3 z_uAMjXUTFmG}j*!o`|0l-D(xoHxNHh<~w&TS+U?Doz#fWkHoR!@tIGGsv$2Dzd)wD zp}9JbArImUVweC$_6@`_zVVSo?_v>`t8DDhOCoWMdVDS+1x7tiST)Wsmr-wMt{&^2 zh+moDBnuV{Xs(es#yvh)krm?}8toeKVB>47+W5*f8(-x723hrn<_6#!E8;hqY40Y8 zFO0-*P8^?w5WhvlZ>bT-$Y&jTn~Z&!{K~TT70nYi62C+CzM;7W++RifF4_Jt`Elxs z#IgJFxtpx_D(k&9;=%maST+BZYv#X5{O>aODa;DyKZrk+xCdqbtN4c_aZGl6WCwgy z#2>8@f6P)e$`r`wF;YCC6i<*M5`R*rKsg~3F#zJ&0Wl87kO4LnF$wZ{nyk+%>$5fD z!7|ubwG5*9Rti}LBk>nx3zW+?mO+SP8hlZvK?@#W#Ife_k%{mXWqqYa9Mhn+`D-!} zVkj)jN?625SS9|3tc3FBe$$9!B7CzNLBNP(E#&hyS>ILGcWcBKN8(rv`79>IdrBdr zVdNa6VQE=LLqr(~NyHJ@PnN=uWGn_%L z>U<1`Gc&tE3F9GYGt1#*Sq?eVA@!N=wAs&AOkZt42b)mG1sSp$5u@J{@XkBDhL+pnf z>6BGA!$=%kp%KSyXqLlXX2VF_Y=+vTPBr3K3b7o9SOS6g85XQp0esICahV4r@i~$B zT$u(foIuq&7>Q#8Jey`oi6bD+u?k`#JQvPo6_gN(HIUDF5T7sN^J~O03mWGb1^Jv$ z3QT`R?0?l}xlm?7ZCneCI3~db)j$G9+>C+56d)eDvR+anE}NisMQnk5E+qxlz#{g* zDsha0S3tbzuQcLV0I!rCup)Dy5yu$FM`l5+e??4y)n>sUXvDGp@wtu^SpSNc0IS4r zlwD98*G)!zp@rmK2=SXEajbxRZYC=x!6FvHDsk+9MjR_3pW8@*aS)YNjrg6i4{GDO z%ZOth#8h}U#P5m3F%9y$hphK0>wPui_ebInSZsm&Nr92DXki6nhnlHS8yB$z=uqr} z*bEzX*z&OeGV1}f2<*itnomTTt3I76`>8u5Rd`S3G{ zV^TzKRU?jJ@e7C##I7jf*bcD@eg)?O3$0dRhFulNC>&9OT2iGg`hdeu0`gPKJqyp;#eKgdew-Zq*FgONDPwE z28rs6*LH)ewu79SvVoZ~5|d=PW{)gko~)keuu7u7k70UIjH#$OqD2G%Z5eZo|Fcpz zS4KtD_r_fd;RR%tJR7>_D$BVw{xMS;|MSc|c^)a|E5&^ApKW<9GFj@R_t$8&+)GAF z7SN1Lqaq6^!GaiDU@w_2@v0D&xcAC}sdW;|WvLoZpj)O(-dvhak?9iIlN?+pC*>en zFfS)y?*G&JlP|wffAa3i$>r5Rn|0jhFkQ%G!9xrVy21g{qqMpK(xVLKiwWTP661WK zsZ}d?sxm7y*s7~DXIFv)S5nttz!B@GnuaEZ{jJ1aL zKlwFbd(Ci#NEupDnB=^vOFEXNF5wRN56JO@-Z^?*=cY+SgLsRrIO7b3lto-tfvQ|CgJvj+rn+xwJaqGO}7=vaa=Z-UMe*x!Y>d| zaWX#30|M#-PVV+@+x8|jC4@}ef=G%9zRKIV?JIr<*xf;e=TVaka1*M9@5pqsD-n}X zj|`Br@*rHkq0~~-lXUrCK*_EcSNue)$i&bQEnGFO_q#i88gJqEAW?SF*!?ObaQ@e* zd{K+I-z*7|8xjoilSyDM$z3Qydg(#_kR{lQ8rk*YE&LP`*zMv9>W}V_V6fktCY^>G z^0Y4hM-uGg{^<6p$Q3zD@F$qGAc-Fm>d-cp9Q?I1*Q(4W!OW_fx<(2 z4x>KEUlNm}R2}lR zzD0ylZ}7PVPS9@Hd(<0zbn|y?cyNdG8*)-czfn_fOqP1XGTal@8}g{O2loc==B@E= z#u4a#VdDaNE8Pb9QD{6MoyKHoG}5X<v^O*wZmRIt@NgQ^k>iBH9f(JUcl&TM^GE?s*=xN~>X9 zy&!Fdia?u@mokGFrq94Dx_1%(jOo#A@cAc2v;~T<$j@0tpxm$`&}_VBMZ6xfydj;2 z+8Lb&(G3hI_f2zuezi{#Z^!iLH~73w5n}?6?`lY*-azBAn5PSe>TwI+(QGX5nYQCS zdLeU({y<*Q7^5RKv>ANl8-1GPYn6&a&d^R84&xY2#;3+HS`BNIf6LvO@C-wx%`oq0 z-h3_qTvQ>wTjk4`;VZd9o020=@)^=&7=``ihj@T=8twqRN6=_k5vI?;DO%FGJvdN) z(7JswD^G0?$~)8>2jx4^WiYr7mO=w125R8E?JbAo!)jY6mByjuYeT0&KGYc~HV!A> z5z1#O3=|po%*f3-%VR1GU8Tw5BpxFTMh6-U@*FSUXZ)TkQeT`<&4cdZM9Qhd=b3U& zHVwwfvq%S(>ws}Men5$<%Qgv>!irACPa;K9uMfYc@`OQ9w)5% z@!k2-T9`)TBpU`Slu~6_>I+l_^cNRMg)vzQjIakLaHj?mW$RR(0 zJs?rruHj;BmdUig#3+J-X!DJ?rm?*0oxv;(LKtt*uc{QjY*;JI#=5bP2SN?ZbS9Mjj-G(-HCY9KkIaf*Sm?j}gv|~s@C)$9xWQ>!Q zBpRI=)7>#vY>ktN3W$iivbf;_A_5AEinyTyDz3QiJGkJ!@9XdVIrmmow=vH=uV-T=|{hV_?hZc@Ch=6olpglQhHHl=Q^LjVu^@CtG#>HboBrqZooqwI13WpdZzOSvOzS?+ zfaT*PH4j+aEr%&@T4K>60EWmW4>5GOF+g|tJOk+W*9!HdxIYH)48+Os$EdAhV&M-g{JltV6N~Oa ztXIAPw8a{8a>A93#y>|nZVxc}Q#ad6R)2bOTxhr8(ZTn2^q>o^wEvm75TL!%df1}t zyXgM6uy2eG9W>fWIm$dE->hcz2PGGVcU_O?Ef2=GM~5xRxs^f6frGw{sOI#?BFAHK z(`P;xdMZ-o{#4}9@IRdB14naFtryj+)U`hG1&-#5Dj!>j0`ajm_yLnl z$gh-hj25`B`Oz%)OkC^b0KaNAC)69txwBq?yRh7M8O@zE!;*&(u*{uwS8{3weZj|_ zms#44MJokH<1{L2v(WuGb7#@H(1hJ+4F43 zVa5%wbe{JVU#D$Y0A=MNp4Qs{7GW1II(m$;igC+#GCdKtIk&&qG1&PrVWBp+X&Qs! zN~Y>1&cm}w+Ff%ZYE#y)kQItx`${hejPE$c|3Ns7QG|c>&At>irMXTp)6H7_Zulze z^=pXUoHe_-Xj0+DwDwKFUAzz!!Gd2>AE1*_RUL@SgH*D2pTYd23Cof^Am=H4NDUi6eoUYvoN#A35;ij)F zi%2J&jYca!NULDvkfxdc@Fbv(ss>FL&EF!;yz&XPwjJ+! z|IOd^JMykiEaSa3i=}=he*&v+iNQbPcH5-u2c@zxpdL z^zB0%1FJo$6>5Mlf7lfF=H|FNO@=SGYr@NuC%`ZcLx%GS^#w7ah92JRn|>?9e7liV zg;ycA-pPcvuAkr!adUi~Bda~h`Z}_l0kw}^>g)E69>Hwl+!^Mw9B3=U58xvK+o|YJ zk501uosO(6ldP?fHG*AhL?18kt?WBJg4e{#wvEejfUV3-yDX+yGyz~3{?#`uWQ|O+ zzK^UQV4L)VKG3!A+Yfv678h+rm&^JQZ}J}zb1D|*l`V+vZ}Hpq%!Tvy$v4o2SNWmk z!0ahw$>UK7WOM2%<4AFSk*({O4vR@UvHqcn7D2#)F=ZE0+!P6Cl$cT_h?aAN3;HR7 z9AU$2AG*)h%qdkwIMZdJ-ZI8XJ8Rj2JD49H+5&HIU!N>_Uf(U*Q4-n4TFuL~-`8q7 zm-e$r3)U!T*|Yc}?PJT@z?yqOhO;uT^9`ttT?@v~K5_X7Irg2WjW;XD(hlCNQ)IA6 zRFGcQYD+X&9AaPCrM6a~ykT9I(ngeyp`9{VRNJsp)ZxlIkYd#J#20Bx+@M-ntI+oL zvR1?PVN*nH$`b!FTUdxpxZbMGqBK90?#r9?tF~D$tQJGiQ#`SgE zyf?1hG|??AVQ-To#pBt#hS@iIdDnK>H`C0wv6MNME*%!nrDB=nT-q1eF2;qec*ZNd zy)@L>&RwG8#C;q_{TpoOwvE<_Z@FzO>F>52uI(x|bX)z?%Ekp(4h+7`#YpBN<@FOP zER+hRmJ2`hbI1>?+y#Eh8a*ZB^^58nah{7lpko){yyuMhcr5J3_hMa_6-%Y>$)c$I ztrpPll(jjyg zfT7(V`r)?lM1rhIe%cDE7;+D`bbT_S!_J4Z6|!$+c!<$hIFRFh;l*T`kE{ib7|*H6TBw|k z6@wUK(19dC;_8xIB)r&{Jj9WQ$QEvKmDPgZE+A)oN3;npUP9J>!NfjZV8j>2vf#rc zUW|MI;%t@TVyq}GGF6HT3^_79I+qFeh8tU2)3j574vX-jUxCutq(OKciPjaeCi;X0YX{eviJAj1@E0#OdD)vg-`P+eg1#z8$b2W(h@ z(pC%;>4kSSfx;t2c|qE(G;NJU00yrSBus>JwdeL)d+v~}o3^k!lL!#vyS$G;#H8KL zV1W(eHOUYcV=ec}(9P?;&kGfW5%cH$R0sXVVD<~&P9LgO2t52Sg-41BgEkjs^v0i$ zf>nbH6TF;y(xLb9OxL7(fy0jr2_6^LO7^-87%`}D8GM+oJSoY__LK?>3RZLi?U7Fl z9M)s}OsWV>m_KFc_N=GmFnD9yo)-qZJ$NwEUdS*{{OW0y<6coPF(PwSo($sPdP)w+$6d?^fxJPzx{PZT{^_KeNm@vpNb{lHNJC)HY zf(ol|V8Xz|?@7LjCqwv{C)^dTQra zPpeEzPBv~X3y^qbl;t3?Tf2b}lYA0QSTT&}x66QvX;WgyIHf)w^@cRf8g!i41E zg=lF*cmVI_=lph0q&+94*Iq+j#oXhcQoK9lxbWg`*30c-Bdr&AJJNdbER~o6u^cWs z+gC#)wHiE{@#yba9oBAR;SfNeR5Lgk96-QZr6@5`JPSse*Pw5$Tz~mTizNVNZL-&EKd^h z@$Fa{0Em5?$|5aZGZ>x=00$6%`6``|L1Gkl4USc3JsrWaP<#oN z#b9-Z7KQI=z9e3CHJ+2LcIsZKTV{!F52xF>aMil)m&}&1C9U4lA1tC7wAX*=#nUus zZH!Ry|7LyUv_2}uJG8e*siAr66lms?^WE5`1fvkBLLGDzr8SK7LBo~HC$dwK4_c1& z`>BstC5$)C;pQ1jj$#|`vQcvLlB(xN)b%5^A?vY@z1WZK#~QuuD7IZ?1#HjoIo8sT zip1MBhLLl0c!%Jj5fHW`nRY@W;&Bm(?rl47!hLhJ?b6FdlS0E`Y|TV^#eOhhPuUGI ze#zW{OJ*a%wdztlM?!ZK&(VHvFeq+yj(G3RZg84tNL@S%DuH>RsB?j$5w6L{o~lmheJJ8M3DSr8>Ha7p#D zT8e=T)F$qS=jyvS7Kf%t7ei&gln;xN{ZhXSml%O|-ADN>CWQ6{Dx>RY8rF0h?c+Ae zBwkpV#CDh$yG;IB7wJO!XD+0aTdH!tGq!U%h2VNwa?skB%PC(kOWs+%^3L*#xqtGx zoawz%0%WO_Dqfy)T;(QAS7lm`s%$qMGGMxz@#({UiAKfSsn6sJFVq=U##`!enJ=}- zd});|m=2Kn5?QVrB<%WBW_7e+8ZHYac^2O|&_#<(H>FZKfZpuaQ~z%|8*p=_1)aLM z@{#wJ@2VZTzw+4JmM*Y5)OfzzW!_ZVLOU>Y@{4RM7g_prXJw!}FnMAlj?f$F_E#6yk^LSWy+4xDPjz>~AxYY7_q}GkcJPtVL z3GT8!)KBP6tE19dt;u!iRtvX=(z({^KuO-UOzl&e`=@2-#Eo{_y7bg>mzAv(EE`E8 z_ts}!BG=kXyw-A&?crvtEA0y|k-X251nc8bnd)`6D)MDrWhIh3tv52=WLst41fSUe z^CoV%++@{A^1g=1H?_UIrAsaLO;w59Y~My=8y8!~ol7kCPVchA;klL3W%fPYUd!PF z=8ReUpf+nCMz+VIZnfT&k7d%N@%ltXC*X;|cFCoY%Pc=lO_9QWm#;}Xex zCe1!e66e<2S#s5?N=%kcY}51VIR{|pgvrx6_1)MxArKQM?41?>94xH&IbA5|fVYBM zIN_*O-R`k*5_Kal9BiEGt2RzMW8;LJCHfCGO&B~~h%ii=mega(R6h#qrpkNA4VwIg zafu{g#e_lAGGNC`<&Q<~Caj(C%Hpkv%~G968J&|6i>AoQC^sz(nU>dYB0sFF>S1xZ@~8Sh6ph_bH1ZWMDtt{PcmgmTz+1K~4=VSm z!jEbbIZ+{TQWj5rUcClwpJsZsWaD+PFTXBI}vBce-mQdw|&h2=iw}QMEkc2N3 zpYv+1z$NNpZ-u);X$mgM;^wo=xf_=;7MFS}F3Z}bS-XrGxja=0o8uJ}EJEfOo3&hI zj+&9H)C!m!p>@2PDz8yG6pmU5xhMr|22IC3i`}-J)%Tt#ORl8t+l=CfFUry$bemU$(0*+%K6A zh`!MtK<0yDaD=uIj>b*I(D;y=*96a`NE&_i9uY&M#tn`}Pk^8CF%nuKW<=BzPR95I zgS1xZ&@yV=$on`+>ztSI;o7)8DV9dxn8ed480cxAu4l3kHA2h?pKPk-*(}_Qsuo&C zulD&Ygp8{81y%cE7B)tR7ulMW4*#O6CGQI)z3d!}>uc4%lC@X7TIXcce)yWk;`Kzw zI2t-eWWJe&kr4*QGDM7w@mrd-Sohmmm=M+Mcf_lxMnK5OT7NGwGM2^2=&k%f6pU*2 zhbiGBHYzXiv8wna@i6v;2~eTo_?c6)$@?+Qp6C>e@7J0=DF-#9sy#FZGoz}VERwau zM9>H?;{ot8suhRl;AVu25nmjCeRYVC@d)zcijxwK%0ay-0Y~R(#W6X9o$;6)UY|;b zhEc5`@6jY3Cr(Ca9oh5}z;t}hj`wDqAYMjos?&0e&$L_`pH65RA!gKV8d65jFjF** zYQTvpA<;C#u$`D2VQNh0edrp=+8Ll{kenB({s7u=AdmPR)AW6cBS9L9L>!LJ1@Hk#f4hzsWlC~6x{1QpK1Zi#cqq3u77nh03QGzb@a&1*Q zN61E!q$_fE1zBJjNsNx;V05JYSLJNE_#DgOYEe0YAw-cdI$q=XS0n)|bGFj!Smm^i zt7yu#YRa`Vr4-9tCq_q2@Aaw7YU1m8nHxm(2%94e+Ucj8#OJ8dy;)q28r@scFSm-s zQGH$`ibrT1@x1Y$N@8`qJ-0oSj*RpjIUYl#@!RdWh_F+tLo|d(?Qs`pCZ~&PV=yFgGqh_6Vc)K(5C}D&;!i zdxYsx3;wZG_v4~?)QCKh1g&+Z$F=lnUCQ!gWPEHDv^i{}F0Or+_3?9FYE~bcUBi{y6X$`*IE{ zNcHy>4a6&z4t0nU@{mwrgp9{nNFc=osT+QS0Eaj9{f&z7l6WE!)h3omK5xTTkk?-&aYFN+S5#Wb>&ztam4*E#AB74LY>3Jc1{E$D|!bjqX)Kd94{Q_O& zCnQ*y&;Wg;O=w`Z#5P-bC*d{Uustl1bm-6qmI~7NZBj#ZskDX3p0@+)NXR19{VC2B zITbX0nJNxR2~I4M9k56u`bhaz#Ad=Jd6Y|mJklElT_k@V(=ZP1NEQvWk#I;J z*MO6bxFV~&B+QW~P;R)0BPrJ*;>hVF6k(2xf(DUCdKRc6Px88;jr6)8jpWZ$8hQg< zkqCli^3;a3XdsXzPbc(|B8;4cv0Y^+g-4Pt)7c}>AlWKAW`m5bXNywOW|OYaqiWck z1{fu^lb+=n<~G1935R4iRFd>>p2#Gjk%VVNBXdrrhaDo4oKLy7NF=F07OLWN8*Cw= z2O36)^HhEjZt_sxQhu?@FRqn8AOCpo?FID2E}%uNm7Q-1G)?}~h2F`Ia1mh#NPuMo z?h(A?Y28vuzXYO@2D=35%OrhSP5Pw`cB!}SvIe`1KXAiQj>~H~u7GL8E4k7uX${L8 zj6at%vsX#>)$oio*wx6s1{T~(xz4bn!B$XicvzVlx2nNbkx&fRCPCLhGtyw!vEZ&x zSyn?U;&t7SvfS8U{COiYdsBlUh>SN?X7*;!(;04om8rpQuFfoA9~2`E10V4<4YtPR z-lopoR%v8MxLsVJcfdCS-!}quQ@srf#79-# zqhxK-vTF&CCE1TR*yG4%GffF=8*D8Jtzn%id$PgSHQ19#eoE=~lp1X0T}RT>Q0T&4 z(va?KE#Vm$o7fgoht@+q;{A9Q?r;8p_FKdBTy2=1hkC^8dciAi4KG6c4YMw5;3d`m za)Z6pU@z1BSD*o>EN?g1+g{f@ zDa*SJ#-H!92HtBh1d;K*${Kjz^K^y}Ahm`4n@(4r?ho~leFX7HgMFldPksHkL5>oi zuwz2COM2z$o{+Z*u34X$SB6P>o0zvr`R;INp8ieF+o5@zoQG%^-KiaxukL$O@-~HX zZQ<~|9nK#^!&F72J0fpW^L9jjbU0GwkILJTc{_^oN2~nNwerX0?HG!+hGX;0`?2y) zt32Ju3Dw9telXy6G&(d)AB~zG+H-Z(r4stdfsLreWs+(tVusHZzocsEu56M zllY?}oU9xt*K(Yaw^O{5Q@xVrFe`8TIV(RdoF>_)=k2t-osR4?@^(h0TxU2lZ)Z|& zc$l3UHz#j%NGOK0lAyVHi=I4z+=jVIFg1jM!j0^H<-(Ki> zI>Whn#eue>?jk~jXmg*9-iYG0GLTl2Pt=HHgL+bZQc!|i#yopQs& z9jVcG=Iu@ris7y#=fbcCmse7PdAGrW?wR|YNQSM&C&SMi#1zE;WE z5nk6qej{(M=j{zTtA+d~)!LhU5uoaW(iz^$+gp?$9^Uq4_fFp4&f7cG{BCOFdwF}0 z3~-XCgb(uef!Fwrdcmf9V`dZ>`x%Am4nMQN*q>OinFTwM@*4Y-sLf8|OI6R; z8BQ+P$&}B9Qz(ywQwo)%@u>wnm0$Y9tb)x-sTf8V>@+G#7tYfQcDk27qabU8GYfV` z!Okp<4zo2ha|$-QU~?GDvkG>WN~Nb@Zo%eK44ui@vDUMzwa)Vq84=DY7=NBqXgPY) zgb8(Fe!=D!!h%8-ZChBdg@^!cJGa2PKCfWs7VNx2cUYvF7Z+?%!4^~V`LTlYYXfsZ zs$ogN_;X32Au(Dv+ z6l^6cX;r~ik(X1b3-1WmrAn?Z7=QBLYYQ74I)Sm`{~55=1zWAknrwL?+)%I^)VC(P z2(r6^-Ke2#vIT{36H@G^%KFNMn>CoX6zt}L-9lGyRae&(?AC&6u*@j+zRCdR!u@K+ z0|mRkU=JYnL5Y2+U=J4TA;dmhu!pN+JHsOddxVi`36CPj9<8pV$MgU^Ua-ds_P8DZ z-Fu%!|BVeSNB6PZsPc>Uvr-pRTlQM0iF&uP@j$1zS(< zXZ7{Df<0TX=g9qh?8)<${2k$ig1t~^Ia~9emhOn~qRiG_D%gt!dx=NoWyyG@U@sT! z6=b}s8egqRc&$LYUoY5e1>?W|X_+l~YW|4uhGyW+g1u3&H)+sY683h%-YVGJ2zy7u z-l++Dw_xuwR@;U5(kgntVDFQ#WB5P?KP=b>1^cjo@wC2vT(FM{_Hm&q9m8Qo1WhU0VMUu#gbh?*rxxw- zqD?LKha)8I$f6xl+&&ytq^(EE7aJj-=BCXq|LCF}jkx}Bj4~agOrCzM${$y>V~ciN zQBGE#dc0CkDBAHwJAu^kF?E_!rx$Hn(WaA%Z&Wg4=?pW9HltYERXfAXqRphfmT;o# zJF!~dNk!Jw$wfP^W}GDVATv=QOdA{hOwqMcf_S;f)eH1+!QqMcT> z(~BHQCG?CUTQ%j+RQWT#d}Vu_U9{QMUJ7&6EIX_9aDITC_`wJz<&BZ5hpK zHS#Vc>C&R{SyD{LzRqx2(Ju4aE-&&vzM^QC7wwAT0pUuoe0kBXEZTA^zbe&rbjxdB4q-YNp?Gb8vRO$ApS5DrCNqVekeD1GR{&>+IcVSO>ZEK76MA6n#+qxwD$)Y{! z8J$Q>h8IqnW8lQEw+MX}k^DgWKP4bIHd!cAA z($$x|@|TPDQqf+f@>fz_uNLi9&;MFVc)e(^d*yGa@;8h2M$z7+rni)CZ+Ye9eS@U8 zi^k`bTIKH)?Hw2Pt|s|CIFpO^9+kiEm48sQ_lx!cm4BG(`lx6hdH#=6!Y4)h#4Dd5 zGvkSkHlfibHey-RNV-jG)bb|p1dL&jmSBT#%CTqhf=_I{P~SG zpAxNMfl4ft_;VX=VWaWi1&y18^C)TOQDCGO7#S8dcC8=~p^_IfaOXGL`He&U=)=Qhjf zLD@Hs?Qq-m7EzIC4Z`NIefT0`zlhY0Wy>Csb^px6PA{v{e{fQX z4wfT4Y2#|WDTfVxjcu5o&-Uo9-=PH=TGBq#9$jwe3Sz6?`mLd*$+Y-#_61-j9?gH^ z&wolFaXbC`qKv1UJu1h-%h{J$YEqHu}fo zy149GSax2{9khB`Z#g+=r5fD7qK_r#ZF8Uf@hrJ-+VEahTTV_ku3#0T6j@4m+IY^I zr;XP4*0z;x-Gl$cmbT5f&`HajW~3aprDaYbGY%Z{{>8ZLLx&*7l|J^MiqJS_N_DH01?PGl8^%y-tic&o4m(h4 zhg7O9jPr#sF7DGqahu5DHnF4aG&&JTL8K!Bsh^~a{!sk$|Fv3pSJhF9?i1}0Q0%6@ zz@ejY_!(XjKkFe7&aU?J(aDeE7txR6SAq@F1Pu+prpod5Ya8E?q03%_p!n~^-p`)%l1-*?n{vi|6zM7)Xjg|@9jUk18(_Yk0#qA{DGeLAh(x) z`|J>wW=O39RJgppWZ4LG_Ygyd|c4O*2wL@{nj9 z%=OxG zaJJPvCgN$LJJ`<$MX~H+T z5`O%#&{bl1RWIFB0uETGdL>m9uYSEQg%zH+Ev%HU1a1+%a_P_EDN);HuGLUnTbZf$ zaGiW7)Rya0J*%V71c8#}ETMtFF-g7231az%+r(5It9UnP?(muLZru{;U+bd7gi5Y) z7m1r`D$Wx4P~1jCd;r^U`j3U~h&~eNPUYLL0mLbSkBDONkRVka5SuL0jI`lRzzGdZYFvw98fEEzgXLg!k?pcaC_QVQ^HZ zUEUJ!lA}-V|DNN0clCdd97~;Sz!N`+^spmE1mFoDi5gbLaEl=AW15Pq1V1%by(V@F z6YCi_{39mHOQMXk1T8(ZVi?{I2LSH>>PhsKXb(6<$XB8dUkT%L7(V_}-A!UDcH^nN zi3p$*Z;99v945pD+X)+NOu+Zy7#E8-1ZfIrgNKB-8fS^)y#jnCKEt*!(*ddKf zC)8JWk#C_opA(@2~SB>v3+uyAZ>R2xG+cc;T|zZP7;J?PHw{f`~DtzFslAi@`6}@t(Apg~j*fkol6$7H$_yfDL zHfF2jJ|TH{SGYWUE3S+3aH$~idgQH^F9nVi=`hZ=DW3@vnh0=%KSeBgv-~N%CAd`Z ziJlasd0-oHMR^7IRjeUfU$`xm!=r-FZOqd6l;sY&RJ4m}1z!p;beCe=s1Uvrq}^RV z7Do!YhW`W(75B0j?$b!$SL;}Eo#<0+8yE4QJ5DIb4HOkhYQdMnhvOlY;;e&b1i_lg z;FRm+7#bdt)JG~(hvHws+3GP5e)CxUXgOG9sty)qc~`8hz37fHUhWuPEnXNOAgV(i8Kiw!zq33tfcq8T1_z9?V%vOD6EGo* zbB6LybUWyFd1g!^VZ0nO_)N_9$~A-3$yjdtaiCo;8i#oy95K9B;@KQdLZ93;_)MV? zZW^S@O(SiY?xdk-ALk4&lzcPbNl6KKXB_Kdan2y^I83c^&+xo>T%6z)Op_Z1R4G}; zVY-a#kw&Iz*#TQ7P8&1G%$7M*ruMjL;Jk5Sb}Zp-7zunc@Y6UM>+w@0_B)-XFO&x|u^^Bmf2bI6>g8Sjm=5DPii+|(O) z+0by|szKVk?6`1_YMd{J4VzEX7N}_pYE4_H=rt;V*M<+sd2+U}bE&1WyS5U@CjN#? z#$qzFVMhOrT)4nv+gw0Bgs{QaENe@$b|Lj#qdhtUjX$@o zcyLf;S*-}}8<%=*xN>;YaOAk0gwAk9O29eeN)q}4?i!>mXN<1$pIYV3K{38vogHxW zYn5+@%UY4ep+iMi%8>(S50s@!vQ@Om7gnpBIy^6~9M_SzLv9_OusUn2Nnqe_ke3H8 z9lbbB82N8xByQ43+$_HiyP1)=g>KQYTWTG{o8wlOw$A3=a?Rmcm)$C#5B_|Pad;j-3qa%- z+{xnwhWAA^^Ch`{;PZi0z(AaJ)U}dn>*k#-DE>{7rd# zkhjTR&EoSxqu#1Csx{#A;X{>NK00vuzzM|Or48??4ew_S_mB5!!w0bqAJhg5hmH@a zvm?0oNBFqX8a!{aMt44@N&N!cipP^%1`gl}AXf>JdVi z0hPu9%Sl7_t9w2}#vAxrBIDu$Gm>&H4-%SeHrC4s#OWiUfkSZtp{r-h2?Y0#Zu~yF>hSrXiuv*YvH4W7 zKrSFSd@w`{D%G^h_v2je=y_-a_#+nGsfoKzsALM8cD{{7iKgNfZIUGN524OE$lC7cz z>CJqt+&?ta*U9rEA}Q&-b$yO^;c9gW-w*si`0w@f;YRi0MkI82zK(EHj*tg8EA?h- zxJ51>32(kBH>BzPrp(+-4VAV~!`26)(!it66Qv~`ZAVKHo9+)XBTFPdB|z#z%an@2 zLkX}NO&sL1WNEA{oelW1fos!gpf#~baC4A4UZYZ~1wjxguBSNRY$ph|^Uk)|5T{5^ zp~w*N`EBcl#GKBOeDW|@qu|J%J!~*4zp;IBYZ9SDPO$uj+t#Hg(>bFk2iusJ1HD!Z z_%_rjZC>Wfwn>ke$1Ijnc)ov*ReERyio#0kMS}$u-4v4AO}(gziwv4~`{!zPLoFu> zUuFIr+wMo70*`i2Xz!Yl0ndggs7F+^-^%b6_G}64K&#S`OgKu?qj+tOXqUtm)LwtK zSZIN?yNU4*i?V&&wk!+CwymnTlH=L^;XB}fPBbPkdxW@W`(tOEHma`{w5%t559%n$ zqWsNFh1Aozg> z4jVi{N_E`3B^=DK5$lY_eF(#Lh=#3Rj5HH?c>#axd*#J5QDC?)SQ6|YV~0Put38P6QsQ}csR|UDo`A_8+|;*5pYCJz>yg{l7ie$k|cm}(bkR^E>4=F zx*sd9S`hI#c*hG0=UWpTw!+1|{%Mh~wofENo&e-M!^HrLlQt8C3gRGVtEJ5pJ5h1n z2aYE=x%g}Q1e3dnQ$3)&0;44~)=_ee;AvtJ8aT42i$_SmoFO(LEy^=BP-kX*St(6PZKG6F zVQxO}Jw@3nQos%#K#idy-n2@{7s&kuRD$X4(GJZx(I*W?!1VTLkNV1f0wH9zz1x>} zsc{09!&fN(m1;u?grIr)7i2ie__z>g*rpb2)3UbkYQ~{9R7>ltu`Nyk*cWx;+QSd2 zZQ(iFqIzItBOg{*M;HVwNvd%>a$=#9 z;fMQ9H?cc1Y~fqmHs#PsS2|M*#Ubvpw&izd!|i(_4$p}=yky%-*7qgr2ke?ZD5I48 zuKlokP`pWxHW^#><0xr6ByDd*@eosZ&blROJ4qTXNn>oZjVYst{IQMghN*3E91nlX zwzGQ^$D?gsN#dU* zabL8L`<78c_FB0+{27V+A<=i_a@gPYL*o8bi3dc9e<6oQnUv-+XaA)({zVf1Dv7Ro zETein!2Z@94npF=?|eiSV@k|(oqlt__m zwp)Z(_S>@bj}$!|_9KYea6M9Swpe!HBiVl0PmfT{&ZBA-vE6z_$0#QoExYcqRCJsw zI?gLP#w$V#Nk#0NY`-b|Bt@rD5e(sVfpC)qQcGJcfz-77QqhUEicU%u4dQEqQAib? z>J^>r70vRB*kRdiPovFjtrR_-iikUjWv41)LuI3#&98IB*hWR4(md+WGFLg-O4(M= zrbj3Wxx{!ybG@Q-yrTI7h}vLyL-E*++L4ORRq^wreMGy6L8tVLRJ5qlql%ufRm5zI z#mzQ0DjLJ@n(TLBiHcw7`o;?>evwGnk{b@u($ZLXHX*EPGQdJs1fxSmxDW9 zX{fN1u0=$b=;w7Z+)3Kq(kG&a^h5iwx{W@qQbg2!kxCp<_q$S2q8?D1D;2qEkl}vP z9`sm~_f$k}EWM()>fuNyj;KfCUx<3tHH#AUn6tAq%; zEA~sNNGTDmJ)h}1xluaB=cQH@@tVEp%=|A&tH>}rl{l#{I~Bfni3pQZHPLSrX93WaNREgI1M{B6|pfW^# zco;gPDbf&Dq#sVY#GECrNAN7yS>A*oUo`h}0UyHQcNy8=u4{0-C-&X%eW_}gjLM6Q;A z|3TDhJlp9w-yV|6uv03-v#GkTO0d=wTvMp!hE_0V3m^jXJ3HZaqsEYj0F|M1hYZ7@ zIFdb57?Nu-E#OHY*Lk$+{Q52oFkDl3L4{SUJt`6XIloZqL>GnoY~?}f!`Q8dMX#n4<0DDZqmhqoymW@7Jw`JiV|%Z0DTc7JBF_sT?~$s|mE(g0;5X@{a>K$$o> ziv}^y01Ct@`qqR(F`zH>`lm{XsNqA0=m|-6I9{ql(vCtUaCDaCg^~~jD8*1E9+Mq7 z14)(Gmw4XVrAXv+9BP9!14*Mu@C9iP2hPBBvAbyoW<)(=3u;7WU?$o|o=dceVC2Z@ zh%g1ZMD|txu6Kvtq9;f8H=el9&@g(ASy`J!72~0TV^UAg+G$cR?i|igug(-19Gb*3 zIz=Dh*)@g5oGh9}t?{$c(4an?>ypqZl6E#Dj8bu47KLIQ;rUW1@~sKgqB!8Z{)L~Z zPE>=?A);bj#0W1|)6gKEnne+bLJ=ysfg_Ac@d7ID6D^#}M5*X{#p(!OBuY4qqbn5$ zj_}f`T&$CF@e;DMRFsOo#!)DOg{Kh~OmUeKE>nUJFmxbUAZj#;FeuSqS1%@*;_~c} zrh7Kc+%^EF`2PY?cTGt!#n^uYQ7y0*hK(+EEGCsJNnI1|iSC2p+nxKZID}rZS@L1g!At z9jEB40nI&t6q`BFZ0&j%e_h8KLN(eJWpL(T-`Fp7#F7p$?}o)R!Oj%0&&4Gp{W0;I z)6j2MvzUg1eoPp_^g=yv-{}Wo-ZGj?Z=*9%XDmcSg7*4RL?m#5PB7mmXhMVKrqUxo zC5Y1pDuE=&llwy#2u4>Akn)eLlS7jqn>&Cw8@;?F7F(sDw!6%it2ftO^50mXu!;x9ry~#|x+iKXy^S0W%)2Yf}8` zLCkgsLe54Ad6%#U5*?^0hdq4{*|RFuZKZb)|IV%GKkVP5p>)pvbKBUVlI*25D1XpD z`vP11!FqZ_FXPtxy$sF-!|IA4$=(W(WIsFYqkq}${zRpYSoDBc{L#vO*x5%>&i)LB z+?TFKjR4DDyx;o0`2PBr;s=09?AwF!biZPoapVGM?g7d;(DqA3n}ld+>K#|+s0Etg zMM0ER^dS4I9ppv-+y2&rMfJho`mxvR3~TU3>sGKsgTQ;scgJsj1`u-QeN_ym5r!4Y&e?7;6z9Eeu%= zJ0@YsRfP<;)!chPH-I{hqX=jQ*ACfN`)UP72I82;#ROD?dj=@-bU_(oz&04<69ps# zYH+HL_nwm~_a36eM+tz(0LiD2=-M=U00TYup0hF_ z8^99#3(cTCXAguk=2fMiLt&J(1EGuslHLSNA~XYLWCt?NW%z(J==6E?eUajwX}A`v zZxs}yM<@nAT~N6!mcTMFoA&tz(C~HOaE6~`FHYgkAeWMqOWZ{I61oqNfsU42adRvJ zqH(F?0zeurBOw_IbS7Kr%RoKAGDwxJbW(JIX)O0bKp9>LR70%t6EdJ0!Z)tT>;#@c z#VZAB*h(s16{luZ1(GOLu#Eoy5zDYDj!_zfV;nLV#{lBEl{W5PQLwJjC0oz#ZE6V^ z25`ph4DcOFw>!w19$beqw7Y?1cz1vo;XeUN$P&6!poJ#@Sv=si zJg5nM$ia$-s0DO_ED!S+;KL*S#60Tj0bl}@;xUEJ=6m$oMh{r3bzXlmY1)qD_5nYT-(%q3wFGG!hE6hUpD2#)|Q=m&_9WpiSG zpUBC)_B>3IL9?##hw4%`Sq$*N5$sq_2Y(p%fZf3+6559aO3kjB8Y<|-Ko0mm-v+e7 z9w~f6q5&#=tbr*M)T}R}6xceW4oim3)nx?}d|j0ZUX^>v6CzrHlWG!`z>2;qRsp%P zV2WYvu^2V8gMd|>Sg~r3LI5fFoJ^O}Vn}Gk7@-wj4Oqo#H1HR~C`dbI!2D-QrdfAPMA2tE@)6+j@CQ5IBzT$fTAuTFABOJ-&S>;V+w@(RvSiok;l z16PniGs3_c_(%@G1IWZxQ4SfFlLiFACy5wVR{)8KonKLJD`L9<9rPEXRykF?L|v;i zun2Dw8N?NTolKm8Ew-(5)T896ghZ|u>H#1DI&lM&2M_^XaU&&ea?}Gv0(jzPzTcw1 z9QC->S>jdG8pk2lR8WtSfQj2;b3i0~o|0WN7#XMpiFbl}+@&GBTjtFm5oL!UxYJkP z6$y&y7Zh|A`H%!Y>=f}2(=1R2etLwA5%s_mM3?zTE2u|F z(1f?nfeBr}p3peS+h(52B01# z**Jgb!;Xn_ebvNyY?XQb6VO|((G%k}dSc}o&2cZ{5`EFg8B9VW1Dq?nX1+BEq5zuk znE_tlGllDC#cE@!NV>rxrV5SdhJBtX0+|4%IEvbirZxbH>UkTG!sR4LVmy!p!{}fH zki^aq&r=)_0zhIK#bw!yfax^>35I~UBuN5-IMMI?U=O67#2wfn2jGS{!(7=<#i5^m zoRWoeKGqM!aGGD(fg8L*fD9s?A1}axv@^N$&sJN&7-%!aW(#bn-T6xb9c0PemkgOp ziF;mj^l642d(aG@BU9#qGwe8oepw(qLHC-48mNU?M^(TaFx^8=GXB7}84EuD9#NH& zkcmZN|3~O89CQgjhuJJ$eCUNLI6ly%m^=yBfPXGAi)rwzz|Uq z5QJ=+#|wHO?J`E#t(pNH;s`tDz_%t42$?l|{a4A7S;KR6O1MTA%M!Cf2F{o*_hQFP z(^ffuKE+nbka^$;W1D=fi@=!KWnS-=%h%OLcy%;t#)?k{%>zgHM%guMgl~#u^(|O8 zGf+2cgzH3Ek11aoVWBFwD&bZo_${(cEcPZAdl;PQFDA~nXA`QjMySdcGq+Yl$=7$S z7#QF0GvoTT*Z&R2`kdwAJyTygW$dSa{L0md?FXa|ebFPm2Q(&G$i9zF!VMV8DKmwzT2lhwPP(wHy$-5Z6^Mq#+8 zy4nfu=Y#fZ+U&-93K;(@`%MoVufTaAT40PhMG0FRT^N$1VZ=*5)$iyIhWh_7rk%2d>I~JOt z%iTmS9x~*B42NqAa0d{qe#YQkmlOv`fJq!9!PuRj+q0u$`6K*f=iCBn%q?)_Z{u!j`MQId*Jxvxtjr#0JofgwFI&IFmP9K z(2{9FOW>XrZUS7w1kbG8!#e;?$OJlaQq>(D`*v^JNnXdPUdJpqyPJiS)BMhc_EY7~ zNTK?AfJ*4ond&rVA?nj?FE=NHMF?;S#E7yS0X69sY9fboiqCW8WFEhsBYO}*Ip@?` zHeXp5xVQNNhIOH8Sm-UA?=@fy!t?^2fTJX95FfR_M@}k%`4)RQtUxFSYO+KyiJO4{ ztz1OQE>_DbkO?44f=rfr%a+wzcBxthWOAtx65fVt+2!7{OT7l7#8U&n2@uMa)UZ5_ z*&rJb_bkV9-N)=IF9&Esxs?M@6Oa~LMa!;L%dS(k*UJV3s}I7o$o@lPwz}4`8#l427bv(=sp=_+eEX_yi#3Eq(<)dDC0=cCBUaD9gJkc3zLW zgM*xC-+9Mtc;9OPJpoAh02v>qmVKmh9}7bPIOz%CCqyFfmVM;qCip#m;sA3F!77uu z0|K7Z0iIAC+~m+oAb5Zjt+N;mp1ya;8=QZeLj^b)o6I^+WXn9!%{sURB(n}~0Rl%7 z^wKQQ#AN`P@aM5;kiklL$saGf4qU!_Wz#{>7Ops)9aIZ3^FBUE&flOW)455`(C;(& z-8bN&LQKeK045+Opd~v1n$U%lQ`9_scIw&mPO01zVJ-9moyof6R3z;y2}5P%f#VL} z{g^dW_zCGyYzRcbqGM<96C}@0(eto%ljJ#)ob*;5;3%;*bCnYmWv);ZIK3QMnMdU`l>|BA&xK@lJVjZ-Q@8_=b%W^ZfrF!G9w7q{n%E*Jg+I^d zUW`k4ri!EV3r8VuatXf(umB|_3jko-;S=ByJb5Jk68i1OBqCEKBxM{(3M+z8dKp0{ zz$%xM8%X4`di=iW`W2Ny9WG0aL#mb<4wDeF1(CxM07L?2at)5kU?3}0wh229Y&MV! zMB;ErSrEy!S|>gnCUk_JbqW-@o||pIyuV3XUB4612nBBxI07nC1{Lvh%T1NWSj}dm z62q4;1cF7P*#@1xm6nb4ibe`BSyMlxY27z6R}3JT`oFqT4Sz`|eL;!;S68}S6~X@B z>q<);*>S|#og=#sGDmjXW$XInI0BoL^o=!LsqMOT{a!KWZk$E^1fM|Vmhdy4!=I&l zL<#$D{BRCLh3axqp}J<~S4NQTv7vgBFLRRrO|^{cO#85;rA$ja(D#NtqJ-bu@3rIa zsVm@Kwx{jYi*5HF_U}6l^0~2r{x&Yf&-6)C+Z#o3u(#eS7Va9;-NQccsQt;%jP5k( zcu$}HTy39w-@t&~&r^?v)b{V@Y+pOtllQ=Q87PThO2hhB)W2@t-5vf$&V$g29#obR zl!JY2jB`u%Nek)&HBo1K4f-TM=TAcO#kqchRS)*#WY_&Ev+l!rSI0|2Nw(efoaANJ zeFX1XtahVdj`eb;IS@@KZ93YI=tpC;dyJ$Vn~b}O!I<$a?6}I?za%y2@f6%$$9iuf z=lE$ZX}W7fr=w<@At4;>Ipxpf0KiMSYTaGpXwRu$cz_@8wey{l6rnQlM&(^O)x(2A z6`apg*aN4QlJCrcI^pw~#VI14@T(|1=la<$eNOyiFOK-U0OsnDZ*x&=p%>*dhoYSG zW#;|8OwMw{>T){mdxz%haPQc=AM+j0LNl7FYDOVI@$>(Av=W{N_IPsG~^iqf-!xGXi@;Ka!E20Vmt-!@Jg^uA8X-~ar z%QD7CqB!_3)$!j&kzpBW+z0qvTrn@sMcye!0^>&Y|BBdu?Wo)g7zaqpD+>0jTyHA2 zsjH<+)eHX`EvFSyrlLc2vv5kSB*!XOuyY4krJDdc1YHC4Qs-vCN6qt_0oQ`6hMj8x z8ul9p-3z{zfdricBY9G&mgb)a%FxG#h9)Nj@*{y;3wZQudvPO)UnpkaSF-2(RK7NGWU_UBA5 z8}7%XJFQ56+@(K};XYtbPheD*E3pa z>k~s1qKHCk!a<(I7dguhx&=V%tEtv4pg9)d?Efl7 z4umU;+PDI6A9$U;g;T$ad{f7MJ(_Rn8o*_MfMgy^TYOMS;r@p`t+XIp|}S0 zN`1;t@00Psh%}Ulr_Dt`k32TrHIr__MJS!iKvGW@btfS06Sfd81DP=JF2HU&sdA9Q znNartsbVMlX{@A+!C@r)B2006?$MPtueg$bYN)aZda-W$D)Sd&i0iq^+~NbfQ;MV)vN3JQ6?karmb>ob%C| zMhk7JQLiCmpE45ep`Nw1qPDg;_IrQ00f_o(JQo0J<%rKk;5zPF*GnFUel7s38K@g5 zj({6#0=NO(NWo4n08tW(Q87P_k9twg`wF4WS)U_*#Hw$TDwJ~O!=&1G@jDzKkc^LPxJK|nQ-fMvtG5V=YE+~Ezin~+uwiB#lLu!KCkI` zL8ja2OmS(^4=6wVB}lI4Nqb47^m4tuB*X1(>l{X|s!w^Dz8dYg5%!uZO(o}brJ+7` zIb?W^v^PBPb`mkHj=&FTSl^Nw)!X%U{0mX8K=mfQ>q^#lqbM>cShp)tQM^`L^FE>^ zl33mK(wd@B{g8*}Bj3nA`*mxb-RvzqBx+uCX}WmPs&zbv4_f{ z+m8ttb^8i%1**R-(4LYw1@-9RS%z?`D^aJSeM4^w-wA3be_J%8J!RgHtm)!Vq`D|f zx)r$_|7&T?P@bZbJQj5++EeySnR25&WzVEI0#2w2aC>eo1?;$8QqrG}m;RKrnJBkh zg9;r~d_bb|^dyvdCrN7>OSukJThgcWr{iU=P1@-w^Dx)O6Hsbj6s^%{d*A~yTPjqE zK%?p{as4Se)#?M1thd32Wx5@ed1>=XnpAvZ)M2!zXjJFZ^aZl+MuS?lx=FU&{ZK=( z&QYAAOFfT_=u7!&5gF4v6%+13v`{V3LNRm~Wc`_w88@s@@tLbWau=#{^rl#LU&L=| zPjrKBb!@4AMth1u_a#(`s+6CW)!LTysQu_sX&Wk3^r@GV5!-EkxX&}Ql~mS)T*o=Z&ax{l&Ra+rN;=3s_3D3 zBGIYpFCL@SYCnopl&UvS_C}8fek0A|xJ<6qq(Ku^SEY%nK2T^=Z;8TCqv|h&tx?!- zmxB_O47Wu&WLSe7*QcV4brHkr>ct%8i{j207@T(975_ri-J*zcQTHefq9|_?8N?iQ zuX9M<5k={6eIKGE@_x~sJ>X%&AISEnnBfmn;-Rb_?}tSo1#c8~Df-JF??YCDo`uO>@&>@EHx? zdW8&!I*J99R`;_pYIq+EQZ)H_aYzvzd~A3@(q2?_aEPPI@JIR6{ZefuysVJnT6(W2 zRCwf%Lc(hzkE$?4y`Gx;hQ|qiooXwV8*j>T<1MjC!61b{jB0zw>7w4Dws*Da-mTU3 zUXt^^=%ch1eW1>KsL0{aM&S>m;vXw+I3!UJ>&3=?QWG#itWnyECUOhZL`}*;4<$*5 z=3tPrLv#4U;7FZ=Eh=tButZJKH~e98qKfiT5JXMo5By_Fh^ClB4>3ik94UyEzlw)0=qJpB5N^i-?BvlfV)GTt~4di+W{N>6b$)K(2ty>L(BW9~ zB@qxt@mW$E;fq8ar4fcb>f!;>o=c*aTI#>RE_Dfi;18pLTBZ@M^AO^2L&Xtxe;8_j zV2T8Pn%bb5>N0UmapR`HSLW=>+|U^B;&LdPrsgu=sjznZ<9HV-Yz0DErn{>_gO9c1 zrgj~SAxBn*9L<_j9))7GN0h*8)9g6ny{ zQrFUt>!NRrBI|kDm#JbCj5r8(;r+~E-cc8=J9G!}JpasV#N!R5rsjfmP2eUT%q&!! zwkhQ{vrQH7VrVQkl$5X9Q2Q$2dQABmDVr1cV)L!(fXi<0TDn1v<-?Q2(*)VazA*#w zF7$1;_ziCwefvrL_Dy>HE&Hb8U0k3R?|nnw-si`?FVqEO;s_0C^28rG{?kS~8KXr5uV{4RlA*vS`1;V_?2x zVFPkE*#_3sJt(+|eXf$vBby8jE#%wCT5O~4@Oh+q6p1n>I;}zzeM++mBT-vmL^F{V z>Wg#(a+WlYC8W65Q}?I5o@iNHWuds+QyoS--cFy=(adEg&SW`kYMWNFy1h;=4D}`B zlQ=efjhsGvWvp}BD>>alCl|Kpx|_wt%-J`_LCrFNndO_QBLpbXOsOL@b~xXL*CqxZ zs3A?aXEGaq_AI2C$_|{3|DT@6j<|3JJdZR@&+LHbktL&j_6wSymgd ztUgcD=X;pHjZW9fwvC}$-$h4emag&QarxqzIdH7m~f7uR*b~HYuky1cUHaA> zaL7}YKejIWvHftPBNfXszNY-=?P!Wq25nv6=`XgH=$Y3X@XQl~P@4TQQ5p_`OGgXi&n2s-|~8S(dAQ~yq?06 zN>JvS1G>t`t^X> z=k`xq;zq;j=1!kHp^j~_6t~5GZHu*@|aqCY>jAGxn6b#JGk`5VhJ?-6yh1$c?> zSXWw@ZSmWf_*+_-J`On?Nb4|T+(ApSGycA#zim9WPHKTPqlj&d#*8g9eI5UVI)9?K zGQSkVztR{Fx5Kv*TGCzhl>Jn{IaQ&avVV)>o%70mI`HxGTtBBF?qurEh70{ARs6E@ zwJrRr%fhco`gISckK@y0@T(zBkKB^UtggPY>bve3X#1P8<@B`hWa??zPLJdm@qG^5 z;^{!5{Tvfdk3`y{NsU&t#%{LsOgu-FW&Fz`auFNahB`2Rj(j{aHl&+}CKJyQW!d_& z)?-FL9OkO$iGwS<`HpGR9>ZZVohNcSPmEHrQEcrc&HtCWuHmijbZ^~*o+k2D=-x)L zrLQ1YIwD4oZ8mo^ZEb;`vsgQ0YdB$OgV>Bj&WXcgqB~dXsOUSr`!J6Q&IOm_xytFZ z=$0s>bnFn5{MSkRdNTMK#iqZ7TKo+Xzmaym5ut-`gsmE?8irSFg^kgI=u=M}r?zbB zs&jr4IIZi}iRtVJUtHI}#Aj~Ym*cMWzx%Ik`8li0)Ms-I`9iUAgQn&UKR2Xhqt9>L z`h|b`V(Cj?-lXj-|NJl91$^Y4TC_QQhY|ixob6Gt(`kU6pNDo0(J_Ydr%z5+&s?<48^m?VAGE5I$BBk~VddX??lrLtEIBBhFs@uvZV35C4wYLp^rPdm3b;sgAv4c8Er8Z|Y#lK{jeV3=4nu z@+U?Q{%Rf-`noP*TK{N$_QyD_vFJXwkM^)Xk>8!hM~5;4@MmIe{ka_WqqqBM-}gqj zr}$7PNDskD9Ix<-z4<6Cogp7>4hK^5zwAK!uX6aS*0B9GmF)=sty%q>;SgTN-dSO` z4zh#$#WkvNn4q9m6EikJrVt0n5aJNboE2t^M`Njm}KZY8mkDpa9r{Sht4}g zCyuWeMvTE8qU+RSRpT_bgP6uHn`*@3SvAf`9^$nT?vSr|PWBNqWg>BaY$HHsD9Ns& z_XVEfM21i15xtm4@Us~3eA+s&l%TyBNzAJ7-_hPP{@(c64`nC}GbYoB_Ao~+pOcAG z*DM=oADFpr_k5Pb`*<|V9D0b%B+ky*Jjmky4{7fmXIFOB`KrRr`IZ_Q5azdW12vEG zpaEewwwS2`xw}NSal^n&N=6tbIw`syY@Y|O8vs; z{qgkKAJsW~#l3bo`>wP0S(D5FlixTx?)z~{9iyoMqiOcO-vmt$zKQn%!4Z(o^bry> zv8)e?sPC-VB{e&`ndyj$m|a2$M4jp87ECwKA03}ZeX+C1AY&{S_>hPByh>jf2w&vG zAr{uNAS{|t!5}P}eIj>D{o!%{fA)1-+iWZgsFz!4G(i!;oUFAVX^K_&XGE2KF|SSe zmp++Svy#qTQ{o>`YfFfW5dW_(`8i@D3WiR(A2FZoH-|4fG}pCFHQe^txpU&CNsDYM>;>GE8e3%d`2YqYCiYp-1V=7?Gb-x>COB*9YpMup zu)ygkEXD# z*8e?{0;cCIoPzj?_Z^YcxV68OY>OC*U{$HLK#IbAyc`5m)D0@mqT77DTB0i!Oksnn z_{_Uz5fmo-I^Ddc%pxkTTSNtZZZq@EdiJ+UY9_X`F?-veHMii3V7e1wZR`oDAk5EVuZ?a(%IPvVw`0DE7 z@$`2rtb+0a$qoF7sJ6I@*S=YVRWN%0-{LB&i*Xf6;wo5qItJg)Yh_Ut|Ccyx@@~~V zs=Ab-UsnsW;3Ilp*vWLf-++S$7U31$c{|#OPz#v$G-zFrg+*EWAZx-fdRwS<@bK#E zUkO!Pm<7e6t{a&LpuZ9K=gyvC1MJ2Eu7jr-pVM1};Rglr*7WNeQ;OJY)x};nC-xc} z5^zlf#xP#u6M8Ycv~Eg`D8>FGN|{n$4W`scdqGWPgb%kS>dYjMMshHv#u&G;r505& zmRGam3_K2SQ)+BV5p>NXj(Cjm#dr)G>Xly($)Khx2*|L|jH$+Csx`HMJI#zt6b6AA z(*e&gu$^14tl!HJX>Dn^-XSCd^UMxDrT6}q12Q;TV$GXJbN#cs%EB`I#3SOuf-&B) zxNC}iRj;szuC~aGMSvPw;57qii4VG7g5j1Lucbv^)y0GBN#Zf+YXU8Z%UA&(!51rw zSXCB{VNuw118B9iZH+}`5Qy;w0oZ`o76(ujvDhq!>;0Ma^?(V*U)QBa^MH8%Xt z_~Cc9RA(&og3~Czb^begT%IS);DWEIvKR~>hT&r{NGxMbEeyZQ)k(PO zc@%4W{qQ3KS@Uk!4~9ElJ0dT9lm#bJye`$n z!|L{lJOU+rC`Po<;SWuhM?R|J5#xbK3*TA9S=b5ncY@%G$7qLN)Psnwu!30Q>tH*=PPj#LPOj5`L{AWeF%%jfc2T!h4u=E57H_PT zd@%1Pbsx-YK?DX$jzXDWu#PrvW9%@y#$bf82DW&MrqtMA9Y>lXzWCw4l{X%7#9d&B zO8aIWmlJtuPM8HXRTgnUnFNz5#>4_Hg26h~`hy?~qAR8Wo^D_}s$Mr(t1R}y+jpk_ zaGu3rG%HlhDrDq(htLa5Ow7e>OU3m*ht<)0UJz%|io@!(dw%_pAil!$Bhr*bYKyPv>4}4IinlERmlsGl z1($sY6Yy~q1W^RzwNWAG78MC{a1}x*zFi+cK{yCeAcR%Ch&Kp+yi{9A#UQvgv@~2y z0$bZ1wd#3c(fCE(oq@X2BIczQTel$k#;T42h%%{HigbLy-8j`)Mri}$x5M@DhMJqxpd>1b+8mkGZ zyO6eozzc*SW2rS^DXbcmc|U4XA7)_&S#E=cbX`PSte~xy#!D*=kr)grIo7}?wA`LK ztIO?~v&J%ZX$?Zx8tPh5gPF08m6Vpg*cyuuIr%PFd;XJLaN=(a^3Wb+_E`#yIi+8>;T@Ka^0!Ny31FY!D{60d7YZN`~Ghu z_n=%OR4Gmp{KJ?C>s z<$8v}UKqv;F#H@#x|gQ@OH+&iT=&d;Rjya4#~NzZY!lLJmd?=ou5AbtwF{|jNbN$T z#tuQ;-a>u~W1>Sy9YRLdF$7tskUECcDP#% zq;Av~=VAAdy2G!b>k+bJW<5jd5mHYC_d+nDdlf}DalK8I-XWUt6`O~B*zBs0i7w8= zzJB}L$n~=(^be_DNc}^clQzTwhA1%lQ8O^4fgziRgF-eB2ZuB$q`?RsVyHtv4d&s{ zkcRr!4zpGb4{2CP!!gnblQ1%*5h0C)Y?Ns>s;FtT8y(VUPc|l`G5%t#(T@vhY)Ipv zA8+&%LK+{^1n4J*G_js~Qb>~^YUU>U_EftmAx-gIriL_?3z8a!1aMlYxtngBW`s07 zq#1CU8Pd!mr=*(|Fqj?EY|mg$NOSzf+yF8!qTNTpE zkXE7f>X25`ufYgf6Ve)VYUtK7B+A{okk*E@4z%?qWPMRcwc8NV1`v~OV~BaUDWr`d zZ31s|NSo`iwuH0=EPjrAotnCB{%<3FRyAB)$x#yd$JQob~2f;Dpa$A8FxCQQz4xO zQk-#TLOKIwLwDAj_gqM4Lpq0u^CsfFiKzc&b|J(svx^~J2uVMrgaFbeOMg;bPTJbg)^C1cvlpz8Q!%+8{QR#)hVpb zL{S#s6@?4$io)s=R#)oFlRs-~T{k>W>c+kO0P1cx-MJ~eHmPQO7u1*`h?XxtUf5wm#`}JEvkX5Gpv4)@gqH46LSN?>L1pC@ISeMMm8v{fng1T zY%t<%H!viuAzsSRuqcB~n*wB5Si?MIxKWM>Yj{{A05>+(M}}1_!7LjUFdQ8gWfX}1 zH&Lw{6BflP{JW28H#Y2Fa*PXWY*^!{FHgSxhKqH4xJGV5SmVQ*5N_@!n)FFwO$=)i zdQT2(GK~!e=M-!F6rv51g(=;{O${?Rr-d~&tZ89>vzt|?BO`Dd%rI^-WgugfaatYLs<2jr zwkBNDh9t#n!&(#8TJY9|1?oD4tPdzQ6i_yXwIQsHplmW0o5R`^)@HQd5*Daipx7Ev zZ1b|WhqW!N?GWrR)pmxpBdnbe>*bVGiQju)P)5&9H9KN4GH&X1X1ishPVIt_i!lVciMq zF6j3R{eD>Y!nzOogRmahoJlaxf~WDrupVM>{GVp;N5$o%(mf8>MBJ0G9*6Y=(x<*D zRqk0>l&1{B=hpn^s2Ys+7e??htQTRugy5AYsC2KxqPz;XbZu~;s|~T9!5C;8soBLC zXctl2h}uzKo_y<#>EAxWmjpUQ)IOpPk>;*rgr;lsmxh=$Y6`umzHHy|QPf0zt3CIev-7-Ud{88tav#YPjEhN;nzeM!oSGZaoQUSq#(CC=dG&3aZ{P(H&5vjSZCq&Jh1NzUALmdCsx6At zY(SI65iN>nvDdm7!LcM#bFjNTm6t}eB%-ANgQxPch<_?Ck7!v$%ZZQwN#t&V678m%?(TELabf`_)!t&1=v)P6KBHB|wQTCeA_u52x+c&a_+h-GHe?ZV2Hcbyn|&Ts&DmanSMCXxnA>ev3!VdOQL>D8vgh4MC@UBF3Iif3( ze{@$P0`+R-eRs`Tay_DJ5nYGD4YS0J;_$0=HzPH@I@tKQ717OzZXrJyAGZtR<4#1k zBf3L8cbPulgy;{}oK}3}MAUEUb_t0AOkQ;jxKC+uf+yu+u<4Daq z#_W@b9!K=V*cWEcQ=2`{B6=FpGiJ|oQ~yOo&m($)pqHlpOH)7jQ^mFXRitJ;oL)!t zDx%lMDVP>*qG}Vh8QGTgL~WzNbEuJP7lli^XfOvGx%Pg&Y2rFW#bt*mpM!}awo_Cc zqv{l8*)@XBMS>=-i!tnC485pEuB+$J*maAF%WiP!ZX9|<)jg^naOi0qdKNh}cD;;4 zuQxdKHiX`sI^k(xmU!3o@jRQlzWy%`fT;RKzwP=PVt+fH0s^pp(HG`YHJV0lfX8j( z21Z305G4t-2^xf;;1}KCfa{Q`D1)Od+)%?93Wk5|H*&)~Mq@WTD#|c;j4+H5VED&& zBRA4xyz53qMHvZ?(S|V^jCTuqjPV%kb)y>VyI@>YlrbjcQ6%Q!(wdsHS1qU`ssR%rm{-j!oQ* zC{ulAR5PNQiK??q)mg|0ruuB-HYcjtQOyB7*T8cDH>Jj=`n;$;6X!=YFRJ;7Ti}~k z=@v%C<-%xdx5(F2xy4aY7QtkRFp)^%YS9@m5B) zBC3^0Srx5mTk2LvwJNIBkgV}Cs@>YCC~Kho)GWn{6IY%)uE^kBlJih z^k`I+BanT+AoQ5w9gpf*RL2o|!nmHO7kbjbr=mI;)hUFYHt^}9&}w%ksxyqlPuLponxY&w>Dph>U>le(B>lJhY@tqCKv{;c9){M1mS1ya>oyAgh^}=vqBYmr+q!x)svA+=M3G=!y%qJ(-P=*!it0A?Hr5NG z?pU1o-Kg$Fbr-%RPM8)^rGLQ%r58~>kLm^ZFAe`yR4=1?1^(-(Uf0jBHZiQz zCgvAl)31qZ8)JU8i>Yl)?P5ff#xQ()&M*b@tAm{x=@?Uom^uRPWZ+JKn^I%*t8>ie zSC^PN$J8apcN0LcJ!iL=xa<~d?YjG#D%T?>N_Uv_G$uV^63nk&G3HnAn0m$38*m>3 z_W}II{OTKHkI^rtzA^PfN`KF@+6{=+JZRts#xx+NfshUg>IcU(*nhTrh^ap`rXev6 z1wPE`H4NUL*R;899X#9+MtFn~C_6Hy;W3Q_byQ5FV)ikj(X`M~4aGD%rZET~Yb4`h z8XMC%NXEy6*zu4|h>6la7935lauZ|p%%qqm#xyDRg_~>*n_S=SDF&Vz)0CK|##*{* z2A)=Icd>tY4;9mN-}rj%ig)t07qv6Jpmuveu5=u8V1HOzX@%#XVBBTOYGCryF8gAJYaf zHwJociixrjeSTP&N1J2XjN(6ZTLO%&F;TXF@lgR|n~jm}F>Q-!JGGw_YIk@;?2Ktg zOgj;@9voW2C=`4U?ojDh)*~B_?KBjXqoi~Cv)|m@2 zUGTkrF=)-Dm@ZNAsk(;L~V!9sF4Z8VeOgC+$ z)eq5IG2MdtBX`@gt8#Y&ws&K?3*ZxX&sf}#iE@vj@xX2$#`GYjhYbBkF+uSN-j8Ga zK6w(;vKJV4QIO`rC zqF1MQ-Llx(Sayl4b6i~jcQtTVz)h*KWwBe_mc{OIb&IPzGJAkv%VN*Cxa=8k?Rxo| zD%U$MN-vo7F(!Rr5-f{-<1CB);_4e$KfwJB+#hhTEdE-_Pq_hzVQm^1*MPVNB4<$C zqL$(s6xZN*ts7!$4vlL_Ttk5lqnR{xn6#qnI}7NeRqc8PE7(zuqy zwG`}SaYpCzxR%AW9QiBa0&_*Yxm#&mSH-n5u2tZzj%zg>gH7!k8(nK`bQOQUuC>v% zF0Qq4t%J{cv)FnX8a#A27`KgaZHQ|l;7tbJ1h^?RHo7)@wYJ2yIj${;+v+XJPwu$5 z+=h*|`!6WvY)|m(5Ma;m>R_)PjNV|LvbC3;)tiHbVuW&9AR)AGm2v-r?5O9kL$Sa{1axR z6Bx z-ixnx7vj3$gvCLIFxu6)ptuU*wYaXu?csl&1~I{I#C1Kc z8?@-A>3?G-HGcieC`?cJ+QqCwaVSM@$(?A`*A(M zd=Cx$5OB~Zj|}`cu19e_M!hEnege1oKaWK5!bmfyCoRi-4p7TPPB}@eLjk`rx`%l&!xI{o&~U_z2$+sch%zGag&Sp5qY6yTUZXw5 zn1n_rGzN;Xo}$u?ONcTy!LMVZ7;kcTL{G4r3ETujWnzN;$)toP@=X`0C!4jWBs4jp zDX2Kru&06@43%jHo}SROgr=j*3@ zGVAH(WEbL_;qX~uTC6~eU>#d&+*T#DGNDy~R~vXW;HK1APp|Q6txaf6LTeGX4g_o5 z`h>V#Pfu^~HH5b(MA-n7O~zzXy&*PRPj5+Rb3$7HZ#D2%ZwMc#X06}m#cWS#TSD6r zvm;=-lTQsMv;*tzGOAq#rbe;bQ|w7-cS3uh*y|}O-M)kBjz#U5HU_yr=Kb)vZxFdZ0G@&Etc+}93f*y4BG3$-v2^~x5ILe$b@QH#lW{r~u zK9$hPgiay(w1H2X65{e4qR#soR=|WVfbyxk7*t$J=n@tD zE>4KL%ivx~2=prnejHoBT}$XHxz|wty7l{Y#zC+)-$(>&^UZ{ABy-_2z&t4#!6Bjt!T)3EfHPE&}gaOYVWyh?-zMNxJ)ih7S_9U3i$#gM=P}{V1q^ zoX}(6+9#&v(}bQR^c46rtJgEw*>>T%uYb-EdXW&MFTi-25aoU%_yJOvm!63CgkHh3 z+`TR|piNS*S^bjlxwc7|wM(jPQtgr~kx5L^K8Y!knLwWoNp(p6TFC>B3MKu+qEk{G zlj;O^XT$DXcTBuXvSvqT+wFHvs!LK``Pxumw{A&qx9&-GOR78d<#p_PB<%-M&!l=J z)icRkA3w&bUGJnQy}%8AAoWSAPttxM^$jrkB}M5AM(_ivf70HmC)Gcx0n~m{cxVnx znwWu zO-gDqn1T7G6wEg@sVPZKrM}*L(~_Fztuj5(YDQ9&=^%YvX#dP4F6&uI%}i<*wcjh$ z&h}QBlho{_=AiuCfP7w3^So8&TWc01H9x5ZNseA710aqA+yS8Y* z_0VZOO$h9_!R)u8-hLaCHLLuO%}q&dOllLDf&DfY?6)PU%}H&czTSRYlm0c?wxqTu zwaq|gpJr~mS#3vB+mqVCG}&p^*p<}Iq;@gzcbn+lewyTptJI!k%@%&3?oDb>QhSY) zpFq6KF;@GN+LzS+}ETmU$q z6y==hZxmJTf(H=mo)qN*fTjkhbe96a<)kQ=08|@*Jis0xcQq+4uO_o2imxSW-L<5y zF=~?TI!L+>(Ypnr8%f;&Kq$NcZUSgr0NhII761-m8sK(OeyzKc)Exlj?ydpu0`QMz z0_2mr2Y~2L1KbBtWvp;VCiMV7wR>oQhX8_I`lF;Cc~*~;-qrsksmDn@q2r&L`JW~A zG^uBp|GD+n^I`{7yBA4T{Fh0+Na`i*wtR!HEd=Z4t0Yg(*Gau%t@WVdbE4X{NvREA z)cDA?CAFT}xSjvY(aedDFZT6Wx5U>kO=(F=OQ~O$5};)?Y`NKTMM{+A z7-ps2u1aZTN~;(et5bsYYADtO64rW7>rz^q(mLwbrvzwyinlQ-q0R<)ZnR;vDW#1m zZGz|KlxVibjLm(qSv4_I#;_|iZ-XjKPopyh*scE|?W;gk-gbQq>b zOsylR6%4ea#`0K7M^icm__%?O18z!<4YU(py^|@ONa-XpPX$VyPKnFYwEc{)sd8si zqMU)rIb(7TCc!{EZv*W@O6OC$0QjPTF9NO`XgPPui@BWArIaos=1RcyYD$zV*#4SP zT`MrPad6#J+(_wqN;jam=_xARt&}J?>Dk*xaogk+M$R2iaW|zqDcyzQo~PhQWlHxM zgIm7g9;8IMhmH@eP7fhwg(|EAk39L~lpdw@81g5cyvjXIiSh&$pP9gCMHSz2&ppM9 zl%A*b0*aTOqSC!eiSiN^UmL~iqKa?1HfdXH+NRYet+r`AlW7|QEOTkKCy6L3c1VlT zF3qoTt5e6csaWuIb%L6?(>bk9X?2FYOF-T=ElL+qn-%75H!r7qTHVs>4q}fq!=^{N zFjF}%l&;yylet$~J=5w1S-D@NZN~TZlzr0bomL+x`=)E;`lZ!3t$y70H%9%7-?HO< zOq$U*Fs%V;4Gc83_6$neDNb- zHzTbX9%*J;)Xhxu$|lY9o1NCIv}PlCPFi!I4cvrtjn`ayrS7RQ&&)YLt$At9X9z5S zu@<04Fqsz`w?%0!OluL~#RgssxG6O@nV0xxFHLJnT1yeP%qv#umZ!z#@^ovr!q@OY zkF+Q&V6w`Xtb$1}nOCQo%xltGoz@z_YYn^>a4?x|sb1%q@G2**^}f9uOs|b;Q8plC zlihAkYg1aA(=FYWw4m66K3fCAZE0U%sbJ?Z< zt<%td?9O<4R?~pbxwOs!_?|m&M!S#}ZJXr3K4tXnj4c>uKBI+<>)ipn!iez2$EDQE@A+n`zyG!)-6R(%ngm%RA}sxVt9o zURrn4x(C928<+QOjMr^&9$3`_8>)q0!A;yl8>)}edYINDq(3&Hj}aOS)hEXCX|vYL`*_3}37^a0kG3&z**@W5yQTP8oH~s8fa?=o#CIIYD0Bm0L;jcZq`g)=LGU}UAKj8g+ zebx=|^#d~+kkLTu2W13k5ULN(V67n;Q3hwo4Q02(G8&rEuuMxgJR?{Shhjt^VWj6Y zDx;AZjiP>ZMu0|VzHnnQLY*=29GhXFjLT?jM&sZ)J|h}19>9c*CS+`&OoW>z(po=I za&D66Iys|B8BK=k6ff;9H`Uiq%V=sw)2N@G5uoX?ngNDwVPXlc1E)@ znhok4v+tbDn?q@?Rn5iZ!TZf7ZeGS#y^Q8%G#{o5Osxf|Rb2Iq<)VxhX0!KHBfvG8?gN*quNwpYU5zDr`VFw=8U#LvDH)X)+Qs$ zR(f{3QEWFkg^{zvQ|!!WM@BoL*ySmz-R_KbGX`0u_GCoag^qizPJ1D)+rsSg0uL2ce9Im76h|^ToY4^|j(UnpcPt~yQB*u`6vvAyzU5AM zijx_g$mk>#r#wZqJDt(#f{JG{qMSm-vsS0GUd6)3@4UH{g0R(D7DAl$#*e7Sy@z)wz?=?Tqe#csIj7;a)~}GrGs^{ebR4MwI)|1^a}D znVRja^^Y=on9(B>9_$kyXY?2=eCVE7L!MYe>h}px19s0cdghUyXGGoeOmp|b#`w#O zUS#wV!LKrU1#PfTcx}91+l(nLzHPG1n6_E9$*OIZW9IlW)Q&GA2Q#Ljm?-&Sz8r5XVodI&RO=6-WO8ox@N^?*KBLo&DT`9?paZ~!K8;V=>d~q z#`MfGV|r!PGpk;JdmFen;5YUOeLRzD*Eg%aSu;vM)2n}0lzs>qV7CLa8j#h%ETNBC zK`{t@1_y*gvKj(mts9yZWiWDvS(Sz%h%U6p?(nRJd*&lNQI#8+6=g)0*Ey!ssG`c8 zh|FrVM;+r)`6gUelrhL2XQ<;${Q}qVS&jFo6Fh3Qo0!!^Dwu(jvZ72tm&sPA$xzkp z6Q*Qqb}%reW;G?NsXz(?qp_RD6GhXq^kKn0CO6%4ZtP}c#pMi?m}yGPgvh@psCKim znuW|-H`}8&a&xlca!&RGH`h!zFRQs(&BI{x;ST@#*Xsp9xrtek)$*)XAZDdCVr9LMRavcqV#7DwYJ;pU zLTcTbY|Vl$wrgLT)tao#}~{uFq;+R_o0|$-pFhq$AK|V^$mC+r(|kin>i` zve`7*lGWy{wxG$@LW8#!C04s_S#9$)+k*!0$cnO^2Jf^6?<_XB+U?3}7pU*L-GRJ4 zS?!^s%Iytk_hrT9K4|x61=fCg`+#vdU=681Hks8y&*)IV=x|nty%I+PMn|*a@+gds zWd+tT7#%l8$BmI+G#a@R0rknOPD0(xoyv;3Q#AXuHTz6fr?Wakv(K8D&(=5kTvq2i z#d+g--kMlE)cLNv5U{U+7d>ujiW=IlCc6h*-nE*pxj@IpuBYkPE2o}0^#ZTA;q?ZuaY2hd1ugpK z)F-FDrbRLmi0qeBKcB;*ziHDy_oe64fLx8-z?=r;G%(lP4Ki&8=QJp%!8wkl=QITT z;F&bk=!aTslAbk*yiKX$IStEcI7*E$rA8n;cqWZBZliJt^LN3sW_8vvZ=%gy9^k(j0KvF&pk& zk6Z2LfNTLRjx#(Y~&l&vt|o)eJmFy9d%?92%o?sn#a z1BSbD+GWgnrJr-VJsRgSbE53VKK^M}>-OeEv5LmQjM)dO_SIW(e@^?o1rL}759V|r zr-NAVkXi6hyjA|LFZ*UrH*&fO!7Wqmc22i)x(&gdoWQ&T!QGthS|bP` z$hmu-8ZT!~_kD*w$cefKIXgnpjWvz(q&U(Omvr@ugwUT|;cgI?OrOKvKImE~2gW;Z*Z*Ezk)>9tV>fHrxx z$=eIAwt2d#txuf8FgnS z4bE!_;GqT{3b<}1;v-3U4fA#xo@X?V$ZL3BBM>*z+B33frYbke3uE`1*J$wN##r;l z<~1g-vEYx(3zTtrKImZ$n~>M|ye0scnAgN28(ya8Yr6RUo}AaDye6Ye(BD(?zQ3pD zH6^d9)Z62NE}mvePqQ|0Gu>{cTML42osqBELx0cAYerr(jmn}kW*OQn?xJMKB(3#q zyPxgvLy4LnyE%40hx-qS;Y*O*VXjro^%Z4_VwCv1ZXVUPWtpEBWghUPRWx=B0>Hw& zC<_4i=X+DPC;%+Zi?RrSUr+gRQUF+*7i9^6;63g#58%Udc~O=D2;Sqa2mmYdqO1T= zZNjVFs=QXw1$>2$KB96pqs}05YXTu_^I8i=)~(Bnx^?u*dh3-9d9BZD1HG~_uZ_jQ zTkSUGwF&%kx4F;>Tk_hR*A~Y7RwLV%*VeqYLAE`w?e%0k^4j6acIN%*p)%yK|Pe$A(PySjT)NKg5RH#dZN$KioYF)Pqb)zEbx(7^p zn3SFsqVzyYuL=R_g_Pa_LZ1pj%w3;~U}w;`LVZmNVWt(XpGT{9{VPQ2S5db!7*HXK zRTOpx)ox&g1|pjmO##i|3Js=$HMhbXN<&SRVHFx$A^smy@pEo?g}@z-HX{O(krf&V zNx2(U;a^sbuF$9ojjnjljj5<S{r&8nc=XI2z{LCmhu zY|mm&g+FjRw?cC&G#3{0Dm2f~iT|u{^HGt5=BDC87P{ZxaG(%>?{KvXwROl*x2{6#U{v#OZaosU9zlg4KvB2BDmGB@p`YU)x{Vbzdm6Y+ zR=o)oH&+U}U7#R=jHQ!# zw{Z6}`WgFqS(k0_J=X~OpI0OOd@J`A#@|=ieNpoZsQ(L0JHHJ3CdksrR5=HZV~F}X zpGBt9eH8+7$LOoA-7ggYB#p6TVO52@Utw%kisWFn@$!WKi5j0H%ui&hvhG(45Yh~q zn6K$q^|kMQDN&fWQe*pZ6_nn-=Zbog4?f?wB?&G;&u|-Gj0m;Z>y<(yG~o5F|3MQEgnwBFiXtT z*w#Z|QKK4D`F9F;zpLLhe^oR6j+(V3Sxd;$GDQs*b?@1qtn)crK5(^|t+{H|yp{Vs zbosrYX<7FHL?8Is;`x8553SF>Q{YdEFysGSeMjGI;Xbm;hVBmvjQ^%pJNUlss=rN8>N`xLRCBKFVpm-?$Z zv03-mhLd!EqrcH#*O~fn^|xlr&kC?0cT3UKQ8KuAnwDy5Huzkht3?a7XL^6gZ{CVYmHW|>zegXv>?da(j@3rpSPv4`%!_< zzvy3#&%f$N`q$=UY^hJ!0-t{m_*m)|uisDf6WgJ-DG}vAcwK2pTiTM4pmBn&E)U=m zjNFd0q@TNEgx3a=E-ySpM3VWD;viq5pqe{{o~kTaAjzG5>$1W3-f+ z@3I;ODKp=97UP#vQUtZwi(em&!Fua+Fxozf1dMj)^PyHcaxdC*)aSZ-mlY~cnz(GP zn=RzNIYDaHxAd0L)@MhxHO*&MjgmZ*6{-=buHGga>QB8vTM+bfsOHldVmvN?o`so| zhIpP3oFoBOmZhsqztF<5UIo_qN+!|$S4$?87fl$hnG+-pZRuE;1FWdoa7qbJ1^Q)z z{pI`VW9%@l4za&{u5ExNRSBLTmIwzIBuBUVkYbOwM*cbSoiAC=>;|bv z$lImfv7OdzEFb(Uu9VRZ&{4_``<9fRV_KE6ezK$&Wi3H}) za{semFYQsMMUN5^$wD?JNV(VC{XEoP(a-BEtuW3n1e#1J!9<{e?tuTIoPM#j`zmJp zY71M6fhXm(loF5c4Z79Erd5%PmO!^`8t*#xMP13zqKxq+bn`g$0sB1%q68GzH@!9si`=xAq zmTS*j5|nSC*SnCu+k(tnzZIn2`i8#MnzUQrRMQrg_R-Y*ul^;VPqo#`RWpjKnXnen zfI_gT;YV~`x~-_C+v-rKFT1~H0h-Ud^?`d2z5D{+%GJWE*5-bJPjgghZY?S@W>p8{ z_jsVLu?%}reelf&pFsX0mmhw!!T+H5zQg5rzE$!+jm3x(=NI<|?z?QWd^WBYtn9z9 zKd@i0(aMrf+#l+@`opgmh6U)X^=8VCLH{FttUqeu{+QMOkL%F?gvvh&(6PM9W{tOm zdJT|`P+RF|l<*`2@~7PX>DNoU)OA9a68F8JX{71WpEY-X4%+`>h5uizY`qUU0<^!N zBmNTdzii=H^4+JP{k8r=f8CnZ{Zsu-3&*l<9r2m(i2tq6^uJrV7TBgmeMi8iC3K&& zn160-deqkRE^l_k-=z8bf7TcJ=kI(eMVF=L^24lk{bJwR{W}c)9bTpgll?zv_D`t# zNsGc#&pMA37We;Pac|9{&YG|GEa{Fq2Wt&-Htjm5VPf23fgy2Wv70`*b{DPa!|)dpsgBQ=kU}K56-iQTBuSHZ| zkY1~m+hUou0t-&?iMG&}b$pwlZMS4w+Kz5JEc=#rpxe$8?etdMRcQ6@67p+lH?7`d zBV$i-WWZyump-6`tXgIT*zY&4WOhU^frA`4JQOq1`;>=KBHaBQw(D67qKG5mtX<@F&23Xz(ABz6QOekAQyMJuKXh$N zYYv26yHd3+RlCv;$lV1=hf=k-tX+KLwp1NU&2xcx_;)I;DRrGKjTf1_-g8|HxtOx6 zm8InOi+e5QYDedUPPSHO_%c_k5 zs}SkCxcHH!@8YswX-mu86(w^QPknNg! z(bd{=bOD+HxzEgHO(8RvHKmxFi?BdXTkGbQip#mB-z7a4OvuSK&r)#l)vki>3yK~8 zp{3_4$X!&FOIEIux};pKNy;TaOOd;*RLi{Dq~kKVUrNa3ZAL0Ca&xVshgKVtViK;_ zmV^sIYhkj^GH;pk>yfARMZ0}uiMR@iY%D6W$#{@}Yf~v1xcF#osQ_(($5uxf4Zp855s&i{x9a-JVjCeUWvGIKNWzZ5b01Z1I7vpc87& z@XZ>l*l(KEa3tAo4j2>{Itnr#$-KqIkKCbBad`+KhfRpjyQRYjIchXV8ONU);*T8} zw@NJI7UdY=69zs3_)`Oa>d3Uk_qw?6Qc@W6pIQDb4?0~+?k$}{1lhLubXSq+V|UhL zd~WHtyfWuY#pU_ZFD(6*r@dGzE-%v5OEz7}wROodZnd_=TTlmyxBO0+WLsA)-&U}@ z{nU|c>w2k$Wx$CR->?SUv;mfQnG8T`FMe#}T8JW2JBK5d9RzGu3jOeK)=F(HtAP*Pn zeNGxKQJx`#R9t+!3pSq{F2(!OuM#a z2q7m|+cJ`J@f|NiXb(bR$;TL^=AyJKYfWmd8aeWD@pVKn$+<=8$W@mzQgYeQ>T21m zx>;r}b)%ldT!6Zl6`!)C<)W%bSt}BA`L^~fEByXJN-x;@A5`S!;<|U)d#;aZR?Nr6 z`%`Gh#KkHU{Q6=)KqfAzY(exFwjdhOpfU}#3|uUTma2q)+fQ5|UA6f7pwLU?-$MECSpqIDr=STbx2XAkUG}Z_$-V^((rryI(+m)N z!mWV8kK8O{I4iIrl1aA3#uKf6$&ZPo+HoJ_A>22%udgkFMRvNT03bU zDYp2Yp*6rnvSgOkaN0OXwDlp0wor3_8M(H!ANm7k^8;^;!XJ}t3yedSZj01feBjIY zS%NKZFZQ7ZCZ!g6wvM7C`L+0%p@}O_{U4KQ3lyJTi+o$HEx#6;{Lu1hQBJ~>%vw4w{NxO2Gv?n~za#gjqla<3eRb5$k?@vf{IvA6ex`_+vdmTzv1T+$DIU=U=e3bScHe zNl!a?#JQsn3uqY;c%Q@*TP|WhYpt>thb(_S!Hw-Xc{g^p;FfI}xMgw7wsb$u`?jBM zfk(DnZwJTJYH`eZqMy~z+B=b-vtM%FQQZy99sNc{x^!3*6T`qr%_iMk^l6P+9`X-S^ z>=$W3rTZ36ou>Mhnl^X84c33vZ|lFda{rB)^55*~2+l{Y8bFPzRnx-#4&=XMU0waP z1`XWrT3l8${jQp|;uV|c_nyA3_gdqc<*v%r@?P!z7Q9|7HidM06dnNui#2qAp}+WAgA(_brqf@EmuaosryzbB1U}gtHP79@ zQTqa)Yq|b5&?(CsHDHy_zfo(+d$e-32%6u}@jA^K`?)dxJAJOdYvukPgukz2`~!OB z2Zc^)=y;{}YbB+)USU}4{sGhZS86Trw3eHvwU!rbtyr{!@9$^bKk-t=zg%nO{uxI9 z9CU9(-mU$}IQ@&?nf4fhyT z=6dzs*Du^i!x&lADQoUmWLBEjl`;xP%oxKkmuo>SPQv_ucv~@~`CEe-I?0ru>^-fM z(P)Zsn*z6w@V%NLr+P!;cEtxfjYi;Y^$N@g9Ivg-@k&jV!?#MA36t5zWOh;MN_?;w za;`aIH5c$a1J5&!jqoG9v8b@1M0jNv0LK4Hq6M$Qe6PYHufk$;%i@nE%GwL8bW6>> ziZhn|udk^xk1WM}vn!0rih31RnhH2)@ze&+S-xgwD){&ng8l*yYyIE1%{j~EI;5>H zVRqwpU2opk*5-r-cOxP;nTSpBV3rqW_~sIAMrSs}UT55`Tg>Uo=e-Si8^}JyG3)Tk zdZXO=8xa zu%U%l_JsLnIWK77Q$;zI=BV{(XG+B78D{ZW>)LaHcb1G`Ci#3(@<(6x%i=RIe%|kj zXVwPaW#6zXCHP-)x3WR@0xHeH%H=h>1GlQT(kr==`7ruPMILR`^NL`C+}zMK|dq^OUwQH!0tF zgx^PaO-*O~q^vy80!Jxd)$sx<@sHvz#XHIl+1HT&%X>#(!sN9vd0nq_8_N%lSG0}! zMme}besDabHd_5~t-@7W(7Hn@x^^^2DK1k!rDL~6A1R;G@xIh9I4Qb%{Aj^Vs;=}oozfPp$3uFALB{&k=3|S@u^NmxSdh;z0ug=Qf1M!I^$0!utFoI;?1&(rnpt@ zZ??{}%1ISpQ(o|^dJpR?V=}AABx@d4Xp-h%<#JAGb3ClHYM%L6ajkMt&~%?))IE!z zwLq}Y`#l$6s71zd5iFC1^@*b@#$rjS7ME%Xg8)A(sb{^+#icfQaknD0*5PgCuwbc{ zmudxgD-CZYc(qou3^%23Sk|p7#o4sl+^<><-WtPO10E*@y(`Z%!x770;t5OnwXwbw z2Q2Q`mgal~vH`M*7;(aa_U>w4y-wGJ2TNprp8Y%qk= zUaOP7XU=#YweGCp;dRBEdJeqvhIbykTB|uz-!m7iXD+_sjs@?MZ^NZx&onmwY&q`P zy0+t`^)16O%jH$Z+%*%2XBKbmby{}AT6Uw@vL@!AWwG^ay=iU*3~mRG+Lq?1WxWNX zuBCU4<-Nd1+roUb<#=gLhr7O|4?K@rJhkBAq{UuD@-$@VnIEK%5o(A&%GS!VOLkLOW~rxv_^Wx`|I z4?JA6e0ChXTC3^fJu$wY2AGq0p!drT1aFYx4FZod+hyj02dUQlw)`ayy9}ER^{(0> zXgAD!xj1e4)R~bDH#Jxai<_V%Zd`UuBh8Vkk!2s?!9}Oh=El`%nm?vYW4zxA-sL!P z0gfxfkE?NT9B&-Q`-YA64V&O~sKtW|-lQ^3EW>-t+bqMI>>EbSgkr-9$VbHbHJNxcym3!*`6Q% zTyLxShKC~;ukHfy{!i}SJV2`A>i_P0yL%YuhH15hK_;>81QUE5A~8f!Ckagu5z+7@ zCNU;?qKSE;J(HzzFeXtM6a@DL_Z3%MFcSA&aK#;W;}+aCM#X*C-{*U(ZcmS3VxITE zH))yfx>a>fRh>F@&Z%?Gy+rjcvHmEzFzv61Nte{Wm&vG$IkyWtF7+;_UeOGZbXCNx z3w>OX(nk*CE?r~7y;6o;BwIDP+EBRCP{5RHC|s+07;>+bITv26dP@uiO0MZcVX5j} zFH0|G-K~=w^z%m9cioLF&rO1UQy=u3^%#pT#@<`#b(wlyX3%do=-7J=`faLrd)8s~ zy`6e@sNNk0oswGxy}qxwDziq-7=SAo*?#%l#cV9kI-V@2`8{fWkHDlSS3eUl5!|Y9 zzu|GO;qicVIT;%;cswL4F!o<^sHxt=h6g1Nq_dF27)-rKWDdpwsf*5A{izh_kM*{pj;Mqor< z)qBqRqvYwdzoJaT*}7?%=oi&{k$R>n7L$Iq;jLF|8xH%pn7pbbeYI~%R|PkZuW3dhWP1VC3jKTOV>b>0LF!xG3TF`K(m|BE; zWD%yPqv;THa1L`YdZQVb>GY?VghOr=Y{3|TkK?ID^lgWI*yK)(!&r(>pj;XAb@^t< zoM^*N?Zo7k)UZzu!ycJn0H#_wSs<&hhJC6Z_GvN}VY2t0kpkH*k2?wyI^jYT%5CLo=Zp}1UI#@;}yrFpC*^)LMpk- zkZ?(X(Klh2`w6=OzKU#XjY1^awB$+~%+%znoa5_NIo=|!m(^dR!CVVhC65qjT!*Zi zOO^r!MUCrhpE_~iPW~=SBFWOn&6oyq+_xCIqmo;4 z?B->>{|n}s+da8eb8#!Uh24Cc^*t@QUD(_KN7Y(Lq_{HRI z^|w6d?#3X%EZ<}8NpVh$HGGq%_o=~sGze<${X*{n-uD34q``yw`4H)Yc()?8AGY>{ zRFm2qb_xEEsQn|fH|1|y@~GALY4R9iD~yr{wnk*<4G*5c5|DF`^T5V5E&01Wn3}AB zU*_Bj=IcoTeTwivI3pmQW`ddGr_(8(nml7orX|nj9ABRWvFCDJ0z40gL`-EGUdXu@ za>4uiIjAc;A#bv zlh^Do$#s!I;f3J(hH!lo!IX3s;QE%w^{o_FLjOY3ci@T0rGR=jryGO!um0?ULDf$7f$2gkaY>;lX}+$7c=?#E(^5Dj7mZ*2 zEZOYPrA3foE-^Wmp*1J@3U9M(a(UM@IT--CG&4uMv~8f%`;|N{gEW(k6VjXvhCdEr zQb>!};);&cT1w?&W5-8B&6<-n>5b7lBI(MYTL!G;L+Y)~Pln%s#ZX?2XEQK4X{DKs zyhc#LI&~yQXjSYctEzAd0r(AvJfR+IIB zx?Ud=U*;!wRt-peg;!}=fY{_@eVSQhSS{g>s*Xg5R(Q1QaHADeU`T8T5@Xzkx{>;t z`>Oj|HQ5LxEM%aL#8`U!h8yd?Q6(NM>oyKZ_}SfrhvT@X8n=0LA%^_s5=wk^jdhqJekVccZ_aMly;2?`GcF90joB~lqo+xTb zi*ZFun?~hQA9ZMFG-*pTtC!|vEt6o%Y?E>gx}dC$sFR_ipn3>mZ8xlk`%Nn)B4uxJ`_)RHgxE=RhN!eKrC zi)cZK8DC)(Mg@v5`LbJIGqRq7P84SHB^iwj24rC{It+%NcDKO;|OH z4{Rnr(0+a0eO(~>(Zkn84`sKJ8(X#e$}s^%GuM_Hsa;&wpa<(=bGNz8O((NYT#4)K zf(ABo-vu_Te$C32?m_#CW*=DIHCvQ z0wE%ss~SC!ygzpMP7+jctf zA>Vc1??Y)j--0_!!-Jqe-Ch2OE6g7W55uC3o6GG>ry4h>|8nwU>vso&19zw;KhaXA z*OtDw|8f7LrTn@7wWHfnjdo%wf8loW0U2|+U*Tnx-6YeG5uJx{K zSSYxMbklcBb~7kFZa3Fc<1&&Fq_>g2W3C|u=8yi@pWL4WrXJ!~!($!HB@-tVCJUcS7a809&a&mO&j~mHjtiNM* z3+avqDefaFJx+MS>yD=)*OC}`6awP;T}$E8Y_##eI3hj&H4z6A&ogg!G*0PvG#YQ? zc(ij4M(B7^7mSHl?m+tH>_IfO7T8Wmn4$00LZ}s^$hlF34O;dDA3_cHBjAp+l2fsa zR|iKXOwhGxdad>_H_TwP8jSRK1U=(}GvI?(?F;S;n)5IEU*_9UP8^GwIOmco>~CFp zbd)(XIW6(%aBYCl&bQ{q4;lA*Z~!8w-Iu5Ial=}&KFhLxebjJ6!)OEF)B>iPIUB8` zuez^lK{o`losCt0HVX1+w;@L)>}~@fqghz}uLE$b`??$3Cjj~2>2HWRUd>UqRn)Zl zWeW$Hm;ZckEMMvLASmTIZ%qIUCtgco?!Ok2>RlLf%ELa50w(?cngaZwN3sg*xsh(Y zzE$`#MPK0*{7QO4*m4nmX|uCF1ZYyyw#f!8b%)!)b<~p4(8=gJoj?jkCmVVgW84@~ z=-2!&=szFv$HE;BM_(^vOv`N>${fscu^%J+_odORpa$d(4R?5HKZl$(lR16|gC!+(Nk+1YK}Moagd~%b zEK-(Yh02L(h)KeY23rJ;}sxlQ%H=g znwy^%-dZGki*VFJhMF!XE$W@zfHl5ahUS6@S1lX*sgdJz3iEcF$_R`#3is7cS8!}N zh+T39jolg4JX4Xfp24;hUSBIZEKU#hTxATr6@$$x8fpi8m99te2Mu*3f6!1Ja}hLD zbXJ*pO+%d>CG`Y1Qxf@#ry`kc5le7mwJpI-1_q1=ZU-7_?Clqm`V1Gf1g|Jp)>&pP zNElH%OM(T`nH9i;fE!z#FILVN z>TMWRcriAN#yW82(%A;Coe`VdW{u1f_w3QhNKPg@udB(Ic|oI{)8s~=bbU9Z!01baz;anC1lo*3d(FU`(OtJp zwx-rp6xOLV^ww?a3u?;iDA=*Vn5I7t<#k&WR-A213pDvbFK)&2md9;qvv}T4BHKaa zvmMluAKFCxP`oz_Yi^PrTTC!rRsW{Tg=s>mHc1fyd9* zwt3ZBbh)bQswK)-v&(c`Yu1Q_Y{;Zepg^_RsFm24hcyk$Tj^xM#wB zXU>ocYxUsIvtTgIV$W7!Tv>o%$GD0GX3R^`ja%;rYbeXdR#|I|FT=_M(4slf!s3iO z!=ufM);fhfAL!W_*$l*!#f}ex9mAMm;)lS&z4FS7G^D)ZLYq!k2?k9Q^i#O>5j62C zY=>82Z6V;ueCC4@92wqxG)UHsEDncSRu|3;o0bplah?yuaN*I%gCt6;Aqi(b(IW|4 zrtl=#IGov@!H-YzYo!)>toYqr(UrGfQ-zCmop zxt2-0AaZ>E!lW&Z98VTUQ*f(gSueDF1{Z?;MUicVi&Arf!?BkAe~DacajNAFmjZPu zpoqqh1IA^3{FlqM7I)g3ylQQXSIUvraJb4c9$dxrT^*iXBS%`J$7_A_>*Q98LoIJ+ zi{u}BHPg4$ylt1(r;nEn$)nbq;Z&=`^Tyy-i`xMOkz8tTQdWbSk{cKn%j7{TdcHLj z+@^E}qUYN+@H^x?iwCWxG~ki^XUocRa63hJSyqEvQhMgKLvp1x_{%-~dm{X4aiXn} z-GIGxU+|!vArD#u|A3rk1^&TM@KA*3tiV4k@PCu%EY7mk6t_XDo@q)AdPhPM%eh z=akq0*IC{!6e_+D;W2A{zG%*}&x6rFROXbJpkX_`B>MQLd}r~XmHVtA`AUQjEk3in zVkmUDGIA?@hp)+#7H`=er5msTydiH{o7gvf^S9(X>)xXI+sY<@U+r|I7NFic4XD2x zn!hJ!S;O^xB^SV*mgMi|K&u1;!LHdM4_brvkunSri#D`>l7T8o27HBCa+@V-z)(DA zS*3lIUVy9u_-a`NUL~aB{mgB4KZ@~~rEgmEd~RGiw@=oX7kb=3)C!JNmm-g`3n{5jS zbNJ6T;Y5oImmFzRnQw6}s-z;Hmc38y)@4L<<&)k|PMMji+`3CP8xD81VhVWDAcJO- zrpmfr_?yZ#9ugn=_rRJ=aYz}ep~$O7$o7Z)?De*Tn8-DtF1> zSfO%rQ)P72r*Z3ym%Nu%#8pwTC5Fv#V6B6Qw@wv-kDEDNEE^K_w1&IOD5toqocTx@ zBIw|dTZDm5J1UWhu9mbL>udMM#pVQAZ^P(n?y#(mNqe;f1w4IDtks6mGHxvFxygMs z-Bd`}0x48+w}CL_m%~7lRh$(QnNH(qW$pYbM!By}?z7g_5Cp##=8>xlO_$wgRS^Ph zxZhy9ObG1Z#$v2bY&cHSwW(oYS64Nk*-#TEAu#JY8z-zDYgNTGlT{+aOt>3lePyCa zQ>j&4rKNCPIXbDXCBzU`U!IKE%6 zV<&P?cU-MD(Ex76lEWWaaxnEyhO8n~2y&~L8Ansi(~;1X)g8|C8a4GmO|9XcSJV3i zo8B~snh^?l)XayW74oqVzJO&?d2A@=UamrA=cU_@#H_o^M`7KKpdhTfRaAzNGVLuN z1w^ys^q@L?$*u1%yPU|_nr={ec$7EqRZ$%bNh6vnM57#PTz_&vNK)q6NXW;kY(%d{ zI6V-~*L1&CH|i=f)mN%te=2)g&TY!9i4xM8vn-jTzz}63_R7TMevx{L)3fO-5vLa? z6*t~hCMOdZqp1tEWTMT}#4t~#WD6cylwMU)dTvWC?3T%7?U0NtI?3dMn~dII1K(QH zXo^D>#lea!IU4wUmwx(ZN3&`Cp8Ie2y&klLZQS>(m~OUnQ*0Xb$DB$=qBhV`G5I0r z{s?={k9trOeqdpGbZJ*yx;ZvrKheb7O;?p{m)6W;^r|7-CAJ%#%vN_Nw-d+3Xd?4w zCKi~dd#;@nn8%GVH5?aRnZ&NSw&a>C^4DCoWY>7S+ciuNmjoV47s#3QrUyl#s*5dC z5aOi2e&8XS`3B8$H!inoT}cnN8zS%)jjrcUC;Cn`N0}i9vyNS`bdd4v54N;>0L;ud zzd>Qhxj*&WIrS^BZIit~dT+Ov+q;IwK-`_Jdxz8pIv**s4u4yvHBiK_eWKENb_`lE z*I+a2*I<_3lBjHsW}`Q?Y?D5L%N%7z7$hYfUY!^fuNaCR!Lxa)@1Jl<25lVBcuQt2 z%-Una!pg&2QG%5Re`mWhQ(`nD6cmbsrB>j5Cq)EJ!i+sfAQYI5$2voC;4_~#D~5Wo zC>1;ziB`d6922smp+@wLv_pEuv2+8{#|de>5mT#Hi`CPxu={{K%EbxNFUZ|vy^`Bs zO2a6a7_oUEzrd7-1yndy4^S$a7iE+Oy0|iANb50zK!Lc0 z3d_QXZVmBwB%_epFgimr3gGwY4dkM*svRf`>f-K@2#q&7Te$_<@%0`$y;s_Sx*!1> zU7#YMFWk=vP!j0nfoNN_1SktV01ec-Tpga-+>`X_nsejCLg~xz` zcJR1CdBUKe8lVCEoz7N7ZbgJ{5RQrtlmlV>wDbdF>Z%0OY1+yt1VqoF4p=*+^Z-8pGzG^Vp$_nO zBoTBT6O@6N_&Ki%^hg!p$=kF<72xwa3us{(BQ1(fn~dPOxE?##BP9SG;R9MApYy4= zC=x^m)*nj~a3Ayh6F^!7ogEY~wpjA~M-X|s`%wxExl|?Kw`m29yC3;~Hi`pB6dFQY z*ATWvLjW3*J(@xYr`tac{?#2msLpr>f4s7nAHDR&e^m#Q3(WuwhjuW|(WF)R5oP2nyf zx5(u`aKvUzR%8__jYDE%H{eg7DaCQNZo)4 zqkCU-hx&%wBz1U`KU4`BG3z$1Vqo4ZtlYSk!c!YY`_waekU}Q7Ia;E8t?N{mmtHWL zKM>wTgdkhikd1z-R|*!4PMR5MGb82f=Yn@C%S;;TV@IP^@^f6DLaC+AOCuP^k`|QF zV~9Aay}GmHS{!ekvo|N1Mp(}VpMVC_b~$KUAd(x9Sq zd4hpW1%JR!)TI$kMt7mt?D#4&8q&lRW;GSmV956xSjjH+pdPFZ}qsg)js@@|7Di~ za%l_Few90c?UnSnOty|6SCRLB>V6=x-rD}m{mfwekHJXu9<%&A>26>K4sKSBjK>18 zv;W17txnPZ1%zGKRuT4p<#rJW%Y>{19KQ%4MkSxR9Gzy-2e-Xl<#I#xgXfw?U5Sos4y9kpFf@4 z+{XUqwuhVBKe|2T>b93wb8j25-3`VyTCijDvKKsDCJ+4pRdC!)Rfz0wA2xx*yAJfs8Hlbzxxl0$kmaWiDLY>Y9Lg zI7Sx*Nb^0C;c4ja29V&jsgC!9LS#Q)f;(^D7Niq_WZQeHzr3{pAghBYu`@ETEr=YS zQ?RR^8l?Cs2=D+u-EIj^r>8R_+i7Q*kVi{m6$91??_k|1ywecL{cOqTN@WbzspL+s zO}jr>#DnuCv1=7E`fKMQup_-+0IbErdNEi#;mA7+eT7tJm-*kX$HlVu+i)(iyc(A< zEtiI8mr3BZrM}!Zzar$(;C0)w`ExrkU6MQXuBtEf)Kr4UTW>WYy!P!9OL)8lG?xZQ z*GqQS*191S+$i~7y9;xFpS7RY#i$&~U7L)$%C51@ME9j8Tr$?Fx&XM6wuL%}@~~i2S5JIN6At1@~dAvTUBgvRS zlNBLdMwcxAR`Dqb_15RplI@YwO}wZ08Rp0v@2NOhvOa&uV*eMZJ+CVOa%B)GqXE7c z$=v@UKN0cCBo{>d9*Oug^wxgN{35ki{O}O+k@#O_PFDt0UXze-s36@__&St?6mMw0 zDbe02=`G*#2mQA#~KBKJ|h1oV1ay({NIbfiYPC8Kdi1lR9m`hj4`17nQ4E;3etY^&VQpSwDWz4X1eT>oz=Sh?yCjn|s z^_eqlI7sZ2w2?7`)kVVR6VheyF#$1|D}!ZU>Y6UjEqjy=gYN3ci8KbbiGQ!F>e3Gwt~ zfhxHLB%8&<#>R1KOs))TcA9T?y3%EkB?DeZ0qNsHZVa+%21pB)5`-uy5(jIi z^-Cy>c_Jhf)<&o9xy<#4Q+Pv2a*<9duftXo@?6}ggu-3QZebN~QJP`vbD1T! zxEYLYRT(KR8a8_8YO@Yo4|giHh4pZk@I+li&ioh9~|NDe;d_o>X=VM1*~`>7O!^ zdpcwqCatDYT9DWx2o&R$Xm~(9(eUoc3kL1QkiY`gr`#23XD?Z2|5PpuvRKrVzT#zd zRv=|D8HU0874SCUW1^A`GYw$>hl^>Q+RwyNpS!QtHe1=BzzzMNJ?Q;K?;h4=^n0fh;L3Z3Nlk1O8;b`;B!!R zx-te+?{KmXr(A`k6i4`G^L?`;EyeGVG&_odzI?&Ft|CA>R@s8ZRmeSIpvgROJO$|B$(i{m}CfKmY~jsAVdZUt9r3=OORnAozyaECTMbLW0qj6NLGo< zeV;MHv6_$lsl0~YsM`rvzMbf3}& zOFp=to-J!ckPjZna_l}}xe06@NFK4`Xm$0Fx_a2MNIXnee^W9EQbpkBp>z@Iii8m~ zfx9US1eqgvW2!oT9L&b+$rvS#$dfZd#xWbt-?Jo+u$fw6ZHvj1TE3?&WAKx7@U&%* zcse_U+`%w`G)Y8_BoW30o=XuOPj(3UexAOY)ps+AB8-FWC>T?NOGZI9IsM8b? z@I4B6hlDZ+lMSM#q!2dr_k7OaW~GI&f)BE!gwRf2H5&wvln$b-EW#f$_c-w~ml7 z7`F~f2XSCd;HkTRj&LnyfgqDaU?k1tgRnu9<>6rEdf;smq0_^Z6T+sNoDg`p<;WOJ zGGWUJL7n-z8A=pv2py#?!Q=`~cXE;R5Huk(#L-F((WMl@R`EFHg0Mc1w*(N!f)S}8 zC{`+n`c58C%3#B)F%yLE;S`@J82+-rk_0cv^(3c;-cM5w2%AaLKxie;2#FwgDUYQH zJ~cO8i6E$VRs*gJL-VsqdghVyc_9{p+_@?vD}`5m)4@CMF=a>#VKaAq&S!-nUu3}NM&*Jqe8>tx;Z00DSs@J9Ta*dH zCVrW3PC|%f$_PPPGo^kYcf@p(K`33s?e&SD>N7)Fvpan=(n8#+ybv`dgka|_4;dkN zS#*GOuQEc2^hpR|pzl`#2$B8+nuG@}BgBI&9LXSf^bi9plQ)7q5y*N<1wl56`WgB+ zrH3&1k9hcGg&o%Z5Dhzz zG-WyWmZz1sJ$`9M2-sif>pdleu)fF%LE-z5!Uy3QnIJy&bNZ2Q{;^U+kPV`ikQ9Q? z2arNn=c+FJ|?T z0-df&w*GPaF(KF@1;%jw5F!N#A&^3BH#xwwSoTr>Ni6#~ynSYcP=PLPZ7i6bhy+>N zRt;wF2-D&c=F`FKo%oG?o?!OQq%oMiGx<+~**g^)U_0Vp2D5j{xUX$s z!R(z}-F*IF_K~XzX75b?O)z^W*8PTH_EAX%B5w?4?@azpF#EVxMQQa#vv*?V|D4h6qcHRvL49U4JEXTgM6&(Hm^-Z|FSs>Q-$6eevFs%?`2VB} z2cI3>&!+Tyy`k}RUU6s+^kb8qU^l;T1hjW0zogS&%4|a~ZOP6yv|qWM-LGo6_!uC2 zi7hm~3-MaJ^!RA@&d&(YB9eXA>A3h*-EVDsS_hc@jVgX`ou@B36pK#ZUh4tPa5F>} zyZc|})I(NnP&J<(1p)j)K0Re!08}yc|Jn738yk#0-JS+xFN2Xf_rQjGeK`9JdG%P$ zePrtwoP9$9R{Yr%;0P-_VQT8P2ml@_k9HY@KNkQP#3Bs-Zk8EB>5O;Ads82#eT@GH zVCuu%Z%_`BvESAQ?;VTL!m58ThEVML)HxJG=wYEM=6ODcd7B`Ooh+%8$xM67MniA|8am^oxR_XJV`z`h9q`=E&)!Cda(5S z0W63x_S=-6>c@CmaMdAAmf`@o2bhkzUpE40G@y>T-?~0aUOLt_CVxI>g6rAlxubmA z+<|asi}k+=h?9qyHE@cL2Zz0Ji}b(eh$}y4aQyQ0R(&OqVJQ029Bx;LvcmT;_knfr|i){vn~Z zJ>weSDnBJx`{vikj|bPCT5_$q{9nnGTxVIgud7c+8)_-0Fev+E3M+C~)f$=i(}WTLJ%qLv{$({^hdy&)_D&L*p{wJ_CP$D6k6v&09a89)u#h724QEG2?j8rTm?L$+W@4a&?y%IkNc^{yQhTp-|=~Z#adx80V_c0$x!tv z^XqxCKB=vE`q1PVyAODVCRp%op0M~o=lgu#@?^{L=LNe6&Ku!()$H|HvVdx1A-{-)XaS3(b5 z0Z{L)2GrjU&FxmeNR3+oKJo?PHh|*y3|IM)zE5550J!uv*A2jS$Pb9WW9m7yC--;% zK~&O}0Dc^}cyKMy#H~PxBkN2r2jJ%14$up^0%dzMS0C;Mx^VT8BhZ|93jRJ&8g~Ii z2F%6wHZQg}LX^utX; zaQZpI?1%Hc{SaTD`SSI_BBn9O{2#*BR%iYE@Arg< z!Jk`z2WWzA-{6_S-!^J$@V7S%+A}QukN8`KM}2eb`q=y*qd7)?K7Zp@0pmXPp76H{ zG=tfNu2;lvg|~&9ou4}ZvZbnweAaeM3WE+3TeBB2_G9^fh8oXmM?6b~4hsS?M4k&h zK5xM}FX%;sF1%ro=i~b4u0|QOml1L^@Xxq(fw`YqFWdpxUtTbX0~$tu?g3r}BIbU| z$71;h5sd!a0K5*j!01m49=;KJsVw2es>1F~8gT{iRy@-3>a`Re84|r(&yta?xWsZ{ z)P1YCHk7_4-zCOnHwC;UNsfc2a8=Q?(Co^|Kvr=OX~G8e5Ma?Puc@Ld$^;o)smz$K zoERZAr-#s-yk3b^GzLl^_{piOHgqmB=iuGAmLpNl)TB%k%cob9t|d1(t31qCCN$eB z4<}p3@X5GS^?6fa;%p0^MXk71S>In2=H?z(P0T%^m?Si5cRrAUL0B@mo@71z=GG(b zS~cNLkbJ`!yde$NMcb%J0e6ngEv&{V;_2wpAbUv6LW)7|39<-E$V?7X*bRN zd=jD2QL>ZU(d|@29r{IB^S0!da`v^j=qhp1hQj{}g}Murp|C5BtN1@vt4Y5ohh0LH zgRuD>-crA_WL~2)nWTRhwDsE~P%~VQJezj+p#C6G^(bfqwOZFE^}jc|(B4%=F{uAu z#E?jePOp@dnmn6!L)n>%sspYlGpI4MDW4;4hS8c`v53mU)47&zVlFZW8cyB<6o{Py zdTa1&A~(BS4i2=S<^vIf4lr9++RQlsL20o`Ixmb6m4y+WA3_aCrf%g$X)JMFW9dO-ksDKZ0nmj=m>IMcYFum{ zN*4nh#e_aXl=7tpe0AZ;z`r7zgtHPOL_xVy>IYU_X(n}g#zzS%Lq|bj2`~Jy;i8#b zC*`CnC#9w498Z`5By>ZFGpI>7p=z6al;{Gzlh%WSx4BWNhnK2S|4FQS+* zm^(s1a*uQnp4>@=yQF+*xM(4_NDHy(g5?JM9s`aRa*zCuxR*CisQVz``!zhY5R{Au zc<`Wf4H2-Mi4Bj33=i~?hkU#-YKY;1_7Tes$#f6i{AJHE(TE~L>uo{w-n>Otk; zv0jVr)7yhyNg9ZukNyGhe>MajtGp~vq&PwIc%`m+ye!9~G~7VZ%j9caQI5{48#Ut! zXK-I&qa2sXi0h4+*j>kcDxlF`z&FnOF6TI9?G=P$s3ud<=h);czUxt18w-h5JflIg94JILb+9~^ zv$Kce_`lp&31oB|YO==gz|x@bfB%(O%1!nz%v-uCRSs%gnB%0s2Q#(ol$wwZ3PZ(T?d_Us{v; z+XOA3w8Uu*EXQg6Be(q&PV3;iOfpVnjGsu3vgdkh=1--z@+;Su-Gq2W9{e0Kv9Qll zvZE?s(A1w+LKb5Tn!HO;DW?co)baf*w_}K`X~m*RwK4u2pOWkX@Lk<5Zr55;wF99F z_z+RlnRKaciPs2*w+QxN*6gx8ouV{LY*NLCxu#P=KFowR61C`dgS4Qs@b*9pz-jeS ziz7MUXSm(BP5wZacD~n=KQib)hCz=~(4t1cO9OQauqOu2J-Y~2jD4_T56AqU+{`M+ zJO{iMbC%+KW{IQNY>d@`Z#{6{$My4`*JR7&X$H*wbjl0kxoSEWtHdD3h07ogeOtZ# zBN;eDb`u*v=RJRmI_>!yPWuCN;CFM}>shDH`$Iv9fQ!TI$UOuG#feX`-Vo@cM)ih3 z<|RG)x5TQ+G;rQ?(EEH-OvTYKbqGKRk=R5BE$2VNz_IZB;|y4bWB?l@p@*>!eS93%KIA3YVJxQwQzoxiF@fTA#=?wet|0se^b^7z^ zpUs3=RGaEH2?G87mzmFV8Esq2K61D-8&#c$m;qH04FUisn`Ts(56q^?eJ>5`+^$oy z0wlILm^XRRis4q0Q8TI=HG3p0@Fct?@Df|rOZ|{9lTj1%rM({T^2qbZk^&NE%B}ed z|5`xA1@it2bc%DQ1P8Dz$*no6OAI}-YVyR#B?`Bt5*rX1s>CH?$rMH1pw1B&kR3u; zB9Cr@!fZ!(N_McGIrRBl%aS27@R2luRrA`R{mq)UTcj_gQy{4}63kvIM0Mq&?+i*^KKB&AbFab0fp1g&6aO6cH~% z1aieA*qqu;qPHVg|AV3V)cHr`0L)1;WNN zj0E9=C$eBZCkv+L7>Pm@oyrvc9e^fNw5BIUt7M9QnC!>Qbjq^H>CjKIpuA0z#mu^7 z(eNg~Hm2bGsD>}5#=qzevASd`T91K^Nz;xu30kQ zg#_PY8(`Ax+5*0i=CXwpAyd>0^3^bWv}709SP{D~iNZ;VM3LuO4DOq!NtzvSya z@s_e+qTJZq{bo~PP7Js?W~Q`?*f04zR;EmYIZuY5{Vg@g{uqL=U-BfRF*(pIkOVAh zma$kKB)erz=1Y1x1cL`=OX~~^rge6>Iy*uZOkxy!n7+@$(p7d3~&P(wVv~!#zt$W{I`4FE;|N%QJbqpLbj)z?vT18FXEbSTEtmOqH`@hdc9G^s!J?^kP3_ z4K0O-a?#{8@G&a^v(I`n(!V$%?*+}g7c|X^GnOqABIJrJ(Eyis18~wx4Kbw8K&l&v z6=&eoeyL6!X--WpF3PH-F%Qw7W+LMvgh~SAx(JMme5j+6n-2NxOe=%!&DK=5T*p1+ z!^pdJWJ;#PA_AoK+lC1o!;OEd^%sNO*yfz%#&u0@bnR}0n2uHd65Z9`1(5ImE`Yp5 z$Xq(a93mu5#(AU8)MVAy0r0dlv52-@GMWXobQnEIksZo!OqN@1g0C3~ZA9*ijcQz% z=iS%q9yep{h#BkU7COuHW!5993ga3_b#LcUeih;!MU={Lx^Wdl&t^(=o3ZY{N!d4R z5Ia2 zUkoH)#%h>%>zXB0;f794+`ly*Y8LvZ(WMuAfu$P=3&U*odd%d$H>LB!0qbzH&|wMM zqkacjb+O^|-U0W`s;9YDk~hZC8gHHGNh4pdQUc6PtsoI>6N z2KDX2Iuoa9>)eW(lXts@;GA-*?Rcv1;!&5U`fk2~e)5o5qgm-rkYJ2qtSfefbkn+6hlab>XKWK0{8H*M6CjjY3s z=nzSlzPe!$?3#KGc8a#|f9ddz`lUns=}U*aQhQDG-PCig>*qu`LkZ3RZ|L%zVG5_v z>Jl><3R?(;dS)g=;WI27nNL|Zm{(G3+epSI-!-OVnVD+-BBC31@IAW+{604e-|z8v z5#0o5|G>NeerPQ$6;n;u5pKKb$&b0C_;Ko~*bP(I!K(7+5l*c1)gv;w)-NV(3@`x+ zJUjW>ux#4p~0vruMNg71|v0a;OJp_TW2I} zAgz=IW;e69?H4{;+UdUsggIzc+10<(t}eUZy5GyRv774-AjT&>*0o(*)cmzYx5Be+ zZuVfU{z&}w9$nZoc6Wc8fjz@O;G*UJoKD3=>>4F+*XY8oVHJ8KC%XpD3A1#6Aydab zD#Cb?`fgY~tQ)NG>~Ni78JH;FUiTPr{T`!7_ZS#H=Alhs)!5(kCvGq_?-(+$U>t~U zf>p!1JXi(|1C33C!b74SSvBn0VX|r1j2`ZrA7OV7N6;K=2A@N5^ElEBA4j53`WT;y zGHqD%qjjZWU1P}La})?+)u8xT8tp;}U^K>Rcgv{pe~i`c_ID))pF0wv{cyM> z;nmy<6@MfcHD>6V#K2?Mc#KKFg*_B-Me+m%Wqh)O@(#UV&Un{o>pef7_bnsq`>g#30XAlg4?XOU%%JfRq=Om527vA26Hf!Z z-W)J1c9=9~VOzkC!RKR0XJ4~%?CZTmXx1sChBe12YmWC4!3@D?HX1rc3yS9=0x2ad z)uts_HfGi>8&z30@)$N?A@;mmG21e5T)VbXGKmuUSvc|-I6}B*x9l8;dWhIF=zJ`m zTFf|>4l{NT#uF?ZQ?PVE6ZmLh@i>a{932~fIy#Nf?3Tgf7{DSOAM3$l*ueC09F?(m zpx1{^Z&0|l?V%gBdk}Si-ewa+?CS-EB0% zN6Y33SF1aGpLfbf%iRt}cZCS;e)|%Ct-C#~;IAbTy(f5Vk(4_0b)SN@4Zr*4z=g9` zPYBY6*C`;|^E%%ghb_Ff9%gudvykiuAcaRPYWtA}tRD?s@!g{M z3FcBx%dtGS^0;Z4Z9-zyinzgpi@}nLPIK_IIcq(|96X}{Zrrw};I_poJs0D-<(>nh z=lxE3KHVwP6t103@X2~1b}!QM9|H9cK#kHYj!G1;&6MD}^-?`z+otyw`Dxjd;IZ|x zJhpIB4P$yu&RRAlulwe2$aM>cEu2&>M0+Juf~OYs-l|VYw}Q6c_RZe$&E8eiHgVb5 zb18@vuKk`Owqbw)(uXl|+9J=7Lcz!IH44f^X*2L%i^=ZIlA(g2Mwp+)HB$EzW_h11 z(b|N3hhw8VjoW5-&h~MYje* z4^}KTaoD7#Ryk4H+MLuqh$5o4`OM1(@S_Ocwy8ecVz>_{c$0{2>vX;XwQZ`8RJ`g@ zS;yx{;#H4UNVhv0gnYy{=3PZ>yJPCXq8)^8)8zQ9!m^L2$qAv)6SM9_-zTx#d_u@J z#V3Pg{nVP4oTAsDFHr0@(b{C;@kpMgz-{8Sam)`L6107W?~t%<3eU{q%MzXuoW0P; zxe~Z7aymyr+U^{hpR2fSg0`nCVw-yBHK4vIG(SJ<&i7sa#X_p>qPKZ+O?C>=+km|;>xkmMj-HlyuuJ;D zE>#4#8CCf?+)MmP7B(;lje6RcAH@D>B-%ykJ_tNY> z3L-^s6Ulu)zaI#Y9#n+3HUQDtMyn5J-NO`=iP&Zm9#PCT@!I61P&rZB+5ps5BsWpp zd>%+QK)2$zANTN|@bLehC48HhZE{p7L%@?+N8t98ko!{s+S6J0w1Iyn6cDogtbu<{ z;GfUB=dwg;BK#vl4_}3sqlNq&AV;>5)$=PBnQm>)yz^H)--#sQ9)*w5`u~6shgr0;6{= zZ2Mi1tna_>#3HwiR^Ipc5uW|Ng12jgZhQPb%DRtyUmq)Co9OKx1#KJdz5gm!+wDt$ zBcwpUHuYxb`mmm3!I9l*;5O>7OX!PK%Ur9LIyir!w}o1N;Ro|bc`<_OJ(2T~CAkKHy%L~fr27R|}R0Qzhn zuw72h(ZC7SK1ZS2WUH{C?eiE|*-`f#iY!#yotXyTb}M50d=H<9Z86ctm~D0kk=n#= z|CLZ%;MT*lF_=`h9h|n%4mkRu47LI)xur62RHc{FFPu)u?B37Hvg(>(}g=`Dx zRXKMh7x)bN>d>i$YTI%Xs$EL1QQBl~$I?@-jXy8|Te3>^}u zeV6a>Zj0Ey8+ssC+op*~?R)&h-s_v+r;u%8uxrWv7L&akdU!yU2+B^kNSh+Jt@%R= z+P3jOY~k99<^G$>2-UVN63i&w36a{50O;nmlSe(E#}v9v#5R}tbVl5^7Qi|seESLC z>E8`ZnfPsH>dBmfv{x|Frxe#sl=c)txLHf0x1Uz@Hma`QL(isrsGF#5_Z(oc+&}NZ z5|RD9;;6ueCcH!Ls=^5q;M+crqzw<&yu`6FK2a3yqmrJujo zd~-sy3F3a8=5JW!_N&a_o2o?Qb~=CEY1lT~a5Z7u+E4FUsP=nwL(sNC`ar?hB4}c< zt$;Y~k0>Z7A8QgmQPegO+ts8uuMqBD0Wr)noFG&(ZmGQp?G)YI0oO9h-N@(d770@dWI8zRwd$x`_G*Xemj;pzFF{(T<){dspEse6F;fOf}&dG|oxJqR&A6reqvcMlu*zlDNF^6n7> z|ERz}MoO~0dkk2QtK2!HIp^6m}a;hT9!;hWII zTjAN;N=TCJny2Hvk(2j^dEFJ0`n#8Q$7{o0 zo?{NR_?y$-UY?`)uAJh#tOd^Im_RLGwo;(ylrLN0?R7a*KJ~hs;IEfUTItN(gLcP5 zW1W`5g;CU+j!Jgs*hS%e&boh2v%6RR%;j+xWT7%)Dq?bdQ@%j2YM9w+s;hPD)T zjRvMDOUYTidlqck7KA@omF(QM7t?G0Z8f@Cjpou(`}P8FAl;ZRO_e+I!pL6!mvIAI z3e)=Dpx%GULzSGLB){}p+h*n|Uphve(q$8?0wr-v@9Vb|nlqKf7cj!Ye%UCEVyL*T z_SjeOGa8St+;qfjFo-%bnbNEK(AnTj>0K2YS@ovzl9iAZ%VMnaW{N z=~~rXhn0yc8>G!0ifjcuM`tpX*E5s!wylD#o|QbAndBESlSFhxQ(nti$&_p&+M`Nu zbB*WF2H&PH+9X@zdCoBNySsq{wE+t~;BM`bHB#Rjr8kGvK10E zV^TEyLcejPwR-+0*$myzKRa@9X_i(%C{@@X*z~iN<5VK^V779+|2mSdC-|?9uP6Gi z#dv%rGdgpHX4yIbi>Y)_dP1|3WDB6}s$u=Ig&Z&o!}*6hh|;C1QsN)}Jy>g4csq)6 zf!4H4*|eQVtHiX6_F^?2)1I$nw#2ujtX~~0J&LeY)2xGqv{qbVr@m$uNT6G)R$~4X zt0e%X@cbea)z=ha+Fb?tctnyfI75&-Z!W357Z8wn#T$ogd($?wvgaM`NYs!dRF`*6 zT}*Pbhi4v66jwCy5P^%Um6^P>2x34kWJVG~46=RGk}IrX9d@c}>0ZrBVOBO8u-chm zJZ%CDP3X+mi|5#I8aQ*Lx4yv-yF?RZ1FV^0@JWs>K0p-c|G(--t~$D>J_zp z_pFx>v~nTSRms-cb9B#wd=k|vv-X+Y+-;0N_O*x z99Me6w_Ihoz|_gfCf9!PDiBpJQu+7wX5IB~yVSq!oOT8Fxmu-ldV3z0TXE_)I)8$g zO=)kxWvfY)9q-6Gu}QYo|0(%D&HfJ!SdxT&QQ5IdAM0*yIqNco^`mI-(j3w3#Ekwo z{?PHKf7p~nEJ8-~OG6l3!PyGl9!2??B7Cj>)JkSs#G%MYgmt}2`)v!Yex`K2zH=zk z9-?1kp8DrM%Ca=ZS%NxO+x}EvV(yVRb*8jLg{8-=xsmcXj|$hD?OyTF)QuCXH)jbh zZ@CcFPfjs9*pgoCSj!YjkE<6Uu%kcO=-y5^$kWBs3m?Q$mccmKtq43GU!m&7;=dBg z((hp?I$Tt?py9cF_s<=7!>Zyj2a|Snl4Yg@pkb~o4RC#~Vj<3BW4>+LLt*OD{#@KJ zRjN6z9drxn*rFCX__q+!Dh*ILaDj!R>l$fM zbnLgTMHMR>wZ?&c9jum7z%St4v2mNQ<`C0fQ8W`y8VNwdX>X+PdS**e5r=j(9ax#l zyFr>5p(DMQI4%`F+gC`{C7J0)N9|rrP{o|D_YP8ni30v7BEyKnNfAr`B_qg6=~Gh7 zzm;KJRJy_F6Dpc;X_nmq`Q$1m&U8BWdwb*Q96tMLR!Z-w9w=od4+do#USb6~{qpDa zI+`<10LdgH4I!5+Y{KO9Vb^zfb3PT-4gJs6G0z6mnH1W^g|*;6IVMy!J{+VIGE+D_ z=cznqLIOLa`OU%u(N(-vTQX)lxy){G!@(K*g&buYG7-V@)acNDIKaYc5USX=;?MY- zc*YWmv1D;L1-uiJ=AeP?){-0@WLYA?hpAS^bGpHQd@pPkW1J4h43h)s8CsJS!M@2O z+!coiqTdU4$D?`F;^WU6qgRE?%uA}VRD2ZV94ae#Z|80!qJ1gUjHDmoZ z0z1d~Z#X(4M}V~-9Dmz6;1F6E6@&Qh;HV$|22cA>Sq+3MrZ6?vv1tE;-RiGE?+o0`a?2|fWwpn=d)MFW#NtBo+<1fA;UXRB6BD^ zLkBCz_+#YNv}x(Bk)cn>d|v=P2RF!>%I|7g zTzE%iW?`~ntX5OKIBUI>ZcCYqUqLJm4dqG9Pz?Q40&sDm#Rz8+jOli@E$kP?F@m7s zlfYlBk(~{_kvX*E0%jx8KW&pnB>tqD0Cl;j;Y4cB+7N73soC5vxe`}$3ANT#1yQA} z5$~QT0y>&DLkh$&(jy-Cg|U+BHBV+ zS}w%IvlWGs6*Y^nk^k@szn|BrG+4QP&!S=8#Rn1b(p||*bVS__9xrMAy$Y1F-KboiI}a9swP~DdX|_KikjF&&Xw_>uiiP zN>K~P5mF~ud$tUDY0FDt&}rz!Y*85#t0qi{v<>~qp@PxOPEQ12-;7zJwx6Xe3J4o5 zBMmD2BlCx8QoW1kAYeSGwJZHi|5kj-L;7Br6J_G@vL~FVY9?G)W?PH<^?aRG9bMI(JOQ)^}(^K?88)JDE!Ix{VG&sbRdxc(P)A;kHk^pS?yob zr=e-q-z1iA#3tCWhLR9XI#hL}!)&8;m^9KIW4b(#iWML)kGk6PLAuLNKo65$L}y{U zPAK*QL&4IbKZMf3w=mfuQ}bUlvh_g74Fi7FVc$e4MV#WG$BN+9+kqlD%(++-(HbSJ z+2}HksnOWo7z#2@IZLNa#c4@QF-m7Y;`5H}ugJq-+H z3oa!Nb(>P^KMg zseek(3ZwRcVKxSeQ`M1Uk__P#uK|k8^3xZE29itKRmM_ASU2kP*3}=!nbk^I1Dmn5 zlYZSx(8GM(*pLObzWqGAftn;Q3fX)>9~vg45(Z6uEj!k8gvoqmc~l*#BP~;SD(bVe zt%P!$d^ysO_7-F`fSJR5#$mzIVy>8~ zboC@|Hj3F2eKKYI9E=Sk%W4XHsG6H9DW_UpAcfTxql zU2GtQp?ozwPqM>3TUuc?uv%F08vCl4|7f-SYK1uHNk=Pt$FpvUauuDQxqi11lIXNW z8&B3skmz=_sgK8Ns?j$!bHN%%bq;kdk4$~R7-oxH`MLBR3Aa4<3ZC@3&#G7`Y}ya= zT-eRFDn&m|&i?}$D)a;AsatQdg~L-}(+i1MTv#6+d?q-W#EASHfxDc$Ygie~92b|~ zH#VgT{;O?&eqmgIAlVOaBlQ`HF7+!TbB+v8qF42W+RNxZ-A`BH3rqsS*h(W%&@s&D zktSHtK1ekR<2zPr3Kkg3d}R87^`6aA0z&OLS?QJ;yz_=hyEij&1>cL|-6p&}+vT#; zE4^6a_du}HA8qH@o91PD@^ztw-Ox{5?$dQ`bLOOULKf{g1`B1X_iR`Hs!Wq{2S!zT zOCzjmWlokus%Sg&BU7VMrbuDg?c>PWD+%rZx5I5)>3MQC>^xn@`QNR@{gi z)mFqU4c^Gl_>`b`6=ug_{~JIM@g`4tMC{8l4HQ1P2w zG!lpVb!b<&q^v?*dPg(?tAmPS23wi6BbWxmgh&C_$8CV-Pqt+pNi@tO3$R5^XD$*ds_*#>RGF&Y>MrmBI_={b zF1Ooi=ub-dXKUjDIapH)&TBKGem|FulUP^>y5Rvxl|C?TNZ(zW!x4oeqBz=HraPCp zrahi8cHY9uCoQ#hXs?AWKr!^_=VoFi{O=dW+f9B5*KV1W-#LxGKT_WbP}owK$wkAQ zVs@Z|m=3gk_OJsup74qP-`w7r`%ciI$^TYjlr$ zgxkcVdhR~JAE>IIwizS70{~g$>9p~ZSsn?}(YWL5;2?yU?T{!T#6g!VL2A5G|NjzM z9d!dL&fi5e>u3TLBSZ{nG(oW!gaL>+ZXi19_+V%ffAM$U5QfXj=9mtODUmEsF=sMB zMj)#<2}Io@+@~gCp_*Tg*Tk$Cq`4)C-NDZW8H?HP1ktZ3nf8FnC{%O?J&6D6B0hwl zNs8I=E<)%nBGifw2JD9FqhE3a8l2!v()WKiSS)OaF|;u2L$s6HNvY$CUKJfuSx={I zF&Sd}VF>)RvL4in=aa4h9l4>D#hdb2K3ypE?Gb)aEmjGJC#k-@51IBMQw9%;$EP>Q z;92UG$V0`!jLVPGcvX>gEKw7ep{O#g+TKzbh{;U6Gp>x3o(V$+awWpgsU<0~h)NOE z$rP+%^i#yusC`Y{X`_nCSXnezEj`!QN`%bKqy6u(>j`F!_ToC^5R#Y38q-w|*l8b* zdmR8#r>~(HlL1?^@?W52Ut0pcMUQVwimyG)fJY8E=vDFqf~1nQq<~~8%bHS~tcBZ{ zM#dy0gY<0B;3i6#@eJxectQg^}B{RGf!?n6_ zty`ngyClN^)%}1BEWPn=zFwT}RPV&_9pgzVjV>IM6XeLb5 zpsetHBgB<3436~{5wzir#|n#7ij_GWUX!*OTy$&NY`Y@UzFBv*a_Bj8ke0Mnn2)L* zHQp-Z=hjA8#92i&w#DGVpo}9G`a@VQ92_-pQD>&8>1DM`8aDRKO|oOOiEs%(->!_I z5^LF1+DFTwi708=uspHDREL^c2Ui2hHQ3&NuC)&%f0ZpKyk!k4mMXXO&gP_OMYkO) z)c*DV-I^NLnoAhk_iI33v(kd~Zqf)1eguVQ&#Vqfa>K&^O2Y;=l}e>yP5K?@v%`iB z8Ws&3mSg)GG^iK}V90>du);9vX;)Y7!xOJiTw5%<54Qp9XU8PNi+PpyV@b?e%aG|&;S(~L z;$4~l2Fh@g3}rm!BBF-JnDNV!lcFrL9-SGJ6pOHYEd?XGay|%PJEOV&U-rjQ`gf}l zr4LP9Dpp0O6wjOruwllX%i1U5s~ZZ14ldDin3HM9gd&^bK+RKGC$=CaLzp;~b2K{# zD|2g<_OpFt2RvtYk*zoUTUa?USYRK}VXnW)5OKLciSUIXQd(Lhcn*NixR%m<^}_kX zo>u-s#@w|vPlt$IaniY>&4ld4g~~T!DD2nCg9m#w*hc{ka4j19ENXQ!9F`vI6ry~J zJ;cEQ;$YXpapZ~u#u$anV1HURz&5abu*BGR^W(gCrs2r)4uSy5~b|E*>%Wl`$W5Jsd!-tOlzgGng9#bE5A+PEMejx$Xfk_3V%wP9|g zb*ytT>WUL^xE3peI44CVnvTjKu-8L=_v?uTZfqh3qRE9@7Y9HFuDDs|E7T}Er7(v! zMJr;Ld=-HX)s~9*5=|M=z9vjG6@;=j^tD{ct*Mz^%e7De;bqET%$pS_rk5@kGv4Y- zVY)MwG5#6XG`VzoRk$VxO(slt1|pB@4MJy)>%n?+u7am2Uj^|9$fe-5Dy2+EIh~nk z167t}s=+=~D70mmtCa6&T*SO)O802*tWzlb8RH+sWTJtVAm%93F`TUoMCQ?LJW?T& zI9)`QJC3{PxeP*-q*Q(m>TWlw9c{`4Mc5$sq*AI_DN`-zEy9p$1~Y`}yzg17ru)=u zb71y){tv7_REMkySI=j2O#_+-4k{D}4{0f_v1VO#(b>-g09^_W-{3Uiv~PGcHs-`! z{Ua{bKI_rvZ&evkt?W_LeR_(Fozbg@xKZ?(5WoJ}kH%y^v(?x7Kl+c5`PA_LZQFla zfk~*Z$p4oK+#s9T)Rqjoa@jTP_SU#ep)lSoE-o|8Tf}5IiCku(B#;H?2ayYROj%em z6Iy;~YF2Juf-yv_)#Y`_nt3{J?ZSsa=j5TTX_kB5wD$fX@PL^6py z+TcTW1qmj!8`O*5K4|Z~7S=n|RyidSGI5GYJl@5O!Nm)cY+rLZ77zL@7e|A-yFzO= z<<_>HxKs$Z%#Iktmuy0?lGiVF)uqeoK+M5Ga&oxCzd>af_+_uxKU=lOBl@MZtm?jUviN`H6#ZNJSS+S++wdki+!SZVd*^0G zdj?ehA8Bs_SJM_YjPE+lr;;S4x}6Rul#)=Cp@Tvx2~k4xJkJP`lA%ZzuXMUcoLi{kDpKm zj2B52s4r=%Ar7^mo&=dT0P|Zn)f41^G}(q&J~(YG5?$ZRx$ixu8~}j`yg;e!kln|!O(aL+eUDGs`nY_R2GdT> zRDnZNSc_J9V&Lbycyr-8%aOm85cHGFKZNToS3ZywgKUrKf zuR$AwIRnoe_Su63Mz=e6_=ozy>kK4I1_jn6uKe`}M^YLTyFBfi!53x$4G!R|;omG3 zjR7!K(io-$tqe+oGayG};8Y0JKp|Lk1DVAc7zcBSJk>8IiVMHoH8pz2o5!qZE=({c zRLV83dkR3uUIE1j-YjM*AGie@PgU3_*bchmEES1Q9t3 z&B*hat5G%%f_Q{hzFRW-r>l2)5DQRlN1r5gvQJu;%owXInwaMR$-h$K$=h=ZBn$M z02~-Hzz@g-^F;y6@Ff8Rz7${u2Ll2FH9VO}z{LP!(SfZXjp#?F1@9J3C&ZA74?fL+ zhgXzY5DD~fKRoY*c~@@bfi@P_Q}u!4sB-s>;yiU=ABLmeIsIh^#>~ zOlLAp143E!JYiG|yb`1q8K5H_ieeUlrwb7V#j;h?e~S7ZXj;j3kMa1g0TQJvCL{Af=l}qNV@pBc-@`zGxk7*& z2ypOMb0AGt?6DfoAU{F_2@Ui-=>#Vk+#}d8sKEjPMhcJ$B=o@s0sDj%+DNichOGF*z}dJ@2JS0{ zd;%Yq84|4dK+;5_3$it&&BLAvOako6Y>*F5b zV99_5V@1u#mkb7Zg7Qj%BX6O?WoanDAQVs$3}B)XG}pqmO$?{e`V?67kD=1}K-%E) zBYh4)?&^aJ^kN_v5W;AC1r)E)C-_8&*uf}NDgH6k^L)l@!-%J&zZ#keapil+`=mNuklICDRvO$vrjf18~py;3>&@7h3 zFJL+u(kG2JqC}vabRTpfL;X2+f_13={~v*fJAvm4DTEeD_+ODEKrBdI_=PYI%e-fp zV4K2t7)2&SV-k-tB3k%*Fg$s0zI-2Vc@R+SAZCIv2r7phizVS?HBgG6B<7((N64!; zxPck)C$PKVtTTTw9vt9H27&$tG_m+>AP_z%4<8MI9M?0^P=VPKNNqinLm-f8x}gbU zP_L{8LCsM)m=4k!#Tb#%DhEMyL({}&lZK)G3u|&@|CkTjR)gpjY-$X~pA`U86HFz- zq41Le{C?iZjy(*D!6U+;EFeQ7M@@r(XNX;iYddJ-2>lcWi=@{_QXtL_2;?H#a-%35 znGisVvk3wlYlF-{$OLvFMLBT>pkKk}>*6^{HeVRbKWLlLXcXlPC?O(&MGH4jYqFfd zK3oMbJA7bXnR!7O2Kz^uP5?R_8HY6!5DRNzT#zQP;j2ez!0)g27~m*0;9Vb~!9jBY zHZ!vOlmRyJ0gI?N$}*Uv(DNDzgEY~XFffLWQ7?!git%$ryoVC^iX+3;#id%X!ck4q zp1v^jhRTxS2;=Tz_>hoGNB0GMR<oRCD_wf+D2C1>L*@ zc9!u0zbKJmy_5r+E)0ZIVG`f~J8}}dgcMm$g>8j!gd1|w0WzpM6q4jlI46ZY;c0DDlqrt^ouBF(kFMg zf&(vj+=V~{cJc4$ULYt48)Fb5f@3h?k>b8IXpXQOhinp~E5oX)V8cBr4c_JNl|^Bf z0B*de!3Sibs{IHz91P7II6(p%+qK|w0l7q+4ZLOG1=+*B z1f~!W`QTJ6BJOe?e93LaA{x*JP}2Hn{Df!ddoR8fKM zeL@(UhYce{hN4{q^Vv;-0>TWrZP?LpVMo9)c@w<`_92ynreZNWBj5)^aM=dN1l9V1 z_<@lM@uxs3Az)D<@+20{zkp8^Uzj;50h?uV$;o9%m_XSJu-^bgPT#7+`g zjgtTyh~yv}46|>nAWQ(cviPiUu1GkyXIBz-jD{ub00PAhuS4P8wtT3L%m-dQNuu3| zS6FaqlMmt>t2wL)*tSPHLa|Or;2U;33q!!L%bNpdFCc{*3-H1XAQt!;8L&&eHGqXd z)Im@1ftxk)5eS|f&4*p%kOS*kPy$-{Kn4Q$7ziPtKt?!PXjCMW4<`T-Rth$W1P6J- zNtnK%i~j~XG$et0o3J#3E*b$_`}zP6j5S=i2Y48$G@f!sxZsDHaIph88Gr|7V*rMf zH=cRJJ^^_2vk2S>8Hj9{W`L3$AP|EvD1%QtVKZF#Cyofk3X~A$L`}9rhA5p+Fy87w0R$rVb=WXi5(Aa3KidND^!ogu1~06$OgHG6+0W zLb*cT<10RZ!XmOTdQVR;Bw1J?K5{)S`BQ`5Gd%LG(e?I5J3sh4e=gJMl8wVYocTd_ux`K@Pj-kEQLaS z_>*A^JUX<<3pf~pLfp08hhKnXkU-!M=?;_78pT%zz7`7iflqZal~4^}0F2c^r$8wJ zrXeSsf#-o^fY&jo4yEX{D2xV_1k50kDJEQ<5h!r=rkaH$+u8e$_*6ArmTwh*+> zk%n+Mtcnu<2e1`P8UqsLi1i3b4m$`r7YO5bo(J-#Nsa|L`3<~TO9pGgG@nqi@k*8#C0CyN(>6Kqx=~=*(aEL$&=Kv4_NfZDQC;%Xh0sx9Y zTptAh#Hj#W$fZ++lo_JvBLJWpL-`WO+~UYfkjDrB31o0_6aeD5@w*cfE>^pb2@7wnJDT1>jOtP;!S2D6kH$H9A`f>ZVMWp}Bmq()yaA6yU<=^tAod8LnXI(qAiz5`5GL8Qa}kYZD2yD) z5ZWV8AQA=i2>A>oRByxdkS`QMMU?q4{Ogz|U;g6Z*qdrjh-mbA%cfgCN&bO|(oD{@4MK+Aw3!5boh zp%Vlc53`FCwS*7~!MJdpRu2XO1wg(-gK#>^r)N&#dMSc&xJQcahg1W&Arb>Z5NZGd zV6?DZ9Y&AU7_ zBn=>w7khDTXsU)+GM&w>Hi3AyNni%)=Lk@7hAjC;mCLRl_bbyHf z2hbpok$gyN00_7l{R9F*zapIg%n&4rN0y?&C-iL~yhV^>AY6b|SSB3caFE)J7YO_& z@C=DC;O`~QAuSp}%)#*a9MES7hA@8-K1Kqz_~I}xB>cfJG(Zc!CNMb7$6)d>f(Az6 z&4+7bP|U)Bs}KkS;q}-Hn$JLoXiPwPLI_|Wz$yol1Xzp05a5Ao0AeIwDF$7FND_z& zx;fH2P7-tjC+Zmag7$HboC7-lkM4zF+EBm@Bb3H9j0i|gl+Vl|GASYtXAz7e zq@JGn!#F$eHG&SCzu3K1{+oZ1oniRc1lWayga5>@1W216feFxnL;;JL#;*j#S7|~1 zf50zdl|KxQ8UpIP`EyY*Au{E>A!s1MhX5S7m+-`=MhNHPv=|Bl*71o9*-#kLMB5n9 zui@$62@lXtXbTD}fz6Is;seQo+(O9>0OFD)(lgF6uqB>o!TAN#297L)GlgC`6rah%-Xwhqgt;|JxP;QiEwkTST1J_h4A}_#^1A3TzSLtTQnI5LbWo*F;+-1O~ze zj8y_;`A@3^T~e|?04!?8Dgh@O1PNLtVD8aY3Fw|)t3(1Zj)7cYT!2F`czW!D4%skp zaX>;m?o1r~&hX-Wrb6E>l%6Dz8xI^z&yyR_3qSEtiG)nNu;bpe`X0;>?_ zf;*kyEE&C=fl)6s1fUBs+N8(MQ0vexJn$O}PCgQe&n4a(Y}o8WB(N4hLVltMB%I76 z&|wK;=F^^#Amk=Ymm#eP|JDjv$3R#!Fc2Vwuu5Z7j13IHC}~I%2*CqIu|R|OTLV2{ z;6V<$seiO2m=+z48f!#s3YdgDfLJOOMv5;uZYp%V0se1cv(sep{rs~jMX zfloB1fy_X5L#&O=KhQdK@q6$HS5W|4G?>sZ29Iz|gxmiSLz3(>ToHl{NdN(HhPO2U z%19`Qq`;4aGnOFGdU1?bjsQV&;LZbdC6CNeRhohst zM%cLw#ZXe?T`<5X@Yo}%g@Jc*U`U??S&Xm(I}dz(l+=W=Q0x#Yg1%`g0_PF>!TuTN zkpg)Qx(DR7Fdh2=ZlhyAFm0qZ{Kz^juZ8MLbP58yM}AKI3!K#;^s9h3?>1f4Sv`LL1%CYUL^}uHLPhc zg0rljkQ9CC6|qENM)9DS03NO|_CUb~7c_>zO#^X*_K*;?0<;5^14ImIayKcge}Ykj zFA*Df6D!~p{az#;6reQdMBX9)Ln&!;q!_NPrx!oyvA`w0KsdiiEHJ__&H}B$)p01Q zKtK^u1(z`YpF|b&`6+(3J@u2z!gHI61gOVAQ$Ke zYm%52cHG+r42@}mnH`$0upuU<1$U=G9Foi%${G^XMnwc{#sXOlHWS1hNEvJuDj}rg zJw7wB2Cz^6luE!V5Ue9~Oe0*C+(_}yh!(&HE&eH$#Cjv!*b=r6GYR9y$Qu#=s5=>P zL{cD*@X$7VVqx5C1|}*>AsA~Q3`6pdyH)3d&CTi9h$iC zgfYkpAX{4fVZ?$q8-;)hd*T@|By!jn@0g@(gE@(`M}`2AJ>qcxLstVE{F|Ld>!wf`IGt2-Y>wjhjLabsSNdc#* zMnFXa3By?&ionXK=stn|KH=T}kr{x#r3kZ;wxp05h;EkZVFr?-nE^BMpF+BDD6}spcv2)xPHA#8ZLJSVgTO;{Sx}t0HUR# zE6~y`T1$hRM=dRea<|8;B3hb-S{k?kwKPl^SU(u+C37i;#v#$tVB68L-o9PI+6nLu z9u5+sBjIFPLFFOu5`_h8I0F5PSOaPm0T>ZhdiZcrD@tghvI!RH*gP#i=qL{!2!Xw$ zLg2@f40f;j-jBO-aGF6RFqfb(J0MKJ1OLrmBKfG_VPAm|?kfN~gKs#1xSPZi@j?%d zFfk6G!GF0?g&&39QXgAD1uzy#Tql?pju5oOTpr6@BMuu|k|g0LJqRy>5M_)UG%6_K zrvbC$?eg?}T*RUvH<$zSKp+;C0xi}lfCsPU0@MM-(NG?U(;j_&LB{1p-~k#49CQA)2P81qKgC4NfSo}b3PNkZNp#c)Iss@&2aFmb!^aL8 z$B=YFFd-NgP$|L2zYj|=5`tVN2tjNbCNP7F7)=jYKNao82pJ2BKoDt!1BX8px=7TF zro-3(qv>eefKUPz%*Zlm0t_y+BhhlBe=P$F2(%nz;?fb(a&TCs$4Mo73cxEtTLU-| z_SL~^B0ZNVk!k)Ac&C!RyIGj|Ce;Zu0>07YBh^7(0=5O=3>-3aFVJ$p_r%Pk0s6h; z-ZuWx1TCkqAq5iAhglOWV?v%B=AjSXyNoFbmnVsmGT16qLUm5w<14|XQdT23%7;x^J2K9B(Zh7r^Uldl&SWCF1!yjKvshdzNKkOi2%VT9@=dZ`ZL zpA2czIuNbBf90iKZiOf##&AGS2?)K1WszeA?hYK+Y?lR*gw4U~f)AsY#o3*ai%ZD0gDT^jWiqh8UBMY{;SSvgtAD z$flhCoqt0B=o@tb<=Erj5HSDW{2OS$kAFk>7h&hHsU|0ZnL!w9G zldunluK#fI8NUVw&G`r;)d>@j>i?i%gh?Rr!Fop~U;z5P zW10!Djej)3NPMWqFae1!5+;B=#;+j}#{V@Fz)s{o5+9hLN8*!H;Q!Z5K>QjQAX%uO zB|Z!dB|h*sBk>{C$FG6Hef%21xInMa!h%SIUMIg77v%jv{2CC?#NI?pmXYZKGT}hv zllE%_Y(Z#W;vbCBLs&=?c=Z|X9)VzePYCi~{2I6%2||z{}7yYeMfBdi)o^hE%413kvjNU%%!bOGU8N z480m=sR(?Ap3o!sVdxqF;7p(doIeOXg0}4I)PUIj)2YFq(1K$B=G2gh6zf?kqK8fo zS6J^19r310 zzHROiVZr5laBO`DS^VO2dVbFb{BAsU2m9n>=>1fXp%)K%LNQ#CqhOzPZ-Dc1U9^=p zbz(eB3jzn?ZN3~E;V&6b_4$;@N6<`su28C1fl|V>M;K#@OV1B zh~cpCXC$V=13c1@bc@^KHe{gr9F7QG6EF-V*5lOzA_yBf+};C?pjDCe8URN>(ihYa z<^S3M6H8|S=ICWJe)KnrzxEq6WX%JpMeG7XL?4kl-9%T zLP0s}q1taaqY!6gg+$OlAd?<7;EaNIeXuDJ3t;rjKri+%ydcc){XxX3V}Voz$clzL z5!Z95_2q0Ss5}%0NwEj_9Pq(4(LlKWgMI;|E1N{P*u8*dMuEQ#j#?OA&^&&ZtCFsM|E!4@&m*W;391zUmg;DlifgGn`7f-Kn?Aay2Kg25}6gr`1 zF+e#5dxZI6hMI8OcmU4UDN|1f~qDb&TY zr-Gm*U$0O%80IKnH-C>%&k#Ee0j_SGzAwW3ef$F={5hU(POfgj9Cu$QkKb#! z0^m;mE^c)0KTrt0hXL*a+&PF`FDM3(;)sJ0$CLmEf??2I_bFgHXWDdwu`m)3FPA>q zg0VPzg)-oBg53h$oI)uxFJCu~lW#D*0L+hhnD6GxkOWLS%!xnH9$kK(o0|`lTo??~#iZSFY;*}5 z7$1|g_w{mSlCDmnPE2x|%`_$z?iB3hl8#Ei-z^2T9A_DVXEz1TB&I=^{~G~wzN;u7o?2-Es|X$I|Bj!9xS|5LHw+wk&t@4i-2kltKqw2s0`URJt*0y@$lr2o+(H7vf`M>CLcM@-fJ(zc+$c+= zS{IlDFW<0Ww;n)f{taCo*qhZOK@s=U`crWO+7e#**FeOUC(E!PL*+89wS?2@>2ZVdMLgqpu zkN%mzfUyM_E5?-ycBXsTZm44$(S0boCU80_5S6RpcXO|qtgGZ^)IhLBDi8-zr6x2)eD#uwZbhp zK*xDGNDfj8C3g=QN>T3E#PAW!v`JBZM7;IMu(lAFpsX###PLH6K1A_@B?2E{+cN)3 zQ#CMUq-m__rs=NfqUor~{5UC6rBC`ykSP3co(sIk;I z%78MY##0mEl)N!Dk(xwJ23Obw{Nt(AG-^6!N|{kJsF~C(%AB&GW>c1w6*Y&lrsh&M z)I4fFwScmv7E+5SJIbC~OgT_XsHN00%8_!SoGBN|m2#upDG$n%@}j&cAIg{Vqx`7= zDv%1If+?`>s4yy=il8E?<L8U(l~75%?Yv~3FmEW&iRa9-IroAS(&U<)-hHA>o4wARv~Ky*NK})xp7^&oFN)RzEU%}xs)=u zh#JgY!^x-8dFe<16ofy>_bYKB3R8C_=fOaa&1gKQ|3E_sh>h>QPh5>+!mPx3A26%P{YA;XS@t%fL|yCW5W_+&!KCJPYfj5)MU&gd=!hCBp<(4zgHqbuS z+r!|!j_FT?X-AmJFDIoa$_2(d`1hfar=5D@5hI;s-<_K)xm)?NpZL}e@4#_KTv{_y zT=(n8H^?47`*`_Zt+mbZ5AW~No_$8LEGlocxX#&ENowWWT;+>9`hK9b=p7JK#c=kL!v~=dQOm+&0Z|5K?&PE9T-dso(d{G7<^b zIsV2=<-BIU;5*g^2YDR2_kuNXMvaI?SFFr^pF*i4-?IwG`KIPit-DduVA5H7;<@hw z{V<0n(@L4T$99wMWuMS{sA)ts&W)a1e_he3s=TnHKx4?|)3&=)&QfRl z@uJJ}A4*>x+RDz`5EU@0|7_1i*=kM~C+WDK*~WhyE*8`vRLZ%ZswG$Zeq(H2kb2=6 zu_G_a4~(ff`})ug@yM~ARKLV5$(>56vQJB7yw~VV@{`!*>zX9w;L_4D*T=`%$yfD( zo?EOH<@~WNMa*~Q5h0a}9TMvnUhen#>cd<&>((Oqzt5iE92H;uvq|lV^DLc513yJo zZ*iMl^J9@yzUAGyg+`%NX~r|Xk{bSzCiD7~2b26R-#h%HqpsS!)oa?%hyG*D;yrSz z&N@B{(Gi*cQjIlc*=(ufH=<;oObimWKF${&CMU-}AIFit!7KD!cse$KBU$5KeBg!C zUD?jYrKvX_j^L(NDwwc7~O9KQDB` zjM~3XMcm&vP_scKM)7foJlo~@dSllelfC_9vh2NAuq$O>?CX|H9(IzF%G)o#YI<_N z5BD=9Hh6v%`s>#vF|Q>Hoxk4laElHy@Kt^#=Hnl(QuC`>yLzMjibry{&7XJ#G!=Jt zzCWKh?R?Ro+QeMP*BNzntCQ~?ynN}wc$<$+bJ{&h?s+UM&3qzOIK{#sf94}?nFq5~ zq)vS?XBjxI5aCz6cWheFg;fdE;|ehO^7^x7!zJi+G=QINDu*X>?^(;pY7hN2;A{T%3E!b&uvpm$!Q} zyu+lD{e+K+N$#CuAp0iPLp*rELP~U!#S4GDv%Nbs?8Y28B zn|t3o`Pjbhp*y?DNIG8A1q0%I3pYUE-2L*tc zv4`81@Vhr}S{^%P_omHCy=s$o?Y<%FlQXA3&97_N*U?t`ZF2g+g^_!L_1{b~sLm0a zd&a}!o3cjWfhb<~)n=D%2V;*tkcXUzsp{i=&<3kq#Y`p;L04jnZKb$=Lr_q?#=z@dZ= zy%%Sa7evU_7mU`}wB~U5kgR8x)9(zY+MNB3 zH;H%cyW3Kdc`PRA4K>oR%460T_T<_yJ-giURUgzl&33KuZm!-lvZ3Ht%TBeq={YOL zu6^=y=Czh}Ix^YX>nyg-e)YgWLTtZGfXjT7tGDG>9z3S@L1fh8TQ25FaW`Mqm*qrH zS7~(;<|K+-_Zya-Xlru!lx9N6A=dpP-F(8;zTDCOnfqnI?iD3J4JJnKnKyp% zrOMTgM~)ZhNQ-_{^l@~`9kq7Y=9w?ru0FNM?uyghl%Q;L`^;)Xu^;uRCKqzMs@*$O zQwo?^hlF-AMcerWz!9&9Bh$UbU7?rl{aSFN|Vkf_urSd6mHtTQ|rrv z9Lr?+<`)y^H^kUoTXpU1TC?;g7Hr9289o0&l5Y$*&#AJ07rU>MUy-?gs5SNIilT8@ z`r~kgerc8=-X)XXDt3u&4l%UgJ`M^rEq+!fwCHe~`y~JL%I(AVWPKebCllnP?X8gQ zUQyDvAX}5KZ4{cI(xMs5W zv!|Hjb{XN4TS?QSPjn>S5nX)!i}U2g)|yRfKKyg_ny&{Yscj9+^^=qSVjJN#QKj+f z3QloGYh2gVQ)Owx+<**++?wBJ)GWC)s=?p*%+6~&KIEjgyRcu#@$_QC-mlVnbj-}M zJl^1b#a)@gOc4`R$*C(>`rdmoC1F>~qSs5Z+h?e3+sRe8s61~MnAMOxNhq{d%)P%^ zI`;#$$28?;-CLtAZJU?n>{A%>CNsoL zJ#+Y@?GKqHau>YEE2xY)Y{Qv;XPCP*VUljeUzFn*!^jMs2#xohu)^iD)CJ$gg z-e<9SvU#l9LCGikrZtAD3|uvG&)4G~ayOc%Y|}Q}skmy#-JJ)fNf}QaU{jKQ`NyO$ z9vNi{xvvehzUQ8~uA{8CKarmsWw%xH`QZ9Yp*yQN3;i|I3yb}7Rovk{!OP>4`*iznb&&V$PtbAuG;*4|~|MVwWtp z-hAnbg;^V`@BPx+JXf{r!Xs``s{IAW(T{glcsYbB9KHEwVYj(twC(L>Lu6-{b(mg@ zIj=Uu$*bU^;mx=FTD6I3TYOvx`0D#`jwME`t^;te{^ zPsJ+>XRh6?C?~Y?;^IxFn^{sv9gc5l@BSz~V7S4-yOI7HBTrpBxC%9pHxm;wr=DvN9c(n={@gtARLRjV=cE^%e*4XEuCeul{%I16 zK3N`YJo2t{>5K{awaY{PUa;rzwCX$JD)UBF)n3U>PB68ZKD0vQRn)W=J;Un{Rs_s6 z%DH;iS9ZTu;zRrA^EL{*DR~T4XfoA z>V7lp2#-8GWYVWJi1$aHzx`QPZAaMco6}FGl&b1R_!MSoTyGm*p`Mx1wcytf^>qu6 z%+lz`%l>ll^w`4PW9pps3ZpN2j&oKVa^AsV<>d35@1K1=eA9TTZmX2~Q;Gw}MV2SK zG`t$HR{BJ0xmkzOlB6a3+4`b?wZ6O+AD)>ku_MSR@zQ-~S&rz4*uUlkiT+G|5Odr( znl=hK({F+l0sHTwizZyOYQUy9w*v z62HoSzjJE4(qJ(KtKy|QPWTU0-#*mxK;Wkr%9_@tyDx9>ow~1m?4>oD`=*bGy>j`M zP2!x-N_CZkD%Z^7`wqL2QPR3>;(AohR+o8 zQWUmp?Wp|_a40z-tH zb6;~4C(1UVQsLvr37@B@*X`P^IWc@xXtg}gUjI|F#FHeeM8m*uk00orHCu8|Rw4g% z_4Y+JZWoFS0^ZryKP)XS6fv4NKi{)-qT(R)C+Vg~%2!p)S$Zoe-RNRDzagUSWbtvI z>5Eh+WDkGwGUSF$(cbK>qr=T7xa`&)V;NZ)tG+8|(e72V-`(0i)V#p;%FmX~M>QOs z%y#J~a`&kQRA^g8AN+FN+r%U-)-f>Q+}f*63!bakl?&&vt=*6E@;3C3So-pIdx6M` zjK#i5*tN|jO;wW$3thJ+CS|OS@7LDsIK^e1Ucn3Ms8+B-4fLq>d*8CTFTg}ySyzrHkwr%TGTrB(n~Q1_p}dXRoB&Rt9pQrz$ zMBGu~;iHyc<9!SI&)ng8;~3XS^Hz81ZLL}FhFDFzaOu?N?K*dcD_k47-)#7FqX~^i zw)l*`Hn*)o^HurSsclKM8H+27F2YLq>70a_M#a9rJZ)u%yeoa5QaW$*f$jO;BQ7kF=rAj4ovN^C_qprQk?s*K1Vu$8~%Ro+8F!Ic1r!AvCrmq)y`+hmwkwO;b5lAp1ddP zX_L-(*^*&3@9mS~sPVI@zaM_L5j`fH_+)0mV|^_z`vOiERV!_9?B462+r}5Mq!VAh^`GY=w)N%c);I6fC8X>uUwN*-C9_d~_p{EM zrbbFpgKAeCOq#N1P(@X@THENqvdbHz!Y7Q~cfqIOv#WxR!hN$#;r%WQ-&MT*+NaZ{ zn)0IWZUjE?9FpX3bo-ue`YgTFkC`^6p|eka(#)vul$dHT$3AEN_Qx{{hbCq{iEdvy z(I6vl=^NhS@+A=k4GZlS7(Hd5TQo7jx_DDl`Hf(f$MDN@RtiI6RCPj*NYjXi1+wVktnj$F%=^=F*ynnvmmR@hWH*HbA)KI6Rn&Tm8c zwPV&@UA24epvg90x1E#ptLVIRYkK~9JJ+$nl&(xC(2S9?uZHEv+`lJG{EM;~K%ZOpS8 zE$h1K^z~t92F}T7+p5~EIbu(?eM!mdB(;gYH#Y=~64H3RA^YQm%Z~HUn;741V}0=S zp1I|_IeUh~ovo@@_usB}R91fRtjT`V^hJ%KjqH8pkz492{yvc+FGKTF?nX*N8;mZ)qz0*2wTzhzQlk^(S#lSXd zU5Uj8vF3X#(=$Z@3QQS~W+VRm&*)D=mEeUWajWj2iM3 z(&IliiS;Ya*fHw6r+(JzF>Il zCctrZ%*gBqB3U1%E_`GBqAGnx_=o3Psv|GE z`bg-aR#cp6P)n`YITIVptM`LtWkNr1vVE6%W8X{-C&N7-xIZUFWF9>_^rf#*#!2{* zsJ4c2B3{v_7HU~YR&_^iRxCZOlQjNy(WR9``kU%4i*XCt!F%?#vOKRqMA@Kauh)$u z3oETOq!*|;U;C6cqQvQ(ci^>2@3fcr=QRIljjUci%2=r>t9+X2kDu|+ql!9$96F}d zHw3y`#*aDmrr#dX@r@7e?zeMD5s^|~dMIH&S1)H!>rSoYeCg#?%a8vOH6K3SY;9us zrAG>H*Y?l%x#`ET*q9l2Tc%6(fR({HCFK7NnYX6ZOx$*DUfSaIAriwXJ5Ijca&&Bw z1ZR7cMT^{={Z41rKhYoAWLLOJVQ`9)=Un;o8S?z0-*#SIH>P&b+}*3TeYKff;U{@+ z`mIZyu6F11pLd6~=ep^J8CJYBXy?~G4}YbW&RbHAtkXw-y{*&EK!cf8zo*Vx3{^8?HL`<9t^9A>chUsc_z>{x%h z>DdeAMbk&wvq1oCi7elD;_r$&?b#A3k#+O>cL%20EHQKIc+`BdXyb~{V`Lvs4%D@p zYJBYV#>nr%_kXUcQ7$jB)$*SB;pvC~?{hh?ZwI}*zEtMOoNrfKR6zjjxooRpKIrGh zJ9&mT_iOuFDJLA2nV{ZacD`6nv~7sRTJPBCODDun57IsuIX}{PNLBZ~*U3%&c05>g zY}p?67!ma?DU}W(FBi&oOxtUD^x?G|oHf#$sJ6h18!SrJ)!b_qn-`&Nn(|p`oBX`$ zYW|J*g;xWnDYSG=S?093LskFcsnkLb*9O;uyCKizMfGyymlhc6rhFX)0$|%M9=Cr?xG931<4{tDYKCpIZsD|go|e|pL0*9^)2jkRI+b|L4LrCML^OPHhEXmLl4ecPvQ=7IKv+e!<~ zwvNAIbh+H6eZ$+%<1C+LP9{4>b;=Les6W?afLHCc!b3Y>4QqVjxOU+FF)CJr3(8{c zf~TC>@_F~F%1oA~g~kzBK`>037MEmC)v|@w+vME57PHzhK;%L8$c0lsWL3Q|e)A!G zMtVfmmghsw>pe2wst$GYAJzWs`iuNLn{oq#j?gegcZtbK7b;d=vQOW)hrs|UDF-DdJjS>f8E`wN90JzWq{z62wuPsny{aTFv=lc-b|>ka zF1=Lrdc0}>AuHWtmgzm??Fh*$ul#DDEK+d8Yj2BH<-#Ls3#2vDK3#J@=TtIc(zQTu z|0UY*T7NX>j9OkDnbo9Z{KIrwdDQdxpAJDCMGf^+I^r!|1N*%>HKuXA=pMWMcOOWJ zq&OrTTB@F-$DOaWvvtsN>HOqh$Cp=)A8syMp19WRt-_;AKKcFET5$Ys-j2)MctEvF zM(Lb^74rXkn=?;EYkXq>Qi>*8)Y5&jbGLr_SDUAP`cRucc*rQ;hxL9wJUh+&41mro7Bx|YTj3wU>h~z z<41+M^y!}`YVO`u9Xcvp-<~J`L?Zc7om6Hn#5q z42nx1*3UB%DJ=EOpKm@$apDov^e1yFR+XnG-CD{ozi4!_Euvw%&++2y395@iUcMN< zx5(y3_~@e_NUmFL#%9N|3PQTL@0{Wlb}-+s9`V}(f0<3``9iJl2r z5{2()*t29aLnXauX_jx!NOx|X{jo-3hwjM8l~HNClfKXRu{x`L@PW7=s{?B+52V>_ z>k6YZRb$qy3-#3*n-Z7Z`qis*nPPnXf?$u>=gA4I$?eW_(z&!?^_48JqnZ2!o{2}aXL`)oPV&^Gtl*z#AJ zwMlJLjVcyrRGG$IoH9s{bJC|}Eq{WwV|ICh@bot0=SM0=Z!k~V;GRCnUSy8x+n2>g zGZSn*fBBZa8zMWeH06E%_5+)jTo~b9WY!_ENMUMg^!0PQ1Ja};V^!}B_O|l)vDwk@ zfUADP>cj#uRi~ERu3ftoQX+313f*qGMsbz;jjwx0S0snHgaz+@nI#uq^jG^QouzrI zYhGJ_=^Ur8oE=mBEp}tkp!zAcU2~s}m1oVbeG&DcjIC?t@HA`BWZCaJP48=ll~5o6 z{-$P+7q$8R@JXWZG5yB{GauM{X&Fj1-Kx{9JvAZJ#j5(_`H>UTCGOm8I&p-TFnD?; z`trF_*-@LN4lajf$-t*aR{f$PZH#=(wMJY{5I=G^$ zV$hz^ZED?(<=KCYoe&-4 zf6}aU-FulIQ}t$tn%ZP&emXr>qO(57evZM6$J^&;B@QiI+8+HRFT-HsV&0pj1rbZi z7uYRqILCf!WSuZ^QF+s*Vh>jEjrh5jhdb9Rn6%~5jwi^JG){>RvCA-uA@m(R2}jE>z_q03M~+8&#;X<*6JzqZ1Sdr zbNe2%2bfRZY$172Ew*vmz9*{&s)Qc@x@Tnb4LJ`(?QK(btWw-L?ZD2v1Ev~FT~05t z@%S?7N3KFy#&<1)*E-kF%$e=-M`GX(F=STd;ddO<=d5Clw^OLELpTl-1l79vQa#rq;J>W+*q9C z=eQ-LZTwYB_mKXlTD0>!9oM<3G(Q@5)$*@rL+_aJgDu|g+;*$z@kx`P?AaF%XAL%! zS@Z4cf{7m1d)~xWRm`lm^*%7VPQSL_lI6l}Pc#meERGMiYpAl6cso4pZ{NTPrGGzs zx72&>VaKO8L)JNMuc~=vENv`)S!o9-_OhL zTG6u9yq>!;YvBs5U-zoJROfCk;y$|Ic)>okV&~)03ZV{O3*X#48ZBwwJ!IK!+m5o? zvgc#2nR+?RP`hb(u|Tbs|JG+q+Qd@-!LI7#_ujewNHt~Mi(QQi#0JHEu}&JLk>5YU zS!Y9WVWs#}#ocRXUR)_8x7l>lVuzzrtnT(L$A=G){up`ppuwq;8vfENj$Ug>9d;lo z^F)o=^pRU$${*+Hf6!VL6i|9PGhyNz(S~zV?@urqoGP9-ch1Yvl5bBJr5n#R{Fc`L zfwkqQMH26hG#;EVV`*o|^4k2vdlvjHey4g`)u?$Y$+=f*r`wn&yb`Gxs@F0tYQ=-= zhB-zv17v;gUVWHowSVKh=k`nUT!gz`z0B4Ub^GLK{O)YgL;q%lt*>WQ_<8n^{`jkD zq1@^X9cJHjha8R!_e%RT>3n2}o0{(D+c$5A?I=w-Io&5hSM|C^R-t;u@U{hA8JX+U zhy2o*b!6d}Y+k>@v8OLO*NxeIF}hGs(RrMwgTwhDo6k>PIsEn6``uFGH=U|av5Fiw zP_e-!xmCc>JxP9TLg+FC`j@a%7$7{1rPQ^`~f% z@$r}kZ)dWi>y^hwQXl{_a`ZQb&dI+wIcP#!YjW`=^D9$)_6;i^(|C47m!$o%BgY{C zxa!@h`G!?P)tmJX&zR=QeYYd-(3#7N`vngu-l~=RUNXi*W@CfS7~yT-@2$ITw?V`y z(QW;NJKyEM4p!QJs@O_F%>TrWr9-!?5BwB(z|vY%`Nf9IyGz^mP4(4Wb7^esi0S)m zZe6~j^m$Gqg#YS%`LouPWZW3`ZQ`=lQH@P`TjK4M7JEN5=|A6wef7-!d2Y?~zvm0r z9D3HY+(~mlDR=Yl*xc5cLft$|qGlxGj z7gqEVs_kgC3qKU_;h@R;EY$yQ9>!)j?}l$Vbxb;CeL6ied0#_a z{R!7Bk-PrMa!UAU>T9AC^MM1q>#JybY(W{l+f2gcpQs(hgXRmOa;-j2V zi{-A*bhI5Ief7$0pRSnamvU#t9ogJ(+_!W^>jQhNyAA5n(&n~3UOCWW&R@ZSl6ei2 zDr!o_VzY*XAHFl)@|klRHC%j?v46|meO)ofGD}8MZ-QodR2kMzW{=6W(+gAou&R8; zF0;-()y>|&3K~YvRomGzc12G5%$HBr>a1(IwoW@+=GE+N7Ge?x4_pFd_TRp0GXL1Y zmGYxRKB$?y+*LwFu&_}O>7hMn>0_=pH*v(>~B3pE!@ZL zr~aKUyBB=PHTYSwV&0zUiItZYk3W9IakZ$lPJyG3;>We4a-Ckx+&s+U>D4yfxUOs) z<%CU!tIym{t^Xm`m3zTNwZpx7dGeB!IwQGdrU)(o%>>k?$4~a@`$odFEdu`rx5%EL zyuC8r|7+Hs;XyKT!xX%=ok}X)vl|aDX`9mgW3~N;3*$fQCVbpB>rBDhx~nN0^SY`v zm2#D*t=YWnkg?9~YYvK=JU=fsk=gDjmUOE`xZ_0h^u?lg5+^%~Jt+9P`M56K4vNsN0Kctivdj_m=)V)xr^WsRJ;-QDS z?lGmamRuRoEY~l5gZ8Xl6$y_%9zL^oiOdh%@!l8Y4v$e$xHz9<U#%&mL~BZT)N4{fF_AXJ%`!&WkF0 zbyi1wTe(`2T9KTqcP{7Sr{bWQ>(BEW2S2J=<@e;pn~s{oxiQtT*9Q2e+PeB=UFdS| zT(QaR##;p;hdC}{z7N0mo8*!pA@kYTpL2b-m)z1?NB)aL9znqqSugHch}6uuFB98! zM5@qdTw&JtsrjkC4J9|~PLy_<=s)m%ZrbD!_P9=_GW*^nJI#lBC+0R%M%U}-MweGP zDQXmS6xyD?Jf!km%I>peNBRvHKD&RJXuQN#>4*7w?AD>90-`o7@|@lOqLW(o8F!sY z;g8|he;R_sQtxw0-`C1%1?9zV6gyL>exUrtk=JKy#zczWIMk2o9J^C8EAgpps?r*7 znGy-VNjgcczPnmn9E5y)=60z1IyuL>={@-9Oj-GgrL?IC9a*_fqT}M{ewP=zOu+&~2mzuroiA>ZDYtf*I!-VfCWu(YvLcErOQskv3D+-vn&1$L(=4bm-;SzA=* zV0_`6Z%*6U7*1OG=`*Y|&!j{1?x+1-J7dDW`w^!^8Z-xnJXVZ(?!uPe;cC2I#?O25 z3UB+Y7qXS?WXbM*Qq;*|tHk%`edw1weS<{C{lA1hdU}an`t{X$;gV=Kk6X&V20{Kl zVy}MHsDy8<)^3)2w8GxwiTUl$;--Ma^Y1$c6`h~vn44HzSC{en;JxJ4;~!kQJg4cS z&Ak$j_RP|S9#aa%p3KZQuy`P&{pggG%4`Fc`4_&(3dbhL_Z3+lO$$c*C%!lHI=}pu z)9Edx?lFUT0r%5wJf9idmX1g%Vb5T3g%yhzh-!|ya?bdCei?hXc7gqNhtu97m+HHZ z7FJb`9{F(p=EaRC)%Lhv%6;qdQ8UatW3RAZveaHlv14y!4Wo3DFz zc7?*qJnfUxXH>>-zn{40W$k&HsK@V%*bPk@an<*0+H0Oo^?Y*roBE>||F!28?|doN zTpW-a@l>g3Mnt@XeM@&g??87kFLj ztpM#E1?=;N71D_Z?M0hZbcEk0(3`1I3jF?05gtY0zXbdZB56@d4xZ?=7{!7AbXo-R zp3b|!#PRA(H2 zv%9mKO$fO|LI^G*g2o7l2#7}r;RyF7AP6LoO$a$QW;Yz7a*3#*R7I^PD)l~4sZs?G zq)HW)D)jO@`zL__>n;@l@zV)~N`DWgm<9%;t-=^%pslG&(%OF5}D=PID zLJ{!?Z1=J}5jYF~?^K4bFUxbGH}PLpnlFvznb3v!A(R~?TmplM_tM_O@;Jy;SqZyn zU%+w%PGCN2R|nhJnOi(B9ATRA^6p6UU#y@`Z2)@jDzpkL7wek$5B88m@p5#6Ri$ zk0wsz`j_bZpG(}G?a#7*Ip1>VKzuuDz#`~J{1Mybe9nek;;VH2=MncIeog1Un)o>4 zM^HK6OQDqb8`?`g&w?zKn&2|*{5KKv(dvIu=RZi?iTGYr`fDi+ApVT@lK&}?Pke*U z{{_US6YtRZuOsH4>iM5QWjtLD!-;>Oz2slUOa|A#S?51YOdkBt>-n3CC{0rBa?J9Yl+hzp4~pviDK3@84P_LBcY z-Tzy3{%269BlYh>rT!A=PrRGm|9s-U#Bb{S*AN#FuSb($ISeKKp7wG* zhr0i_>HJqwr!)1}qH?@tFo<{$?WI4R`+v30zjOb;uk#C)pV;I({N>)9aKBh2&9{S)z&l;vdu-Rh*M8B zU9?|B`&?{qJV$}gtm7bGrbMsf}^UrMHBuIj*Vu==TTwMcDJhOx+ClI1o$hSx~I10>bR zF#<+6qsS!k3h7X7}`FvMP$!8)FTR%yj^V+9O@m*51r zA8O$XXa_gJIq(jg1{>jg_z7IF7>eOpI2vw;>F^Px!&NW_UW1e15om;OAQ3KuA@Cv` z5BI_>_zc>@4KN9Iz^U*AoCiOE7cPc@@H`v~cS0q60@-jajE6Vi6nG3~!*|dcu7DBn z3Y-WJLOpy1?co-f3h%)g@DyAKzkmUYpdW044saWk!-tRtSHfs`6}rR2a4vieez+7$ z;RQGj?tyCf6msEuI2+!EKJYlqgZ*H_QWyZwK_|Eag77h9!8LFeybe9#QD}m1AsH@* z;qWpP!UIqTUqU|I3{&7;I31pZ3*cwS;0iJfzq%T|8Xb#{MYp5d(H>|IbRD`54WnUn zAG!}sLX*(t=yG%@IuzZCZbb{w0`xxgKC}j{K|e=7NAu7;^hWeXbTT>_-HGl*`=Wi( z4d@1RJ~|)$5&aRBPc0w13|)o}LI zfWC>oiS|N!q3hB0=p1wo`aSwRnu4aFE76tcNOUB+4c&%zMZ2PF(Y0s@4WWC`J?K&B zQRr%PH98HQhQ5!!kDiI1i9U@!jV?eJpa;+cs5}XZAOK~M3ZtMKG=TgaWH5ArnUDh$ zp*PG050t<$Pyv}R4o-#$xY@%J=ntErBdmcLunQC;IMo`(Ci^z6nM5Yq3fh4S(n0M#Ei#991pWujuC^|IM)zEjua2! ze=N?ioMSlqcJ}G)i*F6|g=Ei0dQy;#3ViFZV7AP)EBe!h**ksn|0{Bya*odD39}KV z*nV%KndE8ZPIk364M%z+cxG zgGv>_C@6ylSO~YmGw=cYT4{NFIkp^Ejw#2JV+BBtQ3PeM5S{@U3=9949Y|YBFLuz= zXQ=IohI)iacm%dXN7he8JM&v@*_JxNh#EBE)PS1`9xY;WREpW*OKk06o^FTsZqg3%Z&(YkqT@o@YiVWHG=U- zU3Ek}LE^1q#26=PbrRizMF&n>VcXy?90T5s20;OTqUHXc>YAh{6_X^xh>TO zE3u`KbC_MtRgABn8XO8o#LfpVqWWmiRFAg?#wU`Veiaq$ zSe(c#6QSb9Pz~lR4b}8mY1ffDxlTUxHPEl+b~9CMxr6ETjf@PgA(lVg#kPY{EQzJz z07gvC)v9sW;Mf)*R;Le`8^p!P8hiTiPH#r7;QDD#IC_)Ivoelxlp1R}m|>45ogAnQ zg&M5!Ar42eO5+$GmIa!4o>+&qE?(z=E45M*vx(wdqiHS1YOKX(8CSU1)mDgWj5Q>s zlG8l{#WW>4B31O*a)M!LD%}@_b zKTBgBp|6-n%?$gIMH=-wIjh)8Jie@}6#KyPO3eNOb`J-_Gn*pTV=DHk;J6o(X25#sBX@Z*PTbqw9ccihH*w$+yk5)!bw5G(U8;_YQC^ zRf}DA)o zx4o~AuhciynF?Av$z}G*A3bDQrg;>Zomx{;QReK4iEMW#`j`OulbCw>z06mWlvmp5 zmR3#uCX+&|u;*mi&TQ7D{Ic3FGsft4T`eXuy>p8E354$j6u-Ti_xSCyC01lo=oFdG zdaOCE-(Jmo{C20Ft?6-Lnk-vyetR|V{Kx<9q4+CMT*c;#&9+;e*L?dykxZAJ(nc1n zH^04__xSBjJzKNm!Yo;~-u(7z-ubUv_mg^@-1C%Pz5Dbl?q4zhL$rq;Fq3{VTF&9+ zAkOy?=lh3z?~r2Vq$b)S~Xe@ zcBoW&T@`QrBcn+Y75|Ls_uoBiS4QN@Ea9SNRf9C{N08K|;8?s=knU+`j>;rcrbN diff --git a/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/zip_write_encrypt_aes256_file_fuzzer.js b/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/zip_write_encrypt_aes256_file_fuzzer.js deleted file mode 100644 index 16a597e..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/zip_write_encrypt_aes256_file_fuzzer.js +++ /dev/null @@ -1,4809 +0,0 @@ -// include: shell.js -// The Module object: Our interface to the outside world. We import -// and export values on it. There are various ways Module can be used: -// 1. Not defined. We create it here -// 2. A function parameter, function(moduleArg) => Promise -// 3. pre-run appended it, var Module = {}; ..generated code.. -// 4. External script tag defines var Module. -// We need to check if Module already exists (e.g. case 3 above). -// Substitution will be replaced with actual code on later stage of the build, -// this way Closure Compiler will not mangle it (e.g. case 4. above). -// Note that if you want to run closure, and also to use Module -// after the generated code, you will need to define var Module = {}; -// before the code. Then that object will be used in the code, and you -// can continue to use Module afterwards as well. -var Module = typeof Module != 'undefined' ? Module : {}; - -// Determine the runtime environment we are in. You can customize this by -// setting the ENVIRONMENT setting at compile time (see settings.js). - -// Attempt to auto-detect the environment -var ENVIRONMENT_IS_WEB = typeof window == 'object'; -var ENVIRONMENT_IS_WORKER = typeof WorkerGlobalScope != 'undefined'; -// N.b. Electron.js environment is simultaneously a NODE-environment, but -// also a web environment. -var ENVIRONMENT_IS_NODE = typeof process == 'object' && typeof process.versions == 'object' && typeof process.versions.node == 'string' && process.type != 'renderer'; -var ENVIRONMENT_IS_SHELL = !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_NODE && !ENVIRONMENT_IS_WORKER; - -if (ENVIRONMENT_IS_NODE) { - -} - -// --pre-jses are emitted after the Module integration code, so that they can -// refer to Module (if they choose; they can also define Module) - - -// Sometimes an existing Module object exists with properties -// meant to overwrite the default module functionality. Here -// we collect those properties and reapply _after_ we configure -// the current environment's defaults to avoid having to be so -// defensive during initialization. -var moduleOverrides = {...Module}; - -var arguments_ = []; -var thisProgram = './this.program'; -var quit_ = (status, toThrow) => { - throw toThrow; -}; - -// `/` should be present at the end if `scriptDirectory` is not empty -var scriptDirectory = ''; -function locateFile(path) { - if (Module['locateFile']) { - return Module['locateFile'](path, scriptDirectory); - } - return scriptDirectory + path; -} - -// Hooks that are implemented differently in different runtime environments. -var readAsync, readBinary; - -if (ENVIRONMENT_IS_NODE) { - if (typeof process == 'undefined' || !process.release || process.release.name !== 'node') throw new Error('not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)'); - - var nodeVersion = process.versions.node; - var numericVersion = nodeVersion.split('.').slice(0, 3); - numericVersion = (numericVersion[0] * 10000) + (numericVersion[1] * 100) + (numericVersion[2].split('-')[0] * 1); - var minVersion = 160000; - if (numericVersion < 160000) { - throw new Error('This emscripten-generated code requires node v16.0.0 (detected v' + nodeVersion + ')'); - } - - // These modules will usually be used on Node.js. Load them eagerly to avoid - // the complexity of lazy-loading. - var fs = require('fs'); - var nodePath = require('path'); - - scriptDirectory = __dirname + '/'; - -// include: node_shell_read.js -readBinary = (filename) => { - // We need to re-wrap `file://` strings to URLs. - filename = isFileURI(filename) ? new URL(filename) : filename; - var ret = fs.readFileSync(filename); - assert(Buffer.isBuffer(ret)); - return ret; -}; - -readAsync = async (filename, binary = true) => { - // See the comment in the `readBinary` function. - filename = isFileURI(filename) ? new URL(filename) : filename; - var ret = fs.readFileSync(filename, binary ? undefined : 'utf8'); - assert(binary ? Buffer.isBuffer(ret) : typeof ret == 'string'); - return ret; -}; -// end include: node_shell_read.js - if (!Module['thisProgram'] && process.argv.length > 1) { - thisProgram = process.argv[1].replace(/\\/g, '/'); - } - - arguments_ = process.argv.slice(2); - - if (typeof module != 'undefined') { - module['exports'] = Module; - } - - quit_ = (status, toThrow) => { - process.exitCode = status; - throw toThrow; - }; - -} else -if (ENVIRONMENT_IS_SHELL) { - - if ((typeof process == 'object' && typeof require === 'function') || typeof window == 'object' || typeof WorkerGlobalScope != 'undefined') throw new Error('not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)'); - -} else - -// Note that this includes Node.js workers when relevant (pthreads is enabled). -// Node.js workers are detected as a combination of ENVIRONMENT_IS_WORKER and -// ENVIRONMENT_IS_NODE. -if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) { - if (ENVIRONMENT_IS_WORKER) { // Check worker, not web, since window could be polyfilled - scriptDirectory = self.location.href; - } else if (typeof document != 'undefined' && document.currentScript) { // web - scriptDirectory = document.currentScript.src; - } - // blob urls look like blob:http://site.com/etc/etc and we cannot infer anything from them. - // otherwise, slice off the final part of the url to find the script directory. - // if scriptDirectory does not contain a slash, lastIndexOf will return -1, - // and scriptDirectory will correctly be replaced with an empty string. - // If scriptDirectory contains a query (starting with ?) or a fragment (starting with #), - // they are removed because they could contain a slash. - if (scriptDirectory.startsWith('blob:')) { - scriptDirectory = ''; - } else { - scriptDirectory = scriptDirectory.slice(0, scriptDirectory.replace(/[?#].*/, '').lastIndexOf('/')+1); - } - - if (!(typeof window == 'object' || typeof WorkerGlobalScope != 'undefined')) throw new Error('not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)'); - - { -// include: web_or_worker_shell_read.js -if (ENVIRONMENT_IS_WORKER) { - readBinary = (url) => { - var xhr = new XMLHttpRequest(); - xhr.open('GET', url, false); - xhr.responseType = 'arraybuffer'; - xhr.send(null); - return new Uint8Array(/** @type{!ArrayBuffer} */(xhr.response)); - }; - } - - readAsync = async (url) => { - // Fetch has some additional restrictions over XHR, like it can't be used on a file:// url. - // See https://github.com/github/fetch/pull/92#issuecomment-140665932 - // Cordova or Electron apps are typically loaded from a file:// url. - // So use XHR on webview if URL is a file URL. - if (isFileURI(url)) { - return new Promise((resolve, reject) => { - var xhr = new XMLHttpRequest(); - xhr.open('GET', url, true); - xhr.responseType = 'arraybuffer'; - xhr.onload = () => { - if (xhr.status == 200 || (xhr.status == 0 && xhr.response)) { // file URLs can return 0 - resolve(xhr.response); - return; - } - reject(xhr.status); - }; - xhr.onerror = reject; - xhr.send(null); - }); - } - var response = await fetch(url, { credentials: 'same-origin' }); - if (response.ok) { - return response.arrayBuffer(); - } - throw new Error(response.status + ' : ' + response.url); - }; -// end include: web_or_worker_shell_read.js - } -} else -{ - throw new Error('environment detection error'); -} - -var out = Module['print'] || console.log.bind(console); -var err = Module['printErr'] || console.error.bind(console); - -// Merge back in the overrides -Object.assign(Module, moduleOverrides); -// Free the object hierarchy contained in the overrides, this lets the GC -// reclaim data used. -moduleOverrides = null; -checkIncomingModuleAPI(); - -// Emit code to handle expected values on the Module object. This applies Module.x -// to the proper local x. This has two benefits: first, we only emit it if it is -// expected to arrive, and second, by using a local everywhere else that can be -// minified. - -if (Module['arguments']) arguments_ = Module['arguments'];legacyModuleProp('arguments', 'arguments_'); - -if (Module['thisProgram']) thisProgram = Module['thisProgram'];legacyModuleProp('thisProgram', 'thisProgram'); - -// perform assertions in shell.js after we set up out() and err(), as otherwise if an assertion fails it cannot print the message -// Assertions on removed incoming Module JS APIs. -assert(typeof Module['memoryInitializerPrefixURL'] == 'undefined', 'Module.memoryInitializerPrefixURL option was removed, use Module.locateFile instead'); -assert(typeof Module['pthreadMainPrefixURL'] == 'undefined', 'Module.pthreadMainPrefixURL option was removed, use Module.locateFile instead'); -assert(typeof Module['cdInitializerPrefixURL'] == 'undefined', 'Module.cdInitializerPrefixURL option was removed, use Module.locateFile instead'); -assert(typeof Module['filePackagePrefixURL'] == 'undefined', 'Module.filePackagePrefixURL option was removed, use Module.locateFile instead'); -assert(typeof Module['read'] == 'undefined', 'Module.read option was removed'); -assert(typeof Module['readAsync'] == 'undefined', 'Module.readAsync option was removed (modify readAsync in JS)'); -assert(typeof Module['readBinary'] == 'undefined', 'Module.readBinary option was removed (modify readBinary in JS)'); -assert(typeof Module['setWindowTitle'] == 'undefined', 'Module.setWindowTitle option was removed (modify emscripten_set_window_title in JS)'); -assert(typeof Module['TOTAL_MEMORY'] == 'undefined', 'Module.TOTAL_MEMORY has been renamed Module.INITIAL_MEMORY'); -legacyModuleProp('asm', 'wasmExports'); -legacyModuleProp('readAsync', 'readAsync'); -legacyModuleProp('readBinary', 'readBinary'); -legacyModuleProp('setWindowTitle', 'setWindowTitle'); -var IDBFS = 'IDBFS is no longer included by default; build with -lidbfs.js'; -var PROXYFS = 'PROXYFS is no longer included by default; build with -lproxyfs.js'; -var WORKERFS = 'WORKERFS is no longer included by default; build with -lworkerfs.js'; -var FETCHFS = 'FETCHFS is no longer included by default; build with -lfetchfs.js'; -var ICASEFS = 'ICASEFS is no longer included by default; build with -licasefs.js'; -var JSFILEFS = 'JSFILEFS is no longer included by default; build with -ljsfilefs.js'; -var OPFS = 'OPFS is no longer included by default; build with -lopfs.js'; - -var NODEFS = 'NODEFS is no longer included by default; build with -lnodefs.js'; - -assert(!ENVIRONMENT_IS_SHELL, 'shell environment detected but not enabled at build time. Add `shell` to `-sENVIRONMENT` to enable.'); - -// end include: shell.js - -// include: preamble.js -// === Preamble library stuff === - -// Documentation for the public APIs defined in this file must be updated in: -// site/source/docs/api_reference/preamble.js.rst -// A prebuilt local version of the documentation is available at: -// site/build/text/docs/api_reference/preamble.js.txt -// You can also build docs locally as HTML or other formats in site/ -// An online HTML version (which may be of a different version of Emscripten) -// is up at http://kripken.github.io/emscripten-site/docs/api_reference/preamble.js.html - -var wasmBinary = Module['wasmBinary'];legacyModuleProp('wasmBinary', 'wasmBinary'); - -if (typeof WebAssembly != 'object') { - err('no native wasm support detected'); -} - -// Wasm globals - -var wasmMemory; - -//======================================== -// Runtime essentials -//======================================== - -// whether we are quitting the application. no code should run after this. -// set in exit() and abort() -var ABORT = false; - -// set by exit() and abort(). Passed to 'onExit' handler. -// NOTE: This is also used as the process return code code in shell environments -// but only when noExitRuntime is false. -var EXITSTATUS; - -// In STRICT mode, we only define assert() when ASSERTIONS is set. i.e. we -// don't define it at all in release modes. This matches the behaviour of -// MINIMAL_RUNTIME. -// TODO(sbc): Make this the default even without STRICT enabled. -/** @type {function(*, string=)} */ -function assert(condition, text) { - if (!condition) { - abort('Assertion failed' + (text ? ': ' + text : '')); - } -} - -// We used to include malloc/free by default in the past. Show a helpful error in -// builds with assertions. -function _malloc() { - abort('malloc() called but not included in the build - add `_malloc` to EXPORTED_FUNCTIONS'); -} -function _free() { - // Show a helpful error since we used to include free by default in the past. - abort('free() called but not included in the build - add `_free` to EXPORTED_FUNCTIONS'); -} - -// Memory management - -var HEAP, -/** @type {!Int8Array} */ - HEAP8, -/** @type {!Uint8Array} */ - HEAPU8, -/** @type {!Int16Array} */ - HEAP16, -/** @type {!Uint16Array} */ - HEAPU16, -/** @type {!Int32Array} */ - HEAP32, -/** @type {!Uint32Array} */ - HEAPU32, -/** @type {!Float32Array} */ - HEAPF32, -/* BigInt64Array type is not correctly defined in closure -/** not-@type {!BigInt64Array} */ - HEAP64, -/* BigUint64Array type is not correctly defined in closure -/** not-t@type {!BigUint64Array} */ - HEAPU64, -/** @type {!Float64Array} */ - HEAPF64; - -var runtimeInitialized = false; - -/** - * Indicates whether filename is delivered via file protocol (as opposed to http/https) - * @noinline - */ -var isFileURI = (filename) => filename.startsWith('file://'); - -// include: runtime_shared.js -// include: runtime_stack_check.js -// Initializes the stack cookie. Called at the startup of main and at the startup of each thread in pthreads mode. -function writeStackCookie() { - var max = _emscripten_stack_get_end(); - assert((max & 3) == 0); - // If the stack ends at address zero we write our cookies 4 bytes into the - // stack. This prevents interference with SAFE_HEAP and ASAN which also - // monitor writes to address zero. - if (max == 0) { - max += 4; - } - // The stack grow downwards towards _emscripten_stack_get_end. - // We write cookies to the final two words in the stack and detect if they are - // ever overwritten. - HEAPU32[((max)>>2)] = 0x02135467; - HEAPU32[(((max)+(4))>>2)] = 0x89BACDFE; - // Also test the global address 0 for integrity. - HEAPU32[((0)>>2)] = 1668509029; -} - -function checkStackCookie() { - if (ABORT) return; - var max = _emscripten_stack_get_end(); - // See writeStackCookie(). - if (max == 0) { - max += 4; - } - var cookie1 = HEAPU32[((max)>>2)]; - var cookie2 = HEAPU32[(((max)+(4))>>2)]; - if (cookie1 != 0x02135467 || cookie2 != 0x89BACDFE) { - abort(`Stack overflow! Stack cookie has been overwritten at ${ptrToString(max)}, expected hex dwords 0x89BACDFE and 0x2135467, but received ${ptrToString(cookie2)} ${ptrToString(cookie1)}`); - } - // Also test the global address 0 for integrity. - if (HEAPU32[((0)>>2)] != 0x63736d65 /* 'emsc' */) { - abort('Runtime error: The application has corrupted its heap memory area (address zero)!'); - } -} -// end include: runtime_stack_check.js -// include: runtime_exceptions.js -// end include: runtime_exceptions.js -// include: runtime_debug.js -// Endianness check -(() => { - var h16 = new Int16Array(1); - var h8 = new Int8Array(h16.buffer); - h16[0] = 0x6373; - if (h8[0] !== 0x73 || h8[1] !== 0x63) throw 'Runtime error: expected the system to be little-endian! (Run with -sSUPPORT_BIG_ENDIAN to bypass)'; -})(); - -if (Module['ENVIRONMENT']) { - throw new Error('Module.ENVIRONMENT has been deprecated. To force the environment, use the ENVIRONMENT compile-time option (for example, -sENVIRONMENT=web or -sENVIRONMENT=node)'); -} - -function legacyModuleProp(prop, newName, incoming=true) { - if (!Object.getOwnPropertyDescriptor(Module, prop)) { - Object.defineProperty(Module, prop, { - configurable: true, - get() { - let extra = incoming ? ' (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)' : ''; - abort(`\`Module.${prop}\` has been replaced by \`${newName}\`` + extra); - - } - }); - } -} - -function consumedModuleProp(prop) { - if (!Object.getOwnPropertyDescriptor(Module, prop)) { - Object.defineProperty(Module, prop, { - configurable: true, - set() { - abort(`Attempt to set \`Module.${prop}\` after it has already been processed. This can happen, for example, when code is injected via '--post-js' rather than '--pre-js'`); - - } - }); - } -} - -function ignoredModuleProp(prop) { - if (Object.getOwnPropertyDescriptor(Module, prop)) { - abort(`\`Module.${prop}\` was supplied but \`${prop}\` not included in INCOMING_MODULE_JS_API`); - } -} - -// forcing the filesystem exports a few things by default -function isExportedByForceFilesystem(name) { - return name === 'FS_createPath' || - name === 'FS_createDataFile' || - name === 'FS_createPreloadedFile' || - name === 'FS_unlink' || - name === 'addRunDependency' || - // The old FS has some functionality that WasmFS lacks. - name === 'FS_createLazyFile' || - name === 'FS_createDevice' || - name === 'removeRunDependency'; -} - -/** - * Intercept access to a global symbol. This enables us to give informative - * warnings/errors when folks attempt to use symbols they did not include in - * their build, or no symbols that no longer exist. - */ -function hookGlobalSymbolAccess(sym, func) { - if (typeof globalThis != 'undefined' && !Object.getOwnPropertyDescriptor(globalThis, sym)) { - Object.defineProperty(globalThis, sym, { - configurable: true, - get() { - func(); - return undefined; - } - }); - } -} - -function missingGlobal(sym, msg) { - hookGlobalSymbolAccess(sym, () => { - warnOnce(`\`${sym}\` is not longer defined by emscripten. ${msg}`); - }); -} - -missingGlobal('buffer', 'Please use HEAP8.buffer or wasmMemory.buffer'); -missingGlobal('asm', 'Please use wasmExports instead'); - -function missingLibrarySymbol(sym) { - hookGlobalSymbolAccess(sym, () => { - // Can't `abort()` here because it would break code that does runtime - // checks. e.g. `if (typeof SDL === 'undefined')`. - var msg = `\`${sym}\` is a library symbol and not included by default; add it to your library.js __deps or to DEFAULT_LIBRARY_FUNCS_TO_INCLUDE on the command line`; - // DEFAULT_LIBRARY_FUNCS_TO_INCLUDE requires the name as it appears in - // library.js, which means $name for a JS name with no prefix, or name - // for a JS name like _name. - var librarySymbol = sym; - if (!librarySymbol.startsWith('_')) { - librarySymbol = '$' + sym; - } - msg += ` (e.g. -sDEFAULT_LIBRARY_FUNCS_TO_INCLUDE='${librarySymbol}')`; - if (isExportedByForceFilesystem(sym)) { - msg += '. Alternatively, forcing filesystem support (-sFORCE_FILESYSTEM) can export this for you'; - } - warnOnce(msg); - }); - - // Any symbol that is not included from the JS library is also (by definition) - // not exported on the Module object. - unexportedRuntimeSymbol(sym); -} - -function unexportedRuntimeSymbol(sym) { - if (!Object.getOwnPropertyDescriptor(Module, sym)) { - Object.defineProperty(Module, sym, { - configurable: true, - get() { - var msg = `'${sym}' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the Emscripten FAQ)`; - if (isExportedByForceFilesystem(sym)) { - msg += '. Alternatively, forcing filesystem support (-sFORCE_FILESYSTEM) can export this for you'; - } - abort(msg); - } - }); - } -} - -var runtimeDebug = true; // Switch to false at runtime to disable logging at the right times - -// Used by XXXXX_DEBUG settings to output debug messages. -function dbg(...args) { - if (!runtimeDebug && typeof runtimeDebug != 'undefined') return; - // TODO(sbc): Make this configurable somehow. Its not always convenient for - // logging to show up as warnings. - console.warn(...args); -} -// end include: runtime_debug.js -// include: memoryprofiler.js -// end include: memoryprofiler.js - - -function updateMemoryViews() { - var b = wasmMemory.buffer; - Module['HEAP8'] = HEAP8 = new Int8Array(b); - Module['HEAP16'] = HEAP16 = new Int16Array(b); - Module['HEAPU8'] = HEAPU8 = new Uint8Array(b); - Module['HEAPU16'] = HEAPU16 = new Uint16Array(b); - Module['HEAP32'] = HEAP32 = new Int32Array(b); - Module['HEAPU32'] = HEAPU32 = new Uint32Array(b); - Module['HEAPF32'] = HEAPF32 = new Float32Array(b); - Module['HEAPF64'] = HEAPF64 = new Float64Array(b); - Module['HEAP64'] = HEAP64 = new BigInt64Array(b); - Module['HEAPU64'] = HEAPU64 = new BigUint64Array(b); -} - -// end include: runtime_shared.js -assert(!Module['STACK_SIZE'], 'STACK_SIZE can no longer be set at runtime. Use -sSTACK_SIZE at link time') - -assert(typeof Int32Array != 'undefined' && typeof Float64Array !== 'undefined' && Int32Array.prototype.subarray != undefined && Int32Array.prototype.set != undefined, - 'JS engine does not provide full typed array support'); - -// If memory is defined in wasm, the user can't provide it, or set INITIAL_MEMORY -assert(!Module['wasmMemory'], 'Use of `wasmMemory` detected. Use -sIMPORTED_MEMORY to define wasmMemory externally'); -assert(!Module['INITIAL_MEMORY'], 'Detected runtime INITIAL_MEMORY setting. Use -sIMPORTED_MEMORY to define wasmMemory dynamically'); - -function preRun() { - if (Module['preRun']) { - if (typeof Module['preRun'] == 'function') Module['preRun'] = [Module['preRun']]; - while (Module['preRun'].length) { - addOnPreRun(Module['preRun'].shift()); - } - } - consumedModuleProp('preRun'); - callRuntimeCallbacks(onPreRuns); -} - -function initRuntime() { - assert(!runtimeInitialized); - runtimeInitialized = true; - - checkStackCookie(); - - if (!Module['noFSInit'] && !FS.initialized) FS.init(); -TTY.init(); - - wasmExports['__wasm_call_ctors'](); - - FS.ignorePermissions = false; -} - -function preMain() { - checkStackCookie(); - -} - -function postRun() { - checkStackCookie(); - - if (Module['postRun']) { - if (typeof Module['postRun'] == 'function') Module['postRun'] = [Module['postRun']]; - while (Module['postRun'].length) { - addOnPostRun(Module['postRun'].shift()); - } - } - consumedModuleProp('postRun'); - - callRuntimeCallbacks(onPostRuns); -} - -// A counter of dependencies for calling run(). If we need to -// do asynchronous work before running, increment this and -// decrement it. Incrementing must happen in a place like -// Module.preRun (used by emcc to add file preloading). -// Note that you can add dependencies in preRun, even though -// it happens right before run - run will be postponed until -// the dependencies are met. -var runDependencies = 0; -var dependenciesFulfilled = null; // overridden to take different actions when all run dependencies are fulfilled -var runDependencyTracking = {}; -var runDependencyWatcher = null; - -function getUniqueRunDependency(id) { - var orig = id; - while (1) { - if (!runDependencyTracking[id]) return id; - id = orig + Math.random(); - } -} - -function addRunDependency(id) { - runDependencies++; - - Module['monitorRunDependencies']?.(runDependencies); - - if (id) { - assert(!runDependencyTracking[id]); - runDependencyTracking[id] = 1; - if (runDependencyWatcher === null && typeof setInterval != 'undefined') { - // Check for missing dependencies every few seconds - runDependencyWatcher = setInterval(() => { - if (ABORT) { - clearInterval(runDependencyWatcher); - runDependencyWatcher = null; - return; - } - var shown = false; - for (var dep in runDependencyTracking) { - if (!shown) { - shown = true; - err('still waiting on run dependencies:'); - } - err(`dependency: ${dep}`); - } - if (shown) { - err('(end of list)'); - } - }, 10000); - } - } else { - err('warning: run dependency added without ID'); - } -} - -function removeRunDependency(id) { - runDependencies--; - - Module['monitorRunDependencies']?.(runDependencies); - - if (id) { - assert(runDependencyTracking[id]); - delete runDependencyTracking[id]; - } else { - err('warning: run dependency removed without ID'); - } - if (runDependencies == 0) { - if (runDependencyWatcher !== null) { - clearInterval(runDependencyWatcher); - runDependencyWatcher = null; - } - if (dependenciesFulfilled) { - var callback = dependenciesFulfilled; - dependenciesFulfilled = null; - callback(); // can add another dependenciesFulfilled - } - } -} - -/** @param {string|number=} what */ -function abort(what) { - Module['onAbort']?.(what); - - what = 'Aborted(' + what + ')'; - // TODO(sbc): Should we remove printing and leave it up to whoever - // catches the exception? - err(what); - - ABORT = true; - - // Use a wasm runtime error, because a JS error might be seen as a foreign - // exception, which means we'd run destructors on it. We need the error to - // simply make the program stop. - // FIXME This approach does not work in Wasm EH because it currently does not assume - // all RuntimeErrors are from traps; it decides whether a RuntimeError is from - // a trap or not based on a hidden field within the object. So at the moment - // we don't have a way of throwing a wasm trap from JS. TODO Make a JS API that - // allows this in the wasm spec. - - // Suppress closure compiler warning here. Closure compiler's builtin extern - // definition for WebAssembly.RuntimeError claims it takes no arguments even - // though it can. - // TODO(https://github.com/google/closure-compiler/pull/3913): Remove if/when upstream closure gets fixed. - /** @suppress {checkTypes} */ - var e = new WebAssembly.RuntimeError(what); - - // Throw the error whether or not MODULARIZE is set because abort is used - // in code paths apart from instantiation where an exception is expected - // to be thrown when abort is called. - throw e; -} - -function createExportWrapper(name, nargs) { - return (...args) => { - assert(runtimeInitialized, `native function \`${name}\` called before runtime initialization`); - var f = wasmExports[name]; - assert(f, `exported native function \`${name}\` not found`); - // Only assert for too many arguments. Too few can be valid since the missing arguments will be zero filled. - assert(args.length <= nargs, `native function \`${name}\` called with ${args.length} args but expects ${nargs}`); - return f(...args); - }; -} - -var wasmBinaryFile; - -function findWasmBinary() { - return locateFile('zip_write_encrypt_aes256_file_fuzzer.wasm'); -} - -function getBinarySync(file) { - if (file == wasmBinaryFile && wasmBinary) { - return new Uint8Array(wasmBinary); - } - if (readBinary) { - return readBinary(file); - } - throw 'both async and sync fetching of the wasm failed'; -} - -async function getWasmBinary(binaryFile) { - // If we don't have the binary yet, load it asynchronously using readAsync. - if (!wasmBinary) { - // Fetch the binary using readAsync - try { - var response = await readAsync(binaryFile); - return new Uint8Array(response); - } catch { - // Fall back to getBinarySync below; - } - } - - // Otherwise, getBinarySync should be able to get it synchronously - return getBinarySync(binaryFile); -} - -async function instantiateArrayBuffer(binaryFile, imports) { - try { - var binary = await getWasmBinary(binaryFile); - var instance = await WebAssembly.instantiate(binary, imports); - return instance; - } catch (reason) { - err(`failed to asynchronously prepare wasm: ${reason}`); - - // Warn on some common problems. - if (isFileURI(wasmBinaryFile)) { - err(`warning: Loading from a file URI (${wasmBinaryFile}) is not supported in most browsers. See https://emscripten.org/docs/getting_started/FAQ.html#how-do-i-run-a-local-webserver-for-testing-why-does-my-program-stall-in-downloading-or-preparing`); - } - abort(reason); - } -} - -async function instantiateAsync(binary, binaryFile, imports) { - if (!binary && typeof WebAssembly.instantiateStreaming == 'function' - // Don't use streaming for file:// delivered objects in a webview, fetch them synchronously. - && !isFileURI(binaryFile) - // Avoid instantiateStreaming() on Node.js environment for now, as while - // Node.js v18.1.0 implements it, it does not have a full fetch() - // implementation yet. - // - // Reference: - // https://github.com/emscripten-core/emscripten/pull/16917 - && !ENVIRONMENT_IS_NODE - ) { - try { - var response = fetch(binaryFile, { credentials: 'same-origin' }); - var instantiationResult = await WebAssembly.instantiateStreaming(response, imports); - return instantiationResult; - } catch (reason) { - // We expect the most common failure cause to be a bad MIME type for the binary, - // in which case falling back to ArrayBuffer instantiation should work. - err(`wasm streaming compile failed: ${reason}`); - err('falling back to ArrayBuffer instantiation'); - // fall back of instantiateArrayBuffer below - }; - } - return instantiateArrayBuffer(binaryFile, imports); -} - -function getWasmImports() { - // prepare imports - return { - 'env': wasmImports, - 'wasi_snapshot_preview1': wasmImports, - } -} - -// Create the wasm instance. -// Receives the wasm imports, returns the exports. -async function createWasm() { - // Load the wasm module and create an instance of using native support in the JS engine. - // handle a generated wasm instance, receiving its exports and - // performing other necessary setup - /** @param {WebAssembly.Module=} module*/ - function receiveInstance(instance, module) { - wasmExports = instance.exports; - - - - wasmMemory = wasmExports['memory']; - - assert(wasmMemory, 'memory not found in wasm exports'); - updateMemoryViews(); - - removeRunDependency('wasm-instantiate'); - return wasmExports; - } - // wait for the pthread pool (if any) - addRunDependency('wasm-instantiate'); - - // Prefer streaming instantiation if available. - // Async compilation can be confusing when an error on the page overwrites Module - // (for example, if the order of elements is wrong, and the one defining Module is - // later), so we save Module and check it later. - var trueModule = Module; - function receiveInstantiationResult(result) { - // 'result' is a ResultObject object which has both the module and instance. - // receiveInstance() will swap in the exports (to Module.asm) so they can be called - assert(Module === trueModule, 'the Module object should not be replaced during async compilation - perhaps the order of HTML elements is wrong?'); - trueModule = null; - // TODO: Due to Closure regression https://github.com/google/closure-compiler/issues/3193, the above line no longer optimizes out down to the following line. - // When the regression is fixed, can restore the above PTHREADS-enabled path. - return receiveInstance(result['instance']); - } - - var info = getWasmImports(); - - // User shell pages can write their own Module.instantiateWasm = function(imports, successCallback) callback - // to manually instantiate the Wasm module themselves. This allows pages to - // run the instantiation parallel to any other async startup actions they are - // performing. - // Also pthreads and wasm workers initialize the wasm instance through this - // path. - if (Module['instantiateWasm']) { - return new Promise((resolve, reject) => { - try { - Module['instantiateWasm'](info, (mod, inst) => { - receiveInstance(mod, inst); - resolve(mod.exports); - }); - } catch(e) { - err(`Module.instantiateWasm callback failed with error: ${e}`); - reject(e); - } - }); - } - - wasmBinaryFile ??= findWasmBinary(); - var result = await instantiateAsync(wasmBinary, wasmBinaryFile, info); - var exports = receiveInstantiationResult(result); - return exports; -} - -// end include: preamble.js - -// Begin JS library code - - - class ExitStatus { - name = 'ExitStatus'; - constructor(status) { - this.message = `Program terminated with exit(${status})`; - this.status = status; - } - } - - var callRuntimeCallbacks = (callbacks) => { - while (callbacks.length > 0) { - // Pass the module as the first argument. - callbacks.shift()(Module); - } - }; - var onPostRuns = []; - var addOnPostRun = (cb) => onPostRuns.unshift(cb); - - var onPreRuns = []; - var addOnPreRun = (cb) => onPreRuns.unshift(cb); - - - - /** - * @param {number} ptr - * @param {string} type - */ - function getValue(ptr, type = 'i8') { - if (type.endsWith('*')) type = '*'; - switch (type) { - case 'i1': return HEAP8[ptr]; - case 'i8': return HEAP8[ptr]; - case 'i16': return HEAP16[((ptr)>>1)]; - case 'i32': return HEAP32[((ptr)>>2)]; - case 'i64': return HEAP64[((ptr)>>3)]; - case 'float': return HEAPF32[((ptr)>>2)]; - case 'double': return HEAPF64[((ptr)>>3)]; - case '*': return HEAPU32[((ptr)>>2)]; - default: abort(`invalid type for getValue: ${type}`); - } - } - - var noExitRuntime = Module['noExitRuntime'] || true; - - var ptrToString = (ptr) => { - assert(typeof ptr === 'number'); - // With CAN_ADDRESS_2GB or MEMORY64, pointers are already unsigned. - ptr >>>= 0; - return '0x' + ptr.toString(16).padStart(8, '0'); - }; - - - /** - * @param {number} ptr - * @param {number} value - * @param {string} type - */ - function setValue(ptr, value, type = 'i8') { - if (type.endsWith('*')) type = '*'; - switch (type) { - case 'i1': HEAP8[ptr] = value; break; - case 'i8': HEAP8[ptr] = value; break; - case 'i16': HEAP16[((ptr)>>1)] = value; break; - case 'i32': HEAP32[((ptr)>>2)] = value; break; - case 'i64': HEAP64[((ptr)>>3)] = BigInt(value); break; - case 'float': HEAPF32[((ptr)>>2)] = value; break; - case 'double': HEAPF64[((ptr)>>3)] = value; break; - case '*': HEAPU32[((ptr)>>2)] = value; break; - default: abort(`invalid type for setValue: ${type}`); - } - } - - var stackRestore = (val) => __emscripten_stack_restore(val); - - var stackSave = () => _emscripten_stack_get_current(); - - var warnOnce = (text) => { - warnOnce.shown ||= {}; - if (!warnOnce.shown[text]) { - warnOnce.shown[text] = 1; - if (ENVIRONMENT_IS_NODE) text = 'warning: ' + text; - err(text); - } - }; - - var PATH = { - isAbs:(path) => path.charAt(0) === '/', - splitPath:(filename) => { - var splitPathRe = /^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/; - return splitPathRe.exec(filename).slice(1); - }, - normalizeArray:(parts, allowAboveRoot) => { - // if the path tries to go above the root, `up` ends up > 0 - var up = 0; - for (var i = parts.length - 1; i >= 0; i--) { - var last = parts[i]; - if (last === '.') { - parts.splice(i, 1); - } else if (last === '..') { - parts.splice(i, 1); - up++; - } else if (up) { - parts.splice(i, 1); - up--; - } - } - // if the path is allowed to go above the root, restore leading ..s - if (allowAboveRoot) { - for (; up; up--) { - parts.unshift('..'); - } - } - return parts; - }, - normalize:(path) => { - var isAbsolute = PATH.isAbs(path), - trailingSlash = path.slice(-1) === '/'; - // Normalize the path - path = PATH.normalizeArray(path.split('/').filter((p) => !!p), !isAbsolute).join('/'); - if (!path && !isAbsolute) { - path = '.'; - } - if (path && trailingSlash) { - path += '/'; - } - return (isAbsolute ? '/' : '') + path; - }, - dirname:(path) => { - var result = PATH.splitPath(path), - root = result[0], - dir = result[1]; - if (!root && !dir) { - // No dirname whatsoever - return '.'; - } - if (dir) { - // It has a dirname, strip trailing slash - dir = dir.slice(0, -1); - } - return root + dir; - }, - basename:(path) => path && path.match(/([^\/]+|\/)\/*$/)[1], - join:(...paths) => PATH.normalize(paths.join('/')), - join2:(l, r) => PATH.normalize(l + '/' + r), - }; - - var initRandomFill = () => { - // This block is not needed on v19+ since crypto.getRandomValues is builtin - if (ENVIRONMENT_IS_NODE) { - var nodeCrypto = require('crypto'); - return (view) => nodeCrypto.randomFillSync(view); - } - - return (view) => crypto.getRandomValues(view); - }; - var randomFill = (view) => { - // Lazily init on the first invocation. - (randomFill = initRandomFill())(view); - }; - - - - var PATH_FS = { - resolve:(...args) => { - var resolvedPath = '', - resolvedAbsolute = false; - for (var i = args.length - 1; i >= -1 && !resolvedAbsolute; i--) { - var path = (i >= 0) ? args[i] : FS.cwd(); - // Skip empty and invalid entries - if (typeof path != 'string') { - throw new TypeError('Arguments to path.resolve must be strings'); - } else if (!path) { - return ''; // an invalid portion invalidates the whole thing - } - resolvedPath = path + '/' + resolvedPath; - resolvedAbsolute = PATH.isAbs(path); - } - // At this point the path should be resolved to a full absolute path, but - // handle relative paths to be safe (might happen when process.cwd() fails) - resolvedPath = PATH.normalizeArray(resolvedPath.split('/').filter((p) => !!p), !resolvedAbsolute).join('/'); - return ((resolvedAbsolute ? '/' : '') + resolvedPath) || '.'; - }, - relative:(from, to) => { - from = PATH_FS.resolve(from).slice(1); - to = PATH_FS.resolve(to).slice(1); - function trim(arr) { - var start = 0; - for (; start < arr.length; start++) { - if (arr[start] !== '') break; - } - var end = arr.length - 1; - for (; end >= 0; end--) { - if (arr[end] !== '') break; - } - if (start > end) return []; - return arr.slice(start, end - start + 1); - } - var fromParts = trim(from.split('/')); - var toParts = trim(to.split('/')); - var length = Math.min(fromParts.length, toParts.length); - var samePartsLength = length; - for (var i = 0; i < length; i++) { - if (fromParts[i] !== toParts[i]) { - samePartsLength = i; - break; - } - } - var outputParts = []; - for (var i = samePartsLength; i < fromParts.length; i++) { - outputParts.push('..'); - } - outputParts = outputParts.concat(toParts.slice(samePartsLength)); - return outputParts.join('/'); - }, - }; - - - var UTF8Decoder = typeof TextDecoder != 'undefined' ? new TextDecoder() : undefined; - - /** - * Given a pointer 'idx' to a null-terminated UTF8-encoded string in the given - * array that contains uint8 values, returns a copy of that string as a - * Javascript String object. - * heapOrArray is either a regular array, or a JavaScript typed array view. - * @param {number=} idx - * @param {number=} maxBytesToRead - * @return {string} - */ - var UTF8ArrayToString = (heapOrArray, idx = 0, maxBytesToRead = NaN) => { - var endIdx = idx + maxBytesToRead; - var endPtr = idx; - // TextDecoder needs to know the byte length in advance, it doesn't stop on - // null terminator by itself. Also, use the length info to avoid running tiny - // strings through TextDecoder, since .subarray() allocates garbage. - // (As a tiny code save trick, compare endPtr against endIdx using a negation, - // so that undefined/NaN means Infinity) - while (heapOrArray[endPtr] && !(endPtr >= endIdx)) ++endPtr; - - if (endPtr - idx > 16 && heapOrArray.buffer && UTF8Decoder) { - return UTF8Decoder.decode(heapOrArray.subarray(idx, endPtr)); - } - var str = ''; - // If building with TextDecoder, we have already computed the string length - // above, so test loop end condition against that - while (idx < endPtr) { - // For UTF8 byte structure, see: - // http://en.wikipedia.org/wiki/UTF-8#Description - // https://www.ietf.org/rfc/rfc2279.txt - // https://tools.ietf.org/html/rfc3629 - var u0 = heapOrArray[idx++]; - if (!(u0 & 0x80)) { str += String.fromCharCode(u0); continue; } - var u1 = heapOrArray[idx++] & 63; - if ((u0 & 0xE0) == 0xC0) { str += String.fromCharCode(((u0 & 31) << 6) | u1); continue; } - var u2 = heapOrArray[idx++] & 63; - if ((u0 & 0xF0) == 0xE0) { - u0 = ((u0 & 15) << 12) | (u1 << 6) | u2; - } else { - if ((u0 & 0xF8) != 0xF0) warnOnce('Invalid UTF-8 leading byte ' + ptrToString(u0) + ' encountered when deserializing a UTF-8 string in wasm memory to a JS string!'); - u0 = ((u0 & 7) << 18) | (u1 << 12) | (u2 << 6) | (heapOrArray[idx++] & 63); - } - - if (u0 < 0x10000) { - str += String.fromCharCode(u0); - } else { - var ch = u0 - 0x10000; - str += String.fromCharCode(0xD800 | (ch >> 10), 0xDC00 | (ch & 0x3FF)); - } - } - return str; - }; - - var FS_stdin_getChar_buffer = []; - - var lengthBytesUTF8 = (str) => { - var len = 0; - for (var i = 0; i < str.length; ++i) { - // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code - // unit, not a Unicode code point of the character! So decode - // UTF16->UTF32->UTF8. - // See http://unicode.org/faq/utf_bom.html#utf16-3 - var c = str.charCodeAt(i); // possibly a lead surrogate - if (c <= 0x7F) { - len++; - } else if (c <= 0x7FF) { - len += 2; - } else if (c >= 0xD800 && c <= 0xDFFF) { - len += 4; ++i; - } else { - len += 3; - } - } - return len; - }; - - var stringToUTF8Array = (str, heap, outIdx, maxBytesToWrite) => { - assert(typeof str === 'string', `stringToUTF8Array expects a string (got ${typeof str})`); - // Parameter maxBytesToWrite is not optional. Negative values, 0, null, - // undefined and false each don't write out any bytes. - if (!(maxBytesToWrite > 0)) - return 0; - - var startIdx = outIdx; - var endIdx = outIdx + maxBytesToWrite - 1; // -1 for string null terminator. - for (var i = 0; i < str.length; ++i) { - // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code - // unit, not a Unicode code point of the character! So decode - // UTF16->UTF32->UTF8. - // See http://unicode.org/faq/utf_bom.html#utf16-3 - // For UTF8 byte structure, see http://en.wikipedia.org/wiki/UTF-8#Description - // and https://www.ietf.org/rfc/rfc2279.txt - // and https://tools.ietf.org/html/rfc3629 - var u = str.charCodeAt(i); // possibly a lead surrogate - if (u >= 0xD800 && u <= 0xDFFF) { - var u1 = str.charCodeAt(++i); - u = 0x10000 + ((u & 0x3FF) << 10) | (u1 & 0x3FF); - } - if (u <= 0x7F) { - if (outIdx >= endIdx) break; - heap[outIdx++] = u; - } else if (u <= 0x7FF) { - if (outIdx + 1 >= endIdx) break; - heap[outIdx++] = 0xC0 | (u >> 6); - heap[outIdx++] = 0x80 | (u & 63); - } else if (u <= 0xFFFF) { - if (outIdx + 2 >= endIdx) break; - heap[outIdx++] = 0xE0 | (u >> 12); - heap[outIdx++] = 0x80 | ((u >> 6) & 63); - heap[outIdx++] = 0x80 | (u & 63); - } else { - if (outIdx + 3 >= endIdx) break; - if (u > 0x10FFFF) warnOnce('Invalid Unicode code point ' + ptrToString(u) + ' encountered when serializing a JS string to a UTF-8 string in wasm memory! (Valid unicode code points should be in range 0-0x10FFFF).'); - heap[outIdx++] = 0xF0 | (u >> 18); - heap[outIdx++] = 0x80 | ((u >> 12) & 63); - heap[outIdx++] = 0x80 | ((u >> 6) & 63); - heap[outIdx++] = 0x80 | (u & 63); - } - } - // Null-terminate the pointer to the buffer. - heap[outIdx] = 0; - return outIdx - startIdx; - }; - /** @type {function(string, boolean=, number=)} */ - var intArrayFromString = (stringy, dontAddNull, length) => { - var len = length > 0 ? length : lengthBytesUTF8(stringy)+1; - var u8array = new Array(len); - var numBytesWritten = stringToUTF8Array(stringy, u8array, 0, u8array.length); - if (dontAddNull) u8array.length = numBytesWritten; - return u8array; - }; - var FS_stdin_getChar = () => { - if (!FS_stdin_getChar_buffer.length) { - var result = null; - if (ENVIRONMENT_IS_NODE) { - // we will read data by chunks of BUFSIZE - var BUFSIZE = 256; - var buf = Buffer.alloc(BUFSIZE); - var bytesRead = 0; - - // For some reason we must suppress a closure warning here, even though - // fd definitely exists on process.stdin, and is even the proper way to - // get the fd of stdin, - // https://github.com/nodejs/help/issues/2136#issuecomment-523649904 - // This started to happen after moving this logic out of library_tty.js, - // so it is related to the surrounding code in some unclear manner. - /** @suppress {missingProperties} */ - var fd = process.stdin.fd; - - try { - bytesRead = fs.readSync(fd, buf, 0, BUFSIZE); - } catch(e) { - // Cross-platform differences: on Windows, reading EOF throws an - // exception, but on other OSes, reading EOF returns 0. Uniformize - // behavior by treating the EOF exception to return 0. - if (e.toString().includes('EOF')) bytesRead = 0; - else throw e; - } - - if (bytesRead > 0) { - result = buf.slice(0, bytesRead).toString('utf-8'); - } - } else - if (typeof window != 'undefined' && - typeof window.prompt == 'function') { - // Browser. - result = window.prompt('Input: '); // returns null on cancel - if (result !== null) { - result += '\n'; - } - } else - {} - if (!result) { - return null; - } - FS_stdin_getChar_buffer = intArrayFromString(result, true); - } - return FS_stdin_getChar_buffer.shift(); - }; - var TTY = { - ttys:[], - init() { - // https://github.com/emscripten-core/emscripten/pull/1555 - // if (ENVIRONMENT_IS_NODE) { - // // currently, FS.init does not distinguish if process.stdin is a file or TTY - // // device, it always assumes it's a TTY device. because of this, we're forcing - // // process.stdin to UTF8 encoding to at least make stdin reading compatible - // // with text files until FS.init can be refactored. - // process.stdin.setEncoding('utf8'); - // } - }, - shutdown() { - // https://github.com/emscripten-core/emscripten/pull/1555 - // if (ENVIRONMENT_IS_NODE) { - // // inolen: any idea as to why node -e 'process.stdin.read()' wouldn't exit immediately (with process.stdin being a tty)? - // // isaacs: because now it's reading from the stream, you've expressed interest in it, so that read() kicks off a _read() which creates a ReadReq operation - // // inolen: I thought read() in that case was a synchronous operation that just grabbed some amount of buffered data if it exists? - // // isaacs: it is. but it also triggers a _read() call, which calls readStart() on the handle - // // isaacs: do process.stdin.pause() and i'd think it'd probably close the pending call - // process.stdin.pause(); - // } - }, - register(dev, ops) { - TTY.ttys[dev] = { input: [], output: [], ops: ops }; - FS.registerDevice(dev, TTY.stream_ops); - }, - stream_ops:{ - open(stream) { - var tty = TTY.ttys[stream.node.rdev]; - if (!tty) { - throw new FS.ErrnoError(43); - } - stream.tty = tty; - stream.seekable = false; - }, - close(stream) { - // flush any pending line data - stream.tty.ops.fsync(stream.tty); - }, - fsync(stream) { - stream.tty.ops.fsync(stream.tty); - }, - read(stream, buffer, offset, length, pos /* ignored */) { - if (!stream.tty || !stream.tty.ops.get_char) { - throw new FS.ErrnoError(60); - } - var bytesRead = 0; - for (var i = 0; i < length; i++) { - var result; - try { - result = stream.tty.ops.get_char(stream.tty); - } catch (e) { - throw new FS.ErrnoError(29); - } - if (result === undefined && bytesRead === 0) { - throw new FS.ErrnoError(6); - } - if (result === null || result === undefined) break; - bytesRead++; - buffer[offset+i] = result; - } - if (bytesRead) { - stream.node.atime = Date.now(); - } - return bytesRead; - }, - write(stream, buffer, offset, length, pos) { - if (!stream.tty || !stream.tty.ops.put_char) { - throw new FS.ErrnoError(60); - } - try { - for (var i = 0; i < length; i++) { - stream.tty.ops.put_char(stream.tty, buffer[offset+i]); - } - } catch (e) { - throw new FS.ErrnoError(29); - } - if (length) { - stream.node.mtime = stream.node.ctime = Date.now(); - } - return i; - }, - }, - default_tty_ops:{ - get_char(tty) { - return FS_stdin_getChar(); - }, - put_char(tty, val) { - if (val === null || val === 10) { - out(UTF8ArrayToString(tty.output)); - tty.output = []; - } else { - if (val != 0) tty.output.push(val); // val == 0 would cut text output off in the middle. - } - }, - fsync(tty) { - if (tty.output?.length > 0) { - out(UTF8ArrayToString(tty.output)); - tty.output = []; - } - }, - ioctl_tcgets(tty) { - // typical setting - return { - c_iflag: 25856, - c_oflag: 5, - c_cflag: 191, - c_lflag: 35387, - c_cc: [ - 0x03, 0x1c, 0x7f, 0x15, 0x04, 0x00, 0x01, 0x00, 0x11, 0x13, 0x1a, 0x00, - 0x12, 0x0f, 0x17, 0x16, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - ] - }; - }, - ioctl_tcsets(tty, optional_actions, data) { - // currently just ignore - return 0; - }, - ioctl_tiocgwinsz(tty) { - return [24, 80]; - }, - }, - default_tty1_ops:{ - put_char(tty, val) { - if (val === null || val === 10) { - err(UTF8ArrayToString(tty.output)); - tty.output = []; - } else { - if (val != 0) tty.output.push(val); - } - }, - fsync(tty) { - if (tty.output?.length > 0) { - err(UTF8ArrayToString(tty.output)); - tty.output = []; - } - }, - }, - }; - - - var mmapAlloc = (size) => { - abort('internal error: mmapAlloc called but `emscripten_builtin_memalign` native symbol not exported'); - }; - var MEMFS = { - ops_table:null, - mount(mount) { - return MEMFS.createNode(null, '/', 16895, 0); - }, - createNode(parent, name, mode, dev) { - if (FS.isBlkdev(mode) || FS.isFIFO(mode)) { - // no supported - throw new FS.ErrnoError(63); - } - MEMFS.ops_table ||= { - dir: { - node: { - getattr: MEMFS.node_ops.getattr, - setattr: MEMFS.node_ops.setattr, - lookup: MEMFS.node_ops.lookup, - mknod: MEMFS.node_ops.mknod, - rename: MEMFS.node_ops.rename, - unlink: MEMFS.node_ops.unlink, - rmdir: MEMFS.node_ops.rmdir, - readdir: MEMFS.node_ops.readdir, - symlink: MEMFS.node_ops.symlink - }, - stream: { - llseek: MEMFS.stream_ops.llseek - } - }, - file: { - node: { - getattr: MEMFS.node_ops.getattr, - setattr: MEMFS.node_ops.setattr - }, - stream: { - llseek: MEMFS.stream_ops.llseek, - read: MEMFS.stream_ops.read, - write: MEMFS.stream_ops.write, - mmap: MEMFS.stream_ops.mmap, - msync: MEMFS.stream_ops.msync - } - }, - link: { - node: { - getattr: MEMFS.node_ops.getattr, - setattr: MEMFS.node_ops.setattr, - readlink: MEMFS.node_ops.readlink - }, - stream: {} - }, - chrdev: { - node: { - getattr: MEMFS.node_ops.getattr, - setattr: MEMFS.node_ops.setattr - }, - stream: FS.chrdev_stream_ops - } - }; - var node = FS.createNode(parent, name, mode, dev); - if (FS.isDir(node.mode)) { - node.node_ops = MEMFS.ops_table.dir.node; - node.stream_ops = MEMFS.ops_table.dir.stream; - node.contents = {}; - } else if (FS.isFile(node.mode)) { - node.node_ops = MEMFS.ops_table.file.node; - node.stream_ops = MEMFS.ops_table.file.stream; - node.usedBytes = 0; // The actual number of bytes used in the typed array, as opposed to contents.length which gives the whole capacity. - // When the byte data of the file is populated, this will point to either a typed array, or a normal JS array. Typed arrays are preferred - // for performance, and used by default. However, typed arrays are not resizable like normal JS arrays are, so there is a small disk size - // penalty involved for appending file writes that continuously grow a file similar to std::vector capacity vs used -scheme. - node.contents = null; - } else if (FS.isLink(node.mode)) { - node.node_ops = MEMFS.ops_table.link.node; - node.stream_ops = MEMFS.ops_table.link.stream; - } else if (FS.isChrdev(node.mode)) { - node.node_ops = MEMFS.ops_table.chrdev.node; - node.stream_ops = MEMFS.ops_table.chrdev.stream; - } - node.atime = node.mtime = node.ctime = Date.now(); - // add the new node to the parent - if (parent) { - parent.contents[name] = node; - parent.atime = parent.mtime = parent.ctime = node.atime; - } - return node; - }, - getFileDataAsTypedArray(node) { - if (!node.contents) return new Uint8Array(0); - if (node.contents.subarray) return node.contents.subarray(0, node.usedBytes); // Make sure to not return excess unused bytes. - return new Uint8Array(node.contents); - }, - expandFileStorage(node, newCapacity) { - var prevCapacity = node.contents ? node.contents.length : 0; - if (prevCapacity >= newCapacity) return; // No need to expand, the storage was already large enough. - // Don't expand strictly to the given requested limit if it's only a very small increase, but instead geometrically grow capacity. - // For small filesizes (<1MB), perform size*2 geometric increase, but for large sizes, do a much more conservative size*1.125 increase to - // avoid overshooting the allocation cap by a very large margin. - var CAPACITY_DOUBLING_MAX = 1024 * 1024; - newCapacity = Math.max(newCapacity, (prevCapacity * (prevCapacity < CAPACITY_DOUBLING_MAX ? 2.0 : 1.125)) >>> 0); - if (prevCapacity != 0) newCapacity = Math.max(newCapacity, 256); // At minimum allocate 256b for each file when expanding. - var oldContents = node.contents; - node.contents = new Uint8Array(newCapacity); // Allocate new storage. - if (node.usedBytes > 0) node.contents.set(oldContents.subarray(0, node.usedBytes), 0); // Copy old data over to the new storage. - }, - resizeFileStorage(node, newSize) { - if (node.usedBytes == newSize) return; - if (newSize == 0) { - node.contents = null; // Fully decommit when requesting a resize to zero. - node.usedBytes = 0; - } else { - var oldContents = node.contents; - node.contents = new Uint8Array(newSize); // Allocate new storage. - if (oldContents) { - node.contents.set(oldContents.subarray(0, Math.min(newSize, node.usedBytes))); // Copy old data over to the new storage. - } - node.usedBytes = newSize; - } - }, - node_ops:{ - getattr(node) { - var attr = {}; - // device numbers reuse inode numbers. - attr.dev = FS.isChrdev(node.mode) ? node.id : 1; - attr.ino = node.id; - attr.mode = node.mode; - attr.nlink = 1; - attr.uid = 0; - attr.gid = 0; - attr.rdev = node.rdev; - if (FS.isDir(node.mode)) { - attr.size = 4096; - } else if (FS.isFile(node.mode)) { - attr.size = node.usedBytes; - } else if (FS.isLink(node.mode)) { - attr.size = node.link.length; - } else { - attr.size = 0; - } - attr.atime = new Date(node.atime); - attr.mtime = new Date(node.mtime); - attr.ctime = new Date(node.ctime); - // NOTE: In our implementation, st_blocks = Math.ceil(st_size/st_blksize), - // but this is not required by the standard. - attr.blksize = 4096; - attr.blocks = Math.ceil(attr.size / attr.blksize); - return attr; - }, - setattr(node, attr) { - for (const key of ["mode", "atime", "mtime", "ctime"]) { - if (attr[key] != null) { - node[key] = attr[key]; - } - } - if (attr.size !== undefined) { - MEMFS.resizeFileStorage(node, attr.size); - } - }, - lookup(parent, name) { - throw new FS.ErrnoError(44); - }, - mknod(parent, name, mode, dev) { - return MEMFS.createNode(parent, name, mode, dev); - }, - rename(old_node, new_dir, new_name) { - var new_node; - try { - new_node = FS.lookupNode(new_dir, new_name); - } catch (e) {} - if (new_node) { - if (FS.isDir(old_node.mode)) { - // if we're overwriting a directory at new_name, make sure it's empty. - for (var i in new_node.contents) { - throw new FS.ErrnoError(55); - } - } - FS.hashRemoveNode(new_node); - } - // do the internal rewiring - delete old_node.parent.contents[old_node.name]; - new_dir.contents[new_name] = old_node; - old_node.name = new_name; - new_dir.ctime = new_dir.mtime = old_node.parent.ctime = old_node.parent.mtime = Date.now(); - }, - unlink(parent, name) { - delete parent.contents[name]; - parent.ctime = parent.mtime = Date.now(); - }, - rmdir(parent, name) { - var node = FS.lookupNode(parent, name); - for (var i in node.contents) { - throw new FS.ErrnoError(55); - } - delete parent.contents[name]; - parent.ctime = parent.mtime = Date.now(); - }, - readdir(node) { - return ['.', '..', ...Object.keys(node.contents)]; - }, - symlink(parent, newname, oldpath) { - var node = MEMFS.createNode(parent, newname, 0o777 | 40960, 0); - node.link = oldpath; - return node; - }, - readlink(node) { - if (!FS.isLink(node.mode)) { - throw new FS.ErrnoError(28); - } - return node.link; - }, - }, - stream_ops:{ - read(stream, buffer, offset, length, position) { - var contents = stream.node.contents; - if (position >= stream.node.usedBytes) return 0; - var size = Math.min(stream.node.usedBytes - position, length); - assert(size >= 0); - if (size > 8 && contents.subarray) { // non-trivial, and typed array - buffer.set(contents.subarray(position, position + size), offset); - } else { - for (var i = 0; i < size; i++) buffer[offset + i] = contents[position + i]; - } - return size; - }, - write(stream, buffer, offset, length, position, canOwn) { - // The data buffer should be a typed array view - assert(!(buffer instanceof ArrayBuffer)); - - if (!length) return 0; - var node = stream.node; - node.mtime = node.ctime = Date.now(); - - if (buffer.subarray && (!node.contents || node.contents.subarray)) { // This write is from a typed array to a typed array? - if (canOwn) { - assert(position === 0, 'canOwn must imply no weird position inside the file'); - node.contents = buffer.subarray(offset, offset + length); - node.usedBytes = length; - return length; - } else if (node.usedBytes === 0 && position === 0) { // If this is a simple first write to an empty file, do a fast set since we don't need to care about old data. - node.contents = buffer.slice(offset, offset + length); - node.usedBytes = length; - return length; - } else if (position + length <= node.usedBytes) { // Writing to an already allocated and used subrange of the file? - node.contents.set(buffer.subarray(offset, offset + length), position); - return length; - } - } - - // Appending to an existing file and we need to reallocate, or source data did not come as a typed array. - MEMFS.expandFileStorage(node, position+length); - if (node.contents.subarray && buffer.subarray) { - // Use typed array write which is available. - node.contents.set(buffer.subarray(offset, offset + length), position); - } else { - for (var i = 0; i < length; i++) { - node.contents[position + i] = buffer[offset + i]; // Or fall back to manual write if not. - } - } - node.usedBytes = Math.max(node.usedBytes, position + length); - return length; - }, - llseek(stream, offset, whence) { - var position = offset; - if (whence === 1) { - position += stream.position; - } else if (whence === 2) { - if (FS.isFile(stream.node.mode)) { - position += stream.node.usedBytes; - } - } - if (position < 0) { - throw new FS.ErrnoError(28); - } - return position; - }, - mmap(stream, length, position, prot, flags) { - if (!FS.isFile(stream.node.mode)) { - throw new FS.ErrnoError(43); - } - var ptr; - var allocated; - var contents = stream.node.contents; - // Only make a new copy when MAP_PRIVATE is specified. - if (!(flags & 2) && contents && contents.buffer === HEAP8.buffer) { - // We can't emulate MAP_SHARED when the file is not backed by the - // buffer we're mapping to (e.g. the HEAP buffer). - allocated = false; - ptr = contents.byteOffset; - } else { - allocated = true; - ptr = mmapAlloc(length); - if (!ptr) { - throw new FS.ErrnoError(48); - } - if (contents) { - // Try to avoid unnecessary slices. - if (position > 0 || position + length < contents.length) { - if (contents.subarray) { - contents = contents.subarray(position, position + length); - } else { - contents = Array.prototype.slice.call(contents, position, position + length); - } - } - HEAP8.set(contents, ptr); - } - } - return { ptr, allocated }; - }, - msync(stream, buffer, offset, length, mmapFlags) { - MEMFS.stream_ops.write(stream, buffer, 0, length, offset, false); - // should we check if bytesWritten and length are the same? - return 0; - }, - }, - }; - - var asyncLoad = async (url) => { - var arrayBuffer = await readAsync(url); - assert(arrayBuffer, `Loading data file "${url}" failed (no arrayBuffer).`); - return new Uint8Array(arrayBuffer); - }; - - - var FS_createDataFile = (parent, name, fileData, canRead, canWrite, canOwn) => { - FS.createDataFile(parent, name, fileData, canRead, canWrite, canOwn); - }; - - var preloadPlugins = Module['preloadPlugins'] || []; - var FS_handledByPreloadPlugin = (byteArray, fullname, finish, onerror) => { - // Ensure plugins are ready. - if (typeof Browser != 'undefined') Browser.init(); - - var handled = false; - preloadPlugins.forEach((plugin) => { - if (handled) return; - if (plugin['canHandle'](fullname)) { - plugin['handle'](byteArray, fullname, finish, onerror); - handled = true; - } - }); - return handled; - }; - var FS_createPreloadedFile = (parent, name, url, canRead, canWrite, onload, onerror, dontCreateFile, canOwn, preFinish) => { - // TODO we should allow people to just pass in a complete filename instead - // of parent and name being that we just join them anyways - var fullname = name ? PATH_FS.resolve(PATH.join2(parent, name)) : parent; - var dep = getUniqueRunDependency(`cp ${fullname}`); // might have several active requests for the same fullname - function processData(byteArray) { - function finish(byteArray) { - preFinish?.(); - if (!dontCreateFile) { - FS_createDataFile(parent, name, byteArray, canRead, canWrite, canOwn); - } - onload?.(); - removeRunDependency(dep); - } - if (FS_handledByPreloadPlugin(byteArray, fullname, finish, () => { - onerror?.(); - removeRunDependency(dep); - })) { - return; - } - finish(byteArray); - } - addRunDependency(dep); - if (typeof url == 'string') { - asyncLoad(url).then(processData, onerror); - } else { - processData(url); - } - }; - - var FS_modeStringToFlags = (str) => { - var flagModes = { - 'r': 0, - 'r+': 2, - 'w': 512 | 64 | 1, - 'w+': 512 | 64 | 2, - 'a': 1024 | 64 | 1, - 'a+': 1024 | 64 | 2, - }; - var flags = flagModes[str]; - if (typeof flags == 'undefined') { - throw new Error(`Unknown file open mode: ${str}`); - } - return flags; - }; - - var FS_getMode = (canRead, canWrite) => { - var mode = 0; - if (canRead) mode |= 292 | 73; - if (canWrite) mode |= 146; - return mode; - }; - - - - - - - /** - * Given a pointer 'ptr' to a null-terminated UTF8-encoded string in the - * emscripten HEAP, returns a copy of that string as a Javascript String object. - * - * @param {number} ptr - * @param {number=} maxBytesToRead - An optional length that specifies the - * maximum number of bytes to read. You can omit this parameter to scan the - * string until the first 0 byte. If maxBytesToRead is passed, and the string - * at [ptr, ptr+maxBytesToReadr[ contains a null byte in the middle, then the - * string will cut short at that byte index (i.e. maxBytesToRead will not - * produce a string of exact length [ptr, ptr+maxBytesToRead[) N.B. mixing - * frequent uses of UTF8ToString() with and without maxBytesToRead may throw - * JS JIT optimizations off, so it is worth to consider consistently using one - * @return {string} - */ - var UTF8ToString = (ptr, maxBytesToRead) => { - assert(typeof ptr == 'number', `UTF8ToString expects a number (got ${typeof ptr})`); - return ptr ? UTF8ArrayToString(HEAPU8, ptr, maxBytesToRead) : ''; - }; - - var strError = (errno) => UTF8ToString(_strerror(errno)); - - var ERRNO_CODES = { - 'EPERM': 63, - 'ENOENT': 44, - 'ESRCH': 71, - 'EINTR': 27, - 'EIO': 29, - 'ENXIO': 60, - 'E2BIG': 1, - 'ENOEXEC': 45, - 'EBADF': 8, - 'ECHILD': 12, - 'EAGAIN': 6, - 'EWOULDBLOCK': 6, - 'ENOMEM': 48, - 'EACCES': 2, - 'EFAULT': 21, - 'ENOTBLK': 105, - 'EBUSY': 10, - 'EEXIST': 20, - 'EXDEV': 75, - 'ENODEV': 43, - 'ENOTDIR': 54, - 'EISDIR': 31, - 'EINVAL': 28, - 'ENFILE': 41, - 'EMFILE': 33, - 'ENOTTY': 59, - 'ETXTBSY': 74, - 'EFBIG': 22, - 'ENOSPC': 51, - 'ESPIPE': 70, - 'EROFS': 69, - 'EMLINK': 34, - 'EPIPE': 64, - 'EDOM': 18, - 'ERANGE': 68, - 'ENOMSG': 49, - 'EIDRM': 24, - 'ECHRNG': 106, - 'EL2NSYNC': 156, - 'EL3HLT': 107, - 'EL3RST': 108, - 'ELNRNG': 109, - 'EUNATCH': 110, - 'ENOCSI': 111, - 'EL2HLT': 112, - 'EDEADLK': 16, - 'ENOLCK': 46, - 'EBADE': 113, - 'EBADR': 114, - 'EXFULL': 115, - 'ENOANO': 104, - 'EBADRQC': 103, - 'EBADSLT': 102, - 'EDEADLOCK': 16, - 'EBFONT': 101, - 'ENOSTR': 100, - 'ENODATA': 116, - 'ETIME': 117, - 'ENOSR': 118, - 'ENONET': 119, - 'ENOPKG': 120, - 'EREMOTE': 121, - 'ENOLINK': 47, - 'EADV': 122, - 'ESRMNT': 123, - 'ECOMM': 124, - 'EPROTO': 65, - 'EMULTIHOP': 36, - 'EDOTDOT': 125, - 'EBADMSG': 9, - 'ENOTUNIQ': 126, - 'EBADFD': 127, - 'EREMCHG': 128, - 'ELIBACC': 129, - 'ELIBBAD': 130, - 'ELIBSCN': 131, - 'ELIBMAX': 132, - 'ELIBEXEC': 133, - 'ENOSYS': 52, - 'ENOTEMPTY': 55, - 'ENAMETOOLONG': 37, - 'ELOOP': 32, - 'EOPNOTSUPP': 138, - 'EPFNOSUPPORT': 139, - 'ECONNRESET': 15, - 'ENOBUFS': 42, - 'EAFNOSUPPORT': 5, - 'EPROTOTYPE': 67, - 'ENOTSOCK': 57, - 'ENOPROTOOPT': 50, - 'ESHUTDOWN': 140, - 'ECONNREFUSED': 14, - 'EADDRINUSE': 3, - 'ECONNABORTED': 13, - 'ENETUNREACH': 40, - 'ENETDOWN': 38, - 'ETIMEDOUT': 73, - 'EHOSTDOWN': 142, - 'EHOSTUNREACH': 23, - 'EINPROGRESS': 26, - 'EALREADY': 7, - 'EDESTADDRREQ': 17, - 'EMSGSIZE': 35, - 'EPROTONOSUPPORT': 66, - 'ESOCKTNOSUPPORT': 137, - 'EADDRNOTAVAIL': 4, - 'ENETRESET': 39, - 'EISCONN': 30, - 'ENOTCONN': 53, - 'ETOOMANYREFS': 141, - 'EUSERS': 136, - 'EDQUOT': 19, - 'ESTALE': 72, - 'ENOTSUP': 138, - 'ENOMEDIUM': 148, - 'EILSEQ': 25, - 'EOVERFLOW': 61, - 'ECANCELED': 11, - 'ENOTRECOVERABLE': 56, - 'EOWNERDEAD': 62, - 'ESTRPIPE': 135, - }; - var FS = { - root:null, - mounts:[], - devices:{ - }, - streams:[], - nextInode:1, - nameTable:null, - currentPath:"/", - initialized:false, - ignorePermissions:true, - filesystems:null, - syncFSRequests:0, - readFiles:{ - }, - ErrnoError:class extends Error { - name = 'ErrnoError'; - // We set the `name` property to be able to identify `FS.ErrnoError` - // - the `name` is a standard ECMA-262 property of error objects. Kind of good to have it anyway. - // - when using PROXYFS, an error can come from an underlying FS - // as different FS objects have their own FS.ErrnoError each, - // the test `err instanceof FS.ErrnoError` won't detect an error coming from another filesystem, causing bugs. - // we'll use the reliable test `err.name == "ErrnoError"` instead - constructor(errno) { - super(runtimeInitialized ? strError(errno) : ''); - this.errno = errno; - for (var key in ERRNO_CODES) { - if (ERRNO_CODES[key] === errno) { - this.code = key; - break; - } - } - } - }, - FSStream:class { - shared = {}; - get object() { - return this.node; - } - set object(val) { - this.node = val; - } - get isRead() { - return (this.flags & 2097155) !== 1; - } - get isWrite() { - return (this.flags & 2097155) !== 0; - } - get isAppend() { - return (this.flags & 1024); - } - get flags() { - return this.shared.flags; - } - set flags(val) { - this.shared.flags = val; - } - get position() { - return this.shared.position; - } - set position(val) { - this.shared.position = val; - } - }, - FSNode:class { - node_ops = {}; - stream_ops = {}; - readMode = 292 | 73; - writeMode = 146; - mounted = null; - constructor(parent, name, mode, rdev) { - if (!parent) { - parent = this; // root node sets parent to itself - } - this.parent = parent; - this.mount = parent.mount; - this.id = FS.nextInode++; - this.name = name; - this.mode = mode; - this.rdev = rdev; - this.atime = this.mtime = this.ctime = Date.now(); - } - get read() { - return (this.mode & this.readMode) === this.readMode; - } - set read(val) { - val ? this.mode |= this.readMode : this.mode &= ~this.readMode; - } - get write() { - return (this.mode & this.writeMode) === this.writeMode; - } - set write(val) { - val ? this.mode |= this.writeMode : this.mode &= ~this.writeMode; - } - get isFolder() { - return FS.isDir(this.mode); - } - get isDevice() { - return FS.isChrdev(this.mode); - } - }, - lookupPath(path, opts = {}) { - if (!path) { - throw new FS.ErrnoError(44); - } - opts.follow_mount ??= true - - if (!PATH.isAbs(path)) { - path = FS.cwd() + '/' + path; - } - - // limit max consecutive symlinks to 40 (SYMLOOP_MAX). - linkloop: for (var nlinks = 0; nlinks < 40; nlinks++) { - // split the absolute path - var parts = path.split('/').filter((p) => !!p); - - // start at the root - var current = FS.root; - var current_path = '/'; - - for (var i = 0; i < parts.length; i++) { - var islast = (i === parts.length-1); - if (islast && opts.parent) { - // stop resolving - break; - } - - if (parts[i] === '.') { - continue; - } - - if (parts[i] === '..') { - current_path = PATH.dirname(current_path); - current = current.parent; - continue; - } - - current_path = PATH.join2(current_path, parts[i]); - try { - current = FS.lookupNode(current, parts[i]); - } catch (e) { - // if noent_okay is true, suppress a ENOENT in the last component - // and return an object with an undefined node. This is needed for - // resolving symlinks in the path when creating a file. - if ((e?.errno === 44) && islast && opts.noent_okay) { - return { path: current_path }; - } - throw e; - } - - // jump to the mount's root node if this is a mountpoint - if (FS.isMountpoint(current) && (!islast || opts.follow_mount)) { - current = current.mounted.root; - } - - // by default, lookupPath will not follow a symlink if it is the final path component. - // setting opts.follow = true will override this behavior. - if (FS.isLink(current.mode) && (!islast || opts.follow)) { - if (!current.node_ops.readlink) { - throw new FS.ErrnoError(52); - } - var link = current.node_ops.readlink(current); - if (!PATH.isAbs(link)) { - link = PATH.dirname(current_path) + '/' + link; - } - path = link + '/' + parts.slice(i + 1).join('/'); - continue linkloop; - } - } - return { path: current_path, node: current }; - } - throw new FS.ErrnoError(32); - }, - getPath(node) { - var path; - while (true) { - if (FS.isRoot(node)) { - var mount = node.mount.mountpoint; - if (!path) return mount; - return mount[mount.length-1] !== '/' ? `${mount}/${path}` : mount + path; - } - path = path ? `${node.name}/${path}` : node.name; - node = node.parent; - } - }, - hashName(parentid, name) { - var hash = 0; - - for (var i = 0; i < name.length; i++) { - hash = ((hash << 5) - hash + name.charCodeAt(i)) | 0; - } - return ((parentid + hash) >>> 0) % FS.nameTable.length; - }, - hashAddNode(node) { - var hash = FS.hashName(node.parent.id, node.name); - node.name_next = FS.nameTable[hash]; - FS.nameTable[hash] = node; - }, - hashRemoveNode(node) { - var hash = FS.hashName(node.parent.id, node.name); - if (FS.nameTable[hash] === node) { - FS.nameTable[hash] = node.name_next; - } else { - var current = FS.nameTable[hash]; - while (current) { - if (current.name_next === node) { - current.name_next = node.name_next; - break; - } - current = current.name_next; - } - } - }, - lookupNode(parent, name) { - var errCode = FS.mayLookup(parent); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - var hash = FS.hashName(parent.id, name); - for (var node = FS.nameTable[hash]; node; node = node.name_next) { - var nodeName = node.name; - if (node.parent.id === parent.id && nodeName === name) { - return node; - } - } - // if we failed to find it in the cache, call into the VFS - return FS.lookup(parent, name); - }, - createNode(parent, name, mode, rdev) { - assert(typeof parent == 'object') - var node = new FS.FSNode(parent, name, mode, rdev); - - FS.hashAddNode(node); - - return node; - }, - destroyNode(node) { - FS.hashRemoveNode(node); - }, - isRoot(node) { - return node === node.parent; - }, - isMountpoint(node) { - return !!node.mounted; - }, - isFile(mode) { - return (mode & 61440) === 32768; - }, - isDir(mode) { - return (mode & 61440) === 16384; - }, - isLink(mode) { - return (mode & 61440) === 40960; - }, - isChrdev(mode) { - return (mode & 61440) === 8192; - }, - isBlkdev(mode) { - return (mode & 61440) === 24576; - }, - isFIFO(mode) { - return (mode & 61440) === 4096; - }, - isSocket(mode) { - return (mode & 49152) === 49152; - }, - flagsToPermissionString(flag) { - var perms = ['r', 'w', 'rw'][flag & 3]; - if ((flag & 512)) { - perms += 'w'; - } - return perms; - }, - nodePermissions(node, perms) { - if (FS.ignorePermissions) { - return 0; - } - // return 0 if any user, group or owner bits are set. - if (perms.includes('r') && !(node.mode & 292)) { - return 2; - } else if (perms.includes('w') && !(node.mode & 146)) { - return 2; - } else if (perms.includes('x') && !(node.mode & 73)) { - return 2; - } - return 0; - }, - mayLookup(dir) { - if (!FS.isDir(dir.mode)) return 54; - var errCode = FS.nodePermissions(dir, 'x'); - if (errCode) return errCode; - if (!dir.node_ops.lookup) return 2; - return 0; - }, - mayCreate(dir, name) { - if (!FS.isDir(dir.mode)) { - return 54; - } - try { - var node = FS.lookupNode(dir, name); - return 20; - } catch (e) { - } - return FS.nodePermissions(dir, 'wx'); - }, - mayDelete(dir, name, isdir) { - var node; - try { - node = FS.lookupNode(dir, name); - } catch (e) { - return e.errno; - } - var errCode = FS.nodePermissions(dir, 'wx'); - if (errCode) { - return errCode; - } - if (isdir) { - if (!FS.isDir(node.mode)) { - return 54; - } - if (FS.isRoot(node) || FS.getPath(node) === FS.cwd()) { - return 10; - } - } else { - if (FS.isDir(node.mode)) { - return 31; - } - } - return 0; - }, - mayOpen(node, flags) { - if (!node) { - return 44; - } - if (FS.isLink(node.mode)) { - return 32; - } else if (FS.isDir(node.mode)) { - if (FS.flagsToPermissionString(flags) !== 'r' // opening for write - || (flags & (512 | 64))) { // TODO: check for O_SEARCH? (== search for dir only) - return 31; - } - } - return FS.nodePermissions(node, FS.flagsToPermissionString(flags)); - }, - checkOpExists(op, err) { - if (!op) { - throw new FS.ErrnoError(err); - } - return op; - }, - MAX_OPEN_FDS:4096, - nextfd() { - for (var fd = 0; fd <= FS.MAX_OPEN_FDS; fd++) { - if (!FS.streams[fd]) { - return fd; - } - } - throw new FS.ErrnoError(33); - }, - getStreamChecked(fd) { - var stream = FS.getStream(fd); - if (!stream) { - throw new FS.ErrnoError(8); - } - return stream; - }, - getStream:(fd) => FS.streams[fd], - createStream(stream, fd = -1) { - assert(fd >= -1); - - // clone it, so we can return an instance of FSStream - stream = Object.assign(new FS.FSStream(), stream); - if (fd == -1) { - fd = FS.nextfd(); - } - stream.fd = fd; - FS.streams[fd] = stream; - return stream; - }, - closeStream(fd) { - FS.streams[fd] = null; - }, - dupStream(origStream, fd = -1) { - var stream = FS.createStream(origStream, fd); - stream.stream_ops?.dup?.(stream); - return stream; - }, - doSetAttr(stream, node, attr) { - var setattr = stream?.stream_ops.setattr; - var arg = setattr ? stream : node; - setattr ??= node.node_ops.setattr; - FS.checkOpExists(setattr, 63) - setattr(arg, attr); - }, - chrdev_stream_ops:{ - open(stream) { - var device = FS.getDevice(stream.node.rdev); - // override node's stream ops with the device's - stream.stream_ops = device.stream_ops; - // forward the open call - stream.stream_ops.open?.(stream); - }, - llseek() { - throw new FS.ErrnoError(70); - }, - }, - major:(dev) => ((dev) >> 8), - minor:(dev) => ((dev) & 0xff), - makedev:(ma, mi) => ((ma) << 8 | (mi)), - registerDevice(dev, ops) { - FS.devices[dev] = { stream_ops: ops }; - }, - getDevice:(dev) => FS.devices[dev], - getMounts(mount) { - var mounts = []; - var check = [mount]; - - while (check.length) { - var m = check.pop(); - - mounts.push(m); - - check.push(...m.mounts); - } - - return mounts; - }, - syncfs(populate, callback) { - if (typeof populate == 'function') { - callback = populate; - populate = false; - } - - FS.syncFSRequests++; - - if (FS.syncFSRequests > 1) { - err(`warning: ${FS.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`); - } - - var mounts = FS.getMounts(FS.root.mount); - var completed = 0; - - function doCallback(errCode) { - assert(FS.syncFSRequests > 0); - FS.syncFSRequests--; - return callback(errCode); - } - - function done(errCode) { - if (errCode) { - if (!done.errored) { - done.errored = true; - return doCallback(errCode); - } - return; - } - if (++completed >= mounts.length) { - doCallback(null); - } - }; - - // sync all mounts - mounts.forEach((mount) => { - if (!mount.type.syncfs) { - return done(null); - } - mount.type.syncfs(mount, populate, done); - }); - }, - mount(type, opts, mountpoint) { - if (typeof type == 'string') { - // The filesystem was not included, and instead we have an error - // message stored in the variable. - throw type; - } - var root = mountpoint === '/'; - var pseudo = !mountpoint; - var node; - - if (root && FS.root) { - throw new FS.ErrnoError(10); - } else if (!root && !pseudo) { - var lookup = FS.lookupPath(mountpoint, { follow_mount: false }); - - mountpoint = lookup.path; // use the absolute path - node = lookup.node; - - if (FS.isMountpoint(node)) { - throw new FS.ErrnoError(10); - } - - if (!FS.isDir(node.mode)) { - throw new FS.ErrnoError(54); - } - } - - var mount = { - type, - opts, - mountpoint, - mounts: [] - }; - - // create a root node for the fs - var mountRoot = type.mount(mount); - mountRoot.mount = mount; - mount.root = mountRoot; - - if (root) { - FS.root = mountRoot; - } else if (node) { - // set as a mountpoint - node.mounted = mount; - - // add the new mount to the current mount's children - if (node.mount) { - node.mount.mounts.push(mount); - } - } - - return mountRoot; - }, - unmount(mountpoint) { - var lookup = FS.lookupPath(mountpoint, { follow_mount: false }); - - if (!FS.isMountpoint(lookup.node)) { - throw new FS.ErrnoError(28); - } - - // destroy the nodes for this mount, and all its child mounts - var node = lookup.node; - var mount = node.mounted; - var mounts = FS.getMounts(mount); - - Object.keys(FS.nameTable).forEach((hash) => { - var current = FS.nameTable[hash]; - - while (current) { - var next = current.name_next; - - if (mounts.includes(current.mount)) { - FS.destroyNode(current); - } - - current = next; - } - }); - - // no longer a mountpoint - node.mounted = null; - - // remove this mount from the child mounts - var idx = node.mount.mounts.indexOf(mount); - assert(idx !== -1); - node.mount.mounts.splice(idx, 1); - }, - lookup(parent, name) { - return parent.node_ops.lookup(parent, name); - }, - mknod(path, mode, dev) { - var lookup = FS.lookupPath(path, { parent: true }); - var parent = lookup.node; - var name = PATH.basename(path); - if (!name) { - throw new FS.ErrnoError(28); - } - if (name === '.' || name === '..') { - throw new FS.ErrnoError(20); - } - var errCode = FS.mayCreate(parent, name); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - if (!parent.node_ops.mknod) { - throw new FS.ErrnoError(63); - } - return parent.node_ops.mknod(parent, name, mode, dev); - }, - statfs(path) { - return FS.statfsNode(FS.lookupPath(path, {follow: true}).node); - }, - statfsStream(stream) { - // We keep a separate statfsStream function because noderawfs overrides - // it. In noderawfs, stream.node is sometimes null. Instead, we need to - // look at stream.path. - return FS.statfsNode(stream.node); - }, - statfsNode(node) { - // NOTE: None of the defaults here are true. We're just returning safe and - // sane values. Currently nodefs and rawfs replace these defaults, - // other file systems leave them alone. - var rtn = { - bsize: 4096, - frsize: 4096, - blocks: 1e6, - bfree: 5e5, - bavail: 5e5, - files: FS.nextInode, - ffree: FS.nextInode - 1, - fsid: 42, - flags: 2, - namelen: 255, - }; - - if (node.node_ops.statfs) { - Object.assign(rtn, node.node_ops.statfs(node.mount.opts.root)); - } - return rtn; - }, - create(path, mode = 0o666) { - mode &= 4095; - mode |= 32768; - return FS.mknod(path, mode, 0); - }, - mkdir(path, mode = 0o777) { - mode &= 511 | 512; - mode |= 16384; - return FS.mknod(path, mode, 0); - }, - mkdirTree(path, mode) { - var dirs = path.split('/'); - var d = ''; - for (var dir of dirs) { - if (!dir) continue; - if (d || PATH.isAbs(path)) d += '/'; - d += dir; - try { - FS.mkdir(d, mode); - } catch(e) { - if (e.errno != 20) throw e; - } - } - }, - mkdev(path, mode, dev) { - if (typeof dev == 'undefined') { - dev = mode; - mode = 0o666; - } - mode |= 8192; - return FS.mknod(path, mode, dev); - }, - symlink(oldpath, newpath) { - if (!PATH_FS.resolve(oldpath)) { - throw new FS.ErrnoError(44); - } - var lookup = FS.lookupPath(newpath, { parent: true }); - var parent = lookup.node; - if (!parent) { - throw new FS.ErrnoError(44); - } - var newname = PATH.basename(newpath); - var errCode = FS.mayCreate(parent, newname); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - if (!parent.node_ops.symlink) { - throw new FS.ErrnoError(63); - } - return parent.node_ops.symlink(parent, newname, oldpath); - }, - rename(old_path, new_path) { - var old_dirname = PATH.dirname(old_path); - var new_dirname = PATH.dirname(new_path); - var old_name = PATH.basename(old_path); - var new_name = PATH.basename(new_path); - // parents must exist - var lookup, old_dir, new_dir; - - // let the errors from non existent directories percolate up - lookup = FS.lookupPath(old_path, { parent: true }); - old_dir = lookup.node; - lookup = FS.lookupPath(new_path, { parent: true }); - new_dir = lookup.node; - - if (!old_dir || !new_dir) throw new FS.ErrnoError(44); - // need to be part of the same mount - if (old_dir.mount !== new_dir.mount) { - throw new FS.ErrnoError(75); - } - // source must exist - var old_node = FS.lookupNode(old_dir, old_name); - // old path should not be an ancestor of the new path - var relative = PATH_FS.relative(old_path, new_dirname); - if (relative.charAt(0) !== '.') { - throw new FS.ErrnoError(28); - } - // new path should not be an ancestor of the old path - relative = PATH_FS.relative(new_path, old_dirname); - if (relative.charAt(0) !== '.') { - throw new FS.ErrnoError(55); - } - // see if the new path already exists - var new_node; - try { - new_node = FS.lookupNode(new_dir, new_name); - } catch (e) { - // not fatal - } - // early out if nothing needs to change - if (old_node === new_node) { - return; - } - // we'll need to delete the old entry - var isdir = FS.isDir(old_node.mode); - var errCode = FS.mayDelete(old_dir, old_name, isdir); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - // need delete permissions if we'll be overwriting. - // need create permissions if new doesn't already exist. - errCode = new_node ? - FS.mayDelete(new_dir, new_name, isdir) : - FS.mayCreate(new_dir, new_name); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - if (!old_dir.node_ops.rename) { - throw new FS.ErrnoError(63); - } - if (FS.isMountpoint(old_node) || (new_node && FS.isMountpoint(new_node))) { - throw new FS.ErrnoError(10); - } - // if we are going to change the parent, check write permissions - if (new_dir !== old_dir) { - errCode = FS.nodePermissions(old_dir, 'w'); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - } - // remove the node from the lookup hash - FS.hashRemoveNode(old_node); - // do the underlying fs rename - try { - old_dir.node_ops.rename(old_node, new_dir, new_name); - // update old node (we do this here to avoid each backend - // needing to) - old_node.parent = new_dir; - } catch (e) { - throw e; - } finally { - // add the node back to the hash (in case node_ops.rename - // changed its name) - FS.hashAddNode(old_node); - } - }, - rmdir(path) { - var lookup = FS.lookupPath(path, { parent: true }); - var parent = lookup.node; - var name = PATH.basename(path); - var node = FS.lookupNode(parent, name); - var errCode = FS.mayDelete(parent, name, true); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - if (!parent.node_ops.rmdir) { - throw new FS.ErrnoError(63); - } - if (FS.isMountpoint(node)) { - throw new FS.ErrnoError(10); - } - parent.node_ops.rmdir(parent, name); - FS.destroyNode(node); - }, - readdir(path) { - var lookup = FS.lookupPath(path, { follow: true }); - var node = lookup.node; - var readdir = FS.checkOpExists(node.node_ops.readdir, 54); - return readdir(node); - }, - unlink(path) { - var lookup = FS.lookupPath(path, { parent: true }); - var parent = lookup.node; - if (!parent) { - throw new FS.ErrnoError(44); - } - var name = PATH.basename(path); - var node = FS.lookupNode(parent, name); - var errCode = FS.mayDelete(parent, name, false); - if (errCode) { - // According to POSIX, we should map EISDIR to EPERM, but - // we instead do what Linux does (and we must, as we use - // the musl linux libc). - throw new FS.ErrnoError(errCode); - } - if (!parent.node_ops.unlink) { - throw new FS.ErrnoError(63); - } - if (FS.isMountpoint(node)) { - throw new FS.ErrnoError(10); - } - parent.node_ops.unlink(parent, name); - FS.destroyNode(node); - }, - readlink(path) { - var lookup = FS.lookupPath(path); - var link = lookup.node; - if (!link) { - throw new FS.ErrnoError(44); - } - if (!link.node_ops.readlink) { - throw new FS.ErrnoError(28); - } - return link.node_ops.readlink(link); - }, - stat(path, dontFollow) { - var lookup = FS.lookupPath(path, { follow: !dontFollow }); - var node = lookup.node; - var getattr = FS.checkOpExists(node.node_ops.getattr, 63); - return getattr(node); - }, - fstat(fd) { - var stream = FS.getStreamChecked(fd); - var node = stream.node; - var getattr = stream.stream_ops.getattr; - var arg = getattr ? stream : node; - getattr ??= node.node_ops.getattr; - FS.checkOpExists(getattr, 63) - return getattr(arg); - }, - lstat(path) { - return FS.stat(path, true); - }, - doChmod(stream, node, mode, dontFollow) { - FS.doSetAttr(stream, node, { - mode: (mode & 4095) | (node.mode & ~4095), - ctime: Date.now(), - dontFollow - }); - }, - chmod(path, mode, dontFollow) { - var node; - if (typeof path == 'string') { - var lookup = FS.lookupPath(path, { follow: !dontFollow }); - node = lookup.node; - } else { - node = path; - } - FS.doChmod(null, node, mode, dontFollow); - }, - lchmod(path, mode) { - FS.chmod(path, mode, true); - }, - fchmod(fd, mode) { - var stream = FS.getStreamChecked(fd); - FS.doChmod(stream, stream.node, mode, false); - }, - doChown(stream, node, dontFollow) { - FS.doSetAttr(stream, node, { - timestamp: Date.now(), - dontFollow - // we ignore the uid / gid for now - }); - }, - chown(path, uid, gid, dontFollow) { - var node; - if (typeof path == 'string') { - var lookup = FS.lookupPath(path, { follow: !dontFollow }); - node = lookup.node; - } else { - node = path; - } - FS.doChown(null, node, dontFollow); - }, - lchown(path, uid, gid) { - FS.chown(path, uid, gid, true); - }, - fchown(fd, uid, gid) { - var stream = FS.getStreamChecked(fd); - FS.doChown(stream, stream.node, false); - }, - doTruncate(stream, node, len) { - if (FS.isDir(node.mode)) { - throw new FS.ErrnoError(31); - } - if (!FS.isFile(node.mode)) { - throw new FS.ErrnoError(28); - } - var errCode = FS.nodePermissions(node, 'w'); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - FS.doSetAttr(stream, node, { - size: len, - timestamp: Date.now() - }); - }, - truncate(path, len) { - if (len < 0) { - throw new FS.ErrnoError(28); - } - var node; - if (typeof path == 'string') { - var lookup = FS.lookupPath(path, { follow: true }); - node = lookup.node; - } else { - node = path; - } - FS.doTruncate(null, node, len); - }, - ftruncate(fd, len) { - var stream = FS.getStreamChecked(fd); - if (len < 0 || (stream.flags & 2097155) === 0) { - throw new FS.ErrnoError(28); - } - FS.doTruncate(stream, stream.node, len); - }, - utime(path, atime, mtime) { - var lookup = FS.lookupPath(path, { follow: true }); - var node = lookup.node; - var setattr = FS.checkOpExists(node.node_ops.setattr, 63); - setattr(node, { - atime: atime, - mtime: mtime - }); - }, - open(path, flags, mode = 0o666) { - if (path === "") { - throw new FS.ErrnoError(44); - } - flags = typeof flags == 'string' ? FS_modeStringToFlags(flags) : flags; - if ((flags & 64)) { - mode = (mode & 4095) | 32768; - } else { - mode = 0; - } - var node; - var isDirPath; - if (typeof path == 'object') { - node = path; - } else { - isDirPath = path.endsWith("/"); - // noent_okay makes it so that if the final component of the path - // doesn't exist, lookupPath returns `node: undefined`. `path` will be - // updated to point to the target of all symlinks. - var lookup = FS.lookupPath(path, { - follow: !(flags & 131072), - noent_okay: true - }); - node = lookup.node; - path = lookup.path; - } - // perhaps we need to create the node - var created = false; - if ((flags & 64)) { - if (node) { - // if O_CREAT and O_EXCL are set, error out if the node already exists - if ((flags & 128)) { - throw new FS.ErrnoError(20); - } - } else if (isDirPath) { - throw new FS.ErrnoError(31); - } else { - // node doesn't exist, try to create it - // Ignore the permission bits here to ensure we can `open` this new - // file below. We use chmod below the apply the permissions once the - // file is open. - node = FS.mknod(path, mode | 0o777, 0); - created = true; - } - } - if (!node) { - throw new FS.ErrnoError(44); - } - // can't truncate a device - if (FS.isChrdev(node.mode)) { - flags &= ~512; - } - // if asked only for a directory, then this must be one - if ((flags & 65536) && !FS.isDir(node.mode)) { - throw new FS.ErrnoError(54); - } - // check permissions, if this is not a file we just created now (it is ok to - // create and write to a file with read-only permissions; it is read-only - // for later use) - if (!created) { - var errCode = FS.mayOpen(node, flags); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - } - // do truncation if necessary - if ((flags & 512) && !created) { - FS.truncate(node, 0); - } - // we've already handled these, don't pass down to the underlying vfs - flags &= ~(128 | 512 | 131072); - - // register the stream with the filesystem - var stream = FS.createStream({ - node, - path: FS.getPath(node), // we want the absolute path to the node - flags, - seekable: true, - position: 0, - stream_ops: node.stream_ops, - // used by the file family libc calls (fopen, fwrite, ferror, etc.) - ungotten: [], - error: false - }); - // call the new stream's open function - if (stream.stream_ops.open) { - stream.stream_ops.open(stream); - } - if (created) { - FS.chmod(node, mode & 0o777); - } - if (Module['logReadFiles'] && !(flags & 1)) { - if (!(path in FS.readFiles)) { - FS.readFiles[path] = 1; - } - } - return stream; - }, - close(stream) { - if (FS.isClosed(stream)) { - throw new FS.ErrnoError(8); - } - if (stream.getdents) stream.getdents = null; // free readdir state - try { - if (stream.stream_ops.close) { - stream.stream_ops.close(stream); - } - } catch (e) { - throw e; - } finally { - FS.closeStream(stream.fd); - } - stream.fd = null; - }, - isClosed(stream) { - return stream.fd === null; - }, - llseek(stream, offset, whence) { - if (FS.isClosed(stream)) { - throw new FS.ErrnoError(8); - } - if (!stream.seekable || !stream.stream_ops.llseek) { - throw new FS.ErrnoError(70); - } - if (whence != 0 && whence != 1 && whence != 2) { - throw new FS.ErrnoError(28); - } - stream.position = stream.stream_ops.llseek(stream, offset, whence); - stream.ungotten = []; - return stream.position; - }, - read(stream, buffer, offset, length, position) { - assert(offset >= 0); - if (length < 0 || position < 0) { - throw new FS.ErrnoError(28); - } - if (FS.isClosed(stream)) { - throw new FS.ErrnoError(8); - } - if ((stream.flags & 2097155) === 1) { - throw new FS.ErrnoError(8); - } - if (FS.isDir(stream.node.mode)) { - throw new FS.ErrnoError(31); - } - if (!stream.stream_ops.read) { - throw new FS.ErrnoError(28); - } - var seeking = typeof position != 'undefined'; - if (!seeking) { - position = stream.position; - } else if (!stream.seekable) { - throw new FS.ErrnoError(70); - } - var bytesRead = stream.stream_ops.read(stream, buffer, offset, length, position); - if (!seeking) stream.position += bytesRead; - return bytesRead; - }, - write(stream, buffer, offset, length, position, canOwn) { - assert(offset >= 0); - if (length < 0 || position < 0) { - throw new FS.ErrnoError(28); - } - if (FS.isClosed(stream)) { - throw new FS.ErrnoError(8); - } - if ((stream.flags & 2097155) === 0) { - throw new FS.ErrnoError(8); - } - if (FS.isDir(stream.node.mode)) { - throw new FS.ErrnoError(31); - } - if (!stream.stream_ops.write) { - throw new FS.ErrnoError(28); - } - if (stream.seekable && stream.flags & 1024) { - // seek to the end before writing in append mode - FS.llseek(stream, 0, 2); - } - var seeking = typeof position != 'undefined'; - if (!seeking) { - position = stream.position; - } else if (!stream.seekable) { - throw new FS.ErrnoError(70); - } - var bytesWritten = stream.stream_ops.write(stream, buffer, offset, length, position, canOwn); - if (!seeking) stream.position += bytesWritten; - return bytesWritten; - }, - mmap(stream, length, position, prot, flags) { - // User requests writing to file (prot & PROT_WRITE != 0). - // Checking if we have permissions to write to the file unless - // MAP_PRIVATE flag is set. According to POSIX spec it is possible - // to write to file opened in read-only mode with MAP_PRIVATE flag, - // as all modifications will be visible only in the memory of - // the current process. - if ((prot & 2) !== 0 - && (flags & 2) === 0 - && (stream.flags & 2097155) !== 2) { - throw new FS.ErrnoError(2); - } - if ((stream.flags & 2097155) === 1) { - throw new FS.ErrnoError(2); - } - if (!stream.stream_ops.mmap) { - throw new FS.ErrnoError(43); - } - if (!length) { - throw new FS.ErrnoError(28); - } - return stream.stream_ops.mmap(stream, length, position, prot, flags); - }, - msync(stream, buffer, offset, length, mmapFlags) { - assert(offset >= 0); - if (!stream.stream_ops.msync) { - return 0; - } - return stream.stream_ops.msync(stream, buffer, offset, length, mmapFlags); - }, - ioctl(stream, cmd, arg) { - if (!stream.stream_ops.ioctl) { - throw new FS.ErrnoError(59); - } - return stream.stream_ops.ioctl(stream, cmd, arg); - }, - readFile(path, opts = {}) { - opts.flags = opts.flags || 0; - opts.encoding = opts.encoding || 'binary'; - if (opts.encoding !== 'utf8' && opts.encoding !== 'binary') { - throw new Error(`Invalid encoding type "${opts.encoding}"`); - } - var ret; - var stream = FS.open(path, opts.flags); - var stat = FS.stat(path); - var length = stat.size; - var buf = new Uint8Array(length); - FS.read(stream, buf, 0, length, 0); - if (opts.encoding === 'utf8') { - ret = UTF8ArrayToString(buf); - } else if (opts.encoding === 'binary') { - ret = buf; - } - FS.close(stream); - return ret; - }, - writeFile(path, data, opts = {}) { - opts.flags = opts.flags || 577; - var stream = FS.open(path, opts.flags, opts.mode); - if (typeof data == 'string') { - var buf = new Uint8Array(lengthBytesUTF8(data)+1); - var actualNumBytes = stringToUTF8Array(data, buf, 0, buf.length); - FS.write(stream, buf, 0, actualNumBytes, undefined, opts.canOwn); - } else if (ArrayBuffer.isView(data)) { - FS.write(stream, data, 0, data.byteLength, undefined, opts.canOwn); - } else { - throw new Error('Unsupported data type'); - } - FS.close(stream); - }, - cwd:() => FS.currentPath, - chdir(path) { - var lookup = FS.lookupPath(path, { follow: true }); - if (lookup.node === null) { - throw new FS.ErrnoError(44); - } - if (!FS.isDir(lookup.node.mode)) { - throw new FS.ErrnoError(54); - } - var errCode = FS.nodePermissions(lookup.node, 'x'); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - FS.currentPath = lookup.path; - }, - createDefaultDirectories() { - FS.mkdir('/tmp'); - FS.mkdir('/home'); - FS.mkdir('/home/web_user'); - }, - createDefaultDevices() { - // create /dev - FS.mkdir('/dev'); - // setup /dev/null - FS.registerDevice(FS.makedev(1, 3), { - read: () => 0, - write: (stream, buffer, offset, length, pos) => length, - llseek: () => 0, - }); - FS.mkdev('/dev/null', FS.makedev(1, 3)); - // setup /dev/tty and /dev/tty1 - // stderr needs to print output using err() rather than out() - // so we register a second tty just for it. - TTY.register(FS.makedev(5, 0), TTY.default_tty_ops); - TTY.register(FS.makedev(6, 0), TTY.default_tty1_ops); - FS.mkdev('/dev/tty', FS.makedev(5, 0)); - FS.mkdev('/dev/tty1', FS.makedev(6, 0)); - // setup /dev/[u]random - // use a buffer to avoid overhead of individual crypto calls per byte - var randomBuffer = new Uint8Array(1024), randomLeft = 0; - var randomByte = () => { - if (randomLeft === 0) { - randomFill(randomBuffer); - randomLeft = randomBuffer.byteLength; - } - return randomBuffer[--randomLeft]; - }; - FS.createDevice('/dev', 'random', randomByte); - FS.createDevice('/dev', 'urandom', randomByte); - // we're not going to emulate the actual shm device, - // just create the tmp dirs that reside in it commonly - FS.mkdir('/dev/shm'); - FS.mkdir('/dev/shm/tmp'); - }, - createSpecialDirectories() { - // create /proc/self/fd which allows /proc/self/fd/6 => readlink gives the - // name of the stream for fd 6 (see test_unistd_ttyname) - FS.mkdir('/proc'); - var proc_self = FS.mkdir('/proc/self'); - FS.mkdir('/proc/self/fd'); - FS.mount({ - mount() { - var node = FS.createNode(proc_self, 'fd', 16895, 73); - node.stream_ops = { - llseek: MEMFS.stream_ops.llseek, - }; - node.node_ops = { - lookup(parent, name) { - var fd = +name; - var stream = FS.getStreamChecked(fd); - var ret = { - parent: null, - mount: { mountpoint: 'fake' }, - node_ops: { readlink: () => stream.path }, - id: fd + 1, - }; - ret.parent = ret; // make it look like a simple root node - return ret; - }, - readdir() { - return Array.from(FS.streams.entries()) - .filter(([k, v]) => v) - .map(([k, v]) => k.toString()); - } - }; - return node; - } - }, {}, '/proc/self/fd'); - }, - createStandardStreams(input, output, error) { - // TODO deprecate the old functionality of a single - // input / output callback and that utilizes FS.createDevice - // and instead require a unique set of stream ops - - // by default, we symlink the standard streams to the - // default tty devices. however, if the standard streams - // have been overwritten we create a unique device for - // them instead. - if (input) { - FS.createDevice('/dev', 'stdin', input); - } else { - FS.symlink('/dev/tty', '/dev/stdin'); - } - if (output) { - FS.createDevice('/dev', 'stdout', null, output); - } else { - FS.symlink('/dev/tty', '/dev/stdout'); - } - if (error) { - FS.createDevice('/dev', 'stderr', null, error); - } else { - FS.symlink('/dev/tty1', '/dev/stderr'); - } - - // open default streams for the stdin, stdout and stderr devices - var stdin = FS.open('/dev/stdin', 0); - var stdout = FS.open('/dev/stdout', 1); - var stderr = FS.open('/dev/stderr', 1); - assert(stdin.fd === 0, `invalid handle for stdin (${stdin.fd})`); - assert(stdout.fd === 1, `invalid handle for stdout (${stdout.fd})`); - assert(stderr.fd === 2, `invalid handle for stderr (${stderr.fd})`); - }, - staticInit() { - FS.nameTable = new Array(4096); - - FS.mount(MEMFS, {}, '/'); - - FS.createDefaultDirectories(); - FS.createDefaultDevices(); - FS.createSpecialDirectories(); - - FS.filesystems = { - 'MEMFS': MEMFS, - }; - }, - init(input, output, error) { - assert(!FS.initialized, 'FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)'); - FS.initialized = true; - - // Allow Module.stdin etc. to provide defaults, if none explicitly passed to us here - input ??= Module['stdin']; - output ??= Module['stdout']; - error ??= Module['stderr']; - - FS.createStandardStreams(input, output, error); - }, - quit() { - FS.initialized = false; - // force-flush all streams, so we get musl std streams printed out - _fflush(0); - // close all of our streams - for (var stream of FS.streams) { - if (stream) { - FS.close(stream); - } - } - }, - findObject(path, dontResolveLastLink) { - var ret = FS.analyzePath(path, dontResolveLastLink); - if (!ret.exists) { - return null; - } - return ret.object; - }, - analyzePath(path, dontResolveLastLink) { - // operate from within the context of the symlink's target - try { - var lookup = FS.lookupPath(path, { follow: !dontResolveLastLink }); - path = lookup.path; - } catch (e) { - } - var ret = { - isRoot: false, exists: false, error: 0, name: null, path: null, object: null, - parentExists: false, parentPath: null, parentObject: null - }; - try { - var lookup = FS.lookupPath(path, { parent: true }); - ret.parentExists = true; - ret.parentPath = lookup.path; - ret.parentObject = lookup.node; - ret.name = PATH.basename(path); - lookup = FS.lookupPath(path, { follow: !dontResolveLastLink }); - ret.exists = true; - ret.path = lookup.path; - ret.object = lookup.node; - ret.name = lookup.node.name; - ret.isRoot = lookup.path === '/'; - } catch (e) { - ret.error = e.errno; - }; - return ret; - }, - createPath(parent, path, canRead, canWrite) { - parent = typeof parent == 'string' ? parent : FS.getPath(parent); - var parts = path.split('/').reverse(); - while (parts.length) { - var part = parts.pop(); - if (!part) continue; - var current = PATH.join2(parent, part); - try { - FS.mkdir(current); - } catch (e) { - if (e.errno != 20) throw e; - } - parent = current; - } - return current; - }, - createFile(parent, name, properties, canRead, canWrite) { - var path = PATH.join2(typeof parent == 'string' ? parent : FS.getPath(parent), name); - var mode = FS_getMode(canRead, canWrite); - return FS.create(path, mode); - }, - createDataFile(parent, name, data, canRead, canWrite, canOwn) { - var path = name; - if (parent) { - parent = typeof parent == 'string' ? parent : FS.getPath(parent); - path = name ? PATH.join2(parent, name) : parent; - } - var mode = FS_getMode(canRead, canWrite); - var node = FS.create(path, mode); - if (data) { - if (typeof data == 'string') { - var arr = new Array(data.length); - for (var i = 0, len = data.length; i < len; ++i) arr[i] = data.charCodeAt(i); - data = arr; - } - // make sure we can write to the file - FS.chmod(node, mode | 146); - var stream = FS.open(node, 577); - FS.write(stream, data, 0, data.length, 0, canOwn); - FS.close(stream); - FS.chmod(node, mode); - } - }, - createDevice(parent, name, input, output) { - var path = PATH.join2(typeof parent == 'string' ? parent : FS.getPath(parent), name); - var mode = FS_getMode(!!input, !!output); - FS.createDevice.major ??= 64; - var dev = FS.makedev(FS.createDevice.major++, 0); - // Create a fake device that a set of stream ops to emulate - // the old behavior. - FS.registerDevice(dev, { - open(stream) { - stream.seekable = false; - }, - close(stream) { - // flush any pending line data - if (output?.buffer?.length) { - output(10); - } - }, - read(stream, buffer, offset, length, pos /* ignored */) { - var bytesRead = 0; - for (var i = 0; i < length; i++) { - var result; - try { - result = input(); - } catch (e) { - throw new FS.ErrnoError(29); - } - if (result === undefined && bytesRead === 0) { - throw new FS.ErrnoError(6); - } - if (result === null || result === undefined) break; - bytesRead++; - buffer[offset+i] = result; - } - if (bytesRead) { - stream.node.atime = Date.now(); - } - return bytesRead; - }, - write(stream, buffer, offset, length, pos) { - for (var i = 0; i < length; i++) { - try { - output(buffer[offset+i]); - } catch (e) { - throw new FS.ErrnoError(29); - } - } - if (length) { - stream.node.mtime = stream.node.ctime = Date.now(); - } - return i; - } - }); - return FS.mkdev(path, mode, dev); - }, - forceLoadFile(obj) { - if (obj.isDevice || obj.isFolder || obj.link || obj.contents) return true; - if (typeof XMLHttpRequest != 'undefined') { - throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread."); - } else { // Command-line. - try { - obj.contents = readBinary(obj.url); - obj.usedBytes = obj.contents.length; - } catch (e) { - throw new FS.ErrnoError(29); - } - } - }, - createLazyFile(parent, name, url, canRead, canWrite) { - // Lazy chunked Uint8Array (implements get and length from Uint8Array). - // Actual getting is abstracted away for eventual reuse. - class LazyUint8Array { - lengthKnown = false; - chunks = []; // Loaded chunks. Index is the chunk number - get(idx) { - if (idx > this.length-1 || idx < 0) { - return undefined; - } - var chunkOffset = idx % this.chunkSize; - var chunkNum = (idx / this.chunkSize)|0; - return this.getter(chunkNum)[chunkOffset]; - } - setDataGetter(getter) { - this.getter = getter; - } - cacheLength() { - // Find length - var xhr = new XMLHttpRequest(); - xhr.open('HEAD', url, false); - xhr.send(null); - if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error("Couldn't load " + url + ". Status: " + xhr.status); - var datalength = Number(xhr.getResponseHeader("Content-length")); - var header; - var hasByteServing = (header = xhr.getResponseHeader("Accept-Ranges")) && header === "bytes"; - var usesGzip = (header = xhr.getResponseHeader("Content-Encoding")) && header === "gzip"; - - var chunkSize = 1024*1024; // Chunk size in bytes - - if (!hasByteServing) chunkSize = datalength; - - // Function to get a range from the remote URL. - var doXHR = (from, to) => { - if (from > to) throw new Error("invalid range (" + from + ", " + to + ") or no bytes requested!"); - if (to > datalength-1) throw new Error("only " + datalength + " bytes available! programmer error!"); - - // TODO: Use mozResponseArrayBuffer, responseStream, etc. if available. - var xhr = new XMLHttpRequest(); - xhr.open('GET', url, false); - if (datalength !== chunkSize) xhr.setRequestHeader("Range", "bytes=" + from + "-" + to); - - // Some hints to the browser that we want binary data. - xhr.responseType = 'arraybuffer'; - if (xhr.overrideMimeType) { - xhr.overrideMimeType('text/plain; charset=x-user-defined'); - } - - xhr.send(null); - if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error("Couldn't load " + url + ". Status: " + xhr.status); - if (xhr.response !== undefined) { - return new Uint8Array(/** @type{Array} */(xhr.response || [])); - } - return intArrayFromString(xhr.responseText || '', true); - }; - var lazyArray = this; - lazyArray.setDataGetter((chunkNum) => { - var start = chunkNum * chunkSize; - var end = (chunkNum+1) * chunkSize - 1; // including this byte - end = Math.min(end, datalength-1); // if datalength-1 is selected, this is the last block - if (typeof lazyArray.chunks[chunkNum] == 'undefined') { - lazyArray.chunks[chunkNum] = doXHR(start, end); - } - if (typeof lazyArray.chunks[chunkNum] == 'undefined') throw new Error('doXHR failed!'); - return lazyArray.chunks[chunkNum]; - }); - - if (usesGzip || !datalength) { - // if the server uses gzip or doesn't supply the length, we have to download the whole file to get the (uncompressed) length - chunkSize = datalength = 1; // this will force getter(0)/doXHR do download the whole file - datalength = this.getter(0).length; - chunkSize = datalength; - out("LazyFiles on gzip forces download of the whole file when length is accessed"); - } - - this._length = datalength; - this._chunkSize = chunkSize; - this.lengthKnown = true; - } - get length() { - if (!this.lengthKnown) { - this.cacheLength(); - } - return this._length; - } - get chunkSize() { - if (!this.lengthKnown) { - this.cacheLength(); - } - return this._chunkSize; - } - } - - if (typeof XMLHttpRequest != 'undefined') { - if (!ENVIRONMENT_IS_WORKER) throw 'Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc'; - var lazyArray = new LazyUint8Array(); - var properties = { isDevice: false, contents: lazyArray }; - } else { - var properties = { isDevice: false, url: url }; - } - - var node = FS.createFile(parent, name, properties, canRead, canWrite); - // This is a total hack, but I want to get this lazy file code out of the - // core of MEMFS. If we want to keep this lazy file concept I feel it should - // be its own thin LAZYFS proxying calls to MEMFS. - if (properties.contents) { - node.contents = properties.contents; - } else if (properties.url) { - node.contents = null; - node.url = properties.url; - } - // Add a function that defers querying the file size until it is asked the first time. - Object.defineProperties(node, { - usedBytes: { - get: function() { return this.contents.length; } - } - }); - // override each stream op with one that tries to force load the lazy file first - var stream_ops = {}; - var keys = Object.keys(node.stream_ops); - keys.forEach((key) => { - var fn = node.stream_ops[key]; - stream_ops[key] = (...args) => { - FS.forceLoadFile(node); - return fn(...args); - }; - }); - function writeChunks(stream, buffer, offset, length, position) { - var contents = stream.node.contents; - if (position >= contents.length) - return 0; - var size = Math.min(contents.length - position, length); - assert(size >= 0); - if (contents.slice) { // normal array - for (var i = 0; i < size; i++) { - buffer[offset + i] = contents[position + i]; - } - } else { - for (var i = 0; i < size; i++) { // LazyUint8Array from sync binary XHR - buffer[offset + i] = contents.get(position + i); - } - } - return size; - } - // use a custom read function - stream_ops.read = (stream, buffer, offset, length, position) => { - FS.forceLoadFile(node); - return writeChunks(stream, buffer, offset, length, position) - }; - // use a custom mmap function - stream_ops.mmap = (stream, length, position, prot, flags) => { - FS.forceLoadFile(node); - var ptr = mmapAlloc(length); - if (!ptr) { - throw new FS.ErrnoError(48); - } - writeChunks(stream, HEAP8, ptr, length, position); - return { ptr, allocated: true }; - }; - node.stream_ops = stream_ops; - return node; - }, - absolutePath() { - abort('FS.absolutePath has been removed; use PATH_FS.resolve instead'); - }, - createFolder() { - abort('FS.createFolder has been removed; use FS.mkdir instead'); - }, - createLink() { - abort('FS.createLink has been removed; use FS.symlink instead'); - }, - joinPath() { - abort('FS.joinPath has been removed; use PATH.join instead'); - }, - mmapAlloc() { - abort('FS.mmapAlloc has been replaced by the top level function mmapAlloc'); - }, - standardizePath() { - abort('FS.standardizePath has been removed; use PATH.normalize instead'); - }, - }; - - var SYSCALLS = { - DEFAULT_POLLMASK:5, - calculateAt(dirfd, path, allowEmpty) { - if (PATH.isAbs(path)) { - return path; - } - // relative path - var dir; - if (dirfd === -100) { - dir = FS.cwd(); - } else { - var dirstream = SYSCALLS.getStreamFromFD(dirfd); - dir = dirstream.path; - } - if (path.length == 0) { - if (!allowEmpty) { - throw new FS.ErrnoError(44);; - } - return dir; - } - return dir + '/' + path; - }, - writeStat(buf, stat) { - HEAP32[((buf)>>2)] = stat.dev; - HEAP32[(((buf)+(4))>>2)] = stat.mode; - HEAPU32[(((buf)+(8))>>2)] = stat.nlink; - HEAP32[(((buf)+(12))>>2)] = stat.uid; - HEAP32[(((buf)+(16))>>2)] = stat.gid; - HEAP32[(((buf)+(20))>>2)] = stat.rdev; - HEAP64[(((buf)+(24))>>3)] = BigInt(stat.size); - HEAP32[(((buf)+(32))>>2)] = 4096; - HEAP32[(((buf)+(36))>>2)] = stat.blocks; - var atime = stat.atime.getTime(); - var mtime = stat.mtime.getTime(); - var ctime = stat.ctime.getTime(); - HEAP64[(((buf)+(40))>>3)] = BigInt(Math.floor(atime / 1000)); - HEAPU32[(((buf)+(48))>>2)] = (atime % 1000) * 1000 * 1000; - HEAP64[(((buf)+(56))>>3)] = BigInt(Math.floor(mtime / 1000)); - HEAPU32[(((buf)+(64))>>2)] = (mtime % 1000) * 1000 * 1000; - HEAP64[(((buf)+(72))>>3)] = BigInt(Math.floor(ctime / 1000)); - HEAPU32[(((buf)+(80))>>2)] = (ctime % 1000) * 1000 * 1000; - HEAP64[(((buf)+(88))>>3)] = BigInt(stat.ino); - return 0; - }, - writeStatFs(buf, stats) { - HEAP32[(((buf)+(4))>>2)] = stats.bsize; - HEAP32[(((buf)+(40))>>2)] = stats.bsize; - HEAP32[(((buf)+(8))>>2)] = stats.blocks; - HEAP32[(((buf)+(12))>>2)] = stats.bfree; - HEAP32[(((buf)+(16))>>2)] = stats.bavail; - HEAP32[(((buf)+(20))>>2)] = stats.files; - HEAP32[(((buf)+(24))>>2)] = stats.ffree; - HEAP32[(((buf)+(28))>>2)] = stats.fsid; - HEAP32[(((buf)+(44))>>2)] = stats.flags; // ST_NOSUID - HEAP32[(((buf)+(36))>>2)] = stats.namelen; - }, - doMsync(addr, stream, len, flags, offset) { - if (!FS.isFile(stream.node.mode)) { - throw new FS.ErrnoError(43); - } - if (flags & 2) { - // MAP_PRIVATE calls need not to be synced back to underlying fs - return 0; - } - var buffer = HEAPU8.slice(addr, addr + len); - FS.msync(stream, buffer, offset, len, flags); - }, - getStreamFromFD(fd) { - var stream = FS.getStreamChecked(fd); - return stream; - }, - varargs:undefined, - getStr(ptr) { - var ret = UTF8ToString(ptr); - return ret; - }, - }; - function ___syscall_chmod(path, mode) { - try { - - path = SYSCALLS.getStr(path); - FS.chmod(path, mode); - return 0; - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return -e.errno; - } - } - - function ___syscall_fchmod(fd, mode) { - try { - - FS.fchmod(fd, mode); - return 0; - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return -e.errno; - } - } - - /** @suppress {duplicate } */ - var syscallGetVarargI = () => { - assert(SYSCALLS.varargs != undefined); - // the `+` prepended here is necessary to convince the JSCompiler that varargs is indeed a number. - var ret = HEAP32[((+SYSCALLS.varargs)>>2)]; - SYSCALLS.varargs += 4; - return ret; - }; - var syscallGetVarargP = syscallGetVarargI; - - - function ___syscall_fcntl64(fd, cmd, varargs) { - SYSCALLS.varargs = varargs; - try { - - var stream = SYSCALLS.getStreamFromFD(fd); - switch (cmd) { - case 0: { - var arg = syscallGetVarargI(); - if (arg < 0) { - return -28; - } - while (FS.streams[arg]) { - arg++; - } - var newStream; - newStream = FS.dupStream(stream, arg); - return newStream.fd; - } - case 1: - case 2: - return 0; // FD_CLOEXEC makes no sense for a single process. - case 3: - return stream.flags; - case 4: { - var arg = syscallGetVarargI(); - stream.flags |= arg; - return 0; - } - case 12: { - var arg = syscallGetVarargP(); - var offset = 0; - // We're always unlocked. - HEAP16[(((arg)+(offset))>>1)] = 2; - return 0; - } - case 13: - case 14: - // Pretend that the locking is successful. These are process-level locks, - // and Emscripten programs are a single process. If we supported linking a - // filesystem between programs, we'd need to do more here. - // See https://github.com/emscripten-core/emscripten/issues/23697 - return 0; - } - return -28; - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return -e.errno; - } - } - - function ___syscall_fstat64(fd, buf) { - try { - - return SYSCALLS.writeStat(buf, FS.fstat(fd)); - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return -e.errno; - } - } - - - function ___syscall_ioctl(fd, op, varargs) { - SYSCALLS.varargs = varargs; - try { - - var stream = SYSCALLS.getStreamFromFD(fd); - switch (op) { - case 21509: { - if (!stream.tty) return -59; - return 0; - } - case 21505: { - if (!stream.tty) return -59; - if (stream.tty.ops.ioctl_tcgets) { - var termios = stream.tty.ops.ioctl_tcgets(stream); - var argp = syscallGetVarargP(); - HEAP32[((argp)>>2)] = termios.c_iflag || 0; - HEAP32[(((argp)+(4))>>2)] = termios.c_oflag || 0; - HEAP32[(((argp)+(8))>>2)] = termios.c_cflag || 0; - HEAP32[(((argp)+(12))>>2)] = termios.c_lflag || 0; - for (var i = 0; i < 32; i++) { - HEAP8[(argp + i)+(17)] = termios.c_cc[i] || 0; - } - return 0; - } - return 0; - } - case 21510: - case 21511: - case 21512: { - if (!stream.tty) return -59; - return 0; // no-op, not actually adjusting terminal settings - } - case 21506: - case 21507: - case 21508: { - if (!stream.tty) return -59; - if (stream.tty.ops.ioctl_tcsets) { - var argp = syscallGetVarargP(); - var c_iflag = HEAP32[((argp)>>2)]; - var c_oflag = HEAP32[(((argp)+(4))>>2)]; - var c_cflag = HEAP32[(((argp)+(8))>>2)]; - var c_lflag = HEAP32[(((argp)+(12))>>2)]; - var c_cc = [] - for (var i = 0; i < 32; i++) { - c_cc.push(HEAP8[(argp + i)+(17)]); - } - return stream.tty.ops.ioctl_tcsets(stream.tty, op, { c_iflag, c_oflag, c_cflag, c_lflag, c_cc }); - } - return 0; // no-op, not actually adjusting terminal settings - } - case 21519: { - if (!stream.tty) return -59; - var argp = syscallGetVarargP(); - HEAP32[((argp)>>2)] = 0; - return 0; - } - case 21520: { - if (!stream.tty) return -59; - return -28; // not supported - } - case 21531: { - var argp = syscallGetVarargP(); - return FS.ioctl(stream, op, argp); - } - case 21523: { - // TODO: in theory we should write to the winsize struct that gets - // passed in, but for now musl doesn't read anything on it - if (!stream.tty) return -59; - if (stream.tty.ops.ioctl_tiocgwinsz) { - var winsize = stream.tty.ops.ioctl_tiocgwinsz(stream.tty); - var argp = syscallGetVarargP(); - HEAP16[((argp)>>1)] = winsize[0]; - HEAP16[(((argp)+(2))>>1)] = winsize[1]; - } - return 0; - } - case 21524: { - // TODO: technically, this ioctl call should change the window size. - // but, since emscripten doesn't have any concept of a terminal window - // yet, we'll just silently throw it away as we do TIOCGWINSZ - if (!stream.tty) return -59; - return 0; - } - case 21515: { - if (!stream.tty) return -59; - return 0; - } - default: return -28; // not supported - } - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return -e.errno; - } - } - - function ___syscall_lstat64(path, buf) { - try { - - path = SYSCALLS.getStr(path); - return SYSCALLS.writeStat(buf, FS.lstat(path)); - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return -e.errno; - } - } - - function ___syscall_newfstatat(dirfd, path, buf, flags) { - try { - - path = SYSCALLS.getStr(path); - var nofollow = flags & 256; - var allowEmpty = flags & 4096; - flags = flags & (~6400); - assert(!flags, `unknown flags in __syscall_newfstatat: ${flags}`); - path = SYSCALLS.calculateAt(dirfd, path, allowEmpty); - return SYSCALLS.writeStat(buf, nofollow ? FS.lstat(path) : FS.stat(path)); - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return -e.errno; - } - } - - - function ___syscall_openat(dirfd, path, flags, varargs) { - SYSCALLS.varargs = varargs; - try { - - path = SYSCALLS.getStr(path); - path = SYSCALLS.calculateAt(dirfd, path); - var mode = varargs ? syscallGetVarargI() : 0; - return FS.open(path, flags, mode).fd; - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return -e.errno; - } - } - - function ___syscall_renameat(olddirfd, oldpath, newdirfd, newpath) { - try { - - oldpath = SYSCALLS.getStr(oldpath); - newpath = SYSCALLS.getStr(newpath); - oldpath = SYSCALLS.calculateAt(olddirfd, oldpath); - newpath = SYSCALLS.calculateAt(newdirfd, newpath); - FS.rename(oldpath, newpath); - return 0; - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return -e.errno; - } - } - - function ___syscall_rmdir(path) { - try { - - path = SYSCALLS.getStr(path); - FS.rmdir(path); - return 0; - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return -e.errno; - } - } - - function ___syscall_stat64(path, buf) { - try { - - path = SYSCALLS.getStr(path); - return SYSCALLS.writeStat(buf, FS.stat(path)); - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return -e.errno; - } - } - - function ___syscall_unlinkat(dirfd, path, flags) { - try { - - path = SYSCALLS.getStr(path); - path = SYSCALLS.calculateAt(dirfd, path); - if (flags === 0) { - FS.unlink(path); - } else if (flags === 512) { - FS.rmdir(path); - } else { - abort('Invalid flags passed to unlinkat'); - } - return 0; - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return -e.errno; - } - } - - var __abort_js = () => - abort('native code called abort()'); - - var isLeapYear = (year) => year%4 === 0 && (year%100 !== 0 || year%400 === 0); - - var MONTH_DAYS_LEAP_CUMULATIVE = [0,31,60,91,121,152,182,213,244,274,305,335]; - - var MONTH_DAYS_REGULAR_CUMULATIVE = [0,31,59,90,120,151,181,212,243,273,304,334]; - var ydayFromDate = (date) => { - var leap = isLeapYear(date.getFullYear()); - var monthDaysCumulative = (leap ? MONTH_DAYS_LEAP_CUMULATIVE : MONTH_DAYS_REGULAR_CUMULATIVE); - var yday = monthDaysCumulative[date.getMonth()] + date.getDate() - 1; // -1 since it's days since Jan 1 - - return yday; - }; - - var INT53_MAX = 9007199254740992; - - var INT53_MIN = -9007199254740992; - var bigintToI53Checked = (num) => (num < INT53_MIN || num > INT53_MAX) ? NaN : Number(num); - function __localtime_js(time, tmPtr) { - time = bigintToI53Checked(time); - - - var date = new Date(time*1000); - HEAP32[((tmPtr)>>2)] = date.getSeconds(); - HEAP32[(((tmPtr)+(4))>>2)] = date.getMinutes(); - HEAP32[(((tmPtr)+(8))>>2)] = date.getHours(); - HEAP32[(((tmPtr)+(12))>>2)] = date.getDate(); - HEAP32[(((tmPtr)+(16))>>2)] = date.getMonth(); - HEAP32[(((tmPtr)+(20))>>2)] = date.getFullYear()-1900; - HEAP32[(((tmPtr)+(24))>>2)] = date.getDay(); - - var yday = ydayFromDate(date)|0; - HEAP32[(((tmPtr)+(28))>>2)] = yday; - HEAP32[(((tmPtr)+(36))>>2)] = -(date.getTimezoneOffset() * 60); - - // Attention: DST is in December in South, and some regions don't have DST at all. - var start = new Date(date.getFullYear(), 0, 1); - var summerOffset = new Date(date.getFullYear(), 6, 1).getTimezoneOffset(); - var winterOffset = start.getTimezoneOffset(); - var dst = (summerOffset != winterOffset && date.getTimezoneOffset() == Math.min(winterOffset, summerOffset))|0; - HEAP32[(((tmPtr)+(32))>>2)] = dst; - ; - } - - - var __mktime_js = function(tmPtr) { - - var ret = (() => { - var date = new Date(HEAP32[(((tmPtr)+(20))>>2)] + 1900, - HEAP32[(((tmPtr)+(16))>>2)], - HEAP32[(((tmPtr)+(12))>>2)], - HEAP32[(((tmPtr)+(8))>>2)], - HEAP32[(((tmPtr)+(4))>>2)], - HEAP32[((tmPtr)>>2)], - 0); - - // There's an ambiguous hour when the time goes back; the tm_isdst field is - // used to disambiguate it. Date() basically guesses, so we fix it up if it - // guessed wrong, or fill in tm_isdst with the guess if it's -1. - var dst = HEAP32[(((tmPtr)+(32))>>2)]; - var guessedOffset = date.getTimezoneOffset(); - var start = new Date(date.getFullYear(), 0, 1); - var summerOffset = new Date(date.getFullYear(), 6, 1).getTimezoneOffset(); - var winterOffset = start.getTimezoneOffset(); - var dstOffset = Math.min(winterOffset, summerOffset); // DST is in December in South - if (dst < 0) { - // Attention: some regions don't have DST at all. - HEAP32[(((tmPtr)+(32))>>2)] = Number(summerOffset != winterOffset && dstOffset == guessedOffset); - } else if ((dst > 0) != (dstOffset == guessedOffset)) { - var nonDstOffset = Math.max(winterOffset, summerOffset); - var trueOffset = dst > 0 ? dstOffset : nonDstOffset; - // Don't try setMinutes(date.getMinutes() + ...) -- it's messed up. - date.setTime(date.getTime() + (trueOffset - guessedOffset)*60000); - } - - HEAP32[(((tmPtr)+(24))>>2)] = date.getDay(); - var yday = ydayFromDate(date)|0; - HEAP32[(((tmPtr)+(28))>>2)] = yday; - // To match expected behavior, update fields from date - HEAP32[((tmPtr)>>2)] = date.getSeconds(); - HEAP32[(((tmPtr)+(4))>>2)] = date.getMinutes(); - HEAP32[(((tmPtr)+(8))>>2)] = date.getHours(); - HEAP32[(((tmPtr)+(12))>>2)] = date.getDate(); - HEAP32[(((tmPtr)+(16))>>2)] = date.getMonth(); - HEAP32[(((tmPtr)+(20))>>2)] = date.getYear(); - - var timeMs = date.getTime(); - if (isNaN(timeMs)) { - return -1; - } - // Return time in microseconds - return timeMs / 1000; - })(); - return BigInt(ret); - }; - - var stringToUTF8 = (str, outPtr, maxBytesToWrite) => { - assert(typeof maxBytesToWrite == 'number', 'stringToUTF8(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!'); - return stringToUTF8Array(str, HEAPU8, outPtr, maxBytesToWrite); - }; - - var __tzset_js = (timezone, daylight, std_name, dst_name) => { - // TODO: Use (malleable) environment variables instead of system settings. - var currentYear = new Date().getFullYear(); - var winter = new Date(currentYear, 0, 1); - var summer = new Date(currentYear, 6, 1); - var winterOffset = winter.getTimezoneOffset(); - var summerOffset = summer.getTimezoneOffset(); - - // Local standard timezone offset. Local standard time is not adjusted for - // daylight savings. This code uses the fact that getTimezoneOffset returns - // a greater value during Standard Time versus Daylight Saving Time (DST). - // Thus it determines the expected output during Standard Time, and it - // compares whether the output of the given date the same (Standard) or less - // (DST). - var stdTimezoneOffset = Math.max(winterOffset, summerOffset); - - // timezone is specified as seconds west of UTC ("The external variable - // `timezone` shall be set to the difference, in seconds, between - // Coordinated Universal Time (UTC) and local standard time."), the same - // as returned by stdTimezoneOffset. - // See http://pubs.opengroup.org/onlinepubs/009695399/functions/tzset.html - HEAPU32[((timezone)>>2)] = stdTimezoneOffset * 60; - - HEAP32[((daylight)>>2)] = Number(winterOffset != summerOffset); - - var extractZone = (timezoneOffset) => { - // Why inverse sign? - // Read here https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getTimezoneOffset - var sign = timezoneOffset >= 0 ? "-" : "+"; - - var absOffset = Math.abs(timezoneOffset) - var hours = String(Math.floor(absOffset / 60)).padStart(2, "0"); - var minutes = String(absOffset % 60).padStart(2, "0"); - - return `UTC${sign}${hours}${minutes}`; - } - - var winterName = extractZone(winterOffset); - var summerName = extractZone(summerOffset); - assert(winterName); - assert(summerName); - assert(lengthBytesUTF8(winterName) <= 16, `timezone name truncated to fit in TZNAME_MAX (${winterName})`); - assert(lengthBytesUTF8(summerName) <= 16, `timezone name truncated to fit in TZNAME_MAX (${summerName})`); - if (summerOffset < winterOffset) { - // Northern hemisphere - stringToUTF8(winterName, std_name, 17); - stringToUTF8(summerName, dst_name, 17); - } else { - stringToUTF8(winterName, dst_name, 17); - stringToUTF8(summerName, std_name, 17); - } - }; - - var _emscripten_date_now = () => Date.now(); - - var abortOnCannotGrowMemory = (requestedSize) => { - abort(`Cannot enlarge memory arrays to size ${requestedSize} bytes (OOM). Either (1) compile with -sINITIAL_MEMORY=X with X higher than the current value ${HEAP8.length}, (2) compile with -sALLOW_MEMORY_GROWTH which allows increasing the size at runtime, or (3) if you want malloc to return NULL (0) instead of this abort, compile with -sABORTING_MALLOC=0`); - }; - var _emscripten_resize_heap = (requestedSize) => { - var oldSize = HEAPU8.length; - // With CAN_ADDRESS_2GB or MEMORY64, pointers are already unsigned. - requestedSize >>>= 0; - abortOnCannotGrowMemory(requestedSize); - }; - - function _fd_close(fd) { - try { - - var stream = SYSCALLS.getStreamFromFD(fd); - FS.close(stream); - return 0; - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return e.errno; - } - } - - function _fd_fdstat_get(fd, pbuf) { - try { - - var rightsBase = 0; - var rightsInheriting = 0; - var flags = 0; - { - var stream = SYSCALLS.getStreamFromFD(fd); - // All character devices are terminals (other things a Linux system would - // assume is a character device, like the mouse, we have special APIs for). - var type = stream.tty ? 2 : - FS.isDir(stream.mode) ? 3 : - FS.isLink(stream.mode) ? 7 : - 4; - } - HEAP8[pbuf] = type; - HEAP16[(((pbuf)+(2))>>1)] = flags; - HEAP64[(((pbuf)+(8))>>3)] = BigInt(rightsBase); - HEAP64[(((pbuf)+(16))>>3)] = BigInt(rightsInheriting); - return 0; - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return e.errno; - } - } - - /** @param {number=} offset */ - var doReadv = (stream, iov, iovcnt, offset) => { - var ret = 0; - for (var i = 0; i < iovcnt; i++) { - var ptr = HEAPU32[((iov)>>2)]; - var len = HEAPU32[(((iov)+(4))>>2)]; - iov += 8; - var curr = FS.read(stream, HEAP8, ptr, len, offset); - if (curr < 0) return -1; - ret += curr; - if (curr < len) break; // nothing more to read - if (typeof offset != 'undefined') { - offset += curr; - } - } - return ret; - }; - - function _fd_read(fd, iov, iovcnt, pnum) { - try { - - var stream = SYSCALLS.getStreamFromFD(fd); - var num = doReadv(stream, iov, iovcnt); - HEAPU32[((pnum)>>2)] = num; - return 0; - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return e.errno; - } - } - - - function _fd_seek(fd, offset, whence, newOffset) { - offset = bigintToI53Checked(offset); - - - try { - - if (isNaN(offset)) return 61; - var stream = SYSCALLS.getStreamFromFD(fd); - FS.llseek(stream, offset, whence); - HEAP64[((newOffset)>>3)] = BigInt(stream.position); - if (stream.getdents && offset === 0 && whence === 0) stream.getdents = null; // reset readdir state - return 0; - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return e.errno; - } - ; - } - - /** @param {number=} offset */ - var doWritev = (stream, iov, iovcnt, offset) => { - var ret = 0; - for (var i = 0; i < iovcnt; i++) { - var ptr = HEAPU32[((iov)>>2)]; - var len = HEAPU32[(((iov)+(4))>>2)]; - iov += 8; - var curr = FS.write(stream, HEAP8, ptr, len, offset); - if (curr < 0) return -1; - ret += curr; - if (curr < len) { - // No more space to write. - break; - } - if (typeof offset != 'undefined') { - offset += curr; - } - } - return ret; - }; - - function _fd_write(fd, iov, iovcnt, pnum) { - try { - - var stream = SYSCALLS.getStreamFromFD(fd); - var num = doWritev(stream, iov, iovcnt); - HEAPU32[((pnum)>>2)] = num; - return 0; - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return e.errno; - } - } - - - var runtimeKeepaliveCounter = 0; - var keepRuntimeAlive = () => noExitRuntime || runtimeKeepaliveCounter > 0; - var _proc_exit = (code) => { - EXITSTATUS = code; - if (!keepRuntimeAlive()) { - Module['onExit']?.(code); - ABORT = true; - } - quit_(code, new ExitStatus(code)); - }; - - - /** @param {boolean|number=} implicit */ - var exitJS = (status, implicit) => { - EXITSTATUS = status; - - checkUnflushedContent(); - - // if exit() was called explicitly, warn the user if the runtime isn't actually being shut down - if (keepRuntimeAlive() && !implicit) { - var msg = `program exited (with status: ${status}), but keepRuntimeAlive() is set (counter=${runtimeKeepaliveCounter}) due to an async operation, so halting execution but not exiting the runtime or preventing further async execution (you can use emscripten_force_exit, if you want to force a true shutdown)`; - err(msg); - } - - _proc_exit(status); - }; - - var handleException = (e) => { - // Certain exception types we do not treat as errors since they are used for - // internal control flow. - // 1. ExitStatus, which is thrown by exit() - // 2. "unwind", which is thrown by emscripten_unwind_to_js_event_loop() and others - // that wish to return to JS event loop. - if (e instanceof ExitStatus || e == 'unwind') { - return EXITSTATUS; - } - checkStackCookie(); - if (e instanceof WebAssembly.RuntimeError) { - if (_emscripten_stack_get_current() <= 0) { - err('Stack overflow detected. You can try increasing -sSTACK_SIZE (currently set to 65536)'); - } - } - quit_(1, e); - }; - - - - var stackAlloc = (sz) => __emscripten_stack_alloc(sz); - var stringToUTF8OnStack = (str) => { - var size = lengthBytesUTF8(str) + 1; - var ret = stackAlloc(size); - stringToUTF8(str, ret, size); - return ret; - }; - - FS.createPreloadedFile = FS_createPreloadedFile; - FS.staticInit(); - // Set module methods based on EXPORTED_RUNTIME_METHODS - ; -// End JS library code - -function checkIncomingModuleAPI() { - ignoredModuleProp('fetchSettings'); -} -var wasmImports = { - /** @export */ - __syscall_chmod: ___syscall_chmod, - /** @export */ - __syscall_fchmod: ___syscall_fchmod, - /** @export */ - __syscall_fcntl64: ___syscall_fcntl64, - /** @export */ - __syscall_fstat64: ___syscall_fstat64, - /** @export */ - __syscall_ioctl: ___syscall_ioctl, - /** @export */ - __syscall_lstat64: ___syscall_lstat64, - /** @export */ - __syscall_newfstatat: ___syscall_newfstatat, - /** @export */ - __syscall_openat: ___syscall_openat, - /** @export */ - __syscall_renameat: ___syscall_renameat, - /** @export */ - __syscall_rmdir: ___syscall_rmdir, - /** @export */ - __syscall_stat64: ___syscall_stat64, - /** @export */ - __syscall_unlinkat: ___syscall_unlinkat, - /** @export */ - _abort_js: __abort_js, - /** @export */ - _localtime_js: __localtime_js, - /** @export */ - _mktime_js: __mktime_js, - /** @export */ - _tzset_js: __tzset_js, - /** @export */ - emscripten_date_now: _emscripten_date_now, - /** @export */ - emscripten_resize_heap: _emscripten_resize_heap, - /** @export */ - fd_close: _fd_close, - /** @export */ - fd_fdstat_get: _fd_fdstat_get, - /** @export */ - fd_read: _fd_read, - /** @export */ - fd_seek: _fd_seek, - /** @export */ - fd_write: _fd_write -}; -var wasmExports; -createWasm(); -var ___wasm_call_ctors = createExportWrapper('__wasm_call_ctors', 0); -var _main = Module['_main'] = createExportWrapper('__main_argc_argv', 2); -var _strerror = createExportWrapper('strerror', 1); -var _fflush = createExportWrapper('fflush', 1); -var _emscripten_stack_init = () => (_emscripten_stack_init = wasmExports['emscripten_stack_init'])(); -var _emscripten_stack_get_free = () => (_emscripten_stack_get_free = wasmExports['emscripten_stack_get_free'])(); -var _emscripten_stack_get_base = () => (_emscripten_stack_get_base = wasmExports['emscripten_stack_get_base'])(); -var _emscripten_stack_get_end = () => (_emscripten_stack_get_end = wasmExports['emscripten_stack_get_end'])(); -var __emscripten_stack_restore = (a0) => (__emscripten_stack_restore = wasmExports['_emscripten_stack_restore'])(a0); -var __emscripten_stack_alloc = (a0) => (__emscripten_stack_alloc = wasmExports['_emscripten_stack_alloc'])(a0); -var _emscripten_stack_get_current = () => (_emscripten_stack_get_current = wasmExports['emscripten_stack_get_current'])(); - - -// include: postamble.js -// === Auto-generated postamble setup entry stuff === - -var missingLibrarySymbols = [ - 'writeI53ToI64', - 'writeI53ToI64Clamped', - 'writeI53ToI64Signaling', - 'writeI53ToU64Clamped', - 'writeI53ToU64Signaling', - 'readI53FromI64', - 'readI53FromU64', - 'convertI32PairToI53', - 'convertI32PairToI53Checked', - 'convertU32PairToI53', - 'getTempRet0', - 'setTempRet0', - 'zeroMemory', - 'getHeapMax', - 'growMemory', - 'inetPton4', - 'inetNtop4', - 'inetPton6', - 'inetNtop6', - 'readSockaddr', - 'writeSockaddr', - 'emscriptenLog', - 'readEmAsmArgs', - 'jstoi_q', - 'getExecutableName', - 'listenOnce', - 'autoResumeAudioContext', - 'getDynCaller', - 'dynCall', - 'runtimeKeepalivePush', - 'runtimeKeepalivePop', - 'callUserCallback', - 'maybeExit', - 'asmjsMangle', - 'alignMemory', - 'HandleAllocator', - 'getNativeTypeSize', - 'addOnInit', - 'addOnPostCtor', - 'addOnPreMain', - 'addOnExit', - 'STACK_SIZE', - 'STACK_ALIGN', - 'POINTER_SIZE', - 'ASSERTIONS', - 'getCFunc', - 'ccall', - 'cwrap', - 'uleb128Encode', - 'sigToWasmTypes', - 'generateFuncType', - 'convertJsFunctionToWasm', - 'getEmptyTableSlot', - 'updateTableMap', - 'getFunctionAddress', - 'addFunction', - 'removeFunction', - 'reallyNegative', - 'unSign', - 'strLen', - 'reSign', - 'formatString', - 'intArrayToString', - 'AsciiToString', - 'stringToAscii', - 'UTF16ToString', - 'stringToUTF16', - 'lengthBytesUTF16', - 'UTF32ToString', - 'stringToUTF32', - 'lengthBytesUTF32', - 'stringToNewUTF8', - 'writeArrayToMemory', - 'registerKeyEventCallback', - 'maybeCStringToJsString', - 'findEventTarget', - 'getBoundingClientRect', - 'fillMouseEventData', - 'registerMouseEventCallback', - 'registerWheelEventCallback', - 'registerUiEventCallback', - 'registerFocusEventCallback', - 'fillDeviceOrientationEventData', - 'registerDeviceOrientationEventCallback', - 'fillDeviceMotionEventData', - 'registerDeviceMotionEventCallback', - 'screenOrientation', - 'fillOrientationChangeEventData', - 'registerOrientationChangeEventCallback', - 'fillFullscreenChangeEventData', - 'registerFullscreenChangeEventCallback', - 'JSEvents_requestFullscreen', - 'JSEvents_resizeCanvasForFullscreen', - 'registerRestoreOldStyle', - 'hideEverythingExceptGivenElement', - 'restoreHiddenElements', - 'setLetterbox', - 'softFullscreenResizeWebGLRenderTarget', - 'doRequestFullscreen', - 'fillPointerlockChangeEventData', - 'registerPointerlockChangeEventCallback', - 'registerPointerlockErrorEventCallback', - 'requestPointerLock', - 'fillVisibilityChangeEventData', - 'registerVisibilityChangeEventCallback', - 'registerTouchEventCallback', - 'fillGamepadEventData', - 'registerGamepadEventCallback', - 'registerBeforeUnloadEventCallback', - 'fillBatteryEventData', - 'battery', - 'registerBatteryEventCallback', - 'setCanvasElementSize', - 'getCanvasElementSize', - 'jsStackTrace', - 'getCallstack', - 'convertPCtoSourceLocation', - 'getEnvStrings', - 'checkWasiClock', - 'wasiRightsToMuslOFlags', - 'wasiOFlagsToMuslOFlags', - 'safeSetTimeout', - 'setImmediateWrapped', - 'safeRequestAnimationFrame', - 'clearImmediateWrapped', - 'registerPostMainLoop', - 'registerPreMainLoop', - 'getPromise', - 'makePromise', - 'idsToPromises', - 'makePromiseCallback', - 'ExceptionInfo', - 'findMatchingCatch', - 'Browser_asyncPrepareDataCounter', - 'arraySum', - 'addDays', - 'getSocketFromFD', - 'getSocketAddress', - 'FS_unlink', - 'FS_mkdirTree', - '_setNetworkCallback', - 'heapObjectForWebGLType', - 'toTypedArrayIndex', - 'webgl_enable_ANGLE_instanced_arrays', - 'webgl_enable_OES_vertex_array_object', - 'webgl_enable_WEBGL_draw_buffers', - 'webgl_enable_WEBGL_multi_draw', - 'webgl_enable_EXT_polygon_offset_clamp', - 'webgl_enable_EXT_clip_control', - 'webgl_enable_WEBGL_polygon_mode', - 'emscriptenWebGLGet', - 'computeUnpackAlignedImageSize', - 'colorChannelsInGlTextureFormat', - 'emscriptenWebGLGetTexPixelData', - 'emscriptenWebGLGetUniform', - 'webglGetUniformLocation', - 'webglPrepareUniformLocationsBeforeFirstUse', - 'webglGetLeftBracePos', - 'emscriptenWebGLGetVertexAttrib', - '__glGetActiveAttribOrUniform', - 'writeGLArray', - 'registerWebGlEventCallback', - 'runAndAbortIfError', - 'ALLOC_NORMAL', - 'ALLOC_STACK', - 'allocate', - 'writeStringToMemory', - 'writeAsciiToMemory', - 'demangle', - 'stackTrace', -]; -missingLibrarySymbols.forEach(missingLibrarySymbol) - -var unexportedSymbols = [ - 'run', - 'addRunDependency', - 'removeRunDependency', - 'out', - 'err', - 'callMain', - 'abort', - 'wasmMemory', - 'wasmExports', - 'writeStackCookie', - 'checkStackCookie', - 'INT53_MAX', - 'INT53_MIN', - 'bigintToI53Checked', - 'stackSave', - 'stackRestore', - 'stackAlloc', - 'ptrToString', - 'exitJS', - 'abortOnCannotGrowMemory', - 'ENV', - 'ERRNO_CODES', - 'strError', - 'DNS', - 'Protocols', - 'Sockets', - 'timers', - 'warnOnce', - 'readEmAsmArgsArray', - 'jstoi_s', - 'handleException', - 'keepRuntimeAlive', - 'asyncLoad', - 'mmapAlloc', - 'wasmTable', - 'noExitRuntime', - 'addOnPreRun', - 'addOnPostRun', - 'freeTableIndexes', - 'functionsInTableMap', - 'setValue', - 'getValue', - 'PATH', - 'PATH_FS', - 'UTF8Decoder', - 'UTF8ArrayToString', - 'UTF8ToString', - 'stringToUTF8Array', - 'stringToUTF8', - 'lengthBytesUTF8', - 'intArrayFromString', - 'UTF16Decoder', - 'stringToUTF8OnStack', - 'JSEvents', - 'specialHTMLTargets', - 'findCanvasEventTarget', - 'currentFullscreenStrategy', - 'restoreOldWindowedStyle', - 'UNWIND_CACHE', - 'ExitStatus', - 'doReadv', - 'doWritev', - 'initRandomFill', - 'randomFill', - 'emSetImmediate', - 'emClearImmediate_deps', - 'emClearImmediate', - 'promiseMap', - 'uncaughtExceptionCount', - 'exceptionLast', - 'exceptionCaught', - 'Browser', - 'getPreloadedImageData__data', - 'wget', - 'MONTH_DAYS_REGULAR', - 'MONTH_DAYS_LEAP', - 'MONTH_DAYS_REGULAR_CUMULATIVE', - 'MONTH_DAYS_LEAP_CUMULATIVE', - 'isLeapYear', - 'ydayFromDate', - 'SYSCALLS', - 'preloadPlugins', - 'FS_createPreloadedFile', - 'FS_modeStringToFlags', - 'FS_getMode', - 'FS_stdin_getChar_buffer', - 'FS_stdin_getChar', - 'FS_createPath', - 'FS_createDevice', - 'FS_readFile', - 'FS', - 'FS_createDataFile', - 'FS_createLazyFile', - 'MEMFS', - 'TTY', - 'PIPEFS', - 'SOCKFS', - 'tempFixedLengthArray', - 'miniTempWebGLFloatBuffers', - 'miniTempWebGLIntBuffers', - 'GL', - 'AL', - 'GLUT', - 'EGL', - 'GLEW', - 'IDBStore', - 'SDL', - 'SDL_gfx', - 'allocateUTF8', - 'allocateUTF8OnStack', - 'print', - 'printErr', -]; -unexportedSymbols.forEach(unexportedRuntimeSymbol); - - - -var calledRun; - -function callMain(args = []) { - assert(runDependencies == 0, 'cannot call main when async dependencies remain! (listen on Module["onRuntimeInitialized"])'); - assert(typeof onPreRuns === 'undefined' || onPreRuns.length == 0, 'cannot call main when preRun functions remain to be called'); - - var entryFunction = _main; - - args.unshift(thisProgram); - - var argc = args.length; - var argv = stackAlloc((argc + 1) * 4); - var argv_ptr = argv; - args.forEach((arg) => { - HEAPU32[((argv_ptr)>>2)] = stringToUTF8OnStack(arg); - argv_ptr += 4; - }); - HEAPU32[((argv_ptr)>>2)] = 0; - - try { - - var ret = entryFunction(argc, argv); - - // if we're not running an evented main loop, it's time to exit - exitJS(ret, /* implicit = */ true); - return ret; - } catch (e) { - return handleException(e); - } -} - -function stackCheckInit() { - // This is normally called automatically during __wasm_call_ctors but need to - // get these values before even running any of the ctors so we call it redundantly - // here. - _emscripten_stack_init(); - // TODO(sbc): Move writeStackCookie to native to to avoid this. - writeStackCookie(); -} - -function run(args = arguments_) { - - if (runDependencies > 0) { - dependenciesFulfilled = run; - return; - } - - stackCheckInit(); - - preRun(); - - // a preRun added a dependency, run will be called later - if (runDependencies > 0) { - dependenciesFulfilled = run; - return; - } - - function doRun() { - // run may have just been called through dependencies being fulfilled just in this very frame, - // or while the async setStatus time below was happening - assert(!calledRun); - calledRun = true; - Module['calledRun'] = true; - - if (ABORT) return; - - initRuntime(); - - preMain(); - - Module['onRuntimeInitialized']?.(); - consumedModuleProp('onRuntimeInitialized'); - - var noInitialRun = Module['noInitialRun'];legacyModuleProp('noInitialRun', 'noInitialRun'); - if (!noInitialRun) callMain(args); - - postRun(); - } - - if (Module['setStatus']) { - Module['setStatus']('Running...'); - setTimeout(() => { - setTimeout(() => Module['setStatus'](''), 1); - doRun(); - }, 1); - } else - { - doRun(); - } - checkStackCookie(); -} - -function checkUnflushedContent() { - // Compiler settings do not allow exiting the runtime, so flushing - // the streams is not possible. but in ASSERTIONS mode we check - // if there was something to flush, and if so tell the user they - // should request that the runtime be exitable. - // Normally we would not even include flush() at all, but in ASSERTIONS - // builds we do so just for this check, and here we see if there is any - // content to flush, that is, we check if there would have been - // something a non-ASSERTIONS build would have not seen. - // How we flush the streams depends on whether we are in SYSCALLS_REQUIRE_FILESYSTEM=0 - // mode (which has its own special function for this; otherwise, all - // the code is inside libc) - var oldOut = out; - var oldErr = err; - var has = false; - out = err = (x) => { - has = true; - } - try { // it doesn't matter if it fails - _fflush(0); - // also flush in the JS FS layer - ['stdout', 'stderr'].forEach((name) => { - var info = FS.analyzePath('/dev/' + name); - if (!info) return; - var stream = info.object; - var rdev = stream.rdev; - var tty = TTY.ttys[rdev]; - if (tty?.output?.length) { - has = true; - } - }); - } catch(e) {} - out = oldOut; - err = oldErr; - if (has) { - warnOnce('stdio streams had content in them that was not flushed. you should set EXIT_RUNTIME to 1 (see the Emscripten FAQ), or make sure to emit a newline when you printf etc.'); - } -} - -if (Module['preInit']) { - if (typeof Module['preInit'] == 'function') Module['preInit'] = [Module['preInit']]; - while (Module['preInit'].length > 0) { - Module['preInit'].pop()(); - } -} -consumedModuleProp('preInit'); - -run(); - -// end include: postamble.js - diff --git a/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/zip_write_encrypt_aes256_file_fuzzer.wasm b/thirdparty/libzip-1.11.3/build-emcmake/ossfuzz/zip_write_encrypt_aes256_file_fuzzer.wasm deleted file mode 100755 index abbf197376f63483a5ac2fa4e588da6957d623bd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 400122 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 XPQE&WMI(5VfgE+60o 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

  • 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 z zMr*D=J676pR=8qw_VMFowzlfV3kGG$!h6bd^Q$|>F)#axlaG%Y?dKkFs4ue*6ntu> z{>a>MCjp-ae@Z#FPNIn-@rDUzY^MOhr-ZGqP9t}LzZPByiQqvB?8QxEP&5#2O%tOy z;juMM1oLU&d%!4IN`srfJspM$!_Vi0DHIx+k4(YW7>Tx~3D7W2gG_H18Wb&x4gyjX z35pCwj3P&2P*~Up3iw7SIOd?J;Jb{}+m%5rNs!9A01b+P)Eh-d!U5BsfG`S0_5?*k zLJrfG04Kybph*2NKpx_8SWXPnCjs~GSj9SBH6+ymREhiPYk58`rAq(3hJ z>JYC$dkjn)0*okmI23vkF_`uP#9{dh*gj;7)ExC@_uCy4h$TndWpZ!Dk&@iMeW@_7Q-fubQL zKyT&W7h-s6C2Pay-wt9Pi0^_T{S^r)L;L~SBl$N6*dflq=RXAE!w?VR^X~>Rd{vLE z8WcI75&$iT*P%U;LPK79UNAcpgr>>(&}KE(kV5PyO8$nh8fOn>CxA7Tku{tBOe2Z;AVd><6q zUNmqF;*ZcC>CaODT(@M`@%cXs@ezne@%i_FSP0@eP~?2N2fZoG0bzhV#BX6alK+zcGsH>w{0BfR3Gr)u{v9FS2XP4~lCKy*72+jmkL3S9UH`54 z{M$mEJy8D+C{q7Cpak(Ov`5xw2CzY#j?aHE#Ig_%;PdYa@d1ddKq-KDKojCMXpiLc zKVARN@cFlfI=i8M9w-5D4p4-63fd$2FacO0PQ~Xx5MpVFd-3^qhL{iH3Q(j!F97Ng zuR?ny|NrUwe~Hh(J=Eca`bD5fe@6i-5HCP`B>xt`E{L=6`45Fy4&o7f{@o!Kg!nNi z6_5yML%i`1*MAeNAK70kfD7v9f}(+NKmp=+upHSRV}J$X)E%{@d~Sw}U!7P`?lq>90sY8R9u;kL2GRV23yppZ^eu4?{eJ&%YbQ z0ua}LQUVEp7R2A7J(Bg)QqJiH!Fk#SWdJHXUCk9PJi@~5+FleG37zGqN1}#s6 zAw)4_&;$$^E)*LE%}IwLL$PAeq>PwwlsxP@4Tb>PheLZ7q&+h&h6HI(yaQu}w6~izfs4)sinK^`Jqu!!M?g zUyu;M$Ozd7WV}QPEm=@p@Ea@zlocu*)qp~y!_hFvB199RiP5Cs0YZajMsuQt(eh|Z zWCymly}ixtZ6RA>ga;EmnBl!hh&~)_>}LPbDXGvfm$FK_yG_A=Kw{Z5!emf1gwDxfDX6}=mTAV zC{PM`0m}e6Z~;&U+5kS_F5nD&09b(xzyufsq=9N65LgF@fha%)Xa;zJe83)<1{i@W zfFaNahyxD+Ki~^M1tbF6z$-uyxDU7kAAw!Kb-)4`1>}G_AQbospn-5e0cZfYfE$1n z@D`v2k^nv6H6Q|%0H=W^fDDKQ)PPoCKX3_>PzIg> zJU|{`2TTDwfK=cF&{cnpL98vs2V z0X>=wl?<8;Y5-~g+6~$bDh4VBS_WDM>J91*`Wf^yC>9h88V4E&ssXA2+78+d$`8s9 zS_oPQ>H_KlItMxjx)XFKXeMYTs41u^=n&`-s0^qKXbor$Xb@-+=y%ZXpvbEh31~EE zH0UwVW1uadEuecr_k!LAy$$LB>HspwyrjK`(;pfa-vDfOdcifeL{>0DS=J0qOzz3G@>v2Pg+K;L|lY2T>?_Ko_tCJb^GE2Y3RE1OKl4ef!9^k?kVe zM7D=)ixWV$ArDvrVZajrIT^zKH!DEeLXm(K93nxZI?2(f1{j1#022T=%y$D7hu>-= z%L0thzZ{vsMh5Itz?21XHBtkY4F@pUu|5O7F5Y&heeJ+`1Eu8Q238$-GbJ#g0ecag zFAZ32A*)6yZM&`EdJ)`npwEtaxVwXW z2x6*&^r;V|fYZ~?&g+k^^Ko(m;|&jApTAbN2NNJ$l&Xif58~eg=0onk0$+D<=mDz} zBs~hYwyb0Fcwb-HqZ9oQD(&OQ9*w|n!K_nQLV1P*!=4iA@c zaEd}1;4I6)4-M&LPFD{PPu%%|SQ`DVbR5nPoafmuDNq#NbXzq|$cxs37V6bw;9oZ5!D^Z=@;GeSdD@*O_GtCQ-P)_4n|F zm3!F0_s38MK8UdrV&Q_gw}6irE`_>Ya3*{BdUHaK?U0M*FIU!aULHOkHXhrqZ%B{g z_i*ci|D7G=ytRhK;I-$oeXsF`J_YMOB|GrLa^JEt!si1vj6XxQ@CW=mH@~*Iv_->(YWc7>2+PcIJ# z+#Tol(m&_Il>t{8?%D(kCtJ9&>BIR77t8OPn4Yf(ycXC6*nn;2_E~T10-B)tlu4=0dtTO8T_7b_rUEKXLbcw zDBM?VQOHch%gW2ndCL?EZs*>1Ubq*ct=HBGelUD4uW>f zC(ID$Ex|5gWr9f5IRaNg527X1XF_Jo0BVp>llVA65IT$SF${_HP&)`}P-TQ}Fh-9g z62hzzNuun~D(GxfC2;}To4^1Wf&4!eE@YsED?-T7>tD(tqGLpczv^r+&iR));MRb# z#JFRuV9?a@YcE=fXNlK{cacbusF7G~4+U{6VS&*neCUBpBf~r>$mkR|Bt;a)?BwLI zoRFLZ20&z37xO&B|woOv&oPVw;~(J;WE%HG zwly1`;h(UGsMx_n;u4Zl3W`USl)?V2xCn!tBtXW`NP)i^;fkvKpFwgIb{#Fj$qN~P0Ek8_H}g;*cvkPQ~wbN zczF8oGa_ST0WiG8jb{aL)}=5!<0p4R3?pQP diff --git a/thirdparty/libzip-1.11.3/build-emcmake/examples/autoclose-archive.js b/thirdparty/libzip-1.11.3/build-emcmake/examples/autoclose-archive.js deleted file mode 100644 index 470d192..0000000 --- a/thirdparty/libzip-1.11.3/build-emcmake/examples/autoclose-archive.js +++ /dev/null @@ -1,4814 +0,0 @@ -// include: shell.js -// The Module object: Our interface to the outside world. We import -// and export values on it. There are various ways Module can be used: -// 1. Not defined. We create it here -// 2. A function parameter, function(moduleArg) => Promise -// 3. pre-run appended it, var Module = {}; ..generated code.. -// 4. External script tag defines var Module. -// We need to check if Module already exists (e.g. case 3 above). -// Substitution will be replaced with actual code on later stage of the build, -// this way Closure Compiler will not mangle it (e.g. case 4. above). -// Note that if you want to run closure, and also to use Module -// after the generated code, you will need to define var Module = {}; -// before the code. Then that object will be used in the code, and you -// can continue to use Module afterwards as well. -var Module = typeof Module != 'undefined' ? Module : {}; - -// Determine the runtime environment we are in. You can customize this by -// setting the ENVIRONMENT setting at compile time (see settings.js). - -// Attempt to auto-detect the environment -var ENVIRONMENT_IS_WEB = typeof window == 'object'; -var ENVIRONMENT_IS_WORKER = typeof WorkerGlobalScope != 'undefined'; -// N.b. Electron.js environment is simultaneously a NODE-environment, but -// also a web environment. -var ENVIRONMENT_IS_NODE = typeof process == 'object' && typeof process.versions == 'object' && typeof process.versions.node == 'string' && process.type != 'renderer'; -var ENVIRONMENT_IS_SHELL = !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_NODE && !ENVIRONMENT_IS_WORKER; - -if (ENVIRONMENT_IS_NODE) { - -} - -// --pre-jses are emitted after the Module integration code, so that they can -// refer to Module (if they choose; they can also define Module) - - -// Sometimes an existing Module object exists with properties -// meant to overwrite the default module functionality. Here -// we collect those properties and reapply _after_ we configure -// the current environment's defaults to avoid having to be so -// defensive during initialization. -var moduleOverrides = {...Module}; - -var arguments_ = []; -var thisProgram = './this.program'; -var quit_ = (status, toThrow) => { - throw toThrow; -}; - -// `/` should be present at the end if `scriptDirectory` is not empty -var scriptDirectory = ''; -function locateFile(path) { - if (Module['locateFile']) { - return Module['locateFile'](path, scriptDirectory); - } - return scriptDirectory + path; -} - -// Hooks that are implemented differently in different runtime environments. -var readAsync, readBinary; - -if (ENVIRONMENT_IS_NODE) { - if (typeof process == 'undefined' || !process.release || process.release.name !== 'node') throw new Error('not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)'); - - var nodeVersion = process.versions.node; - var numericVersion = nodeVersion.split('.').slice(0, 3); - numericVersion = (numericVersion[0] * 10000) + (numericVersion[1] * 100) + (numericVersion[2].split('-')[0] * 1); - var minVersion = 160000; - if (numericVersion < 160000) { - throw new Error('This emscripten-generated code requires node v16.0.0 (detected v' + nodeVersion + ')'); - } - - // These modules will usually be used on Node.js. Load them eagerly to avoid - // the complexity of lazy-loading. - var fs = require('fs'); - var nodePath = require('path'); - - scriptDirectory = __dirname + '/'; - -// include: node_shell_read.js -readBinary = (filename) => { - // We need to re-wrap `file://` strings to URLs. - filename = isFileURI(filename) ? new URL(filename) : filename; - var ret = fs.readFileSync(filename); - assert(Buffer.isBuffer(ret)); - return ret; -}; - -readAsync = async (filename, binary = true) => { - // See the comment in the `readBinary` function. - filename = isFileURI(filename) ? new URL(filename) : filename; - var ret = fs.readFileSync(filename, binary ? undefined : 'utf8'); - assert(binary ? Buffer.isBuffer(ret) : typeof ret == 'string'); - return ret; -}; -// end include: node_shell_read.js - if (!Module['thisProgram'] && process.argv.length > 1) { - thisProgram = process.argv[1].replace(/\\/g, '/'); - } - - arguments_ = process.argv.slice(2); - - if (typeof module != 'undefined') { - module['exports'] = Module; - } - - quit_ = (status, toThrow) => { - process.exitCode = status; - throw toThrow; - }; - -} else -if (ENVIRONMENT_IS_SHELL) { - - if ((typeof process == 'object' && typeof require === 'function') || typeof window == 'object' || typeof WorkerGlobalScope != 'undefined') throw new Error('not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)'); - -} else - -// Note that this includes Node.js workers when relevant (pthreads is enabled). -// Node.js workers are detected as a combination of ENVIRONMENT_IS_WORKER and -// ENVIRONMENT_IS_NODE. -if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) { - if (ENVIRONMENT_IS_WORKER) { // Check worker, not web, since window could be polyfilled - scriptDirectory = self.location.href; - } else if (typeof document != 'undefined' && document.currentScript) { // web - scriptDirectory = document.currentScript.src; - } - // blob urls look like blob:http://site.com/etc/etc and we cannot infer anything from them. - // otherwise, slice off the final part of the url to find the script directory. - // if scriptDirectory does not contain a slash, lastIndexOf will return -1, - // and scriptDirectory will correctly be replaced with an empty string. - // If scriptDirectory contains a query (starting with ?) or a fragment (starting with #), - // they are removed because they could contain a slash. - if (scriptDirectory.startsWith('blob:')) { - scriptDirectory = ''; - } else { - scriptDirectory = scriptDirectory.slice(0, scriptDirectory.replace(/[?#].*/, '').lastIndexOf('/')+1); - } - - if (!(typeof window == 'object' || typeof WorkerGlobalScope != 'undefined')) throw new Error('not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)'); - - { -// include: web_or_worker_shell_read.js -if (ENVIRONMENT_IS_WORKER) { - readBinary = (url) => { - var xhr = new XMLHttpRequest(); - xhr.open('GET', url, false); - xhr.responseType = 'arraybuffer'; - xhr.send(null); - return new Uint8Array(/** @type{!ArrayBuffer} */(xhr.response)); - }; - } - - readAsync = async (url) => { - // Fetch has some additional restrictions over XHR, like it can't be used on a file:// url. - // See https://github.com/github/fetch/pull/92#issuecomment-140665932 - // Cordova or Electron apps are typically loaded from a file:// url. - // So use XHR on webview if URL is a file URL. - if (isFileURI(url)) { - return new Promise((resolve, reject) => { - var xhr = new XMLHttpRequest(); - xhr.open('GET', url, true); - xhr.responseType = 'arraybuffer'; - xhr.onload = () => { - if (xhr.status == 200 || (xhr.status == 0 && xhr.response)) { // file URLs can return 0 - resolve(xhr.response); - return; - } - reject(xhr.status); - }; - xhr.onerror = reject; - xhr.send(null); - }); - } - var response = await fetch(url, { credentials: 'same-origin' }); - if (response.ok) { - return response.arrayBuffer(); - } - throw new Error(response.status + ' : ' + response.url); - }; -// end include: web_or_worker_shell_read.js - } -} else -{ - throw new Error('environment detection error'); -} - -var out = Module['print'] || console.log.bind(console); -var err = Module['printErr'] || console.error.bind(console); - -// Merge back in the overrides -Object.assign(Module, moduleOverrides); -// Free the object hierarchy contained in the overrides, this lets the GC -// reclaim data used. -moduleOverrides = null; -checkIncomingModuleAPI(); - -// Emit code to handle expected values on the Module object. This applies Module.x -// to the proper local x. This has two benefits: first, we only emit it if it is -// expected to arrive, and second, by using a local everywhere else that can be -// minified. - -if (Module['arguments']) arguments_ = Module['arguments'];legacyModuleProp('arguments', 'arguments_'); - -if (Module['thisProgram']) thisProgram = Module['thisProgram'];legacyModuleProp('thisProgram', 'thisProgram'); - -// perform assertions in shell.js after we set up out() and err(), as otherwise if an assertion fails it cannot print the message -// Assertions on removed incoming Module JS APIs. -assert(typeof Module['memoryInitializerPrefixURL'] == 'undefined', 'Module.memoryInitializerPrefixURL option was removed, use Module.locateFile instead'); -assert(typeof Module['pthreadMainPrefixURL'] == 'undefined', 'Module.pthreadMainPrefixURL option was removed, use Module.locateFile instead'); -assert(typeof Module['cdInitializerPrefixURL'] == 'undefined', 'Module.cdInitializerPrefixURL option was removed, use Module.locateFile instead'); -assert(typeof Module['filePackagePrefixURL'] == 'undefined', 'Module.filePackagePrefixURL option was removed, use Module.locateFile instead'); -assert(typeof Module['read'] == 'undefined', 'Module.read option was removed'); -assert(typeof Module['readAsync'] == 'undefined', 'Module.readAsync option was removed (modify readAsync in JS)'); -assert(typeof Module['readBinary'] == 'undefined', 'Module.readBinary option was removed (modify readBinary in JS)'); -assert(typeof Module['setWindowTitle'] == 'undefined', 'Module.setWindowTitle option was removed (modify emscripten_set_window_title in JS)'); -assert(typeof Module['TOTAL_MEMORY'] == 'undefined', 'Module.TOTAL_MEMORY has been renamed Module.INITIAL_MEMORY'); -legacyModuleProp('asm', 'wasmExports'); -legacyModuleProp('readAsync', 'readAsync'); -legacyModuleProp('readBinary', 'readBinary'); -legacyModuleProp('setWindowTitle', 'setWindowTitle'); -var IDBFS = 'IDBFS is no longer included by default; build with -lidbfs.js'; -var PROXYFS = 'PROXYFS is no longer included by default; build with -lproxyfs.js'; -var WORKERFS = 'WORKERFS is no longer included by default; build with -lworkerfs.js'; -var FETCHFS = 'FETCHFS is no longer included by default; build with -lfetchfs.js'; -var ICASEFS = 'ICASEFS is no longer included by default; build with -licasefs.js'; -var JSFILEFS = 'JSFILEFS is no longer included by default; build with -ljsfilefs.js'; -var OPFS = 'OPFS is no longer included by default; build with -lopfs.js'; - -var NODEFS = 'NODEFS is no longer included by default; build with -lnodefs.js'; - -assert(!ENVIRONMENT_IS_SHELL, 'shell environment detected but not enabled at build time. Add `shell` to `-sENVIRONMENT` to enable.'); - -// end include: shell.js - -// include: preamble.js -// === Preamble library stuff === - -// Documentation for the public APIs defined in this file must be updated in: -// site/source/docs/api_reference/preamble.js.rst -// A prebuilt local version of the documentation is available at: -// site/build/text/docs/api_reference/preamble.js.txt -// You can also build docs locally as HTML or other formats in site/ -// An online HTML version (which may be of a different version of Emscripten) -// is up at http://kripken.github.io/emscripten-site/docs/api_reference/preamble.js.html - -var wasmBinary = Module['wasmBinary'];legacyModuleProp('wasmBinary', 'wasmBinary'); - -if (typeof WebAssembly != 'object') { - err('no native wasm support detected'); -} - -// Wasm globals - -var wasmMemory; - -//======================================== -// Runtime essentials -//======================================== - -// whether we are quitting the application. no code should run after this. -// set in exit() and abort() -var ABORT = false; - -// set by exit() and abort(). Passed to 'onExit' handler. -// NOTE: This is also used as the process return code code in shell environments -// but only when noExitRuntime is false. -var EXITSTATUS; - -// In STRICT mode, we only define assert() when ASSERTIONS is set. i.e. we -// don't define it at all in release modes. This matches the behaviour of -// MINIMAL_RUNTIME. -// TODO(sbc): Make this the default even without STRICT enabled. -/** @type {function(*, string=)} */ -function assert(condition, text) { - if (!condition) { - abort('Assertion failed' + (text ? ': ' + text : '')); - } -} - -// We used to include malloc/free by default in the past. Show a helpful error in -// builds with assertions. -function _malloc() { - abort('malloc() called but not included in the build - add `_malloc` to EXPORTED_FUNCTIONS'); -} -function _free() { - // Show a helpful error since we used to include free by default in the past. - abort('free() called but not included in the build - add `_free` to EXPORTED_FUNCTIONS'); -} - -// Memory management - -var HEAP, -/** @type {!Int8Array} */ - HEAP8, -/** @type {!Uint8Array} */ - HEAPU8, -/** @type {!Int16Array} */ - HEAP16, -/** @type {!Uint16Array} */ - HEAPU16, -/** @type {!Int32Array} */ - HEAP32, -/** @type {!Uint32Array} */ - HEAPU32, -/** @type {!Float32Array} */ - HEAPF32, -/* BigInt64Array type is not correctly defined in closure -/** not-@type {!BigInt64Array} */ - HEAP64, -/* BigUint64Array type is not correctly defined in closure -/** not-t@type {!BigUint64Array} */ - HEAPU64, -/** @type {!Float64Array} */ - HEAPF64; - -var runtimeInitialized = false; - -/** - * Indicates whether filename is delivered via file protocol (as opposed to http/https) - * @noinline - */ -var isFileURI = (filename) => filename.startsWith('file://'); - -// include: runtime_shared.js -// include: runtime_stack_check.js -// Initializes the stack cookie. Called at the startup of main and at the startup of each thread in pthreads mode. -function writeStackCookie() { - var max = _emscripten_stack_get_end(); - assert((max & 3) == 0); - // If the stack ends at address zero we write our cookies 4 bytes into the - // stack. This prevents interference with SAFE_HEAP and ASAN which also - // monitor writes to address zero. - if (max == 0) { - max += 4; - } - // The stack grow downwards towards _emscripten_stack_get_end. - // We write cookies to the final two words in the stack and detect if they are - // ever overwritten. - HEAPU32[((max)>>2)] = 0x02135467; - HEAPU32[(((max)+(4))>>2)] = 0x89BACDFE; - // Also test the global address 0 for integrity. - HEAPU32[((0)>>2)] = 1668509029; -} - -function checkStackCookie() { - if (ABORT) return; - var max = _emscripten_stack_get_end(); - // See writeStackCookie(). - if (max == 0) { - max += 4; - } - var cookie1 = HEAPU32[((max)>>2)]; - var cookie2 = HEAPU32[(((max)+(4))>>2)]; - if (cookie1 != 0x02135467 || cookie2 != 0x89BACDFE) { - abort(`Stack overflow! Stack cookie has been overwritten at ${ptrToString(max)}, expected hex dwords 0x89BACDFE and 0x2135467, but received ${ptrToString(cookie2)} ${ptrToString(cookie1)}`); - } - // Also test the global address 0 for integrity. - if (HEAPU32[((0)>>2)] != 0x63736d65 /* 'emsc' */) { - abort('Runtime error: The application has corrupted its heap memory area (address zero)!'); - } -} -// end include: runtime_stack_check.js -// include: runtime_exceptions.js -// end include: runtime_exceptions.js -// include: runtime_debug.js -// Endianness check -(() => { - var h16 = new Int16Array(1); - var h8 = new Int8Array(h16.buffer); - h16[0] = 0x6373; - if (h8[0] !== 0x73 || h8[1] !== 0x63) throw 'Runtime error: expected the system to be little-endian! (Run with -sSUPPORT_BIG_ENDIAN to bypass)'; -})(); - -if (Module['ENVIRONMENT']) { - throw new Error('Module.ENVIRONMENT has been deprecated. To force the environment, use the ENVIRONMENT compile-time option (for example, -sENVIRONMENT=web or -sENVIRONMENT=node)'); -} - -function legacyModuleProp(prop, newName, incoming=true) { - if (!Object.getOwnPropertyDescriptor(Module, prop)) { - Object.defineProperty(Module, prop, { - configurable: true, - get() { - let extra = incoming ? ' (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)' : ''; - abort(`\`Module.${prop}\` has been replaced by \`${newName}\`` + extra); - - } - }); - } -} - -function consumedModuleProp(prop) { - if (!Object.getOwnPropertyDescriptor(Module, prop)) { - Object.defineProperty(Module, prop, { - configurable: true, - set() { - abort(`Attempt to set \`Module.${prop}\` after it has already been processed. This can happen, for example, when code is injected via '--post-js' rather than '--pre-js'`); - - } - }); - } -} - -function ignoredModuleProp(prop) { - if (Object.getOwnPropertyDescriptor(Module, prop)) { - abort(`\`Module.${prop}\` was supplied but \`${prop}\` not included in INCOMING_MODULE_JS_API`); - } -} - -// forcing the filesystem exports a few things by default -function isExportedByForceFilesystem(name) { - return name === 'FS_createPath' || - name === 'FS_createDataFile' || - name === 'FS_createPreloadedFile' || - name === 'FS_unlink' || - name === 'addRunDependency' || - // The old FS has some functionality that WasmFS lacks. - name === 'FS_createLazyFile' || - name === 'FS_createDevice' || - name === 'removeRunDependency'; -} - -/** - * Intercept access to a global symbol. This enables us to give informative - * warnings/errors when folks attempt to use symbols they did not include in - * their build, or no symbols that no longer exist. - */ -function hookGlobalSymbolAccess(sym, func) { - if (typeof globalThis != 'undefined' && !Object.getOwnPropertyDescriptor(globalThis, sym)) { - Object.defineProperty(globalThis, sym, { - configurable: true, - get() { - func(); - return undefined; - } - }); - } -} - -function missingGlobal(sym, msg) { - hookGlobalSymbolAccess(sym, () => { - warnOnce(`\`${sym}\` is not longer defined by emscripten. ${msg}`); - }); -} - -missingGlobal('buffer', 'Please use HEAP8.buffer or wasmMemory.buffer'); -missingGlobal('asm', 'Please use wasmExports instead'); - -function missingLibrarySymbol(sym) { - hookGlobalSymbolAccess(sym, () => { - // Can't `abort()` here because it would break code that does runtime - // checks. e.g. `if (typeof SDL === 'undefined')`. - var msg = `\`${sym}\` is a library symbol and not included by default; add it to your library.js __deps or to DEFAULT_LIBRARY_FUNCS_TO_INCLUDE on the command line`; - // DEFAULT_LIBRARY_FUNCS_TO_INCLUDE requires the name as it appears in - // library.js, which means $name for a JS name with no prefix, or name - // for a JS name like _name. - var librarySymbol = sym; - if (!librarySymbol.startsWith('_')) { - librarySymbol = '$' + sym; - } - msg += ` (e.g. -sDEFAULT_LIBRARY_FUNCS_TO_INCLUDE='${librarySymbol}')`; - if (isExportedByForceFilesystem(sym)) { - msg += '. Alternatively, forcing filesystem support (-sFORCE_FILESYSTEM) can export this for you'; - } - warnOnce(msg); - }); - - // Any symbol that is not included from the JS library is also (by definition) - // not exported on the Module object. - unexportedRuntimeSymbol(sym); -} - -function unexportedRuntimeSymbol(sym) { - if (!Object.getOwnPropertyDescriptor(Module, sym)) { - Object.defineProperty(Module, sym, { - configurable: true, - get() { - var msg = `'${sym}' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the Emscripten FAQ)`; - if (isExportedByForceFilesystem(sym)) { - msg += '. Alternatively, forcing filesystem support (-sFORCE_FILESYSTEM) can export this for you'; - } - abort(msg); - } - }); - } -} - -var runtimeDebug = true; // Switch to false at runtime to disable logging at the right times - -// Used by XXXXX_DEBUG settings to output debug messages. -function dbg(...args) { - if (!runtimeDebug && typeof runtimeDebug != 'undefined') return; - // TODO(sbc): Make this configurable somehow. Its not always convenient for - // logging to show up as warnings. - console.warn(...args); -} -// end include: runtime_debug.js -// include: memoryprofiler.js -// end include: memoryprofiler.js - - -function updateMemoryViews() { - var b = wasmMemory.buffer; - Module['HEAP8'] = HEAP8 = new Int8Array(b); - Module['HEAP16'] = HEAP16 = new Int16Array(b); - Module['HEAPU8'] = HEAPU8 = new Uint8Array(b); - Module['HEAPU16'] = HEAPU16 = new Uint16Array(b); - Module['HEAP32'] = HEAP32 = new Int32Array(b); - Module['HEAPU32'] = HEAPU32 = new Uint32Array(b); - Module['HEAPF32'] = HEAPF32 = new Float32Array(b); - Module['HEAPF64'] = HEAPF64 = new Float64Array(b); - Module['HEAP64'] = HEAP64 = new BigInt64Array(b); - Module['HEAPU64'] = HEAPU64 = new BigUint64Array(b); -} - -// end include: runtime_shared.js -assert(!Module['STACK_SIZE'], 'STACK_SIZE can no longer be set at runtime. Use -sSTACK_SIZE at link time') - -assert(typeof Int32Array != 'undefined' && typeof Float64Array !== 'undefined' && Int32Array.prototype.subarray != undefined && Int32Array.prototype.set != undefined, - 'JS engine does not provide full typed array support'); - -// If memory is defined in wasm, the user can't provide it, or set INITIAL_MEMORY -assert(!Module['wasmMemory'], 'Use of `wasmMemory` detected. Use -sIMPORTED_MEMORY to define wasmMemory externally'); -assert(!Module['INITIAL_MEMORY'], 'Detected runtime INITIAL_MEMORY setting. Use -sIMPORTED_MEMORY to define wasmMemory dynamically'); - -function preRun() { - if (Module['preRun']) { - if (typeof Module['preRun'] == 'function') Module['preRun'] = [Module['preRun']]; - while (Module['preRun'].length) { - addOnPreRun(Module['preRun'].shift()); - } - } - consumedModuleProp('preRun'); - callRuntimeCallbacks(onPreRuns); -} - -function initRuntime() { - assert(!runtimeInitialized); - runtimeInitialized = true; - - checkStackCookie(); - - if (!Module['noFSInit'] && !FS.initialized) FS.init(); -TTY.init(); - - wasmExports['__wasm_call_ctors'](); - - FS.ignorePermissions = false; -} - -function preMain() { - checkStackCookie(); - -} - -function postRun() { - checkStackCookie(); - - if (Module['postRun']) { - if (typeof Module['postRun'] == 'function') Module['postRun'] = [Module['postRun']]; - while (Module['postRun'].length) { - addOnPostRun(Module['postRun'].shift()); - } - } - consumedModuleProp('postRun'); - - callRuntimeCallbacks(onPostRuns); -} - -// A counter of dependencies for calling run(). If we need to -// do asynchronous work before running, increment this and -// decrement it. Incrementing must happen in a place like -// Module.preRun (used by emcc to add file preloading). -// Note that you can add dependencies in preRun, even though -// it happens right before run - run will be postponed until -// the dependencies are met. -var runDependencies = 0; -var dependenciesFulfilled = null; // overridden to take different actions when all run dependencies are fulfilled -var runDependencyTracking = {}; -var runDependencyWatcher = null; - -function getUniqueRunDependency(id) { - var orig = id; - while (1) { - if (!runDependencyTracking[id]) return id; - id = orig + Math.random(); - } -} - -function addRunDependency(id) { - runDependencies++; - - Module['monitorRunDependencies']?.(runDependencies); - - if (id) { - assert(!runDependencyTracking[id]); - runDependencyTracking[id] = 1; - if (runDependencyWatcher === null && typeof setInterval != 'undefined') { - // Check for missing dependencies every few seconds - runDependencyWatcher = setInterval(() => { - if (ABORT) { - clearInterval(runDependencyWatcher); - runDependencyWatcher = null; - return; - } - var shown = false; - for (var dep in runDependencyTracking) { - if (!shown) { - shown = true; - err('still waiting on run dependencies:'); - } - err(`dependency: ${dep}`); - } - if (shown) { - err('(end of list)'); - } - }, 10000); - } - } else { - err('warning: run dependency added without ID'); - } -} - -function removeRunDependency(id) { - runDependencies--; - - Module['monitorRunDependencies']?.(runDependencies); - - if (id) { - assert(runDependencyTracking[id]); - delete runDependencyTracking[id]; - } else { - err('warning: run dependency removed without ID'); - } - if (runDependencies == 0) { - if (runDependencyWatcher !== null) { - clearInterval(runDependencyWatcher); - runDependencyWatcher = null; - } - if (dependenciesFulfilled) { - var callback = dependenciesFulfilled; - dependenciesFulfilled = null; - callback(); // can add another dependenciesFulfilled - } - } -} - -/** @param {string|number=} what */ -function abort(what) { - Module['onAbort']?.(what); - - what = 'Aborted(' + what + ')'; - // TODO(sbc): Should we remove printing and leave it up to whoever - // catches the exception? - err(what); - - ABORT = true; - - // Use a wasm runtime error, because a JS error might be seen as a foreign - // exception, which means we'd run destructors on it. We need the error to - // simply make the program stop. - // FIXME This approach does not work in Wasm EH because it currently does not assume - // all RuntimeErrors are from traps; it decides whether a RuntimeError is from - // a trap or not based on a hidden field within the object. So at the moment - // we don't have a way of throwing a wasm trap from JS. TODO Make a JS API that - // allows this in the wasm spec. - - // Suppress closure compiler warning here. Closure compiler's builtin extern - // definition for WebAssembly.RuntimeError claims it takes no arguments even - // though it can. - // TODO(https://github.com/google/closure-compiler/pull/3913): Remove if/when upstream closure gets fixed. - /** @suppress {checkTypes} */ - var e = new WebAssembly.RuntimeError(what); - - // Throw the error whether or not MODULARIZE is set because abort is used - // in code paths apart from instantiation where an exception is expected - // to be thrown when abort is called. - throw e; -} - -function createExportWrapper(name, nargs) { - return (...args) => { - assert(runtimeInitialized, `native function \`${name}\` called before runtime initialization`); - var f = wasmExports[name]; - assert(f, `exported native function \`${name}\` not found`); - // Only assert for too many arguments. Too few can be valid since the missing arguments will be zero filled. - assert(args.length <= nargs, `native function \`${name}\` called with ${args.length} args but expects ${nargs}`); - return f(...args); - }; -} - -var wasmBinaryFile; - -function findWasmBinary() { - return locateFile('autoclose-archive.wasm'); -} - -function getBinarySync(file) { - if (file == wasmBinaryFile && wasmBinary) { - return new Uint8Array(wasmBinary); - } - if (readBinary) { - return readBinary(file); - } - throw 'both async and sync fetching of the wasm failed'; -} - -async function getWasmBinary(binaryFile) { - // If we don't have the binary yet, load it asynchronously using readAsync. - if (!wasmBinary) { - // Fetch the binary using readAsync - try { - var response = await readAsync(binaryFile); - return new Uint8Array(response); - } catch { - // Fall back to getBinarySync below; - } - } - - // Otherwise, getBinarySync should be able to get it synchronously - return getBinarySync(binaryFile); -} - -async function instantiateArrayBuffer(binaryFile, imports) { - try { - var binary = await getWasmBinary(binaryFile); - var instance = await WebAssembly.instantiate(binary, imports); - return instance; - } catch (reason) { - err(`failed to asynchronously prepare wasm: ${reason}`); - - // Warn on some common problems. - if (isFileURI(wasmBinaryFile)) { - err(`warning: Loading from a file URI (${wasmBinaryFile}) is not supported in most browsers. See https://emscripten.org/docs/getting_started/FAQ.html#how-do-i-run-a-local-webserver-for-testing-why-does-my-program-stall-in-downloading-or-preparing`); - } - abort(reason); - } -} - -async function instantiateAsync(binary, binaryFile, imports) { - if (!binary && typeof WebAssembly.instantiateStreaming == 'function' - // Don't use streaming for file:// delivered objects in a webview, fetch them synchronously. - && !isFileURI(binaryFile) - // Avoid instantiateStreaming() on Node.js environment for now, as while - // Node.js v18.1.0 implements it, it does not have a full fetch() - // implementation yet. - // - // Reference: - // https://github.com/emscripten-core/emscripten/pull/16917 - && !ENVIRONMENT_IS_NODE - ) { - try { - var response = fetch(binaryFile, { credentials: 'same-origin' }); - var instantiationResult = await WebAssembly.instantiateStreaming(response, imports); - return instantiationResult; - } catch (reason) { - // We expect the most common failure cause to be a bad MIME type for the binary, - // in which case falling back to ArrayBuffer instantiation should work. - err(`wasm streaming compile failed: ${reason}`); - err('falling back to ArrayBuffer instantiation'); - // fall back of instantiateArrayBuffer below - }; - } - return instantiateArrayBuffer(binaryFile, imports); -} - -function getWasmImports() { - // prepare imports - return { - 'env': wasmImports, - 'wasi_snapshot_preview1': wasmImports, - } -} - -// Create the wasm instance. -// Receives the wasm imports, returns the exports. -async function createWasm() { - // Load the wasm module and create an instance of using native support in the JS engine. - // handle a generated wasm instance, receiving its exports and - // performing other necessary setup - /** @param {WebAssembly.Module=} module*/ - function receiveInstance(instance, module) { - wasmExports = instance.exports; - - - - wasmMemory = wasmExports['memory']; - - assert(wasmMemory, 'memory not found in wasm exports'); - updateMemoryViews(); - - removeRunDependency('wasm-instantiate'); - return wasmExports; - } - // wait for the pthread pool (if any) - addRunDependency('wasm-instantiate'); - - // Prefer streaming instantiation if available. - // Async compilation can be confusing when an error on the page overwrites Module - // (for example, if the order of elements is wrong, and the one defining Module is - // later), so we save Module and check it later. - var trueModule = Module; - function receiveInstantiationResult(result) { - // 'result' is a ResultObject object which has both the module and instance. - // receiveInstance() will swap in the exports (to Module.asm) so they can be called - assert(Module === trueModule, 'the Module object should not be replaced during async compilation - perhaps the order of HTML elements is wrong?'); - trueModule = null; - // TODO: Due to Closure regression https://github.com/google/closure-compiler/issues/3193, the above line no longer optimizes out down to the following line. - // When the regression is fixed, can restore the above PTHREADS-enabled path. - return receiveInstance(result['instance']); - } - - var info = getWasmImports(); - - // User shell pages can write their own Module.instantiateWasm = function(imports, successCallback) callback - // to manually instantiate the Wasm module themselves. This allows pages to - // run the instantiation parallel to any other async startup actions they are - // performing. - // Also pthreads and wasm workers initialize the wasm instance through this - // path. - if (Module['instantiateWasm']) { - return new Promise((resolve, reject) => { - try { - Module['instantiateWasm'](info, (mod, inst) => { - receiveInstance(mod, inst); - resolve(mod.exports); - }); - } catch(e) { - err(`Module.instantiateWasm callback failed with error: ${e}`); - reject(e); - } - }); - } - - wasmBinaryFile ??= findWasmBinary(); - var result = await instantiateAsync(wasmBinary, wasmBinaryFile, info); - var exports = receiveInstantiationResult(result); - return exports; -} - -// end include: preamble.js - -// Begin JS library code - - - class ExitStatus { - name = 'ExitStatus'; - constructor(status) { - this.message = `Program terminated with exit(${status})`; - this.status = status; - } - } - - var callRuntimeCallbacks = (callbacks) => { - while (callbacks.length > 0) { - // Pass the module as the first argument. - callbacks.shift()(Module); - } - }; - var onPostRuns = []; - var addOnPostRun = (cb) => onPostRuns.unshift(cb); - - var onPreRuns = []; - var addOnPreRun = (cb) => onPreRuns.unshift(cb); - - - - /** - * @param {number} ptr - * @param {string} type - */ - function getValue(ptr, type = 'i8') { - if (type.endsWith('*')) type = '*'; - switch (type) { - case 'i1': return HEAP8[ptr]; - case 'i8': return HEAP8[ptr]; - case 'i16': return HEAP16[((ptr)>>1)]; - case 'i32': return HEAP32[((ptr)>>2)]; - case 'i64': return HEAP64[((ptr)>>3)]; - case 'float': return HEAPF32[((ptr)>>2)]; - case 'double': return HEAPF64[((ptr)>>3)]; - case '*': return HEAPU32[((ptr)>>2)]; - default: abort(`invalid type for getValue: ${type}`); - } - } - - var noExitRuntime = Module['noExitRuntime'] || true; - - var ptrToString = (ptr) => { - assert(typeof ptr === 'number'); - // With CAN_ADDRESS_2GB or MEMORY64, pointers are already unsigned. - ptr >>>= 0; - return '0x' + ptr.toString(16).padStart(8, '0'); - }; - - - /** - * @param {number} ptr - * @param {number} value - * @param {string} type - */ - function setValue(ptr, value, type = 'i8') { - if (type.endsWith('*')) type = '*'; - switch (type) { - case 'i1': HEAP8[ptr] = value; break; - case 'i8': HEAP8[ptr] = value; break; - case 'i16': HEAP16[((ptr)>>1)] = value; break; - case 'i32': HEAP32[((ptr)>>2)] = value; break; - case 'i64': HEAP64[((ptr)>>3)] = BigInt(value); break; - case 'float': HEAPF32[((ptr)>>2)] = value; break; - case 'double': HEAPF64[((ptr)>>3)] = value; break; - case '*': HEAPU32[((ptr)>>2)] = value; break; - default: abort(`invalid type for setValue: ${type}`); - } - } - - var stackRestore = (val) => __emscripten_stack_restore(val); - - var stackSave = () => _emscripten_stack_get_current(); - - var warnOnce = (text) => { - warnOnce.shown ||= {}; - if (!warnOnce.shown[text]) { - warnOnce.shown[text] = 1; - if (ENVIRONMENT_IS_NODE) text = 'warning: ' + text; - err(text); - } - }; - - var PATH = { - isAbs:(path) => path.charAt(0) === '/', - splitPath:(filename) => { - var splitPathRe = /^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/; - return splitPathRe.exec(filename).slice(1); - }, - normalizeArray:(parts, allowAboveRoot) => { - // if the path tries to go above the root, `up` ends up > 0 - var up = 0; - for (var i = parts.length - 1; i >= 0; i--) { - var last = parts[i]; - if (last === '.') { - parts.splice(i, 1); - } else if (last === '..') { - parts.splice(i, 1); - up++; - } else if (up) { - parts.splice(i, 1); - up--; - } - } - // if the path is allowed to go above the root, restore leading ..s - if (allowAboveRoot) { - for (; up; up--) { - parts.unshift('..'); - } - } - return parts; - }, - normalize:(path) => { - var isAbsolute = PATH.isAbs(path), - trailingSlash = path.slice(-1) === '/'; - // Normalize the path - path = PATH.normalizeArray(path.split('/').filter((p) => !!p), !isAbsolute).join('/'); - if (!path && !isAbsolute) { - path = '.'; - } - if (path && trailingSlash) { - path += '/'; - } - return (isAbsolute ? '/' : '') + path; - }, - dirname:(path) => { - var result = PATH.splitPath(path), - root = result[0], - dir = result[1]; - if (!root && !dir) { - // No dirname whatsoever - return '.'; - } - if (dir) { - // It has a dirname, strip trailing slash - dir = dir.slice(0, -1); - } - return root + dir; - }, - basename:(path) => path && path.match(/([^\/]+|\/)\/*$/)[1], - join:(...paths) => PATH.normalize(paths.join('/')), - join2:(l, r) => PATH.normalize(l + '/' + r), - }; - - var initRandomFill = () => { - // This block is not needed on v19+ since crypto.getRandomValues is builtin - if (ENVIRONMENT_IS_NODE) { - var nodeCrypto = require('crypto'); - return (view) => nodeCrypto.randomFillSync(view); - } - - return (view) => crypto.getRandomValues(view); - }; - var randomFill = (view) => { - // Lazily init on the first invocation. - (randomFill = initRandomFill())(view); - }; - - - - var PATH_FS = { - resolve:(...args) => { - var resolvedPath = '', - resolvedAbsolute = false; - for (var i = args.length - 1; i >= -1 && !resolvedAbsolute; i--) { - var path = (i >= 0) ? args[i] : FS.cwd(); - // Skip empty and invalid entries - if (typeof path != 'string') { - throw new TypeError('Arguments to path.resolve must be strings'); - } else if (!path) { - return ''; // an invalid portion invalidates the whole thing - } - resolvedPath = path + '/' + resolvedPath; - resolvedAbsolute = PATH.isAbs(path); - } - // At this point the path should be resolved to a full absolute path, but - // handle relative paths to be safe (might happen when process.cwd() fails) - resolvedPath = PATH.normalizeArray(resolvedPath.split('/').filter((p) => !!p), !resolvedAbsolute).join('/'); - return ((resolvedAbsolute ? '/' : '') + resolvedPath) || '.'; - }, - relative:(from, to) => { - from = PATH_FS.resolve(from).slice(1); - to = PATH_FS.resolve(to).slice(1); - function trim(arr) { - var start = 0; - for (; start < arr.length; start++) { - if (arr[start] !== '') break; - } - var end = arr.length - 1; - for (; end >= 0; end--) { - if (arr[end] !== '') break; - } - if (start > end) return []; - return arr.slice(start, end - start + 1); - } - var fromParts = trim(from.split('/')); - var toParts = trim(to.split('/')); - var length = Math.min(fromParts.length, toParts.length); - var samePartsLength = length; - for (var i = 0; i < length; i++) { - if (fromParts[i] !== toParts[i]) { - samePartsLength = i; - break; - } - } - var outputParts = []; - for (var i = samePartsLength; i < fromParts.length; i++) { - outputParts.push('..'); - } - outputParts = outputParts.concat(toParts.slice(samePartsLength)); - return outputParts.join('/'); - }, - }; - - - var UTF8Decoder = typeof TextDecoder != 'undefined' ? new TextDecoder() : undefined; - - /** - * Given a pointer 'idx' to a null-terminated UTF8-encoded string in the given - * array that contains uint8 values, returns a copy of that string as a - * Javascript String object. - * heapOrArray is either a regular array, or a JavaScript typed array view. - * @param {number=} idx - * @param {number=} maxBytesToRead - * @return {string} - */ - var UTF8ArrayToString = (heapOrArray, idx = 0, maxBytesToRead = NaN) => { - var endIdx = idx + maxBytesToRead; - var endPtr = idx; - // TextDecoder needs to know the byte length in advance, it doesn't stop on - // null terminator by itself. Also, use the length info to avoid running tiny - // strings through TextDecoder, since .subarray() allocates garbage. - // (As a tiny code save trick, compare endPtr against endIdx using a negation, - // so that undefined/NaN means Infinity) - while (heapOrArray[endPtr] && !(endPtr >= endIdx)) ++endPtr; - - if (endPtr - idx > 16 && heapOrArray.buffer && UTF8Decoder) { - return UTF8Decoder.decode(heapOrArray.subarray(idx, endPtr)); - } - var str = ''; - // If building with TextDecoder, we have already computed the string length - // above, so test loop end condition against that - while (idx < endPtr) { - // For UTF8 byte structure, see: - // http://en.wikipedia.org/wiki/UTF-8#Description - // https://www.ietf.org/rfc/rfc2279.txt - // https://tools.ietf.org/html/rfc3629 - var u0 = heapOrArray[idx++]; - if (!(u0 & 0x80)) { str += String.fromCharCode(u0); continue; } - var u1 = heapOrArray[idx++] & 63; - if ((u0 & 0xE0) == 0xC0) { str += String.fromCharCode(((u0 & 31) << 6) | u1); continue; } - var u2 = heapOrArray[idx++] & 63; - if ((u0 & 0xF0) == 0xE0) { - u0 = ((u0 & 15) << 12) | (u1 << 6) | u2; - } else { - if ((u0 & 0xF8) != 0xF0) warnOnce('Invalid UTF-8 leading byte ' + ptrToString(u0) + ' encountered when deserializing a UTF-8 string in wasm memory to a JS string!'); - u0 = ((u0 & 7) << 18) | (u1 << 12) | (u2 << 6) | (heapOrArray[idx++] & 63); - } - - if (u0 < 0x10000) { - str += String.fromCharCode(u0); - } else { - var ch = u0 - 0x10000; - str += String.fromCharCode(0xD800 | (ch >> 10), 0xDC00 | (ch & 0x3FF)); - } - } - return str; - }; - - var FS_stdin_getChar_buffer = []; - - var lengthBytesUTF8 = (str) => { - var len = 0; - for (var i = 0; i < str.length; ++i) { - // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code - // unit, not a Unicode code point of the character! So decode - // UTF16->UTF32->UTF8. - // See http://unicode.org/faq/utf_bom.html#utf16-3 - var c = str.charCodeAt(i); // possibly a lead surrogate - if (c <= 0x7F) { - len++; - } else if (c <= 0x7FF) { - len += 2; - } else if (c >= 0xD800 && c <= 0xDFFF) { - len += 4; ++i; - } else { - len += 3; - } - } - return len; - }; - - var stringToUTF8Array = (str, heap, outIdx, maxBytesToWrite) => { - assert(typeof str === 'string', `stringToUTF8Array expects a string (got ${typeof str})`); - // Parameter maxBytesToWrite is not optional. Negative values, 0, null, - // undefined and false each don't write out any bytes. - if (!(maxBytesToWrite > 0)) - return 0; - - var startIdx = outIdx; - var endIdx = outIdx + maxBytesToWrite - 1; // -1 for string null terminator. - for (var i = 0; i < str.length; ++i) { - // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code - // unit, not a Unicode code point of the character! So decode - // UTF16->UTF32->UTF8. - // See http://unicode.org/faq/utf_bom.html#utf16-3 - // For UTF8 byte structure, see http://en.wikipedia.org/wiki/UTF-8#Description - // and https://www.ietf.org/rfc/rfc2279.txt - // and https://tools.ietf.org/html/rfc3629 - var u = str.charCodeAt(i); // possibly a lead surrogate - if (u >= 0xD800 && u <= 0xDFFF) { - var u1 = str.charCodeAt(++i); - u = 0x10000 + ((u & 0x3FF) << 10) | (u1 & 0x3FF); - } - if (u <= 0x7F) { - if (outIdx >= endIdx) break; - heap[outIdx++] = u; - } else if (u <= 0x7FF) { - if (outIdx + 1 >= endIdx) break; - heap[outIdx++] = 0xC0 | (u >> 6); - heap[outIdx++] = 0x80 | (u & 63); - } else if (u <= 0xFFFF) { - if (outIdx + 2 >= endIdx) break; - heap[outIdx++] = 0xE0 | (u >> 12); - heap[outIdx++] = 0x80 | ((u >> 6) & 63); - heap[outIdx++] = 0x80 | (u & 63); - } else { - if (outIdx + 3 >= endIdx) break; - if (u > 0x10FFFF) warnOnce('Invalid Unicode code point ' + ptrToString(u) + ' encountered when serializing a JS string to a UTF-8 string in wasm memory! (Valid unicode code points should be in range 0-0x10FFFF).'); - heap[outIdx++] = 0xF0 | (u >> 18); - heap[outIdx++] = 0x80 | ((u >> 12) & 63); - heap[outIdx++] = 0x80 | ((u >> 6) & 63); - heap[outIdx++] = 0x80 | (u & 63); - } - } - // Null-terminate the pointer to the buffer. - heap[outIdx] = 0; - return outIdx - startIdx; - }; - /** @type {function(string, boolean=, number=)} */ - var intArrayFromString = (stringy, dontAddNull, length) => { - var len = length > 0 ? length : lengthBytesUTF8(stringy)+1; - var u8array = new Array(len); - var numBytesWritten = stringToUTF8Array(stringy, u8array, 0, u8array.length); - if (dontAddNull) u8array.length = numBytesWritten; - return u8array; - }; - var FS_stdin_getChar = () => { - if (!FS_stdin_getChar_buffer.length) { - var result = null; - if (ENVIRONMENT_IS_NODE) { - // we will read data by chunks of BUFSIZE - var BUFSIZE = 256; - var buf = Buffer.alloc(BUFSIZE); - var bytesRead = 0; - - // For some reason we must suppress a closure warning here, even though - // fd definitely exists on process.stdin, and is even the proper way to - // get the fd of stdin, - // https://github.com/nodejs/help/issues/2136#issuecomment-523649904 - // This started to happen after moving this logic out of library_tty.js, - // so it is related to the surrounding code in some unclear manner. - /** @suppress {missingProperties} */ - var fd = process.stdin.fd; - - try { - bytesRead = fs.readSync(fd, buf, 0, BUFSIZE); - } catch(e) { - // Cross-platform differences: on Windows, reading EOF throws an - // exception, but on other OSes, reading EOF returns 0. Uniformize - // behavior by treating the EOF exception to return 0. - if (e.toString().includes('EOF')) bytesRead = 0; - else throw e; - } - - if (bytesRead > 0) { - result = buf.slice(0, bytesRead).toString('utf-8'); - } - } else - if (typeof window != 'undefined' && - typeof window.prompt == 'function') { - // Browser. - result = window.prompt('Input: '); // returns null on cancel - if (result !== null) { - result += '\n'; - } - } else - {} - if (!result) { - return null; - } - FS_stdin_getChar_buffer = intArrayFromString(result, true); - } - return FS_stdin_getChar_buffer.shift(); - }; - var TTY = { - ttys:[], - init() { - // https://github.com/emscripten-core/emscripten/pull/1555 - // if (ENVIRONMENT_IS_NODE) { - // // currently, FS.init does not distinguish if process.stdin is a file or TTY - // // device, it always assumes it's a TTY device. because of this, we're forcing - // // process.stdin to UTF8 encoding to at least make stdin reading compatible - // // with text files until FS.init can be refactored. - // process.stdin.setEncoding('utf8'); - // } - }, - shutdown() { - // https://github.com/emscripten-core/emscripten/pull/1555 - // if (ENVIRONMENT_IS_NODE) { - // // inolen: any idea as to why node -e 'process.stdin.read()' wouldn't exit immediately (with process.stdin being a tty)? - // // isaacs: because now it's reading from the stream, you've expressed interest in it, so that read() kicks off a _read() which creates a ReadReq operation - // // inolen: I thought read() in that case was a synchronous operation that just grabbed some amount of buffered data if it exists? - // // isaacs: it is. but it also triggers a _read() call, which calls readStart() on the handle - // // isaacs: do process.stdin.pause() and i'd think it'd probably close the pending call - // process.stdin.pause(); - // } - }, - register(dev, ops) { - TTY.ttys[dev] = { input: [], output: [], ops: ops }; - FS.registerDevice(dev, TTY.stream_ops); - }, - stream_ops:{ - open(stream) { - var tty = TTY.ttys[stream.node.rdev]; - if (!tty) { - throw new FS.ErrnoError(43); - } - stream.tty = tty; - stream.seekable = false; - }, - close(stream) { - // flush any pending line data - stream.tty.ops.fsync(stream.tty); - }, - fsync(stream) { - stream.tty.ops.fsync(stream.tty); - }, - read(stream, buffer, offset, length, pos /* ignored */) { - if (!stream.tty || !stream.tty.ops.get_char) { - throw new FS.ErrnoError(60); - } - var bytesRead = 0; - for (var i = 0; i < length; i++) { - var result; - try { - result = stream.tty.ops.get_char(stream.tty); - } catch (e) { - throw new FS.ErrnoError(29); - } - if (result === undefined && bytesRead === 0) { - throw new FS.ErrnoError(6); - } - if (result === null || result === undefined) break; - bytesRead++; - buffer[offset+i] = result; - } - if (bytesRead) { - stream.node.atime = Date.now(); - } - return bytesRead; - }, - write(stream, buffer, offset, length, pos) { - if (!stream.tty || !stream.tty.ops.put_char) { - throw new FS.ErrnoError(60); - } - try { - for (var i = 0; i < length; i++) { - stream.tty.ops.put_char(stream.tty, buffer[offset+i]); - } - } catch (e) { - throw new FS.ErrnoError(29); - } - if (length) { - stream.node.mtime = stream.node.ctime = Date.now(); - } - return i; - }, - }, - default_tty_ops:{ - get_char(tty) { - return FS_stdin_getChar(); - }, - put_char(tty, val) { - if (val === null || val === 10) { - out(UTF8ArrayToString(tty.output)); - tty.output = []; - } else { - if (val != 0) tty.output.push(val); // val == 0 would cut text output off in the middle. - } - }, - fsync(tty) { - if (tty.output?.length > 0) { - out(UTF8ArrayToString(tty.output)); - tty.output = []; - } - }, - ioctl_tcgets(tty) { - // typical setting - return { - c_iflag: 25856, - c_oflag: 5, - c_cflag: 191, - c_lflag: 35387, - c_cc: [ - 0x03, 0x1c, 0x7f, 0x15, 0x04, 0x00, 0x01, 0x00, 0x11, 0x13, 0x1a, 0x00, - 0x12, 0x0f, 0x17, 0x16, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - ] - }; - }, - ioctl_tcsets(tty, optional_actions, data) { - // currently just ignore - return 0; - }, - ioctl_tiocgwinsz(tty) { - return [24, 80]; - }, - }, - default_tty1_ops:{ - put_char(tty, val) { - if (val === null || val === 10) { - err(UTF8ArrayToString(tty.output)); - tty.output = []; - } else { - if (val != 0) tty.output.push(val); - } - }, - fsync(tty) { - if (tty.output?.length > 0) { - err(UTF8ArrayToString(tty.output)); - tty.output = []; - } - }, - }, - }; - - - var mmapAlloc = (size) => { - abort('internal error: mmapAlloc called but `emscripten_builtin_memalign` native symbol not exported'); - }; - var MEMFS = { - ops_table:null, - mount(mount) { - return MEMFS.createNode(null, '/', 16895, 0); - }, - createNode(parent, name, mode, dev) { - if (FS.isBlkdev(mode) || FS.isFIFO(mode)) { - // no supported - throw new FS.ErrnoError(63); - } - MEMFS.ops_table ||= { - dir: { - node: { - getattr: MEMFS.node_ops.getattr, - setattr: MEMFS.node_ops.setattr, - lookup: MEMFS.node_ops.lookup, - mknod: MEMFS.node_ops.mknod, - rename: MEMFS.node_ops.rename, - unlink: MEMFS.node_ops.unlink, - rmdir: MEMFS.node_ops.rmdir, - readdir: MEMFS.node_ops.readdir, - symlink: MEMFS.node_ops.symlink - }, - stream: { - llseek: MEMFS.stream_ops.llseek - } - }, - file: { - node: { - getattr: MEMFS.node_ops.getattr, - setattr: MEMFS.node_ops.setattr - }, - stream: { - llseek: MEMFS.stream_ops.llseek, - read: MEMFS.stream_ops.read, - write: MEMFS.stream_ops.write, - mmap: MEMFS.stream_ops.mmap, - msync: MEMFS.stream_ops.msync - } - }, - link: { - node: { - getattr: MEMFS.node_ops.getattr, - setattr: MEMFS.node_ops.setattr, - readlink: MEMFS.node_ops.readlink - }, - stream: {} - }, - chrdev: { - node: { - getattr: MEMFS.node_ops.getattr, - setattr: MEMFS.node_ops.setattr - }, - stream: FS.chrdev_stream_ops - } - }; - var node = FS.createNode(parent, name, mode, dev); - if (FS.isDir(node.mode)) { - node.node_ops = MEMFS.ops_table.dir.node; - node.stream_ops = MEMFS.ops_table.dir.stream; - node.contents = {}; - } else if (FS.isFile(node.mode)) { - node.node_ops = MEMFS.ops_table.file.node; - node.stream_ops = MEMFS.ops_table.file.stream; - node.usedBytes = 0; // The actual number of bytes used in the typed array, as opposed to contents.length which gives the whole capacity. - // When the byte data of the file is populated, this will point to either a typed array, or a normal JS array. Typed arrays are preferred - // for performance, and used by default. However, typed arrays are not resizable like normal JS arrays are, so there is a small disk size - // penalty involved for appending file writes that continuously grow a file similar to std::vector capacity vs used -scheme. - node.contents = null; - } else if (FS.isLink(node.mode)) { - node.node_ops = MEMFS.ops_table.link.node; - node.stream_ops = MEMFS.ops_table.link.stream; - } else if (FS.isChrdev(node.mode)) { - node.node_ops = MEMFS.ops_table.chrdev.node; - node.stream_ops = MEMFS.ops_table.chrdev.stream; - } - node.atime = node.mtime = node.ctime = Date.now(); - // add the new node to the parent - if (parent) { - parent.contents[name] = node; - parent.atime = parent.mtime = parent.ctime = node.atime; - } - return node; - }, - getFileDataAsTypedArray(node) { - if (!node.contents) return new Uint8Array(0); - if (node.contents.subarray) return node.contents.subarray(0, node.usedBytes); // Make sure to not return excess unused bytes. - return new Uint8Array(node.contents); - }, - expandFileStorage(node, newCapacity) { - var prevCapacity = node.contents ? node.contents.length : 0; - if (prevCapacity >= newCapacity) return; // No need to expand, the storage was already large enough. - // Don't expand strictly to the given requested limit if it's only a very small increase, but instead geometrically grow capacity. - // For small filesizes (<1MB), perform size*2 geometric increase, but for large sizes, do a much more conservative size*1.125 increase to - // avoid overshooting the allocation cap by a very large margin. - var CAPACITY_DOUBLING_MAX = 1024 * 1024; - newCapacity = Math.max(newCapacity, (prevCapacity * (prevCapacity < CAPACITY_DOUBLING_MAX ? 2.0 : 1.125)) >>> 0); - if (prevCapacity != 0) newCapacity = Math.max(newCapacity, 256); // At minimum allocate 256b for each file when expanding. - var oldContents = node.contents; - node.contents = new Uint8Array(newCapacity); // Allocate new storage. - if (node.usedBytes > 0) node.contents.set(oldContents.subarray(0, node.usedBytes), 0); // Copy old data over to the new storage. - }, - resizeFileStorage(node, newSize) { - if (node.usedBytes == newSize) return; - if (newSize == 0) { - node.contents = null; // Fully decommit when requesting a resize to zero. - node.usedBytes = 0; - } else { - var oldContents = node.contents; - node.contents = new Uint8Array(newSize); // Allocate new storage. - if (oldContents) { - node.contents.set(oldContents.subarray(0, Math.min(newSize, node.usedBytes))); // Copy old data over to the new storage. - } - node.usedBytes = newSize; - } - }, - node_ops:{ - getattr(node) { - var attr = {}; - // device numbers reuse inode numbers. - attr.dev = FS.isChrdev(node.mode) ? node.id : 1; - attr.ino = node.id; - attr.mode = node.mode; - attr.nlink = 1; - attr.uid = 0; - attr.gid = 0; - attr.rdev = node.rdev; - if (FS.isDir(node.mode)) { - attr.size = 4096; - } else if (FS.isFile(node.mode)) { - attr.size = node.usedBytes; - } else if (FS.isLink(node.mode)) { - attr.size = node.link.length; - } else { - attr.size = 0; - } - attr.atime = new Date(node.atime); - attr.mtime = new Date(node.mtime); - attr.ctime = new Date(node.ctime); - // NOTE: In our implementation, st_blocks = Math.ceil(st_size/st_blksize), - // but this is not required by the standard. - attr.blksize = 4096; - attr.blocks = Math.ceil(attr.size / attr.blksize); - return attr; - }, - setattr(node, attr) { - for (const key of ["mode", "atime", "mtime", "ctime"]) { - if (attr[key] != null) { - node[key] = attr[key]; - } - } - if (attr.size !== undefined) { - MEMFS.resizeFileStorage(node, attr.size); - } - }, - lookup(parent, name) { - throw new FS.ErrnoError(44); - }, - mknod(parent, name, mode, dev) { - return MEMFS.createNode(parent, name, mode, dev); - }, - rename(old_node, new_dir, new_name) { - var new_node; - try { - new_node = FS.lookupNode(new_dir, new_name); - } catch (e) {} - if (new_node) { - if (FS.isDir(old_node.mode)) { - // if we're overwriting a directory at new_name, make sure it's empty. - for (var i in new_node.contents) { - throw new FS.ErrnoError(55); - } - } - FS.hashRemoveNode(new_node); - } - // do the internal rewiring - delete old_node.parent.contents[old_node.name]; - new_dir.contents[new_name] = old_node; - old_node.name = new_name; - new_dir.ctime = new_dir.mtime = old_node.parent.ctime = old_node.parent.mtime = Date.now(); - }, - unlink(parent, name) { - delete parent.contents[name]; - parent.ctime = parent.mtime = Date.now(); - }, - rmdir(parent, name) { - var node = FS.lookupNode(parent, name); - for (var i in node.contents) { - throw new FS.ErrnoError(55); - } - delete parent.contents[name]; - parent.ctime = parent.mtime = Date.now(); - }, - readdir(node) { - return ['.', '..', ...Object.keys(node.contents)]; - }, - symlink(parent, newname, oldpath) { - var node = MEMFS.createNode(parent, newname, 0o777 | 40960, 0); - node.link = oldpath; - return node; - }, - readlink(node) { - if (!FS.isLink(node.mode)) { - throw new FS.ErrnoError(28); - } - return node.link; - }, - }, - stream_ops:{ - read(stream, buffer, offset, length, position) { - var contents = stream.node.contents; - if (position >= stream.node.usedBytes) return 0; - var size = Math.min(stream.node.usedBytes - position, length); - assert(size >= 0); - if (size > 8 && contents.subarray) { // non-trivial, and typed array - buffer.set(contents.subarray(position, position + size), offset); - } else { - for (var i = 0; i < size; i++) buffer[offset + i] = contents[position + i]; - } - return size; - }, - write(stream, buffer, offset, length, position, canOwn) { - // The data buffer should be a typed array view - assert(!(buffer instanceof ArrayBuffer)); - - if (!length) return 0; - var node = stream.node; - node.mtime = node.ctime = Date.now(); - - if (buffer.subarray && (!node.contents || node.contents.subarray)) { // This write is from a typed array to a typed array? - if (canOwn) { - assert(position === 0, 'canOwn must imply no weird position inside the file'); - node.contents = buffer.subarray(offset, offset + length); - node.usedBytes = length; - return length; - } else if (node.usedBytes === 0 && position === 0) { // If this is a simple first write to an empty file, do a fast set since we don't need to care about old data. - node.contents = buffer.slice(offset, offset + length); - node.usedBytes = length; - return length; - } else if (position + length <= node.usedBytes) { // Writing to an already allocated and used subrange of the file? - node.contents.set(buffer.subarray(offset, offset + length), position); - return length; - } - } - - // Appending to an existing file and we need to reallocate, or source data did not come as a typed array. - MEMFS.expandFileStorage(node, position+length); - if (node.contents.subarray && buffer.subarray) { - // Use typed array write which is available. - node.contents.set(buffer.subarray(offset, offset + length), position); - } else { - for (var i = 0; i < length; i++) { - node.contents[position + i] = buffer[offset + i]; // Or fall back to manual write if not. - } - } - node.usedBytes = Math.max(node.usedBytes, position + length); - return length; - }, - llseek(stream, offset, whence) { - var position = offset; - if (whence === 1) { - position += stream.position; - } else if (whence === 2) { - if (FS.isFile(stream.node.mode)) { - position += stream.node.usedBytes; - } - } - if (position < 0) { - throw new FS.ErrnoError(28); - } - return position; - }, - mmap(stream, length, position, prot, flags) { - if (!FS.isFile(stream.node.mode)) { - throw new FS.ErrnoError(43); - } - var ptr; - var allocated; - var contents = stream.node.contents; - // Only make a new copy when MAP_PRIVATE is specified. - if (!(flags & 2) && contents && contents.buffer === HEAP8.buffer) { - // We can't emulate MAP_SHARED when the file is not backed by the - // buffer we're mapping to (e.g. the HEAP buffer). - allocated = false; - ptr = contents.byteOffset; - } else { - allocated = true; - ptr = mmapAlloc(length); - if (!ptr) { - throw new FS.ErrnoError(48); - } - if (contents) { - // Try to avoid unnecessary slices. - if (position > 0 || position + length < contents.length) { - if (contents.subarray) { - contents = contents.subarray(position, position + length); - } else { - contents = Array.prototype.slice.call(contents, position, position + length); - } - } - HEAP8.set(contents, ptr); - } - } - return { ptr, allocated }; - }, - msync(stream, buffer, offset, length, mmapFlags) { - MEMFS.stream_ops.write(stream, buffer, 0, length, offset, false); - // should we check if bytesWritten and length are the same? - return 0; - }, - }, - }; - - var asyncLoad = async (url) => { - var arrayBuffer = await readAsync(url); - assert(arrayBuffer, `Loading data file "${url}" failed (no arrayBuffer).`); - return new Uint8Array(arrayBuffer); - }; - - - var FS_createDataFile = (parent, name, fileData, canRead, canWrite, canOwn) => { - FS.createDataFile(parent, name, fileData, canRead, canWrite, canOwn); - }; - - var preloadPlugins = Module['preloadPlugins'] || []; - var FS_handledByPreloadPlugin = (byteArray, fullname, finish, onerror) => { - // Ensure plugins are ready. - if (typeof Browser != 'undefined') Browser.init(); - - var handled = false; - preloadPlugins.forEach((plugin) => { - if (handled) return; - if (plugin['canHandle'](fullname)) { - plugin['handle'](byteArray, fullname, finish, onerror); - handled = true; - } - }); - return handled; - }; - var FS_createPreloadedFile = (parent, name, url, canRead, canWrite, onload, onerror, dontCreateFile, canOwn, preFinish) => { - // TODO we should allow people to just pass in a complete filename instead - // of parent and name being that we just join them anyways - var fullname = name ? PATH_FS.resolve(PATH.join2(parent, name)) : parent; - var dep = getUniqueRunDependency(`cp ${fullname}`); // might have several active requests for the same fullname - function processData(byteArray) { - function finish(byteArray) { - preFinish?.(); - if (!dontCreateFile) { - FS_createDataFile(parent, name, byteArray, canRead, canWrite, canOwn); - } - onload?.(); - removeRunDependency(dep); - } - if (FS_handledByPreloadPlugin(byteArray, fullname, finish, () => { - onerror?.(); - removeRunDependency(dep); - })) { - return; - } - finish(byteArray); - } - addRunDependency(dep); - if (typeof url == 'string') { - asyncLoad(url).then(processData, onerror); - } else { - processData(url); - } - }; - - var FS_modeStringToFlags = (str) => { - var flagModes = { - 'r': 0, - 'r+': 2, - 'w': 512 | 64 | 1, - 'w+': 512 | 64 | 2, - 'a': 1024 | 64 | 1, - 'a+': 1024 | 64 | 2, - }; - var flags = flagModes[str]; - if (typeof flags == 'undefined') { - throw new Error(`Unknown file open mode: ${str}`); - } - return flags; - }; - - var FS_getMode = (canRead, canWrite) => { - var mode = 0; - if (canRead) mode |= 292 | 73; - if (canWrite) mode |= 146; - return mode; - }; - - - - - - - /** - * Given a pointer 'ptr' to a null-terminated UTF8-encoded string in the - * emscripten HEAP, returns a copy of that string as a Javascript String object. - * - * @param {number} ptr - * @param {number=} maxBytesToRead - An optional length that specifies the - * maximum number of bytes to read. You can omit this parameter to scan the - * string until the first 0 byte. If maxBytesToRead is passed, and the string - * at [ptr, ptr+maxBytesToReadr[ contains a null byte in the middle, then the - * string will cut short at that byte index (i.e. maxBytesToRead will not - * produce a string of exact length [ptr, ptr+maxBytesToRead[) N.B. mixing - * frequent uses of UTF8ToString() with and without maxBytesToRead may throw - * JS JIT optimizations off, so it is worth to consider consistently using one - * @return {string} - */ - var UTF8ToString = (ptr, maxBytesToRead) => { - assert(typeof ptr == 'number', `UTF8ToString expects a number (got ${typeof ptr})`); - return ptr ? UTF8ArrayToString(HEAPU8, ptr, maxBytesToRead) : ''; - }; - - var strError = (errno) => UTF8ToString(_strerror(errno)); - - var ERRNO_CODES = { - 'EPERM': 63, - 'ENOENT': 44, - 'ESRCH': 71, - 'EINTR': 27, - 'EIO': 29, - 'ENXIO': 60, - 'E2BIG': 1, - 'ENOEXEC': 45, - 'EBADF': 8, - 'ECHILD': 12, - 'EAGAIN': 6, - 'EWOULDBLOCK': 6, - 'ENOMEM': 48, - 'EACCES': 2, - 'EFAULT': 21, - 'ENOTBLK': 105, - 'EBUSY': 10, - 'EEXIST': 20, - 'EXDEV': 75, - 'ENODEV': 43, - 'ENOTDIR': 54, - 'EISDIR': 31, - 'EINVAL': 28, - 'ENFILE': 41, - 'EMFILE': 33, - 'ENOTTY': 59, - 'ETXTBSY': 74, - 'EFBIG': 22, - 'ENOSPC': 51, - 'ESPIPE': 70, - 'EROFS': 69, - 'EMLINK': 34, - 'EPIPE': 64, - 'EDOM': 18, - 'ERANGE': 68, - 'ENOMSG': 49, - 'EIDRM': 24, - 'ECHRNG': 106, - 'EL2NSYNC': 156, - 'EL3HLT': 107, - 'EL3RST': 108, - 'ELNRNG': 109, - 'EUNATCH': 110, - 'ENOCSI': 111, - 'EL2HLT': 112, - 'EDEADLK': 16, - 'ENOLCK': 46, - 'EBADE': 113, - 'EBADR': 114, - 'EXFULL': 115, - 'ENOANO': 104, - 'EBADRQC': 103, - 'EBADSLT': 102, - 'EDEADLOCK': 16, - 'EBFONT': 101, - 'ENOSTR': 100, - 'ENODATA': 116, - 'ETIME': 117, - 'ENOSR': 118, - 'ENONET': 119, - 'ENOPKG': 120, - 'EREMOTE': 121, - 'ENOLINK': 47, - 'EADV': 122, - 'ESRMNT': 123, - 'ECOMM': 124, - 'EPROTO': 65, - 'EMULTIHOP': 36, - 'EDOTDOT': 125, - 'EBADMSG': 9, - 'ENOTUNIQ': 126, - 'EBADFD': 127, - 'EREMCHG': 128, - 'ELIBACC': 129, - 'ELIBBAD': 130, - 'ELIBSCN': 131, - 'ELIBMAX': 132, - 'ELIBEXEC': 133, - 'ENOSYS': 52, - 'ENOTEMPTY': 55, - 'ENAMETOOLONG': 37, - 'ELOOP': 32, - 'EOPNOTSUPP': 138, - 'EPFNOSUPPORT': 139, - 'ECONNRESET': 15, - 'ENOBUFS': 42, - 'EAFNOSUPPORT': 5, - 'EPROTOTYPE': 67, - 'ENOTSOCK': 57, - 'ENOPROTOOPT': 50, - 'ESHUTDOWN': 140, - 'ECONNREFUSED': 14, - 'EADDRINUSE': 3, - 'ECONNABORTED': 13, - 'ENETUNREACH': 40, - 'ENETDOWN': 38, - 'ETIMEDOUT': 73, - 'EHOSTDOWN': 142, - 'EHOSTUNREACH': 23, - 'EINPROGRESS': 26, - 'EALREADY': 7, - 'EDESTADDRREQ': 17, - 'EMSGSIZE': 35, - 'EPROTONOSUPPORT': 66, - 'ESOCKTNOSUPPORT': 137, - 'EADDRNOTAVAIL': 4, - 'ENETRESET': 39, - 'EISCONN': 30, - 'ENOTCONN': 53, - 'ETOOMANYREFS': 141, - 'EUSERS': 136, - 'EDQUOT': 19, - 'ESTALE': 72, - 'ENOTSUP': 138, - 'ENOMEDIUM': 148, - 'EILSEQ': 25, - 'EOVERFLOW': 61, - 'ECANCELED': 11, - 'ENOTRECOVERABLE': 56, - 'EOWNERDEAD': 62, - 'ESTRPIPE': 135, - }; - var FS = { - root:null, - mounts:[], - devices:{ - }, - streams:[], - nextInode:1, - nameTable:null, - currentPath:"/", - initialized:false, - ignorePermissions:true, - filesystems:null, - syncFSRequests:0, - readFiles:{ - }, - ErrnoError:class extends Error { - name = 'ErrnoError'; - // We set the `name` property to be able to identify `FS.ErrnoError` - // - the `name` is a standard ECMA-262 property of error objects. Kind of good to have it anyway. - // - when using PROXYFS, an error can come from an underlying FS - // as different FS objects have their own FS.ErrnoError each, - // the test `err instanceof FS.ErrnoError` won't detect an error coming from another filesystem, causing bugs. - // we'll use the reliable test `err.name == "ErrnoError"` instead - constructor(errno) { - super(runtimeInitialized ? strError(errno) : ''); - this.errno = errno; - for (var key in ERRNO_CODES) { - if (ERRNO_CODES[key] === errno) { - this.code = key; - break; - } - } - } - }, - FSStream:class { - shared = {}; - get object() { - return this.node; - } - set object(val) { - this.node = val; - } - get isRead() { - return (this.flags & 2097155) !== 1; - } - get isWrite() { - return (this.flags & 2097155) !== 0; - } - get isAppend() { - return (this.flags & 1024); - } - get flags() { - return this.shared.flags; - } - set flags(val) { - this.shared.flags = val; - } - get position() { - return this.shared.position; - } - set position(val) { - this.shared.position = val; - } - }, - FSNode:class { - node_ops = {}; - stream_ops = {}; - readMode = 292 | 73; - writeMode = 146; - mounted = null; - constructor(parent, name, mode, rdev) { - if (!parent) { - parent = this; // root node sets parent to itself - } - this.parent = parent; - this.mount = parent.mount; - this.id = FS.nextInode++; - this.name = name; - this.mode = mode; - this.rdev = rdev; - this.atime = this.mtime = this.ctime = Date.now(); - } - get read() { - return (this.mode & this.readMode) === this.readMode; - } - set read(val) { - val ? this.mode |= this.readMode : this.mode &= ~this.readMode; - } - get write() { - return (this.mode & this.writeMode) === this.writeMode; - } - set write(val) { - val ? this.mode |= this.writeMode : this.mode &= ~this.writeMode; - } - get isFolder() { - return FS.isDir(this.mode); - } - get isDevice() { - return FS.isChrdev(this.mode); - } - }, - lookupPath(path, opts = {}) { - if (!path) { - throw new FS.ErrnoError(44); - } - opts.follow_mount ??= true - - if (!PATH.isAbs(path)) { - path = FS.cwd() + '/' + path; - } - - // limit max consecutive symlinks to 40 (SYMLOOP_MAX). - linkloop: for (var nlinks = 0; nlinks < 40; nlinks++) { - // split the absolute path - var parts = path.split('/').filter((p) => !!p); - - // start at the root - var current = FS.root; - var current_path = '/'; - - for (var i = 0; i < parts.length; i++) { - var islast = (i === parts.length-1); - if (islast && opts.parent) { - // stop resolving - break; - } - - if (parts[i] === '.') { - continue; - } - - if (parts[i] === '..') { - current_path = PATH.dirname(current_path); - current = current.parent; - continue; - } - - current_path = PATH.join2(current_path, parts[i]); - try { - current = FS.lookupNode(current, parts[i]); - } catch (e) { - // if noent_okay is true, suppress a ENOENT in the last component - // and return an object with an undefined node. This is needed for - // resolving symlinks in the path when creating a file. - if ((e?.errno === 44) && islast && opts.noent_okay) { - return { path: current_path }; - } - throw e; - } - - // jump to the mount's root node if this is a mountpoint - if (FS.isMountpoint(current) && (!islast || opts.follow_mount)) { - current = current.mounted.root; - } - - // by default, lookupPath will not follow a symlink if it is the final path component. - // setting opts.follow = true will override this behavior. - if (FS.isLink(current.mode) && (!islast || opts.follow)) { - if (!current.node_ops.readlink) { - throw new FS.ErrnoError(52); - } - var link = current.node_ops.readlink(current); - if (!PATH.isAbs(link)) { - link = PATH.dirname(current_path) + '/' + link; - } - path = link + '/' + parts.slice(i + 1).join('/'); - continue linkloop; - } - } - return { path: current_path, node: current }; - } - throw new FS.ErrnoError(32); - }, - getPath(node) { - var path; - while (true) { - if (FS.isRoot(node)) { - var mount = node.mount.mountpoint; - if (!path) return mount; - return mount[mount.length-1] !== '/' ? `${mount}/${path}` : mount + path; - } - path = path ? `${node.name}/${path}` : node.name; - node = node.parent; - } - }, - hashName(parentid, name) { - var hash = 0; - - for (var i = 0; i < name.length; i++) { - hash = ((hash << 5) - hash + name.charCodeAt(i)) | 0; - } - return ((parentid + hash) >>> 0) % FS.nameTable.length; - }, - hashAddNode(node) { - var hash = FS.hashName(node.parent.id, node.name); - node.name_next = FS.nameTable[hash]; - FS.nameTable[hash] = node; - }, - hashRemoveNode(node) { - var hash = FS.hashName(node.parent.id, node.name); - if (FS.nameTable[hash] === node) { - FS.nameTable[hash] = node.name_next; - } else { - var current = FS.nameTable[hash]; - while (current) { - if (current.name_next === node) { - current.name_next = node.name_next; - break; - } - current = current.name_next; - } - } - }, - lookupNode(parent, name) { - var errCode = FS.mayLookup(parent); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - var hash = FS.hashName(parent.id, name); - for (var node = FS.nameTable[hash]; node; node = node.name_next) { - var nodeName = node.name; - if (node.parent.id === parent.id && nodeName === name) { - return node; - } - } - // if we failed to find it in the cache, call into the VFS - return FS.lookup(parent, name); - }, - createNode(parent, name, mode, rdev) { - assert(typeof parent == 'object') - var node = new FS.FSNode(parent, name, mode, rdev); - - FS.hashAddNode(node); - - return node; - }, - destroyNode(node) { - FS.hashRemoveNode(node); - }, - isRoot(node) { - return node === node.parent; - }, - isMountpoint(node) { - return !!node.mounted; - }, - isFile(mode) { - return (mode & 61440) === 32768; - }, - isDir(mode) { - return (mode & 61440) === 16384; - }, - isLink(mode) { - return (mode & 61440) === 40960; - }, - isChrdev(mode) { - return (mode & 61440) === 8192; - }, - isBlkdev(mode) { - return (mode & 61440) === 24576; - }, - isFIFO(mode) { - return (mode & 61440) === 4096; - }, - isSocket(mode) { - return (mode & 49152) === 49152; - }, - flagsToPermissionString(flag) { - var perms = ['r', 'w', 'rw'][flag & 3]; - if ((flag & 512)) { - perms += 'w'; - } - return perms; - }, - nodePermissions(node, perms) { - if (FS.ignorePermissions) { - return 0; - } - // return 0 if any user, group or owner bits are set. - if (perms.includes('r') && !(node.mode & 292)) { - return 2; - } else if (perms.includes('w') && !(node.mode & 146)) { - return 2; - } else if (perms.includes('x') && !(node.mode & 73)) { - return 2; - } - return 0; - }, - mayLookup(dir) { - if (!FS.isDir(dir.mode)) return 54; - var errCode = FS.nodePermissions(dir, 'x'); - if (errCode) return errCode; - if (!dir.node_ops.lookup) return 2; - return 0; - }, - mayCreate(dir, name) { - if (!FS.isDir(dir.mode)) { - return 54; - } - try { - var node = FS.lookupNode(dir, name); - return 20; - } catch (e) { - } - return FS.nodePermissions(dir, 'wx'); - }, - mayDelete(dir, name, isdir) { - var node; - try { - node = FS.lookupNode(dir, name); - } catch (e) { - return e.errno; - } - var errCode = FS.nodePermissions(dir, 'wx'); - if (errCode) { - return errCode; - } - if (isdir) { - if (!FS.isDir(node.mode)) { - return 54; - } - if (FS.isRoot(node) || FS.getPath(node) === FS.cwd()) { - return 10; - } - } else { - if (FS.isDir(node.mode)) { - return 31; - } - } - return 0; - }, - mayOpen(node, flags) { - if (!node) { - return 44; - } - if (FS.isLink(node.mode)) { - return 32; - } else if (FS.isDir(node.mode)) { - if (FS.flagsToPermissionString(flags) !== 'r' // opening for write - || (flags & (512 | 64))) { // TODO: check for O_SEARCH? (== search for dir only) - return 31; - } - } - return FS.nodePermissions(node, FS.flagsToPermissionString(flags)); - }, - checkOpExists(op, err) { - if (!op) { - throw new FS.ErrnoError(err); - } - return op; - }, - MAX_OPEN_FDS:4096, - nextfd() { - for (var fd = 0; fd <= FS.MAX_OPEN_FDS; fd++) { - if (!FS.streams[fd]) { - return fd; - } - } - throw new FS.ErrnoError(33); - }, - getStreamChecked(fd) { - var stream = FS.getStream(fd); - if (!stream) { - throw new FS.ErrnoError(8); - } - return stream; - }, - getStream:(fd) => FS.streams[fd], - createStream(stream, fd = -1) { - assert(fd >= -1); - - // clone it, so we can return an instance of FSStream - stream = Object.assign(new FS.FSStream(), stream); - if (fd == -1) { - fd = FS.nextfd(); - } - stream.fd = fd; - FS.streams[fd] = stream; - return stream; - }, - closeStream(fd) { - FS.streams[fd] = null; - }, - dupStream(origStream, fd = -1) { - var stream = FS.createStream(origStream, fd); - stream.stream_ops?.dup?.(stream); - return stream; - }, - doSetAttr(stream, node, attr) { - var setattr = stream?.stream_ops.setattr; - var arg = setattr ? stream : node; - setattr ??= node.node_ops.setattr; - FS.checkOpExists(setattr, 63) - setattr(arg, attr); - }, - chrdev_stream_ops:{ - open(stream) { - var device = FS.getDevice(stream.node.rdev); - // override node's stream ops with the device's - stream.stream_ops = device.stream_ops; - // forward the open call - stream.stream_ops.open?.(stream); - }, - llseek() { - throw new FS.ErrnoError(70); - }, - }, - major:(dev) => ((dev) >> 8), - minor:(dev) => ((dev) & 0xff), - makedev:(ma, mi) => ((ma) << 8 | (mi)), - registerDevice(dev, ops) { - FS.devices[dev] = { stream_ops: ops }; - }, - getDevice:(dev) => FS.devices[dev], - getMounts(mount) { - var mounts = []; - var check = [mount]; - - while (check.length) { - var m = check.pop(); - - mounts.push(m); - - check.push(...m.mounts); - } - - return mounts; - }, - syncfs(populate, callback) { - if (typeof populate == 'function') { - callback = populate; - populate = false; - } - - FS.syncFSRequests++; - - if (FS.syncFSRequests > 1) { - err(`warning: ${FS.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`); - } - - var mounts = FS.getMounts(FS.root.mount); - var completed = 0; - - function doCallback(errCode) { - assert(FS.syncFSRequests > 0); - FS.syncFSRequests--; - return callback(errCode); - } - - function done(errCode) { - if (errCode) { - if (!done.errored) { - done.errored = true; - return doCallback(errCode); - } - return; - } - if (++completed >= mounts.length) { - doCallback(null); - } - }; - - // sync all mounts - mounts.forEach((mount) => { - if (!mount.type.syncfs) { - return done(null); - } - mount.type.syncfs(mount, populate, done); - }); - }, - mount(type, opts, mountpoint) { - if (typeof type == 'string') { - // The filesystem was not included, and instead we have an error - // message stored in the variable. - throw type; - } - var root = mountpoint === '/'; - var pseudo = !mountpoint; - var node; - - if (root && FS.root) { - throw new FS.ErrnoError(10); - } else if (!root && !pseudo) { - var lookup = FS.lookupPath(mountpoint, { follow_mount: false }); - - mountpoint = lookup.path; // use the absolute path - node = lookup.node; - - if (FS.isMountpoint(node)) { - throw new FS.ErrnoError(10); - } - - if (!FS.isDir(node.mode)) { - throw new FS.ErrnoError(54); - } - } - - var mount = { - type, - opts, - mountpoint, - mounts: [] - }; - - // create a root node for the fs - var mountRoot = type.mount(mount); - mountRoot.mount = mount; - mount.root = mountRoot; - - if (root) { - FS.root = mountRoot; - } else if (node) { - // set as a mountpoint - node.mounted = mount; - - // add the new mount to the current mount's children - if (node.mount) { - node.mount.mounts.push(mount); - } - } - - return mountRoot; - }, - unmount(mountpoint) { - var lookup = FS.lookupPath(mountpoint, { follow_mount: false }); - - if (!FS.isMountpoint(lookup.node)) { - throw new FS.ErrnoError(28); - } - - // destroy the nodes for this mount, and all its child mounts - var node = lookup.node; - var mount = node.mounted; - var mounts = FS.getMounts(mount); - - Object.keys(FS.nameTable).forEach((hash) => { - var current = FS.nameTable[hash]; - - while (current) { - var next = current.name_next; - - if (mounts.includes(current.mount)) { - FS.destroyNode(current); - } - - current = next; - } - }); - - // no longer a mountpoint - node.mounted = null; - - // remove this mount from the child mounts - var idx = node.mount.mounts.indexOf(mount); - assert(idx !== -1); - node.mount.mounts.splice(idx, 1); - }, - lookup(parent, name) { - return parent.node_ops.lookup(parent, name); - }, - mknod(path, mode, dev) { - var lookup = FS.lookupPath(path, { parent: true }); - var parent = lookup.node; - var name = PATH.basename(path); - if (!name) { - throw new FS.ErrnoError(28); - } - if (name === '.' || name === '..') { - throw new FS.ErrnoError(20); - } - var errCode = FS.mayCreate(parent, name); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - if (!parent.node_ops.mknod) { - throw new FS.ErrnoError(63); - } - return parent.node_ops.mknod(parent, name, mode, dev); - }, - statfs(path) { - return FS.statfsNode(FS.lookupPath(path, {follow: true}).node); - }, - statfsStream(stream) { - // We keep a separate statfsStream function because noderawfs overrides - // it. In noderawfs, stream.node is sometimes null. Instead, we need to - // look at stream.path. - return FS.statfsNode(stream.node); - }, - statfsNode(node) { - // NOTE: None of the defaults here are true. We're just returning safe and - // sane values. Currently nodefs and rawfs replace these defaults, - // other file systems leave them alone. - var rtn = { - bsize: 4096, - frsize: 4096, - blocks: 1e6, - bfree: 5e5, - bavail: 5e5, - files: FS.nextInode, - ffree: FS.nextInode - 1, - fsid: 42, - flags: 2, - namelen: 255, - }; - - if (node.node_ops.statfs) { - Object.assign(rtn, node.node_ops.statfs(node.mount.opts.root)); - } - return rtn; - }, - create(path, mode = 0o666) { - mode &= 4095; - mode |= 32768; - return FS.mknod(path, mode, 0); - }, - mkdir(path, mode = 0o777) { - mode &= 511 | 512; - mode |= 16384; - return FS.mknod(path, mode, 0); - }, - mkdirTree(path, mode) { - var dirs = path.split('/'); - var d = ''; - for (var dir of dirs) { - if (!dir) continue; - if (d || PATH.isAbs(path)) d += '/'; - d += dir; - try { - FS.mkdir(d, mode); - } catch(e) { - if (e.errno != 20) throw e; - } - } - }, - mkdev(path, mode, dev) { - if (typeof dev == 'undefined') { - dev = mode; - mode = 0o666; - } - mode |= 8192; - return FS.mknod(path, mode, dev); - }, - symlink(oldpath, newpath) { - if (!PATH_FS.resolve(oldpath)) { - throw new FS.ErrnoError(44); - } - var lookup = FS.lookupPath(newpath, { parent: true }); - var parent = lookup.node; - if (!parent) { - throw new FS.ErrnoError(44); - } - var newname = PATH.basename(newpath); - var errCode = FS.mayCreate(parent, newname); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - if (!parent.node_ops.symlink) { - throw new FS.ErrnoError(63); - } - return parent.node_ops.symlink(parent, newname, oldpath); - }, - rename(old_path, new_path) { - var old_dirname = PATH.dirname(old_path); - var new_dirname = PATH.dirname(new_path); - var old_name = PATH.basename(old_path); - var new_name = PATH.basename(new_path); - // parents must exist - var lookup, old_dir, new_dir; - - // let the errors from non existent directories percolate up - lookup = FS.lookupPath(old_path, { parent: true }); - old_dir = lookup.node; - lookup = FS.lookupPath(new_path, { parent: true }); - new_dir = lookup.node; - - if (!old_dir || !new_dir) throw new FS.ErrnoError(44); - // need to be part of the same mount - if (old_dir.mount !== new_dir.mount) { - throw new FS.ErrnoError(75); - } - // source must exist - var old_node = FS.lookupNode(old_dir, old_name); - // old path should not be an ancestor of the new path - var relative = PATH_FS.relative(old_path, new_dirname); - if (relative.charAt(0) !== '.') { - throw new FS.ErrnoError(28); - } - // new path should not be an ancestor of the old path - relative = PATH_FS.relative(new_path, old_dirname); - if (relative.charAt(0) !== '.') { - throw new FS.ErrnoError(55); - } - // see if the new path already exists - var new_node; - try { - new_node = FS.lookupNode(new_dir, new_name); - } catch (e) { - // not fatal - } - // early out if nothing needs to change - if (old_node === new_node) { - return; - } - // we'll need to delete the old entry - var isdir = FS.isDir(old_node.mode); - var errCode = FS.mayDelete(old_dir, old_name, isdir); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - // need delete permissions if we'll be overwriting. - // need create permissions if new doesn't already exist. - errCode = new_node ? - FS.mayDelete(new_dir, new_name, isdir) : - FS.mayCreate(new_dir, new_name); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - if (!old_dir.node_ops.rename) { - throw new FS.ErrnoError(63); - } - if (FS.isMountpoint(old_node) || (new_node && FS.isMountpoint(new_node))) { - throw new FS.ErrnoError(10); - } - // if we are going to change the parent, check write permissions - if (new_dir !== old_dir) { - errCode = FS.nodePermissions(old_dir, 'w'); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - } - // remove the node from the lookup hash - FS.hashRemoveNode(old_node); - // do the underlying fs rename - try { - old_dir.node_ops.rename(old_node, new_dir, new_name); - // update old node (we do this here to avoid each backend - // needing to) - old_node.parent = new_dir; - } catch (e) { - throw e; - } finally { - // add the node back to the hash (in case node_ops.rename - // changed its name) - FS.hashAddNode(old_node); - } - }, - rmdir(path) { - var lookup = FS.lookupPath(path, { parent: true }); - var parent = lookup.node; - var name = PATH.basename(path); - var node = FS.lookupNode(parent, name); - var errCode = FS.mayDelete(parent, name, true); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - if (!parent.node_ops.rmdir) { - throw new FS.ErrnoError(63); - } - if (FS.isMountpoint(node)) { - throw new FS.ErrnoError(10); - } - parent.node_ops.rmdir(parent, name); - FS.destroyNode(node); - }, - readdir(path) { - var lookup = FS.lookupPath(path, { follow: true }); - var node = lookup.node; - var readdir = FS.checkOpExists(node.node_ops.readdir, 54); - return readdir(node); - }, - unlink(path) { - var lookup = FS.lookupPath(path, { parent: true }); - var parent = lookup.node; - if (!parent) { - throw new FS.ErrnoError(44); - } - var name = PATH.basename(path); - var node = FS.lookupNode(parent, name); - var errCode = FS.mayDelete(parent, name, false); - if (errCode) { - // According to POSIX, we should map EISDIR to EPERM, but - // we instead do what Linux does (and we must, as we use - // the musl linux libc). - throw new FS.ErrnoError(errCode); - } - if (!parent.node_ops.unlink) { - throw new FS.ErrnoError(63); - } - if (FS.isMountpoint(node)) { - throw new FS.ErrnoError(10); - } - parent.node_ops.unlink(parent, name); - FS.destroyNode(node); - }, - readlink(path) { - var lookup = FS.lookupPath(path); - var link = lookup.node; - if (!link) { - throw new FS.ErrnoError(44); - } - if (!link.node_ops.readlink) { - throw new FS.ErrnoError(28); - } - return link.node_ops.readlink(link); - }, - stat(path, dontFollow) { - var lookup = FS.lookupPath(path, { follow: !dontFollow }); - var node = lookup.node; - var getattr = FS.checkOpExists(node.node_ops.getattr, 63); - return getattr(node); - }, - fstat(fd) { - var stream = FS.getStreamChecked(fd); - var node = stream.node; - var getattr = stream.stream_ops.getattr; - var arg = getattr ? stream : node; - getattr ??= node.node_ops.getattr; - FS.checkOpExists(getattr, 63) - return getattr(arg); - }, - lstat(path) { - return FS.stat(path, true); - }, - doChmod(stream, node, mode, dontFollow) { - FS.doSetAttr(stream, node, { - mode: (mode & 4095) | (node.mode & ~4095), - ctime: Date.now(), - dontFollow - }); - }, - chmod(path, mode, dontFollow) { - var node; - if (typeof path == 'string') { - var lookup = FS.lookupPath(path, { follow: !dontFollow }); - node = lookup.node; - } else { - node = path; - } - FS.doChmod(null, node, mode, dontFollow); - }, - lchmod(path, mode) { - FS.chmod(path, mode, true); - }, - fchmod(fd, mode) { - var stream = FS.getStreamChecked(fd); - FS.doChmod(stream, stream.node, mode, false); - }, - doChown(stream, node, dontFollow) { - FS.doSetAttr(stream, node, { - timestamp: Date.now(), - dontFollow - // we ignore the uid / gid for now - }); - }, - chown(path, uid, gid, dontFollow) { - var node; - if (typeof path == 'string') { - var lookup = FS.lookupPath(path, { follow: !dontFollow }); - node = lookup.node; - } else { - node = path; - } - FS.doChown(null, node, dontFollow); - }, - lchown(path, uid, gid) { - FS.chown(path, uid, gid, true); - }, - fchown(fd, uid, gid) { - var stream = FS.getStreamChecked(fd); - FS.doChown(stream, stream.node, false); - }, - doTruncate(stream, node, len) { - if (FS.isDir(node.mode)) { - throw new FS.ErrnoError(31); - } - if (!FS.isFile(node.mode)) { - throw new FS.ErrnoError(28); - } - var errCode = FS.nodePermissions(node, 'w'); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - FS.doSetAttr(stream, node, { - size: len, - timestamp: Date.now() - }); - }, - truncate(path, len) { - if (len < 0) { - throw new FS.ErrnoError(28); - } - var node; - if (typeof path == 'string') { - var lookup = FS.lookupPath(path, { follow: true }); - node = lookup.node; - } else { - node = path; - } - FS.doTruncate(null, node, len); - }, - ftruncate(fd, len) { - var stream = FS.getStreamChecked(fd); - if (len < 0 || (stream.flags & 2097155) === 0) { - throw new FS.ErrnoError(28); - } - FS.doTruncate(stream, stream.node, len); - }, - utime(path, atime, mtime) { - var lookup = FS.lookupPath(path, { follow: true }); - var node = lookup.node; - var setattr = FS.checkOpExists(node.node_ops.setattr, 63); - setattr(node, { - atime: atime, - mtime: mtime - }); - }, - open(path, flags, mode = 0o666) { - if (path === "") { - throw new FS.ErrnoError(44); - } - flags = typeof flags == 'string' ? FS_modeStringToFlags(flags) : flags; - if ((flags & 64)) { - mode = (mode & 4095) | 32768; - } else { - mode = 0; - } - var node; - var isDirPath; - if (typeof path == 'object') { - node = path; - } else { - isDirPath = path.endsWith("/"); - // noent_okay makes it so that if the final component of the path - // doesn't exist, lookupPath returns `node: undefined`. `path` will be - // updated to point to the target of all symlinks. - var lookup = FS.lookupPath(path, { - follow: !(flags & 131072), - noent_okay: true - }); - node = lookup.node; - path = lookup.path; - } - // perhaps we need to create the node - var created = false; - if ((flags & 64)) { - if (node) { - // if O_CREAT and O_EXCL are set, error out if the node already exists - if ((flags & 128)) { - throw new FS.ErrnoError(20); - } - } else if (isDirPath) { - throw new FS.ErrnoError(31); - } else { - // node doesn't exist, try to create it - // Ignore the permission bits here to ensure we can `open` this new - // file below. We use chmod below the apply the permissions once the - // file is open. - node = FS.mknod(path, mode | 0o777, 0); - created = true; - } - } - if (!node) { - throw new FS.ErrnoError(44); - } - // can't truncate a device - if (FS.isChrdev(node.mode)) { - flags &= ~512; - } - // if asked only for a directory, then this must be one - if ((flags & 65536) && !FS.isDir(node.mode)) { - throw new FS.ErrnoError(54); - } - // check permissions, if this is not a file we just created now (it is ok to - // create and write to a file with read-only permissions; it is read-only - // for later use) - if (!created) { - var errCode = FS.mayOpen(node, flags); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - } - // do truncation if necessary - if ((flags & 512) && !created) { - FS.truncate(node, 0); - } - // we've already handled these, don't pass down to the underlying vfs - flags &= ~(128 | 512 | 131072); - - // register the stream with the filesystem - var stream = FS.createStream({ - node, - path: FS.getPath(node), // we want the absolute path to the node - flags, - seekable: true, - position: 0, - stream_ops: node.stream_ops, - // used by the file family libc calls (fopen, fwrite, ferror, etc.) - ungotten: [], - error: false - }); - // call the new stream's open function - if (stream.stream_ops.open) { - stream.stream_ops.open(stream); - } - if (created) { - FS.chmod(node, mode & 0o777); - } - if (Module['logReadFiles'] && !(flags & 1)) { - if (!(path in FS.readFiles)) { - FS.readFiles[path] = 1; - } - } - return stream; - }, - close(stream) { - if (FS.isClosed(stream)) { - throw new FS.ErrnoError(8); - } - if (stream.getdents) stream.getdents = null; // free readdir state - try { - if (stream.stream_ops.close) { - stream.stream_ops.close(stream); - } - } catch (e) { - throw e; - } finally { - FS.closeStream(stream.fd); - } - stream.fd = null; - }, - isClosed(stream) { - return stream.fd === null; - }, - llseek(stream, offset, whence) { - if (FS.isClosed(stream)) { - throw new FS.ErrnoError(8); - } - if (!stream.seekable || !stream.stream_ops.llseek) { - throw new FS.ErrnoError(70); - } - if (whence != 0 && whence != 1 && whence != 2) { - throw new FS.ErrnoError(28); - } - stream.position = stream.stream_ops.llseek(stream, offset, whence); - stream.ungotten = []; - return stream.position; - }, - read(stream, buffer, offset, length, position) { - assert(offset >= 0); - if (length < 0 || position < 0) { - throw new FS.ErrnoError(28); - } - if (FS.isClosed(stream)) { - throw new FS.ErrnoError(8); - } - if ((stream.flags & 2097155) === 1) { - throw new FS.ErrnoError(8); - } - if (FS.isDir(stream.node.mode)) { - throw new FS.ErrnoError(31); - } - if (!stream.stream_ops.read) { - throw new FS.ErrnoError(28); - } - var seeking = typeof position != 'undefined'; - if (!seeking) { - position = stream.position; - } else if (!stream.seekable) { - throw new FS.ErrnoError(70); - } - var bytesRead = stream.stream_ops.read(stream, buffer, offset, length, position); - if (!seeking) stream.position += bytesRead; - return bytesRead; - }, - write(stream, buffer, offset, length, position, canOwn) { - assert(offset >= 0); - if (length < 0 || position < 0) { - throw new FS.ErrnoError(28); - } - if (FS.isClosed(stream)) { - throw new FS.ErrnoError(8); - } - if ((stream.flags & 2097155) === 0) { - throw new FS.ErrnoError(8); - } - if (FS.isDir(stream.node.mode)) { - throw new FS.ErrnoError(31); - } - if (!stream.stream_ops.write) { - throw new FS.ErrnoError(28); - } - if (stream.seekable && stream.flags & 1024) { - // seek to the end before writing in append mode - FS.llseek(stream, 0, 2); - } - var seeking = typeof position != 'undefined'; - if (!seeking) { - position = stream.position; - } else if (!stream.seekable) { - throw new FS.ErrnoError(70); - } - var bytesWritten = stream.stream_ops.write(stream, buffer, offset, length, position, canOwn); - if (!seeking) stream.position += bytesWritten; - return bytesWritten; - }, - mmap(stream, length, position, prot, flags) { - // User requests writing to file (prot & PROT_WRITE != 0). - // Checking if we have permissions to write to the file unless - // MAP_PRIVATE flag is set. According to POSIX spec it is possible - // to write to file opened in read-only mode with MAP_PRIVATE flag, - // as all modifications will be visible only in the memory of - // the current process. - if ((prot & 2) !== 0 - && (flags & 2) === 0 - && (stream.flags & 2097155) !== 2) { - throw new FS.ErrnoError(2); - } - if ((stream.flags & 2097155) === 1) { - throw new FS.ErrnoError(2); - } - if (!stream.stream_ops.mmap) { - throw new FS.ErrnoError(43); - } - if (!length) { - throw new FS.ErrnoError(28); - } - return stream.stream_ops.mmap(stream, length, position, prot, flags); - }, - msync(stream, buffer, offset, length, mmapFlags) { - assert(offset >= 0); - if (!stream.stream_ops.msync) { - return 0; - } - return stream.stream_ops.msync(stream, buffer, offset, length, mmapFlags); - }, - ioctl(stream, cmd, arg) { - if (!stream.stream_ops.ioctl) { - throw new FS.ErrnoError(59); - } - return stream.stream_ops.ioctl(stream, cmd, arg); - }, - readFile(path, opts = {}) { - opts.flags = opts.flags || 0; - opts.encoding = opts.encoding || 'binary'; - if (opts.encoding !== 'utf8' && opts.encoding !== 'binary') { - throw new Error(`Invalid encoding type "${opts.encoding}"`); - } - var ret; - var stream = FS.open(path, opts.flags); - var stat = FS.stat(path); - var length = stat.size; - var buf = new Uint8Array(length); - FS.read(stream, buf, 0, length, 0); - if (opts.encoding === 'utf8') { - ret = UTF8ArrayToString(buf); - } else if (opts.encoding === 'binary') { - ret = buf; - } - FS.close(stream); - return ret; - }, - writeFile(path, data, opts = {}) { - opts.flags = opts.flags || 577; - var stream = FS.open(path, opts.flags, opts.mode); - if (typeof data == 'string') { - var buf = new Uint8Array(lengthBytesUTF8(data)+1); - var actualNumBytes = stringToUTF8Array(data, buf, 0, buf.length); - FS.write(stream, buf, 0, actualNumBytes, undefined, opts.canOwn); - } else if (ArrayBuffer.isView(data)) { - FS.write(stream, data, 0, data.byteLength, undefined, opts.canOwn); - } else { - throw new Error('Unsupported data type'); - } - FS.close(stream); - }, - cwd:() => FS.currentPath, - chdir(path) { - var lookup = FS.lookupPath(path, { follow: true }); - if (lookup.node === null) { - throw new FS.ErrnoError(44); - } - if (!FS.isDir(lookup.node.mode)) { - throw new FS.ErrnoError(54); - } - var errCode = FS.nodePermissions(lookup.node, 'x'); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - FS.currentPath = lookup.path; - }, - createDefaultDirectories() { - FS.mkdir('/tmp'); - FS.mkdir('/home'); - FS.mkdir('/home/web_user'); - }, - createDefaultDevices() { - // create /dev - FS.mkdir('/dev'); - // setup /dev/null - FS.registerDevice(FS.makedev(1, 3), { - read: () => 0, - write: (stream, buffer, offset, length, pos) => length, - llseek: () => 0, - }); - FS.mkdev('/dev/null', FS.makedev(1, 3)); - // setup /dev/tty and /dev/tty1 - // stderr needs to print output using err() rather than out() - // so we register a second tty just for it. - TTY.register(FS.makedev(5, 0), TTY.default_tty_ops); - TTY.register(FS.makedev(6, 0), TTY.default_tty1_ops); - FS.mkdev('/dev/tty', FS.makedev(5, 0)); - FS.mkdev('/dev/tty1', FS.makedev(6, 0)); - // setup /dev/[u]random - // use a buffer to avoid overhead of individual crypto calls per byte - var randomBuffer = new Uint8Array(1024), randomLeft = 0; - var randomByte = () => { - if (randomLeft === 0) { - randomFill(randomBuffer); - randomLeft = randomBuffer.byteLength; - } - return randomBuffer[--randomLeft]; - }; - FS.createDevice('/dev', 'random', randomByte); - FS.createDevice('/dev', 'urandom', randomByte); - // we're not going to emulate the actual shm device, - // just create the tmp dirs that reside in it commonly - FS.mkdir('/dev/shm'); - FS.mkdir('/dev/shm/tmp'); - }, - createSpecialDirectories() { - // create /proc/self/fd which allows /proc/self/fd/6 => readlink gives the - // name of the stream for fd 6 (see test_unistd_ttyname) - FS.mkdir('/proc'); - var proc_self = FS.mkdir('/proc/self'); - FS.mkdir('/proc/self/fd'); - FS.mount({ - mount() { - var node = FS.createNode(proc_self, 'fd', 16895, 73); - node.stream_ops = { - llseek: MEMFS.stream_ops.llseek, - }; - node.node_ops = { - lookup(parent, name) { - var fd = +name; - var stream = FS.getStreamChecked(fd); - var ret = { - parent: null, - mount: { mountpoint: 'fake' }, - node_ops: { readlink: () => stream.path }, - id: fd + 1, - }; - ret.parent = ret; // make it look like a simple root node - return ret; - }, - readdir() { - return Array.from(FS.streams.entries()) - .filter(([k, v]) => v) - .map(([k, v]) => k.toString()); - } - }; - return node; - } - }, {}, '/proc/self/fd'); - }, - createStandardStreams(input, output, error) { - // TODO deprecate the old functionality of a single - // input / output callback and that utilizes FS.createDevice - // and instead require a unique set of stream ops - - // by default, we symlink the standard streams to the - // default tty devices. however, if the standard streams - // have been overwritten we create a unique device for - // them instead. - if (input) { - FS.createDevice('/dev', 'stdin', input); - } else { - FS.symlink('/dev/tty', '/dev/stdin'); - } - if (output) { - FS.createDevice('/dev', 'stdout', null, output); - } else { - FS.symlink('/dev/tty', '/dev/stdout'); - } - if (error) { - FS.createDevice('/dev', 'stderr', null, error); - } else { - FS.symlink('/dev/tty1', '/dev/stderr'); - } - - // open default streams for the stdin, stdout and stderr devices - var stdin = FS.open('/dev/stdin', 0); - var stdout = FS.open('/dev/stdout', 1); - var stderr = FS.open('/dev/stderr', 1); - assert(stdin.fd === 0, `invalid handle for stdin (${stdin.fd})`); - assert(stdout.fd === 1, `invalid handle for stdout (${stdout.fd})`); - assert(stderr.fd === 2, `invalid handle for stderr (${stderr.fd})`); - }, - staticInit() { - FS.nameTable = new Array(4096); - - FS.mount(MEMFS, {}, '/'); - - FS.createDefaultDirectories(); - FS.createDefaultDevices(); - FS.createSpecialDirectories(); - - FS.filesystems = { - 'MEMFS': MEMFS, - }; - }, - init(input, output, error) { - assert(!FS.initialized, 'FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)'); - FS.initialized = true; - - // Allow Module.stdin etc. to provide defaults, if none explicitly passed to us here - input ??= Module['stdin']; - output ??= Module['stdout']; - error ??= Module['stderr']; - - FS.createStandardStreams(input, output, error); - }, - quit() { - FS.initialized = false; - // force-flush all streams, so we get musl std streams printed out - _fflush(0); - // close all of our streams - for (var stream of FS.streams) { - if (stream) { - FS.close(stream); - } - } - }, - findObject(path, dontResolveLastLink) { - var ret = FS.analyzePath(path, dontResolveLastLink); - if (!ret.exists) { - return null; - } - return ret.object; - }, - analyzePath(path, dontResolveLastLink) { - // operate from within the context of the symlink's target - try { - var lookup = FS.lookupPath(path, { follow: !dontResolveLastLink }); - path = lookup.path; - } catch (e) { - } - var ret = { - isRoot: false, exists: false, error: 0, name: null, path: null, object: null, - parentExists: false, parentPath: null, parentObject: null - }; - try { - var lookup = FS.lookupPath(path, { parent: true }); - ret.parentExists = true; - ret.parentPath = lookup.path; - ret.parentObject = lookup.node; - ret.name = PATH.basename(path); - lookup = FS.lookupPath(path, { follow: !dontResolveLastLink }); - ret.exists = true; - ret.path = lookup.path; - ret.object = lookup.node; - ret.name = lookup.node.name; - ret.isRoot = lookup.path === '/'; - } catch (e) { - ret.error = e.errno; - }; - return ret; - }, - createPath(parent, path, canRead, canWrite) { - parent = typeof parent == 'string' ? parent : FS.getPath(parent); - var parts = path.split('/').reverse(); - while (parts.length) { - var part = parts.pop(); - if (!part) continue; - var current = PATH.join2(parent, part); - try { - FS.mkdir(current); - } catch (e) { - if (e.errno != 20) throw e; - } - parent = current; - } - return current; - }, - createFile(parent, name, properties, canRead, canWrite) { - var path = PATH.join2(typeof parent == 'string' ? parent : FS.getPath(parent), name); - var mode = FS_getMode(canRead, canWrite); - return FS.create(path, mode); - }, - createDataFile(parent, name, data, canRead, canWrite, canOwn) { - var path = name; - if (parent) { - parent = typeof parent == 'string' ? parent : FS.getPath(parent); - path = name ? PATH.join2(parent, name) : parent; - } - var mode = FS_getMode(canRead, canWrite); - var node = FS.create(path, mode); - if (data) { - if (typeof data == 'string') { - var arr = new Array(data.length); - for (var i = 0, len = data.length; i < len; ++i) arr[i] = data.charCodeAt(i); - data = arr; - } - // make sure we can write to the file - FS.chmod(node, mode | 146); - var stream = FS.open(node, 577); - FS.write(stream, data, 0, data.length, 0, canOwn); - FS.close(stream); - FS.chmod(node, mode); - } - }, - createDevice(parent, name, input, output) { - var path = PATH.join2(typeof parent == 'string' ? parent : FS.getPath(parent), name); - var mode = FS_getMode(!!input, !!output); - FS.createDevice.major ??= 64; - var dev = FS.makedev(FS.createDevice.major++, 0); - // Create a fake device that a set of stream ops to emulate - // the old behavior. - FS.registerDevice(dev, { - open(stream) { - stream.seekable = false; - }, - close(stream) { - // flush any pending line data - if (output?.buffer?.length) { - output(10); - } - }, - read(stream, buffer, offset, length, pos /* ignored */) { - var bytesRead = 0; - for (var i = 0; i < length; i++) { - var result; - try { - result = input(); - } catch (e) { - throw new FS.ErrnoError(29); - } - if (result === undefined && bytesRead === 0) { - throw new FS.ErrnoError(6); - } - if (result === null || result === undefined) break; - bytesRead++; - buffer[offset+i] = result; - } - if (bytesRead) { - stream.node.atime = Date.now(); - } - return bytesRead; - }, - write(stream, buffer, offset, length, pos) { - for (var i = 0; i < length; i++) { - try { - output(buffer[offset+i]); - } catch (e) { - throw new FS.ErrnoError(29); - } - } - if (length) { - stream.node.mtime = stream.node.ctime = Date.now(); - } - return i; - } - }); - return FS.mkdev(path, mode, dev); - }, - forceLoadFile(obj) { - if (obj.isDevice || obj.isFolder || obj.link || obj.contents) return true; - if (typeof XMLHttpRequest != 'undefined') { - throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread."); - } else { // Command-line. - try { - obj.contents = readBinary(obj.url); - obj.usedBytes = obj.contents.length; - } catch (e) { - throw new FS.ErrnoError(29); - } - } - }, - createLazyFile(parent, name, url, canRead, canWrite) { - // Lazy chunked Uint8Array (implements get and length from Uint8Array). - // Actual getting is abstracted away for eventual reuse. - class LazyUint8Array { - lengthKnown = false; - chunks = []; // Loaded chunks. Index is the chunk number - get(idx) { - if (idx > this.length-1 || idx < 0) { - return undefined; - } - var chunkOffset = idx % this.chunkSize; - var chunkNum = (idx / this.chunkSize)|0; - return this.getter(chunkNum)[chunkOffset]; - } - setDataGetter(getter) { - this.getter = getter; - } - cacheLength() { - // Find length - var xhr = new XMLHttpRequest(); - xhr.open('HEAD', url, false); - xhr.send(null); - if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error("Couldn't load " + url + ". Status: " + xhr.status); - var datalength = Number(xhr.getResponseHeader("Content-length")); - var header; - var hasByteServing = (header = xhr.getResponseHeader("Accept-Ranges")) && header === "bytes"; - var usesGzip = (header = xhr.getResponseHeader("Content-Encoding")) && header === "gzip"; - - var chunkSize = 1024*1024; // Chunk size in bytes - - if (!hasByteServing) chunkSize = datalength; - - // Function to get a range from the remote URL. - var doXHR = (from, to) => { - if (from > to) throw new Error("invalid range (" + from + ", " + to + ") or no bytes requested!"); - if (to > datalength-1) throw new Error("only " + datalength + " bytes available! programmer error!"); - - // TODO: Use mozResponseArrayBuffer, responseStream, etc. if available. - var xhr = new XMLHttpRequest(); - xhr.open('GET', url, false); - if (datalength !== chunkSize) xhr.setRequestHeader("Range", "bytes=" + from + "-" + to); - - // Some hints to the browser that we want binary data. - xhr.responseType = 'arraybuffer'; - if (xhr.overrideMimeType) { - xhr.overrideMimeType('text/plain; charset=x-user-defined'); - } - - xhr.send(null); - if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error("Couldn't load " + url + ". Status: " + xhr.status); - if (xhr.response !== undefined) { - return new Uint8Array(/** @type{Array} */(xhr.response || [])); - } - return intArrayFromString(xhr.responseText || '', true); - }; - var lazyArray = this; - lazyArray.setDataGetter((chunkNum) => { - var start = chunkNum * chunkSize; - var end = (chunkNum+1) * chunkSize - 1; // including this byte - end = Math.min(end, datalength-1); // if datalength-1 is selected, this is the last block - if (typeof lazyArray.chunks[chunkNum] == 'undefined') { - lazyArray.chunks[chunkNum] = doXHR(start, end); - } - if (typeof lazyArray.chunks[chunkNum] == 'undefined') throw new Error('doXHR failed!'); - return lazyArray.chunks[chunkNum]; - }); - - if (usesGzip || !datalength) { - // if the server uses gzip or doesn't supply the length, we have to download the whole file to get the (uncompressed) length - chunkSize = datalength = 1; // this will force getter(0)/doXHR do download the whole file - datalength = this.getter(0).length; - chunkSize = datalength; - out("LazyFiles on gzip forces download of the whole file when length is accessed"); - } - - this._length = datalength; - this._chunkSize = chunkSize; - this.lengthKnown = true; - } - get length() { - if (!this.lengthKnown) { - this.cacheLength(); - } - return this._length; - } - get chunkSize() { - if (!this.lengthKnown) { - this.cacheLength(); - } - return this._chunkSize; - } - } - - if (typeof XMLHttpRequest != 'undefined') { - if (!ENVIRONMENT_IS_WORKER) throw 'Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc'; - var lazyArray = new LazyUint8Array(); - var properties = { isDevice: false, contents: lazyArray }; - } else { - var properties = { isDevice: false, url: url }; - } - - var node = FS.createFile(parent, name, properties, canRead, canWrite); - // This is a total hack, but I want to get this lazy file code out of the - // core of MEMFS. If we want to keep this lazy file concept I feel it should - // be its own thin LAZYFS proxying calls to MEMFS. - if (properties.contents) { - node.contents = properties.contents; - } else if (properties.url) { - node.contents = null; - node.url = properties.url; - } - // Add a function that defers querying the file size until it is asked the first time. - Object.defineProperties(node, { - usedBytes: { - get: function() { return this.contents.length; } - } - }); - // override each stream op with one that tries to force load the lazy file first - var stream_ops = {}; - var keys = Object.keys(node.stream_ops); - keys.forEach((key) => { - var fn = node.stream_ops[key]; - stream_ops[key] = (...args) => { - FS.forceLoadFile(node); - return fn(...args); - }; - }); - function writeChunks(stream, buffer, offset, length, position) { - var contents = stream.node.contents; - if (position >= contents.length) - return 0; - var size = Math.min(contents.length - position, length); - assert(size >= 0); - if (contents.slice) { // normal array - for (var i = 0; i < size; i++) { - buffer[offset + i] = contents[position + i]; - } - } else { - for (var i = 0; i < size; i++) { // LazyUint8Array from sync binary XHR - buffer[offset + i] = contents.get(position + i); - } - } - return size; - } - // use a custom read function - stream_ops.read = (stream, buffer, offset, length, position) => { - FS.forceLoadFile(node); - return writeChunks(stream, buffer, offset, length, position) - }; - // use a custom mmap function - stream_ops.mmap = (stream, length, position, prot, flags) => { - FS.forceLoadFile(node); - var ptr = mmapAlloc(length); - if (!ptr) { - throw new FS.ErrnoError(48); - } - writeChunks(stream, HEAP8, ptr, length, position); - return { ptr, allocated: true }; - }; - node.stream_ops = stream_ops; - return node; - }, - absolutePath() { - abort('FS.absolutePath has been removed; use PATH_FS.resolve instead'); - }, - createFolder() { - abort('FS.createFolder has been removed; use FS.mkdir instead'); - }, - createLink() { - abort('FS.createLink has been removed; use FS.symlink instead'); - }, - joinPath() { - abort('FS.joinPath has been removed; use PATH.join instead'); - }, - mmapAlloc() { - abort('FS.mmapAlloc has been replaced by the top level function mmapAlloc'); - }, - standardizePath() { - abort('FS.standardizePath has been removed; use PATH.normalize instead'); - }, - }; - - var SYSCALLS = { - DEFAULT_POLLMASK:5, - calculateAt(dirfd, path, allowEmpty) { - if (PATH.isAbs(path)) { - return path; - } - // relative path - var dir; - if (dirfd === -100) { - dir = FS.cwd(); - } else { - var dirstream = SYSCALLS.getStreamFromFD(dirfd); - dir = dirstream.path; - } - if (path.length == 0) { - if (!allowEmpty) { - throw new FS.ErrnoError(44);; - } - return dir; - } - return dir + '/' + path; - }, - writeStat(buf, stat) { - HEAP32[((buf)>>2)] = stat.dev; - HEAP32[(((buf)+(4))>>2)] = stat.mode; - HEAPU32[(((buf)+(8))>>2)] = stat.nlink; - HEAP32[(((buf)+(12))>>2)] = stat.uid; - HEAP32[(((buf)+(16))>>2)] = stat.gid; - HEAP32[(((buf)+(20))>>2)] = stat.rdev; - HEAP64[(((buf)+(24))>>3)] = BigInt(stat.size); - HEAP32[(((buf)+(32))>>2)] = 4096; - HEAP32[(((buf)+(36))>>2)] = stat.blocks; - var atime = stat.atime.getTime(); - var mtime = stat.mtime.getTime(); - var ctime = stat.ctime.getTime(); - HEAP64[(((buf)+(40))>>3)] = BigInt(Math.floor(atime / 1000)); - HEAPU32[(((buf)+(48))>>2)] = (atime % 1000) * 1000 * 1000; - HEAP64[(((buf)+(56))>>3)] = BigInt(Math.floor(mtime / 1000)); - HEAPU32[(((buf)+(64))>>2)] = (mtime % 1000) * 1000 * 1000; - HEAP64[(((buf)+(72))>>3)] = BigInt(Math.floor(ctime / 1000)); - HEAPU32[(((buf)+(80))>>2)] = (ctime % 1000) * 1000 * 1000; - HEAP64[(((buf)+(88))>>3)] = BigInt(stat.ino); - return 0; - }, - writeStatFs(buf, stats) { - HEAP32[(((buf)+(4))>>2)] = stats.bsize; - HEAP32[(((buf)+(40))>>2)] = stats.bsize; - HEAP32[(((buf)+(8))>>2)] = stats.blocks; - HEAP32[(((buf)+(12))>>2)] = stats.bfree; - HEAP32[(((buf)+(16))>>2)] = stats.bavail; - HEAP32[(((buf)+(20))>>2)] = stats.files; - HEAP32[(((buf)+(24))>>2)] = stats.ffree; - HEAP32[(((buf)+(28))>>2)] = stats.fsid; - HEAP32[(((buf)+(44))>>2)] = stats.flags; // ST_NOSUID - HEAP32[(((buf)+(36))>>2)] = stats.namelen; - }, - doMsync(addr, stream, len, flags, offset) { - if (!FS.isFile(stream.node.mode)) { - throw new FS.ErrnoError(43); - } - if (flags & 2) { - // MAP_PRIVATE calls need not to be synced back to underlying fs - return 0; - } - var buffer = HEAPU8.slice(addr, addr + len); - FS.msync(stream, buffer, offset, len, flags); - }, - getStreamFromFD(fd) { - var stream = FS.getStreamChecked(fd); - return stream; - }, - varargs:undefined, - getStr(ptr) { - var ret = UTF8ToString(ptr); - return ret; - }, - }; - function ___syscall_chmod(path, mode) { - try { - - path = SYSCALLS.getStr(path); - FS.chmod(path, mode); - return 0; - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return -e.errno; - } - } - - function ___syscall_fchmod(fd, mode) { - try { - - FS.fchmod(fd, mode); - return 0; - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return -e.errno; - } - } - - /** @suppress {duplicate } */ - var syscallGetVarargI = () => { - assert(SYSCALLS.varargs != undefined); - // the `+` prepended here is necessary to convince the JSCompiler that varargs is indeed a number. - var ret = HEAP32[((+SYSCALLS.varargs)>>2)]; - SYSCALLS.varargs += 4; - return ret; - }; - var syscallGetVarargP = syscallGetVarargI; - - - function ___syscall_fcntl64(fd, cmd, varargs) { - SYSCALLS.varargs = varargs; - try { - - var stream = SYSCALLS.getStreamFromFD(fd); - switch (cmd) { - case 0: { - var arg = syscallGetVarargI(); - if (arg < 0) { - return -28; - } - while (FS.streams[arg]) { - arg++; - } - var newStream; - newStream = FS.dupStream(stream, arg); - return newStream.fd; - } - case 1: - case 2: - return 0; // FD_CLOEXEC makes no sense for a single process. - case 3: - return stream.flags; - case 4: { - var arg = syscallGetVarargI(); - stream.flags |= arg; - return 0; - } - case 12: { - var arg = syscallGetVarargP(); - var offset = 0; - // We're always unlocked. - HEAP16[(((arg)+(offset))>>1)] = 2; - return 0; - } - case 13: - case 14: - // Pretend that the locking is successful. These are process-level locks, - // and Emscripten programs are a single process. If we supported linking a - // filesystem between programs, we'd need to do more here. - // See https://github.com/emscripten-core/emscripten/issues/23697 - return 0; - } - return -28; - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return -e.errno; - } - } - - function ___syscall_fstat64(fd, buf) { - try { - - return SYSCALLS.writeStat(buf, FS.fstat(fd)); - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return -e.errno; - } - } - - - function ___syscall_ioctl(fd, op, varargs) { - SYSCALLS.varargs = varargs; - try { - - var stream = SYSCALLS.getStreamFromFD(fd); - switch (op) { - case 21509: { - if (!stream.tty) return -59; - return 0; - } - case 21505: { - if (!stream.tty) return -59; - if (stream.tty.ops.ioctl_tcgets) { - var termios = stream.tty.ops.ioctl_tcgets(stream); - var argp = syscallGetVarargP(); - HEAP32[((argp)>>2)] = termios.c_iflag || 0; - HEAP32[(((argp)+(4))>>2)] = termios.c_oflag || 0; - HEAP32[(((argp)+(8))>>2)] = termios.c_cflag || 0; - HEAP32[(((argp)+(12))>>2)] = termios.c_lflag || 0; - for (var i = 0; i < 32; i++) { - HEAP8[(argp + i)+(17)] = termios.c_cc[i] || 0; - } - return 0; - } - return 0; - } - case 21510: - case 21511: - case 21512: { - if (!stream.tty) return -59; - return 0; // no-op, not actually adjusting terminal settings - } - case 21506: - case 21507: - case 21508: { - if (!stream.tty) return -59; - if (stream.tty.ops.ioctl_tcsets) { - var argp = syscallGetVarargP(); - var c_iflag = HEAP32[((argp)>>2)]; - var c_oflag = HEAP32[(((argp)+(4))>>2)]; - var c_cflag = HEAP32[(((argp)+(8))>>2)]; - var c_lflag = HEAP32[(((argp)+(12))>>2)]; - var c_cc = [] - for (var i = 0; i < 32; i++) { - c_cc.push(HEAP8[(argp + i)+(17)]); - } - return stream.tty.ops.ioctl_tcsets(stream.tty, op, { c_iflag, c_oflag, c_cflag, c_lflag, c_cc }); - } - return 0; // no-op, not actually adjusting terminal settings - } - case 21519: { - if (!stream.tty) return -59; - var argp = syscallGetVarargP(); - HEAP32[((argp)>>2)] = 0; - return 0; - } - case 21520: { - if (!stream.tty) return -59; - return -28; // not supported - } - case 21531: { - var argp = syscallGetVarargP(); - return FS.ioctl(stream, op, argp); - } - case 21523: { - // TODO: in theory we should write to the winsize struct that gets - // passed in, but for now musl doesn't read anything on it - if (!stream.tty) return -59; - if (stream.tty.ops.ioctl_tiocgwinsz) { - var winsize = stream.tty.ops.ioctl_tiocgwinsz(stream.tty); - var argp = syscallGetVarargP(); - HEAP16[((argp)>>1)] = winsize[0]; - HEAP16[(((argp)+(2))>>1)] = winsize[1]; - } - return 0; - } - case 21524: { - // TODO: technically, this ioctl call should change the window size. - // but, since emscripten doesn't have any concept of a terminal window - // yet, we'll just silently throw it away as we do TIOCGWINSZ - if (!stream.tty) return -59; - return 0; - } - case 21515: { - if (!stream.tty) return -59; - return 0; - } - default: return -28; // not supported - } - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return -e.errno; - } - } - - function ___syscall_lstat64(path, buf) { - try { - - path = SYSCALLS.getStr(path); - return SYSCALLS.writeStat(buf, FS.lstat(path)); - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return -e.errno; - } - } - - function ___syscall_newfstatat(dirfd, path, buf, flags) { - try { - - path = SYSCALLS.getStr(path); - var nofollow = flags & 256; - var allowEmpty = flags & 4096; - flags = flags & (~6400); - assert(!flags, `unknown flags in __syscall_newfstatat: ${flags}`); - path = SYSCALLS.calculateAt(dirfd, path, allowEmpty); - return SYSCALLS.writeStat(buf, nofollow ? FS.lstat(path) : FS.stat(path)); - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return -e.errno; - } - } - - - function ___syscall_openat(dirfd, path, flags, varargs) { - SYSCALLS.varargs = varargs; - try { - - path = SYSCALLS.getStr(path); - path = SYSCALLS.calculateAt(dirfd, path); - var mode = varargs ? syscallGetVarargI() : 0; - return FS.open(path, flags, mode).fd; - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return -e.errno; - } - } - - function ___syscall_renameat(olddirfd, oldpath, newdirfd, newpath) { - try { - - oldpath = SYSCALLS.getStr(oldpath); - newpath = SYSCALLS.getStr(newpath); - oldpath = SYSCALLS.calculateAt(olddirfd, oldpath); - newpath = SYSCALLS.calculateAt(newdirfd, newpath); - FS.rename(oldpath, newpath); - return 0; - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return -e.errno; - } - } - - function ___syscall_rmdir(path) { - try { - - path = SYSCALLS.getStr(path); - FS.rmdir(path); - return 0; - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return -e.errno; - } - } - - function ___syscall_stat64(path, buf) { - try { - - path = SYSCALLS.getStr(path); - return SYSCALLS.writeStat(buf, FS.stat(path)); - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return -e.errno; - } - } - - function ___syscall_unlinkat(dirfd, path, flags) { - try { - - path = SYSCALLS.getStr(path); - path = SYSCALLS.calculateAt(dirfd, path); - if (flags === 0) { - FS.unlink(path); - } else if (flags === 512) { - FS.rmdir(path); - } else { - abort('Invalid flags passed to unlinkat'); - } - return 0; - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return -e.errno; - } - } - - var __abort_js = () => - abort('native code called abort()'); - - var isLeapYear = (year) => year%4 === 0 && (year%100 !== 0 || year%400 === 0); - - var MONTH_DAYS_LEAP_CUMULATIVE = [0,31,60,91,121,152,182,213,244,274,305,335]; - - var MONTH_DAYS_REGULAR_CUMULATIVE = [0,31,59,90,120,151,181,212,243,273,304,334]; - var ydayFromDate = (date) => { - var leap = isLeapYear(date.getFullYear()); - var monthDaysCumulative = (leap ? MONTH_DAYS_LEAP_CUMULATIVE : MONTH_DAYS_REGULAR_CUMULATIVE); - var yday = monthDaysCumulative[date.getMonth()] + date.getDate() - 1; // -1 since it's days since Jan 1 - - return yday; - }; - - var INT53_MAX = 9007199254740992; - - var INT53_MIN = -9007199254740992; - var bigintToI53Checked = (num) => (num < INT53_MIN || num > INT53_MAX) ? NaN : Number(num); - function __localtime_js(time, tmPtr) { - time = bigintToI53Checked(time); - - - var date = new Date(time*1000); - HEAP32[((tmPtr)>>2)] = date.getSeconds(); - HEAP32[(((tmPtr)+(4))>>2)] = date.getMinutes(); - HEAP32[(((tmPtr)+(8))>>2)] = date.getHours(); - HEAP32[(((tmPtr)+(12))>>2)] = date.getDate(); - HEAP32[(((tmPtr)+(16))>>2)] = date.getMonth(); - HEAP32[(((tmPtr)+(20))>>2)] = date.getFullYear()-1900; - HEAP32[(((tmPtr)+(24))>>2)] = date.getDay(); - - var yday = ydayFromDate(date)|0; - HEAP32[(((tmPtr)+(28))>>2)] = yday; - HEAP32[(((tmPtr)+(36))>>2)] = -(date.getTimezoneOffset() * 60); - - // Attention: DST is in December in South, and some regions don't have DST at all. - var start = new Date(date.getFullYear(), 0, 1); - var summerOffset = new Date(date.getFullYear(), 6, 1).getTimezoneOffset(); - var winterOffset = start.getTimezoneOffset(); - var dst = (summerOffset != winterOffset && date.getTimezoneOffset() == Math.min(winterOffset, summerOffset))|0; - HEAP32[(((tmPtr)+(32))>>2)] = dst; - ; - } - - - var __mktime_js = function(tmPtr) { - - var ret = (() => { - var date = new Date(HEAP32[(((tmPtr)+(20))>>2)] + 1900, - HEAP32[(((tmPtr)+(16))>>2)], - HEAP32[(((tmPtr)+(12))>>2)], - HEAP32[(((tmPtr)+(8))>>2)], - HEAP32[(((tmPtr)+(4))>>2)], - HEAP32[((tmPtr)>>2)], - 0); - - // There's an ambiguous hour when the time goes back; the tm_isdst field is - // used to disambiguate it. Date() basically guesses, so we fix it up if it - // guessed wrong, or fill in tm_isdst with the guess if it's -1. - var dst = HEAP32[(((tmPtr)+(32))>>2)]; - var guessedOffset = date.getTimezoneOffset(); - var start = new Date(date.getFullYear(), 0, 1); - var summerOffset = new Date(date.getFullYear(), 6, 1).getTimezoneOffset(); - var winterOffset = start.getTimezoneOffset(); - var dstOffset = Math.min(winterOffset, summerOffset); // DST is in December in South - if (dst < 0) { - // Attention: some regions don't have DST at all. - HEAP32[(((tmPtr)+(32))>>2)] = Number(summerOffset != winterOffset && dstOffset == guessedOffset); - } else if ((dst > 0) != (dstOffset == guessedOffset)) { - var nonDstOffset = Math.max(winterOffset, summerOffset); - var trueOffset = dst > 0 ? dstOffset : nonDstOffset; - // Don't try setMinutes(date.getMinutes() + ...) -- it's messed up. - date.setTime(date.getTime() + (trueOffset - guessedOffset)*60000); - } - - HEAP32[(((tmPtr)+(24))>>2)] = date.getDay(); - var yday = ydayFromDate(date)|0; - HEAP32[(((tmPtr)+(28))>>2)] = yday; - // To match expected behavior, update fields from date - HEAP32[((tmPtr)>>2)] = date.getSeconds(); - HEAP32[(((tmPtr)+(4))>>2)] = date.getMinutes(); - HEAP32[(((tmPtr)+(8))>>2)] = date.getHours(); - HEAP32[(((tmPtr)+(12))>>2)] = date.getDate(); - HEAP32[(((tmPtr)+(16))>>2)] = date.getMonth(); - HEAP32[(((tmPtr)+(20))>>2)] = date.getYear(); - - var timeMs = date.getTime(); - if (isNaN(timeMs)) { - return -1; - } - // Return time in microseconds - return timeMs / 1000; - })(); - return BigInt(ret); - }; - - var stringToUTF8 = (str, outPtr, maxBytesToWrite) => { - assert(typeof maxBytesToWrite == 'number', 'stringToUTF8(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!'); - return stringToUTF8Array(str, HEAPU8, outPtr, maxBytesToWrite); - }; - - var __tzset_js = (timezone, daylight, std_name, dst_name) => { - // TODO: Use (malleable) environment variables instead of system settings. - var currentYear = new Date().getFullYear(); - var winter = new Date(currentYear, 0, 1); - var summer = new Date(currentYear, 6, 1); - var winterOffset = winter.getTimezoneOffset(); - var summerOffset = summer.getTimezoneOffset(); - - // Local standard timezone offset. Local standard time is not adjusted for - // daylight savings. This code uses the fact that getTimezoneOffset returns - // a greater value during Standard Time versus Daylight Saving Time (DST). - // Thus it determines the expected output during Standard Time, and it - // compares whether the output of the given date the same (Standard) or less - // (DST). - var stdTimezoneOffset = Math.max(winterOffset, summerOffset); - - // timezone is specified as seconds west of UTC ("The external variable - // `timezone` shall be set to the difference, in seconds, between - // Coordinated Universal Time (UTC) and local standard time."), the same - // as returned by stdTimezoneOffset. - // See http://pubs.opengroup.org/onlinepubs/009695399/functions/tzset.html - HEAPU32[((timezone)>>2)] = stdTimezoneOffset * 60; - - HEAP32[((daylight)>>2)] = Number(winterOffset != summerOffset); - - var extractZone = (timezoneOffset) => { - // Why inverse sign? - // Read here https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getTimezoneOffset - var sign = timezoneOffset >= 0 ? "-" : "+"; - - var absOffset = Math.abs(timezoneOffset) - var hours = String(Math.floor(absOffset / 60)).padStart(2, "0"); - var minutes = String(absOffset % 60).padStart(2, "0"); - - return `UTC${sign}${hours}${minutes}`; - } - - var winterName = extractZone(winterOffset); - var summerName = extractZone(summerOffset); - assert(winterName); - assert(summerName); - assert(lengthBytesUTF8(winterName) <= 16, `timezone name truncated to fit in TZNAME_MAX (${winterName})`); - assert(lengthBytesUTF8(summerName) <= 16, `timezone name truncated to fit in TZNAME_MAX (${summerName})`); - if (summerOffset < winterOffset) { - // Northern hemisphere - stringToUTF8(winterName, std_name, 17); - stringToUTF8(summerName, dst_name, 17); - } else { - stringToUTF8(winterName, dst_name, 17); - stringToUTF8(summerName, std_name, 17); - } - }; - - var _emscripten_date_now = () => Date.now(); - - var abortOnCannotGrowMemory = (requestedSize) => { - abort(`Cannot enlarge memory arrays to size ${requestedSize} bytes (OOM). Either (1) compile with -sINITIAL_MEMORY=X with X higher than the current value ${HEAP8.length}, (2) compile with -sALLOW_MEMORY_GROWTH which allows increasing the size at runtime, or (3) if you want malloc to return NULL (0) instead of this abort, compile with -sABORTING_MALLOC=0`); - }; - var _emscripten_resize_heap = (requestedSize) => { - var oldSize = HEAPU8.length; - // With CAN_ADDRESS_2GB or MEMORY64, pointers are already unsigned. - requestedSize >>>= 0; - abortOnCannotGrowMemory(requestedSize); - }; - - - var runtimeKeepaliveCounter = 0; - var keepRuntimeAlive = () => noExitRuntime || runtimeKeepaliveCounter > 0; - var _proc_exit = (code) => { - EXITSTATUS = code; - if (!keepRuntimeAlive()) { - Module['onExit']?.(code); - ABORT = true; - } - quit_(code, new ExitStatus(code)); - }; - - - /** @suppress {duplicate } */ - /** @param {boolean|number=} implicit */ - var exitJS = (status, implicit) => { - EXITSTATUS = status; - - checkUnflushedContent(); - - // if exit() was called explicitly, warn the user if the runtime isn't actually being shut down - if (keepRuntimeAlive() && !implicit) { - var msg = `program exited (with status: ${status}), but keepRuntimeAlive() is set (counter=${runtimeKeepaliveCounter}) due to an async operation, so halting execution but not exiting the runtime or preventing further async execution (you can use emscripten_force_exit, if you want to force a true shutdown)`; - err(msg); - } - - _proc_exit(status); - }; - var _exit = exitJS; - - function _fd_close(fd) { - try { - - var stream = SYSCALLS.getStreamFromFD(fd); - FS.close(stream); - return 0; - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return e.errno; - } - } - - function _fd_fdstat_get(fd, pbuf) { - try { - - var rightsBase = 0; - var rightsInheriting = 0; - var flags = 0; - { - var stream = SYSCALLS.getStreamFromFD(fd); - // All character devices are terminals (other things a Linux system would - // assume is a character device, like the mouse, we have special APIs for). - var type = stream.tty ? 2 : - FS.isDir(stream.mode) ? 3 : - FS.isLink(stream.mode) ? 7 : - 4; - } - HEAP8[pbuf] = type; - HEAP16[(((pbuf)+(2))>>1)] = flags; - HEAP64[(((pbuf)+(8))>>3)] = BigInt(rightsBase); - HEAP64[(((pbuf)+(16))>>3)] = BigInt(rightsInheriting); - return 0; - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return e.errno; - } - } - - /** @param {number=} offset */ - var doReadv = (stream, iov, iovcnt, offset) => { - var ret = 0; - for (var i = 0; i < iovcnt; i++) { - var ptr = HEAPU32[((iov)>>2)]; - var len = HEAPU32[(((iov)+(4))>>2)]; - iov += 8; - var curr = FS.read(stream, HEAP8, ptr, len, offset); - if (curr < 0) return -1; - ret += curr; - if (curr < len) break; // nothing more to read - if (typeof offset != 'undefined') { - offset += curr; - } - } - return ret; - }; - - function _fd_read(fd, iov, iovcnt, pnum) { - try { - - var stream = SYSCALLS.getStreamFromFD(fd); - var num = doReadv(stream, iov, iovcnt); - HEAPU32[((pnum)>>2)] = num; - return 0; - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return e.errno; - } - } - - - function _fd_seek(fd, offset, whence, newOffset) { - offset = bigintToI53Checked(offset); - - - try { - - if (isNaN(offset)) return 61; - var stream = SYSCALLS.getStreamFromFD(fd); - FS.llseek(stream, offset, whence); - HEAP64[((newOffset)>>3)] = BigInt(stream.position); - if (stream.getdents && offset === 0 && whence === 0) stream.getdents = null; // reset readdir state - return 0; - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return e.errno; - } - ; - } - - /** @param {number=} offset */ - var doWritev = (stream, iov, iovcnt, offset) => { - var ret = 0; - for (var i = 0; i < iovcnt; i++) { - var ptr = HEAPU32[((iov)>>2)]; - var len = HEAPU32[(((iov)+(4))>>2)]; - iov += 8; - var curr = FS.write(stream, HEAP8, ptr, len, offset); - if (curr < 0) return -1; - ret += curr; - if (curr < len) { - // No more space to write. - break; - } - if (typeof offset != 'undefined') { - offset += curr; - } - } - return ret; - }; - - function _fd_write(fd, iov, iovcnt, pnum) { - try { - - var stream = SYSCALLS.getStreamFromFD(fd); - var num = doWritev(stream, iov, iovcnt); - HEAPU32[((pnum)>>2)] = num; - return 0; - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return e.errno; - } - } - - - var handleException = (e) => { - // Certain exception types we do not treat as errors since they are used for - // internal control flow. - // 1. ExitStatus, which is thrown by exit() - // 2. "unwind", which is thrown by emscripten_unwind_to_js_event_loop() and others - // that wish to return to JS event loop. - if (e instanceof ExitStatus || e == 'unwind') { - return EXITSTATUS; - } - checkStackCookie(); - if (e instanceof WebAssembly.RuntimeError) { - if (_emscripten_stack_get_current() <= 0) { - err('Stack overflow detected. You can try increasing -sSTACK_SIZE (currently set to 65536)'); - } - } - quit_(1, e); - }; - - - - var stackAlloc = (sz) => __emscripten_stack_alloc(sz); - var stringToUTF8OnStack = (str) => { - var size = lengthBytesUTF8(str) + 1; - var ret = stackAlloc(size); - stringToUTF8(str, ret, size); - return ret; - }; - - FS.createPreloadedFile = FS_createPreloadedFile; - FS.staticInit(); - // Set module methods based on EXPORTED_RUNTIME_METHODS - ; -// End JS library code - -function checkIncomingModuleAPI() { - ignoredModuleProp('fetchSettings'); -} -var wasmImports = { - /** @export */ - __syscall_chmod: ___syscall_chmod, - /** @export */ - __syscall_fchmod: ___syscall_fchmod, - /** @export */ - __syscall_fcntl64: ___syscall_fcntl64, - /** @export */ - __syscall_fstat64: ___syscall_fstat64, - /** @export */ - __syscall_ioctl: ___syscall_ioctl, - /** @export */ - __syscall_lstat64: ___syscall_lstat64, - /** @export */ - __syscall_newfstatat: ___syscall_newfstatat, - /** @export */ - __syscall_openat: ___syscall_openat, - /** @export */ - __syscall_renameat: ___syscall_renameat, - /** @export */ - __syscall_rmdir: ___syscall_rmdir, - /** @export */ - __syscall_stat64: ___syscall_stat64, - /** @export */ - __syscall_unlinkat: ___syscall_unlinkat, - /** @export */ - _abort_js: __abort_js, - /** @export */ - _localtime_js: __localtime_js, - /** @export */ - _mktime_js: __mktime_js, - /** @export */ - _tzset_js: __tzset_js, - /** @export */ - emscripten_date_now: _emscripten_date_now, - /** @export */ - emscripten_resize_heap: _emscripten_resize_heap, - /** @export */ - exit: _exit, - /** @export */ - fd_close: _fd_close, - /** @export */ - fd_fdstat_get: _fd_fdstat_get, - /** @export */ - fd_read: _fd_read, - /** @export */ - fd_seek: _fd_seek, - /** @export */ - fd_write: _fd_write -}; -var wasmExports; -createWasm(); -var ___wasm_call_ctors = createExportWrapper('__wasm_call_ctors', 0); -var _main = Module['_main'] = createExportWrapper('__main_argc_argv', 2); -var _strerror = createExportWrapper('strerror', 1); -var _fflush = createExportWrapper('fflush', 1); -var _emscripten_stack_init = () => (_emscripten_stack_init = wasmExports['emscripten_stack_init'])(); -var _emscripten_stack_get_free = () => (_emscripten_stack_get_free = wasmExports['emscripten_stack_get_free'])(); -var _emscripten_stack_get_base = () => (_emscripten_stack_get_base = wasmExports['emscripten_stack_get_base'])(); -var _emscripten_stack_get_end = () => (_emscripten_stack_get_end = wasmExports['emscripten_stack_get_end'])(); -var __emscripten_stack_restore = (a0) => (__emscripten_stack_restore = wasmExports['_emscripten_stack_restore'])(a0); -var __emscripten_stack_alloc = (a0) => (__emscripten_stack_alloc = wasmExports['_emscripten_stack_alloc'])(a0); -var _emscripten_stack_get_current = () => (_emscripten_stack_get_current = wasmExports['emscripten_stack_get_current'])(); - - -// include: postamble.js -// === Auto-generated postamble setup entry stuff === - -var missingLibrarySymbols = [ - 'writeI53ToI64', - 'writeI53ToI64Clamped', - 'writeI53ToI64Signaling', - 'writeI53ToU64Clamped', - 'writeI53ToU64Signaling', - 'readI53FromI64', - 'readI53FromU64', - 'convertI32PairToI53', - 'convertI32PairToI53Checked', - 'convertU32PairToI53', - 'getTempRet0', - 'setTempRet0', - 'zeroMemory', - 'getHeapMax', - 'growMemory', - 'inetPton4', - 'inetNtop4', - 'inetPton6', - 'inetNtop6', - 'readSockaddr', - 'writeSockaddr', - 'emscriptenLog', - 'readEmAsmArgs', - 'jstoi_q', - 'getExecutableName', - 'listenOnce', - 'autoResumeAudioContext', - 'getDynCaller', - 'dynCall', - 'runtimeKeepalivePush', - 'runtimeKeepalivePop', - 'callUserCallback', - 'maybeExit', - 'asmjsMangle', - 'alignMemory', - 'HandleAllocator', - 'getNativeTypeSize', - 'addOnInit', - 'addOnPostCtor', - 'addOnPreMain', - 'addOnExit', - 'STACK_SIZE', - 'STACK_ALIGN', - 'POINTER_SIZE', - 'ASSERTIONS', - 'getCFunc', - 'ccall', - 'cwrap', - 'uleb128Encode', - 'sigToWasmTypes', - 'generateFuncType', - 'convertJsFunctionToWasm', - 'getEmptyTableSlot', - 'updateTableMap', - 'getFunctionAddress', - 'addFunction', - 'removeFunction', - 'reallyNegative', - 'unSign', - 'strLen', - 'reSign', - 'formatString', - 'intArrayToString', - 'AsciiToString', - 'stringToAscii', - 'UTF16ToString', - 'stringToUTF16', - 'lengthBytesUTF16', - 'UTF32ToString', - 'stringToUTF32', - 'lengthBytesUTF32', - 'stringToNewUTF8', - 'writeArrayToMemory', - 'registerKeyEventCallback', - 'maybeCStringToJsString', - 'findEventTarget', - 'getBoundingClientRect', - 'fillMouseEventData', - 'registerMouseEventCallback', - 'registerWheelEventCallback', - 'registerUiEventCallback', - 'registerFocusEventCallback', - 'fillDeviceOrientationEventData', - 'registerDeviceOrientationEventCallback', - 'fillDeviceMotionEventData', - 'registerDeviceMotionEventCallback', - 'screenOrientation', - 'fillOrientationChangeEventData', - 'registerOrientationChangeEventCallback', - 'fillFullscreenChangeEventData', - 'registerFullscreenChangeEventCallback', - 'JSEvents_requestFullscreen', - 'JSEvents_resizeCanvasForFullscreen', - 'registerRestoreOldStyle', - 'hideEverythingExceptGivenElement', - 'restoreHiddenElements', - 'setLetterbox', - 'softFullscreenResizeWebGLRenderTarget', - 'doRequestFullscreen', - 'fillPointerlockChangeEventData', - 'registerPointerlockChangeEventCallback', - 'registerPointerlockErrorEventCallback', - 'requestPointerLock', - 'fillVisibilityChangeEventData', - 'registerVisibilityChangeEventCallback', - 'registerTouchEventCallback', - 'fillGamepadEventData', - 'registerGamepadEventCallback', - 'registerBeforeUnloadEventCallback', - 'fillBatteryEventData', - 'battery', - 'registerBatteryEventCallback', - 'setCanvasElementSize', - 'getCanvasElementSize', - 'jsStackTrace', - 'getCallstack', - 'convertPCtoSourceLocation', - 'getEnvStrings', - 'checkWasiClock', - 'wasiRightsToMuslOFlags', - 'wasiOFlagsToMuslOFlags', - 'safeSetTimeout', - 'setImmediateWrapped', - 'safeRequestAnimationFrame', - 'clearImmediateWrapped', - 'registerPostMainLoop', - 'registerPreMainLoop', - 'getPromise', - 'makePromise', - 'idsToPromises', - 'makePromiseCallback', - 'ExceptionInfo', - 'findMatchingCatch', - 'Browser_asyncPrepareDataCounter', - 'arraySum', - 'addDays', - 'getSocketFromFD', - 'getSocketAddress', - 'FS_unlink', - 'FS_mkdirTree', - '_setNetworkCallback', - 'heapObjectForWebGLType', - 'toTypedArrayIndex', - 'webgl_enable_ANGLE_instanced_arrays', - 'webgl_enable_OES_vertex_array_object', - 'webgl_enable_WEBGL_draw_buffers', - 'webgl_enable_WEBGL_multi_draw', - 'webgl_enable_EXT_polygon_offset_clamp', - 'webgl_enable_EXT_clip_control', - 'webgl_enable_WEBGL_polygon_mode', - 'emscriptenWebGLGet', - 'computeUnpackAlignedImageSize', - 'colorChannelsInGlTextureFormat', - 'emscriptenWebGLGetTexPixelData', - 'emscriptenWebGLGetUniform', - 'webglGetUniformLocation', - 'webglPrepareUniformLocationsBeforeFirstUse', - 'webglGetLeftBracePos', - 'emscriptenWebGLGetVertexAttrib', - '__glGetActiveAttribOrUniform', - 'writeGLArray', - 'registerWebGlEventCallback', - 'runAndAbortIfError', - 'ALLOC_NORMAL', - 'ALLOC_STACK', - 'allocate', - 'writeStringToMemory', - 'writeAsciiToMemory', - 'demangle', - 'stackTrace', -]; -missingLibrarySymbols.forEach(missingLibrarySymbol) - -var unexportedSymbols = [ - 'run', - 'addRunDependency', - 'removeRunDependency', - 'out', - 'err', - 'callMain', - 'abort', - 'wasmMemory', - 'wasmExports', - 'writeStackCookie', - 'checkStackCookie', - 'INT53_MAX', - 'INT53_MIN', - 'bigintToI53Checked', - 'stackSave', - 'stackRestore', - 'stackAlloc', - 'ptrToString', - 'exitJS', - 'abortOnCannotGrowMemory', - 'ENV', - 'ERRNO_CODES', - 'strError', - 'DNS', - 'Protocols', - 'Sockets', - 'timers', - 'warnOnce', - 'readEmAsmArgsArray', - 'jstoi_s', - 'handleException', - 'keepRuntimeAlive', - 'asyncLoad', - 'mmapAlloc', - 'wasmTable', - 'noExitRuntime', - 'addOnPreRun', - 'addOnPostRun', - 'freeTableIndexes', - 'functionsInTableMap', - 'setValue', - 'getValue', - 'PATH', - 'PATH_FS', - 'UTF8Decoder', - 'UTF8ArrayToString', - 'UTF8ToString', - 'stringToUTF8Array', - 'stringToUTF8', - 'lengthBytesUTF8', - 'intArrayFromString', - 'UTF16Decoder', - 'stringToUTF8OnStack', - 'JSEvents', - 'specialHTMLTargets', - 'findCanvasEventTarget', - 'currentFullscreenStrategy', - 'restoreOldWindowedStyle', - 'UNWIND_CACHE', - 'ExitStatus', - 'doReadv', - 'doWritev', - 'initRandomFill', - 'randomFill', - 'emSetImmediate', - 'emClearImmediate_deps', - 'emClearImmediate', - 'promiseMap', - 'uncaughtExceptionCount', - 'exceptionLast', - 'exceptionCaught', - 'Browser', - 'getPreloadedImageData__data', - 'wget', - 'MONTH_DAYS_REGULAR', - 'MONTH_DAYS_LEAP', - 'MONTH_DAYS_REGULAR_CUMULATIVE', - 'MONTH_DAYS_LEAP_CUMULATIVE', - 'isLeapYear', - 'ydayFromDate', - 'SYSCALLS', - 'preloadPlugins', - 'FS_createPreloadedFile', - 'FS_modeStringToFlags', - 'FS_getMode', - 'FS_stdin_getChar_buffer', - 'FS_stdin_getChar', - 'FS_createPath', - 'FS_createDevice', - 'FS_readFile', - 'FS', - 'FS_createDataFile', - 'FS_createLazyFile', - 'MEMFS', - 'TTY', - 'PIPEFS', - 'SOCKFS', - 'tempFixedLengthArray', - 'miniTempWebGLFloatBuffers', - 'miniTempWebGLIntBuffers', - 'GL', - 'AL', - 'GLUT', - 'EGL', - 'GLEW', - 'IDBStore', - 'SDL', - 'SDL_gfx', - 'allocateUTF8', - 'allocateUTF8OnStack', - 'print', - 'printErr', -]; -unexportedSymbols.forEach(unexportedRuntimeSymbol); - - - -var calledRun; - -function callMain(args = []) { - assert(runDependencies == 0, 'cannot call main when async dependencies remain! (listen on Module["onRuntimeInitialized"])'); - assert(typeof onPreRuns === 'undefined' || onPreRuns.length == 0, 'cannot call main when preRun functions remain to be called'); - - var entryFunction = _main; - - args.unshift(thisProgram); - - var argc = args.length; - var argv = stackAlloc((argc + 1) * 4); - var argv_ptr = argv; - args.forEach((arg) => { - HEAPU32[((argv_ptr)>>2)] = stringToUTF8OnStack(arg); - argv_ptr += 4; - }); - HEAPU32[((argv_ptr)>>2)] = 0; - - try { - - var ret = entryFunction(argc, argv); - - // if we're not running an evented main loop, it's time to exit - exitJS(ret, /* implicit = */ true); - return ret; - } catch (e) { - return handleException(e); - } -} - -function stackCheckInit() { - // This is normally called automatically during __wasm_call_ctors but need to - // get these values before even running any of the ctors so we call it redundantly - // here. - _emscripten_stack_init(); - // TODO(sbc): Move writeStackCookie to native to to avoid this. - writeStackCookie(); -} - -function run(args = arguments_) { - - if (runDependencies > 0) { - dependenciesFulfilled = run; - return; - } - - stackCheckInit(); - - preRun(); - - // a preRun added a dependency, run will be called later - if (runDependencies > 0) { - dependenciesFulfilled = run; - return; - } - - function doRun() { - // run may have just been called through dependencies being fulfilled just in this very frame, - // or while the async setStatus time below was happening - assert(!calledRun); - calledRun = true; - Module['calledRun'] = true; - - if (ABORT) return; - - initRuntime(); - - preMain(); - - Module['onRuntimeInitialized']?.(); - consumedModuleProp('onRuntimeInitialized'); - - var noInitialRun = Module['noInitialRun'];legacyModuleProp('noInitialRun', 'noInitialRun'); - if (!noInitialRun) callMain(args); - - postRun(); - } - - if (Module['setStatus']) { - Module['setStatus']('Running...'); - setTimeout(() => { - setTimeout(() => Module['setStatus'](''), 1); - doRun(); - }, 1); - } else - { - doRun(); - } - checkStackCookie(); -} - -function checkUnflushedContent() { - // Compiler settings do not allow exiting the runtime, so flushing - // the streams is not possible. but in ASSERTIONS mode we check - // if there was something to flush, and if so tell the user they - // should request that the runtime be exitable. - // Normally we would not even include flush() at all, but in ASSERTIONS - // builds we do so just for this check, and here we see if there is any - // content to flush, that is, we check if there would have been - // something a non-ASSERTIONS build would have not seen. - // How we flush the streams depends on whether we are in SYSCALLS_REQUIRE_FILESYSTEM=0 - // mode (which has its own special function for this; otherwise, all - // the code is inside libc) - var oldOut = out; - var oldErr = err; - var has = false; - out = err = (x) => { - has = true; - } - try { // it doesn't matter if it fails - _fflush(0); - // also flush in the JS FS layer - ['stdout', 'stderr'].forEach((name) => { - var info = FS.analyzePath('/dev/' + name); - if (!info) return; - var stream = info.object; - var rdev = stream.rdev; - var tty = TTY.ttys[rdev]; - if (tty?.output?.length) { - has = true; - } - }); - } catch(e) {} - out = oldOut; - err = oldErr; - if (has) { - warnOnce('stdio streams had content in them that was not flushed. you should set EXIT_RUNTIME to 1 (see the Emscripten FAQ), or make sure to emit a newline when you printf etc.'); - } -} - -if (Module['preInit']) { - if (typeof Module['preInit'] == 'function') Module['preInit'] = [Module['preInit']]; - while (Module['preInit'].length > 0) { - Module['preInit'].pop()(); - } -} -consumedModuleProp('preInit'); - -run(); - -// end include: postamble.js - diff --git a/thirdparty/libzip-1.11.3/build-emcmake/examples/autoclose-archive.wasm b/thirdparty/libzip-1.11.3/build-emcmake/examples/autoclose-archive.wasm deleted file mode 100755 index 4b03118f75afb948c38b1226b8c5251852a03df8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 398520 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�PLE|96HN9aDbYv# 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�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%0DF#`~E0@J4WEsGw{e2_Q@Oj|k3_r=P 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 n3C?{2_F%~A Promise -// 3. pre-run appended it, var Module = {}; ..generated code.. -// 4. External script tag defines var Module. -// We need to check if Module already exists (e.g. case 3 above). -// Substitution will be replaced with actual code on later stage of the build, -// this way Closure Compiler will not mangle it (e.g. case 4. above). -// Note that if you want to run closure, and also to use Module -// after the generated code, you will need to define var Module = {}; -// before the code. Then that object will be used in the code, and you -// can continue to use Module afterwards as well. -var Module = typeof Module != 'undefined' ? Module : {}; - -// Determine the runtime environment we are in. You can customize this by -// setting the ENVIRONMENT setting at compile time (see settings.js). - -// Attempt to auto-detect the environment -var ENVIRONMENT_IS_WEB = typeof window == 'object'; -var ENVIRONMENT_IS_WORKER = typeof WorkerGlobalScope != 'undefined'; -// N.b. Electron.js environment is simultaneously a NODE-environment, but -// also a web environment. -var ENVIRONMENT_IS_NODE = typeof process == 'object' && typeof process.versions == 'object' && typeof process.versions.node == 'string' && process.type != 'renderer'; -var ENVIRONMENT_IS_SHELL = !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_NODE && !ENVIRONMENT_IS_WORKER; - -if (ENVIRONMENT_IS_NODE) { - -} - -// --pre-jses are emitted after the Module integration code, so that they can -// refer to Module (if they choose; they can also define Module) - - -// Sometimes an existing Module object exists with properties -// meant to overwrite the default module functionality. Here -// we collect those properties and reapply _after_ we configure -// the current environment's defaults to avoid having to be so -// defensive during initialization. -var moduleOverrides = {...Module}; - -var arguments_ = []; -var thisProgram = './this.program'; -var quit_ = (status, toThrow) => { - throw toThrow; -}; - -// `/` should be present at the end if `scriptDirectory` is not empty -var scriptDirectory = ''; -function locateFile(path) { - if (Module['locateFile']) { - return Module['locateFile'](path, scriptDirectory); - } - return scriptDirectory + path; -} - -// Hooks that are implemented differently in different runtime environments. -var readAsync, readBinary; - -if (ENVIRONMENT_IS_NODE) { - if (typeof process == 'undefined' || !process.release || process.release.name !== 'node') throw new Error('not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)'); - - var nodeVersion = process.versions.node; - var numericVersion = nodeVersion.split('.').slice(0, 3); - numericVersion = (numericVersion[0] * 10000) + (numericVersion[1] * 100) + (numericVersion[2].split('-')[0] * 1); - var minVersion = 160000; - if (numericVersion < 160000) { - throw new Error('This emscripten-generated code requires node v16.0.0 (detected v' + nodeVersion + ')'); - } - - // These modules will usually be used on Node.js. Load them eagerly to avoid - // the complexity of lazy-loading. - var fs = require('fs'); - var nodePath = require('path'); - - scriptDirectory = __dirname + '/'; - -// include: node_shell_read.js -readBinary = (filename) => { - // We need to re-wrap `file://` strings to URLs. - filename = isFileURI(filename) ? new URL(filename) : filename; - var ret = fs.readFileSync(filename); - assert(Buffer.isBuffer(ret)); - return ret; -}; - -readAsync = async (filename, binary = true) => { - // See the comment in the `readBinary` function. - filename = isFileURI(filename) ? new URL(filename) : filename; - var ret = fs.readFileSync(filename, binary ? undefined : 'utf8'); - assert(binary ? Buffer.isBuffer(ret) : typeof ret == 'string'); - return ret; -}; -// end include: node_shell_read.js - if (!Module['thisProgram'] && process.argv.length > 1) { - thisProgram = process.argv[1].replace(/\\/g, '/'); - } - - arguments_ = process.argv.slice(2); - - if (typeof module != 'undefined') { - module['exports'] = Module; - } - - quit_ = (status, toThrow) => { - process.exitCode = status; - throw toThrow; - }; - -} else -if (ENVIRONMENT_IS_SHELL) { - - if ((typeof process == 'object' && typeof require === 'function') || typeof window == 'object' || typeof WorkerGlobalScope != 'undefined') throw new Error('not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)'); - -} else - -// Note that this includes Node.js workers when relevant (pthreads is enabled). -// Node.js workers are detected as a combination of ENVIRONMENT_IS_WORKER and -// ENVIRONMENT_IS_NODE. -if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) { - if (ENVIRONMENT_IS_WORKER) { // Check worker, not web, since window could be polyfilled - scriptDirectory = self.location.href; - } else if (typeof document != 'undefined' && document.currentScript) { // web - scriptDirectory = document.currentScript.src; - } - // blob urls look like blob:http://site.com/etc/etc and we cannot infer anything from them. - // otherwise, slice off the final part of the url to find the script directory. - // if scriptDirectory does not contain a slash, lastIndexOf will return -1, - // and scriptDirectory will correctly be replaced with an empty string. - // If scriptDirectory contains a query (starting with ?) or a fragment (starting with #), - // they are removed because they could contain a slash. - if (scriptDirectory.startsWith('blob:')) { - scriptDirectory = ''; - } else { - scriptDirectory = scriptDirectory.slice(0, scriptDirectory.replace(/[?#].*/, '').lastIndexOf('/')+1); - } - - if (!(typeof window == 'object' || typeof WorkerGlobalScope != 'undefined')) throw new Error('not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)'); - - { -// include: web_or_worker_shell_read.js -if (ENVIRONMENT_IS_WORKER) { - readBinary = (url) => { - var xhr = new XMLHttpRequest(); - xhr.open('GET', url, false); - xhr.responseType = 'arraybuffer'; - xhr.send(null); - return new Uint8Array(/** @type{!ArrayBuffer} */(xhr.response)); - }; - } - - readAsync = async (url) => { - // Fetch has some additional restrictions over XHR, like it can't be used on a file:// url. - // See https://github.com/github/fetch/pull/92#issuecomment-140665932 - // Cordova or Electron apps are typically loaded from a file:// url. - // So use XHR on webview if URL is a file URL. - if (isFileURI(url)) { - return new Promise((resolve, reject) => { - var xhr = new XMLHttpRequest(); - xhr.open('GET', url, true); - xhr.responseType = 'arraybuffer'; - xhr.onload = () => { - if (xhr.status == 200 || (xhr.status == 0 && xhr.response)) { // file URLs can return 0 - resolve(xhr.response); - return; - } - reject(xhr.status); - }; - xhr.onerror = reject; - xhr.send(null); - }); - } - var response = await fetch(url, { credentials: 'same-origin' }); - if (response.ok) { - return response.arrayBuffer(); - } - throw new Error(response.status + ' : ' + response.url); - }; -// end include: web_or_worker_shell_read.js - } -} else -{ - throw new Error('environment detection error'); -} - -var out = Module['print'] || console.log.bind(console); -var err = Module['printErr'] || console.error.bind(console); - -// Merge back in the overrides -Object.assign(Module, moduleOverrides); -// Free the object hierarchy contained in the overrides, this lets the GC -// reclaim data used. -moduleOverrides = null; -checkIncomingModuleAPI(); - -// Emit code to handle expected values on the Module object. This applies Module.x -// to the proper local x. This has two benefits: first, we only emit it if it is -// expected to arrive, and second, by using a local everywhere else that can be -// minified. - -if (Module['arguments']) arguments_ = Module['arguments'];legacyModuleProp('arguments', 'arguments_'); - -if (Module['thisProgram']) thisProgram = Module['thisProgram'];legacyModuleProp('thisProgram', 'thisProgram'); - -// perform assertions in shell.js after we set up out() and err(), as otherwise if an assertion fails it cannot print the message -// Assertions on removed incoming Module JS APIs. -assert(typeof Module['memoryInitializerPrefixURL'] == 'undefined', 'Module.memoryInitializerPrefixURL option was removed, use Module.locateFile instead'); -assert(typeof Module['pthreadMainPrefixURL'] == 'undefined', 'Module.pthreadMainPrefixURL option was removed, use Module.locateFile instead'); -assert(typeof Module['cdInitializerPrefixURL'] == 'undefined', 'Module.cdInitializerPrefixURL option was removed, use Module.locateFile instead'); -assert(typeof Module['filePackagePrefixURL'] == 'undefined', 'Module.filePackagePrefixURL option was removed, use Module.locateFile instead'); -assert(typeof Module['read'] == 'undefined', 'Module.read option was removed'); -assert(typeof Module['readAsync'] == 'undefined', 'Module.readAsync option was removed (modify readAsync in JS)'); -assert(typeof Module['readBinary'] == 'undefined', 'Module.readBinary option was removed (modify readBinary in JS)'); -assert(typeof Module['setWindowTitle'] == 'undefined', 'Module.setWindowTitle option was removed (modify emscripten_set_window_title in JS)'); -assert(typeof Module['TOTAL_MEMORY'] == 'undefined', 'Module.TOTAL_MEMORY has been renamed Module.INITIAL_MEMORY'); -legacyModuleProp('asm', 'wasmExports'); -legacyModuleProp('readAsync', 'readAsync'); -legacyModuleProp('readBinary', 'readBinary'); -legacyModuleProp('setWindowTitle', 'setWindowTitle'); -var IDBFS = 'IDBFS is no longer included by default; build with -lidbfs.js'; -var PROXYFS = 'PROXYFS is no longer included by default; build with -lproxyfs.js'; -var WORKERFS = 'WORKERFS is no longer included by default; build with -lworkerfs.js'; -var FETCHFS = 'FETCHFS is no longer included by default; build with -lfetchfs.js'; -var ICASEFS = 'ICASEFS is no longer included by default; build with -licasefs.js'; -var JSFILEFS = 'JSFILEFS is no longer included by default; build with -ljsfilefs.js'; -var OPFS = 'OPFS is no longer included by default; build with -lopfs.js'; - -var NODEFS = 'NODEFS is no longer included by default; build with -lnodefs.js'; - -assert(!ENVIRONMENT_IS_SHELL, 'shell environment detected but not enabled at build time. Add `shell` to `-sENVIRONMENT` to enable.'); - -// end include: shell.js - -// include: preamble.js -// === Preamble library stuff === - -// Documentation for the public APIs defined in this file must be updated in: -// site/source/docs/api_reference/preamble.js.rst -// A prebuilt local version of the documentation is available at: -// site/build/text/docs/api_reference/preamble.js.txt -// You can also build docs locally as HTML or other formats in site/ -// An online HTML version (which may be of a different version of Emscripten) -// is up at http://kripken.github.io/emscripten-site/docs/api_reference/preamble.js.html - -var wasmBinary = Module['wasmBinary'];legacyModuleProp('wasmBinary', 'wasmBinary'); - -if (typeof WebAssembly != 'object') { - err('no native wasm support detected'); -} - -// Wasm globals - -var wasmMemory; - -//======================================== -// Runtime essentials -//======================================== - -// whether we are quitting the application. no code should run after this. -// set in exit() and abort() -var ABORT = false; - -// set by exit() and abort(). Passed to 'onExit' handler. -// NOTE: This is also used as the process return code code in shell environments -// but only when noExitRuntime is false. -var EXITSTATUS; - -// In STRICT mode, we only define assert() when ASSERTIONS is set. i.e. we -// don't define it at all in release modes. This matches the behaviour of -// MINIMAL_RUNTIME. -// TODO(sbc): Make this the default even without STRICT enabled. -/** @type {function(*, string=)} */ -function assert(condition, text) { - if (!condition) { - abort('Assertion failed' + (text ? ': ' + text : '')); - } -} - -// We used to include malloc/free by default in the past. Show a helpful error in -// builds with assertions. -function _malloc() { - abort('malloc() called but not included in the build - add `_malloc` to EXPORTED_FUNCTIONS'); -} -function _free() { - // Show a helpful error since we used to include free by default in the past. - abort('free() called but not included in the build - add `_free` to EXPORTED_FUNCTIONS'); -} - -// Memory management - -var HEAP, -/** @type {!Int8Array} */ - HEAP8, -/** @type {!Uint8Array} */ - HEAPU8, -/** @type {!Int16Array} */ - HEAP16, -/** @type {!Uint16Array} */ - HEAPU16, -/** @type {!Int32Array} */ - HEAP32, -/** @type {!Uint32Array} */ - HEAPU32, -/** @type {!Float32Array} */ - HEAPF32, -/* BigInt64Array type is not correctly defined in closure -/** not-@type {!BigInt64Array} */ - HEAP64, -/* BigUint64Array type is not correctly defined in closure -/** not-t@type {!BigUint64Array} */ - HEAPU64, -/** @type {!Float64Array} */ - HEAPF64; - -var runtimeInitialized = false; - -/** - * Indicates whether filename is delivered via file protocol (as opposed to http/https) - * @noinline - */ -var isFileURI = (filename) => filename.startsWith('file://'); - -// include: runtime_shared.js -// include: runtime_stack_check.js -// Initializes the stack cookie. Called at the startup of main and at the startup of each thread in pthreads mode. -function writeStackCookie() { - var max = _emscripten_stack_get_end(); - assert((max & 3) == 0); - // If the stack ends at address zero we write our cookies 4 bytes into the - // stack. This prevents interference with SAFE_HEAP and ASAN which also - // monitor writes to address zero. - if (max == 0) { - max += 4; - } - // The stack grow downwards towards _emscripten_stack_get_end. - // We write cookies to the final two words in the stack and detect if they are - // ever overwritten. - HEAPU32[((max)>>2)] = 0x02135467; - HEAPU32[(((max)+(4))>>2)] = 0x89BACDFE; - // Also test the global address 0 for integrity. - HEAPU32[((0)>>2)] = 1668509029; -} - -function checkStackCookie() { - if (ABORT) return; - var max = _emscripten_stack_get_end(); - // See writeStackCookie(). - if (max == 0) { - max += 4; - } - var cookie1 = HEAPU32[((max)>>2)]; - var cookie2 = HEAPU32[(((max)+(4))>>2)]; - if (cookie1 != 0x02135467 || cookie2 != 0x89BACDFE) { - abort(`Stack overflow! Stack cookie has been overwritten at ${ptrToString(max)}, expected hex dwords 0x89BACDFE and 0x2135467, but received ${ptrToString(cookie2)} ${ptrToString(cookie1)}`); - } - // Also test the global address 0 for integrity. - if (HEAPU32[((0)>>2)] != 0x63736d65 /* 'emsc' */) { - abort('Runtime error: The application has corrupted its heap memory area (address zero)!'); - } -} -// end include: runtime_stack_check.js -// include: runtime_exceptions.js -// end include: runtime_exceptions.js -// include: runtime_debug.js -// Endianness check -(() => { - var h16 = new Int16Array(1); - var h8 = new Int8Array(h16.buffer); - h16[0] = 0x6373; - if (h8[0] !== 0x73 || h8[1] !== 0x63) throw 'Runtime error: expected the system to be little-endian! (Run with -sSUPPORT_BIG_ENDIAN to bypass)'; -})(); - -if (Module['ENVIRONMENT']) { - throw new Error('Module.ENVIRONMENT has been deprecated. To force the environment, use the ENVIRONMENT compile-time option (for example, -sENVIRONMENT=web or -sENVIRONMENT=node)'); -} - -function legacyModuleProp(prop, newName, incoming=true) { - if (!Object.getOwnPropertyDescriptor(Module, prop)) { - Object.defineProperty(Module, prop, { - configurable: true, - get() { - let extra = incoming ? ' (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)' : ''; - abort(`\`Module.${prop}\` has been replaced by \`${newName}\`` + extra); - - } - }); - } -} - -function consumedModuleProp(prop) { - if (!Object.getOwnPropertyDescriptor(Module, prop)) { - Object.defineProperty(Module, prop, { - configurable: true, - set() { - abort(`Attempt to set \`Module.${prop}\` after it has already been processed. This can happen, for example, when code is injected via '--post-js' rather than '--pre-js'`); - - } - }); - } -} - -function ignoredModuleProp(prop) { - if (Object.getOwnPropertyDescriptor(Module, prop)) { - abort(`\`Module.${prop}\` was supplied but \`${prop}\` not included in INCOMING_MODULE_JS_API`); - } -} - -// forcing the filesystem exports a few things by default -function isExportedByForceFilesystem(name) { - return name === 'FS_createPath' || - name === 'FS_createDataFile' || - name === 'FS_createPreloadedFile' || - name === 'FS_unlink' || - name === 'addRunDependency' || - // The old FS has some functionality that WasmFS lacks. - name === 'FS_createLazyFile' || - name === 'FS_createDevice' || - name === 'removeRunDependency'; -} - -/** - * Intercept access to a global symbol. This enables us to give informative - * warnings/errors when folks attempt to use symbols they did not include in - * their build, or no symbols that no longer exist. - */ -function hookGlobalSymbolAccess(sym, func) { - if (typeof globalThis != 'undefined' && !Object.getOwnPropertyDescriptor(globalThis, sym)) { - Object.defineProperty(globalThis, sym, { - configurable: true, - get() { - func(); - return undefined; - } - }); - } -} - -function missingGlobal(sym, msg) { - hookGlobalSymbolAccess(sym, () => { - warnOnce(`\`${sym}\` is not longer defined by emscripten. ${msg}`); - }); -} - -missingGlobal('buffer', 'Please use HEAP8.buffer or wasmMemory.buffer'); -missingGlobal('asm', 'Please use wasmExports instead'); - -function missingLibrarySymbol(sym) { - hookGlobalSymbolAccess(sym, () => { - // Can't `abort()` here because it would break code that does runtime - // checks. e.g. `if (typeof SDL === 'undefined')`. - var msg = `\`${sym}\` is a library symbol and not included by default; add it to your library.js __deps or to DEFAULT_LIBRARY_FUNCS_TO_INCLUDE on the command line`; - // DEFAULT_LIBRARY_FUNCS_TO_INCLUDE requires the name as it appears in - // library.js, which means $name for a JS name with no prefix, or name - // for a JS name like _name. - var librarySymbol = sym; - if (!librarySymbol.startsWith('_')) { - librarySymbol = '$' + sym; - } - msg += ` (e.g. -sDEFAULT_LIBRARY_FUNCS_TO_INCLUDE='${librarySymbol}')`; - if (isExportedByForceFilesystem(sym)) { - msg += '. Alternatively, forcing filesystem support (-sFORCE_FILESYSTEM) can export this for you'; - } - warnOnce(msg); - }); - - // Any symbol that is not included from the JS library is also (by definition) - // not exported on the Module object. - unexportedRuntimeSymbol(sym); -} - -function unexportedRuntimeSymbol(sym) { - if (!Object.getOwnPropertyDescriptor(Module, sym)) { - Object.defineProperty(Module, sym, { - configurable: true, - get() { - var msg = `'${sym}' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the Emscripten FAQ)`; - if (isExportedByForceFilesystem(sym)) { - msg += '. Alternatively, forcing filesystem support (-sFORCE_FILESYSTEM) can export this for you'; - } - abort(msg); - } - }); - } -} - -var runtimeDebug = true; // Switch to false at runtime to disable logging at the right times - -// Used by XXXXX_DEBUG settings to output debug messages. -function dbg(...args) { - if (!runtimeDebug && typeof runtimeDebug != 'undefined') return; - // TODO(sbc): Make this configurable somehow. Its not always convenient for - // logging to show up as warnings. - console.warn(...args); -} -// end include: runtime_debug.js -// include: memoryprofiler.js -// end include: memoryprofiler.js - - -function updateMemoryViews() { - var b = wasmMemory.buffer; - Module['HEAP8'] = HEAP8 = new Int8Array(b); - Module['HEAP16'] = HEAP16 = new Int16Array(b); - Module['HEAPU8'] = HEAPU8 = new Uint8Array(b); - Module['HEAPU16'] = HEAPU16 = new Uint16Array(b); - Module['HEAP32'] = HEAP32 = new Int32Array(b); - Module['HEAPU32'] = HEAPU32 = new Uint32Array(b); - Module['HEAPF32'] = HEAPF32 = new Float32Array(b); - Module['HEAPF64'] = HEAPF64 = new Float64Array(b); - Module['HEAP64'] = HEAP64 = new BigInt64Array(b); - Module['HEAPU64'] = HEAPU64 = new BigUint64Array(b); -} - -// end include: runtime_shared.js -assert(!Module['STACK_SIZE'], 'STACK_SIZE can no longer be set at runtime. Use -sSTACK_SIZE at link time') - -assert(typeof Int32Array != 'undefined' && typeof Float64Array !== 'undefined' && Int32Array.prototype.subarray != undefined && Int32Array.prototype.set != undefined, - 'JS engine does not provide full typed array support'); - -// If memory is defined in wasm, the user can't provide it, or set INITIAL_MEMORY -assert(!Module['wasmMemory'], 'Use of `wasmMemory` detected. Use -sIMPORTED_MEMORY to define wasmMemory externally'); -assert(!Module['INITIAL_MEMORY'], 'Detected runtime INITIAL_MEMORY setting. Use -sIMPORTED_MEMORY to define wasmMemory dynamically'); - -function preRun() { - if (Module['preRun']) { - if (typeof Module['preRun'] == 'function') Module['preRun'] = [Module['preRun']]; - while (Module['preRun'].length) { - addOnPreRun(Module['preRun'].shift()); - } - } - consumedModuleProp('preRun'); - callRuntimeCallbacks(onPreRuns); -} - -function initRuntime() { - assert(!runtimeInitialized); - runtimeInitialized = true; - - checkStackCookie(); - - if (!Module['noFSInit'] && !FS.initialized) FS.init(); -TTY.init(); - - wasmExports['__wasm_call_ctors'](); - - FS.ignorePermissions = false; -} - -function preMain() { - checkStackCookie(); - -} - -function postRun() { - checkStackCookie(); - - if (Module['postRun']) { - if (typeof Module['postRun'] == 'function') Module['postRun'] = [Module['postRun']]; - while (Module['postRun'].length) { - addOnPostRun(Module['postRun'].shift()); - } - } - consumedModuleProp('postRun'); - - callRuntimeCallbacks(onPostRuns); -} - -// A counter of dependencies for calling run(). If we need to -// do asynchronous work before running, increment this and -// decrement it. Incrementing must happen in a place like -// Module.preRun (used by emcc to add file preloading). -// Note that you can add dependencies in preRun, even though -// it happens right before run - run will be postponed until -// the dependencies are met. -var runDependencies = 0; -var dependenciesFulfilled = null; // overridden to take different actions when all run dependencies are fulfilled -var runDependencyTracking = {}; -var runDependencyWatcher = null; - -function getUniqueRunDependency(id) { - var orig = id; - while (1) { - if (!runDependencyTracking[id]) return id; - id = orig + Math.random(); - } -} - -function addRunDependency(id) { - runDependencies++; - - Module['monitorRunDependencies']?.(runDependencies); - - if (id) { - assert(!runDependencyTracking[id]); - runDependencyTracking[id] = 1; - if (runDependencyWatcher === null && typeof setInterval != 'undefined') { - // Check for missing dependencies every few seconds - runDependencyWatcher = setInterval(() => { - if (ABORT) { - clearInterval(runDependencyWatcher); - runDependencyWatcher = null; - return; - } - var shown = false; - for (var dep in runDependencyTracking) { - if (!shown) { - shown = true; - err('still waiting on run dependencies:'); - } - err(`dependency: ${dep}`); - } - if (shown) { - err('(end of list)'); - } - }, 10000); - } - } else { - err('warning: run dependency added without ID'); - } -} - -function removeRunDependency(id) { - runDependencies--; - - Module['monitorRunDependencies']?.(runDependencies); - - if (id) { - assert(runDependencyTracking[id]); - delete runDependencyTracking[id]; - } else { - err('warning: run dependency removed without ID'); - } - if (runDependencies == 0) { - if (runDependencyWatcher !== null) { - clearInterval(runDependencyWatcher); - runDependencyWatcher = null; - } - if (dependenciesFulfilled) { - var callback = dependenciesFulfilled; - dependenciesFulfilled = null; - callback(); // can add another dependenciesFulfilled - } - } -} - -/** @param {string|number=} what */ -function abort(what) { - Module['onAbort']?.(what); - - what = 'Aborted(' + what + ')'; - // TODO(sbc): Should we remove printing and leave it up to whoever - // catches the exception? - err(what); - - ABORT = true; - - // Use a wasm runtime error, because a JS error might be seen as a foreign - // exception, which means we'd run destructors on it. We need the error to - // simply make the program stop. - // FIXME This approach does not work in Wasm EH because it currently does not assume - // all RuntimeErrors are from traps; it decides whether a RuntimeError is from - // a trap or not based on a hidden field within the object. So at the moment - // we don't have a way of throwing a wasm trap from JS. TODO Make a JS API that - // allows this in the wasm spec. - - // Suppress closure compiler warning here. Closure compiler's builtin extern - // definition for WebAssembly.RuntimeError claims it takes no arguments even - // though it can. - // TODO(https://github.com/google/closure-compiler/pull/3913): Remove if/when upstream closure gets fixed. - /** @suppress {checkTypes} */ - var e = new WebAssembly.RuntimeError(what); - - // Throw the error whether or not MODULARIZE is set because abort is used - // in code paths apart from instantiation where an exception is expected - // to be thrown when abort is called. - throw e; -} - -function createExportWrapper(name, nargs) { - return (...args) => { - assert(runtimeInitialized, `native function \`${name}\` called before runtime initialization`); - var f = wasmExports[name]; - assert(f, `exported native function \`${name}\` not found`); - // Only assert for too many arguments. Too few can be valid since the missing arguments will be zero filled. - assert(args.length <= nargs, `native function \`${name}\` called with ${args.length} args but expects ${nargs}`); - return f(...args); - }; -} - -var wasmBinaryFile; - -function findWasmBinary() { - return locateFile('in-memory.wasm'); -} - -function getBinarySync(file) { - if (file == wasmBinaryFile && wasmBinary) { - return new Uint8Array(wasmBinary); - } - if (readBinary) { - return readBinary(file); - } - throw 'both async and sync fetching of the wasm failed'; -} - -async function getWasmBinary(binaryFile) { - // If we don't have the binary yet, load it asynchronously using readAsync. - if (!wasmBinary) { - // Fetch the binary using readAsync - try { - var response = await readAsync(binaryFile); - return new Uint8Array(response); - } catch { - // Fall back to getBinarySync below; - } - } - - // Otherwise, getBinarySync should be able to get it synchronously - return getBinarySync(binaryFile); -} - -async function instantiateArrayBuffer(binaryFile, imports) { - try { - var binary = await getWasmBinary(binaryFile); - var instance = await WebAssembly.instantiate(binary, imports); - return instance; - } catch (reason) { - err(`failed to asynchronously prepare wasm: ${reason}`); - - // Warn on some common problems. - if (isFileURI(wasmBinaryFile)) { - err(`warning: Loading from a file URI (${wasmBinaryFile}) is not supported in most browsers. See https://emscripten.org/docs/getting_started/FAQ.html#how-do-i-run-a-local-webserver-for-testing-why-does-my-program-stall-in-downloading-or-preparing`); - } - abort(reason); - } -} - -async function instantiateAsync(binary, binaryFile, imports) { - if (!binary && typeof WebAssembly.instantiateStreaming == 'function' - // Don't use streaming for file:// delivered objects in a webview, fetch them synchronously. - && !isFileURI(binaryFile) - // Avoid instantiateStreaming() on Node.js environment for now, as while - // Node.js v18.1.0 implements it, it does not have a full fetch() - // implementation yet. - // - // Reference: - // https://github.com/emscripten-core/emscripten/pull/16917 - && !ENVIRONMENT_IS_NODE - ) { - try { - var response = fetch(binaryFile, { credentials: 'same-origin' }); - var instantiationResult = await WebAssembly.instantiateStreaming(response, imports); - return instantiationResult; - } catch (reason) { - // We expect the most common failure cause to be a bad MIME type for the binary, - // in which case falling back to ArrayBuffer instantiation should work. - err(`wasm streaming compile failed: ${reason}`); - err('falling back to ArrayBuffer instantiation'); - // fall back of instantiateArrayBuffer below - }; - } - return instantiateArrayBuffer(binaryFile, imports); -} - -function getWasmImports() { - // prepare imports - return { - 'env': wasmImports, - 'wasi_snapshot_preview1': wasmImports, - } -} - -// Create the wasm instance. -// Receives the wasm imports, returns the exports. -async function createWasm() { - // Load the wasm module and create an instance of using native support in the JS engine. - // handle a generated wasm instance, receiving its exports and - // performing other necessary setup - /** @param {WebAssembly.Module=} module*/ - function receiveInstance(instance, module) { - wasmExports = instance.exports; - - - - wasmMemory = wasmExports['memory']; - - assert(wasmMemory, 'memory not found in wasm exports'); - updateMemoryViews(); - - removeRunDependency('wasm-instantiate'); - return wasmExports; - } - // wait for the pthread pool (if any) - addRunDependency('wasm-instantiate'); - - // Prefer streaming instantiation if available. - // Async compilation can be confusing when an error on the page overwrites Module - // (for example, if the order of elements is wrong, and the one defining Module is - // later), so we save Module and check it later. - var trueModule = Module; - function receiveInstantiationResult(result) { - // 'result' is a ResultObject object which has both the module and instance. - // receiveInstance() will swap in the exports (to Module.asm) so they can be called - assert(Module === trueModule, 'the Module object should not be replaced during async compilation - perhaps the order of HTML elements is wrong?'); - trueModule = null; - // TODO: Due to Closure regression https://github.com/google/closure-compiler/issues/3193, the above line no longer optimizes out down to the following line. - // When the regression is fixed, can restore the above PTHREADS-enabled path. - return receiveInstance(result['instance']); - } - - var info = getWasmImports(); - - // User shell pages can write their own Module.instantiateWasm = function(imports, successCallback) callback - // to manually instantiate the Wasm module themselves. This allows pages to - // run the instantiation parallel to any other async startup actions they are - // performing. - // Also pthreads and wasm workers initialize the wasm instance through this - // path. - if (Module['instantiateWasm']) { - return new Promise((resolve, reject) => { - try { - Module['instantiateWasm'](info, (mod, inst) => { - receiveInstance(mod, inst); - resolve(mod.exports); - }); - } catch(e) { - err(`Module.instantiateWasm callback failed with error: ${e}`); - reject(e); - } - }); - } - - wasmBinaryFile ??= findWasmBinary(); - var result = await instantiateAsync(wasmBinary, wasmBinaryFile, info); - var exports = receiveInstantiationResult(result); - return exports; -} - -// end include: preamble.js - -// Begin JS library code - - - class ExitStatus { - name = 'ExitStatus'; - constructor(status) { - this.message = `Program terminated with exit(${status})`; - this.status = status; - } - } - - var callRuntimeCallbacks = (callbacks) => { - while (callbacks.length > 0) { - // Pass the module as the first argument. - callbacks.shift()(Module); - } - }; - var onPostRuns = []; - var addOnPostRun = (cb) => onPostRuns.unshift(cb); - - var onPreRuns = []; - var addOnPreRun = (cb) => onPreRuns.unshift(cb); - - - - /** - * @param {number} ptr - * @param {string} type - */ - function getValue(ptr, type = 'i8') { - if (type.endsWith('*')) type = '*'; - switch (type) { - case 'i1': return HEAP8[ptr]; - case 'i8': return HEAP8[ptr]; - case 'i16': return HEAP16[((ptr)>>1)]; - case 'i32': return HEAP32[((ptr)>>2)]; - case 'i64': return HEAP64[((ptr)>>3)]; - case 'float': return HEAPF32[((ptr)>>2)]; - case 'double': return HEAPF64[((ptr)>>3)]; - case '*': return HEAPU32[((ptr)>>2)]; - default: abort(`invalid type for getValue: ${type}`); - } - } - - var noExitRuntime = Module['noExitRuntime'] || true; - - var ptrToString = (ptr) => { - assert(typeof ptr === 'number'); - // With CAN_ADDRESS_2GB or MEMORY64, pointers are already unsigned. - ptr >>>= 0; - return '0x' + ptr.toString(16).padStart(8, '0'); - }; - - - /** - * @param {number} ptr - * @param {number} value - * @param {string} type - */ - function setValue(ptr, value, type = 'i8') { - if (type.endsWith('*')) type = '*'; - switch (type) { - case 'i1': HEAP8[ptr] = value; break; - case 'i8': HEAP8[ptr] = value; break; - case 'i16': HEAP16[((ptr)>>1)] = value; break; - case 'i32': HEAP32[((ptr)>>2)] = value; break; - case 'i64': HEAP64[((ptr)>>3)] = BigInt(value); break; - case 'float': HEAPF32[((ptr)>>2)] = value; break; - case 'double': HEAPF64[((ptr)>>3)] = value; break; - case '*': HEAPU32[((ptr)>>2)] = value; break; - default: abort(`invalid type for setValue: ${type}`); - } - } - - var stackRestore = (val) => __emscripten_stack_restore(val); - - var stackSave = () => _emscripten_stack_get_current(); - - var warnOnce = (text) => { - warnOnce.shown ||= {}; - if (!warnOnce.shown[text]) { - warnOnce.shown[text] = 1; - if (ENVIRONMENT_IS_NODE) text = 'warning: ' + text; - err(text); - } - }; - - /** @suppress {duplicate } */ - var syscallGetVarargI = () => { - assert(SYSCALLS.varargs != undefined); - // the `+` prepended here is necessary to convince the JSCompiler that varargs is indeed a number. - var ret = HEAP32[((+SYSCALLS.varargs)>>2)]; - SYSCALLS.varargs += 4; - return ret; - }; - var syscallGetVarargP = syscallGetVarargI; - - - var PATH = { - isAbs:(path) => path.charAt(0) === '/', - splitPath:(filename) => { - var splitPathRe = /^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/; - return splitPathRe.exec(filename).slice(1); - }, - normalizeArray:(parts, allowAboveRoot) => { - // if the path tries to go above the root, `up` ends up > 0 - var up = 0; - for (var i = parts.length - 1; i >= 0; i--) { - var last = parts[i]; - if (last === '.') { - parts.splice(i, 1); - } else if (last === '..') { - parts.splice(i, 1); - up++; - } else if (up) { - parts.splice(i, 1); - up--; - } - } - // if the path is allowed to go above the root, restore leading ..s - if (allowAboveRoot) { - for (; up; up--) { - parts.unshift('..'); - } - } - return parts; - }, - normalize:(path) => { - var isAbsolute = PATH.isAbs(path), - trailingSlash = path.slice(-1) === '/'; - // Normalize the path - path = PATH.normalizeArray(path.split('/').filter((p) => !!p), !isAbsolute).join('/'); - if (!path && !isAbsolute) { - path = '.'; - } - if (path && trailingSlash) { - path += '/'; - } - return (isAbsolute ? '/' : '') + path; - }, - dirname:(path) => { - var result = PATH.splitPath(path), - root = result[0], - dir = result[1]; - if (!root && !dir) { - // No dirname whatsoever - return '.'; - } - if (dir) { - // It has a dirname, strip trailing slash - dir = dir.slice(0, -1); - } - return root + dir; - }, - basename:(path) => path && path.match(/([^\/]+|\/)\/*$/)[1], - join:(...paths) => PATH.normalize(paths.join('/')), - join2:(l, r) => PATH.normalize(l + '/' + r), - }; - - var initRandomFill = () => { - // This block is not needed on v19+ since crypto.getRandomValues is builtin - if (ENVIRONMENT_IS_NODE) { - var nodeCrypto = require('crypto'); - return (view) => nodeCrypto.randomFillSync(view); - } - - return (view) => crypto.getRandomValues(view); - }; - var randomFill = (view) => { - // Lazily init on the first invocation. - (randomFill = initRandomFill())(view); - }; - - - - var PATH_FS = { - resolve:(...args) => { - var resolvedPath = '', - resolvedAbsolute = false; - for (var i = args.length - 1; i >= -1 && !resolvedAbsolute; i--) { - var path = (i >= 0) ? args[i] : FS.cwd(); - // Skip empty and invalid entries - if (typeof path != 'string') { - throw new TypeError('Arguments to path.resolve must be strings'); - } else if (!path) { - return ''; // an invalid portion invalidates the whole thing - } - resolvedPath = path + '/' + resolvedPath; - resolvedAbsolute = PATH.isAbs(path); - } - // At this point the path should be resolved to a full absolute path, but - // handle relative paths to be safe (might happen when process.cwd() fails) - resolvedPath = PATH.normalizeArray(resolvedPath.split('/').filter((p) => !!p), !resolvedAbsolute).join('/'); - return ((resolvedAbsolute ? '/' : '') + resolvedPath) || '.'; - }, - relative:(from, to) => { - from = PATH_FS.resolve(from).slice(1); - to = PATH_FS.resolve(to).slice(1); - function trim(arr) { - var start = 0; - for (; start < arr.length; start++) { - if (arr[start] !== '') break; - } - var end = arr.length - 1; - for (; end >= 0; end--) { - if (arr[end] !== '') break; - } - if (start > end) return []; - return arr.slice(start, end - start + 1); - } - var fromParts = trim(from.split('/')); - var toParts = trim(to.split('/')); - var length = Math.min(fromParts.length, toParts.length); - var samePartsLength = length; - for (var i = 0; i < length; i++) { - if (fromParts[i] !== toParts[i]) { - samePartsLength = i; - break; - } - } - var outputParts = []; - for (var i = samePartsLength; i < fromParts.length; i++) { - outputParts.push('..'); - } - outputParts = outputParts.concat(toParts.slice(samePartsLength)); - return outputParts.join('/'); - }, - }; - - - var UTF8Decoder = typeof TextDecoder != 'undefined' ? new TextDecoder() : undefined; - - /** - * Given a pointer 'idx' to a null-terminated UTF8-encoded string in the given - * array that contains uint8 values, returns a copy of that string as a - * Javascript String object. - * heapOrArray is either a regular array, or a JavaScript typed array view. - * @param {number=} idx - * @param {number=} maxBytesToRead - * @return {string} - */ - var UTF8ArrayToString = (heapOrArray, idx = 0, maxBytesToRead = NaN) => { - var endIdx = idx + maxBytesToRead; - var endPtr = idx; - // TextDecoder needs to know the byte length in advance, it doesn't stop on - // null terminator by itself. Also, use the length info to avoid running tiny - // strings through TextDecoder, since .subarray() allocates garbage. - // (As a tiny code save trick, compare endPtr against endIdx using a negation, - // so that undefined/NaN means Infinity) - while (heapOrArray[endPtr] && !(endPtr >= endIdx)) ++endPtr; - - if (endPtr - idx > 16 && heapOrArray.buffer && UTF8Decoder) { - return UTF8Decoder.decode(heapOrArray.subarray(idx, endPtr)); - } - var str = ''; - // If building with TextDecoder, we have already computed the string length - // above, so test loop end condition against that - while (idx < endPtr) { - // For UTF8 byte structure, see: - // http://en.wikipedia.org/wiki/UTF-8#Description - // https://www.ietf.org/rfc/rfc2279.txt - // https://tools.ietf.org/html/rfc3629 - var u0 = heapOrArray[idx++]; - if (!(u0 & 0x80)) { str += String.fromCharCode(u0); continue; } - var u1 = heapOrArray[idx++] & 63; - if ((u0 & 0xE0) == 0xC0) { str += String.fromCharCode(((u0 & 31) << 6) | u1); continue; } - var u2 = heapOrArray[idx++] & 63; - if ((u0 & 0xF0) == 0xE0) { - u0 = ((u0 & 15) << 12) | (u1 << 6) | u2; - } else { - if ((u0 & 0xF8) != 0xF0) warnOnce('Invalid UTF-8 leading byte ' + ptrToString(u0) + ' encountered when deserializing a UTF-8 string in wasm memory to a JS string!'); - u0 = ((u0 & 7) << 18) | (u1 << 12) | (u2 << 6) | (heapOrArray[idx++] & 63); - } - - if (u0 < 0x10000) { - str += String.fromCharCode(u0); - } else { - var ch = u0 - 0x10000; - str += String.fromCharCode(0xD800 | (ch >> 10), 0xDC00 | (ch & 0x3FF)); - } - } - return str; - }; - - var FS_stdin_getChar_buffer = []; - - var lengthBytesUTF8 = (str) => { - var len = 0; - for (var i = 0; i < str.length; ++i) { - // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code - // unit, not a Unicode code point of the character! So decode - // UTF16->UTF32->UTF8. - // See http://unicode.org/faq/utf_bom.html#utf16-3 - var c = str.charCodeAt(i); // possibly a lead surrogate - if (c <= 0x7F) { - len++; - } else if (c <= 0x7FF) { - len += 2; - } else if (c >= 0xD800 && c <= 0xDFFF) { - len += 4; ++i; - } else { - len += 3; - } - } - return len; - }; - - var stringToUTF8Array = (str, heap, outIdx, maxBytesToWrite) => { - assert(typeof str === 'string', `stringToUTF8Array expects a string (got ${typeof str})`); - // Parameter maxBytesToWrite is not optional. Negative values, 0, null, - // undefined and false each don't write out any bytes. - if (!(maxBytesToWrite > 0)) - return 0; - - var startIdx = outIdx; - var endIdx = outIdx + maxBytesToWrite - 1; // -1 for string null terminator. - for (var i = 0; i < str.length; ++i) { - // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code - // unit, not a Unicode code point of the character! So decode - // UTF16->UTF32->UTF8. - // See http://unicode.org/faq/utf_bom.html#utf16-3 - // For UTF8 byte structure, see http://en.wikipedia.org/wiki/UTF-8#Description - // and https://www.ietf.org/rfc/rfc2279.txt - // and https://tools.ietf.org/html/rfc3629 - var u = str.charCodeAt(i); // possibly a lead surrogate - if (u >= 0xD800 && u <= 0xDFFF) { - var u1 = str.charCodeAt(++i); - u = 0x10000 + ((u & 0x3FF) << 10) | (u1 & 0x3FF); - } - if (u <= 0x7F) { - if (outIdx >= endIdx) break; - heap[outIdx++] = u; - } else if (u <= 0x7FF) { - if (outIdx + 1 >= endIdx) break; - heap[outIdx++] = 0xC0 | (u >> 6); - heap[outIdx++] = 0x80 | (u & 63); - } else if (u <= 0xFFFF) { - if (outIdx + 2 >= endIdx) break; - heap[outIdx++] = 0xE0 | (u >> 12); - heap[outIdx++] = 0x80 | ((u >> 6) & 63); - heap[outIdx++] = 0x80 | (u & 63); - } else { - if (outIdx + 3 >= endIdx) break; - if (u > 0x10FFFF) warnOnce('Invalid Unicode code point ' + ptrToString(u) + ' encountered when serializing a JS string to a UTF-8 string in wasm memory! (Valid unicode code points should be in range 0-0x10FFFF).'); - heap[outIdx++] = 0xF0 | (u >> 18); - heap[outIdx++] = 0x80 | ((u >> 12) & 63); - heap[outIdx++] = 0x80 | ((u >> 6) & 63); - heap[outIdx++] = 0x80 | (u & 63); - } - } - // Null-terminate the pointer to the buffer. - heap[outIdx] = 0; - return outIdx - startIdx; - }; - /** @type {function(string, boolean=, number=)} */ - var intArrayFromString = (stringy, dontAddNull, length) => { - var len = length > 0 ? length : lengthBytesUTF8(stringy)+1; - var u8array = new Array(len); - var numBytesWritten = stringToUTF8Array(stringy, u8array, 0, u8array.length); - if (dontAddNull) u8array.length = numBytesWritten; - return u8array; - }; - var FS_stdin_getChar = () => { - if (!FS_stdin_getChar_buffer.length) { - var result = null; - if (ENVIRONMENT_IS_NODE) { - // we will read data by chunks of BUFSIZE - var BUFSIZE = 256; - var buf = Buffer.alloc(BUFSIZE); - var bytesRead = 0; - - // For some reason we must suppress a closure warning here, even though - // fd definitely exists on process.stdin, and is even the proper way to - // get the fd of stdin, - // https://github.com/nodejs/help/issues/2136#issuecomment-523649904 - // This started to happen after moving this logic out of library_tty.js, - // so it is related to the surrounding code in some unclear manner. - /** @suppress {missingProperties} */ - var fd = process.stdin.fd; - - try { - bytesRead = fs.readSync(fd, buf, 0, BUFSIZE); - } catch(e) { - // Cross-platform differences: on Windows, reading EOF throws an - // exception, but on other OSes, reading EOF returns 0. Uniformize - // behavior by treating the EOF exception to return 0. - if (e.toString().includes('EOF')) bytesRead = 0; - else throw e; - } - - if (bytesRead > 0) { - result = buf.slice(0, bytesRead).toString('utf-8'); - } - } else - if (typeof window != 'undefined' && - typeof window.prompt == 'function') { - // Browser. - result = window.prompt('Input: '); // returns null on cancel - if (result !== null) { - result += '\n'; - } - } else - {} - if (!result) { - return null; - } - FS_stdin_getChar_buffer = intArrayFromString(result, true); - } - return FS_stdin_getChar_buffer.shift(); - }; - var TTY = { - ttys:[], - init() { - // https://github.com/emscripten-core/emscripten/pull/1555 - // if (ENVIRONMENT_IS_NODE) { - // // currently, FS.init does not distinguish if process.stdin is a file or TTY - // // device, it always assumes it's a TTY device. because of this, we're forcing - // // process.stdin to UTF8 encoding to at least make stdin reading compatible - // // with text files until FS.init can be refactored. - // process.stdin.setEncoding('utf8'); - // } - }, - shutdown() { - // https://github.com/emscripten-core/emscripten/pull/1555 - // if (ENVIRONMENT_IS_NODE) { - // // inolen: any idea as to why node -e 'process.stdin.read()' wouldn't exit immediately (with process.stdin being a tty)? - // // isaacs: because now it's reading from the stream, you've expressed interest in it, so that read() kicks off a _read() which creates a ReadReq operation - // // inolen: I thought read() in that case was a synchronous operation that just grabbed some amount of buffered data if it exists? - // // isaacs: it is. but it also triggers a _read() call, which calls readStart() on the handle - // // isaacs: do process.stdin.pause() and i'd think it'd probably close the pending call - // process.stdin.pause(); - // } - }, - register(dev, ops) { - TTY.ttys[dev] = { input: [], output: [], ops: ops }; - FS.registerDevice(dev, TTY.stream_ops); - }, - stream_ops:{ - open(stream) { - var tty = TTY.ttys[stream.node.rdev]; - if (!tty) { - throw new FS.ErrnoError(43); - } - stream.tty = tty; - stream.seekable = false; - }, - close(stream) { - // flush any pending line data - stream.tty.ops.fsync(stream.tty); - }, - fsync(stream) { - stream.tty.ops.fsync(stream.tty); - }, - read(stream, buffer, offset, length, pos /* ignored */) { - if (!stream.tty || !stream.tty.ops.get_char) { - throw new FS.ErrnoError(60); - } - var bytesRead = 0; - for (var i = 0; i < length; i++) { - var result; - try { - result = stream.tty.ops.get_char(stream.tty); - } catch (e) { - throw new FS.ErrnoError(29); - } - if (result === undefined && bytesRead === 0) { - throw new FS.ErrnoError(6); - } - if (result === null || result === undefined) break; - bytesRead++; - buffer[offset+i] = result; - } - if (bytesRead) { - stream.node.atime = Date.now(); - } - return bytesRead; - }, - write(stream, buffer, offset, length, pos) { - if (!stream.tty || !stream.tty.ops.put_char) { - throw new FS.ErrnoError(60); - } - try { - for (var i = 0; i < length; i++) { - stream.tty.ops.put_char(stream.tty, buffer[offset+i]); - } - } catch (e) { - throw new FS.ErrnoError(29); - } - if (length) { - stream.node.mtime = stream.node.ctime = Date.now(); - } - return i; - }, - }, - default_tty_ops:{ - get_char(tty) { - return FS_stdin_getChar(); - }, - put_char(tty, val) { - if (val === null || val === 10) { - out(UTF8ArrayToString(tty.output)); - tty.output = []; - } else { - if (val != 0) tty.output.push(val); // val == 0 would cut text output off in the middle. - } - }, - fsync(tty) { - if (tty.output?.length > 0) { - out(UTF8ArrayToString(tty.output)); - tty.output = []; - } - }, - ioctl_tcgets(tty) { - // typical setting - return { - c_iflag: 25856, - c_oflag: 5, - c_cflag: 191, - c_lflag: 35387, - c_cc: [ - 0x03, 0x1c, 0x7f, 0x15, 0x04, 0x00, 0x01, 0x00, 0x11, 0x13, 0x1a, 0x00, - 0x12, 0x0f, 0x17, 0x16, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - ] - }; - }, - ioctl_tcsets(tty, optional_actions, data) { - // currently just ignore - return 0; - }, - ioctl_tiocgwinsz(tty) { - return [24, 80]; - }, - }, - default_tty1_ops:{ - put_char(tty, val) { - if (val === null || val === 10) { - err(UTF8ArrayToString(tty.output)); - tty.output = []; - } else { - if (val != 0) tty.output.push(val); - } - }, - fsync(tty) { - if (tty.output?.length > 0) { - err(UTF8ArrayToString(tty.output)); - tty.output = []; - } - }, - }, - }; - - - var mmapAlloc = (size) => { - abort('internal error: mmapAlloc called but `emscripten_builtin_memalign` native symbol not exported'); - }; - var MEMFS = { - ops_table:null, - mount(mount) { - return MEMFS.createNode(null, '/', 16895, 0); - }, - createNode(parent, name, mode, dev) { - if (FS.isBlkdev(mode) || FS.isFIFO(mode)) { - // no supported - throw new FS.ErrnoError(63); - } - MEMFS.ops_table ||= { - dir: { - node: { - getattr: MEMFS.node_ops.getattr, - setattr: MEMFS.node_ops.setattr, - lookup: MEMFS.node_ops.lookup, - mknod: MEMFS.node_ops.mknod, - rename: MEMFS.node_ops.rename, - unlink: MEMFS.node_ops.unlink, - rmdir: MEMFS.node_ops.rmdir, - readdir: MEMFS.node_ops.readdir, - symlink: MEMFS.node_ops.symlink - }, - stream: { - llseek: MEMFS.stream_ops.llseek - } - }, - file: { - node: { - getattr: MEMFS.node_ops.getattr, - setattr: MEMFS.node_ops.setattr - }, - stream: { - llseek: MEMFS.stream_ops.llseek, - read: MEMFS.stream_ops.read, - write: MEMFS.stream_ops.write, - mmap: MEMFS.stream_ops.mmap, - msync: MEMFS.stream_ops.msync - } - }, - link: { - node: { - getattr: MEMFS.node_ops.getattr, - setattr: MEMFS.node_ops.setattr, - readlink: MEMFS.node_ops.readlink - }, - stream: {} - }, - chrdev: { - node: { - getattr: MEMFS.node_ops.getattr, - setattr: MEMFS.node_ops.setattr - }, - stream: FS.chrdev_stream_ops - } - }; - var node = FS.createNode(parent, name, mode, dev); - if (FS.isDir(node.mode)) { - node.node_ops = MEMFS.ops_table.dir.node; - node.stream_ops = MEMFS.ops_table.dir.stream; - node.contents = {}; - } else if (FS.isFile(node.mode)) { - node.node_ops = MEMFS.ops_table.file.node; - node.stream_ops = MEMFS.ops_table.file.stream; - node.usedBytes = 0; // The actual number of bytes used in the typed array, as opposed to contents.length which gives the whole capacity. - // When the byte data of the file is populated, this will point to either a typed array, or a normal JS array. Typed arrays are preferred - // for performance, and used by default. However, typed arrays are not resizable like normal JS arrays are, so there is a small disk size - // penalty involved for appending file writes that continuously grow a file similar to std::vector capacity vs used -scheme. - node.contents = null; - } else if (FS.isLink(node.mode)) { - node.node_ops = MEMFS.ops_table.link.node; - node.stream_ops = MEMFS.ops_table.link.stream; - } else if (FS.isChrdev(node.mode)) { - node.node_ops = MEMFS.ops_table.chrdev.node; - node.stream_ops = MEMFS.ops_table.chrdev.stream; - } - node.atime = node.mtime = node.ctime = Date.now(); - // add the new node to the parent - if (parent) { - parent.contents[name] = node; - parent.atime = parent.mtime = parent.ctime = node.atime; - } - return node; - }, - getFileDataAsTypedArray(node) { - if (!node.contents) return new Uint8Array(0); - if (node.contents.subarray) return node.contents.subarray(0, node.usedBytes); // Make sure to not return excess unused bytes. - return new Uint8Array(node.contents); - }, - expandFileStorage(node, newCapacity) { - var prevCapacity = node.contents ? node.contents.length : 0; - if (prevCapacity >= newCapacity) return; // No need to expand, the storage was already large enough. - // Don't expand strictly to the given requested limit if it's only a very small increase, but instead geometrically grow capacity. - // For small filesizes (<1MB), perform size*2 geometric increase, but for large sizes, do a much more conservative size*1.125 increase to - // avoid overshooting the allocation cap by a very large margin. - var CAPACITY_DOUBLING_MAX = 1024 * 1024; - newCapacity = Math.max(newCapacity, (prevCapacity * (prevCapacity < CAPACITY_DOUBLING_MAX ? 2.0 : 1.125)) >>> 0); - if (prevCapacity != 0) newCapacity = Math.max(newCapacity, 256); // At minimum allocate 256b for each file when expanding. - var oldContents = node.contents; - node.contents = new Uint8Array(newCapacity); // Allocate new storage. - if (node.usedBytes > 0) node.contents.set(oldContents.subarray(0, node.usedBytes), 0); // Copy old data over to the new storage. - }, - resizeFileStorage(node, newSize) { - if (node.usedBytes == newSize) return; - if (newSize == 0) { - node.contents = null; // Fully decommit when requesting a resize to zero. - node.usedBytes = 0; - } else { - var oldContents = node.contents; - node.contents = new Uint8Array(newSize); // Allocate new storage. - if (oldContents) { - node.contents.set(oldContents.subarray(0, Math.min(newSize, node.usedBytes))); // Copy old data over to the new storage. - } - node.usedBytes = newSize; - } - }, - node_ops:{ - getattr(node) { - var attr = {}; - // device numbers reuse inode numbers. - attr.dev = FS.isChrdev(node.mode) ? node.id : 1; - attr.ino = node.id; - attr.mode = node.mode; - attr.nlink = 1; - attr.uid = 0; - attr.gid = 0; - attr.rdev = node.rdev; - if (FS.isDir(node.mode)) { - attr.size = 4096; - } else if (FS.isFile(node.mode)) { - attr.size = node.usedBytes; - } else if (FS.isLink(node.mode)) { - attr.size = node.link.length; - } else { - attr.size = 0; - } - attr.atime = new Date(node.atime); - attr.mtime = new Date(node.mtime); - attr.ctime = new Date(node.ctime); - // NOTE: In our implementation, st_blocks = Math.ceil(st_size/st_blksize), - // but this is not required by the standard. - attr.blksize = 4096; - attr.blocks = Math.ceil(attr.size / attr.blksize); - return attr; - }, - setattr(node, attr) { - for (const key of ["mode", "atime", "mtime", "ctime"]) { - if (attr[key] != null) { - node[key] = attr[key]; - } - } - if (attr.size !== undefined) { - MEMFS.resizeFileStorage(node, attr.size); - } - }, - lookup(parent, name) { - throw new FS.ErrnoError(44); - }, - mknod(parent, name, mode, dev) { - return MEMFS.createNode(parent, name, mode, dev); - }, - rename(old_node, new_dir, new_name) { - var new_node; - try { - new_node = FS.lookupNode(new_dir, new_name); - } catch (e) {} - if (new_node) { - if (FS.isDir(old_node.mode)) { - // if we're overwriting a directory at new_name, make sure it's empty. - for (var i in new_node.contents) { - throw new FS.ErrnoError(55); - } - } - FS.hashRemoveNode(new_node); - } - // do the internal rewiring - delete old_node.parent.contents[old_node.name]; - new_dir.contents[new_name] = old_node; - old_node.name = new_name; - new_dir.ctime = new_dir.mtime = old_node.parent.ctime = old_node.parent.mtime = Date.now(); - }, - unlink(parent, name) { - delete parent.contents[name]; - parent.ctime = parent.mtime = Date.now(); - }, - rmdir(parent, name) { - var node = FS.lookupNode(parent, name); - for (var i in node.contents) { - throw new FS.ErrnoError(55); - } - delete parent.contents[name]; - parent.ctime = parent.mtime = Date.now(); - }, - readdir(node) { - return ['.', '..', ...Object.keys(node.contents)]; - }, - symlink(parent, newname, oldpath) { - var node = MEMFS.createNode(parent, newname, 0o777 | 40960, 0); - node.link = oldpath; - return node; - }, - readlink(node) { - if (!FS.isLink(node.mode)) { - throw new FS.ErrnoError(28); - } - return node.link; - }, - }, - stream_ops:{ - read(stream, buffer, offset, length, position) { - var contents = stream.node.contents; - if (position >= stream.node.usedBytes) return 0; - var size = Math.min(stream.node.usedBytes - position, length); - assert(size >= 0); - if (size > 8 && contents.subarray) { // non-trivial, and typed array - buffer.set(contents.subarray(position, position + size), offset); - } else { - for (var i = 0; i < size; i++) buffer[offset + i] = contents[position + i]; - } - return size; - }, - write(stream, buffer, offset, length, position, canOwn) { - // The data buffer should be a typed array view - assert(!(buffer instanceof ArrayBuffer)); - - if (!length) return 0; - var node = stream.node; - node.mtime = node.ctime = Date.now(); - - if (buffer.subarray && (!node.contents || node.contents.subarray)) { // This write is from a typed array to a typed array? - if (canOwn) { - assert(position === 0, 'canOwn must imply no weird position inside the file'); - node.contents = buffer.subarray(offset, offset + length); - node.usedBytes = length; - return length; - } else if (node.usedBytes === 0 && position === 0) { // If this is a simple first write to an empty file, do a fast set since we don't need to care about old data. - node.contents = buffer.slice(offset, offset + length); - node.usedBytes = length; - return length; - } else if (position + length <= node.usedBytes) { // Writing to an already allocated and used subrange of the file? - node.contents.set(buffer.subarray(offset, offset + length), position); - return length; - } - } - - // Appending to an existing file and we need to reallocate, or source data did not come as a typed array. - MEMFS.expandFileStorage(node, position+length); - if (node.contents.subarray && buffer.subarray) { - // Use typed array write which is available. - node.contents.set(buffer.subarray(offset, offset + length), position); - } else { - for (var i = 0; i < length; i++) { - node.contents[position + i] = buffer[offset + i]; // Or fall back to manual write if not. - } - } - node.usedBytes = Math.max(node.usedBytes, position + length); - return length; - }, - llseek(stream, offset, whence) { - var position = offset; - if (whence === 1) { - position += stream.position; - } else if (whence === 2) { - if (FS.isFile(stream.node.mode)) { - position += stream.node.usedBytes; - } - } - if (position < 0) { - throw new FS.ErrnoError(28); - } - return position; - }, - mmap(stream, length, position, prot, flags) { - if (!FS.isFile(stream.node.mode)) { - throw new FS.ErrnoError(43); - } - var ptr; - var allocated; - var contents = stream.node.contents; - // Only make a new copy when MAP_PRIVATE is specified. - if (!(flags & 2) && contents && contents.buffer === HEAP8.buffer) { - // We can't emulate MAP_SHARED when the file is not backed by the - // buffer we're mapping to (e.g. the HEAP buffer). - allocated = false; - ptr = contents.byteOffset; - } else { - allocated = true; - ptr = mmapAlloc(length); - if (!ptr) { - throw new FS.ErrnoError(48); - } - if (contents) { - // Try to avoid unnecessary slices. - if (position > 0 || position + length < contents.length) { - if (contents.subarray) { - contents = contents.subarray(position, position + length); - } else { - contents = Array.prototype.slice.call(contents, position, position + length); - } - } - HEAP8.set(contents, ptr); - } - } - return { ptr, allocated }; - }, - msync(stream, buffer, offset, length, mmapFlags) { - MEMFS.stream_ops.write(stream, buffer, 0, length, offset, false); - // should we check if bytesWritten and length are the same? - return 0; - }, - }, - }; - - var asyncLoad = async (url) => { - var arrayBuffer = await readAsync(url); - assert(arrayBuffer, `Loading data file "${url}" failed (no arrayBuffer).`); - return new Uint8Array(arrayBuffer); - }; - - - var FS_createDataFile = (parent, name, fileData, canRead, canWrite, canOwn) => { - FS.createDataFile(parent, name, fileData, canRead, canWrite, canOwn); - }; - - var preloadPlugins = Module['preloadPlugins'] || []; - var FS_handledByPreloadPlugin = (byteArray, fullname, finish, onerror) => { - // Ensure plugins are ready. - if (typeof Browser != 'undefined') Browser.init(); - - var handled = false; - preloadPlugins.forEach((plugin) => { - if (handled) return; - if (plugin['canHandle'](fullname)) { - plugin['handle'](byteArray, fullname, finish, onerror); - handled = true; - } - }); - return handled; - }; - var FS_createPreloadedFile = (parent, name, url, canRead, canWrite, onload, onerror, dontCreateFile, canOwn, preFinish) => { - // TODO we should allow people to just pass in a complete filename instead - // of parent and name being that we just join them anyways - var fullname = name ? PATH_FS.resolve(PATH.join2(parent, name)) : parent; - var dep = getUniqueRunDependency(`cp ${fullname}`); // might have several active requests for the same fullname - function processData(byteArray) { - function finish(byteArray) { - preFinish?.(); - if (!dontCreateFile) { - FS_createDataFile(parent, name, byteArray, canRead, canWrite, canOwn); - } - onload?.(); - removeRunDependency(dep); - } - if (FS_handledByPreloadPlugin(byteArray, fullname, finish, () => { - onerror?.(); - removeRunDependency(dep); - })) { - return; - } - finish(byteArray); - } - addRunDependency(dep); - if (typeof url == 'string') { - asyncLoad(url).then(processData, onerror); - } else { - processData(url); - } - }; - - var FS_modeStringToFlags = (str) => { - var flagModes = { - 'r': 0, - 'r+': 2, - 'w': 512 | 64 | 1, - 'w+': 512 | 64 | 2, - 'a': 1024 | 64 | 1, - 'a+': 1024 | 64 | 2, - }; - var flags = flagModes[str]; - if (typeof flags == 'undefined') { - throw new Error(`Unknown file open mode: ${str}`); - } - return flags; - }; - - var FS_getMode = (canRead, canWrite) => { - var mode = 0; - if (canRead) mode |= 292 | 73; - if (canWrite) mode |= 146; - return mode; - }; - - - - - - - /** - * Given a pointer 'ptr' to a null-terminated UTF8-encoded string in the - * emscripten HEAP, returns a copy of that string as a Javascript String object. - * - * @param {number} ptr - * @param {number=} maxBytesToRead - An optional length that specifies the - * maximum number of bytes to read. You can omit this parameter to scan the - * string until the first 0 byte. If maxBytesToRead is passed, and the string - * at [ptr, ptr+maxBytesToReadr[ contains a null byte in the middle, then the - * string will cut short at that byte index (i.e. maxBytesToRead will not - * produce a string of exact length [ptr, ptr+maxBytesToRead[) N.B. mixing - * frequent uses of UTF8ToString() with and without maxBytesToRead may throw - * JS JIT optimizations off, so it is worth to consider consistently using one - * @return {string} - */ - var UTF8ToString = (ptr, maxBytesToRead) => { - assert(typeof ptr == 'number', `UTF8ToString expects a number (got ${typeof ptr})`); - return ptr ? UTF8ArrayToString(HEAPU8, ptr, maxBytesToRead) : ''; - }; - - var strError = (errno) => UTF8ToString(_strerror(errno)); - - var ERRNO_CODES = { - 'EPERM': 63, - 'ENOENT': 44, - 'ESRCH': 71, - 'EINTR': 27, - 'EIO': 29, - 'ENXIO': 60, - 'E2BIG': 1, - 'ENOEXEC': 45, - 'EBADF': 8, - 'ECHILD': 12, - 'EAGAIN': 6, - 'EWOULDBLOCK': 6, - 'ENOMEM': 48, - 'EACCES': 2, - 'EFAULT': 21, - 'ENOTBLK': 105, - 'EBUSY': 10, - 'EEXIST': 20, - 'EXDEV': 75, - 'ENODEV': 43, - 'ENOTDIR': 54, - 'EISDIR': 31, - 'EINVAL': 28, - 'ENFILE': 41, - 'EMFILE': 33, - 'ENOTTY': 59, - 'ETXTBSY': 74, - 'EFBIG': 22, - 'ENOSPC': 51, - 'ESPIPE': 70, - 'EROFS': 69, - 'EMLINK': 34, - 'EPIPE': 64, - 'EDOM': 18, - 'ERANGE': 68, - 'ENOMSG': 49, - 'EIDRM': 24, - 'ECHRNG': 106, - 'EL2NSYNC': 156, - 'EL3HLT': 107, - 'EL3RST': 108, - 'ELNRNG': 109, - 'EUNATCH': 110, - 'ENOCSI': 111, - 'EL2HLT': 112, - 'EDEADLK': 16, - 'ENOLCK': 46, - 'EBADE': 113, - 'EBADR': 114, - 'EXFULL': 115, - 'ENOANO': 104, - 'EBADRQC': 103, - 'EBADSLT': 102, - 'EDEADLOCK': 16, - 'EBFONT': 101, - 'ENOSTR': 100, - 'ENODATA': 116, - 'ETIME': 117, - 'ENOSR': 118, - 'ENONET': 119, - 'ENOPKG': 120, - 'EREMOTE': 121, - 'ENOLINK': 47, - 'EADV': 122, - 'ESRMNT': 123, - 'ECOMM': 124, - 'EPROTO': 65, - 'EMULTIHOP': 36, - 'EDOTDOT': 125, - 'EBADMSG': 9, - 'ENOTUNIQ': 126, - 'EBADFD': 127, - 'EREMCHG': 128, - 'ELIBACC': 129, - 'ELIBBAD': 130, - 'ELIBSCN': 131, - 'ELIBMAX': 132, - 'ELIBEXEC': 133, - 'ENOSYS': 52, - 'ENOTEMPTY': 55, - 'ENAMETOOLONG': 37, - 'ELOOP': 32, - 'EOPNOTSUPP': 138, - 'EPFNOSUPPORT': 139, - 'ECONNRESET': 15, - 'ENOBUFS': 42, - 'EAFNOSUPPORT': 5, - 'EPROTOTYPE': 67, - 'ENOTSOCK': 57, - 'ENOPROTOOPT': 50, - 'ESHUTDOWN': 140, - 'ECONNREFUSED': 14, - 'EADDRINUSE': 3, - 'ECONNABORTED': 13, - 'ENETUNREACH': 40, - 'ENETDOWN': 38, - 'ETIMEDOUT': 73, - 'EHOSTDOWN': 142, - 'EHOSTUNREACH': 23, - 'EINPROGRESS': 26, - 'EALREADY': 7, - 'EDESTADDRREQ': 17, - 'EMSGSIZE': 35, - 'EPROTONOSUPPORT': 66, - 'ESOCKTNOSUPPORT': 137, - 'EADDRNOTAVAIL': 4, - 'ENETRESET': 39, - 'EISCONN': 30, - 'ENOTCONN': 53, - 'ETOOMANYREFS': 141, - 'EUSERS': 136, - 'EDQUOT': 19, - 'ESTALE': 72, - 'ENOTSUP': 138, - 'ENOMEDIUM': 148, - 'EILSEQ': 25, - 'EOVERFLOW': 61, - 'ECANCELED': 11, - 'ENOTRECOVERABLE': 56, - 'EOWNERDEAD': 62, - 'ESTRPIPE': 135, - }; - var FS = { - root:null, - mounts:[], - devices:{ - }, - streams:[], - nextInode:1, - nameTable:null, - currentPath:"/", - initialized:false, - ignorePermissions:true, - filesystems:null, - syncFSRequests:0, - readFiles:{ - }, - ErrnoError:class extends Error { - name = 'ErrnoError'; - // We set the `name` property to be able to identify `FS.ErrnoError` - // - the `name` is a standard ECMA-262 property of error objects. Kind of good to have it anyway. - // - when using PROXYFS, an error can come from an underlying FS - // as different FS objects have their own FS.ErrnoError each, - // the test `err instanceof FS.ErrnoError` won't detect an error coming from another filesystem, causing bugs. - // we'll use the reliable test `err.name == "ErrnoError"` instead - constructor(errno) { - super(runtimeInitialized ? strError(errno) : ''); - this.errno = errno; - for (var key in ERRNO_CODES) { - if (ERRNO_CODES[key] === errno) { - this.code = key; - break; - } - } - } - }, - FSStream:class { - shared = {}; - get object() { - return this.node; - } - set object(val) { - this.node = val; - } - get isRead() { - return (this.flags & 2097155) !== 1; - } - get isWrite() { - return (this.flags & 2097155) !== 0; - } - get isAppend() { - return (this.flags & 1024); - } - get flags() { - return this.shared.flags; - } - set flags(val) { - this.shared.flags = val; - } - get position() { - return this.shared.position; - } - set position(val) { - this.shared.position = val; - } - }, - FSNode:class { - node_ops = {}; - stream_ops = {}; - readMode = 292 | 73; - writeMode = 146; - mounted = null; - constructor(parent, name, mode, rdev) { - if (!parent) { - parent = this; // root node sets parent to itself - } - this.parent = parent; - this.mount = parent.mount; - this.id = FS.nextInode++; - this.name = name; - this.mode = mode; - this.rdev = rdev; - this.atime = this.mtime = this.ctime = Date.now(); - } - get read() { - return (this.mode & this.readMode) === this.readMode; - } - set read(val) { - val ? this.mode |= this.readMode : this.mode &= ~this.readMode; - } - get write() { - return (this.mode & this.writeMode) === this.writeMode; - } - set write(val) { - val ? this.mode |= this.writeMode : this.mode &= ~this.writeMode; - } - get isFolder() { - return FS.isDir(this.mode); - } - get isDevice() { - return FS.isChrdev(this.mode); - } - }, - lookupPath(path, opts = {}) { - if (!path) { - throw new FS.ErrnoError(44); - } - opts.follow_mount ??= true - - if (!PATH.isAbs(path)) { - path = FS.cwd() + '/' + path; - } - - // limit max consecutive symlinks to 40 (SYMLOOP_MAX). - linkloop: for (var nlinks = 0; nlinks < 40; nlinks++) { - // split the absolute path - var parts = path.split('/').filter((p) => !!p); - - // start at the root - var current = FS.root; - var current_path = '/'; - - for (var i = 0; i < parts.length; i++) { - var islast = (i === parts.length-1); - if (islast && opts.parent) { - // stop resolving - break; - } - - if (parts[i] === '.') { - continue; - } - - if (parts[i] === '..') { - current_path = PATH.dirname(current_path); - current = current.parent; - continue; - } - - current_path = PATH.join2(current_path, parts[i]); - try { - current = FS.lookupNode(current, parts[i]); - } catch (e) { - // if noent_okay is true, suppress a ENOENT in the last component - // and return an object with an undefined node. This is needed for - // resolving symlinks in the path when creating a file. - if ((e?.errno === 44) && islast && opts.noent_okay) { - return { path: current_path }; - } - throw e; - } - - // jump to the mount's root node if this is a mountpoint - if (FS.isMountpoint(current) && (!islast || opts.follow_mount)) { - current = current.mounted.root; - } - - // by default, lookupPath will not follow a symlink if it is the final path component. - // setting opts.follow = true will override this behavior. - if (FS.isLink(current.mode) && (!islast || opts.follow)) { - if (!current.node_ops.readlink) { - throw new FS.ErrnoError(52); - } - var link = current.node_ops.readlink(current); - if (!PATH.isAbs(link)) { - link = PATH.dirname(current_path) + '/' + link; - } - path = link + '/' + parts.slice(i + 1).join('/'); - continue linkloop; - } - } - return { path: current_path, node: current }; - } - throw new FS.ErrnoError(32); - }, - getPath(node) { - var path; - while (true) { - if (FS.isRoot(node)) { - var mount = node.mount.mountpoint; - if (!path) return mount; - return mount[mount.length-1] !== '/' ? `${mount}/${path}` : mount + path; - } - path = path ? `${node.name}/${path}` : node.name; - node = node.parent; - } - }, - hashName(parentid, name) { - var hash = 0; - - for (var i = 0; i < name.length; i++) { - hash = ((hash << 5) - hash + name.charCodeAt(i)) | 0; - } - return ((parentid + hash) >>> 0) % FS.nameTable.length; - }, - hashAddNode(node) { - var hash = FS.hashName(node.parent.id, node.name); - node.name_next = FS.nameTable[hash]; - FS.nameTable[hash] = node; - }, - hashRemoveNode(node) { - var hash = FS.hashName(node.parent.id, node.name); - if (FS.nameTable[hash] === node) { - FS.nameTable[hash] = node.name_next; - } else { - var current = FS.nameTable[hash]; - while (current) { - if (current.name_next === node) { - current.name_next = node.name_next; - break; - } - current = current.name_next; - } - } - }, - lookupNode(parent, name) { - var errCode = FS.mayLookup(parent); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - var hash = FS.hashName(parent.id, name); - for (var node = FS.nameTable[hash]; node; node = node.name_next) { - var nodeName = node.name; - if (node.parent.id === parent.id && nodeName === name) { - return node; - } - } - // if we failed to find it in the cache, call into the VFS - return FS.lookup(parent, name); - }, - createNode(parent, name, mode, rdev) { - assert(typeof parent == 'object') - var node = new FS.FSNode(parent, name, mode, rdev); - - FS.hashAddNode(node); - - return node; - }, - destroyNode(node) { - FS.hashRemoveNode(node); - }, - isRoot(node) { - return node === node.parent; - }, - isMountpoint(node) { - return !!node.mounted; - }, - isFile(mode) { - return (mode & 61440) === 32768; - }, - isDir(mode) { - return (mode & 61440) === 16384; - }, - isLink(mode) { - return (mode & 61440) === 40960; - }, - isChrdev(mode) { - return (mode & 61440) === 8192; - }, - isBlkdev(mode) { - return (mode & 61440) === 24576; - }, - isFIFO(mode) { - return (mode & 61440) === 4096; - }, - isSocket(mode) { - return (mode & 49152) === 49152; - }, - flagsToPermissionString(flag) { - var perms = ['r', 'w', 'rw'][flag & 3]; - if ((flag & 512)) { - perms += 'w'; - } - return perms; - }, - nodePermissions(node, perms) { - if (FS.ignorePermissions) { - return 0; - } - // return 0 if any user, group or owner bits are set. - if (perms.includes('r') && !(node.mode & 292)) { - return 2; - } else if (perms.includes('w') && !(node.mode & 146)) { - return 2; - } else if (perms.includes('x') && !(node.mode & 73)) { - return 2; - } - return 0; - }, - mayLookup(dir) { - if (!FS.isDir(dir.mode)) return 54; - var errCode = FS.nodePermissions(dir, 'x'); - if (errCode) return errCode; - if (!dir.node_ops.lookup) return 2; - return 0; - }, - mayCreate(dir, name) { - if (!FS.isDir(dir.mode)) { - return 54; - } - try { - var node = FS.lookupNode(dir, name); - return 20; - } catch (e) { - } - return FS.nodePermissions(dir, 'wx'); - }, - mayDelete(dir, name, isdir) { - var node; - try { - node = FS.lookupNode(dir, name); - } catch (e) { - return e.errno; - } - var errCode = FS.nodePermissions(dir, 'wx'); - if (errCode) { - return errCode; - } - if (isdir) { - if (!FS.isDir(node.mode)) { - return 54; - } - if (FS.isRoot(node) || FS.getPath(node) === FS.cwd()) { - return 10; - } - } else { - if (FS.isDir(node.mode)) { - return 31; - } - } - return 0; - }, - mayOpen(node, flags) { - if (!node) { - return 44; - } - if (FS.isLink(node.mode)) { - return 32; - } else if (FS.isDir(node.mode)) { - if (FS.flagsToPermissionString(flags) !== 'r' // opening for write - || (flags & (512 | 64))) { // TODO: check for O_SEARCH? (== search for dir only) - return 31; - } - } - return FS.nodePermissions(node, FS.flagsToPermissionString(flags)); - }, - checkOpExists(op, err) { - if (!op) { - throw new FS.ErrnoError(err); - } - return op; - }, - MAX_OPEN_FDS:4096, - nextfd() { - for (var fd = 0; fd <= FS.MAX_OPEN_FDS; fd++) { - if (!FS.streams[fd]) { - return fd; - } - } - throw new FS.ErrnoError(33); - }, - getStreamChecked(fd) { - var stream = FS.getStream(fd); - if (!stream) { - throw new FS.ErrnoError(8); - } - return stream; - }, - getStream:(fd) => FS.streams[fd], - createStream(stream, fd = -1) { - assert(fd >= -1); - - // clone it, so we can return an instance of FSStream - stream = Object.assign(new FS.FSStream(), stream); - if (fd == -1) { - fd = FS.nextfd(); - } - stream.fd = fd; - FS.streams[fd] = stream; - return stream; - }, - closeStream(fd) { - FS.streams[fd] = null; - }, - dupStream(origStream, fd = -1) { - var stream = FS.createStream(origStream, fd); - stream.stream_ops?.dup?.(stream); - return stream; - }, - doSetAttr(stream, node, attr) { - var setattr = stream?.stream_ops.setattr; - var arg = setattr ? stream : node; - setattr ??= node.node_ops.setattr; - FS.checkOpExists(setattr, 63) - setattr(arg, attr); - }, - chrdev_stream_ops:{ - open(stream) { - var device = FS.getDevice(stream.node.rdev); - // override node's stream ops with the device's - stream.stream_ops = device.stream_ops; - // forward the open call - stream.stream_ops.open?.(stream); - }, - llseek() { - throw new FS.ErrnoError(70); - }, - }, - major:(dev) => ((dev) >> 8), - minor:(dev) => ((dev) & 0xff), - makedev:(ma, mi) => ((ma) << 8 | (mi)), - registerDevice(dev, ops) { - FS.devices[dev] = { stream_ops: ops }; - }, - getDevice:(dev) => FS.devices[dev], - getMounts(mount) { - var mounts = []; - var check = [mount]; - - while (check.length) { - var m = check.pop(); - - mounts.push(m); - - check.push(...m.mounts); - } - - return mounts; - }, - syncfs(populate, callback) { - if (typeof populate == 'function') { - callback = populate; - populate = false; - } - - FS.syncFSRequests++; - - if (FS.syncFSRequests > 1) { - err(`warning: ${FS.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`); - } - - var mounts = FS.getMounts(FS.root.mount); - var completed = 0; - - function doCallback(errCode) { - assert(FS.syncFSRequests > 0); - FS.syncFSRequests--; - return callback(errCode); - } - - function done(errCode) { - if (errCode) { - if (!done.errored) { - done.errored = true; - return doCallback(errCode); - } - return; - } - if (++completed >= mounts.length) { - doCallback(null); - } - }; - - // sync all mounts - mounts.forEach((mount) => { - if (!mount.type.syncfs) { - return done(null); - } - mount.type.syncfs(mount, populate, done); - }); - }, - mount(type, opts, mountpoint) { - if (typeof type == 'string') { - // The filesystem was not included, and instead we have an error - // message stored in the variable. - throw type; - } - var root = mountpoint === '/'; - var pseudo = !mountpoint; - var node; - - if (root && FS.root) { - throw new FS.ErrnoError(10); - } else if (!root && !pseudo) { - var lookup = FS.lookupPath(mountpoint, { follow_mount: false }); - - mountpoint = lookup.path; // use the absolute path - node = lookup.node; - - if (FS.isMountpoint(node)) { - throw new FS.ErrnoError(10); - } - - if (!FS.isDir(node.mode)) { - throw new FS.ErrnoError(54); - } - } - - var mount = { - type, - opts, - mountpoint, - mounts: [] - }; - - // create a root node for the fs - var mountRoot = type.mount(mount); - mountRoot.mount = mount; - mount.root = mountRoot; - - if (root) { - FS.root = mountRoot; - } else if (node) { - // set as a mountpoint - node.mounted = mount; - - // add the new mount to the current mount's children - if (node.mount) { - node.mount.mounts.push(mount); - } - } - - return mountRoot; - }, - unmount(mountpoint) { - var lookup = FS.lookupPath(mountpoint, { follow_mount: false }); - - if (!FS.isMountpoint(lookup.node)) { - throw new FS.ErrnoError(28); - } - - // destroy the nodes for this mount, and all its child mounts - var node = lookup.node; - var mount = node.mounted; - var mounts = FS.getMounts(mount); - - Object.keys(FS.nameTable).forEach((hash) => { - var current = FS.nameTable[hash]; - - while (current) { - var next = current.name_next; - - if (mounts.includes(current.mount)) { - FS.destroyNode(current); - } - - current = next; - } - }); - - // no longer a mountpoint - node.mounted = null; - - // remove this mount from the child mounts - var idx = node.mount.mounts.indexOf(mount); - assert(idx !== -1); - node.mount.mounts.splice(idx, 1); - }, - lookup(parent, name) { - return parent.node_ops.lookup(parent, name); - }, - mknod(path, mode, dev) { - var lookup = FS.lookupPath(path, { parent: true }); - var parent = lookup.node; - var name = PATH.basename(path); - if (!name) { - throw new FS.ErrnoError(28); - } - if (name === '.' || name === '..') { - throw new FS.ErrnoError(20); - } - var errCode = FS.mayCreate(parent, name); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - if (!parent.node_ops.mknod) { - throw new FS.ErrnoError(63); - } - return parent.node_ops.mknod(parent, name, mode, dev); - }, - statfs(path) { - return FS.statfsNode(FS.lookupPath(path, {follow: true}).node); - }, - statfsStream(stream) { - // We keep a separate statfsStream function because noderawfs overrides - // it. In noderawfs, stream.node is sometimes null. Instead, we need to - // look at stream.path. - return FS.statfsNode(stream.node); - }, - statfsNode(node) { - // NOTE: None of the defaults here are true. We're just returning safe and - // sane values. Currently nodefs and rawfs replace these defaults, - // other file systems leave them alone. - var rtn = { - bsize: 4096, - frsize: 4096, - blocks: 1e6, - bfree: 5e5, - bavail: 5e5, - files: FS.nextInode, - ffree: FS.nextInode - 1, - fsid: 42, - flags: 2, - namelen: 255, - }; - - if (node.node_ops.statfs) { - Object.assign(rtn, node.node_ops.statfs(node.mount.opts.root)); - } - return rtn; - }, - create(path, mode = 0o666) { - mode &= 4095; - mode |= 32768; - return FS.mknod(path, mode, 0); - }, - mkdir(path, mode = 0o777) { - mode &= 511 | 512; - mode |= 16384; - return FS.mknod(path, mode, 0); - }, - mkdirTree(path, mode) { - var dirs = path.split('/'); - var d = ''; - for (var dir of dirs) { - if (!dir) continue; - if (d || PATH.isAbs(path)) d += '/'; - d += dir; - try { - FS.mkdir(d, mode); - } catch(e) { - if (e.errno != 20) throw e; - } - } - }, - mkdev(path, mode, dev) { - if (typeof dev == 'undefined') { - dev = mode; - mode = 0o666; - } - mode |= 8192; - return FS.mknod(path, mode, dev); - }, - symlink(oldpath, newpath) { - if (!PATH_FS.resolve(oldpath)) { - throw new FS.ErrnoError(44); - } - var lookup = FS.lookupPath(newpath, { parent: true }); - var parent = lookup.node; - if (!parent) { - throw new FS.ErrnoError(44); - } - var newname = PATH.basename(newpath); - var errCode = FS.mayCreate(parent, newname); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - if (!parent.node_ops.symlink) { - throw new FS.ErrnoError(63); - } - return parent.node_ops.symlink(parent, newname, oldpath); - }, - rename(old_path, new_path) { - var old_dirname = PATH.dirname(old_path); - var new_dirname = PATH.dirname(new_path); - var old_name = PATH.basename(old_path); - var new_name = PATH.basename(new_path); - // parents must exist - var lookup, old_dir, new_dir; - - // let the errors from non existent directories percolate up - lookup = FS.lookupPath(old_path, { parent: true }); - old_dir = lookup.node; - lookup = FS.lookupPath(new_path, { parent: true }); - new_dir = lookup.node; - - if (!old_dir || !new_dir) throw new FS.ErrnoError(44); - // need to be part of the same mount - if (old_dir.mount !== new_dir.mount) { - throw new FS.ErrnoError(75); - } - // source must exist - var old_node = FS.lookupNode(old_dir, old_name); - // old path should not be an ancestor of the new path - var relative = PATH_FS.relative(old_path, new_dirname); - if (relative.charAt(0) !== '.') { - throw new FS.ErrnoError(28); - } - // new path should not be an ancestor of the old path - relative = PATH_FS.relative(new_path, old_dirname); - if (relative.charAt(0) !== '.') { - throw new FS.ErrnoError(55); - } - // see if the new path already exists - var new_node; - try { - new_node = FS.lookupNode(new_dir, new_name); - } catch (e) { - // not fatal - } - // early out if nothing needs to change - if (old_node === new_node) { - return; - } - // we'll need to delete the old entry - var isdir = FS.isDir(old_node.mode); - var errCode = FS.mayDelete(old_dir, old_name, isdir); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - // need delete permissions if we'll be overwriting. - // need create permissions if new doesn't already exist. - errCode = new_node ? - FS.mayDelete(new_dir, new_name, isdir) : - FS.mayCreate(new_dir, new_name); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - if (!old_dir.node_ops.rename) { - throw new FS.ErrnoError(63); - } - if (FS.isMountpoint(old_node) || (new_node && FS.isMountpoint(new_node))) { - throw new FS.ErrnoError(10); - } - // if we are going to change the parent, check write permissions - if (new_dir !== old_dir) { - errCode = FS.nodePermissions(old_dir, 'w'); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - } - // remove the node from the lookup hash - FS.hashRemoveNode(old_node); - // do the underlying fs rename - try { - old_dir.node_ops.rename(old_node, new_dir, new_name); - // update old node (we do this here to avoid each backend - // needing to) - old_node.parent = new_dir; - } catch (e) { - throw e; - } finally { - // add the node back to the hash (in case node_ops.rename - // changed its name) - FS.hashAddNode(old_node); - } - }, - rmdir(path) { - var lookup = FS.lookupPath(path, { parent: true }); - var parent = lookup.node; - var name = PATH.basename(path); - var node = FS.lookupNode(parent, name); - var errCode = FS.mayDelete(parent, name, true); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - if (!parent.node_ops.rmdir) { - throw new FS.ErrnoError(63); - } - if (FS.isMountpoint(node)) { - throw new FS.ErrnoError(10); - } - parent.node_ops.rmdir(parent, name); - FS.destroyNode(node); - }, - readdir(path) { - var lookup = FS.lookupPath(path, { follow: true }); - var node = lookup.node; - var readdir = FS.checkOpExists(node.node_ops.readdir, 54); - return readdir(node); - }, - unlink(path) { - var lookup = FS.lookupPath(path, { parent: true }); - var parent = lookup.node; - if (!parent) { - throw new FS.ErrnoError(44); - } - var name = PATH.basename(path); - var node = FS.lookupNode(parent, name); - var errCode = FS.mayDelete(parent, name, false); - if (errCode) { - // According to POSIX, we should map EISDIR to EPERM, but - // we instead do what Linux does (and we must, as we use - // the musl linux libc). - throw new FS.ErrnoError(errCode); - } - if (!parent.node_ops.unlink) { - throw new FS.ErrnoError(63); - } - if (FS.isMountpoint(node)) { - throw new FS.ErrnoError(10); - } - parent.node_ops.unlink(parent, name); - FS.destroyNode(node); - }, - readlink(path) { - var lookup = FS.lookupPath(path); - var link = lookup.node; - if (!link) { - throw new FS.ErrnoError(44); - } - if (!link.node_ops.readlink) { - throw new FS.ErrnoError(28); - } - return link.node_ops.readlink(link); - }, - stat(path, dontFollow) { - var lookup = FS.lookupPath(path, { follow: !dontFollow }); - var node = lookup.node; - var getattr = FS.checkOpExists(node.node_ops.getattr, 63); - return getattr(node); - }, - fstat(fd) { - var stream = FS.getStreamChecked(fd); - var node = stream.node; - var getattr = stream.stream_ops.getattr; - var arg = getattr ? stream : node; - getattr ??= node.node_ops.getattr; - FS.checkOpExists(getattr, 63) - return getattr(arg); - }, - lstat(path) { - return FS.stat(path, true); - }, - doChmod(stream, node, mode, dontFollow) { - FS.doSetAttr(stream, node, { - mode: (mode & 4095) | (node.mode & ~4095), - ctime: Date.now(), - dontFollow - }); - }, - chmod(path, mode, dontFollow) { - var node; - if (typeof path == 'string') { - var lookup = FS.lookupPath(path, { follow: !dontFollow }); - node = lookup.node; - } else { - node = path; - } - FS.doChmod(null, node, mode, dontFollow); - }, - lchmod(path, mode) { - FS.chmod(path, mode, true); - }, - fchmod(fd, mode) { - var stream = FS.getStreamChecked(fd); - FS.doChmod(stream, stream.node, mode, false); - }, - doChown(stream, node, dontFollow) { - FS.doSetAttr(stream, node, { - timestamp: Date.now(), - dontFollow - // we ignore the uid / gid for now - }); - }, - chown(path, uid, gid, dontFollow) { - var node; - if (typeof path == 'string') { - var lookup = FS.lookupPath(path, { follow: !dontFollow }); - node = lookup.node; - } else { - node = path; - } - FS.doChown(null, node, dontFollow); - }, - lchown(path, uid, gid) { - FS.chown(path, uid, gid, true); - }, - fchown(fd, uid, gid) { - var stream = FS.getStreamChecked(fd); - FS.doChown(stream, stream.node, false); - }, - doTruncate(stream, node, len) { - if (FS.isDir(node.mode)) { - throw new FS.ErrnoError(31); - } - if (!FS.isFile(node.mode)) { - throw new FS.ErrnoError(28); - } - var errCode = FS.nodePermissions(node, 'w'); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - FS.doSetAttr(stream, node, { - size: len, - timestamp: Date.now() - }); - }, - truncate(path, len) { - if (len < 0) { - throw new FS.ErrnoError(28); - } - var node; - if (typeof path == 'string') { - var lookup = FS.lookupPath(path, { follow: true }); - node = lookup.node; - } else { - node = path; - } - FS.doTruncate(null, node, len); - }, - ftruncate(fd, len) { - var stream = FS.getStreamChecked(fd); - if (len < 0 || (stream.flags & 2097155) === 0) { - throw new FS.ErrnoError(28); - } - FS.doTruncate(stream, stream.node, len); - }, - utime(path, atime, mtime) { - var lookup = FS.lookupPath(path, { follow: true }); - var node = lookup.node; - var setattr = FS.checkOpExists(node.node_ops.setattr, 63); - setattr(node, { - atime: atime, - mtime: mtime - }); - }, - open(path, flags, mode = 0o666) { - if (path === "") { - throw new FS.ErrnoError(44); - } - flags = typeof flags == 'string' ? FS_modeStringToFlags(flags) : flags; - if ((flags & 64)) { - mode = (mode & 4095) | 32768; - } else { - mode = 0; - } - var node; - var isDirPath; - if (typeof path == 'object') { - node = path; - } else { - isDirPath = path.endsWith("/"); - // noent_okay makes it so that if the final component of the path - // doesn't exist, lookupPath returns `node: undefined`. `path` will be - // updated to point to the target of all symlinks. - var lookup = FS.lookupPath(path, { - follow: !(flags & 131072), - noent_okay: true - }); - node = lookup.node; - path = lookup.path; - } - // perhaps we need to create the node - var created = false; - if ((flags & 64)) { - if (node) { - // if O_CREAT and O_EXCL are set, error out if the node already exists - if ((flags & 128)) { - throw new FS.ErrnoError(20); - } - } else if (isDirPath) { - throw new FS.ErrnoError(31); - } else { - // node doesn't exist, try to create it - // Ignore the permission bits here to ensure we can `open` this new - // file below. We use chmod below the apply the permissions once the - // file is open. - node = FS.mknod(path, mode | 0o777, 0); - created = true; - } - } - if (!node) { - throw new FS.ErrnoError(44); - } - // can't truncate a device - if (FS.isChrdev(node.mode)) { - flags &= ~512; - } - // if asked only for a directory, then this must be one - if ((flags & 65536) && !FS.isDir(node.mode)) { - throw new FS.ErrnoError(54); - } - // check permissions, if this is not a file we just created now (it is ok to - // create and write to a file with read-only permissions; it is read-only - // for later use) - if (!created) { - var errCode = FS.mayOpen(node, flags); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - } - // do truncation if necessary - if ((flags & 512) && !created) { - FS.truncate(node, 0); - } - // we've already handled these, don't pass down to the underlying vfs - flags &= ~(128 | 512 | 131072); - - // register the stream with the filesystem - var stream = FS.createStream({ - node, - path: FS.getPath(node), // we want the absolute path to the node - flags, - seekable: true, - position: 0, - stream_ops: node.stream_ops, - // used by the file family libc calls (fopen, fwrite, ferror, etc.) - ungotten: [], - error: false - }); - // call the new stream's open function - if (stream.stream_ops.open) { - stream.stream_ops.open(stream); - } - if (created) { - FS.chmod(node, mode & 0o777); - } - if (Module['logReadFiles'] && !(flags & 1)) { - if (!(path in FS.readFiles)) { - FS.readFiles[path] = 1; - } - } - return stream; - }, - close(stream) { - if (FS.isClosed(stream)) { - throw new FS.ErrnoError(8); - } - if (stream.getdents) stream.getdents = null; // free readdir state - try { - if (stream.stream_ops.close) { - stream.stream_ops.close(stream); - } - } catch (e) { - throw e; - } finally { - FS.closeStream(stream.fd); - } - stream.fd = null; - }, - isClosed(stream) { - return stream.fd === null; - }, - llseek(stream, offset, whence) { - if (FS.isClosed(stream)) { - throw new FS.ErrnoError(8); - } - if (!stream.seekable || !stream.stream_ops.llseek) { - throw new FS.ErrnoError(70); - } - if (whence != 0 && whence != 1 && whence != 2) { - throw new FS.ErrnoError(28); - } - stream.position = stream.stream_ops.llseek(stream, offset, whence); - stream.ungotten = []; - return stream.position; - }, - read(stream, buffer, offset, length, position) { - assert(offset >= 0); - if (length < 0 || position < 0) { - throw new FS.ErrnoError(28); - } - if (FS.isClosed(stream)) { - throw new FS.ErrnoError(8); - } - if ((stream.flags & 2097155) === 1) { - throw new FS.ErrnoError(8); - } - if (FS.isDir(stream.node.mode)) { - throw new FS.ErrnoError(31); - } - if (!stream.stream_ops.read) { - throw new FS.ErrnoError(28); - } - var seeking = typeof position != 'undefined'; - if (!seeking) { - position = stream.position; - } else if (!stream.seekable) { - throw new FS.ErrnoError(70); - } - var bytesRead = stream.stream_ops.read(stream, buffer, offset, length, position); - if (!seeking) stream.position += bytesRead; - return bytesRead; - }, - write(stream, buffer, offset, length, position, canOwn) { - assert(offset >= 0); - if (length < 0 || position < 0) { - throw new FS.ErrnoError(28); - } - if (FS.isClosed(stream)) { - throw new FS.ErrnoError(8); - } - if ((stream.flags & 2097155) === 0) { - throw new FS.ErrnoError(8); - } - if (FS.isDir(stream.node.mode)) { - throw new FS.ErrnoError(31); - } - if (!stream.stream_ops.write) { - throw new FS.ErrnoError(28); - } - if (stream.seekable && stream.flags & 1024) { - // seek to the end before writing in append mode - FS.llseek(stream, 0, 2); - } - var seeking = typeof position != 'undefined'; - if (!seeking) { - position = stream.position; - } else if (!stream.seekable) { - throw new FS.ErrnoError(70); - } - var bytesWritten = stream.stream_ops.write(stream, buffer, offset, length, position, canOwn); - if (!seeking) stream.position += bytesWritten; - return bytesWritten; - }, - mmap(stream, length, position, prot, flags) { - // User requests writing to file (prot & PROT_WRITE != 0). - // Checking if we have permissions to write to the file unless - // MAP_PRIVATE flag is set. According to POSIX spec it is possible - // to write to file opened in read-only mode with MAP_PRIVATE flag, - // as all modifications will be visible only in the memory of - // the current process. - if ((prot & 2) !== 0 - && (flags & 2) === 0 - && (stream.flags & 2097155) !== 2) { - throw new FS.ErrnoError(2); - } - if ((stream.flags & 2097155) === 1) { - throw new FS.ErrnoError(2); - } - if (!stream.stream_ops.mmap) { - throw new FS.ErrnoError(43); - } - if (!length) { - throw new FS.ErrnoError(28); - } - return stream.stream_ops.mmap(stream, length, position, prot, flags); - }, - msync(stream, buffer, offset, length, mmapFlags) { - assert(offset >= 0); - if (!stream.stream_ops.msync) { - return 0; - } - return stream.stream_ops.msync(stream, buffer, offset, length, mmapFlags); - }, - ioctl(stream, cmd, arg) { - if (!stream.stream_ops.ioctl) { - throw new FS.ErrnoError(59); - } - return stream.stream_ops.ioctl(stream, cmd, arg); - }, - readFile(path, opts = {}) { - opts.flags = opts.flags || 0; - opts.encoding = opts.encoding || 'binary'; - if (opts.encoding !== 'utf8' && opts.encoding !== 'binary') { - throw new Error(`Invalid encoding type "${opts.encoding}"`); - } - var ret; - var stream = FS.open(path, opts.flags); - var stat = FS.stat(path); - var length = stat.size; - var buf = new Uint8Array(length); - FS.read(stream, buf, 0, length, 0); - if (opts.encoding === 'utf8') { - ret = UTF8ArrayToString(buf); - } else if (opts.encoding === 'binary') { - ret = buf; - } - FS.close(stream); - return ret; - }, - writeFile(path, data, opts = {}) { - opts.flags = opts.flags || 577; - var stream = FS.open(path, opts.flags, opts.mode); - if (typeof data == 'string') { - var buf = new Uint8Array(lengthBytesUTF8(data)+1); - var actualNumBytes = stringToUTF8Array(data, buf, 0, buf.length); - FS.write(stream, buf, 0, actualNumBytes, undefined, opts.canOwn); - } else if (ArrayBuffer.isView(data)) { - FS.write(stream, data, 0, data.byteLength, undefined, opts.canOwn); - } else { - throw new Error('Unsupported data type'); - } - FS.close(stream); - }, - cwd:() => FS.currentPath, - chdir(path) { - var lookup = FS.lookupPath(path, { follow: true }); - if (lookup.node === null) { - throw new FS.ErrnoError(44); - } - if (!FS.isDir(lookup.node.mode)) { - throw new FS.ErrnoError(54); - } - var errCode = FS.nodePermissions(lookup.node, 'x'); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - FS.currentPath = lookup.path; - }, - createDefaultDirectories() { - FS.mkdir('/tmp'); - FS.mkdir('/home'); - FS.mkdir('/home/web_user'); - }, - createDefaultDevices() { - // create /dev - FS.mkdir('/dev'); - // setup /dev/null - FS.registerDevice(FS.makedev(1, 3), { - read: () => 0, - write: (stream, buffer, offset, length, pos) => length, - llseek: () => 0, - }); - FS.mkdev('/dev/null', FS.makedev(1, 3)); - // setup /dev/tty and /dev/tty1 - // stderr needs to print output using err() rather than out() - // so we register a second tty just for it. - TTY.register(FS.makedev(5, 0), TTY.default_tty_ops); - TTY.register(FS.makedev(6, 0), TTY.default_tty1_ops); - FS.mkdev('/dev/tty', FS.makedev(5, 0)); - FS.mkdev('/dev/tty1', FS.makedev(6, 0)); - // setup /dev/[u]random - // use a buffer to avoid overhead of individual crypto calls per byte - var randomBuffer = new Uint8Array(1024), randomLeft = 0; - var randomByte = () => { - if (randomLeft === 0) { - randomFill(randomBuffer); - randomLeft = randomBuffer.byteLength; - } - return randomBuffer[--randomLeft]; - }; - FS.createDevice('/dev', 'random', randomByte); - FS.createDevice('/dev', 'urandom', randomByte); - // we're not going to emulate the actual shm device, - // just create the tmp dirs that reside in it commonly - FS.mkdir('/dev/shm'); - FS.mkdir('/dev/shm/tmp'); - }, - createSpecialDirectories() { - // create /proc/self/fd which allows /proc/self/fd/6 => readlink gives the - // name of the stream for fd 6 (see test_unistd_ttyname) - FS.mkdir('/proc'); - var proc_self = FS.mkdir('/proc/self'); - FS.mkdir('/proc/self/fd'); - FS.mount({ - mount() { - var node = FS.createNode(proc_self, 'fd', 16895, 73); - node.stream_ops = { - llseek: MEMFS.stream_ops.llseek, - }; - node.node_ops = { - lookup(parent, name) { - var fd = +name; - var stream = FS.getStreamChecked(fd); - var ret = { - parent: null, - mount: { mountpoint: 'fake' }, - node_ops: { readlink: () => stream.path }, - id: fd + 1, - }; - ret.parent = ret; // make it look like a simple root node - return ret; - }, - readdir() { - return Array.from(FS.streams.entries()) - .filter(([k, v]) => v) - .map(([k, v]) => k.toString()); - } - }; - return node; - } - }, {}, '/proc/self/fd'); - }, - createStandardStreams(input, output, error) { - // TODO deprecate the old functionality of a single - // input / output callback and that utilizes FS.createDevice - // and instead require a unique set of stream ops - - // by default, we symlink the standard streams to the - // default tty devices. however, if the standard streams - // have been overwritten we create a unique device for - // them instead. - if (input) { - FS.createDevice('/dev', 'stdin', input); - } else { - FS.symlink('/dev/tty', '/dev/stdin'); - } - if (output) { - FS.createDevice('/dev', 'stdout', null, output); - } else { - FS.symlink('/dev/tty', '/dev/stdout'); - } - if (error) { - FS.createDevice('/dev', 'stderr', null, error); - } else { - FS.symlink('/dev/tty1', '/dev/stderr'); - } - - // open default streams for the stdin, stdout and stderr devices - var stdin = FS.open('/dev/stdin', 0); - var stdout = FS.open('/dev/stdout', 1); - var stderr = FS.open('/dev/stderr', 1); - assert(stdin.fd === 0, `invalid handle for stdin (${stdin.fd})`); - assert(stdout.fd === 1, `invalid handle for stdout (${stdout.fd})`); - assert(stderr.fd === 2, `invalid handle for stderr (${stderr.fd})`); - }, - staticInit() { - FS.nameTable = new Array(4096); - - FS.mount(MEMFS, {}, '/'); - - FS.createDefaultDirectories(); - FS.createDefaultDevices(); - FS.createSpecialDirectories(); - - FS.filesystems = { - 'MEMFS': MEMFS, - }; - }, - init(input, output, error) { - assert(!FS.initialized, 'FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)'); - FS.initialized = true; - - // Allow Module.stdin etc. to provide defaults, if none explicitly passed to us here - input ??= Module['stdin']; - output ??= Module['stdout']; - error ??= Module['stderr']; - - FS.createStandardStreams(input, output, error); - }, - quit() { - FS.initialized = false; - // force-flush all streams, so we get musl std streams printed out - _fflush(0); - // close all of our streams - for (var stream of FS.streams) { - if (stream) { - FS.close(stream); - } - } - }, - findObject(path, dontResolveLastLink) { - var ret = FS.analyzePath(path, dontResolveLastLink); - if (!ret.exists) { - return null; - } - return ret.object; - }, - analyzePath(path, dontResolveLastLink) { - // operate from within the context of the symlink's target - try { - var lookup = FS.lookupPath(path, { follow: !dontResolveLastLink }); - path = lookup.path; - } catch (e) { - } - var ret = { - isRoot: false, exists: false, error: 0, name: null, path: null, object: null, - parentExists: false, parentPath: null, parentObject: null - }; - try { - var lookup = FS.lookupPath(path, { parent: true }); - ret.parentExists = true; - ret.parentPath = lookup.path; - ret.parentObject = lookup.node; - ret.name = PATH.basename(path); - lookup = FS.lookupPath(path, { follow: !dontResolveLastLink }); - ret.exists = true; - ret.path = lookup.path; - ret.object = lookup.node; - ret.name = lookup.node.name; - ret.isRoot = lookup.path === '/'; - } catch (e) { - ret.error = e.errno; - }; - return ret; - }, - createPath(parent, path, canRead, canWrite) { - parent = typeof parent == 'string' ? parent : FS.getPath(parent); - var parts = path.split('/').reverse(); - while (parts.length) { - var part = parts.pop(); - if (!part) continue; - var current = PATH.join2(parent, part); - try { - FS.mkdir(current); - } catch (e) { - if (e.errno != 20) throw e; - } - parent = current; - } - return current; - }, - createFile(parent, name, properties, canRead, canWrite) { - var path = PATH.join2(typeof parent == 'string' ? parent : FS.getPath(parent), name); - var mode = FS_getMode(canRead, canWrite); - return FS.create(path, mode); - }, - createDataFile(parent, name, data, canRead, canWrite, canOwn) { - var path = name; - if (parent) { - parent = typeof parent == 'string' ? parent : FS.getPath(parent); - path = name ? PATH.join2(parent, name) : parent; - } - var mode = FS_getMode(canRead, canWrite); - var node = FS.create(path, mode); - if (data) { - if (typeof data == 'string') { - var arr = new Array(data.length); - for (var i = 0, len = data.length; i < len; ++i) arr[i] = data.charCodeAt(i); - data = arr; - } - // make sure we can write to the file - FS.chmod(node, mode | 146); - var stream = FS.open(node, 577); - FS.write(stream, data, 0, data.length, 0, canOwn); - FS.close(stream); - FS.chmod(node, mode); - } - }, - createDevice(parent, name, input, output) { - var path = PATH.join2(typeof parent == 'string' ? parent : FS.getPath(parent), name); - var mode = FS_getMode(!!input, !!output); - FS.createDevice.major ??= 64; - var dev = FS.makedev(FS.createDevice.major++, 0); - // Create a fake device that a set of stream ops to emulate - // the old behavior. - FS.registerDevice(dev, { - open(stream) { - stream.seekable = false; - }, - close(stream) { - // flush any pending line data - if (output?.buffer?.length) { - output(10); - } - }, - read(stream, buffer, offset, length, pos /* ignored */) { - var bytesRead = 0; - for (var i = 0; i < length; i++) { - var result; - try { - result = input(); - } catch (e) { - throw new FS.ErrnoError(29); - } - if (result === undefined && bytesRead === 0) { - throw new FS.ErrnoError(6); - } - if (result === null || result === undefined) break; - bytesRead++; - buffer[offset+i] = result; - } - if (bytesRead) { - stream.node.atime = Date.now(); - } - return bytesRead; - }, - write(stream, buffer, offset, length, pos) { - for (var i = 0; i < length; i++) { - try { - output(buffer[offset+i]); - } catch (e) { - throw new FS.ErrnoError(29); - } - } - if (length) { - stream.node.mtime = stream.node.ctime = Date.now(); - } - return i; - } - }); - return FS.mkdev(path, mode, dev); - }, - forceLoadFile(obj) { - if (obj.isDevice || obj.isFolder || obj.link || obj.contents) return true; - if (typeof XMLHttpRequest != 'undefined') { - throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread."); - } else { // Command-line. - try { - obj.contents = readBinary(obj.url); - obj.usedBytes = obj.contents.length; - } catch (e) { - throw new FS.ErrnoError(29); - } - } - }, - createLazyFile(parent, name, url, canRead, canWrite) { - // Lazy chunked Uint8Array (implements get and length from Uint8Array). - // Actual getting is abstracted away for eventual reuse. - class LazyUint8Array { - lengthKnown = false; - chunks = []; // Loaded chunks. Index is the chunk number - get(idx) { - if (idx > this.length-1 || idx < 0) { - return undefined; - } - var chunkOffset = idx % this.chunkSize; - var chunkNum = (idx / this.chunkSize)|0; - return this.getter(chunkNum)[chunkOffset]; - } - setDataGetter(getter) { - this.getter = getter; - } - cacheLength() { - // Find length - var xhr = new XMLHttpRequest(); - xhr.open('HEAD', url, false); - xhr.send(null); - if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error("Couldn't load " + url + ". Status: " + xhr.status); - var datalength = Number(xhr.getResponseHeader("Content-length")); - var header; - var hasByteServing = (header = xhr.getResponseHeader("Accept-Ranges")) && header === "bytes"; - var usesGzip = (header = xhr.getResponseHeader("Content-Encoding")) && header === "gzip"; - - var chunkSize = 1024*1024; // Chunk size in bytes - - if (!hasByteServing) chunkSize = datalength; - - // Function to get a range from the remote URL. - var doXHR = (from, to) => { - if (from > to) throw new Error("invalid range (" + from + ", " + to + ") or no bytes requested!"); - if (to > datalength-1) throw new Error("only " + datalength + " bytes available! programmer error!"); - - // TODO: Use mozResponseArrayBuffer, responseStream, etc. if available. - var xhr = new XMLHttpRequest(); - xhr.open('GET', url, false); - if (datalength !== chunkSize) xhr.setRequestHeader("Range", "bytes=" + from + "-" + to); - - // Some hints to the browser that we want binary data. - xhr.responseType = 'arraybuffer'; - if (xhr.overrideMimeType) { - xhr.overrideMimeType('text/plain; charset=x-user-defined'); - } - - xhr.send(null); - if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error("Couldn't load " + url + ". Status: " + xhr.status); - if (xhr.response !== undefined) { - return new Uint8Array(/** @type{Array} */(xhr.response || [])); - } - return intArrayFromString(xhr.responseText || '', true); - }; - var lazyArray = this; - lazyArray.setDataGetter((chunkNum) => { - var start = chunkNum * chunkSize; - var end = (chunkNum+1) * chunkSize - 1; // including this byte - end = Math.min(end, datalength-1); // if datalength-1 is selected, this is the last block - if (typeof lazyArray.chunks[chunkNum] == 'undefined') { - lazyArray.chunks[chunkNum] = doXHR(start, end); - } - if (typeof lazyArray.chunks[chunkNum] == 'undefined') throw new Error('doXHR failed!'); - return lazyArray.chunks[chunkNum]; - }); - - if (usesGzip || !datalength) { - // if the server uses gzip or doesn't supply the length, we have to download the whole file to get the (uncompressed) length - chunkSize = datalength = 1; // this will force getter(0)/doXHR do download the whole file - datalength = this.getter(0).length; - chunkSize = datalength; - out("LazyFiles on gzip forces download of the whole file when length is accessed"); - } - - this._length = datalength; - this._chunkSize = chunkSize; - this.lengthKnown = true; - } - get length() { - if (!this.lengthKnown) { - this.cacheLength(); - } - return this._length; - } - get chunkSize() { - if (!this.lengthKnown) { - this.cacheLength(); - } - return this._chunkSize; - } - } - - if (typeof XMLHttpRequest != 'undefined') { - if (!ENVIRONMENT_IS_WORKER) throw 'Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc'; - var lazyArray = new LazyUint8Array(); - var properties = { isDevice: false, contents: lazyArray }; - } else { - var properties = { isDevice: false, url: url }; - } - - var node = FS.createFile(parent, name, properties, canRead, canWrite); - // This is a total hack, but I want to get this lazy file code out of the - // core of MEMFS. If we want to keep this lazy file concept I feel it should - // be its own thin LAZYFS proxying calls to MEMFS. - if (properties.contents) { - node.contents = properties.contents; - } else if (properties.url) { - node.contents = null; - node.url = properties.url; - } - // Add a function that defers querying the file size until it is asked the first time. - Object.defineProperties(node, { - usedBytes: { - get: function() { return this.contents.length; } - } - }); - // override each stream op with one that tries to force load the lazy file first - var stream_ops = {}; - var keys = Object.keys(node.stream_ops); - keys.forEach((key) => { - var fn = node.stream_ops[key]; - stream_ops[key] = (...args) => { - FS.forceLoadFile(node); - return fn(...args); - }; - }); - function writeChunks(stream, buffer, offset, length, position) { - var contents = stream.node.contents; - if (position >= contents.length) - return 0; - var size = Math.min(contents.length - position, length); - assert(size >= 0); - if (contents.slice) { // normal array - for (var i = 0; i < size; i++) { - buffer[offset + i] = contents[position + i]; - } - } else { - for (var i = 0; i < size; i++) { // LazyUint8Array from sync binary XHR - buffer[offset + i] = contents.get(position + i); - } - } - return size; - } - // use a custom read function - stream_ops.read = (stream, buffer, offset, length, position) => { - FS.forceLoadFile(node); - return writeChunks(stream, buffer, offset, length, position) - }; - // use a custom mmap function - stream_ops.mmap = (stream, length, position, prot, flags) => { - FS.forceLoadFile(node); - var ptr = mmapAlloc(length); - if (!ptr) { - throw new FS.ErrnoError(48); - } - writeChunks(stream, HEAP8, ptr, length, position); - return { ptr, allocated: true }; - }; - node.stream_ops = stream_ops; - return node; - }, - absolutePath() { - abort('FS.absolutePath has been removed; use PATH_FS.resolve instead'); - }, - createFolder() { - abort('FS.createFolder has been removed; use FS.mkdir instead'); - }, - createLink() { - abort('FS.createLink has been removed; use FS.symlink instead'); - }, - joinPath() { - abort('FS.joinPath has been removed; use PATH.join instead'); - }, - mmapAlloc() { - abort('FS.mmapAlloc has been replaced by the top level function mmapAlloc'); - }, - standardizePath() { - abort('FS.standardizePath has been removed; use PATH.normalize instead'); - }, - }; - - var SYSCALLS = { - DEFAULT_POLLMASK:5, - calculateAt(dirfd, path, allowEmpty) { - if (PATH.isAbs(path)) { - return path; - } - // relative path - var dir; - if (dirfd === -100) { - dir = FS.cwd(); - } else { - var dirstream = SYSCALLS.getStreamFromFD(dirfd); - dir = dirstream.path; - } - if (path.length == 0) { - if (!allowEmpty) { - throw new FS.ErrnoError(44);; - } - return dir; - } - return dir + '/' + path; - }, - writeStat(buf, stat) { - HEAP32[((buf)>>2)] = stat.dev; - HEAP32[(((buf)+(4))>>2)] = stat.mode; - HEAPU32[(((buf)+(8))>>2)] = stat.nlink; - HEAP32[(((buf)+(12))>>2)] = stat.uid; - HEAP32[(((buf)+(16))>>2)] = stat.gid; - HEAP32[(((buf)+(20))>>2)] = stat.rdev; - HEAP64[(((buf)+(24))>>3)] = BigInt(stat.size); - HEAP32[(((buf)+(32))>>2)] = 4096; - HEAP32[(((buf)+(36))>>2)] = stat.blocks; - var atime = stat.atime.getTime(); - var mtime = stat.mtime.getTime(); - var ctime = stat.ctime.getTime(); - HEAP64[(((buf)+(40))>>3)] = BigInt(Math.floor(atime / 1000)); - HEAPU32[(((buf)+(48))>>2)] = (atime % 1000) * 1000 * 1000; - HEAP64[(((buf)+(56))>>3)] = BigInt(Math.floor(mtime / 1000)); - HEAPU32[(((buf)+(64))>>2)] = (mtime % 1000) * 1000 * 1000; - HEAP64[(((buf)+(72))>>3)] = BigInt(Math.floor(ctime / 1000)); - HEAPU32[(((buf)+(80))>>2)] = (ctime % 1000) * 1000 * 1000; - HEAP64[(((buf)+(88))>>3)] = BigInt(stat.ino); - return 0; - }, - writeStatFs(buf, stats) { - HEAP32[(((buf)+(4))>>2)] = stats.bsize; - HEAP32[(((buf)+(40))>>2)] = stats.bsize; - HEAP32[(((buf)+(8))>>2)] = stats.blocks; - HEAP32[(((buf)+(12))>>2)] = stats.bfree; - HEAP32[(((buf)+(16))>>2)] = stats.bavail; - HEAP32[(((buf)+(20))>>2)] = stats.files; - HEAP32[(((buf)+(24))>>2)] = stats.ffree; - HEAP32[(((buf)+(28))>>2)] = stats.fsid; - HEAP32[(((buf)+(44))>>2)] = stats.flags; // ST_NOSUID - HEAP32[(((buf)+(36))>>2)] = stats.namelen; - }, - doMsync(addr, stream, len, flags, offset) { - if (!FS.isFile(stream.node.mode)) { - throw new FS.ErrnoError(43); - } - if (flags & 2) { - // MAP_PRIVATE calls need not to be synced back to underlying fs - return 0; - } - var buffer = HEAPU8.slice(addr, addr + len); - FS.msync(stream, buffer, offset, len, flags); - }, - getStreamFromFD(fd) { - var stream = FS.getStreamChecked(fd); - return stream; - }, - varargs:undefined, - getStr(ptr) { - var ret = UTF8ToString(ptr); - return ret; - }, - }; - function ___syscall_fcntl64(fd, cmd, varargs) { - SYSCALLS.varargs = varargs; - try { - - var stream = SYSCALLS.getStreamFromFD(fd); - switch (cmd) { - case 0: { - var arg = syscallGetVarargI(); - if (arg < 0) { - return -28; - } - while (FS.streams[arg]) { - arg++; - } - var newStream; - newStream = FS.dupStream(stream, arg); - return newStream.fd; - } - case 1: - case 2: - return 0; // FD_CLOEXEC makes no sense for a single process. - case 3: - return stream.flags; - case 4: { - var arg = syscallGetVarargI(); - stream.flags |= arg; - return 0; - } - case 12: { - var arg = syscallGetVarargP(); - var offset = 0; - // We're always unlocked. - HEAP16[(((arg)+(offset))>>1)] = 2; - return 0; - } - case 13: - case 14: - // Pretend that the locking is successful. These are process-level locks, - // and Emscripten programs are a single process. If we supported linking a - // filesystem between programs, we'd need to do more here. - // See https://github.com/emscripten-core/emscripten/issues/23697 - return 0; - } - return -28; - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return -e.errno; - } - } - - function ___syscall_fstat64(fd, buf) { - try { - - return SYSCALLS.writeStat(buf, FS.fstat(fd)); - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return -e.errno; - } - } - - - function ___syscall_ioctl(fd, op, varargs) { - SYSCALLS.varargs = varargs; - try { - - var stream = SYSCALLS.getStreamFromFD(fd); - switch (op) { - case 21509: { - if (!stream.tty) return -59; - return 0; - } - case 21505: { - if (!stream.tty) return -59; - if (stream.tty.ops.ioctl_tcgets) { - var termios = stream.tty.ops.ioctl_tcgets(stream); - var argp = syscallGetVarargP(); - HEAP32[((argp)>>2)] = termios.c_iflag || 0; - HEAP32[(((argp)+(4))>>2)] = termios.c_oflag || 0; - HEAP32[(((argp)+(8))>>2)] = termios.c_cflag || 0; - HEAP32[(((argp)+(12))>>2)] = termios.c_lflag || 0; - for (var i = 0; i < 32; i++) { - HEAP8[(argp + i)+(17)] = termios.c_cc[i] || 0; - } - return 0; - } - return 0; - } - case 21510: - case 21511: - case 21512: { - if (!stream.tty) return -59; - return 0; // no-op, not actually adjusting terminal settings - } - case 21506: - case 21507: - case 21508: { - if (!stream.tty) return -59; - if (stream.tty.ops.ioctl_tcsets) { - var argp = syscallGetVarargP(); - var c_iflag = HEAP32[((argp)>>2)]; - var c_oflag = HEAP32[(((argp)+(4))>>2)]; - var c_cflag = HEAP32[(((argp)+(8))>>2)]; - var c_lflag = HEAP32[(((argp)+(12))>>2)]; - var c_cc = [] - for (var i = 0; i < 32; i++) { - c_cc.push(HEAP8[(argp + i)+(17)]); - } - return stream.tty.ops.ioctl_tcsets(stream.tty, op, { c_iflag, c_oflag, c_cflag, c_lflag, c_cc }); - } - return 0; // no-op, not actually adjusting terminal settings - } - case 21519: { - if (!stream.tty) return -59; - var argp = syscallGetVarargP(); - HEAP32[((argp)>>2)] = 0; - return 0; - } - case 21520: { - if (!stream.tty) return -59; - return -28; // not supported - } - case 21531: { - var argp = syscallGetVarargP(); - return FS.ioctl(stream, op, argp); - } - case 21523: { - // TODO: in theory we should write to the winsize struct that gets - // passed in, but for now musl doesn't read anything on it - if (!stream.tty) return -59; - if (stream.tty.ops.ioctl_tiocgwinsz) { - var winsize = stream.tty.ops.ioctl_tiocgwinsz(stream.tty); - var argp = syscallGetVarargP(); - HEAP16[((argp)>>1)] = winsize[0]; - HEAP16[(((argp)+(2))>>1)] = winsize[1]; - } - return 0; - } - case 21524: { - // TODO: technically, this ioctl call should change the window size. - // but, since emscripten doesn't have any concept of a terminal window - // yet, we'll just silently throw it away as we do TIOCGWINSZ - if (!stream.tty) return -59; - return 0; - } - case 21515: { - if (!stream.tty) return -59; - return 0; - } - default: return -28; // not supported - } - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return -e.errno; - } - } - - function ___syscall_lstat64(path, buf) { - try { - - path = SYSCALLS.getStr(path); - return SYSCALLS.writeStat(buf, FS.lstat(path)); - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return -e.errno; - } - } - - function ___syscall_newfstatat(dirfd, path, buf, flags) { - try { - - path = SYSCALLS.getStr(path); - var nofollow = flags & 256; - var allowEmpty = flags & 4096; - flags = flags & (~6400); - assert(!flags, `unknown flags in __syscall_newfstatat: ${flags}`); - path = SYSCALLS.calculateAt(dirfd, path, allowEmpty); - return SYSCALLS.writeStat(buf, nofollow ? FS.lstat(path) : FS.stat(path)); - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return -e.errno; - } - } - - - function ___syscall_openat(dirfd, path, flags, varargs) { - SYSCALLS.varargs = varargs; - try { - - path = SYSCALLS.getStr(path); - path = SYSCALLS.calculateAt(dirfd, path); - var mode = varargs ? syscallGetVarargI() : 0; - return FS.open(path, flags, mode).fd; - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return -e.errno; - } - } - - function ___syscall_rmdir(path) { - try { - - path = SYSCALLS.getStr(path); - FS.rmdir(path); - return 0; - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return -e.errno; - } - } - - function ___syscall_stat64(path, buf) { - try { - - path = SYSCALLS.getStr(path); - return SYSCALLS.writeStat(buf, FS.stat(path)); - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return -e.errno; - } - } - - function ___syscall_unlinkat(dirfd, path, flags) { - try { - - path = SYSCALLS.getStr(path); - path = SYSCALLS.calculateAt(dirfd, path); - if (flags === 0) { - FS.unlink(path); - } else if (flags === 512) { - FS.rmdir(path); - } else { - abort('Invalid flags passed to unlinkat'); - } - return 0; - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return -e.errno; - } - } - - var __abort_js = () => - abort('native code called abort()'); - - var isLeapYear = (year) => year%4 === 0 && (year%100 !== 0 || year%400 === 0); - - var MONTH_DAYS_LEAP_CUMULATIVE = [0,31,60,91,121,152,182,213,244,274,305,335]; - - var MONTH_DAYS_REGULAR_CUMULATIVE = [0,31,59,90,120,151,181,212,243,273,304,334]; - var ydayFromDate = (date) => { - var leap = isLeapYear(date.getFullYear()); - var monthDaysCumulative = (leap ? MONTH_DAYS_LEAP_CUMULATIVE : MONTH_DAYS_REGULAR_CUMULATIVE); - var yday = monthDaysCumulative[date.getMonth()] + date.getDate() - 1; // -1 since it's days since Jan 1 - - return yday; - }; - - var INT53_MAX = 9007199254740992; - - var INT53_MIN = -9007199254740992; - var bigintToI53Checked = (num) => (num < INT53_MIN || num > INT53_MAX) ? NaN : Number(num); - function __localtime_js(time, tmPtr) { - time = bigintToI53Checked(time); - - - var date = new Date(time*1000); - HEAP32[((tmPtr)>>2)] = date.getSeconds(); - HEAP32[(((tmPtr)+(4))>>2)] = date.getMinutes(); - HEAP32[(((tmPtr)+(8))>>2)] = date.getHours(); - HEAP32[(((tmPtr)+(12))>>2)] = date.getDate(); - HEAP32[(((tmPtr)+(16))>>2)] = date.getMonth(); - HEAP32[(((tmPtr)+(20))>>2)] = date.getFullYear()-1900; - HEAP32[(((tmPtr)+(24))>>2)] = date.getDay(); - - var yday = ydayFromDate(date)|0; - HEAP32[(((tmPtr)+(28))>>2)] = yday; - HEAP32[(((tmPtr)+(36))>>2)] = -(date.getTimezoneOffset() * 60); - - // Attention: DST is in December in South, and some regions don't have DST at all. - var start = new Date(date.getFullYear(), 0, 1); - var summerOffset = new Date(date.getFullYear(), 6, 1).getTimezoneOffset(); - var winterOffset = start.getTimezoneOffset(); - var dst = (summerOffset != winterOffset && date.getTimezoneOffset() == Math.min(winterOffset, summerOffset))|0; - HEAP32[(((tmPtr)+(32))>>2)] = dst; - ; - } - - - var __mktime_js = function(tmPtr) { - - var ret = (() => { - var date = new Date(HEAP32[(((tmPtr)+(20))>>2)] + 1900, - HEAP32[(((tmPtr)+(16))>>2)], - HEAP32[(((tmPtr)+(12))>>2)], - HEAP32[(((tmPtr)+(8))>>2)], - HEAP32[(((tmPtr)+(4))>>2)], - HEAP32[((tmPtr)>>2)], - 0); - - // There's an ambiguous hour when the time goes back; the tm_isdst field is - // used to disambiguate it. Date() basically guesses, so we fix it up if it - // guessed wrong, or fill in tm_isdst with the guess if it's -1. - var dst = HEAP32[(((tmPtr)+(32))>>2)]; - var guessedOffset = date.getTimezoneOffset(); - var start = new Date(date.getFullYear(), 0, 1); - var summerOffset = new Date(date.getFullYear(), 6, 1).getTimezoneOffset(); - var winterOffset = start.getTimezoneOffset(); - var dstOffset = Math.min(winterOffset, summerOffset); // DST is in December in South - if (dst < 0) { - // Attention: some regions don't have DST at all. - HEAP32[(((tmPtr)+(32))>>2)] = Number(summerOffset != winterOffset && dstOffset == guessedOffset); - } else if ((dst > 0) != (dstOffset == guessedOffset)) { - var nonDstOffset = Math.max(winterOffset, summerOffset); - var trueOffset = dst > 0 ? dstOffset : nonDstOffset; - // Don't try setMinutes(date.getMinutes() + ...) -- it's messed up. - date.setTime(date.getTime() + (trueOffset - guessedOffset)*60000); - } - - HEAP32[(((tmPtr)+(24))>>2)] = date.getDay(); - var yday = ydayFromDate(date)|0; - HEAP32[(((tmPtr)+(28))>>2)] = yday; - // To match expected behavior, update fields from date - HEAP32[((tmPtr)>>2)] = date.getSeconds(); - HEAP32[(((tmPtr)+(4))>>2)] = date.getMinutes(); - HEAP32[(((tmPtr)+(8))>>2)] = date.getHours(); - HEAP32[(((tmPtr)+(12))>>2)] = date.getDate(); - HEAP32[(((tmPtr)+(16))>>2)] = date.getMonth(); - HEAP32[(((tmPtr)+(20))>>2)] = date.getYear(); - - var timeMs = date.getTime(); - if (isNaN(timeMs)) { - return -1; - } - // Return time in microseconds - return timeMs / 1000; - })(); - return BigInt(ret); - }; - - var stringToUTF8 = (str, outPtr, maxBytesToWrite) => { - assert(typeof maxBytesToWrite == 'number', 'stringToUTF8(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!'); - return stringToUTF8Array(str, HEAPU8, outPtr, maxBytesToWrite); - }; - - var __tzset_js = (timezone, daylight, std_name, dst_name) => { - // TODO: Use (malleable) environment variables instead of system settings. - var currentYear = new Date().getFullYear(); - var winter = new Date(currentYear, 0, 1); - var summer = new Date(currentYear, 6, 1); - var winterOffset = winter.getTimezoneOffset(); - var summerOffset = summer.getTimezoneOffset(); - - // Local standard timezone offset. Local standard time is not adjusted for - // daylight savings. This code uses the fact that getTimezoneOffset returns - // a greater value during Standard Time versus Daylight Saving Time (DST). - // Thus it determines the expected output during Standard Time, and it - // compares whether the output of the given date the same (Standard) or less - // (DST). - var stdTimezoneOffset = Math.max(winterOffset, summerOffset); - - // timezone is specified as seconds west of UTC ("The external variable - // `timezone` shall be set to the difference, in seconds, between - // Coordinated Universal Time (UTC) and local standard time."), the same - // as returned by stdTimezoneOffset. - // See http://pubs.opengroup.org/onlinepubs/009695399/functions/tzset.html - HEAPU32[((timezone)>>2)] = stdTimezoneOffset * 60; - - HEAP32[((daylight)>>2)] = Number(winterOffset != summerOffset); - - var extractZone = (timezoneOffset) => { - // Why inverse sign? - // Read here https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getTimezoneOffset - var sign = timezoneOffset >= 0 ? "-" : "+"; - - var absOffset = Math.abs(timezoneOffset) - var hours = String(Math.floor(absOffset / 60)).padStart(2, "0"); - var minutes = String(absOffset % 60).padStart(2, "0"); - - return `UTC${sign}${hours}${minutes}`; - } - - var winterName = extractZone(winterOffset); - var summerName = extractZone(summerOffset); - assert(winterName); - assert(summerName); - assert(lengthBytesUTF8(winterName) <= 16, `timezone name truncated to fit in TZNAME_MAX (${winterName})`); - assert(lengthBytesUTF8(summerName) <= 16, `timezone name truncated to fit in TZNAME_MAX (${summerName})`); - if (summerOffset < winterOffset) { - // Northern hemisphere - stringToUTF8(winterName, std_name, 17); - stringToUTF8(summerName, dst_name, 17); - } else { - stringToUTF8(winterName, dst_name, 17); - stringToUTF8(summerName, std_name, 17); - } - }; - - var _emscripten_date_now = () => Date.now(); - - var abortOnCannotGrowMemory = (requestedSize) => { - abort(`Cannot enlarge memory arrays to size ${requestedSize} bytes (OOM). Either (1) compile with -sINITIAL_MEMORY=X with X higher than the current value ${HEAP8.length}, (2) compile with -sALLOW_MEMORY_GROWTH which allows increasing the size at runtime, or (3) if you want malloc to return NULL (0) instead of this abort, compile with -sABORTING_MALLOC=0`); - }; - var _emscripten_resize_heap = (requestedSize) => { - var oldSize = HEAPU8.length; - // With CAN_ADDRESS_2GB or MEMORY64, pointers are already unsigned. - requestedSize >>>= 0; - abortOnCannotGrowMemory(requestedSize); - }; - - function _fd_close(fd) { - try { - - var stream = SYSCALLS.getStreamFromFD(fd); - FS.close(stream); - return 0; - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return e.errno; - } - } - - /** @param {number=} offset */ - var doReadv = (stream, iov, iovcnt, offset) => { - var ret = 0; - for (var i = 0; i < iovcnt; i++) { - var ptr = HEAPU32[((iov)>>2)]; - var len = HEAPU32[(((iov)+(4))>>2)]; - iov += 8; - var curr = FS.read(stream, HEAP8, ptr, len, offset); - if (curr < 0) return -1; - ret += curr; - if (curr < len) break; // nothing more to read - if (typeof offset != 'undefined') { - offset += curr; - } - } - return ret; - }; - - function _fd_read(fd, iov, iovcnt, pnum) { - try { - - var stream = SYSCALLS.getStreamFromFD(fd); - var num = doReadv(stream, iov, iovcnt); - HEAPU32[((pnum)>>2)] = num; - return 0; - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return e.errno; - } - } - - - function _fd_seek(fd, offset, whence, newOffset) { - offset = bigintToI53Checked(offset); - - - try { - - if (isNaN(offset)) return 61; - var stream = SYSCALLS.getStreamFromFD(fd); - FS.llseek(stream, offset, whence); - HEAP64[((newOffset)>>3)] = BigInt(stream.position); - if (stream.getdents && offset === 0 && whence === 0) stream.getdents = null; // reset readdir state - return 0; - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return e.errno; - } - ; - } - - /** @param {number=} offset */ - var doWritev = (stream, iov, iovcnt, offset) => { - var ret = 0; - for (var i = 0; i < iovcnt; i++) { - var ptr = HEAPU32[((iov)>>2)]; - var len = HEAPU32[(((iov)+(4))>>2)]; - iov += 8; - var curr = FS.write(stream, HEAP8, ptr, len, offset); - if (curr < 0) return -1; - ret += curr; - if (curr < len) { - // No more space to write. - break; - } - if (typeof offset != 'undefined') { - offset += curr; - } - } - return ret; - }; - - function _fd_write(fd, iov, iovcnt, pnum) { - try { - - var stream = SYSCALLS.getStreamFromFD(fd); - var num = doWritev(stream, iov, iovcnt); - HEAPU32[((pnum)>>2)] = num; - return 0; - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return e.errno; - } - } - - - var runtimeKeepaliveCounter = 0; - var keepRuntimeAlive = () => noExitRuntime || runtimeKeepaliveCounter > 0; - var _proc_exit = (code) => { - EXITSTATUS = code; - if (!keepRuntimeAlive()) { - Module['onExit']?.(code); - ABORT = true; - } - quit_(code, new ExitStatus(code)); - }; - - - /** @param {boolean|number=} implicit */ - var exitJS = (status, implicit) => { - EXITSTATUS = status; - - checkUnflushedContent(); - - // if exit() was called explicitly, warn the user if the runtime isn't actually being shut down - if (keepRuntimeAlive() && !implicit) { - var msg = `program exited (with status: ${status}), but keepRuntimeAlive() is set (counter=${runtimeKeepaliveCounter}) due to an async operation, so halting execution but not exiting the runtime or preventing further async execution (you can use emscripten_force_exit, if you want to force a true shutdown)`; - err(msg); - } - - _proc_exit(status); - }; - - var handleException = (e) => { - // Certain exception types we do not treat as errors since they are used for - // internal control flow. - // 1. ExitStatus, which is thrown by exit() - // 2. "unwind", which is thrown by emscripten_unwind_to_js_event_loop() and others - // that wish to return to JS event loop. - if (e instanceof ExitStatus || e == 'unwind') { - return EXITSTATUS; - } - checkStackCookie(); - if (e instanceof WebAssembly.RuntimeError) { - if (_emscripten_stack_get_current() <= 0) { - err('Stack overflow detected. You can try increasing -sSTACK_SIZE (currently set to 65536)'); - } - } - quit_(1, e); - }; - - - - var stackAlloc = (sz) => __emscripten_stack_alloc(sz); - var stringToUTF8OnStack = (str) => { - var size = lengthBytesUTF8(str) + 1; - var ret = stackAlloc(size); - stringToUTF8(str, ret, size); - return ret; - }; - - FS.createPreloadedFile = FS_createPreloadedFile; - FS.staticInit(); - // Set module methods based on EXPORTED_RUNTIME_METHODS - ; -// End JS library code - -function checkIncomingModuleAPI() { - ignoredModuleProp('fetchSettings'); -} -var wasmImports = { - /** @export */ - __syscall_fcntl64: ___syscall_fcntl64, - /** @export */ - __syscall_fstat64: ___syscall_fstat64, - /** @export */ - __syscall_ioctl: ___syscall_ioctl, - /** @export */ - __syscall_lstat64: ___syscall_lstat64, - /** @export */ - __syscall_newfstatat: ___syscall_newfstatat, - /** @export */ - __syscall_openat: ___syscall_openat, - /** @export */ - __syscall_rmdir: ___syscall_rmdir, - /** @export */ - __syscall_stat64: ___syscall_stat64, - /** @export */ - __syscall_unlinkat: ___syscall_unlinkat, - /** @export */ - _abort_js: __abort_js, - /** @export */ - _localtime_js: __localtime_js, - /** @export */ - _mktime_js: __mktime_js, - /** @export */ - _tzset_js: __tzset_js, - /** @export */ - emscripten_date_now: _emscripten_date_now, - /** @export */ - emscripten_resize_heap: _emscripten_resize_heap, - /** @export */ - fd_close: _fd_close, - /** @export */ - fd_read: _fd_read, - /** @export */ - fd_seek: _fd_seek, - /** @export */ - fd_write: _fd_write -}; -var wasmExports; -createWasm(); -var ___wasm_call_ctors = createExportWrapper('__wasm_call_ctors', 0); -var _main = Module['_main'] = createExportWrapper('__main_argc_argv', 2); -var _strerror = createExportWrapper('strerror', 1); -var _fflush = createExportWrapper('fflush', 1); -var _emscripten_stack_init = () => (_emscripten_stack_init = wasmExports['emscripten_stack_init'])(); -var _emscripten_stack_get_free = () => (_emscripten_stack_get_free = wasmExports['emscripten_stack_get_free'])(); -var _emscripten_stack_get_base = () => (_emscripten_stack_get_base = wasmExports['emscripten_stack_get_base'])(); -var _emscripten_stack_get_end = () => (_emscripten_stack_get_end = wasmExports['emscripten_stack_get_end'])(); -var __emscripten_stack_restore = (a0) => (__emscripten_stack_restore = wasmExports['_emscripten_stack_restore'])(a0); -var __emscripten_stack_alloc = (a0) => (__emscripten_stack_alloc = wasmExports['_emscripten_stack_alloc'])(a0); -var _emscripten_stack_get_current = () => (_emscripten_stack_get_current = wasmExports['emscripten_stack_get_current'])(); - - -// include: postamble.js -// === Auto-generated postamble setup entry stuff === - -var missingLibrarySymbols = [ - 'writeI53ToI64', - 'writeI53ToI64Clamped', - 'writeI53ToI64Signaling', - 'writeI53ToU64Clamped', - 'writeI53ToU64Signaling', - 'readI53FromI64', - 'readI53FromU64', - 'convertI32PairToI53', - 'convertI32PairToI53Checked', - 'convertU32PairToI53', - 'getTempRet0', - 'setTempRet0', - 'zeroMemory', - 'getHeapMax', - 'growMemory', - 'inetPton4', - 'inetNtop4', - 'inetPton6', - 'inetNtop6', - 'readSockaddr', - 'writeSockaddr', - 'emscriptenLog', - 'readEmAsmArgs', - 'jstoi_q', - 'getExecutableName', - 'listenOnce', - 'autoResumeAudioContext', - 'getDynCaller', - 'dynCall', - 'runtimeKeepalivePush', - 'runtimeKeepalivePop', - 'callUserCallback', - 'maybeExit', - 'asmjsMangle', - 'alignMemory', - 'HandleAllocator', - 'getNativeTypeSize', - 'addOnInit', - 'addOnPostCtor', - 'addOnPreMain', - 'addOnExit', - 'STACK_SIZE', - 'STACK_ALIGN', - 'POINTER_SIZE', - 'ASSERTIONS', - 'getCFunc', - 'ccall', - 'cwrap', - 'uleb128Encode', - 'sigToWasmTypes', - 'generateFuncType', - 'convertJsFunctionToWasm', - 'getEmptyTableSlot', - 'updateTableMap', - 'getFunctionAddress', - 'addFunction', - 'removeFunction', - 'reallyNegative', - 'unSign', - 'strLen', - 'reSign', - 'formatString', - 'intArrayToString', - 'AsciiToString', - 'stringToAscii', - 'UTF16ToString', - 'stringToUTF16', - 'lengthBytesUTF16', - 'UTF32ToString', - 'stringToUTF32', - 'lengthBytesUTF32', - 'stringToNewUTF8', - 'writeArrayToMemory', - 'registerKeyEventCallback', - 'maybeCStringToJsString', - 'findEventTarget', - 'getBoundingClientRect', - 'fillMouseEventData', - 'registerMouseEventCallback', - 'registerWheelEventCallback', - 'registerUiEventCallback', - 'registerFocusEventCallback', - 'fillDeviceOrientationEventData', - 'registerDeviceOrientationEventCallback', - 'fillDeviceMotionEventData', - 'registerDeviceMotionEventCallback', - 'screenOrientation', - 'fillOrientationChangeEventData', - 'registerOrientationChangeEventCallback', - 'fillFullscreenChangeEventData', - 'registerFullscreenChangeEventCallback', - 'JSEvents_requestFullscreen', - 'JSEvents_resizeCanvasForFullscreen', - 'registerRestoreOldStyle', - 'hideEverythingExceptGivenElement', - 'restoreHiddenElements', - 'setLetterbox', - 'softFullscreenResizeWebGLRenderTarget', - 'doRequestFullscreen', - 'fillPointerlockChangeEventData', - 'registerPointerlockChangeEventCallback', - 'registerPointerlockErrorEventCallback', - 'requestPointerLock', - 'fillVisibilityChangeEventData', - 'registerVisibilityChangeEventCallback', - 'registerTouchEventCallback', - 'fillGamepadEventData', - 'registerGamepadEventCallback', - 'registerBeforeUnloadEventCallback', - 'fillBatteryEventData', - 'battery', - 'registerBatteryEventCallback', - 'setCanvasElementSize', - 'getCanvasElementSize', - 'jsStackTrace', - 'getCallstack', - 'convertPCtoSourceLocation', - 'getEnvStrings', - 'checkWasiClock', - 'wasiRightsToMuslOFlags', - 'wasiOFlagsToMuslOFlags', - 'safeSetTimeout', - 'setImmediateWrapped', - 'safeRequestAnimationFrame', - 'clearImmediateWrapped', - 'registerPostMainLoop', - 'registerPreMainLoop', - 'getPromise', - 'makePromise', - 'idsToPromises', - 'makePromiseCallback', - 'ExceptionInfo', - 'findMatchingCatch', - 'Browser_asyncPrepareDataCounter', - 'arraySum', - 'addDays', - 'getSocketFromFD', - 'getSocketAddress', - 'FS_unlink', - 'FS_mkdirTree', - '_setNetworkCallback', - 'heapObjectForWebGLType', - 'toTypedArrayIndex', - 'webgl_enable_ANGLE_instanced_arrays', - 'webgl_enable_OES_vertex_array_object', - 'webgl_enable_WEBGL_draw_buffers', - 'webgl_enable_WEBGL_multi_draw', - 'webgl_enable_EXT_polygon_offset_clamp', - 'webgl_enable_EXT_clip_control', - 'webgl_enable_WEBGL_polygon_mode', - 'emscriptenWebGLGet', - 'computeUnpackAlignedImageSize', - 'colorChannelsInGlTextureFormat', - 'emscriptenWebGLGetTexPixelData', - 'emscriptenWebGLGetUniform', - 'webglGetUniformLocation', - 'webglPrepareUniformLocationsBeforeFirstUse', - 'webglGetLeftBracePos', - 'emscriptenWebGLGetVertexAttrib', - '__glGetActiveAttribOrUniform', - 'writeGLArray', - 'registerWebGlEventCallback', - 'runAndAbortIfError', - 'ALLOC_NORMAL', - 'ALLOC_STACK', - 'allocate', - 'writeStringToMemory', - 'writeAsciiToMemory', - 'demangle', - 'stackTrace', -]; -missingLibrarySymbols.forEach(missingLibrarySymbol) - -var unexportedSymbols = [ - 'run', - 'addRunDependency', - 'removeRunDependency', - 'out', - 'err', - 'callMain', - 'abort', - 'wasmMemory', - 'wasmExports', - 'writeStackCookie', - 'checkStackCookie', - 'INT53_MAX', - 'INT53_MIN', - 'bigintToI53Checked', - 'stackSave', - 'stackRestore', - 'stackAlloc', - 'ptrToString', - 'exitJS', - 'abortOnCannotGrowMemory', - 'ENV', - 'ERRNO_CODES', - 'strError', - 'DNS', - 'Protocols', - 'Sockets', - 'timers', - 'warnOnce', - 'readEmAsmArgsArray', - 'jstoi_s', - 'handleException', - 'keepRuntimeAlive', - 'asyncLoad', - 'mmapAlloc', - 'wasmTable', - 'noExitRuntime', - 'addOnPreRun', - 'addOnPostRun', - 'freeTableIndexes', - 'functionsInTableMap', - 'setValue', - 'getValue', - 'PATH', - 'PATH_FS', - 'UTF8Decoder', - 'UTF8ArrayToString', - 'UTF8ToString', - 'stringToUTF8Array', - 'stringToUTF8', - 'lengthBytesUTF8', - 'intArrayFromString', - 'UTF16Decoder', - 'stringToUTF8OnStack', - 'JSEvents', - 'specialHTMLTargets', - 'findCanvasEventTarget', - 'currentFullscreenStrategy', - 'restoreOldWindowedStyle', - 'UNWIND_CACHE', - 'ExitStatus', - 'doReadv', - 'doWritev', - 'initRandomFill', - 'randomFill', - 'emSetImmediate', - 'emClearImmediate_deps', - 'emClearImmediate', - 'promiseMap', - 'uncaughtExceptionCount', - 'exceptionLast', - 'exceptionCaught', - 'Browser', - 'getPreloadedImageData__data', - 'wget', - 'MONTH_DAYS_REGULAR', - 'MONTH_DAYS_LEAP', - 'MONTH_DAYS_REGULAR_CUMULATIVE', - 'MONTH_DAYS_LEAP_CUMULATIVE', - 'isLeapYear', - 'ydayFromDate', - 'SYSCALLS', - 'preloadPlugins', - 'FS_createPreloadedFile', - 'FS_modeStringToFlags', - 'FS_getMode', - 'FS_stdin_getChar_buffer', - 'FS_stdin_getChar', - 'FS_createPath', - 'FS_createDevice', - 'FS_readFile', - 'FS', - 'FS_createDataFile', - 'FS_createLazyFile', - 'MEMFS', - 'TTY', - 'PIPEFS', - 'SOCKFS', - 'tempFixedLengthArray', - 'miniTempWebGLFloatBuffers', - 'miniTempWebGLIntBuffers', - 'GL', - 'AL', - 'GLUT', - 'EGL', - 'GLEW', - 'IDBStore', - 'SDL', - 'SDL_gfx', - 'allocateUTF8', - 'allocateUTF8OnStack', - 'print', - 'printErr', -]; -unexportedSymbols.forEach(unexportedRuntimeSymbol); - - - -var calledRun; - -function callMain(args = []) { - assert(runDependencies == 0, 'cannot call main when async dependencies remain! (listen on Module["onRuntimeInitialized"])'); - assert(typeof onPreRuns === 'undefined' || onPreRuns.length == 0, 'cannot call main when preRun functions remain to be called'); - - var entryFunction = _main; - - args.unshift(thisProgram); - - var argc = args.length; - var argv = stackAlloc((argc + 1) * 4); - var argv_ptr = argv; - args.forEach((arg) => { - HEAPU32[((argv_ptr)>>2)] = stringToUTF8OnStack(arg); - argv_ptr += 4; - }); - HEAPU32[((argv_ptr)>>2)] = 0; - - try { - - var ret = entryFunction(argc, argv); - - // if we're not running an evented main loop, it's time to exit - exitJS(ret, /* implicit = */ true); - return ret; - } catch (e) { - return handleException(e); - } -} - -function stackCheckInit() { - // This is normally called automatically during __wasm_call_ctors but need to - // get these values before even running any of the ctors so we call it redundantly - // here. - _emscripten_stack_init(); - // TODO(sbc): Move writeStackCookie to native to to avoid this. - writeStackCookie(); -} - -function run(args = arguments_) { - - if (runDependencies > 0) { - dependenciesFulfilled = run; - return; - } - - stackCheckInit(); - - preRun(); - - // a preRun added a dependency, run will be called later - if (runDependencies > 0) { - dependenciesFulfilled = run; - return; - } - - function doRun() { - // run may have just been called through dependencies being fulfilled just in this very frame, - // or while the async setStatus time below was happening - assert(!calledRun); - calledRun = true; - Module['calledRun'] = true; - - if (ABORT) return; - - initRuntime(); - - preMain(); - - Module['onRuntimeInitialized']?.(); - consumedModuleProp('onRuntimeInitialized'); - - var noInitialRun = Module['noInitialRun'];legacyModuleProp('noInitialRun', 'noInitialRun'); - if (!noInitialRun) callMain(args); - - postRun(); - } - - if (Module['setStatus']) { - Module['setStatus']('Running...'); - setTimeout(() => { - setTimeout(() => Module['setStatus'](''), 1); - doRun(); - }, 1); - } else - { - doRun(); - } - checkStackCookie(); -} - -function checkUnflushedContent() { - // Compiler settings do not allow exiting the runtime, so flushing - // the streams is not possible. but in ASSERTIONS mode we check - // if there was something to flush, and if so tell the user they - // should request that the runtime be exitable. - // Normally we would not even include flush() at all, but in ASSERTIONS - // builds we do so just for this check, and here we see if there is any - // content to flush, that is, we check if there would have been - // something a non-ASSERTIONS build would have not seen. - // How we flush the streams depends on whether we are in SYSCALLS_REQUIRE_FILESYSTEM=0 - // mode (which has its own special function for this; otherwise, all - // the code is inside libc) - var oldOut = out; - var oldErr = err; - var has = false; - out = err = (x) => { - has = true; - } - try { // it doesn't matter if it fails - _fflush(0); - // also flush in the JS FS layer - ['stdout', 'stderr'].forEach((name) => { - var info = FS.analyzePath('/dev/' + name); - if (!info) return; - var stream = info.object; - var rdev = stream.rdev; - var tty = TTY.ttys[rdev]; - if (tty?.output?.length) { - has = true; - } - }); - } catch(e) {} - out = oldOut; - err = oldErr; - if (has) { - warnOnce('stdio streams had content in them that was not flushed. you should set EXIT_RUNTIME to 1 (see the Emscripten FAQ), or make sure to emit a newline when you printf etc.'); - } -} - -if (Module['preInit']) { - if (typeof Module['preInit'] == 'function') Module['preInit'] = [Module['preInit']]; - while (Module['preInit'].length > 0) { - Module['preInit'].pop()(); - } -} -consumedModuleProp('preInit'); - -run(); - -// end include: postamble.js - diff --git a/thirdparty/libzip-1.11.3/build-emcmake/examples/in-memory.wasm b/thirdparty/libzip-1.11.3/build-emcmake/examples/in-memory.wasm deleted file mode 100755 index 65e500e716ca8b7ce7e3396e098564ad14288492..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 371069 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]BE)zlboy`cmy`9^# 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